@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.
@@ -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.0.1-beta.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.43.0 */
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
- }); // (137:2) {:else}
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[8].default;
48
+ ctx[9].default;
49
49
  const default_slot = internal.create_slot(default_slot_template, ctx,
50
50
  /*$$scope*/
51
- ctx[7], get_default_slot_context_1);
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
- 136)) {
69
+ 264)) {
70
70
  internal.update_slot_base(default_slot, default_slot_template, ctx,
71
71
  /*$$scope*/
72
- ctx[7], !current ? internal.get_all_dirty_from_scope(
72
+ ctx[8], !current ? internal.get_all_dirty_from_scope(
73
73
  /*$$scope*/
74
- ctx[7]) : internal.get_slot_changes(default_slot_template,
74
+ ctx[8]) : internal.get_slot_changes(default_slot_template,
75
75
  /*$$scope*/
76
- ctx[7], dirty, get_default_slot_changes_1), get_default_slot_context_1);
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
- } // (133:2) {#if $$props.container === true}
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[8].default;
105
+ ctx[9].default;
106
106
  const default_slot = internal.create_slot(default_slot_template, ctx,
107
107
  /*$$scope*/
108
- ctx[7], get_default_slot_context);
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[9](div);
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
- 136)) {
133
+ 264)) {
134
134
  internal.update_slot_base(default_slot, default_slot_template, ctx,
135
135
  /*$$scope*/
136
- ctx[7], !current ? internal.get_all_dirty_from_scope(
136
+ ctx[8], !current ? internal.get_all_dirty_from_scope(
137
137
  /*$$scope*/
138
- ctx[7]) : internal.get_slot_changes(default_slot_template,
138
+ ctx[8]) : internal.get_slot_changes(default_slot_template,
139
139
  /*$$scope*/
140
- ctx[7], dirty, get_default_slot_changes), get_default_slot_context);
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[9](null);
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[10](div);
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[10](null);
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
- grid = new GridClass(wrapper, options);
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
- grid.on(eventName, e => {
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
- grid[name] = $$props[name];
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
- grid?.destroy();
377
+ vanillaGrid && vanillaGrid.destroy();
376
378
  });
377
379
 
378
380
  function getInstance() {
379
- return grid;
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(5, GridClass = $$new_props.GridClass);
399
- if ('$$scope' in $$new_props) $$invalidate(7, $$scope = $$new_props.$$scope);
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: 5,
411
- getInstance: 6
413
+ GridClass: 6,
414
+ vanillaGrid: 5,
415
+ getInstance: 7
412
416
  });
413
417
  }
414
418
 
415
419
  get getInstance() {
416
- return this.$$.ctx[6];
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":"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"}
@@ -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.0.1-beta.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.43.0 */
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
- }); // (137:2) {:else}
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[8].default;
46
+ ctx[9].default;
47
47
  const default_slot = create_slot(default_slot_template, ctx,
48
48
  /*$$scope*/
49
- ctx[7], get_default_slot_context_1);
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
- 136)) {
67
+ 264)) {
68
68
  update_slot_base(default_slot, default_slot_template, ctx,
69
69
  /*$$scope*/
70
- ctx[7], !current ? get_all_dirty_from_scope(
70
+ ctx[8], !current ? get_all_dirty_from_scope(
71
71
  /*$$scope*/
72
- ctx[7]) : get_slot_changes(default_slot_template,
72
+ ctx[8]) : get_slot_changes(default_slot_template,
73
73
  /*$$scope*/
74
- ctx[7], dirty, get_default_slot_changes_1), get_default_slot_context_1);
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
- } // (133:2) {#if $$props.container === true}
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[8].default;
103
+ ctx[9].default;
104
104
  const default_slot = create_slot(default_slot_template, ctx,
105
105
  /*$$scope*/
106
- ctx[7], get_default_slot_context);
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[9](div);
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
- 136)) {
131
+ 264)) {
132
132
  update_slot_base(default_slot, default_slot_template, ctx,
133
133
  /*$$scope*/
134
- ctx[7], !current ? get_all_dirty_from_scope(
134
+ ctx[8], !current ? get_all_dirty_from_scope(
135
135
  /*$$scope*/
136
- ctx[7]) : get_slot_changes(default_slot_template,
136
+ ctx[8]) : get_slot_changes(default_slot_template,
137
137
  /*$$scope*/
138
- ctx[7], dirty, get_default_slot_changes), get_default_slot_context);
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[9](null);
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[10](div);
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[10](null);
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
- grid = new GridClass(wrapper, options);
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
- grid.on(eventName, e => {
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
- grid[name] = $$props[name];
368
+ $$invalidate(5, vanillaGrid[name] = $$props[name], vanillaGrid);
367
369
  }
368
370
  }
369
371
 
370
372
  renderer.updated();
371
373
  });
372
374
  onDestroy(() => {
373
- grid?.destroy();
375
+ vanillaGrid && vanillaGrid.destroy();
374
376
  });
375
377
 
376
378
  function getInstance() {
377
- return grid;
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(5, GridClass = $$new_props.GridClass);
397
- if ('$$scope' in $$new_props) $$invalidate(7, $$scope = $$new_props.$$scope);
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: 5,
409
- getInstance: 6
411
+ GridClass: 6,
412
+ vanillaGrid: 5,
413
+ getInstance: 7
410
414
  });
411
415
  }
412
416
 
413
417
  get getInstance() {
414
- return this.$$.ctx[6];
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":";;;;;;;;;;;;AAAO,MAAMA,yBAAyB,GAAG,CACvC,QADuC,EAEvC,gBAFuC,EAGvC,YAHuC,EAIvC,gBAJuC,EAKvC,OALuC,EAMvC,QANuC,EAOvC,SAPuC,CAAlC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;yBCsISC;;;;AAAZC,MAAAA,MAEK,OAAA,KAAA,QAAA,CAFL;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AADGC,IAAAA,GAAO,EAAA,CAAP,CAAQC,SAAR,KAAsB;;;;;;;;AADAD,EAAAA,GAAU,EAAA;;;;;;;;;;;;;;;AAAvCD,MAAAA,MAQK,OAAA,KAAA,QAAA,CARL;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAA6BC,MAAAA,GAAU,EAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA/G1BE,IAAAA;;;AACAC,IAAAA,WAAW,GAAI;;QAEpBC,QAAQ,GAAGC,qBAAqB;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,iBAAiB,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,YAAY;AACVxB,IAAAA,gBAAgB,CAACO,OAAD,CAAhB;AACAS,IAAAA,qBAAqB,CAACT,OAAD,CAArB;GAFU,CAAZ;AAKAkB,EAAAA,OAAO;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,mBAAmB,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,mBAAmB,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,WAAW;;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,SAAS;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,oBAAoB,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;;ICJIK;;AAEJ,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,qBAA1B;AACA,YAAMmC,OAAN;AACD;;AAJkE,GAArE;AAMD;;ICXGoB;;AAEJ,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,uBAA1B;AACA,YAAMmC,OAAN;AACD;;AAJsE,GAAzE;AAMD;;ICXGqB;;AAEJ,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,mBAA1B;AACA,YAAMmC,OAAN;AACD;;AAJ8D,GAAjE;AAMD;;ICXGsB;;AAEJ,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,qBAA1B;AACA,YAAMmC,OAAN;AACD;;AAJkE,GAArE;AAMD;;;;"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@egjs/svelte-infinitegrid",
3
- "version": "4.0.1-beta.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.0.0"
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
@@ -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
- grid = new GridClass(wrapper, options);
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
- grid.on(eventName, (e) => {
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
- grid[name] = $$props[name];
120
+ vanillaGrid[name] = $$props[name];
120
121
  }
121
122
  }
122
123
  renderer.updated();
123
124
  });
124
125
  onDestroy(() => {
125
- grid?.destroy();
126
+ vanillaGrid && vanillaGrid.destroy();
126
127
  });
127
128
  export function getInstance() {
128
- return grid;
129
+ return vanillaGrid;
129
130
  }
130
131
  </script>
131
132
 
package/src/index.d.ts CHANGED
@@ -1,20 +1,27 @@
1
- import VanillaGrid, {
2
- FrameGridOptions, GridMethods, GridOptions, JustifiedGridOptions,
3
- MasonryGridOptions, PackingGridOptions,
4
- } from "@egjs/grid";
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 Grid<T extends GridOptions> extends SvelteComponentDev {
9
- $$prop_def: T;
10
- getInstance(): VanillaGrid;
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 Grid<T extends GridOptions> extends GridMethods<Grid<T>> {
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 MasonryGrid extends Grid<MasonryGridOptions> { }
18
- export class JustifiedGrid extends Grid<JustifiedGridOptions> { }
19
- export class FrameGrid extends Grid<FrameGridOptions> { }
20
- export class PackingGrid extends Grid<PackingGridOptions> { }
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> { }