@onsvisual/svelte-components 0.1.44 → 0.1.46
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/@types/index.d.ts +1 -0
- package/dist/@types/inputs/Button/Button.svelte.d.ts +2 -0
- package/dist/@types/wrappers/LazyLoad/LazyLoad.svelte.d.ts +31 -0
- package/dist/index.js +1 -0
- package/dist/inputs/Button/Button.svelte +24 -8
- package/dist/wrappers/LazyLoad/LazyLoad.svelte +47 -0
- package/dist/wrappers/Observe/Observe.svelte +4 -0
- package/package.json +2 -1
package/dist/@types/index.d.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
export { default as Container } from "./wrappers/Container/Container.svelte";
|
|
2
2
|
export { default as Embed } from "./wrappers/Embed/Embed.svelte";
|
|
3
|
+
export { default as LazyLoad } from "./wrappers/LazyLoad/LazyLoad.svelte";
|
|
3
4
|
export { default as Main } from "./wrappers/Main/Main.svelte";
|
|
4
5
|
export { default as Observe } from "./wrappers/Observe/Observe.svelte";
|
|
5
6
|
export { default as Theme } from "./wrappers/Theme/Theme.svelte";
|
|
@@ -14,6 +14,7 @@ export default class Button extends SvelteComponentTyped<{
|
|
|
14
14
|
} & {
|
|
15
15
|
[evt: string]: CustomEvent<any>;
|
|
16
16
|
}, {
|
|
17
|
+
icon: {};
|
|
17
18
|
default: {};
|
|
18
19
|
}> {
|
|
19
20
|
}
|
|
@@ -37,6 +38,7 @@ declare const __propDef: {
|
|
|
37
38
|
[evt: string]: CustomEvent<any>;
|
|
38
39
|
};
|
|
39
40
|
slots: {
|
|
41
|
+
icon: {};
|
|
40
42
|
default: {};
|
|
41
43
|
};
|
|
42
44
|
};
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
/** @typedef {typeof __propDef.props} LazyLoadProps */
|
|
2
|
+
/** @typedef {typeof __propDef.events} LazyLoadEvents */
|
|
3
|
+
/** @typedef {typeof __propDef.slots} LazyLoadSlots */
|
|
4
|
+
export default class LazyLoad extends SvelteComponentTyped<{
|
|
5
|
+
entered?: boolean;
|
|
6
|
+
initialHeight?: number;
|
|
7
|
+
rootMargin?: number;
|
|
8
|
+
}, {
|
|
9
|
+
[evt: string]: CustomEvent<any>;
|
|
10
|
+
}, {
|
|
11
|
+
default: {};
|
|
12
|
+
}> {
|
|
13
|
+
}
|
|
14
|
+
export type LazyLoadProps = typeof __propDef.props;
|
|
15
|
+
export type LazyLoadEvents = typeof __propDef.events;
|
|
16
|
+
export type LazyLoadSlots = typeof __propDef.slots;
|
|
17
|
+
import { SvelteComponentTyped } from "svelte";
|
|
18
|
+
declare const __propDef: {
|
|
19
|
+
props: {
|
|
20
|
+
entered?: boolean;
|
|
21
|
+
initialHeight?: number;
|
|
22
|
+
rootMargin?: number;
|
|
23
|
+
};
|
|
24
|
+
events: {
|
|
25
|
+
[evt: string]: CustomEvent<any>;
|
|
26
|
+
};
|
|
27
|
+
slots: {
|
|
28
|
+
default: {};
|
|
29
|
+
};
|
|
30
|
+
};
|
|
31
|
+
export {};
|
package/dist/index.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
// Wrappers
|
|
2
2
|
export { default as Container } from "./wrappers/Container/Container.svelte";
|
|
3
3
|
export { default as Embed } from "./wrappers/Embed/Embed.svelte";
|
|
4
|
+
export { default as LazyLoad } from "./wrappers/LazyLoad/LazyLoad.svelte";
|
|
4
5
|
export { default as Main } from "./wrappers/Main/Main.svelte";
|
|
5
6
|
export { default as Observe } from "./wrappers/Observe/Observe.svelte";
|
|
6
7
|
export { default as Theme } from "./wrappers/Theme/Theme.svelte";
|
|
@@ -54,12 +54,20 @@
|
|
|
54
54
|
on:click="{(e) => dispatch('click', e)}"
|
|
55
55
|
>
|
|
56
56
|
<span class="ons-btn__inner">
|
|
57
|
-
{#if
|
|
58
|
-
<
|
|
57
|
+
{#if iconPosition === "before"}
|
|
58
|
+
<slot name="icon">
|
|
59
|
+
{#if icon}
|
|
60
|
+
<Icon type="{icon}" marginRight />
|
|
61
|
+
{/if}
|
|
62
|
+
</slot>
|
|
59
63
|
{/if}
|
|
60
64
|
<span class="ons-btn__text"><slot /></span>
|
|
61
|
-
{#if
|
|
62
|
-
<
|
|
65
|
+
{#if iconPosition === "after"}
|
|
66
|
+
<slot name="icon">
|
|
67
|
+
{#if icon}
|
|
68
|
+
<Icon type="{icon}" marginLeft />
|
|
69
|
+
{/if}
|
|
70
|
+
</slot>
|
|
63
71
|
{/if}
|
|
64
72
|
</span>
|
|
65
73
|
</a>
|
|
@@ -75,12 +83,20 @@
|
|
|
75
83
|
on:click="{(e) => dispatch('click', e)}"
|
|
76
84
|
>
|
|
77
85
|
<span class="ons-btn__inner">
|
|
78
|
-
{#if
|
|
79
|
-
<
|
|
86
|
+
{#if iconPosition === "before"}
|
|
87
|
+
<slot name="icon">
|
|
88
|
+
{#if icon}
|
|
89
|
+
<Icon type="{icon}" marginRight />
|
|
90
|
+
{/if}
|
|
91
|
+
</slot>
|
|
80
92
|
{/if}
|
|
81
93
|
<span class="ons-btn__text"><slot /></span>
|
|
82
|
-
{#if
|
|
83
|
-
<
|
|
94
|
+
{#if iconPosition === "after"}
|
|
95
|
+
<slot name="icon">
|
|
96
|
+
{#if icon}
|
|
97
|
+
<Icon type="{icon}" marginLeft />
|
|
98
|
+
{/if}
|
|
99
|
+
</slot>
|
|
84
100
|
{/if}
|
|
85
101
|
</span>
|
|
86
102
|
</button>
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
<script>
|
|
2
|
+
import { onMount, onDestroy } from "svelte";
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* Bind to this variable to monitor whether the component has entered the viewport (boolean true/false).
|
|
6
|
+
* @type {boolean}
|
|
7
|
+
*/
|
|
8
|
+
export let entered = false;
|
|
9
|
+
/**
|
|
10
|
+
* Set the initial "placeholder" height of the component in pixels.
|
|
11
|
+
* @type {number}
|
|
12
|
+
*/
|
|
13
|
+
export let initialHeight = 400;
|
|
14
|
+
/**
|
|
15
|
+
* Set how many pixels from the viewport you want lazy loading to kick in.
|
|
16
|
+
* @type {number}
|
|
17
|
+
*/
|
|
18
|
+
export let rootMargin = 200;
|
|
19
|
+
|
|
20
|
+
let el, observer;
|
|
21
|
+
|
|
22
|
+
const callback = (entries, observer) => {
|
|
23
|
+
entries.forEach((entry) => {
|
|
24
|
+
let intersecting = entry.isIntersecting;
|
|
25
|
+
if (!entered && intersecting) {
|
|
26
|
+
observer.unobserve(el);
|
|
27
|
+
entered = true;
|
|
28
|
+
console.log("in view");
|
|
29
|
+
}
|
|
30
|
+
});
|
|
31
|
+
};
|
|
32
|
+
|
|
33
|
+
onMount(() => {
|
|
34
|
+
let options = { root: document, rootMargin: `${rootMargin}px` };
|
|
35
|
+
|
|
36
|
+
observer = new IntersectionObserver(callback, options);
|
|
37
|
+
observer.observe(el);
|
|
38
|
+
});
|
|
39
|
+
|
|
40
|
+
onDestroy(() => observer.unobserve(el));
|
|
41
|
+
</script>
|
|
42
|
+
|
|
43
|
+
{#if entered}
|
|
44
|
+
<slot />
|
|
45
|
+
{:else}
|
|
46
|
+
<div bind:this="{el}" style:height="{+initialHeight || 100}px"></div>
|
|
47
|
+
{/if}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@onsvisual/svelte-components",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.46",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"private": false,
|
|
6
6
|
"homepage": "https://onsvisual.github.io/svelte-components",
|
|
@@ -177,6 +177,7 @@
|
|
|
177
177
|
"./layout/Twisty/Twisty.svelte": "./dist/layout/Twisty/Twisty.svelte",
|
|
178
178
|
"./wrappers/Container/Container.svelte": "./dist/wrappers/Container/Container.svelte",
|
|
179
179
|
"./wrappers/Embed/Embed.svelte": "./dist/wrappers/Embed/Embed.svelte",
|
|
180
|
+
"./wrappers/LazyLoad/LazyLoad.svelte": "./dist/wrappers/LazyLoad/LazyLoad.svelte",
|
|
180
181
|
"./wrappers/Main/Main.svelte": "./dist/wrappers/Main/Main.svelte",
|
|
181
182
|
"./wrappers/Observe/Observe.svelte": "./dist/wrappers/Observe/Observe.svelte",
|
|
182
183
|
"./wrappers/Theme/Theme.svelte": "./dist/wrappers/Theme/Theme.svelte",
|