@egjs/svelte-infinitegrid 4.0.1-beta.4 → 4.1.2-beta.2
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/infinitegrid.cjs.js +38 -34
- package/dist/infinitegrid.cjs.js.map +1 -1
- package/dist/infinitegrid.esm.js +38 -34
- package/dist/infinitegrid.esm.js.map +1 -1
- package/package.json +2 -2
- package/rollup.config.js +1 -2
- package/src/InfiniteGrid.svelte +9 -8
- package/src/index.d.ts +19 -12
package/dist/infinitegrid.cjs.js
CHANGED
|
@@ -4,7 +4,7 @@ name: @egjs/svelte-infinitegrid
|
|
|
4
4
|
license: MIT
|
|
5
5
|
author: NAVER Corp.
|
|
6
6
|
repository: https://github.com/naver/egjs-infinitegrid
|
|
7
|
-
version: 4.
|
|
7
|
+
version: 4.1.2-beta.0
|
|
8
8
|
*/
|
|
9
9
|
'use strict';
|
|
10
10
|
|
|
@@ -14,7 +14,7 @@ var infinitegrid = require('@egjs/infinitegrid');
|
|
|
14
14
|
|
|
15
15
|
const SVELTE_INFINITEGRID_PROPS = ["status", "useFirstRender", "useLoading", "usePlaceholder", "items", "itemBy", "groupBy"];
|
|
16
16
|
|
|
17
|
-
/* src/InfiniteGrid.svelte generated by Svelte v3.
|
|
17
|
+
/* src/InfiniteGrid.svelte generated by Svelte v3.44.3 */
|
|
18
18
|
|
|
19
19
|
const get_default_slot_changes_1 = dirty => ({
|
|
20
20
|
visibleItems: dirty &
|
|
@@ -38,17 +38,17 @@ const get_default_slot_context = ctx => ({
|
|
|
38
38
|
visibleItems:
|
|
39
39
|
/*visibleItems*/
|
|
40
40
|
ctx[3]
|
|
41
|
-
}); // (
|
|
41
|
+
}); // (138:2) {:else}
|
|
42
42
|
|
|
43
43
|
|
|
44
44
|
function create_else_block(ctx) {
|
|
45
45
|
let current;
|
|
46
46
|
const default_slot_template =
|
|
47
47
|
/*#slots*/
|
|
48
|
-
ctx[
|
|
48
|
+
ctx[9].default;
|
|
49
49
|
const default_slot = internal.create_slot(default_slot_template, ctx,
|
|
50
50
|
/*$$scope*/
|
|
51
|
-
ctx[
|
|
51
|
+
ctx[8], get_default_slot_context_1);
|
|
52
52
|
return {
|
|
53
53
|
c() {
|
|
54
54
|
if (default_slot) default_slot.c();
|
|
@@ -66,14 +66,14 @@ function create_else_block(ctx) {
|
|
|
66
66
|
if (default_slot) {
|
|
67
67
|
if (default_slot.p && (!current || dirty &
|
|
68
68
|
/*$$scope, visibleItems*/
|
|
69
|
-
|
|
69
|
+
264)) {
|
|
70
70
|
internal.update_slot_base(default_slot, default_slot_template, ctx,
|
|
71
71
|
/*$$scope*/
|
|
72
|
-
ctx[
|
|
72
|
+
ctx[8], !current ? internal.get_all_dirty_from_scope(
|
|
73
73
|
/*$$scope*/
|
|
74
|
-
ctx[
|
|
74
|
+
ctx[8]) : internal.get_slot_changes(default_slot_template,
|
|
75
75
|
/*$$scope*/
|
|
76
|
-
ctx[
|
|
76
|
+
ctx[8], dirty, get_default_slot_changes_1), get_default_slot_context_1);
|
|
77
77
|
}
|
|
78
78
|
}
|
|
79
79
|
},
|
|
@@ -94,7 +94,7 @@ function create_else_block(ctx) {
|
|
|
94
94
|
}
|
|
95
95
|
|
|
96
96
|
};
|
|
97
|
-
} // (
|
|
97
|
+
} // (134:2) {#if $$props.container === true}
|
|
98
98
|
|
|
99
99
|
|
|
100
100
|
function create_if_block(ctx) {
|
|
@@ -102,10 +102,10 @@ function create_if_block(ctx) {
|
|
|
102
102
|
let current;
|
|
103
103
|
const default_slot_template =
|
|
104
104
|
/*#slots*/
|
|
105
|
-
ctx[
|
|
105
|
+
ctx[9].default;
|
|
106
106
|
const default_slot = internal.create_slot(default_slot_template, ctx,
|
|
107
107
|
/*$$scope*/
|
|
108
|
-
ctx[
|
|
108
|
+
ctx[8], get_default_slot_context);
|
|
109
109
|
return {
|
|
110
110
|
c() {
|
|
111
111
|
div = internal.element("div");
|
|
@@ -122,7 +122,7 @@ function create_if_block(ctx) {
|
|
|
122
122
|
/*div_binding*/
|
|
123
123
|
|
|
124
124
|
|
|
125
|
-
ctx[
|
|
125
|
+
ctx[10](div);
|
|
126
126
|
current = true;
|
|
127
127
|
},
|
|
128
128
|
|
|
@@ -130,14 +130,14 @@ function create_if_block(ctx) {
|
|
|
130
130
|
if (default_slot) {
|
|
131
131
|
if (default_slot.p && (!current || dirty &
|
|
132
132
|
/*$$scope, visibleItems*/
|
|
133
|
-
|
|
133
|
+
264)) {
|
|
134
134
|
internal.update_slot_base(default_slot, default_slot_template, ctx,
|
|
135
135
|
/*$$scope*/
|
|
136
|
-
ctx[
|
|
136
|
+
ctx[8], !current ? internal.get_all_dirty_from_scope(
|
|
137
137
|
/*$$scope*/
|
|
138
|
-
ctx[
|
|
138
|
+
ctx[8]) : internal.get_slot_changes(default_slot_template,
|
|
139
139
|
/*$$scope*/
|
|
140
|
-
ctx[
|
|
140
|
+
ctx[8], dirty, get_default_slot_changes), get_default_slot_context);
|
|
141
141
|
}
|
|
142
142
|
}
|
|
143
143
|
},
|
|
@@ -158,7 +158,7 @@ function create_if_block(ctx) {
|
|
|
158
158
|
if (default_slot) default_slot.d(detaching);
|
|
159
159
|
/*div_binding*/
|
|
160
160
|
|
|
161
|
-
ctx[
|
|
161
|
+
ctx[10](null);
|
|
162
162
|
}
|
|
163
163
|
|
|
164
164
|
};
|
|
@@ -202,7 +202,7 @@ function create_fragment(ctx) {
|
|
|
202
202
|
if_blocks[current_block_type_index].m(div, null);
|
|
203
203
|
/*div_binding_1*/
|
|
204
204
|
|
|
205
|
-
ctx[
|
|
205
|
+
ctx[11](div);
|
|
206
206
|
current = true;
|
|
207
207
|
},
|
|
208
208
|
|
|
@@ -254,7 +254,7 @@ function create_fragment(ctx) {
|
|
|
254
254
|
if_blocks[current_block_type_index].d();
|
|
255
255
|
/*div_binding_1*/
|
|
256
256
|
|
|
257
|
-
ctx[
|
|
257
|
+
ctx[11](null);
|
|
258
258
|
}
|
|
259
259
|
|
|
260
260
|
};
|
|
@@ -268,11 +268,13 @@ function instance($$self, $$props, $$invalidate) {
|
|
|
268
268
|
let {
|
|
269
269
|
GridClass
|
|
270
270
|
} = $$props;
|
|
271
|
+
let {
|
|
272
|
+
vanillaGrid = null
|
|
273
|
+
} = $$props;
|
|
271
274
|
const dispatch = svelte.createEventDispatcher();
|
|
272
275
|
const renderer = new infinitegrid.Renderer();
|
|
273
276
|
let wrapper;
|
|
274
277
|
let container;
|
|
275
|
-
let grid;
|
|
276
278
|
let attributes = {};
|
|
277
279
|
let visibleItems = [];
|
|
278
280
|
|
|
@@ -309,7 +311,7 @@ function instance($$self, $$props, $$invalidate) {
|
|
|
309
311
|
|
|
310
312
|
function updateVisibleChildren(props) {
|
|
311
313
|
$$invalidate(3, visibleItems = infinitegrid.getRenderingItems(getItemInfos(), {
|
|
312
|
-
grid,
|
|
314
|
+
grid: vanillaGrid,
|
|
313
315
|
status: props.status,
|
|
314
316
|
usePlaceholder: props.usePlaceholder,
|
|
315
317
|
useFirstRender: props.useFirstRender,
|
|
@@ -337,11 +339,11 @@ function instance($$self, $$props, $$invalidate) {
|
|
|
337
339
|
}
|
|
338
340
|
|
|
339
341
|
options.renderer = renderer;
|
|
340
|
-
|
|
342
|
+
$$invalidate(5, vanillaGrid = new GridClass(wrapper, options));
|
|
341
343
|
|
|
342
344
|
for (const name in infinitegrid.INFINITEGRID_EVENTS) {
|
|
343
345
|
const eventName = infinitegrid.INFINITEGRID_EVENTS[name];
|
|
344
|
-
|
|
346
|
+
vanillaGrid.on(eventName, e => {
|
|
345
347
|
dispatch(eventName, e);
|
|
346
348
|
});
|
|
347
349
|
}
|
|
@@ -350,7 +352,7 @@ function instance($$self, $$props, $$invalidate) {
|
|
|
350
352
|
updateVisibleChildren($$props);
|
|
351
353
|
});
|
|
352
354
|
infinitegrid.mountRenderingItems(getItemInfos(), {
|
|
353
|
-
grid,
|
|
355
|
+
grid: vanillaGrid,
|
|
354
356
|
status: $$props.status,
|
|
355
357
|
usePlaceholder: $$props.usePlaceholder,
|
|
356
358
|
useFirstRender: $$props.useFirstRender,
|
|
@@ -365,18 +367,18 @@ function instance($$self, $$props, $$invalidate) {
|
|
|
365
367
|
|
|
366
368
|
for (const name in propertyTypes) {
|
|
367
369
|
if (name in $$props) {
|
|
368
|
-
|
|
370
|
+
$$invalidate(5, vanillaGrid[name] = $$props[name], vanillaGrid);
|
|
369
371
|
}
|
|
370
372
|
}
|
|
371
373
|
|
|
372
374
|
renderer.updated();
|
|
373
375
|
});
|
|
374
376
|
svelte.onDestroy(() => {
|
|
375
|
-
|
|
377
|
+
vanillaGrid && vanillaGrid.destroy();
|
|
376
378
|
});
|
|
377
379
|
|
|
378
380
|
function getInstance() {
|
|
379
|
-
return
|
|
381
|
+
return vanillaGrid;
|
|
380
382
|
}
|
|
381
383
|
|
|
382
384
|
function div_binding($$value) {
|
|
@@ -395,25 +397,27 @@ function instance($$self, $$props, $$invalidate) {
|
|
|
395
397
|
|
|
396
398
|
$$self.$$set = $$new_props => {
|
|
397
399
|
$$invalidate(4, $$props = internal.assign(internal.assign({}, $$props), internal.exclude_internal_props($$new_props)));
|
|
398
|
-
if ('GridClass' in $$new_props) $$invalidate(
|
|
399
|
-
if ('
|
|
400
|
+
if ('GridClass' in $$new_props) $$invalidate(6, GridClass = $$new_props.GridClass);
|
|
401
|
+
if ('vanillaGrid' in $$new_props) $$invalidate(5, vanillaGrid = $$new_props.vanillaGrid);
|
|
402
|
+
if ('$$scope' in $$new_props) $$invalidate(8, $$scope = $$new_props.$$scope);
|
|
400
403
|
};
|
|
401
404
|
|
|
402
405
|
$$props = internal.exclude_internal_props($$props);
|
|
403
|
-
return [wrapper, container, attributes, visibleItems, $$props, GridClass, getInstance, $$scope, slots, div_binding, div_binding_1];
|
|
406
|
+
return [wrapper, container, attributes, visibleItems, $$props, vanillaGrid, GridClass, getInstance, $$scope, slots, div_binding, div_binding_1];
|
|
404
407
|
}
|
|
405
408
|
|
|
406
409
|
class InfiniteGrid$1 extends internal.SvelteComponent {
|
|
407
410
|
constructor(options) {
|
|
408
411
|
super();
|
|
409
412
|
internal.init(this, options, instance, create_fragment, internal.safe_not_equal, {
|
|
410
|
-
GridClass:
|
|
411
|
-
|
|
413
|
+
GridClass: 6,
|
|
414
|
+
vanillaGrid: 5,
|
|
415
|
+
getInstance: 7
|
|
412
416
|
});
|
|
413
417
|
}
|
|
414
418
|
|
|
415
419
|
get getInstance() {
|
|
416
|
-
return this.$$.ctx[
|
|
420
|
+
return this.$$.ctx[7];
|
|
417
421
|
}
|
|
418
422
|
|
|
419
423
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"infinitegrid.cjs.js","sources":["../src/consts.js","../src/InfiniteGrid.svelte","../src/InfiniteGrid.js","../src/grids/MasonryInfiniteGrid.js","../src/grids/JustifiedInfiniteGrid.js","../src/grids/FrameInfiniteGrid.js","../src/grids/PackingInfiniteGrid.js"],"sourcesContent":["export const SVELTE_INFINITEGRID_PROPS = [\n \"status\",\n \"useFirstRender\",\n \"useLoading\",\n \"usePlaceholder\",\n \"items\",\n \"itemBy\",\n \"groupBy\",\n];\n","<script>\n /**\n * egjs-infinitegrid\n * Copyright (c) 2021-present NAVER Corp.\n * MIT license\n */\n import {\n onMount,\n beforeUpdate,\n createEventDispatcher,\n onDestroy,\n afterUpdate,\n } from \"svelte\";\n import {\n INFINITEGRID_EVENTS,\n Renderer,\n CONTAINER_CLASS_NAME,\n getRenderingItems,\n mountRenderingItems,\n } from \"@egjs/infinitegrid\";\n import { SVELTE_INFINITEGRID_PROPS } from \"./consts\";\n export let GridClass;\n\n const dispatch = createEventDispatcher();\n const renderer = new Renderer();\n let wrapper;\n let container;\n let grid;\n let isFirstMount = false;\n let attributes = {};\n let visibleItems = [];\n\n function updateAttributes(props) {\n attributes = { ...props };\n\n const defaultOptions = GridClass.defaultOptions;\n\n delete attributes[\"GridClass\"];\n for (const name in defaultOptions) {\n delete attributes[name];\n }\n SVELTE_INFINITEGRID_PROPS.forEach((name) => {\n delete attributes[name];\n });\n }\n function getItemInfos() {\n const items = $$props.items || [];\n const itemBy = $$props.itemBy || ((item) => item.key);\n const groupBy = $$props.groupBy || ((item) => item.groupKey);\n\n return items.map((item, i) => {\n return {\n groupKey: groupBy(item, i),\n key: itemBy(item, i),\n data: item,\n };\n });\n }\n function updateVisibleChildren(props) {\n visibleItems = getRenderingItems(getItemInfos(), {\n grid,\n status: props.status,\n usePlaceholder: props.usePlaceholder,\n useFirstRender: props.useFirstRender,\n useLoading: props.useLoading,\n horizontal: props.horizontal,\n });\n }\n\n beforeUpdate(() => {\n updateAttributes($$props);\n updateVisibleChildren($$props);\n });\n\n onMount(() => {\n const defaultOptions = GridClass.defaultOptions;\n const options = {};\n\n for (const name in defaultOptions) {\n if (name in $$props) {\n options[name] = $$props[name];\n }\n }\n if (container) {\n options.container = container;\n }\n options.renderer = renderer;\n grid = new GridClass(wrapper, options);\n\n for (const name in INFINITEGRID_EVENTS) {\n const eventName = INFINITEGRID_EVENTS[name];\n\n grid.on(eventName, (e) => {\n dispatch(eventName, e);\n });\n }\n renderer.on(\"requestUpdate\", () => {\n updateVisibleChildren($$props);\n });\n mountRenderingItems(getItemInfos(), {\n grid,\n status: $$props.status,\n usePlaceholder: $$props.usePlaceholder,\n useFirstRender: $$props.useFirstRender,\n useLoading: $$props.useLoading,\n horizontal: $$props.horizontal,\n });\n renderer.updated();\n });\n afterUpdate(() => {\n if (isFirstMount) {\n isFirstMount = false;\n return;\n }\n const propertyTypes = GridClass.propertyTypes;\n\n for (const name in propertyTypes) {\n if (name in $$props) {\n grid[name] = $$props[name];\n }\n }\n renderer.updated();\n });\n onDestroy(() => {\n grid?.destroy();\n });\n export function getInstance() {\n return grid;\n }\n</script>\n\n<div bind:this={wrapper} {...attributes}>\n {#if $$props.container === true}\n <div class={CONTAINER_CLASS_NAME} bind:this={container}>\n <slot {visibleItems} />\n </div>\n {:else}\n <slot {visibleItems} />\n {/if}\n</div>\n","/**\n * egjs-infinitegrid\n * Copyright (c) 2021-present NAVER Corp.\n * MIT license\n */\nimport InfiniteGrid from \"./InfiniteGrid.svelte\";\nimport { INFINITEGRID_METHODS } from \"@egjs/infinitegrid\";\n\nexport default /*#__PURE__*/ (() => {\n const prototype = InfiniteGrid.prototype;\n\n if (prototype) {\n INFINITEGRID_METHODS.forEach(name => {\n if (name in prototype) {\n return;\n }\n prototype[name] = function (...args) {\n const self = this.getInstance();\n const result = self[name](...args);\n\n if (result === self) {\n return this;\n } else {\n return result;\n }\n };\n });\n }\n return InfiniteGrid;\n})();\n","import InfiniteGrid from \"../InfiniteGrid.svelte\";\nimport { MasonryInfiniteGrid as GridClass } from \"@egjs/infinitegrid\";\n\n\nlet MasonryInfiniteGrid;\n\nif (typeof InfiniteGrid === \"object\") {\n MasonryInfiniteGrid = InfiniteGrid;\n} else {\n MasonryInfiniteGrid = class MasonryInfiniteGrid extends InfiniteGrid {\n constructor(options) {\n options.props.GridClass = GridClass;\n super(options);\n }\n }\n}\nexport { MasonryInfiniteGrid };\n","import InfiniteGrid from \"../InfiniteGrid.svelte\";\nimport { JustifiedInfiniteGrid as GridClass } from \"@egjs/infinitegrid\";\n\n\nlet JustifiedInfiniteGrid;\n\nif (typeof InfiniteGrid === \"object\") {\n JustifiedInfiniteGrid = InfiniteGrid;\n} else {\n JustifiedInfiniteGrid = class JustifiedInfiniteGrid extends InfiniteGrid {\n constructor(options) {\n options.props.GridClass = GridClass;\n super(options);\n }\n }\n}\nexport { JustifiedInfiniteGrid };\n","import InfiniteGrid from \"../InfiniteGrid.svelte\";\nimport { FrameInfiniteGrid as GridClass } from \"@egjs/infinitegrid\";\n\n\nlet FrameInfiniteGrid;\n\nif (typeof InfiniteGrid === \"object\") {\n FrameInfiniteGrid = InfiniteGrid;\n} else {\n FrameInfiniteGrid = class FrameInfiniteGrid extends InfiniteGrid {\n constructor(options) {\n options.props.GridClass = GridClass;\n super(options);\n }\n }\n}\nexport { FrameInfiniteGrid };\n","import InfiniteGrid from \"../InfiniteGrid.svelte\";\nimport { PackingInfiniteGrid as GridClass } from \"@egjs/infinitegrid\";\n\n\nlet PackingInfiniteGrid;\n\nif (typeof InfiniteGrid === \"object\") {\n PackingInfiniteGrid = InfiniteGrid;\n} else {\n PackingInfiniteGrid = class PackingInfiniteGrid extends InfiniteGrid {\n constructor(options) {\n options.props.GridClass = GridClass;\n super(options);\n }\n }\n}\nexport { PackingInfiniteGrid };\n"],"names":["SVELTE_INFINITEGRID_PROPS","CONTAINER_CLASS_NAME","insert","ctx","container","GridClass","dispatch","createEventDispatcher","renderer","Renderer","wrapper","grid","attributes","visibleItems","updateAttributes","props","defaultOptions","name","forEach","getItemInfos","items","$$props","itemBy","item","key","groupBy","groupKey","map","i","data","updateVisibleChildren","getRenderingItems","status","usePlaceholder","useFirstRender","useLoading","horizontal","beforeUpdate","onMount","options","INFINITEGRID_EVENTS","eventName","on","e","mountRenderingItems","updated","afterUpdate","propertyTypes","onDestroy","destroy","getInstance","prototype","InfiniteGrid","INFINITEGRID_METHODS","args","self","result","MasonryInfiniteGrid","constructor","JustifiedInfiniteGrid","FrameInfiniteGrid","PackingInfiniteGrid"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"infinitegrid.cjs.js","sources":["../src/consts.js","../src/InfiniteGrid.svelte","../src/InfiniteGrid.js","../src/grids/MasonryInfiniteGrid.js","../src/grids/JustifiedInfiniteGrid.js","../src/grids/FrameInfiniteGrid.js","../src/grids/PackingInfiniteGrid.js"],"sourcesContent":["export const SVELTE_INFINITEGRID_PROPS = [\n \"status\",\n \"useFirstRender\",\n \"useLoading\",\n \"usePlaceholder\",\n \"items\",\n \"itemBy\",\n \"groupBy\",\n];\n","<script>\n /**\n * egjs-infinitegrid\n * Copyright (c) 2021-present NAVER Corp.\n * MIT license\n */\n import {\n onMount,\n beforeUpdate,\n createEventDispatcher,\n onDestroy,\n afterUpdate,\n } from \"svelte\";\n import {\n INFINITEGRID_EVENTS,\n Renderer,\n CONTAINER_CLASS_NAME,\n getRenderingItems,\n mountRenderingItems,\n } from \"@egjs/infinitegrid\";\n import { SVELTE_INFINITEGRID_PROPS } from \"./consts\";\n export let GridClass;\n export let vanillaGrid = null;\n\n const dispatch = createEventDispatcher();\n const renderer = new Renderer();\n let wrapper;\n let container;\n let isFirstMount = false;\n let attributes = {};\n let visibleItems = [];\n\n function updateAttributes(props) {\n attributes = { ...props };\n\n const defaultOptions = GridClass.defaultOptions;\n\n delete attributes[\"GridClass\"];\n for (const name in defaultOptions) {\n delete attributes[name];\n }\n SVELTE_INFINITEGRID_PROPS.forEach((name) => {\n delete attributes[name];\n });\n }\n function getItemInfos() {\n const items = $$props.items || [];\n const itemBy = $$props.itemBy || ((item) => item.key);\n const groupBy = $$props.groupBy || ((item) => item.groupKey);\n\n return items.map((item, i) => {\n return {\n groupKey: groupBy(item, i),\n key: itemBy(item, i),\n data: item,\n };\n });\n }\n function updateVisibleChildren(props) {\n visibleItems = getRenderingItems(getItemInfos(), {\n grid: vanillaGrid,\n status: props.status,\n usePlaceholder: props.usePlaceholder,\n useFirstRender: props.useFirstRender,\n useLoading: props.useLoading,\n horizontal: props.horizontal,\n });\n }\n\n beforeUpdate(() => {\n updateAttributes($$props);\n updateVisibleChildren($$props);\n });\n\n onMount(() => {\n const defaultOptions = GridClass.defaultOptions;\n const options = {};\n\n for (const name in defaultOptions) {\n if (name in $$props) {\n options[name] = $$props[name];\n }\n }\n if (container) {\n options.container = container;\n }\n options.renderer = renderer;\n vanillaGrid = new GridClass(wrapper, options);\n\n for (const name in INFINITEGRID_EVENTS) {\n const eventName = INFINITEGRID_EVENTS[name];\n\n vanillaGrid.on(eventName, (e) => {\n dispatch(eventName, e);\n });\n }\n renderer.on(\"requestUpdate\", () => {\n updateVisibleChildren($$props);\n });\n\n mountRenderingItems(getItemInfos(), {\n grid: vanillaGrid,\n status: $$props.status,\n usePlaceholder: $$props.usePlaceholder,\n useFirstRender: $$props.useFirstRender,\n useLoading: $$props.useLoading,\n horizontal: $$props.horizontal,\n });\n renderer.updated();\n });\n afterUpdate(() => {\n if (isFirstMount) {\n isFirstMount = false;\n return;\n }\n const propertyTypes = GridClass.propertyTypes;\n\n for (const name in propertyTypes) {\n if (name in $$props) {\n vanillaGrid[name] = $$props[name];\n }\n }\n renderer.updated();\n });\n onDestroy(() => {\n vanillaGrid && vanillaGrid.destroy();\n });\n export function getInstance() {\n return vanillaGrid;\n }\n</script>\n\n<div bind:this={wrapper} {...attributes}>\n {#if $$props.container === true}\n <div class={CONTAINER_CLASS_NAME} bind:this={container}>\n <slot {visibleItems} />\n </div>\n {:else}\n <slot {visibleItems} />\n {/if}\n</div>\n","/**\n * egjs-infinitegrid\n * Copyright (c) 2021-present NAVER Corp.\n * MIT license\n */\nimport InfiniteGrid from \"./InfiniteGrid.svelte\";\nimport { INFINITEGRID_METHODS } from \"@egjs/infinitegrid\";\n\nexport default /*#__PURE__*/ (() => {\n const prototype = InfiniteGrid.prototype;\n\n if (prototype) {\n INFINITEGRID_METHODS.forEach(name => {\n if (name in prototype) {\n return;\n }\n prototype[name] = function (...args) {\n const self = this.getInstance();\n const result = self[name](...args);\n\n if (result === self) {\n return this;\n } else {\n return result;\n }\n };\n });\n }\n return InfiniteGrid;\n})();\n","import InfiniteGrid from \"../InfiniteGrid.svelte\";\nimport { MasonryInfiniteGrid as GridClass } from \"@egjs/infinitegrid\";\n\n\nlet MasonryInfiniteGrid;\n\nif (typeof InfiniteGrid === \"object\") {\n MasonryInfiniteGrid = InfiniteGrid;\n} else {\n MasonryInfiniteGrid = class MasonryInfiniteGrid extends InfiniteGrid {\n constructor(options) {\n options.props.GridClass = GridClass;\n super(options);\n }\n }\n}\nexport { MasonryInfiniteGrid };\n","import InfiniteGrid from \"../InfiniteGrid.svelte\";\nimport { JustifiedInfiniteGrid as GridClass } from \"@egjs/infinitegrid\";\n\n\nlet JustifiedInfiniteGrid;\n\nif (typeof InfiniteGrid === \"object\") {\n JustifiedInfiniteGrid = InfiniteGrid;\n} else {\n JustifiedInfiniteGrid = class JustifiedInfiniteGrid extends InfiniteGrid {\n constructor(options) {\n options.props.GridClass = GridClass;\n super(options);\n }\n }\n}\nexport { JustifiedInfiniteGrid };\n","import InfiniteGrid from \"../InfiniteGrid.svelte\";\nimport { FrameInfiniteGrid as GridClass } from \"@egjs/infinitegrid\";\n\n\nlet FrameInfiniteGrid;\n\nif (typeof InfiniteGrid === \"object\") {\n FrameInfiniteGrid = InfiniteGrid;\n} else {\n FrameInfiniteGrid = class FrameInfiniteGrid extends InfiniteGrid {\n constructor(options) {\n options.props.GridClass = GridClass;\n super(options);\n }\n }\n}\nexport { FrameInfiniteGrid };\n","import InfiniteGrid from \"../InfiniteGrid.svelte\";\nimport { PackingInfiniteGrid as GridClass } from \"@egjs/infinitegrid\";\n\n\nlet PackingInfiniteGrid;\n\nif (typeof InfiniteGrid === \"object\") {\n PackingInfiniteGrid = InfiniteGrid;\n} else {\n PackingInfiniteGrid = class PackingInfiniteGrid extends InfiniteGrid {\n constructor(options) {\n options.props.GridClass = GridClass;\n super(options);\n }\n }\n}\nexport { PackingInfiniteGrid };\n"],"names":["SVELTE_INFINITEGRID_PROPS","CONTAINER_CLASS_NAME","insert","ctx","container","GridClass","vanillaGrid","dispatch","createEventDispatcher","renderer","Renderer","wrapper","attributes","visibleItems","updateAttributes","props","defaultOptions","name","forEach","getItemInfos","items","$$props","itemBy","item","key","groupBy","groupKey","map","i","data","updateVisibleChildren","getRenderingItems","grid","status","usePlaceholder","useFirstRender","useLoading","horizontal","beforeUpdate","onMount","options","INFINITEGRID_EVENTS","eventName","on","e","mountRenderingItems","updated","afterUpdate","propertyTypes","onDestroy","destroy","getInstance","prototype","InfiniteGrid","INFINITEGRID_METHODS","args","self","result","MasonryInfiniteGrid","constructor","JustifiedInfiniteGrid","FrameInfiniteGrid","PackingInfiniteGrid"],"mappings":";;;;;;;;;;;;;;AAAO,MAAMA,yBAAyB,GAAG,CACvC,QADuC,EAEvC,gBAFuC,EAGvC,YAHuC,EAIvC,gBAJuC,EAKvC,OALuC,EAMvC,QANuC,EAOvC,SAPuC,CAAlC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kCCsISC;;;;AAAZC,MAAAA,eAEK,OAAA,KAAA,QAAA,CAFL;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AADGC,IAAAA,GAAO,EAAA,CAAP,CAAQC,SAAR,KAAsB;;;;;;;;AADAD,EAAAA,GAAU,EAAA;;;;;;;;;;;;;;;AAAvCD,MAAAA,eAQK,OAAA,KAAA,QAAA,CARL;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAA6BC,MAAAA,GAAU,EAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA/G1BE,IAAAA;;;AACAC,IAAAA,WAAW,GAAI;;QAEpBC,QAAQ,GAAGC,4BAAqB;QAChCC,QAAQ,OAAOC;MACjBC;MACAP;MAEAQ,UAAU;MACVC,YAAY;;WAEPC,iBAAiBC;oBACxBH,UAAU,QAAQG;;UAEZC,cAAc,GAAGX,SAAS,CAACW;WAE1BJ,UAAU,CAAC,WAAD;;eACNK,QAAQD;aACVJ,UAAU,CAACK,IAAD;;;AAEnBjB,IAAAA,yBAAyB,CAACkB,OAA1B,CAAmCD,IAAI;aAC9BL,UAAU,CAACK,IAAD;KADnB;;;WAIOE;UACDC,KAAK,GAAGC,OAAO,CAACD,KAAR;;UACRE,MAAM,GAAGD,OAAO,CAACC,MAAR,KAAoBC,IAAI,IAAKA,IAAI,CAACC,GAAlC;;UACTC,OAAO,GAAGJ,OAAO,CAACI,OAAR,KAAqBF,IAAI,IAAKA,IAAI,CAACG,QAAnC;;WAETN,KAAK,CAACO,GAAN,EAAWJ,MAAMK;;AAEpBF,QAAAA,QAAQ,EAAED,OAAO,CAACF,IAAD,EAAOK,CAAP;AACjBJ,QAAAA,GAAG,EAAEF,MAAM,CAACC,IAAD,EAAOK,CAAP;AACXC,QAAAA,IAAI,EAAEN;;KAJH;;;WAQAO,sBAAsBf;oBAC7BF,YAAY,GAAGkB,8BAAiB,CAACZ,YAAY,EAAb;AAC9Ba,MAAAA,IAAI,EAAE1B;AACN2B,MAAAA,MAAM,EAAElB,KAAK,CAACkB;AACdC,MAAAA,cAAc,EAAEnB,KAAK,CAACmB;AACtBC,MAAAA,cAAc,EAAEpB,KAAK,CAACoB;AACtBC,MAAAA,UAAU,EAAErB,KAAK,CAACqB;AAClBC,MAAAA,UAAU,EAAEtB,KAAK,CAACsB;KANY;;;AAUlCC,EAAAA,mBAAY;AACVxB,IAAAA,gBAAgB,CAACO,OAAD,CAAhB;AACAS,IAAAA,qBAAqB,CAACT,OAAD,CAArB;GAFU,CAAZ;AAKAkB,EAAAA,cAAO;UACCvB,cAAc,GAAGX,SAAS,CAACW;UAC3BwB,OAAO;;eAEFvB,QAAQD;UACbC,IAAI,IAAII;AACVmB,QAAAA,OAAO,CAACvB,IAAD,CAAP,GAAgBI,OAAO,CAACJ,IAAD,CAAvB;;;;QAGAb;AACFoC,MAAAA,OAAO,CAACpC,SAAR,GAAoBA,SAApB;;;AAEFoC,IAAAA,OAAO,CAAC/B,QAAR,GAAmBA,QAAnB;oBACAH,WAAW,OAAOD,UAAUM,SAAS6B;;eAE1BvB,QAAQwB;YACXC,SAAS,GAAGD,gCAAmB,CAACxB,IAAD;AAErCX,MAAAA,WAAW,CAACqC,EAAZ,CAAeD,SAAf,EAA2BE,CAAC;AAC1BrC,QAAAA,QAAQ,CAACmC,SAAD,EAAYE,CAAZ,CAAR;OADF;;;AAIFnC,IAAAA,QAAQ,CAACkC,EAAT,CAAY,eAAZ;AACEb,MAAAA,qBAAqB,CAACT,OAAD,CAArB;KADF;AAIAwB,IAAAA,gCAAmB,CAAC1B,YAAY,EAAb;AACjBa,MAAAA,IAAI,EAAE1B;AACN2B,MAAAA,MAAM,EAAEZ,OAAO,CAACY;AAChBC,MAAAA,cAAc,EAAEb,OAAO,CAACa;AACxBC,MAAAA,cAAc,EAAEd,OAAO,CAACc;AACxBC,MAAAA,UAAU,EAAEf,OAAO,CAACe;AACpBC,MAAAA,UAAU,EAAEhB,OAAO,CAACgB;KANH,CAAnB;AAQA5B,IAAAA,QAAQ,CAACqC,OAAT;GAlCK,CAAP;AAoCAC,EAAAA,kBAAW;;UAKHC,aAAa,GAAG3C,SAAS,CAAC2C;;eAErB/B,QAAQ+B;UACb/B,IAAI,IAAII;wBACVf,WAAW,CAACW,IAAD,CAAX,GAAoBI,OAAO,CAACJ,IAAD;;;;AAG/BR,IAAAA,QAAQ,CAACqC,OAAT;GAZS,CAAX;AAcAG,EAAAA,gBAAS;AACP3C,IAAAA,WAAW,IAAIA,WAAW,CAAC4C,OAAZ,EAAf;GADO,CAAT;;WAGgBC;WACP7C;;;;;AAMsCF,MAAAA,SAAS,UAAT;;;;;;;AAFjCO,MAAAA,OAAO,UAAP;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACpIhB;AACA;AACA;AACA;AACA;AAIA,mBAAe,aAAc,CAAC,MAAM;AAClC,QAAMyC,SAAS,GAAGC,cAAY,CAACD,SAA/B;;AAEA,MAAIA,SAAJ,EAAe;AACbE,IAAAA,iCAAoB,CAACpC,OAArB,CAA6BD,IAAI,IAAI;AACnC,UAAIA,IAAI,IAAImC,SAAZ,EAAuB;AACrB;AACD;;AACDA,MAAAA,SAAS,CAACnC,IAAD,CAAT,GAAkB,UAAU,GAAGsC,IAAb,EAAmB;AACnC,cAAMC,IAAI,GAAG,KAAKL,WAAL,EAAb;AACA,cAAMM,MAAM,GAAGD,IAAI,CAACvC,IAAD,CAAJ,CAAW,GAAGsC,IAAd,CAAf;;AAEA,YAAIE,MAAM,KAAKD,IAAf,EAAqB;AACnB,iBAAO,IAAP;AACD,SAFD,MAEO;AACL,iBAAOC,MAAP;AACD;AACF,OATD;AAUD,KAdD;AAeD;;AACD,SAAOJ,cAAP;AACD,CArB4B,GAA7B;;ACJA,IAAIK,mBAAJ;;AAEA,IAAI,OAAOL,cAAP,KAAwB,QAA5B,EAAsC;AACpCK,EAAAA,mBAAmB,GAAGL,cAAtB;AACD,CAFD,MAEO;AACLK,EAAAA,mBAAmB,GAAG,MAAMA,mBAAN,SAAkCL,cAAlC,CAA+C;AACnEM,IAAAA,WAAW,CAACnB,OAAD,EAAU;AACnBA,MAAAA,OAAO,CAACzB,KAAR,CAAcV,SAAd,GAA0BA,gCAA1B;AACA,YAAMmC,OAAN;AACD;;AAJkE,GAArE;AAMD;;ACXD,IAAIoB,qBAAJ;;AAEA,IAAI,OAAOP,cAAP,KAAwB,QAA5B,EAAsC;AACpCO,EAAAA,qBAAqB,GAAGP,cAAxB;AACD,CAFD,MAEO;AACLO,EAAAA,qBAAqB,GAAG,MAAMA,qBAAN,SAAoCP,cAApC,CAAiD;AACvEM,IAAAA,WAAW,CAACnB,OAAD,EAAU;AACnBA,MAAAA,OAAO,CAACzB,KAAR,CAAcV,SAAd,GAA0BA,kCAA1B;AACA,YAAMmC,OAAN;AACD;;AAJsE,GAAzE;AAMD;;ACXD,IAAIqB,iBAAJ;;AAEA,IAAI,OAAOR,cAAP,KAAwB,QAA5B,EAAsC;AACpCQ,EAAAA,iBAAiB,GAAGR,cAApB;AACD,CAFD,MAEO;AACLQ,EAAAA,iBAAiB,GAAG,MAAMA,iBAAN,SAAgCR,cAAhC,CAA6C;AAC/DM,IAAAA,WAAW,CAACnB,OAAD,EAAU;AACnBA,MAAAA,OAAO,CAACzB,KAAR,CAAcV,SAAd,GAA0BA,8BAA1B;AACA,YAAMmC,OAAN;AACD;;AAJ8D,GAAjE;AAMD;;ACXD,IAAIsB,mBAAJ;;AAEA,IAAI,OAAOT,cAAP,KAAwB,QAA5B,EAAsC;AACpCS,EAAAA,mBAAmB,GAAGT,cAAtB;AACD,CAFD,MAEO;AACLS,EAAAA,mBAAmB,GAAG,MAAMA,mBAAN,SAAkCT,cAAlC,CAA+C;AACnEM,IAAAA,WAAW,CAACnB,OAAD,EAAU;AACnBA,MAAAA,OAAO,CAACzB,KAAR,CAAcV,SAAd,GAA0BA,gCAA1B;AACA,YAAMmC,OAAN;AACD;;AAJkE,GAArE;AAMD;;;;;;;;;;;;;"}
|
package/dist/infinitegrid.esm.js
CHANGED
|
@@ -4,7 +4,7 @@ name: @egjs/svelte-infinitegrid
|
|
|
4
4
|
license: MIT
|
|
5
5
|
author: NAVER Corp.
|
|
6
6
|
repository: https://github.com/naver/egjs-infinitegrid
|
|
7
|
-
version: 4.
|
|
7
|
+
version: 4.1.2-beta.0
|
|
8
8
|
*/
|
|
9
9
|
import { SvelteComponent, init, safe_not_equal, assign, element, set_attributes, insert, group_outros, transition_out, check_outros, transition_in, get_spread_update, detach, exclude_internal_props, binding_callbacks, create_slot, update_slot_base, get_all_dirty_from_scope, get_slot_changes, attr } from 'svelte/internal';
|
|
10
10
|
import { createEventDispatcher, beforeUpdate, onMount, afterUpdate, onDestroy } from 'svelte';
|
|
@@ -12,7 +12,7 @@ import { Renderer, INFINITEGRID_EVENTS, mountRenderingItems, getRenderingItems,
|
|
|
12
12
|
|
|
13
13
|
const SVELTE_INFINITEGRID_PROPS = ["status", "useFirstRender", "useLoading", "usePlaceholder", "items", "itemBy", "groupBy"];
|
|
14
14
|
|
|
15
|
-
/* src/InfiniteGrid.svelte generated by Svelte v3.
|
|
15
|
+
/* src/InfiniteGrid.svelte generated by Svelte v3.44.3 */
|
|
16
16
|
|
|
17
17
|
const get_default_slot_changes_1 = dirty => ({
|
|
18
18
|
visibleItems: dirty &
|
|
@@ -36,17 +36,17 @@ const get_default_slot_context = ctx => ({
|
|
|
36
36
|
visibleItems:
|
|
37
37
|
/*visibleItems*/
|
|
38
38
|
ctx[3]
|
|
39
|
-
}); // (
|
|
39
|
+
}); // (138:2) {:else}
|
|
40
40
|
|
|
41
41
|
|
|
42
42
|
function create_else_block(ctx) {
|
|
43
43
|
let current;
|
|
44
44
|
const default_slot_template =
|
|
45
45
|
/*#slots*/
|
|
46
|
-
ctx[
|
|
46
|
+
ctx[9].default;
|
|
47
47
|
const default_slot = create_slot(default_slot_template, ctx,
|
|
48
48
|
/*$$scope*/
|
|
49
|
-
ctx[
|
|
49
|
+
ctx[8], get_default_slot_context_1);
|
|
50
50
|
return {
|
|
51
51
|
c() {
|
|
52
52
|
if (default_slot) default_slot.c();
|
|
@@ -64,14 +64,14 @@ function create_else_block(ctx) {
|
|
|
64
64
|
if (default_slot) {
|
|
65
65
|
if (default_slot.p && (!current || dirty &
|
|
66
66
|
/*$$scope, visibleItems*/
|
|
67
|
-
|
|
67
|
+
264)) {
|
|
68
68
|
update_slot_base(default_slot, default_slot_template, ctx,
|
|
69
69
|
/*$$scope*/
|
|
70
|
-
ctx[
|
|
70
|
+
ctx[8], !current ? get_all_dirty_from_scope(
|
|
71
71
|
/*$$scope*/
|
|
72
|
-
ctx[
|
|
72
|
+
ctx[8]) : get_slot_changes(default_slot_template,
|
|
73
73
|
/*$$scope*/
|
|
74
|
-
ctx[
|
|
74
|
+
ctx[8], dirty, get_default_slot_changes_1), get_default_slot_context_1);
|
|
75
75
|
}
|
|
76
76
|
}
|
|
77
77
|
},
|
|
@@ -92,7 +92,7 @@ function create_else_block(ctx) {
|
|
|
92
92
|
}
|
|
93
93
|
|
|
94
94
|
};
|
|
95
|
-
} // (
|
|
95
|
+
} // (134:2) {#if $$props.container === true}
|
|
96
96
|
|
|
97
97
|
|
|
98
98
|
function create_if_block(ctx) {
|
|
@@ -100,10 +100,10 @@ function create_if_block(ctx) {
|
|
|
100
100
|
let current;
|
|
101
101
|
const default_slot_template =
|
|
102
102
|
/*#slots*/
|
|
103
|
-
ctx[
|
|
103
|
+
ctx[9].default;
|
|
104
104
|
const default_slot = create_slot(default_slot_template, ctx,
|
|
105
105
|
/*$$scope*/
|
|
106
|
-
ctx[
|
|
106
|
+
ctx[8], get_default_slot_context);
|
|
107
107
|
return {
|
|
108
108
|
c() {
|
|
109
109
|
div = element("div");
|
|
@@ -120,7 +120,7 @@ function create_if_block(ctx) {
|
|
|
120
120
|
/*div_binding*/
|
|
121
121
|
|
|
122
122
|
|
|
123
|
-
ctx[
|
|
123
|
+
ctx[10](div);
|
|
124
124
|
current = true;
|
|
125
125
|
},
|
|
126
126
|
|
|
@@ -128,14 +128,14 @@ function create_if_block(ctx) {
|
|
|
128
128
|
if (default_slot) {
|
|
129
129
|
if (default_slot.p && (!current || dirty &
|
|
130
130
|
/*$$scope, visibleItems*/
|
|
131
|
-
|
|
131
|
+
264)) {
|
|
132
132
|
update_slot_base(default_slot, default_slot_template, ctx,
|
|
133
133
|
/*$$scope*/
|
|
134
|
-
ctx[
|
|
134
|
+
ctx[8], !current ? get_all_dirty_from_scope(
|
|
135
135
|
/*$$scope*/
|
|
136
|
-
ctx[
|
|
136
|
+
ctx[8]) : get_slot_changes(default_slot_template,
|
|
137
137
|
/*$$scope*/
|
|
138
|
-
ctx[
|
|
138
|
+
ctx[8], dirty, get_default_slot_changes), get_default_slot_context);
|
|
139
139
|
}
|
|
140
140
|
}
|
|
141
141
|
},
|
|
@@ -156,7 +156,7 @@ function create_if_block(ctx) {
|
|
|
156
156
|
if (default_slot) default_slot.d(detaching);
|
|
157
157
|
/*div_binding*/
|
|
158
158
|
|
|
159
|
-
ctx[
|
|
159
|
+
ctx[10](null);
|
|
160
160
|
}
|
|
161
161
|
|
|
162
162
|
};
|
|
@@ -200,7 +200,7 @@ function create_fragment(ctx) {
|
|
|
200
200
|
if_blocks[current_block_type_index].m(div, null);
|
|
201
201
|
/*div_binding_1*/
|
|
202
202
|
|
|
203
|
-
ctx[
|
|
203
|
+
ctx[11](div);
|
|
204
204
|
current = true;
|
|
205
205
|
},
|
|
206
206
|
|
|
@@ -252,7 +252,7 @@ function create_fragment(ctx) {
|
|
|
252
252
|
if_blocks[current_block_type_index].d();
|
|
253
253
|
/*div_binding_1*/
|
|
254
254
|
|
|
255
|
-
ctx[
|
|
255
|
+
ctx[11](null);
|
|
256
256
|
}
|
|
257
257
|
|
|
258
258
|
};
|
|
@@ -266,11 +266,13 @@ function instance($$self, $$props, $$invalidate) {
|
|
|
266
266
|
let {
|
|
267
267
|
GridClass
|
|
268
268
|
} = $$props;
|
|
269
|
+
let {
|
|
270
|
+
vanillaGrid = null
|
|
271
|
+
} = $$props;
|
|
269
272
|
const dispatch = createEventDispatcher();
|
|
270
273
|
const renderer = new Renderer();
|
|
271
274
|
let wrapper;
|
|
272
275
|
let container;
|
|
273
|
-
let grid;
|
|
274
276
|
let attributes = {};
|
|
275
277
|
let visibleItems = [];
|
|
276
278
|
|
|
@@ -307,7 +309,7 @@ function instance($$self, $$props, $$invalidate) {
|
|
|
307
309
|
|
|
308
310
|
function updateVisibleChildren(props) {
|
|
309
311
|
$$invalidate(3, visibleItems = getRenderingItems(getItemInfos(), {
|
|
310
|
-
grid,
|
|
312
|
+
grid: vanillaGrid,
|
|
311
313
|
status: props.status,
|
|
312
314
|
usePlaceholder: props.usePlaceholder,
|
|
313
315
|
useFirstRender: props.useFirstRender,
|
|
@@ -335,11 +337,11 @@ function instance($$self, $$props, $$invalidate) {
|
|
|
335
337
|
}
|
|
336
338
|
|
|
337
339
|
options.renderer = renderer;
|
|
338
|
-
|
|
340
|
+
$$invalidate(5, vanillaGrid = new GridClass(wrapper, options));
|
|
339
341
|
|
|
340
342
|
for (const name in INFINITEGRID_EVENTS) {
|
|
341
343
|
const eventName = INFINITEGRID_EVENTS[name];
|
|
342
|
-
|
|
344
|
+
vanillaGrid.on(eventName, e => {
|
|
343
345
|
dispatch(eventName, e);
|
|
344
346
|
});
|
|
345
347
|
}
|
|
@@ -348,7 +350,7 @@ function instance($$self, $$props, $$invalidate) {
|
|
|
348
350
|
updateVisibleChildren($$props);
|
|
349
351
|
});
|
|
350
352
|
mountRenderingItems(getItemInfos(), {
|
|
351
|
-
grid,
|
|
353
|
+
grid: vanillaGrid,
|
|
352
354
|
status: $$props.status,
|
|
353
355
|
usePlaceholder: $$props.usePlaceholder,
|
|
354
356
|
useFirstRender: $$props.useFirstRender,
|
|
@@ -363,18 +365,18 @@ function instance($$self, $$props, $$invalidate) {
|
|
|
363
365
|
|
|
364
366
|
for (const name in propertyTypes) {
|
|
365
367
|
if (name in $$props) {
|
|
366
|
-
|
|
368
|
+
$$invalidate(5, vanillaGrid[name] = $$props[name], vanillaGrid);
|
|
367
369
|
}
|
|
368
370
|
}
|
|
369
371
|
|
|
370
372
|
renderer.updated();
|
|
371
373
|
});
|
|
372
374
|
onDestroy(() => {
|
|
373
|
-
|
|
375
|
+
vanillaGrid && vanillaGrid.destroy();
|
|
374
376
|
});
|
|
375
377
|
|
|
376
378
|
function getInstance() {
|
|
377
|
-
return
|
|
379
|
+
return vanillaGrid;
|
|
378
380
|
}
|
|
379
381
|
|
|
380
382
|
function div_binding($$value) {
|
|
@@ -393,25 +395,27 @@ function instance($$self, $$props, $$invalidate) {
|
|
|
393
395
|
|
|
394
396
|
$$self.$$set = $$new_props => {
|
|
395
397
|
$$invalidate(4, $$props = assign(assign({}, $$props), exclude_internal_props($$new_props)));
|
|
396
|
-
if ('GridClass' in $$new_props) $$invalidate(
|
|
397
|
-
if ('
|
|
398
|
+
if ('GridClass' in $$new_props) $$invalidate(6, GridClass = $$new_props.GridClass);
|
|
399
|
+
if ('vanillaGrid' in $$new_props) $$invalidate(5, vanillaGrid = $$new_props.vanillaGrid);
|
|
400
|
+
if ('$$scope' in $$new_props) $$invalidate(8, $$scope = $$new_props.$$scope);
|
|
398
401
|
};
|
|
399
402
|
|
|
400
403
|
$$props = exclude_internal_props($$props);
|
|
401
|
-
return [wrapper, container, attributes, visibleItems, $$props, GridClass, getInstance, $$scope, slots, div_binding, div_binding_1];
|
|
404
|
+
return [wrapper, container, attributes, visibleItems, $$props, vanillaGrid, GridClass, getInstance, $$scope, slots, div_binding, div_binding_1];
|
|
402
405
|
}
|
|
403
406
|
|
|
404
407
|
class InfiniteGrid$1 extends SvelteComponent {
|
|
405
408
|
constructor(options) {
|
|
406
409
|
super();
|
|
407
410
|
init(this, options, instance, create_fragment, safe_not_equal, {
|
|
408
|
-
GridClass:
|
|
409
|
-
|
|
411
|
+
GridClass: 6,
|
|
412
|
+
vanillaGrid: 5,
|
|
413
|
+
getInstance: 7
|
|
410
414
|
});
|
|
411
415
|
}
|
|
412
416
|
|
|
413
417
|
get getInstance() {
|
|
414
|
-
return this.$$.ctx[
|
|
418
|
+
return this.$$.ctx[7];
|
|
415
419
|
}
|
|
416
420
|
|
|
417
421
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"infinitegrid.esm.js","sources":["../src/consts.js","../src/InfiniteGrid.svelte","../src/InfiniteGrid.js","../src/grids/MasonryInfiniteGrid.js","../src/grids/JustifiedInfiniteGrid.js","../src/grids/FrameInfiniteGrid.js","../src/grids/PackingInfiniteGrid.js"],"sourcesContent":["export const SVELTE_INFINITEGRID_PROPS = [\n \"status\",\n \"useFirstRender\",\n \"useLoading\",\n \"usePlaceholder\",\n \"items\",\n \"itemBy\",\n \"groupBy\",\n];\n","<script>\n /**\n * egjs-infinitegrid\n * Copyright (c) 2021-present NAVER Corp.\n * MIT license\n */\n import {\n onMount,\n beforeUpdate,\n createEventDispatcher,\n onDestroy,\n afterUpdate,\n } from \"svelte\";\n import {\n INFINITEGRID_EVENTS,\n Renderer,\n CONTAINER_CLASS_NAME,\n getRenderingItems,\n mountRenderingItems,\n } from \"@egjs/infinitegrid\";\n import { SVELTE_INFINITEGRID_PROPS } from \"./consts\";\n export let GridClass;\n\n const dispatch = createEventDispatcher();\n const renderer = new Renderer();\n let wrapper;\n let container;\n let grid;\n let isFirstMount = false;\n let attributes = {};\n let visibleItems = [];\n\n function updateAttributes(props) {\n attributes = { ...props };\n\n const defaultOptions = GridClass.defaultOptions;\n\n delete attributes[\"GridClass\"];\n for (const name in defaultOptions) {\n delete attributes[name];\n }\n SVELTE_INFINITEGRID_PROPS.forEach((name) => {\n delete attributes[name];\n });\n }\n function getItemInfos() {\n const items = $$props.items || [];\n const itemBy = $$props.itemBy || ((item) => item.key);\n const groupBy = $$props.groupBy || ((item) => item.groupKey);\n\n return items.map((item, i) => {\n return {\n groupKey: groupBy(item, i),\n key: itemBy(item, i),\n data: item,\n };\n });\n }\n function updateVisibleChildren(props) {\n visibleItems = getRenderingItems(getItemInfos(), {\n grid,\n status: props.status,\n usePlaceholder: props.usePlaceholder,\n useFirstRender: props.useFirstRender,\n useLoading: props.useLoading,\n horizontal: props.horizontal,\n });\n }\n\n beforeUpdate(() => {\n updateAttributes($$props);\n updateVisibleChildren($$props);\n });\n\n onMount(() => {\n const defaultOptions = GridClass.defaultOptions;\n const options = {};\n\n for (const name in defaultOptions) {\n if (name in $$props) {\n options[name] = $$props[name];\n }\n }\n if (container) {\n options.container = container;\n }\n options.renderer = renderer;\n grid = new GridClass(wrapper, options);\n\n for (const name in INFINITEGRID_EVENTS) {\n const eventName = INFINITEGRID_EVENTS[name];\n\n grid.on(eventName, (e) => {\n dispatch(eventName, e);\n });\n }\n renderer.on(\"requestUpdate\", () => {\n updateVisibleChildren($$props);\n });\n mountRenderingItems(getItemInfos(), {\n grid,\n status: $$props.status,\n usePlaceholder: $$props.usePlaceholder,\n useFirstRender: $$props.useFirstRender,\n useLoading: $$props.useLoading,\n horizontal: $$props.horizontal,\n });\n renderer.updated();\n });\n afterUpdate(() => {\n if (isFirstMount) {\n isFirstMount = false;\n return;\n }\n const propertyTypes = GridClass.propertyTypes;\n\n for (const name in propertyTypes) {\n if (name in $$props) {\n grid[name] = $$props[name];\n }\n }\n renderer.updated();\n });\n onDestroy(() => {\n grid?.destroy();\n });\n export function getInstance() {\n return grid;\n }\n</script>\n\n<div bind:this={wrapper} {...attributes}>\n {#if $$props.container === true}\n <div class={CONTAINER_CLASS_NAME} bind:this={container}>\n <slot {visibleItems} />\n </div>\n {:else}\n <slot {visibleItems} />\n {/if}\n</div>\n","/**\n * egjs-infinitegrid\n * Copyright (c) 2021-present NAVER Corp.\n * MIT license\n */\nimport InfiniteGrid from \"./InfiniteGrid.svelte\";\nimport { INFINITEGRID_METHODS } from \"@egjs/infinitegrid\";\n\nexport default /*#__PURE__*/ (() => {\n const prototype = InfiniteGrid.prototype;\n\n if (prototype) {\n INFINITEGRID_METHODS.forEach(name => {\n if (name in prototype) {\n return;\n }\n prototype[name] = function (...args) {\n const self = this.getInstance();\n const result = self[name](...args);\n\n if (result === self) {\n return this;\n } else {\n return result;\n }\n };\n });\n }\n return InfiniteGrid;\n})();\n","import InfiniteGrid from \"../InfiniteGrid.svelte\";\nimport { MasonryInfiniteGrid as GridClass } from \"@egjs/infinitegrid\";\n\n\nlet MasonryInfiniteGrid;\n\nif (typeof InfiniteGrid === \"object\") {\n MasonryInfiniteGrid = InfiniteGrid;\n} else {\n MasonryInfiniteGrid = class MasonryInfiniteGrid extends InfiniteGrid {\n constructor(options) {\n options.props.GridClass = GridClass;\n super(options);\n }\n }\n}\nexport { MasonryInfiniteGrid };\n","import InfiniteGrid from \"../InfiniteGrid.svelte\";\nimport { JustifiedInfiniteGrid as GridClass } from \"@egjs/infinitegrid\";\n\n\nlet JustifiedInfiniteGrid;\n\nif (typeof InfiniteGrid === \"object\") {\n JustifiedInfiniteGrid = InfiniteGrid;\n} else {\n JustifiedInfiniteGrid = class JustifiedInfiniteGrid extends InfiniteGrid {\n constructor(options) {\n options.props.GridClass = GridClass;\n super(options);\n }\n }\n}\nexport { JustifiedInfiniteGrid };\n","import InfiniteGrid from \"../InfiniteGrid.svelte\";\nimport { FrameInfiniteGrid as GridClass } from \"@egjs/infinitegrid\";\n\n\nlet FrameInfiniteGrid;\n\nif (typeof InfiniteGrid === \"object\") {\n FrameInfiniteGrid = InfiniteGrid;\n} else {\n FrameInfiniteGrid = class FrameInfiniteGrid extends InfiniteGrid {\n constructor(options) {\n options.props.GridClass = GridClass;\n super(options);\n }\n }\n}\nexport { FrameInfiniteGrid };\n","import InfiniteGrid from \"../InfiniteGrid.svelte\";\nimport { PackingInfiniteGrid as GridClass } from \"@egjs/infinitegrid\";\n\n\nlet PackingInfiniteGrid;\n\nif (typeof InfiniteGrid === \"object\") {\n PackingInfiniteGrid = InfiniteGrid;\n} else {\n PackingInfiniteGrid = class PackingInfiniteGrid extends InfiniteGrid {\n constructor(options) {\n options.props.GridClass = GridClass;\n super(options);\n }\n }\n}\nexport { PackingInfiniteGrid };\n"],"names":["SVELTE_INFINITEGRID_PROPS","CONTAINER_CLASS_NAME","insert","ctx","container","GridClass","dispatch","createEventDispatcher","renderer","Renderer","wrapper","grid","attributes","visibleItems","updateAttributes","props","defaultOptions","name","forEach","getItemInfos","items","$$props","itemBy","item","key","groupBy","groupKey","map","i","data","updateVisibleChildren","getRenderingItems","status","usePlaceholder","useFirstRender","useLoading","horizontal","beforeUpdate","onMount","options","INFINITEGRID_EVENTS","eventName","on","e","mountRenderingItems","updated","afterUpdate","propertyTypes","onDestroy","destroy","getInstance","prototype","InfiniteGrid","INFINITEGRID_METHODS","args","self","result","MasonryInfiniteGrid","constructor","JustifiedInfiniteGrid","FrameInfiniteGrid","PackingInfiniteGrid"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"infinitegrid.esm.js","sources":["../src/consts.js","../src/InfiniteGrid.svelte","../src/InfiniteGrid.js","../src/grids/MasonryInfiniteGrid.js","../src/grids/JustifiedInfiniteGrid.js","../src/grids/FrameInfiniteGrid.js","../src/grids/PackingInfiniteGrid.js"],"sourcesContent":["export const SVELTE_INFINITEGRID_PROPS = [\n \"status\",\n \"useFirstRender\",\n \"useLoading\",\n \"usePlaceholder\",\n \"items\",\n \"itemBy\",\n \"groupBy\",\n];\n","<script>\n /**\n * egjs-infinitegrid\n * Copyright (c) 2021-present NAVER Corp.\n * MIT license\n */\n import {\n onMount,\n beforeUpdate,\n createEventDispatcher,\n onDestroy,\n afterUpdate,\n } from \"svelte\";\n import {\n INFINITEGRID_EVENTS,\n Renderer,\n CONTAINER_CLASS_NAME,\n getRenderingItems,\n mountRenderingItems,\n } from \"@egjs/infinitegrid\";\n import { SVELTE_INFINITEGRID_PROPS } from \"./consts\";\n export let GridClass;\n export let vanillaGrid = null;\n\n const dispatch = createEventDispatcher();\n const renderer = new Renderer();\n let wrapper;\n let container;\n let isFirstMount = false;\n let attributes = {};\n let visibleItems = [];\n\n function updateAttributes(props) {\n attributes = { ...props };\n\n const defaultOptions = GridClass.defaultOptions;\n\n delete attributes[\"GridClass\"];\n for (const name in defaultOptions) {\n delete attributes[name];\n }\n SVELTE_INFINITEGRID_PROPS.forEach((name) => {\n delete attributes[name];\n });\n }\n function getItemInfos() {\n const items = $$props.items || [];\n const itemBy = $$props.itemBy || ((item) => item.key);\n const groupBy = $$props.groupBy || ((item) => item.groupKey);\n\n return items.map((item, i) => {\n return {\n groupKey: groupBy(item, i),\n key: itemBy(item, i),\n data: item,\n };\n });\n }\n function updateVisibleChildren(props) {\n visibleItems = getRenderingItems(getItemInfos(), {\n grid: vanillaGrid,\n status: props.status,\n usePlaceholder: props.usePlaceholder,\n useFirstRender: props.useFirstRender,\n useLoading: props.useLoading,\n horizontal: props.horizontal,\n });\n }\n\n beforeUpdate(() => {\n updateAttributes($$props);\n updateVisibleChildren($$props);\n });\n\n onMount(() => {\n const defaultOptions = GridClass.defaultOptions;\n const options = {};\n\n for (const name in defaultOptions) {\n if (name in $$props) {\n options[name] = $$props[name];\n }\n }\n if (container) {\n options.container = container;\n }\n options.renderer = renderer;\n vanillaGrid = new GridClass(wrapper, options);\n\n for (const name in INFINITEGRID_EVENTS) {\n const eventName = INFINITEGRID_EVENTS[name];\n\n vanillaGrid.on(eventName, (e) => {\n dispatch(eventName, e);\n });\n }\n renderer.on(\"requestUpdate\", () => {\n updateVisibleChildren($$props);\n });\n\n mountRenderingItems(getItemInfos(), {\n grid: vanillaGrid,\n status: $$props.status,\n usePlaceholder: $$props.usePlaceholder,\n useFirstRender: $$props.useFirstRender,\n useLoading: $$props.useLoading,\n horizontal: $$props.horizontal,\n });\n renderer.updated();\n });\n afterUpdate(() => {\n if (isFirstMount) {\n isFirstMount = false;\n return;\n }\n const propertyTypes = GridClass.propertyTypes;\n\n for (const name in propertyTypes) {\n if (name in $$props) {\n vanillaGrid[name] = $$props[name];\n }\n }\n renderer.updated();\n });\n onDestroy(() => {\n vanillaGrid && vanillaGrid.destroy();\n });\n export function getInstance() {\n return vanillaGrid;\n }\n</script>\n\n<div bind:this={wrapper} {...attributes}>\n {#if $$props.container === true}\n <div class={CONTAINER_CLASS_NAME} bind:this={container}>\n <slot {visibleItems} />\n </div>\n {:else}\n <slot {visibleItems} />\n {/if}\n</div>\n","/**\n * egjs-infinitegrid\n * Copyright (c) 2021-present NAVER Corp.\n * MIT license\n */\nimport InfiniteGrid from \"./InfiniteGrid.svelte\";\nimport { INFINITEGRID_METHODS } from \"@egjs/infinitegrid\";\n\nexport default /*#__PURE__*/ (() => {\n const prototype = InfiniteGrid.prototype;\n\n if (prototype) {\n INFINITEGRID_METHODS.forEach(name => {\n if (name in prototype) {\n return;\n }\n prototype[name] = function (...args) {\n const self = this.getInstance();\n const result = self[name](...args);\n\n if (result === self) {\n return this;\n } else {\n return result;\n }\n };\n });\n }\n return InfiniteGrid;\n})();\n","import InfiniteGrid from \"../InfiniteGrid.svelte\";\nimport { MasonryInfiniteGrid as GridClass } from \"@egjs/infinitegrid\";\n\n\nlet MasonryInfiniteGrid;\n\nif (typeof InfiniteGrid === \"object\") {\n MasonryInfiniteGrid = InfiniteGrid;\n} else {\n MasonryInfiniteGrid = class MasonryInfiniteGrid extends InfiniteGrid {\n constructor(options) {\n options.props.GridClass = GridClass;\n super(options);\n }\n }\n}\nexport { MasonryInfiniteGrid };\n","import InfiniteGrid from \"../InfiniteGrid.svelte\";\nimport { JustifiedInfiniteGrid as GridClass } from \"@egjs/infinitegrid\";\n\n\nlet JustifiedInfiniteGrid;\n\nif (typeof InfiniteGrid === \"object\") {\n JustifiedInfiniteGrid = InfiniteGrid;\n} else {\n JustifiedInfiniteGrid = class JustifiedInfiniteGrid extends InfiniteGrid {\n constructor(options) {\n options.props.GridClass = GridClass;\n super(options);\n }\n }\n}\nexport { JustifiedInfiniteGrid };\n","import InfiniteGrid from \"../InfiniteGrid.svelte\";\nimport { FrameInfiniteGrid as GridClass } from \"@egjs/infinitegrid\";\n\n\nlet FrameInfiniteGrid;\n\nif (typeof InfiniteGrid === \"object\") {\n FrameInfiniteGrid = InfiniteGrid;\n} else {\n FrameInfiniteGrid = class FrameInfiniteGrid extends InfiniteGrid {\n constructor(options) {\n options.props.GridClass = GridClass;\n super(options);\n }\n }\n}\nexport { FrameInfiniteGrid };\n","import InfiniteGrid from \"../InfiniteGrid.svelte\";\nimport { PackingInfiniteGrid as GridClass } from \"@egjs/infinitegrid\";\n\n\nlet PackingInfiniteGrid;\n\nif (typeof InfiniteGrid === \"object\") {\n PackingInfiniteGrid = InfiniteGrid;\n} else {\n PackingInfiniteGrid = class PackingInfiniteGrid extends InfiniteGrid {\n constructor(options) {\n options.props.GridClass = GridClass;\n super(options);\n }\n }\n}\nexport { PackingInfiniteGrid };\n"],"names":["SVELTE_INFINITEGRID_PROPS","CONTAINER_CLASS_NAME","insert","ctx","container","GridClass","vanillaGrid","dispatch","createEventDispatcher","renderer","Renderer","wrapper","attributes","visibleItems","updateAttributes","props","defaultOptions","name","forEach","getItemInfos","items","$$props","itemBy","item","key","groupBy","groupKey","map","i","data","updateVisibleChildren","getRenderingItems","grid","status","usePlaceholder","useFirstRender","useLoading","horizontal","beforeUpdate","onMount","options","INFINITEGRID_EVENTS","eventName","on","e","mountRenderingItems","updated","afterUpdate","propertyTypes","onDestroy","destroy","getInstance","prototype","InfiniteGrid","INFINITEGRID_METHODS","args","self","result","MasonryInfiniteGrid","constructor","JustifiedInfiniteGrid","FrameInfiniteGrid","PackingInfiniteGrid"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@egjs/svelte-infinitegrid",
|
|
3
|
-
"version": "4.
|
|
3
|
+
"version": "4.1.2-beta.2",
|
|
4
4
|
"description": "A Svelte component that can arrange items infinitely according to the type of grids",
|
|
5
5
|
"sideEffects": false,
|
|
6
6
|
"svelte": "src/index.js",
|
|
@@ -69,6 +69,6 @@
|
|
|
69
69
|
"typescript": "^4.0.0"
|
|
70
70
|
},
|
|
71
71
|
"dependencies": {
|
|
72
|
-
"@egjs/infinitegrid": "~4.
|
|
72
|
+
"@egjs/infinitegrid": "~4.1.1"
|
|
73
73
|
}
|
|
74
74
|
}
|
package/rollup.config.js
CHANGED
|
@@ -43,8 +43,7 @@ export default {
|
|
|
43
43
|
preprocess: sveltePreprocess({ sourceMap: !production }),
|
|
44
44
|
compilerOptions: {
|
|
45
45
|
// enable run-time checks when not in production
|
|
46
|
-
dev: !production
|
|
47
|
-
generate: "ssr",
|
|
46
|
+
dev: !production
|
|
48
47
|
}
|
|
49
48
|
}),
|
|
50
49
|
// we'll extract any component CSS out into
|
package/src/InfiniteGrid.svelte
CHANGED
|
@@ -20,12 +20,12 @@
|
|
|
20
20
|
} from "@egjs/infinitegrid";
|
|
21
21
|
import { SVELTE_INFINITEGRID_PROPS } from "./consts";
|
|
22
22
|
export let GridClass;
|
|
23
|
+
export let vanillaGrid = null;
|
|
23
24
|
|
|
24
25
|
const dispatch = createEventDispatcher();
|
|
25
26
|
const renderer = new Renderer();
|
|
26
27
|
let wrapper;
|
|
27
28
|
let container;
|
|
28
|
-
let grid;
|
|
29
29
|
let isFirstMount = false;
|
|
30
30
|
let attributes = {};
|
|
31
31
|
let visibleItems = [];
|
|
@@ -58,7 +58,7 @@
|
|
|
58
58
|
}
|
|
59
59
|
function updateVisibleChildren(props) {
|
|
60
60
|
visibleItems = getRenderingItems(getItemInfos(), {
|
|
61
|
-
grid,
|
|
61
|
+
grid: vanillaGrid,
|
|
62
62
|
status: props.status,
|
|
63
63
|
usePlaceholder: props.usePlaceholder,
|
|
64
64
|
useFirstRender: props.useFirstRender,
|
|
@@ -85,20 +85,21 @@
|
|
|
85
85
|
options.container = container;
|
|
86
86
|
}
|
|
87
87
|
options.renderer = renderer;
|
|
88
|
-
|
|
88
|
+
vanillaGrid = new GridClass(wrapper, options);
|
|
89
89
|
|
|
90
90
|
for (const name in INFINITEGRID_EVENTS) {
|
|
91
91
|
const eventName = INFINITEGRID_EVENTS[name];
|
|
92
92
|
|
|
93
|
-
|
|
93
|
+
vanillaGrid.on(eventName, (e) => {
|
|
94
94
|
dispatch(eventName, e);
|
|
95
95
|
});
|
|
96
96
|
}
|
|
97
97
|
renderer.on("requestUpdate", () => {
|
|
98
98
|
updateVisibleChildren($$props);
|
|
99
99
|
});
|
|
100
|
+
|
|
100
101
|
mountRenderingItems(getItemInfos(), {
|
|
101
|
-
grid,
|
|
102
|
+
grid: vanillaGrid,
|
|
102
103
|
status: $$props.status,
|
|
103
104
|
usePlaceholder: $$props.usePlaceholder,
|
|
104
105
|
useFirstRender: $$props.useFirstRender,
|
|
@@ -116,16 +117,16 @@
|
|
|
116
117
|
|
|
117
118
|
for (const name in propertyTypes) {
|
|
118
119
|
if (name in $$props) {
|
|
119
|
-
|
|
120
|
+
vanillaGrid[name] = $$props[name];
|
|
120
121
|
}
|
|
121
122
|
}
|
|
122
123
|
renderer.updated();
|
|
123
124
|
});
|
|
124
125
|
onDestroy(() => {
|
|
125
|
-
|
|
126
|
+
vanillaGrid && vanillaGrid.destroy();
|
|
126
127
|
});
|
|
127
128
|
export function getInstance() {
|
|
128
|
-
return
|
|
129
|
+
return vanillaGrid;
|
|
129
130
|
}
|
|
130
131
|
</script>
|
|
131
132
|
|
package/src/index.d.ts
CHANGED
|
@@ -1,20 +1,27 @@
|
|
|
1
|
-
import
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
} from "@egjs/
|
|
1
|
+
import VanillaInfiniteGrid, {
|
|
2
|
+
FrameInfiniteGridOptions, InfiniteGridMethods, InfiniteGridOptions, JustifiedInfiniteGridOptions,
|
|
3
|
+
MasonryInfiniteGridOptions, PackingInfiniteGridOptions,
|
|
4
|
+
} from "@egjs/Infinitegrid";
|
|
5
5
|
import { SvelteComponentDev } from "svelte/internal";
|
|
6
6
|
|
|
7
|
+
export interface SveltInfiniteGridOptions {
|
|
8
|
+
items?: any[];
|
|
9
|
+
useFirstRender?: boolean;
|
|
10
|
+
usePlaceholder?: boolean;
|
|
11
|
+
useLoading?: boolean;
|
|
12
|
+
status: InfiniteGridStatus;
|
|
13
|
+
}
|
|
7
14
|
|
|
8
|
-
export default abstract class
|
|
9
|
-
$$prop_def: T;
|
|
10
|
-
getInstance():
|
|
15
|
+
export default abstract class InfiniteGrid<T extends InfiniteGridOptions> extends SvelteComponentDev {
|
|
16
|
+
$$prop_def: Record<string, any> & SveltInfiniteGridOptions & T;
|
|
17
|
+
getInstance(): VanillaInfiniteGrid;
|
|
11
18
|
}
|
|
12
19
|
|
|
13
|
-
export default interface
|
|
20
|
+
export default interface InfiniteGrid<T extends InfiniteGridOptions> extends InfiniteGridMethods<InfiniteGrid<T>> {
|
|
14
21
|
// eslint-disable-next-line semi
|
|
15
22
|
}
|
|
16
23
|
|
|
17
|
-
export class
|
|
18
|
-
export class
|
|
19
|
-
export class
|
|
20
|
-
export class
|
|
24
|
+
export class MasonryInfiniteGrid extends InfiniteGrid<MasonryInfiniteGridOptions> { }
|
|
25
|
+
export class JustifiedInfiniteGrid extends InfiniteGrid<JustifiedInfiniteGridOptions> { }
|
|
26
|
+
export class FrameInfiniteGrid extends InfiniteGrid<FrameInfiniteGridOptions> { }
|
|
27
|
+
export class PackingInfiniteGrid extends InfiniteGrid<PackingInfiniteGridOptions> { }
|