@egjs/svelte-infinitegrid 4.9.0 → 4.10.1
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/CHANGELOG.md +28 -0
- package/dist/infinitegrid.cjs.js +14 -5
- package/dist/infinitegrid.cjs.js.map +1 -1
- package/dist/infinitegrid.esm.js +14 -5
- package/dist/infinitegrid.esm.js.map +1 -1
- package/package.json +2 -2
- package/src/InfiniteGrid.svelte +10 -1
- package/src/index.d.ts +3 -0
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,34 @@
|
|
|
3
3
|
All notable changes to this project will be documented in this file.
|
|
4
4
|
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
|
5
5
|
|
|
6
|
+
## [4.10.0](https://github.com/naver/egjs-infinitegrid/compare/@egjs/svelte-infinitegrid@4.9.0...@egjs/svelte-infinitegrid@4.10.0) (2023-05-26)
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
### :rocket: New Features
|
|
10
|
+
|
|
11
|
+
* add infoBy prop for frameworks (#538) ([6fd5c0b](https://github.com/naver/egjs-infinitegrid/commit/6fd5c0b36f2aded59d3fce54d880f8882b2a3ec6))
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
### :mega: Other
|
|
15
|
+
|
|
16
|
+
* update packages versions ([dce9a8c](https://github.com/naver/egjs-infinitegrid/commit/dce9a8c79342d01190b59197b82bf11d25c5665c))
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
## [4.9.0](https://github.com/naver/egjs-infinitegrid/compare/@egjs/svelte-infinitegrid@4.8.1...@egjs/svelte-infinitegrid@4.9.0) (2023-03-17)
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
### :bug: Bug Fix
|
|
24
|
+
|
|
25
|
+
* fix svelte module naming (#529) ([5e3d9fe](https://github.com/naver/egjs-infinitegrid/commit/5e3d9fefbc45066e1256a408a909045f7c4c70f7))
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+
### :mega: Other
|
|
29
|
+
|
|
30
|
+
* update packages versions ([f628845](https://github.com/naver/egjs-infinitegrid/commit/f628845d3e3a8d0cb91f1802c352d12944b6a2a7))
|
|
31
|
+
|
|
32
|
+
|
|
33
|
+
|
|
6
34
|
## [4.8.1](https://github.com/naver/egjs-infinitegrid/compare/@egjs/svelte-infinitegrid@4.7.1...@egjs/svelte-infinitegrid@4.8.1) (2023-01-27)
|
|
7
35
|
|
|
8
36
|
|
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.10.1
|
|
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.58.0 */
|
|
18
18
|
const get_default_slot_changes_1 = dirty => ({
|
|
19
19
|
visibleItems: dirty & /*visibleItems*/8
|
|
20
20
|
});
|
|
@@ -28,7 +28,7 @@ const get_default_slot_context = ctx => ({
|
|
|
28
28
|
visibleItems: /*visibleItems*/ctx[3]
|
|
29
29
|
});
|
|
30
30
|
|
|
31
|
-
// (
|
|
31
|
+
// (147:2) {:else}
|
|
32
32
|
function create_else_block(ctx) {
|
|
33
33
|
let current;
|
|
34
34
|
const default_slot_template = /*#slots*/ctx[9].default;
|
|
@@ -65,7 +65,7 @@ function create_else_block(ctx) {
|
|
|
65
65
|
};
|
|
66
66
|
}
|
|
67
67
|
|
|
68
|
-
// (
|
|
68
|
+
// (143:2) {#if $$props.container === true}
|
|
69
69
|
function create_if_block(ctx) {
|
|
70
70
|
let div;
|
|
71
71
|
let current;
|
|
@@ -216,11 +216,20 @@ function instance($$self, $$props, $$invalidate) {
|
|
|
216
216
|
const items = $$props.items || [];
|
|
217
217
|
const itemBy = $$props.itemBy || (item => item.key);
|
|
218
218
|
const groupBy = $$props.groupBy || (item => item.groupKey);
|
|
219
|
+
const infoBy = $$props.infoBy || (() => ({}));
|
|
219
220
|
return items.map((item, i) => {
|
|
221
|
+
const {
|
|
222
|
+
data,
|
|
223
|
+
...rest
|
|
224
|
+
} = infoBy(item, i) || {};
|
|
220
225
|
return {
|
|
221
226
|
groupKey: groupBy(item, i),
|
|
222
227
|
key: itemBy(item, i),
|
|
223
|
-
|
|
228
|
+
...rest,
|
|
229
|
+
data: {
|
|
230
|
+
...data,
|
|
231
|
+
...item
|
|
232
|
+
}
|
|
224
233
|
};
|
|
225
234
|
});
|
|
226
235
|
}
|
|
@@ -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 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.js\";\nimport { MasonryInfiniteGrid as GridClass } from \"@egjs/infinitegrid\";\n\n\nlet SvelteMasonryInfiniteGrid;\n\nif (typeof InfiniteGrid === \"object\") {\n SvelteMasonryInfiniteGrid = InfiniteGrid;\n} else {\n SvelteMasonryInfiniteGrid = class SvelteMasonryInfiniteGrid extends InfiniteGrid {\n constructor(options) {\n options.props.GridClass = GridClass;\n super(options);\n }\n }\n}\nexport { SvelteMasonryInfiniteGrid as MasonryInfiniteGrid };\n","import InfiniteGrid from \"../InfiniteGrid.js\";\nimport { JustifiedInfiniteGrid as GridClass } from \"@egjs/infinitegrid\";\n\n\nlet SvelteJustifiedInfiniteGrid;\n\nif (typeof InfiniteGrid === \"object\") {\n SvelteJustifiedInfiniteGrid = InfiniteGrid;\n} else {\n SvelteJustifiedInfiniteGrid = class SvelteJustifiedInfiniteGrid extends InfiniteGrid {\n constructor(options) {\n options.props.GridClass = GridClass;\n super(options);\n }\n }\n}\nexport { SvelteJustifiedInfiniteGrid as JustifiedInfiniteGrid };\n","import InfiniteGrid from \"../InfiniteGrid.js\";\nimport { FrameInfiniteGrid as GridClass } from \"@egjs/infinitegrid\";\n\n\nlet SvelteFrameInfiniteGrid;\n\nif (typeof InfiniteGrid === \"object\") {\n SvelteFrameInfiniteGrid = InfiniteGrid;\n} else {\n SvelteFrameInfiniteGrid = class SvelteFrameInfiniteGrid extends InfiniteGrid {\n constructor(options) {\n options.props.GridClass = GridClass;\n super(options);\n }\n }\n}\nexport { SvelteFrameInfiniteGrid as FrameInfiniteGrid };\n","import InfiniteGrid from \"../InfiniteGrid.js\";\nimport { PackingInfiniteGrid as GridClass } from \"@egjs/infinitegrid\";\n\n\nlet SveltePackingInfiniteGrid;\n\nif (typeof InfiniteGrid === \"object\") {\n SveltePackingInfiniteGrid = InfiniteGrid;\n} else {\n SveltePackingInfiniteGrid = class SveltePackingInfiniteGrid extends InfiniteGrid {\n constructor(options) {\n options.props.GridClass = GridClass;\n super(options);\n }\n }\n}\nexport { SveltePackingInfiniteGrid as PackingInfiniteGrid };\n"],"names":["SVELTE_INFINITEGRID_PROPS","CONTAINER_CLASS_NAME","insert","target","div","anchor","ctx","container","GridClass","$$props","vanillaGrid","dispatch","createEventDispatcher","renderer","Renderer","wrapper","attributes","visibleItems","updateAttributes","props","$$invalidate","defaultOptions","name","forEach","getItemInfos","items","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","$$value","prototype","InfiniteGrid","INFINITEGRID_METHODS","args","self","result","SvelteMasonryInfiniteGrid","constructor","SvelteJustifiedInfiniteGrid","SvelteFrameInfiniteGrid","SveltePackingInfiniteGrid"],"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 const infoBy = $$props.infoBy || (() => ({}));\n\n return items.map((item, i) => {\n const {\n data,\n ...rest\n } = infoBy(item, i) || {};\n return {\n groupKey: groupBy(item, i),\n key: itemBy(item, i),\n ...rest,\n data: {\n ...data,\n ...item,\n },\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.js\";\nimport { MasonryInfiniteGrid as GridClass } from \"@egjs/infinitegrid\";\n\n\nlet SvelteMasonryInfiniteGrid;\n\nif (typeof InfiniteGrid === \"object\") {\n SvelteMasonryInfiniteGrid = InfiniteGrid;\n} else {\n SvelteMasonryInfiniteGrid = class SvelteMasonryInfiniteGrid extends InfiniteGrid {\n constructor(options) {\n options.props.GridClass = GridClass;\n super(options);\n }\n }\n}\nexport { SvelteMasonryInfiniteGrid as MasonryInfiniteGrid };\n","import InfiniteGrid from \"../InfiniteGrid.js\";\nimport { JustifiedInfiniteGrid as GridClass } from \"@egjs/infinitegrid\";\n\n\nlet SvelteJustifiedInfiniteGrid;\n\nif (typeof InfiniteGrid === \"object\") {\n SvelteJustifiedInfiniteGrid = InfiniteGrid;\n} else {\n SvelteJustifiedInfiniteGrid = class SvelteJustifiedInfiniteGrid extends InfiniteGrid {\n constructor(options) {\n options.props.GridClass = GridClass;\n super(options);\n }\n }\n}\nexport { SvelteJustifiedInfiniteGrid as JustifiedInfiniteGrid };\n","import InfiniteGrid from \"../InfiniteGrid.js\";\nimport { FrameInfiniteGrid as GridClass } from \"@egjs/infinitegrid\";\n\n\nlet SvelteFrameInfiniteGrid;\n\nif (typeof InfiniteGrid === \"object\") {\n SvelteFrameInfiniteGrid = InfiniteGrid;\n} else {\n SvelteFrameInfiniteGrid = class SvelteFrameInfiniteGrid extends InfiniteGrid {\n constructor(options) {\n options.props.GridClass = GridClass;\n super(options);\n }\n }\n}\nexport { SvelteFrameInfiniteGrid as FrameInfiniteGrid };\n","import InfiniteGrid from \"../InfiniteGrid.js\";\nimport { PackingInfiniteGrid as GridClass } from \"@egjs/infinitegrid\";\n\n\nlet SveltePackingInfiniteGrid;\n\nif (typeof InfiniteGrid === \"object\") {\n SveltePackingInfiniteGrid = InfiniteGrid;\n} else {\n SveltePackingInfiniteGrid = class SveltePackingInfiniteGrid extends InfiniteGrid {\n constructor(options) {\n options.props.GridClass = GridClass;\n super(options);\n }\n }\n}\nexport { SveltePackingInfiniteGrid as PackingInfiniteGrid };\n"],"names":["SVELTE_INFINITEGRID_PROPS","CONTAINER_CLASS_NAME","insert","target","div","anchor","ctx","container","GridClass","$$props","vanillaGrid","dispatch","createEventDispatcher","renderer","Renderer","wrapper","attributes","visibleItems","updateAttributes","props","$$invalidate","defaultOptions","name","forEach","getItemInfos","items","itemBy","item","key","groupBy","groupKey","infoBy","map","i","data","rest","updateVisibleChildren","getRenderingItems","grid","status","usePlaceholder","useFirstRender","useLoading","horizontal","beforeUpdate","onMount","options","INFINITEGRID_EVENTS","eventName","on","e","mountRenderingItems","updated","afterUpdate","propertyTypes","onDestroy","destroy","getInstance","$$value","prototype","InfiniteGrid","INFINITEGRID_METHODS","args","self","result","SvelteMasonryInfiniteGrid","constructor","SvelteJustifiedInfiniteGrid","SvelteFrameInfiniteGrid","SveltePackingInfiniteGrid"],"mappings":"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"}
|
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.10.1
|
|
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.58.0 */
|
|
16
16
|
const get_default_slot_changes_1 = dirty => ({
|
|
17
17
|
visibleItems: dirty & /*visibleItems*/8
|
|
18
18
|
});
|
|
@@ -26,7 +26,7 @@ const get_default_slot_context = ctx => ({
|
|
|
26
26
|
visibleItems: /*visibleItems*/ctx[3]
|
|
27
27
|
});
|
|
28
28
|
|
|
29
|
-
// (
|
|
29
|
+
// (147:2) {:else}
|
|
30
30
|
function create_else_block(ctx) {
|
|
31
31
|
let current;
|
|
32
32
|
const default_slot_template = /*#slots*/ctx[9].default;
|
|
@@ -63,7 +63,7 @@ function create_else_block(ctx) {
|
|
|
63
63
|
};
|
|
64
64
|
}
|
|
65
65
|
|
|
66
|
-
// (
|
|
66
|
+
// (143:2) {#if $$props.container === true}
|
|
67
67
|
function create_if_block(ctx) {
|
|
68
68
|
let div;
|
|
69
69
|
let current;
|
|
@@ -214,11 +214,20 @@ function instance($$self, $$props, $$invalidate) {
|
|
|
214
214
|
const items = $$props.items || [];
|
|
215
215
|
const itemBy = $$props.itemBy || (item => item.key);
|
|
216
216
|
const groupBy = $$props.groupBy || (item => item.groupKey);
|
|
217
|
+
const infoBy = $$props.infoBy || (() => ({}));
|
|
217
218
|
return items.map((item, i) => {
|
|
219
|
+
const {
|
|
220
|
+
data,
|
|
221
|
+
...rest
|
|
222
|
+
} = infoBy(item, i) || {};
|
|
218
223
|
return {
|
|
219
224
|
groupKey: groupBy(item, i),
|
|
220
225
|
key: itemBy(item, i),
|
|
221
|
-
|
|
226
|
+
...rest,
|
|
227
|
+
data: {
|
|
228
|
+
...data,
|
|
229
|
+
...item
|
|
230
|
+
}
|
|
222
231
|
};
|
|
223
232
|
});
|
|
224
233
|
}
|
|
@@ -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 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.js\";\nimport { MasonryInfiniteGrid as GridClass } from \"@egjs/infinitegrid\";\n\n\nlet SvelteMasonryInfiniteGrid;\n\nif (typeof InfiniteGrid === \"object\") {\n SvelteMasonryInfiniteGrid = InfiniteGrid;\n} else {\n SvelteMasonryInfiniteGrid = class SvelteMasonryInfiniteGrid extends InfiniteGrid {\n constructor(options) {\n options.props.GridClass = GridClass;\n super(options);\n }\n }\n}\nexport { SvelteMasonryInfiniteGrid as MasonryInfiniteGrid };\n","import InfiniteGrid from \"../InfiniteGrid.js\";\nimport { JustifiedInfiniteGrid as GridClass } from \"@egjs/infinitegrid\";\n\n\nlet SvelteJustifiedInfiniteGrid;\n\nif (typeof InfiniteGrid === \"object\") {\n SvelteJustifiedInfiniteGrid = InfiniteGrid;\n} else {\n SvelteJustifiedInfiniteGrid = class SvelteJustifiedInfiniteGrid extends InfiniteGrid {\n constructor(options) {\n options.props.GridClass = GridClass;\n super(options);\n }\n }\n}\nexport { SvelteJustifiedInfiniteGrid as JustifiedInfiniteGrid };\n","import InfiniteGrid from \"../InfiniteGrid.js\";\nimport { FrameInfiniteGrid as GridClass } from \"@egjs/infinitegrid\";\n\n\nlet SvelteFrameInfiniteGrid;\n\nif (typeof InfiniteGrid === \"object\") {\n SvelteFrameInfiniteGrid = InfiniteGrid;\n} else {\n SvelteFrameInfiniteGrid = class SvelteFrameInfiniteGrid extends InfiniteGrid {\n constructor(options) {\n options.props.GridClass = GridClass;\n super(options);\n }\n }\n}\nexport { SvelteFrameInfiniteGrid as FrameInfiniteGrid };\n","import InfiniteGrid from \"../InfiniteGrid.js\";\nimport { PackingInfiniteGrid as GridClass } from \"@egjs/infinitegrid\";\n\n\nlet SveltePackingInfiniteGrid;\n\nif (typeof InfiniteGrid === \"object\") {\n SveltePackingInfiniteGrid = InfiniteGrid;\n} else {\n SveltePackingInfiniteGrid = class SveltePackingInfiniteGrid extends InfiniteGrid {\n constructor(options) {\n options.props.GridClass = GridClass;\n super(options);\n }\n }\n}\nexport { SveltePackingInfiniteGrid as PackingInfiniteGrid };\n"],"names":["SVELTE_INFINITEGRID_PROPS","CONTAINER_CLASS_NAME","insert","target","div","anchor","ctx","container","GridClass","$$props","vanillaGrid","dispatch","createEventDispatcher","renderer","Renderer","wrapper","attributes","visibleItems","updateAttributes","props","$$invalidate","defaultOptions","name","forEach","getItemInfos","items","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","$$value","prototype","InfiniteGrid","INFINITEGRID_METHODS","args","self","result","SvelteMasonryInfiniteGrid","constructor","SvelteJustifiedInfiniteGrid","SvelteFrameInfiniteGrid","SveltePackingInfiniteGrid"],"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 const infoBy = $$props.infoBy || (() => ({}));\n\n return items.map((item, i) => {\n const {\n data,\n ...rest\n } = infoBy(item, i) || {};\n return {\n groupKey: groupBy(item, i),\n key: itemBy(item, i),\n ...rest,\n data: {\n ...data,\n ...item,\n },\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.js\";\nimport { MasonryInfiniteGrid as GridClass } from \"@egjs/infinitegrid\";\n\n\nlet SvelteMasonryInfiniteGrid;\n\nif (typeof InfiniteGrid === \"object\") {\n SvelteMasonryInfiniteGrid = InfiniteGrid;\n} else {\n SvelteMasonryInfiniteGrid = class SvelteMasonryInfiniteGrid extends InfiniteGrid {\n constructor(options) {\n options.props.GridClass = GridClass;\n super(options);\n }\n }\n}\nexport { SvelteMasonryInfiniteGrid as MasonryInfiniteGrid };\n","import InfiniteGrid from \"../InfiniteGrid.js\";\nimport { JustifiedInfiniteGrid as GridClass } from \"@egjs/infinitegrid\";\n\n\nlet SvelteJustifiedInfiniteGrid;\n\nif (typeof InfiniteGrid === \"object\") {\n SvelteJustifiedInfiniteGrid = InfiniteGrid;\n} else {\n SvelteJustifiedInfiniteGrid = class SvelteJustifiedInfiniteGrid extends InfiniteGrid {\n constructor(options) {\n options.props.GridClass = GridClass;\n super(options);\n }\n }\n}\nexport { SvelteJustifiedInfiniteGrid as JustifiedInfiniteGrid };\n","import InfiniteGrid from \"../InfiniteGrid.js\";\nimport { FrameInfiniteGrid as GridClass } from \"@egjs/infinitegrid\";\n\n\nlet SvelteFrameInfiniteGrid;\n\nif (typeof InfiniteGrid === \"object\") {\n SvelteFrameInfiniteGrid = InfiniteGrid;\n} else {\n SvelteFrameInfiniteGrid = class SvelteFrameInfiniteGrid extends InfiniteGrid {\n constructor(options) {\n options.props.GridClass = GridClass;\n super(options);\n }\n }\n}\nexport { SvelteFrameInfiniteGrid as FrameInfiniteGrid };\n","import InfiniteGrid from \"../InfiniteGrid.js\";\nimport { PackingInfiniteGrid as GridClass } from \"@egjs/infinitegrid\";\n\n\nlet SveltePackingInfiniteGrid;\n\nif (typeof InfiniteGrid === \"object\") {\n SveltePackingInfiniteGrid = InfiniteGrid;\n} else {\n SveltePackingInfiniteGrid = class SveltePackingInfiniteGrid extends InfiniteGrid {\n constructor(options) {\n options.props.GridClass = GridClass;\n super(options);\n }\n }\n}\nexport { SveltePackingInfiniteGrid as PackingInfiniteGrid };\n"],"names":["SVELTE_INFINITEGRID_PROPS","CONTAINER_CLASS_NAME","insert","target","div","anchor","ctx","container","GridClass","$$props","vanillaGrid","dispatch","createEventDispatcher","renderer","Renderer","wrapper","attributes","visibleItems","updateAttributes","props","$$invalidate","defaultOptions","name","forEach","getItemInfos","items","itemBy","item","key","groupBy","groupKey","infoBy","map","i","data","rest","updateVisibleChildren","getRenderingItems","grid","status","usePlaceholder","useFirstRender","useLoading","horizontal","beforeUpdate","onMount","options","INFINITEGRID_EVENTS","eventName","on","e","mountRenderingItems","updated","afterUpdate","propertyTypes","onDestroy","destroy","getInstance","$$value","prototype","InfiniteGrid","INFINITEGRID_METHODS","args","self","result","SvelteMasonryInfiniteGrid","constructor","SvelteJustifiedInfiniteGrid","SvelteFrameInfiniteGrid","SveltePackingInfiniteGrid"],"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.10.1",
|
|
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",
|
|
@@ -74,6 +74,6 @@
|
|
|
74
74
|
"typescript": "^4.5.0 <4.6.0"
|
|
75
75
|
},
|
|
76
76
|
"dependencies": {
|
|
77
|
-
"@egjs/infinitegrid": "~4.
|
|
77
|
+
"@egjs/infinitegrid": "~4.10.0"
|
|
78
78
|
}
|
|
79
79
|
}
|
package/src/InfiniteGrid.svelte
CHANGED
|
@@ -47,12 +47,21 @@
|
|
|
47
47
|
const items = $$props.items || [];
|
|
48
48
|
const itemBy = $$props.itemBy || ((item) => item.key);
|
|
49
49
|
const groupBy = $$props.groupBy || ((item) => item.groupKey);
|
|
50
|
+
const infoBy = $$props.infoBy || (() => ({}));
|
|
50
51
|
|
|
51
52
|
return items.map((item, i) => {
|
|
53
|
+
const {
|
|
54
|
+
data,
|
|
55
|
+
...rest
|
|
56
|
+
} = infoBy(item, i) || {};
|
|
52
57
|
return {
|
|
53
58
|
groupKey: groupBy(item, i),
|
|
54
59
|
key: itemBy(item, i),
|
|
55
|
-
|
|
60
|
+
...rest,
|
|
61
|
+
data: {
|
|
62
|
+
...data,
|
|
63
|
+
...item,
|
|
64
|
+
},
|
|
56
65
|
};
|
|
57
66
|
});
|
|
58
67
|
}
|
package/src/index.d.ts
CHANGED
|
@@ -11,6 +11,9 @@ export interface SveltInfiniteGridOptions {
|
|
|
11
11
|
usePlaceholder?: boolean;
|
|
12
12
|
useLoading?: boolean;
|
|
13
13
|
status?: InfiniteGridStatus;
|
|
14
|
+
itemBy?: (item: any, index: number) => string | number;
|
|
15
|
+
groupBy?: (item: any, index: number) => string | number;
|
|
16
|
+
infoBy?: (item: any, index: number) => Record<string, any>;
|
|
14
17
|
}
|
|
15
18
|
|
|
16
19
|
export default abstract class InfiniteGrid<T extends InfiniteGridOptions> extends SvelteComponentDev {
|