react-virtual
Advanced tools
Comparing version 2.1.5 to 2.1.6
@@ -291,2 +291,3 @@ (function (global, factory) { | ||
latestRef.current = { | ||
measurements: measurements, | ||
outerSize: outerSize, | ||
@@ -332,2 +333,6 @@ scrollOffset: scrollOffset, | ||
var _latestRef$current2 = latestRef.current, | ||
measurements = _latestRef$current2.measurements, | ||
scrollOffset = _latestRef$current2.scrollOffset, | ||
scrollOffsetPlusOuterSize = _latestRef$current2.scrollOffsetPlusOuterSize; | ||
var measurement = measurements[index]; | ||
@@ -350,3 +355,5 @@ | ||
var offset = align === 'center' ? measurement.start + measurement.size / 2 : align === 'end' ? measurement.end : measurement.start; | ||
scrollToOffset(offset, options); | ||
scrollToOffset(offset, { | ||
align: align | ||
}); | ||
}, [scrollToOffset]); | ||
@@ -353,0 +360,0 @@ return { |
@@ -1,2 +0,2 @@ | ||
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("react")):"function"==typeof define&&define.amd?define(["exports","react"],t):t((e=e||self).ReactVirtual={},e.React)}(this,(function(e,t){"use strict";function r(){return(r=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e}).apply(this,arguments)}t=t&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t;var n="undefined"!=typeof window?t.useLayoutEffect:t.useEffect;var o,u=["bottom","height","left","right","top","width"],c=new Map,i=function e(){var t=[];c.forEach((function(e,r){var n,o,c=r.getBoundingClientRect();n=c,o=e.rect,void 0===n&&(n={}),void 0===o&&(o={}),u.some((function(e){return n[e]!==o[e]}))&&(e.rect=c,t.push(e))})),t.forEach((function(e){e.callbacks.forEach((function(t){return t(e.rect)}))})),o=window.requestAnimationFrame(e)};function a(e){var r=t.useState(e.current),u=r[0],a=r[1],s=t.useState(null),f=s[0],l=s[1],v=t.useRef(!1);return n((function(){e.current!==u&&a(e.current)})),n((function(){u&&!v.current&&(v.current=!0,l(u.getBoundingClientRect()))}),[u]),t.useEffect((function(){var e,t,r;return u&&(t=u,r=l,e={observe:function(){var e=0===c.size;c.has(t)?c.get(t).callbacks.push(r):c.set(t,{rect:void 0,hasRectChanged:!1,callbacks:[r]}),e&&i()},unobserve:function(){var e=c.get(t);if(e){var n=e.callbacks.indexOf(r);n>=0&&e.callbacks.splice(n,1),e.callbacks.length||c.delete(t),c.size||cancelAnimationFrame(o)}}}),e&&e.observe(),function(){e&&e.unobserve()}}),[u]),f}e.useVirtual=function(e){var o,u,c=e.size,i=void 0===c?0:c,s=e.estimateSize,f=e.overscan,l=void 0===f?0:f,v=e.parentRef,d=e.horizontal,p=e.scrollToFn,h=d?"width":"height",m=d?"scrollLeft":"scrollTop",b=t.useCallback((function(e){v.current[m]=e}),[v,m]);p=p||b;var g=(a(v)||((o={})[h]=0,o))[h],z=t.useState(0),O=z[0],S=z[1];!function(e,r){var o=t.useState(e.current),u=o[0],c=o[1],i=t.useRef();i.current=r,n((function(){e.current!==u&&c(e.current)})),n((function(){u&&i.current({scrollLeft:u.scrollLeft,scrollTop:u.scrollTop})}),[u]),t.useEffect((function(){var e=function(e){i.current({scrollLeft:e.target.scrollLeft,scrollTop:e.target.scrollTop})};if(u)return u.addEventListener("scroll",e,{capture:!1,passive:!0}),function(){u.removeEventListener("scroll",e)}}),[u])}(v,(function(e){var t=e[m];S(t)}));var R=O+g,y=t.useState({}),x=y[0],M=y[1],k=t.useRef();n((function(){k.current&&(s||i)&&M({}),k.current=!0}),[s,i]);var w=t.useMemo((function(){for(var e=[],t=0;t<i;t++){var r,n=(null==(r=e[t-1])?void 0:r.end)||0,o=x[t]||s(t),u=n+o;e[t]={index:t,start:n,size:o,end:u}}return e}),[s,x,i]),E=(null==(u=w[i-1])?void 0:u.end)||0,L=t.useMemo((function(){return w.find((function(e){return e.end>=O}))}),[w,O]),T=t.useMemo((function(){return[].concat(w).reverse().find((function(e){return e.start<=R}))}),[w,R]),C=L?L.index:0,j=T?T.index:0;C=Math.max(C-1-l,0),j=Math.min(j+1+l,i-1);var P=t.useMemo((function(){for(var e=[],t=function(t){var n=r(r({},w[t]),{},{measureRef:function(e){if(e){var o=e.getBoundingClientRect()[h];o!==n.size&&M((function(e){var n;return r(r({},e),{},((n={})[t]=o,n))}))}}});e.push(n)},n=C;n<=j;n++)t(n);return e}),[C,j,w,h]),B=t.useRef();B.current={outerSize:g,scrollOffset:O,scrollOffsetPlusOuterSize:R,totalSize:E};var F=t.useCallback((function(e,t){var r=(void 0===t?{}:t).align,n=void 0===r?"start":r,o=B.current,u=o.outerSize,c=o.scrollOffset,i=o.scrollOffsetPlusOuterSize,a=o.totalSize;e=Math.max(0,Math.min(e,a-u)),"auto"===n&&(n=e<=c?"start":e>=i?"end":"start"),"start"===n?p(e):"end"===n?p(e-u):"center"===n&&p(e-u/2)}),[p]),q=t.useCallback((function(e,t){var r=(void 0===t?{}:t).align,n=void 0===r?"auto":r,o=w[e];if(o){if("auto"===n)if(o.end>=R)n="end";else{if(!(o.start<=O))return;n="start"}var u="center"===n?o.start+o.size/2:"end"===n?o.end:o.start;F(u,options)}}),[F]);return{virtualItems:P,totalSize:E,scrollToOffset:F,scrollToIndex:q}},Object.defineProperty(e,"__esModule",{value:!0})})); | ||
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("react")):"function"==typeof define&&define.amd?define(["exports","react"],t):t((e=e||self).ReactVirtual={},e.React)}(this,(function(e,t){"use strict";function r(){return(r=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e}).apply(this,arguments)}t=t&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t;var n="undefined"!=typeof window?t.useLayoutEffect:t.useEffect;var o,u=["bottom","height","left","right","top","width"],c=new Map,a=function e(){var t=[];c.forEach((function(e,r){var n,o,c=r.getBoundingClientRect();n=c,o=e.rect,void 0===n&&(n={}),void 0===o&&(o={}),u.some((function(e){return n[e]!==o[e]}))&&(e.rect=c,t.push(e))})),t.forEach((function(e){e.callbacks.forEach((function(t){return t(e.rect)}))})),o=window.requestAnimationFrame(e)};function i(e){var r=t.useState(e.current),u=r[0],i=r[1],s=t.useState(null),f=s[0],l=s[1],v=t.useRef(!1);return n((function(){e.current!==u&&i(e.current)})),n((function(){u&&!v.current&&(v.current=!0,l(u.getBoundingClientRect()))}),[u]),t.useEffect((function(){var e,t,r;return u&&(t=u,r=l,e={observe:function(){var e=0===c.size;c.has(t)?c.get(t).callbacks.push(r):c.set(t,{rect:void 0,hasRectChanged:!1,callbacks:[r]}),e&&a()},unobserve:function(){var e=c.get(t);if(e){var n=e.callbacks.indexOf(r);n>=0&&e.callbacks.splice(n,1),e.callbacks.length||c.delete(t),c.size||cancelAnimationFrame(o)}}}),e&&e.observe(),function(){e&&e.unobserve()}}),[u]),f}e.useVirtual=function(e){var o,u,c=e.size,a=void 0===c?0:c,s=e.estimateSize,f=e.overscan,l=void 0===f?0:f,v=e.parentRef,d=e.horizontal,p=e.scrollToFn,h=d?"width":"height",m=d?"scrollLeft":"scrollTop",g=t.useCallback((function(e){v.current[m]=e}),[v,m]);p=p||g;var b=(i(v)||((o={})[h]=0,o))[h],O=t.useState(0),z=O[0],S=O[1];!function(e,r){var o=t.useState(e.current),u=o[0],c=o[1],a=t.useRef();a.current=r,n((function(){e.current!==u&&c(e.current)})),n((function(){u&&a.current({scrollLeft:u.scrollLeft,scrollTop:u.scrollTop})}),[u]),t.useEffect((function(){var e=function(e){a.current({scrollLeft:e.target.scrollLeft,scrollTop:e.target.scrollTop})};if(u)return u.addEventListener("scroll",e,{capture:!1,passive:!0}),function(){u.removeEventListener("scroll",e)}}),[u])}(v,(function(e){var t=e[m];S(t)}));var R=z+b,y=t.useState({}),x=y[0],M=y[1],k=t.useRef();n((function(){k.current&&(s||a)&&M({}),k.current=!0}),[s,a]);var w=t.useMemo((function(){for(var e=[],t=0;t<a;t++){var r,n=(null==(r=e[t-1])?void 0:r.end)||0,o=x[t]||s(t),u=n+o;e[t]={index:t,start:n,size:o,end:u}}return e}),[s,x,a]),E=(null==(u=w[a-1])?void 0:u.end)||0,L=t.useMemo((function(){return w.find((function(e){return e.end>=z}))}),[w,z]),T=t.useMemo((function(){return[].concat(w).reverse().find((function(e){return e.start<=R}))}),[w,R]),C=L?L.index:0,P=T?T.index:0;C=Math.max(C-1-l,0),P=Math.min(P+1+l,a-1);var j=t.useMemo((function(){for(var e=[],t=function(t){var n=r(r({},w[t]),{},{measureRef:function(e){if(e){var o=e.getBoundingClientRect()[h];o!==n.size&&M((function(e){var n;return r(r({},e),{},((n={})[t]=o,n))}))}}});e.push(n)},n=C;n<=P;n++)t(n);return e}),[C,P,w,h]),B=t.useRef();B.current={measurements:w,outerSize:b,scrollOffset:z,scrollOffsetPlusOuterSize:R,totalSize:E};var F=t.useCallback((function(e,t){var r=(void 0===t?{}:t).align,n=void 0===r?"start":r,o=B.current,u=o.outerSize,c=o.scrollOffset,a=o.scrollOffsetPlusOuterSize,i=o.totalSize;e=Math.max(0,Math.min(e,i-u)),"auto"===n&&(n=e<=c?"start":e>=a?"end":"start"),"start"===n?p(e):"end"===n?p(e-u):"center"===n&&p(e-u/2)}),[p]),q=t.useCallback((function(e,t){var r=(void 0===t?{}:t).align,n=void 0===r?"auto":r,o=B.current,u=o.measurements,c=o.scrollOffset,a=o.scrollOffsetPlusOuterSize,i=u[e];if(i){if("auto"===n)if(i.end>=a)n="end";else{if(!(i.start<=c))return;n="start"}var s="center"===n?i.start+i.size/2:"end"===n?i.end:i.start;F(s,{align:n})}}),[F]);return{virtualItems:j,totalSize:E,scrollToOffset:F,scrollToIndex:q}},Object.defineProperty(e,"__esModule",{value:!0})})); | ||
//# sourceMappingURL=react-virtual.production.min.js.map |
{ | ||
"name": "react-virtual", | ||
"version": "2.1.5", | ||
"version": "2.1.6", | ||
"description": "Hooks for virtualizing scrollable elements in React", | ||
@@ -5,0 +5,0 @@ "author": "tannerlinsley", |
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 not supported yet
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 not supported yet
130089
989