@aquera/nile-elements 1.9.9 → 1.9.10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (86) hide show
  1. package/README.md +4 -0
  2. package/dist/{index-d7e6f1c6.cjs.js → index-50880eb7.cjs.js} +2 -2
  3. package/dist/{index-d7e6f1c6.cjs.js.map → index-50880eb7.cjs.js.map} +1 -1
  4. package/dist/index-6832c52b.cjs.js +2 -0
  5. package/dist/index-6832c52b.cjs.js.map +1 -0
  6. package/dist/index-747d1880.cjs.js +2 -0
  7. package/dist/index-747d1880.cjs.js.map +1 -0
  8. package/dist/{index-289706c7.esm.js → index-7b1c9857.esm.js} +1 -1
  9. package/dist/index-a487d8b4.esm.js +1 -0
  10. package/dist/index-ba47645d.esm.js +1 -0
  11. package/dist/index.cjs.js +1 -1
  12. package/dist/index.esm.js +1 -1
  13. package/dist/index.js +17 -7
  14. package/dist/nile-checkbox/nile-checkbox.cjs.js +1 -1
  15. package/dist/nile-checkbox/nile-checkbox.cjs.js.map +1 -1
  16. package/dist/nile-checkbox/nile-checkbox.esm.js +1 -1
  17. package/dist/nile-combobox/index.cjs.js +1 -1
  18. package/dist/nile-combobox/index.esm.js +1 -1
  19. package/dist/nile-combobox/nile-combobox.cjs.js +1 -1
  20. package/dist/nile-combobox/nile-combobox.esm.js +1 -1
  21. package/dist/nile-detail/index.cjs.js +1 -1
  22. package/dist/nile-detail/index.esm.js +1 -1
  23. package/dist/nile-detail/nile-detail.cjs.js +1 -1
  24. package/dist/nile-detail/nile-detail.esm.js +1 -1
  25. package/dist/nile-nav-tab/nile-nav-tab.cjs.js +1 -1
  26. package/dist/nile-nav-tab/nile-nav-tab.cjs.js.map +1 -1
  27. package/dist/nile-nav-tab/nile-nav-tab.css.cjs.js +1 -1
  28. package/dist/nile-nav-tab/nile-nav-tab.css.cjs.js.map +1 -1
  29. package/dist/nile-nav-tab/nile-nav-tab.css.esm.js +11 -0
  30. package/dist/nile-nav-tab/nile-nav-tab.esm.js +1 -1
  31. package/dist/nile-nav-tab-group/nile-nav-tab-group.css.cjs.js +1 -1
  32. package/dist/nile-nav-tab-group/nile-nav-tab-group.css.cjs.js.map +1 -1
  33. package/dist/nile-nav-tab-group/nile-nav-tab-group.css.esm.js +1 -2
  34. package/dist/nile-wysiwyg-editor/engine/commands.cjs.js +1 -1
  35. package/dist/nile-wysiwyg-editor/engine/commands.esm.js +1 -1
  36. package/dist/nile-wysiwyg-editor/engine/create-state.cjs.js +1 -1
  37. package/dist/nile-wysiwyg-editor/engine/create-state.esm.js +1 -1
  38. package/dist/nile-wysiwyg-editor/engine/index.cjs.js +1 -1
  39. package/dist/nile-wysiwyg-editor/engine/index.esm.js +1 -1
  40. package/dist/nile-wysiwyg-editor/engine/keymap.cjs.js +1 -1
  41. package/dist/nile-wysiwyg-editor/engine/keymap.esm.js +1 -1
  42. package/dist/nile-wysiwyg-editor/engine/plugins/code-highlight.cjs.js +1 -1
  43. package/dist/nile-wysiwyg-editor/engine/plugins/code-highlight.esm.js +1 -1
  44. package/dist/nile-wysiwyg-editor/engine/plugins/find-replace.cjs.js +1 -1
  45. package/dist/nile-wysiwyg-editor/engine/plugins/find-replace.esm.js +1 -1
  46. package/dist/nile-wysiwyg-editor/engine/plugins/image.cjs.js +1 -1
  47. package/dist/nile-wysiwyg-editor/engine/plugins/image.esm.js +1 -1
  48. package/dist/nile-wysiwyg-editor/engine/plugins/placeholder.cjs.js +1 -1
  49. package/dist/nile-wysiwyg-editor/engine/plugins/placeholder.esm.js +1 -1
  50. package/dist/nile-wysiwyg-editor/engine/plugins/suggestions.cjs.js +1 -1
  51. package/dist/nile-wysiwyg-editor/engine/plugins/suggestions.esm.js +1 -1
  52. package/dist/nile-wysiwyg-editor/engine/plugins/tables.cjs.js +1 -1
  53. package/dist/nile-wysiwyg-editor/engine/plugins/tables.esm.js +1 -1
  54. package/dist/nile-wysiwyg-editor/engine/schema.cjs.js +1 -1
  55. package/dist/nile-wysiwyg-editor/engine/schema.esm.js +1 -1
  56. package/dist/nile-wysiwyg-editor/engine/selection-state.cjs.js +1 -1
  57. package/dist/nile-wysiwyg-editor/engine/selection-state.esm.js +1 -1
  58. package/dist/nile-wysiwyg-editor/index.cjs.js +1 -1
  59. package/dist/nile-wysiwyg-editor/index.esm.js +1 -1
  60. package/dist/nile-wysiwyg-editor/nile-wysiwyg-editor.cjs.js +1 -1
  61. package/dist/nile-wysiwyg-editor/nile-wysiwyg-editor.esm.js +1 -1
  62. package/dist/nile-wysiwyg-editor/ui/code-block-menu.cjs.js +1 -1
  63. package/dist/nile-wysiwyg-editor/ui/code-block-menu.esm.js +1 -1
  64. package/dist/src/nile-checkbox/nile-checkbox.js +1 -0
  65. package/dist/src/nile-checkbox/nile-checkbox.js.map +1 -1
  66. package/dist/src/nile-nav-tab/nile-nav-tab.css.js +11 -0
  67. package/dist/src/nile-nav-tab/nile-nav-tab.css.js.map +1 -1
  68. package/dist/src/nile-nav-tab/nile-nav-tab.d.ts +2 -0
  69. package/dist/src/nile-nav-tab/nile-nav-tab.js +13 -0
  70. package/dist/src/nile-nav-tab/nile-nav-tab.js.map +1 -1
  71. package/dist/src/nile-nav-tab-group/nile-nav-tab-group.css.js +1 -2
  72. package/dist/src/nile-nav-tab-group/nile-nav-tab-group.css.js.map +1 -1
  73. package/dist/src/version.js +1 -1
  74. package/dist/src/version.js.map +1 -1
  75. package/dist/tsconfig.tsbuildinfo +1 -1
  76. package/package.json +1 -1
  77. package/src/nile-checkbox/nile-checkbox.ts +1 -0
  78. package/src/nile-nav-tab/nile-nav-tab.css.ts +11 -0
  79. package/src/nile-nav-tab/nile-nav-tab.ts +17 -0
  80. package/src/nile-nav-tab-group/nile-nav-tab-group.css.ts +1 -2
  81. package/dist/index-353172ed.esm.js +0 -1
  82. package/dist/index-b387a9f4.cjs.js +0 -2
  83. package/dist/index-b387a9f4.cjs.js.map +0 -1
  84. package/dist/index-cc1385e0.cjs.js +0 -2
  85. package/dist/index-cc1385e0.cjs.js.map +0 -1
  86. package/dist/index-dedc38a6.esm.js +0 -1
@@ -1 +0,0 @@
1
- function t(t,i,s){let h,n=s.initialDeps??[],e=!0;function l(){const l=t();return l.length!==n.length||l.some(((t,i)=>n[i]!==t))?(n=l,h=i(...l),!(null==s?void 0:s.onChange)||e&&s.skipInitialOnChange||s.onChange(h),e=!1,h):h}return l.updateDeps=t=>{n=t},l}function i(t,i){if(void 0===t)throw new Error("Unexpected undefined"+(i?`: ${i}`:""));return t}const s=(t,i,s)=>{let h;return function(...n){t.clearTimeout(h),h=t.setTimeout((()=>i.apply(this,n)),s)}};let h;const n=()=>{if(void 0!==h)return h;if("undefined"==typeof navigator)return h=!1;if(/iP(hone|od|ad)/.test(navigator.userAgent))return h=!0;const t=navigator.maxTouchPoints;return h="MacIntel"===navigator.platform&&void 0!==t&&t>0},e=t=>{const{offsetWidth:i,offsetHeight:s}=t;return{width:i,height:s}},l=t=>t,r=t=>{const i=Math.max(t.startIndex-t.overscan,0),s=Math.min(t.endIndex+t.overscan,t.count-1)-i+1,h=new Array(s);for(let t=0;t<s;t++)h[t]=i+t;return h},o=(t,i)=>{const s=t.scrollElement;if(!s)return;const h=t.targetWindow;if(!h)return;const n=t=>{const{width:s,height:h}=t;i({width:Math.round(s),height:Math.round(h)})};if(n(e(s)),!h.ResizeObserver)return()=>{};const l=new h.ResizeObserver((i=>{const h=()=>{const t=i[0];if(null==t?void 0:t.borderBoxSize){const i=t.borderBoxSize[0];if(i)return void n({width:i.inlineSize,height:i.blockSize})}n(e(s))};t.options.useAnimationFrameWithResizeObserver?requestAnimationFrame(h):h()}));return l.observe(s,{box:"border-box"}),()=>{l.unobserve(s)}},u={passive:!0},a="undefined"==typeof window||"onscrollend"in window,c=(t,i)=>((t,i,h)=>{const n=t.scrollElement;if(!n)return;const e=t.targetWindow;if(!e)return;const l=t.options.useScrollendEvent&&a;let r=0;const o=l?null:s(e,(()=>i(r,!1)),t.options.isScrollingResetDelay),c=t=>()=>{r=h(n),null==o||o(),i(r,t)},d=c(!0),f=c(!1);return n.addEventListener("scroll",d,u),l&&n.addEventListener("scrollend",f,u),()=>{n.removeEventListener("scroll",d),l&&n.removeEventListener("scrollend",f)}})(t,i,(i=>{const{horizontal:s,isRtl:h}=t.options;return s?i.scrollLeft*(h?-1:1):i.scrollTop})),d=(t,i,s)=>{if(s.options.useCachedMeasurements){const i=s.indexFromElement(t),h=s.options.getItemKey(i);return s.itemSizeCache.get(h)??s.options.estimateSize(i)}if(null==i?void 0:i.borderBoxSize){const t=i.borderBoxSize[0];if(t){return Math.round(t[s.options.horizontal?"inlineSize":"blockSize"])}}if(!i){const i=s.indexFromElement(t),h=s.options.getItemKey(i),n=s.itemSizeCache.get(h);if(void 0!==n)return n}return t[s.options.horizontal?"offsetWidth":"offsetHeight"]},f=(t,{adjustments:i=0,behavior:s},h)=>{var n,e;null==(e=null==(n=h.scrollElement)?void 0:n.scrollTo)||e.call(n,{[h.options.horizontal?"left":"top"]:t+i,behavior:s})};class v{constructor(s){this.unsubs=[],this.scrollElement=null,this.targetWindow=null,this.isScrolling=!1,this.scrollState=null,this.measurementsCache=[],this._flatMeasurements=null,this.itemSizeCache=new Map,this.itemSizeCacheVersion=0,this.laneAssignments=new Map,this.pendingMin=null,this.prevLanes=void 0,this.lanesChangedFlag=!1,this.lanesSettling=!1,this.pendingScrollAnchor=null,this.scrollRect=null,this.scrollOffset=null,this.scrollDirection=null,this.scrollAdjustments=0,this._iosDeferredAdjustment=0,this._iosTouching=!1,this._iosJustTouchEnded=!1,this._iosTouchEndTimerId=null,this._intendedScrollOffset=null,this.elementsCache=new Map,this.now=()=>{var t,i,s;return(null==(s=null==(i=null==(t=this.targetWindow)?void 0:t.performance)?void 0:i.now)?void 0:s.call(i))??Date.now()},this.observer=(()=>{let t=null;const i=()=>t||(this.targetWindow&&this.targetWindow.ResizeObserver?t=new this.targetWindow.ResizeObserver((t=>{t.forEach((t=>{const i=()=>{const i=t.target,s=this.indexFromElement(i);if(i.isConnected)this.shouldMeasureDuringScroll(s)&&this.resizeItem(s,this.options.measureElement(i,t,this));else{this.observer.unobserve(i);for(const[t,s]of this.elementsCache)if(s===i){this.elementsCache.delete(t);break}}};this.options.useAnimationFrameWithResizeObserver?requestAnimationFrame(i):i()}))})):null);return{disconnect:()=>{var s;null==(s=i())||s.disconnect(),t=null},observe:t=>{var s;return null==(s=i())?void 0:s.observe(t,{box:"border-box"})},unobserve:t=>{var s;return null==(s=i())?void 0:s.unobserve(t)}}})(),this.range=null,this.setOptions=t=>{var i,s;const h={debug:!1,initialOffset:0,overscan:1,paddingStart:0,paddingEnd:0,scrollPaddingStart:0,scrollPaddingEnd:0,horizontal:!1,getItemKey:l,rangeExtractor:r,onChange:()=>{},measureElement:d,initialRect:{width:0,height:0},scrollMargin:0,gap:0,indexAttribute:"data-index",initialMeasurementsCache:[],lanes:1,anchorTo:"start",followOnAppend:!1,scrollEndThreshold:1,isScrollingResetDelay:150,enabled:!0,isRtl:!1,useScrollendEvent:!1,useAnimationFrameWithResizeObserver:!1,laneAssignmentMode:"estimate",useCachedMeasurements:!1};for(const i in t){const s=t[i];void 0!==s&&(h[i]=s)}const n=this.options;let e=null,o=null,u=!1;if(void 0!==n&&n.enabled&&h.enabled&&"end"===h.anchorTo&&null!==this.scrollElement){const t=n.count,l=h.count,r=this.getMeasurements(),a=t>0?(null==(i=r[0])?void 0:i.key)??n.getItemKey(0):null,c=t>0?(null==(s=r[t-1])?void 0:s.key)??n.getItemKey(t-1):null;if(l!==t||t>0&&l>0&&(h.getItemKey(0)!==a||h.getItemKey(l-1)!==c)){u=!0;const i=t>0?this.getVirtualItemForOffset(this.getScrollOffset())??r[0]:null;i&&(e=[i.key,this.getScrollOffset()-i.start]);const s=!0===h.followOnAppend?"auto":h.followOnAppend||null;s&&l>t&&this.isAtEnd(n.scrollEndThreshold)&&(0===t||h.getItemKey(l-1)!==c)&&(o=s)}}this.options=h,u&&(this.pendingMin=0,this.itemSizeCacheVersion++);let a=!1,c=0;if(e&&null!==this.scrollOffset){const[t,i]=e,s=this.getMeasurements(),{count:h,getItemKey:n}=this.options;let l=0;for(;l<h&&n(l)!==t;)l++;if(l<h){const t=s[l];if(t){const s=t.start+i;s!==this.scrollOffset&&(c=s-this.scrollOffset,this.scrollOffset=s,a=!0)}}}(a||o)&&(this.pendingScrollAnchor=[a?e[0]:null,a?e[1]:0,o,c])},this.notify=t=>{var i,s;null==(s=(i=this.options).onChange)||s.call(i,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._iosDeferredAdjustment=0,this._iosTouching=!1,this._iosJustTouchEnded=!1,this.scrollElement=null,this.targetWindow=null},this._didMount=()=>()=>{this.cleanup()},this._willUpdate=()=>{var t;const i=this.options.enabled?this.options.getScrollElement():null;if(this.scrollElement!==i){if(this.cleanup(),!i)return void this.maybeNotify();if(this.scrollElement=i,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,i)=>{if(i&&null===this._intendedScrollOffset&&t===this.scrollOffset)return;null!==this._intendedScrollOffset&&Math.abs(t-this._intendedScrollOffset)<1.5&&(t=this._intendedScrollOffset),this._intendedScrollOffset=null,this.scrollAdjustments=0;const s=this.getScrollOffset();this.scrollDirection=i?s===t?this.scrollDirection:s<t?"forward":"backward":null,this.scrollOffset=t,this.isScrolling=i,this._flushIosDeferredIfReady(),this.scrollState&&this.scheduleScrollReconcile(),this.maybeNotify()}))),"addEventListener"in this.scrollElement){const t=this.scrollElement,i=()=>{this._iosTouching=!0,this._iosJustTouchEnded=!1,null!==this._iosTouchEndTimerId&&null!=this.targetWindow&&(this.targetWindow.clearTimeout(this._iosTouchEndTimerId),this._iosTouchEndTimerId=null)},s=()=>{this._iosTouching=!1,n()&&null!=this.targetWindow&&(this._iosJustTouchEnded=!0,this._iosTouchEndTimerId=this.targetWindow.setTimeout((()=>{this._iosJustTouchEnded=!1,this._iosTouchEndTimerId=null,this._flushIosDeferredIfReady()}),150))};t.addEventListener("touchstart",i,u),t.addEventListener("touchend",s,u),this.unsubs.push((()=>{t.removeEventListener("touchstart",i),t.removeEventListener("touchend",s),null!==this._iosTouchEndTimerId&&null!=this.targetWindow&&(this.targetWindow.clearTimeout(this._iosTouchEndTimerId),this._iosTouchEndTimerId=null)}))}this._scrollToOffset(this.getScrollOffset(),{adjustments:void 0,behavior:void 0})}const s=this.pendingScrollAnchor;if(this.pendingScrollAnchor=null,s&&this.scrollElement&&this.options.enabled){const[t,i,h,e]=s;null===t||h||(n()&&(this.isScrolling||this._iosTouching||this._iosJustTouchEnded)?0!==e&&(this._iosDeferredAdjustment+=e):this._scrollToOffset(this.getScrollOffset(),{adjustments:void 0,behavior:void 0})),h&&this.scrollToEnd({behavior:h})}},this._flushIosDeferredIfReady=()=>{if(0===this._iosDeferredAdjustment)return;if(this.isScrolling)return;if(this._iosTouching)return;if(this._iosJustTouchEnded)return;const t=this.getScrollOffset(),i=this.getMaxScrollOffset();if(t<0||t>i)return;const s=this._iosDeferredAdjustment;this._iosDeferredAdjustment=0,this._scrollToOffset(t,{adjustments:this.scrollAdjustments+=s,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.getMeasurementOptions=t((()=>[this.options.count,this.options.paddingStart,this.options.scrollMargin,this.options.getItemKey,this.options.enabled,this.options.lanes,this.options.laneAssignmentMode,this.options.gap]),((t,i,s,h,n,e,l,r)=>(void 0!==this.prevLanes&&this.prevLanes!==e&&(this.lanesChangedFlag=!0),this.prevLanes=e,this.pendingMin=null,{count:t,paddingStart:i,scrollMargin:s,getItemKey:h,enabled:n,lanes:e,laneAssignmentMode:l,gap:r})),{key:!1}),this.getMeasurements=t((()=>[this.getMeasurementOptions(),this.itemSizeCacheVersion]),(({count:t,paddingStart:i,scrollMargin:s,getItemKey:h,enabled:n,lanes:e,laneAssignmentMode:l,gap:r},o)=>{const u=this.itemSizeCache;if(!n)return this.measurementsCache=[],this.itemSizeCache.clear(),this.laneAssignments.clear(),[];if(this.laneAssignments.size>t)for(const i of this.laneAssignments.keys())i>=t&&this.laneAssignments.delete(i);this.lanesChangedFlag&&(this.lanesChangedFlag=!1,this.lanesSettling=!0,this.measurementsCache=[],this.itemSizeCache.clear(),this.laneAssignments.clear(),this.pendingMin=null),0!==this.measurementsCache.length||this.lanesSettling||(this.measurementsCache=this.options.initialMeasurementsCache,this.measurementsCache.forEach((t=>{this.itemSizeCache.set(t.key,t.size)})));const a=this.lanesSettling?0:this.pendingMin??0;if(this.pendingMin=null,this.lanesSettling&&this.measurementsCache.length===t&&(this.lanesSettling=!1),1===e){const n=2*t;let e,l=this._flatMeasurements;if(!l||l.length<n){const t=new Float64Array(n);l&&a>0&&t.set(l.subarray(0,2*a)),l=t,this._flatMeasurements=l}if(0===a)e=i+s;else{const t=a-1;e=l[2*t]+l[2*t+1]+r}for(let i=a;i<t;i++){const t=h(i),s=u.get(t),n="number"==typeof s?s:this.options.estimateSize(i);l[2*i]=e,l[2*i+1]=n,e+=n+r}const o=function(t,i,s){const h=new Array(t);return new Proxy(h,{get(h,n,e){if("string"==typeof n){const e=n.charCodeAt(0);if(e>=48&&e<=57){const e=+n;if(Number.isInteger(e)&&e>=0&&e<t){let t=h[e];if(!t){const n=i[2*e];t=h[e]={index:e,key:s(e),start:n,size:i[2*e+1],end:n+i[2*e+1],lane:0}}return t}}if("length"===n)return t}return Reflect.get(h,n,e)}})}(t,l,h);return this.measurementsCache=o,o}const c=this.measurementsCache.slice(0,a),d=new Array(e).fill(void 0),f=new Float64Array(e);let v=0;for(let t=0;t<a;t++){const i=c[t];i&&(void 0===d[i.lane]&&v++,d[i.lane]=t,f[i.lane]=i.end)}for(let n=a;n<t;n++){const t=h(n),o=this.laneAssignments.get(n);let a,b;const g="estimate"===l||u.has(t);if(void 0!==o&&this.options.lanes>1){a=o;const t=d[a],h=void 0!==t?c[t]:void 0;b=h?h.end+r:i+s}else if(v===e){let t=0,i=f[0],s=d[0];for(let h=1;h<e;h++){const n=f[h];(n<i||n===i&&d[h]<s)&&(t=h,i=n,s=d[h])}a=t,b=i+r,g&&this.laneAssignments.set(n,a)}else a=n%this.options.lanes,b=i+s,g&&this.laneAssignments.set(n,a);const m=u.get(t),M="number"==typeof m?m:this.options.estimateSize(n),y=b+M;c[n]={index:n,start:b,size:M,end:y,key:t,lane:a},void 0===d[a]&&v++,d[a]=n,f[a]=y}return this.measurementsCache=c,c}),{key:!1,debug:()=>this.options.debug}),this.calculateRange=t((()=>[this.getMeasurements(),this.getSize(),this.getScrollOffset(),this.options.lanes]),((t,i,s,h)=>0===t.length||0===i?(this.range=null,null):(this.range=function(t,i,s,h,n){const e=t.length-1;if(t.length<=h)return{startIndex:0,endIndex:e};if(1===h&&null!==n){const t=function(t,i,s){let h=0;for(;h<=i;){const n=(h+i)/2|0,e=t[2*n];if(e<s)h=n+1;else{if(!(e>s))return n;i=n-1}}return h>0?h-1:0}(n,e,s);let h=t;const l=s+i;for(;h<e&&n[2*h]+n[2*h+1]<l;)h++;return{startIndex:t,endIndex:h}}const l=i=>t[i].start;let r=b(0,e,l,s),o=r;if(1===h)for(;o<e&&t[o].end<s+i;)o++;else if(h>1){const n=Array(h).fill(0);for(;o<e&&n.some((t=>t<s+i));){const i=t[o];n[i.lane]=i.end,o++}const l=Array(h).fill(s+i);for(;r>=0&&l.some((t=>t>=s));){const i=t[r];l[i.lane]=i.start,r--}r=Math.max(0,r-r%h),o=Math.min(e,o+(h-1-o%h))}return{startIndex:r,endIndex:o}}(t,i,s,h,1===h&&null!=this._flatMeasurements?this._flatMeasurements:null),this.range)),{key:!1,debug:()=>this.options.debug}),this.getVirtualIndexes=t((()=>{let t=null,i=null;const s=this.calculateRange();return s&&(t=s.startIndex,i=s.endIndex),this.maybeNotify.updateDeps([this.isScrolling,t,i]),[this.options.rangeExtractor,this.options.overscan,this.options.count,t,i]}),((t,i,s,h,n)=>null===h||null===n?[]:t({startIndex:h,endIndex:n,overscan:i,count:s})),{key:!1,debug:()=>this.options.debug}),this.indexFromElement=t=>{const i=this.options.indexAttribute,s=t.getAttribute(i);return s?parseInt(s,10):(console.warn(`Missing attribute name '${i}={index}' on measured element.`),-1)},this.shouldMeasureDuringScroll=t=>{var i;if(!this.scrollState||"smooth"!==this.scrollState.behavior)return!0;const s=this.scrollState.index??(null==(i=this.getVirtualItemForOffset(this.scrollState.lastTargetOffset))?void 0:i.index);if(void 0!==s&&this.range){const i=Math.max(this.options.overscan,Math.ceil((this.range.endIndex-this.range.startIndex)/2)),h=Math.max(0,s-i),n=Math.min(this.options.count-1,s+i);return t>=h&&t<=n}return!0},this.measureElement=t=>{if(!t)return void this.elementsCache.forEach(((t,i)=>{t.isConnected||(this.observer.unobserve(t),this.elementsCache.delete(i))}));const i=this.indexFromElement(t),s=this.options.getItemKey(i),h=this.elementsCache.get(s);h!==t&&(h&&this.observer.unobserve(h),this.observer.observe(t),this.elementsCache.set(s,t)),this.isScrolling&&!this.scrollState||!this.shouldMeasureDuringScroll(i)||this.resizeItem(i,this.options.measureElement(t,void 0,this))},this.resizeItem=(t,i)=>{var s,h;if(t<0||t>=this.options.count)return;let n,e,l;const r=this._flatMeasurements;if(1===this.options.lanes&&null!==r)l=this.options.getItemKey(t),e=r[2*t],n=r[2*t+1];else{const i=this.measurementsCache[t];if(!i)return;l=i.key,e=i.start,n=i.size}const o=i-(this.itemSizeCache.get(l)??n);if(0!==o){const r="end"===this.options.anchorTo&&"smooth"!==(null==(s=this.scrollState)?void 0:s.behavior)&&this.getVirtualDistanceFromEnd()<=this.options.scrollEndThreshold,u=r?this.getTotalSize():0,a="smooth"!==(null==(h=this.scrollState)?void 0:h.behavior)&&(void 0!==this.shouldAdjustScrollPositionOnItemSizeChange?this.shouldAdjustScrollPositionOnItemSizeChange(this.measurementsCache[t]??{index:t,key:l,start:e,size:n,end:e+n,lane:0},o,this):e<this.getScrollOffset()+this.scrollAdjustments&&(!this.itemSizeCache.has(l)||"backward"!==this.scrollDirection));(null===this.pendingMin||t<this.pendingMin)&&(this.pendingMin=t),this.itemSizeCache.set(l,i),this.itemSizeCacheVersion++,r?this.applyScrollAdjustment(this.getTotalSize()-u):a&&this.applyScrollAdjustment(o),this.notify(!1)}},this.getVirtualItems=t((()=>[this.getVirtualIndexes(),this.getMeasurements()]),((t,i)=>{const s=[];for(let h=0,n=t.length;h<n;h++){const n=i[t[h]];s.push(n)}return s}),{key:!1,debug:()=>this.options.debug}),this.getVirtualItemForOffset=t=>{const s=this.getMeasurements();if(0===s.length)return;const h=this._flatMeasurements,n=1===this.options.lanes&&null!=h,e=b(0,s.length-1,n?t=>h[2*t]:t=>i(s[t]).start,t);return i(s[e])},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.getVirtualDistanceFromEnd=()=>Math.max(this.getTotalSize()-this.getSize()-this.getScrollOffset(),0),this.getDistanceFromEnd=()=>Math.max(this.getMaxScrollOffset()-this.getScrollOffset(),0),this.isAtEnd=(t=this.options.scrollEndThreshold)=>this.getDistanceFromEnd()<=t,this.getOffsetForAlignment=(t,i,s=0)=>{if(!this.scrollElement)return 0;const h=this.getSize(),n=this.getScrollOffset();"auto"===i&&(i=t>=n+h?"end":"start"),"center"===i?t+=(s-h)/2:"end"===i&&(t-=h);const e=this.getMaxScrollOffset();return Math.max(Math.min(e,t),0)},this.getOffsetForIndex=(t,i="auto")=>{t=Math.max(0,Math.min(t,this.options.count-1));const s=this.getSize(),h=this.getScrollOffset(),n=this.measurementsCache[t];if(!n)return;if("auto"===i)if(n.end>=h+s-this.options.scrollPaddingEnd)i="end";else{if(!(n.start<=h+this.options.scrollPaddingStart))return[h,i];i="start"}if("end"===i&&t===this.options.count-1)return[this.getMaxScrollOffset(),i];const e="end"===i?n.end+this.options.scrollPaddingEnd:n.start-this.options.scrollPaddingStart;return[this.getOffsetForAlignment(e,i,n.size),i]},this.scrollToOffset=(t,{align:i="start",behavior:s="auto"}={})=>{const h=this.getOffsetForAlignment(t,i),n=this.now();this.scrollState={index:null,align:i,behavior:s,startedAt:n,lastTargetOffset:h,stableFrames:0},this._scrollToOffset(h,{adjustments:void 0,behavior:s}),this.scheduleScrollReconcile()},this.scrollToIndex=(t,{align:i="auto",behavior:s="auto"}={})=>{t=Math.max(0,Math.min(t,this.options.count-1));const h=this.getOffsetForIndex(t,i);if(!h)return;const[n,e]=h,l=this.now();this.scrollState={index:t,align:e,behavior:s,startedAt:l,lastTargetOffset:n,stableFrames:0},this._scrollToOffset(n,{adjustments:void 0,behavior:s}),this.scheduleScrollReconcile()},this.scrollBy=(t,{behavior:i="auto"}={})=>{const s=this.getScrollOffset()+t,h=this.now();this.scrollState={index:null,align:"start",behavior:i,startedAt:h,lastTargetOffset:s,stableFrames:0},this._scrollToOffset(s,{adjustments:void 0,behavior:i}),this.scheduleScrollReconcile()},this.scrollToEnd=({behavior:t="auto"}={})=>{this.options.count>0?this.scrollToIndex(this.options.count-1,{align:"end",behavior:t}):this.scrollToOffset(Math.max(this.getTotalSize()-this.getSize(),0),{behavior:t})},this.getTotalSize=()=>{var t;const i=this.getMeasurements();let s;if(0===i.length)s=this.options.paddingStart;else if(1===this.options.lanes){const h=i.length-1,n=this._flatMeasurements;s=null!=n?n[2*h]+n[2*h+1]:(null==(t=i[h])?void 0:t.end)??0}else{const t=Array(this.options.lanes).fill(null);let h=i.length-1;for(;h>=0&&t.some((t=>null===t));){const s=i[h];null===t[s.lane]&&(t[s.lane]=s.end),h--}s=Math.max(...t.filter((t=>null!==t)))}return Math.max(s-this.options.scrollMargin+this.options.paddingEnd,0)},this.takeSnapshot=()=>{const t=[];if(0===this.itemSizeCache.size)return t;const i=this.getMeasurements();for(const s of i)s&&this.itemSizeCache.has(s.key)&&t.push({index:s.index,key:s.key,start:s.start,size:s.size,end:s.end,lane:s.lane});return t},this._scrollToOffset=(t,{adjustments:i,behavior:s})=>{this._intendedScrollOffset=t+(i??0),this.options.scrollToFn(t,{behavior:s,adjustments:i},this)},this.measure=()=>{this.pendingMin=null,this.itemSizeCache.clear(),this.laneAssignments.clear(),this.itemSizeCacheVersion++,this.notify(!1)},this.setOptions(s)}applyScrollAdjustment(t,i){0!==t&&(n()&&(this.isScrolling||this._iosTouching||this._iosJustTouchEnded)?this._iosDeferredAdjustment+=t:(this._scrollToOffset(this.getScrollOffset(),{adjustments:this.scrollAdjustments+=t,behavior:i}),null!==this.scrollOffset&&(this.scrollOffset+=this.scrollAdjustments,this.scrollAdjustments=0)))}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,i=t?t[0]:this.scrollState.lastTargetOffset,s=i!==this.scrollState.lastTargetOffset;if(!s&&(h=i,n=this.getScrollOffset(),Math.abs(h-n)<1.01)){if(this.scrollState.stableFrames++,this.scrollState.stableFrames>=1)return this.getScrollOffset()!==i&&this._scrollToOffset(i,{adjustments:void 0,behavior:"auto"}),void(this.scrollState=null)}else if(this.scrollState.stableFrames=0,s){const t=this.getSize()||600,s=Math.abs(i-this.getScrollOffset()),h="smooth"===this.scrollState.behavior&&s>t;this.scrollState.lastTargetOffset=i,h||(this.scrollState.behavior="auto"),this._scrollToOffset(i,{adjustments:void 0,behavior:h?"smooth":"auto"})}var h,n;this.scheduleScrollReconcile()}}const b=(t,i,s,h)=>{for(;t<=i;){const n=(t+i)/2|0,e=s(n);if(e<h)t=n+1;else{if(!(e>h))return n;i=n-1}}return t>0?t-1:0};class g{constructor(t,i){this.cleanup=()=>{};const s={...i,onChange:(t,s)=>{var h;this.host.updateComplete.then((()=>this.host.requestUpdate())),null==(h=i.onChange)||h.call(i,t,s)}};this.virtualizer=new v(s),(this.host=t).addController(this)}getVirtualizer(){return this.virtualizer}hostConnected(){this.cleanup=this.virtualizer._didMount()}hostUpdated(){this.virtualizer._willUpdate()}hostDisconnected(){this.cleanup()}}class m extends g{constructor(t,i){super(t,{observeElementRect:o,observeElementOffset:c,scrollToFn:f,...i})}}export{m as V};