react-virtuoso 2.2.4 → 2.2.6-beta.2

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 (106) hide show
  1. package/dist/__examples.cc6a8f9f.js +162195 -0
  2. package/dist/__examples.cc6a8f9f.js.map +1 -0
  3. package/dist/__examples.html +27 -0
  4. package/dist/__examples.js +392 -0
  5. package/dist/__examples.js.map +1 -0
  6. package/dist/align-to-bottom.7fcd2087.js +196 -0
  7. package/dist/align-to-bottom.7fcd2087.js.map +1 -0
  8. package/dist/auto-prepend-items.bd7e9b90.js +263 -0
  9. package/dist/auto-prepend-items.bd7e9b90.js.map +1 -0
  10. package/dist/benchmark.66d31485.js +161 -0
  11. package/dist/benchmark.66d31485.js.map +1 -0
  12. package/dist/chat.d4f93b8b.js +365 -0
  13. package/dist/chat.d4f93b8b.js.map +1 -0
  14. package/dist/custom-components.5aeaa7ef.js +202 -0
  15. package/dist/custom-components.5aeaa7ef.js.map +1 -0
  16. package/dist/custom-scroller.b0240d14.js +180 -0
  17. package/dist/custom-scroller.b0240d14.js.map +1 -0
  18. package/dist/data.26707046.js +186 -0
  19. package/dist/data.26707046.js.map +1 -0
  20. package/dist/decrease-items.e2211e50.js +180 -0
  21. package/dist/decrease-items.e2211e50.js.map +1 -0
  22. package/dist/default-item-height.b77ada36.js +155 -0
  23. package/dist/default-item-height.b77ada36.js.map +1 -0
  24. package/dist/empty-placeholder.00607a6e.js +185 -0
  25. package/dist/empty-placeholder.00607a6e.js.map +1 -0
  26. package/dist/end-reached.8531e5b1.js +199 -0
  27. package/dist/end-reached.8531e5b1.js.map +1 -0
  28. package/dist/endless-scrolling.bc4101f0.js +205 -0
  29. package/dist/endless-scrolling.bc4101f0.js.map +1 -0
  30. package/dist/expandable-cards.5439f51b.js +222 -0
  31. package/dist/expandable-cards.5439f51b.js.map +1 -0
  32. package/dist/follow-output.4e36fca8.js +225 -0
  33. package/dist/follow-output.4e36fca8.js.map +1 -0
  34. package/dist/grid-optimize-rendering.b49e36f5.js +247 -0
  35. package/dist/grid-optimize-rendering.b49e36f5.js.map +1 -0
  36. package/dist/grid.d5d77b6a.js +244 -0
  37. package/dist/grid.d5d77b6a.js.map +1 -0
  38. package/dist/grouped-endless-scrolling.24985a0f.js +301 -0
  39. package/dist/grouped-endless-scrolling.24985a0f.js.map +1 -0
  40. package/dist/grouped-load-more.bce8f6e4.js +300 -0
  41. package/dist/grouped-load-more.bce8f6e4.js.map +1 -0
  42. package/dist/grouped-topmost-item.34960f5e.js +161 -0
  43. package/dist/grouped-topmost-item.34960f5e.js.map +1 -0
  44. package/dist/grouped.a2908632.js +160 -0
  45. package/dist/grouped.a2908632.js.map +1 -0
  46. package/dist/header-footer.49733d45.js +171 -0
  47. package/dist/header-footer.49733d45.js.map +1 -0
  48. package/dist/hello.54765c26.js +155 -0
  49. package/dist/hello.54765c26.js.map +1 -0
  50. package/dist/index.js +1 -1
  51. package/dist/index.js.map +1 -1
  52. package/dist/index.m.js +1 -1
  53. package/dist/index.m.js.map +1 -1
  54. package/dist/initial-from-zero.22ad1626.js +195 -0
  55. package/dist/initial-from-zero.22ad1626.js.map +1 -0
  56. package/dist/initial-scroll-top.90db1920.js +156 -0
  57. package/dist/initial-scroll-top.90db1920.js.map +1 -0
  58. package/dist/initial-topmost-item-default-height.43a95247.js +157 -0
  59. package/dist/initial-topmost-item-default-height.43a95247.js.map +1 -0
  60. package/dist/initial-topmost-item.61c0e169.js +158 -0
  61. package/dist/initial-topmost-item.61c0e169.js.map +1 -0
  62. package/dist/long-last-item.b56ff89c.js +157 -0
  63. package/dist/long-last-item.b56ff89c.js.map +1 -0
  64. package/dist/prepend-items.f2bda34b.js +188 -0
  65. package/dist/prepend-items.f2bda34b.js.map +1 -0
  66. package/dist/prepend-last-tall-item.168a9e65.js +175 -0
  67. package/dist/prepend-last-tall-item.168a9e65.js.map +1 -0
  68. package/dist/react-beautiful-dnd-window-scroller.0a227511.js +280 -0
  69. package/dist/react-beautiful-dnd-window-scroller.0a227511.js.map +1 -0
  70. package/dist/react-beautiful-dnd.817e9251.js +277 -0
  71. package/dist/react-beautiful-dnd.817e9251.js.map +1 -0
  72. package/dist/rerender.ddd61b7c.js +195 -0
  73. package/dist/rerender.ddd61b7c.js.map +1 -0
  74. package/dist/resize-loop.309b1dac.js +183 -0
  75. package/dist/resize-loop.309b1dac.js.map +1 -0
  76. package/dist/resizing-items.c09b5e1b.js +189 -0
  77. package/dist/resizing-items.c09b5e1b.js.map +1 -0
  78. package/dist/scroll-into-view.39b77fe9.js +203 -0
  79. package/dist/scroll-into-view.39b77fe9.js.map +1 -0
  80. package/dist/scroll-seek-placeholder.69fb85c6.js +179 -0
  81. package/dist/scroll-seek-placeholder.69fb85c6.js.map +1 -0
  82. package/dist/scroll-to-index.e72249cf.js +212 -0
  83. package/dist/scroll-to-index.e72249cf.js.map +1 -0
  84. package/dist/ssr.8f31b042.js +154 -0
  85. package/dist/ssr.8f31b042.js.map +1 -0
  86. package/dist/start-reached.2990ece7.js +219 -0
  87. package/dist/start-reached.2990ece7.js.map +1 -0
  88. package/dist/tall-item-reverse-scrolling.58bcd140.js +158 -0
  89. package/dist/tall-item-reverse-scrolling.58bcd140.js.map +1 -0
  90. package/dist/test-case-446.dce9595c.js +223 -0
  91. package/dist/test-case-446.dce9595c.js.map +1 -0
  92. package/dist/test-case-460.6d75ad1f.js +246 -0
  93. package/dist/test-case-460.6d75ad1f.js.map +1 -0
  94. package/dist/test-case-463.525f34ba.js +170 -0
  95. package/dist/test-case-463.525f34ba.js.map +1 -0
  96. package/dist/toggle-display-grouped.4f4ae058.js +184 -0
  97. package/dist/toggle-display-grouped.4f4ae058.js.map +1 -0
  98. package/dist/top-items.f724bf61.js +153 -0
  99. package/dist/top-items.f724bf61.js.map +1 -0
  100. package/dist/upward-scroll.d49e0815.js +157 -0
  101. package/dist/upward-scroll.d49e0815.js.map +1 -0
  102. package/dist/window-grid.b22094fd.js +234 -0
  103. package/dist/window-grid.b22094fd.js.map +1 -0
  104. package/dist/window-scroller.a979c6d6.js +163 -0
  105. package/dist/window-scroller.a979c6d6.js.map +1 -0
  106. package/package.json +6 -6
package/dist/index.m.js CHANGED
@@ -1,2 +1,2 @@
1
- import{systemToComponent as e}from"@virtuoso.dev/react-urx";import{system as t,stream as n,statefulStream as o,connect as r,pipe as i,scan as l,map as u,getValue as a,streamFromEmitter as s,filter as c,distinctUntilChanged as f,subscribe as d,tup as m,merge as h,duc as p,skip as v,mapTo as g,debounceTime as I,combineLatest as C,publish as S,throttleTime as x,withLatestFrom as T,statefulStreamFromEmitter as w,handleNext as y,noop as b,prop as R,tap as z,compose as H}from"@virtuoso.dev/urx";import{useRef as k,useCallback as B,useEffect as E,useLayoutEffect as L,memo as O,createElement as M}from"react";function P(){return(P=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var o in n)Object.prototype.hasOwnProperty.call(n,o)&&(e[o]=n[o])}return e}).apply(this,arguments)}function F(e,t){if(null==e)return{};var n,o,r={},i=Object.keys(e);for(o=0;o<i.length;o++)t.indexOf(n=i[o])>=0||(r[n]=e[n]);return r}function A(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,o=new Array(t);n<t;n++)o[n]=e[n];return o}function W(e,t){var n;if("undefined"==typeof Symbol||null==e[Symbol.iterator]){if(Array.isArray(e)||(n=function(e,t){if(e){if("string"==typeof e)return A(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?A(e,t):void 0}}(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var o=0;return function(){return o>=e.length?{done:!0}:{done:!1,value:e[o++]}}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}return(n=e[Symbol.iterator]()).next.bind(n)}function G(e,t){return!(!e||e[0]!==t[0]||e[1]!==t[1])}function N(e,t){return!(!e||e.startIndex!==t.startIndex||e.endIndex!==t.endIndex)}var V,D,U="up",_=t(function(){var e=n(),t=o(0),a=n(),s=o(0),c=n(),f=o(0),d=o(0),m=n(),h=n(),p=o(!1);r(e,s);var v=o("down");return r(i(e,l(function(e,t){return{direction:t<e.prevScrollTop?U:"down",prevScrollTop:t}},{direction:"down",prevScrollTop:0}),u(function(e){return e.direction})),v),{scrollTop:e,viewportHeight:c,headerHeight:f,footerHeight:d,smoothScrollTargetReached:a,scrollTo:m,scrollBy:h,scrollDirection:v,statefulScrollTop:s,deviation:t,scrollingInProgress:p}},[],{singleton:!0});!function(e){e[e.DEBUG=0]="DEBUG",e[e.INFO=1]="INFO",e[e.WARN=2]="WARN",e[e.ERROR=3]="ERROR"}(D||(D={}));var j=((V={})[D.DEBUG]="debug",V[D.INFO]="log",V[D.WARN]="warn",V[D.ERROR]="error",V),K=t(function(){var e=o(D.ERROR);return{log:o(function(t,n,o){var r;void 0===o&&(o=D.INFO),o>=(null!=(r=(globalThis||window).VIRTUOSO_LOG_LEVEL)?r:a(e))&&console[j[o]]("%creact-virtuoso: %c%s %o","color: #0253b3; font-weight: bold","color: black",t,n)}),logLevel:e}},[],{singleton:!0}),Y=t(function(e){var t=e[0].log,n=o(!1),r=s(i(n,c(function(e){return e}),f()));return d(n,function(e){e&&a(t)("props updated",{},D.DEBUG)}),{propsReady:n,didMount:r}},m(K),{singleton:!0}),Z={atBottom:!1,notAtBottomBecause:"NOT_SHOWING_LAST_ITEM",state:{offsetBottom:0,scrollTop:0,viewportHeight:0,totalHeight:0}},q=t(function(e){var t=e[0],a=t.scrollTop,c=t.viewportHeight,m=t.headerHeight,x=t.footerHeight,T=o(!1),w=o(!0),y=n(),b=n(),R=n(),z=s(i(h(i(p(a),v(1),g(!0)),i(p(a),v(1),g(!1),I(100))),f()));r(i(p(a),u(function(e){return 0===e}),f()),w),r(w,b);var H=s(i(C(R,p(a),p(c),p(m),p(x)),l(function(e,t){var n=t[0],o=n.bottom,r=n.offsetBottom,i=t[1],l=t[2],u={viewportHeight:l,scrollTop:i,offsetBottom:r,totalHeight:o+r};return 0===r&&i+l-(o+t[3]+t[4])>-4?{atBottom:!0,state:u}:{atBottom:!1,notAtBottomBecause:u.totalHeight>e.state.totalHeight?"SIZE_INCREASED":0!==r?"NOT_SHOWING_LAST_ITEM":l<e.state.viewportHeight?"VIEWPORT_HEIGHT_DECREASING":i<e.state.scrollTop?"SCROLLING_UPWARDS":"NOT_FULLY_SCROLLED_TO_LAST_ITEM_BOTTOM",state:u}},Z),f(function(e,t){return e&&e.atBottom===t.atBottom})));return r(i(H,u(function(e){return e.atBottom})),T),d(T,function(e){setTimeout(function(){return S(y,e)})}),{isScrolling:z,isAtTop:w,isAtBottom:T,atBottomState:H,atTopStateChange:b,atBottomStateChange:y,listStateListener:R}},m(_)),$=t(function(e){var t=e[0].scrollTop,a=e[1].isScrolling,s=o(0),m=o(!1),h=n(),p=o(!1);return r(i(a,c(function(e){return!e}),g(0)),s),r(i(t,x(100),T(a),c(function(e){return!!e[1]}),l(function(e,t){return[e[1],t[0]]},[0,0]),u(function(e){return e[1]-e[0]})),s),r(i(s,T(p,m,h),c(function(e){return!!e[1]}),u(function(e){var t=e[0],n=e[1],o=e[2],r=e[3],i=n.enter;if(o){if((0,n.exit)(t,r))return!1}else if(i(t,r))return!0;return o}),f()),m),d(i(C(m,s,h),T(p)),function(e){var t=e[0],n=e[1];return t[0]&&n&&n.change&&n.change(t[1],t[2])}),{isSeeking:m,scrollSeekConfiguration:p,scrollVelocity:s,scrollSeekRangeChanged:h}},m(_,q),{singleton:!0}),J={lvl:0};function Q(e,t,n,o,r){return void 0===o&&(o=J),void 0===r&&(r=J),{k:e,v:t,lvl:n,l:o,r:r}}function X(e){return e===J}function ee(){return J}function te(e,t){if(X(e))return J;var n=e.k,o=e.l,r=e.r;if(t===n){if(X(o))return r;if(X(r))return o;var i=le(o);return ce(ae(e,{k:i[0],v:i[1],l:ue(o)}))}return ce(ae(e,t<n?{l:te(o,t)}:{r:te(r,t)}))}function ne(e,t,n){if(void 0===n&&(n="k"),X(e))return[-Infinity,void 0];if(e[n]===t)return[e.k,e.v];if(e[n]<t){var o=ne(e.r,t,n);return-Infinity===o[0]?[e.k,e.v]:o}return ne(e.l,t,n)}function oe(e,t,n){return X(e)?Q(t,n,1):t===e.k?ae(e,{k:t,v:n}):function(e){return me(he(e))}(ae(e,t<e.k?{l:oe(e.l,t,n)}:{r:oe(e.r,t,n)}))}function re(e,t,n){if(X(e))return[];var o=e.k,r=e.v,i=e.r,l=[];return o>t&&(l=l.concat(re(e.l,t,n))),o>=t&&o<=n&&l.push({k:o,v:r}),o<=n&&(l=l.concat(re(i,t,n))),l}function ie(e){return X(e)?[]:[].concat(ie(e.l),[{k:e.k,v:e.v}],ie(e.r))}function le(e){return X(e.r)?[e.k,e.v]:le(e.r)}function ue(e){return X(e.r)?e.l:ce(ae(e,{r:ue(e.r)}))}function ae(e,t){return Q(void 0!==t.k?t.k:e.k,void 0!==t.v?t.v:e.v,void 0!==t.lvl?t.lvl:e.lvl,void 0!==t.l?t.l:e.l,void 0!==t.r?t.r:e.r)}function se(e){return X(e)||e.lvl>e.r.lvl}function ce(e){var t=e.l,n=e.r,o=e.lvl;if(n.lvl>=o-1&&t.lvl>=o-1)return e;if(o>n.lvl+1){if(se(t))return he(ae(e,{lvl:o-1}));if(X(t)||X(t.r))throw new Error("Unexpected empty nodes");return ae(t.r,{l:ae(t,{r:t.r.l}),r:ae(e,{l:t.r.r,lvl:o-1}),lvl:o})}if(se(e))return me(ae(e,{lvl:o-1}));if(X(n)||X(n.l))throw new Error("Unexpected empty nodes");var r=n.l,i=se(r)?n.lvl-1:n.lvl;return ae(r,{l:ae(e,{r:r.l,lvl:o-1}),r:me(ae(n,{l:r.r,lvl:i})),lvl:r.lvl+1})}function fe(e,t,n){return X(e)?[]:de(re(e,ne(e,t)[0],n),function(e){return{index:e.k,value:e.v}})}function de(e,t){var n=e.length;if(0===n)return[];for(var o=t(e[0]),r=o.index,i=o.value,l=[],u=1;u<n;u++){var a=t(e[u]),s=a.index,c=a.value;l.push({start:r,end:s-1,value:i}),r=s,i=c}return l.push({start:r,end:Infinity,value:i}),l}function me(e){var t=e.r,n=e.lvl;return X(t)||X(t.r)||t.lvl!==n||t.r.lvl!==n?e:ae(t,{l:ae(e,{r:t.l}),lvl:n+1})}function he(e){var t=e.l;return X(t)||t.lvl!==e.lvl?e:ae(t,{r:ae(e,{l:t.r})})}function pe(e,t,n,o){void 0===o&&(o=0);for(var r=e.length-1;o<=r;){var i=Math.floor((o+r)/2),l=n(e[i],t);if(0===l)return i;if(-1===l){if(r-o<2)return i-1;r=i-1}else{if(r===o)return i;o=i+1}}throw new Error("Failed binary finding record in array - "+e.join(",")+", searched for "+t)}function ve(e,t,n){return e[pe(e,t,n)]}function ge(e,t){return Math.round(e.getBoundingClientRect()[t])}function Ie(e){var t=e.size,n=e.startIndex,o=e.endIndex;return function(e){return e.start===n&&(e.end===o||Infinity===e.end)&&e.value===t}}function Ce(e,t){var n=e.index;return t===n?0:t<n?-1:1}function Se(e,t){var n=e.offset;return t===n?0:t<n?-1:1}function xe(e){return{index:e.index,value:e}}function Te(e,t){var n=t[0],o=t[1];n.length>0&&(0,t[2])("received item sizes",n,D.DEBUG);var r=e.sizeTree,i=e.offsetTree,l=r,u=0;if(o.length>0&&X(r)&&2===n.length){var a=n[0].size,s=n[1].size;l=o.reduce(function(e,t){return oe(oe(e,t,a),t+1,s)},l)}else{var c=function(e,t){for(var n,o=X(e)?0:Infinity,r=W(t);!(n=r()).done;){var i=n.value,l=i.size,u=i.startIndex,a=i.endIndex;if(o=Math.min(o,u),X(e))e=oe(e,0,l);else{var s=fe(e,u-1,a+1);if(!s.some(Ie(i))){for(var c,f=!1,d=!1,m=W(s);!(c=m()).done;){var h=c.value,p=h.start,v=h.end,g=h.value;f?(a>=p||l===g)&&(e=te(e,p)):(d=g!==l,f=!0),v>a&&a>=p&&g!==l&&(e=oe(e,a+1,g))}d&&(e=oe(e,u,l))}}}return[e,o]}(l,n);l=c[0],u=c[1]}if(l===r)return e;var f=0,d=0,m=0,h=0;if(0!==u){h=pe(i,u-1,Ce),m=i[h].offset;var p=ne(l,u-1);f=p[0],d=p[1],i.length&&i[h].size===ne(l,u)[1]&&(h-=1),i=i.slice(0,h+1)}else i=[];for(var v,g=W(fe(l,u,Infinity));!(v=g()).done;){var I=v.value,C=I.start,S=I.value,x=(C-f)*d+m;i.push({offset:x,size:S,index:C}),f=C,m=x,d=S}return{sizeTree:l,offsetTree:i,groupOffsetTree:o.reduce(function(e,t){return oe(e,t,we(t,i))},ee()),lastIndex:f,lastOffset:m,lastSize:d,groupIndices:o}}function we(e,t){if(0===t.length)return 0;var n=ve(t,e,Ce);return n.size*(e-n.index)+n.offset}function ye(e,t){if(!be(t))return e;for(var n=0;t.groupIndices[n]<=e+n;)n++;return e+n}function be(e){return!X(e.groupOffsetTree)}var Re={offsetHeight:"height",offsetWidth:"width"},ze=t(function(e){var t=e[0].log,m=n(),h=n(),p=n(),v=o(0),g=o([]),I=o(void 0),C=o(void 0),S=o(function(e,t){return ge(e,Re[t])}),x=o(void 0),y={offsetTree:[],sizeTree:ee(),groupOffsetTree:ee(),lastIndex:0,lastOffset:0,lastSize:0,groupIndices:[]},b=w(i(m,T(g,t),l(Te,y),f()),y);r(i(g,c(function(e){return e.length>0}),T(b),u(function(e){var t=e[0],n=e[1],o=t.reduce(function(e,t,o){return oe(e,t,we(t,n.offsetTree)||o)},ee());return P({},n,{groupIndices:t,groupOffsetTree:o})})),b),r(i(h,T(b),c(function(e){return e[0]<e[1].lastIndex}),u(function(e){var t=e[1];return[{startIndex:e[0],endIndex:t.lastIndex,size:t.lastSize}]})),m),r(I,C);var R=w(i(I,u(function(e){return void 0===e})),!0);r(i(C,c(function(e){return void 0!==e&&X(a(b).sizeTree)}),u(function(e){return[{startIndex:0,endIndex:0,size:e}]})),m);var z=s(i(m,T(b),l(function(e,t){var n=t[1];return{changed:n!==e.sizes,sizes:n}},{changed:!1,sizes:y}),u(function(e){return e.changed})));r(i(v,l(function(e,t){return{diff:e.prev-t,prev:t}},{diff:0,prev:0}),u(function(e){return e.diff}),c(function(e){return e>0})),p),d(i(v,T(t)),function(e){e[0]<0&&(0,e[1])("`firstItemIndex` prop should not be set to less than zero. If you don't know the total count, just use a very high value",{firstItemIndex:v},D.ERROR)});var H=s(p);return r(i(p,T(b),u(function(e){var t=e[0],n=e[1];if(n.groupIndices.length>0)throw new Error("Virtuoso: prepending items does not work with groups");return ie(n.sizeTree).reduce(function(e,n){var o=n.k,r=n.v;return{ranges:[].concat(e.ranges,[{startIndex:e.prevIndex,endIndex:o+t-1,size:e.prevSize}]),prevIndex:o+t,prevSize:r}},{ranges:[],prevIndex:0,prevSize:n.lastSize}).ranges})),m),{data:x,totalCount:h,sizeRanges:m,groupIndices:g,defaultItemSize:C,fixedItemSize:I,unshiftWith:p,beforeUnshiftWith:H,firstItemIndex:v,sizes:b,listRefresh:z,trackItemSizes:R,itemSize:S}},m(K),{singleton:!0}),He="undefined"!=typeof document&&"scrollBehavior"in document.documentElement.style;function ke(e){var t="number"==typeof e?{index:e}:e;return t.align||(t.align="start"),t.behavior&&He||(t.behavior="auto"),t.offset||(t.offset=0),t}var Be=t(function(e){var t=e[0],l=t.sizes,a=t.totalCount,s=t.listRefresh,c=e[1],f=c.scrollingInProgress,m=c.viewportHeight,h=c.scrollTo,p=c.smoothScrollTargetReached,v=c.headerHeight,g=c.footerHeight,I=e[2].log,C=n(),x=o(0),w=null,b=null,R=null;function z(){w&&(w(),w=null),R&&(R(),R=null),b&&(clearTimeout(b),b=null),S(f,!1)}return r(i(C,T(l,m,a,x,v,g,I),u(function(e){var t=e[0],n=e[1],o=e[2],r=e[3],l=e[4],u=e[5],a=e[6],c=e[7],m=ke(t),h=m.align,v=m.behavior,g=m.offset,I=r-1,x=m.index;x=ye(x,n);var T=we(x=Math.max(0,x,Math.min(I,x)),n.offsetTree)+u;"end"===h?(T=Math.round(T-o+ne(n.sizeTree,x)[1]),x===I&&(T+=a)):"center"===h?T=Math.round(T-o/2+ne(n.sizeTree,x)[1]/2):T-=l,g&&(T+=g);var H=function(e){z(),e?(c("retrying to scroll to",{location:t},D.DEBUG),S(C,t)):c("list did not change, scroll successful",{},D.DEBUG)};if(z(),"smooth"===v){var k=!1;R=d(s,function(e){k=k||e}),w=y(p,function(){H(k)})}else w=y(i(s,function(e){var t=setTimeout(function(){e(!1)},50);return function(n){n&&(e(!0),clearTimeout(t))}}),H);return b=setTimeout(function(){z()},1200),S(f,!0),c("scrolling from index to",{index:x,top:T,behavior:v},D.DEBUG),{top:T,behavior:v}})),h),{scrollToIndex:C,topListHeight:x}},m(ze,_,K),{singleton:!0});function Ee(e,t,n){return"number"==typeof e?n===U&&"top"===t||"down"===n&&"bottom"===t?e:0:n===U?"top"===t?e.main:e.reverse:"bottom"===t?e.main:e.reverse}function Le(e,t){return"number"==typeof e?e:e[t]||0}var Oe=t(function(e){var t=e[0],r=t.scrollTop,l=t.viewportHeight,a=t.deviation,s=t.headerHeight,d=n(),m=o(0),h=o(0),v=o(0);return{listBoundary:d,overscan:v,topListHeight:m,increaseViewportBy:h,visibleRange:w(i(C(p(r),p(l),p(s),p(d,G),p(v),p(m),p(a),p(h)),u(function(e){var t=e[0],n=e[1],o=e[2],r=e[3],i=r[0],l=r[1],u=e[4],a=e[5],s=e[6],c=e[7],f=t-s,d=Math.max(o-f,0),m="none",h=Le(c,"top"),p=Le(c,"bottom");return i-=s,l+=o,(i+=o)>t+a-h&&(m=U),(l-=s)<t-d+n+p&&(m="down"),"none"!==m?[Math.max(f-o-Ee(u,"top",m)-h,0),f-d+n+Ee(u,"bottom",m)+p]:null}),c(function(e){return null!=e}),f(G)),[0,0])}},m(_),{singleton:!0}),Me=t(function(e){var t=e[0],l=t.scrollTop,a=t.scrollTo,s=n(),c=n(),f=n(),d=o(!1);return r(i(C(c,s),u(function(e){return Math.max(0,e[0]-e[1].offsetTop)})),l),r(i(a,T(s),u(function(e){var t=e[0];return P({},t,{top:t.top+e[1].offsetTop})})),f),{useWindowScroll:d,windowScrollTop:c,windowViewportRect:s,windowScrollTo:f}},m(_)),Pe={items:[],offsetBottom:0,offsetTop:0,top:0,bottom:0,itemHeight:0,itemWidth:0},Fe={items:[{index:0}],offsetBottom:0,offsetTop:0,top:0,bottom:0,itemHeight:0,itemWidth:0},Ae=Math.ceil,We=Math.floor,Ge=Math.min,Ne=Math.max;function Ve(e){return Ae(e)-e<.03?Ae(e):We(e)}function De(e,t){return Array.from({length:t-e+1}).map(function(t,n){return{index:n+e}})}var Ue=t(function(e){var t=e[0],l=t.overscan,a=t.visibleRange,d=t.listBoundary,m=e[1],h=m.scrollTop,v=m.viewportHeight,I=m.scrollBy,S=m.scrollTo,x=m.smoothScrollTargetReached,y=e[2],b=e[3],R=e[4],z=R.propsReady,H=R.didMount,k=e[5],B=k.windowViewportRect,E=k.windowScrollTo,L=k.useWindowScroll,O=k.windowScrollTop,M=o(0),F=o(0),A=o(Pe),W=o({height:0,width:0}),V=o({height:0,width:0}),D=n();r(i(H,T(F),c(function(e){return 0!==e[1]}),u(function(e){return{items:De(0,e[1]-1),top:0,bottom:0,offsetBottom:0,offsetTop:0,itemHeight:0,itemWidth:0}})),A),r(i(C(p(M),a,p(V,function(e,t){return e&&e.width===t.width&&e.height===t.height})),T(W),u(function(e){var t=e[0],n=t[0],o=t[1],r=o[0],i=o[1],l=t[2],u=e[1],a=l.height,s=l.width,c=u.width;if(0===n||0===c)return Pe;if(0===s)return Fe;var f=Ve(c/s),d=f*We(r/a),m=f*Ae(i/a)-1;m=Ge(n-1,m);var h=De(d=Ge(m,Ne(0,d)),m),p=_e(u,l,h),v=p.top,g=p.bottom;return{items:h,offsetTop:v,offsetBottom:Ae(n/f)*a-g,top:v,bottom:g,itemHeight:a,itemWidth:s}})),A),r(i(W,u(function(e){return e.height})),v),r(i(C(W,V,A),u(function(e){var t=_e(e[0],e[1],e[2].items);return[t.top,t.bottom]}),f(G)),d),r(i(d,T(A),u(function(e){return{bottom:e[0][1],offsetBottom:e[1].offsetBottom}})),y.listStateListener);var U=s(i(p(A),c(function(e){return e.items.length>0}),T(M),c(function(e){var t=e[0].items;return t[t.length-1].index===e[1]-1}),u(function(e){return e[1]-1}),f())),_=s(i(p(A),c(function(e){var t=e.items;return t.length>0&&0===t[0].index}),g(0),f())),j=s(i(p(A),c(function(e){return e.items.length>0}),u(function(e){var t=e.items;return{startIndex:t[0].index,endIndex:t[t.length-1].index}}),f(N)));r(j,b.scrollSeekRangeChanged),r(i(D,T(W,V,M),u(function(e){var t=e[1],n=e[2],o=e[3],r=ke(e[0]),i=r.align,l=r.behavior,u=r.offset,a=r.index,s=je(t,n,a=Math.max(0,a,Math.min(o-1,a)));return"end"===i?s=Math.round(s-t.height+n.height):"center"===i&&(s=Math.round(s-t.height/2+n.height/2)),u&&(s+=u),{top:s,behavior:l}})),S);var K=w(i(A,u(function(e){return e.offsetBottom+e.bottom})),0);return r(i(B,u(function(e){return{width:e.visibleWidth,height:e.visibleHeight}})),W),P({totalCount:M,viewportDimensions:W,itemDimensions:V,scrollTop:h,overscan:l,scrollBy:I,scrollTo:S,scrollToIndex:D,smoothScrollTargetReached:x,windowViewportRect:B,windowScrollTo:E,useWindowScroll:L,windowScrollTop:O,initialItemCount:F},b,{gridState:A,totalListHeight:K},y,{startReached:_,endReached:U,rangeChanged:j,propsReady:z})},m(Oe,_,q,$,Y,Me));function _e(e,t,n){var o=t.height;return void 0===o||0===n.length?{top:0,bottom:0}:{top:je(e,t,n[0].index),bottom:je(e,t,n[n.length-1].index)+o}}function je(e,t,n){var o=Ve(e.width/t.width);return We(n/o)*t.height}function Ke(e,t){void 0===t&&(t=!0);var n=k(null),o=function(e){};if("undefined"!=typeof ResizeObserver){var r=new ResizeObserver(function(t){var n=t[0].target;null!==n.offsetParent&&e(n)});o=function(e){e&&t?(r.observe(e),n.current=e):(n.current&&r.unobserve(n.current),n.current=null)}}return{ref:n,callbackRef:o}}function Ye(e,t){return void 0===t&&(t=!0),Ke(e,t).callbackRef}function Ze(e){var t=k(null),n=B(function(n){if(null!==n){var o=n.getBoundingClientRect(),r=window.innerHeight-Math.max(0,o.top),i=o.top+window.pageYOffset;t.current={offsetTop:i,visibleHeight:r,visibleWidth:o.width},e(t.current)}},[e]),o=Ke(n),r=o.callbackRef,i=o.ref,l=B(function(){n(i.current)},[n,i]);return E(function(){return window.addEventListener("scroll",l),window.addEventListener("resize",l),function(){window.removeEventListener("scroll",l),window.removeEventListener("resize",l)}},[l]),r}var qe="undefined"!=typeof document?L:E;function $e(e,t,n,o){void 0===o&&(o=b);var r=k(null),i=k(null),l=k(null),u=B(function(n){var o=n.target,r=o===window||o===document?window.pageYOffset||document.documentElement.scrollTop:o.scrollTop;e(Math.max(r,0)),null!==i.current&&(r===i.current||r<=0||r===o.scrollHeight-ge(o,"height"))&&(i.current=null,t(!0),l.current&&(clearTimeout(l.current),l.current=null))},[e,t]);return E(function(){var e=r.current;return o(r.current),u({target:e}),e.addEventListener("scroll",u,{passive:!0}),function(){o(null),e.removeEventListener("scroll",u)}},[r,u,n,o]),{scrollerRef:r,scrollByCallback:function(e){null===i.current&&r.current.scrollBy(e)},scrollToCallback:function(n){var o=r.current;if(o&&(!("offsetHeight"in o)||0!==o.offsetHeight)){var u,a,s,c="smooth"===n.behavior;if(o===window?(a=Math.max(ge(document.documentElement,"height"),document.documentElement.scrollHeight),u=window.innerHeight,s=document.documentElement.scrollTop):(a=o.scrollHeight,u=ge(o,"height"),s=o.scrollTop),Math.abs(u-a)<1.01||n.top===s)return e(s),void(c&&t(!0));n.top=Math.max(Math.min(a-u,n.top),0),c?(i.current=n.top,l.current&&clearTimeout(l.current),l.current=setTimeout(function(){l.current=null,i.current=null,t(!0)},1e3)):i.current=null,o.scrollTo(n)}}}}var Je=t(function(e){var t=e[0],n=t.sizes,l=t.listRefresh,u=t.defaultItemSize,a=e[1].scrollTop,s=e[2].scrollToIndex,f=e[3].didMount,m=o(!0),h=o(0);return r(i(f,T(h),c(function(e){return 0!==e[1]}),g(!1)),m),d(i(C(l,f),T(m,n,u),c(function(e){var t=e[1],n=e[3];return e[0][1]&&(!X(e[2].sizeTree)||void 0!==n)&&!t}),T(h)),function(e){var t=e[1];setTimeout(function(){y(a,function(){S(m,!0)}),S(s,t)})}),{scrolledToInitialItem:m,initialTopMostItemIndex:h}},m(ze,_,Be,Y),{singleton:!0});function Qe(e){return!!e&&("smooth"===e?"smooth":"auto")}var Xe=t(function(e){var t=e[0],n=t.totalCount,r=t.listRefresh,s=e[1],f=s.isAtBottom,m=s.atBottomState,h=e[2].scrollToIndex,g=e[3].scrolledToInitialItem,I=e[4],x=I.propsReady,w=I.didMount,b=e[5].log,R=o(!1),z=null;function H(e,t){S(h,{index:e-1,align:"end",behavior:t})}return d(i(C(i(p(n),v(1)),w),T(p(R),f,g),u(function(e){var t=e[0],n=t[0],o=t[1]&&e[3],r="auto";return o&&(r=function(e,t){return"function"==typeof e?Qe(e(t)):t&&Qe(e)}(e[1],e[2]),o=o&&!!r),{totalCount:n,shouldFollow:o,followOutputBehavior:r}}),c(function(e){return e.shouldFollow})),function(e){var t=e.totalCount,n=e.followOutputBehavior;z&&(z(),z=null),z=y(r,function(){H(t,n),z=null})}),d(i(C(p(R),n,x),c(function(e){return e[0]&&e[2]}),l(function(e,t){var n=t[1];return{refreshed:e.value===n,value:n}},{refreshed:!1,value:0}),c(function(e){return e.refreshed}),T(R,n)),function(e){var t=e[1],n=e[2],o=y(m,function(e){!t||e.atBottom||"SIZE_INCREASED"!==e.notAtBottomBecause||z||(a(b)("scrolling to bottom due to increased size",{totalCount:n},D.DEBUG),H(n,"auto"))});setTimeout(o,100)}),d(i(C(p(R),m),T(n)),function(e){var t=e[0],n=t[1];t[0]&&!n.atBottom&&"VIEWPORT_HEIGHT_DECREASING"===n.notAtBottomBecause&&H(e[1],"auto")}),{followOutput:R}},m(ze,q,Be,Je,Y,K));function et(e){return e.reduce(function(e,t){return e.groupIndices.push(e.totalCount),e.totalCount+=t+1,e},{totalCount:0,groupIndices:[]})}var tt=t(function(e){var t=e[0],o=t.totalCount,l=t.groupIndices,a=t.sizes,d=e[1],m=d.scrollTop,h=d.headerHeight,p=n(),v=n(),g=s(i(p,u(et)));return r(i(g,u(R("totalCount"))),o),r(i(g,u(R("groupIndices"))),l),r(i(C(m,a,h),c(function(e){return be(e[1])}),u(function(e){return ne(e[1].groupOffsetTree,Math.max(e[0]-e[2],0),"v")[0]}),f(),u(function(e){return[e]})),v),{groupCounts:p,topItemsIndexes:v}},m(ze,_)),nt={items:[],topItems:[],offsetTop:0,offsetBottom:0,top:0,bottom:0,topListHeight:0,totalCount:0};function ot(e,t,n){if(0===e.length)return[];if(!be(t))return e.map(function(e){return P({},e,{index:e.index+n,originalIndex:e.index})});for(var o,r=[],i=fe(t.groupOffsetTree,e[0].index,e[e.length-1].index),l=void 0,u=0,a=W(e);!(o=a()).done;){var s=o.value;(!l||l.end<s.index)&&(l=i.shift(),u=t.groupIndices.indexOf(l.start)),r.push(P({},s.index===l.start?{type:"group",index:u}:{index:s.index-(u+1)+n,groupIndex:u},{size:s.size,offset:s.offset,originalIndex:s.index,data:s.data}))}return r}function rt(e,t,n,o,r){var i=0,l=0;if(e.length>0){i=e[0].offset;var u=e[e.length-1];l=u.offset+u.size}var a=i,s=o.lastOffset+(n-o.lastIndex)*o.lastSize-l;return{items:ot(e,o,r),topItems:ot(t,o,r),topListHeight:t.reduce(function(e,t){return t.size+e},0),offsetTop:i,offsetBottom:s,top:a,bottom:l,totalCount:n}}var it,lt,ut,at=t(function(e){var t=e[0],l=t.sizes,a=t.totalCount,d=t.data,m=t.firstItemIndex,h=e[1],v=e[2],g=v.visibleRange,I=v.listBoundary,S=v.topListHeight,y=e[3],b=y.scrolledToInitialItem,H=y.initialTopMostItemIndex,k=e[4].topListHeight,B=e[5],E=e[6].didMount,L=o([]),O=n();r(h.topItemsIndexes,L);var M=w(i(C(E,p(g),p(a),p(l),p(H),b,p(L),p(m),d),c(function(e){return e[0]}),u(function(e){var t=e[1],n=t[0],o=t[1],r=e[2],i=e[4],l=e[5],u=e[6],a=e[7],s=e[8],c=e[3],f=c.sizeTree,d=c.offsetTree;if(0===r||0===n&&0===o)return nt;if(X(f))return rt(function(e,t,n){if(be(t)){var o=ye(e,t);return[{index:ne(t.groupOffsetTree,o)[0],size:0,offset:0},{index:o,size:0,offset:0,data:n&&n[0]}]}return[{index:e,size:0,offset:0,data:n&&n[0]}]}(i,c,s),[],r,c,a);var m=[];if(u.length>0)for(var h,p=u[0],v=u[u.length-1],g=0,I=W(fe(f,p,v));!(h=I()).done;)for(var C=h.value,S=C.value,x=Math.max(C.start,p),T=Math.min(C.end,v),w=x;w<=T;w++)m.push({index:w,size:S,offset:g,data:s&&s[w]}),g+=S;if(!l)return rt([],m,r,c,a);var y=u.length>0?u[u.length-1]+1:0,b=function(e,t,n,o){return void 0===o&&(o=0),o>0&&(t=Math.max(t,ve(e,o,Ce).offset)),de((i=n,u=pe(r=e,t,l=Se),a=pe(r,i,l,u),r.slice(u,a+1)),xe);var r,i,l,u,a}(d,n,o,y);if(0===b.length)return null;var R=r-1;return rt(z([],function(e){for(var t,r=W(b);!(t=r()).done;){var i=t.value,l=i.value,u=l.offset,a=i.start,c=l.size;l.offset<n&&(u+=((a+=Math.floor((n-l.offset)/c))-i.start)*c),a<y&&(u+=(y-a)*c,a=y);for(var f=Math.min(i.end,R),d=a;d<=f&&!(u>=o);d++)e.push({index:d,size:c,offset:u,data:s&&s[d]}),u+=c}}),m,r,c,a)}),c(function(e){return null!==e}),f()),nt);return r(i(d,c(function(e){return void 0!==e}),u(function(e){return e.length})),a),r(i(M,u(R("topListHeight"))),k),r(k,S),r(M,B.listStateListener),r(i(M,u(function(e){return[e.top,e.bottom]})),I),r(i(M,u(function(e){return e.items})),O),P({listState:M,topItemsIndexes:L,endReached:s(i(M,c(function(e){return e.items.length>0}),T(a,d),c(function(e){var t=e[0].items;return t[t.length-1].originalIndex===e[1]-1}),u(function(e){return[e[1]-1,e[2]]}),f(G),u(function(e){return e[0]}))),startReached:s(i(M,x(200),c(function(e){var t=e.items;return t.length>0&&t[0].originalIndex===e.topItems.length}),u(function(e){return e.items[0].index}),f())),rangeChanged:s(i(M,c(function(e){return e.items.length>0}),u(function(e){var t=e.items;return{startIndex:t[0].index,endIndex:t[t.length-1].index}}),f(N))),itemsRendered:O},B)},m(ze,tt,Oe,Je,Be,q,Y),{singleton:!0}),st=t(function(e){var t=e[0],n=t.sizes,l=t.firstItemIndex,a=t.data,s=e[1].listState,f=e[2].didMount,d=o(0);return r(i(f,T(d),c(function(e){return 0!==e[1]}),T(n,l,a),u(function(e){var t=e[0][1],n=e[1],o=e[2],r=e[3],i=void 0===r?[]:r,l=0;if(n.groupIndices.length>0)for(var u,a=W(n.groupIndices);!((u=a()).done||u.value-l>=t);)l++;var s=t+l;return rt(Array.from({length:s}).map(function(e,t){return{index:t,size:0,offset:0,data:i[t]}}),[],s,n,o)})),s),{initialItemCount:d}},m(ze,at,Y),{singleton:!0}),ct=t(function(e){var t=e[0].topItemsIndexes,n=o(0);return r(i(n,c(function(e){return e>0}),u(function(e){return Array.from({length:e}).map(function(e,t){return t})})),t),{topItemCount:n}},m(at)),ft=t(function(e){var t=e[0],o=t.footerHeight,l=t.headerHeight,a=e[1].listState,s=n(),c=w(i(C(o,l,a),u(function(e){var t=e[2];return e[0]+e[1]+t.offsetBottom+t.bottom})),0);return r(p(c),s),{totalListHeight:c,totalListHeightChanged:s}},m(_,at),{singleton:!0}),dt=t(function(e){var t=e[0],n=t.scrollBy,o=t.scrollTop,a=t.scrollDirection,f=t.deviation,m=t.scrollingInProgress,h=e[1].isScrolling,p=e[3],v=p.beforeUnshiftWith,g=p.sizes,I=e[4].log,y=s(i(e[2].listState,l(function(e,t){var n=e[1],o=t.items,r=0;if(n.length>0&&o.length>0){var i=o[0].originalIndex,l=n[0].originalIndex;if(0!==i||0!==l)if(i===l)r=o[0].size-n[0].size;else for(var u=function(e){var t=o[e],i=n.find(function(e){return e.originalIndex===t.originalIndex});return i?t.offset!==i.offset?(r=t.offset-i.offset,"break"):void 0:"continue"},a=o.length-1;a>=0;a--){var s=u(a);if("continue"!==s&&"break"===s)break}}return[r,o]},[0,[]]),c(function(e){return 0!==e[0]}),T(o,a,m,I),c(function(e){return!e[3]&&0!==e[1]&&e[2]===U}),u(function(e){var t=e[0][0];return(0,e[4])("Upward scrolling compensation",{amount:t},D.DEBUG),t})));return r(i(y,T(f),u(function(e){return e[1]-e[0]})),f),d(i(C(w(h,!1),f),c(function(e){return!e[0]&&0!==e[1]}),u(function(e){return e[1]}),x(1)),function(e){e>0?(S(n,{top:-e,behavior:"auto"}),S(f,0)):(S(f,0),S(n,{top:-e,behavior:"auto"}))}),r(i(v,T(g),u(function(e){return e[0]*e[1].lastSize})),y),{deviation:f}},m(_,q,at,ze,K)),mt=t(function(e){var t=e[0].totalListHeight,n=e[1].didMount,r=e[2].scrollTo,l=o(0);return d(i(n,T(l),c(function(e){return 0!==e[1]}),u(function(e){return{top:e[1]}})),function(e){y(i(t,c(function(e){return 0!==e})),function(){setTimeout(function(){S(r,e)})})}),{initialScrollTop:l}},m(ft,Y,_),{singleton:!0}),ht=t(function(e){var t=e[0].viewportHeight,n=e[1].totalListHeight,r=o(!1);return{alignToBottom:r,paddingTopAddition:w(i(C(r,t,n),c(function(e){return e[0]}),u(function(e){return Math.max(0,e[1]-e[2])}),f()),0)}},m(_,ft),{singleton:!0}),pt=t(function(e){var t=e[0],o=t.sizes,l=t.totalCount,a=e[1],s=a.scrollTop,f=a.viewportHeight,d=a.headerHeight,m=a.scrollingInProgress,h=e[2].scrollToIndex,p=n();return r(i(p,T(o,f,l,d,s),u(function(e){var t=e[0],n=t.index,o=t.behavior,r=void 0===o?"auto":o,l=t.done,u=e[1],a=e[2],s=e[4],f=e[5],d=e[3]-1,h=null;n=ye(n,u);var p=we(n=Math.max(0,n,Math.min(d,n)),u.offsetTree)+s;return p<f?h={index:n,behavior:r,align:"start"}:p+ne(u.sizeTree,n)[1]>f+a&&(h={index:n,behavior:r,align:"end"}),h?l&&y(i(m,v(1),c(function(e){return!1===e})),l):l&&l(),h}),c(function(e){return null!==e})),h),{scrollIntoView:p}},m(ze,_,Be,at,K),{singleton:!0}),vt=t(function(e){return P({},e[0],e[1],e[2],e[3],e[4],e[5],e[6],e[7],e[8])},m(Oe,st,Y,$,ft,mt,ht,Me,pt)),gt=t(function(e){var t=e[0],n=t.totalCount,o=t.sizeRanges,l=t.fixedItemSize,a=t.defaultItemSize,s=t.trackItemSizes,c=t.itemSize,f=t.data,d=t.firstItemIndex,m=t.groupIndices,h=e[1],p=h.initialTopMostItemIndex,v=h.scrolledToInitialItem,g=e[2],I=e[3],C=e[4],S=C.listState,x=C.topItemsIndexes,T=F(C,["listState","topItemsIndexes"]),w=e[5].scrollToIndex,y=e[7].topItemCount,b=e[8].groupCounts,z=e[9],H=e[10];return r(T.rangeChanged,z.scrollSeekRangeChanged),r(i(z.windowViewportRect,u(R("visibleHeight"))),g.viewportHeight),P({totalCount:n,data:f,firstItemIndex:d,sizeRanges:o,initialTopMostItemIndex:p,scrolledToInitialItem:v,topItemsIndexes:x,topItemCount:y,groupCounts:b,fixedItemHeight:l,defaultItemHeight:a},I,{listState:S,scrollToIndex:w,trackItemSizes:s,itemSize:c,groupIndices:m},T,z,g,H)},m(ze,Je,_,Xe,at,Be,dt,ct,tt,vt,K)),It=(it=function(){if("undefined"==typeof document)return"sticky";var e=document.createElement("div");return e.style.position="-webkit-sticky","-webkit-sticky"===e.style.position?"-webkit-sticky":"sticky"},ut=!1,function(){return ut||(ut=!0,lt=it()),lt});function Ct(e){return e}var St=t(function(){var e=o(function(e){return"Item "+e}),t=o(function(e){return"Group "+e}),n=o({}),r=o(Ct),l=o("div"),a=o(b),s=function(e,t){return void 0===t&&(t=null),w(i(n,u(function(t){return t[e]}),f()),t)};return{itemContent:e,groupContent:t,components:n,computeItemKey:r,headerFooterTag:l,scrollerRef:a,FooterComponent:s("Footer"),HeaderComponent:s("Header"),TopItemListComponent:s("TopItemList"),ListComponent:s("List","div"),ItemComponent:s("Item","div"),GroupComponent:s("Group","div"),ScrollerComponent:s("Scroller","div"),EmptyPlaceholder:s("EmptyPlaceholder"),ScrollSeekPlaceholder:s("ScrollSeekPlaceholder")}});function xt(e,t){var o=n();return d(o,function(){return console.warn("react-virtuoso: You are using a deprecated property. "+t,"color: red;","color: inherit;","color: blue;")}),r(o,e),o}var Tt=t(function(e){var t=e[0],o=e[1],l={item:xt(o.itemContent,"Rename the %citem%c prop to %citemContent."),group:xt(o.groupContent,"Rename the %cgroup%c prop to %cgroupContent."),topItems:xt(t.topItemCount,"Rename the %ctopItems%c prop to %ctopItemCount."),itemHeight:xt(t.fixedItemHeight,"Rename the %citemHeight%c prop to %cfixedItemHeight."),scrollingStateChange:xt(t.isScrolling,"Rename the %cscrollingStateChange%c prop to %cisScrolling."),adjustForPrependedItems:n(),maxHeightCacheSize:n(),footer:n(),header:n(),HeaderContainer:n(),FooterContainer:n(),ItemContainer:n(),ScrollContainer:n(),GroupContainer:n(),ListContainer:n(),emptyComponent:n(),scrollSeek:n()};function s(e,t,n){r(i(e,T(o.components),u(function(e){var o,r=e[0],i=e[1];return console.warn("react-virtuoso: "+n+" property is deprecated. Pass components."+t+" instead."),P({},i,((o={})[t]=r,o))})),o.components)}return d(l.adjustForPrependedItems,function(){console.warn("react-virtuoso: adjustForPrependedItems is no longer supported. Use the firstItemIndex property instead - https://virtuoso.dev/prepend-items.","color: red;","color: inherit;","color: blue;")}),d(l.maxHeightCacheSize,function(){console.warn("react-virtuoso: maxHeightCacheSize is no longer necessary. Setting it has no effect - remove it from your code.")}),d(l.HeaderContainer,function(){console.warn("react-virtuoso: HeaderContainer is deprecated. Use headerFooterTag if you want to change the wrapper of the header component and pass components.Header to change its contents.")}),d(l.FooterContainer,function(){console.warn("react-virtuoso: FooterContainer is deprecated. Use headerFooterTag if you want to change the wrapper of the footer component and pass components.Footer to change its contents.")}),d(l.scrollSeek,function(e){var n=e.placeholder,r=F(e,["placeholder"]);console.warn("react-virtuoso: scrollSeek property is deprecated. Pass scrollSeekConfiguration and specify the placeholder in components.ScrollSeekPlaceholder instead."),S(o.components,P({},a(o.components),{ScrollSeekPlaceholder:n})),S(t.scrollSeekConfiguration,r)}),s(l.footer,"Footer","footer"),s(l.header,"Header","header"),s(l.ItemContainer,"Item","ItemContainer"),s(l.ListContainer,"List","ListContainer"),s(l.ScrollContainer,"Scroller","ScrollContainer"),s(l.emptyComponent,"EmptyPlaceholder","emptyComponent"),s(l.GroupContainer,"Group","GroupContainer"),P({},t,o,l)},m(gt,St)),wt=function(e){return M("div",{style:{height:e.height}})},yt={position:It(),zIndex:1},bt=O(function(e){var t,n,o,r,i=e.showTopList,l=void 0!==i&&i,u=Gt("listState"),a=Gt("deviation"),s=Wt("sizeRanges"),c=Gt("itemContent"),f=Gt("groupContent"),d=Gt("trackItemSizes"),m=(t=s,n=Gt("itemSize"),o=d,r=Gt("log"),Ye(function(e){var o=function(e,t,n,o){var r=e.length;if(0===r)return null;for(var i=[],l=0;l<r;l++){var u=e.item(l);if(u&&void 0!==u.dataset.index){var a=parseInt(u.dataset.index),s=parseFloat(u.dataset.knownSize),c=t(u,"offsetHeight");if(0===c&&o("Zero-sized element, this should not happen",{child:u},D.ERROR),c!==s){var f=i[i.length-1];0===i.length||f.size!==c||f.endIndex!==a-1?i.push({startIndex:a,endIndex:a,size:c}):i[i.length-1].endIndex++}}}return i}(e.children,n,0,r);null!==o&&t(o)},o)),h=Gt("EmptyPlaceholder"),p=Gt("ScrollSeekPlaceholder")||wt,v=Gt("ListComponent"),g=Gt("ItemComponent"),I=Gt("GroupComponent"),C=Gt("computeItemKey"),S=Gt("isSeeking"),x=Gt("groupIndices").length>0,T=Gt("paddingTopAddition"),w=Gt("scrolledToInitialItem"),y=Gt("firstItemIndex"),b=l?{}:{boxSizing:"border-box",paddingTop:u.offsetTop+T,paddingBottom:u.offsetBottom,marginTop:a};return!l&&0===u.items.length&&h&&w?M(h):M(v,{ref:m,style:b,"data-test-id":l?"virtuoso-top-item-list":"virtuoso-item-list"},(l?u.topItems:u.items).map(function(e){var t=e.originalIndex,n=C(t+y,e.data);return S?M(p,{key:n,index:e.index,height:e.size}):"group"===e.type?M(I,{key:n,"data-index":t,"data-known-size":e.size,"data-item-index":e.index,style:yt},f(e.index)):M(g,{key:n,"data-index":t,"data-known-size":e.size,"data-item-index":e.index,"data-item-group-index":e.groupIndex},x?c(e.index,e.groupIndex,e.data):c(e.index,e.data))}))}),Rt={height:"100%",outline:"none",overflowY:"auto",position:"relative",WebkitOverflowScrolling:"touch"},zt={width:"100%",height:"100%",position:"absolute",top:0},Ht={width:"100%",position:It(),top:0},kt=O(function(){var e=Gt("HeaderComponent"),t=Wt("headerHeight"),n=Gt("headerFooterTag"),o=Ye(function(e){return t(ge(e,"height"))});return e?M(n,{ref:o},M(e)):null}),Bt=O(function(){var e=Gt("FooterComponent"),t=Wt("footerHeight"),n=Gt("headerFooterTag"),o=Ye(function(e){return t(ge(e,"height"))});return e?M(n,{ref:o},M(e)):null});function Et(e){var t=e.usePublisher,n=e.useEmitter,o=e.useEmitterValue;return O(function(e){var r=e.style,i=e.children,l=F(e,["style","children"]),u=t("scrollTop"),a=o("ScrollerComponent"),s=$e(u,t("smoothScrollTargetReached"),a,o("scrollerRef")),c=s.scrollerRef,f=s.scrollByCallback;return n("scrollTo",s.scrollToCallback),n("scrollBy",f),M(a,P({ref:c,style:P({},Rt,r),tabIndex:0},l),i)})}function Lt(e){var t=e.usePublisher,n=e.useEmitter,o=e.useEmitterValue;return O(function(e){var r=e.style,i=e.children,l=F(e,["style","children"]),u=t("windowScrollTop"),a=o("ScrollerComponent"),s=t("smoothScrollTargetReached"),c=o("totalListHeight"),f=$e(u,s,a),d=f.scrollerRef,m=f.scrollByCallback,h=f.scrollToCallback;return qe(function(){return d.current=window,function(){d.current=null}},[d]),n("windowScrollTo",h),n("scrollBy",m),M(a,P({style:P({position:"relative"},r,0!==c?{height:c}:{})},l),i)})}var Ot=function(e){var t=e.children,n=Wt("viewportHeight"),o=Ye(H(n,function(e){return ge(e,"height")}));return M("div",{style:zt,ref:o},t)},Mt=function(e){var t=e.children,n=Ze(Wt("windowViewportRect"));return M("div",{ref:n,style:zt},t)},Pt=function(e){var t=e.children,n=Gt("TopItemListComponent"),o=Gt("headerHeight"),r=P({},Ht,{marginTop:o+"px"});return M(n||"div",{style:r},t)},Ft=e(Tt,{required:{},optional:{followOutput:"followOutput",firstItemIndex:"firstItemIndex",itemContent:"itemContent",groupContent:"groupContent",overscan:"overscan",increaseViewportBy:"increaseViewportBy",totalCount:"totalCount",topItemCount:"topItemCount",initialTopMostItemIndex:"initialTopMostItemIndex",components:"components",groupCounts:"groupCounts",computeItemKey:"computeItemKey",defaultItemHeight:"defaultItemHeight",fixedItemHeight:"fixedItemHeight",itemSize:"itemSize",scrollSeekConfiguration:"scrollSeekConfiguration",headerFooterTag:"headerFooterTag",data:"data",initialItemCount:"initialItemCount",initialScrollTop:"initialScrollTop",alignToBottom:"alignToBottom",useWindowScroll:"useWindowScroll",scrollerRef:"scrollerRef",logLevel:"logLevel",item:"item",group:"group",topItems:"topItems",itemHeight:"itemHeight",scrollingStateChange:"scrollingStateChange",maxHeightCacheSize:"maxHeightCacheSize",footer:"footer",header:"header",ItemContainer:"ItemContainer",ScrollContainer:"ScrollContainer",ListContainer:"ListContainer",GroupContainer:"GroupContainer",emptyComponent:"emptyComponent",HeaderContainer:"HeaderContainer",FooterContainer:"FooterContainer",scrollSeek:"scrollSeek"},methods:{scrollToIndex:"scrollToIndex",scrollIntoView:"scrollIntoView",scrollTo:"scrollTo",scrollBy:"scrollBy",adjustForPrependedItems:"adjustForPrependedItems"},events:{isScrolling:"isScrolling",endReached:"endReached",startReached:"startReached",rangeChanged:"rangeChanged",atBottomStateChange:"atBottomStateChange",atTopStateChange:"atTopStateChange",totalListHeightChanged:"totalListHeightChanged",itemsRendered:"itemsRendered",groupIndices:"groupIndices"}},O(function(e){var t=Gt("useWindowScroll"),n=Gt("topItemsIndexes").length>0,o=t?Mt:Ot;return M(t?Dt:Vt,P({},e),M(o,null,M(kt,null),M(bt,null),M(Bt,null)),n&&M(Pt,null,M(bt,{showTopList:!0})))})),At=Ft.Component,Wt=Ft.usePublisher,Gt=Ft.useEmitterValue,Nt=Ft.useEmitter,Vt=Et({usePublisher:Wt,useEmitterValue:Gt,useEmitter:Nt}),Dt=Lt({usePublisher:Wt,useEmitterValue:Gt,useEmitter:Nt}),Ut=t(function(){var e=o(function(e){return"Item "+e}),t=o({}),n=o("virtuoso-grid-item"),r=o("virtuoso-grid-list"),l=o(Ct),a=o(b),s=function(e,n){return void 0===n&&(n=null),w(i(t,u(function(t){return t[e]}),f()),n)};return{itemContent:e,components:t,computeItemKey:l,itemClassName:n,listClassName:r,scrollerRef:a,ListComponent:s("List","div"),ItemComponent:s("Item","div"),ScrollerComponent:s("Scroller","div"),ScrollSeekPlaceholder:s("ScrollSeekPlaceholder","div")}}),_t=t(function(e){var t=e[0],o=e[1],l={item:xt(o.itemContent,"Rename the %citem%c prop to %citemContent."),ItemContainer:n(),ScrollContainer:n(),ListContainer:n(),emptyComponent:n(),scrollSeek:n()};function s(e,t,n){r(i(e,T(o.components),u(function(e){var o,r=e[0],i=e[1];return console.warn("react-virtuoso: "+n+" property is deprecated. Pass components."+t+" instead."),P({},i,((o={})[t]=r,o))})),o.components)}return d(l.scrollSeek,function(e){var n=e.placeholder,r=F(e,["placeholder"]);console.warn("react-virtuoso: scrollSeek property is deprecated. Pass scrollSeekConfiguration and specify the placeholder in components.ScrollSeekPlaceholder instead."),S(o.components,P({},a(o.components),{ScrollSeekPlaceholder:n})),S(t.scrollSeekConfiguration,r)}),s(l.ItemContainer,"Item","ItemContainer"),s(l.ListContainer,"List","ListContainer"),s(l.ScrollContainer,"Scroller","ScrollContainer"),P({},t,o,l)},m(Ue,Ut)),jt=O(function(){var e=Jt("gridState"),t=Jt("listClassName"),n=Jt("itemClassName"),o=Jt("itemContent"),r=Jt("computeItemKey"),i=Jt("isSeeking"),l=Jt("ItemComponent"),u=Jt("ListComponent"),a=Jt("ScrollSeekPlaceholder"),s=$t("itemDimensions"),c=Ye(function(e){var t=e.firstChild;t&&s(t.getBoundingClientRect())});return M(u,{ref:c,className:t,style:{paddingTop:e.offsetTop,paddingBottom:e.offsetBottom}},e.items.map(function(t){var u=r(t.index);return i?M(a,{key:u,style:{height:e.itemHeight,width:e.itemWidth}}):M(l,{className:n,"data-index":t.index,key:u},o(t.index))}))}),Kt=function(e){var t=e.children,n=$t("viewportDimensions"),o=Ye(function(e){n(e.getBoundingClientRect())});return M("div",{style:zt,ref:o},t)},Yt=function(e){var t=e.children,n=Ze($t("windowViewportRect"));return M("div",{ref:n,style:zt},t)},Zt=e(_t,{optional:{totalCount:"totalCount",overscan:"overscan",itemContent:"itemContent",components:"components",computeItemKey:"computeItemKey",initialItemCount:"initialItemCount",scrollSeekConfiguration:"scrollSeekConfiguration",listClassName:"listClassName",itemClassName:"itemClassName",useWindowScroll:"useWindowScroll",scrollerRef:"scrollerRef",item:"item",ItemContainer:"ItemContainer",ScrollContainer:"ScrollContainer",ListContainer:"ListContainer",scrollSeek:"scrollSeek"},methods:{scrollTo:"scrollTo",scrollBy:"scrollBy",scrollToIndex:"scrollToIndex"},events:{isScrolling:"isScrolling",endReached:"endReached",startReached:"startReached",rangeChanged:"rangeChanged",atBottomStateChange:"atBottomStateChange",atTopStateChange:"atTopStateChange"}},O(function(e){var t=P({},e),n=Jt("useWindowScroll"),o=n?Yt:Kt;return M(n?en:Xt,P({},t),M(o,null,M(jt,null)))})),qt=Zt.Component,$t=Zt.usePublisher,Jt=Zt.useEmitterValue,Qt=Zt.useEmitter,Xt=Et({usePublisher:$t,useEmitterValue:Jt,useEmitter:Qt}),en=Lt({usePublisher:$t,useEmitterValue:Jt,useEmitter:Qt}),tn=At,nn=At,on=qt;export{nn as GroupedVirtuoso,D as LogLevel,tn as Virtuoso,on as VirtuosoGrid};
1
+ import{systemToComponent as e}from"@virtuoso.dev/react-urx";import{system as t,stream as n,statefulStream as o,connect as r,pipe as i,scan as l,map as u,getValue as a,streamFromEmitter as s,filter as c,distinctUntilChanged as f,subscribe as d,tup as m,merge as h,duc as p,skip as v,mapTo as g,debounceTime as I,combineLatest as C,publish as S,throttleTime as x,withLatestFrom as T,statefulStreamFromEmitter as w,handleNext as y,noop as b,prop as R,tap as z,compose as H}from"@virtuoso.dev/urx";import{useRef as k,useCallback as B,useEffect as E,useLayoutEffect as L,memo as O,createElement as M}from"react";function P(){return(P=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var o in n)Object.prototype.hasOwnProperty.call(n,o)&&(e[o]=n[o])}return e}).apply(this,arguments)}function F(e,t){if(null==e)return{};var n,o,r={},i=Object.keys(e);for(o=0;o<i.length;o++)t.indexOf(n=i[o])>=0||(r[n]=e[n]);return r}function A(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,o=new Array(t);n<t;n++)o[n]=e[n];return o}function W(e,t){var n;if("undefined"==typeof Symbol||null==e[Symbol.iterator]){if(Array.isArray(e)||(n=function(e,t){if(e){if("string"==typeof e)return A(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?A(e,t):void 0}}(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var o=0;return function(){return o>=e.length?{done:!0}:{done:!1,value:e[o++]}}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}return(n=e[Symbol.iterator]()).next.bind(n)}function G(e,t){return!(!e||e[0]!==t[0]||e[1]!==t[1])}function N(e,t){return!(!e||e.startIndex!==t.startIndex||e.endIndex!==t.endIndex)}var V,D,U="up",_=t(function(){var e=n(),t=o(0),a=n(),s=o(0),c=n(),f=o(0),d=o(0),m=n(),h=n(),p=o(!1);r(e,s);var v=o("down");return r(i(e,l(function(e,t){return{direction:t<e.prevScrollTop?U:"down",prevScrollTop:t}},{direction:"down",prevScrollTop:0}),u(function(e){return e.direction})),v),{scrollTop:e,viewportHeight:c,headerHeight:f,footerHeight:d,smoothScrollTargetReached:a,scrollTo:m,scrollBy:h,scrollDirection:v,statefulScrollTop:s,deviation:t,scrollingInProgress:p}},[],{singleton:!0});!function(e){e[e.DEBUG=0]="DEBUG",e[e.INFO=1]="INFO",e[e.WARN=2]="WARN",e[e.ERROR=3]="ERROR"}(D||(D={}));var j=((V={})[D.DEBUG]="debug",V[D.INFO]="log",V[D.WARN]="warn",V[D.ERROR]="error",V),K=t(function(){var e=o(D.ERROR);return{log:o(function(t,n,o){var r;void 0===o&&(o=D.INFO),o>=(null!=(r=(globalThis||window).VIRTUOSO_LOG_LEVEL)?r:a(e))&&console[j[o]]("%creact-virtuoso: %c%s %o","color: #0253b3; font-weight: bold","color: black",t,n)}),logLevel:e}},[],{singleton:!0}),Y=t(function(e){var t=e[0].log,n=o(!1),r=s(i(n,c(function(e){return e}),f()));return d(n,function(e){e&&a(t)("props updated",{},D.DEBUG)}),{propsReady:n,didMount:r}},m(K),{singleton:!0}),Z={atBottom:!1,notAtBottomBecause:"NOT_SHOWING_LAST_ITEM",state:{offsetBottom:0,scrollTop:0,viewportHeight:0,totalHeight:0}},q=t(function(e){var t=e[0],a=t.scrollTop,c=t.viewportHeight,m=t.headerHeight,x=t.footerHeight,T=o(!1),w=o(!0),y=n(),b=n(),R=n(),z=s(i(h(i(p(a),v(1),g(!0)),i(p(a),v(1),g(!1),I(100))),f()));r(i(p(a),u(function(e){return 0===e}),f()),w),r(w,b);var H=s(i(C(R,p(a),p(c),p(m),p(x)),l(function(e,t){var n=t[0],o=n.bottom,r=n.offsetBottom,i=t[1],l=t[2],u={viewportHeight:l,scrollTop:i,offsetBottom:r,totalHeight:o+r};return 0===r&&i+l-(o+t[3]+t[4])>-4?{atBottom:!0,state:u}:{atBottom:!1,notAtBottomBecause:u.totalHeight>e.state.totalHeight?"SIZE_INCREASED":0!==r?"NOT_SHOWING_LAST_ITEM":l<e.state.viewportHeight?"VIEWPORT_HEIGHT_DECREASING":i<e.state.scrollTop?"SCROLLING_UPWARDS":"NOT_FULLY_SCROLLED_TO_LAST_ITEM_BOTTOM",state:u}},Z),f(function(e,t){return e&&e.atBottom===t.atBottom})));return r(i(H,u(function(e){return e.atBottom})),T),d(T,function(e){setTimeout(function(){return S(y,e)})}),{isScrolling:z,isAtTop:w,isAtBottom:T,atBottomState:H,atTopStateChange:b,atBottomStateChange:y,listStateListener:R}},m(_)),$=t(function(e){var t=e[0].scrollTop,a=e[1].isScrolling,s=o(0),m=o(!1),h=n(),p=o(!1);return r(i(a,c(function(e){return!e}),g(0)),s),r(i(t,x(100),T(a),c(function(e){return!!e[1]}),l(function(e,t){return[e[1],t[0]]},[0,0]),u(function(e){return e[1]-e[0]})),s),r(i(s,T(p,m,h),c(function(e){return!!e[1]}),u(function(e){var t=e[0],n=e[1],o=e[2],r=e[3],i=n.enter;if(o){if((0,n.exit)(t,r))return!1}else if(i(t,r))return!0;return o}),f()),m),d(i(C(m,s,h),T(p)),function(e){var t=e[0],n=e[1];return t[0]&&n&&n.change&&n.change(t[1],t[2])}),{isSeeking:m,scrollSeekConfiguration:p,scrollVelocity:s,scrollSeekRangeChanged:h}},m(_,q),{singleton:!0}),J={lvl:0};function Q(e,t,n,o,r){return void 0===o&&(o=J),void 0===r&&(r=J),{k:e,v:t,lvl:n,l:o,r:r}}function X(e){return e===J}function ee(){return J}function te(e,t){if(X(e))return J;var n=e.k,o=e.l,r=e.r;if(t===n){if(X(o))return r;if(X(r))return o;var i=le(o);return ce(ae(e,{k:i[0],v:i[1],l:ue(o)}))}return ce(ae(e,t<n?{l:te(o,t)}:{r:te(r,t)}))}function ne(e,t,n){if(void 0===n&&(n="k"),X(e))return[-Infinity,void 0];if(e[n]===t)return[e.k,e.v];if(e[n]<t){var o=ne(e.r,t,n);return-Infinity===o[0]?[e.k,e.v]:o}return ne(e.l,t,n)}function oe(e,t,n){return X(e)?Q(t,n,1):t===e.k?ae(e,{k:t,v:n}):function(e){return me(he(e))}(ae(e,t<e.k?{l:oe(e.l,t,n)}:{r:oe(e.r,t,n)}))}function re(e,t,n){if(X(e))return[];var o=e.k,r=e.v,i=e.r,l=[];return o>t&&(l=l.concat(re(e.l,t,n))),o>=t&&o<=n&&l.push({k:o,v:r}),o<=n&&(l=l.concat(re(i,t,n))),l}function ie(e){return X(e)?[]:[].concat(ie(e.l),[{k:e.k,v:e.v}],ie(e.r))}function le(e){return X(e.r)?[e.k,e.v]:le(e.r)}function ue(e){return X(e.r)?e.l:ce(ae(e,{r:ue(e.r)}))}function ae(e,t){return Q(void 0!==t.k?t.k:e.k,void 0!==t.v?t.v:e.v,void 0!==t.lvl?t.lvl:e.lvl,void 0!==t.l?t.l:e.l,void 0!==t.r?t.r:e.r)}function se(e){return X(e)||e.lvl>e.r.lvl}function ce(e){var t=e.l,n=e.r,o=e.lvl;if(n.lvl>=o-1&&t.lvl>=o-1)return e;if(o>n.lvl+1){if(se(t))return he(ae(e,{lvl:o-1}));if(X(t)||X(t.r))throw new Error("Unexpected empty nodes");return ae(t.r,{l:ae(t,{r:t.r.l}),r:ae(e,{l:t.r.r,lvl:o-1}),lvl:o})}if(se(e))return me(ae(e,{lvl:o-1}));if(X(n)||X(n.l))throw new Error("Unexpected empty nodes");var r=n.l,i=se(r)?n.lvl-1:n.lvl;return ae(r,{l:ae(e,{r:r.l,lvl:o-1}),r:me(ae(n,{l:r.r,lvl:i})),lvl:r.lvl+1})}function fe(e,t,n){return X(e)?[]:de(re(e,ne(e,t)[0],n),function(e){return{index:e.k,value:e.v}})}function de(e,t){var n=e.length;if(0===n)return[];for(var o=t(e[0]),r=o.index,i=o.value,l=[],u=1;u<n;u++){var a=t(e[u]),s=a.index,c=a.value;l.push({start:r,end:s-1,value:i}),r=s,i=c}return l.push({start:r,end:Infinity,value:i}),l}function me(e){var t=e.r,n=e.lvl;return X(t)||X(t.r)||t.lvl!==n||t.r.lvl!==n?e:ae(t,{l:ae(e,{r:t.l}),lvl:n+1})}function he(e){var t=e.l;return X(t)||t.lvl!==e.lvl?e:ae(t,{r:ae(e,{l:t.r})})}function pe(e,t,n,o){void 0===o&&(o=0);for(var r=e.length-1;o<=r;){var i=Math.floor((o+r)/2),l=n(e[i],t);if(0===l)return i;if(-1===l){if(r-o<2)return i-1;r=i-1}else{if(r===o)return i;o=i+1}}throw new Error("Failed binary finding record in array - "+e.join(",")+", searched for "+t)}function ve(e,t,n){return e[pe(e,t,n)]}function ge(e,t){return Math.round(e.getBoundingClientRect()[t])}function Ie(e){var t=e.size,n=e.startIndex,o=e.endIndex;return function(e){return e.start===n&&(e.end===o||Infinity===e.end)&&e.value===t}}function Ce(e,t){var n=e.index;return t===n?0:t<n?-1:1}function Se(e,t){var n=e.offset;return t===n?0:t<n?-1:1}function xe(e){return{index:e.index,value:e}}function Te(e,t){var n=t[0],o=t[1];n.length>0&&(0,t[2])("received item sizes",n,D.DEBUG);var r=e.sizeTree,i=e.offsetTree,l=r,u=0;if(o.length>0&&X(r)&&2===n.length){var a=n[0].size,s=n[1].size;l=o.reduce(function(e,t){return oe(oe(e,t,a),t+1,s)},l)}else{var c=function(e,t){for(var n,o=X(e)?0:Infinity,r=W(t);!(n=r()).done;){var i=n.value,l=i.size,u=i.startIndex,a=i.endIndex;if(o=Math.min(o,u),X(e))e=oe(e,0,l);else{var s=fe(e,u-1,a+1);if(!s.some(Ie(i))){for(var c,f=!1,d=!1,m=W(s);!(c=m()).done;){var h=c.value,p=h.start,v=h.end,g=h.value;f?(a>=p||l===g)&&(e=te(e,p)):(d=g!==l,f=!0),v>a&&a>=p&&g!==l&&(e=oe(e,a+1,g))}d&&(e=oe(e,u,l))}}}return[e,o]}(l,n);l=c[0],u=c[1]}if(l===r)return e;var f=0,d=0,m=0,h=0;if(0!==u){h=pe(i,u-1,Ce),m=i[h].offset;var p=ne(l,u-1);f=p[0],d=p[1],i.length&&i[h].size===ne(l,u)[1]&&(h-=1),i=i.slice(0,h+1)}else i=[];for(var v,g=W(fe(l,u,Infinity));!(v=g()).done;){var I=v.value,C=I.start,S=I.value,x=(C-f)*d+m;i.push({offset:x,size:S,index:C}),f=C,m=x,d=S}return{sizeTree:l,offsetTree:i,groupOffsetTree:o.reduce(function(e,t){return oe(e,t,we(t,i))},ee()),lastIndex:f,lastOffset:m,lastSize:d,groupIndices:o}}function we(e,t){if(0===t.length)return 0;var n=ve(t,e,Ce);return n.size*(e-n.index)+n.offset}function ye(e,t){if(!be(t))return e;for(var n=0;t.groupIndices[n]<=e+n;)n++;return e+n}function be(e){return!X(e.groupOffsetTree)}var Re={offsetHeight:"height",offsetWidth:"width"},ze=t(function(e){var t=e[0].log,m=n(),h=n(),p=n(),v=o(0),g=o([]),I=o(void 0),C=o(void 0),S=o(function(e,t){return ge(e,Re[t])}),x=o(void 0),y={offsetTree:[],sizeTree:ee(),groupOffsetTree:ee(),lastIndex:0,lastOffset:0,lastSize:0,groupIndices:[]},b=w(i(m,T(g,t),l(Te,y),f()),y);r(i(g,c(function(e){return e.length>0}),T(b),u(function(e){var t=e[0],n=e[1],o=t.reduce(function(e,t,o){return oe(e,t,we(t,n.offsetTree)||o)},ee());return P({},n,{groupIndices:t,groupOffsetTree:o})})),b),r(i(h,T(b),c(function(e){return e[0]<e[1].lastIndex}),u(function(e){var t=e[1];return[{startIndex:e[0],endIndex:t.lastIndex,size:t.lastSize}]})),m),r(I,C);var R=w(i(I,u(function(e){return void 0===e})),!0);r(i(C,c(function(e){return void 0!==e&&X(a(b).sizeTree)}),u(function(e){return[{startIndex:0,endIndex:0,size:e}]})),m);var z=s(i(m,T(b),l(function(e,t){var n=t[1];return{changed:n!==e.sizes,sizes:n}},{changed:!1,sizes:y}),u(function(e){return e.changed})));r(i(v,l(function(e,t){return{diff:e.prev-t,prev:t}},{diff:0,prev:0}),u(function(e){return e.diff}),c(function(e){return e>0})),p),d(i(v,T(t)),function(e){e[0]<0&&(0,e[1])("`firstItemIndex` prop should not be set to less than zero. If you don't know the total count, just use a very high value",{firstItemIndex:v},D.ERROR)});var H=s(p);return r(i(p,T(b),u(function(e){var t=e[0],n=e[1];if(n.groupIndices.length>0)throw new Error("Virtuoso: prepending items does not work with groups");return ie(n.sizeTree).reduce(function(e,n){var o=n.k,r=n.v;return{ranges:[].concat(e.ranges,[{startIndex:e.prevIndex,endIndex:o+t-1,size:e.prevSize}]),prevIndex:o+t,prevSize:r}},{ranges:[],prevIndex:0,prevSize:n.lastSize}).ranges})),m),{data:x,totalCount:h,sizeRanges:m,groupIndices:g,defaultItemSize:C,fixedItemSize:I,unshiftWith:p,beforeUnshiftWith:H,firstItemIndex:v,sizes:b,listRefresh:z,trackItemSizes:R,itemSize:S}},m(K),{singleton:!0}),He="undefined"!=typeof document&&"scrollBehavior"in document.documentElement.style;function ke(e){var t="number"==typeof e?{index:e}:e;return t.align||(t.align="start"),t.behavior&&He||(t.behavior="auto"),t.offset||(t.offset=0),t}var Be=t(function(e){var t=e[0],l=t.sizes,a=t.totalCount,s=t.listRefresh,c=e[1],f=c.scrollingInProgress,m=c.viewportHeight,h=c.scrollTo,p=c.smoothScrollTargetReached,v=c.headerHeight,g=c.footerHeight,I=e[2].log,C=n(),x=o(0),w=null,b=null,R=null;function z(){w&&(w(),w=null),R&&(R(),R=null),b&&(clearTimeout(b),b=null),S(f,!1)}return r(i(C,T(l,m,a,x,v,g,I),u(function(e){var t=e[0],n=e[1],o=e[2],r=e[3],l=e[4],u=e[5],a=e[6],c=e[7],m=ke(t),h=m.align,v=m.behavior,g=m.offset,I=r-1,x=m.index;x=ye(x,n);var T=we(x=Math.max(0,x,Math.min(I,x)),n.offsetTree)+u;"end"===h?(T=Math.round(T-o+ne(n.sizeTree,x)[1]),x===I&&(T+=a)):"center"===h?T=Math.round(T-o/2+ne(n.sizeTree,x)[1]/2):T-=l,g&&(T+=g);var H=function(e){z(),e?(c("retrying to scroll to",{location:t},D.DEBUG),S(C,t)):c("list did not change, scroll successful",{},D.DEBUG)};if(z(),"smooth"===v){var k=!1;R=d(s,function(e){k=k||e}),w=y(p,function(){H(k)})}else w=y(i(s,function(e){var t=setTimeout(function(){e(!1)},50);return function(n){n&&(e(!0),clearTimeout(t))}}),H);return b=setTimeout(function(){z()},1200),S(f,!0),c("scrolling from index to",{index:x,top:T,behavior:v},D.DEBUG),{top:T,behavior:v}})),h),{scrollToIndex:C,topListHeight:x}},m(ze,_,K),{singleton:!0});function Ee(e,t,n){return"number"==typeof e?n===U&&"top"===t||"down"===n&&"bottom"===t?e:0:n===U?"top"===t?e.main:e.reverse:"bottom"===t?e.main:e.reverse}function Le(e,t){return"number"==typeof e?e:e[t]||0}var Oe=t(function(e){var t=e[0],r=t.scrollTop,l=t.viewportHeight,a=t.deviation,s=t.headerHeight,d=n(),m=o(0),h=o(0),v=o(0);return{listBoundary:d,overscan:v,topListHeight:m,increaseViewportBy:h,visibleRange:w(i(C(p(r),p(l),p(s),p(d,G),p(v),p(m),p(a),p(h)),u(function(e){var t=e[0],n=e[1],o=e[2],r=e[3],i=r[0],l=r[1],u=e[4],a=e[5],s=e[6],c=e[7],f=t-s,d=Math.max(o-f,0),m="none",h=Le(c,"top"),p=Le(c,"bottom");return i-=s,l+=o,(i+=o)>t+a-h&&(m=U),(l-=s)<t-d+n+p&&(m="down"),"none"!==m?[Math.max(f-o-Ee(u,"top",m)-h,0),f-d+n+Ee(u,"bottom",m)+p]:null}),c(function(e){return null!=e}),f(G)),[0,0])}},m(_),{singleton:!0}),Me=t(function(e){var t=e[0],l=t.scrollTop,a=t.scrollTo,s=n(),c=n(),f=n(),d=o(!1);return r(i(C(c,s),u(function(e){return Math.max(0,e[0]-e[1].offsetTop)})),l),r(i(a,T(s),u(function(e){var t=e[0];return P({},t,{top:t.top+e[1].offsetTop})})),f),{useWindowScroll:d,windowScrollTop:c,windowViewportRect:s,windowScrollTo:f}},m(_)),Pe={items:[],offsetBottom:0,offsetTop:0,top:0,bottom:0,itemHeight:0,itemWidth:0},Fe={items:[{index:0}],offsetBottom:0,offsetTop:0,top:0,bottom:0,itemHeight:0,itemWidth:0},Ae=Math.ceil,We=Math.floor,Ge=Math.min,Ne=Math.max;function Ve(e){return Ae(e)-e<.03?Ae(e):We(e)}function De(e,t){return Array.from({length:t-e+1}).map(function(t,n){return{index:n+e}})}var Ue=t(function(e){var t=e[0],l=t.overscan,a=t.visibleRange,d=t.listBoundary,m=e[1],h=m.scrollTop,v=m.viewportHeight,I=m.scrollBy,S=m.scrollTo,x=m.smoothScrollTargetReached,y=e[2],b=e[3],R=e[4],z=R.propsReady,H=R.didMount,k=e[5],B=k.windowViewportRect,E=k.windowScrollTo,L=k.useWindowScroll,O=k.windowScrollTop,M=o(0),F=o(0),A=o(Pe),W=o({height:0,width:0}),V=o({height:0,width:0}),D=n();r(i(H,T(F),c(function(e){return 0!==e[1]}),u(function(e){return{items:De(0,e[1]-1),top:0,bottom:0,offsetBottom:0,offsetTop:0,itemHeight:0,itemWidth:0}})),A),r(i(C(p(M),a,p(V,function(e,t){return e&&e.width===t.width&&e.height===t.height})),T(W),u(function(e){var t=e[0],n=t[0],o=t[1],r=o[0],i=o[1],l=t[2],u=e[1],a=l.height,s=l.width,c=u.width;if(0===n||0===c)return Pe;if(0===s)return Fe;var f=Ve(c/s),d=f*We(r/a),m=f*Ae(i/a)-1;m=Ge(n-1,m);var h=De(d=Ge(m,Ne(0,d)),m),p=_e(u,l,h),v=p.top,g=p.bottom;return{items:h,offsetTop:v,offsetBottom:Ae(n/f)*a-g,top:v,bottom:g,itemHeight:a,itemWidth:s}})),A),r(i(W,u(function(e){return e.height})),v),r(i(C(W,V,A),u(function(e){var t=_e(e[0],e[1],e[2].items);return[t.top,t.bottom]}),f(G)),d),r(i(d,T(A),u(function(e){return{bottom:e[0][1],offsetBottom:e[1].offsetBottom}})),y.listStateListener);var U=s(i(p(A),c(function(e){return e.items.length>0}),T(M),c(function(e){var t=e[0].items;return t[t.length-1].index===e[1]-1}),u(function(e){return e[1]-1}),f())),_=s(i(p(A),c(function(e){var t=e.items;return t.length>0&&0===t[0].index}),g(0),f())),j=s(i(p(A),c(function(e){return e.items.length>0}),u(function(e){var t=e.items;return{startIndex:t[0].index,endIndex:t[t.length-1].index}}),f(N)));r(j,b.scrollSeekRangeChanged),r(i(D,T(W,V,M),u(function(e){var t=e[1],n=e[2],o=e[3],r=ke(e[0]),i=r.align,l=r.behavior,u=r.offset,a=r.index,s=je(t,n,a=Math.max(0,a,Math.min(o-1,a)));return"end"===i?s=Math.round(s-t.height+n.height):"center"===i&&(s=Math.round(s-t.height/2+n.height/2)),u&&(s+=u),{top:s,behavior:l}})),S);var K=w(i(A,u(function(e){return e.offsetBottom+e.bottom})),0);return r(i(B,u(function(e){return{width:e.visibleWidth,height:e.visibleHeight}})),W),P({totalCount:M,viewportDimensions:W,itemDimensions:V,scrollTop:h,overscan:l,scrollBy:I,scrollTo:S,scrollToIndex:D,smoothScrollTargetReached:x,windowViewportRect:B,windowScrollTo:E,useWindowScroll:L,windowScrollTop:O,initialItemCount:F},b,{gridState:A,totalListHeight:K},y,{startReached:_,endReached:U,rangeChanged:j,propsReady:z})},m(Oe,_,q,$,Y,Me));function _e(e,t,n){var o=t.height;return void 0===o||0===n.length?{top:0,bottom:0}:{top:je(e,t,n[0].index),bottom:je(e,t,n[n.length-1].index)+o}}function je(e,t,n){var o=Ve(e.width/t.width);return We(n/o)*t.height}function Ke(e,t){void 0===t&&(t=!0);var n=k(null),o=function(e){};if("undefined"!=typeof ResizeObserver){var r=new ResizeObserver(function(t){var n=t[0].target;null!==n.offsetParent&&e(n)});o=function(e){e&&t?(r.observe(e),n.current=e):(n.current&&r.unobserve(n.current),n.current=null)}}return{ref:n,callbackRef:o}}function Ye(e,t){return void 0===t&&(t=!0),Ke(e,t).callbackRef}function Ze(e){var t=k(null),n=B(function(n){if(null!==n){var o=n.getBoundingClientRect(),r=window.innerHeight-Math.max(0,o.top),i=o.top+window.pageYOffset;t.current={offsetTop:i,visibleHeight:r,visibleWidth:o.width},e(t.current)}},[e]),o=Ke(n),r=o.callbackRef,i=o.ref,l=B(function(){n(i.current)},[n,i]);return E(function(){return window.addEventListener("scroll",l),window.addEventListener("resize",l),function(){window.removeEventListener("scroll",l),window.removeEventListener("resize",l)}},[l]),r}var qe="undefined"!=typeof document?L:E;function $e(e,t,n,o){void 0===o&&(o=b);var r=k(null),i=k(null),l=k(null),u=B(function(n){var o=n.target,r=o===window||o===document?window.pageYOffset||document.documentElement.scrollTop:o.scrollTop;e(Math.max(r,0)),null!==i.current&&(r===i.current||r<=0||r===o.scrollHeight-ge(o,"height"))&&(i.current=null,t(!0),l.current&&(clearTimeout(l.current),l.current=null))},[e,t]);return E(function(){var e=r.current;return o(r.current),u({target:e}),e.addEventListener("scroll",u,{passive:!0}),function(){o(null),e.removeEventListener("scroll",u)}},[r,u,n,o]),{scrollerRef:r,scrollByCallback:function(e){null===i.current&&r.current.scrollBy(e)},scrollToCallback:function(n){var o=r.current;if(o&&(!("offsetHeight"in o)||0!==o.offsetHeight)){var u,a,s,c="smooth"===n.behavior;if(o===window?(a=Math.max(ge(document.documentElement,"height"),document.documentElement.scrollHeight),u=window.innerHeight,s=document.documentElement.scrollTop):(a=o.scrollHeight,u=ge(o,"height"),s=o.scrollTop),n.top=Math.max(Math.min(a-u,n.top),0),Math.abs(u-a)<1.01||n.top===s)return e(s),void(c&&t(!0));c?(i.current=n.top,l.current&&clearTimeout(l.current),l.current=setTimeout(function(){l.current=null,i.current=null,t(!0)},1e3)):i.current=null,o.scrollTo(n)}}}}var Je=t(function(e){var t=e[0],n=t.sizes,l=t.listRefresh,u=t.defaultItemSize,a=e[1].scrollTop,s=e[2].scrollToIndex,f=e[3].didMount,m=o(!0),h=o(0);return r(i(f,T(h),c(function(e){return 0!==e[1]}),g(!1)),m),d(i(C(l,f),T(m,n,u),c(function(e){var t=e[1],n=e[3];return e[0][1]&&(!X(e[2].sizeTree)||void 0!==n)&&!t}),T(h)),function(e){var t=e[1];setTimeout(function(){y(a,function(){S(m,!0)}),S(s,t)})}),{scrolledToInitialItem:m,initialTopMostItemIndex:h}},m(ze,_,Be,Y),{singleton:!0});function Qe(e){return!!e&&("smooth"===e?"smooth":"auto")}var Xe=t(function(e){var t=e[0],n=t.totalCount,r=t.listRefresh,s=e[1],f=s.isAtBottom,m=s.atBottomState,h=e[2].scrollToIndex,g=e[3].scrolledToInitialItem,I=e[4],x=I.propsReady,w=I.didMount,b=e[5].log,R=o(!1),z=null;function H(e,t){S(h,{index:e-1,align:"end",behavior:t})}return d(i(C(i(p(n),v(1)),w),T(p(R),f,g),u(function(e){var t=e[0],n=t[0],o=t[1]&&e[3],r="auto";return o&&(r=function(e,t){return"function"==typeof e?Qe(e(t)):t&&Qe(e)}(e[1],e[2]),o=o&&!!r),{totalCount:n,shouldFollow:o,followOutputBehavior:r}}),c(function(e){return e.shouldFollow})),function(e){var t=e.totalCount,n=e.followOutputBehavior;z&&(z(),z=null),z=y(r,function(){H(t,n),z=null})}),d(i(C(p(R),n,x),c(function(e){return e[0]&&e[2]}),l(function(e,t){var n=t[1];return{refreshed:e.value===n,value:n}},{refreshed:!1,value:0}),c(function(e){return e.refreshed}),T(R,n)),function(e){var t=e[1],n=e[2],o=y(m,function(e){!t||e.atBottom||"SIZE_INCREASED"!==e.notAtBottomBecause||z||(a(b)("scrolling to bottom due to increased size",{totalCount:n},D.DEBUG),H(n,"auto"))});setTimeout(o,100)}),d(i(C(p(R),m),T(n)),function(e){var t=e[0],n=t[1];t[0]&&!n.atBottom&&"VIEWPORT_HEIGHT_DECREASING"===n.notAtBottomBecause&&H(e[1],"auto")}),{followOutput:R}},m(ze,q,Be,Je,Y,K));function et(e){return e.reduce(function(e,t){return e.groupIndices.push(e.totalCount),e.totalCount+=t+1,e},{totalCount:0,groupIndices:[]})}var tt=t(function(e){var t=e[0],o=t.totalCount,l=t.groupIndices,a=t.sizes,d=e[1],m=d.scrollTop,h=d.headerHeight,p=n(),v=n(),g=s(i(p,u(et)));return r(i(g,u(R("totalCount"))),o),r(i(g,u(R("groupIndices"))),l),r(i(C(m,a,h),c(function(e){return be(e[1])}),u(function(e){return ne(e[1].groupOffsetTree,Math.max(e[0]-e[2],0),"v")[0]}),f(),u(function(e){return[e]})),v),{groupCounts:p,topItemsIndexes:v}},m(ze,_)),nt={items:[],topItems:[],offsetTop:0,offsetBottom:0,top:0,bottom:0,topListHeight:0,totalCount:0};function ot(e,t,n){if(0===e.length)return[];if(!be(t))return e.map(function(e){return P({},e,{index:e.index+n,originalIndex:e.index})});for(var o,r=[],i=fe(t.groupOffsetTree,e[0].index,e[e.length-1].index),l=void 0,u=0,a=W(e);!(o=a()).done;){var s=o.value;(!l||l.end<s.index)&&(l=i.shift(),u=t.groupIndices.indexOf(l.start)),r.push(P({},s.index===l.start?{type:"group",index:u}:{index:s.index-(u+1)+n,groupIndex:u},{size:s.size,offset:s.offset,originalIndex:s.index,data:s.data}))}return r}function rt(e,t,n,o,r){var i=0,l=0;if(e.length>0){i=e[0].offset;var u=e[e.length-1];l=u.offset+u.size}var a=i,s=o.lastOffset+(n-o.lastIndex)*o.lastSize-l;return{items:ot(e,o,r),topItems:ot(t,o,r),topListHeight:t.reduce(function(e,t){return t.size+e},0),offsetTop:i,offsetBottom:s,top:a,bottom:l,totalCount:n}}var it,lt,ut,at=t(function(e){var t=e[0],l=t.sizes,a=t.totalCount,d=t.data,m=t.firstItemIndex,h=e[1],v=e[2],g=v.visibleRange,I=v.listBoundary,S=v.topListHeight,y=e[3],b=y.scrolledToInitialItem,H=y.initialTopMostItemIndex,k=e[4].topListHeight,B=e[5],E=e[6].didMount,L=o([]),O=n();r(h.topItemsIndexes,L);var M=w(i(C(E,p(g),p(a),p(l),p(H),b,p(L),p(m),d),c(function(e){return e[0]}),u(function(e){var t=e[1],n=t[0],o=t[1],r=e[2],i=e[4],l=e[5],u=e[6],a=e[7],s=e[8],c=e[3],f=c.sizeTree,d=c.offsetTree;if(0===r||0===n&&0===o)return nt;if(X(f))return rt(function(e,t,n){if(be(t)){var o=ye(e,t);return[{index:ne(t.groupOffsetTree,o)[0],size:0,offset:0},{index:o,size:0,offset:0,data:n&&n[0]}]}return[{index:e,size:0,offset:0,data:n&&n[0]}]}(i,c,s),[],r,c,a);var m=[];if(u.length>0)for(var h,p=u[0],v=u[u.length-1],g=0,I=W(fe(f,p,v));!(h=I()).done;)for(var C=h.value,S=C.value,x=Math.max(C.start,p),T=Math.min(C.end,v),w=x;w<=T;w++)m.push({index:w,size:S,offset:g,data:s&&s[w]}),g+=S;if(!l)return rt([],m,r,c,a);var y=u.length>0?u[u.length-1]+1:0,b=function(e,t,n,o){return void 0===o&&(o=0),o>0&&(t=Math.max(t,ve(e,o,Ce).offset)),de((i=n,u=pe(r=e,t,l=Se),a=pe(r,i,l,u),r.slice(u,a+1)),xe);var r,i,l,u,a}(d,n,o,y);if(0===b.length)return null;var R=r-1;return rt(z([],function(e){for(var t,r=W(b);!(t=r()).done;){var i=t.value,l=i.value,u=l.offset,a=i.start,c=l.size;l.offset<n&&(u+=((a+=Math.floor((n-l.offset)/c))-i.start)*c),a<y&&(u+=(y-a)*c,a=y);for(var f=Math.min(i.end,R),d=a;d<=f&&!(u>=o);d++)e.push({index:d,size:c,offset:u,data:s&&s[d]}),u+=c}}),m,r,c,a)}),c(function(e){return null!==e}),f()),nt);return r(i(d,c(function(e){return void 0!==e}),u(function(e){return e.length})),a),r(i(M,u(R("topListHeight"))),k),r(k,S),r(M,B.listStateListener),r(i(M,u(function(e){return[e.top,e.bottom]})),I),r(i(M,u(function(e){return e.items})),O),P({listState:M,topItemsIndexes:L,endReached:s(i(M,c(function(e){return e.items.length>0}),T(a,d),c(function(e){var t=e[0].items;return t[t.length-1].originalIndex===e[1]-1}),u(function(e){return[e[1]-1,e[2]]}),f(G),u(function(e){return e[0]}))),startReached:s(i(M,x(200),c(function(e){var t=e.items;return t.length>0&&t[0].originalIndex===e.topItems.length}),u(function(e){return e.items[0].index}),f())),rangeChanged:s(i(M,c(function(e){return e.items.length>0}),u(function(e){var t=e.items;return{startIndex:t[0].index,endIndex:t[t.length-1].index}}),f(N))),itemsRendered:O},B)},m(ze,tt,Oe,Je,Be,q,Y),{singleton:!0}),st=t(function(e){var t=e[0],n=t.sizes,l=t.firstItemIndex,a=t.data,s=e[1].listState,f=e[2].didMount,d=o(0);return r(i(f,T(d),c(function(e){return 0!==e[1]}),T(n,l,a),u(function(e){var t=e[0][1],n=e[1],o=e[2],r=e[3],i=void 0===r?[]:r,l=0;if(n.groupIndices.length>0)for(var u,a=W(n.groupIndices);!((u=a()).done||u.value-l>=t);)l++;var s=t+l;return rt(Array.from({length:s}).map(function(e,t){return{index:t,size:0,offset:0,data:i[t]}}),[],s,n,o)})),s),{initialItemCount:d}},m(ze,at,Y),{singleton:!0}),ct=t(function(e){var t=e[0].topItemsIndexes,n=o(0);return r(i(n,c(function(e){return e>0}),u(function(e){return Array.from({length:e}).map(function(e,t){return t})})),t),{topItemCount:n}},m(at)),ft=t(function(e){var t=e[0],o=t.footerHeight,l=t.headerHeight,a=e[1].listState,s=n(),c=w(i(C(o,l,a),u(function(e){var t=e[2];return e[0]+e[1]+t.offsetBottom+t.bottom})),0);return r(p(c),s),{totalListHeight:c,totalListHeightChanged:s}},m(_,at),{singleton:!0}),dt=t(function(e){var t=e[0],n=t.scrollBy,o=t.scrollTop,a=t.scrollDirection,f=t.deviation,m=t.scrollingInProgress,h=e[1].isScrolling,p=e[3],v=p.beforeUnshiftWith,g=p.sizes,I=e[4].log,y=s(i(e[2].listState,l(function(e,t){var n=e[1],o=t.items,r=0;if(n.length>0&&o.length>0){var i=o[0].originalIndex,l=n[0].originalIndex;if(0!==i||0!==l)if(i===l)r=o[0].size-n[0].size;else for(var u=function(e){var t=o[e],i=n.find(function(e){return e.originalIndex===t.originalIndex});return i?t.offset!==i.offset?(r=t.offset-i.offset,"break"):void 0:"continue"},a=o.length-1;a>=0;a--){var s=u(a);if("continue"!==s&&"break"===s)break}}return[r,o]},[0,[]]),c(function(e){return 0!==e[0]}),T(o,a,m,I),c(function(e){return!e[3]&&0!==e[1]&&e[2]===U}),u(function(e){var t=e[0][0];return(0,e[4])("Upward scrolling compensation",{amount:t},D.DEBUG),t})));return r(i(y,T(f),u(function(e){return e[1]-e[0]})),f),d(i(C(w(h,!1),f),c(function(e){return!e[0]&&0!==e[1]}),u(function(e){return e[1]}),x(1)),function(e){e>0?(S(n,{top:-e,behavior:"auto"}),S(f,0)):(S(f,0),S(n,{top:-e,behavior:"auto"}))}),r(i(v,T(g),u(function(e){return e[0]*e[1].lastSize})),y),{deviation:f}},m(_,q,at,ze,K)),mt=t(function(e){var t=e[0].totalListHeight,n=e[1].didMount,r=e[2].scrollTo,l=o(0);return d(i(n,T(l),c(function(e){return 0!==e[1]}),u(function(e){return{top:e[1]}})),function(e){y(i(t,c(function(e){return 0!==e})),function(){setTimeout(function(){S(r,e)})})}),{initialScrollTop:l}},m(ft,Y,_),{singleton:!0}),ht=t(function(e){var t=e[0].viewportHeight,n=e[1].totalListHeight,r=o(!1);return{alignToBottom:r,paddingTopAddition:w(i(C(r,t,n),c(function(e){return e[0]}),u(function(e){return Math.max(0,e[1]-e[2])}),f()),0)}},m(_,ft),{singleton:!0}),pt=t(function(e){var t=e[0],o=t.sizes,l=t.totalCount,a=e[1],s=a.scrollTop,f=a.viewportHeight,d=a.headerHeight,m=a.scrollingInProgress,h=e[2].scrollToIndex,p=n();return r(i(p,T(o,f,l,d,s),u(function(e){var t=e[0],n=t.index,o=t.behavior,r=void 0===o?"auto":o,l=t.done,u=e[1],a=e[2],s=e[4],f=e[5],d=e[3]-1,h=null;n=ye(n,u);var p=we(n=Math.max(0,n,Math.min(d,n)),u.offsetTree)+s;return p<f?h={index:n,behavior:r,align:"start"}:p+ne(u.sizeTree,n)[1]>f+a&&(h={index:n,behavior:r,align:"end"}),h?l&&y(i(m,v(1),c(function(e){return!1===e})),l):l&&l(),h}),c(function(e){return null!==e})),h),{scrollIntoView:p}},m(ze,_,Be,at,K),{singleton:!0}),vt=t(function(e){return P({},e[0],e[1],e[2],e[3],e[4],e[5],e[6],e[7],e[8])},m(Oe,st,Y,$,ft,mt,ht,Me,pt)),gt=t(function(e){var t=e[0],n=t.totalCount,o=t.sizeRanges,l=t.fixedItemSize,a=t.defaultItemSize,s=t.trackItemSizes,c=t.itemSize,f=t.data,d=t.firstItemIndex,m=t.groupIndices,h=e[1],p=h.initialTopMostItemIndex,v=h.scrolledToInitialItem,g=e[2],I=e[3],C=e[4],S=C.listState,x=C.topItemsIndexes,T=F(C,["listState","topItemsIndexes"]),w=e[5].scrollToIndex,y=e[7].topItemCount,b=e[8].groupCounts,z=e[9],H=e[10];return r(T.rangeChanged,z.scrollSeekRangeChanged),r(i(z.windowViewportRect,u(R("visibleHeight"))),g.viewportHeight),P({totalCount:n,data:f,firstItemIndex:d,sizeRanges:o,initialTopMostItemIndex:p,scrolledToInitialItem:v,topItemsIndexes:x,topItemCount:y,groupCounts:b,fixedItemHeight:l,defaultItemHeight:a},I,{listState:S,scrollToIndex:w,trackItemSizes:s,itemSize:c,groupIndices:m},T,z,g,H)},m(ze,Je,_,Xe,at,Be,dt,ct,tt,vt,K)),It=(it=function(){if("undefined"==typeof document)return"sticky";var e=document.createElement("div");return e.style.position="-webkit-sticky","-webkit-sticky"===e.style.position?"-webkit-sticky":"sticky"},ut=!1,function(){return ut||(ut=!0,lt=it()),lt});function Ct(e){return e}var St=t(function(){var e=o(function(e){return"Item "+e}),t=o(function(e){return"Group "+e}),n=o({}),r=o(Ct),l=o("div"),a=o(b),s=function(e,t){return void 0===t&&(t=null),w(i(n,u(function(t){return t[e]}),f()),t)};return{itemContent:e,groupContent:t,components:n,computeItemKey:r,headerFooterTag:l,scrollerRef:a,FooterComponent:s("Footer"),HeaderComponent:s("Header"),TopItemListComponent:s("TopItemList"),ListComponent:s("List","div"),ItemComponent:s("Item","div"),GroupComponent:s("Group","div"),ScrollerComponent:s("Scroller","div"),EmptyPlaceholder:s("EmptyPlaceholder"),ScrollSeekPlaceholder:s("ScrollSeekPlaceholder")}});function xt(e,t){var o=n();return d(o,function(){return console.warn("react-virtuoso: You are using a deprecated property. "+t,"color: red;","color: inherit;","color: blue;")}),r(o,e),o}var Tt=t(function(e){var t=e[0],o=e[1],l={item:xt(o.itemContent,"Rename the %citem%c prop to %citemContent."),group:xt(o.groupContent,"Rename the %cgroup%c prop to %cgroupContent."),topItems:xt(t.topItemCount,"Rename the %ctopItems%c prop to %ctopItemCount."),itemHeight:xt(t.fixedItemHeight,"Rename the %citemHeight%c prop to %cfixedItemHeight."),scrollingStateChange:xt(t.isScrolling,"Rename the %cscrollingStateChange%c prop to %cisScrolling."),adjustForPrependedItems:n(),maxHeightCacheSize:n(),footer:n(),header:n(),HeaderContainer:n(),FooterContainer:n(),ItemContainer:n(),ScrollContainer:n(),GroupContainer:n(),ListContainer:n(),emptyComponent:n(),scrollSeek:n()};function s(e,t,n){r(i(e,T(o.components),u(function(e){var o,r=e[0],i=e[1];return console.warn("react-virtuoso: "+n+" property is deprecated. Pass components."+t+" instead."),P({},i,((o={})[t]=r,o))})),o.components)}return d(l.adjustForPrependedItems,function(){console.warn("react-virtuoso: adjustForPrependedItems is no longer supported. Use the firstItemIndex property instead - https://virtuoso.dev/prepend-items.","color: red;","color: inherit;","color: blue;")}),d(l.maxHeightCacheSize,function(){console.warn("react-virtuoso: maxHeightCacheSize is no longer necessary. Setting it has no effect - remove it from your code.")}),d(l.HeaderContainer,function(){console.warn("react-virtuoso: HeaderContainer is deprecated. Use headerFooterTag if you want to change the wrapper of the header component and pass components.Header to change its contents.")}),d(l.FooterContainer,function(){console.warn("react-virtuoso: FooterContainer is deprecated. Use headerFooterTag if you want to change the wrapper of the footer component and pass components.Footer to change its contents.")}),d(l.scrollSeek,function(e){var n=e.placeholder,r=F(e,["placeholder"]);console.warn("react-virtuoso: scrollSeek property is deprecated. Pass scrollSeekConfiguration and specify the placeholder in components.ScrollSeekPlaceholder instead."),S(o.components,P({},a(o.components),{ScrollSeekPlaceholder:n})),S(t.scrollSeekConfiguration,r)}),s(l.footer,"Footer","footer"),s(l.header,"Header","header"),s(l.ItemContainer,"Item","ItemContainer"),s(l.ListContainer,"List","ListContainer"),s(l.ScrollContainer,"Scroller","ScrollContainer"),s(l.emptyComponent,"EmptyPlaceholder","emptyComponent"),s(l.GroupContainer,"Group","GroupContainer"),P({},t,o,l)},m(gt,St)),wt=function(e){return M("div",{style:{height:e.height}})},yt={position:It(),zIndex:1},bt=O(function(e){var t,n,o,r,i=e.showTopList,l=void 0!==i&&i,u=Gt("listState"),a=Gt("deviation"),s=Wt("sizeRanges"),c=Gt("itemContent"),f=Gt("groupContent"),d=Gt("trackItemSizes"),m=(t=s,n=Gt("itemSize"),o=d,r=Gt("log"),Ye(function(e){var o=function(e,t,n,o){var r=e.length;if(0===r)return null;for(var i=[],l=0;l<r;l++){var u=e.item(l);if(u&&void 0!==u.dataset.index){var a=parseInt(u.dataset.index),s=parseFloat(u.dataset.knownSize),c=t(u,"offsetHeight");if(0===c&&o("Zero-sized element, this should not happen",{child:u},D.ERROR),c!==s){var f=i[i.length-1];0===i.length||f.size!==c||f.endIndex!==a-1?i.push({startIndex:a,endIndex:a,size:c}):i[i.length-1].endIndex++}}}return i}(e.children,n,0,r);null!==o&&t(o)},o)),h=Gt("EmptyPlaceholder"),p=Gt("ScrollSeekPlaceholder")||wt,v=Gt("ListComponent"),g=Gt("ItemComponent"),I=Gt("GroupComponent"),C=Gt("computeItemKey"),S=Gt("isSeeking"),x=Gt("groupIndices").length>0,T=Gt("paddingTopAddition"),w=Gt("scrolledToInitialItem"),y=Gt("firstItemIndex"),b=l?{}:{boxSizing:"border-box",paddingTop:u.offsetTop+T,paddingBottom:u.offsetBottom,marginTop:a};return!l&&0===u.items.length&&h&&w?M(h):M(v,{ref:m,style:b,"data-test-id":l?"virtuoso-top-item-list":"virtuoso-item-list"},(l?u.topItems:u.items).map(function(e){var t=e.originalIndex,n=C(t+y,e.data);return S?M(p,{key:n,index:e.index,height:e.size}):"group"===e.type?M(I,{key:n,"data-index":t,"data-known-size":e.size,"data-item-index":e.index,style:yt},f(e.index)):M(g,{key:n,"data-index":t,"data-known-size":e.size,"data-item-index":e.index,"data-item-group-index":e.groupIndex},x?c(e.index,e.groupIndex,e.data):c(e.index,e.data))}))}),Rt={height:"100%",outline:"none",overflowY:"auto",position:"relative",WebkitOverflowScrolling:"touch"},zt={width:"100%",height:"100%",position:"absolute",top:0},Ht={width:"100%",position:It(),top:0},kt=O(function(){var e=Gt("HeaderComponent"),t=Wt("headerHeight"),n=Gt("headerFooterTag"),o=Ye(function(e){return t(ge(e,"height"))});return e?M(n,{ref:o},M(e)):null}),Bt=O(function(){var e=Gt("FooterComponent"),t=Wt("footerHeight"),n=Gt("headerFooterTag"),o=Ye(function(e){return t(ge(e,"height"))});return e?M(n,{ref:o},M(e)):null});function Et(e){var t=e.usePublisher,n=e.useEmitter,o=e.useEmitterValue;return O(function(e){var r=e.style,i=e.children,l=F(e,["style","children"]),u=t("scrollTop"),a=o("ScrollerComponent"),s=$e(u,t("smoothScrollTargetReached"),a,o("scrollerRef")),c=s.scrollerRef,f=s.scrollByCallback;return n("scrollTo",s.scrollToCallback),n("scrollBy",f),M(a,P({ref:c,style:P({},Rt,r),tabIndex:0},l),i)})}function Lt(e){var t=e.usePublisher,n=e.useEmitter,o=e.useEmitterValue;return O(function(e){var r=e.style,i=e.children,l=F(e,["style","children"]),u=t("windowScrollTop"),a=o("ScrollerComponent"),s=t("smoothScrollTargetReached"),c=o("totalListHeight"),f=$e(u,s,a),d=f.scrollerRef,m=f.scrollByCallback,h=f.scrollToCallback;return qe(function(){return d.current=window,function(){d.current=null}},[d]),n("windowScrollTo",h),n("scrollBy",m),M(a,P({style:P({position:"relative"},r,0!==c?{height:c}:{})},l),i)})}var Ot=function(e){var t=e.children,n=Wt("viewportHeight"),o=Ye(H(n,function(e){return ge(e,"height")}));return M("div",{style:zt,ref:o},t)},Mt=function(e){var t=e.children,n=Ze(Wt("windowViewportRect"));return M("div",{ref:n,style:zt},t)},Pt=function(e){var t=e.children,n=Gt("TopItemListComponent"),o=Gt("headerHeight"),r=P({},Ht,{marginTop:o+"px"});return M(n||"div",{style:r},t)},Ft=e(Tt,{required:{},optional:{followOutput:"followOutput",firstItemIndex:"firstItemIndex",itemContent:"itemContent",groupContent:"groupContent",overscan:"overscan",increaseViewportBy:"increaseViewportBy",totalCount:"totalCount",topItemCount:"topItemCount",initialTopMostItemIndex:"initialTopMostItemIndex",components:"components",groupCounts:"groupCounts",computeItemKey:"computeItemKey",defaultItemHeight:"defaultItemHeight",fixedItemHeight:"fixedItemHeight",itemSize:"itemSize",scrollSeekConfiguration:"scrollSeekConfiguration",headerFooterTag:"headerFooterTag",data:"data",initialItemCount:"initialItemCount",initialScrollTop:"initialScrollTop",alignToBottom:"alignToBottom",useWindowScroll:"useWindowScroll",scrollerRef:"scrollerRef",logLevel:"logLevel",item:"item",group:"group",topItems:"topItems",itemHeight:"itemHeight",scrollingStateChange:"scrollingStateChange",maxHeightCacheSize:"maxHeightCacheSize",footer:"footer",header:"header",ItemContainer:"ItemContainer",ScrollContainer:"ScrollContainer",ListContainer:"ListContainer",GroupContainer:"GroupContainer",emptyComponent:"emptyComponent",HeaderContainer:"HeaderContainer",FooterContainer:"FooterContainer",scrollSeek:"scrollSeek"},methods:{scrollToIndex:"scrollToIndex",scrollIntoView:"scrollIntoView",scrollTo:"scrollTo",scrollBy:"scrollBy",adjustForPrependedItems:"adjustForPrependedItems"},events:{isScrolling:"isScrolling",endReached:"endReached",startReached:"startReached",rangeChanged:"rangeChanged",atBottomStateChange:"atBottomStateChange",atTopStateChange:"atTopStateChange",totalListHeightChanged:"totalListHeightChanged",itemsRendered:"itemsRendered",groupIndices:"groupIndices"}},O(function(e){var t=Gt("useWindowScroll"),n=Gt("topItemsIndexes").length>0,o=t?Mt:Ot;return M(t?Dt:Vt,P({},e),M(o,null,M(kt,null),M(bt,null),M(Bt,null)),n&&M(Pt,null,M(bt,{showTopList:!0})))})),At=Ft.Component,Wt=Ft.usePublisher,Gt=Ft.useEmitterValue,Nt=Ft.useEmitter,Vt=Et({usePublisher:Wt,useEmitterValue:Gt,useEmitter:Nt}),Dt=Lt({usePublisher:Wt,useEmitterValue:Gt,useEmitter:Nt}),Ut=t(function(){var e=o(function(e){return"Item "+e}),t=o({}),n=o("virtuoso-grid-item"),r=o("virtuoso-grid-list"),l=o(Ct),a=o(b),s=function(e,n){return void 0===n&&(n=null),w(i(t,u(function(t){return t[e]}),f()),n)};return{itemContent:e,components:t,computeItemKey:l,itemClassName:n,listClassName:r,scrollerRef:a,ListComponent:s("List","div"),ItemComponent:s("Item","div"),ScrollerComponent:s("Scroller","div"),ScrollSeekPlaceholder:s("ScrollSeekPlaceholder","div")}}),_t=t(function(e){var t=e[0],o=e[1],l={item:xt(o.itemContent,"Rename the %citem%c prop to %citemContent."),ItemContainer:n(),ScrollContainer:n(),ListContainer:n(),emptyComponent:n(),scrollSeek:n()};function s(e,t,n){r(i(e,T(o.components),u(function(e){var o,r=e[0],i=e[1];return console.warn("react-virtuoso: "+n+" property is deprecated. Pass components."+t+" instead."),P({},i,((o={})[t]=r,o))})),o.components)}return d(l.scrollSeek,function(e){var n=e.placeholder,r=F(e,["placeholder"]);console.warn("react-virtuoso: scrollSeek property is deprecated. Pass scrollSeekConfiguration and specify the placeholder in components.ScrollSeekPlaceholder instead."),S(o.components,P({},a(o.components),{ScrollSeekPlaceholder:n})),S(t.scrollSeekConfiguration,r)}),s(l.ItemContainer,"Item","ItemContainer"),s(l.ListContainer,"List","ListContainer"),s(l.ScrollContainer,"Scroller","ScrollContainer"),P({},t,o,l)},m(Ue,Ut)),jt=O(function(){var e=Jt("gridState"),t=Jt("listClassName"),n=Jt("itemClassName"),o=Jt("itemContent"),r=Jt("computeItemKey"),i=Jt("isSeeking"),l=Jt("ItemComponent"),u=Jt("ListComponent"),a=Jt("ScrollSeekPlaceholder"),s=$t("itemDimensions"),c=Ye(function(e){var t=e.firstChild;t&&s(t.getBoundingClientRect())});return M(u,{ref:c,className:t,style:{paddingTop:e.offsetTop,paddingBottom:e.offsetBottom}},e.items.map(function(t){var u=r(t.index);return i?M(a,{key:u,style:{height:e.itemHeight,width:e.itemWidth}}):M(l,{className:n,"data-index":t.index,key:u},o(t.index))}))}),Kt=function(e){var t=e.children,n=$t("viewportDimensions"),o=Ye(function(e){n(e.getBoundingClientRect())});return M("div",{style:zt,ref:o},t)},Yt=function(e){var t=e.children,n=Ze($t("windowViewportRect"));return M("div",{ref:n,style:zt},t)},Zt=e(_t,{optional:{totalCount:"totalCount",overscan:"overscan",itemContent:"itemContent",components:"components",computeItemKey:"computeItemKey",initialItemCount:"initialItemCount",scrollSeekConfiguration:"scrollSeekConfiguration",listClassName:"listClassName",itemClassName:"itemClassName",useWindowScroll:"useWindowScroll",scrollerRef:"scrollerRef",item:"item",ItemContainer:"ItemContainer",ScrollContainer:"ScrollContainer",ListContainer:"ListContainer",scrollSeek:"scrollSeek"},methods:{scrollTo:"scrollTo",scrollBy:"scrollBy",scrollToIndex:"scrollToIndex"},events:{isScrolling:"isScrolling",endReached:"endReached",startReached:"startReached",rangeChanged:"rangeChanged",atBottomStateChange:"atBottomStateChange",atTopStateChange:"atTopStateChange"}},O(function(e){var t=P({},e),n=Jt("useWindowScroll"),o=n?Yt:Kt;return M(n?en:Xt,P({},t),M(o,null,M(jt,null)))})),qt=Zt.Component,$t=Zt.usePublisher,Jt=Zt.useEmitterValue,Qt=Zt.useEmitter,Xt=Et({usePublisher:$t,useEmitterValue:Jt,useEmitter:Qt}),en=Lt({usePublisher:$t,useEmitterValue:Jt,useEmitter:Qt}),tn=At,nn=At,on=qt;export{nn as GroupedVirtuoso,D as LogLevel,tn as Virtuoso,on as VirtuosoGrid};
2
2
  //# sourceMappingURL=index.m.js.map