react-virtuoso 2.6.0 → 2.8.0-alpha.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.
- package/dist/AATree.d.ts +40 -40
- package/dist/Grid.d.ts +482 -440
- package/dist/List.d.ts +6041 -5860
- package/dist/Table.d.ts +5875 -5729
- package/dist/TableVirtuoso.js +2 -0
- package/dist/TableVirtuoso.js.map +1 -0
- package/dist/TableVirtuoso.mjs +2 -0
- package/dist/TableVirtuoso.mjs.map +1 -0
- package/dist/VirtuosoGrid.js +2 -0
- package/dist/VirtuosoGrid.js.map +1 -0
- package/dist/VirtuosoGrid.mjs +2 -0
- package/dist/VirtuosoGrid.mjs.map +1 -0
- package/dist/alignToBottomSystem.d.ts +529 -529
- package/dist/comparators.d.ts +3 -3
- package/dist/components/CompProps.d.ts +2 -0
- package/dist/components/GroupedVirtuoso.d.ts +27 -0
- package/dist/components/TableVirtuoso.d.ts +5717 -0
- package/dist/components/Virtuoso.d.ts +205 -0
- package/dist/components/VirtuosoGrid.d.ts +93 -0
- package/dist/components/index.d.ts +4 -0
- package/dist/components.d.ts +1026 -73
- package/dist/domIOSystem.d.ts +15 -15
- package/dist/followOutputSystem.d.ts +362 -362
- package/dist/gridSystem.d.ts +281 -281
- package/dist/groupedListSystem.d.ts +71 -71
- package/dist/hooks/__mocks__/useChangedChildSizes.d.ts +4 -4
- package/dist/hooks/__mocks__/useScrollTop.d.ts +7 -7
- package/dist/hooks/__mocks__/useSize.d.ts +3 -3
- package/dist/hooks/useChangedChildSizes.d.ts +3 -3
- package/dist/hooks/useIsomorphicLayoutEffect.d.ts +3 -3
- package/dist/hooks/useScrollTop.d.ts +6 -6
- package/dist/hooks/useSize.d.ts +6 -6
- package/dist/hooks/useWindowViewportRect.d.ts +2 -2
- package/dist/index-27.js +2 -0
- package/dist/index.d.ts +3 -3
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/index.m.js +1 -1
- package/dist/index.m.js.map +1 -1
- package/dist/index.mjs +2 -0
- package/dist/index.mjs.map +1 -0
- package/dist/initialItemCountSystem.d.ts +518 -518
- package/dist/initialScrollTopSystem.d.ts +540 -540
- package/dist/initialTopMostItemIndexSystem.d.ts +153 -153
- package/dist/interfaces.d.ts +279 -239
- package/dist/listStateSystem.d.ts +469 -469
- package/dist/listSystem.d.ts +5214 -5214
- package/dist/loggerSystem.d.ts +17 -17
- package/dist/propsReadySystem.d.ts +12 -12
- package/dist/scrollIntoViewSystem.d.ts +617 -617
- package/dist/scrollSeekSystem.d.ts +57 -57
- package/dist/scrollToIndexSystem.d.ts +77 -77
- package/dist/shared.js +2 -0
- package/dist/shared.js.map +1 -0
- package/dist/shared.mjs +2 -0
- package/dist/shared.mjs.map +1 -0
- package/dist/sizeRangeSystem.d.ts +50 -50
- package/dist/sizeSystem.d.ts +66 -66
- package/dist/stateFlagsSystem.d.ts +65 -65
- package/dist/topItemCountSystem.d.ts +469 -469
- package/dist/totalListHeightSystem.d.ts +497 -497
- package/dist/upwardScrollFixSystem.d.ts +590 -590
- package/dist/utils/binaryArraySearch.d.ts +6 -6
- package/dist/utils/correctItemSize.d.ts +1 -1
- package/dist/utils/positionStickyCssValue.d.ts +1 -1
- package/dist/utils/simpleMemoize.d.ts +1 -1
- package/dist/windowScrollerSystem.d.ts +35 -35
- package/package.json +15 -5
package/dist/shared.mjs
ADDED
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import e from"@babel/runtime/helpers/objectWithoutProperties";import t from"@babel/runtime/helpers/objectSpread2";import{systemToComponent as o}from"@virtuoso.dev/react-urx";import*as n from"@virtuoso.dev/urx";import{getValue as r,tup as i,system as s,stream as l,streamFromEmitter as a,pipe as c,map as u,connect as m,prop as d,combineLatest as p,filter as f,distinctUntilChanged as h,statefulStream as g,noop as I,subscribe as v,publish as S,statefulStreamFromEmitter as x,withLatestFrom as T,compose as C}from"@virtuoso.dev/urx";import*as w from"react";import{useLayoutEffect as b,useEffect as y,useRef as E,useCallback as z,createElement as H}from"react";const L="undefined"!=typeof document?b:y;var R;!function(e){e[e.DEBUG=0]="DEBUG",e[e.INFO=1]="INFO",e[e.WARN=2]="WARN",e[e.ERROR=3]="ERROR"}(R||(R={}));const k={[R.DEBUG]:"debug",[R.INFO]:"log",[R.WARN]:"warn",[R.ERROR]:"error"},F=n.system((()=>{const e=n.statefulStream(R.ERROR);return{log:n.statefulStream(((t,o,r=R.INFO)=>{var i;r>=(null!==(i=("undefined"==typeof globalThis?window:globalThis).VIRTUOSO_LOG_LEVEL)&&void 0!==i?i:n.getValue(e))&&console[k[r]]("%creact-virtuoso: %c%s %o","color: #0253b3; font-weight: bold","color: initial",t,o)})),logLevel:e}}),[],{singleton:!0});function B(e,t=!0){const o=E(null);let n=e=>{};if("undefined"!=typeof ResizeObserver){const r=new ResizeObserver((t=>{const o=t[0].target;null!==o.offsetParent&&e(o)}));n=e=>{e&&t?(r.observe(e),o.current=e):(o.current&&r.unobserve(o.current),o.current=null)}}return{ref:o,callbackRef:n}}function O(e,t=!0){return B(e,t).callbackRef}function M(e,t,o,n,r,i){return O((o=>{const s=function(e,t,o,n){const r=e.length;if(0===r)return null;const i=[];for(let s=0;s<r;s++){const r=e.item(s);if(!r||void 0===r.dataset.index)continue;const l=parseInt(r.dataset.index),a=parseFloat(r.dataset.knownSize),c=t(r,o);if(0===c&&n("Zero-sized element, this should not happen",{child:r},R.ERROR),c===a)continue;const u=i[i.length-1];0===i.length||u.size!==c||u.endIndex!==l-1?i.push({startIndex:l,endIndex:l,size:c}):i[i.length-1].endIndex++}return i}(o.children,t,"offsetHeight",r);let l=o.parentElement;for(;!l.dataset.virtuosoScroller;)l=l.parentElement;const a=i?i.scrollTop:"window"===l.firstElementChild.dataset.viewportType?window.pageYOffset||document.documentElement.scrollTop:l.scrollTop;n(i?[Math.max(a,0),i.scrollHeight]:[Math.max(a,0),l.scrollHeight]),null!==s&&e(s)}),o)}function P(e,t){return Math.round(e.getBoundingClientRect()[t])}function U(e,t,o,r=n.noop,i){const s=E(null),l=E(null),a=E(null),c=z((o=>{const n=o.target,r=n===window||n===document?window.pageYOffset||document.documentElement.scrollTop:n.scrollTop,i=n===window?document.documentElement.scrollHeight:n.scrollHeight;e([Math.max(r,0),i]),null!==l.current&&(r===l.current||r<=0||r===n.scrollHeight-P(n,"height"))&&(l.current=null,t(!0),a.current&&(clearTimeout(a.current),a.current=null))}),[e,t]);return y((()=>{const e=i||s.current;return r(i||s.current),c({target:e}),e.addEventListener("scroll",c,{passive:!0}),()=>{r(null),e.removeEventListener("scroll",c)}}),[s,c,o,r,i]),{scrollerRef:s,scrollByCallback:function(e){null===l.current&&s.current.scrollBy(e)},scrollToCallback:function(o){const n=s.current;if(!n||"offsetHeight"in n&&0===n.offsetHeight)return;const r="smooth"===o.behavior;let i,c,u;n===window?(c=Math.max(P(document.documentElement,"height"),document.documentElement.scrollHeight),i=window.innerHeight,u=document.documentElement.scrollTop):(c=n.scrollHeight,i=P(n,"height"),u=n.scrollTop);const m=c-i;if(o.top=Math.ceil(Math.max(Math.min(m,o.top),0)),d=i,p=c,Math.abs(d-p)<1.01||o.top===u)return e([u,c]),void(r&&t(!0));var d,p;r?(l.current=o.top,a.current&&clearTimeout(a.current),a.current=setTimeout((()=>{a.current=null,l.current=null,t(!0)}),1e3)):l.current=null,n.scrollTo(o)}}}const G=n.system((()=>{const e=n.stream(),t=n.stream(),o=n.statefulStream(0),r=n.stream(),i=n.statefulStream(0),s=n.stream(),l=n.stream(),a=n.statefulStream(0),c=n.statefulStream(0),u=n.stream(),m=n.stream(),d=n.statefulStream(!1);return n.connect(n.pipe(e,n.map((([e])=>e))),t),n.connect(n.pipe(e,n.map((([,e])=>e))),l),n.connect(t,i),{scrollContainerState:e,scrollTop:t,viewportHeight:s,headerHeight:a,footerHeight:c,scrollHeight:l,smoothScrollTargetReached:r,scrollTo:u,scrollBy:m,statefulScrollTop:i,deviation:o,scrollingInProgress:d}}),[],{singleton:!0}),A={lvl:0};function D(e,t,o,n=A,r=A){return{k:e,v:t,lvl:o,l:n,r:r}}function V(e){return e===A}function N(){return A}function W(e,t){if(V(e))return A;const{k:o,l:n,r:r}=e;if(t===o){if(V(n))return r;if(V(r))return n;{const[t,o]=K(n);return X(J(e,{k:t,v:o,l:Z(n)}))}}return X(J(e,t<o?{l:W(n,t)}:{r:W(r,t)}))}function _(e,t,o="k"){if(V(e))return[-1/0,void 0];if(e[o]===t)return[e.k,e.v];if(e[o]<t){const n=_(e.r,t,o);return n[0]===-1/0?[e.k,e.v]:n}return _(e.l,t,o)}function j(e,t,o){return V(e)?D(t,o,1):t===e.k?J(e,{k:t,v:o}):t<e.k?Q(J(e,{l:j(e.l,t,o)})):Q(J(e,{r:j(e.r,t,o)}))}function $(e,t,o){if(V(e))return[];const{k:n,v:r,l:i,r:s}=e;let l=[];return n>t&&(l=l.concat($(i,t,o))),n>=t&&n<=o&&l.push({k:n,v:r}),n<=o&&(l=l.concat($(s,t,o))),l}function Y(e){return V(e)?[]:[...Y(e.l),{k:e.k,v:e.v},...Y(e.r)]}function K(e){return V(e.r)?[e.k,e.v]:K(e.r)}function Z(e){return V(e.r)?e.l:X(J(e,{r:Z(e.r)}))}function J(e,t){return D(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 q(e){return V(e)||e.lvl>e.r.lvl}function Q(e){return oe(ne(e))}function X(e){const{l:t,r:o,lvl:n}=e;if(o.lvl>=n-1&&t.lvl>=n-1)return e;if(n>o.lvl+1){if(q(t))return ne(J(e,{lvl:n-1}));if(V(t)||V(t.r))throw new Error("Unexpected empty nodes");return J(t.r,{l:J(t,{r:t.r.l}),r:J(e,{l:t.r.r,lvl:n-1}),lvl:n})}if(q(e))return oe(J(e,{lvl:n-1}));if(V(o)||V(o.l))throw new Error("Unexpected empty nodes");{const t=o.l,r=q(t)?o.lvl-1:o.lvl;return J(t,{l:J(e,{r:t.l,lvl:n-1}),r:oe(J(o,{l:t.r,lvl:r})),lvl:t.lvl+1})}}function ee(e,t,o){if(V(e))return[];const n=_(e,t)[0];return te($(e,n,o),(({k:e,v:t})=>({index:e,value:t})))}function te(e,t){const o=e.length;if(0===o)return[];let{index:n,value:r}=t(e[0]);const i=[];for(let s=1;s<o;s++){const{index:o,value:l}=t(e[s]);i.push({start:n,end:o-1,value:r}),n=o,r=l}return i.push({start:n,end:1/0,value:r}),i}function oe(e){const{r:t,lvl:o}=e;return V(t)||V(t.r)||t.lvl!==o||t.r.lvl!==o?e:J(t,{l:J(e,{r:t.l}),lvl:o+1})}function ne(e){const{l:t}=e;return V(t)||t.lvl!==e.lvl?e:J(t,{r:J(e,{l:t.r})})}function re(e,t,o,n=0){let r=e.length-1;for(;n<=r;){const i=Math.floor((n+r)/2),s=o(e[i],t);if(0===s)return i;if(-1===s){if(r-n<2)return i-1;r=i-1}else{if(r===n)return i;n=i+1}}throw new Error(`Failed binary finding record in array - ${e.join(",")}, searched for ${t}`)}function ie(e,t,o){return e[re(e,t,o)]}function se(e){const{size:t,startIndex:o,endIndex:n}=e;return e=>e.start===o&&(e.end===n||e.end===1/0)&&e.value===t}function le({index:e},t){return t===e?0:t<e?-1:1}function ae({offset:e},t){return t===e?0:t<e?-1:1}function ce(e){return{index:e.index,value:e}}function ue(e,t,o,n=0){return n>0&&(t=Math.max(t,ie(e,n,le).offset)),te(function(e,t,o,n){const r=re(e,t,n),i=re(e,o,n,r);return e.slice(r,i+1)}(e,t,o,ae),ce)}function me(e,[t,o,n]){t.length>0&&n("received item sizes",t,R.DEBUG);const r=e.sizeTree;let i=e.offsetTree,s=r,l=0;if(o.length>0&&V(r)&&2===t.length){const e=t[0].size,n=t[1].size;s=o.reduce(((t,o)=>j(j(t,o,e),o+1,n)),s)}else[s,l]=function(e,t){let o=V(e)?0:1/0;for(const n of t){const{size:t,startIndex:r,endIndex:i}=n;if(o=Math.min(o,r),V(e)){e=j(e,0,t);continue}const s=ee(e,r-1,i+1);if(s.some(se(n)))continue;let l=!1,a=!1;for(const{start:o,end:n,value:r}of s)l?(i>=o||t===r)&&(e=W(e,o)):(a=r!==t,l=!0),n>i&&i>=o&&r!==t&&(e=j(e,i+1,r));a&&(e=j(e,r,t))}return[e,o]}(s,t);if(s===r)return e;let a=0,c=0,u=0,m=0;if(0!==l){m=re(i,l-1,le);u=i[m].offset;const e=_(s,l-1);a=e[0],c=e[1],i.length&&i[m].size===_(s,l)[1]&&(m-=1),i=i.slice(0,m+1)}else i=[];for(const{start:e,value:t}of ee(s,l,1/0)){const o=(e-a)*c+u;i.push({offset:o,size:t,index:e}),a=e,u=o,c=t}return{sizeTree:s,offsetTree:i,groupOffsetTree:o.reduce(((e,t)=>j(e,t,de(t,i))),N()),lastIndex:a,lastOffset:u,lastSize:c,groupIndices:o}}function de(e,t){if(0===t.length)return 0;const{offset:o,index:n,size:r}=ie(t,e,le);return r*(e-n)+o}function pe(e,t){if(!fe(t))return e;let o=0;for(;t.groupIndices[o]<=e+o;)o++;return e+o}function fe(e){return!V(e.groupOffsetTree)}const he={offsetHeight:"height",offsetWidth:"width"},ge=n.system((([{log:e}])=>{const o=n.stream(),r=n.stream(),i=n.statefulStreamFromEmitter(r,0),s=n.stream(),l=n.statefulStream(0),a=n.statefulStream([]),c=n.statefulStream(void 0),u=n.statefulStream(void 0),m=n.statefulStream(((e,t)=>P(e,he[t]))),d=n.statefulStream(void 0),p={offsetTree:[],sizeTree:N(),groupOffsetTree:N(),lastIndex:0,lastOffset:0,lastSize:0,groupIndices:[]},f=n.statefulStreamFromEmitter(n.pipe(o,n.withLatestFrom(a,e),n.scan(me,p),n.distinctUntilChanged()),p);n.connect(n.pipe(a,n.filter((e=>e.length>0)),n.withLatestFrom(f),n.map((([e,o])=>{const n=e.reduce(((e,t,n)=>j(e,t,de(t,o.offsetTree)||n)),N());return t(t({},o),{},{groupIndices:e,groupOffsetTree:n})}))),f),n.connect(n.pipe(r,n.withLatestFrom(f),n.filter((([e,{lastIndex:t}])=>e<t)),n.map((([e,{lastIndex:t,lastSize:o}])=>[{startIndex:e,endIndex:t,size:o}]))),o),n.connect(c,u);const h=n.statefulStreamFromEmitter(n.pipe(c,n.map((e=>void 0===e))),!0);n.connect(n.pipe(u,n.filter((e=>void 0!==e&&V(n.getValue(f).sizeTree))),n.map((e=>[{startIndex:0,endIndex:0,size:e}]))),o);const g=n.streamFromEmitter(n.pipe(o,n.withLatestFrom(f),n.scan((({sizes:e},[t,o])=>({changed:o!==e,sizes:o})),{changed:!1,sizes:p}),n.map((e=>e.changed))));n.connect(n.pipe(l,n.scan(((e,t)=>({diff:e.prev-t,prev:t})),{diff:0,prev:0}),n.map((e=>e.diff)),n.filter((e=>e>0))),s),n.subscribe(n.pipe(l,n.withLatestFrom(e)),(([e,t])=>{e<0&&t("`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:l},R.ERROR)}));const I=n.streamFromEmitter(s);return n.connect(n.pipe(s,n.withLatestFrom(f),n.map((([e,t])=>{if(t.groupIndices.length>0)throw new Error("Virtuoso: prepending items does not work with groups");return Y(t.sizeTree).reduce(((t,{k:o,v:n})=>({ranges:[...t.ranges,{startIndex:t.prevIndex,endIndex:o+e-1,size:t.prevSize}],prevIndex:o+e,prevSize:n})),{ranges:[],prevIndex:0,prevSize:t.lastSize}).ranges}))),o),{data:d,totalCount:r,sizeRanges:o,groupIndices:a,defaultItemSize:u,fixedItemSize:c,unshiftWith:s,beforeUnshiftWith:I,firstItemIndex:l,sizes:f,listRefresh:g,statefulTotalCount:i,trackItemSizes:h,itemSize:m}}),n.tup(F),{singleton:!0}),Ie="undefined"!=typeof document&&"scrollBehavior"in document.documentElement.style;function ve(e){const t="number"==typeof e?{index:e}:e;return t.align||(t.align="start"),t.behavior&&Ie||(t.behavior="auto"),t.offset||(t.offset=0),t}const Se=n.system((([{sizes:e,totalCount:t,listRefresh:o},{scrollingInProgress:r,viewportHeight:i,scrollTo:s,smoothScrollTargetReached:l,headerHeight:a,footerHeight:c},{log:u}])=>{const m=n.stream(),d=n.statefulStream(0);let p=null,f=null,h=null;function g(){p&&(p(),p=null),h&&(h(),h=null),f&&(clearTimeout(f),f=null),n.publish(r,!1)}return n.connect(n.pipe(m,n.withLatestFrom(e,i,t,d,a,c,u),n.map((([e,t,i,s,a,c,u,d])=>{const I=ve(e),{align:v,behavior:S,offset:x}=I,T=s-1;let C=I.index;"LAST"===C&&(C=T),C=pe(C,t),C=Math.max(0,C,Math.min(T,C));let w=de(C,t.offsetTree)+c;"end"===v?(w=w-i+_(t.sizeTree,C)[1],C===T&&(w+=u)):"center"===v?w=w-i/2+_(t.sizeTree,C)[1]/2:w-=a,x&&(w+=x);const b=t=>{g(),t?(d("retrying to scroll to",{location:e},R.DEBUG),n.publish(m,e)):d("list did not change, scroll successful",{},R.DEBUG)};if(g(),"smooth"===S){let e=!1;h=n.subscribe(o,(t=>{e=e||t})),p=n.handleNext(l,(()=>{b(e)}))}else p=n.handleNext(n.pipe(o,(y=50,e=>{const t=setTimeout((()=>{e(!1)}),y);return o=>{o&&(e(!0),clearTimeout(t))}})),b);var y;return f=setTimeout((()=>{g()}),1200),n.publish(r,!0),d("scrolling from index to",{index:C,top:w,behavior:S},R.DEBUG),{top:w,behavior:S}}))),s),{scrollToIndex:m,topListHeight:d}}),n.tup(ge,G,F),{singleton:!0});const xe="up",Te={atBottom:!1,notAtBottomBecause:"NOT_SHOWING_LAST_ITEM",state:{offsetBottom:0,scrollTop:0,viewportHeight:0,scrollHeight:0}},Ce=n.system((([{scrollContainerState:e,scrollTop:t,viewportHeight:o,headerHeight:r,footerHeight:i,scrollBy:s}])=>{const l=n.statefulStream(!1),a=n.statefulStream(!0),c=n.stream(),u=n.stream(),m=n.statefulStream(4),d=n.streamFromEmitter(n.pipe(n.merge(n.pipe(n.duc(t),n.skip(1),n.mapTo(!0)),n.pipe(n.duc(t),n.skip(1),n.mapTo(!1),n.debounceTime(100))),n.distinctUntilChanged())),p=n.statefulStreamFromEmitter(n.pipe(n.merge(n.pipe(s,n.mapTo(!0)),n.pipe(s,n.mapTo(!1),n.debounceTime(200))),n.distinctUntilChanged()),!1);n.connect(n.pipe(n.duc(t),n.map((e=>0===e)),n.distinctUntilChanged()),a),n.connect(a,u);const f=n.streamFromEmitter(n.pipe(n.combineLatest(e,n.duc(o),n.duc(r),n.duc(i),n.duc(m)),n.scan(((e,[[t,o],n,r,i,s])=>{const l={viewportHeight:n,scrollTop:t,scrollHeight:o};if(t+n-o>-s){let o,n;return t>e.state.scrollTop?(o="SCROLLED_DOWN",n=e.state.scrollTop-t):(o="SIZE_DECREASED",n=e.state.scrollTop-t||e.scrollTopDelta),{atBottom:!0,state:l,atBottomBecause:o,scrollTopDelta:n}}let a;return a=l.scrollHeight>e.state.scrollHeight?"SIZE_INCREASED":n<e.state.viewportHeight?"VIEWPORT_HEIGHT_DECREASING":t<e.state.scrollTop?"SCROLLING_UPWARDS":"NOT_FULLY_SCROLLED_TO_LAST_ITEM_BOTTOM",{atBottom:!1,notAtBottomBecause:a,state:l}}),Te),n.distinctUntilChanged(((e,t)=>e&&e.atBottom===t.atBottom)))),h=n.statefulStreamFromEmitter(n.pipe(e,n.scan(((e,[t,o])=>e.scrollHeight!==o?e.scrollTop!==t?{scrollHeight:o,scrollTop:t,jump:e.scrollTop-t,changed:!0}:{scrollHeight:o,scrollTop:t,jump:0,changed:!0}:{scrollTop:t,scrollHeight:o,jump:0,changed:!1}),{scrollHeight:0,jump:0,scrollTop:0,changed:!1}),n.filter((e=>e.changed)),n.map((e=>e.jump))),0);n.connect(n.pipe(f,n.map((e=>e.atBottom))),l),n.subscribe(l,(e=>{setTimeout((()=>n.publish(c,e)))}));const g=n.statefulStream("down");n.subscribe(l,(e=>{setTimeout((()=>{n.publish(c,e)}))})),n.connect(n.pipe(e,n.map((([e])=>e)),n.distinctUntilChanged(),n.scan(((e,t)=>n.getValue(p)?{direction:e.direction,prevScrollTop:t}:{direction:t<e.prevScrollTop?xe:"down",prevScrollTop:t}),{direction:"down",prevScrollTop:0}),n.map((e=>e.direction))),g),n.connect(n.pipe(e,n.throttleTime(50),n.mapTo("none")),g),n.connect(l,c);const I=n.statefulStream(0);return n.connect(n.pipe(d,n.filter((e=>!e)),n.mapTo(0)),I),n.connect(n.pipe(t,n.throttleTime(100),n.withLatestFrom(d),n.filter((([e,t])=>!!t)),n.scan((([e,t],[o])=>[t,o]),[0,0]),n.map((([e,t])=>t-e))),I),{isScrolling:d,isAtTop:a,isAtBottom:l,atBottomState:f,atTopStateChange:u,atBottomStateChange:c,scrollDirection:g,atBottomThreshold:m,scrollVelocity:I,lastJumpDueToItemResize:h}}),n.tup(G)),we=n.system((([{log:e}])=>{const t=n.statefulStream(!1),o=n.streamFromEmitter(n.pipe(t,n.filter((e=>e)),n.distinctUntilChanged()));return n.subscribe(t,(t=>{t&&r(e)("props updated",{},R.DEBUG)})),{propsReady:t,didMount:o}}),i(F),{singleton:!0}),be=n.system((([{sizes:e,listRefresh:t,defaultItemSize:o},{scrollTop:r},{scrollToIndex:i},{didMount:s}])=>{const l=n.statefulStream(!0),a=n.statefulStream(0);return n.connect(n.pipe(s,n.withLatestFrom(a),n.filter((([e,t])=>0!==t)),n.mapTo(!1)),l),n.subscribe(n.pipe(n.combineLatest(t,s),n.withLatestFrom(l,e,o),n.filter((([[,e],t,{sizeTree:o},n])=>e&&(!V(o)||void 0!==n)&&!t)),n.withLatestFrom(a)),(([,e])=>{setTimeout((()=>{n.handleNext(r,(()=>{n.publish(l,!0)})),n.publish(i,e)}))})),{scrolledToInitialItem:l,initialTopMostItemIndex:a}}),n.tup(ge,G,Se,we),{singleton:!0});function ye(e){return!!e&&("smooth"===e?"smooth":"auto")}const Ee=n.system((([{totalCount:e,listRefresh:t},{isAtBottom:o,atBottomState:r},{scrollToIndex:i},{scrolledToInitialItem:s},{propsReady:l,didMount:a},{log:c},{scrollingInProgress:u}])=>{const m=n.statefulStream(!1);let d=null;function p(e){n.publish(i,{index:"LAST",align:"end",behavior:e})}return n.subscribe(n.pipe(n.combineLatest(n.pipe(n.duc(e),n.skip(1)),a),n.withLatestFrom(n.duc(m),o,s,u),n.map((([[e,t],o,n,r,i])=>{let s=t&&r,l="auto";return s&&(l=((e,t)=>"function"==typeof e?ye(e(t)):t&&ye(e))(o,n||i),s=s&&!!l),{totalCount:e,shouldFollow:s,followOutputBehavior:l}})),n.filter((({shouldFollow:e})=>e))),(({totalCount:e,followOutputBehavior:o})=>{d&&(d(),d=null),d=n.handleNext(t,(()=>{n.getValue(c)("following output to ",{totalCount:e},R.DEBUG),p(o),d=null}))})),n.subscribe(n.pipe(n.combineLatest(n.duc(m),e,l),n.filter((([e,,t])=>e&&t)),n.scan((({value:e},[,t])=>({refreshed:e===t,value:t})),{refreshed:!1,value:0}),n.filter((({refreshed:e})=>e)),n.withLatestFrom(m,e)),(([,e])=>{const t=n.handleNext(r,(t=>{!e||t.atBottom||"SIZE_INCREASED"!==t.notAtBottomBecause||d||(n.getValue(c)("scrolling to bottom due to increased size",{},R.DEBUG),p("auto"))}));setTimeout(t,100)})),n.subscribe(n.combineLatest(n.duc(m),r),(([e,t])=>{e&&!t.atBottom&&"VIEWPORT_HEIGHT_DECREASING"===t.notAtBottomBecause&&p("auto")})),{followOutput:m}}),n.tup(ge,Ce,Se,be,we,F,G));function ze(e){return e.reduce(((e,t)=>(e.groupIndices.push(e.totalCount),e.totalCount+=t+1,e)),{totalCount:0,groupIndices:[]})}const He=s((([{totalCount:e,groupIndices:t,sizes:o},{scrollTop:n,headerHeight:r}])=>{const i=l(),s=l(),g=a(c(i,u(ze)));return m(c(g,u(d("totalCount"))),e),m(c(g,u(d("groupIndices"))),t),m(c(p(n,o,r),f((([e,t])=>fe(t))),u((([e,t,o])=>_(t.groupOffsetTree,Math.max(e-o,0),"v")[0])),h(),u((e=>[e]))),s),{groupCounts:i,topItemsIndexes:s}}),i(ge,G));function Le(e,t){return!(!e||e[0]!==t[0]||e[1]!==t[1])}function Re(e,t){return!(!e||e.startIndex!==t.startIndex||e.endIndex!==t.endIndex)}function ke(e,t,o){return"number"==typeof e?o===xe&&"top"===t||"down"===o&&"bottom"===t?e:0:o===xe?"top"===t?e.main:e.reverse:"bottom"===t?e.main:e.reverse}function Fe(e,t){return"number"==typeof e?e:e[t]||0}const Be=n.system((([{scrollTop:e,viewportHeight:t,deviation:o,headerHeight:r}])=>{const i=n.stream(),s=n.statefulStream(0),l=n.statefulStream(0),a=n.statefulStream(0),c=n.statefulStream(0);return{listBoundary:i,overscan:c,topListHeight:s,fixedHeaderHeight:l,increaseViewportBy:a,visibleRange:n.statefulStreamFromEmitter(n.pipe(n.combineLatest(n.duc(e),n.duc(t),n.duc(r),n.duc(i,Le),n.duc(c),n.duc(s),n.duc(l),n.duc(o),n.duc(a)),n.map((([e,t,o,[n,r],i,s,l,a,c])=>{const u=e-a,m=s+l,d=Math.max(o-u,0);let p="none";const f=Fe(c,"top"),h=Fe(c,"bottom");return n-=a,r+=o,(n+=o)>e+m-f&&(p=xe),(r-=a)<e-d+t+h&&(p="down"),"none"!==p?[Math.max(u-o-ke(i,"top",p)-f,0),u-d-l+t+ke(i,"bottom",p)+h]:null})),n.filter((e=>null!=e)),n.distinctUntilChanged(Le)),[0,0])}}),n.tup(G),{singleton:!0});const Oe={items:[],topItems:[],offsetTop:0,offsetBottom:0,top:0,bottom:0,topListHeight:0,totalCount:0};function Me(e,o,n){if(0===e.length)return[];if(!fe(o))return e.map((e=>t(t({},e),{},{index:e.index+n,originalIndex:e.index})));const r=e[0].index,i=e[e.length-1].index,s=[],l=ee(o.groupOffsetTree,r,i);let a,c=0;for(const r of e){let e;(!a||a.end<r.index)&&(a=l.shift(),c=o.groupIndices.indexOf(a.start)),e=r.index===a.start?{type:"group",index:c}:{index:r.index-(c+1)+n,groupIndex:c},s.push(t(t({},e),{},{size:r.size,offset:r.offset,originalIndex:r.index,data:r.data}))}return s}function Pe(e,t,o,n,r){const{lastSize:i,lastOffset:s,lastIndex:l}=n;let a=0,c=0;if(e.length>0){a=e[0].offset;const t=e[e.length-1];c=t.offset+t.size}const u=a,m=s+(o-l)*i-c;return{items:Me(e,n,r),topItems:Me(t,n,r),topListHeight:t.reduce(((e,t)=>t.size+e),0),offsetTop:a,offsetBottom:m,top:u,bottom:c,totalCount:o}}const Ue=n.system((([{sizes:e,totalCount:o,data:r,firstItemIndex:i},s,{visibleRange:l,listBoundary:a,topListHeight:c},{scrolledToInitialItem:u,initialTopMostItemIndex:m},{topListHeight:d},p,{didMount:f}])=>{const h=n.statefulStream([]),g=n.stream();n.connect(s.topItemsIndexes,h);const I=n.statefulStreamFromEmitter(n.pipe(n.combineLatest(f,n.duc(l),n.duc(o),n.duc(e),n.duc(m),u,n.duc(h),n.duc(i),r),n.filter((([e])=>e)),n.map((([,[e,t],o,r,i,s,l,a,c])=>{const u=r,{sizeTree:m,offsetTree:d}=u;if(0===o||0===e&&0===t)return Oe;if(V(m))return Pe(function(e,t,o){if(fe(t)){const n=pe(e,t);return[{index:_(t.groupOffsetTree,n)[0],size:0,offset:0},{index:n,size:0,offset:0,data:o&&o[0]}]}return[{index:e,size:0,offset:0,data:o&&o[0]}]}(i,u,c),[],o,u,a);const p=[];if(l.length>0){const e=l[0],t=l[l.length-1];let o=0;for(const n of ee(m,e,t)){const r=n.value,i=Math.max(n.start,e),s=Math.min(n.end,t);for(let e=i;e<=s;e++)p.push({index:e,size:r,offset:o,data:c&&c[e]}),o+=r}}if(!s)return Pe([],p,o,u,a);const f=l.length>0?l[l.length-1]+1:0,h=ue(d,e,t,f);if(0===h.length)return null;const g=o-1;return Pe(n.tap([],(o=>{for(const n of h){const r=n.value;let i=r.offset,s=n.start;const l=r.size;r.offset<e&&(s+=Math.floor((e-r.offset)/l),i+=(s-n.start)*l),s<f&&(i+=(f-s)*l,s=f);const a=Math.min(n.end,g);for(let e=s;e<=a&&!(i>=t);e++)o.push({index:e,size:l,offset:i,data:c&&c[e]}),i+=l}})),p,o,u,a)})),n.filter((e=>null!==e)),n.distinctUntilChanged()),Oe);n.connect(n.pipe(r,n.filter((e=>void 0!==e)),n.map((e=>e.length))),o),n.connect(n.pipe(I,n.map(n.prop("topListHeight"))),d),n.connect(d,c),n.connect(n.pipe(I,n.map((e=>[e.top,e.bottom]))),a),n.connect(n.pipe(I,n.map((e=>e.items))),g);const v=n.streamFromEmitter(n.pipe(I,n.filter((({items:e})=>e.length>0)),n.withLatestFrom(o,r),n.filter((([{items:e},t])=>e[e.length-1].originalIndex===t-1)),n.map((([,e,t])=>[e-1,t])),n.distinctUntilChanged(Le),n.map((([e])=>e)))),S=n.streamFromEmitter(n.pipe(I,n.throttleTime(200),n.filter((({items:e,topItems:t})=>e.length>0&&e[0].originalIndex===t.length)),n.map((({items:e})=>e[0].index)),n.distinctUntilChanged())),x=n.streamFromEmitter(n.pipe(I,n.filter((({items:e})=>e.length>0)),n.map((({items:e})=>({startIndex:e[0].index,endIndex:e[e.length-1].index}))),n.distinctUntilChanged(Re)));return t({listState:I,topItemsIndexes:h,endReached:v,startReached:S,rangeChanged:x,itemsRendered:g},p)}),n.tup(ge,He,Be,be,Se,Ce,we),{singleton:!0}),Ge=n.system((([{sizes:e,firstItemIndex:t,data:o},{listState:r},{didMount:i}])=>{const s=n.statefulStream(0);return n.connect(n.pipe(i,n.withLatestFrom(s),n.filter((([,e])=>0!==e)),n.withLatestFrom(e,t,o),n.map((([[,e],t,o,n=[]])=>{let r=0;if(t.groupIndices.length>0)for(const o of t.groupIndices){if(o-r>=e)break;r++}const i=e+r;return Pe(Array.from({length:i}).map(((e,t)=>({index:t,size:0,offset:0,data:n[t]}))),[],i,t,o)}))),r),{initialItemCount:s}}),n.tup(ge,Ue,we),{singleton:!0}),Ae=n.system((([{scrollVelocity:e}])=>{const t=n.statefulStream(!1),o=n.stream(),r=n.statefulStream(!1);return n.connect(n.pipe(e,n.withLatestFrom(r,t,o),n.filter((([e,t])=>!!t)),n.map((([e,t,o,n])=>{const{exit:r,enter:i}=t;if(o){if(r(e,n))return!1}else if(i(e,n))return!0;return o})),n.distinctUntilChanged()),t),n.subscribe(n.pipe(n.combineLatest(t,e,o),n.withLatestFrom(r)),(([[e,t,o],n])=>e&&n&&n.change&&n.change(t,o))),{isSeeking:t,scrollSeekConfiguration:r,scrollVelocity:e,scrollSeekRangeChanged:o}}),n.tup(Ce),{singleton:!0}),De=s((([{topItemsIndexes:e}])=>{const t=g(0);return m(c(t,f((e=>e>0)),u((e=>Array.from({length:e}).map(((e,t)=>t))))),e),{topItemCount:t}}),i(Ue)),Ve=n.system((([{footerHeight:e,headerHeight:t},{listState:o}])=>{const r=n.stream(),i=n.statefulStreamFromEmitter(n.pipe(n.combineLatest(e,t,o),n.map((([e,t,o])=>e+t+o.offsetBottom+o.bottom))),0);return n.connect(n.duc(i),r),{totalListHeight:i,totalListHeightChanged:r}}),n.tup(G,Ue),{singleton:!0}),Ne=n.system((([{scrollBy:e,scrollTop:t,deviation:o,scrollingInProgress:r},{isScrolling:i,isAtBottom:s,atBottomState:l,scrollDirection:a,lastJumpDueToItemResize:c},{listState:u},{beforeUnshiftWith:m,sizes:d},{log:p}])=>{const f=n.streamFromEmitter(n.pipe(u,n.withLatestFrom(c),n.scan((([,e,t],[{items:o,totalCount:n},r])=>{let i=0;if(t===n){if(e.length>0&&o.length>0){const t=o[0].originalIndex,n=e[0].originalIndex,r=0===t&&0===n,s=1===o.length;if(!r)for(let t=o.length-1;t>=0;t--){const n=o[t],r=e.find((e=>e.originalIndex===n.originalIndex));if(r&&(n.offset!==r.offset||s)){i=n.offset-r.offset+n.size-r.size;break}}}0!==i&&(i+=r)}return[i,o,n]}),[0,[],0]),n.filter((([e])=>0!==e)),n.withLatestFrom(t,a,r,p,s,l),n.filter((([,e,t,o])=>!o&&0!==e&&t===xe)),n.map((([[e],,,,t])=>(t("Upward scrolling compensation",{amount:e},R.DEBUG),e)))));return n.connect(n.pipe(f,n.withLatestFrom(o),n.map((([e,t])=>t-e))),o),n.subscribe(n.pipe(n.combineLatest(n.statefulStreamFromEmitter(i,!1),o),n.filter((([e,t])=>!e&&0!==t)),n.map((([e,t])=>t)),n.throttleTime(1)),(t=>{t>0?(n.publish(e,{top:-t,behavior:"auto"}),n.publish(o,0)):(n.publish(o,0),n.publish(e,{top:-t,behavior:"auto"}))})),n.connect(n.pipe(m,n.withLatestFrom(d),n.map((([e,{lastSize:t}])=>e*t))),f),{deviation:o}}),n.tup(G,Ce,Ue,ge,F)),We=n.system((([{totalListHeight:e},{didMount:t},{scrollTo:o}])=>{const r=n.statefulStream(0);return n.subscribe(n.pipe(t,n.withLatestFrom(r),n.filter((([,e])=>0!==e)),n.map((([,e])=>({top:e})))),(t=>{n.handleNext(n.pipe(e,n.filter((e=>0!==e))),(()=>{setTimeout((()=>{n.publish(o,t)}))}))})),{initialScrollTop:r}}),n.tup(Ve,we,G),{singleton:!0}),_e=n.system((([{viewportHeight:e},{totalListHeight:t}])=>{const o=n.statefulStream(!1);return{alignToBottom:o,paddingTopAddition:n.statefulStreamFromEmitter(n.pipe(n.combineLatest(o,e,t),n.filter((([e])=>e)),n.map((([,e,t])=>Math.max(0,e-t))),n.distinctUntilChanged()),0)}}),n.tup(G,Ve),{singleton:!0}),je=n.system((([{scrollTo:e,scrollContainerState:o}])=>{const r=n.stream(),i=n.stream(),s=n.stream(),l=n.statefulStream(!1),a=n.statefulStream(void 0);return n.connect(n.pipe(n.combineLatest(r,i),n.map((([[e,t],{offsetTop:o}])=>[Math.max(0,e-o),t]))),o),n.connect(n.pipe(e,n.withLatestFrom(i),n.map((([e,{offsetTop:o}])=>t(t({},e),{},{top:e.top+o})))),s),{useWindowScroll:l,customScrollParent:a,windowScrollContainerState:r,windowViewportRect:i,windowScrollTo:s}}),n.tup(G)),$e=n.system((([{sizes:e,totalCount:t},{scrollTop:o,viewportHeight:r,headerHeight:i,scrollingInProgress:s},{scrollToIndex:l}])=>{const a=n.stream();return n.connect(n.pipe(a,n.withLatestFrom(e,r,t,i,o),n.map((([{index:e,behavior:t="auto",done:o},r,i,l,a,c])=>{const u=l-1;let m=null;e=pe(e,r);const d=de(e=Math.max(0,e,Math.min(u,e)),r.offsetTree)+a;if(d<c)m={index:e,behavior:t,align:"start"};else{d+_(r.sizeTree,e)[1]>c+i&&(m={index:e,behavior:t,align:"end"})}return m?o&&n.handleNext(n.pipe(s,n.skip(1),n.filter((e=>!1===e))),o):o&&o(),m})),n.filter((e=>null!==e))),l),{scrollIntoView:a}}),n.tup(ge,G,Se,Ue,F),{singleton:!0}),Ye=n.system((([e,o,n,r,i,s,l,a,c])=>t(t(t(t(t(t(t(t(t({},e),o),n),r),i),s),l),a),c)),n.tup(Be,Ge,we,Ae,Ve,We,_e,je,$e)),Ke=n.system((([{totalCount:o,sizeRanges:r,fixedItemSize:i,defaultItemSize:s,trackItemSizes:l,itemSize:a,data:c,firstItemIndex:u,groupIndices:m,statefulTotalCount:d},{initialTopMostItemIndex:p,scrolledToInitialItem:f},h,g,I,{scrollToIndex:v},S,{topItemCount:x},{groupCounts:T},C,w])=>{let{listState:b,topItemsIndexes:y}=I,E=e(I,["listState","topItemsIndexes"]);return n.connect(E.rangeChanged,C.scrollSeekRangeChanged),n.connect(n.pipe(C.windowViewportRect,n.map(n.prop("visibleHeight"))),h.viewportHeight),t(t(t(t(t({totalCount:o,data:c,firstItemIndex:u,sizeRanges:r,initialTopMostItemIndex:p,scrolledToInitialItem:f,topItemsIndexes:y,topItemCount:x,groupCounts:T,fixedItemHeight:i,defaultItemHeight:s},g),{},{statefulTotalCount:d,listState:b,scrollToIndex:v,trackItemSizes:l,itemSize:a,groupIndices:m},E),C),h),w)}),n.tup(ge,be,G,Ee,Ue,Se,Ne,De,He,Ye,F));const Ze=function(e){let t,o=!1;return()=>(o||(o=!0,t=e()),t)}((()=>{if("undefined"==typeof document)return"sticky";const e=document.createElement("div");return e.style.position="-webkit-sticky","-webkit-sticky"===e.style.position?"-webkit-sticky":"sticky"}));function Je(e,t){const o=E(null),n=z((n=>{if(null===n)return;const r=n.getBoundingClientRect(),i=r.width;let s,l;if(t){const e=t.getBoundingClientRect(),o=r.top-e.top;s=e.height-Math.max(0,o),l=o+t.scrollTop}else s=window.innerHeight-Math.max(0,r.top),l=r.top+window.pageYOffset;o.current={offsetTop:l,visibleHeight:s,visibleWidth:i},e(o.current)}),[e,t]),{callbackRef:r,ref:i}=B(n),s=z((()=>{n(i.current)}),[n,i]);return y((()=>{if(t){t.addEventListener("scroll",s);const e=new ResizeObserver(s);return e.observe(t),()=>{t.removeEventListener("scroll",s),e.unobserve(t)}}return window.addEventListener("scroll",s),window.addEventListener("resize",s),()=>{window.removeEventListener("scroll",s),window.removeEventListener("resize",s)}}),[s,t]),r}function qe(e){return e}const Qe=s((()=>{const e=g((e=>`Item ${e}`)),t=g(null),o=g((e=>`Group ${e}`)),n=g({}),r=g(qe),i=g("div"),s=g(I),l=(e,t=null)=>x(c(n,u((t=>t[e])),h()),t);return{context:t,itemContent:e,groupContent:o,components:n,computeItemKey:r,headerFooterTag:i,scrollerRef:s,FooterComponent:l("Footer"),HeaderComponent:l("Header"),TopItemListComponent:l("TopItemList"),ListComponent:l("List","div"),ItemComponent:l("Item","div"),GroupComponent:l("Group","div"),ScrollerComponent:l("Scroller","div"),EmptyPlaceholder:l("EmptyPlaceholder"),ScrollSeekPlaceholder:l("ScrollSeekPlaceholder")}}));function Xe(e,t){const o=l();return v(o,(()=>console.warn(`react-virtuoso: You are using a deprecated property. ${t}`,"color: red;","color: inherit;","color: blue;"))),m(o,e),o}const et=s((([o,n])=>{const i={item:Xe(n.itemContent,"Rename the %citem%c prop to %citemContent."),group:Xe(n.groupContent,"Rename the %cgroup%c prop to %cgroupContent."),topItems:Xe(o.topItemCount,"Rename the %ctopItems%c prop to %ctopItemCount."),itemHeight:Xe(o.fixedItemHeight,"Rename the %citemHeight%c prop to %cfixedItemHeight."),scrollingStateChange:Xe(o.isScrolling,"Rename the %cscrollingStateChange%c prop to %cisScrolling."),adjustForPrependedItems:l(),maxHeightCacheSize:l(),footer:l(),header:l(),HeaderContainer:l(),FooterContainer:l(),ItemContainer:l(),ScrollContainer:l(),GroupContainer:l(),ListContainer:l(),emptyComponent:l(),scrollSeek:l()};function s(e,o,r){m(c(e,T(n.components),u((([e,n])=>(console.warn(`react-virtuoso: ${r} property is deprecated. Pass components.${o} instead.`),t(t({},n),{},{[o]:e}))))),n.components)}return v(i.adjustForPrependedItems,(()=>{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;")})),v(i.maxHeightCacheSize,(()=>{console.warn("react-virtuoso: maxHeightCacheSize is no longer necessary. Setting it has no effect - remove it from your code.")})),v(i.HeaderContainer,(()=>{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.")})),v(i.FooterContainer,(()=>{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.")})),v(i.scrollSeek,(i=>{let{placeholder:s}=i,l=e(i,["placeholder"]);console.warn("react-virtuoso: scrollSeek property is deprecated. Pass scrollSeekConfiguration and specify the placeholder in components.ScrollSeekPlaceholder instead."),S(n.components,t(t({},r(n.components)),{},{ScrollSeekPlaceholder:s})),S(o.scrollSeekConfiguration,l)})),s(i.footer,"Footer","footer"),s(i.header,"Header","header"),s(i.ItemContainer,"Item","ItemContainer"),s(i.ListContainer,"List","ListContainer"),s(i.ScrollContainer,"Scroller","ScrollContainer"),s(i.emptyComponent,"EmptyPlaceholder","emptyComponent"),s(i.GroupContainer,"Group","GroupContainer"),t(t(t({},o),n),i)}),i(Ke,Qe)),tt=({height:e})=>w.createElement("div",{style:{height:e}}),ot={position:Ze(),zIndex:1,overflowAnchor:"none"},nt=w.memo((function({showTopList:e=!1}){const o=vt("listState"),n=vt("deviation"),r=It("sizeRanges"),i=vt("useWindowScroll"),s=vt("customScrollParent"),l=It("windowScrollContainerState"),a=It("scrollContainerState"),c=s||i?l:a,u=vt("itemContent"),m=vt("context"),d=vt("groupContent"),p=vt("trackItemSizes"),f=vt("itemSize"),h=vt("log"),g=M(r,f,p,e?I:c,h,s),v=vt("EmptyPlaceholder"),S=vt("ScrollSeekPlaceholder")||tt,x=vt("ListComponent"),T=vt("ItemComponent"),C=vt("GroupComponent"),w=vt("computeItemKey"),b=vt("isSeeking"),y=vt("groupIndices").length>0,E=vt("paddingTopAddition"),z=vt("firstItemIndex"),L=vt("statefulTotalCount"),R=e?{}:{boxSizing:"border-box",paddingTop:o.offsetTop+E,paddingBottom:o.offsetBottom,marginTop:n};return!e&&0===L&&v?H(v,lt(v,m)):H(x,t(t({},lt(x,m)),{},{ref:g,style:R,"data-test-id":e?"virtuoso-top-item-list":"virtuoso-item-list"}),(e?o.topItems:o.items).map((e=>{const o=e.originalIndex,n=w(o+z,e.data,m);return b?H(S,t(t({},lt(S,m)),{},{key:n,index:e.index,height:e.size,type:e.type||"item"},"group"===e.type?{}:{groupIndex:e.groupIndex})):"group"===e.type?H(C,t(t({},lt(C,m)),{},{key:n,"data-index":o,"data-known-size":e.size,"data-item-index":e.index,style:ot}),d(e.index)):H(T,t(t({},lt(T,m)),{},{key:n,"data-index":o,"data-known-size":e.size,"data-item-index":e.index,"data-item-group-index":e.groupIndex,style:{overflowAnchor:"none"}}),y?u(e.index,e.groupIndex,e.data,m):u(e.index,e.data,m))})))})),rt={height:"100%",outline:"none",overflowY:"auto",position:"relative",WebkitOverflowScrolling:"touch"},it={width:"100%",height:"100%",position:"absolute",top:0},st={width:"100%",position:Ze(),top:0};function lt(e,t){if("string"!=typeof e)return{context:t}}const at=w.memo((function(){const e=vt("HeaderComponent"),t=It("headerHeight"),o=vt("headerFooterTag"),n=O((e=>t(P(e,"height")))),r=vt("context");return e?H(o,{ref:n},H(e,lt(e,r))):null})),ct=w.memo((function(){const e=vt("FooterComponent"),t=It("footerHeight"),o=vt("headerFooterTag"),n=O((e=>t(P(e,"height")))),r=vt("context");return e?H(o,{ref:n},H(e,lt(e,r))):null}));function ut({usePublisher:o,useEmitter:n,useEmitterValue:r}){return w.memo((function(i){let{style:s,children:l}=i,a=e(i,["style","children"]);const c=o("scrollContainerState"),u=r("ScrollerComponent"),m=o("smoothScrollTargetReached"),d=r("scrollerRef"),p=r("context"),{scrollerRef:f,scrollByCallback:h,scrollToCallback:g}=U(c,m,u,d);return n("scrollTo",g),n("scrollBy",h),H(u,t(t({ref:f,style:t(t({},rt),s),"data-test-id":"virtuoso-scroller","data-virtuoso-scroller":!0,tabIndex:0},a),lt(u,p)),l)}))}function mt({usePublisher:o,useEmitter:n,useEmitterValue:r}){return w.memo((function(i){let{style:s,children:l}=i,a=e(i,["style","children"]);const c=o("windowScrollContainerState"),u=r("ScrollerComponent"),m=o("smoothScrollTargetReached"),d=r("totalListHeight"),p=r("deviation"),f=r("customScrollParent"),h=r("context"),{scrollerRef:g,scrollByCallback:v,scrollToCallback:S}=U(c,m,u,I,f);return L((()=>(g.current=f||window,()=>{g.current=null})),[g,f]),n("windowScrollTo",S),n("scrollBy",v),H(u,t(t({style:t(t({position:"relative"},s),0!==d?{height:d+p}:{}),"data-virtuoso-scroller":!0},a),lt(u,h)),l)}))}const dt=({children:e})=>{const t=It("viewportHeight"),o=O(C(t,(e=>P(e,"height"))));return w.createElement("div",{style:it,ref:o,"data-viewport-type":"element"},e)},pt=({children:e})=>{const t=Je(It("windowViewportRect"),vt("customScrollParent"));return w.createElement("div",{ref:t,style:it,"data-viewport-type":"window"},e)},ft=({children:e})=>{const o=vt("TopItemListComponent"),n=vt("headerHeight"),r=t(t({},st),{},{marginTop:`${n}px`}),i=vt("context");return H(o||"div",{style:r,context:i},e)},ht=w.memo((function(e){const o=vt("useWindowScroll"),n=vt("topItemsIndexes").length>0,r=vt("customScrollParent"),i=r||o?Tt:xt,s=r||o?pt:dt;return w.createElement(i,t({},e),w.createElement(s,null,w.createElement(at,null),w.createElement(nt,null),w.createElement(ct,null)),n&&w.createElement(ft,null,w.createElement(nt,{showTopList:!0})))})),{Component:gt,usePublisher:It,useEmitterValue:vt,useEmitter:St}=o(et,{required:{},optional:{context:"context",followOutput:"followOutput",firstItemIndex:"firstItemIndex",itemContent:"itemContent",groupContent:"groupContent",overscan:"overscan",increaseViewportBy:"increaseViewportBy",totalCount:"totalCount",topItemCount:"topItemCount",initialTopMostItemIndex:"initialTopMostItemIndex",components:"components",groupCounts:"groupCounts",atBottomThreshold:"atBottomThreshold",computeItemKey:"computeItemKey",defaultItemHeight:"defaultItemHeight",fixedItemHeight:"fixedItemHeight",itemSize:"itemSize",scrollSeekConfiguration:"scrollSeekConfiguration",headerFooterTag:"headerFooterTag",data:"data",initialItemCount:"initialItemCount",initialScrollTop:"initialScrollTop",alignToBottom:"alignToBottom",useWindowScroll:"useWindowScroll",customScrollParent:"customScrollParent",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"}},ht),xt=ut({usePublisher:It,useEmitterValue:vt,useEmitter:St}),Tt=mt({usePublisher:It,useEmitterValue:vt,useEmitter:St});export{gt as L,R as a,O as b,lt as c,P as d,ut as e,mt as f,Je as g,G as h,qe as i,Ce as j,Ae as k,Ke as l,Xe as m,ve as n,we as p,Re as r,Be as s,Le as t,M as u,it as v,je as w};
|
|
2
|
+
//# sourceMappingURL=shared.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"shared.mjs","sources":["../src/hooks/useIsomorphicLayoutEffect.ts","../src/loggerSystem.ts","../src/hooks/useSize.ts","../src/hooks/useChangedChildSizes.ts","../src/utils/correctItemSize.ts","../src/hooks/useScrollTop.ts","../src/domIOSystem.ts","../src/AATree.ts","../src/utils/binaryArraySearch.ts","../src/sizeSystem.ts","../src/scrollToIndexSystem.ts","../src/stateFlagsSystem.ts","../src/propsReadySystem.ts","../src/initialTopMostItemIndexSystem.ts","../src/followOutputSystem.ts","../src/groupedListSystem.ts","../src/comparators.tsx","../src/sizeRangeSystem.ts","../src/listStateSystem.ts","../src/initialItemCountSystem.ts","../src/scrollSeekSystem.ts","../src/topItemCountSystem.ts","../src/totalListHeightSystem.ts","../src/upwardScrollFixSystem.ts","../src/initialScrollTopSystem.ts","../src/alignToBottomSystem.ts","../src/windowScrollerSystem.ts","../src/scrollIntoViewSystem.ts","../src/listSystem.ts","../src/utils/positionStickyCssValue.ts","../src/utils/simpleMemoize.ts","../src/hooks/useWindowViewportRect.ts","../src/List.tsx"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"names":["useIsomorphicLayoutEffect","document","useLayoutEffect","useEffect","LogLevel","CONSOLE_METHOD_MAP","DEBUG","INFO","WARN","ERROR","loggerSystem","u","system","logLevel","statefulStream","log","label","message","level","globalThis","window","getValue","console","singleton","useSizeWithElRef","callback","enabled","ref","useRef","callbackRef","_el","ResizeObserver","observer","entries","element","target","offsetParent","elRef","observe","current","unobserve","useSize","useChangedListContentsSizes","itemSize","scrollContainerStateCallback","customScrollParent","el","ranges","children","field","length","results","i","child","item","undefined","dataset","index","parseInt","knownSize","parseFloat","size","lastResult","endIndex","push","startIndex","getChangedChildSizes","scrollableElement","parentElement","scrollTop","firstElementChild","pageYOffset","documentElement","Math","max","scrollHeight","correctItemSize","dimension","round","getBoundingClientRect","useScrollTop","smoothScrollTargetReached","scrollerElement","scrollerRefCallback","noop","scrollerRef","scrollTopTarget","timeoutRef","handler","useCallback","ev","clearTimeout","localRef","addEventListener","passive","removeEventListener","scrollByCallback","location","scrollBy","scrollToCallback","offsetHeight","isSmooth","behavior","innerHeight","maxScrollTop","top","ceil","min","num1","num2","abs","setTimeout","scrollTo","domIOSystem","scrollContainerState","stream","deviation","statefulScrollTop","viewportHeight","headerHeight","footerHeight","scrollingInProgress","connect","pipe","map","NIL_NODE","lvl","newAANode","k","v","l","r","empty","node","newTree","remove","key","lastKey","lastValue","last","adjust","clone","deleteLast","findMaxKeyValue","value","Infinity","insert","rebalance","walkWithin","start","end","result","concat","walk","args","isSingle","split","skew","Error","rl","rlvl","rangesWithin","adjustedStart","arrayToRanges","items","parser","nextIndex","nextValue","findIndexOfClosestSmallerOrEqual","comparator","floor","match","join","findClosestSmallerOrEqual","rangeIncludes","refRange","range","indexComparator","itemIndex","offsetComparator","offset","itemOffset","offsetPointParser","point","rangesWithinOffsets","tree","startOffset","endOffset","minStartIndex","arrayBinarySearch","startValue","endValue","slice","sizeStateReducer","state","groupIndices","sizeTree","offsetTree","newSizeTree","syncStart","groupSize","reduce","groupIndex","overlappingRanges","some","firstPassDone","shouldInsert","rangeStart","rangeEnd","rangeValue","insertRanges","prevIndex","prevSize","prevAOffset","startAIndex","kv","aOffset","groupOffsetTree","offsetOf","lastIndex","lastOffset","lastSize","originalIndexFromItemIndex","sizes","hasGroups","groupOffset","SIZE_MAP","offsetWidth","sizeSystem","sizeRanges","totalCount","statefulTotalCount","statefulStreamFromEmitter","unshiftWith","firstItemIndex","fixedItemSize","defaultItemSize","data","initial","withLatestFrom","scan","distinctUntilChanged","filter","indexes","idx","trackItemSizes","listRefresh","streamFromEmitter","oldSizes","_","newSizes","changed","prev","next","diff","val","subscribe","beforeUnshiftWith","acc","tup","SUPPORTS_SCROLL_TO_OPTIONS","style","normalizeIndexLocation","align","scrollToIndexSystem","scrollToIndex","topListHeight","unsubscribeNextListRefresh","cleartTimeoutRef","unsubscribeListRefresh","cleanup","publish","normalLocation","retry","listChanged","handleNext","limit","done","UP","INITIAL_BOTTOM_STATE","atBottom","notAtBottomBecause","offsetBottom","stateFlagsSystem","isAtBottom","isAtTop","atBottomStateChange","atTopStateChange","atBottomThreshold","isScrolling","merge","duc","skip","mapTo","debounceTime","isScrollingBy","atBottomState","combineLatest","_headerHeight","_footerHeight","atBottomBecause","scrollTopDelta","lastJumpDueToItemResize","jump","scrollDirection","direction","prevScrollTop","throttleTime","scrollVelocity","propsReadySystem","propsReady","didMount","ready","initialTopMostItemIndexSystem","scrolledToInitialItem","initialTopMostItemIndex","normalizeFollowOutput","follow","followOutputSystem","followOutput","pendingScrollHandle","scrollToBottom","followOutputBehavior","shouldFollow","behaviorFromFollowOutput","refreshed","cancel","groupCountsToIndicesAndCount","counts","groupCount","groupedListSystem","groupCounts","topItemsIndexes","groupIndicesAndCount","prop","tupleComparator","rangeComparator","getOverscan","overscan","main","reverse","getViewportIncrease","sizeRangeSystem","listBoundary","fixedHeaderHeight","increaseViewportBy","visibleRange","listTop","listBottom","stickyHeaderHeight","headerVisible","topViewportAddition","bottomViewportAddition","EMPTY_LIST_STATE","topItems","offsetTop","bottom","transposeItems","originalIndex","transposedItems","groupRanges","currentRange","currentGroupIndex","transposedItem","shift","indexOf","type","buildListState","lastItem","height","listStateSystem","rangeTopListHeight","stateFlags","itemsRendered","listState","mount","sizesValue","probeItemSet","rangeStartIndex","rangeEndIndex","offsetPointRanges","maxIndex","tap","endReached","count","startReached","rangeChanged","initialItemCountSystem","initialItemCount","includedGroupsCount","adjustedCount","Array","from","scrollSeekSystem","isSeeking","scrollSeekConfiguration","config","speed","exit","enter","velocity","change","scrollSeekRangeChanged","topItemCountSystem","topItemCount","totalListHeightSystem","totalListHeightChanged","totalListHeight","upwardScrollFixSystem","deviationOffset","prevItems","prevTotalCount","newDev","prevFirstItemIndex","atStart","onlyItem","prevItem","find","pItem","amount","is","initialScrollTopSystem","initialScrollTop","alignToBottomSystem","alignToBottom","paddingTopAddition","windowScrollerSystem","windowScrollContainerState","windowViewportRect","windowScrollTo","useWindowScroll","windowScrollTop","scrollIntoViewSystem","scrollIntoView","itemTop","featureGroup1System","sizeRange","scrollSeek","windowScroller","listSystem","domIO","featureGroup1","flags","fixedItemHeight","defaultItemHeight","positionStickyCssValue","func","called","simpleMemoize","createElement","position","useWindowViewportRectRef","viewportInfo","calculateInfo","rect","visibleWidth","width","visibleHeight","customScrollParentRect","deltaTop","scrollAndResizeEventHandler","identity","listComponentPropsSystem","itemContent","context","groupContent","components","computeItemKey","headerFooterTag","distinctProp","propName","defaultValue","FooterComponent","HeaderComponent","TopItemListComponent","ListComponent","ItemComponent","GroupComponent","ScrollerComponent","EmptyPlaceholder","ScrollSeekPlaceholder","addDeprecatedAlias","alias","warn","combinedSystem","propsSystem","deprecatedProps","group","itemHeight","scrollingStateChange","adjustForPrependedItems","maxHeightCacheSize","footer","header","HeaderContainer","FooterContainer","ItemContainer","ScrollContainer","GroupContainer","ListContainer","emptyComponent","deprecateComponentProp","componentName","comp","_ref","placeholder","DefaultScrollSeekPlaceholder","React","GROUP_STYLE","zIndex","overflowAnchor","Items","memo","showTopList","useEmitterValue","usePublisher","windowScrollContainerStateCallback","_scrollContainerStateCallback","containerStyle","boxSizing","paddingTop","paddingBottom","marginTop","contextPropIfNotDomElement","scrollerStyle","outline","overflowY","WebkitOverflowScrolling","viewportStyle","topItemListStyle","Header","Footer","buildScroller","useEmitter","props","tabIndex","buildWindowScroller","Viewport","viewportRef","compose","WindowViewport","TopItemListContainer","TopItemList","ListRoot","TheScroller","WindowScroller","Scroller","TheViewport","Component","List","systemToComponent","required","optional","methods","events"],"mappings":"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"}
|
|
@@ -1,50 +1,50 @@
|
|
|
1
|
-
import * as u from '@virtuoso.dev/urx';
|
|
2
|
-
import { UP, DOWN, ScrollDirection } from './stateFlagsSystem';
|
|
3
|
-
export declare type NumberTuple = [number, number];
|
|
4
|
-
export declare type Overscan = number | {
|
|
5
|
-
main: number;
|
|
6
|
-
reverse: number;
|
|
7
|
-
};
|
|
8
|
-
export declare const TOP: "top";
|
|
9
|
-
export declare const BOTTOM: "bottom";
|
|
10
|
-
export declare const NONE: "none";
|
|
11
|
-
export declare type ListEnd = typeof TOP | typeof BOTTOM;
|
|
12
|
-
export declare type ViewportIncrease = number | {
|
|
13
|
-
[k in ListEnd]?: number;
|
|
14
|
-
};
|
|
15
|
-
export declare type ChangeDirection = typeof UP | typeof DOWN | typeof NONE;
|
|
16
|
-
export declare function getOverscan(overscan: Overscan, end: ListEnd, direction: ScrollDirection): number;
|
|
17
|
-
export declare const sizeRangeSystem: u.SystemSpec<[u.SystemSpec<never[], () => {
|
|
18
|
-
scrollContainerState: u.Stream<[number, number]>;
|
|
19
|
-
scrollTop: u.Stream<number>;
|
|
20
|
-
viewportHeight: u.Stream<number>;
|
|
21
|
-
headerHeight: u.StatefulStream<number>;
|
|
22
|
-
footerHeight: u.StatefulStream<number>;
|
|
23
|
-
scrollHeight: u.Stream<number>;
|
|
24
|
-
smoothScrollTargetReached: u.Stream<true>;
|
|
25
|
-
scrollTo: u.Stream<ScrollToOptions>;
|
|
26
|
-
scrollBy: u.Stream<ScrollToOptions>;
|
|
27
|
-
statefulScrollTop: u.StatefulStream<number>;
|
|
28
|
-
deviation: u.StatefulStream<number>;
|
|
29
|
-
scrollingInProgress: u.StatefulStream<boolean>;
|
|
30
|
-
}>], ([{ scrollTop, viewportHeight, deviation, headerHeight }]: [{
|
|
31
|
-
scrollContainerState: u.Stream<[number, number]>;
|
|
32
|
-
scrollTop: u.Stream<number>;
|
|
33
|
-
viewportHeight: u.Stream<number>;
|
|
34
|
-
headerHeight: u.StatefulStream<number>;
|
|
35
|
-
footerHeight: u.StatefulStream<number>;
|
|
36
|
-
scrollHeight: u.Stream<number>;
|
|
37
|
-
smoothScrollTargetReached: u.Stream<true>;
|
|
38
|
-
scrollTo: u.Stream<ScrollToOptions>;
|
|
39
|
-
scrollBy: u.Stream<ScrollToOptions>;
|
|
40
|
-
statefulScrollTop: u.StatefulStream<number>;
|
|
41
|
-
deviation: u.StatefulStream<number>;
|
|
42
|
-
scrollingInProgress: u.StatefulStream<boolean>;
|
|
43
|
-
}]) => {
|
|
44
|
-
listBoundary: u.Stream<NumberTuple>;
|
|
45
|
-
overscan: u.StatefulStream<Overscan>;
|
|
46
|
-
topListHeight: u.StatefulStream<number>;
|
|
47
|
-
fixedHeaderHeight: u.StatefulStream<number>;
|
|
48
|
-
increaseViewportBy: u.StatefulStream<ViewportIncrease>;
|
|
49
|
-
visibleRange: u.StatefulStream<NumberTuple>;
|
|
50
|
-
}>;
|
|
1
|
+
import * as u from '@virtuoso.dev/urx';
|
|
2
|
+
import { UP, DOWN, ScrollDirection } from './stateFlagsSystem';
|
|
3
|
+
export declare type NumberTuple = [number, number];
|
|
4
|
+
export declare type Overscan = number | {
|
|
5
|
+
main: number;
|
|
6
|
+
reverse: number;
|
|
7
|
+
};
|
|
8
|
+
export declare const TOP: "top";
|
|
9
|
+
export declare const BOTTOM: "bottom";
|
|
10
|
+
export declare const NONE: "none";
|
|
11
|
+
export declare type ListEnd = typeof TOP | typeof BOTTOM;
|
|
12
|
+
export declare type ViewportIncrease = number | {
|
|
13
|
+
[k in ListEnd]?: number;
|
|
14
|
+
};
|
|
15
|
+
export declare type ChangeDirection = typeof UP | typeof DOWN | typeof NONE;
|
|
16
|
+
export declare function getOverscan(overscan: Overscan, end: ListEnd, direction: ScrollDirection): number;
|
|
17
|
+
export declare const sizeRangeSystem: u.SystemSpec<[u.SystemSpec<never[], () => {
|
|
18
|
+
scrollContainerState: u.Stream<[number, number]>;
|
|
19
|
+
scrollTop: u.Stream<number>;
|
|
20
|
+
viewportHeight: u.Stream<number>;
|
|
21
|
+
headerHeight: u.StatefulStream<number>;
|
|
22
|
+
footerHeight: u.StatefulStream<number>;
|
|
23
|
+
scrollHeight: u.Stream<number>;
|
|
24
|
+
smoothScrollTargetReached: u.Stream<true>;
|
|
25
|
+
scrollTo: u.Stream<ScrollToOptions>;
|
|
26
|
+
scrollBy: u.Stream<ScrollToOptions>;
|
|
27
|
+
statefulScrollTop: u.StatefulStream<number>;
|
|
28
|
+
deviation: u.StatefulStream<number>;
|
|
29
|
+
scrollingInProgress: u.StatefulStream<boolean>;
|
|
30
|
+
}>], ([{ scrollTop, viewportHeight, deviation, headerHeight }]: [{
|
|
31
|
+
scrollContainerState: u.Stream<[number, number]>;
|
|
32
|
+
scrollTop: u.Stream<number>;
|
|
33
|
+
viewportHeight: u.Stream<number>;
|
|
34
|
+
headerHeight: u.StatefulStream<number>;
|
|
35
|
+
footerHeight: u.StatefulStream<number>;
|
|
36
|
+
scrollHeight: u.Stream<number>;
|
|
37
|
+
smoothScrollTargetReached: u.Stream<true>;
|
|
38
|
+
scrollTo: u.Stream<ScrollToOptions>;
|
|
39
|
+
scrollBy: u.Stream<ScrollToOptions>;
|
|
40
|
+
statefulScrollTop: u.StatefulStream<number>;
|
|
41
|
+
deviation: u.StatefulStream<number>;
|
|
42
|
+
scrollingInProgress: u.StatefulStream<boolean>;
|
|
43
|
+
}]) => {
|
|
44
|
+
listBoundary: u.Stream<NumberTuple>;
|
|
45
|
+
overscan: u.StatefulStream<Overscan>;
|
|
46
|
+
topListHeight: u.StatefulStream<number>;
|
|
47
|
+
fixedHeaderHeight: u.StatefulStream<number>;
|
|
48
|
+
increaseViewportBy: u.StatefulStream<ViewportIncrease>;
|
|
49
|
+
visibleRange: u.StatefulStream<NumberTuple>;
|
|
50
|
+
}>;
|
package/dist/sizeSystem.d.ts
CHANGED
|
@@ -1,66 +1,66 @@
|
|
|
1
|
-
import * as u from '@virtuoso.dev/urx';
|
|
2
|
-
import { AANode } from './AATree';
|
|
3
|
-
import { Log, LogLevel } from './loggerSystem';
|
|
4
|
-
export interface SizeRange {
|
|
5
|
-
startIndex: number;
|
|
6
|
-
endIndex: number;
|
|
7
|
-
size: number;
|
|
8
|
-
}
|
|
9
|
-
export declare type Data = readonly unknown[] | undefined;
|
|
10
|
-
export declare function insertRanges(sizeTree: AANode<number>, ranges: SizeRange[]): readonly [AANode<number>, number];
|
|
11
|
-
export interface OffsetPoint {
|
|
12
|
-
offset: number;
|
|
13
|
-
size: number;
|
|
14
|
-
index: number;
|
|
15
|
-
}
|
|
16
|
-
export interface SizeState {
|
|
17
|
-
sizeTree: AANode<number>;
|
|
18
|
-
offsetTree: Array<OffsetPoint>;
|
|
19
|
-
groupOffsetTree: AANode<number>;
|
|
20
|
-
lastIndex: number;
|
|
21
|
-
lastOffset: number;
|
|
22
|
-
lastSize: number;
|
|
23
|
-
groupIndices: number[];
|
|
24
|
-
}
|
|
25
|
-
export declare function initialSizeState(): SizeState;
|
|
26
|
-
export declare function indexComparator({ index: itemIndex }: OffsetPoint, index: number): 0 | 1 | -1;
|
|
27
|
-
export declare function offsetComparator({ offset: itemOffset }: OffsetPoint, offset: number): 0 | 1 | -1;
|
|
28
|
-
export declare function rangesWithinOffsets(tree: Array<OffsetPoint>, startOffset: number, endOffset: number, minStartIndex?: number): Array<{
|
|
29
|
-
start: number;
|
|
30
|
-
end: number;
|
|
31
|
-
value: {
|
|
32
|
-
size: number;
|
|
33
|
-
offset: number;
|
|
34
|
-
index: number;
|
|
35
|
-
};
|
|
36
|
-
}>;
|
|
37
|
-
export declare function sizeStateReducer(state: SizeState, [ranges, groupIndices, log]: [SizeRange[], number[], Log]): SizeState;
|
|
38
|
-
export declare function offsetOf(index: number, tree: Array<OffsetPoint>): number;
|
|
39
|
-
export declare function originalIndexFromItemIndex(itemIndex: number, sizes: SizeState): number;
|
|
40
|
-
export declare function hasGroups(sizes: SizeState): boolean;
|
|
41
|
-
declare type OptionalNumber = number | undefined;
|
|
42
|
-
/** Calculates the height of `el`, which will be the `Item` element in the DOM. */
|
|
43
|
-
export declare type SizeFunction = (el: HTMLElement, field: 'offsetHeight' | 'offsetWidth') => number;
|
|
44
|
-
export declare const sizeSystem: u.SystemSpec<[u.SystemSpec<never[], () => {
|
|
45
|
-
log: u.StatefulStream<Log>;
|
|
46
|
-
logLevel: u.StatefulStream<LogLevel>;
|
|
47
|
-
}>], ([{ log }]: [{
|
|
48
|
-
log: u.StatefulStream<Log>;
|
|
49
|
-
logLevel: u.StatefulStream<LogLevel>;
|
|
50
|
-
}]) => {
|
|
51
|
-
data: u.StatefulStream<Data>;
|
|
52
|
-
totalCount: u.Stream<number>;
|
|
53
|
-
sizeRanges: u.Stream<SizeRange[]>;
|
|
54
|
-
groupIndices: u.StatefulStream<number[]>;
|
|
55
|
-
defaultItemSize: u.StatefulStream<OptionalNumber>;
|
|
56
|
-
fixedItemSize: u.StatefulStream<OptionalNumber>;
|
|
57
|
-
unshiftWith: u.Stream<number>;
|
|
58
|
-
beforeUnshiftWith: u.Stream<number>;
|
|
59
|
-
firstItemIndex: u.StatefulStream<number>;
|
|
60
|
-
sizes: u.StatefulStream<SizeState>;
|
|
61
|
-
listRefresh: u.Stream<boolean>;
|
|
62
|
-
statefulTotalCount: u.StatefulStream<number>;
|
|
63
|
-
trackItemSizes: u.StatefulStream<boolean>;
|
|
64
|
-
itemSize: u.StatefulStream<SizeFunction>;
|
|
65
|
-
}>;
|
|
66
|
-
export {};
|
|
1
|
+
import * as u from '@virtuoso.dev/urx';
|
|
2
|
+
import { AANode } from './AATree';
|
|
3
|
+
import { Log, LogLevel } from './loggerSystem';
|
|
4
|
+
export interface SizeRange {
|
|
5
|
+
startIndex: number;
|
|
6
|
+
endIndex: number;
|
|
7
|
+
size: number;
|
|
8
|
+
}
|
|
9
|
+
export declare type Data = readonly unknown[] | undefined;
|
|
10
|
+
export declare function insertRanges(sizeTree: AANode<number>, ranges: SizeRange[]): readonly [AANode<number>, number];
|
|
11
|
+
export interface OffsetPoint {
|
|
12
|
+
offset: number;
|
|
13
|
+
size: number;
|
|
14
|
+
index: number;
|
|
15
|
+
}
|
|
16
|
+
export interface SizeState {
|
|
17
|
+
sizeTree: AANode<number>;
|
|
18
|
+
offsetTree: Array<OffsetPoint>;
|
|
19
|
+
groupOffsetTree: AANode<number>;
|
|
20
|
+
lastIndex: number;
|
|
21
|
+
lastOffset: number;
|
|
22
|
+
lastSize: number;
|
|
23
|
+
groupIndices: number[];
|
|
24
|
+
}
|
|
25
|
+
export declare function initialSizeState(): SizeState;
|
|
26
|
+
export declare function indexComparator({ index: itemIndex }: OffsetPoint, index: number): 0 | 1 | -1;
|
|
27
|
+
export declare function offsetComparator({ offset: itemOffset }: OffsetPoint, offset: number): 0 | 1 | -1;
|
|
28
|
+
export declare function rangesWithinOffsets(tree: Array<OffsetPoint>, startOffset: number, endOffset: number, minStartIndex?: number): Array<{
|
|
29
|
+
start: number;
|
|
30
|
+
end: number;
|
|
31
|
+
value: {
|
|
32
|
+
size: number;
|
|
33
|
+
offset: number;
|
|
34
|
+
index: number;
|
|
35
|
+
};
|
|
36
|
+
}>;
|
|
37
|
+
export declare function sizeStateReducer(state: SizeState, [ranges, groupIndices, log]: [SizeRange[], number[], Log]): SizeState;
|
|
38
|
+
export declare function offsetOf(index: number, tree: Array<OffsetPoint>): number;
|
|
39
|
+
export declare function originalIndexFromItemIndex(itemIndex: number, sizes: SizeState): number;
|
|
40
|
+
export declare function hasGroups(sizes: SizeState): boolean;
|
|
41
|
+
declare type OptionalNumber = number | undefined;
|
|
42
|
+
/** Calculates the height of `el`, which will be the `Item` element in the DOM. */
|
|
43
|
+
export declare type SizeFunction = (el: HTMLElement, field: 'offsetHeight' | 'offsetWidth') => number;
|
|
44
|
+
export declare const sizeSystem: u.SystemSpec<[u.SystemSpec<never[], () => {
|
|
45
|
+
log: u.StatefulStream<Log>;
|
|
46
|
+
logLevel: u.StatefulStream<LogLevel>;
|
|
47
|
+
}>], ([{ log }]: [{
|
|
48
|
+
log: u.StatefulStream<Log>;
|
|
49
|
+
logLevel: u.StatefulStream<LogLevel>;
|
|
50
|
+
}]) => {
|
|
51
|
+
data: u.StatefulStream<Data>;
|
|
52
|
+
totalCount: u.Stream<number>;
|
|
53
|
+
sizeRanges: u.Stream<SizeRange[]>;
|
|
54
|
+
groupIndices: u.StatefulStream<number[]>;
|
|
55
|
+
defaultItemSize: u.StatefulStream<OptionalNumber>;
|
|
56
|
+
fixedItemSize: u.StatefulStream<OptionalNumber>;
|
|
57
|
+
unshiftWith: u.Stream<number>;
|
|
58
|
+
beforeUnshiftWith: u.Stream<number>;
|
|
59
|
+
firstItemIndex: u.StatefulStream<number>;
|
|
60
|
+
sizes: u.StatefulStream<SizeState>;
|
|
61
|
+
listRefresh: u.Stream<boolean>;
|
|
62
|
+
statefulTotalCount: u.StatefulStream<number>;
|
|
63
|
+
trackItemSizes: u.StatefulStream<boolean>;
|
|
64
|
+
itemSize: u.StatefulStream<SizeFunction>;
|
|
65
|
+
}>;
|
|
66
|
+
export {};
|
|
@@ -1,65 +1,65 @@
|
|
|
1
|
-
import * as u from '@virtuoso.dev/urx';
|
|
2
|
-
export declare const UP: "up";
|
|
3
|
-
export declare const DOWN: "down";
|
|
4
|
-
export declare const NONE: "none";
|
|
5
|
-
export declare type ScrollDirection = typeof UP | typeof DOWN | typeof NONE;
|
|
6
|
-
export interface ListBottomInfo {
|
|
7
|
-
bottom: number;
|
|
8
|
-
offsetBottom: number;
|
|
9
|
-
}
|
|
10
|
-
export interface AtBottomParams {
|
|
11
|
-
offsetBottom: number;
|
|
12
|
-
scrollTop: number;
|
|
13
|
-
viewportHeight: number;
|
|
14
|
-
scrollHeight: number;
|
|
15
|
-
}
|
|
16
|
-
export declare type NotAtBottomReason = 'SIZE_INCREASED' | 'NOT_SHOWING_LAST_ITEM' | 'VIEWPORT_HEIGHT_DECREASING' | 'SCROLLING_UPWARDS' | 'NOT_FULLY_SCROLLED_TO_LAST_ITEM_BOTTOM';
|
|
17
|
-
export declare type AtBottomReason = 'SIZE_DECREASED' | 'SCROLLED_DOWN';
|
|
18
|
-
export declare type AtBottomState = {
|
|
19
|
-
atBottom: false;
|
|
20
|
-
notAtBottomBecause: NotAtBottomReason;
|
|
21
|
-
state: AtBottomParams;
|
|
22
|
-
} | {
|
|
23
|
-
atBottom: true;
|
|
24
|
-
state: AtBottomParams;
|
|
25
|
-
atBottomBecause: AtBottomReason;
|
|
26
|
-
scrollTopDelta: number;
|
|
27
|
-
};
|
|
28
|
-
export declare const stateFlagsSystem: u.SystemSpec<[u.SystemSpec<never[], () => {
|
|
29
|
-
scrollContainerState: u.Stream<[number, number]>;
|
|
30
|
-
scrollTop: u.Stream<number>;
|
|
31
|
-
viewportHeight: u.Stream<number>;
|
|
32
|
-
headerHeight: u.StatefulStream<number>;
|
|
33
|
-
footerHeight: u.StatefulStream<number>;
|
|
34
|
-
scrollHeight: u.Stream<number>;
|
|
35
|
-
smoothScrollTargetReached: u.Stream<true>;
|
|
36
|
-
scrollTo: u.Stream<ScrollToOptions>;
|
|
37
|
-
scrollBy: u.Stream<ScrollToOptions>;
|
|
38
|
-
statefulScrollTop: u.StatefulStream<number>;
|
|
39
|
-
deviation: u.StatefulStream<number>;
|
|
40
|
-
scrollingInProgress: u.StatefulStream<boolean>;
|
|
41
|
-
}>], ([{ scrollContainerState, scrollTop, viewportHeight, headerHeight, footerHeight, scrollBy }]: [{
|
|
42
|
-
scrollContainerState: u.Stream<[number, number]>;
|
|
43
|
-
scrollTop: u.Stream<number>;
|
|
44
|
-
viewportHeight: u.Stream<number>;
|
|
45
|
-
headerHeight: u.StatefulStream<number>;
|
|
46
|
-
footerHeight: u.StatefulStream<number>;
|
|
47
|
-
scrollHeight: u.Stream<number>;
|
|
48
|
-
smoothScrollTargetReached: u.Stream<true>;
|
|
49
|
-
scrollTo: u.Stream<ScrollToOptions>;
|
|
50
|
-
scrollBy: u.Stream<ScrollToOptions>;
|
|
51
|
-
statefulScrollTop: u.StatefulStream<number>;
|
|
52
|
-
deviation: u.StatefulStream<number>;
|
|
53
|
-
scrollingInProgress: u.StatefulStream<boolean>;
|
|
54
|
-
}]) => {
|
|
55
|
-
isScrolling: u.Stream<boolean>;
|
|
56
|
-
isAtTop: u.StatefulStream<boolean>;
|
|
57
|
-
isAtBottom: u.StatefulStream<boolean>;
|
|
58
|
-
atBottomState: u.Stream<AtBottomState>;
|
|
59
|
-
atTopStateChange: u.Stream<boolean>;
|
|
60
|
-
atBottomStateChange: u.Stream<boolean>;
|
|
61
|
-
scrollDirection: u.StatefulStream<ScrollDirection>;
|
|
62
|
-
atBottomThreshold: u.StatefulStream<number>;
|
|
63
|
-
scrollVelocity: u.StatefulStream<number>;
|
|
64
|
-
lastJumpDueToItemResize: u.StatefulStream<number>;
|
|
65
|
-
}>;
|
|
1
|
+
import * as u from '@virtuoso.dev/urx';
|
|
2
|
+
export declare const UP: "up";
|
|
3
|
+
export declare const DOWN: "down";
|
|
4
|
+
export declare const NONE: "none";
|
|
5
|
+
export declare type ScrollDirection = typeof UP | typeof DOWN | typeof NONE;
|
|
6
|
+
export interface ListBottomInfo {
|
|
7
|
+
bottom: number;
|
|
8
|
+
offsetBottom: number;
|
|
9
|
+
}
|
|
10
|
+
export interface AtBottomParams {
|
|
11
|
+
offsetBottom: number;
|
|
12
|
+
scrollTop: number;
|
|
13
|
+
viewportHeight: number;
|
|
14
|
+
scrollHeight: number;
|
|
15
|
+
}
|
|
16
|
+
export declare type NotAtBottomReason = 'SIZE_INCREASED' | 'NOT_SHOWING_LAST_ITEM' | 'VIEWPORT_HEIGHT_DECREASING' | 'SCROLLING_UPWARDS' | 'NOT_FULLY_SCROLLED_TO_LAST_ITEM_BOTTOM';
|
|
17
|
+
export declare type AtBottomReason = 'SIZE_DECREASED' | 'SCROLLED_DOWN';
|
|
18
|
+
export declare type AtBottomState = {
|
|
19
|
+
atBottom: false;
|
|
20
|
+
notAtBottomBecause: NotAtBottomReason;
|
|
21
|
+
state: AtBottomParams;
|
|
22
|
+
} | {
|
|
23
|
+
atBottom: true;
|
|
24
|
+
state: AtBottomParams;
|
|
25
|
+
atBottomBecause: AtBottomReason;
|
|
26
|
+
scrollTopDelta: number;
|
|
27
|
+
};
|
|
28
|
+
export declare const stateFlagsSystem: u.SystemSpec<[u.SystemSpec<never[], () => {
|
|
29
|
+
scrollContainerState: u.Stream<[number, number]>;
|
|
30
|
+
scrollTop: u.Stream<number>;
|
|
31
|
+
viewportHeight: u.Stream<number>;
|
|
32
|
+
headerHeight: u.StatefulStream<number>;
|
|
33
|
+
footerHeight: u.StatefulStream<number>;
|
|
34
|
+
scrollHeight: u.Stream<number>;
|
|
35
|
+
smoothScrollTargetReached: u.Stream<true>;
|
|
36
|
+
scrollTo: u.Stream<ScrollToOptions>;
|
|
37
|
+
scrollBy: u.Stream<ScrollToOptions>;
|
|
38
|
+
statefulScrollTop: u.StatefulStream<number>;
|
|
39
|
+
deviation: u.StatefulStream<number>;
|
|
40
|
+
scrollingInProgress: u.StatefulStream<boolean>;
|
|
41
|
+
}>], ([{ scrollContainerState, scrollTop, viewportHeight, headerHeight, footerHeight, scrollBy }]: [{
|
|
42
|
+
scrollContainerState: u.Stream<[number, number]>;
|
|
43
|
+
scrollTop: u.Stream<number>;
|
|
44
|
+
viewportHeight: u.Stream<number>;
|
|
45
|
+
headerHeight: u.StatefulStream<number>;
|
|
46
|
+
footerHeight: u.StatefulStream<number>;
|
|
47
|
+
scrollHeight: u.Stream<number>;
|
|
48
|
+
smoothScrollTargetReached: u.Stream<true>;
|
|
49
|
+
scrollTo: u.Stream<ScrollToOptions>;
|
|
50
|
+
scrollBy: u.Stream<ScrollToOptions>;
|
|
51
|
+
statefulScrollTop: u.StatefulStream<number>;
|
|
52
|
+
deviation: u.StatefulStream<number>;
|
|
53
|
+
scrollingInProgress: u.StatefulStream<boolean>;
|
|
54
|
+
}]) => {
|
|
55
|
+
isScrolling: u.Stream<boolean>;
|
|
56
|
+
isAtTop: u.StatefulStream<boolean>;
|
|
57
|
+
isAtBottom: u.StatefulStream<boolean>;
|
|
58
|
+
atBottomState: u.Stream<AtBottomState>;
|
|
59
|
+
atTopStateChange: u.Stream<boolean>;
|
|
60
|
+
atBottomStateChange: u.Stream<boolean>;
|
|
61
|
+
scrollDirection: u.StatefulStream<ScrollDirection>;
|
|
62
|
+
atBottomThreshold: u.StatefulStream<number>;
|
|
63
|
+
scrollVelocity: u.StatefulStream<number>;
|
|
64
|
+
lastJumpDueToItemResize: u.StatefulStream<number>;
|
|
65
|
+
}>;
|