Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

react-virtuoso

Package Overview
Dependencies
Maintainers
1
Versions
289
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

react-virtuoso - npm Package Compare versions

Comparing version 0.12.6 to 0.13.0

1

dist/AATree.d.ts

@@ -23,2 +23,3 @@ interface NodeData<T> {

remove(key: number): AATree<T>;
shift(amount: number): AATree<T>;
empty(): boolean;

@@ -25,0 +26,0 @@ keys(): number[];

@@ -16,5 +16,10 @@ import { AATree } from './AATree';

private nanIndices;
private initialTopMostItemIndex;
private rangeSize;
private maxRangeSize;
private rangeSizeExceededCallback;
static create(): OffsetList;
private constructor();
empty(): boolean;
private fromTree;
insert(start: number, end: number, size: number): OffsetList;

@@ -28,2 +33,6 @@ insertSpots(spotIndexes: number[], value: number): OffsetList;

getOffsets(indices: number[]): IndexList;
setInitialIndex(topMostItemIndex: number): OffsetList;
getDefaultSize(): number;
adjustForPrependedItems(count: number): OffsetList;
configureMaxRangeSize(maxRangeSize: number, maxRangeSizeExceededCallback: () => void): void;
}

@@ -30,0 +39,0 @@ export declare class IndexList {

2

dist/react-virtuoso.cjs.production.min.js

@@ -1,2 +0,2 @@

"use strict";function t(t){return t&&"object"==typeof t&&"default"in t?t.default:t}Object.defineProperty(exports,"__esModule",{value:!0});var e=require("tslib"),n=require("react"),r=t(n),i=t(require("resize-observer-polyfill")),o=n.createContext(void 0);function s(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];return 0===t.length?function(t,e){return e(t)}:1===t.length?t[0]:function(e,n){var r=function(t){return n(t)};t.slice().reverse().forEach((function(t){var e=r;r=function(n){return t(n,e)}})),r(e)}}function u(t){return function(){for(var e=[],n=0;n<arguments.length;n++)e[n]=arguments[n];var r=s.apply(void 0,e);return a(t,r)}}function a(t,e){var n=function(n){return t((function(t){return e(t,n)}))};return{subscribe:n,pipe:u(n)}}function l(t,e){void 0===e&&(e=!0);var n=[],r=t,i=function(t){return n.push(t),void 0!==r&&t(r),function(){n=n.filter((function(e){return e!==t}))}};return{next:function(t){e&&t===r||(r=t,n.forEach((function(e){return e(t)})))},subscribe:i,pipe:u(i),subscribers:n}}function f(){var t=[],e=function(e){return t.push(e),function(){t=t.filter((function(t){return t!==e}))}};return{next:function(e){t.forEach((function(t){return t(e)}))},subscribe:e,pipe:u(e)}}function c(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];var n=Array(t.length).fill(!1),r=Array(t.length),i=[],o=function(t){n.every((function(t){return t}))&&t.forEach((function(t){return t(r)}))};t.forEach((function(t,e){t.subscribe((function(t){n[e]=!0,r[e]=t,o(i)}))}));var s=function(t){return i.push(t),o([t]),function(){i=i.filter((function(e){return e!==t}))}};return{subscribe:s,pipe:u(s)}}function h(t){return function(e,n){n(t(e))}}function p(t){return function(e,n){return n(t)}}function d(t){return function(e,n){t>0?t--:n(e)}}function v(t){return function(e,n){t(e)&&n(e)}}function g(){for(var t=[],n=0;n<arguments.length;n++)t[n]=arguments[n];var r=Array(t.length).fill(!1),i=Array(t.length);return t.forEach((function(t,e){t.subscribe((function(t){i[e]=t,r[e]=!0}))})),function(t,n){r.every((function(t){return t}))&&n(e.__spreadArrays([t],i))}}var y=new(function(){function t(){this.level=0}return t.prototype.rebalance=function(){return this},t.prototype.adjust=function(){return this},t.prototype.remove=function(){return this},t.prototype.find=function(){},t.prototype.findWith=function(){},t.prototype.findMax=function(){return-Infinity},t.prototype.findMaxValue=function(){},t.prototype.insert=function(t,e){return new x({key:t,value:e,level:1})},t.prototype.walkWithin=function(){return[]},t.prototype.walk=function(){return[]},t.prototype.ranges=function(){return[]},t.prototype.rangesWithin=function(){return[]},t.prototype.empty=function(){return!0},t.prototype.isSingle=function(){return!0},t.prototype.isInvariant=function(){return!0},t.prototype.keys=function(){return[]},t}());Object.freeze(y);var m=function(t){function n(e){return t.call(this,"Unreachable case: "+e)||this}return e.__extends(n,t),n}(Error),x=function(){function t(t){var e=t.value,n=t.level,r=t.left,i=void 0===r?y:r,o=t.right,s=void 0===o?y:o;this.key=t.key,this.value=e,this.level=n,this.left=i,this.right=s}return t.prototype.remove=function(t){var e=this.left,n=this.right;if(t===this.key){if(e.empty())return n;if(n.empty())return e;var r=e.last();return this.clone({key:r[0],value:r[1],left:e.deleteLast()}).adjust()}return t<this.key?this.clone({left:e.remove(t)}).adjust():this.clone({right:n.remove(t)}).adjust()},t.prototype.empty=function(){return!1},t.prototype.find=function(t){return t===this.key?this.value:t<this.key?this.left.find(t):this.right.find(t)},t.prototype.findWith=function(t){var e=t(this.value);switch(e){case-1:return this.left.findWith(t);case 0:return[this.key,this.value];case 1:return this.right.findWith(t);default:throw new m(e)}},t.prototype.findMax=function(t){if(this.key===t)return t;if(this.key<t){var e=this.right.findMax(t);return-Infinity===e?this.key:e}return this.left.findMax(t)},t.prototype.findMaxValue=function(t){if(this.key===t)return this.value;if(this.key<t){var e=this.right.findMaxValue(t);return void 0===e?this.value:e}return this.left.findMaxValue(t)},t.prototype.insert=function(t,e){return t===this.key?this.clone({key:t,value:e}):t<this.key?this.clone({left:this.left.insert(t,e)}).rebalance():this.clone({right:this.right.insert(t,e)}).rebalance()},t.prototype.walkWithin=function(t,e){var n=this.key,r=this.value,i=[];return n>t&&(i=i.concat(this.left.walkWithin(t,e))),n>=t&&n<=e&&i.push({key:n,value:r}),n<=e&&(i=i.concat(this.right.walkWithin(t,e))),i},t.prototype.walk=function(){return e.__spreadArrays(this.left.walk(),[{key:this.key,value:this.value}],this.right.walk())},t.prototype.last=function(){return this.right.empty()?[this.key,this.value]:this.right.last()},t.prototype.deleteLast=function(){return this.right.empty()?this.left:this.clone({right:this.right.deleteLast()}).adjust()},t.prototype.clone=function(e){return new t({key:void 0!==e.key?e.key:this.key,value:void 0!==e.value?e.value:this.value,level:void 0!==e.level?e.level:this.level,left:void 0!==e.left?e.left:this.left,right:void 0!==e.right?e.right:this.right})},t.prototype.isSingle=function(){return this.level>this.right.level},t.prototype.rebalance=function(){return this.skew().split()},t.prototype.adjust=function(){var t=this.left,e=this.right,n=this.level;if(e.level>=n-1&&t.level>=n-1)return this;if(n>e.level+1){if(t.isSingle())return this.clone({level:n-1}).skew();if(t.empty()||t.right.empty())throw new Error("Unexpected empty nodes");return t.right.clone({left:t.clone({right:t.right.left}),right:this.clone({left:t.right.right,level:n-1}),level:n})}if(this.isSingle())return this.clone({level:n-1}).split();if(e.empty()||e.left.empty())throw new Error("Unexpected empty nodes");var r=e.left,i=r.isSingle()?e.level-1:e.level;return r.clone({left:this.clone({right:r.left,level:n-1}),right:e.clone({left:r.right,level:i}).split(),level:r.level+1})},t.prototype.isInvariant=function(){var t=this.left,e=this.right,n=this.level;return n===t.level+1&&(n===e.level||n===e.level+1)&&!(!e.empty()&&n<=e.right.level)&&t.isInvariant()&&e.isInvariant()},t.prototype.keys=function(){return e.__spreadArrays(this.left.keys(),[this.key],this.right.keys())},t.prototype.ranges=function(){return this.toRanges(this.walk())},t.prototype.rangesWithin=function(t,e){return this.toRanges(this.walkWithin(t,e))},t.prototype.toRanges=function(t){if(0===t.length)return[];for(var e=t[0],n=e.key,r=e.value,i=[],o=1;o<=t.length;o++){var s=t[o];i.push({start:n,end:s?s.key-1:Infinity,value:r}),s&&(n=s.key,r=s.value)}return i},t.prototype.split=function(){var t=this.right,e=this.level;return t.empty()||t.right.empty()||t.level!==e||t.right.level!==e?this:t.clone({left:this.clone({right:t.left}),level:e+1})},t.prototype.skew=function(){var t=this.left;return t.empty()||t.level!==this.level?this:t.clone({right:this.clone({left:t.right})})},t}(),C=function(){function t(t){this.root=t}return t.empty=function(){return new t(y)},t.prototype.find=function(t){return this.root.find(t)},t.prototype.findMax=function(t){return this.root.findMax(t)},t.prototype.findMaxValue=function(t){if(this.empty())throw new Error("Searching for max value in an empty tree");return this.root.findMaxValue(t)},t.prototype.findWith=function(t){return this.root.findWith(t)},t.prototype.insert=function(e,n){return new t(this.root.insert(e,n))},t.prototype.remove=function(e){return new t(this.root.remove(e))},t.prototype.empty=function(){return this.root.empty()},t.prototype.keys=function(){return this.root.keys()},t.prototype.walk=function(){return this.root.walk()},t.prototype.walkWithin=function(t,e){var n=this.root.findMax(t);return this.root.walkWithin(n,e)},t.prototype.ranges=function(){return this.root.ranges()},t.prototype.rangesWithin=function(t,e){var n=this.root.findMax(t);return this.root.rangesWithin(n,e)},t.prototype.isInvariant=function(){return this.root.isInvariant()},t}(),k=function(){function t(t){this.nanIndices=[],this.rangeTree=t;for(var e=C.empty(),n=0,r=!1,i=0,o=t.ranges();i<o.length;i++){var s=o[i],u=s.start,a=s.end,l=s.value;isNaN(l)?(this.nanIndices.push(u),r||(e=e.insert(n,{startIndex:u,endIndex:Infinity,size:l})),r=!0):r||(e=e.insert(n,{startIndex:u,endIndex:a,size:l}),n+=(a-u+1)*l)}this.offsetTree=e}return t.create=function(){return new t(C.empty())},t.prototype.empty=function(){return this.rangeTree.empty()},t.prototype.insert=function(e,n,r){var i=this.rangeTree;if(i.empty())return new t(i.insert(0,r));if(this.nanIndices.length&&this.nanIndices.indexOf(n)>-1){if(i.find(this.nanIndices[0]-1)===r)return new t(C.empty().insert(0,r));for(var o=0,s=this.nanIndices;o<s.length;o++)i=i.insert(s[o],r);return new t(i)}var u=i.rangesWithin(e-1,n+1);if(u.some((function(t){return t.start===e&&(t.end===n||Infinity===t.end)&&t.value===r})))return this;for(var a=!1,l=!1,f=0,c=u;f<c.length;f++){var h=c[f],p=h.start,d=h.end,v=h.value;a?(n>=p||r===v)&&(i=i.remove(p)):(l=v!==r,a=!0),d>n&&n>=p&&(v===r||isNaN(v)||(i=i.insert(n+1,v)))}return l&&(i=i.insert(e,r)),i===this.rangeTree?this:new t(i)},t.prototype.insertSpots=function(e,n){if(this.empty()){for(var r=this.rangeTree,i=0,o=e;i<o.length;i++){var s=o[i];r=r.insert(s,n).insert(s+1,NaN)}return new t(r)}throw new Error("attempting to overwrite non-empty tree")},t.prototype.offsetOf=function(t){if(this.offsetTree.empty())return 0;var e=this.offsetTree.findWith((function(e){return e.startIndex>t?-1:e.endIndex<t?1:0}));if(e){var n=e[1];return e[0]+(t-n.startIndex)*n.size}throw new Error("Requested offset outside of the known ones, index: "+t)},t.prototype.itemAt=function(t){return{index:t,size:this.rangeTree.findMaxValue(t),offset:NaN}},t.prototype.indexRange=function(t,e){if(this.rangeTree.empty())return[{index:0,size:0,offset:NaN}];for(var n=[],r=0,i=this.rangeTree.rangesWithin(t,e);r<i.length;r++)for(var o=i[r],s=Math.max(t,o.start),u=Math.min(e,void 0===o.end?Infinity:o.end),a=s;a<=u;a++)n.push({index:a,size:o.value,offset:NaN});return n},t.prototype.range=function(t,e,n,r){if(void 0===n&&(n=0),void 0===r&&(r=Infinity),this.offsetTree.empty())return[{index:0,size:0,offset:0}];for(var i=[],o=0,s=this.offsetTree.rangesWithin(t,e);o<s.length;o++){var u=s[o],a=u.start,l=u.value,f=l.startIndex,c=l.endIndex,h=l.size,p=a,d=f;if(a<t&&(p+=((d+=Math.floor((t-a)/h))-f)*h),d<n&&(p+=(n-d)*h,d=n),isNaN(h))return i.push({index:d,size:0,offset:p}),i;c=Math.min(c,r);for(var v=d;v<=c&&!(p>e);v++)i.push({index:v,size:h,offset:p}),p+=h}return i},t.prototype.total=function(t){for(var e=0,n=0,r=this.rangeTree.rangesWithin(0,t);n<r.length;n++){var i=r[n],o=i.start,s=i.end,u=i.value;e+=((s=Math.min(s,t))-o+1)*(isNaN(u)?0:u)}return e},t.prototype.getOffsets=function(t){var e=this,n=C.empty();return t.forEach((function(t){var r=e.offsetOf(t);n=n.insert(r,t)})),new I(n)},t}(),I=function(){function t(t){this.tree=t}return t.prototype.findMaxValue=function(t){return this.tree.findMaxValue(t)},t.prototype.empty=function(){return this.tree.empty()},t}(),w=function(){function t(){}return t.prototype.transpose=function(t){return t.map((function(t){return{groupIndex:0,index:t.index,offset:t.offset,size:t.size,transposedIndex:t.index,type:"item"}}))},t}(),b=function(){function t(t){this.count=t.reduce((function(t,e){return t+e+1}),0);for(var e=C.empty(),n=0,r=0,i=0,o=t;i<o.length;i++){var s=o[i];e=e.insert(r,[n,r]),n++,r+=s+1}this.tree=e}return t.prototype.totalCount=function(){return this.count},t.prototype.transpose=function(t){var e=this;return t.map((function(t){var n=e.tree.find(t.index);if(n)return{groupIndex:n[0],index:t.index,offset:t.offset,size:t.size,type:"group"};var r=e.tree.findMaxValue(t.index)[0];return{groupIndex:r,index:t.index,offset:t.offset,size:t.size,transposedIndex:t.index-r-1,type:"item"}}))},t.prototype.groupIndices=function(){return this.tree.keys()},t}();function E(t){var e;return function(n){e&&e(),n&&(e=t.subscribe(n))}}function T(t){return t.next}var M=function(t){var e,n,r=l(!1);return t.pipe(d(1),p(!0)).subscribe(r.next),t.pipe(d(1),p(!1),(function(t,r){e=t,n&&clearTimeout(n),n=setTimeout((function(){r(e)}),200)})).subscribe(r.next),r},R=function(t){return t.length>0?t[0].offset:0},N=function(t){return t[0].total(t[1]-1)},_=function(t){var e=t.overscan,n=void 0===e?0:e,r=t.totalCount,i=void 0===r?0:r,o=t.itemHeight,s=l(0),u=l(0),a=l(0),p=l(0),d=l(),y=l(i),m=l(),x=l(),C=k.create(),I=!1,_=l([]),S=l(),z=f();o&&(C=C.insert(0,0,o));var H=l(C);o||d.pipe(g(H,_)).subscribe((function(t){var e=t[0],n=t[1],r=t[2],i=n;I&&(i=k.create(),I=!1);for(var o=0,s=e;o<s.length;o++){var u=s[o],a=u.start,l=u.end,f=u.size;i=i.empty()&&a===l&&r.indexOf(a)>-1?i.insertSpots(r,f):i.insert(a,l,f)}i!==n&&H.next(i)}));var L=new w;m.subscribe((function(t){L=new b(t),y.next(L.totalCount()),_.next(L.groupIndices())}));var W=c(H,y).pipe(h(N)),V=c(W,p).pipe(h((function(t){return t[0]+t[1]}))),O=c(H,_).pipe(h((function(t){return t[0].getOffsets(t[1])}))),F=l([]);c(H,x,y,s).pipe(v((function(t){return t[1]>0&&t[3]>0})),h((function(t){var e=t[0],n=Math.max(0,Math.min(t[1]-1,t[2]));return L.transpose(e.indexRange(0,n))}))).subscribe(F.next),c(H,O,a).pipe(v((function(t){return!t[1].empty()&&!t[0].empty()})),g(F),h((function(t){var e=t[0],n=e[0],r=t[1],i=e[1].findMaxValue(Math.max(e[2],0));if(1===r.length&&r[0].index===i)return r;var o=n.itemAt(i);return L.transpose([o])}))).subscribe(F.next);var A,j,P=F.pipe(h((function(t){return t.reduce((function(t,e){return t+e.size}),0)}))),q=F.pipe(h((function(t){return t.length&&t[t.length-1].index+1}))),D=c(s,a,P,u,p,q,y,H).pipe((A=function(t){return function(e,n){var r=n[0],i=n[1],o=n[2],s=n[3],u=n[4],a=n[5],l=n[6],f=n[7],c=e.length;if(0===l)return[];var h=R(e),p=h-i+s-u-o,d=Math.max(l-1,0);if(p<r||c>0&&(e[0].index<a||e[c-1].index>d)){var v=Math.max(i,0);return L.transpose(f.range(v,i+r+2*t-1,a,d))}return h>i?(v=Math.max(i-2*t,0),L.transpose(f.range(v,i+r-1,a,d))):e}}(n),j=[],function(t,e){e(j=A(j,t))})),U=f(),G=0;D.pipe(h((function(t){return t.length?t[t.length-1].index:0}))).pipe(g(y)).subscribe((function(t){var e=t[0],n=t[1];0!==n&&e===n-1&&G!==e&&(G=e,U.next(e))}));var K=c(D,a,P).pipe(h((function(t){return R(t[0])}))),Y=z.pipe(g(H,P,_,s,y),h((function(t){var e=t[0],n=t[1],r=t[2],i=t[3],o=t[4];"number"==typeof e&&(e={index:e,align:"start"});var s=e.index,u=e.align,a=void 0===u?"start":u;s=Math.max(0,s,Math.min(t[5]-1,s));var l=n.offsetOf(s);return"end"===a?l=l-o+n.itemAt(s).size:"center"===a?l=Math.round(l-o/2+n.itemAt(s).size/2):-1===i.indexOf(s)&&(l-=r),l}))),B=S.subscribe((function(t){d.next([{start:0,end:0,size:30}]),s.next(30*t),I=!0,B()})),J=_.pipe(),Q=K.pipe(h((function(t){return-t}))),X=M(a);return{groupCounts:T(m),itemHeights:T(d),footerHeight:T(p),listHeight:T(u),viewportHeight:T(s),scrollTop:T(a),topItemCount:T(x),totalCount:T(y),scrollToIndex:T(z),initialItemCount:T(S),list:E(D),itemsRendered:E(D),topList:E(F),listOffset:E(K),totalHeight:E(V),endReached:E(U),totalListHeightChanged:E(V),isScrolling:E(X),stickyItems:E(_),groupIndices:E(J),stickyItemsOffset:E(Q),scrollTo:E(Y)}},S=function(t,e,r){var o=n.useRef(null),s=n.useRef(0),u=new i((function(e){var n=e[0].contentRect.height;r&&(s.current=window.requestAnimationFrame((function(){return r(e[0].target)}))),t(n)}));return n.useEffect((function(){return function(){return window.cancelAnimationFrame(s.current)}}),[]),function(t){t?(u.observe(t),e&&e(t),o.current=t):(u.unobserve(o.current),o.current=null)}};function z(t,e){var r=n.useState(function(t,e){return function(){var n=e;return t((function(t){n=t})),n}}(t,e)),i=r[0],o=r[1];return n.useLayoutEffect((function(){return t(o),function(){return t(void 0)}}),[t]),i}var H={height:"40rem",overflowY:"auto",WebkitOverflowScrolling:"touch",position:"relative",outline:"none"},L=function(t){var e=t.className,i=t.style,o=t.reportScrollTop,s=t.scrollTo,u=t.children,a=n.useRef(null),l=n.useCallback((function(t){o(t.target.scrollTop)}),[o]),f=n.useCallback((function(t){t?(t.addEventListener("scroll",l,{passive:!0}),a.current=t):a.current.removeEventListener("scroll",l)}),[l]);return s((function(t){a.current.scrollTo({top:t})})),r.createElement("div",{ref:f,style:i,tabIndex:0,className:e},u)},W=function(t){var n=t.children,i=t.style,o=t.className,s=t.ScrollContainer,u=t.scrollTop,a=t.scrollTo;return r.createElement(void 0===s?L:s,{style:e.__assign(e.__assign({},H),i),reportScrollTop:u,scrollTo:a,className:o},n)},V=function(t){var e=t.render,i=t.stickyClassName,s=n.useContext(o),u=s.topList,a=z(s.list,[]),l=z(u,[]),f=[],c=0,h=[],p=l.reduce((function(t,e){return t+e.size}),0);return l.forEach((function(t,n){var r=t.index;h.push(r),f.push(e(t,{key:r,"data-index":r,"data-known-size":t.size,className:i,style:{top:c+"px",marginTop:0===n?-p+"px":void 0}})),c+=t.size})),a.forEach((function(t){h.indexOf(t.index)>-1||f.push(e(t,{key:t.index,"data-index":t.index,"data-known-size":t.size}))})),r.createElement(r.Fragment,null," ",f," ")},O=function(t){var e=t.stickyClassName,r=n.useRef(null);return n.useLayoutEffect((function(){var t=document.createElement("style");return document.head.appendChild(t),t.sheet.insertRule("."+e+" {\n position: sticky;\n position: -webkit-sticky;\n z-index: 2;\n } ",0),r.current=t,function(){document.head.removeChild(r.current),r.current=null}}),[e]),null},F=function(){return String.fromCharCode(Math.round(25*Math.random()+97))},A=function(){return new Array(12).fill(0).map(F).join("")},j={top:0,position:"absolute",height:"100%",width:"100%",overflow:"absolute"},P=function(t){return r.createElement("div",{style:{height:t.height+"px",position:"absolute",top:0}}," ")},q=function(t){return r.createElement("footer",{ref:t.footerRef},t.children)},D=function(t){return r.createElement("div",{ref:t.listRef,style:t.style},t.children)},U=function(t){var e=t.footer,i=t.FooterContainer,s=void 0===i?q:i,u=S(n.useContext(o).footerHeight);return r.createElement(s,{footerRef:u},e())},G=function(t){var e=t.fixedItemHeight,i=t.children,s=t.ListContainer,u=n.useContext(o),a=u.listHeight,l=u.itemHeights,f={marginTop:z(u.listOffset,0)+"px"},c=S(a,(function(){}),(function(t){if(!e){var n=function(t){for(var e=[],n=0,r=t.length;n<r;n++){var i=t.item(n);if(i&&void 0!==i.dataset.index){var o=parseInt(i.dataset.index),s=parseInt(i.dataset.knownSize),u=i.offsetHeight;if(u!==s){var a=e[e.length-1];0===e.length||a.size!==u||a.end!==o-1?e.push({start:o,end:o,size:u}):e[e.length-1].end++}}}return e}(t.children);n.length>0&&l(n)}}));return r.createElement(s,{listRef:c,style:f},i)},K=function(t){var i=t.style,s=t.footer,u=t.item,a=t.fixedItemHeight,l=t.ScrollContainer,f=t.ListContainer,c=t.FooterContainer,h=t.className,p=n.useContext(o),d=p.scrollTo,v=p.scrollTop,g=p.viewportHeight,y=z(p.totalHeight,0),m=n.useMemo(A,[]),x=S(g);return r.createElement(W,{style:i,ScrollContainer:l,className:h,scrollTo:d,scrollTop:v},r.createElement("div",{ref:x,style:j},r.createElement(G,{fixedItemHeight:a,ListContainer:f},r.createElement(V,{render:u,stickyClassName:m}),s&&r.createElement(U,{footer:s,FooterContainer:c}))),r.createElement(P,{height:y}),r.createElement(O,e.__assign({},{stickyClassName:m})))},Y=function(t){return r.createElement(o.Provider,{value:t.contextValue},r.createElement(K,{style:t.style||{},className:t.className,item:t.item,footer:t.footer,fixedItemHeight:void 0!==t.itemHeight,ScrollContainer:t.ScrollContainer,FooterContainer:t.FooterContainer,ListContainer:t.ListContainer||D}))},B=function(t){function n(n){var i=t.call(this,n)||this;return i.itemRender=function(t,n){var o=n.key,s=e.__rest(n,["key"]),u=i.props,a=u.computeItemKey,l=u.item,f=u.ItemContainer,c=void 0===f?"div":f;return a&&(o=a(t.index)),r.createElement(c,e.__assign(e.__assign({},s),{key:o}),l(t.index))},i.state=_(n),i}return e.__extends(n,t),n.getDerivedStateFromProps=function(t,e){return e.isScrolling(t.scrollingStateChange),e.endReached(t.endReached),e.topItemCount(t.topItems||0),e.totalCount(t.totalCount),t.initialItemCount&&e.initialItemCount(t.initialItemCount),e.itemsRendered(t.itemsRendered),e.totalListHeightChanged(t.totalListHeightChanged),null},n.prototype.scrollToIndex=function(t){this.state.scrollToIndex(t)},n.prototype.componentWillUnmount=function(){this.state.itemsRendered(void 0),this.state.totalListHeightChanged(void 0)},n.prototype.render=function(){return r.createElement(Y,{contextValue:this.state,style:this.props.style,className:this.props.className,item:this.itemRender,footer:this.props.footer,itemHeight:this.props.itemHeight,ScrollContainer:this.props.ScrollContainer,FooterContainer:this.props.FooterContainer,ListContainer:this.props.ListContainer})},n}(n.PureComponent),J=function(t){function n(n){var i=t.call(this,n)||this;return i.itemRender=function(t,n){var o=i.props.ItemContainer,s=i.props.GroupContainer||o;if("group"===t.type){var u=i.props.group(t.groupIndex);return s?r.createElement(s,e.__assign({key:n.key},n),u):r.createElement("div",e.__assign({},n),u)}return u=i.props.item(t.transposedIndex,t.groupIndex),o?r.createElement(o,e.__assign({key:n.key},n),u):r.createElement("div",e.__assign({},n),u)},i.state=_(n),i}return e.__extends(n,t),n.getDerivedStateFromProps=function(t,e){return e.endReached(t.endReached),e.isScrolling(t.scrollingStateChange),e.groupCounts(t.groupCounts),e.groupIndices(t.groupIndices),e.itemsRendered(t.itemsRendered),e.totalListHeightChanged(t.totalListHeightChanged),null},n.prototype.scrollToIndex=function(t){this.state.scrollToIndex(t)},n.prototype.componentWillUnmount=function(){this.state.itemsRendered(void 0),this.state.totalListHeightChanged(void 0)},n.prototype.render=function(){return r.createElement(Y,{contextValue:this.state,style:this.props.style,className:this.props.className,item:this.itemRender,footer:this.props.footer,itemHeight:this.props.itemHeight,ScrollContainer:this.props.ScrollContainer,FooterContainer:this.props.FooterContainer,ListContainer:this.props.ListContainer})},n}(n.PureComponent),Q=Math.ceil,X=Math.floor,Z=Math.min,$=Math.max,tt=function(t){return Q(t)-t<.03?Q(t):X(t)},et=function(){var t=l([0,0,void 0,void 0]),e=l(0),n=l(0),r=l(0),i=l([0,0]),o=l(0),s=l(0),u=f();c(t,n,r,e).pipe(g(i)).subscribe((function(t){var e=t[0],n=e[0],r=n[0],u=n[1],a=n[2],l=n[3],f=e[1],c=e[2],h=e[3],p=t[1];if(void 0!==a&&void 0!==l){if(0===h)return i.next([0,-1]),void s.next(0);var d=p[0],v=p[1],g=tt(r/a),y=function(t,e){return void 0===e&&(e=X),e(t/g)},m=function(t){var e=t?[0,c]:[c,0],n=e[1],r=g*X((f-e[0])/l),o=g*Q((f+u+n)/l)-1;o=Z(h-1,o),r=Z(o,$(0,r)),i.next([r,o]),s.next(y(r)*l)},x=l*y(d),C=l*y(v)+l;h<v-1?m(!0):x>f?m(!1):C<f+u&&m(!0),o.next(l*y(h,Q))}}));var a=u.pipe(g(t,e),h((function(t){var e=t[0],n=t[1],r=n[0],i=n[1],o=n[2],s=n[3];if(void 0===o||void 0===s)return 0;"number"==typeof e&&(e={index:e,align:"start"});var u=e.index,a=e.align,l=void 0===a?"start":a;u=Math.max(0,u,Math.min(t[2]-1,u));var f=tt(r/o),c=X(u/f)*s;return"end"===l?c=c-i+s:"center"===l&&(c=Math.round(c-i/2+s/2)),c}))),p=M(n),d=f(),v=0;return i.pipe(g(e)).subscribe((function(t){var e=t[0][1],n=t[1];0!==n&&e===n-1&&v!==e&&(v=e,d.next(e))})),{gridDimensions:T(t),totalCount:T(e),scrollTop:T(n),overscan:T(r),scrollToIndex:T(u),itemRange:E(i),totalHeight:E(o),listOffset:E(s),scrollTo:E(a),isScrolling:E(p),endReached:E(d)}},nt=function(t){function n(){var e=null!==t&&t.apply(this,arguments)||this;return e.state=et(),e}return e.__extends(n,t),n.getDerivedStateFromProps=function(t,e){return e.overscan(t.overscan||0),e.totalCount(t.totalCount),e.isScrolling(t.scrollingStateChange),e.endReached(t.endReached),null},n.prototype.scrollToIndex=function(t){this.state.scrollToIndex(t)},n.prototype.render=function(){return r.createElement(rt,e.__assign({},this.props,{engine:this.state}))},n}(r.PureComponent),rt=function(t){var e,o,s,u,a=t.ScrollContainer,l=t.ItemContainer,f=void 0===l?"div":l,c=t.ListContainer,h=void 0===c?"div":c,p=t.className,d=t.item,v=t.itemClassName,g=void 0===v?"virtuoso-grid-item":v,y=t.listClassName,m=void 0===y?"virtuoso-grid-list":y,x=t.engine,C=t.style,k=void 0===C?{height:"40rem"}:C,I=x.itemRange,w=x.listOffset,b=x.gridDimensions,E=x.scrollTo,T=x.scrollTop,M=z(x.totalHeight,0),R={marginTop:z(w,0)+"px"},N=z(I,[0,0]),_=(e=function(t){var e=t.element.firstChild.firstChild;b([t.width,t.height,e.offsetWidth,e.offsetHeight])},o=n.useRef(null),s=n.useRef([0,0]),u=new i((function(t){var n=t[0].contentRect,r=n.width,i=n.height;s.current[0]===r&&s.current[1]===i||(s.current=[r,i],e({element:t[0].target,width:r,height:i}))})),function(t){t?(u.observe(t),o.current=t):(u.unobserve(o.current),o.current=null)});return r.createElement(W,{style:k,ScrollContainer:a,className:p,scrollTo:E,scrollTop:T},r.createElement("div",{ref:_,style:j},r.createElement(h,{style:R,className:m},function(t,e,n,i){for(var o=t[1],s=[],u=t[0];u<=o;u++)s.push(r.createElement(i,{key:u,className:n},e(u)));return s}(N,d,g,f))),r.createElement(P,{height:M}))};exports.GroupedVirtuoso=J,exports.Virtuoso=B,exports.VirtuosoGrid=nt,exports.VirtuosoPresentation=Y;
"use strict";function t(t){return t&&"object"==typeof t&&"default"in t?t.default:t}Object.defineProperty(exports,"__esModule",{value:!0});var e=require("tslib"),n=require("react"),r=t(n),i=t(require("resize-observer-polyfill")),o=n.createContext(void 0);function s(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];return 0===t.length?function(t,e){return e(t)}:1===t.length?t[0]:function(e,n){var r=function(t){return n(t)};t.slice().reverse().forEach((function(t){var e=r;r=function(n){return t(n,e)}})),r(e)}}function u(t){return function(){for(var e=[],n=0;n<arguments.length;n++)e[n]=arguments[n];var r=s.apply(void 0,e);return a(t,r)}}function a(t,e){var n=function(n){return t((function(t){return e(t,n)}))};return{subscribe:n,pipe:u(n)}}function l(t,e){void 0===e&&(e=!0);var n=[],r=t,i=function(t){return n.push(t),void 0!==r&&t(r),function(){n=n.filter((function(e){return e!==t}))}};return{next:function(t){e&&t===r||(r=t,n.forEach((function(e){return e(t)})))},subscribe:i,pipe:u(i),subscribers:n}}function f(){var t=[],e=function(e){return t.push(e),function(){t=t.filter((function(t){return t!==e}))}};return{next:function(e){t.forEach((function(t){return t(e)}))},subscribe:e,pipe:u(e)}}function c(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];var n=Array(t.length).fill(!1),r=Array(t.length),i=[],o=function(t){n.every((function(t){return t}))&&t.forEach((function(t){return t(r)}))};t.forEach((function(t,e){t.subscribe((function(t){n[e]=!0,r[e]=t,o(i)}))}));var s=function(t){return i.push(t),o([t]),function(){i=i.filter((function(e){return e!==t}))}};return{subscribe:s,pipe:u(s)}}function h(t){return function(e,n){n(t(e))}}function p(t){return function(e,n){return n(t)}}function d(t){return function(e,n){t>0?t--:n(e)}}function v(t){return function(e,n){t(e)&&n(e)}}function g(){for(var t=[],n=0;n<arguments.length;n++)t[n]=arguments[n];var r=Array(t.length).fill(!1),i=Array(t.length);return t.forEach((function(t,e){t.subscribe((function(t){i[e]=t,r[e]=!0}))})),function(t,n){r.every((function(t){return t}))&&n(e.__spreadArrays([t],i))}}var m=function(t){var e,n,r=l(!1);return t.pipe(d(1),p(!0)).subscribe(r.next),t.pipe(d(1),p(!1),(function(t,r){e=t,n&&clearTimeout(n),n=setTimeout((function(){r(e)}),200)})).subscribe(r.next),r},y=new(function(){function t(){this.level=0}return t.prototype.rebalance=function(){return this},t.prototype.adjust=function(){return this},t.prototype.shift=function(){return this},t.prototype.remove=function(){return this},t.prototype.find=function(){},t.prototype.findWith=function(){},t.prototype.findMax=function(){return-Infinity},t.prototype.findMaxValue=function(){},t.prototype.insert=function(t,e){return new I({key:t,value:e,level:1})},t.prototype.walkWithin=function(){return[]},t.prototype.walk=function(){return[]},t.prototype.ranges=function(){return[]},t.prototype.rangesWithin=function(){return[]},t.prototype.empty=function(){return!0},t.prototype.isSingle=function(){return!0},t.prototype.isInvariant=function(){return!0},t.prototype.keys=function(){return[]},t}());Object.freeze(y);var x=function(t){function n(e){return t.call(this,"Unreachable case: "+e)||this}return e.__extends(n,t),n}(Error),I=function(){function t(t){var e=t.value,n=t.level,r=t.left,i=void 0===r?y:r,o=t.right,s=void 0===o?y:o;this.key=t.key,this.value=e,this.level=n,this.left=i,this.right=s}return t.prototype.shift=function(t){return this.clone({key:this.key+t,left:this.left.shift(t),right:this.right.shift(t)})},t.prototype.remove=function(t){var e=this.left,n=this.right;if(t===this.key){if(e.empty())return n;if(n.empty())return e;var r=e.last();return this.clone({key:r[0],value:r[1],left:e.deleteLast()}).adjust()}return t<this.key?this.clone({left:e.remove(t)}).adjust():this.clone({right:n.remove(t)}).adjust()},t.prototype.empty=function(){return!1},t.prototype.find=function(t){return t===this.key?this.value:t<this.key?this.left.find(t):this.right.find(t)},t.prototype.findWith=function(t){var e=t(this.value);switch(e){case-1:return this.left.findWith(t);case 0:return[this.key,this.value];case 1:return this.right.findWith(t);default:throw new x(e)}},t.prototype.findMax=function(t){if(this.key===t)return t;if(this.key<t){var e=this.right.findMax(t);return-Infinity===e?this.key:e}return this.left.findMax(t)},t.prototype.findMaxValue=function(t){if(this.key===t)return this.value;if(this.key<t){var e=this.right.findMaxValue(t);return void 0===e?this.value:e}return this.left.findMaxValue(t)},t.prototype.insert=function(t,e){return t===this.key?this.clone({key:t,value:e}):t<this.key?this.clone({left:this.left.insert(t,e)}).rebalance():this.clone({right:this.right.insert(t,e)}).rebalance()},t.prototype.walkWithin=function(t,e){var n=this.key,r=this.value,i=[];return n>t&&(i=i.concat(this.left.walkWithin(t,e))),n>=t&&n<=e&&i.push({key:n,value:r}),n<=e&&(i=i.concat(this.right.walkWithin(t,e))),i},t.prototype.walk=function(){return e.__spreadArrays(this.left.walk(),[{key:this.key,value:this.value}],this.right.walk())},t.prototype.last=function(){return this.right.empty()?[this.key,this.value]:this.right.last()},t.prototype.deleteLast=function(){return this.right.empty()?this.left:this.clone({right:this.right.deleteLast()}).adjust()},t.prototype.clone=function(e){return new t({key:void 0!==e.key?e.key:this.key,value:void 0!==e.value?e.value:this.value,level:void 0!==e.level?e.level:this.level,left:void 0!==e.left?e.left:this.left,right:void 0!==e.right?e.right:this.right})},t.prototype.isSingle=function(){return this.level>this.right.level},t.prototype.rebalance=function(){return this.skew().split()},t.prototype.adjust=function(){var t=this.left,e=this.right,n=this.level;if(e.level>=n-1&&t.level>=n-1)return this;if(n>e.level+1){if(t.isSingle())return this.clone({level:n-1}).skew();if(t.empty()||t.right.empty())throw new Error("Unexpected empty nodes");return t.right.clone({left:t.clone({right:t.right.left}),right:this.clone({left:t.right.right,level:n-1}),level:n})}if(this.isSingle())return this.clone({level:n-1}).split();if(e.empty()||e.left.empty())throw new Error("Unexpected empty nodes");var r=e.left,i=r.isSingle()?e.level-1:e.level;return r.clone({left:this.clone({right:r.left,level:n-1}),right:e.clone({left:r.right,level:i}).split(),level:r.level+1})},t.prototype.isInvariant=function(){var t=this.left,e=this.right,n=this.level;return n===t.level+1&&(n===e.level||n===e.level+1)&&!(!e.empty()&&n<=e.right.level)&&t.isInvariant()&&e.isInvariant()},t.prototype.keys=function(){return e.__spreadArrays(this.left.keys(),[this.key],this.right.keys())},t.prototype.ranges=function(){return this.toRanges(this.walk())},t.prototype.rangesWithin=function(t,e){return this.toRanges(this.walkWithin(t,e))},t.prototype.toRanges=function(t){if(0===t.length)return[];for(var e=t[0],n=e.key,r=e.value,i=[],o=1;o<=t.length;o++){var s=t[o];i.push({start:n,end:s?s.key-1:Infinity,value:r}),s&&(n=s.key,r=s.value)}return i},t.prototype.split=function(){var t=this.right,e=this.level;return t.empty()||t.right.empty()||t.level!==e||t.right.level!==e?this:t.clone({left:this.clone({right:t.left}),level:e+1})},t.prototype.skew=function(){var t=this.left;return t.empty()||t.level!==this.level?this:t.clone({right:this.clone({left:t.right})})},t}(),C=function(){function t(t){this.root=t}return t.empty=function(){return new t(y)},t.prototype.find=function(t){return this.root.find(t)},t.prototype.findMax=function(t){return this.root.findMax(t)},t.prototype.findMaxValue=function(t){if(this.empty())throw new Error("Searching for max value in an empty tree");return this.root.findMaxValue(t)},t.prototype.findWith=function(t){return this.root.findWith(t)},t.prototype.insert=function(e,n){return new t(this.root.insert(e,n))},t.prototype.remove=function(e){return new t(this.root.remove(e))},t.prototype.shift=function(e){if(this.empty())return this;var n=this.root.findMaxValue(Infinity);return new t(this.root.shift(e).insert(0,n))},t.prototype.empty=function(){return this.root.empty()},t.prototype.keys=function(){return this.root.keys()},t.prototype.walk=function(){return this.root.walk()},t.prototype.walkWithin=function(t,e){var n=this.root.findMax(t);return this.root.walkWithin(n,e)},t.prototype.ranges=function(){return this.root.ranges()},t.prototype.rangesWithin=function(t,e){var n=this.root.findMax(t);return this.root.rangesWithin(n,e)},t.prototype.isInvariant=function(){return this.root.isInvariant()},t}(),k=function(){function t(){}return t.prototype.transpose=function(t){return t.map((function(t){return{groupIndex:0,index:t.index,offset:t.offset,size:t.size,transposedIndex:t.index,type:"item"}}))},t}(),b=function(){function t(t){this.count=t.reduce((function(t,e){return t+e+1}),0);for(var e=C.empty(),n=0,r=0,i=0,o=t;i<o.length;i++){var s=o[i];e=e.insert(r,[n,r]),n++,r+=s+1}this.tree=e}return t.prototype.totalCount=function(){return this.count},t.prototype.transpose=function(t){var e=this;return t.map((function(t){var n=e.tree.find(t.index);if(n)return{groupIndex:n[0],index:t.index,offset:t.offset,size:t.size,type:"group"};var r=e.tree.findMaxValue(t.index)[0];return{groupIndex:r,index:t.index,offset:t.offset,size:t.size,transposedIndex:t.index-r-1,type:"item"}}))},t.prototype.groupIndices=function(){return this.tree.keys()},t}(),w=function(){function t(t,e,n,r){if(void 0===e&&(e=C.empty()),void 0===n&&(n=[]),void 0===r&&(r=0),this.initialTopMostItemIndex=0,this.rangeSize=0,this.maxRangeSize=Infinity,this.rangeSizeExceededCallback=function(){},this.rangeTree=t,this.nanIndices=n,this.initialTopMostItemIndex=r,e.empty())for(var i=0,o=!1,s=0,u=t.ranges();s<u.length;s++){var a=u[s],l=a.start,f=a.end,c=a.value;this.rangeSize++,isNaN(c)?(this.nanIndices.push(l),o||(e=e.insert(i,{startIndex:l,endIndex:Infinity,size:c})),o=!0):o||(e=e.insert(i,{startIndex:l,endIndex:f,size:c}),i+=(f-l+1)*c)}this.offsetTree=e}return t.create=function(){return new t(C.empty())},t.prototype.empty=function(){return this.rangeTree.empty()},t.prototype.fromTree=function(e){return new t(e,void 0,void 0,this.initialTopMostItemIndex)},t.prototype.insert=function(t,e,n){var r=this.rangeTree;if(r.empty())return this.fromTree(r.insert(0,n));if(this.rangeSize>this.maxRangeSize)return this.rangeSizeExceededCallback(),this.fromTree(C.empty().insert(0,this.getDefaultSize()));if(this.nanIndices.length&&this.nanIndices.indexOf(e)>-1){if(r.find(this.nanIndices[0]-1)===n)return this.fromTree(C.empty().insert(0,n));for(var i=0,o=this.nanIndices;i<o.length;i++)r=r.insert(o[i],n);return this.fromTree(r)}var s=r.rangesWithin(t-1,e+1);if(s.some((function(r){return r.start===t&&(r.end===e||Infinity===r.end)&&r.value===n})))return this;for(var u=!1,a=!1,l=0,f=s;l<f.length;l++){var c=f[l],h=c.start,p=c.end,d=c.value;u?(e>=h||n===d)&&(r=r.remove(h)):(a=d!==n,u=!0),p>e&&e>=h&&(d===n||isNaN(d)||(r=r.insert(e+1,d)))}return a&&(r=r.insert(t,n)),r===this.rangeTree?this:this.fromTree(r)},t.prototype.insertSpots=function(e,n){if(this.empty()){for(var r=this.rangeTree,i=0,o=e;i<o.length;i++){var s=o[i];r=r.insert(s,n).insert(s+1,NaN)}return new t(r)}throw new Error("attempting to overwrite non-empty tree")},t.prototype.offsetOf=function(t){if(this.offsetTree.empty())return 0;var e=this.offsetTree.findWith((function(e){return e.startIndex>t?-1:e.endIndex<t?1:0}));if(e){var n=e[1];return e[0]+(t-n.startIndex)*n.size}throw new Error("Requested offset outside of the known ones, index: "+t)},t.prototype.itemAt=function(t){return{index:t,size:this.rangeTree.findMaxValue(t),offset:NaN}},t.prototype.indexRange=function(t,e){if(this.rangeTree.empty())return[{index:this.initialTopMostItemIndex,size:0,offset:NaN}];for(var n=[],r=0,i=this.rangeTree.rangesWithin(t,e);r<i.length;r++)for(var o=i[r],s=Math.max(t,o.start),u=Math.min(e,void 0===o.end?Infinity:o.end),a=s;a<=u;a++)n.push({index:a,size:o.value,offset:NaN});return n},t.prototype.range=function(t,e,n,r){if(void 0===n&&(n=0),void 0===r&&(r=Infinity),this.offsetTree.empty())return[{index:this.initialTopMostItemIndex,size:0,offset:0}];for(var i=[],o=0,s=this.offsetTree.rangesWithin(t,e);o<s.length;o++){var u=s[o],a=u.start,l=u.value,f=l.startIndex,c=l.endIndex,h=l.size,p=a,d=f;if(a<t&&(p+=((d+=Math.floor((t-a)/h))-f)*h),d<n&&(p+=(n-d)*h,d=n),isNaN(h))return i.push({index:d,size:0,offset:p}),i;c=Math.min(c,r);for(var v=d;v<=c&&!(p>e);v++)i.push({index:v,size:h,offset:p}),p+=h}return i},t.prototype.total=function(t){for(var e=0,n=0,r=this.rangeTree.rangesWithin(0,t);n<r.length;n++){var i=r[n],o=i.start,s=i.end,u=i.value;e+=((s=Math.min(s,t))-o+1)*(isNaN(u)?0:u)}return e},t.prototype.getOffsets=function(t){var e=this,n=C.empty();return t.forEach((function(t){var r=e.offsetOf(t);n=n.insert(r,t)})),new T(n)},t.prototype.setInitialIndex=function(e){return new t(this.rangeTree,this.offsetTree,this.nanIndices,e)},t.prototype.getDefaultSize=function(){return this.rangeTree.findMaxValue(Infinity)},t.prototype.adjustForPrependedItems=function(t){return this.fromTree(this.rangeTree.shift(t))},t.prototype.configureMaxRangeSize=function(t,e){this.maxRangeSize=t,this.rangeSizeExceededCallback=e},t}(),T=function(){function t(t){this.tree=t}return t.prototype.findMaxValue=function(t){return this.tree.findMaxValue(t)},t.prototype.empty=function(){return this.tree.empty()},t}();function M(t){var e;return function(n){e&&e(),n&&(e=t.subscribe(n))}}function S(t){return t.next}var E=function(t){return t.length>0?t[0].offset:0},z=function(t){return t[0].total(t[1]-1)},R=function(t){var e=t.overscan,n=void 0===e?0:e,r=t.totalCount,i=void 0===r?0:r,o=t.itemHeight,s=l(0),u=l(0),a=l(0),p=l(0),d=l(),y=l(i),x=l(),I=l(),C=w.create(),T=!1,R=l([]),N=l(),_=f(),H=f(),L=l(!1),W=l(0),O=l(!0),F=l(!1),V=l(!1),j=f(),A=f(),P=l(null),D=l(Infinity);o&&(C=C.insert(0,0,o));var q=l(C);q.pipe(g(D)).subscribe((function(t){return t[0].configureMaxRangeSize(t[1],(function(){console.log("Clearing cache size"),A.next(!0)}))})),W.pipe(g(q)).subscribe((function(t){var e=t[0],n=t[1];n.empty()?0!==e&&(O.next(!1),q.next(n.setInitialIndex(e))):_.next(e)})),o||d.pipe(g(q,R,O,P)).subscribe((function(t){var e=t[0],n=t[1],r=t[2],i=t[4];0===e.length&&t[3]&&L.next(!1);var o=n;T&&(o=w.create(),T=!1);for(var s=0,u=e;s<u.length;s++){var a=u[s],l=a.start,f=a.end,c=a.size;o=o.empty()&&l===f&&r.indexOf(l)>-1?o.insertSpots(r,c):o.insert(l,f,c)}if(o!==n&&q.next(o),null!==i){var h=n.offsetOf(i.index)+i.offset;j.next(h),P.next(null)}}));var U=new k;x.subscribe((function(t){U=new b(t),y.next(U.totalCount()),R.next(U.groupIndices())})),c(F,y).pipe(g(V)).subscribe((function(t){var e=t[0],n=e[1];e[0]&&t[1]&&setTimeout((function(){_.next(n-1)}))}));var B=c(q,y).pipe(h(z)),G=c(B,p).pipe(h((function(t){return t[0]+t[1]}))),K=c(q,R).pipe(h((function(t){return t[0].getOffsets(t[1])}))),Y=l([]);c(q,I,y,s).pipe(v((function(t){return t[1]>0&&t[3]>0})),h((function(t){var e=t[0],n=Math.max(0,Math.min(t[1]-1,t[2]));return U.transpose(e.indexRange(0,n))}))).subscribe(Y.next),c(q,K,a).pipe(v((function(t){return!t[1].empty()&&!t[0].empty()})),g(Y),h((function(t){var e=t[0],n=e[0],r=t[1],i=e[1].findMaxValue(Math.max(e[2],0));if(1===r.length&&r[0].index===i)return r;var o=n.itemAt(i);return U.transpose([o])}))).subscribe(Y.next);var J,Q,X=Y.pipe(h((function(t){return t.reduce((function(t,e){return t+e.size}),0)}))),Z=Y.pipe(h((function(t){return t.length&&t[t.length-1].index+1}))),$=c(s,a,X,u,p,Z,y,q,O).pipe((J=function(t){return function(e,n){var r=n[0],i=n[1],o=n[2],s=n[3],u=n[4],a=n[5],l=n[6],f=n[7],c=n[8],h=e.length;if(0===l)return[];var p=E(e),d=p-i+s-u-o,v=Math.max(l-1,0);if(d<r||h>0&&(e[0].index<a||e[h-1].index>v)){var g=Math.max(i,0);e=U.transpose(f.range(g,i+r+2*t-1,a,v))}return p>i&&(g=Math.max(i-2*t,0),e=U.transpose(f.range(g,i+r-1,a,v))),e.length>1&&!c?[]:e}}(n),Q=[],function(t,e){e(Q=J(Q,t))})),tt=f(),et=0;$.pipe(h((function(t){return t.length?t[t.length-1].index:0}))).pipe(g(y)).subscribe((function(t){var e=t[0],n=t[1];0!==n&&e===n-1&&et!==e&&(et=e,tt.next(e))}));var nt=c($,a,X).pipe(h((function(t){return E(t[0])})));_.pipe(g(q,X,R,s,y,G),h((function(t){var e=t[0],n=t[1],r=t[2],i=t[3],o=t[4],s=t[6];"number"==typeof e&&(e={index:e,align:"start"});var u=e.index,a=e.align,l=void 0===a?"start":a;u=Math.max(0,u,Math.min(t[5]-1,u));var f=n.offsetOf(u);return"end"===l?f=f-o+n.itemAt(u).size:"center"===l?f=Math.round(f-o/2+n.itemAt(u).size/2):-1===i.indexOf(u)&&(f-=r),L.next(!0),Math.min(f,s-o)}))).subscribe(j.next),a.pipe(g(j,O)).subscribe((function(t){t[0]!==t[1]||t[2]||O.next(!0)})),q.pipe(g(O,W)).subscribe((function(t){var e=t[2];t[1]||t[0].empty()||_.next(e)})),q.pipe(g(L,_)).subscribe((function(t){t[1]&&_.next(t[2])}));var rt=N.subscribe((function(t){d.next([{start:0,end:0,size:30}]),s.next(30*t),T=!0,rt()})),it=R.pipe(),ot=nt.pipe(h((function(t){return-t}))),st=m(a);c(a,s,G).pipe(h((function(t){var e=t[1];return 0!==e&&t[0]===t[2]-e}))).subscribe(V.next),H.pipe(g(q,a)).subscribe((function(t){var e=t[0],n=t[1],r=t[2];n.empty()||(q.next(n.adjustForPrependedItems(e)),setTimeout((function(){j.next(e*n.getDefaultSize()+r)})))})),A.pipe(g(a,$)).subscribe((function(t){var e=t[2];P.next({index:e[0].index,offset:t[1]-e[0].offset})}));var ut=$.pipe(v((function(t){return 0!==t.length})),h((function(t){return{startIndex:t[0].index,endIndex:t[t.length-1].index}})),function(t){var e;return void 0===t&&(t=function(t,e){return t!==e}),function(n,r){t(e,n)&&(e=n,r(n))}}((function(t,e){return!t||t.startIndex!==e.startIndex||t.endIndex!==e.endIndex})));return{groupCounts:S(x),itemHeights:S(d),footerHeight:S(p),listHeight:S(u),viewportHeight:S(s),scrollTop:S(a),topItemCount:S(I),totalCount:S(y),scrollToIndex:S(_),initialItemCount:S(N),initialTopMostItemIndex:S(W),followOutput:S(F),adjustForPrependedItems:S(H),maxRangeSize:S(D),list:M($),itemsRendered:M($),topList:M(Y),listOffset:M(nt),totalHeight:M(G),endReached:M(tt),atBottomStateChange:M(V),totalListHeightChanged:M(G),rangeChanged:M(ut),isScrolling:M(st),stickyItems:M(R),groupIndices:M(it),stickyItemsOffset:M(ot),scrollTo:M(j)}},N=function(t,e,r){var o=n.useRef(null),s=n.useRef(0),u=new i((function(e){var n=e[0].contentRect.height;r&&(s.current=window.requestAnimationFrame((function(){return r(e[0].target)}))),t(n)}));return n.useEffect((function(){return function(){return window.cancelAnimationFrame(s.current)}}),[]),function(t){t?(u.observe(t),e&&e(t),o.current=t):(u.unobserve(o.current),o.current=null)}};function _(t,e){var r=n.useState(function(t,e){return function(){var n=e;return t((function(t){n=t})),n}}(t,e)),i=r[0],o=r[1];return n.useLayoutEffect((function(){return t(o),function(){return t(void 0)}}),[t]),i}var H={height:"40rem",overflowY:"auto",WebkitOverflowScrolling:"touch",position:"relative",outline:"none"},L=function(t){var e=t.className,i=t.style,o=t.reportScrollTop,s=t.scrollTo,u=t.children,a=n.useRef(null),l=n.useCallback((function(t){o(t.target.scrollTop)}),[o]),f=n.useCallback((function(t){t?(t.addEventListener("scroll",l,{passive:!0}),a.current=t):a.current.removeEventListener("scroll",l)}),[l]);return s((function(t){a.current.scrollTo({top:t})})),r.createElement("div",{ref:f,style:i,tabIndex:0,className:e},u)},W=function(t){var n=t.children,i=t.style,o=t.className,s=t.ScrollContainer,u=t.scrollTop,a=t.scrollTo;return r.createElement(void 0===s?L:s,{style:e.__assign(e.__assign({},H),i),reportScrollTop:u,scrollTo:a,className:o},n)},O=function(t){var e=t.render,i=t.stickyClassName,s=n.useContext(o),u=s.topList,a=_(s.list,[]),l=_(u,[]),f=[],c=0,h=[],p=l.reduce((function(t,e){return t+e.size}),0);return l.forEach((function(t,n){var r=t.index;h.push(r),f.push(e(t,{key:r,"data-index":r,"data-known-size":t.size,className:i,style:{top:c+"px",marginTop:0===n?-p+"px":void 0}})),c+=t.size})),a.forEach((function(t){h.indexOf(t.index)>-1||f.push(e(t,{key:t.index,"data-index":t.index,"data-known-size":t.size}))})),r.createElement(r.Fragment,null," ",f," ")},F=function(t){var e=t.stickyClassName,r=n.useRef(null);return n.useLayoutEffect((function(){var t=document.createElement("style");return document.head.appendChild(t),t.sheet.insertRule("."+e+" {\n position: sticky;\n position: -webkit-sticky;\n z-index: 2;\n } ",0),r.current=t,function(){document.head.removeChild(r.current),r.current=null}}),[e]),null},V=function(){return String.fromCharCode(Math.round(25*Math.random()+97))},j=function(){return new Array(12).fill(0).map(V).join("")},A={top:0,position:"absolute",height:"100%",width:"100%",overflow:"absolute"},P=function(t){return r.createElement("div",{style:{height:t.height+"px",position:"absolute",top:0}}," ")},D=function(t){return r.createElement("footer",{ref:t.footerRef},t.children)},q=function(t){return r.createElement("div",{ref:t.listRef,style:t.style},t.children)},U=function(t){var e=t.footer,i=t.FooterContainer,s=void 0===i?D:i,u=N(n.useContext(o).footerHeight);return r.createElement(s,{footerRef:u},e())},B=function(t){var e=t.fixedItemHeight,i=t.children,s=t.ListContainer,u=n.useContext(o),a=u.listHeight,l=u.itemHeights,f={marginTop:_(u.listOffset,0)+"px"},c=N(a,(function(){}),(function(t){if(!e){var n=function(t){for(var e=[],n=0,r=t.length;n<r;n++){var i=t.item(n);if(i&&void 0!==i.dataset.index){var o=parseInt(i.dataset.index),s=parseInt(i.dataset.knownSize),u=i.offsetHeight;if(u!==s){var a=e[e.length-1];0===e.length||a.size!==u||a.end!==o-1?e.push({start:o,end:o,size:u}):e[e.length-1].end++}}}return e}(t.children);l(n)}}));return r.createElement(s,{listRef:c,style:f},i)},G=function(t){var i=t.style,s=t.footer,u=t.item,a=t.fixedItemHeight,l=t.ScrollContainer,f=t.ListContainer,c=t.FooterContainer,h=t.className,p=n.useContext(o),d=p.scrollTo,v=p.scrollTop,g=p.viewportHeight,m=_(p.totalHeight,0),y=n.useMemo(j,[]),x=N(g);return r.createElement(W,{style:i,ScrollContainer:l,className:h,scrollTo:d,scrollTop:v},r.createElement("div",{ref:x,style:A},r.createElement(B,{fixedItemHeight:a,ListContainer:f},r.createElement(O,{render:u,stickyClassName:y}),s&&r.createElement(U,{footer:s,FooterContainer:c}))),r.createElement(P,{height:m}),r.createElement(F,e.__assign({},{stickyClassName:y})))},K=function(t){return r.createElement(o.Provider,{value:t.contextValue},r.createElement(G,{style:t.style||{},className:t.className,item:t.item,footer:t.footer,fixedItemHeight:void 0!==t.itemHeight,ScrollContainer:t.ScrollContainer,FooterContainer:t.FooterContainer,ListContainer:t.ListContainer||q}))},Y=function(t){function n(n){var i=t.call(this,n)||this;return i.itemRender=function(t,n){var o=n.key,s=e.__rest(n,["key"]),u=i.props,a=u.computeItemKey,l=u.item,f=u.ItemContainer,c=void 0===f?"div":f;return a&&(o=a(t.index)),r.createElement(c,e.__assign(e.__assign({},s),{key:o}),l(t.index))},i.state=R(n),i}return e.__extends(n,t),n.getDerivedStateFromProps=function(t,e){return e.isScrolling(t.scrollingStateChange),e.atBottomStateChange(t.atBottomStateChange),e.endReached(t.endReached),e.topItemCount(t.topItems||0),e.totalCount(t.totalCount),t.initialItemCount&&e.initialItemCount(t.initialItemCount),e.itemsRendered(t.itemsRendered),e.totalListHeightChanged(t.totalListHeightChanged),t.initialTopMostItemIndex&&e.initialTopMostItemIndex(t.initialTopMostItemIndex),e.followOutput(!!t.followOutput),e.maxRangeSize(t.maxHeightCacheSize||Infinity),e.rangeChanged(t.rangeChanged),null},n.prototype.scrollToIndex=function(t){this.state.scrollToIndex(t)},n.prototype.adjustForPrependedItems=function(t){this.state.adjustForPrependedItems(t)},n.prototype.componentWillUnmount=function(){this.state.itemsRendered(void 0),this.state.totalListHeightChanged(void 0)},n.prototype.render=function(){return r.createElement(K,{contextValue:this.state,style:this.props.style,className:this.props.className,item:this.itemRender,footer:this.props.footer,itemHeight:this.props.itemHeight,ScrollContainer:this.props.ScrollContainer,FooterContainer:this.props.FooterContainer,ListContainer:this.props.ListContainer})},n}(n.PureComponent),J=function(t){function n(n){var i=t.call(this,n)||this;return i.itemRender=function(t,n){var o=i.props.ItemContainer,s=i.props.GroupContainer||o;if("group"===t.type){var u=i.props.group(t.groupIndex);return s?r.createElement(s,e.__assign({key:n.key},n),u):r.createElement("div",e.__assign({},n),u)}return u=i.props.item(t.transposedIndex,t.groupIndex),o?r.createElement(o,e.__assign({key:n.key},n),u):r.createElement("div",e.__assign({},n),u)},i.state=R(n),i}return e.__extends(n,t),n.getDerivedStateFromProps=function(t,e){return e.endReached(t.endReached),e.isScrolling(t.scrollingStateChange),e.groupCounts(t.groupCounts),e.groupIndices(t.groupIndices),e.itemsRendered(t.itemsRendered),e.totalListHeightChanged(t.totalListHeightChanged),null},n.prototype.scrollToIndex=function(t){this.state.scrollToIndex(t)},n.prototype.componentWillUnmount=function(){this.state.itemsRendered(void 0),this.state.totalListHeightChanged(void 0)},n.prototype.render=function(){return r.createElement(K,{contextValue:this.state,style:this.props.style,className:this.props.className,item:this.itemRender,footer:this.props.footer,itemHeight:this.props.itemHeight,ScrollContainer:this.props.ScrollContainer,FooterContainer:this.props.FooterContainer,ListContainer:this.props.ListContainer})},n}(n.PureComponent),Q=Math.ceil,X=Math.floor,Z=Math.min,$=Math.max,tt=function(t){return Q(t)-t<.03?Q(t):X(t)},et=function(){var t=l([0,0,void 0,void 0]),e=l(0),n=l(0),r=l(0),i=l([0,0]),o=l(0),s=l(0),u=f();c(t,n,r,e).pipe(g(i)).subscribe((function(t){var e=t[0],n=e[0],r=n[0],u=n[1],a=n[2],l=n[3],f=e[1],c=e[2],h=e[3],p=t[1];if(void 0!==a&&void 0!==l){if(0===h)return i.next([0,-1]),void s.next(0);var d=p[0],v=p[1],g=tt(r/a),m=function(t,e){return void 0===e&&(e=X),e(t/g)},y=function(t){var e=t?[0,c]:[c,0],n=e[1],r=g*X((f-e[0])/l),o=g*Q((f+u+n)/l)-1;o=Z(h-1,o),r=Z(o,$(0,r)),i.next([r,o]),s.next(m(r)*l)},x=l*m(d),I=l*m(v)+l;h<v-1?y(!0):x>f?y(!1):I<f+u&&y(!0),o.next(l*m(h,Q))}}));var a=u.pipe(g(t,e),h((function(t){var e=t[0],n=t[1],r=n[0],i=n[1],o=n[2],s=n[3];if(void 0===o||void 0===s)return 0;"number"==typeof e&&(e={index:e,align:"start"});var u=e.index,a=e.align,l=void 0===a?"start":a;u=Math.max(0,u,Math.min(t[2]-1,u));var f=tt(r/o),c=X(u/f)*s;return"end"===l?c=c-i+s:"center"===l&&(c=Math.round(c-i/2+s/2)),c}))),p=m(n),d=f(),v=0;return i.pipe(g(e)).subscribe((function(t){var e=t[0][1],n=t[1];0!==n&&e===n-1&&v!==e&&(v=e,d.next(e))})),{gridDimensions:S(t),totalCount:S(e),scrollTop:S(n),overscan:S(r),scrollToIndex:S(u),itemRange:M(i),totalHeight:M(o),listOffset:M(s),scrollTo:M(a),isScrolling:M(p),endReached:M(d)}},nt=function(t){function n(){var e=null!==t&&t.apply(this,arguments)||this;return e.state=et(),e}return e.__extends(n,t),n.getDerivedStateFromProps=function(t,e){return e.overscan(t.overscan||0),e.totalCount(t.totalCount),e.isScrolling(t.scrollingStateChange),e.endReached(t.endReached),null},n.prototype.scrollToIndex=function(t){this.state.scrollToIndex(t)},n.prototype.render=function(){return r.createElement(rt,e.__assign({},this.props,{engine:this.state}))},n}(r.PureComponent),rt=function(t){var e,o,s,u,a=t.ScrollContainer,l=t.ItemContainer,f=void 0===l?"div":l,c=t.ListContainer,h=void 0===c?"div":c,p=t.className,d=t.item,v=t.itemClassName,g=void 0===v?"virtuoso-grid-item":v,m=t.listClassName,y=void 0===m?"virtuoso-grid-list":m,x=t.engine,I=t.style,C=void 0===I?{height:"40rem"}:I,k=x.itemRange,b=x.listOffset,w=x.gridDimensions,T=x.scrollTo,M=x.scrollTop,S=_(x.totalHeight,0),E={marginTop:_(b,0)+"px"},z=_(k,[0,0]),R=(e=function(t){var e=t.element.firstChild.firstChild;w([t.width,t.height,e.offsetWidth,e.offsetHeight])},o=n.useRef(null),s=n.useRef([0,0]),u=new i((function(t){var n=t[0].contentRect,r=n.width,i=n.height;s.current[0]===r&&s.current[1]===i||(s.current=[r,i],e({element:t[0].target,width:r,height:i}))})),function(t){t?(u.observe(t),o.current=t):(u.unobserve(o.current),o.current=null)});return r.createElement(W,{style:C,ScrollContainer:a,className:p,scrollTo:T,scrollTop:M},r.createElement("div",{ref:R,style:A},r.createElement(h,{style:E,className:y},function(t,e,n,i){for(var o=t[1],s=[],u=t[0];u<=o;u++)s.push(r.createElement(i,{key:u,className:n},e(u)));return s}(z,d,g,f))),r.createElement(P,{height:S}))};exports.GroupedVirtuoso=J,exports.Virtuoso=Y,exports.VirtuosoGrid=nt,exports.VirtuosoPresentation=K;
//# sourceMappingURL=react-virtuoso.cjs.production.min.js.map

@@ -47,2 +47,3 @@ export declare type TSubscriber<T> = (val: T) => void;

export declare function combineLatest<S1, S2, S3, S4, S5, S6, S7, S8>(s1: TObservable<S1>, s2: TObservable<S2>, s3: TObservable<S3>, s4: TObservable<S4>, s5: TObservable<S5>, s6: TObservable<S6>, s7: TObservable<S7>, s8: TObservable<S8>): TObservable<[S1, S2, S3, S4, S5, S6, S7, S8]>;
export declare function combineLatest<S1, S2, S3, S4, S5, S6, S7, S8, S9>(s1: TObservable<S1>, s2: TObservable<S2>, s3: TObservable<S3>, s4: TObservable<S4>, s5: TObservable<S5>, s6: TObservable<S6>, s7: TObservable<S7>, s8: TObservable<S8>, s9: TObservable<S9>): TObservable<[S1, S2, S3, S4, S5, S6, S7, S8, S9]>;
export declare function map<T, K>(map: (val: T) => K): (val: T, subscriber: TSubscriber<K>) => void;

@@ -52,2 +53,3 @@ export declare function mapTo<T>(val: T): (_: any, done: TSubscriber<T>) => void;

export declare function filter<T>(predicate: (val: T) => boolean): (val: T, done: TSubscriber<T>) => void;
export declare function duc<T>(comparator?: (current: T, next: T) => boolean): (next: T, done: TSubscriber<T>) => void;
export declare function debounceTime<T>(time: number): (newVal: T, done: TSubscriber<T>) => void;

@@ -60,1 +62,3 @@ export declare function scan<T, K>(scanner: (prevVal: T, current: K) => T, initialValue: T): (newVal: K, done: TSubscriber<T>) => void;

export declare function withLatestFrom<T, R1, R2, R3, R4, R5>(s1: TObservable<R1>, s2: TObservable<R2>, s3: TObservable<R3>, s4: TObservable<R4>, s5: TObservable<R5>): (val: T, done: TSubscriber<[T, R1, R2, R3, R4, R5]>) => void;
export declare function withLatestFrom<T, R1, R2, R3, R4, R5, R6>(s1: TObservable<R1>, s2: TObservable<R2>, s3: TObservable<R3>, s4: TObservable<R4>, s5: TObservable<R5>, s6: TObservable<R6>): (val: T, done: TSubscriber<[T, R1, R2, R3, R4, R5, R6]>) => void;
export declare function withLatestFrom<T, R1, R2, R3, R4, R5, R6, R7>(s1: TObservable<R1>, s2: TObservable<R2>, s3: TObservable<R3>, s4: TObservable<R4>, s5: TObservable<R5>, s6: TObservable<R6>, s7: TObservable<R7>): (val: T, done: TSubscriber<[T, R1, R2, R3, R4, R5, R6, R7]>) => void;

@@ -17,6 +17,12 @@ import React, { CSSProperties, FC, PureComponent, ReactElement } from 'react';

computeItemKey?: (index: number) => number;
prependItemCount?: number;
itemHeight?: number;
endReached?: (index: number) => void;
scrollingStateChange?: (isScrolling: boolean) => void;
scrollingStateChange?: TSubscriber<boolean>;
atBottomStateChange?: TSubscriber<boolean>;
itemsRendered?: TSubscriber<ListItem[]>;
rangeChanged?: TSubscriber<{
startIndex: number;
endIndex: number;
}>;
totalListHeightChanged?: TSubscriber<number>;

@@ -26,2 +32,4 @@ style?: CSSProperties;

initialItemCount?: number;
initialTopMostItemIndex?: number;
followOutput?: boolean;
ScrollContainer?: TScrollContainer;

@@ -31,2 +39,3 @@ FooterContainer?: TFooterContainer;

ItemContainer?: TItemContainer;
maxHeightCacheSize?: number;
}

@@ -51,4 +60,5 @@ interface TVirtuosoPresentationProps {

scrollToIndex(location: TScrollLocation): void;
adjustForPrependedItems(count: number): void;
componentWillUnmount(): void;
render(): JSX.Element;
}

@@ -0,3 +1,3 @@

import { TScrollLocation } from './EngineCommons';
import { ListItem } from './GroupIndexTransposer';
import { TScrollLocation } from './EngineCommons';
export interface ItemHeight {

@@ -25,2 +25,6 @@ start: number;

initialItemCount: (value: number) => void;
initialTopMostItemIndex: (value: number) => void;
followOutput: (value: boolean) => void;
adjustForPrependedItems: (value: number) => void;
maxRangeSize: (value: number) => void;
list: (callback: ((val: ListItem[]) => void) | undefined) => void;

@@ -32,3 +36,8 @@ itemsRendered: (callback: ((val: ListItem[]) => void) | undefined) => void;

endReached: (callback: ((val: number) => void) | undefined) => void;
atBottomStateChange: (callback: ((val: boolean) => void) | undefined) => void;
totalListHeightChanged: (callback: ((val: number) => void) | undefined) => void;
rangeChanged: (callback: ((val: {
startIndex: number;
endIndex: number;
}) => void) | undefined) => void;
isScrolling: (callback: ((val: boolean) => void) | undefined) => void;

@@ -35,0 +44,0 @@ stickyItems: (callback: ((val: number[]) => void) | undefined) => void;

{
"name": "react-virtuoso",
"version": "0.12.6",
"sideEffects": false,
"version": "0.13.0",
"homepage": "https://virtuoso.dev",

@@ -28,2 +29,3 @@ "license": "MIT",

"devDependencies": {
"@types/faker": "^4.1.9",
"@types/jest": "^24.0.25",

@@ -33,2 +35,3 @@ "@types/lodash": "^4.14.144",

"@types/react-dom": "^16.9.4",
"faker": "^4.1.0",
"husky": "^4.0.6",

@@ -35,0 +38,0 @@ "parcel": "^1.12.3",

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc