@aquera/nile-elements 1.7.3 → 1.7.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index-199b0eac.esm.js +1 -0
- package/dist/index-f5e587e2.cjs.js +2 -0
- package/dist/index-f5e587e2.cjs.js.map +1 -0
- package/dist/index.cjs.js +1 -1
- package/dist/index.esm.js +1 -1
- package/dist/index.js +993 -680
- package/dist/nile-combobox/index.cjs.js +1 -1
- package/dist/nile-combobox/index.esm.js +1 -1
- package/dist/nile-combobox/nile-combobox.cjs.js +1 -1
- package/dist/nile-combobox/nile-combobox.cjs.js.map +1 -1
- package/dist/nile-combobox/nile-combobox.esm.js +28 -28
- package/dist/nile-detail/index.cjs.js +1 -1
- package/dist/nile-detail/index.esm.js +1 -1
- package/dist/nile-detail/nile-detail.cjs.js +1 -1
- package/dist/nile-detail/nile-detail.cjs.js.map +1 -1
- package/dist/nile-detail/nile-detail.css.cjs.js +1 -1
- package/dist/nile-detail/nile-detail.css.cjs.js.map +1 -1
- package/dist/nile-detail/nile-detail.css.esm.js +230 -0
- package/dist/nile-detail/nile-detail.esm.js +89 -7
- package/dist/nile-floating-panel/index.cjs.js +1 -1
- package/dist/nile-floating-panel/nile-floating-panel.cjs.js +1 -1
- package/dist/nile-inline-sidebar-item/nile-inline-sidebar-item.cjs.js +1 -1
- package/dist/nile-inline-sidebar-item/nile-inline-sidebar-item.cjs.js.map +1 -1
- package/dist/nile-inline-sidebar-item/nile-inline-sidebar-item.esm.js +1 -1
- package/dist/nile-inline-sidebar-item-header/nile-inline-sidebar-item-header.css.cjs.js +1 -1
- package/dist/nile-inline-sidebar-item-header/nile-inline-sidebar-item-header.css.cjs.js.map +1 -1
- package/dist/nile-inline-sidebar-item-header/nile-inline-sidebar-item-header.css.esm.js +2 -1
- package/dist/nile-lite-tooltip/index.cjs.js +1 -1
- package/dist/nile-lite-tooltip/nile-lite-tooltip.cjs.js +1 -1
- package/dist/src/nile-detail/nile-detail.css.js +230 -0
- package/dist/src/nile-detail/nile-detail.css.js.map +1 -1
- package/dist/src/nile-detail/nile-detail.d.ts +151 -0
- package/dist/src/nile-detail/nile-detail.js +829 -4
- package/dist/src/nile-detail/nile-detail.js.map +1 -1
- package/dist/src/nile-inline-sidebar-item/nile-inline-sidebar-item.js +1 -1
- package/dist/src/nile-inline-sidebar-item/nile-inline-sidebar-item.js.map +1 -1
- package/dist/src/nile-inline-sidebar-item-header/nile-inline-sidebar-item-header.css.js +2 -1
- package/dist/src/nile-inline-sidebar-item-header/nile-inline-sidebar-item-header.css.js.map +1 -1
- package/dist/src/version.js +1 -1
- package/dist/src/version.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +1 -1
- package/src/nile-detail/nile-detail.css.ts +230 -0
- package/src/nile-detail/nile-detail.ts +876 -4
- package/src/nile-inline-sidebar-item/nile-inline-sidebar-item.ts +1 -1
- package/src/nile-inline-sidebar-item-header/nile-inline-sidebar-item-header.css.ts +2 -1
- package/vscode-html-custom-data.json +120 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
function t(t,s,i){let h,n=i.initialDeps??[],e=!0;function r(){var r,o,l;let a;i.key&&(null==(r=i.debug)?void 0:r.call(i))&&(a=Date.now());const u=t();if(!(u.length!==n.length||u.some(((t,s)=>n[s]!==t))))return h;let d;if(n=u,i.key&&(null==(o=i.debug)?void 0:o.call(i))&&(d=Date.now()),h=s(...u),i.key&&(null==(l=i.debug)?void 0:l.call(i))){const t=Math.round(100*(Date.now()-a))/100,s=Math.round(100*(Date.now()-d))/100,h=s/16,n=(t,s)=>{for(t=String(t);t.length<s;)t=" "+t;return t};console.info(`%c⏱ ${n(s,5)} /${n(t,5)} ms`,`\n font-size: .6rem;\n font-weight: bold;\n color: hsl(${Math.max(0,Math.min(120-120*h,120))}deg 100% 31%);`,null==i?void 0:i.key)}return!(null==i?void 0:i.onChange)||e&&i.skipInitialOnChange||i.onChange(h),e=!1,h}return r.updateDeps=t=>{n=t},r}function s(t,s){if(void 0===t)throw new Error("Unexpected undefined"+(s?`: ${s}`:""));return t}const i=(t,s,i)=>{let h;return function(...n){t.clearTimeout(h),h=t.setTimeout((()=>s.apply(this,n)),i)}},h=t=>{const{offsetWidth:s,offsetHeight:i}=t;return{width:s,height:i}},n=t=>t,e=t=>{const s=Math.max(t.startIndex-t.overscan,0),i=Math.min(t.endIndex+t.overscan,t.count-1),h=[];for(let t=s;t<=i;t++)h.push(t);return h},r=(t,s)=>{const i=t.scrollElement;if(!i)return;const n=t.targetWindow;if(!n)return;const e=t=>{const{width:i,height:h}=t;s({width:Math.round(i),height:Math.round(h)})};if(e(h(i)),!n.ResizeObserver)return()=>{};const r=new n.ResizeObserver((s=>{const n=()=>{const t=s[0];if(null==t?void 0:t.borderBoxSize){const s=t.borderBoxSize[0];if(s)return void e({width:s.inlineSize,height:s.blockSize})}e(h(i))};t.options.useAnimationFrameWithResizeObserver?requestAnimationFrame(n):n()}));return r.observe(i,{box:"border-box"}),()=>{r.unobserve(i)}},o={passive:!0},l="undefined"==typeof window||"onscrollend"in window,a=(t,s)=>{const h=t.scrollElement;if(!h)return;const n=t.targetWindow;if(!n)return;let e=0;const r=t.options.useScrollendEvent&&l?()=>{}:i(n,(()=>{s(e,!1)}),t.options.isScrollingResetDelay),a=i=>()=>{const{horizontal:n,isRtl:o}=t.options;e=n?h.scrollLeft*(o?-1:1):h.scrollTop,r(),s(e,i)},u=a(!0),d=a(!1);h.addEventListener("scroll",u,o);const c=t.options.useScrollendEvent&&l;return c&&h.addEventListener("scrollend",d,o),()=>{h.removeEventListener("scroll",u),c&&h.removeEventListener("scrollend",d)}},u=(t,s,i)=>{if(null==s?void 0:s.borderBoxSize){const t=s.borderBoxSize[0];if(t){return Math.round(t[i.options.horizontal?"inlineSize":"blockSize"])}}return t[i.options.horizontal?"offsetWidth":"offsetHeight"]},d=(t,{adjustments:s=0,behavior:i},h)=>{var n,e;const r=t+s;null==(e=null==(n=h.scrollElement)?void 0:n.scrollTo)||e.call(n,{[h.options.horizontal?"left":"top"]:r,behavior:i})};class c{constructor(i){this.unsubs=[],this.scrollElement=null,this.targetWindow=null,this.isScrolling=!1,this.scrollState=null,this.measurementsCache=[],this.itemSizeCache=new Map,this.laneAssignments=new Map,this.pendingMeasuredCacheIndexes=[],this.prevLanes=void 0,this.lanesChangedFlag=!1,this.lanesSettling=!1,this.scrollRect=null,this.scrollOffset=null,this.scrollDirection=null,this.scrollAdjustments=0,this.elementsCache=new Map,this.now=()=>{var t,s,i;return(null==(i=null==(s=null==(t=this.targetWindow)?void 0:t.performance)?void 0:s.now)?void 0:i.call(s))??Date.now()},this.observer=(()=>{let t=null;const s=()=>t||(this.targetWindow&&this.targetWindow.ResizeObserver?t=new this.targetWindow.ResizeObserver((t=>{t.forEach((t=>{const s=()=>{const s=t.target,i=this.indexFromElement(s);s.isConnected?this.shouldMeasureDuringScroll(i)&&this.resizeItem(i,this.options.measureElement(s,t,this)):this.observer.unobserve(s)};this.options.useAnimationFrameWithResizeObserver?requestAnimationFrame(s):s()}))})):null);return{disconnect:()=>{var i;null==(i=s())||i.disconnect(),t=null},observe:t=>{var i;return null==(i=s())?void 0:i.observe(t,{box:"border-box"})},unobserve:t=>{var i;return null==(i=s())?void 0:i.unobserve(t)}}})(),this.range=null,this.setOptions=t=>{Object.entries(t).forEach((([s,i])=>{void 0===i&&delete t[s]})),this.options={debug:!1,initialOffset:0,overscan:1,paddingStart:0,paddingEnd:0,scrollPaddingStart:0,scrollPaddingEnd:0,horizontal:!1,getItemKey:n,rangeExtractor:e,onChange:()=>{},measureElement:u,initialRect:{width:0,height:0},scrollMargin:0,gap:0,indexAttribute:"data-index",initialMeasurementsCache:[],lanes:1,isScrollingResetDelay:150,enabled:!0,isRtl:!1,useScrollendEvent:!1,useAnimationFrameWithResizeObserver:!1,laneAssignmentMode:"estimate",...t}},this.notify=t=>{var s,i;null==(i=(s=this.options).onChange)||i.call(s,this,t)},this.maybeNotify=t((()=>(this.calculateRange(),[this.isScrolling,this.range?this.range.startIndex:null,this.range?this.range.endIndex:null])),(t=>{this.notify(t)}),{key:!1,debug:()=>this.options.debug,initialDeps:[this.isScrolling,this.range?this.range.startIndex:null,this.range?this.range.endIndex:null]}),this.cleanup=()=>{this.unsubs.filter(Boolean).forEach((t=>t())),this.unsubs=[],this.observer.disconnect(),null!=this.rafId&&this.targetWindow&&(this.targetWindow.cancelAnimationFrame(this.rafId),this.rafId=null),this.scrollState=null,this.scrollElement=null,this.targetWindow=null},this._didMount=()=>()=>{this.cleanup()},this._willUpdate=()=>{var t;const s=this.options.enabled?this.options.getScrollElement():null;if(this.scrollElement!==s){if(this.cleanup(),!s)return void this.maybeNotify();this.scrollElement=s,this.scrollElement&&"ownerDocument"in this.scrollElement?this.targetWindow=this.scrollElement.ownerDocument.defaultView:this.targetWindow=(null==(t=this.scrollElement)?void 0:t.window)??null,this.elementsCache.forEach((t=>{this.observer.observe(t)})),this.unsubs.push(this.options.observeElementRect(this,(t=>{this.scrollRect=t,this.maybeNotify()}))),this.unsubs.push(this.options.observeElementOffset(this,((t,s)=>{this.scrollAdjustments=0,this.scrollDirection=s?this.getScrollOffset()<t?"forward":"backward":null,this.scrollOffset=t,this.isScrolling=s,this.scrollState&&this.scheduleScrollReconcile(),this.maybeNotify()}))),this._scrollToOffset(this.getScrollOffset(),{adjustments:void 0,behavior:void 0})}},this.rafId=null,this.getSize=()=>this.options.enabled?(this.scrollRect=this.scrollRect??this.options.initialRect,this.scrollRect[this.options.horizontal?"width":"height"]):(this.scrollRect=null,0),this.getScrollOffset=()=>this.options.enabled?(this.scrollOffset=this.scrollOffset??("function"==typeof this.options.initialOffset?this.options.initialOffset():this.options.initialOffset),this.scrollOffset):(this.scrollOffset=null,0),this.getFurthestMeasurement=(t,s)=>{const i=new Map,h=new Map;for(let n=s-1;n>=0;n--){const s=t[n];if(i.has(s.lane))continue;const e=h.get(s.lane);if(null==e||s.end>e.end?h.set(s.lane,s):s.end<e.end&&i.set(s.lane,!0),i.size===this.options.lanes)break}return h.size===this.options.lanes?Array.from(h.values()).sort(((t,s)=>t.end===s.end?t.index-s.index:t.end-s.end))[0]:void 0},this.getMeasurementOptions=t((()=>[this.options.count,this.options.paddingStart,this.options.scrollMargin,this.options.getItemKey,this.options.enabled,this.options.lanes,this.options.laneAssignmentMode]),((t,s,i,h,n,e,r)=>(void 0!==this.prevLanes&&this.prevLanes!==e&&(this.lanesChangedFlag=!0),this.prevLanes=e,this.pendingMeasuredCacheIndexes=[],{count:t,paddingStart:s,scrollMargin:i,getItemKey:h,enabled:n,lanes:e,laneAssignmentMode:r})),{key:!1}),this.getMeasurements=t((()=>[this.getMeasurementOptions(),this.itemSizeCache]),(({count:t,paddingStart:s,scrollMargin:i,getItemKey:h,enabled:n,lanes:e,laneAssignmentMode:r},o)=>{if(!n)return this.measurementsCache=[],this.itemSizeCache.clear(),this.laneAssignments.clear(),[];if(this.laneAssignments.size>t)for(const s of this.laneAssignments.keys())s>=t&&this.laneAssignments.delete(s);this.lanesChangedFlag&&(this.lanesChangedFlag=!1,this.lanesSettling=!0,this.measurementsCache=[],this.itemSizeCache.clear(),this.laneAssignments.clear(),this.pendingMeasuredCacheIndexes=[]),0!==this.measurementsCache.length||this.lanesSettling||(this.measurementsCache=this.options.initialMeasurementsCache,this.measurementsCache.forEach((t=>{this.itemSizeCache.set(t.key,t.size)})));const l=this.lanesSettling?0:this.pendingMeasuredCacheIndexes.length>0?Math.min(...this.pendingMeasuredCacheIndexes):0;this.pendingMeasuredCacheIndexes=[],this.lanesSettling&&this.measurementsCache.length===t&&(this.lanesSettling=!1);const a=this.measurementsCache.slice(0,l),u=new Array(e).fill(void 0);for(let t=0;t<l;t++){const s=a[t];s&&(u[s.lane]=t)}for(let n=l;n<t;n++){const t=h(n),e=this.laneAssignments.get(n);let l,d;const c="estimate"===r||o.has(t);if(void 0!==e&&this.options.lanes>1){l=e;const t=u[l],h=void 0!==t?a[t]:void 0;d=h?h.end+this.options.gap:s+i}else{const t=1===this.options.lanes?a[n-1]:this.getFurthestMeasurement(a,n);d=t?t.end+this.options.gap:s+i,l=t?t.lane:n%this.options.lanes,this.options.lanes>1&&c&&this.laneAssignments.set(n,l)}const f=o.get(t),v="number"==typeof f?f:this.options.estimateSize(n),b=d+v;a[n]={index:n,start:d,size:v,end:b,key:t,lane:l},u[l]=n}return this.measurementsCache=a,a}),{key:!1,debug:()=>this.options.debug}),this.calculateRange=t((()=>[this.getMeasurements(),this.getSize(),this.getScrollOffset(),this.options.lanes]),((t,s,i,h)=>this.range=t.length>0&&s>0?function({measurements:t,outerSize:s,scrollOffset:i,lanes:h}){const n=t.length-1,e=s=>t[s].start;if(t.length<=h)return{startIndex:0,endIndex:n};let r=f(0,n,e,i),o=r;if(1===h)for(;o<n&&t[o].end<i+s;)o++;else if(h>1){const e=Array(h).fill(0);for(;o<n&&e.some((t=>t<i+s));){const s=t[o];e[s.lane]=s.end,o++}const l=Array(h).fill(i+s);for(;r>=0&&l.some((t=>t>=i));){const s=t[r];l[s.lane]=s.start,r--}r=Math.max(0,r-r%h),o=Math.min(n,o+(h-1-o%h))}return{startIndex:r,endIndex:o}}({measurements:t,outerSize:s,scrollOffset:i,lanes:h}):null),{key:!1,debug:()=>this.options.debug}),this.getVirtualIndexes=t((()=>{let t=null,s=null;const i=this.calculateRange();return i&&(t=i.startIndex,s=i.endIndex),this.maybeNotify.updateDeps([this.isScrolling,t,s]),[this.options.rangeExtractor,this.options.overscan,this.options.count,t,s]}),((t,s,i,h,n)=>null===h||null===n?[]:t({startIndex:h,endIndex:n,overscan:s,count:i})),{key:!1,debug:()=>this.options.debug}),this.indexFromElement=t=>{const s=this.options.indexAttribute,i=t.getAttribute(s);return i?parseInt(i,10):(console.warn(`Missing attribute name '${s}={index}' on measured element.`),-1)},this.shouldMeasureDuringScroll=t=>{var s;if(!this.scrollState||"smooth"!==this.scrollState.behavior)return!0;const i=this.scrollState.index??(null==(s=this.getVirtualItemForOffset(this.scrollState.lastTargetOffset))?void 0:s.index);if(void 0!==i&&this.range){const s=Math.max(this.options.overscan,Math.ceil((this.range.endIndex-this.range.startIndex)/2)),h=Math.max(0,i-s),n=Math.min(this.options.count-1,i+s);return t>=h&&t<=n}return!0},this.measureElement=t=>{if(!t)return void this.elementsCache.forEach(((t,s)=>{t.isConnected||(this.observer.unobserve(t),this.elementsCache.delete(s))}));const s=this.indexFromElement(t),i=this.options.getItemKey(s),h=this.elementsCache.get(i);h!==t&&(h&&this.observer.unobserve(h),this.observer.observe(t),this.elementsCache.set(i,t)),this.isScrolling&&!this.scrollState||!this.shouldMeasureDuringScroll(s)||this.resizeItem(s,this.options.measureElement(t,void 0,this))},this.resizeItem=(t,s)=>{var i;const h=this.measurementsCache[t];if(!h)return;const n=s-(this.itemSizeCache.get(h.key)??h.size);0!==n&&("smooth"!==(null==(i=this.scrollState)?void 0:i.behavior)&&(void 0!==this.shouldAdjustScrollPositionOnItemSizeChange?this.shouldAdjustScrollPositionOnItemSizeChange(h,n,this):h.start<this.getScrollOffset()+this.scrollAdjustments)&&this._scrollToOffset(this.getScrollOffset(),{adjustments:this.scrollAdjustments+=n,behavior:void 0}),this.pendingMeasuredCacheIndexes.push(h.index),this.itemSizeCache=new Map(this.itemSizeCache.set(h.key,s)),this.notify(!1))},this.getVirtualItems=t((()=>[this.getVirtualIndexes(),this.getMeasurements()]),((t,s)=>{const i=[];for(let h=0,n=t.length;h<n;h++){const n=s[t[h]];i.push(n)}return i}),{key:!1,debug:()=>this.options.debug}),this.getVirtualItemForOffset=t=>{const i=this.getMeasurements();if(0!==i.length)return s(i[f(0,i.length-1,(t=>s(i[t]).start),t)])},this.getMaxScrollOffset=()=>{if(!this.scrollElement)return 0;if("scrollHeight"in this.scrollElement)return this.options.horizontal?this.scrollElement.scrollWidth-this.scrollElement.clientWidth:this.scrollElement.scrollHeight-this.scrollElement.clientHeight;{const t=this.scrollElement.document.documentElement;return this.options.horizontal?t.scrollWidth-this.scrollElement.innerWidth:t.scrollHeight-this.scrollElement.innerHeight}},this.getOffsetForAlignment=(t,s,i=0)=>{if(!this.scrollElement)return 0;const h=this.getSize(),n=this.getScrollOffset();"auto"===s&&(s=t>=n+h?"end":"start"),"center"===s?t+=(i-h)/2:"end"===s&&(t-=h);const e=this.getMaxScrollOffset();return Math.max(Math.min(e,t),0)},this.getOffsetForIndex=(t,s="auto")=>{t=Math.max(0,Math.min(t,this.options.count-1));const i=this.getSize(),h=this.getScrollOffset(),n=this.measurementsCache[t];if(!n)return;if("auto"===s)if(n.end>=h+i-this.options.scrollPaddingEnd)s="end";else{if(!(n.start<=h+this.options.scrollPaddingStart))return[h,s];s="start"}if("end"===s&&t===this.options.count-1)return[this.getMaxScrollOffset(),s];const e="end"===s?n.end+this.options.scrollPaddingEnd:n.start-this.options.scrollPaddingStart;return[this.getOffsetForAlignment(e,s,n.size),s]},this.scrollToOffset=(t,{align:s="start",behavior:i="auto"}={})=>{const h=this.getOffsetForAlignment(t,s),n=this.now();this.scrollState={index:null,align:s,behavior:i,startedAt:n,lastTargetOffset:h,stableFrames:0},this._scrollToOffset(h,{adjustments:void 0,behavior:i}),this.scheduleScrollReconcile()},this.scrollToIndex=(t,{align:s="auto",behavior:i="auto"}={})=>{t=Math.max(0,Math.min(t,this.options.count-1));const h=this.getOffsetForIndex(t,s);if(!h)return;const[n,e]=h,r=this.now();this.scrollState={index:t,align:e,behavior:i,startedAt:r,lastTargetOffset:n,stableFrames:0},this._scrollToOffset(n,{adjustments:void 0,behavior:i}),this.scheduleScrollReconcile()},this.scrollBy=(t,{behavior:s="auto"}={})=>{const i=this.getScrollOffset()+t,h=this.now();this.scrollState={index:null,align:"start",behavior:s,startedAt:h,lastTargetOffset:i,stableFrames:0},this._scrollToOffset(i,{adjustments:void 0,behavior:s}),this.scheduleScrollReconcile()},this.getTotalSize=()=>{var t;const s=this.getMeasurements();let i;if(0===s.length)i=this.options.paddingStart;else if(1===this.options.lanes)i=(null==(t=s[s.length-1])?void 0:t.end)??0;else{const t=Array(this.options.lanes).fill(null);let h=s.length-1;for(;h>=0&&t.some((t=>null===t));){const i=s[h];null===t[i.lane]&&(t[i.lane]=i.end),h--}i=Math.max(...t.filter((t=>null!==t)))}return Math.max(i-this.options.scrollMargin+this.options.paddingEnd,0)},this._scrollToOffset=(t,{adjustments:s,behavior:i})=>{this.options.scrollToFn(t,{behavior:i,adjustments:s},this)},this.measure=()=>{this.itemSizeCache=new Map,this.laneAssignments=new Map,this.notify(!1)},this.setOptions(i)}scheduleScrollReconcile(){this.targetWindow?null==this.rafId&&(this.rafId=this.targetWindow.requestAnimationFrame((()=>{this.rafId=null,this.reconcileScroll()}))):this.scrollState=null}reconcileScroll(){if(!this.scrollState)return;if(!this.scrollElement)return;if(this.now()-this.scrollState.startedAt>5e3)return void(this.scrollState=null);const t=null!=this.scrollState.index?this.getOffsetForIndex(this.scrollState.index,this.scrollState.align):void 0,s=t?t[0]:this.scrollState.lastTargetOffset,i=s!==this.scrollState.lastTargetOffset;if(!i&&(h=s,n=this.getScrollOffset(),Math.abs(h-n)<1.01)){if(this.scrollState.stableFrames++,this.scrollState.stableFrames>=1)return void(this.scrollState=null)}else this.scrollState.stableFrames=0,i&&(this.scrollState.lastTargetOffset=s,this.scrollState.behavior="auto",this._scrollToOffset(s,{adjustments:void 0,behavior:"auto"}));var h,n;this.scheduleScrollReconcile()}}const f=(t,s,i,h)=>{for(;t<=s;){const n=(t+s)/2|0,e=i(n);if(e<h)t=n+1;else{if(!(e>h))return n;s=n-1}}return t>0?t-1:0};class v{constructor(t,s){this.cleanup=()=>{};const i={...s,onChange:(t,i)=>{var h;this.host.updateComplete.then((()=>this.host.requestUpdate())),null==(h=s.onChange)||h.call(s,t,i)}};this.virtualizer=new c(i),(this.host=t).addController(this)}getVirtualizer(){return this.virtualizer}hostConnected(){this.cleanup=this.virtualizer._didMount()}hostUpdated(){this.virtualizer._willUpdate()}hostDisconnected(){this.cleanup()}}class b extends v{constructor(t,s){super(t,{observeElementRect:r,observeElementOffset:a,scrollToFn:d,...s})}}export{b as V};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
function _typeof(o){"@babel/helpers - typeof";return _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(o){return typeof o;}:function(o){return o&&"function"==typeof Symbol&&o.constructor===Symbol&&o!==Symbol.prototype?"symbol":typeof o;},_typeof(o);}System.register([],function(_export,_context){"use strict";var i,h,n,e,r,o,l,a,u,d,c,f,v,b;function _callSuper(t,o,e){return o=_getPrototypeOf(o),_possibleConstructorReturn(t,_isNativeReflectConstruct()?Reflect.construct(o,e||[],_getPrototypeOf(t).constructor):o.apply(t,e));}function _possibleConstructorReturn(t,e){if(e&&("object"==_typeof(e)||"function"==typeof e))return e;if(void 0!==e)throw new TypeError("Derived constructors may only return object or undefined");return _assertThisInitialized(t);}function _assertThisInitialized(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e;}function _isNativeReflectConstruct(){try{var t=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}));}catch(t){}return(_isNativeReflectConstruct=function _isNativeReflectConstruct(){return!!t;})();}function _getPrototypeOf(t){return _getPrototypeOf=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(t){return t.__proto__||Object.getPrototypeOf(t);},_getPrototypeOf(t);}function _inherits(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),Object.defineProperty(t,"prototype",{writable:!1}),e&&_setPrototypeOf(t,e);}function _setPrototypeOf(t,e){return _setPrototypeOf=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(t,e){return t.__proto__=e,t;},_setPrototypeOf(t,e);}function _createForOfIteratorHelper(r,e){var t="undefined"!=typeof Symbol&&r[Symbol.iterator]||r["@@iterator"];if(!t){if(Array.isArray(r)||(t=_unsupportedIterableToArray(r))||e&&r&&"number"==typeof r.length){t&&(r=t);var _n8=0,F=function F(){};return{s:F,n:function n(){return _n8>=r.length?{done:!0}:{done:!1,value:r[_n8++]};},e:function e(r){throw r;},f:F};}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");}var o,a=!0,u=!1;return{s:function s(){t=t.call(r);},n:function n(){var r=t.next();return a=r.done,r;},e:function e(r){u=!0,o=r;},f:function f(){try{a||null==t["return"]||t["return"]();}finally{if(u)throw o;}}};}function ownKeys(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);r&&(o=o.filter(function(r){return Object.getOwnPropertyDescriptor(e,r).enumerable;})),t.push.apply(t,o);}return t;}function _objectSpread(e){for(var r=1;r<arguments.length;r++){var t=null!=arguments[r]?arguments[r]:{};r%2?ownKeys(Object(t),!0).forEach(function(r){_defineProperty(e,r,t[r]);}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):ownKeys(Object(t)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(t,r));});}return e;}function _slicedToArray(r,e){return _arrayWithHoles(r)||_iterableToArrayLimit(r,e)||_unsupportedIterableToArray(r,e)||_nonIterableRest();}function _nonIterableRest(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");}function _iterableToArrayLimit(r,l){var t=null==r?null:"undefined"!=typeof Symbol&&r[Symbol.iterator]||r["@@iterator"];if(null!=t){var e,n,i,u,a=[],f=!0,o=!1;try{if(i=(t=t.call(r)).next,0===l){if(Object(t)!==t)return;f=!1;}else for(;!(f=(e=i.call(t)).done)&&(a.push(e.value),a.length!==l);f=!0);}catch(r){o=!0,n=r;}finally{try{if(!f&&null!=t["return"]&&(u=t["return"](),Object(u)!==u))return;}finally{if(o)throw n;}}return a;}}function _arrayWithHoles(r){if(Array.isArray(r))return r;}function _classCallCheck(a,n){if(!(a instanceof n))throw new TypeError("Cannot call a class as a function");}function _defineProperties(e,r){for(var t=0;t<r.length;t++){var o=r[t];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(e,_toPropertyKey(o.key),o);}}function _createClass(e,r,t){return r&&_defineProperties(e.prototype,r),t&&_defineProperties(e,t),Object.defineProperty(e,"prototype",{writable:!1}),e;}function _defineProperty(e,r,t){return(r=_toPropertyKey(r))in e?Object.defineProperty(e,r,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[r]=t,e;}function _toPropertyKey(t){var i=_toPrimitive(t,"string");return"symbol"==_typeof(i)?i:i+"";}function _toPrimitive(t,r){if("object"!=_typeof(t)||!t)return t;var e=t[Symbol.toPrimitive];if(void 0!==e){var i=e.call(t,r||"default");if("object"!=_typeof(i))return i;throw new TypeError("@@toPrimitive must return a primitive value.");}return("string"===r?String:Number)(t);}function _toConsumableArray(r){return _arrayWithoutHoles(r)||_iterableToArray(r)||_unsupportedIterableToArray(r)||_nonIterableSpread();}function _nonIterableSpread(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");}function _unsupportedIterableToArray(r,a){if(r){if("string"==typeof r)return _arrayLikeToArray(r,a);var t={}.toString.call(r).slice(8,-1);return"Object"===t&&r.constructor&&(t=r.constructor.name),"Map"===t||"Set"===t?Array.from(r):"Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t)?_arrayLikeToArray(r,a):void 0;}}function _iterableToArray(r){if("undefined"!=typeof Symbol&&null!=r[Symbol.iterator]||null!=r["@@iterator"])return Array.from(r);}function _arrayWithoutHoles(r){if(Array.isArray(r))return _arrayLikeToArray(r);}function _arrayLikeToArray(r,a){(null==a||a>r.length)&&(a=r.length);for(var e=0,n=Array(a);e<a;e++)n[e]=r[e];return n;}function t(t,s,i){var _i$initialDeps;var h,n=(_i$initialDeps=i.initialDeps)!==null&&_i$initialDeps!==void 0?_i$initialDeps:[],e=!0;function r(){var r,o,l;var a;i.key&&(null==(r=i.debug)?void 0:r.call(i))&&(a=Date.now());var u=t();if(!(u.length!==n.length||u.some(function(t,s){return n[s]!==t;})))return h;var d;if(n=u,i.key&&(null==(o=i.debug)?void 0:o.call(i))&&(d=Date.now()),h=s.apply(void 0,_toConsumableArray(u)),i.key&&(null==(l=i.debug)?void 0:l.call(i))){var _t=Math.round(100*(Date.now()-a))/100,_s=Math.round(100*(Date.now()-d))/100,_h=_s/16,_n=function _n(t,s){for(t=String(t);t.length<s;)t=" "+t;return t;};console.info("%c\u23F1 ".concat(_n(_s,5)," /").concat(_n(_t,5)," ms"),"\n font-size: .6rem;\n font-weight: bold;\n color: hsl(".concat(Math.max(0,Math.min(120-120*_h,120)),"deg 100% 31%);"),null==i?void 0:i.key);}return!(null==i?void 0:i.onChange)||e&&i.skipInitialOnChange||i.onChange(h),e=!1,h;}return r.updateDeps=function(t){n=t;},r;}function s(t,s){if(void 0===t)throw new Error("Unexpected undefined"+(s?": ".concat(s):""));return t;}return{setters:[],execute:function execute(){i=function i(t,s,_i){var h;return function(){var _this=this;for(var _len=arguments.length,n=new Array(_len),_key=0;_key<_len;_key++){n[_key]=arguments[_key];}t.clearTimeout(h),h=t.setTimeout(function(){return s.apply(_this,n);},_i);};},h=function h(t){var s=t.offsetWidth,i=t.offsetHeight;return{width:s,height:i};},n=function n(t){return t;},e=function e(t){var s=Math.max(t.startIndex-t.overscan,0),i=Math.min(t.endIndex+t.overscan,t.count-1),h=[];for(var _t2=s;_t2<=i;_t2++)h.push(_t2);return h;},r=function r(t,s){var i=t.scrollElement;if(!i)return;var n=t.targetWindow;if(!n)return;var e=function e(t){var i=t.width,h=t.height;s({width:Math.round(i),height:Math.round(h)});};if(e(h(i)),!n.ResizeObserver)return function(){};var r=new n.ResizeObserver(function(s){var n=function n(){var t=s[0];if(null==t?void 0:t.borderBoxSize){var _s2=t.borderBoxSize[0];if(_s2)return void e({width:_s2.inlineSize,height:_s2.blockSize});}e(h(i));};t.options.useAnimationFrameWithResizeObserver?requestAnimationFrame(n):n();});return r.observe(i,{box:"border-box"}),function(){r.unobserve(i);};},o={passive:!0},l="undefined"==typeof window||"onscrollend"in window,a=function a(t,s){var h=t.scrollElement;if(!h)return;var n=t.targetWindow;if(!n)return;var e=0;var r=t.options.useScrollendEvent&&l?function(){}:i(n,function(){s(e,!1);},t.options.isScrollingResetDelay),a=function a(i){return function(){var _t$options=t.options,n=_t$options.horizontal,o=_t$options.isRtl;e=n?h.scrollLeft*(o?-1:1):h.scrollTop,r(),s(e,i);};},u=a(!0),d=a(!1);h.addEventListener("scroll",u,o);var c=t.options.useScrollendEvent&&l;return c&&h.addEventListener("scrollend",d,o),function(){h.removeEventListener("scroll",u),c&&h.removeEventListener("scrollend",d);};},u=function u(t,s,i){if(null==s?void 0:s.borderBoxSize){var _t3=s.borderBoxSize[0];if(_t3){return Math.round(_t3[i.options.horizontal?"inlineSize":"blockSize"]);}}return t[i.options.horizontal?"offsetWidth":"offsetHeight"];},d=function d(t,_ref,h){var _ref$adjustments=_ref.adjustments,s=_ref$adjustments===void 0?0:_ref$adjustments,i=_ref.behavior;var n,e;var r=t+s;null==(e=null==(n=h.scrollElement)?void 0:n.scrollTo)||e.call(n,_defineProperty(_defineProperty({},h.options.horizontal?"left":"top",r),"behavior",i));};c=/*#__PURE__*/function(){function c(i){var _this2=this;_classCallCheck(this,c);this.unsubs=[],this.scrollElement=null,this.targetWindow=null,this.isScrolling=!1,this.scrollState=null,this.measurementsCache=[],this.itemSizeCache=new Map(),this.laneAssignments=new Map(),this.pendingMeasuredCacheIndexes=[],this.prevLanes=void 0,this.lanesChangedFlag=!1,this.lanesSettling=!1,this.scrollRect=null,this.scrollOffset=null,this.scrollDirection=null,this.scrollAdjustments=0,this.elementsCache=new Map(),this.now=function(){var _ref2;var t,s,i;return(_ref2=null==(i=null==(s=null==(t=_this2.targetWindow)?void 0:t.performance)?void 0:s.now)?void 0:i.call(s))!==null&&_ref2!==void 0?_ref2:Date.now();},this.observer=function(){var t=null;var s=function s(){return t||(_this2.targetWindow&&_this2.targetWindow.ResizeObserver?t=new _this2.targetWindow.ResizeObserver(function(t){t.forEach(function(t){var s=function s(){var s=t.target,i=_this2.indexFromElement(s);s.isConnected?_this2.shouldMeasureDuringScroll(i)&&_this2.resizeItem(i,_this2.options.measureElement(s,t,_this2)):_this2.observer.unobserve(s);};_this2.options.useAnimationFrameWithResizeObserver?requestAnimationFrame(s):s();});}):null);};return{disconnect:function disconnect(){var i;null==(i=s())||i.disconnect(),t=null;},observe:function observe(t){var i;return null==(i=s())?void 0:i.observe(t,{box:"border-box"});},unobserve:function unobserve(t){var i;return null==(i=s())?void 0:i.unobserve(t);}};}(),this.range=null,this.setOptions=function(t){Object.entries(t).forEach(function(_ref3){var _ref4=_slicedToArray(_ref3,2),s=_ref4[0],i=_ref4[1];void 0===i&&delete t[s];}),_this2.options=_objectSpread({debug:!1,initialOffset:0,overscan:1,paddingStart:0,paddingEnd:0,scrollPaddingStart:0,scrollPaddingEnd:0,horizontal:!1,getItemKey:n,rangeExtractor:e,onChange:function onChange(){},measureElement:u,initialRect:{width:0,height:0},scrollMargin:0,gap:0,indexAttribute:"data-index",initialMeasurementsCache:[],lanes:1,isScrollingResetDelay:150,enabled:!0,isRtl:!1,useScrollendEvent:!1,useAnimationFrameWithResizeObserver:!1,laneAssignmentMode:"estimate"},t);},this.notify=function(t){var s,i;null==(i=(s=_this2.options).onChange)||i.call(s,_this2,t);},this.maybeNotify=t(function(){return _this2.calculateRange(),[_this2.isScrolling,_this2.range?_this2.range.startIndex:null,_this2.range?_this2.range.endIndex:null];},function(t){_this2.notify(t);},{key:!1,debug:function debug(){return _this2.options.debug;},initialDeps:[this.isScrolling,this.range?this.range.startIndex:null,this.range?this.range.endIndex:null]}),this.cleanup=function(){_this2.unsubs.filter(Boolean).forEach(function(t){return t();}),_this2.unsubs=[],_this2.observer.disconnect(),null!=_this2.rafId&&_this2.targetWindow&&(_this2.targetWindow.cancelAnimationFrame(_this2.rafId),_this2.rafId=null),_this2.scrollState=null,_this2.scrollElement=null,_this2.targetWindow=null;},this._didMount=function(){return function(){_this2.cleanup();};},this._willUpdate=function(){var t;var s=_this2.options.enabled?_this2.options.getScrollElement():null;if(_this2.scrollElement!==s){var _ref5;if(_this2.cleanup(),!s)return void _this2.maybeNotify();_this2.scrollElement=s,_this2.scrollElement&&"ownerDocument"in _this2.scrollElement?_this2.targetWindow=_this2.scrollElement.ownerDocument.defaultView:_this2.targetWindow=(_ref5=null==(t=_this2.scrollElement)?void 0:t.window)!==null&&_ref5!==void 0?_ref5:null,_this2.elementsCache.forEach(function(t){_this2.observer.observe(t);}),_this2.unsubs.push(_this2.options.observeElementRect(_this2,function(t){_this2.scrollRect=t,_this2.maybeNotify();})),_this2.unsubs.push(_this2.options.observeElementOffset(_this2,function(t,s){_this2.scrollAdjustments=0,_this2.scrollDirection=s?_this2.getScrollOffset()<t?"forward":"backward":null,_this2.scrollOffset=t,_this2.isScrolling=s,_this2.scrollState&&_this2.scheduleScrollReconcile(),_this2.maybeNotify();})),_this2._scrollToOffset(_this2.getScrollOffset(),{adjustments:void 0,behavior:void 0});}},this.rafId=null,this.getSize=function(){var _this2$scrollRect;return _this2.options.enabled?(_this2.scrollRect=(_this2$scrollRect=_this2.scrollRect)!==null&&_this2$scrollRect!==void 0?_this2$scrollRect:_this2.options.initialRect,_this2.scrollRect[_this2.options.horizontal?"width":"height"]):(_this2.scrollRect=null,0);},this.getScrollOffset=function(){var _this2$scrollOffset;return _this2.options.enabled?(_this2.scrollOffset=(_this2$scrollOffset=_this2.scrollOffset)!==null&&_this2$scrollOffset!==void 0?_this2$scrollOffset:"function"==typeof _this2.options.initialOffset?_this2.options.initialOffset():_this2.options.initialOffset,_this2.scrollOffset):(_this2.scrollOffset=null,0);},this.getFurthestMeasurement=function(t,s){var i=new Map(),h=new Map();for(var _n2=s-1;_n2>=0;_n2--){var _s3=t[_n2];if(i.has(_s3.lane))continue;var _e=h.get(_s3.lane);if(null==_e||_s3.end>_e.end?h.set(_s3.lane,_s3):_s3.end<_e.end&&i.set(_s3.lane,!0),i.size===_this2.options.lanes)break;}return h.size===_this2.options.lanes?Array.from(h.values()).sort(function(t,s){return t.end===s.end?t.index-s.index:t.end-s.end;})[0]:void 0;},this.getMeasurementOptions=t(function(){return[_this2.options.count,_this2.options.paddingStart,_this2.options.scrollMargin,_this2.options.getItemKey,_this2.options.enabled,_this2.options.lanes,_this2.options.laneAssignmentMode];},function(t,s,i,h,n,e,r){return void 0!==_this2.prevLanes&&_this2.prevLanes!==e&&(_this2.lanesChangedFlag=!0),_this2.prevLanes=e,_this2.pendingMeasuredCacheIndexes=[],{count:t,paddingStart:s,scrollMargin:i,getItemKey:h,enabled:n,lanes:e,laneAssignmentMode:r};},{key:!1}),this.getMeasurements=t(function(){return[_this2.getMeasurementOptions(),_this2.itemSizeCache];},function(_ref6,o){var t=_ref6.count,s=_ref6.paddingStart,i=_ref6.scrollMargin,h=_ref6.getItemKey,n=_ref6.enabled,e=_ref6.lanes,r=_ref6.laneAssignmentMode;if(!n)return _this2.measurementsCache=[],_this2.itemSizeCache.clear(),_this2.laneAssignments.clear(),[];if(_this2.laneAssignments.size>t){var _iterator=_createForOfIteratorHelper(_this2.laneAssignments.keys()),_step;try{for(_iterator.s();!(_step=_iterator.n()).done;){var _s4=_step.value;_s4>=t&&_this2.laneAssignments["delete"](_s4);}}catch(err){_iterator.e(err);}finally{_iterator.f();}}_this2.lanesChangedFlag&&(_this2.lanesChangedFlag=!1,_this2.lanesSettling=!0,_this2.measurementsCache=[],_this2.itemSizeCache.clear(),_this2.laneAssignments.clear(),_this2.pendingMeasuredCacheIndexes=[]),0!==_this2.measurementsCache.length||_this2.lanesSettling||(_this2.measurementsCache=_this2.options.initialMeasurementsCache,_this2.measurementsCache.forEach(function(t){_this2.itemSizeCache.set(t.key,t.size);}));var l=_this2.lanesSettling?0:_this2.pendingMeasuredCacheIndexes.length>0?Math.min.apply(Math,_toConsumableArray(_this2.pendingMeasuredCacheIndexes)):0;_this2.pendingMeasuredCacheIndexes=[],_this2.lanesSettling&&_this2.measurementsCache.length===t&&(_this2.lanesSettling=!1);var a=_this2.measurementsCache.slice(0,l),u=new Array(e).fill(void 0);for(var _t4=0;_t4<l;_t4++){var _s5=a[_t4];_s5&&(u[_s5.lane]=_t4);}for(var _n3=l;_n3<t;_n3++){var _t5=h(_n3),_e2=_this2.laneAssignments.get(_n3);var _l=void 0,_d=void 0;var _c="estimate"===r||o.has(_t5);if(void 0!==_e2&&_this2.options.lanes>1){_l=_e2;var _t6=u[_l],_h2=void 0!==_t6?a[_t6]:void 0;_d=_h2?_h2.end+_this2.options.gap:s+i;}else{var _t7=1===_this2.options.lanes?a[_n3-1]:_this2.getFurthestMeasurement(a,_n3);_d=_t7?_t7.end+_this2.options.gap:s+i,_l=_t7?_t7.lane:_n3%_this2.options.lanes,_this2.options.lanes>1&&_c&&_this2.laneAssignments.set(_n3,_l);}var _f=o.get(_t5),_v="number"==typeof _f?_f:_this2.options.estimateSize(_n3),_b=_d+_v;a[_n3]={index:_n3,start:_d,size:_v,end:_b,key:_t5,lane:_l},u[_l]=_n3;}return _this2.measurementsCache=a,a;},{key:!1,debug:function debug(){return _this2.options.debug;}}),this.calculateRange=t(function(){return[_this2.getMeasurements(),_this2.getSize(),_this2.getScrollOffset(),_this2.options.lanes];},function(t,s,i,h){return _this2.range=t.length>0&&s>0?function(_ref7){var t=_ref7.measurements,s=_ref7.outerSize,i=_ref7.scrollOffset,h=_ref7.lanes;var n=t.length-1,e=function e(s){return t[s].start;};if(t.length<=h)return{startIndex:0,endIndex:n};var r=f(0,n,e,i),o=r;if(1===h)for(;o<n&&t[o].end<i+s;)o++;else if(h>1){var _e3=Array(h).fill(0);for(;o<n&&_e3.some(function(t){return t<i+s;});){var _s6=t[o];_e3[_s6.lane]=_s6.end,o++;}var _l2=Array(h).fill(i+s);for(;r>=0&&_l2.some(function(t){return t>=i;});){var _s7=t[r];_l2[_s7.lane]=_s7.start,r--;}r=Math.max(0,r-r%h),o=Math.min(n,o+(h-1-o%h));}return{startIndex:r,endIndex:o};}({measurements:t,outerSize:s,scrollOffset:i,lanes:h}):null;},{key:!1,debug:function debug(){return _this2.options.debug;}}),this.getVirtualIndexes=t(function(){var t=null,s=null;var i=_this2.calculateRange();return i&&(t=i.startIndex,s=i.endIndex),_this2.maybeNotify.updateDeps([_this2.isScrolling,t,s]),[_this2.options.rangeExtractor,_this2.options.overscan,_this2.options.count,t,s];},function(t,s,i,h,n){return null===h||null===n?[]:t({startIndex:h,endIndex:n,overscan:s,count:i});},{key:!1,debug:function debug(){return _this2.options.debug;}}),this.indexFromElement=function(t){var s=_this2.options.indexAttribute,i=t.getAttribute(s);return i?parseInt(i,10):(console.warn("Missing attribute name '".concat(s,"={index}' on measured element.")),-1);},this.shouldMeasureDuringScroll=function(t){var _this2$scrollState$in;var s;if(!_this2.scrollState||"smooth"!==_this2.scrollState.behavior)return!0;var i=(_this2$scrollState$in=_this2.scrollState.index)!==null&&_this2$scrollState$in!==void 0?_this2$scrollState$in:null==(s=_this2.getVirtualItemForOffset(_this2.scrollState.lastTargetOffset))?void 0:s.index;if(void 0!==i&&_this2.range){var _s8=Math.max(_this2.options.overscan,Math.ceil((_this2.range.endIndex-_this2.range.startIndex)/2)),_h3=Math.max(0,i-_s8),_n4=Math.min(_this2.options.count-1,i+_s8);return t>=_h3&&t<=_n4;}return!0;},this.measureElement=function(t){if(!t)return void _this2.elementsCache.forEach(function(t,s){t.isConnected||(_this2.observer.unobserve(t),_this2.elementsCache["delete"](s));});var s=_this2.indexFromElement(t),i=_this2.options.getItemKey(s),h=_this2.elementsCache.get(i);h!==t&&(h&&_this2.observer.unobserve(h),_this2.observer.observe(t),_this2.elementsCache.set(i,t)),_this2.isScrolling&&!_this2.scrollState||!_this2.shouldMeasureDuringScroll(s)||_this2.resizeItem(s,_this2.options.measureElement(t,void 0,_this2));},this.resizeItem=function(t,s){var _this2$itemSizeCache$;var i;var h=_this2.measurementsCache[t];if(!h)return;var n=s-((_this2$itemSizeCache$=_this2.itemSizeCache.get(h.key))!==null&&_this2$itemSizeCache$!==void 0?_this2$itemSizeCache$:h.size);0!==n&&("smooth"!==(null==(i=_this2.scrollState)?void 0:i.behavior)&&(void 0!==_this2.shouldAdjustScrollPositionOnItemSizeChange?_this2.shouldAdjustScrollPositionOnItemSizeChange(h,n,_this2):h.start<_this2.getScrollOffset()+_this2.scrollAdjustments)&&_this2._scrollToOffset(_this2.getScrollOffset(),{adjustments:_this2.scrollAdjustments+=n,behavior:void 0}),_this2.pendingMeasuredCacheIndexes.push(h.index),_this2.itemSizeCache=new Map(_this2.itemSizeCache.set(h.key,s)),_this2.notify(!1));},this.getVirtualItems=t(function(){return[_this2.getVirtualIndexes(),_this2.getMeasurements()];},function(t,s){var i=[];for(var _h4=0,_n5=t.length;_h4<_n5;_h4++){var _n6=s[t[_h4]];i.push(_n6);}return i;},{key:!1,debug:function debug(){return _this2.options.debug;}}),this.getVirtualItemForOffset=function(t){var i=_this2.getMeasurements();if(0!==i.length)return s(i[f(0,i.length-1,function(t){return s(i[t]).start;},t)]);},this.getMaxScrollOffset=function(){if(!_this2.scrollElement)return 0;if("scrollHeight"in _this2.scrollElement)return _this2.options.horizontal?_this2.scrollElement.scrollWidth-_this2.scrollElement.clientWidth:_this2.scrollElement.scrollHeight-_this2.scrollElement.clientHeight;{var _t8=_this2.scrollElement.document.documentElement;return _this2.options.horizontal?_t8.scrollWidth-_this2.scrollElement.innerWidth:_t8.scrollHeight-_this2.scrollElement.innerHeight;}},this.getOffsetForAlignment=function(t,s){var i=arguments.length>2&&arguments[2]!==undefined?arguments[2]:0;if(!_this2.scrollElement)return 0;var h=_this2.getSize(),n=_this2.getScrollOffset();"auto"===s&&(s=t>=n+h?"end":"start"),"center"===s?t+=(i-h)/2:"end"===s&&(t-=h);var e=_this2.getMaxScrollOffset();return Math.max(Math.min(e,t),0);},this.getOffsetForIndex=function(t){var s=arguments.length>1&&arguments[1]!==undefined?arguments[1]:"auto";t=Math.max(0,Math.min(t,_this2.options.count-1));var i=_this2.getSize(),h=_this2.getScrollOffset(),n=_this2.measurementsCache[t];if(!n)return;if("auto"===s)if(n.end>=h+i-_this2.options.scrollPaddingEnd)s="end";else{if(!(n.start<=h+_this2.options.scrollPaddingStart))return[h,s];s="start";}if("end"===s&&t===_this2.options.count-1)return[_this2.getMaxScrollOffset(),s];var e="end"===s?n.end+_this2.options.scrollPaddingEnd:n.start-_this2.options.scrollPaddingStart;return[_this2.getOffsetForAlignment(e,s,n.size),s];},this.scrollToOffset=function(t){var _ref8=arguments.length>1&&arguments[1]!==undefined?arguments[1]:{},_ref8$align=_ref8.align,s=_ref8$align===void 0?"start":_ref8$align,_ref8$behavior=_ref8.behavior,i=_ref8$behavior===void 0?"auto":_ref8$behavior;var h=_this2.getOffsetForAlignment(t,s),n=_this2.now();_this2.scrollState={index:null,align:s,behavior:i,startedAt:n,lastTargetOffset:h,stableFrames:0},_this2._scrollToOffset(h,{adjustments:void 0,behavior:i}),_this2.scheduleScrollReconcile();},this.scrollToIndex=function(t){var _ref9=arguments.length>1&&arguments[1]!==undefined?arguments[1]:{},_ref9$align=_ref9.align,s=_ref9$align===void 0?"auto":_ref9$align,_ref9$behavior=_ref9.behavior,i=_ref9$behavior===void 0?"auto":_ref9$behavior;t=Math.max(0,Math.min(t,_this2.options.count-1));var h=_this2.getOffsetForIndex(t,s);if(!h)return;var _h5=_slicedToArray(h,2),n=_h5[0],e=_h5[1],r=_this2.now();_this2.scrollState={index:t,align:e,behavior:i,startedAt:r,lastTargetOffset:n,stableFrames:0},_this2._scrollToOffset(n,{adjustments:void 0,behavior:i}),_this2.scheduleScrollReconcile();},this.scrollBy=function(t){var _ref10=arguments.length>1&&arguments[1]!==undefined?arguments[1]:{},_ref10$behavior=_ref10.behavior,s=_ref10$behavior===void 0?"auto":_ref10$behavior;var i=_this2.getScrollOffset()+t,h=_this2.now();_this2.scrollState={index:null,align:"start",behavior:s,startedAt:h,lastTargetOffset:i,stableFrames:0},_this2._scrollToOffset(i,{adjustments:void 0,behavior:s}),_this2.scheduleScrollReconcile();},this.getTotalSize=function(){var _ref11;var t;var s=_this2.getMeasurements();var i;if(0===s.length)i=_this2.options.paddingStart;else if(1===_this2.options.lanes)i=(_ref11=null==(t=s[s.length-1])?void 0:t.end)!==null&&_ref11!==void 0?_ref11:0;else{var _t9=Array(_this2.options.lanes).fill(null);var _h6=s.length-1;for(;_h6>=0&&_t9.some(function(t){return null===t;});){var _i2=s[_h6];null===_t9[_i2.lane]&&(_t9[_i2.lane]=_i2.end),_h6--;}i=Math.max.apply(Math,_toConsumableArray(_t9.filter(function(t){return null!==t;})));}return Math.max(i-_this2.options.scrollMargin+_this2.options.paddingEnd,0);},this._scrollToOffset=function(t,_ref12){var s=_ref12.adjustments,i=_ref12.behavior;_this2.options.scrollToFn(t,{behavior:i,adjustments:s},_this2);},this.measure=function(){_this2.itemSizeCache=new Map(),_this2.laneAssignments=new Map(),_this2.notify(!1);},this.setOptions(i);}return _createClass(c,[{key:"scheduleScrollReconcile",value:function scheduleScrollReconcile(){var _this3=this;this.targetWindow?null==this.rafId&&(this.rafId=this.targetWindow.requestAnimationFrame(function(){_this3.rafId=null,_this3.reconcileScroll();})):this.scrollState=null;}},{key:"reconcileScroll",value:function reconcileScroll(){if(!this.scrollState)return;if(!this.scrollElement)return;if(this.now()-this.scrollState.startedAt>5e3)return void(this.scrollState=null);var t=null!=this.scrollState.index?this.getOffsetForIndex(this.scrollState.index,this.scrollState.align):void 0,s=t?t[0]:this.scrollState.lastTargetOffset,i=s!==this.scrollState.lastTargetOffset;if(!i&&(h=s,n=this.getScrollOffset(),Math.abs(h-n)<1.01)){if(this.scrollState.stableFrames++,this.scrollState.stableFrames>=1)return void(this.scrollState=null);}else this.scrollState.stableFrames=0,i&&(this.scrollState.lastTargetOffset=s,this.scrollState.behavior="auto",this._scrollToOffset(s,{adjustments:void 0,behavior:"auto"}));var h,n;this.scheduleScrollReconcile();}}]);}();f=function f(t,s,i,h){for(;t<=s;){var _n7=(t+s)/2|0,_e4=i(_n7);if(_e4<h)t=_n7+1;else{if(!(_e4>h))return _n7;s=_n7-1;}}return t>0?t-1:0;};v=/*#__PURE__*/function(){function v(t,s){var _this4=this;_classCallCheck(this,v);this.cleanup=function(){};var i=_objectSpread(_objectSpread({},s),{},{onChange:function onChange(t,i){var h;_this4.host.updateComplete.then(function(){return _this4.host.requestUpdate();}),null==(h=s.onChange)||h.call(s,t,i);}});this.virtualizer=new c(i),(this.host=t).addController(this);}return _createClass(v,[{key:"getVirtualizer",value:function getVirtualizer(){return this.virtualizer;}},{key:"hostConnected",value:function hostConnected(){this.cleanup=this.virtualizer._didMount();}},{key:"hostUpdated",value:function hostUpdated(){this.virtualizer._willUpdate();}},{key:"hostDisconnected",value:function hostDisconnected(){this.cleanup();}}]);}();_export("V",b=/*#__PURE__*/function(_v2){function b(t,s){_classCallCheck(this,b);return _callSuper(this,b,[t,_objectSpread({observeElementRect:r,observeElementOffset:a,scrollToFn:d},s)]);}_inherits(b,_v2);return _createClass(b);}(v));}};});
|
|
2
|
+
//# sourceMappingURL=index-f5e587e2.cjs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index-f5e587e2.cjs.js","sources":["../../../node_modules/@tanstack/virtual-core/dist/esm/utils.js","../../../node_modules/@tanstack/virtual-core/dist/esm/index.js","../../../node_modules/@tanstack/lit-virtual/dist/esm/index.js"],"sourcesContent":["function memo(getDeps, fn, opts) {\n let deps = opts.initialDeps ?? [];\n let result;\n let isInitial = true;\n function memoizedFunction() {\n var _a, _b, _c;\n let depTime;\n if (opts.key && ((_a = opts.debug) == null ? void 0 : _a.call(opts))) depTime = Date.now();\n const newDeps = getDeps();\n const depsChanged = newDeps.length !== deps.length || newDeps.some((dep, index) => deps[index] !== dep);\n if (!depsChanged) {\n return result;\n }\n deps = newDeps;\n let resultTime;\n if (opts.key && ((_b = opts.debug) == null ? void 0 : _b.call(opts))) resultTime = Date.now();\n result = fn(...newDeps);\n if (opts.key && ((_c = opts.debug) == null ? void 0 : _c.call(opts))) {\n const depEndTime = Math.round((Date.now() - depTime) * 100) / 100;\n const resultEndTime = Math.round((Date.now() - resultTime) * 100) / 100;\n const resultFpsPercentage = resultEndTime / 16;\n const pad = (str, num) => {\n str = String(str);\n while (str.length < num) {\n str = \" \" + str;\n }\n return str;\n };\n console.info(\n `%c⏱ ${pad(resultEndTime, 5)} /${pad(depEndTime, 5)} ms`,\n `\n font-size: .6rem;\n font-weight: bold;\n color: hsl(${Math.max(\n 0,\n Math.min(120 - 120 * resultFpsPercentage, 120)\n )}deg 100% 31%);`,\n opts == null ? void 0 : opts.key\n );\n }\n if ((opts == null ? void 0 : opts.onChange) && !(isInitial && opts.skipInitialOnChange)) {\n opts.onChange(result);\n }\n isInitial = false;\n return result;\n }\n memoizedFunction.updateDeps = (newDeps) => {\n deps = newDeps;\n };\n return memoizedFunction;\n}\nfunction notUndefined(value, msg) {\n if (value === void 0) {\n throw new Error(`Unexpected undefined${msg ? `: ${msg}` : \"\"}`);\n } else {\n return value;\n }\n}\nconst approxEqual = (a, b) => Math.abs(a - b) < 1.01;\nconst debounce = (targetWindow, fn, ms) => {\n let timeoutId;\n return function(...args) {\n targetWindow.clearTimeout(timeoutId);\n timeoutId = targetWindow.setTimeout(() => fn.apply(this, args), ms);\n };\n};\nexport {\n approxEqual,\n debounce,\n memo,\n notUndefined\n};\n//# sourceMappingURL=utils.js.map\n","import { debounce, memo, notUndefined, approxEqual } from \"./utils.js\";\nconst getRect = (element) => {\n const { offsetWidth, offsetHeight } = element;\n return { width: offsetWidth, height: offsetHeight };\n};\nconst defaultKeyExtractor = (index) => index;\nconst defaultRangeExtractor = (range) => {\n const start = Math.max(range.startIndex - range.overscan, 0);\n const end = Math.min(range.endIndex + range.overscan, range.count - 1);\n const arr = [];\n for (let i = start; i <= end; i++) {\n arr.push(i);\n }\n return arr;\n};\nconst observeElementRect = (instance, cb) => {\n const element = instance.scrollElement;\n if (!element) {\n return;\n }\n const targetWindow = instance.targetWindow;\n if (!targetWindow) {\n return;\n }\n const handler = (rect) => {\n const { width, height } = rect;\n cb({ width: Math.round(width), height: Math.round(height) });\n };\n handler(getRect(element));\n if (!targetWindow.ResizeObserver) {\n return () => {\n };\n }\n const observer = new targetWindow.ResizeObserver((entries) => {\n const run = () => {\n const entry = entries[0];\n if (entry == null ? void 0 : entry.borderBoxSize) {\n const box = entry.borderBoxSize[0];\n if (box) {\n handler({ width: box.inlineSize, height: box.blockSize });\n return;\n }\n }\n handler(getRect(element));\n };\n instance.options.useAnimationFrameWithResizeObserver ? requestAnimationFrame(run) : run();\n });\n observer.observe(element, { box: \"border-box\" });\n return () => {\n observer.unobserve(element);\n };\n};\nconst addEventListenerOptions = {\n passive: true\n};\nconst observeWindowRect = (instance, cb) => {\n const element = instance.scrollElement;\n if (!element) {\n return;\n }\n const handler = () => {\n cb({ width: element.innerWidth, height: element.innerHeight });\n };\n handler();\n element.addEventListener(\"resize\", handler, addEventListenerOptions);\n return () => {\n element.removeEventListener(\"resize\", handler);\n };\n};\nconst supportsScrollend = typeof window == \"undefined\" ? true : \"onscrollend\" in window;\nconst observeElementOffset = (instance, cb) => {\n const element = instance.scrollElement;\n if (!element) {\n return;\n }\n const targetWindow = instance.targetWindow;\n if (!targetWindow) {\n return;\n }\n let offset = 0;\n const fallback = instance.options.useScrollendEvent && supportsScrollend ? () => void 0 : debounce(\n targetWindow,\n () => {\n cb(offset, false);\n },\n instance.options.isScrollingResetDelay\n );\n const createHandler = (isScrolling) => () => {\n const { horizontal, isRtl } = instance.options;\n offset = horizontal ? element[\"scrollLeft\"] * (isRtl && -1 || 1) : element[\"scrollTop\"];\n fallback();\n cb(offset, isScrolling);\n };\n const handler = createHandler(true);\n const endHandler = createHandler(false);\n element.addEventListener(\"scroll\", handler, addEventListenerOptions);\n const registerScrollendEvent = instance.options.useScrollendEvent && supportsScrollend;\n if (registerScrollendEvent) {\n element.addEventListener(\"scrollend\", endHandler, addEventListenerOptions);\n }\n return () => {\n element.removeEventListener(\"scroll\", handler);\n if (registerScrollendEvent) {\n element.removeEventListener(\"scrollend\", endHandler);\n }\n };\n};\nconst observeWindowOffset = (instance, cb) => {\n const element = instance.scrollElement;\n if (!element) {\n return;\n }\n const targetWindow = instance.targetWindow;\n if (!targetWindow) {\n return;\n }\n let offset = 0;\n const fallback = instance.options.useScrollendEvent && supportsScrollend ? () => void 0 : debounce(\n targetWindow,\n () => {\n cb(offset, false);\n },\n instance.options.isScrollingResetDelay\n );\n const createHandler = (isScrolling) => () => {\n offset = element[instance.options.horizontal ? \"scrollX\" : \"scrollY\"];\n fallback();\n cb(offset, isScrolling);\n };\n const handler = createHandler(true);\n const endHandler = createHandler(false);\n element.addEventListener(\"scroll\", handler, addEventListenerOptions);\n const registerScrollendEvent = instance.options.useScrollendEvent && supportsScrollend;\n if (registerScrollendEvent) {\n element.addEventListener(\"scrollend\", endHandler, addEventListenerOptions);\n }\n return () => {\n element.removeEventListener(\"scroll\", handler);\n if (registerScrollendEvent) {\n element.removeEventListener(\"scrollend\", endHandler);\n }\n };\n};\nconst measureElement = (element, entry, instance) => {\n if (entry == null ? void 0 : entry.borderBoxSize) {\n const box = entry.borderBoxSize[0];\n if (box) {\n const size = Math.round(\n box[instance.options.horizontal ? \"inlineSize\" : \"blockSize\"]\n );\n return size;\n }\n }\n return element[instance.options.horizontal ? \"offsetWidth\" : \"offsetHeight\"];\n};\nconst windowScroll = (offset, {\n adjustments = 0,\n behavior\n}, instance) => {\n var _a, _b;\n const toOffset = offset + adjustments;\n (_b = (_a = instance.scrollElement) == null ? void 0 : _a.scrollTo) == null ? void 0 : _b.call(_a, {\n [instance.options.horizontal ? \"left\" : \"top\"]: toOffset,\n behavior\n });\n};\nconst elementScroll = (offset, {\n adjustments = 0,\n behavior\n}, instance) => {\n var _a, _b;\n const toOffset = offset + adjustments;\n (_b = (_a = instance.scrollElement) == null ? void 0 : _a.scrollTo) == null ? void 0 : _b.call(_a, {\n [instance.options.horizontal ? \"left\" : \"top\"]: toOffset,\n behavior\n });\n};\nclass Virtualizer {\n constructor(opts) {\n this.unsubs = [];\n this.scrollElement = null;\n this.targetWindow = null;\n this.isScrolling = false;\n this.scrollState = null;\n this.measurementsCache = [];\n this.itemSizeCache = /* @__PURE__ */ new Map();\n this.laneAssignments = /* @__PURE__ */ new Map();\n this.pendingMeasuredCacheIndexes = [];\n this.prevLanes = void 0;\n this.lanesChangedFlag = false;\n this.lanesSettling = false;\n this.scrollRect = null;\n this.scrollOffset = null;\n this.scrollDirection = null;\n this.scrollAdjustments = 0;\n this.elementsCache = /* @__PURE__ */ new Map();\n this.now = () => {\n var _a, _b, _c;\n return ((_c = (_b = (_a = this.targetWindow) == null ? void 0 : _a.performance) == null ? void 0 : _b.now) == null ? void 0 : _c.call(_b)) ?? Date.now();\n };\n this.observer = /* @__PURE__ */ (() => {\n let _ro = null;\n const get = () => {\n if (_ro) {\n return _ro;\n }\n if (!this.targetWindow || !this.targetWindow.ResizeObserver) {\n return null;\n }\n return _ro = new this.targetWindow.ResizeObserver((entries) => {\n entries.forEach((entry) => {\n const run = () => {\n const node = entry.target;\n const index = this.indexFromElement(node);\n if (!node.isConnected) {\n this.observer.unobserve(node);\n return;\n }\n if (this.shouldMeasureDuringScroll(index)) {\n this.resizeItem(\n index,\n this.options.measureElement(node, entry, this)\n );\n }\n };\n this.options.useAnimationFrameWithResizeObserver ? requestAnimationFrame(run) : run();\n });\n });\n };\n return {\n disconnect: () => {\n var _a;\n (_a = get()) == null ? void 0 : _a.disconnect();\n _ro = null;\n },\n observe: (target) => {\n var _a;\n return (_a = get()) == null ? void 0 : _a.observe(target, { box: \"border-box\" });\n },\n unobserve: (target) => {\n var _a;\n return (_a = get()) == null ? void 0 : _a.unobserve(target);\n }\n };\n })();\n this.range = null;\n this.setOptions = (opts2) => {\n Object.entries(opts2).forEach(([key, value]) => {\n if (typeof value === \"undefined\") delete opts2[key];\n });\n this.options = {\n debug: false,\n initialOffset: 0,\n overscan: 1,\n paddingStart: 0,\n paddingEnd: 0,\n scrollPaddingStart: 0,\n scrollPaddingEnd: 0,\n horizontal: false,\n getItemKey: defaultKeyExtractor,\n rangeExtractor: defaultRangeExtractor,\n onChange: () => {\n },\n measureElement,\n initialRect: { width: 0, height: 0 },\n scrollMargin: 0,\n gap: 0,\n indexAttribute: \"data-index\",\n initialMeasurementsCache: [],\n lanes: 1,\n isScrollingResetDelay: 150,\n enabled: true,\n isRtl: false,\n useScrollendEvent: false,\n useAnimationFrameWithResizeObserver: false,\n laneAssignmentMode: \"estimate\",\n ...opts2\n };\n };\n this.notify = (sync) => {\n var _a, _b;\n (_b = (_a = this.options).onChange) == null ? void 0 : _b.call(_a, this, sync);\n };\n this.maybeNotify = memo(\n () => {\n this.calculateRange();\n return [\n this.isScrolling,\n this.range ? this.range.startIndex : null,\n this.range ? this.range.endIndex : null\n ];\n },\n (isScrolling) => {\n this.notify(isScrolling);\n },\n {\n key: process.env.NODE_ENV !== \"production\" && \"maybeNotify\",\n debug: () => this.options.debug,\n initialDeps: [\n this.isScrolling,\n this.range ? this.range.startIndex : null,\n this.range ? this.range.endIndex : null\n ]\n }\n );\n this.cleanup = () => {\n this.unsubs.filter(Boolean).forEach((d) => d());\n this.unsubs = [];\n this.observer.disconnect();\n if (this.rafId != null && this.targetWindow) {\n this.targetWindow.cancelAnimationFrame(this.rafId);\n this.rafId = null;\n }\n this.scrollState = null;\n this.scrollElement = null;\n this.targetWindow = null;\n };\n this._didMount = () => {\n return () => {\n this.cleanup();\n };\n };\n this._willUpdate = () => {\n var _a;\n const scrollElement = this.options.enabled ? this.options.getScrollElement() : null;\n if (this.scrollElement !== scrollElement) {\n this.cleanup();\n if (!scrollElement) {\n this.maybeNotify();\n return;\n }\n this.scrollElement = scrollElement;\n if (this.scrollElement && \"ownerDocument\" in this.scrollElement) {\n this.targetWindow = this.scrollElement.ownerDocument.defaultView;\n } else {\n this.targetWindow = ((_a = this.scrollElement) == null ? void 0 : _a.window) ?? null;\n }\n this.elementsCache.forEach((cached) => {\n this.observer.observe(cached);\n });\n this.unsubs.push(\n this.options.observeElementRect(this, (rect) => {\n this.scrollRect = rect;\n this.maybeNotify();\n })\n );\n this.unsubs.push(\n this.options.observeElementOffset(this, (offset, isScrolling) => {\n this.scrollAdjustments = 0;\n this.scrollDirection = isScrolling ? this.getScrollOffset() < offset ? \"forward\" : \"backward\" : null;\n this.scrollOffset = offset;\n this.isScrolling = isScrolling;\n if (this.scrollState) {\n this.scheduleScrollReconcile();\n }\n this.maybeNotify();\n })\n );\n this._scrollToOffset(this.getScrollOffset(), {\n adjustments: void 0,\n behavior: void 0\n });\n }\n };\n this.rafId = null;\n this.getSize = () => {\n if (!this.options.enabled) {\n this.scrollRect = null;\n return 0;\n }\n this.scrollRect = this.scrollRect ?? this.options.initialRect;\n return this.scrollRect[this.options.horizontal ? \"width\" : \"height\"];\n };\n this.getScrollOffset = () => {\n if (!this.options.enabled) {\n this.scrollOffset = null;\n return 0;\n }\n this.scrollOffset = this.scrollOffset ?? (typeof this.options.initialOffset === \"function\" ? this.options.initialOffset() : this.options.initialOffset);\n return this.scrollOffset;\n };\n this.getFurthestMeasurement = (measurements, index) => {\n const furthestMeasurementsFound = /* @__PURE__ */ new Map();\n const furthestMeasurements = /* @__PURE__ */ new Map();\n for (let m = index - 1; m >= 0; m--) {\n const measurement = measurements[m];\n if (furthestMeasurementsFound.has(measurement.lane)) {\n continue;\n }\n const previousFurthestMeasurement = furthestMeasurements.get(\n measurement.lane\n );\n if (previousFurthestMeasurement == null || measurement.end > previousFurthestMeasurement.end) {\n furthestMeasurements.set(measurement.lane, measurement);\n } else if (measurement.end < previousFurthestMeasurement.end) {\n furthestMeasurementsFound.set(measurement.lane, true);\n }\n if (furthestMeasurementsFound.size === this.options.lanes) {\n break;\n }\n }\n return furthestMeasurements.size === this.options.lanes ? Array.from(furthestMeasurements.values()).sort((a, b) => {\n if (a.end === b.end) {\n return a.index - b.index;\n }\n return a.end - b.end;\n })[0] : void 0;\n };\n this.getMeasurementOptions = memo(\n () => [\n this.options.count,\n this.options.paddingStart,\n this.options.scrollMargin,\n this.options.getItemKey,\n this.options.enabled,\n this.options.lanes,\n this.options.laneAssignmentMode\n ],\n (count, paddingStart, scrollMargin, getItemKey, enabled, lanes, laneAssignmentMode) => {\n const lanesChanged = this.prevLanes !== void 0 && this.prevLanes !== lanes;\n if (lanesChanged) {\n this.lanesChangedFlag = true;\n }\n this.prevLanes = lanes;\n this.pendingMeasuredCacheIndexes = [];\n return {\n count,\n paddingStart,\n scrollMargin,\n getItemKey,\n enabled,\n lanes,\n laneAssignmentMode\n };\n },\n {\n key: false\n }\n );\n this.getMeasurements = memo(\n () => [this.getMeasurementOptions(), this.itemSizeCache],\n ({\n count,\n paddingStart,\n scrollMargin,\n getItemKey,\n enabled,\n lanes,\n laneAssignmentMode\n }, itemSizeCache) => {\n if (!enabled) {\n this.measurementsCache = [];\n this.itemSizeCache.clear();\n this.laneAssignments.clear();\n return [];\n }\n if (this.laneAssignments.size > count) {\n for (const index of this.laneAssignments.keys()) {\n if (index >= count) {\n this.laneAssignments.delete(index);\n }\n }\n }\n if (this.lanesChangedFlag) {\n this.lanesChangedFlag = false;\n this.lanesSettling = true;\n this.measurementsCache = [];\n this.itemSizeCache.clear();\n this.laneAssignments.clear();\n this.pendingMeasuredCacheIndexes = [];\n }\n if (this.measurementsCache.length === 0 && !this.lanesSettling) {\n this.measurementsCache = this.options.initialMeasurementsCache;\n this.measurementsCache.forEach((item) => {\n this.itemSizeCache.set(item.key, item.size);\n });\n }\n const min = this.lanesSettling ? 0 : this.pendingMeasuredCacheIndexes.length > 0 ? Math.min(...this.pendingMeasuredCacheIndexes) : 0;\n this.pendingMeasuredCacheIndexes = [];\n if (this.lanesSettling && this.measurementsCache.length === count) {\n this.lanesSettling = false;\n }\n const measurements = this.measurementsCache.slice(0, min);\n const laneLastIndex = new Array(lanes).fill(\n void 0\n );\n for (let m = 0; m < min; m++) {\n const item = measurements[m];\n if (item) {\n laneLastIndex[item.lane] = m;\n }\n }\n for (let i = min; i < count; i++) {\n const key = getItemKey(i);\n const cachedLane = this.laneAssignments.get(i);\n let lane;\n let start;\n const shouldCacheLane = laneAssignmentMode === \"estimate\" || itemSizeCache.has(key);\n if (cachedLane !== void 0 && this.options.lanes > 1) {\n lane = cachedLane;\n const prevIndex = laneLastIndex[lane];\n const prevInLane = prevIndex !== void 0 ? measurements[prevIndex] : void 0;\n start = prevInLane ? prevInLane.end + this.options.gap : paddingStart + scrollMargin;\n } else {\n const furthestMeasurement = this.options.lanes === 1 ? measurements[i - 1] : this.getFurthestMeasurement(measurements, i);\n start = furthestMeasurement ? furthestMeasurement.end + this.options.gap : paddingStart + scrollMargin;\n lane = furthestMeasurement ? furthestMeasurement.lane : i % this.options.lanes;\n if (this.options.lanes > 1 && shouldCacheLane) {\n this.laneAssignments.set(i, lane);\n }\n }\n const measuredSize = itemSizeCache.get(key);\n const size = typeof measuredSize === \"number\" ? measuredSize : this.options.estimateSize(i);\n const end = start + size;\n measurements[i] = {\n index: i,\n start,\n size,\n end,\n key,\n lane\n };\n laneLastIndex[lane] = i;\n }\n this.measurementsCache = measurements;\n return measurements;\n },\n {\n key: process.env.NODE_ENV !== \"production\" && \"getMeasurements\",\n debug: () => this.options.debug\n }\n );\n this.calculateRange = memo(\n () => [\n this.getMeasurements(),\n this.getSize(),\n this.getScrollOffset(),\n this.options.lanes\n ],\n (measurements, outerSize, scrollOffset, lanes) => {\n return this.range = measurements.length > 0 && outerSize > 0 ? calculateRange({\n measurements,\n outerSize,\n scrollOffset,\n lanes\n }) : null;\n },\n {\n key: process.env.NODE_ENV !== \"production\" && \"calculateRange\",\n debug: () => this.options.debug\n }\n );\n this.getVirtualIndexes = memo(\n () => {\n let startIndex = null;\n let endIndex = null;\n const range = this.calculateRange();\n if (range) {\n startIndex = range.startIndex;\n endIndex = range.endIndex;\n }\n this.maybeNotify.updateDeps([this.isScrolling, startIndex, endIndex]);\n return [\n this.options.rangeExtractor,\n this.options.overscan,\n this.options.count,\n startIndex,\n endIndex\n ];\n },\n (rangeExtractor, overscan, count, startIndex, endIndex) => {\n return startIndex === null || endIndex === null ? [] : rangeExtractor({\n startIndex,\n endIndex,\n overscan,\n count\n });\n },\n {\n key: process.env.NODE_ENV !== \"production\" && \"getVirtualIndexes\",\n debug: () => this.options.debug\n }\n );\n this.indexFromElement = (node) => {\n const attributeName = this.options.indexAttribute;\n const indexStr = node.getAttribute(attributeName);\n if (!indexStr) {\n console.warn(\n `Missing attribute name '${attributeName}={index}' on measured element.`\n );\n return -1;\n }\n return parseInt(indexStr, 10);\n };\n this.shouldMeasureDuringScroll = (index) => {\n var _a;\n if (!this.scrollState || this.scrollState.behavior !== \"smooth\") {\n return true;\n }\n const scrollIndex = this.scrollState.index ?? ((_a = this.getVirtualItemForOffset(this.scrollState.lastTargetOffset)) == null ? void 0 : _a.index);\n if (scrollIndex !== void 0 && this.range) {\n const bufferSize = Math.max(\n this.options.overscan,\n Math.ceil((this.range.endIndex - this.range.startIndex) / 2)\n );\n const minIndex = Math.max(0, scrollIndex - bufferSize);\n const maxIndex = Math.min(\n this.options.count - 1,\n scrollIndex + bufferSize\n );\n return index >= minIndex && index <= maxIndex;\n }\n return true;\n };\n this.measureElement = (node) => {\n if (!node) {\n this.elementsCache.forEach((cached, key2) => {\n if (!cached.isConnected) {\n this.observer.unobserve(cached);\n this.elementsCache.delete(key2);\n }\n });\n return;\n }\n const index = this.indexFromElement(node);\n const key = this.options.getItemKey(index);\n const prevNode = this.elementsCache.get(key);\n if (prevNode !== node) {\n if (prevNode) {\n this.observer.unobserve(prevNode);\n }\n this.observer.observe(node);\n this.elementsCache.set(key, node);\n }\n if ((!this.isScrolling || this.scrollState) && this.shouldMeasureDuringScroll(index)) {\n this.resizeItem(index, this.options.measureElement(node, void 0, this));\n }\n };\n this.resizeItem = (index, size) => {\n var _a;\n const item = this.measurementsCache[index];\n if (!item) return;\n const itemSize = this.itemSizeCache.get(item.key) ?? item.size;\n const delta = size - itemSize;\n if (delta !== 0) {\n if (((_a = this.scrollState) == null ? void 0 : _a.behavior) !== \"smooth\" && (this.shouldAdjustScrollPositionOnItemSizeChange !== void 0 ? this.shouldAdjustScrollPositionOnItemSizeChange(item, delta, this) : item.start < this.getScrollOffset() + this.scrollAdjustments)) {\n if (process.env.NODE_ENV !== \"production\" && this.options.debug) {\n console.info(\"correction\", delta);\n }\n this._scrollToOffset(this.getScrollOffset(), {\n adjustments: this.scrollAdjustments += delta,\n behavior: void 0\n });\n }\n this.pendingMeasuredCacheIndexes.push(item.index);\n this.itemSizeCache = new Map(this.itemSizeCache.set(item.key, size));\n this.notify(false);\n }\n };\n this.getVirtualItems = memo(\n () => [this.getVirtualIndexes(), this.getMeasurements()],\n (indexes, measurements) => {\n const virtualItems = [];\n for (let k = 0, len = indexes.length; k < len; k++) {\n const i = indexes[k];\n const measurement = measurements[i];\n virtualItems.push(measurement);\n }\n return virtualItems;\n },\n {\n key: process.env.NODE_ENV !== \"production\" && \"getVirtualItems\",\n debug: () => this.options.debug\n }\n );\n this.getVirtualItemForOffset = (offset) => {\n const measurements = this.getMeasurements();\n if (measurements.length === 0) {\n return void 0;\n }\n return notUndefined(\n measurements[findNearestBinarySearch(\n 0,\n measurements.length - 1,\n (index) => notUndefined(measurements[index]).start,\n offset\n )]\n );\n };\n this.getMaxScrollOffset = () => {\n if (!this.scrollElement) return 0;\n if (\"scrollHeight\" in this.scrollElement) {\n return this.options.horizontal ? this.scrollElement.scrollWidth - this.scrollElement.clientWidth : this.scrollElement.scrollHeight - this.scrollElement.clientHeight;\n } else {\n const doc = this.scrollElement.document.documentElement;\n return this.options.horizontal ? doc.scrollWidth - this.scrollElement.innerWidth : doc.scrollHeight - this.scrollElement.innerHeight;\n }\n };\n this.getOffsetForAlignment = (toOffset, align, itemSize = 0) => {\n if (!this.scrollElement) return 0;\n const size = this.getSize();\n const scrollOffset = this.getScrollOffset();\n if (align === \"auto\") {\n align = toOffset >= scrollOffset + size ? \"end\" : \"start\";\n }\n if (align === \"center\") {\n toOffset += (itemSize - size) / 2;\n } else if (align === \"end\") {\n toOffset -= size;\n }\n const maxOffset = this.getMaxScrollOffset();\n return Math.max(Math.min(maxOffset, toOffset), 0);\n };\n this.getOffsetForIndex = (index, align = \"auto\") => {\n index = Math.max(0, Math.min(index, this.options.count - 1));\n const size = this.getSize();\n const scrollOffset = this.getScrollOffset();\n const item = this.measurementsCache[index];\n if (!item) return;\n if (align === \"auto\") {\n if (item.end >= scrollOffset + size - this.options.scrollPaddingEnd) {\n align = \"end\";\n } else if (item.start <= scrollOffset + this.options.scrollPaddingStart) {\n align = \"start\";\n } else {\n return [scrollOffset, align];\n }\n }\n if (align === \"end\" && index === this.options.count - 1) {\n return [this.getMaxScrollOffset(), align];\n }\n const toOffset = align === \"end\" ? item.end + this.options.scrollPaddingEnd : item.start - this.options.scrollPaddingStart;\n return [\n this.getOffsetForAlignment(toOffset, align, item.size),\n align\n ];\n };\n this.scrollToOffset = (toOffset, { align = \"start\", behavior = \"auto\" } = {}) => {\n const offset = this.getOffsetForAlignment(toOffset, align);\n const now = this.now();\n this.scrollState = {\n index: null,\n align,\n behavior,\n startedAt: now,\n lastTargetOffset: offset,\n stableFrames: 0\n };\n this._scrollToOffset(offset, { adjustments: void 0, behavior });\n this.scheduleScrollReconcile();\n };\n this.scrollToIndex = (index, {\n align: initialAlign = \"auto\",\n behavior = \"auto\"\n } = {}) => {\n index = Math.max(0, Math.min(index, this.options.count - 1));\n const offsetInfo = this.getOffsetForIndex(index, initialAlign);\n if (!offsetInfo) {\n return;\n }\n const [offset, align] = offsetInfo;\n const now = this.now();\n this.scrollState = {\n index,\n align,\n behavior,\n startedAt: now,\n lastTargetOffset: offset,\n stableFrames: 0\n };\n this._scrollToOffset(offset, { adjustments: void 0, behavior });\n this.scheduleScrollReconcile();\n };\n this.scrollBy = (delta, { behavior = \"auto\" } = {}) => {\n const offset = this.getScrollOffset() + delta;\n const now = this.now();\n this.scrollState = {\n index: null,\n align: \"start\",\n behavior,\n startedAt: now,\n lastTargetOffset: offset,\n stableFrames: 0\n };\n this._scrollToOffset(offset, { adjustments: void 0, behavior });\n this.scheduleScrollReconcile();\n };\n this.getTotalSize = () => {\n var _a;\n const measurements = this.getMeasurements();\n let end;\n if (measurements.length === 0) {\n end = this.options.paddingStart;\n } else if (this.options.lanes === 1) {\n end = ((_a = measurements[measurements.length - 1]) == null ? void 0 : _a.end) ?? 0;\n } else {\n const endByLane = Array(this.options.lanes).fill(null);\n let endIndex = measurements.length - 1;\n while (endIndex >= 0 && endByLane.some((val) => val === null)) {\n const item = measurements[endIndex];\n if (endByLane[item.lane] === null) {\n endByLane[item.lane] = item.end;\n }\n endIndex--;\n }\n end = Math.max(...endByLane.filter((val) => val !== null));\n }\n return Math.max(\n end - this.options.scrollMargin + this.options.paddingEnd,\n 0\n );\n };\n this._scrollToOffset = (offset, {\n adjustments,\n behavior\n }) => {\n this.options.scrollToFn(offset, { behavior, adjustments }, this);\n };\n this.measure = () => {\n this.itemSizeCache = /* @__PURE__ */ new Map();\n this.laneAssignments = /* @__PURE__ */ new Map();\n this.notify(false);\n };\n this.setOptions(opts);\n }\n scheduleScrollReconcile() {\n if (!this.targetWindow) {\n this.scrollState = null;\n return;\n }\n if (this.rafId != null) return;\n this.rafId = this.targetWindow.requestAnimationFrame(() => {\n this.rafId = null;\n this.reconcileScroll();\n });\n }\n reconcileScroll() {\n if (!this.scrollState) return;\n const el = this.scrollElement;\n if (!el) return;\n const MAX_RECONCILE_MS = 5e3;\n if (this.now() - this.scrollState.startedAt > MAX_RECONCILE_MS) {\n this.scrollState = null;\n return;\n }\n const offsetInfo = this.scrollState.index != null ? this.getOffsetForIndex(this.scrollState.index, this.scrollState.align) : void 0;\n const targetOffset = offsetInfo ? offsetInfo[0] : this.scrollState.lastTargetOffset;\n const STABLE_FRAMES = 1;\n const targetChanged = targetOffset !== this.scrollState.lastTargetOffset;\n if (!targetChanged && approxEqual(targetOffset, this.getScrollOffset())) {\n this.scrollState.stableFrames++;\n if (this.scrollState.stableFrames >= STABLE_FRAMES) {\n this.scrollState = null;\n return;\n }\n } else {\n this.scrollState.stableFrames = 0;\n if (targetChanged) {\n this.scrollState.lastTargetOffset = targetOffset;\n this.scrollState.behavior = \"auto\";\n this._scrollToOffset(targetOffset, {\n adjustments: void 0,\n behavior: \"auto\"\n });\n }\n }\n this.scheduleScrollReconcile();\n }\n}\nconst findNearestBinarySearch = (low, high, getCurrentValue, value) => {\n while (low <= high) {\n const middle = (low + high) / 2 | 0;\n const currentValue = getCurrentValue(middle);\n if (currentValue < value) {\n low = middle + 1;\n } else if (currentValue > value) {\n high = middle - 1;\n } else {\n return middle;\n }\n }\n if (low > 0) {\n return low - 1;\n } else {\n return 0;\n }\n};\nfunction calculateRange({\n measurements,\n outerSize,\n scrollOffset,\n lanes\n}) {\n const lastIndex = measurements.length - 1;\n const getOffset = (index) => measurements[index].start;\n if (measurements.length <= lanes) {\n return {\n startIndex: 0,\n endIndex: lastIndex\n };\n }\n let startIndex = findNearestBinarySearch(\n 0,\n lastIndex,\n getOffset,\n scrollOffset\n );\n let endIndex = startIndex;\n if (lanes === 1) {\n while (endIndex < lastIndex && measurements[endIndex].end < scrollOffset + outerSize) {\n endIndex++;\n }\n } else if (lanes > 1) {\n const endPerLane = Array(lanes).fill(0);\n while (endIndex < lastIndex && endPerLane.some((pos) => pos < scrollOffset + outerSize)) {\n const item = measurements[endIndex];\n endPerLane[item.lane] = item.end;\n endIndex++;\n }\n const startPerLane = Array(lanes).fill(scrollOffset + outerSize);\n while (startIndex >= 0 && startPerLane.some((pos) => pos >= scrollOffset)) {\n const item = measurements[startIndex];\n startPerLane[item.lane] = item.start;\n startIndex--;\n }\n startIndex = Math.max(0, startIndex - startIndex % lanes);\n endIndex = Math.min(lastIndex, endIndex + (lanes - 1 - endIndex % lanes));\n }\n return { startIndex, endIndex };\n}\nexport {\n Virtualizer,\n approxEqual,\n debounce,\n defaultKeyExtractor,\n defaultRangeExtractor,\n elementScroll,\n measureElement,\n memo,\n notUndefined,\n observeElementOffset,\n observeElementRect,\n observeWindowOffset,\n observeWindowRect,\n windowScroll\n};\n//# sourceMappingURL=index.js.map\n","import { elementScroll, observeElementOffset, observeElementRect, windowScroll, observeWindowOffset, observeWindowRect, Virtualizer } from \"@tanstack/virtual-core\";\nclass VirtualizerControllerBase {\n constructor(host, options) {\n this.cleanup = () => {\n };\n const resolvedOptions = {\n ...options,\n onChange: (instance, sync) => {\n var _a;\n this.host.updateComplete.then(() => this.host.requestUpdate());\n (_a = options.onChange) == null ? void 0 : _a.call(options, instance, sync);\n }\n };\n this.virtualizer = new Virtualizer(resolvedOptions);\n (this.host = host).addController(this);\n }\n getVirtualizer() {\n return this.virtualizer;\n }\n hostConnected() {\n this.cleanup = this.virtualizer._didMount();\n }\n hostUpdated() {\n this.virtualizer._willUpdate();\n }\n hostDisconnected() {\n this.cleanup();\n }\n}\nclass VirtualizerController extends VirtualizerControllerBase {\n constructor(host, options) {\n super(host, {\n observeElementRect,\n observeElementOffset,\n scrollToFn: elementScroll,\n ...options\n });\n }\n}\nclass WindowVirtualizerController extends VirtualizerControllerBase {\n constructor(host, options) {\n super(host, {\n getScrollElement: () => typeof document !== \"undefined\" ? window : null,\n observeElementRect: observeWindowRect,\n observeElementOffset: observeWindowOffset,\n scrollToFn: windowScroll,\n initialOffset: () => typeof document !== \"undefined\" ? window.scrollY : 0,\n ...options\n });\n }\n}\nexport {\n VirtualizerController,\n WindowVirtualizerController\n};\n//# sourceMappingURL=index.js.map\n"],"names":["memo","getDeps","fn","opts","result","deps","initialDeps","isInitial","memoizedFunction","_a","_b","_c","depTime","key","debug","call","Date","now","newDeps","length","some","dep","index","resultTime","depEndTime","Math","round","resultEndTime","resultFpsPercentage","pad","n","str","num","String","console","info","concat","max","min","onChange","skipInitialOnChange","updateDeps","notUndefined","value","msg","Error","setters","execute","debounce","i","targetWindow","ms","timeoutId","args","clearTimeout","setTimeout","apply","this","getRect","element","offsetWidth","offsetHeight","width","height","defaultKeyExtractor","defaultRangeExtractor","range","start","startIndex","overscan","end","endIndex","count","arr","push","observeElementRect","instance","cb","scrollElement","handler","rect","ResizeObserver","observer","entries","run","entry","borderBoxSize","box","inlineSize","blockSize","options","useAnimationFrameWithResizeObserver","requestAnimationFrame","observe","unobserve","addEventListenerOptions","passive","supportsScrollend","window","observeElementOffset","a","offset","fallback","useScrollendEvent","isScrollingResetDelay","createHandler","isScrolling","_t$options","horizontal","isRtl","scrollLeft","scrollTop","endHandler","addEventListener","registerScrollendEvent","removeEventListener","measureElement","u","elementScroll","d","_ref$adjustments","_ref","adjustments","s","behavior","toOffset","scrollTo","_defineProperty","Virtualizer","c","unsubs","scrollState","measurementsCache","itemSizeCache","Map","laneAssignments","pendingMeasuredCacheIndexes","prevLanes","lanesChangedFlag","lanesSettling","scrollRect","scrollOffset","scrollDirection","scrollAdjustments","elementsCache","_ref2","performance","_ro","get","forEach","node","target","indexFromElement","isConnected","shouldMeasureDuringScroll","resizeItem","disconnect","setOptions","opts2","Object","_ref3","_ref4","_slicedToArray","initialOffset","paddingStart","paddingEnd","scrollPaddingStart","scrollPaddingEnd","getItemKey","rangeExtractor","initialRect","scrollMargin","gap","indexAttribute","initialMeasurementsCache","lanes","enabled","laneAssignmentMode","notify","sync","maybeNotify","calculateRange","cleanup","filter","Boolean","rafId","cancelAnimationFrame","_didMount","_willUpdate","getScrollElement","_ref5","ownerDocument","defaultView","cached","getScrollOffset","scheduleScrollReconcile","_scrollToOffset","getSize","_this2$scrollRect","_this2$scrollOffset","getFurthestMeasurement","measurements","furthestMeasurementsFound","furthestMeasurements","m","measurement","has","lane","previousFurthestMeasurement","set","size","Array","from","values","sort","b","getMeasurementOptions","getMeasurements","_ref6","clear","keys","_iterator","_step","done","item","slice","laneLastIndex","fill","cachedLane","shouldCacheLane","prevIndex","prevInLane","furthestMeasurement","measuredSize","estimateSize","outerSize","_ref7","lastIndex","getOffset","findNearestBinarySearch","endPerLane","pos","startPerLane","getVirtualIndexes","attributeName","indexStr","getAttribute","parseInt","warn","_this2$scrollState$in","scrollIndex","getVirtualItemForOffset","lastTargetOffset","bufferSize","ceil","minIndex","maxIndex","key2","prevNode","delta","shouldAdjustScrollPositionOnItemSizeChange","getVirtualItems","indexes","virtualItems","k","len","getMaxScrollOffset","scrollWidth","clientWidth","scrollHeight","clientHeight","doc","document","documentElement","innerWidth","innerHeight","getOffsetForAlignment","align","itemSize","maxOffset","getOffsetForIndex","arguments","undefined","scrollToOffset","_ref8","_ref8$align","_ref8$behavior","startedAt","stableFrames","scrollToIndex","initialAlign","_ref9$align","_ref9$behavior","_ref9","offsetInfo","_h5","scrollBy","_ref10","_ref10$behavior","getTotalSize","endByLane","val","scrollToFn","measure","_createClass","reconcileScroll","targetOffset","targetChanged","abs","low","high","getCurrentValue","middle","currentValue","VirtualizerControllerBase","v","host","resolvedOptions","_objectSpread","updateComplete","then","requestUpdate","virtualizer","addController","getVirtualizer","hostConnected","hostUpdated","hostDisconnected","VirtualizerController","super"],"mappings":"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","x_google_ignoreList":[0,1,2]}
|