1import{t as w}from"./chunk-67TKGUI5.js";import{Cb as x,Db as M,Ha as h,Ma as O,ea as S,fa as E,h as p,ia as v,m as g,ub as b,va as I,vb as f}from"./chunk-AHHE3Q23.js";import{a as d}from"./chunk-EQDQRRRY.js";var r={target:null,action:"click",duration:650,easing:"easeInOutQuad",offset:0,offsetMap:new Map},m={easeInQuad:t=>t*t,easeOutQuad:t=>t*(2-t),easeInOutQuad:t=>t<.5?2*t*t:-1+(4-2*t)*t,easeInCubic:t=>t*t*t,easeOutCubic:t=>--t*t*t+1,easeInOutCubic:t=>t<.5?4*t*t*t:(t-1)*(2*t-2)*(2*t-2)+1,easeInQuart:t=>t*t*t*t,easeOutQuart:t=>1- --t*t*t*t,easeInOutQuart:t=>t<.5?8*t*t*t*t:1-8*--t*t*t*t,easeInQuint:t=>t*t*t*t*t,easeOutQuint:t=>1+--t*t*t*t*t,easeInOutQuint:t=>t<.5?16*t*t*t*t*t:1+16*--t*t*t*t*t,easeOutElastic:t=>Math.pow(2,-10*t)*Math.sin((t-1/4)*(2*Math.PI)/1)+1},P=["click","mouseenter","mouseover","mousedown","mouseup","dblclick","contextmenu","wheel","mouseleave","mouseout"];function L(t){return t.substring(0,1)==="#"?t.substring(1):t}function C(t){return typeof t=="string"||t instanceof String}function D(t){return t===window}function N(t){return t instanceof h}function B(t){return t instanceof HTMLElement}function R(t){return!isNaN(parseFloat(t))&&isFinite(t)}var T=class{constructor(l,e,n,o,s,i){this.container=l,this.listenerTarget=e,this.isWindow=n,this.to=o,this.options=s,this.isBrowser=i,this.loop=()=>{this.timeLapsed+=this.tick,this.percentage=this.timeLapsed/this.options.duration,this.percentage=this.percentage>1?1:this.percentage,this.position=this.startPosition+(this.startPosition-this.to<=0?1:-1)*this.distance*m[this.options.easing](this.percentage),this.lastPosition!==null&&this.position===this.lastPosition?this.stop():(this.source$.next(this.position),this.isWindow?this.listenerTarget.scrollTo(0,Math.floor(this.position)):this.container.scrollTop=Math.floor(this.position),this.lastPosition=this.position)},this.tick=16,this.interval=null,this.lastPosition=null,this.timeLapsed=0,this.windowScrollTop=window.pageYOffset||document.documentElement.scrollTop||document.body.scrollTop||0,this.container?this.startPosition=this.isWindow?this.windowScrollTop:this.container.scrollTop:this.startPosition=this.windowScrollTop,this.container&&!this.isWindow&&(this.to=this.to-this.container.getBoundingClientRect().top+this.startPosition);let a=this.startPosition-this.to;this.distance=this.container?Math.abs(this.startPosition-this.to):this.to,this.mappedOffset=this.options.offset,this.isBrowser&&this.options.offsetMap.forEach((c,u)=>this.mappedOffset=window.innerWidth>u?c:this.mappedOffset),this.distance+=this.mappedOffset*(a<=0?1:-1),this.source$=new p}start(){return clearInterval(this.interval),this.interval=setInterval(this.loop,this.tick),this.source$.asObservable()}stop(){clearInterval(this.interval),this.interval=null,this.source$.complete()}},y=(()=>{class t{constructor(e,n){this.document=e,this.platformId=n,this.interruptiveEvents=["mousewheel","DOMMouseScroll","touchstart"]}scrollTo(e){return w(this.platformId)?this.start(e):new p().asObservable()}start(e){let n=d(d({},r),e);this.animation&&this.animation.stop();let o=this.getNode(n.target);if(n.target&&!o)return g(()=>new Error("Unable to find Target Element"));let s=this.getContainer(n,o);if(n.container&&!s)return g(()=>new Error("Unable to find Container Element"));let i=this.getListenerTarget(s)||window,a=s?s.getBoundingClientRect().top:0;o&&(a=D(i)?window.scrollY+o.getBoundingClientRect().top:o.getBoundingClientRect().top),this.animation=new T(s,i,D(i),a,n,w(this.platformId));let c=()=>this.animation.stop();this.addInterruptiveEventListeners(i,c);let u=this.animation.start();return this.subscribeToAnimation(u,i,c),u}subscribeToAnimation(e,n,o){let s=e.subscribe({complete:()=>{this.removeInterruptiveEventListeners(this.interruptiveEvents,n,o),s.unsubscribe()}})}getContainer(e,n){let o=null;return e.container?o=this.getNode(e.container,!0):n&&(o=this.getFirstScrollableParent(n)),o}addInterruptiveEventListeners(e,n){e||(e=window),this.interruptiveEvents.forEach(o=>e.addEventListener(o,n,this.supportPassive()?{passive:!0}:!1))}supportPassive(){let e=!1;try{let n=Object.defineProperty({},"passive",{get:()=>{e=!0}});window.addEventListener("testPassive",null,n),window.removeEventListener("testPassive",null,n)}catch{}return e}removeInterruptiveEventListeners(e,n,o){n||(n=window),e.forEach(s=>n.removeEventListener(s,o))}getFirstScrollableParent(e){let n=window.getComputedStyle(e),o=/(auto|scroll|overlay)/;if(n.position==="fixed")return null;let s=e;for(;s.parentElement;)if(s=s.parentElement,n=window.getComputedStyle(s),!(n.position==="absolute"||n.overflow==="hidden"||n.overflowY==="hidden")&&(o.test(n.overflow+n.overflowY)||s.tagName==="BODY"))return s;return null}getNode(e,n=!1){let o;return C(e)?n&&(e==="body"||e==="BODY")?o=this.document.body:o=this.document.getElementById(L(e)):R(e)?o=this.document.getElementById(String(e)):N(e)?o=e.nativeElement:B(e)&&(o=e),o}getListenerTarget(e){return e?this.isDocumentBody(e)?window:e:null}isDocumentBody(e){return e.tagName.toUpperCase()==="BODY"}}return t.\u0275fac=function(e){return new(e||t)(v(I),v(O))},t.\u0275prov=S({token:t,factory:t.\u0275fac}),t})(),_=(()=>{class t{constructor(e,n,o){this.elementRef=e,this.scrollToService=n,this.renderer2=o,this.ngxScrollTo=r.target,this.ngxScrollToEvent=r.action,this.ngxScrollToDuration=r.duration,this.ngxScrollToEasing=r.easing,this.ngxScrollToOffset=r.offset,this.ngxScrollToOffsetMap=r.offsetMap}ngAfterViewInit(){if(P.indexOf(this.ngxScrollToEvent)===-1)throw new Error(`Unsupported Event '${this.ngxScrollToEvent}'`);this.renderer2.listen(this.elementRef.nativeElement,this.ngxScrollToEvent,e=>{this.options={target:this.ngxScrollTo,duration:this.ngxScrollToDuration,easing:this.ngxScrollToEasing,offset:this.ngxScrollToOffset,offsetMap:this.ngxScrollToOffsetMap},this.scrollToService.scrollTo(this.options)})}}return t.\u0275fac=function(e){return new(e||t)(f(h),f(y),f(b))},t.\u0275dir=M({type:t,selectors:[["","ngxScrollTo",""]],inputs:{ngxScrollTo:"ngxScrollTo",ngxScrollToEvent:"ngxScrollToEvent",ngxScrollToDuration:"ngxScrollToDuration",ngxScrollToEasing:"ngxScrollToEasing",ngxScrollToOffset:"ngxScrollToOffset",ngxScrollToOffsetMap:"ngxScrollToOffsetMap"},standalone:!1}),t})(),H=(()=>{class t{static forRoot(){return{ngModule:t,providers:[y]}}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=x({type:t}),t.\u0275inj=E({}),t})();export{_ as a,H as b};
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.