"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[86430],{430:(t,e,s)=>{s.r(e),s.d(e,{default:()=>_});var n=s(568),i=s(206),a=s(830),o=s(266);let r="offcanvas";class l{open(t,e,s,n,i,a,o){this._removeExistingOffCanvas();let r=this._createOffCanvas(s,a,o,n);this.setContent(t,n,i),this._openOffcanvas(r,e)}setContent(t,e){let s=this.getOffCanvas();s[0]&&(s[0].innerHTML=t,this._registerEvents(e))}setAdditionalClassName(t){this.getOffCanvas()[0].classList.add(t)}getOffCanvas(){return document.querySelectorAll(".".concat(r))}close(t){let e=this.getOffCanvas();o.Z.iterate(e,t=>{bootstrap.Offcanvas.getInstance(t).hide()}),setTimeout(()=>{this.$emitter.publish("onCloseOffcanvas",{offCanvasContent:e})},t)}goBackInHistory(){window.history.back()}exists(){return this.getOffCanvas().length>0}_openOffcanvas(t,e){window.focusHandler.saveFocusState("offcanvas"),l.bsOffcanvas.show(),window.history.pushState("offcanvas-open",""),"function"==typeof e&&e()}_registerEvents(t){let e=i.Z.isTouchDevice()?"touchend":"click",s=this.getOffCanvas();o.Z.iterate(s,e=>{let n=()=>{setTimeout(()=>{e.remove(),window.focusHandler.resumeFocusState("offcanvas"),this.$emitter.publish("onCloseOffcanvas",{offCanvasContent:s})},t),e.removeEventListener("hide.bs.offcanvas",n)};e.addEventListener("hide.bs.offcanvas",n)}),window.addEventListener("popstate",this.close.bind(this,t),{once:!0});let n=document.querySelectorAll(".".concat("js-offcanvas-close"));o.Z.iterate(n,s=>s.addEventListener(e,this.close.bind(this,t)))}_removeExistingOffCanvas(){l.bsOffcanvas=null;let t=this.getOffCanvas();return o.Z.iterate(t,t=>t.remove())}_getPositionClass(t){return"left"===t?"offcanvas-start":"right"===t?"offcanvas-end":"offcanvas-".concat(t)}_createOffCanvas(t,e,s,n){let i=document.createElement("div");if(i.classList.add(r),i.classList.add(this._getPositionClass(t)),i.setAttribute("tabindex","-1"),!0===e&&i.classList.add("is-fullwidth"),s){let t=typeof s;if("string"===t)i.classList.add(s);else if(Array.isArray(s))s.forEach(t=>{i.classList.add(t)});else throw Error('The type "'.concat(t,'" is not supported. Please pass an array or a string.'))}return document.body.appendChild(i),l.bsOffcanvas=new bootstrap.Offcanvas(i,{backdrop:!1!==n||"static"}),i}constructor(){this.$emitter=new a.Z}}let c=Object.freeze(new l);class h{static open(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,s=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"left",n=!(arguments.length>3)||void 0===arguments[3]||arguments[3],i=arguments.length>4&&void 0!==arguments[4]?arguments[4]:350,a=arguments.length>5&&void 0!==arguments[5]&&arguments[5],o=arguments.length>6&&void 0!==arguments[6]?arguments[6]:"";c.open(t,e,s,n,i,a,o)}static setContent(t){let e=!(arguments.length>1)||void 0===arguments[1]||arguments[1],s=arguments.length>2&&void 0!==arguments[2]?arguments[2]:350;c.setContent(t,e,s)}static setAdditionalClassName(t){c.setAdditionalClassName(t)}static close(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:350;c.close(t)}static exists(){return c.exists()}static getOffCanvas(){return c.getOffCanvas()}static REMOVE_OFF_CANVAS_DELAY(){return 350}}let d="loader",v={BEFORE:"before",INNER:"inner"};class f{create(){if(!this.exists()){if(this.position===v.INNER){this.parent.innerHTML=f.getTemplate();return}this.parent.insertAdjacentHTML(this._getPosition(),f.getTemplate())}}remove(){let t=this.parent.querySelectorAll(".".concat(d));o.Z.iterate(t,t=>t.remove())}exists(){return this.parent.querySelectorAll(".".concat(d)).length>0}_getPosition(){return this.position===v.BEFORE?"afterbegin":"beforeend"}static getTemplate(){return'
\n Loading...\n
')}static SELECTOR_CLASS(){return d}constructor(t,e=v.BEFORE){this.parent=t instanceof Element?t:document.body.querySelector(t),this.position=e}}class u{get(t,e){let s=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"application/json",n=this._createPreparedRequest("GET",t,s);return this._sendRequest(n,null,e)}post(t,e,s){let n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"application/json";n=this._getContentType(e,n);let i=this._createPreparedRequest("POST",t,n);return this._sendRequest(i,e,s)}delete(t,e,s){let n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"application/json";n=this._getContentType(e,n);let i=this._createPreparedRequest("DELETE",t,n);return this._sendRequest(i,e,s)}patch(t,e,s){let n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"application/json";n=this._getContentType(e,n);let i=this._createPreparedRequest("PATCH",t,n);return this._sendRequest(i,e,s)}abort(){if(this._request)return this._request.abort()}setErrorHandlingInternal(t){this._errorHandlingInternal=t}_registerOnLoaded(t,e){e&&(!0===this._errorHandlingInternal?(t.addEventListener("load",()=>{e(t.responseText,t)}),t.addEventListener("abort",()=>{console.warn("the request to ".concat(t.responseURL," was aborted"))}),t.addEventListener("error",()=>{console.warn("the request to ".concat(t.responseURL," failed with status ").concat(t.status))}),t.addEventListener("timeout",()=>{console.warn("the request to ".concat(t.responseURL," timed out"))})):t.addEventListener("loadend",()=>{e(t.responseText,t)}))}_sendRequest(t,e,s){return this._registerOnLoaded(t,s),t.send(e),t}_getContentType(t,e){return t instanceof FormData&&(e=!1),e}_createPreparedRequest(t,e,s){return this._request=new XMLHttpRequest,this._request.open(t,e),this._request.setRequestHeader("X-Requested-With","XMLHttpRequest"),s&&this._request.setRequestHeader("Content-type",s),this._request}constructor(){this._request=null,this._errorHandlingInternal=!1}}var p=s(49);class g extends n.Z{init(){this._cache={},this._client=new u,this._content=f.getTemplate(),this.options.tiggerEvent!==this.options.triggerEvent&&(this.options.triggerEvent=this.options.tiggerEvent),this._registerEvents()}_registerEvents(){if(this.el.removeEventListener(this.options.triggerEvent,this._getLinkEventHandler.bind(this)),this.el.addEventListener(this.options.triggerEvent,this._getLinkEventHandler.bind(this)),h.exists()){let t=h.getOffCanvas();o.Z.iterate(t,t=>{let e=t.querySelectorAll(this.options.linkSelector);o.Z.iterate(e,t=>{g._resetLoader(t),t.addEventListener("click",e=>{this._getLinkEventHandler(e,t)})})})}}_openMenu(t){g._stopEvent(t),h.open(this._content,this._registerEvents.bind(this),this.options.position),h.setAdditionalClassName(this.options.additionalOffcanvasClass),this.$emitter.publish("openMenu")}_getLinkEventHandler(t,e){if(!e){let e=p.Z.querySelector(document,this.options.initialContentSelector);if(this._content=e.innerHTML,!window.Feature.isActive("CACHE_REWORK"))return e.classList.contains("is-root")?this._cache[this.options.navigationUrl]=this._content:this._fetchMenu(this.options.navigationUrl),this._openMenu(t);{let s="".concat(this.options.navigationUrl,"?navigationId=").concat(window.activeNavigationId);return this._fetchMenu(s,s=>(p.Z.querySelector(e,this.options.menuSelector).innerHTML=s,this._content=e.innerHTML,this._openMenu(t)))}}if(g._stopEvent(t),e.classList.contains(this.options.linkLoadingClass))return;g._setLoader(e);let s=p.Z.getAttribute(e,"data-href",!1)||p.Z.getAttribute(e,"href",!1);if(!s)return;let n=this.options.forwardAnimationType;(e.classList.contains(this.options.homeBtnClass)||e.classList.contains(this.options.backBtnClass))&&(n=this.options.backwardAnimationType),this.$emitter.publish("getLinkEventHandler"),this._fetchMenu(s,this._updateOverlay.bind(this,n))}static _setLoader(t){t.classList.add(this.options.linkLoadingClass);let e=t.querySelector(this.options.loadingIconSelector);e&&(e._linkIcon=e.innerHTML,e.innerHTML=f.getTemplate())}static _resetLoader(t){t.classList.remove(this.options.linkLoadingClass);let e=t.querySelector(this.options.loadingIconSelector);e&&e._linkIcon&&(e.innerHTML=e._linkIcon)}_updateOverlay(t,e){if(this._content=e,h.exists()){let s=g._getOffcanvasMenu();s||this._replaceOffcanvasContent(e),this._createOverlayElements();let n=g._getOverlayContent(s),i=g._getMenuContentFromResponse(e);this._replaceOffcanvasMenuContent(t,i,n),this._registerEvents()}this.$emitter.publish("updateOverlay")}_replaceOffcanvasMenuContent(t,e,s){if(t===this.options.forwardAnimationType){this._animateForward(e,s);return}if(t===this.options.backwardAnimationType){this._animateBackward(e,s);return}this._animateInstant(e,s),this.$emitter.publish("replaceOffcanvasMenuContent")}_animateInstant(t){this._overlay.innerHTML=t,this.$emitter.publish("animateInstant")}_animateForward(t,e){""===this._placeholder.innerHTML&&(this._placeholder.innerHTML=e),this._overlay.classList.remove(this.options.transitionClass),this._overlay.style.left="100%",this._overlay.innerHTML=t,setTimeout(()=>{this._overlay.classList.add(this.options.transitionClass),this._overlay.style.left="0%"},1),this.$emitter.publish("animateForward")}_animateBackward(t,e){""===this._overlay.innerHTML&&(this._overlay.innerHTML=e),this._placeholder.innerHTML=t,this._overlay.classList.remove(this.options.transitionClass),this._overlay.style.left="0%",setTimeout(()=>{this._overlay.classList.add(this.options.transitionClass),this._overlay.style.left="100%"},1),this.$emitter.publish("animateBackward")}static _getMenuContentFromResponse(t){let e=new DOMParser().parseFromString(t,"text/html");return g._getOverlayContent(e)}static _getOverlayContent(t){if(!t)return"";let e=t.querySelector(this.options.overlayContentSelector);return e?e.innerHTML:""}_createOverlayElements(){let t=g._getOffcanvasMenu();t&&(this._placeholder=g._createPlaceholder(t),this._overlay=g._createNavigationOverlay(t)),this.$emitter.publish("createOverlayElements")}static _createNavigationOverlay(t){let e=g._getOffcanvas(),s=e.querySelector(this.options.overlayClass);if(s)return s;let n=document.createElement("div");return n.classList.add(this.options.overlayClass.substr(1)),n.style.minHeight="".concat(e.clientHeight,"px"),t.appendChild(n),n}static _createPlaceholder(t){let e=g._getOffcanvas(),s=e.querySelector(this.options.placeholderClass);if(s)return s;let n=document.createElement("div");return n.classList.add(this.options.placeholderClass.substr(1)),n.style.minHeight="".concat(e.clientHeight,"px"),t.appendChild(n),n}_fetchMenu(t,e){return!!t&&(this._cache[t]&&"function"==typeof e?e(this._cache[t]):void(this.$emitter.publish("beforeFetchMenu"),this._client.get(t,s=>{this._cache[t]=s,"function"==typeof e&&e(s)})))}_replaceOffcanvasContent(t){this._content=t,h.setContent(this._content),this._registerEvents(),this.$emitter.publish("replaceOffcanvasContent")}static _stopEvent(t){t.preventDefault(),t.stopImmediatePropagation()}static _getOffcanvas(){return h.getOffCanvas()[0]}static _getOffcanvasMenu(){return g._getOffcanvas().querySelector(this.options.menuSelector)}}g.options={navigationUrl:window.router["frontend.menu.offcanvas"],position:"left",tiggerEvent:"click",triggerEvent:"click",additionalOffcanvasClass:"navigation-offcanvas",linkSelector:".js-navigation-offcanvas-link",loadingIconSelector:".js-navigation-offcanvas-loading-icon",linkLoadingClass:"is-loading",menuSelector:".js-navigation-offcanvas",overlayContentSelector:".js-navigation-offcanvas-overlay-content",initialContentSelector:".js-navigation-offcanvas-initial-content",homeBtnClass:"is-home-link",backBtnClass:"is-back-link",transitionClass:"has-transition",overlayClass:".navigation-offcanvas-overlay",placeholderClass:".navigation-offcanvas-placeholder",forwardAnimationType:"forwards",backwardAnimationType:"backwards"};class _ extends g{_createOverlayElements(){let t=g._getOffcanvasMenu(),e=g._getOffcanvas(),s=e.querySelector(".navigation-offcanvas-actions");if(t){this._placeholder=g._createPlaceholder(t),this._overlay=g._createNavigationOverlay(t);let n=e.querySelector(".offcanvas-body"),i=window.getComputedStyle(n),a=window.getComputedStyle(s),o=parseFloat(i.height)-parseFloat(i.paddingBottom)-parseFloat(a.height)-parseFloat(a.marginBottom);this._overlay.style.minHeight="".concat(o,"px"),this._placeholder.style.minHeight="".concat(o,"px")}this.$emitter.publish("createOverlayElements")}_replaceOffcanvasMenuContent(t,e,s){this._animateInstant(e,s),this.$emitter.publish("replaceOffcanvasMenuContent")}}},206:(t,e,s)=>{s.d(e,{Z:()=>n});class n{static isTouchDevice(){return"ontouchstart"in document.documentElement}static isIOSDevice(){return n.isIPhoneDevice()||n.isIPadDevice()}static isNativeWindowsBrowser(){return n.isIEBrowser()||n.isEdgeBrowser()}static isIPhoneDevice(){return!!navigator.userAgent.match(/iPhone/i)}static isIPadDevice(){return!!navigator.userAgent.match(/iPad/i)}static isIEBrowser(){return -1!==navigator.userAgent.toLowerCase().indexOf("msie")||!!navigator.userAgent.match(/Trident.*rv:\d+\./)}static isEdgeBrowser(){return!!navigator.userAgent.match(/Edge\/\d+/i)}static getList(){return{"is-touch":n.isTouchDevice(),"is-ios":n.isIOSDevice(),"is-native-windows":n.isNativeWindowsBrowser(),"is-iphone":n.isIPhoneDevice(),"is-ipad":n.isIPadDevice(),"is-ie":n.isIEBrowser(),"is-edge":n.isEdgeBrowser()}}}}}]);