react-virtual-renderer 1.1.3 → 1.1.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/App.d.ts.map +1 -1
- package/dist/App.js +65 -3
- package/dist/App.js.map +1 -1
- package/dist/components/VirtualGrid.d.ts +30 -0
- package/dist/components/VirtualGrid.d.ts.map +1 -1
- package/dist/components/VirtualGrid.js +147 -117
- package/dist/components/VirtualGrid.js.map +1 -1
- package/dist/components/VirtualList.d.ts +0 -4
- package/dist/components/VirtualList.d.ts.map +1 -1
- package/dist/components/VirtualList.js +76 -86
- package/dist/components/VirtualList.js.map +1 -1
- package/dist/components/VirtualLiveRegion.d.ts +12 -0
- package/dist/components/VirtualLiveRegion.d.ts.map +1 -0
- package/dist/components/VirtualLiveRegion.js +27 -0
- package/dist/components/VirtualLiveRegion.js.map +1 -0
- package/dist/core/FenwickTree.d.ts +47 -0
- package/dist/core/FenwickTree.d.ts.map +1 -0
- package/dist/core/FenwickTree.js +206 -0
- package/dist/core/FenwickTree.js.map +1 -0
- package/dist/core/GridLayoutEngine.d.ts +64 -0
- package/dist/core/GridLayoutEngine.d.ts.map +1 -0
- package/dist/core/GridLayoutEngine.js +153 -0
- package/dist/core/GridLayoutEngine.js.map +1 -0
- package/dist/core/GroupedListEngine.d.ts +21 -0
- package/dist/core/GroupedListEngine.d.ts.map +1 -0
- package/dist/core/GroupedListEngine.js +22 -0
- package/dist/core/GroupedListEngine.js.map +1 -0
- package/dist/core/ListController.d.ts +31 -0
- package/dist/core/ListController.d.ts.map +1 -0
- package/dist/core/ListController.js +71 -0
- package/dist/core/ListController.js.map +1 -0
- package/dist/core/MeasurementSystem.d.ts +1 -1
- package/dist/core/MeasurementSystem.d.ts.map +1 -1
- package/dist/core/MeasurementSystem.js +22 -10
- package/dist/core/MeasurementSystem.js.map +1 -1
- package/dist/core/VirtualizationEngine.d.ts +24 -13
- package/dist/core/VirtualizationEngine.d.ts.map +1 -1
- package/dist/core/VirtualizationEngine.js +50 -87
- package/dist/core/VirtualizationEngine.js.map +1 -1
- package/dist/examples/DynamicHeightLists.d.ts +2 -0
- package/dist/examples/DynamicHeightLists.d.ts.map +1 -0
- package/dist/examples/DynamicHeightLists.js +42 -0
- package/dist/examples/DynamicHeightLists.js.map +1 -0
- package/dist/examples/FixedGrid.d.ts +2 -0
- package/dist/examples/FixedGrid.d.ts.map +1 -0
- package/dist/examples/FixedGrid.js +40 -0
- package/dist/examples/FixedGrid.js.map +1 -0
- package/dist/examples/GroupedContactList.d.ts +2 -0
- package/dist/examples/GroupedContactList.d.ts.map +1 -0
- package/dist/examples/GroupedContactList.js +20 -0
- package/dist/examples/GroupedContactList.js.map +1 -0
- package/dist/examples/InfiniteScrollLists.d.ts +2 -0
- package/dist/examples/InfiniteScrollLists.d.ts.map +1 -0
- package/dist/examples/InfiniteScrollLists.js +93 -0
- package/dist/examples/InfiniteScrollLists.js.map +1 -0
- package/dist/examples/MasonaryGrid.d.ts +2 -0
- package/dist/examples/MasonaryGrid.d.ts.map +1 -0
- package/dist/examples/MasonaryGrid.js +36 -0
- package/dist/examples/MasonaryGrid.js.map +1 -0
- package/dist/examples/PerfHarness.d.ts +2 -0
- package/dist/examples/PerfHarness.d.ts.map +1 -0
- package/dist/examples/PerfHarness.js +131 -0
- package/dist/examples/PerfHarness.js.map +1 -0
- package/dist/hooks/useBidirectionalInfiniteScroll.d.ts +32 -0
- package/dist/hooks/useBidirectionalInfiniteScroll.d.ts.map +1 -0
- package/dist/hooks/useBidirectionalInfiniteScroll.js +89 -0
- package/dist/hooks/useBidirectionalInfiniteScroll.js.map +1 -0
- package/dist/hooks/useInfiniteScroll.d.ts +36 -12
- package/dist/hooks/useInfiniteScroll.d.ts.map +1 -1
- package/dist/hooks/useInfiniteScroll.js +46 -45
- package/dist/hooks/useInfiniteScroll.js.map +1 -1
- package/dist/hooks/useRevoingTabIndex.d.ts +11 -0
- package/dist/hooks/useRevoingTabIndex.d.ts.map +1 -0
- package/dist/hooks/useRevoingTabIndex.js +28 -0
- package/dist/hooks/useRevoingTabIndex.js.map +1 -0
- package/dist/hooks/useVirtualAllyProps.d.ts +23 -0
- package/dist/hooks/useVirtualAllyProps.d.ts.map +1 -0
- package/dist/hooks/useVirtualAllyProps.js +25 -0
- package/dist/hooks/useVirtualAllyProps.js.map +1 -0
- package/dist/hooks/useVirtualList.d.ts +2 -0
- package/dist/hooks/useVirtualList.d.ts.map +1 -1
- package/dist/hooks/useVirtualList.js +12 -4
- package/dist/hooks/useVirtualList.js.map +1 -1
- package/dist/index.cjs.js +1 -1
- package/dist/index.cjs.js.map +1 -1
- package/dist/index.esm.js +1 -1
- package/dist/index.esm.js.map +1 -1
- package/dist/main.js +4 -4
- package/dist/main.js.map +1 -1
- package/dist/types.d.ts +10 -0
- package/dist/types.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -212,11 +212,11 @@ export function useVirtualList(params) {
|
|
|
212
212
|
* preserving original vertical-only behavior exactly.
|
|
213
213
|
*/
|
|
214
214
|
useEffect(() => {
|
|
215
|
-
const container = containerRef.current;
|
|
215
|
+
// const container = containerRef.current;
|
|
216
216
|
const measurement = measurementRef.current;
|
|
217
|
-
if (container) {
|
|
218
|
-
|
|
219
|
-
}
|
|
217
|
+
// if (container) {
|
|
218
|
+
// measurement.startMeasuring(container, handleItemMeasure);
|
|
219
|
+
// }
|
|
220
220
|
return () => {
|
|
221
221
|
measurement.stopMeasuring();
|
|
222
222
|
};
|
|
@@ -335,6 +335,12 @@ export function useVirtualList(params) {
|
|
|
335
335
|
const totalSize = useMemo(() => engineRef.current.getTotalSize(),
|
|
336
336
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
337
337
|
[items.length, measurementVersion, resolvedViewportSize]);
|
|
338
|
+
const observeItem = useCallback((index, element) => {
|
|
339
|
+
measurementRef.current.observeItem(index, element);
|
|
340
|
+
}, []);
|
|
341
|
+
const unobserveItem = useCallback((element) => {
|
|
342
|
+
measurementRef.current.unobserveItem(element);
|
|
343
|
+
}, []);
|
|
338
344
|
return {
|
|
339
345
|
virtualItems,
|
|
340
346
|
isScrolling,
|
|
@@ -349,6 +355,8 @@ export function useVirtualList(params) {
|
|
|
349
355
|
getItemStyle,
|
|
350
356
|
recalculate,
|
|
351
357
|
getItemKeyForIndex,
|
|
358
|
+
observeItem,
|
|
359
|
+
unobserveItem,
|
|
352
360
|
};
|
|
353
361
|
}
|
|
354
362
|
//# sourceMappingURL=useVirtualList.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useVirtualList.js","sourceRoot":"","sources":["../../src/hooks/useVirtualList.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,QAAQ,EACR,WAAW,EACX,MAAM,EACN,SAAS,EACT,OAAO,GAGV,MAAM,OAAO,CAAC;AAEf,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AACpE,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;
|
|
1
|
+
{"version":3,"file":"useVirtualList.js","sourceRoot":"","sources":["../../src/hooks/useVirtualList.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,QAAQ,EACR,WAAW,EACX,MAAM,EACN,SAAS,EACT,OAAO,GAGV,MAAM,OAAO,CAAC;AAEf,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AACpE,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AA4J9D,MAAM,IAAI,GAAG,GAAG,EAAE,GAAG,CAAC,CAAC;AAEvB;;;;;;;;GAQG;AACH,MAAM,UAAU,cAAc,CAC1B,MAA+B;IAE/B,MAAM,EACF,KAAK,EACL,UAAU,EACV,eAAe,EACf,cAAc,EACd,QAAQ,GAAG,CAAC,EACZ,iBAAiB,GAAG,EAAE,EACtB,IAAI,GAAG,UAAU,EACjB,QAAQ,GAAG,IAAI,EACf,WAAW,GAAG,IAAI,EAClB,aAAa,EACb,cAAc,GAAG,GAAG,EACpB,oBAAoB,GAAG,IAAI,GAC9B,GAAG,MAAM,CAAC;IAEX,MAAM,YAAY,GAAG,IAAI,KAAK,YAAY,CAAC;IAE3C;;;OAGG;IACH,MAAM,gBAAgB,GAAG,MAAM,CAAW,aAAa,IAAI,EAAE,CAAC,CAAC;IAC/D,MAAM,SAAS,GAAG,aAAa,CAAC,CAAC,CAAC,aAAa,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAC/D,SAAS,CAAC,GAAG,EAAE;QACX,gBAAgB,CAAC,OAAO,GAAG,aAAa,IAAI,EAAE,CAAC;QAC/C,uDAAuD;IAC3D,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC;IAEhB;;;;;OAKG;IACH,MAAM,SAAS,GAAG,MAAM,CAA8B,IAAI,CAAC,CAAC;IAC5D,IAAI,SAAS,CAAC,OAAO,KAAK,IAAI,EAAE,CAAC;QAC7B,SAAS,CAAC,OAAO,GAAG,IAAI,oBAAoB,CACxC,iBAAiB,CACpB,CAAC;IACN,CAAC;IAED,MAAM,cAAc,GAAG,MAAM,CAA2B,IAAI,CAAC,CAAC;IAC9D,IAAI,cAAc,CAAC,OAAO,KAAK,IAAI,EAAE,CAAC;QAClC,cAAc,CAAC,OAAO,GAAG,IAAI,iBAAiB,EAAE,CAAC;IACrD,CAAC;IAED;;OAEG;IACH,MAAM,YAAY,GACd,MAAM,CAAwB,IAAI,CAAC,CAAC;IAExC,MAAM,QAAQ,GACV,MAAM,CAAwB,IAAI,CAAC,CAAC;IAExC;;;OAGG;IACH,MAAM,CAAC,gBAAgB,EAAE,mBAAmB,CAAC,GAAG,QAAQ,CAGrD,EAAE,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC;IAE5B,SAAS,CAAC,GAAG,EAAE;QACX,IAAI,CAAC,oBAAoB,EAAE,CAAC;YACxB,OAAO;QACX,CAAC;QAED,MAAM,IAAI,GAAG,YAAY,CAAC,OAAO,CAAC;QAElC,IAAI,CAAC,IAAI,IAAI,OAAO,cAAc,KAAK,WAAW,EAAE,CAAC;YACjD,OAAO;QACX,CAAC;QAED,MAAM,QAAQ,GAAG,IAAI,cAAc,CAAC,CAAC,OAAO,EAAE,EAAE;YAC5C,MAAM,KAAK,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;YACzB,IAAI,CAAC,KAAK;gBAAE,OAAO;YAEnB,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,KAAK,CAAC,WAAW,CAAC;YAE5C,mBAAmB,CAAC,CAAC,IAAI,EAAE,EAAE;gBACzB,IAAI,IAAI,CAAC,MAAM,KAAK,MAAM,IAAI,IAAI,CAAC,KAAK,KAAK,KAAK,EAAE,CAAC;oBACjD,OAAO,IAAI,CAAC;gBAChB,CAAC;gBACD,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;YAC7B,CAAC,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;QAEH,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAEvB,OAAO,GAAG,EAAE;YACR,QAAQ,CAAC,UAAU,EAAE,CAAC;QAC1B,CAAC,CAAC;IACN,CAAC,EAAE,CAAC,oBAAoB,CAAC,CAAC,CAAC;IAE3B,MAAM,oBAAoB,GACtB,eAAe,GAAG,CAAC;QACf,CAAC,CAAC,eAAe;QACjB,CAAC,CAAC,gBAAgB,CAAC,MAAM,CAAC;IAElC,MAAM,qBAAqB,GACvB,cAAc,IAAI,cAAc,GAAG,CAAC;QAChC,CAAC,CAAC,cAAc;QAChB,CAAC,CAAC,gBAAgB,CAAC,KAAK,CAAC;IAEjC;;OAEG;IACH,MAAM,CAAC,YAAY,EAAE,oBAAoB,CAAC,GACtC,QAAQ,CAAC,CAAC,CAAC,CAAC;IAEhB,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAC/B,QAAQ,CAAC,KAAK,CAAC,CAAC;IAEpB,MAAM,CAAC,eAAe,EAAE,kBAAkB,CAAC,GACvC,QAAQ,CAAkB,SAAS,CAAC,CAAC;IAEzC,MAAM,gBAAgB,GAAG,MAAM,CAE7B,IAAI,CAAC,CAAC;IAER,MAAM,mBAAmB,GACrB,MAAM,CAAC,CAAC,CAAC,CAAC;IAEd;;;;;;;;OAQG;IACH,MAAM,CAAC,kBAAkB,EAAE,qBAAqB,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;IAEhE;;OAEG;IACH,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,GACjC,QAAQ,CAAgB,EAAE,CAAC,CAAC;IAEhC;;OAEG;IACH,SAAS,CAAC,GAAG,EAAE;QACX,MAAM,MAAM,GAAG,SAAS,CAAC,OAAQ,CAAC;QAElC,IAAI,CAAC,oBAAoB,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC9C,eAAe,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YAC3D,OAAO;QACX,CAAC;QAED,MAAM,YAAY,GACd,MAAM,CAAC,eAAe,CAClB,YAAY,EACZ,oBAAoB,EACpB,KAAK,CAAC,MAAM,EACZ,QAAQ,CACX,CAAC;QAEN,MAAM,MAAM,GAAG,gBAAgB,CAAC,OAAO,CAAC;QAExC,MAAM,gBAAgB,GAClB,YAAY,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YACxB,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,QAAQ,EAAE,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC;SACxC,CAAC,CAAC,CAAC;QAER;;WAEG;QACH,eAAe,CAAC,CAAC,IAAI,EAAE,EAAE;YACrB,IAAI,IAAI,CAAC,MAAM,KAAK,gBAAgB,CAAC,MAAM,EAAE,CAAC;gBAC1C,IAAI,OAAO,GAAG,KAAK,CAAC;gBAEpB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;oBACnC,MAAM,QAAQ,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;oBACzB,MAAM,QAAQ,GAAG,gBAAgB,CAAC,CAAC,CAAC,CAAC;oBAErC,IACI,QAAQ,CAAC,KAAK,KAAK,QAAQ,CAAC,KAAK;wBACjC,QAAQ,CAAC,MAAM,KAAK,QAAQ,CAAC,MAAM;wBACnC,QAAQ,CAAC,IAAI,KAAK,QAAQ,CAAC,IAAI;wBAC/B,QAAQ,CAAC,QAAQ,KAAK,QAAQ,CAAC,QAAQ,EACzC,CAAC;wBACC,OAAO,GAAG,IAAI,CAAC;wBACf,MAAM;oBACV,CAAC;gBACL,CAAC;gBAED,IAAI,CAAC,OAAO,EAAE,CAAC;oBACX,OAAO,IAAI,CAAC;gBAChB,CAAC;YACL,CAAC;YAED,OAAO,gBAAgB,CAAC;QAC5B,CAAC,CAAC,CAAC;IACP,CAAC,EAAE;QACC,YAAY;QACZ,oBAAoB;QACpB,KAAK,CAAC,MAAM;QACZ,QAAQ;QACR,SAAS;QACT,kBAAkB;KACrB,CAAC,CAAC;IAEH;;OAEG;IACH,MAAM,iBAAiB,GAAG,WAAW,CACjC,CAAC,CAAQ,EAAE,EAAE;QACT,MAAM,MAAM,GAAG,CAAC,CAAC,aAA+B,CAAC;QAEjD,MAAM,eAAe,GAAG,YAAY;YAChC,CAAC,CAAC,MAAM,CAAC,UAAU;YACnB,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC;QAEvB,IAAI,eAAe,KAAK,mBAAmB,CAAC,OAAO,EAAE,CAAC;YAClD,OAAO;QACX,CAAC;QAED,MAAM,SAAS,GACX,eAAe,GAAG,mBAAmB,CAAC,OAAO;YACzC,CAAC,CAAC,SAAS;YACX,CAAC,CAAC,SAAS,CAAC;QAEpB,mBAAmB,CAAC,OAAO,GAAG,eAAe,CAAC;QAE9C,kBAAkB,CAAC,SAAS,CAAC,CAAC;QAC9B,oBAAoB,CAAC,eAAe,CAAC,CAAC;QACtC,cAAc,CAAC,IAAI,CAAC,CAAC;QAErB,QAAQ,CAAC,eAAe,EAAE,SAAS,CAAC,CAAC;QAErC,IAAI,gBAAgB,CAAC,OAAO,EAAE,CAAC;YAC3B,YAAY,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;QAC3C,CAAC;QAED,gBAAgB,CAAC,OAAO,GAAG,UAAU,CAAC,GAAG,EAAE;YACvC,cAAc,CAAC,KAAK,CAAC,CAAC;YACtB,WAAW,EAAE,CAAC;QAClB,CAAC,EAAE,cAAc,CAAC,CAAC;IACvB,CAAC,EACD,CAAC,YAAY,EAAE,QAAQ,EAAE,WAAW,EAAE,cAAc,CAAC,CACxD,CAAC;IAEF;;;OAGG;IACH,SAAS,CAAC,GAAG,EAAE;QACX,MAAM,SAAS,GAAG,YAAY,CAAC,OAAO,CAAC;QAEvC,IAAI,CAAC,SAAS,EAAE,CAAC;YACb,OAAO;QACX,CAAC;QAED,SAAS,CAAC,gBAAgB,CAAC,QAAQ,EAAE,iBAAiB,EAAE;YACpD,OAAO,EAAE,IAAI;SAChB,CAAC,CAAC;QAEH,OAAO,GAAG,EAAE;YACR,SAAS,CAAC,mBAAmB,CAAC,QAAQ,EAAE,iBAAiB,CAAC,CAAC;QAC/D,CAAC,CAAC;IACN,CAAC,EAAE,CAAC,iBAAiB,CAAC,CAAC,CAAC;IAExB;;;;;OAKG;IACH,MAAM,iBAAiB,GAAG,WAAW,CACjC,CAAC,KAAa,EAAE,IAAY,EAAE,EAAE;QAC5B,SAAS,CAAC,OAAQ,CAAC,cAAc,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;QAC/C,qBAAqB,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IACxC,CAAC,EACD,EAAE,CACL,CAAC;IAEF;;;;;;;;OAQG;IACH,SAAS,CAAC,GAAG,EAAE;QACX,0CAA0C;QAC1C,MAAM,WAAW,GAAG,cAAc,CAAC,OAAQ,CAAC;QAE5C,mBAAmB;QACnB,gEAAgE;QAChE,IAAI;QAEJ,OAAO,GAAG,EAAE;YACR,WAAW,CAAC,aAAa,EAAE,CAAC;QAChC,CAAC,CAAC;IACN,CAAC,EAAE,CAAC,iBAAiB,CAAC,CAAC,CAAC;IAExB;;OAEG;IACH,MAAM,YAAY,GAAG,WAAW,CAC5B,CACI,KAAa,EACb,YAAwC,OAAO,EACjD,EAAE;QACA,IAAI,CAAC,oBAAoB,EAAE,CAAC;YACxB,OAAO;QACX,CAAC;QAED,MAAM,MAAM,GAAG,SAAS,CAAC,OAAQ,CAAC,uBAAuB,CACrD,KAAK,EACL,oBAAoB,EACpB,SAAS,CACZ,CAAC;QAEF,MAAM,SAAS,GAAG,YAAY,CAAC,OAAO,CAAC;QACvC,IAAI,CAAC,SAAS,EAAE,CAAC;YACb,OAAO;QACX,CAAC;QAED,IAAI,YAAY,EAAE,CAAC;YACf,SAAS,CAAC,UAAU,GAAG,MAAM,CAAC;QAClC,CAAC;aAAM,CAAC;YACJ,SAAS,CAAC,SAAS,GAAG,MAAM,CAAC;QACjC,CAAC;IACL,CAAC,EACD,CAAC,oBAAoB,EAAE,YAAY,CAAC,CACvC,CAAC;IAEF;;;;OAIG;IACH,MAAM,cAAc,GAAG,WAAW,CAC9B,CAAC,MAAc,EAAE,EAAE;QACf,MAAM,SAAS,GAAG,YAAY,CAAC,OAAO,CAAC;QAEvC,IAAI,SAAS,EAAE,CAAC;YACZ,IAAI,YAAY,EAAE,CAAC;gBACf,SAAS,CAAC,UAAU,GAAG,MAAM,CAAC;YAClC,CAAC;iBAAM,CAAC;gBACJ,SAAS,CAAC,SAAS,GAAG,MAAM,CAAC;YACjC,CAAC;QACL,CAAC;QAED,mBAAmB,CAAC,OAAO,GAAG,MAAM,CAAC;QACrC,oBAAoB,CAAC,MAAM,CAAC,CAAC;IACjC,CAAC,EACD,CAAC,YAAY,CAAC,CACjB,CAAC;IAEF;;;;OAIG;IACH,MAAM,eAAe,GAAG,WAAW,CAAC,CAAC,MAAc,EAAE,EAAE;QACnD,mBAAmB,CAAC,OAAO,GAAG,MAAM,CAAC;QACrC,oBAAoB,CAAC,MAAM,CAAC,CAAC;IACjC,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP;;OAEG;IACH,MAAM,YAAY,GAAG,WAAW,CAC5B,CAAC,KAAa,EAAE,IAAY,EAAiB,EAAE;QAC3C,MAAM,MAAM,GAAG,SAAS,CAAC,OAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QAEvD,MAAM,YAAY,GAAG,gBAAgB,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QAE9D,MAAM,IAAI,GAAkB;YACxB,QAAQ,EAAE,YAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,UAAU;YAC9C,MAAM,EAAE,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;SAChC,CAAC;QAEF,IAAI,YAAY,EAAE,CAAC;YACf,OAAO;gBACH,GAAG,IAAI;gBACP,GAAG,EAAE,CAAC;gBACN,IAAI,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM;gBAC/B,MAAM,EAAE,qBAAqB;oBACzB,CAAC,CAAC,qBAAqB;oBACvB,CAAC,CAAC,MAAM;gBACZ,KAAK,EAAE,IAAI;aACd,CAAC;QACN,CAAC;QAED,OAAO;YACH,GAAG,IAAI;YACP,GAAG,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM;YAC9B,IAAI,EAAE,CAAC;YACP,KAAK,EAAE,MAAM;YACb,MAAM,EAAE,IAAI;SACf,CAAC;IACN,CAAC,EACD,CAAC,YAAY,EAAE,qBAAqB,CAAC,CACxC,CAAC;IAEF;;OAEG;IACH,MAAM,kBAAkB,GAAG,WAAW,CAClC,CAAC,KAAa,EAAmB,EAAE;QAC/B,IAAI,UAAU,EAAE,CAAC;YACb,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC;YAC1B,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;gBACrB,OAAO,UAAU,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;YACnC,CAAC;QACL,CAAC;QACD,OAAO,KAAK,CAAC;IACjB,CAAC,EACD,CAAC,UAAU,EAAE,KAAK,CAAC,CACtB,CAAC;IAEF;;;OAGG;IACH,MAAM,WAAW,GAAG,WAAW,CAAC,CAAC,SAAkB,EAAE,EAAE;QACnD,SAAS,CAAC,OAAQ,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC;QAC7C,qBAAqB,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IACxC,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP;;OAEG;IACH,SAAS,CAAC,GAAG,EAAE;QACX,OAAO,GAAG,EAAE;YACR,IAAI,gBAAgB,CAAC,OAAO,EAAE,CAAC;gBAC3B,YAAY,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;YAC3C,CAAC;YAED,cAAc,CAAC,OAAO,EAAE,OAAO,EAAE,CAAC;QACtC,CAAC,CAAC;IACN,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP;;;;OAIG;IACH,MAAM,SAAS,GAAG,OAAO,CACrB,GAAG,EAAE,CAAC,SAAS,CAAC,OAAQ,CAAC,YAAY,EAAE;IACvC,uDAAuD;IACvD,CAAC,KAAK,CAAC,MAAM,EAAE,kBAAkB,EAAE,oBAAoB,CAAC,CAC3D,CAAC;IAEF,MAAM,WAAW,GAAG,WAAW,CAAC,CAAC,KAAa,EAAE,OAAoB,EAAE,EAAE;QACpE,cAAc,CAAC,OAAQ,CAAC,WAAW,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IACxD,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,MAAM,aAAa,GAAG,WAAW,CAAC,CAAC,OAAoB,EAAE,EAAE;QACvD,cAAc,CAAC,OAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;IACnD,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,OAAO;QACH,YAAY;QACZ,WAAW;QACX,YAAY;QACZ,eAAe;QACf,SAAS;QACT,YAAY;QACZ,cAAc;QACd,eAAe;QACf,YAAY;QACZ,QAAQ;QACR,YAAY;QACZ,WAAW;QACX,kBAAkB;QAClB,WAAW;QACX,aAAa;KAChB,CAAC;AACN,CAAC"}
|
package/dist/index.cjs.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";var e=require("react/jsx-runtime"),t=require("react");class r{constructor(e=35){Object.defineProperty(this,"itemSizeMap",{enumerable:!0,configurable:!0,writable:!0,value:{}}),Object.defineProperty(this,"estimatedItemSize",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"itemCount",{enumerable:!0,configurable:!0,writable:!0,value:0}),Object.defineProperty(this,"prefix",{enumerable:!0,configurable:!0,writable:!0,value:[0]}),Object.defineProperty(this,"dirty",{enumerable:!0,configurable:!0,writable:!0,value:!0}),this.estimatedItemSize=e}setItemCount(e){this.itemCount!==e&&(this.itemCount=e,this.dirty=!0)}recordItemSize(e,t){this.itemSizeMap[e]!==t&&(this.itemSizeMap[e]=t,this.dirty=!0)}invalidateFrom(e){if(void 0===e)return this.itemSizeMap={},void(this.dirty=!0);e<0&&(e=0);for(const t of Object.keys(this.itemSizeMap)){const r=Number(t);r>=e&&delete this.itemSizeMap[r]}this.dirty=!0}rebuildPrefix(){let e=0;this.prefix=[0];for(let t=0;t<this.itemCount;t++)e+=this.itemSizeMap[t]??this.estimatedItemSize,this.prefix[t+1]=e;this.dirty=!1}getItemSize(e){return this.itemSizeMap[e]??this.estimatedItemSize}getItemOffset(e){return this.dirty&&this.rebuildPrefix(),this.prefix[e]??0}getTotalSize(){return this.dirty&&this.rebuildPrefix(),this.prefix[this.itemCount]||0}binarySearch(e){this.dirty&&this.rebuildPrefix();let t=0,r=this.itemCount-1;for(;t<=r;){const n=t+r>>1,i=this.prefix[n];if(i===e)return n;i<e?t=n+1:r=n-1}return Math.max(0,t-1)}getVisibleRange(e,t,r,n=5){this.setItemCount(r);const i=this.binarySearch(e),s=this.binarySearch(e+t);return{startIndex:Math.max(0,i-n),endIndex:Math.min(r-1,s+n),overscanStartIndex:i,overscanEndIndex:s}}getVisibleItems(e,t,r,n){const i=this.getVisibleRange(e,t,r,n),s=[];for(let e=i.startIndex;e<=i.endIndex;e++)s.push({index:e,size:this.getItemSize(e),offset:this.getItemOffset(e)});return s}getScrollOffsetForIndex(e,t,r="start"){const n=this.getItemOffset(e),i=this.getItemSize(e);return"center"===r?Math.max(0,n-(t-i)/2):"end"===r?Math.max(0,n-t+i):Math.max(0,n)}}class n{constructor(){Object.defineProperty(this,"resizeObserver",{enumerable:!0,configurable:!0,writable:!0,value:null}),Object.defineProperty(this,"measurements",{enumerable:!0,configurable:!0,writable:!0,value:new Map}),Object.defineProperty(this,"widthMeasurements",{enumerable:!0,configurable:!0,writable:!0,value:new Map}),Object.defineProperty(this,"observedElements",{enumerable:!0,configurable:!0,writable:!0,value:new WeakMap}),Object.defineProperty(this,"observedAxis",{enumerable:!0,configurable:!0,writable:!0,value:new WeakMap}),Object.defineProperty(this,"pendingUpdates",{enumerable:!0,configurable:!0,writable:!0,value:new Map}),Object.defineProperty(this,"pendingWidthUpdates",{enumerable:!0,configurable:!0,writable:!0,value:new Map}),Object.defineProperty(this,"rafId",{enumerable:!0,configurable:!0,writable:!0,value:null}),Object.defineProperty(this,"onMeasure",{enumerable:!0,configurable:!0,writable:!0,value:null}),Object.defineProperty(this,"onMeasureWidth",{enumerable:!0,configurable:!0,writable:!0,value:null}),Object.defineProperty(this,"handleResize",{enumerable:!0,configurable:!0,writable:!0,value:e=>{for(const t of e){const e=t.target,r=this.observedElements.get(e);if(void 0===r)continue;if("width"===(this.observedAxis.get(e)??"height")){const e=Math.round(t.contentRect.width);this.widthMeasurements.get(r)!==e&&(this.widthMeasurements.set(r,e),this.pendingWidthUpdates.set(r,e));continue}const n=Math.round(t.contentRect.height);this.measurements.get(r)!==n&&(this.measurements.set(r,n),this.pendingUpdates.set(r,n))}this.flushPendingUpdates()}}),"undefined"!=typeof window&&"ResizeObserver"in window&&(this.resizeObserver=new ResizeObserver(this.handleResize))}startMeasuring(e,t,r){this.onMeasure=t,this.onMeasureWidth=r??null;e.querySelectorAll("[data-virtualize-index]").forEach(e=>{const t=e.dataset.virtualizeIndex;if(void 0===t)return;const r=Number(t);this.observeItem(r,e)})}observeItem(e,t,r="height"){t.dataset.virtualizeIndex=String(e),this.observedElements.set(t,e),this.observedAxis.set(t,r),this.resizeObserver?.observe(t),this.syncMeasure(e,t,r)}unobserveItem(e){this.resizeObserver?.unobserve(e),this.observedElements.delete(e),this.observedAxis.delete(e)}flushPendingUpdates(){null===this.rafId&&(this.rafId=requestAnimationFrame(()=>{this.pendingUpdates.forEach((e,t)=>{this.onMeasure?.(t,e)}),this.pendingUpdates.clear(),this.pendingWidthUpdates.forEach((e,t)=>{this.onMeasureWidth?.(t,e)}),this.pendingWidthUpdates.clear(),this.rafId=null}))}syncMeasure(e,t,r="height"){const n=t.getBoundingClientRect(),i="width"===r?n.width:n.height;if(i<=0)return;const s=Math.round(i);if("width"===r){if(this.widthMeasurements.get(e)===s)return;return this.widthMeasurements.set(e,s),void this.onMeasureWidth?.(e,s)}this.measurements.get(e)!==s&&(this.measurements.set(e,s),this.onMeasure?.(e,s))}stopMeasuring(){this.resizeObserver?.disconnect(),this.pendingUpdates.clear(),this.pendingWidthUpdates.clear(),null!==this.rafId&&cancelAnimationFrame(this.rafId)}getMeasurement(e){return this.measurements.get(e)}getWidthMeasurement(e){return this.widthMeasurements.get(e)}getAllMeasurements(){return new Map(this.measurements)}getAllWidthMeasurements(){return new Map(this.widthMeasurements)}clearPending(){this.pendingUpdates.clear(),this.pendingWidthUpdates.clear()}clearMeasurements(){this.measurements.clear(),this.widthMeasurements.clear()}destroy(){this.stopMeasuring(),this.measurements.clear(),this.pendingUpdates.clear(),this.widthMeasurements.clear(),this.pendingWidthUpdates.clear(),this.observedElements=new WeakMap,this.observedAxis=new WeakMap,this.onMeasure=null,this.onMeasureWidth=null}}const i=()=>{};function s(e){const{items:s,getItemKey:o,containerHeight:a,containerWidth:l,overscan:u=5,estimatedItemSize:c=35,axis:h="vertical",onScroll:d=i,onScrollEnd:f=i,stickyIndices:m,scrollEndDelay:g=150,autoMeasureContainer:p=!0}=e,b="horizontal"===h,v=t.useRef(m??[]),y=m?m.join(","):"";t.useEffect(()=>{v.current=m??[]},[y]);const x=t.useRef(null);null===x.current&&(x.current=new r(c));const w=t.useRef(null);null===w.current&&(w.current=new n);const M=t.useRef(null),S=t.useRef(null),[I,z]=t.useState({height:0,width:0});t.useEffect(()=>{if(!p)return;const e=M.current;if(!e||"undefined"==typeof ResizeObserver)return;const t=new ResizeObserver(e=>{const t=e[0];if(!t)return;const{height:r,width:n}=t.contentRect;z(e=>e.height===r&&e.width===n?e:{height:r,width:n})});return t.observe(e),()=>{t.disconnect()}},[p]);const R=a>0?a:I.height,O=l&&l>0?l:I.width,[E,k]=t.useState(0),[C,j]=t.useState(!1),[P,W]=t.useState("forward"),L=t.useRef(null),N=t.useRef(0),[T,A]=t.useState(0),[U,V]=t.useState([]);t.useEffect(()=>{const e=x.current;if(!R||0===s.length)return void V(e=>0===e.length?e:[]);const t=e.getVisibleItems(E,R,s.length,u),r=v.current,n=t.map(e=>({index:e.index,offset:e.offset,size:e.size,isSticky:r.includes(e.index)}));V(e=>{if(e.length===n.length){let t=!1;for(let r=0;r<e.length;r++){const i=e[r],s=n[r];if(i.index!==s.index||i.offset!==s.offset||i.size!==s.size||i.isSticky!==s.isSticky){t=!0;break}}if(!t)return e}return n})},[E,R,s.length,u,y,T]);const F=t.useCallback(e=>{const t=e.currentTarget,r=b?t.scrollLeft:t.scrollTop;if(r===N.current)return;const n=r>N.current?"forward":"reverse";N.current=r,W(n),k(r),j(!0),d(r,n),L.current&&clearTimeout(L.current),L.current=setTimeout(()=>{j(!1),f()},g)},[b,d,f,g]);t.useEffect(()=>{const e=M.current;if(e)return e.addEventListener("scroll",F,{passive:!0}),()=>{e.removeEventListener("scroll",F)}},[F]);const $=t.useCallback((e,t)=>{x.current.recordItemSize(e,t),A(e=>e+1)},[]);t.useEffect(()=>{const e=M.current,t=w.current;return e&&t.startMeasuring(e,$),()=>{t.stopMeasuring()}},[$]);const H=t.useCallback((e,t="start")=>{if(!R)return;const r=x.current.getScrollOffsetForIndex(e,R,t),n=M.current;n&&(b?n.scrollLeft=r:n.scrollTop=r)},[R,b]),q=t.useCallback(e=>{const t=M.current;t&&(b?t.scrollLeft=e:t.scrollTop=e),N.current=e,k(e)},[b]),K=t.useCallback(e=>{N.current=e,k(e)},[]),D=t.useCallback((e,t)=>{const r=x.current.getItemOffset(e),n=v.current.includes(e),i={position:n?"sticky":"absolute",zIndex:n?10:0};return b?{...i,top:0,left:n?0:r,height:O||"100%",width:t}:{...i,top:n?0:r,left:0,width:"100%",height:t}},[b,O]),B=t.useCallback(e=>{if(o){const t=s[e];if(void 0!==t)return o(e,t)}return e},[o,s]),G=t.useCallback(e=>{x.current.invalidateFrom(e),A(e=>e+1)},[]);t.useEffect(()=>()=>{L.current&&clearTimeout(L.current),w.current?.destroy()},[]);const J=t.useMemo(()=>x.current.getTotalSize(),[s.length,T,R]);return{virtualItems:U,isScrolling:C,scrollOffset:E,scrollDirection:P,totalSize:J,scrollToItem:H,scrollToOffset:q,setScrollOffset:K,containerRef:M,innerRef:S,getItemStyle:D,recalculate:G,getItemKeyForIndex:B}}const o=t.forwardRef(({items:r,renderItem:n,itemWrapper:i,itemKey:o,height:a=400,width:l=500,itemSize:u,overscan:c=5,scrollDirection:h="forward",onScroll:d,className:f="",itemClassName:m="",style:g={},estimatedItemSize:p=35,getItemSize:b,stickyIndices:v=[],onScrollEnd:y,innerRef:x,scrollOffsetRef:w},M)=>{const{virtualItems:S,isScrolling:I,scrollOffset:z,totalSize:R,containerRef:O,innerRef:E,getItemStyle:k}=s({items:r,getItemKey:o,containerHeight:"number"==typeof a?a:400,containerWidth:"number"==typeof l?l:500,overscan:c,estimatedItemSize:p,onScroll:d,onScrollEnd:y,stickyIndices:v}),C=t.useRef(null),j=t.useRef(null);t.useImperativeHandle(M,()=>C.current),t.useImperativeHandle(x,()=>j.current),t.useEffect(()=>{w&&(w.current=z)},[z,w]);const P={height:a,width:l,overflow:"auto",position:"relative",...g},W={position:"relative",height:R,width:"100%"};return e.jsx("div",{ref:e=>{C.current=e,O.current=e},className:`virtualize-container ${f}`,style:P,onScroll:e=>{const t=e.target,r=n?.__scrollHandler;r&&r(e),d&&d(t.scrollTop,"auto")},children:e.jsx("div",{ref:e=>{j.current=e,E.current=e},style:W,className:"virtualize-inner",children:S.map(s=>{const a=r[s.index],l=o?o(s.index,a):s.index,u=k(s.index,s.size),c={item:a,index:s.index,style:u,isScrolling:I},h=n(c);return i?e.jsx(t.Fragment,{children:i({item:a,index:s.index,style:u,children:h})},l):e.jsx("div",{"data-virtualize-index":s.index,className:m,style:{...u,boxSizing:"border-box"},children:h},l)})})})});o.displayName="VirtualList";const a=t.forwardRef(({items:r,renderItem:n,itemKey:i,height:s=600,width:o="100%",columnCount:a=3,rowHeight:l=200,columnWidth:u,layout:c="grid",overscan:h=5,gap:d=16,onScroll:f,onVisibleRangeChange:m,innerClassName:g,innerStyle:p,containerClassName:b,containerStyle:v},y)=>{const x=t.useRef(null);t.useImperativeHandle(y,()=>x.current);const[w,M]=t.useState(0),[S,I]=t.useState(!1),[z,R]=t.useState(0),O=t.useRef(null);t.useEffect(()=>{if(!x.current)return;const e=x.current,t=new ResizeObserver(e=>{for(const t of e){const e=t.contentRect.width;e>0&&R(e)}});return t.observe(e),()=>t.disconnect()},[]),t.useEffect(()=>()=>{O.current&&clearTimeout(O.current)},[]);const E=z>0&&r.length>0,k=t.useMemo(()=>{if("auto"===a){const e=200;return Math.max(1,Math.floor(z/(e+d)))}return Math.max(1,Number(a))},[a,z,d]),C=t.useMemo(()=>{if("number"==typeof u)return u;const e=d*Math.max(0,k-1);return Math.max(0,(z-e)/k)},[z,k,d,u]),j=t.useMemo(()=>{if(!E)return[];const e=[];if("masonry"===c){const t=Array(k).fill(0);for(let n=0;n<r.length;n++){const r="function"==typeof l?l(n):Number(l),i=t.indexOf(Math.min(...t)),s=i*(C+d),o=t[i];e.push({x:s,y:o,width:C,height:r}),t[i]+=r+d}}else for(let t=0;t<r.length;t++){const r=Math.floor(t/k),n=t%k,i="function"==typeof l?l(t):Number(l);e.push({x:n*(C+d),y:r*(i+d),width:C,height:i})}return e},[r,k,C,d,c,l,E]),P=t.useMemo(()=>{if(!j.length||!E)return{start:0,end:0};const e="string"==typeof s?parseInt(s):Number(s);let t=0;for(let e=0;e<j.length;e++)if(j[e].y+j[e].height>=w){t=e;break}let n=j.length-1;for(let t=j.length-1;t>=0;t--)if(j[t].y<=w+e){n=t;break}return{start:Math.max(0,t-h),end:Math.min(r.length-1,n+h)}},[j,w,s,h,r.length,E]),W=t.useMemo(()=>{if(!j.length)return 0;return Math.max(...j.map(e=>e.y+e.height))||0},[j]),L=t.useCallback(e=>{const t=e.currentTarget,r=t.scrollTop,n=t.scrollLeft;M(r),I(!0),f?.(r,n),O.current&&clearTimeout(O.current),O.current=setTimeout(()=>{I(!1)},120)},[f]);t.useEffect(()=>{m?.(P.start,P.end)},[P,m]);const N={height:"string"==typeof s?s:`${s}px`,width:"string"==typeof o?o:`${o}px`,overflowY:"auto",overflowX:"hidden",position:"relative",...v},T={position:"relative",height:W||1,width:"100%",...p};if(!E)return e.jsx("div",{ref:x,className:b,style:N,onScroll:L,children:e.jsx("div",{className:g,style:T})});const A=[];for(let e=P.start;e<=P.end;e++)e>=0&&e<r.length&&A.push({index:e,key:i?.(e,r[e])??e});return e.jsx("div",{ref:x,className:b,style:N,onScroll:L,children:e.jsx("div",{className:g,style:T,children:A.map(t=>{const i=r[t.index],s=j[t.index];if(!i||!s)return null;const o={position:"absolute",top:`${s.y}px`,left:`${s.x}px`,width:`${s.width}px`,height:`${s.height}px`,boxSizing:"border-box"};return e.jsx("div",{style:o,children:n({item:i,index:t.index,isScrolling:S})},t.key)})})})});function l(e,t){return t?e:e.toLowerCase()}a.displayName="VirtualGrid";const u=new Map;exports.MeasurementSystem=n,exports.VirtualGrid=a,exports.VirtualList=o,exports.VirtualizationEngine=r,exports.useInfiniteScroll=function({onLoadMore:e,threshold:r=500,isLoading:n=!1,enabled:i=!0}){const s=t.useRef(null),[o,a]=t.useState(!1),l=t.useRef(!1),u=t.useRef(e);t.useEffect(()=>{u.current=e},[e]);const c=t.useCallback(()=>{if(!i)return;const e=s.current;if(!e)return;const{scrollTop:t,scrollHeight:o,clientHeight:c}=e,h=o-t-c<=r;a(h),!h||l.current||n||(l.current=!0,Promise.resolve(u.current()).finally(()=>{l.current=!1}))},[r,i,n]);return t.useEffect(()=>{if(!i)return;const e=s.current;if(!e)return;const t=()=>{c()};return e.addEventListener("scroll",t,{passive:!0}),c(),()=>{e.removeEventListener("scroll",t)}},[i,c]),{containerRef:s,isAtBottom:o,isLoading:n,checkIfAtBottom:c}},exports.useLazyLoad=function({threshold:e=.1,onVisible:r,root:n=null,rootMargin:i="0px",enabled:s=!0,once:o=!0}={}){const[a,l]=t.useState(!1),[u,c]=t.useState(null),h=t.useRef(null),d=t.useRef(r);return t.useEffect(()=>{d.current=r},[r]),t.useEffect(()=>{if(!s)return;const t=h.current;if(!t)return;if("undefined"==typeof window||!("IntersectionObserver"in window))return l(!0),void d.current?.();const r=new IntersectionObserver(([e])=>{c(e),e.isIntersecting?(l(!0),d.current?.(),o&&r.unobserve(e.target)):o||l(!1)},{threshold:e,root:n,rootMargin:i});return r.observe(t),()=>{r.disconnect()}},[e,n,i,s,o]),{ref:h,isVisible:a,entry:u}},exports.useScrollRestoration=function(e,r,{persist:n=!0,storageKey:i="virtualize-scroll-positions",storage:s,autoSave:o=!1,maxEntries:a=100,useRAF:l=!0,enabled:c=!0,onError:h}={}){const d=t.useRef(s??("undefined"!=typeof window&&"undefined"!=typeof document?window.localStorage:null));t.useEffect(()=>{if(c&&n&&d.current&&!(u.size>0))try{const e=d.current.getItem(i);if(!e)return;JSON.parse(e).forEach(e=>{u.set(e.key,e)})}catch(e){h?.(e)}},[c,n,i,h]);const f=t.useCallback(()=>{if(n&&d.current)try{const e=Array.from(u.values()).sort((e,t)=>t.timestamp-e.timestamp).slice(0,a);d.current.setItem(i,JSON.stringify(e))}catch(e){h?.(e)}},[n,i,a,h]),m=t.useCallback(()=>{if(!c)return;const t=r.current;if(!t)return;const n={key:e,top:t.scrollTop,left:t.scrollLeft,timestamp:Date.now()};u.set(e,n),f()},[e,r,c,f]),g=t.useCallback(()=>{if(!c)return;if(!r.current)return;const t=u.get(e);if(!t)return;const n=()=>{r.current&&(r.current.scrollTop=t.top,r.current.scrollLeft=t.left)};l?requestAnimationFrame(n):n()},[e,r,c,l]);return t.useEffect(()=>{c&&g()},[c,g]),t.useEffect(()=>{if(c)return()=>{m()}},[c,m]),t.useEffect(()=>{if(!c||!o||!r.current)return;const e=r.current,t=()=>{m()};return e.addEventListener("scroll",t,{passive:!0}),()=>{e.removeEventListener("scroll",t)}},[c,o,m,r]),{savePosition:m,restorePosition:g}},exports.useVirtualList=s,exports.useVirtualizedSearch=function({items:r,searchValue:n,searchFields:i,caseSensitive:s=!1,deferSearch:o=!0,matcher:a}){const u=t.useMemo(()=>l(n.trim(),s),[n,s]),c=t.useDeferredValue(u),h=o?c:u,d=o&&c!==u,f=t.useCallback(e=>!h||(a?a(e,h):function(e,t,r,n){return r.some(r=>{const i=e[r];return null!=i&&l(String(i).trim(),n).includes(t)})}(e,h,i,s)),[h,a,i,s]),m=t.useMemo(()=>h?r.filter(f):[...r],[r,h,f]),g=t.useCallback(e=>f(e),[f]),p=t.useMemo(()=>{if(!u)return null;const e=u.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");return new RegExp(`(${e})`,s?"g":"gi")},[u,s]),b=t.useCallback(r=>{if(!r||!p)return r;return r.split(p).map((r,n)=>n%2==1?e.jsx("mark",{children:r},n):e.jsx(t.Fragment,{children:r},n))},[p]);return{filteredItems:m,resultCount:m.length,query:h,hasMatch:g,isSearching:d,highlightMatch:b}};
|
|
1
|
+
"use strict";var e=require("react/jsx-runtime"),t=require("react");function r(e){return e&-e}function i(e){let t=1;for(;t<e;)t<<=1;return t}class s{constructor(e=0){Object.defineProperty(this,"capacity",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"tree",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"raw",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"n",{enumerable:!0,configurable:!0,writable:!0,value:0}),this.capacity=i(Math.max(1,e)),this.tree=new Array(this.capacity+1).fill(0),this.raw=new Array(this.capacity).fill(0),e>0&&this.resize(e,0)}size(){return this.n}rebuild(){this.tree=new Array(this.capacity+1).fill(0);for(let e=1;e<=this.capacity;e++){this.tree[e]+=this.raw[e-1]??0;const t=e+r(e);t<=this.capacity&&(this.tree[t]+=this.tree[e])}}resize(e,t){if(e>this.capacity){const r=i(e),s=this.raw;this.raw=new Array(r).fill(0);for(let e=0;e<s.length;e++)this.raw[e]=s[e];for(let r=this.n;r<e;r++)this.raw[r]=t;return this.capacity=r,this.rebuild(),void(this.n=e)}if(e>this.n){for(let r=this.n;r<e;r++)this.update(r,t);this.n=e}else if(e<this.n){for(let t=e;t<this.n;t++)this.update(t,0);this.n=e}}update(e,t){if(e<0||e>=this.capacity)return;const i=t-(this.raw[e]??0);if(0!==i){this.raw[e]=t;for(let t=e+1;t<=this.capacity;t+=r(t))this.tree[t]+=i}}getValue(e){return this.raw[e]??0}prefixSum(e){let t=0;for(let i=Math.min(e,this.n);i>0;i-=r(i))t+=this.tree[i];return t}total(){return this.prefixSum(this.n)}findIndexAtOffset(e){if(0===this.n)return 0;let t=0,r=e;for(let e=this.capacity;e>0;e>>=1){const i=t+e;i<=this.capacity&&this.tree[i]<=r&&(t=i,r-=this.tree[i])}return Math.min(t,this.n-1)}resetAll(e){for(let e=0;e<this.n;e++)this.raw[e]=0;this.rebuild();for(let t=0;t<this.n;t++)this.update(t,e)}}class n{constructor(e=35){Object.defineProperty(this,"tree",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"estimatedItemSize",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"itemCount",{enumerable:!0,configurable:!0,writable:!0,value:0}),this.estimatedItemSize=e,this.tree=new s(0)}setItemCount(e){this.itemCount!==e&&(this.tree.resize(e,this.estimatedItemSize),this.itemCount=e)}recordItemSize(e,t){e<0||e>=this.itemCount||this.tree.update(e,t)}invalidateFrom(e){if(void 0===e)return void this.tree.resetAll(this.estimatedItemSize);for(let t=Math.max(0,e);t<this.itemCount;t++)this.tree.update(t,this.estimatedItemSize)}getItemSize(e){return e<0||e>=this.itemCount?this.estimatedItemSize:this.tree.getValue(e)}getItemOffset(e){return this.tree.prefixSum(Math.max(0,e))}getTotalSize(){return this.tree.total()}getVisibleRange(e,t,r,i=5){if(this.setItemCount(r),0===r)return{startIndex:0,endIndex:-1,overscanStartIndex:0,overscanEndIndex:-1};const s=this.tree.findIndexAtOffset(e),n=this.tree.findIndexAtOffset(e+t);return{startIndex:Math.max(0,s-i),endIndex:Math.min(r-1,n+i),overscanStartIndex:s,overscanEndIndex:n}}getVisibleItems(e,t,r,i){const s=this.getVisibleRange(e,t,r,i),n=[];for(let e=s.startIndex;e<=s.endIndex;e++)n.push({index:e,size:this.getItemSize(e),offset:this.getItemOffset(e)});return n}getScrollOffsetForIndex(e,t,r="start"){const i=this.getItemOffset(e),s=this.getItemSize(e);return"center"===r?Math.max(0,i-(t-s)/2):"end"===r?Math.max(0,i-t+s):Math.max(0,i)}}class a{constructor(){Object.defineProperty(this,"resizeObserver",{enumerable:!0,configurable:!0,writable:!0,value:null}),Object.defineProperty(this,"measurements",{enumerable:!0,configurable:!0,writable:!0,value:new Map}),Object.defineProperty(this,"widthMeasurements",{enumerable:!0,configurable:!0,writable:!0,value:new Map}),Object.defineProperty(this,"observedElements",{enumerable:!0,configurable:!0,writable:!0,value:new WeakMap}),Object.defineProperty(this,"observedAxis",{enumerable:!0,configurable:!0,writable:!0,value:new WeakMap}),Object.defineProperty(this,"pendingUpdates",{enumerable:!0,configurable:!0,writable:!0,value:new Map}),Object.defineProperty(this,"pendingWidthUpdates",{enumerable:!0,configurable:!0,writable:!0,value:new Map}),Object.defineProperty(this,"rafId",{enumerable:!0,configurable:!0,writable:!0,value:null}),Object.defineProperty(this,"onMeasure",{enumerable:!0,configurable:!0,writable:!0,value:null}),Object.defineProperty(this,"onMeasureWidth",{enumerable:!0,configurable:!0,writable:!0,value:null}),Object.defineProperty(this,"handleResize",{enumerable:!0,configurable:!0,writable:!0,value:e=>{for(const t of e){const e=t.target,r=this.observedElements.get(e);if(void 0===r)continue;if("width"===(this.observedAxis.get(e)??"height")){const e=Math.round(t.contentRect.width);this.widthMeasurements.get(r)!==e&&(this.widthMeasurements.set(r,e),this.pendingWidthUpdates.set(r,e));continue}const i=Math.round(t.contentRect.height);this.measurements.get(r)!==i&&(this.measurements.set(r,i),this.pendingUpdates.set(r,i))}this.flushPendingUpdates()}}),"undefined"!=typeof window&&"ResizeObserver"in window&&(this.resizeObserver=new ResizeObserver(this.handleResize))}startMeasuring(e,t){this.onMeasure=e,this.onMeasureWidth=t??null}observeItem(e,t,r="height"){t.dataset.virtualizeIndex=String(e),this.observedElements.set(t,e),this.observedAxis.set(t,r),this.resizeObserver?.observe(t),this.syncMeasure(e,t,r)}unobserveItem(e){this.resizeObserver?.unobserve(e),this.observedElements.delete(e),this.observedAxis.delete(e)}flushPendingUpdates(){null===this.rafId&&(this.rafId=requestAnimationFrame(()=>{this.pendingUpdates.forEach((e,t)=>{this.onMeasure?.(t,e)}),this.pendingUpdates.clear(),this.pendingWidthUpdates.forEach((e,t)=>{this.onMeasureWidth?.(t,e)}),this.pendingWidthUpdates.clear(),this.rafId=null}))}syncMeasure(e,t,r="height"){const i=t.getBoundingClientRect(),s="width"===r?i.width:i.height;if(s<=0)return;const n=Math.round(s);if("width"===r){if(this.widthMeasurements.get(e)===n)return;return this.widthMeasurements.set(e,n),void this.onMeasureWidth?.(e,n)}this.measurements.get(e)!==n&&(this.measurements.set(e,n),this.onMeasure?.(e,n))}stopMeasuring(){this.resizeObserver?.disconnect(),this.pendingUpdates.clear(),this.pendingWidthUpdates.clear(),null!==this.rafId&&cancelAnimationFrame(this.rafId)}getMeasurement(e){return this.measurements.get(e)}getWidthMeasurement(e){return this.widthMeasurements.get(e)}getAllMeasurements(){return new Map(this.measurements)}getAllWidthMeasurements(){return new Map(this.widthMeasurements)}clearPending(){this.pendingUpdates.clear(),this.pendingWidthUpdates.clear()}clearMeasurements(){this.measurements.clear(),this.widthMeasurements.clear()}destroy(){this.stopMeasuring(),this.measurements.clear(),this.pendingUpdates.clear(),this.widthMeasurements.clear(),this.pendingWidthUpdates.clear(),this.observedElements=new WeakMap,this.observedAxis=new WeakMap,this.onMeasure=null,this.onMeasureWidth=null}}const o=()=>{};function l(e){const{items:r,getItemKey:i,containerHeight:s,containerWidth:l,overscan:u=5,estimatedItemSize:c=35,axis:h="vertical",onScroll:d=o,onScrollEnd:f=o,stickyIndices:m,scrollEndDelay:g=150,autoMeasureContainer:p=!0}=e,b="horizontal"===h,w=t.useRef(m??[]),v=m?m.join(","):"";t.useEffect(()=>{w.current=m??[]},[v]);const y=t.useRef(null);null===y.current&&(y.current=new n(c));const x=t.useRef(null);null===x.current&&(x.current=new a);const M=t.useRef(null),I=t.useRef(null),[S,z]=t.useState({height:0,width:0});t.useEffect(()=>{if(!p)return;const e=M.current;if(!e||"undefined"==typeof ResizeObserver)return;const t=new ResizeObserver(e=>{const t=e[0];if(!t)return;const{height:r,width:i}=t.contentRect;z(e=>e.height===r&&e.width===i?e:{height:r,width:i})});return t.observe(e),()=>{t.disconnect()}},[p]);const O=s>0?s:S.height,R=l&&l>0?l:S.width,[E,j]=t.useState(0),[C,k]=t.useState(!1),[P,W]=t.useState("forward"),A=t.useRef(null),T=t.useRef(0),[H,N]=t.useState(0),[L,V]=t.useState([]);t.useEffect(()=>{const e=y.current;if(!O||0===r.length)return void V(e=>0===e.length?e:[]);const t=e.getVisibleItems(E,O,r.length,u),i=w.current,s=t.map(e=>({index:e.index,offset:e.offset,size:e.size,isSticky:i.includes(e.index)}));V(e=>{if(e.length===s.length){let t=!1;for(let r=0;r<e.length;r++){const i=e[r],n=s[r];if(i.index!==n.index||i.offset!==n.offset||i.size!==n.size||i.isSticky!==n.isSticky){t=!0;break}}if(!t)return e}return s})},[E,O,r.length,u,v,H]);const U=t.useCallback(e=>{const t=e.currentTarget,r=b?t.scrollLeft:t.scrollTop;if(r===T.current)return;const i=r>T.current?"forward":"reverse";T.current=r,W(i),j(r),k(!0),d(r,i),A.current&&clearTimeout(A.current),A.current=setTimeout(()=>{k(!1),f()},g)},[b,d,f,g]);t.useEffect(()=>{const e=M.current;if(e)return e.addEventListener("scroll",U,{passive:!0}),()=>{e.removeEventListener("scroll",U)}},[U]);const F=t.useCallback((e,t)=>{y.current.recordItemSize(e,t),N(e=>e+1)},[]);t.useEffect(()=>{const e=x.current;return()=>{e.stopMeasuring()}},[F]);const B=t.useCallback((e,t="start")=>{if(!O)return;const r=y.current.getScrollOffsetForIndex(e,O,t),i=M.current;i&&(b?i.scrollLeft=r:i.scrollTop=r)},[O,b]),$=t.useCallback(e=>{const t=M.current;t&&(b?t.scrollLeft=e:t.scrollTop=e),T.current=e,j(e)},[b]),K=t.useCallback(e=>{T.current=e,j(e)},[]),q=t.useCallback((e,t)=>{const r=y.current.getItemOffset(e),i=w.current.includes(e),s={position:i?"sticky":"absolute",zIndex:i?10:0};return b?{...s,top:0,left:i?0:r,height:R||"100%",width:t}:{...s,top:i?0:r,left:0,width:"100%",height:t}},[b,R]),D=t.useCallback(e=>{if(i){const t=r[e];if(void 0!==t)return i(e,t)}return e},[i,r]),G=t.useCallback(e=>{y.current.invalidateFrom(e),N(e=>e+1)},[]);t.useEffect(()=>()=>{A.current&&clearTimeout(A.current),x.current?.destroy()},[]);const J=t.useMemo(()=>y.current.getTotalSize(),[r.length,H,O]),_=t.useCallback((e,t)=>{x.current.observeItem(e,t)},[]),X=t.useCallback(e=>{x.current.unobserveItem(e)},[]);return{virtualItems:L,isScrolling:C,scrollOffset:E,scrollDirection:P,totalSize:J,scrollToItem:B,scrollToOffset:$,setScrollOffset:K,containerRef:M,innerRef:I,getItemStyle:q,recalculate:G,getItemKeyForIndex:D,observeItem:_,unobserveItem:X}}const u=t.forwardRef(({items:r,renderItem:i,itemWrapper:s,itemKey:n,height:a=400,width:o=500,itemSize:u,overscan:c=5,scrollDirection:h="forward",onScroll:d,className:f="",itemClassName:m="",style:g={},innerClassName:p="",innerStyle:b={},itemStyle:w={},estimatedItemSize:v=35,getItemSize:y,stickyIndices:x=[],onScrollEnd:M,innerRef:I,scrollOffsetRef:S,footer:z},O)=>{const{virtualItems:R,isScrolling:E,scrollOffset:j,totalSize:C,containerRef:k,innerRef:P,getItemStyle:W,observeItem:A,unobserveItem:T}=l({items:r,getItemKey:n,containerHeight:"number"==typeof a?a:400,containerWidth:"number"==typeof o?o:500,overscan:c,estimatedItemSize:v,onScroll:d,onScrollEnd:M,stickyIndices:x}),H=t.useRef(null),N=t.useRef(null);t.useImperativeHandle(O,()=>H.current),t.useImperativeHandle(I,()=>N.current),t.useEffect(()=>{S&&(S.current=j)},[j,S]);const L={height:a,width:o,overflow:"auto",position:"relative",...g},V={width:"100%",...b,position:"relative",height:C},U=(...e)=>e.filter(Boolean).join(" ").trim(),F=t.useRef(new Map);return t.useEffect(()=>()=>{F.current.forEach(e=>T(e)),F.current.clear()},[]),e.jsx("div",{ref:e=>{H.current=e,k.current=e},className:U("virtualize-container",f),style:L,onScroll:e=>{const t=e.target,r=i?.__scrollHandler;r&&r(e),d&&d(t.scrollTop,"auto")},children:e.jsxs("div",{ref:e=>{N.current=e,P.current=e},style:V,className:U("virtualize-inner",p),children:[R.map(a=>{const o=r[a.index],l=n?n(a.index,o):a.index,u=W(a.index,a.size),c={item:o,index:a.index,style:u,isScrolling:E},h=i(c);return s?e.jsx(t.Fragment,{children:s({item:o,index:a.index,style:u,children:h})},l):e.jsx("div",{ref:(d=a.index,e=>{const t=F.current.get(d);t&&t!==e&&(T(t),F.current.delete(d)),e&&(F.current.set(d,e),A(d,e))}),"data-virtualize-index":a.index,className:U("virtualize-item",m),style:{...w,...u,boxSizing:"border-box"},children:h},l);var d}),z&&e.jsx("div",{style:{position:"absolute",top:C,left:0,width:"100%"},children:z})]})})});u.displayName="VirtualList";class c{constructor(){Object.defineProperty(this,"positions",{enumerable:!0,configurable:!0,writable:!0,value:[]}),Object.defineProperty(this,"colHeights",{enumerable:!0,configurable:!0,writable:!0,value:[]}),Object.defineProperty(this,"rowOffsets",{enumerable:!0,configurable:!0,writable:!0,value:[0]}),Object.defineProperty(this,"currentRowMax",{enumerable:!0,configurable:!0,writable:!0,value:0}),Object.defineProperty(this,"maxBottom",{enumerable:!0,configurable:!0,writable:!0,value:0}),Object.defineProperty(this,"params",{enumerable:!0,configurable:!0,writable:!0,value:null})}sameParams(e){return!!this.params&&(this.params.cols===e.cols&&this.params.colWidth===e.colWidth&&this.params.gap===e.gap&&this.params.layout===e.layout&&this.params.rowHeight===e.rowHeight)}reset(e){this.positions=[],this.colHeights=new Array(e.cols).fill(0),this.rowOffsets=[0],this.currentRowMax=0,this.maxBottom=0,this.params=e}sizeOf(e,t){return"function"==typeof e?e(t):e}appendMasonry(e,t,r){for(let i=e;i<t;i++){const e=this.sizeOf(r.rowHeight,i);let t=0;for(let e=1;e<r.cols;e++)this.colHeights[e]<this.colHeights[t]&&(t=e);const s=t*(r.colWidth+r.gap),n=this.colHeights[t];this.positions.push({x:s,y:n,width:r.colWidth,height:e}),this.colHeights[t]+=e+r.gap,n+e>this.maxBottom&&(this.maxBottom=n+e)}}appendGrid(e,t,r){for(let i=e;i<t;i++){const e=Math.floor(i/r.cols),t=i%r.cols,s=this.sizeOf(r.rowHeight,i);for(;this.rowOffsets.length<=e;){const e=this.rowOffsets.length-1,t=e>=0?r.gap:0;this.rowOffsets.push(this.rowOffsets[e]+this.currentRowMax+t),this.currentRowMax=0}const n=this.rowOffsets[e],a=t*(r.colWidth+r.gap);this.positions.push({x:a,y:n,width:r.colWidth,height:s}),this.currentRowMax=Math.max(this.currentRowMax,s),n+s>this.maxBottom&&(this.maxBottom=n+s)}}sync(e,t){(!this.sameParams(t)||e<this.positions.length)&&this.reset(t);const r=this.positions.length;return r<e&&("masonry"===t.layout?this.appendMasonry(r,e,t):this.appendGrid(r,e,t)),this.positions}getTotalHeight(){return this.maxBottom}}const h=t.forwardRef(({items:r,renderItem:i,itemKey:s,height:n=600,width:a="100%",columnCount:o=3,rowHeight:l=200,columnWidth:u,layout:h="grid",overscan:d=5,gap:f=16,onScroll:m,onVisibleRangeChange:g,innerClassName:p,innerStyle:b,containerClassName:w,containerStyle:v,itemClassName:y,itemStyle:x},M)=>{const I=t.useRef(null);t.useImperativeHandle(M,()=>I.current);const[S,z]=t.useState(0),[O,R]=t.useState(!1),[E,j]=t.useState(0),C=t.useRef(null);t.useEffect(()=>{if(!I.current)return;const e=I.current,t=new ResizeObserver(e=>{for(const t of e){const e=t.contentRect.width;e>0&&j(e)}});return t.observe(e),()=>t.disconnect()},[]),t.useEffect(()=>()=>{C.current&&clearTimeout(C.current)},[]);const k=E>0&&r.length>0,P=t.useMemo(()=>{if("auto"===o){const e=200;return Math.max(1,Math.floor(E/(e+f)))}return Math.max(1,Number(o))},[o,E,f]),W=t.useMemo(()=>{if("number"==typeof u)return u;const e=f*Math.max(0,P-1);return Math.max(0,(E-e)/P)},[E,P,f,u]),A="grid"===h&&"number"==typeof l,T="string"==typeof n?parseInt(n):Number(n),H=l+f,N=t.useMemo(()=>{if(!A||!k)return 0;const e=Math.ceil(r.length/P);return e>0?e*H-f:0},[A,k,r.length,P,H,f]),L=t.useMemo(()=>{if(!A||!k)return{start:0,end:-1};const e=Math.max(0,Math.floor(S/H)),t=Math.max(0,Math.floor((S+T)/H)),i=Math.ceil(d/P);return{start:Math.max(0,(e-i)*P),end:Math.min(r.length-1,(t+i+1)*P-1)}},[A,k,S,T,H,d,P,r.length]),V=t.useCallback(e=>{const t=Math.floor(e/P);return{x:e%P*(W+f),y:t*H,width:W,height:l}},[P,W,f,H,l]),U=t.useRef(null);null===U.current&&(U.current=new c);const F=t.useMemo(()=>A||!k?[]:U.current.sync(r.length,{cols:P,colWidth:W,gap:f,layout:h,rowHeight:l}),[A,k,r.length,P,W,f,h,l]),B=t.useMemo(()=>A||!k?0:U.current.getTotalHeight(),[A,k,F]),$=t.useMemo(()=>{if(A||!F.length)return{start:0,end:-1};const e=S+T,t=F.length,r="masonry"===h?d+P:d;let i=0,s=t-1,n=0;for(;i<=s;){const e=i+s>>1;F[e].y+F[e].height>=S?(n=e,s=e-1):i=e+1}i=0,s=t-1;let a=t-1;for(;i<=s;){const t=i+s>>1;F[t].y<=e?(a=t,i=t+1):s=t-1}return{start:Math.max(0,n-r),end:Math.min(t-1,a+r)}},[A,F,S,T,d,h,P]),K=A?N:B,q=A?L:$,D=t.useCallback(e=>{const t=e.currentTarget;z(t.scrollTop),R(!0),m?.(t.scrollTop,t.scrollLeft),C.current&&clearTimeout(C.current),C.current=setTimeout(()=>R(!1),120)},[m]);t.useEffect(()=>{g?.(q.start,q.end)},[q,g]);const G=(...e)=>e.filter(Boolean).join(" ").trim(),J={height:"string"==typeof n?n:`${n}px`,width:"string"==typeof a?a:`${a}px`,overflowY:"auto",overflowX:"hidden",position:"relative",...v},_={position:"relative",height:K||1,width:"100%",...b};if(!k)return e.jsx("div",{ref:I,className:G("virtualize-grid-container",w),style:J,onScroll:D,children:e.jsx("div",{className:G("virtualize-grid-inner",p),style:_})});const X=[];for(let e=q.start;e<=q.end;e++)e>=0&&e<r.length&&X.push({index:e,key:s?.(e,r[e])??e});return e.jsx("div",{ref:I,className:G("virtualize-grid-container",w),style:J,onScroll:D,children:e.jsx("div",{className:G("virtualize-grid-inner",p),style:_,children:X.map(t=>{const s=r[t.index],n=A?V(t.index):F[t.index];if(!s||!n)return null;const a={...x,position:"absolute",top:`${n.y}px`,left:`${n.x}px`,width:`${n.width}px`,height:`${n.height}px`,boxSizing:"border-box"};return e.jsx("div",{"data-virtualize-index":t.index,className:G("virtualize-grid-item",y),style:a,children:i({item:s,index:t.index,isScrolling:O})},t.key)})})})});function d(e,t){return t?e:e.toLowerCase()}h.displayName="VirtualGrid";const f=new Map;exports.MeasurementSystem=a,exports.VirtualGrid=h,exports.VirtualList=u,exports.VirtualizationEngine=n,exports.useInfiniteScroll=function({onLoadMore:e,rootMargin:r="500px",isLoading:i=!1,enabled:s=!0,root:n}){const a=t.useRef(null),[o,l]=t.useState(!1),u=t.useRef(!1),c=t.useRef(e);return t.useEffect(()=>{c.current=e},[e]),t.useEffect(()=>{if(!s)return;const e=a.current;if(!e)return;if("undefined"==typeof window||!("IntersectionObserver"in window))return;const t=new IntersectionObserver(e=>{const t=e[0];t&&(l(t.isIntersecting),!t.isIntersecting||u.current||i||(u.current=!0,Promise.resolve(c.current()).finally(()=>{u.current=!1})))},{root:n?.current??null,rootMargin:r,threshold:0});return t.observe(e),()=>{t.disconnect()}},[s,r,i,n?.current]),{sentinelRef:a,isAtBottom:o,isLoading:i}},exports.useLazyLoad=function({threshold:e=.1,onVisible:r,root:i=null,rootMargin:s="0px",enabled:n=!0,once:a=!0}={}){const[o,l]=t.useState(!1),[u,c]=t.useState(null),h=t.useRef(null),d=t.useRef(r);return t.useEffect(()=>{d.current=r},[r]),t.useEffect(()=>{if(!n)return;const t=h.current;if(!t)return;if("undefined"==typeof window||!("IntersectionObserver"in window))return l(!0),void d.current?.();const r=new IntersectionObserver(([e])=>{c(e),e.isIntersecting?(l(!0),d.current?.(),a&&r.unobserve(e.target)):a||l(!1)},{threshold:e,root:i,rootMargin:s});return r.observe(t),()=>{r.disconnect()}},[e,i,s,n,a]),{ref:h,isVisible:o,entry:u}},exports.useScrollRestoration=function(e,r,{persist:i=!0,storageKey:s="virtualize-scroll-positions",storage:n,autoSave:a=!1,maxEntries:o=100,useRAF:l=!0,enabled:u=!0,onError:c}={}){const h=t.useRef(n??("undefined"!=typeof window&&"undefined"!=typeof document?window.localStorage:null));t.useEffect(()=>{if(u&&i&&h.current&&!(f.size>0))try{const e=h.current.getItem(s);if(!e)return;JSON.parse(e).forEach(e=>{f.set(e.key,e)})}catch(e){c?.(e)}},[u,i,s,c]);const d=t.useCallback(()=>{if(i&&h.current)try{const e=Array.from(f.values()).sort((e,t)=>t.timestamp-e.timestamp).slice(0,o);h.current.setItem(s,JSON.stringify(e))}catch(e){c?.(e)}},[i,s,o,c]),m=t.useCallback(()=>{if(!u)return;const t=r.current;if(!t)return;const i={key:e,top:t.scrollTop,left:t.scrollLeft,timestamp:Date.now()};f.set(e,i),d()},[e,r,u,d]),g=t.useCallback(()=>{if(!u)return;if(!r.current)return;const t=f.get(e);if(!t)return;const i=()=>{r.current&&(r.current.scrollTop=t.top,r.current.scrollLeft=t.left)};l?requestAnimationFrame(i):i()},[e,r,u,l]);return t.useEffect(()=>{u&&g()},[u,g]),t.useEffect(()=>{if(u)return()=>{m()}},[u,m]),t.useEffect(()=>{if(!u||!a||!r.current)return;const e=r.current,t=()=>{m()};return e.addEventListener("scroll",t,{passive:!0}),()=>{e.removeEventListener("scroll",t)}},[u,a,m,r]),{savePosition:m,restorePosition:g}},exports.useVirtualList=l,exports.useVirtualizedSearch=function({items:r,searchValue:i,searchFields:s,caseSensitive:n=!1,deferSearch:a=!0,matcher:o}){const l=t.useMemo(()=>d(i.trim(),n),[i,n]),u=t.useDeferredValue(l),c=a?u:l,h=a&&u!==l,f=t.useCallback(e=>!c||(o?o(e,c):function(e,t,r,i){return r.some(r=>{const s=e[r];return null!=s&&d(String(s).trim(),i).includes(t)})}(e,c,s,n)),[c,o,s,n]),m=t.useMemo(()=>c?r.filter(f):[...r],[r,c,f]),g=t.useCallback(e=>f(e),[f]),p=t.useMemo(()=>{if(!l)return null;const e=l.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");return new RegExp(`(${e})`,n?"g":"gi")},[l,n]),b=t.useCallback(r=>{if(!r||!p)return r;return r.split(p).map((r,i)=>i%2==1?e.jsx("mark",{children:r},i):e.jsx(t.Fragment,{children:r},i))},[p]);return{filteredItems:m,resultCount:m.length,query:c,hasMatch:g,isSearching:h,highlightMatch:b}};
|
|
2
2
|
//# sourceMappingURL=index.cjs.js.map
|
package/dist/index.cjs.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.cjs.js","sources":["../src/core/VirtualizationEngine.ts","../src/core/MeasurementSystem.ts","../src/hooks/useVirtualList.ts","../src/components/VirtualList.tsx","../src/components/VirtualGrid.tsx","../src/hooks/useVirtualizedSearch.tsx","../src/hooks/useScrollRestoration.ts","../src/hooks/useInfiniteScroll.ts","../src/hooks/useLazyLoad.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null],"names":["VirtualizationEngine","constructor","estimatedItemSize","Object","defineProperty","this","value","setItemCount","count","itemCount","dirty","recordItemSize","index","size","itemSizeMap","invalidateFrom","fromIndex","undefined","key","keys","Number","rebuildPrefix","sum","prefix","i","getItemSize","getItemOffset","getTotalSize","binarySearch","offset","low","high","mid","Math","max","getVisibleRange","scrollOffset","containerSize","overscan","start","end","startIndex","endIndex","min","overscanStartIndex","overscanEndIndex","getVisibleItems","range","items","push","getScrollOffsetForIndex","alignment","MeasurementSystem","Map","WeakMap","entries","entry","element","target","observedElements","get","observedAxis","widthSize","round","contentRect","width","widthMeasurements","set","pendingWidthUpdates","height","measurements","pendingUpdates","flushPendingUpdates","window","resizeObserver","ResizeObserver","handleResize","startMeasuring","container","onMeasure","onMeasureWidth","querySelectorAll","forEach","item","indexAttr","dataset","virtualizeIndex","observeItem","axis","String","observe","syncMeasure","unobserveItem","unobserve","delete","rafId","requestAnimationFrame","clear","rect","getBoundingClientRect","rounded","stopMeasuring","disconnect","cancelAnimationFrame","getMeasurement","getWidthMeasurement","getAllMeasurements","getAllWidthMeasurements","clearPending","clearMeasurements","destroy","noop","useVirtualList","params","getItemKey","containerHeight","containerWidth","onScroll","onScrollEnd","stickyIndices","scrollEndDelay","autoMeasureContainer","isHorizontal","stickyIndicesRef","useRef","stickyKey","join","useEffect","current","engineRef","measurementRef","containerRef","innerRef","measuredViewport","setMeasuredViewport","useState","node","observer","prev","resolvedViewportSize","resolvedCrossAxisSize","setScrollOffsetState","isScrolling","setIsScrolling","scrollDirection","setScrollDirection","scrollTimeoutRef","lastScrollOffsetRef","measurementVersion","setMeasurementVersion","virtualItems","setVirtualItems","engine","length","visibleItems","sticky","nextVirtualItems","map","isSticky","includes","changed","prevItem","nextItem","handleScrollEvent","useCallback","e","currentTarget","newScrollOffset","scrollLeft","scrollTop","direction","clearTimeout","setTimeout","addEventListener","passive","removeEventListener","handleItemMeasure","v","measurement","scrollToItem","scrollToOffset","setScrollOffset","getItemStyle","isStickyItem","base","position","zIndex","top","left","getItemKeyForIndex","recalculate","totalSize","useMemo","VirtualList","forwardRef","renderItem","itemWrapper","itemKey","itemSize","className","itemClassName","style","scrollOffsetRef","internalContainerRef","internalInnerRef","mergedContainerRef","mergedInnerRef","useImperativeHandle","containerStyle","overflow","innerStyle","_jsx","ref","el","handler","__scrollHandler","children","virtualItem","virtualStyle","renderProps","content","React","Fragment","boxSizing","displayName","VirtualGrid","columnCount","rowHeight","columnWidth","layout","gap","onVisibleRangeChange","innerClassName","containerClassName","setScrollTop","setContainerWidth","scrollTimeout","isReady","cols","minColWidth","floor","colWidth","totalGapWidth","positions","pos","colHeights","Array","fill","itemHeight","minColIndex","indexOf","xPos","yPos","x","y","row","col","visibleRange","heightNum","parseInt","totalHeight","p","handleScroll","containerStyleComputed","overflowY","overflowX","innerStyleComputed","vItem","itemStyle","normalize","caseSensitive","toLowerCase","positionCache","onLoadMore","threshold","isLoading","enabled","isAtBottom","setIsAtBottom","loadingRef","onLoadMoreRef","checkIfAtBottom","scrollHeight","clientHeight","reachedBottom","Promise","resolve","finally","onVisible","root","rootMargin","once","isVisible","setIsVisible","setEntry","elementRef","callbackRef","IntersectionObserver","observerEntry","isIntersecting","persist","storageKey","storage","autoSave","maxEntries","useRAF","onError","storageRef","document","localStorage","raw","getItem","JSON","parse","error","persistCache","from","values","sort","a","b","timestamp","slice","setItem","stringify","savePosition","Date","now","restorePosition","restore","searchValue","searchFields","deferSearch","matcher","normalizedQuery","trim","deferredQuery","useDeferredValue","activeQuery","isSearching","itemMatcher","query","some","field","defaultMatcher","filteredItems","filter","hasMatch","highlightRegex","escaped","replace","RegExp","highlightMatch","text","split","part","resultCount"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.cjs.js","sources":["../src/core/FenwickTree.ts","../src/core/VirtualizationEngine.ts","../src/core/MeasurementSystem.ts","../src/hooks/useVirtualList.ts","../src/components/VirtualList.tsx","../src/core/GridLayoutEngine.ts","../src/components/VirtualGrid.tsx","../src/hooks/useVirtualizedSearch.tsx","../src/hooks/useScrollRestoration.ts","../src/hooks/useInfiniteScroll.ts","../src/hooks/useLazyLoad.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null],"names":["lowbit","i","nextPow2","x","p","FenwickTree","constructor","initialCount","Object","defineProperty","this","capacity","Math","max","tree","Array","fill","raw","resize","size","n","rebuild","parent","count","defaultValue","newCapacity","oldRaw","length","update","index","value","delta","getValue","prefixSum","sum","min","total","findIndexAtOffset","target","pos","remaining","pw","next","resetAll","VirtualizationEngine","estimatedItemSize","setItemCount","itemCount","recordItemSize","invalidateFrom","fromIndex","undefined","getItemSize","getItemOffset","getTotalSize","getVisibleRange","scrollOffset","containerSize","overscan","startIndex","endIndex","overscanStartIndex","overscanEndIndex","start","end","getVisibleItems","range","items","push","offset","getScrollOffsetForIndex","alignment","MeasurementSystem","Map","WeakMap","entries","entry","element","observedElements","get","observedAxis","widthSize","round","contentRect","width","widthMeasurements","set","pendingWidthUpdates","height","measurements","pendingUpdates","flushPendingUpdates","window","resizeObserver","ResizeObserver","handleResize","startMeasuring","onMeasure","onMeasureWidth","observeItem","axis","dataset","virtualizeIndex","String","observe","syncMeasure","unobserveItem","unobserve","delete","rafId","requestAnimationFrame","forEach","clear","rect","getBoundingClientRect","rounded","stopMeasuring","disconnect","cancelAnimationFrame","getMeasurement","getWidthMeasurement","getAllMeasurements","getAllWidthMeasurements","clearPending","clearMeasurements","destroy","noop","useVirtualList","params","getItemKey","containerHeight","containerWidth","onScroll","onScrollEnd","stickyIndices","scrollEndDelay","autoMeasureContainer","isHorizontal","stickyIndicesRef","useRef","stickyKey","join","useEffect","current","engineRef","measurementRef","containerRef","innerRef","measuredViewport","setMeasuredViewport","useState","node","observer","prev","resolvedViewportSize","resolvedCrossAxisSize","setScrollOffsetState","isScrolling","setIsScrolling","scrollDirection","setScrollDirection","scrollTimeoutRef","lastScrollOffsetRef","measurementVersion","setMeasurementVersion","virtualItems","setVirtualItems","engine","visibleItems","sticky","nextVirtualItems","map","item","isSticky","includes","changed","prevItem","nextItem","handleScrollEvent","useCallback","e","currentTarget","newScrollOffset","scrollLeft","scrollTop","direction","clearTimeout","setTimeout","container","addEventListener","passive","removeEventListener","handleItemMeasure","v","measurement","scrollToItem","scrollToOffset","setScrollOffset","getItemStyle","isStickyItem","base","position","zIndex","top","left","getItemKeyForIndex","recalculate","totalSize","useMemo","VirtualList","forwardRef","renderItem","itemWrapper","itemKey","itemSize","className","itemClassName","style","innerClassName","innerStyle","itemStyle","scrollOffsetRef","footer","internalContainerRef","internalInnerRef","mergedContainerRef","mergedInnerRef","useImperativeHandle","containerStyle","overflow","innerStyleComputed","cx","parts","filter","Boolean","trim","observedElementsRef","el","_jsx","ref","handler","__scrollHandler","_jsxs","virtualItem","key","virtualStyle","renderProps","content","React","Fragment","children","boxSizing","displayName","GridLayoutEngine","sameParams","cols","colWidth","gap","layout","rowHeight","reset","positions","colHeights","rowOffsets","currentRowMax","maxBottom","sizeOf","appendMasonry","h","minCol","c","y","appendGrid","row","floor","col","prevRow","gapBefore","sync","from","getTotalHeight","VirtualGrid","columnCount","columnWidth","onVisibleRangeChange","containerClassName","setScrollTop","setContainerWidth","scrollTimeout","w","isReady","minColWidth","Number","totalGapWidth","isFastPath","heightNumForRange","parseInt","fastRowStep","fastTotalHeight","numRows","ceil","fastVisibleRange","startRow","endRow","overscanRows","fastPositionOf","gridEngineRef","generalPositions","generalTotalHeight","generalVisibleRange","scrollBottom","effectiveOverscan","lo","hi","startIdx","mid","endIdx","totalHeight","visibleRange","handleScroll","containerStyleComputed","overflowY","overflowX","vItem","computedItemStyle","normalize","caseSensitive","toLowerCase","positionCache","onLoadMore","rootMargin","isLoading","enabled","root","sentinelRef","isAtBottom","setIsAtBottom","loadingRef","onLoadMoreRef","sentinel","IntersectionObserver","isIntersecting","Promise","resolve","finally","threshold","onVisible","once","isVisible","setIsVisible","setEntry","elementRef","callbackRef","observerEntry","persist","storageKey","storage","autoSave","maxEntries","useRAF","onError","storageRef","document","localStorage","getItem","JSON","parse","error","persistCache","values","sort","a","b","timestamp","slice","setItem","stringify","savePosition","Date","now","restorePosition","restore","searchValue","searchFields","deferSearch","matcher","normalizedQuery","deferredQuery","useDeferredValue","activeQuery","isSearching","itemMatcher","query","some","field","defaultMatcher","filteredItems","hasMatch","highlightRegex","escaped","replace","RegExp","highlightMatch","text","split","part","resultCount"],"mappings":"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"}
|
package/dist/index.esm.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{jsx as e}from"react/jsx-runtime";import t,{useRef as r,useEffect as n,useState as i,useCallback as s,useMemo as o,forwardRef as l,useImperativeHandle as a,useDeferredValue as c}from"react";class u{constructor(e=35){Object.defineProperty(this,"itemSizeMap",{enumerable:!0,configurable:!0,writable:!0,value:{}}),Object.defineProperty(this,"estimatedItemSize",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"itemCount",{enumerable:!0,configurable:!0,writable:!0,value:0}),Object.defineProperty(this,"prefix",{enumerable:!0,configurable:!0,writable:!0,value:[0]}),Object.defineProperty(this,"dirty",{enumerable:!0,configurable:!0,writable:!0,value:!0}),this.estimatedItemSize=e}setItemCount(e){this.itemCount!==e&&(this.itemCount=e,this.dirty=!0)}recordItemSize(e,t){this.itemSizeMap[e]!==t&&(this.itemSizeMap[e]=t,this.dirty=!0)}invalidateFrom(e){if(void 0===e)return this.itemSizeMap={},void(this.dirty=!0);e<0&&(e=0);for(const t of Object.keys(this.itemSizeMap)){const r=Number(t);r>=e&&delete this.itemSizeMap[r]}this.dirty=!0}rebuildPrefix(){let e=0;this.prefix=[0];for(let t=0;t<this.itemCount;t++)e+=this.itemSizeMap[t]??this.estimatedItemSize,this.prefix[t+1]=e;this.dirty=!1}getItemSize(e){return this.itemSizeMap[e]??this.estimatedItemSize}getItemOffset(e){return this.dirty&&this.rebuildPrefix(),this.prefix[e]??0}getTotalSize(){return this.dirty&&this.rebuildPrefix(),this.prefix[this.itemCount]||0}binarySearch(e){this.dirty&&this.rebuildPrefix();let t=0,r=this.itemCount-1;for(;t<=r;){const n=t+r>>1,i=this.prefix[n];if(i===e)return n;i<e?t=n+1:r=n-1}return Math.max(0,t-1)}getVisibleRange(e,t,r,n=5){this.setItemCount(r);const i=this.binarySearch(e),s=this.binarySearch(e+t);return{startIndex:Math.max(0,i-n),endIndex:Math.min(r-1,s+n),overscanStartIndex:i,overscanEndIndex:s}}getVisibleItems(e,t,r,n){const i=this.getVisibleRange(e,t,r,n),s=[];for(let e=i.startIndex;e<=i.endIndex;e++)s.push({index:e,size:this.getItemSize(e),offset:this.getItemOffset(e)});return s}getScrollOffsetForIndex(e,t,r="start"){const n=this.getItemOffset(e),i=this.getItemSize(e);return"center"===r?Math.max(0,n-(t-i)/2):"end"===r?Math.max(0,n-t+i):Math.max(0,n)}}class h{constructor(){Object.defineProperty(this,"resizeObserver",{enumerable:!0,configurable:!0,writable:!0,value:null}),Object.defineProperty(this,"measurements",{enumerable:!0,configurable:!0,writable:!0,value:new Map}),Object.defineProperty(this,"widthMeasurements",{enumerable:!0,configurable:!0,writable:!0,value:new Map}),Object.defineProperty(this,"observedElements",{enumerable:!0,configurable:!0,writable:!0,value:new WeakMap}),Object.defineProperty(this,"observedAxis",{enumerable:!0,configurable:!0,writable:!0,value:new WeakMap}),Object.defineProperty(this,"pendingUpdates",{enumerable:!0,configurable:!0,writable:!0,value:new Map}),Object.defineProperty(this,"pendingWidthUpdates",{enumerable:!0,configurable:!0,writable:!0,value:new Map}),Object.defineProperty(this,"rafId",{enumerable:!0,configurable:!0,writable:!0,value:null}),Object.defineProperty(this,"onMeasure",{enumerable:!0,configurable:!0,writable:!0,value:null}),Object.defineProperty(this,"onMeasureWidth",{enumerable:!0,configurable:!0,writable:!0,value:null}),Object.defineProperty(this,"handleResize",{enumerable:!0,configurable:!0,writable:!0,value:e=>{for(const t of e){const e=t.target,r=this.observedElements.get(e);if(void 0===r)continue;if("width"===(this.observedAxis.get(e)??"height")){const e=Math.round(t.contentRect.width);this.widthMeasurements.get(r)!==e&&(this.widthMeasurements.set(r,e),this.pendingWidthUpdates.set(r,e));continue}const n=Math.round(t.contentRect.height);this.measurements.get(r)!==n&&(this.measurements.set(r,n),this.pendingUpdates.set(r,n))}this.flushPendingUpdates()}}),"undefined"!=typeof window&&"ResizeObserver"in window&&(this.resizeObserver=new ResizeObserver(this.handleResize))}startMeasuring(e,t,r){this.onMeasure=t,this.onMeasureWidth=r??null;e.querySelectorAll("[data-virtualize-index]").forEach(e=>{const t=e.dataset.virtualizeIndex;if(void 0===t)return;const r=Number(t);this.observeItem(r,e)})}observeItem(e,t,r="height"){t.dataset.virtualizeIndex=String(e),this.observedElements.set(t,e),this.observedAxis.set(t,r),this.resizeObserver?.observe(t),this.syncMeasure(e,t,r)}unobserveItem(e){this.resizeObserver?.unobserve(e),this.observedElements.delete(e),this.observedAxis.delete(e)}flushPendingUpdates(){null===this.rafId&&(this.rafId=requestAnimationFrame(()=>{this.pendingUpdates.forEach((e,t)=>{this.onMeasure?.(t,e)}),this.pendingUpdates.clear(),this.pendingWidthUpdates.forEach((e,t)=>{this.onMeasureWidth?.(t,e)}),this.pendingWidthUpdates.clear(),this.rafId=null}))}syncMeasure(e,t,r="height"){const n=t.getBoundingClientRect(),i="width"===r?n.width:n.height;if(i<=0)return;const s=Math.round(i);if("width"===r){if(this.widthMeasurements.get(e)===s)return;return this.widthMeasurements.set(e,s),void this.onMeasureWidth?.(e,s)}this.measurements.get(e)!==s&&(this.measurements.set(e,s),this.onMeasure?.(e,s))}stopMeasuring(){this.resizeObserver?.disconnect(),this.pendingUpdates.clear(),this.pendingWidthUpdates.clear(),null!==this.rafId&&cancelAnimationFrame(this.rafId)}getMeasurement(e){return this.measurements.get(e)}getWidthMeasurement(e){return this.widthMeasurements.get(e)}getAllMeasurements(){return new Map(this.measurements)}getAllWidthMeasurements(){return new Map(this.widthMeasurements)}clearPending(){this.pendingUpdates.clear(),this.pendingWidthUpdates.clear()}clearMeasurements(){this.measurements.clear(),this.widthMeasurements.clear()}destroy(){this.stopMeasuring(),this.measurements.clear(),this.pendingUpdates.clear(),this.widthMeasurements.clear(),this.pendingWidthUpdates.clear(),this.observedElements=new WeakMap,this.observedAxis=new WeakMap,this.onMeasure=null,this.onMeasureWidth=null}}const d=()=>{};function f(e){const{items:t,getItemKey:l,containerHeight:a,containerWidth:c,overscan:f=5,estimatedItemSize:m=35,axis:g="vertical",onScroll:p=d,onScrollEnd:b=d,stickyIndices:v,scrollEndDelay:y=150,autoMeasureContainer:w=!0}=e,x="horizontal"===g,M=r(v??[]),S=v?v.join(","):"";n(()=>{M.current=v??[]},[S]);const I=r(null);null===I.current&&(I.current=new u(m));const z=r(null);null===z.current&&(z.current=new h);const O=r(null),P=r(null),[R,E]=i({height:0,width:0});n(()=>{if(!w)return;const e=O.current;if(!e||"undefined"==typeof ResizeObserver)return;const t=new ResizeObserver(e=>{const t=e[0];if(!t)return;const{height:r,width:n}=t.contentRect;E(e=>e.height===r&&e.width===n?e:{height:r,width:n})});return t.observe(e),()=>{t.disconnect()}},[w]);const W=a>0?a:R.height,k=c&&c>0?c:R.width,[N,T]=i(0),[j,C]=i(!1),[L,A]=i("forward"),U=r(null),F=r(0),[V,$]=i(0),[H,K]=i([]);n(()=>{const e=I.current;if(!W||0===t.length)return void K(e=>0===e.length?e:[]);const r=e.getVisibleItems(N,W,t.length,f),n=M.current,i=r.map(e=>({index:e.index,offset:e.offset,size:e.size,isSticky:n.includes(e.index)}));K(e=>{if(e.length===i.length){let t=!1;for(let r=0;r<e.length;r++){const n=e[r],s=i[r];if(n.index!==s.index||n.offset!==s.offset||n.size!==s.size||n.isSticky!==s.isSticky){t=!0;break}}if(!t)return e}return i})},[N,W,t.length,f,S,V]);const q=s(e=>{const t=e.currentTarget,r=x?t.scrollLeft:t.scrollTop;if(r===F.current)return;const n=r>F.current?"forward":"reverse";F.current=r,A(n),T(r),C(!0),p(r,n),U.current&&clearTimeout(U.current),U.current=setTimeout(()=>{C(!1),b()},y)},[x,p,b,y]);n(()=>{const e=O.current;if(e)return e.addEventListener("scroll",q,{passive:!0}),()=>{e.removeEventListener("scroll",q)}},[q]);const D=s((e,t)=>{I.current.recordItemSize(e,t),$(e=>e+1)},[]);n(()=>{const e=O.current,t=z.current;return e&&t.startMeasuring(e,D),()=>{t.stopMeasuring()}},[D]);const B=s((e,t="start")=>{if(!W)return;const r=I.current.getScrollOffsetForIndex(e,W,t),n=O.current;n&&(x?n.scrollLeft=r:n.scrollTop=r)},[W,x]),J=s(e=>{const t=O.current;t&&(x?t.scrollLeft=e:t.scrollTop=e),F.current=e,T(e)},[x]),_=s(e=>{F.current=e,T(e)},[]),G=s((e,t)=>{const r=I.current.getItemOffset(e),n=M.current.includes(e),i={position:n?"sticky":"absolute",zIndex:n?10:0};return x?{...i,top:0,left:n?0:r,height:k||"100%",width:t}:{...i,top:n?0:r,left:0,width:"100%",height:t}},[x,k]),X=s(e=>{if(l){const r=t[e];if(void 0!==r)return l(e,r)}return e},[l,t]),Y=s(e=>{I.current.invalidateFrom(e),$(e=>e+1)},[]);n(()=>()=>{U.current&&clearTimeout(U.current),z.current?.destroy()},[]);const Q=o(()=>I.current.getTotalSize(),[t.length,V,W]);return{virtualItems:H,isScrolling:j,scrollOffset:N,scrollDirection:L,totalSize:Q,scrollToItem:B,scrollToOffset:J,setScrollOffset:_,containerRef:O,innerRef:P,getItemStyle:G,recalculate:Y,getItemKeyForIndex:X}}const m=l(({items:i,renderItem:s,itemWrapper:o,itemKey:l,height:c=400,width:u=500,itemSize:h,overscan:d=5,scrollDirection:m="forward",onScroll:g,className:p="",itemClassName:b="",style:v={},estimatedItemSize:y=35,getItemSize:w,stickyIndices:x=[],onScrollEnd:M,innerRef:S,scrollOffsetRef:I},z)=>{const{virtualItems:O,isScrolling:P,scrollOffset:R,totalSize:E,containerRef:W,innerRef:k,getItemStyle:N}=f({items:i,getItemKey:l,containerHeight:"number"==typeof c?c:400,containerWidth:"number"==typeof u?u:500,overscan:d,estimatedItemSize:y,onScroll:g,onScrollEnd:M,stickyIndices:x}),T=r(null),j=r(null);a(z,()=>T.current),a(S,()=>j.current),n(()=>{I&&(I.current=R)},[R,I]);const C={height:c,width:u,overflow:"auto",position:"relative",...v};return e("div",{ref:e=>{T.current=e,W.current=e},className:`virtualize-container ${p}`,style:C,onScroll:e=>{const t=e.target,r=s?.__scrollHandler;r&&r(e),g&&g(t.scrollTop,"auto")},children:e("div",{ref:e=>{j.current=e,k.current=e},style:{position:"relative",height:E,width:"100%"},className:"virtualize-inner",children:O.map(r=>{const n=i[r.index],a=l?l(r.index,n):r.index,c=N(r.index,r.size),u={item:n,index:r.index,style:c,isScrolling:P},h=s(u);return o?e(t.Fragment,{children:o({item:n,index:r.index,style:c,children:h})},a):e("div",{"data-virtualize-index":r.index,className:b,style:{...c,boxSizing:"border-box"},children:h},a)})})})});m.displayName="VirtualList";const g=l(({items:t,renderItem:l,itemKey:c,height:u=600,width:h="100%",columnCount:d=3,rowHeight:f=200,columnWidth:m,layout:g="grid",overscan:p=5,gap:b=16,onScroll:v,onVisibleRangeChange:y,innerClassName:w,innerStyle:x,containerClassName:M,containerStyle:S},I)=>{const z=r(null);a(I,()=>z.current);const[O,P]=i(0),[R,E]=i(!1),[W,k]=i(0),N=r(null);n(()=>{if(!z.current)return;const e=z.current,t=new ResizeObserver(e=>{for(const t of e){const e=t.contentRect.width;e>0&&k(e)}});return t.observe(e),()=>t.disconnect()},[]),n(()=>()=>{N.current&&clearTimeout(N.current)},[]);const T=W>0&&t.length>0,j=o(()=>{if("auto"===d){const e=200;return Math.max(1,Math.floor(W/(e+b)))}return Math.max(1,Number(d))},[d,W,b]),C=o(()=>{if("number"==typeof m)return m;const e=b*Math.max(0,j-1);return Math.max(0,(W-e)/j)},[W,j,b,m]),L=o(()=>{if(!T)return[];const e=[];if("masonry"===g){const r=Array(j).fill(0);for(let n=0;n<t.length;n++){const t="function"==typeof f?f(n):Number(f),i=r.indexOf(Math.min(...r)),s=i*(C+b),o=r[i];e.push({x:s,y:o,width:C,height:t}),r[i]+=t+b}}else for(let r=0;r<t.length;r++){const t=Math.floor(r/j),n=r%j,i="function"==typeof f?f(r):Number(f);e.push({x:n*(C+b),y:t*(i+b),width:C,height:i})}return e},[t,j,C,b,g,f,T]),A=o(()=>{if(!L.length||!T)return{start:0,end:0};const e="string"==typeof u?parseInt(u):Number(u);let r=0;for(let e=0;e<L.length;e++)if(L[e].y+L[e].height>=O){r=e;break}let n=L.length-1;for(let t=L.length-1;t>=0;t--)if(L[t].y<=O+e){n=t;break}return{start:Math.max(0,r-p),end:Math.min(t.length-1,n+p)}},[L,O,u,p,t.length,T]),U=o(()=>{if(!L.length)return 0;return Math.max(...L.map(e=>e.y+e.height))||0},[L]),F=s(e=>{const t=e.currentTarget,r=t.scrollTop,n=t.scrollLeft;P(r),E(!0),v?.(r,n),N.current&&clearTimeout(N.current),N.current=setTimeout(()=>{E(!1)},120)},[v]);n(()=>{y?.(A.start,A.end)},[A,y]);const V={height:"string"==typeof u?u:`${u}px`,width:"string"==typeof h?h:`${h}px`,overflowY:"auto",overflowX:"hidden",position:"relative",...S},$={position:"relative",height:U||1,width:"100%",...x};if(!T)return e("div",{ref:z,className:M,style:V,onScroll:F,children:e("div",{className:w,style:$})});const H=[];for(let e=A.start;e<=A.end;e++)e>=0&&e<t.length&&H.push({index:e,key:c?.(e,t[e])??e});return e("div",{ref:z,className:M,style:V,onScroll:F,children:e("div",{className:w,style:$,children:H.map(r=>{const n=t[r.index],i=L[r.index];if(!n||!i)return null;const s={position:"absolute",top:`${i.y}px`,left:`${i.x}px`,width:`${i.width}px`,height:`${i.height}px`,boxSizing:"border-box"};return e("div",{style:s,children:l({item:n,index:r.index,isScrolling:R})},r.key)})})})});function p(e,t){return t?e:e.toLowerCase()}function b({items:r,searchValue:n,searchFields:i,caseSensitive:l=!1,deferSearch:a=!0,matcher:u}){const h=o(()=>p(n.trim(),l),[n,l]),d=c(h),f=a?d:h,m=a&&d!==h,g=s(e=>!f||(u?u(e,f):function(e,t,r,n){return r.some(r=>{const i=e[r];return null!=i&&p(String(i).trim(),n).includes(t)})}(e,f,i,l)),[f,u,i,l]),b=o(()=>f?r.filter(g):[...r],[r,f,g]),v=s(e=>g(e),[g]),y=o(()=>{if(!h)return null;const e=h.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");return new RegExp(`(${e})`,l?"g":"gi")},[h,l]),w=s(r=>{if(!r||!y)return r;return r.split(y).map((r,n)=>e(n%2==1?"mark":t.Fragment,{children:r},n))},[y]);return{filteredItems:b,resultCount:b.length,query:f,hasMatch:v,isSearching:m,highlightMatch:w}}function v({threshold:e=.1,onVisible:t,root:s=null,rootMargin:o="0px",enabled:l=!0,once:a=!0}={}){const[c,u]=i(!1),[h,d]=i(null),f=r(null),m=r(t);return n(()=>{m.current=t},[t]),n(()=>{if(!l)return;const t=f.current;if(!t)return;if("undefined"==typeof window||!("IntersectionObserver"in window))return u(!0),void m.current?.();const r=new IntersectionObserver(([e])=>{d(e),e.isIntersecting?(u(!0),m.current?.(),a&&r.unobserve(e.target)):a||u(!1)},{threshold:e,root:s,rootMargin:o});return r.observe(t),()=>{r.disconnect()}},[e,s,o,l,a]),{ref:f,isVisible:c,entry:h}}function y({onLoadMore:e,threshold:t=500,isLoading:o=!1,enabled:l=!0}){const a=r(null),[c,u]=i(!1),h=r(!1),d=r(e);n(()=>{d.current=e},[e]);const f=s(()=>{if(!l)return;const e=a.current;if(!e)return;const{scrollTop:r,scrollHeight:n,clientHeight:i}=e,s=n-r-i<=t;u(s),!s||h.current||o||(h.current=!0,Promise.resolve(d.current()).finally(()=>{h.current=!1}))},[t,l,o]);return n(()=>{if(!l)return;const e=a.current;if(!e)return;const t=()=>{f()};return e.addEventListener("scroll",t,{passive:!0}),f(),()=>{e.removeEventListener("scroll",t)}},[l,f]),{containerRef:a,isAtBottom:c,isLoading:o,checkIfAtBottom:f}}g.displayName="VirtualGrid";const w=new Map;function x(e,t,{persist:i=!0,storageKey:o="virtualize-scroll-positions",storage:l,autoSave:a=!1,maxEntries:c=100,useRAF:u=!0,enabled:h=!0,onError:d}={}){const f=r(l??("undefined"!=typeof window&&"undefined"!=typeof document?window.localStorage:null));n(()=>{if(h&&i&&f.current&&!(w.size>0))try{const e=f.current.getItem(o);if(!e)return;JSON.parse(e).forEach(e=>{w.set(e.key,e)})}catch(e){d?.(e)}},[h,i,o,d]);const m=s(()=>{if(i&&f.current)try{const e=Array.from(w.values()).sort((e,t)=>t.timestamp-e.timestamp).slice(0,c);f.current.setItem(o,JSON.stringify(e))}catch(e){d?.(e)}},[i,o,c,d]),g=s(()=>{if(!h)return;const r=t.current;if(!r)return;const n={key:e,top:r.scrollTop,left:r.scrollLeft,timestamp:Date.now()};w.set(e,n),m()},[e,t,h,m]),p=s(()=>{if(!h)return;if(!t.current)return;const r=w.get(e);if(!r)return;const n=()=>{t.current&&(t.current.scrollTop=r.top,t.current.scrollLeft=r.left)};u?requestAnimationFrame(n):n()},[e,t,h,u]);return n(()=>{h&&p()},[h,p]),n(()=>{if(h)return()=>{g()}},[h,g]),n(()=>{if(!h||!a||!t.current)return;const e=t.current,r=()=>{g()};return e.addEventListener("scroll",r,{passive:!0}),()=>{e.removeEventListener("scroll",r)}},[h,a,g,t]),{savePosition:g,restorePosition:p}}export{h as MeasurementSystem,g as VirtualGrid,m as VirtualList,u as VirtualizationEngine,y as useInfiniteScroll,v as useLazyLoad,x as useScrollRestoration,f as useVirtualList,b as useVirtualizedSearch};
|
|
1
|
+
import{jsx as e,jsxs as t}from"react/jsx-runtime";import r,{useRef as i,useEffect as n,useState as s,useCallback as o,useMemo as a,forwardRef as l,useImperativeHandle as c,useDeferredValue as u}from"react";function h(e){return e&-e}function d(e){let t=1;for(;t<e;)t<<=1;return t}class f{constructor(e=0){Object.defineProperty(this,"capacity",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"tree",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"raw",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"n",{enumerable:!0,configurable:!0,writable:!0,value:0}),this.capacity=d(Math.max(1,e)),this.tree=new Array(this.capacity+1).fill(0),this.raw=new Array(this.capacity).fill(0),e>0&&this.resize(e,0)}size(){return this.n}rebuild(){this.tree=new Array(this.capacity+1).fill(0);for(let e=1;e<=this.capacity;e++){this.tree[e]+=this.raw[e-1]??0;const t=e+h(e);t<=this.capacity&&(this.tree[t]+=this.tree[e])}}resize(e,t){if(e>this.capacity){const r=d(e),i=this.raw;this.raw=new Array(r).fill(0);for(let e=0;e<i.length;e++)this.raw[e]=i[e];for(let r=this.n;r<e;r++)this.raw[r]=t;return this.capacity=r,this.rebuild(),void(this.n=e)}if(e>this.n){for(let r=this.n;r<e;r++)this.update(r,t);this.n=e}else if(e<this.n){for(let t=e;t<this.n;t++)this.update(t,0);this.n=e}}update(e,t){if(e<0||e>=this.capacity)return;const r=t-(this.raw[e]??0);if(0!==r){this.raw[e]=t;for(let t=e+1;t<=this.capacity;t+=h(t))this.tree[t]+=r}}getValue(e){return this.raw[e]??0}prefixSum(e){let t=0;for(let r=Math.min(e,this.n);r>0;r-=h(r))t+=this.tree[r];return t}total(){return this.prefixSum(this.n)}findIndexAtOffset(e){if(0===this.n)return 0;let t=0,r=e;for(let e=this.capacity;e>0;e>>=1){const i=t+e;i<=this.capacity&&this.tree[i]<=r&&(t=i,r-=this.tree[i])}return Math.min(t,this.n-1)}resetAll(e){for(let e=0;e<this.n;e++)this.raw[e]=0;this.rebuild();for(let t=0;t<this.n;t++)this.update(t,e)}}class m{constructor(e=35){Object.defineProperty(this,"tree",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"estimatedItemSize",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"itemCount",{enumerable:!0,configurable:!0,writable:!0,value:0}),this.estimatedItemSize=e,this.tree=new f(0)}setItemCount(e){this.itemCount!==e&&(this.tree.resize(e,this.estimatedItemSize),this.itemCount=e)}recordItemSize(e,t){e<0||e>=this.itemCount||this.tree.update(e,t)}invalidateFrom(e){if(void 0===e)return void this.tree.resetAll(this.estimatedItemSize);for(let t=Math.max(0,e);t<this.itemCount;t++)this.tree.update(t,this.estimatedItemSize)}getItemSize(e){return e<0||e>=this.itemCount?this.estimatedItemSize:this.tree.getValue(e)}getItemOffset(e){return this.tree.prefixSum(Math.max(0,e))}getTotalSize(){return this.tree.total()}getVisibleRange(e,t,r,i=5){if(this.setItemCount(r),0===r)return{startIndex:0,endIndex:-1,overscanStartIndex:0,overscanEndIndex:-1};const n=this.tree.findIndexAtOffset(e),s=this.tree.findIndexAtOffset(e+t);return{startIndex:Math.max(0,n-i),endIndex:Math.min(r-1,s+i),overscanStartIndex:n,overscanEndIndex:s}}getVisibleItems(e,t,r,i){const n=this.getVisibleRange(e,t,r,i),s=[];for(let e=n.startIndex;e<=n.endIndex;e++)s.push({index:e,size:this.getItemSize(e),offset:this.getItemOffset(e)});return s}getScrollOffsetForIndex(e,t,r="start"){const i=this.getItemOffset(e),n=this.getItemSize(e);return"center"===r?Math.max(0,i-(t-n)/2):"end"===r?Math.max(0,i-t+n):Math.max(0,i)}}class g{constructor(){Object.defineProperty(this,"resizeObserver",{enumerable:!0,configurable:!0,writable:!0,value:null}),Object.defineProperty(this,"measurements",{enumerable:!0,configurable:!0,writable:!0,value:new Map}),Object.defineProperty(this,"widthMeasurements",{enumerable:!0,configurable:!0,writable:!0,value:new Map}),Object.defineProperty(this,"observedElements",{enumerable:!0,configurable:!0,writable:!0,value:new WeakMap}),Object.defineProperty(this,"observedAxis",{enumerable:!0,configurable:!0,writable:!0,value:new WeakMap}),Object.defineProperty(this,"pendingUpdates",{enumerable:!0,configurable:!0,writable:!0,value:new Map}),Object.defineProperty(this,"pendingWidthUpdates",{enumerable:!0,configurable:!0,writable:!0,value:new Map}),Object.defineProperty(this,"rafId",{enumerable:!0,configurable:!0,writable:!0,value:null}),Object.defineProperty(this,"onMeasure",{enumerable:!0,configurable:!0,writable:!0,value:null}),Object.defineProperty(this,"onMeasureWidth",{enumerable:!0,configurable:!0,writable:!0,value:null}),Object.defineProperty(this,"handleResize",{enumerable:!0,configurable:!0,writable:!0,value:e=>{for(const t of e){const e=t.target,r=this.observedElements.get(e);if(void 0===r)continue;if("width"===(this.observedAxis.get(e)??"height")){const e=Math.round(t.contentRect.width);this.widthMeasurements.get(r)!==e&&(this.widthMeasurements.set(r,e),this.pendingWidthUpdates.set(r,e));continue}const i=Math.round(t.contentRect.height);this.measurements.get(r)!==i&&(this.measurements.set(r,i),this.pendingUpdates.set(r,i))}this.flushPendingUpdates()}}),"undefined"!=typeof window&&"ResizeObserver"in window&&(this.resizeObserver=new ResizeObserver(this.handleResize))}startMeasuring(e,t){this.onMeasure=e,this.onMeasureWidth=t??null}observeItem(e,t,r="height"){t.dataset.virtualizeIndex=String(e),this.observedElements.set(t,e),this.observedAxis.set(t,r),this.resizeObserver?.observe(t),this.syncMeasure(e,t,r)}unobserveItem(e){this.resizeObserver?.unobserve(e),this.observedElements.delete(e),this.observedAxis.delete(e)}flushPendingUpdates(){null===this.rafId&&(this.rafId=requestAnimationFrame(()=>{this.pendingUpdates.forEach((e,t)=>{this.onMeasure?.(t,e)}),this.pendingUpdates.clear(),this.pendingWidthUpdates.forEach((e,t)=>{this.onMeasureWidth?.(t,e)}),this.pendingWidthUpdates.clear(),this.rafId=null}))}syncMeasure(e,t,r="height"){const i=t.getBoundingClientRect(),n="width"===r?i.width:i.height;if(n<=0)return;const s=Math.round(n);if("width"===r){if(this.widthMeasurements.get(e)===s)return;return this.widthMeasurements.set(e,s),void this.onMeasureWidth?.(e,s)}this.measurements.get(e)!==s&&(this.measurements.set(e,s),this.onMeasure?.(e,s))}stopMeasuring(){this.resizeObserver?.disconnect(),this.pendingUpdates.clear(),this.pendingWidthUpdates.clear(),null!==this.rafId&&cancelAnimationFrame(this.rafId)}getMeasurement(e){return this.measurements.get(e)}getWidthMeasurement(e){return this.widthMeasurements.get(e)}getAllMeasurements(){return new Map(this.measurements)}getAllWidthMeasurements(){return new Map(this.widthMeasurements)}clearPending(){this.pendingUpdates.clear(),this.pendingWidthUpdates.clear()}clearMeasurements(){this.measurements.clear(),this.widthMeasurements.clear()}destroy(){this.stopMeasuring(),this.measurements.clear(),this.pendingUpdates.clear(),this.widthMeasurements.clear(),this.pendingWidthUpdates.clear(),this.observedElements=new WeakMap,this.observedAxis=new WeakMap,this.onMeasure=null,this.onMeasureWidth=null}}const p=()=>{};function b(e){const{items:t,getItemKey:r,containerHeight:l,containerWidth:c,overscan:u=5,estimatedItemSize:h=35,axis:d="vertical",onScroll:f=p,onScrollEnd:b=p,stickyIndices:w,scrollEndDelay:v=150,autoMeasureContainer:y=!0}=e,x="horizontal"===d,M=i(w??[]),I=w?w.join(","):"";n(()=>{M.current=w??[]},[I]);const O=i(null);null===O.current&&(O.current=new m(h));const S=i(null);null===S.current&&(S.current=new g);const z=i(null),P=i(null),[R,W]=s({height:0,width:0});n(()=>{if(!y)return;const e=z.current;if(!e||"undefined"==typeof ResizeObserver)return;const t=new ResizeObserver(e=>{const t=e[0];if(!t)return;const{height:r,width:i}=t.contentRect;W(e=>e.height===r&&e.width===i?e:{height:r,width:i})});return t.observe(e),()=>{t.disconnect()}},[y]);const j=l>0?l:R.height,A=c&&c>0?c:R.width,[E,T]=s(0),[N,C]=s(!1),[k,H]=s("forward"),U=i(null),L=i(0),[F,V]=s(0),[B,$]=s([]);n(()=>{const e=O.current;if(!j||0===t.length)return void $(e=>0===e.length?e:[]);const r=e.getVisibleItems(E,j,t.length,u),i=M.current,n=r.map(e=>({index:e.index,offset:e.offset,size:e.size,isSticky:i.includes(e.index)}));$(e=>{if(e.length===n.length){let t=!1;for(let r=0;r<e.length;r++){const i=e[r],s=n[r];if(i.index!==s.index||i.offset!==s.offset||i.size!==s.size||i.isSticky!==s.isSticky){t=!0;break}}if(!t)return e}return n})},[E,j,t.length,u,I,F]);const K=o(e=>{const t=e.currentTarget,r=x?t.scrollLeft:t.scrollTop;if(r===L.current)return;const i=r>L.current?"forward":"reverse";L.current=r,H(i),T(r),C(!0),f(r,i),U.current&&clearTimeout(U.current),U.current=setTimeout(()=>{C(!1),b()},v)},[x,f,b,v]);n(()=>{const e=z.current;if(e)return e.addEventListener("scroll",K,{passive:!0}),()=>{e.removeEventListener("scroll",K)}},[K]);const D=o((e,t)=>{O.current.recordItemSize(e,t),V(e=>e+1)},[]);n(()=>{const e=S.current;return()=>{e.stopMeasuring()}},[D]);const q=o((e,t="start")=>{if(!j)return;const r=O.current.getScrollOffsetForIndex(e,j,t),i=z.current;i&&(x?i.scrollLeft=r:i.scrollTop=r)},[j,x]),G=o(e=>{const t=z.current;t&&(x?t.scrollLeft=e:t.scrollTop=e),L.current=e,T(e)},[x]),J=o(e=>{L.current=e,T(e)},[]),_=o((e,t)=>{const r=O.current.getItemOffset(e),i=M.current.includes(e),n={position:i?"sticky":"absolute",zIndex:i?10:0};return x?{...n,top:0,left:i?0:r,height:A||"100%",width:t}:{...n,top:i?0:r,left:0,width:"100%",height:t}},[x,A]),X=o(e=>{if(r){const i=t[e];if(void 0!==i)return r(e,i)}return e},[r,t]),Y=o(e=>{O.current.invalidateFrom(e),V(e=>e+1)},[]);n(()=>()=>{U.current&&clearTimeout(U.current),S.current?.destroy()},[]);const Q=a(()=>O.current.getTotalSize(),[t.length,F,j]),Z=o((e,t)=>{S.current.observeItem(e,t)},[]),ee=o(e=>{S.current.unobserveItem(e)},[]);return{virtualItems:B,isScrolling:N,scrollOffset:E,scrollDirection:k,totalSize:Q,scrollToItem:q,scrollToOffset:G,setScrollOffset:J,containerRef:z,innerRef:P,getItemStyle:_,recalculate:Y,getItemKeyForIndex:X,observeItem:Z,unobserveItem:ee}}const w=l(({items:s,renderItem:o,itemWrapper:a,itemKey:l,height:u=400,width:h=500,itemSize:d,overscan:f=5,scrollDirection:m="forward",onScroll:g,className:p="",itemClassName:w="",style:v={},innerClassName:y="",innerStyle:x={},itemStyle:M={},estimatedItemSize:I=35,getItemSize:O,stickyIndices:S=[],onScrollEnd:z,innerRef:P,scrollOffsetRef:R,footer:W},j)=>{const{virtualItems:A,isScrolling:E,scrollOffset:T,totalSize:N,containerRef:C,innerRef:k,getItemStyle:H,observeItem:U,unobserveItem:L}=b({items:s,getItemKey:l,containerHeight:"number"==typeof u?u:400,containerWidth:"number"==typeof h?h:500,overscan:f,estimatedItemSize:I,onScroll:g,onScrollEnd:z,stickyIndices:S}),F=i(null),V=i(null);c(j,()=>F.current),c(P,()=>V.current),n(()=>{R&&(R.current=T)},[T,R]);const B={height:u,width:h,overflow:"auto",position:"relative",...v},$={width:"100%",...x,position:"relative",height:N},K=(...e)=>e.filter(Boolean).join(" ").trim(),D=i(new Map);return n(()=>()=>{D.current.forEach(e=>L(e)),D.current.clear()},[]),e("div",{ref:e=>{F.current=e,C.current=e},className:K("virtualize-container",p),style:B,onScroll:e=>{const t=e.target,r=o?.__scrollHandler;r&&r(e),g&&g(t.scrollTop,"auto")},children:t("div",{ref:e=>{V.current=e,k.current=e},style:$,className:K("virtualize-inner",y),children:[A.map(t=>{const i=s[t.index],n=l?l(t.index,i):t.index,c=H(t.index,t.size),u={item:i,index:t.index,style:c,isScrolling:E},h=o(u);return a?e(r.Fragment,{children:a({item:i,index:t.index,style:c,children:h})},n):e("div",{ref:(d=t.index,e=>{const t=D.current.get(d);t&&t!==e&&(L(t),D.current.delete(d)),e&&(D.current.set(d,e),U(d,e))}),"data-virtualize-index":t.index,className:K("virtualize-item",w),style:{...M,...c,boxSizing:"border-box"},children:h},n);var d}),W&&e("div",{style:{position:"absolute",top:N,left:0,width:"100%"},children:W})]})})});w.displayName="VirtualList";class v{constructor(){Object.defineProperty(this,"positions",{enumerable:!0,configurable:!0,writable:!0,value:[]}),Object.defineProperty(this,"colHeights",{enumerable:!0,configurable:!0,writable:!0,value:[]}),Object.defineProperty(this,"rowOffsets",{enumerable:!0,configurable:!0,writable:!0,value:[0]}),Object.defineProperty(this,"currentRowMax",{enumerable:!0,configurable:!0,writable:!0,value:0}),Object.defineProperty(this,"maxBottom",{enumerable:!0,configurable:!0,writable:!0,value:0}),Object.defineProperty(this,"params",{enumerable:!0,configurable:!0,writable:!0,value:null})}sameParams(e){return!!this.params&&(this.params.cols===e.cols&&this.params.colWidth===e.colWidth&&this.params.gap===e.gap&&this.params.layout===e.layout&&this.params.rowHeight===e.rowHeight)}reset(e){this.positions=[],this.colHeights=new Array(e.cols).fill(0),this.rowOffsets=[0],this.currentRowMax=0,this.maxBottom=0,this.params=e}sizeOf(e,t){return"function"==typeof e?e(t):e}appendMasonry(e,t,r){for(let i=e;i<t;i++){const e=this.sizeOf(r.rowHeight,i);let t=0;for(let e=1;e<r.cols;e++)this.colHeights[e]<this.colHeights[t]&&(t=e);const n=t*(r.colWidth+r.gap),s=this.colHeights[t];this.positions.push({x:n,y:s,width:r.colWidth,height:e}),this.colHeights[t]+=e+r.gap,s+e>this.maxBottom&&(this.maxBottom=s+e)}}appendGrid(e,t,r){for(let i=e;i<t;i++){const e=Math.floor(i/r.cols),t=i%r.cols,n=this.sizeOf(r.rowHeight,i);for(;this.rowOffsets.length<=e;){const e=this.rowOffsets.length-1,t=e>=0?r.gap:0;this.rowOffsets.push(this.rowOffsets[e]+this.currentRowMax+t),this.currentRowMax=0}const s=this.rowOffsets[e],o=t*(r.colWidth+r.gap);this.positions.push({x:o,y:s,width:r.colWidth,height:n}),this.currentRowMax=Math.max(this.currentRowMax,n),s+n>this.maxBottom&&(this.maxBottom=s+n)}}sync(e,t){(!this.sameParams(t)||e<this.positions.length)&&this.reset(t);const r=this.positions.length;return r<e&&("masonry"===t.layout?this.appendMasonry(r,e,t):this.appendGrid(r,e,t)),this.positions}getTotalHeight(){return this.maxBottom}}const y=l(({items:t,renderItem:r,itemKey:l,height:u=600,width:h="100%",columnCount:d=3,rowHeight:f=200,columnWidth:m,layout:g="grid",overscan:p=5,gap:b=16,onScroll:w,onVisibleRangeChange:y,innerClassName:x,innerStyle:M,containerClassName:I,containerStyle:O,itemClassName:S,itemStyle:z},P)=>{const R=i(null);c(P,()=>R.current);const[W,j]=s(0),[A,E]=s(!1),[T,N]=s(0),C=i(null);n(()=>{if(!R.current)return;const e=R.current,t=new ResizeObserver(e=>{for(const t of e){const e=t.contentRect.width;e>0&&N(e)}});return t.observe(e),()=>t.disconnect()},[]),n(()=>()=>{C.current&&clearTimeout(C.current)},[]);const k=T>0&&t.length>0,H=a(()=>{if("auto"===d){const e=200;return Math.max(1,Math.floor(T/(e+b)))}return Math.max(1,Number(d))},[d,T,b]),U=a(()=>{if("number"==typeof m)return m;const e=b*Math.max(0,H-1);return Math.max(0,(T-e)/H)},[T,H,b,m]),L="grid"===g&&"number"==typeof f,F="string"==typeof u?parseInt(u):Number(u),V=f+b,B=a(()=>{if(!L||!k)return 0;const e=Math.ceil(t.length/H);return e>0?e*V-b:0},[L,k,t.length,H,V,b]),$=a(()=>{if(!L||!k)return{start:0,end:-1};const e=Math.max(0,Math.floor(W/V)),r=Math.max(0,Math.floor((W+F)/V)),i=Math.ceil(p/H);return{start:Math.max(0,(e-i)*H),end:Math.min(t.length-1,(r+i+1)*H-1)}},[L,k,W,F,V,p,H,t.length]),K=o(e=>{const t=Math.floor(e/H);return{x:e%H*(U+b),y:t*V,width:U,height:f}},[H,U,b,V,f]),D=i(null);null===D.current&&(D.current=new v);const q=a(()=>L||!k?[]:D.current.sync(t.length,{cols:H,colWidth:U,gap:b,layout:g,rowHeight:f}),[L,k,t.length,H,U,b,g,f]),G=a(()=>L||!k?0:D.current.getTotalHeight(),[L,k,q]),J=a(()=>{if(L||!q.length)return{start:0,end:-1};const e=W+F,t=q.length,r="masonry"===g?p+H:p;let i=0,n=t-1,s=0;for(;i<=n;){const e=i+n>>1;q[e].y+q[e].height>=W?(s=e,n=e-1):i=e+1}i=0,n=t-1;let o=t-1;for(;i<=n;){const t=i+n>>1;q[t].y<=e?(o=t,i=t+1):n=t-1}return{start:Math.max(0,s-r),end:Math.min(t-1,o+r)}},[L,q,W,F,p,g,H]),_=L?B:G,X=L?$:J,Y=o(e=>{const t=e.currentTarget;j(t.scrollTop),E(!0),w?.(t.scrollTop,t.scrollLeft),C.current&&clearTimeout(C.current),C.current=setTimeout(()=>E(!1),120)},[w]);n(()=>{y?.(X.start,X.end)},[X,y]);const Q=(...e)=>e.filter(Boolean).join(" ").trim(),Z={height:"string"==typeof u?u:`${u}px`,width:"string"==typeof h?h:`${h}px`,overflowY:"auto",overflowX:"hidden",position:"relative",...O},ee={position:"relative",height:_||1,width:"100%",...M};if(!k)return e("div",{ref:R,className:Q("virtualize-grid-container",I),style:Z,onScroll:Y,children:e("div",{className:Q("virtualize-grid-inner",x),style:ee})});const te=[];for(let e=X.start;e<=X.end;e++)e>=0&&e<t.length&&te.push({index:e,key:l?.(e,t[e])??e});return e("div",{ref:R,className:Q("virtualize-grid-container",I),style:Z,onScroll:Y,children:e("div",{className:Q("virtualize-grid-inner",x),style:ee,children:te.map(i=>{const n=t[i.index],s=L?K(i.index):q[i.index];if(!n||!s)return null;const o={...z,position:"absolute",top:`${s.y}px`,left:`${s.x}px`,width:`${s.width}px`,height:`${s.height}px`,boxSizing:"border-box"};return e("div",{"data-virtualize-index":i.index,className:Q("virtualize-grid-item",S),style:o,children:r({item:n,index:i.index,isScrolling:A})},i.key)})})})});function x(e,t){return t?e:e.toLowerCase()}function M({items:t,searchValue:i,searchFields:n,caseSensitive:s=!1,deferSearch:l=!0,matcher:c}){const h=a(()=>x(i.trim(),s),[i,s]),d=u(h),f=l?d:h,m=l&&d!==h,g=o(e=>!f||(c?c(e,f):function(e,t,r,i){return r.some(r=>{const n=e[r];return null!=n&&x(String(n).trim(),i).includes(t)})}(e,f,n,s)),[f,c,n,s]),p=a(()=>f?t.filter(g):[...t],[t,f,g]),b=o(e=>g(e),[g]),w=a(()=>{if(!h)return null;const e=h.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");return new RegExp(`(${e})`,s?"g":"gi")},[h,s]),v=o(t=>{if(!t||!w)return t;return t.split(w).map((t,i)=>e(i%2==1?"mark":r.Fragment,{children:t},i))},[w]);return{filteredItems:p,resultCount:p.length,query:f,hasMatch:b,isSearching:m,highlightMatch:v}}function I({threshold:e=.1,onVisible:t,root:r=null,rootMargin:o="0px",enabled:a=!0,once:l=!0}={}){const[c,u]=s(!1),[h,d]=s(null),f=i(null),m=i(t);return n(()=>{m.current=t},[t]),n(()=>{if(!a)return;const t=f.current;if(!t)return;if("undefined"==typeof window||!("IntersectionObserver"in window))return u(!0),void m.current?.();const i=new IntersectionObserver(([e])=>{d(e),e.isIntersecting?(u(!0),m.current?.(),l&&i.unobserve(e.target)):l||u(!1)},{threshold:e,root:r,rootMargin:o});return i.observe(t),()=>{i.disconnect()}},[e,r,o,a,l]),{ref:f,isVisible:c,entry:h}}function O({onLoadMore:e,rootMargin:t="500px",isLoading:r=!1,enabled:o=!0,root:a}){const l=i(null),[c,u]=s(!1),h=i(!1),d=i(e);return n(()=>{d.current=e},[e]),n(()=>{if(!o)return;const e=l.current;if(!e)return;if("undefined"==typeof window||!("IntersectionObserver"in window))return;const i=new IntersectionObserver(e=>{const t=e[0];t&&(u(t.isIntersecting),!t.isIntersecting||h.current||r||(h.current=!0,Promise.resolve(d.current()).finally(()=>{h.current=!1})))},{root:a?.current??null,rootMargin:t,threshold:0});return i.observe(e),()=>{i.disconnect()}},[o,t,r,a?.current]),{sentinelRef:l,isAtBottom:c,isLoading:r}}y.displayName="VirtualGrid";const S=new Map;function z(e,t,{persist:r=!0,storageKey:s="virtualize-scroll-positions",storage:a,autoSave:l=!1,maxEntries:c=100,useRAF:u=!0,enabled:h=!0,onError:d}={}){const f=i(a??("undefined"!=typeof window&&"undefined"!=typeof document?window.localStorage:null));n(()=>{if(h&&r&&f.current&&!(S.size>0))try{const e=f.current.getItem(s);if(!e)return;JSON.parse(e).forEach(e=>{S.set(e.key,e)})}catch(e){d?.(e)}},[h,r,s,d]);const m=o(()=>{if(r&&f.current)try{const e=Array.from(S.values()).sort((e,t)=>t.timestamp-e.timestamp).slice(0,c);f.current.setItem(s,JSON.stringify(e))}catch(e){d?.(e)}},[r,s,c,d]),g=o(()=>{if(!h)return;const r=t.current;if(!r)return;const i={key:e,top:r.scrollTop,left:r.scrollLeft,timestamp:Date.now()};S.set(e,i),m()},[e,t,h,m]),p=o(()=>{if(!h)return;if(!t.current)return;const r=S.get(e);if(!r)return;const i=()=>{t.current&&(t.current.scrollTop=r.top,t.current.scrollLeft=r.left)};u?requestAnimationFrame(i):i()},[e,t,h,u]);return n(()=>{h&&p()},[h,p]),n(()=>{if(h)return()=>{g()}},[h,g]),n(()=>{if(!h||!l||!t.current)return;const e=t.current,r=()=>{g()};return e.addEventListener("scroll",r,{passive:!0}),()=>{e.removeEventListener("scroll",r)}},[h,l,g,t]),{savePosition:g,restorePosition:p}}export{g as MeasurementSystem,y as VirtualGrid,w as VirtualList,m as VirtualizationEngine,O as useInfiniteScroll,I as useLazyLoad,z as useScrollRestoration,b as useVirtualList,M as useVirtualizedSearch};
|
|
2
2
|
//# sourceMappingURL=index.esm.js.map
|
package/dist/index.esm.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.esm.js","sources":["../src/core/VirtualizationEngine.ts","../src/core/MeasurementSystem.ts","../src/hooks/useVirtualList.ts","../src/components/VirtualList.tsx","../src/components/VirtualGrid.tsx","../src/hooks/useVirtualizedSearch.tsx","../src/hooks/useLazyLoad.ts","../src/hooks/useInfiniteScroll.ts","../src/hooks/useScrollRestoration.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null],"names":["VirtualizationEngine","constructor","estimatedItemSize","Object","defineProperty","this","value","setItemCount","count","itemCount","dirty","recordItemSize","index","size","itemSizeMap","invalidateFrom","fromIndex","undefined","key","keys","Number","rebuildPrefix","sum","prefix","i","getItemSize","getItemOffset","getTotalSize","binarySearch","offset","low","high","mid","Math","max","getVisibleRange","scrollOffset","containerSize","overscan","start","end","startIndex","endIndex","min","overscanStartIndex","overscanEndIndex","getVisibleItems","range","items","push","getScrollOffsetForIndex","alignment","MeasurementSystem","Map","WeakMap","entries","entry","element","target","observedElements","get","observedAxis","widthSize","round","contentRect","width","widthMeasurements","set","pendingWidthUpdates","height","measurements","pendingUpdates","flushPendingUpdates","window","resizeObserver","ResizeObserver","handleResize","startMeasuring","container","onMeasure","onMeasureWidth","querySelectorAll","forEach","item","indexAttr","dataset","virtualizeIndex","observeItem","axis","String","observe","syncMeasure","unobserveItem","unobserve","delete","rafId","requestAnimationFrame","clear","rect","getBoundingClientRect","rounded","stopMeasuring","disconnect","cancelAnimationFrame","getMeasurement","getWidthMeasurement","getAllMeasurements","getAllWidthMeasurements","clearPending","clearMeasurements","destroy","noop","useVirtualList","params","getItemKey","containerHeight","containerWidth","onScroll","onScrollEnd","stickyIndices","scrollEndDelay","autoMeasureContainer","isHorizontal","stickyIndicesRef","useRef","stickyKey","join","useEffect","current","engineRef","measurementRef","containerRef","innerRef","measuredViewport","setMeasuredViewport","useState","node","observer","prev","resolvedViewportSize","resolvedCrossAxisSize","setScrollOffsetState","isScrolling","setIsScrolling","scrollDirection","setScrollDirection","scrollTimeoutRef","lastScrollOffsetRef","measurementVersion","setMeasurementVersion","virtualItems","setVirtualItems","engine","length","visibleItems","sticky","nextVirtualItems","map","isSticky","includes","changed","prevItem","nextItem","handleScrollEvent","useCallback","e","currentTarget","newScrollOffset","scrollLeft","scrollTop","direction","clearTimeout","setTimeout","addEventListener","passive","removeEventListener","handleItemMeasure","v","measurement","scrollToItem","scrollToOffset","setScrollOffset","getItemStyle","isStickyItem","base","position","zIndex","top","left","getItemKeyForIndex","recalculate","totalSize","useMemo","VirtualList","forwardRef","renderItem","itemWrapper","itemKey","itemSize","className","itemClassName","style","scrollOffsetRef","internalContainerRef","internalInnerRef","mergedContainerRef","mergedInnerRef","useImperativeHandle","containerStyle","overflow","_jsx","ref","el","handler","__scrollHandler","children","virtualItem","virtualStyle","renderProps","content","React","Fragment","boxSizing","displayName","VirtualGrid","columnCount","rowHeight","columnWidth","layout","gap","onVisibleRangeChange","innerClassName","innerStyle","containerClassName","setScrollTop","setContainerWidth","scrollTimeout","isReady","cols","minColWidth","floor","colWidth","totalGapWidth","positions","pos","colHeights","Array","fill","itemHeight","minColIndex","indexOf","xPos","yPos","x","y","row","col","visibleRange","heightNum","parseInt","totalHeight","p","handleScroll","containerStyleComputed","overflowY","overflowX","innerStyleComputed","vItem","itemStyle","normalize","caseSensitive","toLowerCase","useVirtualizedSearch","searchValue","searchFields","deferSearch","matcher","normalizedQuery","trim","deferredQuery","useDeferredValue","activeQuery","isSearching","itemMatcher","query","some","field","defaultMatcher","filteredItems","filter","hasMatch","highlightRegex","escaped","replace","RegExp","highlightMatch","text","split","part","resultCount","useLazyLoad","threshold","onVisible","root","rootMargin","enabled","once","isVisible","setIsVisible","setEntry","elementRef","callbackRef","IntersectionObserver","observerEntry","isIntersecting","useInfiniteScroll","onLoadMore","isLoading","isAtBottom","setIsAtBottom","loadingRef","onLoadMoreRef","checkIfAtBottom","scrollHeight","clientHeight","reachedBottom","Promise","resolve","finally","positionCache","useScrollRestoration","persist","storageKey","storage","autoSave","maxEntries","useRAF","onError","storageRef","document","localStorage","raw","getItem","JSON","parse","error","persistCache","from","values","sort","a","b","timestamp","slice","setItem","stringify","savePosition","Date","now","restorePosition","restore"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.esm.js","sources":["../src/core/FenwickTree.ts","../src/core/VirtualizationEngine.ts","../src/core/MeasurementSystem.ts","../src/hooks/useVirtualList.ts","../src/components/VirtualList.tsx","../src/core/GridLayoutEngine.ts","../src/components/VirtualGrid.tsx","../src/hooks/useVirtualizedSearch.tsx","../src/hooks/useLazyLoad.ts","../src/hooks/useInfiniteScroll.ts","../src/hooks/useScrollRestoration.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null],"names":["lowbit","i","nextPow2","x","p","FenwickTree","constructor","initialCount","Object","defineProperty","this","capacity","Math","max","tree","Array","fill","raw","resize","size","n","rebuild","parent","count","defaultValue","newCapacity","oldRaw","length","update","index","value","delta","getValue","prefixSum","sum","min","total","findIndexAtOffset","target","pos","remaining","pw","next","resetAll","VirtualizationEngine","estimatedItemSize","setItemCount","itemCount","recordItemSize","invalidateFrom","fromIndex","undefined","getItemSize","getItemOffset","getTotalSize","getVisibleRange","scrollOffset","containerSize","overscan","startIndex","endIndex","overscanStartIndex","overscanEndIndex","start","end","getVisibleItems","range","items","push","offset","getScrollOffsetForIndex","alignment","MeasurementSystem","Map","WeakMap","entries","entry","element","observedElements","get","observedAxis","widthSize","round","contentRect","width","widthMeasurements","set","pendingWidthUpdates","height","measurements","pendingUpdates","flushPendingUpdates","window","resizeObserver","ResizeObserver","handleResize","startMeasuring","onMeasure","onMeasureWidth","observeItem","axis","dataset","virtualizeIndex","String","observe","syncMeasure","unobserveItem","unobserve","delete","rafId","requestAnimationFrame","forEach","clear","rect","getBoundingClientRect","rounded","stopMeasuring","disconnect","cancelAnimationFrame","getMeasurement","getWidthMeasurement","getAllMeasurements","getAllWidthMeasurements","clearPending","clearMeasurements","destroy","noop","useVirtualList","params","getItemKey","containerHeight","containerWidth","onScroll","onScrollEnd","stickyIndices","scrollEndDelay","autoMeasureContainer","isHorizontal","stickyIndicesRef","useRef","stickyKey","join","useEffect","current","engineRef","measurementRef","containerRef","innerRef","measuredViewport","setMeasuredViewport","useState","node","observer","prev","resolvedViewportSize","resolvedCrossAxisSize","setScrollOffsetState","isScrolling","setIsScrolling","scrollDirection","setScrollDirection","scrollTimeoutRef","lastScrollOffsetRef","measurementVersion","setMeasurementVersion","virtualItems","setVirtualItems","engine","visibleItems","sticky","nextVirtualItems","map","item","isSticky","includes","changed","prevItem","nextItem","handleScrollEvent","useCallback","e","currentTarget","newScrollOffset","scrollLeft","scrollTop","direction","clearTimeout","setTimeout","container","addEventListener","passive","removeEventListener","handleItemMeasure","v","measurement","scrollToItem","scrollToOffset","setScrollOffset","getItemStyle","isStickyItem","base","position","zIndex","top","left","getItemKeyForIndex","recalculate","totalSize","useMemo","VirtualList","forwardRef","renderItem","itemWrapper","itemKey","itemSize","className","itemClassName","style","innerClassName","innerStyle","itemStyle","scrollOffsetRef","footer","internalContainerRef","internalInnerRef","mergedContainerRef","mergedInnerRef","useImperativeHandle","containerStyle","overflow","innerStyleComputed","cx","parts","filter","Boolean","trim","observedElementsRef","el","_jsx","ref","handler","__scrollHandler","_jsxs","virtualItem","key","virtualStyle","renderProps","content","React","Fragment","children","boxSizing","displayName","GridLayoutEngine","sameParams","cols","colWidth","gap","layout","rowHeight","reset","positions","colHeights","rowOffsets","currentRowMax","maxBottom","sizeOf","appendMasonry","h","minCol","c","y","appendGrid","row","floor","col","prevRow","gapBefore","sync","from","getTotalHeight","VirtualGrid","columnCount","columnWidth","onVisibleRangeChange","containerClassName","setScrollTop","setContainerWidth","scrollTimeout","w","isReady","minColWidth","Number","totalGapWidth","isFastPath","heightNumForRange","parseInt","fastRowStep","fastTotalHeight","numRows","ceil","fastVisibleRange","startRow","endRow","overscanRows","fastPositionOf","gridEngineRef","generalPositions","generalTotalHeight","generalVisibleRange","scrollBottom","effectiveOverscan","lo","hi","startIdx","mid","endIdx","totalHeight","visibleRange","handleScroll","containerStyleComputed","overflowY","overflowX","vItem","computedItemStyle","normalize","caseSensitive","toLowerCase","useVirtualizedSearch","searchValue","searchFields","deferSearch","matcher","normalizedQuery","deferredQuery","useDeferredValue","activeQuery","isSearching","itemMatcher","query","some","field","defaultMatcher","filteredItems","hasMatch","highlightRegex","escaped","replace","RegExp","highlightMatch","text","split","part","resultCount","useLazyLoad","threshold","onVisible","root","rootMargin","enabled","once","isVisible","setIsVisible","setEntry","elementRef","callbackRef","IntersectionObserver","observerEntry","isIntersecting","useInfiniteScroll","onLoadMore","isLoading","sentinelRef","isAtBottom","setIsAtBottom","loadingRef","onLoadMoreRef","sentinel","Promise","resolve","finally","positionCache","useScrollRestoration","persist","storageKey","storage","autoSave","maxEntries","useRAF","onError","storageRef","document","localStorage","getItem","JSON","parse","error","persistCache","values","sort","a","b","timestamp","slice","setItem","stringify","savePosition","Date","now","restorePosition","restore"],"mappings":"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"}
|
package/dist/main.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
-
import
|
|
3
|
-
import
|
|
4
|
-
import App from
|
|
5
|
-
createRoot(document.getElementById(
|
|
2
|
+
import React from "react";
|
|
3
|
+
import ReactDOM from "react-dom/client";
|
|
4
|
+
import App from "./App";
|
|
5
|
+
ReactDOM.createRoot(document.getElementById("root")).render(_jsx(React.StrictMode, { children: _jsx(App, {}) }));
|
|
6
6
|
//# sourceMappingURL=main.js.map
|
package/dist/main.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"main.js","sourceRoot":"","sources":["../src/main.tsx"],"names":[],"mappings":";AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"main.js","sourceRoot":"","sources":["../src/main.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,QAAQ,MAAM,kBAAkB,CAAC;AACxC,OAAO,GAAG,MAAM,OAAO,CAAC;AAExB,QAAQ,CAAC,UAAU,CAAC,QAAQ,CAAC,cAAc,CAAC,MAAM,CAAE,CAAC,CAAC,MAAM,CACxD,KAAC,KAAK,CAAC,UAAU,cACb,KAAC,GAAG,KAAG,GACQ,CACtB,CAAC"}
|