aptechka 0.95.0 → 0.95.2

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.
@@ -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 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 Damped=require("../Damped-DTVkIAqc.cjs"),cssProperty_index=require("../css-property/index.cjs"),Viewport=require("../Viewport-BdFs1Zsn.cjs"),order_index=require("../order/index.cjs"),scrollEntries_index=require("../scroll-entries/index.cjs"),ScrollNavigator=require("../ScrollNavigator-CNKI1Iae.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?(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);const scrollKeys=new Set(["ArrowUp","ArrowDown","ArrowLeft","ArrowRight","PageUp","PageDown","Home","End","Space"]);var _scrollElement2,_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,_resizeListener2,_keydownListener,_scrollListener2;const _SmoothScrollElement=class _SmoothScrollElement extends HTMLElement{constructor(){super();__privateAdd(this,_SmoothScrollElement_instances);__privateAdd(this,_scrollElement2,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,_scrollElement2),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,_resizeListener2,__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,_scrollElement2)instanceof HTMLElement?__privateGet(this,_scrollElement2).scrollHeight-__privateGet(this,_scrollElement2).offsetHeight:document.documentElement.offsetHeight-Viewport.viewport.height;__privateGet(this,_damped).setEdges(0,max)}stop(){ScrollNavigator.ScrollNavigator.tryStop(__privateGet(this,_scrollElement2),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,_scrollElement2),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)}};_scrollElement2=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,_scrollElement2)instanceof HTMLElement?__privateGet(this,_scrollElement2).scrollTop:__privateGet(this,_scrollElement2).scrollY},"#currentScroll"),setNativeScroll_fn=__name(function(top){__privateGet(this,_scrollElement2).scroll({top,behavior:"instant"})},"#setNativeScroll"),initScrollElement_fn=__name(function(){this.dataset.element==="window"?(__privateSet(this,_scrollElement2,window),__privateSet(this,_pointerElement,document.documentElement)):(__privateSet(this,_scrollElement2,dom.getElement(this.dataset.element)||this),__privateGet(this,_scrollElement2).setAttribute("tabindex","0"),__privateSet(this,_pointerElement,this))},"#initScrollElement"),addListeners_fn=__name(function(){window.addEventListener("resize",__privateGet(this,_resizeListener2)),__privateGet(this,_scrollElement2).addEventListener("keydown",__privateGet(this,_keydownListener)),__privateGet(this,_pointerElement).addEventListener("click",__privateGet(this,_pointerdownListener)),__privateGet(this,_scrollElement2).addEventListener("wheel",__privateGet(this,_wheelListener),{passive:!1}),__privateGet(this,_scrollElement2).addEventListener("scroll",__privateGet(this,_scrollListener2))},"#addListeners"),removeListeners_fn=__name(function(){window.removeEventListener("resize",__privateGet(this,_resizeListener2)),__privateGet(this,_scrollElement2).removeEventListener("keydown",__privateGet(this,_keydownListener)),__privateGet(this,_pointerElement).removeEventListener("click",__privateGet(this,_pointerdownListener)),__privateGet(this,_scrollElement2).removeEventListener("wheel",__privateGet(this,_wheelListener)),__privateGet(this,_scrollElement2).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,_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).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,_resizeListener3)),windowResizer_index.windowResizer.subscribe(__privateGet(this,_resizeListener3)),__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,_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).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);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)),__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';
@@ -20,12 +20,8 @@ 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 { D as Damped } from "../Damped-BxBI6Dds.js";
24
- import { CSSProperty } from "../css-property/index.js";
25
- import { v as viewport, d as device } from "../Viewport-CPB14lI1.js";
26
- import { TICK_ORDER } from "../order/index.js";
27
- import { scrollEntries } from "../scroll-entries/index.js";
28
23
  import { S as ScrollNavigator } from "../ScrollNavigator-CiZjoiyk.js";
24
+ import { CSSProperty } from "../css-property/index.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,144 +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, _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, _resizeListener2, _keydownListener, _scrollListener2;
137
- const _SmoothScrollElement = class _SmoothScrollElement extends HTMLElement {
138
- constructor() {
139
- super();
140
- __privateAdd(this, _SmoothScrollElement_instances);
141
- __privateAdd(this, _scrollElement2, this);
142
- __privateAdd(this, _pointerElement, this);
143
- __privateAdd(this, _cssDisabled, new CSSProperty(this, "--smooth-scroll-disabled", !1));
144
- __privateAdd(this, _cssDamping, new CSSProperty(this, "--smooth-scroll-damping", 10));
145
- __privateAdd(this, _damped, new Damped());
146
- __privateAdd(this, _rounded, 0);
147
- __privateAdd(this, _needSync, !1);
148
- __privateAdd(this, _wheelListener, /* @__PURE__ */ __name((e) => {
149
- __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, _scrollElement2), this.scrollTop), e.preventDefault(), this.shiftPosition(e.deltaY))));
150
- }, "#wheelListener"));
151
- __privateAdd(this, _pointerdownListener, /* @__PURE__ */ __name((e) => {
152
- if (!(e.target instanceof Element)) return;
153
- const anchor = e.target.closest("a");
154
- if (!(e.button !== 0 || __privateMethod(this, _SmoothScrollElement_instances, checkDisabled_fn).call(this) && !anchor) && anchor && !anchor.hasAttribute("data-smooth-scroll-skip") && this.contains(anchor)) {
155
- const url = new URL(anchor.href);
156
- url.hash && (e.preventDefault(), this.stop(), this.scrollToElement(url.hash, {
157
- behavior: anchor.getAttribute("data-scroll-behavior") || "smooth",
158
- offset: anchor.getAttribute("data-scroll-offset") || void 0,
159
- center: anchor.hasAttribute("data-scroll-center"),
160
- duration: parseFloat(anchor.getAttribute("data-scroll-duration") || "0") || void 0,
161
- easing: anchor.getAttribute("data-scroll-easing") || void 0
162
- }));
163
- }
164
- }, "#pointerdownListener"));
165
- __privateAdd(this, _resizeListener2, /* @__PURE__ */ __name(() => {
166
- this.resize(), this.trySync();
167
- }, "#resizeListener"));
168
- __privateAdd(this, _keydownListener, /* @__PURE__ */ __name((e) => {
169
- __privateMethod(this, _SmoothScrollElement_instances, checkDisabled_fn).call(this) || scrollKeys.has(e.code) && this.stop();
170
- }, "#keydownListener"));
171
- __privateAdd(this, _scrollListener2, /* @__PURE__ */ __name(() => {
172
- this.trySync();
173
- }, "#scrollListener"));
174
- __privateGet(this, _damped).setTickerOptions({ order: TICK_ORDER.SCROLL });
175
- }
176
- resize() {
177
- const max = __privateGet(this, _scrollElement2) instanceof HTMLElement ? __privateGet(this, _scrollElement2).scrollHeight - __privateGet(this, _scrollElement2).offsetHeight : document.documentElement.offsetHeight - viewport.height;
178
- __privateGet(this, _damped).setEdges(0, max);
179
- }
180
- stop() {
181
- ScrollNavigator.tryStop(__privateGet(this, _scrollElement2), this.scrollTop), __privateGet(this, _damped).stopAnimation(), __privateSet(this, _needSync, !0);
182
- }
183
- trySync() {
184
- const cv = __privateGet(this, _SmoothScrollElement_instances, currentScroll_get);
185
- (device.isMobile || __privateGet(this, _needSync) || Math.abs(cv - __privateGet(this, _damped).current) > 100) && (__privateSet(this, _needSync, !1), __privateGet(this, _damped).setWithoutAnimation(cv));
186
- }
187
- shiftPosition(value) {
188
- this.resize(), this.trySync(), __privateGet(this, _damped).set(__privateGet(this, _damped).target + value);
189
- }
190
- setPosition(value, behavior) {
191
- this.resize(), this.trySync(), behavior === "instant" ? __privateGet(this, _damped).setWithoutAnimation(value) : __privateGet(this, _damped).set(value);
192
- }
193
- scrollToValue(value, behavior) {
194
- device.isMobile ? this.scroll({ top: value, behavior }) : this.setPosition(value, behavior);
195
- }
196
- scrollToElement(elementOrSelector, options) {
197
- ScrollNavigator.scrollToElement(elementOrSelector, __spreadProps(__spreadValues({}, options), {
198
- scrollElement: __privateGet(this, _scrollElement2),
199
- startValue: __privateGet(this, _damped).current,
200
- scrollCallback: /* @__PURE__ */ __name((top) => {
201
- this.scrollToValue(
202
- top,
203
- options != null && options.duration ? "instant" : options == null ? void 0 : options.behavior
204
- );
205
- }, "scrollCallback")
206
- }));
207
- }
208
- connectedCallback() {
209
- __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) => {
210
- const rounded = Math.round(e.current);
211
- 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(
212
- "scrolling",
213
- rounded !== __privateGet(this, _rounded)
214
- ), console.log(rounded), __privateSet(this, _rounded, rounded);
215
- }), __privateGet(this, _cssDamping).observe(), __privateGet(this, _cssDisabled).observe(), __privateGet(this, _cssDamping).subscribe((e) => {
216
- __privateGet(this, _damped).setOptions({ damping: e.current });
217
- }), scrollEntries.register(this), this.resize();
218
- }
219
- disconnectedCallback() {
220
- __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);
221
- }
222
- };
223
- _scrollElement2 = 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() {
224
- return __privateGet(this, _scrollElement2) instanceof HTMLElement ? __privateGet(this, _scrollElement2).scrollTop : __privateGet(this, _scrollElement2).scrollY;
225
- }, "#currentScroll"), setNativeScroll_fn = /* @__PURE__ */ __name(function(top) {
226
- __privateGet(this, _scrollElement2).scroll({ top, behavior: "instant" });
227
- }, "#setNativeScroll"), initScrollElement_fn = /* @__PURE__ */ __name(function() {
228
- this.dataset.element === "window" ? (__privateSet(this, _scrollElement2, window), __privateSet(this, _pointerElement, document.documentElement)) : (__privateSet(this, _scrollElement2, getElement(this.dataset.element) || this), __privateGet(this, _scrollElement2).setAttribute("tabindex", "0"), __privateSet(this, _pointerElement, this));
229
- }, "#initScrollElement"), addListeners_fn = /* @__PURE__ */ __name(function() {
230
- window.addEventListener("resize", __privateGet(this, _resizeListener2)), __privateGet(this, _scrollElement2).addEventListener(
231
- "keydown",
232
- __privateGet(this, _keydownListener)
233
- ), __privateGet(this, _pointerElement).addEventListener("click", __privateGet(this, _pointerdownListener)), __privateGet(this, _scrollElement2).addEventListener("wheel", __privateGet(this, _wheelListener), {
234
- passive: !1
235
- }), __privateGet(this, _scrollElement2).addEventListener("scroll", __privateGet(this, _scrollListener2));
236
- }, "#addListeners"), removeListeners_fn = /* @__PURE__ */ __name(function() {
237
- window.removeEventListener("resize", __privateGet(this, _resizeListener2)), __privateGet(this, _scrollElement2).removeEventListener(
238
- "keydown",
239
- __privateGet(this, _keydownListener)
240
- ), __privateGet(this, _pointerElement).removeEventListener("click", __privateGet(this, _pointerdownListener)), __privateGet(this, _scrollElement2).removeEventListener("wheel", __privateGet(this, _wheelListener)), __privateGet(this, _scrollElement2).removeEventListener("scroll", __privateGet(this, _scrollListener2));
241
- }, "#removeListeners"), checkDisabled_fn = /* @__PURE__ */ __name(function() {
242
- return __privateGet(this, _cssDisabled).current || getComputedStyle(this).getPropertyValue("overflow") === "hidden";
243
- }, "#checkDisabled"), inOverflowDirection_fn = /* @__PURE__ */ __name(function(e) {
244
- const dy = Math.sign(e.deltaY);
245
- 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);
246
- }, "#inOverflowDirection"), shouldSkipSmoothScroll_fn = /* @__PURE__ */ __name(function(e) {
247
- if (!(e.target instanceof Element)) return !1;
248
- const el = e.target.closest("[data-prevent-smooth-scroll]");
249
- if (!el) return !1;
250
- const attr = el.getAttribute("data-prevent-smooth-scroll");
251
- return attr ? !matchMedia(attr).matches : !0;
252
- }, "#shouldSkipSmoothScroll"), _wheelListener = new WeakMap(), _pointerdownListener = new WeakMap(), _resizeListener2 = new WeakMap(), _keydownListener = new WeakMap(), _scrollListener2 = new WeakMap(), __name(_SmoothScrollElement, "SmoothScrollElement");
253
- let SmoothScrollElement = _SmoothScrollElement;
254
- customElements.get("e-smooth-scroll") || customElements.define("e-smooth-scroll", SmoothScrollElement);
255
- 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;
256
126
  const _ScrollRegionElement = class _ScrollRegionElement extends HTMLElement {
257
127
  constructor() {
258
128
  super(...arguments);
259
129
  __privateAdd(this, _ScrollRegionElement_instances);
260
130
  __privateAdd(this, _statusHolderElements, [this]);
261
131
  __privateAdd(this, _progressHolderElements, [this]);
262
- __privateAdd(this, _scrollElement3, null);
132
+ __privateAdd(this, _scrollElement2, null);
263
133
  __privateAdd(this, _statusHolderCSSProperty, new CSSProperty(
264
134
  this,
265
135
  "--scroll-region-status-holder",
@@ -339,7 +209,7 @@ const _ScrollRegionElement = class _ScrollRegionElement extends HTMLElement {
339
209
  __privateAdd(this, _progress, 0);
340
210
  __privateAdd(this, _visible, !1);
341
211
  __privateAdd(this, _loadingUnsub);
342
- __privateAdd(this, _resizeListener3, /* @__PURE__ */ __name(() => {
212
+ __privateAdd(this, _resizeListener2, /* @__PURE__ */ __name(() => {
343
213
  this.resize();
344
214
  }, "#resizeListener"));
345
215
  __privateAdd(this, _tickListener2, /* @__PURE__ */ __name(() => {
@@ -368,7 +238,7 @@ const _ScrollRegionElement = class _ScrollRegionElement extends HTMLElement {
368
238
  return __privateGet(this, _status);
369
239
  }
370
240
  get scrollValue() {
371
- 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;
372
242
  }
373
243
  resize() {
374
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(
@@ -400,20 +270,20 @@ const _ScrollRegionElement = class _ScrollRegionElement extends HTMLElement {
400
270
  enable() {
401
271
  ticker.subscribe(__privateGet(this, _tickListener2), {
402
272
  culling: this.getAttribute("data-culling-element") || this
403
- }), elementResizer.subscribe(this, __privateGet(this, _resizeListener3)), windowResizer.subscribe(__privateGet(this, _resizeListener3)), __privateGet(this, _tickListener2).call(this), __privateGet(this, _status).setKey("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);
404
274
  }
405
275
  disable(resetStatus = !0) {
406
- 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);
407
277
  }
408
278
  connectedCallback() {
409
279
  const scrollSelector = this.getAttribute("data-scroll") || ".page-scroll";
410
- __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)));
411
281
  }
412
282
  disconnectedCallback() {
413
283
  this.destroy();
414
284
  }
415
285
  };
416
- _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() {
417
287
  this.hasAttribute("data-global-class") && document.documentElement.classList.add(
418
288
  this.getAttribute("data-global-class")
419
289
  );
@@ -445,9 +315,9 @@ _statusHolderElements = new WeakMap(), _progressHolderElements = new WeakMap(),
445
315
  el.style.removeProperty(__privateMethod(this, _ScrollRegionElement_instances, cssVar_fn).call(this, e.previous));
446
316
  });
447
317
  }), __privateGet(this, _distanceCSSProperty).subscribe(() => {
448
- __privateGet(this, _resizeListener3).call(this);
318
+ __privateGet(this, _resizeListener2).call(this);
449
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();
450
- }, "#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() {
451
321
  const scrollValue = this.scrollValue;
452
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");
453
323
  }, "#enter"), exit_fn = /* @__PURE__ */ __name(function() {
@@ -457,7 +327,138 @@ _statusHolderElements = new WeakMap(), _progressHolderElements = new WeakMap(),
457
327
  }, "#cssVar"), _loadingListener = new WeakMap(), __name(_ScrollRegionElement, "ScrollRegionElement");
458
328
  let ScrollRegionElement = _ScrollRegionElement;
459
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
+ ), __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);
460
460
  export {
461
+ ScrollNavigator,
461
462
  ScrollRegionElement,
462
463
  ScrollbarElement,
463
464
  SmoothScrollElement
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "aptechka",
3
- "version": "0.95.0",
3
+ "version": "0.95.2",
4
4
  "repository": {
5
5
  "type": "git",
6
6
  "url": "git+https://github.com/denisavitski/aptechka.git"