Important: This documentation covers Yarn 1 (Classic).
For Yarn 2+ docs and migration guide, see yarnpkg.com.

Package detail

@egjs/svelte-infinitegrid

naver155MIT4.12.0TypeScript support: included

A Svelte component that can arrange items infinitely according to the type of grids

svelte, lazyloading, ready, grid, image, video, egjs, masonry, justified, packing, frame, layout

readme

InfiniteGrid Logo
@egjs/svelte-infinitegrid

npm bundle size (scoped) GitHub commit activity npm downloads per month GitHub contributors GitHub

A Svelte component that can arrange items infinitely according to the type of grids

Demo / Documentation / Other components

⚙️ Installation

npm install --save @egjs/svelte-infinitegrid

❗ Changes from @egjs/infinitegrid

  • You can't use methods that manipulates DOM directly
    • e.g., append(), prepend(), insert(), remove()

🏃 Quick Start

<script>
  import { MasonryInfiniteGrid } from "@egjs/svelte-infinitegrid";

  let items = getItems(0, 10);

  function getItems(nextGroupKey, count) {
    const nextItems = [];

    for (let i = 0; i < count; ++i) {
      const nextKey = nextGroupKey * count + i;

      nextItems.push({ groupKey: nextGroupKey, key: nextKey });
    }
    return nextItems;
  }
</script>

<MasonryInfiniteGrid
  class="container"
  gap={5}
  {items}
  on:requestAppend={({ detail: e }) => {
    const nextGroupKey = (+e.groupKey || 0) + 1;

    items = [...items, ...getItems(nextGroupKey, 10)];
  }}
  let:visibleItems
>
  {#each visibleItems as item (item.key)}
    <div class="item">
      ...
    </div>
  {/each}
</MasonryInfiniteGrid>

🙌 Contributing

See CONTRIBUTING.md

📝 Feedback

Please file an Issue with label "Svelte".

📜 License

egjs-infinitegrid is released under the MIT license.

Copyright (c) 2015-present NAVER Corp.
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.

      

changelog

Change Log

All notable changes to this project will be documented in this file. See Conventional Commits for commit guidelines.

4.11.1 (2024-02-07)

:sparkles: Packages

  • @egjs/infinitegrid 4.11.1
  • @egjs/react-infinitegrid 4.11.1
  • @egjs/svelte-infinitegrid 4.11.1
  • @egjs/vue-infinitegrid 4.11.1
  • @egjs/vue3-infinitegrid 4.11.1
  • @egjs/ngx-infinitegrid 4.11.1

:rocket: New Features

  • @egjs/infinitegrid
    • add contentAlign prop (#558) (559a288)

:bug: Bug Fix

  • All
    • fix observe order (#563) (e5bfcc4)

:mega: Other

  • All
    • update packages versions (13597dd)

4.10.1 (2023-08-04)

:sparkles: Packages

  • @egjs/infinitegrid 4.10.1
  • @egjs/react-infinitegrid 4.10.1
  • @egjs/svelte-infinitegrid 4.10.2
  • @egjs/vue-infinitegrid 4.10.1
  • @egjs/vue3-infinitegrid 4.10.1
  • @egjs/ngx-infinitegrid 4.10.1

:bug: Bug Fix

  • @egjs/infinitegrid
  • @egjs/svelte-infinitegrid

:mega: Other

  • All
    • update packages versions (2222f2f)

4.10.0 (2023-05-26)

:sparkles: Packages

  • @egjs/infinitegrid 4.10.0
  • @egjs/react-infinitegrid 4.10.0
  • @egjs/svelte-infinitegrid 4.10.0
  • @egjs/vue-infinitegrid 4.10.0
  • @egjs/vue3-infinitegrid 4.10.0
  • @egjs/ngx-infinitegrid 4.10.0

:rocket: New Features

  • All
    • add infoBy prop for frameworks (#538) (6fd5c0b)
  • @egjs/ngx-infinitegrid
    • upgrade to Angular 15 and enable partial compilation (#527) (2f05376)

:bug: Bug Fix

  • @egjs/ngx-infinitegrid
    • fix zone inside run #535 (#537) (a2d9dd5)

:mega: Other

  • All
    • update packages versions (dce9a8c)

4.9.0 (2023-03-17)

:sparkles: Packages

  • @egjs/infinitegrid 4.9.0
  • @egjs/react-infinitegrid 4.9.0
  • @egjs/svelte-infinitegrid 4.9.0
  • @egjs/vue-infinitegrid 4.9.0
  • @egjs/vue3-infinitegrid 4.9.0
  • @egjs/ngx-infinitegrid 4.9.0

:rocket: New Features

  • @egjs/infinitegrid
    • support size-group, not-equal-size attribute (#533) (f693db9)

:bug: Bug Fix

  • @egjs/svelte-infinitegrid
    • fix svelte module naming (#529) (5e3d9fe)
  • @egjs/infinitegrid
    • fix the groupKey of the inserted item in own group (#531) (a798406)

:mega: Other

  • All
    • update packages versions (f628845)

4.8.1 (2023-01-27)

:sparkles: Packages

  • @egjs/infinitegrid 4.8.1
  • @egjs/react-infinitegrid 4.8.1
  • @egjs/svelte-infinitegrid 4.8.1
  • @egjs/vue-infinitegrid 4.8.1
  • @egjs/vue3-infinitegrid 4.8.1
  • @egjs/ngx-infinitegrid 4.8.1

:rocket: New Features

  • All
    • update @egjs/grid module (081acd5)

:bug: Bug Fix

  • @egjs/vue3-infinitegrid, @egjs/vue-infinitegrid
    • support vue 3 types (#523) (1e09868)
  • @egjs/infinitegrid
    • fix changed groupKey (#526) (6db0bff)
  • @egjs/ngx-infinitegrid
    • ngx-infinitegrid: re-arrange peer deps and call next on the destroy subject (#520) (0410c76)
    • ngx-infinitegrid: reduce change detection cycles and teardown event listeners once the view is removed (#518) (ee30a5b)

:memo: Documentation

:mega: Other

  • All
    • update packages versions (191e57f)

4.7.1 (2022-09-08)

:sparkles: Packages

  • @egjs/infinitegrid 4.7.1
  • @egjs/react-infinitegrid 4.7.1
  • @egjs/svelte-infinitegrid 4.7.1
  • @egjs/vue-infinitegrid 4.7.1
  • @egjs/vue3-infinitegrid 4.7.1
  • @egjs/ngx-infinitegrid 4.7.1

:rocket: New Features

  • @egjs/vue-infinitegrid, @egjs/svelte-infinitegrid, @egjs/react-infinitegrid, @egjs/ngx-infinitegrid
  • @egjs/react-infinitegrid, @egjs/infinitegrid
    • add includePlaceholders param (#484) (39852c3)
  • @egjs/ngx-infinitegrid, @egjs/infinitegrid
    • add scrollContainer option (#511) (78043ad)
  • @egjs/svelte-infinitegrid, @egjs/ngx-infinitegrid
    • support ResizeObserver#464 (#470) (4400701)
  • @egjs/infinitegrid
    • add insertByGroupIndex method (#489) (87a06ef)
    • add nextGroupKeys property in request events (#493) (b0260ad)
  • @egjs/react-infinitegrid
  • @egjs/ngx-infinitegrid
  • @egjs/svelte-infinitegrid
  • @egjs/vue-infinitegrid
    • init vue-infinitegrid (127e684)
    • init vue-infinitegrid layouts (44dccbd)
    • use named slot as loading element (64db738)
  • Other
    • add observeChildren option (#481) (c821b4c)
    • add percentage option #121 (#367) (addffc1)
    • add removeByIndex method (#291) (1c37ecf)
    • add resizeDebounce, maxResizeDebounce (#361) (8dc5732)
    • add row option to JustifiedLayout (#383) (9e9ff2c)
    • add useOffset option (#412) (78d36c9)
    • all: add getStatus/setStatus (d007ebb)
    • all: add getStatus/setStatus (6008e3d)
    • all: add getStatus/setStatus (d78d000)
    • all: add isTrusted properties (78abe2d), closes #60
    • all: support IE8 (0557460)
    • DOMRanderer: update size (a008f34)
    • DOMRenderer: add orgSize property (62b7c9c)
    • Infinite: add change event (4e40bd7)
    • Infinite: add change event (d26cb98)
    • Infinite: add getCursor method (8febfa5)
    • Infinite: add getGroupKeys (f5c8bf4)
    • Infinite: add getItems (d8e6207)
    • Infinite: add infinite (459c5bf)
    • InfiniteGrid,eventHandler: add isTrusted property in event (#39) (403464b), closes #33
    • InfiniteGrid: add event parameter 'isScroll' (59b5932)
    • InfiniteGrid: add getItem, updateItem, updateItems method (#248) (3f92113)
    • InfiniteGrid: add ImageError event (#89) (0b4873f)
    • InfiniteGrid: add infinite module (408fdf4)
    • InfiniteGrid: add isConstantSize option (#198) (a9cfe40)
    • InfiniteGrid: add itemSelector option (#17) (b17fdd3), closes #2
    • InfiniteGrid: add loading bar (a77751e)
    • InfiniteGrid: add loading events (6bcae6a)
    • InfiniteGrid: add moveTo method (77bcb94)
    • InfiniteGrid: add moveTo method (18a20f9)
    • InfiniteGrid: add transitionDuration option (#199) (646e87d), closes #133
    • InfiniteGrid: add version in InfiniteGrid module (93adb6f)
    • InfiniteGrid: change direction option to horizontal (04c6181)
    • InfiniteGrid: make infinitegrid (f27a7e8)
    • InfiniteGrid: save/restore scroll position in get/setStatus (#38) (1576c44), closes #36
    • infiniteGrid: support (1ad6b3b)
    • InfiniteGrid: Support layout when items already have contained (#59) (3d9f347), closes #56
    • Infinite: separate infinite module (2824bd3)
    • Infnite: add useRecyle (b02245c)
    • ItemManager: add indexOf method (c72eeee)
    • Layout: add common constant ALIGN (dda0ea6)
    • Layout: add FacebookLayout (818f131)
    • Layout: add FacebookLayout (5323c6b)
    • Layout: add FrameLayout (a7e5708)
    • Layout: add FrameLayout (3c4cc02)
    • Layout: add FrameLayout (7b18694)
    • Layout: add FrameLayout (926bd4a)
    • Layout: add FrameLayout (#51) (f493e48)
    • Layout: add FrameLayout (#51) (966fd02)
    • Layout: add GoogleLayout (e3b2d4b)
    • Layout: add GoogleLayout (4a31b7a)
    • Layout: add GoogleLayout on outline (2410fb0)
    • Layout: add GoogleLayout on outline (d231f79)
    • Layout: add GridLayout (f7de0a8)
    • Layout: add GridLayout (7e7a59a)
    • Layout: add GridLayout (#49) (e80b7d9)
    • Layout: add index to group's outline (fcc7c3b)
    • Layout: add index to group's outline (be738d8)
    • Layout: add JustifiedLayout (#44) (8110fe6)
    • Layout: add LightBoxLayout (0207af9)
    • Layout: add LightBoxLayout (4ac2ab8)
    • Layout: add PackingLayout (f6d42c7)
    • Layout: add PackingLayout (48ea293)
    • Layout: add prefix underbar to private variable (fa7cb67)
    • LayoutManager: add LayoutManager module and fix Infinite scroll (#197) (e410c6e), closes #135 #173 #185 #186 #192
    • Parallax: add Parallax (ba67c4c)
    • react-infinitegrid: add react component (2024a28), closes #67
    • react-layout: add size percentage option and fix no children error (2e3a66b), closes #163 #166
    • react: add option isEqualSize (caea50a)
    • react: add react-layout package (c1e2d4c)
    • react: add react-layout README (cfeeef4)
    • react: support react component react-layout (#103) (063714b), closes #101
    • support native lazy loading #354 (#368) (8fca094)
    • util: support eventListenerOptions (6e1517c)
    • watcher: add Watcher (bbf1a55)

:bug: Bug Fix

  • @egjs/vue-infinitegrid, @egjs/svelte-infinitegrid, @egjs/react-infinitegrid, @egjs/ngx-infinitegrid
    • fix error in multiple groups (#387) (02df50f)
    • fix setStatus method's default value (#373) (5f8f9a2)
  • @egjs/react-infinitegrid, @egjs/infinitegrid
  • @egjs/vue3-infinitegrid, @egjs/vue-infinitegrid
    • fix scopedSlots (#448) (8e940b5)
    • fix vue container #422 (#423) (61be75e)
  • @egjs/vue-infinitegrid, @egjs/react-infinitegrid
    • fixed the loading bar not rendering initially (#314) (03ec2a1)
  • @egjs/vue-infinitegrid
    • add "name" property on loading component (d2ab1f7)
    • add missing layoutOptions (84195d4)
    • fix that loading element is not render (#366) (d48508f)
    • rendering issue due to loading bar (18da1cb)
  • @egjs/ngx-infinitegrid
    • add defense code #443 (#446) (31c5a7f)
    • fix container for isOverflowScroll (#327) (6062c69)
    • support SSR in angular (#428) (60151d8)
  • @egjs/infinitegrid
    • add files field to package.json (23e37d5)
    • fit groups' outlines for start direction (#502) (51308c0)
    • fix contentError event returns an invalid item #482 (f865dec)
    • fix items to be removed (#500) (8317f39)
    • fix mounted setting (#497) (6d4a281)
    • fix outline calculation (#498) (0446dd4)
    • fix placholder key (#514) (af62a98)
  • @egjs/react-infinitegrid
    • browser: remove global.window for node.js (#233) (b9ae32a), closes #232
    • call next function on componentDidUpdate (#360) (5020356)
    • change findDOMNode to ref #362 (#363) (0bd15ab)
    • fix loading element for first mount #340 (#342) (9f6ac1a)
    • fix loading element visible (#286) (4848d68)
    • fix remove group's last item (#290) (fcf331b)
    • fix strict mode (#476) (64ac1e3)
    • react-infinitegrid: fix layout problem during first rendering (#262) (240be19)
    • react-infinitegrid: fix loading bar (#189) (aefd5cd), closes #170 #188
    • react-infinitegrid: fix no reset data and render first data issue (#181) (2170d6d), closes #179 #180
    • react-infinitegrid: fix package (ad422e5)
    • react-infinitegrid: fix refresh group (#273) (24518ae)
    • react-infinitegrid: fix refresh groups issue (8b9a679)
    • react-infinitegrid: fix setStatus for lazy setStatus (#254) (72042fb)
    • react-infinitegrid: fix status error (#191) (b8fe21b), closes #190
    • react-infinitegrid: fix updateItems for no item (#276) (6891e17)
    • react-infinitegrid: support tree shaking (d02e1b9)
    • update react-infinitegrid (4b4b5f5)
    • update react-infinitegrid (ffd117d)
  • @egjs/svelte-infinitegrid
    • change afterUpdate lifecycle (#304) (4851854)
    • fix setStatus' getter (#377) (16fa80c)
    • fix svelte types (#460) (cace348)
    • fix svelte version issue (#315) (bee5b3d)
    • fix svelte-infinitegrid's typo (6fe14d5)
    • fix types (#457) (f402d62)
    • fix types (#510) (96adfd7)
    • support svelte SSR (#430) (1518182)
  • @egjs/vue3-infinitegrid
  • Other
    • all: add keywords, reduce size, export modules (#137) (c846787), closes #130 #122 #136 #132
    • all: remove Object.assing (ca4e059)
    • browser: fix browser bug (a9441a2)
    • caculate itemSize for no column, no itemSize (#311) (5564e97)
    • change cursor before calling recycle (#319) (0732f66)
    • change cursors in first layout (#380) (7363bf2)
    • component: support IE8 (b321785)
    • connect the visible and invisible areas (#452) (2f30151)
    • declaration: fix InfiniteGrid types (d8d3ffa)
    • demo: fix arrow syntax (b87289a)
    • demo: fix innerHeight for IE (9970066)
    • demo: image url (bc20f2c)
    • DOMRenderer: apply QA (2a620dc)
    • DOMRenderer: defense browser for webkit below 537 (177600b)
    • DOMRenderer: fix constructor options's initialize (eafb8c9)
    • DOMRenderer: fix offsetTop for isOverflowScroll (21bda49)
    • DOMRenderer: fix resize for display: none (#278) (44df9e6)
    • DOMRenderer: fix setTransition (b6d1036)
    • DOMRenderer: prevent adding duplicate element (9fafb21)
    • DOMRenderer: remove link (43f9d35)
    • DOMRenderer: remove scrollBy method (345c210)
    • DOMRenderer: remove unnecessary method (c8c83cf)
    • DOMRenderer: restore style after destroy (4b54f68), closes #73
    • DOMRenderer: support cross browser (08525e5)
    • DOMRenderer: treat no parentNode (59c6ec2)
    • eventHandler: fix resize event when isOverflowScroll:true (#15) (708cf33)
    • fix attribute name in SquareLayout (#309) (3afa4ff)
    • fix bug that el is null (#284) (9903e10)
    • fix changed data (#392) (d1d2040)
    • fix container's height (#426) (719b8ee)
    • fix destroy method (#404) (42abbbf)
    • fix first rendering items (#437) (21300ac)
    • fix infinitegrid dependency (#323) (246f9d8)
    • fix item position not set with row option (#385) (9b78c95)
    • fix prepending first item's position (#338) (553bd3c)
    • fix random key, groupkey (#438) (cfe22d6)
    • fix SquareLayout's outline caculation (#339) (7fbb582)
    • fix status recovery (#445) (b93e154), closes #444
    • fix to change infinite viewSize after resize (#401) (7588775)
    • FrameLayout: fix layout function for prepended items (58a5c61)
    • GridLayout: remove fill method (988f7e6)
    • if you have data to prepend, request it (#281) (f284f15)
    • ImageLoaded: add asynchronous code (a8a8682)
    • ImageLoaded: add logic to check image element (8a19363)
    • ImageLoaded: fix that itemIndex is undefined (00fa6fd)
    • InfinieGrid: fix bug for resize (#53) (efd111c), closes #52
    • Infinite: add itemManager method (53f11c8)
    • Infinite: fix Infinite recycle point (e5b8af3)
    • Infinite: fix infinite scroll (fed913e)
    • infinite: fix recycle bug (d543ae4)
    • infinite: fix recycle bug (4c67af4)
    • Infinite: fix recycle visible area (f174f26)
    • infinitegrid.d: fix type definition (4b94331)
    • InfiniteGrid: add export infinite (c9361cd)
    • InfiniteGrid: apply PR (46ff8da)
    • InfiniteGrid: apply PR (eb6f257)
    • InfiniteGrid: apply QA (481eb20)
    • InfiniteGrid: apply QA (fa686ab)
    • InfiniteGrid: apply useRecycle options (f3c4c17)
    • InfiniteGrid: caculate outline after image complete (#92) (c62e519)
    • InfiniteGrid: change isProcessing (eef1f50)
    • InfiniteGrid: change pos (2dfdf3b)
    • InfiniteGrid: convert from JavaScript to TypeScript Project (#257) (21ec226)
    • InfiniteGrid: fix attached scroll and no request append event (#229) (e8e1f42), closes #227 #228
    • InfiniteGrid: fix change event (07738c6)
    • InfiniteGrid: fix Circular reference for getstatus (37cbff2)
    • InfiniteGrid: fix getCursor, setCursor and append/prepend event parameter (#203) (99f70db)
    • InfiniteGrid: fix getItems bug (dba0d93)
    • InfiniteGrid: fix innerWidth with window (e664574)
    • InfiniteGrid: fix isProcessing to procesingStatus (84b3f1c)
    • InfiniteGrid: fix isProcessing to procesingStatus (#32) (61b8a5a)
    • InfiniteGrid: fix items' is empty (a7c7637)
    • InfiniteGrid: fix layoutComplete to reset position (ca4e2b0)
    • InfiniteGrid: fix moveto and recycle bug (33b6b1d)
    • InfiniteGrid: fix pos (f917078)
    • InfiniteGrid: fix processingStatus in getStatus (#159) (a8015e6), closes #156 #157
    • InfiniteGrid: fix recycle structure (#34) (0df57ea)
    • InfiniteGrid: fix recyle structure (17f220d)
    • InfiniteGrid: fix remove method (59ddabd)
    • InfiniteGrid: fix resize, itemsize, outline bug (#153) (e354355), closes #144 #151 #152
    • InfiniteGrid: fix scroll error in moveTo method (#125) (950e906)
    • InfiniteGrid: fix scroll issue for IOS (6adf016)
    • InfiniteGrid: fix setStatus for DOM Reverse issue (#226) (decc540), closes #225
    • InfiniteGrid: make Rollup config (#244) (4cfe585)
    • InfiniteGrid: move item index (018b4d8)
    • InfiniteGrid: pass ImageLoaded if isEqualSize is true (#86) (96802ac)
    • InfiniteGrid: prevent code for prepend after append (7400662)
    • InfiniteGrid: prevent prepend when appending (9e58dc2)
    • InfiniteGrid: remove outline data for isRelayout (c9fac32)
    • InfiniteGrid: remove unnecessary method (#94) (3d6d78c), closes #93
    • infinitegrid: support IE8 (79a1854)
    • InfiniteGrid: support tree shaking (#215) (7710242), closes #214
    • InfiniteGrid: support type definition for Layouts and others. (#124) (8ac8947)
    • InfiniteGrid: the first render does not absolute position. (#235) (b8e41bf), closes #234
    • Infinite: remove startIndex, endIndex, horizontal (dc9df44)
    • Infinite: treat unknown outline (69ec34d)
    • ItemManager: add IGNORE_CLASSNAME for loadingBar (d381877)
    • ItemManager: disconnect link with renderer (1204fb6)
    • ItemManager: fix getStatus (ef0c356)
    • ItemManager: fix that the group without items are not deleted. (#261) (1b29952)
    • JustifiedLayout: fix bug for max node (d914cde)
    • JustifiedLayout: fix bug for min node (1304c15)
    • JustifiedLayout: fix node bug (7a2d8e9)
    • JustifiedLayout: fix size error (4b31e50), closes #164
    • Layout: add prepending code (b5638e9)
    • Layout: add prepending code (a82f033)
    • Layout: fix bug for empty array (30fd684)
    • Layout: fix bug for empty array (5e617d8)
    • Layout: fix bug for empty array (8f2472d)
    • Layout: fix bug for empty array (e7aa8c3)
    • Layout: fix bug for empty array. (9b636d2)
    • Layout: fix eslint error (c7f253c)
    • Layout: fix README (260827e)
    • Layout: fix README (3fd88da)
    • Layout: fix viewport (f03a971)
    • Layout: fix viewport (0980afc)
    • layoutManager: fix bug status (5da786f)
    • layoutManager: fix getTopItem (c3764ce)
    • LayoutManager: fix resize issue for isEqualSize (#222) (e33a6d1), closes #221
    • Layout: move lib file (3a671ea)
    • Layout: move lib file (c4b8663)
    • Layout: remove prefix underbar and rename viewport to size (cf82acd)
    • Layout: remove prefix underbar and rename viewport to size (f35e4af)
    • Layout: support IE11 (4bc83d9)
    • PackingLayout: remove get/set property (97187aa)
    • Parallax: support Parallax type (#268) (350e1b3), closes #267
    • Parallax: support webkit-transform (9a03c6a)
    • react-layout: fix children and componentWillUnmoount bug (72b7990), closes #144
    • react-layout: fix componentWillUnmount error (#139, #140) (76b1eb2), closes #138
    • react-layout: fix module error and React 16 error (#127) (ab581f1), closes #126
    • react-layout: fix reset method (#178) (b3fe6e7), closes #177
    • react-layout: fix setState bug (#160) (31221b5), closes #155 #158
    • react: apply review (a84059e)
    • react: fix README (5213a17)
    • react: fix shouldComponentUpdate (3164477)
    • read children's groupKey (#320) (e97ebd0)
    • README: fix README (d51e8d9)
    • scripts: fix auto caculate size script (a5c7601)
    • SquareLayout: apply QA (5026552)
    • support event types (#358) (d8cadad)
    • utils: add defence code (64b2e47)
    • utils: fix decimal point error (#176) (f89debf), closes #169 #175
    • utils: fix jQuery type error (#224) (8e393a0)
    • utils: support IE8 (394ed3d)
    • Watcher: add scrollBy method (3641a31)
    • Watcher: fix init order (#231) (f75590d), closes #230
    • Watcher: fix resize method (853f54a)
    • Watcher: fix watcher offset (#194) (4a1b694), closes #193
    • Watcher: if prevPos is null, occur append event (dbb0c1b)
    • Watcher: recycle issue (4f97742)
    • Watcher: remove link with renderer (af25a69)
    • Watcher: when resizing prevPos is weired (069b7d9)
    • Watcher: workaround for IOS (0fe6220)

:memo: Documentation

  • @egjs/vue-infinitegrid, @egjs/svelte-infinitegrid, @egjs/react-infinitegrid, @egjs/ngx-infinitegrid
  • @egjs/vue3-infinitegrid, @egjs/vue-infinitegrid
    • add vue2/3 readme link (#421) (dfe547e)
  • @egjs/vue-infinitegrid
    • change copyright year (fa925ec)
    • change Vue demo link (942a12f)
    • fix startLoading & endLoading usage (afc032c)
    • typos at vue-infinitegrid README (233370f)
    • update Demo dir link (24f56ea)
  • @egjs/react-infinitegrid
    • fix misnamed function parameter (#378) (3762702)
  • @egjs/infinitegrid
  • Other

:sparkles: Styling

  • @egjs/vue-infinitegrid
    • add missing editorconfig (fa8c2fc)
  • Other
    • InfiniteGrid: fix variable name vertical to horizontal (3ac31d1)
    • Layout: remove useless variable (f477a04)
    • Layout: remove useless variable (5b39ea3)
    • Layout: remove useless variable (9ab53a5)
    • Layout: remove useless variable (13deaa3)

:house: Code Refactoring

  • @egjs/react-infinitegrid, @egjs/ngx-infinitegrid, @egjs/infinitegrid
  • Other
    • all: complete refactoring (e20aec9)
    • all: fix env && remove infinite (e421314)
    • all: refactoring infiniteGrid (4697c14)
    • all: refactoring WIP (1dbca34)
    • all: refactoring WIP (6de6fc9)
    • Apply infinitegrid to the framework (#295) (1ffcc43)
    • infinite: refactor modules (WIP) (ff28a0e)
    • Layout: fixed size (6821e2c)

:mega: Other

  • All
  • @egjs/vue3-infinitegrid, @egjs/vue-infinitegrid, @egjs/svelte-infinitegrid, @egjs/react-infinitegrid, @egjs/ngx-infinitegrid
  • @egjs/vue-infinitegrid, @egjs/svelte-infinitegrid, @egjs/react-infinitegrid, @egjs/ngx-infinitegrid
  • @egjs/vue3-infinitegrid, @egjs/vue-infinitegrid, @egjs/svelte-infinitegrid, @egjs/react-infinitegrid
  • @egjs/infinitegrid
  • @egjs/react-infinitegrid
    • react-infinitegrid: update infinitegrid version (c9357b2)
    • remove browser field (#486) (14b063c)
  • @egjs/vue-infinitegrid
  • Other

4.7.0 (2022-09-02)

:sparkles: Packages

  • @egjs/infinitegrid 4.7.0
  • @egjs/react-infinitegrid 4.7.0
  • @egjs/svelte-infinitegrid 4.7.0
  • @egjs/vue-infinitegrid 4.7.0
  • @egjs/vue3-infinitegrid 4.7.0
  • @egjs/ngx-infinitegrid 4.7.0

:rocket: New Features

  • @egjs/ngx-infinitegrid, @egjs/infinitegrid
    • add scrollContainer option (#511) (78043ad)

:bug: Bug Fix

  • @egjs/react-infinitegrid, @egjs/infinitegrid
  • @egjs/infinitegrid
    • fix placholder key (#514) (af62a98)
  • @egjs/svelte-infinitegrid

:mega: Other

  • All
    • update packages versions (e438c00)

4.6.0 (2022-07-26)

:sparkles: Packages

  • @egjs/infinitegrid 4.6.0
  • @egjs/react-infinitegrid 4.6.0
  • @egjs/svelte-infinitegrid 4.6.0
  • @egjs/vue-infinitegrid 4.6.0
  • @egjs/vue3-infinitegrid 4.6.0
  • @egjs/ngx-infinitegrid 4.6.0

:bug: Bug Fix

  • @egjs/infinitegrid
    • fit groups' outlines for start direction (#502) (51308c0)
    • fix items to be removed (#500) (8317f39)
    • fix mounted setting (#497) (6d4a281)
    • fix outline calculation (#498) (0446dd4)

:mega: Other

  • All
    • update packages versions (d4aa615)

4.5.0 (2022-06-23)

:sparkles: Packages

  • @egjs/infinitegrid 4.5.0
  • @egjs/react-infinitegrid 4.5.0
  • @egjs/svelte-infinitegrid 4.5.0
  • @egjs/vue-infinitegrid 4.5.0
  • @egjs/vue3-infinitegrid 4.5.0
  • @egjs/ngx-infinitegrid 4.5.0

:rocket: New Features

  • @egjs/infinitegrid
    • add insertByGroupIndex method (#489) (87a06ef)
    • add nextGroupKeys property in request events (#493) (b0260ad)

:mega: Other

  • All
    • update packages versions (171bb74)
  • @egjs/react-infinitegrid
    • remove browser field (#486) (14b063c)

4.4.0 (2022-05-25)

:sparkles: Packages

  • @egjs/infinitegrid 4.4.0
  • @egjs/react-infinitegrid 4.4.0
  • @egjs/svelte-infinitegrid 4.4.0
  • @egjs/vue-infinitegrid 4.4.0
  • @egjs/vue3-infinitegrid 4.4.0
  • @egjs/ngx-infinitegrid 4.4.0

:rocket: New Features

  • @egjs/react-infinitegrid, @egjs/infinitegrid
    • add includePlaceholders param (#484) (39852c3)

:mega: Other

  • All
    • update packages versions (29bdea0)

4.3.1 (2022-05-17)

:sparkles: Packages

  • @egjs/infinitegrid 4.3.1
  • @egjs/react-infinitegrid 4.3.1
  • @egjs/svelte-infinitegrid 4.3.1
  • @egjs/vue-infinitegrid 4.3.1
  • @egjs/vue3-infinitegrid 4.3.1
  • @egjs/ngx-infinitegrid 4.3.1

:bug: Bug Fix

  • @egjs/infinitegrid
    • fix contentError event returns an invalid item #482 (f865dec)

:memo: Documentation

  • @egjs/infinitegrid
  • Other

:mega: Other

  • @egjs/vue3-infinitegrid, @egjs/vue-infinitegrid, @egjs/svelte-infinitegrid, @egjs/react-infinitegrid, @egjs/ngx-infinitegrid
    • update packages versions (47f9348)
  • @egjs/infinitegrid

4.3.0 (2022-05-13)

:sparkles: Packages

  • @egjs/infinitegrid 4.3.0
  • @egjs/react-infinitegrid 4.3.0
  • @egjs/svelte-infinitegrid 4.3.0
  • @egjs/vue-infinitegrid 4.3.0
  • @egjs/vue3-infinitegrid 4.3.0
  • @egjs/ngx-infinitegrid 4.3.0

:rocket: New Features

  • add observeChildren option (#481) (c821b4c)

:bug: Bug Fix

  • @egjs/react-infinitegrid

:house: Code Refactoring

  • @egjs/react-infinitegrid, @egjs/ngx-infinitegrid, @egjs/infinitegrid

:mega: Other

  • @egjs/vue3-infinitegrid, @egjs/vue-infinitegrid, @egjs/svelte-infinitegrid, @egjs/react-infinitegrid, @egjs/ngx-infinitegrid
    • update packages versions (bc07e37)
  • @egjs/infinitegrid