1"use strict";(self.webpackChunkzenitPlatformHorizon=self.webpackChunkzenitPlatformHorizon||[]).push([[60636],{636(t,s,e){e.r(s),e.d(s,{default:()=>r});var i=e(640);class r extends window.PluginBaseClass{static #t=this.options={scrollOffset:null,autoHide:!0,scrollDebounceTime:50,swStickyClass:"fixed-top",stickyClass:"js-header-sticky",stickyUpClass:"js-header-sticky-up",stickyDownClass:"js-header-sticky-down",stickyInitialDownClass:"js-header-sticky-initial-down",stickyHideClass:"js-header-sticky-hide",stickyInitialHiddenClass:"js-header-sticky-initial-hidden",viewports:'["LG", "XL", "XXL"]'};init(){let t=this.options;this.el.classList.add(t.swStickyClass),this._scrollParent=window,this._currentPosition=this._calculateScrollPosition(),this._headerInnerRect=this.el.children[0].getBoundingClientRect(),this._scrollUpOffset=this._headerInnerRect.top+window.scrollY,this._allowedViewports=Array.isArray(t.viewports)?t.viewports:JSON.parse(t.viewports||"[]"),this._allowedViewports&&this._registerEvents()}_registerEvents(){this.scrollListener=this._throttle(this._onScroll.bind(this),this.options.scrollDebounceTime,!0),document.addEventListener("Viewport/hasChanged",this._onViewportHasChanged.bind(this)),!1!==this._isInAllowedViewports()&&this._scrollParent.addEventListener("scroll",this.scrollListener)}_onViewportHasChanged(){!1===this._isInAllowedViewports()?this.destroy():this._scrollParent.addEventListener("scroll",this.scrollListener)}_onScroll(){let t=this.options,s=this._calculateScrollPosition();this._headerInnerRect=this.el.children[0].getBoundingClientRect(),this._headerHeight=this._headerInnerRect.height,this._scrollDownOffset=t.scrollOffset?parseInt(t.scrollOffset,10):this._headerHeight+this._headerInnerRect.top+window.scrollY,s<this._currentPosition?s<=this._scrollUpOffset?this._unstick():this._onScrollUp():s>this._currentPosition&&this._onScrollDown(),s>this._scrollDownOffset&&s>this._scrollUpOffset&&this._stick(),t.autoHide&&s>this._headerHeight&&this.el.classList.add(t.stickyHideClass),this._currentPosition=s,this.$emitter.publish("onScroll")}_calculateScrollPosition(){let t=document.documentElement;return(window.pageYOffset||t.scrollTop)-(t.clientTop||0)}_onScrollUp(){let t=this.options;this.el.classList.remove(t.stickyDownClass),this.el.classList.add(t.stickyUpClass),t.autoHide&&this.el.classList.remove(t.stickyInitialHiddenClass),this.$emitter.publish("onScrollUp")}_onScrollDown(){let t=this.options;this.el.classList.remove(t.stickyUpClass),this.el.classList.add(t.stickyDownClass),this.$emitter.publish("onScrollDown")}_stick(){let t=this.options,s=this._calculateScrollPosition();this.el.classList.contains(t.stickyClass)||(this.el.style.minHeight=this.el.offsetHeight+"px",this.el.classList.add(t.stickyClass),t.autoHide&&s>this._headerHeight&&this.el.classList.add(t.stickyInitialHiddenClass),this.$emitter.publish("stick"))}_unstick(){let t=this.options;if(!this.el.classList.contains(t.stickyClass))return;this.el.classList.remove(t.stickyClass),this.el.classList.remove(t.stickyUpClass),this.el.classList.remove(t.stickyHideClass);let s=this.el.querySelector(".header-inner");s&&(s.style.marginTop="0px",setTimeout(()=>{s.style.marginTop=null},10)),this.el.style.minHeight="0px",this.$emitter.publish("unstick")}_isInAllowedViewports(){return!!this._allowedViewports.includes(i.A.getCurrentViewport())}_throttle(t,s){let e,i=arguments.length>2&&void 0!==arguments[2]&&arguments[2];return function(){for(var r=arguments.length,o=Array(r),l=0;l<r;l++)o[l]=arguments[l];e||(t.apply(t,...o),e=setTimeout(function(){e=!1,i&&t.apply(t,...o)},s))}}destroy(){let t=this.options;this._unstick(),this.el.classList.remove(t.stickyUpClass),this.el.classList.remove(t.stickyDownClass),this.el.classList.remove(t.swStickyClass),this._scrollParent.removeEventListener("scroll",this.scrollListener)}}},640(t,s,e){e.d(s,{A:()=>r});var i=e(4059);class r{constructor(){this.previousViewport=null,this.currentViewport=r.getCurrentViewport(),this._registerEvents()}_registerEvents(){window.addEventListener("DOMContentLoaded",this._onDOMContentLoaded.bind(this)),window.addEventListener("resize",i.A.debounce(this._onResize.bind(this),200),{capture:!0,passive:!0})}_onDOMContentLoaded(){this._dispatchEvents()}_onResize(){this._viewportHasChanged(r.getCurrentViewport())&&(this._dispatchEvents(),this._dispatchViewportEvent("Viewport/hasChanged"))}_dispatchEvents(){r.isXS()?this._dispatchViewportEvent("Viewport/isXS"):r.isSM()?this._dispatchViewportEvent("Viewport/isSM"):r.isMD()?this._dispatchViewportEvent("Viewport/isMD"):r.isLG()?this._dispatchViewportEvent("Viewport/isLG"):r.isXL()?this._dispatchViewportEvent("Viewport/isXL"):r.isXXL()&&this._dispatchViewportEvent("Viewport/isXXL")}_viewportHasChanged(t){let s=t!==this.currentViewport;return s&&(this.previousViewport=this.currentViewport,this.currentViewport=t),s}_dispatchViewportEvent(t){document.$emitter.publish(t,{previousViewport:this.previousViewport})}static isXS(){return"XS"===r.getCurrentViewport()}static isSM(){return"SM"===r.getCurrentViewport()}static isMD(){return"MD"===r.getCurrentViewport()}static isLG(){return"LG"===r.getCurrentViewport()}static isXL(){return"XL"===r.getCurrentViewport()}static isXXL(){return"XXL"===r.getCurrentViewport()}static getCurrentViewport(){return window.getComputedStyle(document.documentElement).getPropertyValue("--sw-current-breakpoint").replace(/['"]+/g,"").toUpperCase()}}},4059(t,s,e){e.d(s,{A:()=>i});
1class i{static debounce(t,s){let e,i=arguments.length>2&&void 0!==arguments[2]&&arguments[2];return function(){for(var r=arguments.length,o=Array(r),l=0;l<r;l++)o[l]=arguments[l];i&&!e&&setTimeout(t.bind(t,...o),0),clearTimeout(e),e=setTimeout(t.bind(t,...o),s)}}}}}]);
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.