aptechka 0.94.6 → 0.95.1

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 (171) hide show
  1. package/lib/{Animation-DwOegoQA.js → Animation-D5bhzxA5.js} +2 -2
  2. package/lib/Animation-WtDiwPFQ.cjs +1 -0
  3. package/lib/Damped-B8unWaEn.cjs +1 -0
  4. package/lib/{Damped-m3PWu4LD.js → Damped-BZrSNeI7.js} +2 -2
  5. package/lib/Damped-BxBI6Dds.js +50 -0
  6. package/lib/Damped-DTVkIAqc.cjs +1 -0
  7. package/lib/{DerivedArray-CP3QiK6l.cjs → DerivedArray-0qZFAKZ4.cjs} +1 -1
  8. package/lib/{DerivedArray-DT9yLVm3.js → DerivedArray-BKdK5OWE.js} +1 -1
  9. package/lib/DragControls-CqNPYkc2.cjs +1 -0
  10. package/lib/{DragControls-DSG2Orh3.js → DragControls-DDFMqZg4.js} +5 -3
  11. package/lib/LocalLinks-5-30Z1lF.cjs +1 -0
  12. package/lib/{LocalLinks-BjyGjtxD.js → LocalLinks-D9RhyFMf.js} +1 -2
  13. package/lib/{PageAnnouncerElement-Bqbv_gWM.js → PageAnnouncerElement-CI048qxO.js} +2 -2
  14. package/lib/PageAnnouncerElement-DreveHSN.cjs +1 -0
  15. package/lib/{PageScroll-DgTMhV1L.js → PageScroll-CrYJVAHA.js} +1 -2
  16. package/lib/PageScroll-xuHDTIoC.cjs +1 -0
  17. package/lib/ScrollNavigator-CNKI1Iae.cjs +1 -0
  18. package/lib/ScrollNavigator-CiZjoiyk.js +83 -0
  19. package/lib/{SourceElement-DNEy09VX.js → SourceElement-BMinosvj.js} +13 -11
  20. package/lib/SourceElement-D9iTbecT.cjs +5 -0
  21. package/lib/Store-BP8tuWzQ.cjs +1 -0
  22. package/lib/{Store-CAGUSjFX.js → Store-LDYxlJNu.js} +7 -99
  23. package/lib/Tweened-9ATB544_.js +118 -0
  24. package/lib/{Tweened-CZeS3EqK.js → Tweened-BAR8oYF3.js} +3 -39
  25. package/lib/Tweened-BNb6DQ39.cjs +1 -0
  26. package/lib/Tweened-FpbbJ3xC.cjs +1 -0
  27. package/lib/Viewport-BdFs1Zsn.cjs +1 -0
  28. package/lib/{Viewport-B3kVX27H.js → Viewport-CPB14lI1.js} +3 -2
  29. package/lib/accordion/index.cjs +1 -1
  30. package/lib/accordion/index.js +2 -2
  31. package/lib/animation/index.cjs +1 -1
  32. package/lib/animation/index.js +3 -3
  33. package/lib/animation-kit/AnimationStore.d.ts +22 -0
  34. package/lib/animation-kit/Damped.d.ts +14 -0
  35. package/lib/animation-kit/Spring.d.ts +67 -0
  36. package/lib/animation-kit/Tweened.d.ts +15 -0
  37. package/lib/animation-kit/index.cjs +1 -0
  38. package/lib/animation-kit/index.d.ts +4 -0
  39. package/lib/animation-kit/index.js +119 -0
  40. package/lib/api-fetcher/index.cjs +1 -1
  41. package/lib/api-fetcher/index.d.ts +1 -1
  42. package/lib/api-fetcher/index.js +5 -6
  43. package/lib/attribute/index.cjs +1 -1
  44. package/lib/attribute/index.js +3 -2
  45. package/lib/billboard/index.cjs +1 -1
  46. package/lib/billboard/index.js +2 -2
  47. package/lib/browser-B9QXFVgG.js +4 -0
  48. package/lib/browser-CIp8NsnF.cjs +1 -0
  49. package/lib/canvas/index.cjs +1 -1
  50. package/lib/canvas/index.js +3 -3
  51. package/lib/connector/index.cjs +1 -1
  52. package/lib/connector/index.js +1 -1
  53. package/lib/controls/index.cjs +1 -1
  54. package/lib/controls/index.js +1 -1
  55. package/lib/css-property/index.cjs +1 -1
  56. package/lib/css-property/index.js +2 -2
  57. package/lib/css-value-parser/index.cjs +1 -1
  58. package/lib/css-value-parser/index.js +1 -1
  59. package/lib/dev/index.cjs +1 -1
  60. package/lib/dev/index.js +2 -2
  61. package/lib/device/index.cjs +1 -1
  62. package/lib/device/index.js +1 -1
  63. package/lib/easings-Bgvyia2r.cjs +1 -0
  64. package/lib/easings-D9LNSyOP.js +41 -0
  65. package/lib/element-linked-store/index.cjs +1 -1
  66. package/lib/element-linked-store/index.d.ts +1 -1
  67. package/lib/element-linked-store/index.js +7 -4
  68. package/lib/element-resizer/index.cjs +1 -1
  69. package/lib/element-resizer/index.js +2 -2
  70. package/lib/en3/index.cjs +2 -2
  71. package/lib/en3/index.js +1 -2
  72. package/lib/iframe/index.cjs +1 -1
  73. package/lib/iframe/index.js +4 -3
  74. package/lib/image/index.cjs +1 -1
  75. package/lib/image/index.js +5 -4
  76. package/lib/index-BrasTsja.cjs +1 -0
  77. package/lib/{index-DAG0CtYo.js → index-Z2Lgb7xU.js} +73 -73
  78. package/lib/intersector/index.cjs +1 -1
  79. package/lib/intersector/index.js +2 -2
  80. package/lib/jsx/index.cjs +1 -1
  81. package/lib/jsx/index.js +6 -5
  82. package/lib/ladder/index.cjs +1 -1
  83. package/lib/ladder/index.js +1 -1
  84. package/lib/layout-box/index.cjs +1 -1
  85. package/lib/layout-box/index.js +2 -2
  86. package/lib/loading/index.cjs +1 -1
  87. package/lib/loading/index.js +1 -2
  88. package/lib/local-links/LocalLinks.d.ts +3 -2
  89. package/lib/local-links/index.cjs +1 -1
  90. package/lib/local-links/index.js +1 -1
  91. package/lib/masonry-layout/index.cjs +1 -1
  92. package/lib/masonry-layout/index.js +3 -3
  93. package/lib/media/index.cjs +1 -1
  94. package/lib/media/index.js +1 -1
  95. package/lib/morph/Morph.d.ts +3 -2
  96. package/lib/morph/index.cjs +1 -1
  97. package/lib/morph/index.js +5 -4
  98. package/lib/need_redo_tweaker/index.cjs +3 -3
  99. package/lib/need_redo_tweaker/index.js +5 -3
  100. package/lib/notched/index.cjs +2 -2
  101. package/lib/notched/index.js +2 -2
  102. package/lib/page-announcer/index.cjs +1 -1
  103. package/lib/page-announcer/index.js +1 -1
  104. package/lib/page-scroll/index.cjs +1 -1
  105. package/lib/page-scroll/index.js +1 -1
  106. package/lib/pixel-perfect/index.cjs +1 -1
  107. package/lib/pixel-perfect/index.js +2 -3
  108. package/lib/pointer/index.cjs +1 -1
  109. package/lib/pointer/index.js +4 -3
  110. package/lib/popover/index.cjs +1 -1
  111. package/lib/popover/index.js +9 -9
  112. package/lib/radio/index.cjs +1 -1
  113. package/lib/radio/index.js +1 -2
  114. package/lib/render-C3udrJln.cjs +1 -0
  115. package/lib/{render-q67wh8Lw.js → render-D_MhEAJB.js} +4 -3
  116. package/lib/router/index.cjs +1 -1
  117. package/lib/router/index.js +5 -6
  118. package/lib/scroll/index.cjs +1 -1
  119. package/lib/scroll/index.js +9 -7
  120. package/lib/scroll-kit/ScrollNavigator.d.ts +17 -0
  121. package/lib/scroll-kit/SmoothScrollElement.d.ts +9 -8
  122. package/lib/scroll-kit/index.cjs +1 -1
  123. package/lib/scroll-kit/index.d.ts +2 -1
  124. package/lib/scroll-kit/index.js +151 -163
  125. package/lib/sequence/index.cjs +1 -1
  126. package/lib/sequence/index.js +4 -3
  127. package/lib/size-element/index.cjs +1 -1
  128. package/lib/size-element/index.js +2 -2
  129. package/lib/slicer/index.cjs +1 -1
  130. package/lib/slicer/index.js +2 -2
  131. package/lib/source/index.cjs +1 -1
  132. package/lib/source/index.js +1 -1
  133. package/lib/spa/index.cjs +1 -1
  134. package/lib/spa/index.js +6 -6
  135. package/lib/store/Store.d.ts +2 -4
  136. package/lib/store/index.cjs +1 -1
  137. package/lib/store/index.js +4 -4
  138. package/lib/string-Bx5N38JG.cjs +1 -0
  139. package/lib/string-Ct-dy_cs.js +90 -0
  140. package/lib/stylesheet-B-bI1cZ3.cjs +1 -0
  141. package/lib/{stylesheet-GIzIJ_Xj.js → stylesheet-BUUjDCDf.js} +2 -1
  142. package/lib/subtree-observer/index.cjs +1 -1
  143. package/lib/subtree-observer/index.js +1 -2
  144. package/lib/ticker/index.cjs +1 -1
  145. package/lib/ticker/index.js +2 -2
  146. package/lib/utils/index.cjs +1 -1
  147. package/lib/utils/index.d.ts +0 -1
  148. package/lib/utils/index.js +104 -106
  149. package/lib/video/index.cjs +1 -1
  150. package/lib/video/index.js +5 -4
  151. package/lib/window-resizer/index.cjs +1 -1
  152. package/lib/window-resizer/index.js +2 -2
  153. package/lib/youtube/index.cjs +1 -1
  154. package/lib/youtube/index.js +5 -3
  155. package/package.json +9 -1
  156. package/lib/Animation-CS32dwF1.cjs +0 -1
  157. package/lib/Damped-B_mVO810.cjs +0 -1
  158. package/lib/DragControls-DZ0Np8yt.cjs +0 -1
  159. package/lib/LocalLinks-DJPhk_Gn.cjs +0 -1
  160. package/lib/PageAnnouncerElement-auvTbYB3.cjs +0 -1
  161. package/lib/PageScroll-DYsZDt3U.cjs +0 -1
  162. package/lib/SourceElement-CAukFvLE.cjs +0 -5
  163. package/lib/Store-B96mD8mD.cjs +0 -1
  164. package/lib/Tweened-j_TwbxEI.cjs +0 -1
  165. package/lib/Viewport-Blxv_yl_.cjs +0 -1
  166. package/lib/index-BoGx2BWX.cjs +0 -1
  167. package/lib/render-B5iiOqye.cjs +0 -1
  168. package/lib/scroll-CTDesBpj.cjs +0 -1
  169. package/lib/scroll-D1MT0QMY.js +0 -60
  170. package/lib/stylesheet-DQv6_0na.cjs +0 -1
  171. package/lib/utils/scroll.d.ts +0 -14
@@ -1 +1 @@
1
- "use strict";var __defProp=Object.defineProperty,__defProps=Object.defineProperties;var __getOwnPropDescs=Object.getOwnPropertyDescriptors;var __getOwnPropSymbols=Object.getOwnPropertySymbols;var __hasOwnProp=Object.prototype.hasOwnProperty,__propIsEnum=Object.prototype.propertyIsEnumerable;var __typeError=msg=>{throw TypeError(msg)};var __defNormalProp=(obj,key,value)=>key in obj?__defProp(obj,key,{enumerable:!0,configurable:!0,writable:!0,value}):obj[key]=value,__spreadValues=(a,b)=>{for(var prop in b||(b={}))__hasOwnProp.call(b,prop)&&__defNormalProp(a,prop,b[prop]);if(__getOwnPropSymbols)for(var prop of __getOwnPropSymbols(b))__propIsEnum.call(b,prop)&&__defNormalProp(a,prop,b[prop]);return a},__spreadProps=(a,b)=>__defProps(a,__getOwnPropDescs(b)),__name=(target,value)=>__defProp(target,"name",{value,configurable:!0});var __accessCheck=(obj,member,msg)=>member.has(obj)||__typeError("Cannot "+msg);var __privateGet=(obj,member,getter)=>(__accessCheck(obj,member,"read from private field"),getter?getter.call(obj):member.get(obj)),__privateAdd=(obj,member,value)=>member.has(obj)?__typeError("Cannot add the same private member more than once"):member instanceof WeakSet?member.add(obj):member.set(obj,value),__privateSet=(obj,member,value,setter)=>(__accessCheck(obj,member,"write to private field"),setter?setter.call(obj,value):member.set(obj,value),value),__privateMethod=(obj,member,method)=>(__accessCheck(obj,member,"access private method"),method);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const ticker_index=require("../index-BoGx2BWX.cjs"),Store=require("../Store-B96mD8mD.cjs"),dom=require("../dom-B40i6NXw.cjs"),gestures=require("../gestures-DtYbQr49.cjs");require("construct-style-sheets-polyfill");const order_index=require("../order/index.cjs"),Damped=require("../Damped-B_mVO810.cjs"),cssProperty_index=require("../css-property/index.cjs"),Viewport=require("../Viewport-Blxv_yl_.cjs"),scrollEntries_index=require("../scroll-entries/index.cjs"),scroll=require("../scroll-CTDesBpj.cjs"),elementLinkedStore_index=require("../element-linked-store/index.cjs"),elementResizer_index=require("../element-resizer/index.cjs"),events=require("../events-UlGk63iC.cjs"),layout=require("../layout-rR4-aYTY.cjs"),loading=require("../loading-7Ju1mFST.cjs"),math=require("../math-C-knY2TL.cjs"),windowResizer_index=require("../window-resizer/index.cjs");var _scrollElement,_thumbElement,_thumbScrollSize,_limit,_isHorizontal,_activeTimeoutId,_ScrollbarElement_instances,init_fn,destroy_fn,scrollPosition_get,scrollSize_get,scrollViewportSize_get,_scrollListener,_resizeListener,_grabListener,_tickListener,_intersectionListener,_spaUpdateListener;const _ScrollbarElement=class _ScrollbarElement extends HTMLElement{constructor(){super(...arguments);__privateAdd(this,_ScrollbarElement_instances);__privateAdd(this,_scrollElement,null);__privateAdd(this,_thumbElement,null);__privateAdd(this,_thumbScrollSize,0);__privateAdd(this,_limit,0);__privateAdd(this,_isHorizontal,!1);__privateAdd(this,_activeTimeoutId);__privateAdd(this,_scrollListener,__name(()=>{this.classList.add("active"),clearTimeout(__privateGet(this,_activeTimeoutId));const position=__privateGet(this,_ScrollbarElement_instances,scrollPosition_get)/__privateGet(this,_limit)*__privateGet(this,_thumbScrollSize);__privateGet(this,_isHorizontal)?__privateGet(this,_thumbElement).style.transform=`translate3d(${position}px, 0px, 0px)`:__privateGet(this,_thumbElement).style.transform=`translate3d(0px, ${position}px, 0px)`,__privateSet(this,_activeTimeoutId,setTimeout(()=>{this.classList.remove("active")},1e3))},"#scrollListener"));__privateAdd(this,_resizeListener,__name(()=>{const barSize=__privateGet(this,_isHorizontal)?this.offsetWidth:this.offsetHeight,scrollSize=__privateGet(this,_ScrollbarElement_instances,scrollSize_get),viewportSize=__privateGet(this,_ScrollbarElement_instances,scrollViewportSize_get);__privateSet(this,_limit,scrollSize-viewportSize);let thumbSize=barSize*barSize/(__privateGet(this,_limit)+barSize);thumbSize=Math.max(thumbSize,30),__privateGet(this,_isHorizontal)?(__privateGet(this,_thumbElement).style.width=thumbSize+"px",__privateGet(this,_thumbElement).style.height="100%"):(__privateGet(this,_thumbElement).style.width="100%",__privateGet(this,_thumbElement).style.height=thumbSize+"px"),__privateSet(this,_thumbScrollSize,barSize-thumbSize),scrollSize<=viewportSize?this.style.display="none":this.style.display="block"},"#resizeListener"));__privateAdd(this,_grabListener,__name(grabEvent=>{const startValue=__privateGet(this,_ScrollbarElement_instances,scrollPosition_get),grabCursor=__privateGet(this,_isHorizontal)?grabEvent.x:grabEvent.y;gestures.setupDrag(moveEvent=>{const mult=__privateGet(this,_limit)/__privateGet(this,_thumbScrollSize),delta=(__privateGet(this,_isHorizontal)?moveEvent.x-grabCursor:moveEvent.y-grabCursor)*mult;__privateGet(this,_isHorizontal)?__privateGet(this,_scrollElement).scroll({left:startValue+delta,behavior:"instant"}):__privateGet(this,_scrollElement).scroll({top:startValue+delta,behavior:"instant"})})},"#grabListener"));__privateAdd(this,_tickListener,__name(()=>{__privateGet(this,_resizeListener).call(this)},"#tickListener"));__privateAdd(this,_intersectionListener,__name(e=>{e.isIntersecting?(ticker_index.ticker.subscribe(__privateGet(this,_tickListener),{maxFPS:5}),__privateGet(this,_tickListener).call(this)):ticker_index.ticker.unsubscribe(__privateGet(this,_tickListener))},"#intersectionListener"));__privateAdd(this,_spaUpdateListener,__name(()=>{__privateMethod(this,_ScrollbarElement_instances,destroy_fn).call(this),__privateMethod(this,_ScrollbarElement_instances,init_fn).call(this)},"#spaUpdateListener"))}connectedCallback(){__privateMethod(this,_ScrollbarElement_instances,init_fn).call(this),document.addEventListener("spaAfterUpdate",__privateGet(this,_spaUpdateListener))}disconnectedCallback(){__privateMethod(this,_ScrollbarElement_instances,destroy_fn).call(this),document.removeEventListener("spaAfterUpdate",__privateGet(this,_spaUpdateListener))}};_scrollElement=new WeakMap,_thumbElement=new WeakMap,_thumbScrollSize=new WeakMap,_limit=new WeakMap,_isHorizontal=new WeakMap,_activeTimeoutId=new WeakMap,_ScrollbarElement_instances=new WeakSet,init_fn=__name(function(){const scrollSelector=this.getAttribute("data-scroll");let scrollElement=null;scrollSelector&&(scrollSelector==="parent"?scrollElement=this.parentElement:scrollElement=document.querySelector(scrollSelector)),scrollElement||(scrollElement=dom.findScrollParentElement(this),scrollElement===document.body&&(scrollElement=window)),__privateSet(this,_isHorizontal,this.hasAttribute("horisontal"));const thumbElement=this.querySelector("[data-thumb]");scrollElement&&thumbElement&&(__privateSet(this,_scrollElement,scrollElement),__privateSet(this,_thumbElement,thumbElement),__privateGet(this,_scrollElement).addEventListener("scroll",__privateGet(this,_scrollListener)),__privateGet(this,_thumbElement).addEventListener("pointerdown",__privateGet(this,_grabListener)),ticker_index.intersector.subscribe(this.parentElement===document.body?this:this.parentElement,__privateGet(this,_intersectionListener)))},"#init"),destroy_fn=__name(function(){var _a,_b;(_a=__privateGet(this,_scrollElement))==null||_a.removeEventListener("scroll",__privateGet(this,_scrollListener)),(_b=__privateGet(this,_thumbElement))==null||_b.removeEventListener("pointerdown",__privateGet(this,_grabListener)),clearTimeout(__privateGet(this,_activeTimeoutId)),ticker_index.intersector.unsubscribe(__privateGet(this,_intersectionListener)),ticker_index.ticker.unsubscribe(__privateGet(this,_tickListener))},"#destroy"),scrollPosition_get=__name(function(){return __privateGet(this,_scrollElement)instanceof HTMLElement?__privateGet(this,_isHorizontal)?__privateGet(this,_scrollElement).scrollLeft:__privateGet(this,_scrollElement).scrollTop:__privateGet(this,_isHorizontal)?__privateGet(this,_scrollElement).scrollX:__privateGet(this,_scrollElement).scrollY},"#scrollPosition"),scrollSize_get=__name(function(){return __privateGet(this,_scrollElement)instanceof HTMLElement?__privateGet(this,_isHorizontal)?__privateGet(this,_scrollElement).scrollWidth:__privateGet(this,_scrollElement).scrollHeight:__privateGet(this,_isHorizontal)?Math.max(document.body.scrollWidth,document.documentElement.scrollWidth,document.body.offsetWidth,document.documentElement.offsetWidth,document.body.clientWidth,document.documentElement.clientWidth):Math.max(document.body.scrollHeight,document.documentElement.scrollHeight,document.body.offsetHeight,document.documentElement.offsetHeight,document.body.clientHeight,document.documentElement.clientHeight)},"#scrollSize"),scrollViewportSize_get=__name(function(){return __privateGet(this,_scrollElement)instanceof HTMLElement?__privateGet(this,_isHorizontal)?__privateGet(this,_scrollElement).offsetWidth:__privateGet(this,_scrollElement).offsetHeight:__privateGet(this,_isHorizontal)?innerWidth:innerHeight},"#scrollViewportSize"),_scrollListener=new WeakMap,_resizeListener=new WeakMap,_grabListener=new WeakMap,_tickListener=new WeakMap,_intersectionListener=new WeakMap,_spaUpdateListener=new WeakMap,__name(_ScrollbarElement,"ScrollbarElement");let ScrollbarElement=_ScrollbarElement;Store.isBrowser&&!customElements.get("e-scrollbar")&&customElements.define("e-scrollbar",ScrollbarElement);const scrollKeys=new Set(["ArrowUp","ArrowDown","ArrowLeft","ArrowRight","PageUp","PageDown","Home","End","Space"]);var _scrollElement2,_cssDisabled,_cssDamping,_value,_currentRoundedValue,_needSync,_SmoothScrollElement_instances,checkDisabled_fn,_wheelListener,_pointerdownListener,_resizeListener2,_keydownListener,_scrollListener2;const _SmoothScrollElement=class _SmoothScrollElement extends HTMLElement{constructor(){super(...arguments);__privateAdd(this,_SmoothScrollElement_instances);__privateAdd(this,_scrollElement2,this);__privateAdd(this,_cssDisabled,new cssProperty_index.CSSProperty(this,"--smooth-scroll-disabled",!1));__privateAdd(this,_cssDamping,new cssProperty_index.CSSProperty(this,"--smooth-scroll-damping",10));__privateAdd(this,_value,new Damped.Damped(0,{order:order_index.TICK_ORDER.SCROLL}));__privateAdd(this,_currentRoundedValue,0);__privateAdd(this,_needSync,!1);__privateAdd(this,_wheelListener,__name(e=>{if(!(__privateMethod(this,_SmoothScrollElement_instances,checkDisabled_fn).call(this)||Viewport.device.isMobile)){if(Math.sign(e.deltaY)<0&&__privateGet(this,_value).target===0&&__privateGet(this,_value).direction<0||Math.sign(e.deltaY)>0&&__privateGet(this,_value).target===__privateGet(this,_value).max&&__privateGet(this,_value).direction>0||e.stopPropagation(),e.target instanceof Element){const preventElement=e.target.closest("[data-prevent-smooth-scroll]");if(preventElement){const attrValue=preventElement.getAttribute("data-prevent-smooth-scroll");if(attrValue){if(matchMedia(attrValue).matches)return}else return}}Math.abs(e.deltaX)>Math.abs(e.deltaY)||(e.preventDefault(),this.shiftPosition(e.deltaY))}},"#wheelListener"));__privateAdd(this,_pointerdownListener,__name(e=>{if(e.target instanceof Element){const anchorElement=e.target.closest("a");if(e.button!==0||__privateMethod(this,_SmoothScrollElement_instances,checkDisabled_fn).call(this)&&!anchorElement)return;if(anchorElement&&!anchorElement.hasAttribute("data-smooth-scroll-skip")&&this.contains(anchorElement)){this.stop();const url=new URL(anchorElement.href);url.hash&&(e.preventDefault(),this.scrollToElement(url.hash,{behavior:anchorElement.getAttribute("data-scroll-behavior")||"smooth",offset:anchorElement.getAttribute("data-scroll-offset")||void 0,center:anchorElement.hasAttribute("data-scroll-center"),duration:parseFloat(anchorElement.getAttribute("data-scroll-duration")||"0")||void 0,easing:anchorElement.getAttribute("data-scroll-easing")||void 0}))}}},"#pointerdownListener"));__privateAdd(this,_resizeListener2,__name(()=>{this.resize(),this.sync()},"#resizeListener"));__privateAdd(this,_keydownListener,__name(e=>{__privateMethod(this,_SmoothScrollElement_instances,checkDisabled_fn).call(this)||scrollKeys.has(e.code)&&this.stop()},"#keydownListener"));__privateAdd(this,_scrollListener2,__name(()=>{Viewport.device.isMobile&&this.sync()},"#scrollListener"))}resize(){__privateGet(this,_value).min=0,__privateGet(this,_scrollElement2)instanceof HTMLElement?__privateGet(this,_value).max=__privateGet(this,_scrollElement2).scrollHeight-__privateGet(this,_scrollElement2).offsetHeight:__privateGet(this,_value).max=document.documentElement.offsetHeight-Viewport.viewport.height}stop(){var _a;(_a=scroll.scrollToElementTweened.value)==null||_a.set(this.scrollTop,{equalize:!0}),__privateGet(this,_value).unlistenAnimationFrame(),__privateSet(this,_needSync,!0)}sync(){let currentValue=0;__privateGet(this,_scrollElement2)instanceof HTMLElement?currentValue=__privateGet(this,_scrollElement2).scrollTop:currentValue=__privateGet(this,_scrollElement2).scrollY,(Viewport.device.isMobile||__privateGet(this,_needSync)||Math.abs(currentValue-__privateGet(this,_value).current)>100)&&(__privateSet(this,_needSync,!1),__privateGet(this,_value).set(currentValue,{equalize:!0}))}shiftPosition(value){this.resize(),this.sync(),__privateGet(this,_value).shift(value)}setPosition(value,options){this.resize(),this.sync(),__privateGet(this,_value).set(value,options)}scrollToValue(value,behavior){Viewport.device.isMobile?this.scroll({top:value,behavior}):this.setPosition(value,{equalize:behavior==="instant"})}scrollToElement(elementOrSelector,options){scroll.scrollToElement(elementOrSelector,__spreadProps(__spreadValues({},options),{scrollElement:__privateGet(this,_scrollElement2),startValue:__privateGet(this,_value).current,scrollCallback:__name(top=>{this.scrollToValue(top,options!=null&&options.duration?"instant":options==null?void 0:options.behavior)},"scrollCallback")}))}connectedCallback(){this.dataset.element==="window"?__privateSet(this,_scrollElement2,window):__privateSet(this,_scrollElement2,dom.getElement(this.dataset.element)||this),window.addEventListener("resize",__privateGet(this,_resizeListener2)),__privateGet(this,_scrollElement2).addEventListener("keydown",__privateGet(this,_keydownListener)),document.documentElement.addEventListener("pointerdown",__privateGet(this,_pointerdownListener)),__privateGet(this,_scrollElement2).addEventListener("wheel",__privateGet(this,_wheelListener),{passive:!1}),__privateGet(this,_scrollElement2).addEventListener("scroll",__privateGet(this,_scrollListener2)),__privateGet(this,_value).set(this.scrollTop,{equalize:!0}),__privateGet(this,_value).subscribe(e=>{const roundedCurrent=Math.round(e.current);scrollEntries_index.scrollEntries.update(this,"y",e.current),roundedCurrent!==__privateGet(this,_currentRoundedValue)&&!Viewport.device.isMobile&&__privateGet(this,_scrollElement2).scroll({top:roundedCurrent,behavior:"instant"}),document.documentElement.classList.toggle("scrolling",roundedCurrent!==__privateGet(this,_currentRoundedValue)),__privateSet(this,_currentRoundedValue,roundedCurrent)}),__privateGet(this,_cssDamping).observe(),__privateGet(this,_cssDisabled).observe(),__privateGet(this,_cssDamping).subscribe(e=>{__privateGet(this,_value).damping=e.current}),scrollEntries_index.scrollEntries.register(this),this.resize()}disconnectedCallback(){__privateGet(this,_value).close(),__privateGet(this,_cssDamping).close(),__privateGet(this,_cssDisabled).close(),scrollEntries_index.scrollEntries.unregister(this),document.documentElement.classList.remove("scrolling"),window.removeEventListener("resize",__privateGet(this,_resizeListener2)),__privateGet(this,_scrollElement2).removeEventListener("keydown",__privateGet(this,_keydownListener)),document.documentElement.removeEventListener("pointerdown",__privateGet(this,_pointerdownListener)),__privateGet(this,_scrollElement2).removeEventListener("wheel",__privateGet(this,_wheelListener)),__privateGet(this,_scrollElement2).removeEventListener("scroll",__privateGet(this,_scrollListener2))}};_scrollElement2=new WeakMap,_cssDisabled=new WeakMap,_cssDamping=new WeakMap,_value=new WeakMap,_currentRoundedValue=new WeakMap,_needSync=new WeakMap,_SmoothScrollElement_instances=new WeakSet,checkDisabled_fn=__name(function(){return __privateGet(this,_cssDisabled).current||getComputedStyle(this).getPropertyValue("overflow")==="hidden"},"#checkDisabled"),_wheelListener=new WeakMap,_pointerdownListener=new WeakMap,_resizeListener2=new WeakMap,_keydownListener=new WeakMap,_scrollListener2=new WeakMap,__name(_SmoothScrollElement,"SmoothScrollElement");let SmoothScrollElement=_SmoothScrollElement;customElements.get("e-smooth-scroll")||customElements.define("e-smooth-scroll",SmoothScrollElement);var _statusHolderElements,_progressHolderElements,_scrollElement3,_statusHolderCSSProperty,_progressHolderCSSProperty,_disabledCSSProperty,_startOffsetCSSProperty,_startOffsetMinCSSProperty,_startExtraOffsetCSSProperty,_distanceCSSProperty,_distanceOffsetCSSProperty,_progressVarCSSProperty,_enterOnceCSSProperty,_status,_initialPosition,_start,_finish,_distance,_scrolled,_progress,_visible,_loadingUnsub,_ScrollRegionElement_instances,addGlobalClasses_fn,removeGlobalClasses_fn,init_fn2,_resizeListener3,_tickListener2,enter_fn,exit_fn,cssVar_fn,_loadingListener;const _ScrollRegionElement=class _ScrollRegionElement extends HTMLElement{constructor(){super(...arguments);__privateAdd(this,_ScrollRegionElement_instances);__privateAdd(this,_statusHolderElements,[this]);__privateAdd(this,_progressHolderElements,[this]);__privateAdd(this,_scrollElement3,null);__privateAdd(this,_statusHolderCSSProperty,new cssProperty_index.CSSProperty(this,"--scroll-region-status-holder",!1));__privateAdd(this,_progressHolderCSSProperty,new cssProperty_index.CSSProperty(this,"--scroll-region-progress-holder",!1));__privateAdd(this,_disabledCSSProperty,new cssProperty_index.CSSProperty(this,"--scroll-region-disabled",!1));__privateAdd(this,_startOffsetCSSProperty,new cssProperty_index.CSSProperty(this,"--scroll-region-start-offset",0,{rawValueCheck:!1}));__privateAdd(this,_startOffsetMinCSSProperty,new cssProperty_index.CSSProperty(this,"--scroll-region-start-offset-min",!1,{rawValueCheck:!1}));__privateAdd(this,_startExtraOffsetCSSProperty,new cssProperty_index.CSSProperty(this,"--scroll-region-start-extra-offset",0,{rawValueCheck:!1}));__privateAdd(this,_distanceCSSProperty,new cssProperty_index.CSSProperty(this,"--scroll-region-distance",0,{rawValueCheck:!1}));__privateAdd(this,_distanceOffsetCSSProperty,new cssProperty_index.CSSProperty(this,"--scroll-region-distance-offset",0,{rawValueCheck:!1}));__privateAdd(this,_progressVarCSSProperty,new cssProperty_index.CSSProperty(this,"--scroll-region-progress-var",""));__privateAdd(this,_enterOnceCSSProperty,new cssProperty_index.CSSProperty(this,"--scroll-region-enter-once",!1));__privateAdd(this,_status,new elementLinkedStore_index.ElementLinkedStore(this,{enabled:!1,entered:!1,enteredOnLoad:!1,activated:!1}));__privateAdd(this,_initialPosition,0);__privateAdd(this,_start,0);__privateAdd(this,_finish,0);__privateAdd(this,_distance,0);__privateAdd(this,_scrolled,0);__privateAdd(this,_progress,0);__privateAdd(this,_visible,!1);__privateAdd(this,_loadingUnsub);__privateAdd(this,_resizeListener3,__name(()=>{this.resize()},"#resizeListener"));__privateAdd(this,_tickListener2,__name(()=>{this.tick()},"#tickListener"));__privateAdd(this,_loadingListener,__name(()=>{__privateMethod(this,_ScrollRegionElement_instances,init_fn2).call(this)},"#loadingListener"))}get start(){return __privateGet(this,_start)}get finish(){return __privateGet(this,_finish)}get distance(){return __privateGet(this,_distance)}get scrolled(){return __privateGet(this,_scrolled)}get progress(){return __privateGet(this,_progress)}get status(){return __privateGet(this,_status)}get scrollValue(){return __privateGet(this,_scrollElement3)instanceof HTMLElement?__privateGet(this,_scrollElement3).scrollTop:__privateGet(this,_scrollElement3).scrollY}resize(){__privateGet(this,_disabledCSSProperty).current||(__privateSet(this,_initialPosition,layout.getCumulativeOffsetTop(this)),__privateSet(this,_start,__privateGet(this,_initialPosition)),typeof __privateGet(this,_startOffsetMinCSSProperty).current=="number"?__privateSet(this,_start,__privateGet(this,_start)+Math.max(__privateGet(this,_startOffsetCSSProperty).current,__privateGet(this,_startOffsetMinCSSProperty).current)):__privateSet(this,_start,__privateGet(this,_start)+__privateGet(this,_startOffsetCSSProperty).current),__privateSet(this,_start,__privateGet(this,_start)+__privateGet(this,_startExtraOffsetCSSProperty).current),__privateSet(this,_start,__privateGet(this,_start)-layout.getStickyOffset(this,"top")),__privateSet(this,_finish,__privateGet(this,_start)),__privateGet(this,_distanceCSSProperty).current?__privateSet(this,_finish,__privateGet(this,_finish)+__privateGet(this,_distanceCSSProperty).current):__privateSet(this,_finish,__privateGet(this,_finish)+this.offsetHeight),__privateSet(this,_finish,__privateGet(this,_finish)+__privateGet(this,_distanceOffsetCSSProperty).current),__privateSet(this,_distance,__privateGet(this,_finish)-__privateGet(this,_start)),__privateSet(this,_visible,this.offsetWidth!==0&&this.offsetHeight!==0),this.tick())}tick(){if(__privateGet(this,_disabledCSSProperty).current)return;const scrollValue=this.scrollValue;if(__privateSet(this,_scrolled,math.clamp(scrollValue-__privateGet(this,_start),0,__privateGet(this,_distance))),__privateSet(this,_progress,__privateGet(this,_scrolled)/__privateGet(this,_distance)||0),__privateGet(this,_progressVarCSSProperty).current)for(let index=0;index<__privateGet(this,_progressHolderElements).length;index++)__privateGet(this,_progressHolderElements)[index].style.setProperty(__privateMethod(this,_ScrollRegionElement_instances,cssVar_fn).call(this,__privateGet(this,_progressVarCSSProperty).current),__privateGet(this,_progress).toFixed(6));__privateGet(this,_status).set("activated",scrollValue>=__privateGet(this,_start)),__privateGet(this,_visible)&&__privateGet(this,_status).isFalse("entered")&&scrollValue>=__privateGet(this,_start)&&scrollValue<=__privateGet(this,_finish)?__privateMethod(this,_ScrollRegionElement_instances,enter_fn).call(this):__privateGet(this,_visible)&&!__privateGet(this,_enterOnceCSSProperty).current&&__privateGet(this,_status).isTrue("entered")&&(scrollValue<__privateGet(this,_start)||scrollValue>__privateGet(this,_finish))&&__privateMethod(this,_ScrollRegionElement_instances,exit_fn).call(this),__privateGet(this,_enterOnceCSSProperty).current&&__privateGet(this,_progress)===1&&(__privateGet(this,_status).current.entered||__privateMethod(this,_ScrollRegionElement_instances,enter_fn).call(this),this.destroy()),events.dispatchEvent(this,"scrollRegionProgress",{detail:{progress:__privateGet(this,_progress),scrolled:__privateGet(this,_scrolled)}})}destroy(){var _a;(_a=__privateGet(this,_loadingUnsub))==null||_a.call(this),this.disable(!1),__privateGet(this,_statusHolderCSSProperty).close(),__privateGet(this,_progressHolderCSSProperty).close(),__privateGet(this,_disabledCSSProperty).close(),__privateGet(this,_startOffsetCSSProperty).close(),__privateGet(this,_startOffsetMinCSSProperty).close(),__privateGet(this,_startExtraOffsetCSSProperty).close(),__privateGet(this,_distanceCSSProperty).close(),__privateGet(this,_distanceOffsetCSSProperty).close(),__privateGet(this,_progressVarCSSProperty).close(),__privateGet(this,_enterOnceCSSProperty).close()}enable(){ticker_index.ticker.subscribe(__privateGet(this,_tickListener2),{culling:this.getAttribute("data-culling-element")||this}),elementResizer_index.elementResizer.subscribe(this,__privateGet(this,_resizeListener3)),windowResizer_index.windowResizer.subscribe(__privateGet(this,_resizeListener3)),__privateGet(this,_tickListener2).call(this),__privateGet(this,_status).set("enabled",!0)}disable(resetStatus=!0){ticker_index.ticker.unsubscribe(__privateGet(this,_tickListener2)),elementResizer_index.elementResizer.unsubscribe(__privateGet(this,_resizeListener3)),windowResizer_index.windowResizer.unsubscribe(__privateGet(this,_resizeListener3)),resetStatus&&__privateGet(this,_status).reset(),__privateMethod(this,_ScrollRegionElement_instances,removeGlobalClasses_fn).call(this)}connectedCallback(){const scrollSelector=this.getAttribute("data-scroll")||".page-scroll";__privateSet(this,_scrollElement3,document.querySelector(scrollSelector)),__privateSet(this,_loadingUnsub,loading.requestLoadingCallback("load",__privateGet(this,_loadingListener)))}disconnectedCallback(){this.destroy()}};_statusHolderElements=new WeakMap,_progressHolderElements=new WeakMap,_scrollElement3=new WeakMap,_statusHolderCSSProperty=new WeakMap,_progressHolderCSSProperty=new WeakMap,_disabledCSSProperty=new WeakMap,_startOffsetCSSProperty=new WeakMap,_startOffsetMinCSSProperty=new WeakMap,_startExtraOffsetCSSProperty=new WeakMap,_distanceCSSProperty=new WeakMap,_distanceOffsetCSSProperty=new WeakMap,_progressVarCSSProperty=new WeakMap,_enterOnceCSSProperty=new WeakMap,_status=new WeakMap,_initialPosition=new WeakMap,_start=new WeakMap,_finish=new WeakMap,_distance=new WeakMap,_scrolled=new WeakMap,_progress=new WeakMap,_visible=new WeakMap,_loadingUnsub=new WeakMap,_ScrollRegionElement_instances=new WeakSet,addGlobalClasses_fn=__name(function(){this.hasAttribute("data-global-class")&&document.documentElement.classList.add(this.getAttribute("data-global-class"))},"#addGlobalClasses"),removeGlobalClasses_fn=__name(function(){this.hasAttribute("data-global-class")&&document.documentElement.classList.remove(this.getAttribute("data-global-class"))},"#removeGlobalClasses"),init_fn2=__name(function(){__privateGet(this,_statusHolderCSSProperty).subscribe(e=>{__privateGet(this,_statusHolderElements).length&&__privateGet(this,_statusHolderElements).forEach(el=>{__privateGet(this,_status).removeElement(el)}),__privateSet(this,_statusHolderElements,[]),e.current?e.current.split(",").map(v=>v.trim()).forEach(selector=>{const element=document.querySelector(selector);element instanceof HTMLElement&&(__privateGet(this,_statusHolderElements).push(element),__privateGet(this,_status).addElement(element))}):(__privateSet(this,_statusHolderElements,[this]),__privateGet(this,_status).addElement(this))}),__privateGet(this,_progressHolderCSSProperty).subscribe(e=>{__privateGet(this,_progressHolderElements).length&&__privateGet(this,_progressHolderElements).forEach(el=>{el.style.removeProperty(__privateMethod(this,_ScrollRegionElement_instances,cssVar_fn).call(this,__privateGet(this,_progressVarCSSProperty).current))}),__privateSet(this,_progressHolderElements,[]),e.current?e.current.split(",").map(v=>v.trim()).forEach(selector=>{const element=document.querySelector(selector);element instanceof HTMLElement&&__privateGet(this,_progressHolderElements).push(element)}):__privateSet(this,_progressHolderElements,[this])}),__privateGet(this,_disabledCSSProperty).subscribe(e=>{e.current&&!e.previous?this.disable():this.enable()}),__privateGet(this,_progressVarCSSProperty).subscribe(e=>{e.current?__privateGet(this,_tickListener2).call(this):e.previous&&__privateGet(this,_progressHolderElements).forEach(el=>{el.style.removeProperty(__privateMethod(this,_ScrollRegionElement_instances,cssVar_fn).call(this,e.previous))})}),__privateGet(this,_distanceCSSProperty).subscribe(()=>{__privateGet(this,_resizeListener3).call(this)}),__privateGet(this,_statusHolderCSSProperty).observe(),__privateGet(this,_progressHolderCSSProperty).observe(),__privateGet(this,_disabledCSSProperty).observe(),__privateGet(this,_startOffsetCSSProperty).observe(),__privateGet(this,_startOffsetMinCSSProperty).observe(),__privateGet(this,_startExtraOffsetCSSProperty).observe(),__privateGet(this,_distanceCSSProperty).observe(),__privateGet(this,_distanceOffsetCSSProperty).observe(),__privateGet(this,_progressVarCSSProperty).observe(),__privateGet(this,_enterOnceCSSProperty).observe()},"#init"),_resizeListener3=new WeakMap,_tickListener2=new WeakMap,enter_fn=__name(function(){const scrollValue=this.scrollValue;__privateGet(this,_status).set("entered",!0),scrollValue===0&&__privateGet(this,_status).set("enteredOnLoad",!0),__privateMethod(this,_ScrollRegionElement_instances,addGlobalClasses_fn).call(this),events.dispatchEvent(this,"scrollRegionEnter")},"#enter"),exit_fn=__name(function(){__privateGet(this,_status).set("entered",!1),__privateMethod(this,_ScrollRegionElement_instances,removeGlobalClasses_fn).call(this),events.dispatchEvent(this,"scrollRegionExit")},"#exit"),cssVar_fn=__name(function(value){return`--${value}`},"#cssVar"),_loadingListener=new WeakMap,__name(_ScrollRegionElement,"ScrollRegionElement");let ScrollRegionElement=_ScrollRegionElement;customElements.get("e-scroll-region")||customElements.define("e-scroll-region",ScrollRegionElement);exports.ScrollRegionElement=ScrollRegionElement;exports.ScrollbarElement=ScrollbarElement;exports.SmoothScrollElement=SmoothScrollElement;
1
+ "use strict";var __defProp=Object.defineProperty,__defProps=Object.defineProperties;var __getOwnPropDescs=Object.getOwnPropertyDescriptors;var __getOwnPropSymbols=Object.getOwnPropertySymbols;var __hasOwnProp=Object.prototype.hasOwnProperty,__propIsEnum=Object.prototype.propertyIsEnumerable;var __typeError=msg=>{throw TypeError(msg)};var __defNormalProp=(obj,key,value)=>key in obj?__defProp(obj,key,{enumerable:!0,configurable:!0,writable:!0,value}):obj[key]=value,__spreadValues=(a,b)=>{for(var prop in b||(b={}))__hasOwnProp.call(b,prop)&&__defNormalProp(a,prop,b[prop]);if(__getOwnPropSymbols)for(var prop of __getOwnPropSymbols(b))__propIsEnum.call(b,prop)&&__defNormalProp(a,prop,b[prop]);return a},__spreadProps=(a,b)=>__defProps(a,__getOwnPropDescs(b)),__name=(target,value)=>__defProp(target,"name",{value,configurable:!0});var __accessCheck=(obj,member,msg)=>member.has(obj)||__typeError("Cannot "+msg);var __privateGet=(obj,member,getter)=>(__accessCheck(obj,member,"read from private field"),getter?getter.call(obj):member.get(obj)),__privateAdd=(obj,member,value)=>member.has(obj)?__typeError("Cannot add the same private member more than once"):member instanceof WeakSet?member.add(obj):member.set(obj,value),__privateSet=(obj,member,value,setter)=>(__accessCheck(obj,member,"write to private field"),setter?setter.call(obj,value):member.set(obj,value),value),__privateMethod=(obj,member,method)=>(__accessCheck(obj,member,"access private method"),method);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const intersector_index=require("../index-BrasTsja.cjs"),browser=require("../browser-CIp8NsnF.cjs"),dom=require("../dom-B40i6NXw.cjs"),gestures=require("../gestures-DtYbQr49.cjs");require("construct-style-sheets-polyfill");const ScrollNavigator=require("../ScrollNavigator-CNKI1Iae.cjs"),cssProperty_index=require("../css-property/index.cjs"),elementLinkedStore_index=require("../element-linked-store/index.cjs"),elementResizer_index=require("../element-resizer/index.cjs"),events=require("../events-UlGk63iC.cjs"),layout=require("../layout-rR4-aYTY.cjs"),loading=require("../loading-7Ju1mFST.cjs"),math=require("../math-C-knY2TL.cjs"),windowResizer_index=require("../window-resizer/index.cjs"),Damped=require("../Damped-DTVkIAqc.cjs"),Viewport=require("../Viewport-BdFs1Zsn.cjs"),order_index=require("../order/index.cjs"),scrollEntries_index=require("../scroll-entries/index.cjs");var _scrollElement,_thumbElement,_thumbScrollSize,_limit,_isHorizontal,_activeTimeoutId,_ScrollbarElement_instances,init_fn,destroy_fn,scrollPosition_get,scrollSize_get,scrollViewportSize_get,_scrollListener,_resizeListener,_grabListener,_tickListener,_intersectionListener,_spaUpdateListener;const _ScrollbarElement=class _ScrollbarElement extends HTMLElement{constructor(){super(...arguments);__privateAdd(this,_ScrollbarElement_instances);__privateAdd(this,_scrollElement,null);__privateAdd(this,_thumbElement,null);__privateAdd(this,_thumbScrollSize,0);__privateAdd(this,_limit,0);__privateAdd(this,_isHorizontal,!1);__privateAdd(this,_activeTimeoutId);__privateAdd(this,_scrollListener,__name(()=>{this.classList.add("active"),clearTimeout(__privateGet(this,_activeTimeoutId));const position=__privateGet(this,_ScrollbarElement_instances,scrollPosition_get)/__privateGet(this,_limit)*__privateGet(this,_thumbScrollSize);__privateGet(this,_isHorizontal)?__privateGet(this,_thumbElement).style.transform=`translate3d(${position}px, 0px, 0px)`:__privateGet(this,_thumbElement).style.transform=`translate3d(0px, ${position}px, 0px)`,__privateSet(this,_activeTimeoutId,setTimeout(()=>{this.classList.remove("active")},1e3))},"#scrollListener"));__privateAdd(this,_resizeListener,__name(()=>{const barSize=__privateGet(this,_isHorizontal)?this.offsetWidth:this.offsetHeight,scrollSize=__privateGet(this,_ScrollbarElement_instances,scrollSize_get),viewportSize=__privateGet(this,_ScrollbarElement_instances,scrollViewportSize_get);__privateSet(this,_limit,scrollSize-viewportSize);let thumbSize=barSize*barSize/(__privateGet(this,_limit)+barSize);thumbSize=Math.max(thumbSize,30),__privateGet(this,_isHorizontal)?(__privateGet(this,_thumbElement).style.width=thumbSize+"px",__privateGet(this,_thumbElement).style.height="100%"):(__privateGet(this,_thumbElement).style.width="100%",__privateGet(this,_thumbElement).style.height=thumbSize+"px"),__privateSet(this,_thumbScrollSize,barSize-thumbSize),scrollSize<=viewportSize?this.style.display="none":this.style.display="block"},"#resizeListener"));__privateAdd(this,_grabListener,__name(grabEvent=>{const startValue=__privateGet(this,_ScrollbarElement_instances,scrollPosition_get),grabCursor=__privateGet(this,_isHorizontal)?grabEvent.x:grabEvent.y;gestures.setupDrag(moveEvent=>{const mult=__privateGet(this,_limit)/__privateGet(this,_thumbScrollSize),delta=(__privateGet(this,_isHorizontal)?moveEvent.x-grabCursor:moveEvent.y-grabCursor)*mult;__privateGet(this,_isHorizontal)?__privateGet(this,_scrollElement).scroll({left:startValue+delta,behavior:"instant"}):__privateGet(this,_scrollElement).scroll({top:startValue+delta,behavior:"instant"})})},"#grabListener"));__privateAdd(this,_tickListener,__name(()=>{__privateGet(this,_resizeListener).call(this)},"#tickListener"));__privateAdd(this,_intersectionListener,__name(e=>{e.isIntersecting?(intersector_index.ticker.subscribe(__privateGet(this,_tickListener),{maxFPS:5}),__privateGet(this,_tickListener).call(this)):intersector_index.ticker.unsubscribe(__privateGet(this,_tickListener))},"#intersectionListener"));__privateAdd(this,_spaUpdateListener,__name(()=>{__privateMethod(this,_ScrollbarElement_instances,destroy_fn).call(this),__privateMethod(this,_ScrollbarElement_instances,init_fn).call(this)},"#spaUpdateListener"))}connectedCallback(){__privateMethod(this,_ScrollbarElement_instances,init_fn).call(this),document.addEventListener("spaAfterUpdate",__privateGet(this,_spaUpdateListener))}disconnectedCallback(){__privateMethod(this,_ScrollbarElement_instances,destroy_fn).call(this),document.removeEventListener("spaAfterUpdate",__privateGet(this,_spaUpdateListener))}};_scrollElement=new WeakMap,_thumbElement=new WeakMap,_thumbScrollSize=new WeakMap,_limit=new WeakMap,_isHorizontal=new WeakMap,_activeTimeoutId=new WeakMap,_ScrollbarElement_instances=new WeakSet,init_fn=__name(function(){const scrollSelector=this.getAttribute("data-scroll");let scrollElement=null;scrollSelector&&(scrollSelector==="parent"?scrollElement=this.parentElement:scrollElement=document.querySelector(scrollSelector)),scrollElement||(scrollElement=dom.findScrollParentElement(this),scrollElement===document.body&&(scrollElement=window)),__privateSet(this,_isHorizontal,this.hasAttribute("horisontal"));const thumbElement=this.querySelector("[data-thumb]");scrollElement&&thumbElement&&(__privateSet(this,_scrollElement,scrollElement),__privateSet(this,_thumbElement,thumbElement),__privateGet(this,_scrollElement).addEventListener("scroll",__privateGet(this,_scrollListener)),__privateGet(this,_thumbElement).addEventListener("pointerdown",__privateGet(this,_grabListener)),intersector_index.intersector.subscribe(this.parentElement===document.body?this:this.parentElement,__privateGet(this,_intersectionListener)))},"#init"),destroy_fn=__name(function(){var _a,_b;(_a=__privateGet(this,_scrollElement))==null||_a.removeEventListener("scroll",__privateGet(this,_scrollListener)),(_b=__privateGet(this,_thumbElement))==null||_b.removeEventListener("pointerdown",__privateGet(this,_grabListener)),clearTimeout(__privateGet(this,_activeTimeoutId)),intersector_index.intersector.unsubscribe(__privateGet(this,_intersectionListener)),intersector_index.ticker.unsubscribe(__privateGet(this,_tickListener))},"#destroy"),scrollPosition_get=__name(function(){return __privateGet(this,_scrollElement)instanceof HTMLElement?__privateGet(this,_isHorizontal)?__privateGet(this,_scrollElement).scrollLeft:__privateGet(this,_scrollElement).scrollTop:__privateGet(this,_isHorizontal)?__privateGet(this,_scrollElement).scrollX:__privateGet(this,_scrollElement).scrollY},"#scrollPosition"),scrollSize_get=__name(function(){return __privateGet(this,_scrollElement)instanceof HTMLElement?__privateGet(this,_isHorizontal)?__privateGet(this,_scrollElement).scrollWidth:__privateGet(this,_scrollElement).scrollHeight:__privateGet(this,_isHorizontal)?Math.max(document.body.scrollWidth,document.documentElement.scrollWidth,document.body.offsetWidth,document.documentElement.offsetWidth,document.body.clientWidth,document.documentElement.clientWidth):Math.max(document.body.scrollHeight,document.documentElement.scrollHeight,document.body.offsetHeight,document.documentElement.offsetHeight,document.body.clientHeight,document.documentElement.clientHeight)},"#scrollSize"),scrollViewportSize_get=__name(function(){return __privateGet(this,_scrollElement)instanceof HTMLElement?__privateGet(this,_isHorizontal)?__privateGet(this,_scrollElement).offsetWidth:__privateGet(this,_scrollElement).offsetHeight:__privateGet(this,_isHorizontal)?innerWidth:innerHeight},"#scrollViewportSize"),_scrollListener=new WeakMap,_resizeListener=new WeakMap,_grabListener=new WeakMap,_tickListener=new WeakMap,_intersectionListener=new WeakMap,_spaUpdateListener=new WeakMap,__name(_ScrollbarElement,"ScrollbarElement");let ScrollbarElement=_ScrollbarElement;browser.isBrowser&&!customElements.get("e-scrollbar")&&customElements.define("e-scrollbar",ScrollbarElement);var _statusHolderElements,_progressHolderElements,_scrollElement2,_statusHolderCSSProperty,_progressHolderCSSProperty,_disabledCSSProperty,_startOffsetCSSProperty,_startOffsetMinCSSProperty,_startExtraOffsetCSSProperty,_distanceCSSProperty,_distanceOffsetCSSProperty,_progressVarCSSProperty,_enterOnceCSSProperty,_status,_initialPosition,_start,_finish,_distance,_scrolled,_progress,_visible,_loadingUnsub,_ScrollRegionElement_instances,addGlobalClasses_fn,removeGlobalClasses_fn,init_fn2,_resizeListener2,_tickListener2,enter_fn,exit_fn,cssVar_fn,_loadingListener;const _ScrollRegionElement=class _ScrollRegionElement extends HTMLElement{constructor(){super(...arguments);__privateAdd(this,_ScrollRegionElement_instances);__privateAdd(this,_statusHolderElements,[this]);__privateAdd(this,_progressHolderElements,[this]);__privateAdd(this,_scrollElement2,null);__privateAdd(this,_statusHolderCSSProperty,new cssProperty_index.CSSProperty(this,"--scroll-region-status-holder",!1));__privateAdd(this,_progressHolderCSSProperty,new cssProperty_index.CSSProperty(this,"--scroll-region-progress-holder",!1));__privateAdd(this,_disabledCSSProperty,new cssProperty_index.CSSProperty(this,"--scroll-region-disabled",!1));__privateAdd(this,_startOffsetCSSProperty,new cssProperty_index.CSSProperty(this,"--scroll-region-start-offset",0,{rawValueCheck:!1}));__privateAdd(this,_startOffsetMinCSSProperty,new cssProperty_index.CSSProperty(this,"--scroll-region-start-offset-min",!1,{rawValueCheck:!1}));__privateAdd(this,_startExtraOffsetCSSProperty,new cssProperty_index.CSSProperty(this,"--scroll-region-start-extra-offset",0,{rawValueCheck:!1}));__privateAdd(this,_distanceCSSProperty,new cssProperty_index.CSSProperty(this,"--scroll-region-distance",0,{rawValueCheck:!1}));__privateAdd(this,_distanceOffsetCSSProperty,new cssProperty_index.CSSProperty(this,"--scroll-region-distance-offset",0,{rawValueCheck:!1}));__privateAdd(this,_progressVarCSSProperty,new cssProperty_index.CSSProperty(this,"--scroll-region-progress-var",""));__privateAdd(this,_enterOnceCSSProperty,new cssProperty_index.CSSProperty(this,"--scroll-region-enter-once",!1));__privateAdd(this,_status,new elementLinkedStore_index.ElementLinkedStore(this,{enabled:!1,entered:!1,enteredOnLoad:!1,activated:!1}));__privateAdd(this,_initialPosition,0);__privateAdd(this,_start,0);__privateAdd(this,_finish,0);__privateAdd(this,_distance,0);__privateAdd(this,_scrolled,0);__privateAdd(this,_progress,0);__privateAdd(this,_visible,!1);__privateAdd(this,_loadingUnsub);__privateAdd(this,_resizeListener2,__name(()=>{this.resize()},"#resizeListener"));__privateAdd(this,_tickListener2,__name(()=>{this.tick()},"#tickListener"));__privateAdd(this,_loadingListener,__name(()=>{__privateMethod(this,_ScrollRegionElement_instances,init_fn2).call(this)},"#loadingListener"))}get start(){return __privateGet(this,_start)}get finish(){return __privateGet(this,_finish)}get distance(){return __privateGet(this,_distance)}get scrolled(){return __privateGet(this,_scrolled)}get progress(){return __privateGet(this,_progress)}get status(){return __privateGet(this,_status)}get scrollValue(){return __privateGet(this,_scrollElement2)instanceof HTMLElement?__privateGet(this,_scrollElement2).scrollTop:__privateGet(this,_scrollElement2).scrollY}resize(){__privateGet(this,_disabledCSSProperty).current||(__privateSet(this,_initialPosition,layout.getCumulativeOffsetTop(this)),__privateSet(this,_start,__privateGet(this,_initialPosition)),typeof __privateGet(this,_startOffsetMinCSSProperty).current=="number"?__privateSet(this,_start,__privateGet(this,_start)+Math.max(__privateGet(this,_startOffsetCSSProperty).current,__privateGet(this,_startOffsetMinCSSProperty).current)):__privateSet(this,_start,__privateGet(this,_start)+__privateGet(this,_startOffsetCSSProperty).current),__privateSet(this,_start,__privateGet(this,_start)+__privateGet(this,_startExtraOffsetCSSProperty).current),__privateSet(this,_start,__privateGet(this,_start)-layout.getStickyOffset(this,"top")),__privateSet(this,_finish,__privateGet(this,_start)),__privateGet(this,_distanceCSSProperty).current?__privateSet(this,_finish,__privateGet(this,_finish)+__privateGet(this,_distanceCSSProperty).current):__privateSet(this,_finish,__privateGet(this,_finish)+this.offsetHeight),__privateSet(this,_finish,__privateGet(this,_finish)+__privateGet(this,_distanceOffsetCSSProperty).current),__privateSet(this,_distance,__privateGet(this,_finish)-__privateGet(this,_start)),__privateSet(this,_visible,this.offsetWidth!==0&&this.offsetHeight!==0),this.tick())}tick(){if(__privateGet(this,_disabledCSSProperty).current)return;const scrollValue=this.scrollValue;if(__privateSet(this,_scrolled,math.clamp(scrollValue-__privateGet(this,_start),0,__privateGet(this,_distance))),__privateSet(this,_progress,__privateGet(this,_scrolled)/__privateGet(this,_distance)||0),__privateGet(this,_progressVarCSSProperty).current)for(let index=0;index<__privateGet(this,_progressHolderElements).length;index++)__privateGet(this,_progressHolderElements)[index].style.setProperty(__privateMethod(this,_ScrollRegionElement_instances,cssVar_fn).call(this,__privateGet(this,_progressVarCSSProperty).current),__privateGet(this,_progress).toFixed(6));__privateGet(this,_status).setKey("activated",scrollValue>=__privateGet(this,_start)),__privateGet(this,_visible)&&__privateGet(this,_status).isFalse("entered")&&scrollValue>=__privateGet(this,_start)&&scrollValue<=__privateGet(this,_finish)?__privateMethod(this,_ScrollRegionElement_instances,enter_fn).call(this):__privateGet(this,_visible)&&!__privateGet(this,_enterOnceCSSProperty).current&&__privateGet(this,_status).isTrue("entered")&&(scrollValue<__privateGet(this,_start)||scrollValue>__privateGet(this,_finish))&&__privateMethod(this,_ScrollRegionElement_instances,exit_fn).call(this),__privateGet(this,_enterOnceCSSProperty).current&&__privateGet(this,_progress)===1&&(__privateGet(this,_status).current.entered||__privateMethod(this,_ScrollRegionElement_instances,enter_fn).call(this),this.destroy()),events.dispatchEvent(this,"scrollRegionProgress",{detail:{progress:__privateGet(this,_progress),scrolled:__privateGet(this,_scrolled)}})}destroy(){var _a;(_a=__privateGet(this,_loadingUnsub))==null||_a.call(this),this.disable(!1),__privateGet(this,_statusHolderCSSProperty).close(),__privateGet(this,_progressHolderCSSProperty).close(),__privateGet(this,_disabledCSSProperty).close(),__privateGet(this,_startOffsetCSSProperty).close(),__privateGet(this,_startOffsetMinCSSProperty).close(),__privateGet(this,_startExtraOffsetCSSProperty).close(),__privateGet(this,_distanceCSSProperty).close(),__privateGet(this,_distanceOffsetCSSProperty).close(),__privateGet(this,_progressVarCSSProperty).close(),__privateGet(this,_enterOnceCSSProperty).close()}enable(){intersector_index.ticker.subscribe(__privateGet(this,_tickListener2),{culling:this.getAttribute("data-culling-element")||this}),elementResizer_index.elementResizer.subscribe(this,__privateGet(this,_resizeListener2)),windowResizer_index.windowResizer.subscribe(__privateGet(this,_resizeListener2)),__privateGet(this,_tickListener2).call(this),__privateGet(this,_status).setKey("enabled",!0)}disable(resetStatus=!0){intersector_index.ticker.unsubscribe(__privateGet(this,_tickListener2)),elementResizer_index.elementResizer.unsubscribe(__privateGet(this,_resizeListener2)),windowResizer_index.windowResizer.unsubscribe(__privateGet(this,_resizeListener2)),resetStatus&&__privateGet(this,_status).reset(),__privateMethod(this,_ScrollRegionElement_instances,removeGlobalClasses_fn).call(this)}connectedCallback(){const scrollSelector=this.getAttribute("data-scroll")||".page-scroll";__privateSet(this,_scrollElement2,document.querySelector(scrollSelector)),__privateSet(this,_loadingUnsub,loading.requestLoadingCallback("load",__privateGet(this,_loadingListener)))}disconnectedCallback(){this.destroy()}};_statusHolderElements=new WeakMap,_progressHolderElements=new WeakMap,_scrollElement2=new WeakMap,_statusHolderCSSProperty=new WeakMap,_progressHolderCSSProperty=new WeakMap,_disabledCSSProperty=new WeakMap,_startOffsetCSSProperty=new WeakMap,_startOffsetMinCSSProperty=new WeakMap,_startExtraOffsetCSSProperty=new WeakMap,_distanceCSSProperty=new WeakMap,_distanceOffsetCSSProperty=new WeakMap,_progressVarCSSProperty=new WeakMap,_enterOnceCSSProperty=new WeakMap,_status=new WeakMap,_initialPosition=new WeakMap,_start=new WeakMap,_finish=new WeakMap,_distance=new WeakMap,_scrolled=new WeakMap,_progress=new WeakMap,_visible=new WeakMap,_loadingUnsub=new WeakMap,_ScrollRegionElement_instances=new WeakSet,addGlobalClasses_fn=__name(function(){this.hasAttribute("data-global-class")&&document.documentElement.classList.add(this.getAttribute("data-global-class"))},"#addGlobalClasses"),removeGlobalClasses_fn=__name(function(){this.hasAttribute("data-global-class")&&document.documentElement.classList.remove(this.getAttribute("data-global-class"))},"#removeGlobalClasses"),init_fn2=__name(function(){__privateGet(this,_statusHolderCSSProperty).subscribe(e=>{__privateGet(this,_statusHolderElements).length&&__privateGet(this,_statusHolderElements).forEach(el=>{__privateGet(this,_status).removeElement(el)}),__privateSet(this,_statusHolderElements,[]),e.current?e.current.split(",").map(v=>v.trim()).forEach(selector=>{const element=document.querySelector(selector);element instanceof HTMLElement&&(__privateGet(this,_statusHolderElements).push(element),__privateGet(this,_status).addElement(element))}):(__privateSet(this,_statusHolderElements,[this]),__privateGet(this,_status).addElement(this))}),__privateGet(this,_progressHolderCSSProperty).subscribe(e=>{__privateGet(this,_progressHolderElements).length&&__privateGet(this,_progressHolderElements).forEach(el=>{el.style.removeProperty(__privateMethod(this,_ScrollRegionElement_instances,cssVar_fn).call(this,__privateGet(this,_progressVarCSSProperty).current))}),__privateSet(this,_progressHolderElements,[]),e.current?e.current.split(",").map(v=>v.trim()).forEach(selector=>{const element=document.querySelector(selector);element instanceof HTMLElement&&__privateGet(this,_progressHolderElements).push(element)}):__privateSet(this,_progressHolderElements,[this])}),__privateGet(this,_disabledCSSProperty).subscribe(e=>{e.current&&!e.previous?this.disable():this.enable()}),__privateGet(this,_progressVarCSSProperty).subscribe(e=>{e.current?__privateGet(this,_tickListener2).call(this):e.previous&&__privateGet(this,_progressHolderElements).forEach(el=>{el.style.removeProperty(__privateMethod(this,_ScrollRegionElement_instances,cssVar_fn).call(this,e.previous))})}),__privateGet(this,_distanceCSSProperty).subscribe(()=>{__privateGet(this,_resizeListener2).call(this)}),__privateGet(this,_statusHolderCSSProperty).observe(),__privateGet(this,_progressHolderCSSProperty).observe(),__privateGet(this,_disabledCSSProperty).observe(),__privateGet(this,_startOffsetCSSProperty).observe(),__privateGet(this,_startOffsetMinCSSProperty).observe(),__privateGet(this,_startExtraOffsetCSSProperty).observe(),__privateGet(this,_distanceCSSProperty).observe(),__privateGet(this,_distanceOffsetCSSProperty).observe(),__privateGet(this,_progressVarCSSProperty).observe(),__privateGet(this,_enterOnceCSSProperty).observe()},"#init"),_resizeListener2=new WeakMap,_tickListener2=new WeakMap,enter_fn=__name(function(){const scrollValue=this.scrollValue;__privateGet(this,_status).setKey("entered",!0),scrollValue===0&&__privateGet(this,_status).setKey("enteredOnLoad",!0),__privateMethod(this,_ScrollRegionElement_instances,addGlobalClasses_fn).call(this),events.dispatchEvent(this,"scrollRegionEnter")},"#enter"),exit_fn=__name(function(){__privateGet(this,_status).setKey("entered",!1),__privateMethod(this,_ScrollRegionElement_instances,removeGlobalClasses_fn).call(this),events.dispatchEvent(this,"scrollRegionExit")},"#exit"),cssVar_fn=__name(function(value){return`--${value}`},"#cssVar"),_loadingListener=new WeakMap,__name(_ScrollRegionElement,"ScrollRegionElement");let ScrollRegionElement=_ScrollRegionElement;customElements.get("e-scroll-region")||customElements.define("e-scroll-region",ScrollRegionElement);const scrollKeys=new Set(["ArrowUp","ArrowDown","ArrowLeft","ArrowRight","PageUp","PageDown","Home","End","Space"]);var _scrollElement3,_pointerElement,_cssDisabled,_cssDamping,_damped,_rounded,_needSync,_SmoothScrollElement_instances,currentScroll_get,setNativeScroll_fn,initScrollElement_fn,addListeners_fn,removeListeners_fn,checkDisabled_fn,inOverflowDirection_fn,shouldSkipSmoothScroll_fn,_wheelListener,_pointerdownListener,_resizeListener3,_keydownListener,_scrollListener2;const _SmoothScrollElement=class _SmoothScrollElement extends HTMLElement{constructor(){super();__privateAdd(this,_SmoothScrollElement_instances);__privateAdd(this,_scrollElement3,this);__privateAdd(this,_pointerElement,this);__privateAdd(this,_cssDisabled,new cssProperty_index.CSSProperty(this,"--smooth-scroll-disabled",!1));__privateAdd(this,_cssDamping,new cssProperty_index.CSSProperty(this,"--smooth-scroll-damping",10));__privateAdd(this,_damped,new Damped.Damped);__privateAdd(this,_rounded,0);__privateAdd(this,_needSync,!1);__privateAdd(this,_wheelListener,__name(e=>{__privateMethod(this,_SmoothScrollElement_instances,checkDisabled_fn).call(this)||Viewport.device.isMobile||(__privateMethod(this,_SmoothScrollElement_instances,inOverflowDirection_fn).call(this,e)||e.stopPropagation(),!__privateMethod(this,_SmoothScrollElement_instances,shouldSkipSmoothScroll_fn).call(this,e)&&(Math.abs(e.deltaX)>Math.abs(e.deltaY)||(ScrollNavigator.ScrollNavigator.tryStop(__privateGet(this,_scrollElement3),this.scrollTop),e.preventDefault(),this.shiftPosition(e.deltaY))))},"#wheelListener"));__privateAdd(this,_pointerdownListener,__name(e=>{if(!(e.target instanceof Element))return;const anchor=e.target.closest("a");if(!(e.button!==0||__privateMethod(this,_SmoothScrollElement_instances,checkDisabled_fn).call(this)&&!anchor)&&anchor&&!anchor.hasAttribute("data-smooth-scroll-skip")&&this.contains(anchor)){const url=new URL(anchor.href);url.hash&&(e.preventDefault(),this.stop(),this.scrollToElement(url.hash,{behavior:anchor.getAttribute("data-scroll-behavior")||"smooth",offset:anchor.getAttribute("data-scroll-offset")||void 0,center:anchor.hasAttribute("data-scroll-center"),duration:parseFloat(anchor.getAttribute("data-scroll-duration")||"0")||void 0,easing:anchor.getAttribute("data-scroll-easing")||void 0}))}},"#pointerdownListener"));__privateAdd(this,_resizeListener3,__name(()=>{this.resize(),this.trySync()},"#resizeListener"));__privateAdd(this,_keydownListener,__name(e=>{__privateMethod(this,_SmoothScrollElement_instances,checkDisabled_fn).call(this)||scrollKeys.has(e.code)&&this.stop()},"#keydownListener"));__privateAdd(this,_scrollListener2,__name(()=>{this.trySync()},"#scrollListener"));__privateGet(this,_damped).setTickerOptions({order:order_index.TICK_ORDER.SCROLL})}resize(){const max=__privateGet(this,_scrollElement3)instanceof HTMLElement?__privateGet(this,_scrollElement3).scrollHeight-__privateGet(this,_scrollElement3).offsetHeight:document.documentElement.offsetHeight-Viewport.viewport.height;__privateGet(this,_damped).setEdges(0,max)}stop(){ScrollNavigator.ScrollNavigator.tryStop(__privateGet(this,_scrollElement3),this.scrollTop),__privateGet(this,_damped).stopAnimation(),__privateSet(this,_needSync,!0)}trySync(){const cv=__privateGet(this,_SmoothScrollElement_instances,currentScroll_get);(Viewport.device.isMobile||__privateGet(this,_needSync)||Math.abs(cv-__privateGet(this,_damped).current)>100)&&(__privateSet(this,_needSync,!1),__privateGet(this,_damped).setWithoutAnimation(cv))}shiftPosition(value){this.resize(),this.trySync(),__privateGet(this,_damped).set(__privateGet(this,_damped).target+value)}setPosition(value,behavior){this.resize(),this.trySync(),behavior==="instant"?__privateGet(this,_damped).setWithoutAnimation(value):__privateGet(this,_damped).set(value)}scrollToValue(value,behavior){Viewport.device.isMobile?this.scroll({top:value,behavior}):this.setPosition(value,behavior)}scrollToElement(elementOrSelector,options){ScrollNavigator.ScrollNavigator.scrollToElement(elementOrSelector,__spreadProps(__spreadValues({},options),{scrollElement:__privateGet(this,_scrollElement3),startValue:__privateGet(this,_damped).current,scrollCallback:__name(top=>{this.scrollToValue(top,options!=null&&options.duration?"instant":options==null?void 0:options.behavior)},"scrollCallback")}))}connectedCallback(){__privateMethod(this,_SmoothScrollElement_instances,initScrollElement_fn).call(this),__privateMethod(this,_SmoothScrollElement_instances,addListeners_fn).call(this),__privateGet(this,_damped).setWithoutAnimation(this.scrollTop),__privateGet(this,_damped).subscribe(e=>{const rounded=Math.round(e.current);scrollEntries_index.scrollEntries.update(this,"y",e.current),rounded!==__privateGet(this,_rounded)&&!Viewport.device.isMobile&&__privateMethod(this,_SmoothScrollElement_instances,setNativeScroll_fn).call(this,rounded),document.documentElement.classList.toggle("scrolling",rounded!==__privateGet(this,_rounded)),console.log(rounded),__privateSet(this,_rounded,rounded)}),__privateGet(this,_cssDamping).observe(),__privateGet(this,_cssDisabled).observe(),__privateGet(this,_cssDamping).subscribe(e=>{__privateGet(this,_damped).setOptions({damping:e.current})}),scrollEntries_index.scrollEntries.register(this),this.resize()}disconnectedCallback(){__privateGet(this,_damped).close(),__privateGet(this,_cssDamping).close(),__privateGet(this,_cssDisabled).close(),scrollEntries_index.scrollEntries.unregister(this),document.documentElement.classList.remove("scrolling"),__privateMethod(this,_SmoothScrollElement_instances,removeListeners_fn).call(this)}};_scrollElement3=new WeakMap,_pointerElement=new WeakMap,_cssDisabled=new WeakMap,_cssDamping=new WeakMap,_damped=new WeakMap,_rounded=new WeakMap,_needSync=new WeakMap,_SmoothScrollElement_instances=new WeakSet,currentScroll_get=__name(function(){return __privateGet(this,_scrollElement3)instanceof HTMLElement?__privateGet(this,_scrollElement3).scrollTop:__privateGet(this,_scrollElement3).scrollY},"#currentScroll"),setNativeScroll_fn=__name(function(top){__privateGet(this,_scrollElement3).scroll({top,behavior:"instant"})},"#setNativeScroll"),initScrollElement_fn=__name(function(){this.dataset.element==="window"?(__privateSet(this,_scrollElement3,window),__privateSet(this,_pointerElement,document.documentElement)):(__privateSet(this,_scrollElement3,dom.getElement(this.dataset.element)||this),__privateGet(this,_scrollElement3).setAttribute("tabindex","0"),__privateSet(this,_pointerElement,this))},"#initScrollElement"),addListeners_fn=__name(function(){window.addEventListener("resize",__privateGet(this,_resizeListener3)),__privateGet(this,_scrollElement3).addEventListener("keydown",__privateGet(this,_keydownListener)),__privateGet(this,_pointerElement).addEventListener("click",__privateGet(this,_pointerdownListener)),__privateGet(this,_scrollElement3).addEventListener("wheel",__privateGet(this,_wheelListener),{passive:!1}),__privateGet(this,_scrollElement3).addEventListener("scroll",__privateGet(this,_scrollListener2))},"#addListeners"),removeListeners_fn=__name(function(){window.removeEventListener("resize",__privateGet(this,_resizeListener3)),__privateGet(this,_scrollElement3).removeEventListener("keydown",__privateGet(this,_keydownListener)),__privateGet(this,_pointerElement).removeEventListener("click",__privateGet(this,_pointerdownListener)),__privateGet(this,_scrollElement3).removeEventListener("wheel",__privateGet(this,_wheelListener)),__privateGet(this,_scrollElement3).removeEventListener("scroll",__privateGet(this,_scrollListener2))},"#removeListeners"),checkDisabled_fn=__name(function(){return __privateGet(this,_cssDisabled).current||getComputedStyle(this).getPropertyValue("overflow")==="hidden"},"#checkDisabled"),inOverflowDirection_fn=__name(function(e){const dy=Math.sign(e.deltaY);return!(dy<0&&__privateGet(this,_damped).target===0&&__privateGet(this,_damped).direction<0||dy>0&&__privateGet(this,_damped).target===__privateGet(this,_damped).max&&__privateGet(this,_damped).direction>0)},"#inOverflowDirection"),shouldSkipSmoothScroll_fn=__name(function(e){if(!(e.target instanceof Element))return!1;const el=e.target.closest("[data-prevent-smooth-scroll]");if(!el)return!1;const attr=el.getAttribute("data-prevent-smooth-scroll");return attr?!matchMedia(attr).matches:!0},"#shouldSkipSmoothScroll"),_wheelListener=new WeakMap,_pointerdownListener=new WeakMap,_resizeListener3=new WeakMap,_keydownListener=new WeakMap,_scrollListener2=new WeakMap,__name(_SmoothScrollElement,"SmoothScrollElement");let SmoothScrollElement=_SmoothScrollElement;customElements.get("e-smooth-scroll")||customElements.define("e-smooth-scroll",SmoothScrollElement);exports.ScrollNavigator=ScrollNavigator.ScrollNavigator;exports.ScrollRegionElement=ScrollRegionElement;exports.ScrollbarElement=ScrollbarElement;exports.SmoothScrollElement=SmoothScrollElement;
@@ -1,3 +1,4 @@
1
1
  export { ScrollbarElement } from './ScrollbarElement';
2
- export { SmoothScrollElement } from './SmoothScrollElement';
2
+ export { ScrollNavigator, type ScrollNavigatorOptions } from './ScrollNavigator';
3
3
  export { ScrollRegionElement, type ScrollRegionElementEvents, } from './ScrollRegionElement';
4
+ export { SmoothScrollElement } from './SmoothScrollElement';
@@ -15,17 +15,13 @@ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { en
15
15
  }, __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b)), __name = (target, value) => __defProp(target, "name", { value, configurable: !0 });
16
16
  var __accessCheck = (obj, member, msg) => member.has(obj) || __typeError("Cannot " + msg);
17
17
  var __privateGet = (obj, member, getter) => (__accessCheck(obj, member, "read from private field"), getter ? getter.call(obj) : member.get(obj)), __privateAdd = (obj, member, value) => member.has(obj) ? __typeError("Cannot add the same private member more than once") : member instanceof WeakSet ? member.add(obj) : member.set(obj, value), __privateSet = (obj, member, value, setter) => (__accessCheck(obj, member, "write to private field"), setter ? setter.call(obj, value) : member.set(obj, value), value), __privateMethod = (obj, member, method) => (__accessCheck(obj, member, "access private method"), method);
18
- import { i as intersector, t as ticker } from "../index-DAG0CtYo.js";
19
- import { i as isBrowser } from "../Store-CAGUSjFX.js";
18
+ import { i as intersector, t as ticker } from "../index-Z2Lgb7xU.js";
19
+ import { i as isBrowser } from "../browser-B9QXFVgG.js";
20
20
  import { f as findScrollParentElement, g as getElement } from "../dom-D8D-_9ty.js";
21
21
  import { s as setupDrag } from "../gestures-DmKKNnh4.js";
22
22
  import "construct-style-sheets-polyfill";
23
- import { TICK_ORDER } from "../order/index.js";
24
- import { D as Damped } from "../Damped-m3PWu4LD.js";
23
+ import { S as ScrollNavigator } from "../ScrollNavigator-CiZjoiyk.js";
25
24
  import { CSSProperty } from "../css-property/index.js";
26
- import { v as viewport, d as device } from "../Viewport-B3kVX27H.js";
27
- import { scrollEntries } from "../scroll-entries/index.js";
28
- import { s as scrollToElement, a as scrollToElementTweened } from "../scroll-D1MT0QMY.js";
29
25
  import { ElementLinkedStore } from "../element-linked-store/index.js";
30
26
  import { elementResizer } from "../element-resizer/index.js";
31
27
  import { d as dispatchEvent } from "../events-Ds-TuvYW.js";
@@ -33,6 +29,10 @@ import { b as getCumulativeOffsetTop, g as getStickyOffset } from "../layout-DxO
33
29
  import { r as requestLoadingCallback } from "../loading-BYWPyUhc.js";
34
30
  import { c as clamp } from "../math-r8V23YFe.js";
35
31
  import { windowResizer } from "../window-resizer/index.js";
32
+ import { D as Damped } from "../Damped-BxBI6Dds.js";
33
+ import { v as viewport, d as device } from "../Viewport-CPB14lI1.js";
34
+ import { TICK_ORDER } from "../order/index.js";
35
+ import { scrollEntries } from "../scroll-entries/index.js";
36
36
  var _scrollElement, _thumbElement, _thumbScrollSize, _limit, _isHorizontal, _activeTimeoutId, _ScrollbarElement_instances, init_fn, destroy_fn, scrollPosition_get, scrollSize_get, scrollViewportSize_get, _scrollListener, _resizeListener, _grabListener, _tickListener, _intersectionListener, _spaUpdateListener;
37
37
  const _ScrollbarElement = class _ScrollbarElement extends HTMLElement {
38
38
  constructor() {
@@ -122,157 +122,14 @@ _scrollElement = new WeakMap(), _thumbElement = new WeakMap(), _thumbScrollSize
122
122
  }, "#scrollViewportSize"), _scrollListener = new WeakMap(), _resizeListener = new WeakMap(), _grabListener = new WeakMap(), _tickListener = new WeakMap(), _intersectionListener = new WeakMap(), _spaUpdateListener = new WeakMap(), __name(_ScrollbarElement, "ScrollbarElement");
123
123
  let ScrollbarElement = _ScrollbarElement;
124
124
  isBrowser && !customElements.get("e-scrollbar") && customElements.define("e-scrollbar", ScrollbarElement);
125
- const scrollKeys = /* @__PURE__ */ new Set([
126
- "ArrowUp",
127
- "ArrowDown",
128
- "ArrowLeft",
129
- "ArrowRight",
130
- "PageUp",
131
- "PageDown",
132
- "Home",
133
- "End",
134
- "Space"
135
- ]);
136
- var _scrollElement2, _cssDisabled, _cssDamping, _value, _currentRoundedValue, _needSync, _SmoothScrollElement_instances, checkDisabled_fn, _wheelListener, _pointerdownListener, _resizeListener2, _keydownListener, _scrollListener2;
137
- const _SmoothScrollElement = class _SmoothScrollElement extends HTMLElement {
138
- constructor() {
139
- super(...arguments);
140
- __privateAdd(this, _SmoothScrollElement_instances);
141
- __privateAdd(this, _scrollElement2, this);
142
- __privateAdd(this, _cssDisabled, new CSSProperty(this, "--smooth-scroll-disabled", !1));
143
- __privateAdd(this, _cssDamping, new CSSProperty(this, "--smooth-scroll-damping", 10));
144
- __privateAdd(this, _value, new Damped(0, { order: TICK_ORDER.SCROLL }));
145
- __privateAdd(this, _currentRoundedValue, 0);
146
- __privateAdd(this, _needSync, !1);
147
- __privateAdd(this, _wheelListener, /* @__PURE__ */ __name((e) => {
148
- if (!(__privateMethod(this, _SmoothScrollElement_instances, checkDisabled_fn).call(this) || device.isMobile)) {
149
- if (Math.sign(e.deltaY) < 0 && __privateGet(this, _value).target === 0 && __privateGet(this, _value).direction < 0 || Math.sign(e.deltaY) > 0 && __privateGet(this, _value).target === __privateGet(this, _value).max && __privateGet(this, _value).direction > 0 || e.stopPropagation(), e.target instanceof Element) {
150
- const preventElement = e.target.closest("[data-prevent-smooth-scroll]");
151
- if (preventElement) {
152
- const attrValue = preventElement.getAttribute(
153
- "data-prevent-smooth-scroll"
154
- );
155
- if (attrValue) {
156
- if (matchMedia(attrValue).matches)
157
- return;
158
- } else return;
159
- }
160
- }
161
- Math.abs(e.deltaX) > Math.abs(e.deltaY) || (e.preventDefault(), this.shiftPosition(e.deltaY));
162
- }
163
- }, "#wheelListener"));
164
- __privateAdd(this, _pointerdownListener, /* @__PURE__ */ __name((e) => {
165
- if (e.target instanceof Element) {
166
- const anchorElement = e.target.closest("a");
167
- if (e.button !== 0 || __privateMethod(this, _SmoothScrollElement_instances, checkDisabled_fn).call(this) && !anchorElement)
168
- return;
169
- if (anchorElement && !anchorElement.hasAttribute("data-smooth-scroll-skip") && this.contains(anchorElement)) {
170
- this.stop();
171
- const url = new URL(anchorElement.href);
172
- url.hash && (e.preventDefault(), this.scrollToElement(url.hash, {
173
- behavior: anchorElement.getAttribute("data-scroll-behavior") || "smooth",
174
- offset: anchorElement.getAttribute("data-scroll-offset") || void 0,
175
- center: anchorElement.hasAttribute("data-scroll-center"),
176
- duration: parseFloat(
177
- anchorElement.getAttribute("data-scroll-duration") || "0"
178
- ) || void 0,
179
- easing: anchorElement.getAttribute("data-scroll-easing") || void 0
180
- }));
181
- }
182
- }
183
- }, "#pointerdownListener"));
184
- __privateAdd(this, _resizeListener2, /* @__PURE__ */ __name(() => {
185
- this.resize(), this.sync();
186
- }, "#resizeListener"));
187
- __privateAdd(this, _keydownListener, /* @__PURE__ */ __name((e) => {
188
- __privateMethod(this, _SmoothScrollElement_instances, checkDisabled_fn).call(this) || scrollKeys.has(e.code) && this.stop();
189
- }, "#keydownListener"));
190
- __privateAdd(this, _scrollListener2, /* @__PURE__ */ __name(() => {
191
- device.isMobile && this.sync();
192
- }, "#scrollListener"));
193
- }
194
- resize() {
195
- __privateGet(this, _value).min = 0, __privateGet(this, _scrollElement2) instanceof HTMLElement ? __privateGet(this, _value).max = __privateGet(this, _scrollElement2).scrollHeight - __privateGet(this, _scrollElement2).offsetHeight : __privateGet(this, _value).max = document.documentElement.offsetHeight - viewport.height;
196
- }
197
- stop() {
198
- var _a;
199
- (_a = scrollToElementTweened.value) == null || _a.set(this.scrollTop, { equalize: !0 }), __privateGet(this, _value).unlistenAnimationFrame(), __privateSet(this, _needSync, !0);
200
- }
201
- sync() {
202
- let currentValue = 0;
203
- __privateGet(this, _scrollElement2) instanceof HTMLElement ? currentValue = __privateGet(this, _scrollElement2).scrollTop : currentValue = __privateGet(this, _scrollElement2).scrollY, (device.isMobile || __privateGet(this, _needSync) || Math.abs(currentValue - __privateGet(this, _value).current) > 100) && (__privateSet(this, _needSync, !1), __privateGet(this, _value).set(currentValue, { equalize: !0 }));
204
- }
205
- shiftPosition(value) {
206
- this.resize(), this.sync(), __privateGet(this, _value).shift(value);
207
- }
208
- setPosition(value, options) {
209
- this.resize(), this.sync(), __privateGet(this, _value).set(value, options);
210
- }
211
- scrollToValue(value, behavior) {
212
- device.isMobile ? this.scroll({
213
- top: value,
214
- behavior
215
- }) : this.setPosition(value, {
216
- equalize: behavior === "instant"
217
- });
218
- }
219
- scrollToElement(elementOrSelector, options) {
220
- scrollToElement(elementOrSelector, __spreadProps(__spreadValues({}, options), {
221
- scrollElement: __privateGet(this, _scrollElement2),
222
- startValue: __privateGet(this, _value).current,
223
- scrollCallback: /* @__PURE__ */ __name((top) => {
224
- this.scrollToValue(
225
- top,
226
- options != null && options.duration ? "instant" : options == null ? void 0 : options.behavior
227
- );
228
- }, "scrollCallback")
229
- }));
230
- }
231
- connectedCallback() {
232
- this.dataset.element === "window" ? __privateSet(this, _scrollElement2, window) : __privateSet(this, _scrollElement2, getElement(this.dataset.element) || this), window.addEventListener("resize", __privateGet(this, _resizeListener2)), __privateGet(this, _scrollElement2).addEventListener(
233
- "keydown",
234
- __privateGet(this, _keydownListener)
235
- ), document.documentElement.addEventListener(
236
- "pointerdown",
237
- __privateGet(this, _pointerdownListener)
238
- ), __privateGet(this, _scrollElement2).addEventListener("wheel", __privateGet(this, _wheelListener), {
239
- passive: !1
240
- }), __privateGet(this, _scrollElement2).addEventListener("scroll", __privateGet(this, _scrollListener2)), __privateGet(this, _value).set(this.scrollTop, { equalize: !0 }), __privateGet(this, _value).subscribe((e) => {
241
- const roundedCurrent = Math.round(e.current);
242
- scrollEntries.update(this, "y", e.current), roundedCurrent !== __privateGet(this, _currentRoundedValue) && !device.isMobile && __privateGet(this, _scrollElement2).scroll({
243
- top: roundedCurrent,
244
- behavior: "instant"
245
- }), document.documentElement.classList.toggle(
246
- "scrolling",
247
- roundedCurrent !== __privateGet(this, _currentRoundedValue)
248
- ), __privateSet(this, _currentRoundedValue, roundedCurrent);
249
- }), __privateGet(this, _cssDamping).observe(), __privateGet(this, _cssDisabled).observe(), __privateGet(this, _cssDamping).subscribe((e) => {
250
- __privateGet(this, _value).damping = e.current;
251
- }), scrollEntries.register(this), this.resize();
252
- }
253
- disconnectedCallback() {
254
- __privateGet(this, _value).close(), __privateGet(this, _cssDamping).close(), __privateGet(this, _cssDisabled).close(), scrollEntries.unregister(this), document.documentElement.classList.remove("scrolling"), window.removeEventListener("resize", __privateGet(this, _resizeListener2)), __privateGet(this, _scrollElement2).removeEventListener(
255
- "keydown",
256
- __privateGet(this, _keydownListener)
257
- ), document.documentElement.removeEventListener(
258
- "pointerdown",
259
- __privateGet(this, _pointerdownListener)
260
- ), __privateGet(this, _scrollElement2).removeEventListener("wheel", __privateGet(this, _wheelListener)), __privateGet(this, _scrollElement2).removeEventListener("scroll", __privateGet(this, _scrollListener2));
261
- }
262
- };
263
- _scrollElement2 = new WeakMap(), _cssDisabled = new WeakMap(), _cssDamping = new WeakMap(), _value = new WeakMap(), _currentRoundedValue = new WeakMap(), _needSync = new WeakMap(), _SmoothScrollElement_instances = new WeakSet(), checkDisabled_fn = /* @__PURE__ */ __name(function() {
264
- return __privateGet(this, _cssDisabled).current || getComputedStyle(this).getPropertyValue("overflow") === "hidden";
265
- }, "#checkDisabled"), _wheelListener = new WeakMap(), _pointerdownListener = new WeakMap(), _resizeListener2 = new WeakMap(), _keydownListener = new WeakMap(), _scrollListener2 = new WeakMap(), __name(_SmoothScrollElement, "SmoothScrollElement");
266
- let SmoothScrollElement = _SmoothScrollElement;
267
- customElements.get("e-smooth-scroll") || customElements.define("e-smooth-scroll", SmoothScrollElement);
268
- var _statusHolderElements, _progressHolderElements, _scrollElement3, _statusHolderCSSProperty, _progressHolderCSSProperty, _disabledCSSProperty, _startOffsetCSSProperty, _startOffsetMinCSSProperty, _startExtraOffsetCSSProperty, _distanceCSSProperty, _distanceOffsetCSSProperty, _progressVarCSSProperty, _enterOnceCSSProperty, _status, _initialPosition, _start, _finish, _distance, _scrolled, _progress, _visible, _loadingUnsub, _ScrollRegionElement_instances, addGlobalClasses_fn, removeGlobalClasses_fn, init_fn2, _resizeListener3, _tickListener2, enter_fn, exit_fn, cssVar_fn, _loadingListener;
125
+ var _statusHolderElements, _progressHolderElements, _scrollElement2, _statusHolderCSSProperty, _progressHolderCSSProperty, _disabledCSSProperty, _startOffsetCSSProperty, _startOffsetMinCSSProperty, _startExtraOffsetCSSProperty, _distanceCSSProperty, _distanceOffsetCSSProperty, _progressVarCSSProperty, _enterOnceCSSProperty, _status, _initialPosition, _start, _finish, _distance, _scrolled, _progress, _visible, _loadingUnsub, _ScrollRegionElement_instances, addGlobalClasses_fn, removeGlobalClasses_fn, init_fn2, _resizeListener2, _tickListener2, enter_fn, exit_fn, cssVar_fn, _loadingListener;
269
126
  const _ScrollRegionElement = class _ScrollRegionElement extends HTMLElement {
270
127
  constructor() {
271
128
  super(...arguments);
272
129
  __privateAdd(this, _ScrollRegionElement_instances);
273
130
  __privateAdd(this, _statusHolderElements, [this]);
274
131
  __privateAdd(this, _progressHolderElements, [this]);
275
- __privateAdd(this, _scrollElement3, null);
132
+ __privateAdd(this, _scrollElement2, null);
276
133
  __privateAdd(this, _statusHolderCSSProperty, new CSSProperty(
277
134
  this,
278
135
  "--scroll-region-status-holder",
@@ -352,7 +209,7 @@ const _ScrollRegionElement = class _ScrollRegionElement extends HTMLElement {
352
209
  __privateAdd(this, _progress, 0);
353
210
  __privateAdd(this, _visible, !1);
354
211
  __privateAdd(this, _loadingUnsub);
355
- __privateAdd(this, _resizeListener3, /* @__PURE__ */ __name(() => {
212
+ __privateAdd(this, _resizeListener2, /* @__PURE__ */ __name(() => {
356
213
  this.resize();
357
214
  }, "#resizeListener"));
358
215
  __privateAdd(this, _tickListener2, /* @__PURE__ */ __name(() => {
@@ -381,7 +238,7 @@ const _ScrollRegionElement = class _ScrollRegionElement extends HTMLElement {
381
238
  return __privateGet(this, _status);
382
239
  }
383
240
  get scrollValue() {
384
- return __privateGet(this, _scrollElement3) instanceof HTMLElement ? __privateGet(this, _scrollElement3).scrollTop : __privateGet(this, _scrollElement3).scrollY;
241
+ return __privateGet(this, _scrollElement2) instanceof HTMLElement ? __privateGet(this, _scrollElement2).scrollTop : __privateGet(this, _scrollElement2).scrollY;
385
242
  }
386
243
  resize() {
387
244
  __privateGet(this, _disabledCSSProperty).current || (__privateSet(this, _initialPosition, getCumulativeOffsetTop(this)), __privateSet(this, _start, __privateGet(this, _initialPosition)), typeof __privateGet(this, _startOffsetMinCSSProperty).current == "number" ? __privateSet(this, _start, __privateGet(this, _start) + Math.max(
@@ -399,7 +256,7 @@ const _ScrollRegionElement = class _ScrollRegionElement extends HTMLElement {
399
256
  __privateMethod(this, _ScrollRegionElement_instances, cssVar_fn).call(this, __privateGet(this, _progressVarCSSProperty).current),
400
257
  __privateGet(this, _progress).toFixed(6)
401
258
  );
402
- __privateGet(this, _status).set("activated", scrollValue >= __privateGet(this, _start)), __privateGet(this, _visible) && __privateGet(this, _status).isFalse("entered") && scrollValue >= __privateGet(this, _start) && scrollValue <= __privateGet(this, _finish) ? __privateMethod(this, _ScrollRegionElement_instances, enter_fn).call(this) : __privateGet(this, _visible) && !__privateGet(this, _enterOnceCSSProperty).current && __privateGet(this, _status).isTrue("entered") && (scrollValue < __privateGet(this, _start) || scrollValue > __privateGet(this, _finish)) && __privateMethod(this, _ScrollRegionElement_instances, exit_fn).call(this), __privateGet(this, _enterOnceCSSProperty).current && __privateGet(this, _progress) === 1 && (__privateGet(this, _status).current.entered || __privateMethod(this, _ScrollRegionElement_instances, enter_fn).call(this), this.destroy()), dispatchEvent(this, "scrollRegionProgress", {
259
+ __privateGet(this, _status).setKey("activated", scrollValue >= __privateGet(this, _start)), __privateGet(this, _visible) && __privateGet(this, _status).isFalse("entered") && scrollValue >= __privateGet(this, _start) && scrollValue <= __privateGet(this, _finish) ? __privateMethod(this, _ScrollRegionElement_instances, enter_fn).call(this) : __privateGet(this, _visible) && !__privateGet(this, _enterOnceCSSProperty).current && __privateGet(this, _status).isTrue("entered") && (scrollValue < __privateGet(this, _start) || scrollValue > __privateGet(this, _finish)) && __privateMethod(this, _ScrollRegionElement_instances, exit_fn).call(this), __privateGet(this, _enterOnceCSSProperty).current && __privateGet(this, _progress) === 1 && (__privateGet(this, _status).current.entered || __privateMethod(this, _ScrollRegionElement_instances, enter_fn).call(this), this.destroy()), dispatchEvent(this, "scrollRegionProgress", {
403
260
  detail: {
404
261
  progress: __privateGet(this, _progress),
405
262
  scrolled: __privateGet(this, _scrolled)
@@ -413,20 +270,20 @@ const _ScrollRegionElement = class _ScrollRegionElement extends HTMLElement {
413
270
  enable() {
414
271
  ticker.subscribe(__privateGet(this, _tickListener2), {
415
272
  culling: this.getAttribute("data-culling-element") || this
416
- }), elementResizer.subscribe(this, __privateGet(this, _resizeListener3)), windowResizer.subscribe(__privateGet(this, _resizeListener3)), __privateGet(this, _tickListener2).call(this), __privateGet(this, _status).set("enabled", !0);
273
+ }), elementResizer.subscribe(this, __privateGet(this, _resizeListener2)), windowResizer.subscribe(__privateGet(this, _resizeListener2)), __privateGet(this, _tickListener2).call(this), __privateGet(this, _status).setKey("enabled", !0);
417
274
  }
418
275
  disable(resetStatus = !0) {
419
- ticker.unsubscribe(__privateGet(this, _tickListener2)), elementResizer.unsubscribe(__privateGet(this, _resizeListener3)), windowResizer.unsubscribe(__privateGet(this, _resizeListener3)), resetStatus && __privateGet(this, _status).reset(), __privateMethod(this, _ScrollRegionElement_instances, removeGlobalClasses_fn).call(this);
276
+ ticker.unsubscribe(__privateGet(this, _tickListener2)), elementResizer.unsubscribe(__privateGet(this, _resizeListener2)), windowResizer.unsubscribe(__privateGet(this, _resizeListener2)), resetStatus && __privateGet(this, _status).reset(), __privateMethod(this, _ScrollRegionElement_instances, removeGlobalClasses_fn).call(this);
420
277
  }
421
278
  connectedCallback() {
422
279
  const scrollSelector = this.getAttribute("data-scroll") || ".page-scroll";
423
- __privateSet(this, _scrollElement3, document.querySelector(scrollSelector)), __privateSet(this, _loadingUnsub, requestLoadingCallback("load", __privateGet(this, _loadingListener)));
280
+ __privateSet(this, _scrollElement2, document.querySelector(scrollSelector)), __privateSet(this, _loadingUnsub, requestLoadingCallback("load", __privateGet(this, _loadingListener)));
424
281
  }
425
282
  disconnectedCallback() {
426
283
  this.destroy();
427
284
  }
428
285
  };
429
- _statusHolderElements = new WeakMap(), _progressHolderElements = new WeakMap(), _scrollElement3 = new WeakMap(), _statusHolderCSSProperty = new WeakMap(), _progressHolderCSSProperty = new WeakMap(), _disabledCSSProperty = new WeakMap(), _startOffsetCSSProperty = new WeakMap(), _startOffsetMinCSSProperty = new WeakMap(), _startExtraOffsetCSSProperty = new WeakMap(), _distanceCSSProperty = new WeakMap(), _distanceOffsetCSSProperty = new WeakMap(), _progressVarCSSProperty = new WeakMap(), _enterOnceCSSProperty = new WeakMap(), _status = new WeakMap(), _initialPosition = new WeakMap(), _start = new WeakMap(), _finish = new WeakMap(), _distance = new WeakMap(), _scrolled = new WeakMap(), _progress = new WeakMap(), _visible = new WeakMap(), _loadingUnsub = new WeakMap(), _ScrollRegionElement_instances = new WeakSet(), addGlobalClasses_fn = /* @__PURE__ */ __name(function() {
286
+ _statusHolderElements = new WeakMap(), _progressHolderElements = new WeakMap(), _scrollElement2 = new WeakMap(), _statusHolderCSSProperty = new WeakMap(), _progressHolderCSSProperty = new WeakMap(), _disabledCSSProperty = new WeakMap(), _startOffsetCSSProperty = new WeakMap(), _startOffsetMinCSSProperty = new WeakMap(), _startExtraOffsetCSSProperty = new WeakMap(), _distanceCSSProperty = new WeakMap(), _distanceOffsetCSSProperty = new WeakMap(), _progressVarCSSProperty = new WeakMap(), _enterOnceCSSProperty = new WeakMap(), _status = new WeakMap(), _initialPosition = new WeakMap(), _start = new WeakMap(), _finish = new WeakMap(), _distance = new WeakMap(), _scrolled = new WeakMap(), _progress = new WeakMap(), _visible = new WeakMap(), _loadingUnsub = new WeakMap(), _ScrollRegionElement_instances = new WeakSet(), addGlobalClasses_fn = /* @__PURE__ */ __name(function() {
430
287
  this.hasAttribute("data-global-class") && document.documentElement.classList.add(
431
288
  this.getAttribute("data-global-class")
432
289
  );
@@ -458,19 +315,150 @@ _statusHolderElements = new WeakMap(), _progressHolderElements = new WeakMap(),
458
315
  el.style.removeProperty(__privateMethod(this, _ScrollRegionElement_instances, cssVar_fn).call(this, e.previous));
459
316
  });
460
317
  }), __privateGet(this, _distanceCSSProperty).subscribe(() => {
461
- __privateGet(this, _resizeListener3).call(this);
318
+ __privateGet(this, _resizeListener2).call(this);
462
319
  }), __privateGet(this, _statusHolderCSSProperty).observe(), __privateGet(this, _progressHolderCSSProperty).observe(), __privateGet(this, _disabledCSSProperty).observe(), __privateGet(this, _startOffsetCSSProperty).observe(), __privateGet(this, _startOffsetMinCSSProperty).observe(), __privateGet(this, _startExtraOffsetCSSProperty).observe(), __privateGet(this, _distanceCSSProperty).observe(), __privateGet(this, _distanceOffsetCSSProperty).observe(), __privateGet(this, _progressVarCSSProperty).observe(), __privateGet(this, _enterOnceCSSProperty).observe();
463
- }, "#init"), _resizeListener3 = new WeakMap(), _tickListener2 = new WeakMap(), enter_fn = /* @__PURE__ */ __name(function() {
320
+ }, "#init"), _resizeListener2 = new WeakMap(), _tickListener2 = new WeakMap(), enter_fn = /* @__PURE__ */ __name(function() {
464
321
  const scrollValue = this.scrollValue;
465
- __privateGet(this, _status).set("entered", !0), scrollValue === 0 && __privateGet(this, _status).set("enteredOnLoad", !0), __privateMethod(this, _ScrollRegionElement_instances, addGlobalClasses_fn).call(this), dispatchEvent(this, "scrollRegionEnter");
322
+ __privateGet(this, _status).setKey("entered", !0), scrollValue === 0 && __privateGet(this, _status).setKey("enteredOnLoad", !0), __privateMethod(this, _ScrollRegionElement_instances, addGlobalClasses_fn).call(this), dispatchEvent(this, "scrollRegionEnter");
466
323
  }, "#enter"), exit_fn = /* @__PURE__ */ __name(function() {
467
- __privateGet(this, _status).set("entered", !1), __privateMethod(this, _ScrollRegionElement_instances, removeGlobalClasses_fn).call(this), dispatchEvent(this, "scrollRegionExit");
324
+ __privateGet(this, _status).setKey("entered", !1), __privateMethod(this, _ScrollRegionElement_instances, removeGlobalClasses_fn).call(this), dispatchEvent(this, "scrollRegionExit");
468
325
  }, "#exit"), cssVar_fn = /* @__PURE__ */ __name(function(value) {
469
326
  return `--${value}`;
470
327
  }, "#cssVar"), _loadingListener = new WeakMap(), __name(_ScrollRegionElement, "ScrollRegionElement");
471
328
  let ScrollRegionElement = _ScrollRegionElement;
472
329
  customElements.get("e-scroll-region") || customElements.define("e-scroll-region", ScrollRegionElement);
330
+ const scrollKeys = /* @__PURE__ */ new Set([
331
+ "ArrowUp",
332
+ "ArrowDown",
333
+ "ArrowLeft",
334
+ "ArrowRight",
335
+ "PageUp",
336
+ "PageDown",
337
+ "Home",
338
+ "End",
339
+ "Space"
340
+ ]);
341
+ var _scrollElement3, _pointerElement, _cssDisabled, _cssDamping, _damped, _rounded, _needSync, _SmoothScrollElement_instances, currentScroll_get, setNativeScroll_fn, initScrollElement_fn, addListeners_fn, removeListeners_fn, checkDisabled_fn, inOverflowDirection_fn, shouldSkipSmoothScroll_fn, _wheelListener, _pointerdownListener, _resizeListener3, _keydownListener, _scrollListener2;
342
+ const _SmoothScrollElement = class _SmoothScrollElement extends HTMLElement {
343
+ constructor() {
344
+ super();
345
+ __privateAdd(this, _SmoothScrollElement_instances);
346
+ __privateAdd(this, _scrollElement3, this);
347
+ __privateAdd(this, _pointerElement, this);
348
+ __privateAdd(this, _cssDisabled, new CSSProperty(this, "--smooth-scroll-disabled", !1));
349
+ __privateAdd(this, _cssDamping, new CSSProperty(this, "--smooth-scroll-damping", 10));
350
+ __privateAdd(this, _damped, new Damped());
351
+ __privateAdd(this, _rounded, 0);
352
+ __privateAdd(this, _needSync, !1);
353
+ __privateAdd(this, _wheelListener, /* @__PURE__ */ __name((e) => {
354
+ __privateMethod(this, _SmoothScrollElement_instances, checkDisabled_fn).call(this) || device.isMobile || (__privateMethod(this, _SmoothScrollElement_instances, inOverflowDirection_fn).call(this, e) || e.stopPropagation(), !__privateMethod(this, _SmoothScrollElement_instances, shouldSkipSmoothScroll_fn).call(this, e) && (Math.abs(e.deltaX) > Math.abs(e.deltaY) || (ScrollNavigator.tryStop(__privateGet(this, _scrollElement3), this.scrollTop), e.preventDefault(), this.shiftPosition(e.deltaY))));
355
+ }, "#wheelListener"));
356
+ __privateAdd(this, _pointerdownListener, /* @__PURE__ */ __name((e) => {
357
+ if (!(e.target instanceof Element)) return;
358
+ const anchor = e.target.closest("a");
359
+ if (!(e.button !== 0 || __privateMethod(this, _SmoothScrollElement_instances, checkDisabled_fn).call(this) && !anchor) && anchor && !anchor.hasAttribute("data-smooth-scroll-skip") && this.contains(anchor)) {
360
+ const url = new URL(anchor.href);
361
+ url.hash && (e.preventDefault(), this.stop(), this.scrollToElement(url.hash, {
362
+ behavior: anchor.getAttribute("data-scroll-behavior") || "smooth",
363
+ offset: anchor.getAttribute("data-scroll-offset") || void 0,
364
+ center: anchor.hasAttribute("data-scroll-center"),
365
+ duration: parseFloat(anchor.getAttribute("data-scroll-duration") || "0") || void 0,
366
+ easing: anchor.getAttribute("data-scroll-easing") || void 0
367
+ }));
368
+ }
369
+ }, "#pointerdownListener"));
370
+ __privateAdd(this, _resizeListener3, /* @__PURE__ */ __name(() => {
371
+ this.resize(), this.trySync();
372
+ }, "#resizeListener"));
373
+ __privateAdd(this, _keydownListener, /* @__PURE__ */ __name((e) => {
374
+ __privateMethod(this, _SmoothScrollElement_instances, checkDisabled_fn).call(this) || scrollKeys.has(e.code) && this.stop();
375
+ }, "#keydownListener"));
376
+ __privateAdd(this, _scrollListener2, /* @__PURE__ */ __name(() => {
377
+ this.trySync();
378
+ }, "#scrollListener"));
379
+ __privateGet(this, _damped).setTickerOptions({ order: TICK_ORDER.SCROLL });
380
+ }
381
+ resize() {
382
+ const max = __privateGet(this, _scrollElement3) instanceof HTMLElement ? __privateGet(this, _scrollElement3).scrollHeight - __privateGet(this, _scrollElement3).offsetHeight : document.documentElement.offsetHeight - viewport.height;
383
+ __privateGet(this, _damped).setEdges(0, max);
384
+ }
385
+ stop() {
386
+ ScrollNavigator.tryStop(__privateGet(this, _scrollElement3), this.scrollTop), __privateGet(this, _damped).stopAnimation(), __privateSet(this, _needSync, !0);
387
+ }
388
+ trySync() {
389
+ const cv = __privateGet(this, _SmoothScrollElement_instances, currentScroll_get);
390
+ (device.isMobile || __privateGet(this, _needSync) || Math.abs(cv - __privateGet(this, _damped).current) > 100) && (__privateSet(this, _needSync, !1), __privateGet(this, _damped).setWithoutAnimation(cv));
391
+ }
392
+ shiftPosition(value) {
393
+ this.resize(), this.trySync(), __privateGet(this, _damped).set(__privateGet(this, _damped).target + value);
394
+ }
395
+ setPosition(value, behavior) {
396
+ this.resize(), this.trySync(), behavior === "instant" ? __privateGet(this, _damped).setWithoutAnimation(value) : __privateGet(this, _damped).set(value);
397
+ }
398
+ scrollToValue(value, behavior) {
399
+ device.isMobile ? this.scroll({ top: value, behavior }) : this.setPosition(value, behavior);
400
+ }
401
+ scrollToElement(elementOrSelector, options) {
402
+ ScrollNavigator.scrollToElement(elementOrSelector, __spreadProps(__spreadValues({}, options), {
403
+ scrollElement: __privateGet(this, _scrollElement3),
404
+ startValue: __privateGet(this, _damped).current,
405
+ scrollCallback: /* @__PURE__ */ __name((top) => {
406
+ this.scrollToValue(
407
+ top,
408
+ options != null && options.duration ? "instant" : options == null ? void 0 : options.behavior
409
+ );
410
+ }, "scrollCallback")
411
+ }));
412
+ }
413
+ connectedCallback() {
414
+ __privateMethod(this, _SmoothScrollElement_instances, initScrollElement_fn).call(this), __privateMethod(this, _SmoothScrollElement_instances, addListeners_fn).call(this), __privateGet(this, _damped).setWithoutAnimation(this.scrollTop), __privateGet(this, _damped).subscribe((e) => {
415
+ const rounded = Math.round(e.current);
416
+ scrollEntries.update(this, "y", e.current), rounded !== __privateGet(this, _rounded) && !device.isMobile && __privateMethod(this, _SmoothScrollElement_instances, setNativeScroll_fn).call(this, rounded), document.documentElement.classList.toggle(
417
+ "scrolling",
418
+ rounded !== __privateGet(this, _rounded)
419
+ ), console.log(rounded), __privateSet(this, _rounded, rounded);
420
+ }), __privateGet(this, _cssDamping).observe(), __privateGet(this, _cssDisabled).observe(), __privateGet(this, _cssDamping).subscribe((e) => {
421
+ __privateGet(this, _damped).setOptions({ damping: e.current });
422
+ }), scrollEntries.register(this), this.resize();
423
+ }
424
+ disconnectedCallback() {
425
+ __privateGet(this, _damped).close(), __privateGet(this, _cssDamping).close(), __privateGet(this, _cssDisabled).close(), scrollEntries.unregister(this), document.documentElement.classList.remove("scrolling"), __privateMethod(this, _SmoothScrollElement_instances, removeListeners_fn).call(this);
426
+ }
427
+ };
428
+ _scrollElement3 = new WeakMap(), _pointerElement = new WeakMap(), _cssDisabled = new WeakMap(), _cssDamping = new WeakMap(), _damped = new WeakMap(), _rounded = new WeakMap(), _needSync = new WeakMap(), _SmoothScrollElement_instances = new WeakSet(), currentScroll_get = /* @__PURE__ */ __name(function() {
429
+ return __privateGet(this, _scrollElement3) instanceof HTMLElement ? __privateGet(this, _scrollElement3).scrollTop : __privateGet(this, _scrollElement3).scrollY;
430
+ }, "#currentScroll"), setNativeScroll_fn = /* @__PURE__ */ __name(function(top) {
431
+ __privateGet(this, _scrollElement3).scroll({ top, behavior: "instant" });
432
+ }, "#setNativeScroll"), initScrollElement_fn = /* @__PURE__ */ __name(function() {
433
+ this.dataset.element === "window" ? (__privateSet(this, _scrollElement3, window), __privateSet(this, _pointerElement, document.documentElement)) : (__privateSet(this, _scrollElement3, getElement(this.dataset.element) || this), __privateGet(this, _scrollElement3).setAttribute("tabindex", "0"), __privateSet(this, _pointerElement, this));
434
+ }, "#initScrollElement"), addListeners_fn = /* @__PURE__ */ __name(function() {
435
+ window.addEventListener("resize", __privateGet(this, _resizeListener3)), __privateGet(this, _scrollElement3).addEventListener(
436
+ "keydown",
437
+ __privateGet(this, _keydownListener)
438
+ ), __privateGet(this, _pointerElement).addEventListener("click", __privateGet(this, _pointerdownListener)), __privateGet(this, _scrollElement3).addEventListener("wheel", __privateGet(this, _wheelListener), {
439
+ passive: !1
440
+ }), __privateGet(this, _scrollElement3).addEventListener("scroll", __privateGet(this, _scrollListener2));
441
+ }, "#addListeners"), removeListeners_fn = /* @__PURE__ */ __name(function() {
442
+ window.removeEventListener("resize", __privateGet(this, _resizeListener3)), __privateGet(this, _scrollElement3).removeEventListener(
443
+ "keydown",
444
+ __privateGet(this, _keydownListener)
445
+ ), __privateGet(this, _pointerElement).removeEventListener("click", __privateGet(this, _pointerdownListener)), __privateGet(this, _scrollElement3).removeEventListener("wheel", __privateGet(this, _wheelListener)), __privateGet(this, _scrollElement3).removeEventListener("scroll", __privateGet(this, _scrollListener2));
446
+ }, "#removeListeners"), checkDisabled_fn = /* @__PURE__ */ __name(function() {
447
+ return __privateGet(this, _cssDisabled).current || getComputedStyle(this).getPropertyValue("overflow") === "hidden";
448
+ }, "#checkDisabled"), inOverflowDirection_fn = /* @__PURE__ */ __name(function(e) {
449
+ const dy = Math.sign(e.deltaY);
450
+ return !(dy < 0 && __privateGet(this, _damped).target === 0 && __privateGet(this, _damped).direction < 0 || dy > 0 && __privateGet(this, _damped).target === __privateGet(this, _damped).max && __privateGet(this, _damped).direction > 0);
451
+ }, "#inOverflowDirection"), shouldSkipSmoothScroll_fn = /* @__PURE__ */ __name(function(e) {
452
+ if (!(e.target instanceof Element)) return !1;
453
+ const el = e.target.closest("[data-prevent-smooth-scroll]");
454
+ if (!el) return !1;
455
+ const attr = el.getAttribute("data-prevent-smooth-scroll");
456
+ return attr ? !matchMedia(attr).matches : !0;
457
+ }, "#shouldSkipSmoothScroll"), _wheelListener = new WeakMap(), _pointerdownListener = new WeakMap(), _resizeListener3 = new WeakMap(), _keydownListener = new WeakMap(), _scrollListener2 = new WeakMap(), __name(_SmoothScrollElement, "SmoothScrollElement");
458
+ let SmoothScrollElement = _SmoothScrollElement;
459
+ customElements.get("e-smooth-scroll") || customElements.define("e-smooth-scroll", SmoothScrollElement);
473
460
  export {
461
+ ScrollNavigator,
474
462
  ScrollRegionElement,
475
463
  ScrollbarElement,
476
464
  SmoothScrollElement
@@ -1 +1 @@
1
- "use strict";var __defProp=Object.defineProperty;var __typeError=msg=>{throw TypeError(msg)};var __name=(target,value)=>__defProp(target,"name",{value,configurable:!0});var __accessCheck=(obj,member,msg)=>member.has(obj)||__typeError("Cannot "+msg);var __privateGet=(obj,member,getter)=>(__accessCheck(obj,member,"read from private field"),getter?getter.call(obj):member.get(obj)),__privateAdd=(obj,member,value)=>member.has(obj)?__typeError("Cannot add the same private member more than once"):member instanceof WeakSet?member.add(obj):member.set(obj,value),__privateSet=(obj,member,value,setter)=>(__accessCheck(obj,member,"write to private field"),setter?setter.call(obj,value):member.set(obj,value),value);var __async=(__this,__arguments,generator)=>new Promise((resolve,reject)=>{var fulfilled=value=>{try{step(generator.next(value))}catch(e){reject(e)}},rejected=value=>{try{step(generator.throw(value))}catch(e){reject(e)}},step=x=>x.done?resolve(x.value):Promise.resolve(x.value).then(fulfilled,rejected);step((generator=generator.apply(__this,__arguments)).next())});Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const cssProperty_index=require("../css-property/index.cjs"),elementResizer_index=require("../element-resizer/index.cjs"),Store=require("../Store-B96mD8mD.cjs"),canvas=require("../canvas-BP1ceie3.cjs");require("../index-BoGx2BWX.cjs");require("construct-style-sheets-polyfill");const SourceElement=require("../SourceElement-CAukFvLE.cjs");require("../window-resizer/index.cjs");const canvas_index=require("../canvas/index.cjs");function extractNumbersBetweenCurlyBraces(str){const match=str.match(/\{([\d-]+)\}/);if(match){const range=match[1].split("-");if(range.length===2){const start=parseInt(range[0],10),end=parseInt(range[1],10);return{start,end}}}return null}__name(extractNumbersBetweenCurlyBraces,"extractNumbersBetweenCurlyBraces");var _currentImages,_fitCSSProperty,_autoplayCSSProperty,_offsetXCSSProperty,_offsetYCSSProperty,_imageDimensions,_currentIndex,_pad,_resizeListener,_renderListener;const _SequenceElement=class _SequenceElement extends SourceElement.SourceElement{constructor(parameters){super();__privateAdd(this,_currentImages,[]);__privateAdd(this,_fitCSSProperty,new cssProperty_index.CSSProperty(this,"--fit","contain"));__privateAdd(this,_autoplayCSSProperty,new cssProperty_index.CSSProperty(this,"--autoplay",!1));__privateAdd(this,_offsetXCSSProperty,new cssProperty_index.CSSProperty(this,"--offset-x",.5));__privateAdd(this,_offsetYCSSProperty,new cssProperty_index.CSSProperty(this,"--offset-y",.5));__privateAdd(this,_imageDimensions,null);__privateAdd(this,_currentIndex,0);__privateAdd(this,_pad,1);__privateAdd(this,_resizeListener,__name(()=>{if(__privateGet(this,_currentImages).length){const image=__privateGet(this,_currentImages)[0];__privateGet(this,_fitCSSProperty).current==="cover"?__privateSet(this,_imageDimensions,canvas.cover(image.naturalWidth,image.naturalHeight,this.consumerElement.width,this.consumerElement.height,__privateGet(this,_offsetXCSSProperty).current,__privateGet(this,_offsetYCSSProperty).current)):__privateSet(this,_imageDimensions,canvas.contain(image.naturalWidth,image.naturalHeight,this.consumerElement.width,this.consumerElement.height,__privateGet(this,_offsetXCSSProperty).current,__privateGet(this,_offsetYCSSProperty).current))}},"#resizeListener"));__privateAdd(this,_renderListener,__name(e=>{if(this.status.isFalse("loaded")||!__privateGet(this,_imageDimensions))return;e.detail.context.clearRect(0,0,e.detail.width,e.detail.height);const element=__privateGet(this,_currentImages)[__privateGet(this,_currentIndex)];element&&e.detail.context.drawImage(element,...__privateGet(this,_imageDimensions)),__privateGet(this,_autoplayCSSProperty).current&&__privateSet(this,_currentIndex,(__privateGet(this,_currentIndex)+1)%__privateGet(this,_currentImages).length)},"#renderListener"));Store.isBrowser&&(__privateSet(this,_pad,parseInt(((parameters==null?void 0:parameters.pad)||this.getAttribute("pad")||"1").toString())),__privateGet(this,_fitCSSProperty).subscribe(__privateGet(this,_resizeListener)),__privateGet(this,_offsetXCSSProperty).subscribe(__privateGet(this,_resizeListener)),__privateGet(this,_offsetYCSSProperty).subscribe(__privateGet(this,_resizeListener)),this.addEventListener("sourceCapture",e=>{this.consumerElement.addEventListener("canvasRender",__privateGet(this,_renderListener))}),this.addEventListener("sourceRelease",e=>{this.consumerElement.removeEventListener("canvasRender",__privateGet(this,_renderListener))}))}setProgress(value){__privateGet(this,_currentImages).length&&__privateSet(this,_currentIndex,Math.floor((__privateGet(this,_currentImages).length-1)*value))}connectedCallback(){super.connectedCallback(),__privateGet(this,_autoplayCSSProperty).observe(),__privateGet(this,_fitCSSProperty).observe(),__privateGet(this,_offsetXCSSProperty).observe(),__privateGet(this,_offsetYCSSProperty).observe(),elementResizer_index.elementResizer.subscribe(this,__privateGet(this,_resizeListener))}disconnectedCallback(){super.disconnectedCallback(),__privateGet(this,_autoplayCSSProperty).unobserve(),__privateGet(this,_fitCSSProperty).unobserve(),__privateGet(this,_offsetXCSSProperty).unobserve(),__privateGet(this,_offsetYCSSProperty).unobserve(),__privateSet(this,_currentImages,[]),elementResizer_index.elementResizer.unsubscribe(__privateGet(this,_resizeListener)),this.consumerElement.removeEventListener("canvasRender",__privateGet(this,_renderListener))}createConsumer(){return new canvas_index.CanvasElement}consumeSource(url){return __async(this,null,function*(){var _a,_b,_c,_d;if(url){this.consumerElement.removeEventListener("canvasRender",__privateGet(this,_renderListener));const newImages=[],minmax=extractNumbersBetweenCurlyBraces(url);if(minmax)for(let i=minmax.start;i<=minmax.end;i++){const src=url.replace(/\{([^}]+)\}/,i.toString().padStart(__privateGet(this,_pad),"0")),image=new Image;image.src=src,newImages.push(image)}else{const image=new Image;image.src=url,newImages.push(image)}try{yield Promise.all(newImages.map((image,i)=>new Promise((res,rej)=>{image.onload=()=>{res()},image.onerror=e=>{rej(`${image.src} Image not found`)}}))),__privateSet(this,_currentImages,newImages),__privateGet(this,_resizeListener).call(this),(_b=(_a=this.consumerElement).onload)==null||_b.call(_a,new Event("load")),this.isLazy||this.consumerElement.addEventListener("canvasRender",__privateGet(this,_renderListener))}catch(e){console.error(e),(_d=(_c=this.consumerElement).onerror)==null||_d.call(_c,new Event("error"))}}})}};_currentImages=new WeakMap,_fitCSSProperty=new WeakMap,_autoplayCSSProperty=new WeakMap,_offsetXCSSProperty=new WeakMap,_offsetYCSSProperty=new WeakMap,_imageDimensions=new WeakMap,_currentIndex=new WeakMap,_pad=new WeakMap,_resizeListener=new WeakMap,_renderListener=new WeakMap,__name(_SequenceElement,"SequenceElement");let SequenceElement=_SequenceElement;Store.isBrowser&&!customElements.get("e-sequence")&&customElements.define("e-sequence",SequenceElement);exports.SequenceElement=SequenceElement;
1
+ "use strict";var __defProp=Object.defineProperty;var __typeError=msg=>{throw TypeError(msg)};var __name=(target,value)=>__defProp(target,"name",{value,configurable:!0});var __accessCheck=(obj,member,msg)=>member.has(obj)||__typeError("Cannot "+msg);var __privateGet=(obj,member,getter)=>(__accessCheck(obj,member,"read from private field"),getter?getter.call(obj):member.get(obj)),__privateAdd=(obj,member,value)=>member.has(obj)?__typeError("Cannot add the same private member more than once"):member instanceof WeakSet?member.add(obj):member.set(obj,value),__privateSet=(obj,member,value,setter)=>(__accessCheck(obj,member,"write to private field"),setter?setter.call(obj,value):member.set(obj,value),value);var __async=(__this,__arguments,generator)=>new Promise((resolve,reject)=>{var fulfilled=value=>{try{step(generator.next(value))}catch(e){reject(e)}},rejected=value=>{try{step(generator.throw(value))}catch(e){reject(e)}},step=x=>x.done?resolve(x.value):Promise.resolve(x.value).then(fulfilled,rejected);step((generator=generator.apply(__this,__arguments)).next())});Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const cssProperty_index=require("../css-property/index.cjs"),elementResizer_index=require("../element-resizer/index.cjs"),browser=require("../browser-CIp8NsnF.cjs"),canvas=require("../canvas-BP1ceie3.cjs");require("construct-style-sheets-polyfill");require("../index-BrasTsja.cjs");const SourceElement=require("../SourceElement-D9iTbecT.cjs");require("../window-resizer/index.cjs");require("../Store-BP8tuWzQ.cjs");const canvas_index=require("../canvas/index.cjs");function extractNumbersBetweenCurlyBraces(str){const match=str.match(/\{([\d-]+)\}/);if(match){const range=match[1].split("-");if(range.length===2){const start=parseInt(range[0],10),end=parseInt(range[1],10);return{start,end}}}return null}__name(extractNumbersBetweenCurlyBraces,"extractNumbersBetweenCurlyBraces");var _currentImages,_fitCSSProperty,_autoplayCSSProperty,_offsetXCSSProperty,_offsetYCSSProperty,_imageDimensions,_currentIndex,_pad,_resizeListener,_renderListener;const _SequenceElement=class _SequenceElement extends SourceElement.SourceElement{constructor(parameters){super();__privateAdd(this,_currentImages,[]);__privateAdd(this,_fitCSSProperty,new cssProperty_index.CSSProperty(this,"--fit","contain"));__privateAdd(this,_autoplayCSSProperty,new cssProperty_index.CSSProperty(this,"--autoplay",!1));__privateAdd(this,_offsetXCSSProperty,new cssProperty_index.CSSProperty(this,"--offset-x",.5));__privateAdd(this,_offsetYCSSProperty,new cssProperty_index.CSSProperty(this,"--offset-y",.5));__privateAdd(this,_imageDimensions,null);__privateAdd(this,_currentIndex,0);__privateAdd(this,_pad,1);__privateAdd(this,_resizeListener,__name(()=>{if(__privateGet(this,_currentImages).length){const image=__privateGet(this,_currentImages)[0];__privateGet(this,_fitCSSProperty).current==="cover"?__privateSet(this,_imageDimensions,canvas.cover(image.naturalWidth,image.naturalHeight,this.consumerElement.width,this.consumerElement.height,__privateGet(this,_offsetXCSSProperty).current,__privateGet(this,_offsetYCSSProperty).current)):__privateSet(this,_imageDimensions,canvas.contain(image.naturalWidth,image.naturalHeight,this.consumerElement.width,this.consumerElement.height,__privateGet(this,_offsetXCSSProperty).current,__privateGet(this,_offsetYCSSProperty).current))}},"#resizeListener"));__privateAdd(this,_renderListener,__name(e=>{if(this.status.isFalse("loaded")||!__privateGet(this,_imageDimensions))return;e.detail.context.clearRect(0,0,e.detail.width,e.detail.height);const element=__privateGet(this,_currentImages)[__privateGet(this,_currentIndex)];element&&e.detail.context.drawImage(element,...__privateGet(this,_imageDimensions)),__privateGet(this,_autoplayCSSProperty).current&&__privateSet(this,_currentIndex,(__privateGet(this,_currentIndex)+1)%__privateGet(this,_currentImages).length)},"#renderListener"));browser.isBrowser&&(__privateSet(this,_pad,parseInt(((parameters==null?void 0:parameters.pad)||this.getAttribute("pad")||"1").toString())),__privateGet(this,_fitCSSProperty).subscribe(__privateGet(this,_resizeListener)),__privateGet(this,_offsetXCSSProperty).subscribe(__privateGet(this,_resizeListener)),__privateGet(this,_offsetYCSSProperty).subscribe(__privateGet(this,_resizeListener)),this.addEventListener("sourceCapture",e=>{this.consumerElement.addEventListener("canvasRender",__privateGet(this,_renderListener))}),this.addEventListener("sourceRelease",e=>{this.consumerElement.removeEventListener("canvasRender",__privateGet(this,_renderListener))}))}setProgress(value){__privateGet(this,_currentImages).length&&__privateSet(this,_currentIndex,Math.floor((__privateGet(this,_currentImages).length-1)*value))}connectedCallback(){super.connectedCallback(),__privateGet(this,_autoplayCSSProperty).observe(),__privateGet(this,_fitCSSProperty).observe(),__privateGet(this,_offsetXCSSProperty).observe(),__privateGet(this,_offsetYCSSProperty).observe(),elementResizer_index.elementResizer.subscribe(this,__privateGet(this,_resizeListener))}disconnectedCallback(){super.disconnectedCallback(),__privateGet(this,_autoplayCSSProperty).unobserve(),__privateGet(this,_fitCSSProperty).unobserve(),__privateGet(this,_offsetXCSSProperty).unobserve(),__privateGet(this,_offsetYCSSProperty).unobserve(),__privateSet(this,_currentImages,[]),elementResizer_index.elementResizer.unsubscribe(__privateGet(this,_resizeListener)),this.consumerElement.removeEventListener("canvasRender",__privateGet(this,_renderListener))}createConsumer(){return new canvas_index.CanvasElement}consumeSource(url){return __async(this,null,function*(){var _a,_b,_c,_d;if(url){this.consumerElement.removeEventListener("canvasRender",__privateGet(this,_renderListener));const newImages=[],minmax=extractNumbersBetweenCurlyBraces(url);if(minmax)for(let i=minmax.start;i<=minmax.end;i++){const src=url.replace(/\{([^}]+)\}/,i.toString().padStart(__privateGet(this,_pad),"0")),image=new Image;image.src=src,newImages.push(image)}else{const image=new Image;image.src=url,newImages.push(image)}try{yield Promise.all(newImages.map((image,i)=>new Promise((res,rej)=>{image.onload=()=>{res()},image.onerror=e=>{rej(`${image.src} Image not found`)}}))),__privateSet(this,_currentImages,newImages),__privateGet(this,_resizeListener).call(this),(_b=(_a=this.consumerElement).onload)==null||_b.call(_a,new Event("load")),this.isLazy||this.consumerElement.addEventListener("canvasRender",__privateGet(this,_renderListener))}catch(e){console.error(e),(_d=(_c=this.consumerElement).onerror)==null||_d.call(_c,new Event("error"))}}})}};_currentImages=new WeakMap,_fitCSSProperty=new WeakMap,_autoplayCSSProperty=new WeakMap,_offsetXCSSProperty=new WeakMap,_offsetYCSSProperty=new WeakMap,_imageDimensions=new WeakMap,_currentIndex=new WeakMap,_pad=new WeakMap,_resizeListener=new WeakMap,_renderListener=new WeakMap,__name(_SequenceElement,"SequenceElement");let SequenceElement=_SequenceElement;browser.isBrowser&&!customElements.get("e-sequence")&&customElements.define("e-sequence",SequenceElement);exports.SequenceElement=SequenceElement;