Skip to content

Commit bed1d0d

Browse files
committed
Revert "Migrate to svelte5 using "npx sv migrate svelte-5""
This reverts commit 25233e1.
1 parent e9799b2 commit bed1d0d

11 files changed

+141
-276
lines changed

package-lock.json

Lines changed: 102 additions & 53 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -28,11 +28,11 @@
2828
"rollup-plugin-serve": "^1.0.3",
2929
"rollup-plugin-svelte": "^7.2.2",
3030
"@rollup/plugin-node-resolve": "^15.3.0",
31-
"rollup-plugin-css-only": "^4.5.2",
32-
"svelte": "^5.0.0"
31+
"rollup-plugin-css-only": "^4.5.2",
32+
"svelte": "^4.2.19"
3333
},
3434
"peerDependencies": {
35-
"svelte": "^3.0.0 || ^4.0.0 || ^5.0.0"
35+
"svelte": "^3.0.0 || ^4.0.0"
3636
},
3737
"keywords": [
3838
"svelte",

src/components/Placeholder.svelte

Lines changed: 3 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -3,20 +3,13 @@
33
{#if typeof placeholder === 'string'}
44
<div>{placeholder}</div>
55
{:else if ['function', 'object'].includes(typeof placeholder)}
6-
{@const SvelteComponent = placeholder}
7-
<SvelteComponent {...placeholderProps} />
6+
<svelte:component this={placeholder} {...placeholderProps} />
87
{/if}
98
</div>
109
{/if}
1110

1211
<script>
13-
/**
14-
* @typedef {Object} Props
15-
* @property {any} [placeholder]
16-
* @property {any} [placeholderProps]
17-
*/
18-
19-
/** @type {Props} */
20-
let { placeholder = null, placeholderProps = null } = $props();
12+
export let placeholder = null;
13+
export let placeholderProps = null;
2114
const placeholderClass = 'svelte-lazy-placeholder';
2215
</script>

src/index.svelte

Lines changed: 15 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -5,11 +5,7 @@
55
class={contentClass}
66
style={contentStyle}
77
>
8-
{#if children}
9-
{@render children()}
10-
{:else}
11-
Lazy load content
12-
{/if}
8+
<slot>Lazy load content</slot>
139
</div>
1410
{#if !contentShow && placeholder}
1511
<Placeholder {placeholder} {placeholderProps} />
@@ -22,46 +18,28 @@
2218
<script>
2319
import { fade } from 'svelte/transition';
2420
import Placeholder from './components/Placeholder.svelte';
25-
/**
26-
* @typedef {Object} Props
27-
* @property {boolean} [keep]
28-
* @property {number} [height]
29-
* @property {number} [offset]
30-
* @property {any} [fadeOption]
31-
* @property {number} [resetHeightDelay]
32-
* @property {any} [onload]
33-
* @property {any} [placeholder]
34-
* @property {any} [placeholderProps]
35-
* @property {string} [class]
36-
* @property {import('svelte').Snippet} [children]
37-
*/
38-
39-
/** @type {Props} */
40-
let {
41-
keep = false,
42-
height = 0,
43-
offset = 150,
44-
fadeOption = {
21+
export let keep = false;
22+
export let height = 0;
23+
export let offset = 150;
24+
export let fadeOption = {
4525
delay: 0,
4626
duration: 400,
47-
},
48-
resetHeightDelay = 0,
49-
onload = null,
50-
placeholder = null,
51-
placeholderProps = null,
52-
class: className = '',
53-
children
54-
} = $props();
55-
27+
};
28+
export let resetHeightDelay = 0;
29+
export let onload = null;
30+
export let placeholder = null;
31+
export let placeholderProps = null;
32+
let className = '';
33+
export { className as class };
5634
5735
const rootClass = 'svelte-lazy'
5836
+ (className ? ' ' + className : '');
5937
const contentClass = 'svelte-lazy-content';
6038
const rootInitialHeight = getStyleHeight();
61-
let loaded = $state(false);
39+
let loaded = false;
6240
63-
let contentShow = $state(true);
64-
let contentStyle = $derived(!contentShow ? 'display: none' : '');
41+
let contentShow = true;
42+
$: contentStyle = !contentShow ? 'display: none' : '';
6543
6644
function load(node) {
6745
setHeight(node);

test/FilterList.svelte

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
<script>
22
import Lazy from '../src/index.svelte';
33
4-
let search = $state('');
4+
let search = '';
55
let data = [
66
{id: 1, text: "one"},
77
{id: 2, text: "two"},
@@ -50,7 +50,7 @@ const filterData = (() => {
5050
else
5151
return [...data.filter(x => x.text.toLowerCase().includes(search.toLowerCase()))]
5252
})
53-
let filteredData = $derived(filterData(search));
53+
$: filteredData = filterData(search);
5454
5555
</script>
5656

0 commit comments

Comments
 (0)