react-virtual-renderer 1.1.3 → 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.
Files changed (84) hide show
  1. package/dist/App.d.ts.map +1 -1
  2. package/dist/App.js +65 -3
  3. package/dist/App.js.map +1 -1
  4. package/dist/components/VirtualGrid.d.ts +30 -0
  5. package/dist/components/VirtualGrid.d.ts.map +1 -1
  6. package/dist/components/VirtualGrid.js +147 -117
  7. package/dist/components/VirtualGrid.js.map +1 -1
  8. package/dist/components/VirtualList.d.ts +0 -4
  9. package/dist/components/VirtualList.d.ts.map +1 -1
  10. package/dist/components/VirtualList.js +66 -47
  11. package/dist/components/VirtualList.js.map +1 -1
  12. package/dist/components/VirtualLiveRegion.d.ts +12 -0
  13. package/dist/components/VirtualLiveRegion.d.ts.map +1 -0
  14. package/dist/components/VirtualLiveRegion.js +27 -0
  15. package/dist/components/VirtualLiveRegion.js.map +1 -0
  16. package/dist/core/FenwickTree.d.ts +47 -0
  17. package/dist/core/FenwickTree.d.ts.map +1 -0
  18. package/dist/core/FenwickTree.js +206 -0
  19. package/dist/core/FenwickTree.js.map +1 -0
  20. package/dist/core/GridLayoutEngine.d.ts +64 -0
  21. package/dist/core/GridLayoutEngine.d.ts.map +1 -0
  22. package/dist/core/GridLayoutEngine.js +153 -0
  23. package/dist/core/GridLayoutEngine.js.map +1 -0
  24. package/dist/core/GroupedListEngine.d.ts +21 -0
  25. package/dist/core/GroupedListEngine.d.ts.map +1 -0
  26. package/dist/core/GroupedListEngine.js +22 -0
  27. package/dist/core/GroupedListEngine.js.map +1 -0
  28. package/dist/core/ListController.d.ts +31 -0
  29. package/dist/core/ListController.d.ts.map +1 -0
  30. package/dist/core/ListController.js +71 -0
  31. package/dist/core/ListController.js.map +1 -0
  32. package/dist/core/VirtualizationEngine.d.ts +24 -13
  33. package/dist/core/VirtualizationEngine.d.ts.map +1 -1
  34. package/dist/core/VirtualizationEngine.js +50 -87
  35. package/dist/core/VirtualizationEngine.js.map +1 -1
  36. package/dist/examples/DynamicHeightLists.d.ts +2 -0
  37. package/dist/examples/DynamicHeightLists.d.ts.map +1 -0
  38. package/dist/examples/DynamicHeightLists.js +42 -0
  39. package/dist/examples/DynamicHeightLists.js.map +1 -0
  40. package/dist/examples/FixedGrid.d.ts +2 -0
  41. package/dist/examples/FixedGrid.d.ts.map +1 -0
  42. package/dist/examples/FixedGrid.js +40 -0
  43. package/dist/examples/FixedGrid.js.map +1 -0
  44. package/dist/examples/GroupedContactList.d.ts +2 -0
  45. package/dist/examples/GroupedContactList.d.ts.map +1 -0
  46. package/dist/examples/GroupedContactList.js +20 -0
  47. package/dist/examples/GroupedContactList.js.map +1 -0
  48. package/dist/examples/InfiniteScrollLists.d.ts +2 -0
  49. package/dist/examples/InfiniteScrollLists.d.ts.map +1 -0
  50. package/dist/examples/InfiniteScrollLists.js +93 -0
  51. package/dist/examples/InfiniteScrollLists.js.map +1 -0
  52. package/dist/examples/MasonaryGrid.d.ts +2 -0
  53. package/dist/examples/MasonaryGrid.d.ts.map +1 -0
  54. package/dist/examples/MasonaryGrid.js +36 -0
  55. package/dist/examples/MasonaryGrid.js.map +1 -0
  56. package/dist/examples/PerfHarness.d.ts +2 -0
  57. package/dist/examples/PerfHarness.d.ts.map +1 -0
  58. package/dist/examples/PerfHarness.js +131 -0
  59. package/dist/examples/PerfHarness.js.map +1 -0
  60. package/dist/hooks/useBidirectionalInfiniteScroll.d.ts +32 -0
  61. package/dist/hooks/useBidirectionalInfiniteScroll.d.ts.map +1 -0
  62. package/dist/hooks/useBidirectionalInfiniteScroll.js +89 -0
  63. package/dist/hooks/useBidirectionalInfiniteScroll.js.map +1 -0
  64. package/dist/hooks/useInfiniteScroll.d.ts +36 -12
  65. package/dist/hooks/useInfiniteScroll.d.ts.map +1 -1
  66. package/dist/hooks/useInfiniteScroll.js +46 -45
  67. package/dist/hooks/useInfiniteScroll.js.map +1 -1
  68. package/dist/hooks/useRevoingTabIndex.d.ts +11 -0
  69. package/dist/hooks/useRevoingTabIndex.d.ts.map +1 -0
  70. package/dist/hooks/useRevoingTabIndex.js +28 -0
  71. package/dist/hooks/useRevoingTabIndex.js.map +1 -0
  72. package/dist/hooks/useVirtualAllyProps.d.ts +23 -0
  73. package/dist/hooks/useVirtualAllyProps.d.ts.map +1 -0
  74. package/dist/hooks/useVirtualAllyProps.js +25 -0
  75. package/dist/hooks/useVirtualAllyProps.js.map +1 -0
  76. package/dist/index.cjs.js +1 -1
  77. package/dist/index.cjs.js.map +1 -1
  78. package/dist/index.esm.js +1 -1
  79. package/dist/index.esm.js.map +1 -1
  80. package/dist/main.js +4 -4
  81. package/dist/main.js.map +1 -1
  82. package/dist/types.d.ts +10 -0
  83. package/dist/types.d.ts.map +1 -1
  84. package/package.json +1 -1
package/dist/index.esm.js CHANGED
@@ -1,2 +1,2 @@
1
- import{jsx as e}from"react/jsx-runtime";import t,{useRef as r,useEffect as n,useState as i,useCallback as s,useMemo as o,forwardRef as l,useImperativeHandle as a,useDeferredValue as c}from"react";class u{constructor(e=35){Object.defineProperty(this,"itemSizeMap",{enumerable:!0,configurable:!0,writable:!0,value:{}}),Object.defineProperty(this,"estimatedItemSize",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"itemCount",{enumerable:!0,configurable:!0,writable:!0,value:0}),Object.defineProperty(this,"prefix",{enumerable:!0,configurable:!0,writable:!0,value:[0]}),Object.defineProperty(this,"dirty",{enumerable:!0,configurable:!0,writable:!0,value:!0}),this.estimatedItemSize=e}setItemCount(e){this.itemCount!==e&&(this.itemCount=e,this.dirty=!0)}recordItemSize(e,t){this.itemSizeMap[e]!==t&&(this.itemSizeMap[e]=t,this.dirty=!0)}invalidateFrom(e){if(void 0===e)return this.itemSizeMap={},void(this.dirty=!0);e<0&&(e=0);for(const t of Object.keys(this.itemSizeMap)){const r=Number(t);r>=e&&delete this.itemSizeMap[r]}this.dirty=!0}rebuildPrefix(){let e=0;this.prefix=[0];for(let t=0;t<this.itemCount;t++)e+=this.itemSizeMap[t]??this.estimatedItemSize,this.prefix[t+1]=e;this.dirty=!1}getItemSize(e){return this.itemSizeMap[e]??this.estimatedItemSize}getItemOffset(e){return this.dirty&&this.rebuildPrefix(),this.prefix[e]??0}getTotalSize(){return this.dirty&&this.rebuildPrefix(),this.prefix[this.itemCount]||0}binarySearch(e){this.dirty&&this.rebuildPrefix();let t=0,r=this.itemCount-1;for(;t<=r;){const n=t+r>>1,i=this.prefix[n];if(i===e)return n;i<e?t=n+1:r=n-1}return Math.max(0,t-1)}getVisibleRange(e,t,r,n=5){this.setItemCount(r);const i=this.binarySearch(e),s=this.binarySearch(e+t);return{startIndex:Math.max(0,i-n),endIndex:Math.min(r-1,s+n),overscanStartIndex:i,overscanEndIndex:s}}getVisibleItems(e,t,r,n){const i=this.getVisibleRange(e,t,r,n),s=[];for(let e=i.startIndex;e<=i.endIndex;e++)s.push({index:e,size:this.getItemSize(e),offset:this.getItemOffset(e)});return s}getScrollOffsetForIndex(e,t,r="start"){const n=this.getItemOffset(e),i=this.getItemSize(e);return"center"===r?Math.max(0,n-(t-i)/2):"end"===r?Math.max(0,n-t+i):Math.max(0,n)}}class h{constructor(){Object.defineProperty(this,"resizeObserver",{enumerable:!0,configurable:!0,writable:!0,value:null}),Object.defineProperty(this,"measurements",{enumerable:!0,configurable:!0,writable:!0,value:new Map}),Object.defineProperty(this,"widthMeasurements",{enumerable:!0,configurable:!0,writable:!0,value:new Map}),Object.defineProperty(this,"observedElements",{enumerable:!0,configurable:!0,writable:!0,value:new WeakMap}),Object.defineProperty(this,"observedAxis",{enumerable:!0,configurable:!0,writable:!0,value:new WeakMap}),Object.defineProperty(this,"pendingUpdates",{enumerable:!0,configurable:!0,writable:!0,value:new Map}),Object.defineProperty(this,"pendingWidthUpdates",{enumerable:!0,configurable:!0,writable:!0,value:new Map}),Object.defineProperty(this,"rafId",{enumerable:!0,configurable:!0,writable:!0,value:null}),Object.defineProperty(this,"onMeasure",{enumerable:!0,configurable:!0,writable:!0,value:null}),Object.defineProperty(this,"onMeasureWidth",{enumerable:!0,configurable:!0,writable:!0,value:null}),Object.defineProperty(this,"handleResize",{enumerable:!0,configurable:!0,writable:!0,value:e=>{for(const t of e){const e=t.target,r=this.observedElements.get(e);if(void 0===r)continue;if("width"===(this.observedAxis.get(e)??"height")){const e=Math.round(t.contentRect.width);this.widthMeasurements.get(r)!==e&&(this.widthMeasurements.set(r,e),this.pendingWidthUpdates.set(r,e));continue}const n=Math.round(t.contentRect.height);this.measurements.get(r)!==n&&(this.measurements.set(r,n),this.pendingUpdates.set(r,n))}this.flushPendingUpdates()}}),"undefined"!=typeof window&&"ResizeObserver"in window&&(this.resizeObserver=new ResizeObserver(this.handleResize))}startMeasuring(e,t,r){this.onMeasure=t,this.onMeasureWidth=r??null;e.querySelectorAll("[data-virtualize-index]").forEach(e=>{const t=e.dataset.virtualizeIndex;if(void 0===t)return;const r=Number(t);this.observeItem(r,e)})}observeItem(e,t,r="height"){t.dataset.virtualizeIndex=String(e),this.observedElements.set(t,e),this.observedAxis.set(t,r),this.resizeObserver?.observe(t),this.syncMeasure(e,t,r)}unobserveItem(e){this.resizeObserver?.unobserve(e),this.observedElements.delete(e),this.observedAxis.delete(e)}flushPendingUpdates(){null===this.rafId&&(this.rafId=requestAnimationFrame(()=>{this.pendingUpdates.forEach((e,t)=>{this.onMeasure?.(t,e)}),this.pendingUpdates.clear(),this.pendingWidthUpdates.forEach((e,t)=>{this.onMeasureWidth?.(t,e)}),this.pendingWidthUpdates.clear(),this.rafId=null}))}syncMeasure(e,t,r="height"){const n=t.getBoundingClientRect(),i="width"===r?n.width:n.height;if(i<=0)return;const s=Math.round(i);if("width"===r){if(this.widthMeasurements.get(e)===s)return;return this.widthMeasurements.set(e,s),void this.onMeasureWidth?.(e,s)}this.measurements.get(e)!==s&&(this.measurements.set(e,s),this.onMeasure?.(e,s))}stopMeasuring(){this.resizeObserver?.disconnect(),this.pendingUpdates.clear(),this.pendingWidthUpdates.clear(),null!==this.rafId&&cancelAnimationFrame(this.rafId)}getMeasurement(e){return this.measurements.get(e)}getWidthMeasurement(e){return this.widthMeasurements.get(e)}getAllMeasurements(){return new Map(this.measurements)}getAllWidthMeasurements(){return new Map(this.widthMeasurements)}clearPending(){this.pendingUpdates.clear(),this.pendingWidthUpdates.clear()}clearMeasurements(){this.measurements.clear(),this.widthMeasurements.clear()}destroy(){this.stopMeasuring(),this.measurements.clear(),this.pendingUpdates.clear(),this.widthMeasurements.clear(),this.pendingWidthUpdates.clear(),this.observedElements=new WeakMap,this.observedAxis=new WeakMap,this.onMeasure=null,this.onMeasureWidth=null}}const d=()=>{};function f(e){const{items:t,getItemKey:l,containerHeight:a,containerWidth:c,overscan:f=5,estimatedItemSize:m=35,axis:g="vertical",onScroll:p=d,onScrollEnd:b=d,stickyIndices:v,scrollEndDelay:y=150,autoMeasureContainer:w=!0}=e,x="horizontal"===g,M=r(v??[]),S=v?v.join(","):"";n(()=>{M.current=v??[]},[S]);const I=r(null);null===I.current&&(I.current=new u(m));const z=r(null);null===z.current&&(z.current=new h);const O=r(null),P=r(null),[R,E]=i({height:0,width:0});n(()=>{if(!w)return;const e=O.current;if(!e||"undefined"==typeof ResizeObserver)return;const t=new ResizeObserver(e=>{const t=e[0];if(!t)return;const{height:r,width:n}=t.contentRect;E(e=>e.height===r&&e.width===n?e:{height:r,width:n})});return t.observe(e),()=>{t.disconnect()}},[w]);const W=a>0?a:R.height,k=c&&c>0?c:R.width,[N,T]=i(0),[j,C]=i(!1),[L,A]=i("forward"),U=r(null),F=r(0),[V,$]=i(0),[H,K]=i([]);n(()=>{const e=I.current;if(!W||0===t.length)return void K(e=>0===e.length?e:[]);const r=e.getVisibleItems(N,W,t.length,f),n=M.current,i=r.map(e=>({index:e.index,offset:e.offset,size:e.size,isSticky:n.includes(e.index)}));K(e=>{if(e.length===i.length){let t=!1;for(let r=0;r<e.length;r++){const n=e[r],s=i[r];if(n.index!==s.index||n.offset!==s.offset||n.size!==s.size||n.isSticky!==s.isSticky){t=!0;break}}if(!t)return e}return i})},[N,W,t.length,f,S,V]);const q=s(e=>{const t=e.currentTarget,r=x?t.scrollLeft:t.scrollTop;if(r===F.current)return;const n=r>F.current?"forward":"reverse";F.current=r,A(n),T(r),C(!0),p(r,n),U.current&&clearTimeout(U.current),U.current=setTimeout(()=>{C(!1),b()},y)},[x,p,b,y]);n(()=>{const e=O.current;if(e)return e.addEventListener("scroll",q,{passive:!0}),()=>{e.removeEventListener("scroll",q)}},[q]);const D=s((e,t)=>{I.current.recordItemSize(e,t),$(e=>e+1)},[]);n(()=>{const e=O.current,t=z.current;return e&&t.startMeasuring(e,D),()=>{t.stopMeasuring()}},[D]);const B=s((e,t="start")=>{if(!W)return;const r=I.current.getScrollOffsetForIndex(e,W,t),n=O.current;n&&(x?n.scrollLeft=r:n.scrollTop=r)},[W,x]),J=s(e=>{const t=O.current;t&&(x?t.scrollLeft=e:t.scrollTop=e),F.current=e,T(e)},[x]),_=s(e=>{F.current=e,T(e)},[]),G=s((e,t)=>{const r=I.current.getItemOffset(e),n=M.current.includes(e),i={position:n?"sticky":"absolute",zIndex:n?10:0};return x?{...i,top:0,left:n?0:r,height:k||"100%",width:t}:{...i,top:n?0:r,left:0,width:"100%",height:t}},[x,k]),X=s(e=>{if(l){const r=t[e];if(void 0!==r)return l(e,r)}return e},[l,t]),Y=s(e=>{I.current.invalidateFrom(e),$(e=>e+1)},[]);n(()=>()=>{U.current&&clearTimeout(U.current),z.current?.destroy()},[]);const Q=o(()=>I.current.getTotalSize(),[t.length,V,W]);return{virtualItems:H,isScrolling:j,scrollOffset:N,scrollDirection:L,totalSize:Q,scrollToItem:B,scrollToOffset:J,setScrollOffset:_,containerRef:O,innerRef:P,getItemStyle:G,recalculate:Y,getItemKeyForIndex:X}}const m=l(({items:i,renderItem:s,itemWrapper:o,itemKey:l,height:c=400,width:u=500,itemSize:h,overscan:d=5,scrollDirection:m="forward",onScroll:g,className:p="",itemClassName:b="",style:v={},estimatedItemSize:y=35,getItemSize:w,stickyIndices:x=[],onScrollEnd:M,innerRef:S,scrollOffsetRef:I},z)=>{const{virtualItems:O,isScrolling:P,scrollOffset:R,totalSize:E,containerRef:W,innerRef:k,getItemStyle:N}=f({items:i,getItemKey:l,containerHeight:"number"==typeof c?c:400,containerWidth:"number"==typeof u?u:500,overscan:d,estimatedItemSize:y,onScroll:g,onScrollEnd:M,stickyIndices:x}),T=r(null),j=r(null);a(z,()=>T.current),a(S,()=>j.current),n(()=>{I&&(I.current=R)},[R,I]);const C={height:c,width:u,overflow:"auto",position:"relative",...v};return e("div",{ref:e=>{T.current=e,W.current=e},className:`virtualize-container ${p}`,style:C,onScroll:e=>{const t=e.target,r=s?.__scrollHandler;r&&r(e),g&&g(t.scrollTop,"auto")},children:e("div",{ref:e=>{j.current=e,k.current=e},style:{position:"relative",height:E,width:"100%"},className:"virtualize-inner",children:O.map(r=>{const n=i[r.index],a=l?l(r.index,n):r.index,c=N(r.index,r.size),u={item:n,index:r.index,style:c,isScrolling:P},h=s(u);return o?e(t.Fragment,{children:o({item:n,index:r.index,style:c,children:h})},a):e("div",{"data-virtualize-index":r.index,className:b,style:{...c,boxSizing:"border-box"},children:h},a)})})})});m.displayName="VirtualList";const g=l(({items:t,renderItem:l,itemKey:c,height:u=600,width:h="100%",columnCount:d=3,rowHeight:f=200,columnWidth:m,layout:g="grid",overscan:p=5,gap:b=16,onScroll:v,onVisibleRangeChange:y,innerClassName:w,innerStyle:x,containerClassName:M,containerStyle:S},I)=>{const z=r(null);a(I,()=>z.current);const[O,P]=i(0),[R,E]=i(!1),[W,k]=i(0),N=r(null);n(()=>{if(!z.current)return;const e=z.current,t=new ResizeObserver(e=>{for(const t of e){const e=t.contentRect.width;e>0&&k(e)}});return t.observe(e),()=>t.disconnect()},[]),n(()=>()=>{N.current&&clearTimeout(N.current)},[]);const T=W>0&&t.length>0,j=o(()=>{if("auto"===d){const e=200;return Math.max(1,Math.floor(W/(e+b)))}return Math.max(1,Number(d))},[d,W,b]),C=o(()=>{if("number"==typeof m)return m;const e=b*Math.max(0,j-1);return Math.max(0,(W-e)/j)},[W,j,b,m]),L=o(()=>{if(!T)return[];const e=[];if("masonry"===g){const r=Array(j).fill(0);for(let n=0;n<t.length;n++){const t="function"==typeof f?f(n):Number(f),i=r.indexOf(Math.min(...r)),s=i*(C+b),o=r[i];e.push({x:s,y:o,width:C,height:t}),r[i]+=t+b}}else for(let r=0;r<t.length;r++){const t=Math.floor(r/j),n=r%j,i="function"==typeof f?f(r):Number(f);e.push({x:n*(C+b),y:t*(i+b),width:C,height:i})}return e},[t,j,C,b,g,f,T]),A=o(()=>{if(!L.length||!T)return{start:0,end:0};const e="string"==typeof u?parseInt(u):Number(u);let r=0;for(let e=0;e<L.length;e++)if(L[e].y+L[e].height>=O){r=e;break}let n=L.length-1;for(let t=L.length-1;t>=0;t--)if(L[t].y<=O+e){n=t;break}return{start:Math.max(0,r-p),end:Math.min(t.length-1,n+p)}},[L,O,u,p,t.length,T]),U=o(()=>{if(!L.length)return 0;return Math.max(...L.map(e=>e.y+e.height))||0},[L]),F=s(e=>{const t=e.currentTarget,r=t.scrollTop,n=t.scrollLeft;P(r),E(!0),v?.(r,n),N.current&&clearTimeout(N.current),N.current=setTimeout(()=>{E(!1)},120)},[v]);n(()=>{y?.(A.start,A.end)},[A,y]);const V={height:"string"==typeof u?u:`${u}px`,width:"string"==typeof h?h:`${h}px`,overflowY:"auto",overflowX:"hidden",position:"relative",...S},$={position:"relative",height:U||1,width:"100%",...x};if(!T)return e("div",{ref:z,className:M,style:V,onScroll:F,children:e("div",{className:w,style:$})});const H=[];for(let e=A.start;e<=A.end;e++)e>=0&&e<t.length&&H.push({index:e,key:c?.(e,t[e])??e});return e("div",{ref:z,className:M,style:V,onScroll:F,children:e("div",{className:w,style:$,children:H.map(r=>{const n=t[r.index],i=L[r.index];if(!n||!i)return null;const s={position:"absolute",top:`${i.y}px`,left:`${i.x}px`,width:`${i.width}px`,height:`${i.height}px`,boxSizing:"border-box"};return e("div",{style:s,children:l({item:n,index:r.index,isScrolling:R})},r.key)})})})});function p(e,t){return t?e:e.toLowerCase()}function b({items:r,searchValue:n,searchFields:i,caseSensitive:l=!1,deferSearch:a=!0,matcher:u}){const h=o(()=>p(n.trim(),l),[n,l]),d=c(h),f=a?d:h,m=a&&d!==h,g=s(e=>!f||(u?u(e,f):function(e,t,r,n){return r.some(r=>{const i=e[r];return null!=i&&p(String(i).trim(),n).includes(t)})}(e,f,i,l)),[f,u,i,l]),b=o(()=>f?r.filter(g):[...r],[r,f,g]),v=s(e=>g(e),[g]),y=o(()=>{if(!h)return null;const e=h.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");return new RegExp(`(${e})`,l?"g":"gi")},[h,l]),w=s(r=>{if(!r||!y)return r;return r.split(y).map((r,n)=>e(n%2==1?"mark":t.Fragment,{children:r},n))},[y]);return{filteredItems:b,resultCount:b.length,query:f,hasMatch:v,isSearching:m,highlightMatch:w}}function v({threshold:e=.1,onVisible:t,root:s=null,rootMargin:o="0px",enabled:l=!0,once:a=!0}={}){const[c,u]=i(!1),[h,d]=i(null),f=r(null),m=r(t);return n(()=>{m.current=t},[t]),n(()=>{if(!l)return;const t=f.current;if(!t)return;if("undefined"==typeof window||!("IntersectionObserver"in window))return u(!0),void m.current?.();const r=new IntersectionObserver(([e])=>{d(e),e.isIntersecting?(u(!0),m.current?.(),a&&r.unobserve(e.target)):a||u(!1)},{threshold:e,root:s,rootMargin:o});return r.observe(t),()=>{r.disconnect()}},[e,s,o,l,a]),{ref:f,isVisible:c,entry:h}}function y({onLoadMore:e,threshold:t=500,isLoading:o=!1,enabled:l=!0}){const a=r(null),[c,u]=i(!1),h=r(!1),d=r(e);n(()=>{d.current=e},[e]);const f=s(()=>{if(!l)return;const e=a.current;if(!e)return;const{scrollTop:r,scrollHeight:n,clientHeight:i}=e,s=n-r-i<=t;u(s),!s||h.current||o||(h.current=!0,Promise.resolve(d.current()).finally(()=>{h.current=!1}))},[t,l,o]);return n(()=>{if(!l)return;const e=a.current;if(!e)return;const t=()=>{f()};return e.addEventListener("scroll",t,{passive:!0}),f(),()=>{e.removeEventListener("scroll",t)}},[l,f]),{containerRef:a,isAtBottom:c,isLoading:o,checkIfAtBottom:f}}g.displayName="VirtualGrid";const w=new Map;function x(e,t,{persist:i=!0,storageKey:o="virtualize-scroll-positions",storage:l,autoSave:a=!1,maxEntries:c=100,useRAF:u=!0,enabled:h=!0,onError:d}={}){const f=r(l??("undefined"!=typeof window&&"undefined"!=typeof document?window.localStorage:null));n(()=>{if(h&&i&&f.current&&!(w.size>0))try{const e=f.current.getItem(o);if(!e)return;JSON.parse(e).forEach(e=>{w.set(e.key,e)})}catch(e){d?.(e)}},[h,i,o,d]);const m=s(()=>{if(i&&f.current)try{const e=Array.from(w.values()).sort((e,t)=>t.timestamp-e.timestamp).slice(0,c);f.current.setItem(o,JSON.stringify(e))}catch(e){d?.(e)}},[i,o,c,d]),g=s(()=>{if(!h)return;const r=t.current;if(!r)return;const n={key:e,top:r.scrollTop,left:r.scrollLeft,timestamp:Date.now()};w.set(e,n),m()},[e,t,h,m]),p=s(()=>{if(!h)return;if(!t.current)return;const r=w.get(e);if(!r)return;const n=()=>{t.current&&(t.current.scrollTop=r.top,t.current.scrollLeft=r.left)};u?requestAnimationFrame(n):n()},[e,t,h,u]);return n(()=>{h&&p()},[h,p]),n(()=>{if(h)return()=>{g()}},[h,g]),n(()=>{if(!h||!a||!t.current)return;const e=t.current,r=()=>{g()};return e.addEventListener("scroll",r,{passive:!0}),()=>{e.removeEventListener("scroll",r)}},[h,a,g,t]),{savePosition:g,restorePosition:p}}export{h as MeasurementSystem,g as VirtualGrid,m as VirtualList,u as VirtualizationEngine,y as useInfiniteScroll,v as useLazyLoad,x as useScrollRestoration,f as useVirtualList,b as useVirtualizedSearch};
1
+ import{jsx as e,jsxs as t}from"react/jsx-runtime";import r,{useRef as i,useEffect as n,useState as s,useCallback as o,useMemo as a,forwardRef as l,useImperativeHandle as c,useDeferredValue as u}from"react";function h(e){return e&-e}function d(e){let t=1;for(;t<e;)t<<=1;return t}class f{constructor(e=0){Object.defineProperty(this,"capacity",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"tree",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"raw",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"n",{enumerable:!0,configurable:!0,writable:!0,value:0}),this.capacity=d(Math.max(1,e)),this.tree=new Array(this.capacity+1).fill(0),this.raw=new Array(this.capacity).fill(0),e>0&&this.resize(e,0)}size(){return this.n}rebuild(){this.tree=new Array(this.capacity+1).fill(0);for(let e=1;e<=this.capacity;e++){this.tree[e]+=this.raw[e-1]??0;const t=e+h(e);t<=this.capacity&&(this.tree[t]+=this.tree[e])}}resize(e,t){if(e>this.capacity){const r=d(e),i=this.raw;this.raw=new Array(r).fill(0);for(let e=0;e<i.length;e++)this.raw[e]=i[e];for(let r=this.n;r<e;r++)this.raw[r]=t;return this.capacity=r,this.rebuild(),void(this.n=e)}if(e>this.n){for(let r=this.n;r<e;r++)this.update(r,t);this.n=e}else if(e<this.n){for(let t=e;t<this.n;t++)this.update(t,0);this.n=e}}update(e,t){if(e<0||e>=this.capacity)return;const r=t-(this.raw[e]??0);if(0!==r){this.raw[e]=t;for(let t=e+1;t<=this.capacity;t+=h(t))this.tree[t]+=r}}getValue(e){return this.raw[e]??0}prefixSum(e){let t=0;for(let r=Math.min(e,this.n);r>0;r-=h(r))t+=this.tree[r];return t}total(){return this.prefixSum(this.n)}findIndexAtOffset(e){if(0===this.n)return 0;let t=0,r=e;for(let e=this.capacity;e>0;e>>=1){const i=t+e;i<=this.capacity&&this.tree[i]<=r&&(t=i,r-=this.tree[i])}return Math.min(t,this.n-1)}resetAll(e){for(let e=0;e<this.n;e++)this.raw[e]=0;this.rebuild();for(let t=0;t<this.n;t++)this.update(t,e)}}class m{constructor(e=35){Object.defineProperty(this,"tree",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"estimatedItemSize",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"itemCount",{enumerable:!0,configurable:!0,writable:!0,value:0}),this.estimatedItemSize=e,this.tree=new f(0)}setItemCount(e){this.itemCount!==e&&(this.tree.resize(e,this.estimatedItemSize),this.itemCount=e)}recordItemSize(e,t){e<0||e>=this.itemCount||this.tree.update(e,t)}invalidateFrom(e){if(void 0===e)return void this.tree.resetAll(this.estimatedItemSize);for(let t=Math.max(0,e);t<this.itemCount;t++)this.tree.update(t,this.estimatedItemSize)}getItemSize(e){return e<0||e>=this.itemCount?this.estimatedItemSize:this.tree.getValue(e)}getItemOffset(e){return this.tree.prefixSum(Math.max(0,e))}getTotalSize(){return this.tree.total()}getVisibleRange(e,t,r,i=5){if(this.setItemCount(r),0===r)return{startIndex:0,endIndex:-1,overscanStartIndex:0,overscanEndIndex:-1};const n=this.tree.findIndexAtOffset(e),s=this.tree.findIndexAtOffset(e+t);return{startIndex:Math.max(0,n-i),endIndex:Math.min(r-1,s+i),overscanStartIndex:n,overscanEndIndex:s}}getVisibleItems(e,t,r,i){const n=this.getVisibleRange(e,t,r,i),s=[];for(let e=n.startIndex;e<=n.endIndex;e++)s.push({index:e,size:this.getItemSize(e),offset:this.getItemOffset(e)});return s}getScrollOffsetForIndex(e,t,r="start"){const i=this.getItemOffset(e),n=this.getItemSize(e);return"center"===r?Math.max(0,i-(t-n)/2):"end"===r?Math.max(0,i-t+n):Math.max(0,i)}}class g{constructor(){Object.defineProperty(this,"resizeObserver",{enumerable:!0,configurable:!0,writable:!0,value:null}),Object.defineProperty(this,"measurements",{enumerable:!0,configurable:!0,writable:!0,value:new Map}),Object.defineProperty(this,"widthMeasurements",{enumerable:!0,configurable:!0,writable:!0,value:new Map}),Object.defineProperty(this,"observedElements",{enumerable:!0,configurable:!0,writable:!0,value:new WeakMap}),Object.defineProperty(this,"observedAxis",{enumerable:!0,configurable:!0,writable:!0,value:new WeakMap}),Object.defineProperty(this,"pendingUpdates",{enumerable:!0,configurable:!0,writable:!0,value:new Map}),Object.defineProperty(this,"pendingWidthUpdates",{enumerable:!0,configurable:!0,writable:!0,value:new Map}),Object.defineProperty(this,"rafId",{enumerable:!0,configurable:!0,writable:!0,value:null}),Object.defineProperty(this,"onMeasure",{enumerable:!0,configurable:!0,writable:!0,value:null}),Object.defineProperty(this,"onMeasureWidth",{enumerable:!0,configurable:!0,writable:!0,value:null}),Object.defineProperty(this,"handleResize",{enumerable:!0,configurable:!0,writable:!0,value:e=>{for(const t of e){const e=t.target,r=this.observedElements.get(e);if(void 0===r)continue;if("width"===(this.observedAxis.get(e)??"height")){const e=Math.round(t.contentRect.width);this.widthMeasurements.get(r)!==e&&(this.widthMeasurements.set(r,e),this.pendingWidthUpdates.set(r,e));continue}const i=Math.round(t.contentRect.height);this.measurements.get(r)!==i&&(this.measurements.set(r,i),this.pendingUpdates.set(r,i))}this.flushPendingUpdates()}}),"undefined"!=typeof window&&"ResizeObserver"in window&&(this.resizeObserver=new ResizeObserver(this.handleResize))}startMeasuring(e,t,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
@@ -1 +1 @@
1
- {"version":3,"file":"index.esm.js","sources":["../src/core/VirtualizationEngine.ts","../src/core/MeasurementSystem.ts","../src/hooks/useVirtualList.ts","../src/components/VirtualList.tsx","../src/components/VirtualGrid.tsx","../src/hooks/useVirtualizedSearch.tsx","../src/hooks/useLazyLoad.ts","../src/hooks/useInfiniteScroll.ts","../src/hooks/useScrollRestoration.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null],"names":["VirtualizationEngine","constructor","estimatedItemSize","Object","defineProperty","this","value","setItemCount","count","itemCount","dirty","recordItemSize","index","size","itemSizeMap","invalidateFrom","fromIndex","undefined","key","keys","Number","rebuildPrefix","sum","prefix","i","getItemSize","getItemOffset","getTotalSize","binarySearch","offset","low","high","mid","Math","max","getVisibleRange","scrollOffset","containerSize","overscan","start","end","startIndex","endIndex","min","overscanStartIndex","overscanEndIndex","getVisibleItems","range","items","push","getScrollOffsetForIndex","alignment","MeasurementSystem","Map","WeakMap","entries","entry","element","target","observedElements","get","observedAxis","widthSize","round","contentRect","width","widthMeasurements","set","pendingWidthUpdates","height","measurements","pendingUpdates","flushPendingUpdates","window","resizeObserver","ResizeObserver","handleResize","startMeasuring","container","onMeasure","onMeasureWidth","querySelectorAll","forEach","item","indexAttr","dataset","virtualizeIndex","observeItem","axis","String","observe","syncMeasure","unobserveItem","unobserve","delete","rafId","requestAnimationFrame","clear","rect","getBoundingClientRect","rounded","stopMeasuring","disconnect","cancelAnimationFrame","getMeasurement","getWidthMeasurement","getAllMeasurements","getAllWidthMeasurements","clearPending","clearMeasurements","destroy","noop","useVirtualList","params","getItemKey","containerHeight","containerWidth","onScroll","onScrollEnd","stickyIndices","scrollEndDelay","autoMeasureContainer","isHorizontal","stickyIndicesRef","useRef","stickyKey","join","useEffect","current","engineRef","measurementRef","containerRef","innerRef","measuredViewport","setMeasuredViewport","useState","node","observer","prev","resolvedViewportSize","resolvedCrossAxisSize","setScrollOffsetState","isScrolling","setIsScrolling","scrollDirection","setScrollDirection","scrollTimeoutRef","lastScrollOffsetRef","measurementVersion","setMeasurementVersion","virtualItems","setVirtualItems","engine","length","visibleItems","sticky","nextVirtualItems","map","isSticky","includes","changed","prevItem","nextItem","handleScrollEvent","useCallback","e","currentTarget","newScrollOffset","scrollLeft","scrollTop","direction","clearTimeout","setTimeout","addEventListener","passive","removeEventListener","handleItemMeasure","v","measurement","scrollToItem","scrollToOffset","setScrollOffset","getItemStyle","isStickyItem","base","position","zIndex","top","left","getItemKeyForIndex","recalculate","totalSize","useMemo","VirtualList","forwardRef","renderItem","itemWrapper","itemKey","itemSize","className","itemClassName","style","scrollOffsetRef","internalContainerRef","internalInnerRef","mergedContainerRef","mergedInnerRef","useImperativeHandle","containerStyle","overflow","_jsx","ref","el","handler","__scrollHandler","children","virtualItem","virtualStyle","renderProps","content","React","Fragment","boxSizing","displayName","VirtualGrid","columnCount","rowHeight","columnWidth","layout","gap","onVisibleRangeChange","innerClassName","innerStyle","containerClassName","setScrollTop","setContainerWidth","scrollTimeout","isReady","cols","minColWidth","floor","colWidth","totalGapWidth","positions","pos","colHeights","Array","fill","itemHeight","minColIndex","indexOf","xPos","yPos","x","y","row","col","visibleRange","heightNum","parseInt","totalHeight","p","handleScroll","containerStyleComputed","overflowY","overflowX","innerStyleComputed","vItem","itemStyle","normalize","caseSensitive","toLowerCase","useVirtualizedSearch","searchValue","searchFields","deferSearch","matcher","normalizedQuery","trim","deferredQuery","useDeferredValue","activeQuery","isSearching","itemMatcher","query","some","field","defaultMatcher","filteredItems","filter","hasMatch","highlightRegex","escaped","replace","RegExp","highlightMatch","text","split","part","resultCount","useLazyLoad","threshold","onVisible","root","rootMargin","enabled","once","isVisible","setIsVisible","setEntry","elementRef","callbackRef","IntersectionObserver","observerEntry","isIntersecting","useInfiniteScroll","onLoadMore","isLoading","isAtBottom","setIsAtBottom","loadingRef","onLoadMoreRef","checkIfAtBottom","scrollHeight","clientHeight","reachedBottom","Promise","resolve","finally","positionCache","useScrollRestoration","persist","storageKey","storage","autoSave","maxEntries","useRAF","onError","storageRef","document","localStorage","raw","getItem","JSON","parse","error","persistCache","from","values","sort","a","b","timestamp","slice","setItem","stringify","savePosition","Date","now","restorePosition","restore"],"mappings":"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"}
1
+ {"version":3,"file":"index.esm.js","sources":["../src/core/FenwickTree.ts","../src/core/VirtualizationEngine.ts","../src/core/MeasurementSystem.ts","../src/hooks/useVirtualList.ts","../src/components/VirtualList.tsx","../src/core/GridLayoutEngine.ts","../src/components/VirtualGrid.tsx","../src/hooks/useVirtualizedSearch.tsx","../src/hooks/useLazyLoad.ts","../src/hooks/useInfiniteScroll.ts","../src/hooks/useScrollRestoration.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null],"names":["lowbit","i","nextPow2","x","p","FenwickTree","constructor","initialCount","Object","defineProperty","this","capacity","Math","max","tree","Array","fill","raw","resize","size","n","rebuild","parent","count","defaultValue","newCapacity","oldRaw","length","update","index","value","delta","getValue","prefixSum","sum","min","total","findIndexAtOffset","target","pos","remaining","pw","next","resetAll","VirtualizationEngine","estimatedItemSize","setItemCount","itemCount","recordItemSize","invalidateFrom","fromIndex","undefined","getItemSize","getItemOffset","getTotalSize","getVisibleRange","scrollOffset","containerSize","overscan","startIndex","endIndex","overscanStartIndex","overscanEndIndex","start","end","getVisibleItems","range","items","push","offset","getScrollOffsetForIndex","alignment","MeasurementSystem","Map","WeakMap","entries","entry","element","observedElements","get","observedAxis","widthSize","round","contentRect","width","widthMeasurements","set","pendingWidthUpdates","height","measurements","pendingUpdates","flushPendingUpdates","window","resizeObserver","ResizeObserver","handleResize","startMeasuring","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 { StrictMode } from 'react';
3
- import { createRoot } from 'react-dom/client';
4
- import App from './App';
5
- createRoot(document.getElementById('root')).render(_jsx(StrictMode, { children: _jsx(App, {}) }));
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,EAAE,UAAU,EAAE,MAAM,OAAO,CAAA;AAClC,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAC7C,OAAO,GAAG,MAAM,OAAO,CAAC;AAExB,UAAU,CAAC,QAAQ,CAAC,cAAc,CAAC,MAAM,CAAE,CAAC,CAAC,MAAM,CACjD,KAAC,UAAU,cACT,KAAC,GAAG,KAAG,GACI,CACd,CAAA"}
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;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "react-virtual-renderer",
3
- "version": "1.1.3",
3
+ "version": "1.1.4",
4
4
  "description": "High-performance React virtualization library with dynamic sizing, bidirectional scrolling, and accessibility",
5
5
  "author": "Rishabh Agarwal",
6
6
  "license": "MIT",