PageSourceSearch

https://well.dk/theme/7757fe77c415bf0326d51c6fd6babba4/js/base-the…/base-theme.offcanvas-menu.plugin.84371d.js

js well.dk collected 2026-10-10 01:10:27 UTC 17,397 bytes, 1 lines download raw bytes

1"use strict";(self.webpackChunkMGDBaseTheme=self.webpackChunkMGDBaseTheme||[]).push([[77181],{1857: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!==n},n="function"==typeof Symbol&&Symbol.for?Symbol.for("react.element"):60103;function i(t,e){return!1!==e.clone&&e.isMergeableObject(t)?o(Array.isArray(t)?[]:{},t,e):t}function s(t,e,n){return t.concat(e).map(function(t){return i(t,n)})}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,n,l){(l=l||{}).arrayMerge=l.arrayMerge||s,l.isMergeableObject=l.isMergeableObject||e,l.cloneUnlessOtherwiseSpecified=i;var c,u,h=Array.isArray(n);return h!==Array.isArray(t)?i(n,l):h?l.arrayMerge(t,n,l):(u={},(c=l).isMergeableObject(t)&&r(t).forEach(function(e){u[e]=i(t[e],c)}),r(n).forEach(function(e){(!a(t,e)||Object.hasOwnProperty.call(t,e)&&Object.propertyIsEnumerable.call(t,e))&&(a(t,e)&&c.isMergeableObject(n[e])?u[e]=(function(t,e){if(!e.customMerge)return o;var n=e.customMerge(t);return"function"==typeof n?n:o})(e,c)(t[e],n[e],c):u[e]=i(n[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,n){return o(t,n,e)},{})},t.exports=o},7181:(t,e,n)=>{n.r(e),n.d(e,{default:()=>d});var i=n(1857),s=n.n(i),r=n(9568),a=n(9062),o=n(2363),l=n(3107),c=n(4049),u=n(3266);class h extends r.Z{init(){this._cache={},this._client=new l.Z,this._content=o.Z.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)),a.Z.exists()){let t=a.Z.getOffCanvas();u.Z.iterate(t,t=>{let e=t.querySelectorAll(this.options.linkSelector);u.Z.iterate(e,t=>{h._resetLoader(t),t.addEventListener("click",e=>{this._getLinkEventHandler(e,t)})})})}}_openMenu(t){h._stopEvent(t),a.Z.open(this._content,this._registerEvents.bind(this),this.options.position),a.Z.setAdditionalClassName(this.options.additionalOffcanvasClass),this.$emitter.publish("openMenu")}_getLinkEventHandler(t,e){if(!e){let e=document.querySelector(this.options.initialContentSelector),n="".concat(this.options.navigationUrl,"?navigationId=").concat(window.activeNavigationId);return this._fetchMenu(n,n=>(c.Z.querySelector(e,this.options.menuSelector).innerHTML=n,this._content=e.innerHTML,this._openMenu(t)))}if(h._stopEvent(t),e.classList.contains(this.options.linkLoadingClass))return;h._setLoader(e);let n=c.Z.getAttribute(e,"data-href",!1)||c.Z.getAttribute(e,"href",!1);n&&(this.$emitter.publish("getLinkEventHandler"),this._fetchMenu(n,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=o.Z.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,a.Z.exists()){let e=h._getOffcanvasMenu();e.innerHTML=t;let n=e.querySelector(this.options.currentCategorySelector);window.focusHandler.setFocus(n,{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"),this._client.get(t,n=>{this._cache[t]=n,"function"==typeof e&&e(n)})))}static _stopEvent(t){t.preventDefault(),t.stopImmediatePropagation()}static _getOffcanvas(){return a.Z.getOffCanvas()[0]}static _getOffcanvasMenu(){return h._getOffcanvas().querySelector(this.options.menuSelector)}}h.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:".navigation-offcanvas-container",initialContentSelector:".js-navigation-offcanvas-initial-content",currentCategorySelector:"a.is-current-category"};class d extends h{init(){super.init(),this.$emitter.subscribe("openMenu",this._afterOpenMenu.bind(this)),this.$emitter.subscribe("animateBackward",this._afterOpenMenu.bind(this)),this.$emitter.subscribe("updateOverlay",this._afterUpdateOverlay.bind(this))}_afterOpenMenu(){window.PluginManager.initializePlugins()}_afterUpdateOverlay(){let t=this._getServiceContainer();if(t){let e=h._getOffcanvas(),n=c.Z.querySelector(e,this.options.serviceContainerInsertSelector,!1);if(n){let e=t.cloneNode(!0);n.replaceWith(e),window.PluginManager.initializePlugins()}}}_getServiceContainer(){try{let t=h._getOffcanvas();return c.Z.querySelector(t,this.options.serviceContainerSelector)}catch(t){return!1}}}d.options=s()(h.options,{serviceContainerSelector:".navigation-offcanvas-list-services-container",serviceContainerInsertSelector:"[data-service-section]"})},4049:(t,e,n)=>{n.d(e,{Z:()=>s});var i=n(5140);class s{static isNode(t){return"object"==typeof t&&null!==t&&(t===document||t===window||t instanceof Node)}static hasAttribute(t,e){if(!s.isNode(t))throw Error("The element must be a valid HTML Node!");return"function"==typeof t.hasAttribute&&t.hasAttribute(e)}static getAttribute(t,e){let n=!(arguments.length>2)||void 0===arguments[2]||arguments[2];if(n&&!1===s.hasAttribute(t,e))throw Error('The required property "'.concat(e,'" does not exist!'));if("function"!=typeof t.getAttribute){if(n)throw Error("This node doesn't support the getAttribute function!");return}return t.getAttribute(e)}static getDataAttribute(t,e){let n=!(arguments.length>2)||void 0===arguments[2]||arguments[2],r=e.replace(/^data(|-)/,""),a=i.Z.toLowerCamelCase(r,"-");if(!s.isNode(t)){if(n)throw Error("The passed node is not a valid HTML Node!");return}if(void 0===t.dataset){if(n)throw Error("This node doesn't support the dataset attribute!");return}let o=t.dataset[a];if(void 0===o){if(n)throw Error('The required data attribute "'.concat(e,'" does not exist on ').concat(t,"!"));return o}return i.Z.parsePrimitive(o)}static querySelector(t,e){let n=!(arguments.length>2)||void 0===arguments[2]||arguments[2];if(n&&!s.isNode(t))throw Error("The parent node is not a valid HTML Node!");let i=t.querySelector(e)||!1;if(n&&!1===i)throw Error('The required element "'.concat(e,'" does not exist in parent node!'));return i}static querySelectorAll(t,e){let n=!(arguments.length>2)||void 0===arguments[2]||arguments[2];if(n&&!s.isNode(t))throw Error("The parent node is not a valid HTML Node!");let i=t.querySelectorAll(e);if(0===i.length&&(i=!1),n&&!1===i)throw Error('At least one item of "'.concat(e,'" must exist in parent node!'));return i}static getFocusableElements(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:document.body;return t.querySelectorAll('\n            input:not([tabindex^="-"]):not([disabled]):not([type="hidden"]),\n            select:not([tabindex^="-"]):not([disabled]),\n            textarea:not([tabindex^="-"]):not([disabled]),\n            button:not([tabindex^="-"]):not([disabled]),\n            a[href]:not([tabindex^="-"]):not([disabled]),\n            [tabindex]:not
1([tabindex^="-"]):not([disabled])\n        ')}static getFirstFocusableElement(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:document.body;return this.getFocusableElements(t)[0]}static getLastFocusableElement(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:document,e=this.getFocusableElements(t);return e[e.length-1]}}},4830:(t,e,n)=>{n.d(e,{Z:()=>i});class i{publish(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=arguments.length>2&&void 0!==arguments[2]&&arguments[2],i=new CustomEvent(t,{detail:e,cancelable:n});return this.el.dispatchEvent(i),i}subscribe(t,e){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},i=this,s=t.split("."),r=n.scope?e.bind(n.scope):e;if(n.once&&!0===n.once){let e=r;r=function(n){i.unsubscribe(t),e(n)}}return this.el.addEventListener(s[0],r),this.listeners.push({splitEventName:s,opts:n,cb:r}),!0}unsubscribe(t){let e=t.split(".");return this.listeners=this.listeners.reduce((t,n)=>([...n.splitEventName].sort().toString()===e.sort().toString()?this.el.removeEventListener(n.splitEventName[0],n.cb):t.push(n),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}constructor(t=document){this._el=t,t.$emitter=this,this._listeners=[]}}},3266:(t,e,n)=>{n.d(e,{Z:()=>i});class i{static iterate(t,e){if(t instanceof Map||Array.isArray(t))return t.forEach(e);if(t instanceof FormData){for(var n of t.entries())e(n[1],n[0]);return}if(t instanceof NodeList)return t.forEach(e);if(t instanceof HTMLCollection)return Array.from(t).forEach(e);if(t instanceof Object)return Object.keys(t).forEach(n=>{e(t[n],n)});throw Error("The element type ".concat(typeof t," is not iterable!"))}}},5140:(t,e,n)=>{n.d(e,{Z:()=>i});class i{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 n=i.toUpperCamelCase(t,e);return i.lcFirst(n)}static toUpperCamelCase(t,e){return e?t.split(e).map(t=>i.ucFirst(t.toLowerCase())).join(""):i.ucFirst(t.toLowerCase())}static parsePrimitive(t){try{return/^\d+(.|,)\d+$/.test(t)&&(t=t.replace(",",".")),JSON.parse(t)}catch(e){return t.toString()}}}},9568:(t,e,n)=>{n.d(e,{Z:()=>l});var i=n(1857),s=n.n(i),r=n(4049),a=n(5140),o=n(4830);class l{init(){throw Error('The "init" method for the plugin "'.concat(this._pluginName,'" is not defined.'))}update(){}_init(){this._initialized||(this.init(),this._initialized=!0)}_update(){this._initialized&&this.update()}_mergeOptions(t){let e=a.Z.toDashCase(this._pluginName),n=r.Z.getDataAttribute(this.el,"data-".concat(e,"-config"),!1),i=r.Z.getAttribute(this.el,"data-".concat(e,"-options"),!1),o=[this.constructor.options,this.options,t];n&&o.push(window.PluginConfigManager.get(this._pluginName,n));try{i&&o.push(JSON.parse(i))}catch(t){throw console.error(this.el),Error('The data attribute "data-'.concat(e,'-options" could not be parsed to json: ').concat(t.message))}return s().all(o.filter(t=>t instanceof Object&&!(t instanceof Array)).map(t=>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}constructor(t,e={},n=!1){if(!r.Z.isNode(t))throw Error("There is no valid element given.");this.el=t,this.$emitter=new o.Z(this.el),this._pluginName=this._getPluginName(n),this.options=this._mergeOptions(e),this._initialized=!1,this._registerInstance(),this._init()}}},9062:(t,e,n)=>{n.d(e,{Z:()=>l,r:()=>o});var i=n(4830),s=n(3266);let r="js-offcanvas-singleton";class a{open(t,e,n,i,s,r,a){this._removeExistingOffCanvas();let o=this._createOffCanvas(n,r,a,i);this.setContent(t,s),this._openOffcanvas(o,e)}setContent(t,e){let n=this.getOffCanvas();n[0]&&(n[0].innerHTML=t,this._registerEvents(e),this._setAriaAttrs())}setAdditionalClassName(t){this.getOffCanvas()[0].classList.add(t)}getOffCanvas(){return document.querySelectorAll(".".concat(r))}close(t){let e=this.getOffCanvas();s.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"),a.bsOffcanvas.show(),window.history.pushState("offcanvas-open",""),"function"==typeof e&&e()}_registerEvents(t){let e=this.getOffCanvas();s.Z.iterate(e,n=>{let i=()=>{setTimeout(()=>{n.remove(),window.focusHandler.resumeFocusState("offcanvas"),this.$emitter.publish("onCloseOffcanvas",{offCanvasContent:e})},t),n.removeEventListener("hide.bs.offcanvas",i)};n.addEventListener("hide.bs.offcanvas",i)}),window.addEventListener("popstate",this.close.bind(this,t),{once:!0});let n=document.querySelectorAll(".".concat("js-offcanvas-close"));s.Z.iterate(n,e=>e.addEventListener("click",this.close.bind(this,t)))}_setAriaAttrs(){let t=this.getOffCanvas()[0],e="off-canvas-headline",n=t.querySelector('[data-id="'.concat(e,'"]'));n&&!t.hasAttribute("aria-labelledby")&&(n.setAttribute("id",e),t.setAttribute("aria-labelledby",e))}_removeExistingOffCanvas(){a.bsOffcanvas=null;let t=this.getOffCanvas();return s.Z.iterate(t,t=>t.remove())}_getPositionClass(t){return"left"===t?"offcanvas-start":"right"===t?"offcanvas-end":"offcanvas-".concat(t)}_createOffCanvas(t,e,n,i){let s=document.createElement("div");if(s.classList.add("offcanvas",r),s.classList.add(this._getPositionClass(t)),s.setAttribute("tabindex","-1"),!0===e&&s.classList.add("is-fullwidth"),n){let t=typeof n;if("string"===t)s.classList.add(n);else if(Array.isArray(n))n.forEach(t=>{s.classList.add(t)});else throw Error('The type "'.concat(t,'" is not supported. Please pass an array or a string.'))}return document.body.appendChild(s),a.bsOffcanvas=new bootstrap.Offcanvas(s,{backdrop:!1!==i||"static"}),s}constructor(){this.$emitter=new i.Z}}let o=Object.freeze(new a);class l{static open(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"left",i=!(arguments.length>3)||void 0===arguments[3]||arguments[3],s=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,n,i,s,r,a)}static setContent(t){let e=!(arguments.length>1)||void 0===arguments[1]||arguments[1],n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:350;o.setContent(t,e,n)}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}}},3107:(t,e,n)=>{n.d(e,{Z:()=>i});class i{get(t,e){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"application/json",i=this._createPreparedRequest("GET",t,n);return this._sendRequest(i,null,e)}post(t,e,n){let i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"application/json";i=this._getContentType(e,i);let s=this._createPreparedRequest("POST",t,i);return this._sendRequest(s,e,n)}delete(t,e,n){let i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"application/json";i=this._getContentType(e,i);let s=this._createPreparedRequest("DELETE",t,i);return this._sendRequest(s,e,n)}patch(t,e,n){let i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"application/json";i=this._getContentType(e,i);let s=this._createPreparedRequest("PATCH",t,i);return this._sendRequest(s,e,n)}
1abort(){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,n){return this._registerOnLoaded(t,n),t.send(e),t}_getContentType(t,e){return t instanceof FormData&&(e=!1),e}_createPreparedRequest(t,e,n){return this._request=new XMLHttpRequest,this._request.open(t,e),this._request.setRequestHeader("X-Requested-With","XMLHttpRequest"),n&&this._request.setRequestHeader("Content-type",n),this._request}constructor(){this._request=null,this._errorHandlingInternal=!1}}},2363:(t,e,n)=>{n.d(e,{Z:()=>a});var i=n(3266);let s="loader",r={BEFORE:"before",INNER:"inner"};class a{create(){if(!this.exists()){if(this.position===r.INNER){this.parent.innerHTML=a.getTemplate();return}this.parent.insertAdjacentHTML(this._getPosition(),a.getTemplate())}}remove(){let t=this.parent.querySelectorAll(".".concat(s));i.Z.iterate(t,t=>t.remove())}exists(){return this.parent.querySelectorAll(".".concat(s)).length>0}_getPosition(){return this.position===r.BEFORE?"afterbegin":"beforeend"}static getTemplate(){return'<div class="'.concat(s,'" role="status">\n                    <span class="').concat("visually-hidden",'">Loading...</span>\n                </div>')}static SELECTOR_CLASS(){return s}constructor(t,e=r.BEFORE){this.parent=t instanceof Element?t:document.body.querySelector(t),this.position=e}}}}]);

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.