react-virtual-renderer 1.1.2 → 1.1.4
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 +66 -47
- 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 +54 -6
- package/dist/core/MeasurementSystem.d.ts.map +1 -1
- package/dist/core/MeasurementSystem.js +113 -9
- package/dist/core/MeasurementSystem.js.map +1 -1
- package/dist/core/VirtualizationEngine.d.ts +28 -5
- package/dist/core/VirtualizationEngine.d.ts.map +1 -1
- package/dist/core/VirtualizationEngine.js +58 -52
- 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 +37 -14
- package/dist/hooks/useInfiniteScroll.d.ts.map +1 -1
- package/dist/hooks/useInfiniteScroll.js +48 -38
- 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 +82 -4
- package/dist/hooks/useVirtualList.d.ts.map +1 -1
- package/dist/hooks/useVirtualList.js +220 -92
- 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
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.dirty=!0}recordItemSize(e,t){this.itemSizeMap[e]!==t&&(this.itemSizeMap[e]=t,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,s=this.prefix[n];if(s===e)return n;s<e?t=n+1:r=n-1}return Math.max(0,t-1)}getVisibleRange(e,t,r,n=5){this.setItemCount(r);const s=this.binarySearch(e),i=this.binarySearch(e+t);return{startIndex:Math.max(0,s-n),endIndex:Math.min(r-1,i+n),overscanStartIndex:s,overscanEndIndex:i}}getVisibleItems(e,t,r,n){const s=this.getVisibleRange(e,t,r,n),i=[];for(let e=s.startIndex;e<=s.endIndex;e++)i.push({index:e,size:this.getItemSize(e),offset:this.getItemOffset(e)});return i}getScrollOffsetForIndex(e,t,r="start"){const n=this.getItemOffset(e),s=this.getItemSize(e);return"center"===r?Math.max(0,n-(t-s)/2):"end"===r?Math.max(0,n-t+s):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,"observedElements",{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,"rafId",{enumerable:!0,configurable:!0,writable:!0,value:null}),Object.defineProperty(this,"onMeasure",{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;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){this.onMeasure=t;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){t.dataset.virtualizeIndex=String(e),this.observedElements.set(t,e),this.resizeObserver?.observe(t),this.syncMeasure(e,t)}unobserveItem(e){this.resizeObserver?.unobserve(e),this.observedElements.delete(e)}flushPendingUpdates(){null===this.rafId&&(this.rafId=requestAnimationFrame(()=>{this.pendingUpdates.forEach((e,t)=>{this.onMeasure?.(t,e)}),this.pendingUpdates.clear(),this.rafId=null}))}syncMeasure(e,t){const r=t.getBoundingClientRect().height;if(r<=0)return;const n=Math.round(r);this.measurements.get(e)!==n&&(this.measurements.set(e,n),this.onMeasure?.(e,n))}stopMeasuring(){this.resizeObserver?.disconnect(),this.pendingUpdates.clear(),null!==this.rafId&&cancelAnimationFrame(this.rafId)}getMeasurement(e){return this.measurements.get(e)}getAllMeasurements(){return new Map(this.measurements)}clearPending(){this.pendingUpdates.clear()}clearMeasurements(){this.measurements.clear()}destroy(){this.stopMeasuring(),this.measurements.clear(),this.pendingUpdates.clear(),this.observedElements=new WeakMap,this.onMeasure=null}}function s(e){const{items:s,containerHeight:i,overscan:o=5,scrollDirection:l="forward",estimatedItemSize:a=35,onScroll:u,onScrollEnd:c,stickyIndices:f=[]}=e,d=t.useRef(new r(a)),h=t.useRef(new n),m=t.useRef(null),g=t.useRef(null),[p,b]=t.useState(0),[x,v]=t.useState(!1),y=t.useRef(null),S=t.useRef(0),I=t.useRef(l),[w,M]=t.useState([]);t.useEffect(()=>{const e=d.current.getVisibleItems(p,i,s.length,o).map(e=>({index:e.index,offset:e.offset,size:e.size,isSticky:f.includes(e.index)}));M(t=>{if(t.length===e.length){let r=!1;for(let n=0;n<t.length;n++){const s=t[n],i=e[n];if(s.index!==i.index||s.offset!==i.offset||s.size!==i.size||s.isSticky!==i.isSticky){r=!0;break}}if(!r)return t}return e})},[p,i,s.length,o,f]);const z=t.useCallback(e=>{const t=e.currentTarget.scrollTop;if(t===S.current)return;const r=t>S.current?"forward":"reverse";I.current=r,S.current=t,b(t),v(!0),u&&u(t,r),y.current&&clearTimeout(y.current),y.current=setTimeout(()=>{v(!1),c&&c()},150)},[u,c]);t.useEffect(()=>{const e=m.current;if(!e)return;const t=e=>{z(e)};return e.addEventListener("scroll",t),()=>{e.removeEventListener("scroll",t)}},[z]);const R=t.useCallback((e,t)=>{d.current.recordItemSize(e,t)},[]);t.useEffect(()=>{const e=m.current;return e&&h.current.startMeasuring(e,R),()=>{h.current.stopMeasuring()}},[R]);const E=t.useCallback((e,t="start")=>{const r=d.current.getScrollOffsetForIndex(e,i,t);m.current&&(m.current.scrollTop=r)},[i]),O=t.useCallback(e=>{m.current&&(m.current.scrollTop=e)},[]),k=t.useCallback((e,t)=>{const r=d.current.getItemOffset(e),n=f.includes(e);return{position:n?"sticky":"absolute",top:n?0:r,left:0,width:"100%",height:t,zIndex:n?10:0}},[f]);t.useEffect(()=>()=>{y.current&&clearTimeout(y.current),h.current.destroy()},[]);const C=d.current.getTotalSize();return{virtualItems:w,isScrolling:x,scrollOffset:p,totalSize:C,scrollToItem:E,scrollToOffset:O,setScrollOffset:b,containerRef:m,innerRef:g,getItemStyle:k}}const i=t.forwardRef(({items:r,renderItem:n,itemWrapper:i,itemKey:o,height:l=400,width:a=500,itemSize:u,overscan:c=5,scrollDirection:f="forward",onScroll:d,className:h="",itemClassName:m="",style:g={},estimatedItemSize:p=35,getItemSize:b,stickyIndices:x=[],onScrollEnd:v,innerRef:y,scrollOffsetRef:S},I)=>{const{virtualItems:w,isScrolling:M,scrollOffset:z,totalSize:R,containerRef:E,innerRef:O,getItemStyle:k}=s({items:r,containerHeight:"number"==typeof l?l:400,overscan:c,scrollDirection:f,estimatedItemSize:p,onScroll:d,onScrollEnd:v,stickyIndices:x}),C=t.useRef(null),j=t.useRef(null);t.useImperativeHandle(I,()=>C.current),t.useImperativeHandle(y,()=>j.current),t.useEffect(()=>{S&&(S.current=z)},[z,S]);const P={height:l,width:a,overflow:"auto",position:"relative",...g},N={position:"relative",height:R,width:"100%"};return e.jsx("div",{ref:e=>{C.current=e,E.current=e},className:`virtualize-container ${h}`,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,O.current=e},style:N,className:"virtualize-inner",children:w.map(s=>{const l=r[s.index],a=o?o(s.index,l):s.index,u=k(s.index,s.size),c={item:l,index:s.index,style:u,isScrolling:M},f=n(c);return i?e.jsx(t.Fragment,{children:i({item:l,index:s.index,style:u,children:f})},a):e.jsx("div",{"data-virtualize-index":s.index,className:m,style:{...u,boxSizing:"border-box"},children:f},a)})})})});i.displayName="VirtualList";const o=t.forwardRef(({items:r,renderItem:n,itemKey:s,height:i=600,width:o="100%",columnCount:l=3,rowHeight:a=200,columnWidth:u,layout:c="grid",overscan:f=5,gap:d=16,onScroll:h,onVisibleRangeChange:m,innerClassName:g,innerStyle:p,containerClassName:b,containerStyle:x},v)=>{const y=t.useRef(null);t.useImperativeHandle(v,()=>y.current);const[S,I]=t.useState(0),[w,M]=t.useState(!1),[z,R]=t.useState(0),E=t.useRef(null);t.useEffect(()=>{if(!y.current)return;const e=y.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(()=>()=>{E.current&&clearTimeout(E.current)},[]);const O=z>0&&r.length>0,k=t.useMemo(()=>{if("auto"===l){const e=200;return Math.max(1,Math.floor(z/(e+d)))}return Math.max(1,Number(l))},[l,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(!O)return[];const e=[];if("masonry"===c){const t=Array(k).fill(0);for(let n=0;n<r.length;n++){const r="function"==typeof a?a(n):Number(a),s=t.indexOf(Math.min(...t)),i=s*(C+d),o=t[s];e.push({x:i,y:o,width:C,height:r}),t[s]+=r+d}}else for(let t=0;t<r.length;t++){const r=Math.floor(t/k),n=t%k,s="function"==typeof a?a(t):Number(a);e.push({x:n*(C+d),y:r*(s+d),width:C,height:s})}return e},[r,k,C,d,c,a,O]),P=t.useMemo(()=>{if(!j.length||!O)return{start:0,end:0};const e="string"==typeof i?parseInt(i):Number(i);let t=0;for(let e=0;e<j.length;e++)if(j[e].y+j[e].height>=S){t=e;break}let n=j.length-1;for(let t=j.length-1;t>=0;t--)if(j[t].y<=S+e){n=t;break}return{start:Math.max(0,t-f),end:Math.min(r.length-1,n+f)}},[j,S,i,f,r.length,O]),N=t.useMemo(()=>{if(!j.length)return 0;return Math.max(...j.map(e=>e.y+e.height))||0},[j]),T=t.useCallback(e=>{const t=e.currentTarget,r=t.scrollTop,n=t.scrollLeft;I(r),M(!0),h?.(r,n),E.current&&clearTimeout(E.current),E.current=setTimeout(()=>{M(!1)},120)},[h]);t.useEffect(()=>{m?.(P.start,P.end)},[P,m]);const L={height:"string"==typeof i?i:`${i}px`,width:"string"==typeof o?o:`${o}px`,overflowY:"auto",overflowX:"hidden",position:"relative",...x},V={position:"relative",height:N||1,width:"100%",...p};if(!O)return e.jsx("div",{ref:y,className:b,style:L,onScroll:T,children:e.jsx("div",{className:g,style:V})});const A=[];for(let e=P.start;e<=P.end;e++)e>=0&&e<r.length&&A.push({index:e,key:s?.(e,r[e])??e});return e.jsx("div",{ref:y,className:b,style:L,onScroll:T,children:e.jsx("div",{className:g,style:V,children:A.map(t=>{const s=r[t.index],i=j[t.index];if(!s||!i)return null;const o={position:"absolute",top:`${i.y}px`,left:`${i.x}px`,width:`${i.width}px`,height:`${i.height}px`,boxSizing:"border-box"};return e.jsx("div",{style:o,children:n({item:s,index:t.index,isScrolling:w})},t.key)})})})});function l(e,t){return t?e:e.toLowerCase()}o.displayName="VirtualGrid";const a=new Map;exports.MeasurementSystem=n,exports.VirtualGrid=o,exports.VirtualList=i,exports.VirtualizationEngine=r,exports.useInfiniteScroll=function({onLoadMore:e,threshold:r=500,isLoading:n=!1,enabled:s=!0}){const i=t.useRef(null),[o,l]=t.useState(!1),a=t.useRef(!1),u=t.useRef(e);t.useEffect(()=>{u.current=e},[e]);const c=t.useCallback(()=>{if(!s||n)return;const e=i.current;if(!e)return;const{scrollTop:t,scrollHeight:o,clientHeight:c}=e,f=o-t-c<=r;l(f),!f||a.current||n||(a.current=!0,Promise.resolve(u.current()).finally(()=>{a.current=!1}))},[r,n,s]);return t.useEffect(()=>{if(!s)return;const e=i.current;if(!e)return;const t=()=>{c()};return e.addEventListener("scroll",t,{passive:!0}),c(),()=>{e.removeEventListener("scroll",t)}},[c,s]),{containerRef:i,isAtBottom:o,isLoading:n,checkIfAtBottom:c}},exports.useLazyLoad=function({threshold:e=.1,onVisible:r,root:n=null,rootMargin:s="0px",enabled:i=!0,once:o=!0}={}){const[l,a]=t.useState(!1),[u,c]=t.useState(null),f=t.useRef(null),d=t.useRef(r);return t.useEffect(()=>{d.current=r},[r]),t.useEffect(()=>{if(!i)return;const t=f.current;if(!t)return;if("undefined"==typeof window||!("IntersectionObserver"in window))return a(!0),void d.current?.();const r=new IntersectionObserver(([e])=>{c(e),e.isIntersecting?(a(!0),d.current?.(),o&&r.unobserve(e.target)):o||a(!1)},{threshold:e,root:n,rootMargin:s});return r.observe(t),()=>{r.disconnect()}},[e,n,s,i,o]),{ref:f,isVisible:l,entry:u}},exports.useScrollRestoration=function(e,r,{persist:n=!0,storageKey:s="virtualize-scroll-positions",storage:i,autoSave:o=!1,maxEntries:l=100,useRAF:u=!0,enabled:c=!0,onError:f}={}){const d=t.useRef(i??("undefined"!=typeof window&&"undefined"!=typeof document?window.localStorage:null));t.useEffect(()=>{if(c&&n&&d.current&&!(a.size>0))try{const e=d.current.getItem(s);if(!e)return;JSON.parse(e).forEach(e=>{a.set(e.key,e)})}catch(e){f?.(e)}},[c,n,s,f]);const h=t.useCallback(()=>{if(n&&d.current)try{const e=Array.from(a.values()).sort((e,t)=>t.timestamp-e.timestamp).slice(0,l);d.current.setItem(s,JSON.stringify(e))}catch(e){f?.(e)}},[n,s,l,f]),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()};a.set(e,n),h()},[e,r,c,h]),g=t.useCallback(()=>{if(!c)return;if(!r.current)return;const t=a.get(e);if(!t)return;const n=()=>{r.current&&(r.current.scrollTop=t.top,r.current.scrollLeft=t.left)};u?requestAnimationFrame(n):n()},[e,r,c,u]);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:s,caseSensitive:i=!1,deferSearch:o=!0,matcher:a}){const u=t.useMemo(()=>l(n.trim(),i),[n,i]),c=t.useDeferredValue(u),f=o?c:u,d=o&&c!==u,h=t.useCallback(e=>!f||(a?a(e,f):function(e,t,r,n){return r.some(r=>{const s=e[r];return null!=s&&l(String(s).trim(),n).includes(t)})}(e,f,s,i)),[f,a,s,i]),m=t.useMemo(()=>f?r.filter(h):[...r],[r,f,h]),g=t.useCallback(e=>h(e),[h]),p=t.useMemo(()=>{if(!u)return null;const e=u.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");return new RegExp(`(${e})`,i?"g":"gi")},[u,i]),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:f,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,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 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),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: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:I.height,R=l&&l>0?l:I.width,[E,j]=t.useState(0),[C,k]=t.useState(!1),[P,W]=t.useState("forward"),A=t.useRef(null),T=t.useRef(0),[N,H]=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,N]);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),H(e=>e+1)},[]);t.useEffect(()=>{const e=M.current,t=x.current;return e&&t.startMeasuring(e,F),()=>{t.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]),q=t.useCallback(e=>{T.current=e,j(e)},[]),K=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),H(e=>e+1)},[]);t.useEffect(()=>()=>{A.current&&clearTimeout(A.current),x.current?.destroy()},[]);const J=t.useMemo(()=>y.current.getTotalSize(),[r.length,N,O]);return{virtualItems:L,isScrolling:C,scrollOffset:E,scrollDirection:P,totalSize:J,scrollToItem:B,scrollToOffset:$,setScrollOffset:q,containerRef:M,innerRef:S,getItemStyle:K,recalculate:G,getItemKeyForIndex:D}}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:S,scrollOffsetRef:I,footer:z},O)=>{const{virtualItems:R,isScrolling:E,scrollOffset:j,totalSize:C,containerRef:k,innerRef:P,getItemStyle:W}=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}),A=t.useRef(null),T=t.useRef(null);t.useImperativeHandle(O,()=>A.current),t.useImperativeHandle(S,()=>T.current),t.useEffect(()=>{I&&(I.current=j)},[j,I]);const N={height:a,width:o,overflow:"auto",position:"relative",...g},H={width:"100%",...b,position:"relative",height:C},L=(...e)=>e.filter(Boolean).join(" ").trim();return e.jsx("div",{ref:e=>{A.current=e,k.current=e},className:L("virtualize-container",f),style:N,onScroll:e=>{const t=e.target,r=i?.__scrollHandler;r&&r(e),d&&d(t.scrollTop,"auto")},children:e.jsxs("div",{ref:e=>{T.current=e,P.current=e},style:H,className:L("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",{"data-virtualize-index":a.index,className:L("virtualize-item",m),style:{...w,...u,boxSizing:"border-box"},children:h},l)}),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 S=t.useRef(null);t.useImperativeHandle(M,()=>S.current);const[I,z]=t.useState(0),[O,R]=t.useState(!1),[E,j]=t.useState(0),C=t.useRef(null);t.useEffect(()=>{if(!S.current)return;const e=S.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),N=l+f,H=t.useMemo(()=>{if(!A||!k)return 0;const e=Math.ceil(r.length/P);return e>0?e*N-f:0},[A,k,r.length,P,N,f]),L=t.useMemo(()=>{if(!A||!k)return{start:0,end:-1};const e=Math.max(0,Math.floor(I/N)),t=Math.max(0,Math.floor((I+T)/N)),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,I,T,N,d,P,r.length]),V=t.useCallback(e=>{const t=Math.floor(e/P);return{x:e%P*(W+f),y:t*N,width:W,height:l}},[P,W,f,N,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=I+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>=I?(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,I,T,d,h,P]),q=A?H:B,K=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?.(K.start,K.end)},[K,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:q||1,width:"100%",...b};if(!k)return e.jsx("div",{ref:S,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=K.start;e<=K.end;e++)e>=0&&e<r.length&&X.push({index:e,key:s?.(e,r[e])??e});return e.jsx("div",{ref:S,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","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","undefined","round","contentRect","height","measurements","set","pendingUpdates","flushPendingUpdates","window","resizeObserver","ResizeObserver","handleResize","startMeasuring","container","onMeasure","querySelectorAll","forEach","item","indexAttr","dataset","virtualizeIndex","Number","observeItem","String","observe","syncMeasure","unobserveItem","unobserve","delete","rafId","requestAnimationFrame","clear","getBoundingClientRect","rounded","stopMeasuring","disconnect","cancelAnimationFrame","getMeasurement","getAllMeasurements","clearPending","clearMeasurements","destroy","useVirtualList","params","containerHeight","scrollDirection","onScroll","onScrollEnd","stickyIndices","engineRef","useRef","measurementRef","containerRef","innerRef","setScrollOffset","useState","isScrolling","setIsScrolling","scrollTimeoutRef","lastScrollOffsetRef","scrollDirectionRef","virtualItems","setVirtualItems","useEffect","nextVirtualItems","current","length","map","isSticky","includes","prev","changed","prevItem","nextItem","handleScroll","useCallback","e","newScrollOffset","currentTarget","scrollTop","direction","clearTimeout","setTimeout","listener","addEventListener","removeEventListener","handleItemMeasure","scrollToItem","scrollToOffset","getItemStyle","isStickyItem","position","top","left","width","zIndex","totalSize","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","key","virtualStyle","renderProps","content","React","Fragment","boxSizing","displayName","VirtualGrid","columnCount","rowHeight","columnWidth","layout","gap","onVisibleRangeChange","innerClassName","containerClassName","setScrollTop","containerWidth","setContainerWidth","scrollTimeout","observer","isReady","cols","useMemo","minColWidth","floor","colWidth","totalGapWidth","positions","pos","colHeights","Array","fill","itemHeight","minColIndex","indexOf","xPos","yPos","x","y","row","col","visibleRange","heightNum","parseInt","totalHeight","p","scrollLeft","containerStyleComputed","overflowY","overflowX","innerStyleComputed","visibleItems","vItem","itemStyle","normalize","caseSensitive","toLowerCase","positionCache","onLoadMore","threshold","isLoading","enabled","isAtBottom","setIsAtBottom","hasCalledRef","onLoadMoreRef","checkIfAtBottom","scrollHeight","clientHeight","atBottom","Promise","resolve","finally","passive","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","container","onMeasure","onMeasureWidth","querySelectorAll","forEach","item","indexAttr","dataset","virtualizeIndex","Number","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","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","innerClassName","innerStyle","itemStyle","scrollOffsetRef","footer","internalContainerRef","internalInnerRef","mergedContainerRef","mergedInnerRef","useImperativeHandle","containerStyle","overflow","innerStyleComputed","cx","parts","filter","Boolean","trim","_jsx","ref","el","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","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,useState as n,useEffect as i,useCallback as s,forwardRef as o,useImperativeHandle as l,useMemo as c,useDeferredValue as a}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.dirty=!0}recordItemSize(e,t){this.itemSizeMap[e]!==t&&(this.itemSizeMap[e]=t,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 d{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,"observedElements",{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,"rafId",{enumerable:!0,configurable:!0,writable:!0,value:null}),Object.defineProperty(this,"onMeasure",{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;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){this.onMeasure=t;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){t.dataset.virtualizeIndex=String(e),this.observedElements.set(t,e),this.resizeObserver?.observe(t),this.syncMeasure(e,t)}unobserveItem(e){this.resizeObserver?.unobserve(e),this.observedElements.delete(e)}flushPendingUpdates(){null===this.rafId&&(this.rafId=requestAnimationFrame(()=>{this.pendingUpdates.forEach((e,t)=>{this.onMeasure?.(t,e)}),this.pendingUpdates.clear(),this.rafId=null}))}syncMeasure(e,t){const r=t.getBoundingClientRect().height;if(r<=0)return;const n=Math.round(r);this.measurements.get(e)!==n&&(this.measurements.set(e,n),this.onMeasure?.(e,n))}stopMeasuring(){this.resizeObserver?.disconnect(),this.pendingUpdates.clear(),null!==this.rafId&&cancelAnimationFrame(this.rafId)}getMeasurement(e){return this.measurements.get(e)}getAllMeasurements(){return new Map(this.measurements)}clearPending(){this.pendingUpdates.clear()}clearMeasurements(){this.measurements.clear()}destroy(){this.stopMeasuring(),this.measurements.clear(),this.pendingUpdates.clear(),this.observedElements=new WeakMap,this.onMeasure=null}}function h(e){const{items:t,containerHeight:o,overscan:l=5,scrollDirection:c="forward",estimatedItemSize:a=35,onScroll:h,onScrollEnd:f,stickyIndices:m=[]}=e,g=r(new u(a)),p=r(new d),b=r(null),v=r(null),[y,x]=n(0),[S,I]=n(!1),w=r(null),z=r(0),M=r(c),[O,P]=n([]);i(()=>{const e=g.current.getVisibleItems(y,o,t.length,l).map(e=>({index:e.index,offset:e.offset,size:e.size,isSticky:m.includes(e.index)}));P(t=>{if(t.length===e.length){let r=!1;for(let n=0;n<t.length;n++){const i=t[n],s=e[n];if(i.index!==s.index||i.offset!==s.offset||i.size!==s.size||i.isSticky!==s.isSticky){r=!0;break}}if(!r)return t}return e})},[y,o,t.length,l,m]);const E=s(e=>{const t=e.currentTarget.scrollTop;if(t===z.current)return;const r=t>z.current?"forward":"reverse";M.current=r,z.current=t,x(t),I(!0),h&&h(t,r),w.current&&clearTimeout(w.current),w.current=setTimeout(()=>{I(!1),f&&f()},150)},[h,f]);i(()=>{const e=b.current;if(!e)return;const t=e=>{E(e)};return e.addEventListener("scroll",t),()=>{e.removeEventListener("scroll",t)}},[E]);const N=s((e,t)=>{g.current.recordItemSize(e,t)},[]);i(()=>{const e=b.current;return e&&p.current.startMeasuring(e,N),()=>{p.current.stopMeasuring()}},[N]);const R=s((e,t="start")=>{const r=g.current.getScrollOffsetForIndex(e,o,t);b.current&&(b.current.scrollTop=r)},[o]),T=s(e=>{b.current&&(b.current.scrollTop=e)},[]),k=s((e,t)=>{const r=g.current.getItemOffset(e),n=m.includes(e);return{position:n?"sticky":"absolute",top:n?0:r,left:0,width:"100%",height:t,zIndex:n?10:0}},[m]);i(()=>()=>{w.current&&clearTimeout(w.current),p.current.destroy()},[]);const C=g.current.getTotalSize();return{virtualItems:O,isScrolling:S,scrollOffset:y,totalSize:C,scrollToItem:R,scrollToOffset:T,setScrollOffset:x,containerRef:b,innerRef:v,getItemStyle:k}}const f=o(({items:n,renderItem:s,itemWrapper:o,itemKey:c,height:a=400,width:u=500,itemSize:d,overscan:f=5,scrollDirection:m="forward",onScroll:g,className:p="",itemClassName:b="",style:v={},estimatedItemSize:y=35,getItemSize:x,stickyIndices:S=[],onScrollEnd:I,innerRef:w,scrollOffsetRef:z},M)=>{const{virtualItems:O,isScrolling:P,scrollOffset:E,totalSize:N,containerRef:R,innerRef:T,getItemStyle:k}=h({items:n,containerHeight:"number"==typeof a?a:400,overscan:f,scrollDirection:m,estimatedItemSize:y,onScroll:g,onScrollEnd:I,stickyIndices:S}),C=r(null),L=r(null);l(M,()=>C.current),l(w,()=>L.current),i(()=>{z&&(z.current=E)},[E,z]);const j={height:a,width:u,overflow:"auto",position:"relative",...v};return e("div",{ref:e=>{C.current=e,R.current=e},className:`virtualize-container ${p}`,style:j,onScroll:e=>{const t=e.target,r=s?.__scrollHandler;r&&r(e),g&&g(t.scrollTop,"auto")},children:e("div",{ref:e=>{L.current=e,T.current=e},style:{position:"relative",height:N,width:"100%"},className:"virtualize-inner",children:O.map(r=>{const i=n[r.index],l=c?c(r.index,i):r.index,a=k(r.index,r.size),u={item:i,index:r.index,style:a,isScrolling:P},d=s(u);return o?e(t.Fragment,{children:o({item:i,index:r.index,style:a,children:d})},l):e("div",{"data-virtualize-index":r.index,className:b,style:{...a,boxSizing:"border-box"},children:d},l)})})})});f.displayName="VirtualList";const m=o(({items:t,renderItem:o,itemKey:a,height:u=600,width:d="100%",columnCount:h=3,rowHeight:f=200,columnWidth:m,layout:g="grid",overscan:p=5,gap:b=16,onScroll:v,onVisibleRangeChange:y,innerClassName:x,innerStyle:S,containerClassName:I,containerStyle:w},z)=>{const M=r(null);l(z,()=>M.current);const[O,P]=n(0),[E,N]=n(!1),[R,T]=n(0),k=r(null);i(()=>{if(!M.current)return;const e=M.current,t=new ResizeObserver(e=>{for(const t of e){const e=t.contentRect.width;e>0&&T(e)}});return t.observe(e),()=>t.disconnect()},[]),i(()=>()=>{k.current&&clearTimeout(k.current)},[]);const C=R>0&&t.length>0,L=c(()=>{if("auto"===h){const e=200;return Math.max(1,Math.floor(R/(e+b)))}return Math.max(1,Number(h))},[h,R,b]),j=c(()=>{if("number"==typeof m)return m;const e=b*Math.max(0,L-1);return Math.max(0,(R-e)/L)},[R,L,b,m]),A=c(()=>{if(!C)return[];const e=[];if("masonry"===g){const r=Array(L).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*(j+b),o=r[i];e.push({x:s,y:o,width:j,height:t}),r[i]+=t+b}}else for(let r=0;r<t.length;r++){const t=Math.floor(r/L),n=r%L,i="function"==typeof f?f(r):Number(f);e.push({x:n*(j+b),y:t*(i+b),width:j,height:i})}return e},[t,L,j,b,g,f,C]),V=c(()=>{if(!A.length||!C)return{start:0,end:0};const e="string"==typeof u?parseInt(u):Number(u);let r=0;for(let e=0;e<A.length;e++)if(A[e].y+A[e].height>=O){r=e;break}let n=A.length-1;for(let t=A.length-1;t>=0;t--)if(A[t].y<=O+e){n=t;break}return{start:Math.max(0,r-p),end:Math.min(t.length-1,n+p)}},[A,O,u,p,t.length,C]),$=c(()=>{if(!A.length)return 0;return Math.max(...A.map(e=>e.y+e.height))||0},[A]),F=s(e=>{const t=e.currentTarget,r=t.scrollTop,n=t.scrollLeft;P(r),N(!0),v?.(r,n),k.current&&clearTimeout(k.current),k.current=setTimeout(()=>{N(!1)},120)},[v]);i(()=>{y?.(V.start,V.end)},[V,y]);const U={height:"string"==typeof u?u:`${u}px`,width:"string"==typeof d?d:`${d}px`,overflowY:"auto",overflowX:"hidden",position:"relative",...w},H={position:"relative",height:$||1,width:"100%",...S};if(!C)return e("div",{ref:M,className:I,style:U,onScroll:F,children:e("div",{className:x,style:H})});const q=[];for(let e=V.start;e<=V.end;e++)e>=0&&e<t.length&&q.push({index:e,key:a?.(e,t[e])??e});return e("div",{ref:M,className:I,style:U,onScroll:F,children:e("div",{className:x,style:H,children:q.map(r=>{const n=t[r.index],i=A[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:o({item:n,index:r.index,isScrolling:E})},r.key)})})})});function g(e,t){return t?e:e.toLowerCase()}function p({items:r,searchValue:n,searchFields:i,caseSensitive:o=!1,deferSearch:l=!0,matcher:u}){const d=c(()=>g(n.trim(),o),[n,o]),h=a(d),f=l?h:d,m=l&&h!==d,p=s(e=>!f||(u?u(e,f):function(e,t,r,n){return r.some(r=>{const i=e[r];return null!=i&&g(String(i).trim(),n).includes(t)})}(e,f,i,o)),[f,u,i,o]),b=c(()=>f?r.filter(p):[...r],[r,f,p]),v=s(e=>p(e),[p]),y=c(()=>{if(!d)return null;const e=d.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");return new RegExp(`(${e})`,o?"g":"gi")},[d,o]),x=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:x}}function b({threshold:e=.1,onVisible:t,root:s=null,rootMargin:o="0px",enabled:l=!0,once:c=!0}={}){const[a,u]=n(!1),[d,h]=n(null),f=r(null),m=r(t);return i(()=>{m.current=t},[t]),i(()=>{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])=>{h(e),e.isIntersecting?(u(!0),m.current?.(),c&&r.unobserve(e.target)):c||u(!1)},{threshold:e,root:s,rootMargin:o});return r.observe(t),()=>{r.disconnect()}},[e,s,o,l,c]),{ref:f,isVisible:a,entry:d}}function v({onLoadMore:e,threshold:t=500,isLoading:o=!1,enabled:l=!0}){const c=r(null),[a,u]=n(!1),d=r(!1),h=r(e);i(()=>{h.current=e},[e]);const f=s(()=>{if(!l||o)return;const e=c.current;if(!e)return;const{scrollTop:r,scrollHeight:n,clientHeight:i}=e,s=n-r-i<=t;u(s),!s||d.current||o||(d.current=!0,Promise.resolve(h.current()).finally(()=>{d.current=!1}))},[t,o,l]);return i(()=>{if(!l)return;const e=c.current;if(!e)return;const t=()=>{f()};return e.addEventListener("scroll",t,{passive:!0}),f(),()=>{e.removeEventListener("scroll",t)}},[f,l]),{containerRef:c,isAtBottom:a,isLoading:o,checkIfAtBottom:f}}m.displayName="VirtualGrid";const y=new Map;function x(e,t,{persist:n=!0,storageKey:o="virtualize-scroll-positions",storage:l,autoSave:c=!1,maxEntries:a=100,useRAF:u=!0,enabled:d=!0,onError:h}={}){const f=r(l??("undefined"!=typeof window&&"undefined"!=typeof document?window.localStorage:null));i(()=>{if(d&&n&&f.current&&!(y.size>0))try{const e=f.current.getItem(o);if(!e)return;JSON.parse(e).forEach(e=>{y.set(e.key,e)})}catch(e){h?.(e)}},[d,n,o,h]);const m=s(()=>{if(n&&f.current)try{const e=Array.from(y.values()).sort((e,t)=>t.timestamp-e.timestamp).slice(0,a);f.current.setItem(o,JSON.stringify(e))}catch(e){h?.(e)}},[n,o,a,h]),g=s(()=>{if(!d)return;const r=t.current;if(!r)return;const n={key:e,top:r.scrollTop,left:r.scrollLeft,timestamp:Date.now()};y.set(e,n),m()},[e,t,d,m]),p=s(()=>{if(!d)return;if(!t.current)return;const r=y.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,d,u]);return i(()=>{d&&p()},[d,p]),i(()=>{if(d)return()=>{g()}},[d,g]),i(()=>{if(!d||!c||!t.current)return;const e=t.current,r=()=>{g()};return e.addEventListener("scroll",r,{passive:!0}),()=>{e.removeEventListener("scroll",r)}},[d,c,g,t]),{savePosition:g,restorePosition:p}}export{d as MeasurementSystem,m as VirtualGrid,f as VirtualList,u as VirtualizationEngine,v as useInfiniteScroll,b as useLazyLoad,x as useScrollRestoration,h as useVirtualList,p 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,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 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 z=i(null);null===z.current&&(z.current=new m(h));const O=i(null);null===O.current&&(O.current=new g);const S=i(null),P=i(null),[R,W]=s({height:0,width:0});n(()=>{if(!y)return;const e=S.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=z.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=S.current;if(e)return e.addEventListener("scroll",K,{passive:!0}),()=>{e.removeEventListener("scroll",K)}},[K]);const q=o((e,t)=>{z.current.recordItemSize(e,t),V(e=>e+1)},[]);n(()=>{const e=S.current,t=O.current;return e&&t.startMeasuring(e,q),()=>{t.stopMeasuring()}},[q]);const D=o((e,t="start")=>{if(!j)return;const r=z.current.getScrollOffsetForIndex(e,j,t),i=S.current;i&&(x?i.scrollLeft=r:i.scrollTop=r)},[j,x]),G=o(e=>{const t=S.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=z.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=>{z.current.invalidateFrom(e),V(e=>e+1)},[]);n(()=>()=>{U.current&&clearTimeout(U.current),O.current?.destroy()},[]);const Q=a(()=>z.current.getTotalSize(),[t.length,F,j]);return{virtualItems:B,isScrolling:N,scrollOffset:E,scrollDirection:k,totalSize:Q,scrollToItem:D,scrollToOffset:G,setScrollOffset:J,containerRef:S,innerRef:P,getItemStyle:_,recalculate:Y,getItemKeyForIndex:X}}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:z,stickyIndices:O=[],onScrollEnd:S,innerRef:P,scrollOffsetRef:R,footer:W},j)=>{const{virtualItems:A,isScrolling:E,scrollOffset:T,totalSize:N,containerRef:C,innerRef:k,getItemStyle:H}=b({items:s,getItemKey:l,containerHeight:"number"==typeof u?u:400,containerWidth:"number"==typeof h?h:500,overscan:f,estimatedItemSize:I,onScroll:g,onScrollEnd:S,stickyIndices:O}),U=i(null),L=i(null);c(j,()=>U.current),c(P,()=>L.current),n(()=>{R&&(R.current=T)},[T,R]);const F={height:u,width:h,overflow:"auto",position:"relative",...v},V={width:"100%",...x,position:"relative",height:N},B=(...e)=>e.filter(Boolean).join(" ").trim();return e("div",{ref:e=>{U.current=e,C.current=e},className:B("virtualize-container",p),style:F,onScroll:e=>{const t=e.target,r=o?.__scrollHandler;r&&r(e),g&&g(t.scrollTop,"auto")},children:t("div",{ref:e=>{L.current=e,k.current=e},style:V,className:B("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",{"data-virtualize-index":t.index,className:B("virtualize-item",w),style:{...M,...c,boxSizing:"border-box"},children:h},n)}),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:z,itemClassName:O,itemStyle:S},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]),q=i(null);null===q.current&&(q.current=new v);const D=a(()=>L||!k?[]:q.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:q.current.getTotalHeight(),[L,k,D]),J=a(()=>{if(L||!D.length)return{start:0,end:-1};const e=W+F,t=D.length,r="masonry"===g?p+H:p;let i=0,n=t-1,s=0;for(;i<=n;){const e=i+n>>1;D[e].y+D[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;D[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,D,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",...z},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):D[i.index];if(!n||!s)return null;const o={...S,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",O),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 z({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 O=new Map;function S(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&&!(O.size>0))try{const e=f.current.getItem(s);if(!e)return;JSON.parse(e).forEach(e=>{O.set(e.key,e)})}catch(e){d?.(e)}},[h,r,s,d]);const m=o(()=>{if(r&&f.current)try{const e=Array.from(O.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()};O.set(e,i),m()},[e,t,h,m]),p=o(()=>{if(!h)return;if(!t.current)return;const r=O.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,z as useInfiniteScroll,I as useLazyLoad,S 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","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","undefined","round","contentRect","height","measurements","set","pendingUpdates","flushPendingUpdates","window","resizeObserver","ResizeObserver","handleResize","startMeasuring","container","onMeasure","querySelectorAll","forEach","item","indexAttr","dataset","virtualizeIndex","Number","observeItem","String","observe","syncMeasure","unobserveItem","unobserve","delete","rafId","requestAnimationFrame","clear","getBoundingClientRect","rounded","stopMeasuring","disconnect","cancelAnimationFrame","getMeasurement","getAllMeasurements","clearPending","clearMeasurements","destroy","useVirtualList","params","containerHeight","scrollDirection","onScroll","onScrollEnd","stickyIndices","engineRef","useRef","measurementRef","containerRef","innerRef","setScrollOffset","useState","isScrolling","setIsScrolling","scrollTimeoutRef","lastScrollOffsetRef","scrollDirectionRef","virtualItems","setVirtualItems","useEffect","nextVirtualItems","current","length","map","isSticky","includes","prev","changed","prevItem","nextItem","handleScroll","useCallback","e","newScrollOffset","currentTarget","scrollTop","direction","clearTimeout","setTimeout","listener","addEventListener","removeEventListener","handleItemMeasure","scrollToItem","scrollToOffset","getItemStyle","isStickyItem","position","top","left","width","zIndex","totalSize","VirtualList","forwardRef","renderItem","itemWrapper","itemKey","itemSize","className","itemClassName","style","scrollOffsetRef","internalContainerRef","internalInnerRef","mergedContainerRef","mergedInnerRef","useImperativeHandle","containerStyle","overflow","_jsx","ref","el","handler","__scrollHandler","children","virtualItem","key","virtualStyle","renderProps","content","React","Fragment","boxSizing","displayName","VirtualGrid","columnCount","rowHeight","columnWidth","layout","gap","onVisibleRangeChange","innerClassName","innerStyle","containerClassName","setScrollTop","containerWidth","setContainerWidth","scrollTimeout","observer","isReady","cols","useMemo","minColWidth","floor","colWidth","totalGapWidth","positions","pos","colHeights","Array","fill","itemHeight","minColIndex","indexOf","xPos","yPos","x","y","row","col","visibleRange","heightNum","parseInt","totalHeight","p","scrollLeft","containerStyleComputed","overflowY","overflowX","innerStyleComputed","visibleItems","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","hasCalledRef","onLoadMoreRef","checkIfAtBottom","scrollHeight","clientHeight","atBottom","Promise","resolve","finally","passive","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","container","onMeasure","onMeasureWidth","querySelectorAll","forEach","item","indexAttr","dataset","virtualizeIndex","Number","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","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","innerClassName","innerStyle","itemStyle","scrollOffsetRef","footer","internalContainerRef","internalInnerRef","mergedContainerRef","mergedInnerRef","useImperativeHandle","containerStyle","overflow","innerStyleComputed","cx","parts","filter","Boolean","trim","_jsx","ref","el","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","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"}
|
package/dist/types.d.ts
CHANGED
|
@@ -47,6 +47,12 @@ export interface VirtualListProps<T> {
|
|
|
47
47
|
scrollMargin?: number;
|
|
48
48
|
innerRef?: React.Ref<HTMLDivElement>;
|
|
49
49
|
scrollOffsetRef?: React.MutableRefObject<number>;
|
|
50
|
+
innerClassName?: string;
|
|
51
|
+
/** Style merged into the inner wrapper. `position`/`height` are re-asserted after this to protect virtualization math. */
|
|
52
|
+
innerStyle?: React.CSSProperties;
|
|
53
|
+
/** Style merged into each item wrapper (default-wrapper path only). Geometry fields (position/top/left/width/height) always win. */
|
|
54
|
+
itemStyle?: React.CSSProperties;
|
|
55
|
+
footer?: React.ReactNode;
|
|
50
56
|
}
|
|
51
57
|
export interface VirtualGridProps<T> {
|
|
52
58
|
items: T[];
|
|
@@ -67,6 +73,10 @@ export interface VirtualGridProps<T> {
|
|
|
67
73
|
innerStyle?: React.CSSProperties;
|
|
68
74
|
onScroll?: (scrollTop: number, scrollLeft: number) => void;
|
|
69
75
|
onVisibleRangeChange?: (start: number, end: number) => void;
|
|
76
|
+
/** Class applied to each cell, alongside the default 'virtualize-grid-item'. */
|
|
77
|
+
itemClassName?: string;
|
|
78
|
+
/** Style merged into each cell. Geometry fields (position/top/left/width/height) always win. */
|
|
79
|
+
itemStyle?: React.CSSProperties;
|
|
70
80
|
}
|
|
71
81
|
export interface VirtualGridItem {
|
|
72
82
|
index: number;
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,eAAe,GAAG,SAAS,GAAG,SAAS,GAAG,MAAM,CAAC;AAC7D,MAAM,MAAM,UAAU,GAAG,UAAU,GAAG,YAAY,GAAG,MAAM,GAAG,SAAS,CAAC;AAExE,MAAM,WAAW,QAAQ;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,WAAW;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,OAAO,CAAC;CACtB;AAED,MAAM,WAAW,WAAW;IACxB,YAAY,EAAE,MAAM,CAAC;IACrB,wBAAwB,EAAE,OAAO,CAAC;IAClC,WAAW,EAAE,OAAO,CAAC;IACrB,eAAe,EAAE,eAAe,CAAC;CACpC;AAED,MAAM,WAAW,gBAAgB;IAC7B,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,gBAAgB,CAAC,CAAC;IAC/B,IAAI,EAAE,CAAC,CAAC;IACR,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,KAAK,CAAC,aAAa,CAAC;IAC3B,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC7B;AAED,MAAM,WAAW,gBAAgB,CAAC,CAAC;IAC/B,KAAK,EAAE,CAAC,EAAE,CAAC;IAEX,UAAU,EAAE,CACR,KAAK,EAAE,eAAe,CAAC,CAAC,CAAC,KACxB,KAAK,CAAC,SAAS,CAAC;IAErB,WAAW,CAAC,EAAE,CACV,KAAK,EAAE,gBAAgB,CAAC,CAAC,CAAC,KACzB,KAAK,CAAC,SAAS,CAAC;IAErB,OAAO,CAAC,EAAE,CACN,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,CAAC,KACN,MAAM,GAAG,MAAM,CAAC;IAErB,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACzB,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAExB,QAAQ,CAAC,EAAE,MAAM,GAAG,CAAC,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,CAAC,CAAC;IAEhD,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB,eAAe,CAAC,EAAE,eAAe,CAAC;IAElC,QAAQ,CAAC,EAAE,CACP,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,eAAe,KACzB,IAAI,CAAC;IAEV,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IAE5B,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAE3B,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,CAAC;IAExC,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IAEzB,WAAW,CAAC,EAAE,MAAM,IAAI,CAAC;IAEzB,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB,QAAQ,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;IAErC,eAAe,CAAC,EAAE,KAAK,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED