1"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[79541],{156:t=>{var e=function(t){var e;return!!t&&"object"==typeof t&&"[object RegExp]"!==(e=Object.prototype.toString.call(t))&&"[object Date]"!==e&&t.$$typeof!==s},s="function"==typeof Symbol&&Symbol.for?Symbol.for("react.element"):60103;function n(t,e){return!1!==e.clone&&e.isMergeableObject(t)?o(Array.isArray(t)?[]:{},t,e):t}function i(t,e,s){return t.concat(e).map(function(t){return n(t,s)})}function r(t){return Object.keys(t).concat(Object.getOwnPropertySymbols?Object.getOwnPropertySymbols(t).filter(function(e){return Object.propertyIsEnumerable.call(t,e)}):[])}function a(t,e){try{return e in t}catch(t){return!1}}function o(t,s,l){(l=l||{}).arrayMerge=l.arrayMerge||i,l.isMergeableObject=l.isMergeableObject||e,l.cloneUnlessOtherwiseSpecified=n;var c,u,h=Array.isArray(s);return h!==Array.isArray(t)?n(s,l):h?l.arrayMerge(t,s,l):(u={},(c=l).isMergeableObject(t)&&r(t).forEach(function(e){u[e]=n(t[e],c)}),r(s).forEach(function(e){(!a(t,e)||Object.hasOwnProperty.call(t,e)&&Object.propertyIsEnumerable.call(t,e))&&(a(t,e)&&c.isMergeableObject(s[e])?u[e]=(function(t,e){if(!e.customMerge)return o;var s=e.customMerge(t);return"function"==typeof s?s:o})(e,c)(t[e],s[e],c):u[e]=n(s[e],c))}),u)}o.all=function(t,e){if(!Array.isArray(t))throw Error("first argument should be an array");return t.reduce(function(t,s){return o(t,s,e)},{})},t.exports=o},541:(t,e,s)=>{s.r(e),s.d(e,{default:()=>p});var n=s(335),i=s(308);let r="js-offcanvas-singleton";class a{constructor(){this.$emitter=new i.A}open(t,e,s,n,i,r,a){this._removeExistingOffCanvas();let o=this._createOffCanvas(s,r,a,n);this.setContent(t,i),this._openOffcanvas(o,e)}setContent(t,e){let s=this.getOffCanvas();s[0]&&(s[0].innerHTML=t,this._registerEvents(e),this._setAriaAttrs())}setAdditionalClassName(t){this.getOffCanvas()[0].classList.add(t)}getOffCanvas(){return document.querySelectorAll(`.${r}`)}close(t){let e=this.getOffCanvas();e.forEach(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"),a.bsOffcanvas.show(),window.history.pushState("offcanvas-open",""),"function"==typeof e&&e()}_registerEvents(t){let e=this.getOffCanvas();e.forEach(s=>{let n=()=>{setTimeout(()=>{s.remove(),window.focusHandler.resumeFocusState("offcanvas"),this.$emitter.publish("onCloseOffcanvas",{offCanvasContent:e})},t),s.removeEventListener("hide.bs.offcanvas",n)};s.addEventListener("hide.bs.offcanvas",n)}),window.addEventListener("popstate",this.close.bind(this,t),{once:!0}),document.querySelectorAll(".js-offcanvas-close").forEach(e=>{e.addEventListener("click",this.close.bind(this,t))})}_setAriaAttrs(){let t=this.getOffCanvas()[0],e="off-canvas-headline",s=t.querySelector(`[data-id="${e}"]`);s&&!t.hasAttribute("aria-labelledby")&&(s.setAttribute("id",e),t.setAttribute("aria-labelledby",e))}_removeExistingOffCanvas(){this.getOffCanvas().forEach(t=>{let e=bootstrap.Offcanvas.getInstance(t);e&&"function"==typeof e.dispose&&e.dispose(),t.remove()}),a.bsOffcanvas=null}_getPositionClass(t){return"left"===t?"offcanvas-start":"right"===t?"offcanvas-end":`offcanvas-${t}`}_createOffCanvas(t,e,s,n){let i=document.createElement("div");if(i.classList.add("offcanvas",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 "${t}" is not supported. Please pass an array or a string.`)}return document.body.appendChild(i),a.bsOffcanvas=new bootstrap.Offcanvas(i,{backdrop:!1!==n||"static"}),i}}let o=Object.freeze(new a);class l{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,r=arguments.length>5&&void 0!==arguments[5]&&arguments[5],a=arguments.length>6&&void 0!==arguments[6]?arguments[6]:"";o.open(t,e,s,n,i,r,a)}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;o.setContent(t,e,s)}static setAdditionalClassName(t){o.setAdditionalClassName(t)}static close(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:350;o.close(t)}static exists(){return o.exists()}static getOffCanvas(){return o.getOffCanvas()}static REMOVE_OFF_CANVAS_DELAY(){return 350}}let c="loader",u={BEFORE:"before",INNER:"inner"};class h{constructor(t,e=u.BEFORE){this.parent=t instanceof Element?t:document.body.querySelector(t),this.position=e}create(){if(!this.exists()){if(this.position===u.INNER){this._previousHTML=this.parent.innerHTML,this.parent.innerHTML=h.getTemplate();return}this.parent.insertAdjacentHTML(this._getPosition(),h.getTemplate())}}remove(){if(this.position===u.INNER){this.parent.innerHTML=this._previousHTML;return}this.parent.querySelectorAll(`.${c}`).forEach(t=>t.remove())}exists(){return this.parent.querySelectorAll(`.${c}`).length>0}_getPosition(){return this.position===u.BEFORE?"afterbegin":"beforeend"}static getTemplate(){return`<div class="${c}" role="status">
2 <span class="visually-hidden">Loading...</span> 3 </div>`}static SELECTOR_CLASS(){return c}}class d{constructor(){this._request=null,this._errorHandlingInternal=!1}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 ${t.responseURL} was aborted`)}),t.addEventListener("error",()=>{console.warn(`the request to ${t.responseURL} failed with status ${t.status}`)}),t.addEventListener("timeout",()=>{console.warn(`the request to ${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}}class f extends n.A{static #t=this.options={navigationUrl:window.router["frontend.menu.offcanvas"],position:"left",triggerEvent:"click",additionalOffcanvasClass:"navigation-offcanvas",linkSelector:".js-navigation-offcanvas-link",loadingIconSelector:".js-navigation-offcanvas-loading-icon",linkLoadingClass:"is-loading",menuSelector:".navigation-offcanvas-container",initialContentSelector:".js-navigation-offcanvas-initial-content",currentCategorySelector:"a.is-current-category"};init(){this._cache={},this._client=new d,this._content=h.getTemplate(),this._registerEvents()}_registerEvents(){this.el.removeEventListener(this.options.triggerEvent,this._getLinkEventHandler.bind(this)),this.el.addEventListener(this.options.triggerEvent,this._getLinkEventHandler.bind(this)),l.exists()&&(l.getOffCanvas().forEach(t=>{t.querySelectorAll(this.options.linkSelector).forEach(t=>{f._resetLoader(t),t.addEventListener("click",e=>{this._getLinkEventHandler(e,t)})})}),window.PluginManager.initializePlugins()),this._openMenuViaUrlParameter()}_openMenu(t){f._stopEvent(t),l.open(this._content,this._registerEvents.bind(this),this.options.position),l.setAdditionalClassName(this.options.additionalOffcanvasClass),this.$emitter.publish("openMenu")}_openMenuViaUrlParameter(){let t=new URLSearchParams(window.location.search);if(t.has("offcanvas")&&"menu"===t.get("offcanvas")&&(document.querySelector('[data-off-canvas-menu="true"]')?.click(),window.history.replaceState)){let t=new URL(window.location);t.searchParams.delete("offcanvas"),window.history.replaceState({},document.title,t)}}_getLinkEventHandler(t,e){if(!e){let e=document.querySelector(this.options.initialContentSelector),s=`${this.options.navigationUrl}?navigationId=${window.activeNavigationId}`;return this._fetchMenu(s,s=>(e.querySelector(this.options.menuSelector).innerHTML=s,this._content=e.innerHTML,this._openMenu(t)))}if(f._stopEvent(t),e.classList.contains(this.options.linkLoadingClass))return;f._setLoader(e);let s=e.getAttribute("data-href")||e.getAttribute("href");s&&(this.$emitter.publish("getLinkEventHandler"),this._fetchMenu(s,this._updateContent.bind(this)))}static _setLoader(t){t.classList.add(this.options.linkLoadingClass);let e=t.querySelector(this.options.loadingIconSelector);e&&(e._linkIcon=e.innerHTML,e.innerHTML=h.getTemplate())}static _resetLoader(t){t.classList.remove(this.options.linkLoadingClass);let e=t.querySelector(this.options.loadingIconSelector);e&&e._linkIcon&&(e.innerHTML=e._linkIcon)}_updateContent(t){if(this._content=t,l.exists()){let e=f._getOffcanvasMenu();e.innerHTML=t;let s=e.querySelector(this.options.currentCategorySelector);window.focusHandler.setFocus(s,{focusVisible:!0}),this._registerEvents()}this.$emitter.publish("updateContent")}_fetchMenu(t,e){return!!t&&(this._cache[t]&&"function"==typeof e?e(this._cache[t]):void(this.$emitter.publish("beforeFetchMenu"),fetch(t,{headers:{"X-Requested-With":"XMLHttpRequest"}}).then(t=>t.text()).then(s=>{this._cache[t]=s,"function"==typeof e&&e(s)})))}static _stopEvent(t){t.preventDefault(),t.stopImmediatePropagation()}static _getOffcanvas(){return l.getOffCanvas()[0]}static _getOffcanvasMenu(){return f._getOffcanvas().querySelector(this.options.menuSelector)}}class p extends f{init(){super.init(),this.$emitter.subscribe("openMenu",()=>this._updateAria()),o.$emitter.subscribe("onCloseOffcanvas",()=>this._updateAria()),this._updateAria()}
3_updateAria(){let t=o.getOffCanvas()[0]??null,e=t?.classList.contains(this.options.additionalOffcanvasClass)??!1;this.el.setAttribute("aria-expanded",e)}}},308:(t,e,s)=>{s.d(e,{A:()=>n});class n{constructor(t=document){this._el=t,t.$emitter=this,this._listeners=[]}publish(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},s=arguments.length>2&&void 0!==arguments[2]&&arguments[2],n=new CustomEvent(t,{detail:e,cancelable:s});return this.el.dispatchEvent(n),n}subscribe(t,e){let s=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},n=this,i=t.split("."),r=s.scope?e.bind(s.scope):e;if(s.once&&!0===s.once){let e=r;r=function(s){n.unsubscribe(t),e(s)}}return this.el.addEventListener(i[0],r),this.listeners.push({splitEventName:i,opts:s,cb:r}),!0}unsubscribe(t){let e=t.split(".");return this.listeners=this.listeners.reduce((t,s)=>([...s.splitEventName].sort().toString()===e.sort().toString()?this.el.removeEventListener(s.splitEventName[0],s.cb):t.push(s),t),[]),!0}reset(){return this.listeners.forEach(t=>{this.el.removeEventListener(t.splitEventName[0],t.cb)}),this.listeners=[],!0}get el(){return this._el}set el(t){this._el=t}get listeners(){return this._listeners}set listeners(t){this._listeners=t}}},335:(t,e,s)=>{s.d(e,{A:()=>o});var n=s(156),i=s.n(n);class r{static ucFirst(t){return t.charAt(0).toUpperCase()+t.slice(1)}static lcFirst(t){return t.charAt(0).toLowerCase()+t.slice(1)}static toDashCase(t){return t.replace(/([A-Z])/g,"-$1").replace(/^-/,"").toLowerCase()}static toLowerCamelCase(t,e){let s=r.toUpperCamelCase(t,e);return r.lcFirst(s)}static toUpperCamelCase(t,e){return e?t.split(e).map(t=>r.ucFirst(t.toLowerCase())).join(""):r.ucFirst(t.toLowerCase())}static parsePrimitive(t){try{return/^\d+(.|,)\d+$/.test(t)&&(t=t.replace(",",".")),JSON.parse(t)}catch(e){return t.toString()}}}var a=s(308);class o{constructor(t,e={},s=!1){if(!(t instanceof Node)){console.warn(`There is no valid element given while trying to create a plugin instance for "${s}".`);return}this.el=t,this.$emitter=new a.A(this.el),this._pluginName=this._getPluginName(s),this.options=this._mergeOptions(e),this._initialized=!1,this._registerInstance(),this._init()}init(){console.warn(`The "init" method for the plugin "${this._pluginName}" is not defined. The plugin will not be initialized.`)}update(){}_init(){this._initialized||(this.init(),this._initialized=!0)}_update(){this._initialized&&this.update()}_mergeOptions(t){let e=[this.constructor.options,this.options,t];return e.push(this._getConfigFromDataAttribute()),e.push(this._getOptionsFromDataAttribute()),i().all(e.filter(t=>t instanceof Object&&!(t instanceof Array)).map(t=>t||{}))}_getConfigFromDataAttribute(){let t={};if("function"!=typeof this.el.getAttribute)return t;let e=r.toDashCase(this._pluginName),s=this.el.getAttribute(`data-${e}-config`);return s?window.PluginConfigManager.get(this._pluginName,s):t}_getOptionsFromDataAttribute(){let t={};if("function"!=typeof this.el.getAttribute)return t;let e=r.toDashCase(this._pluginName),s=this.el.getAttribute(`data-${e}-options`);if(s)try{return JSON.parse(s)}catch(t){console.error(`The data attribute "data-${e}-options" could not be parsed to json: ${t.message}`)}return t}_registerInstance(){window.PluginManager.getPluginInstancesFromElement(this.el).set(this._pluginName,this),window.PluginManager.getPlugin(this._pluginName,!1).get("instances").push(this)}_getPluginName(t){return t||(t=this.constructor.name),t}}}}]);
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.