PageSourceSearch

https://growversand.de/theme/4b162c159be264581d48f4ca510a9e60/js/storefront/offcanvas-menu.plugin.c62301.js

js growversand.de collected 2026-10-07 04:57:11 UTC 11,462 bytes, 1 lines download raw bytes

1"use strict";(self.webpackChunk=self.webpackChunk||[]).push([["offcanvas-menu.plugin"],{225:(t,e,s)=>{s.r(e),s.d(e,{default:()=>c});var n=s(9568),i=s(9062),a=s(2363),o=s(3107),r=s(4049),l=s(3266);class c extends n.Z{init(){this._cache={},this._client=new o.Z,this._content=a.Z.getTemplate(),this._registerEvents()}_registerEvents(){if(this.el.removeEventListener(this.options.tiggerEvent,this._getLinkEventHandler.bind(this)),this.el.addEventListener(this.options.tiggerEvent,this._getLinkEventHandler.bind(this)),i.Z.exists()){let t=i.Z.getOffCanvas();l.Z.iterate(t,t=>{let e=t.querySelectorAll(this.options.linkSelector);l.Z.iterate(e,t=>{c._resetLoader(t),t.addEventListener("click",e=>{this._getLinkEventHandler(e,t)})})})}}_openMenu(t){c._stopEvent(t),i.Z.open(this._content,this._registerEvents.bind(this),this.options.position),i.Z.setAdditionalClassName(this.options.additionalOffcanvasClass),this.$emitter.publish("openMenu")}_getLinkEventHandler(t,e){if(!e){let e=r.Z.querySelector(document,this.options.initialContentSelector);return this._content=e.innerHTML,e.classList.contains("is-root")?this._cache[this.options.navigationUrl]=this._content:this._fetchMenu(this.options.navigationUrl),this._openMenu(t)}if(c._stopEvent(t),e.classList.contains(this.options.linkLoadingClass))return;c._setLoader(e);let s=r.Z.getAttribute(e,"data-href",!1)||r.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=a.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)}_updateOverlay(t,e){if(this._content=e,i.Z.exists()){let s=c._getOffcanvasMenu();s||this._replaceOffcanvasContent(e),this._createOverlayElements();let n=c._getOverlayContent(s),i=c._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 c._getOverlayContent(e)}static _getOverlayContent(t){if(!t)return"";let e=t.querySelector(this.options.overlayContentSelector);return e?e.innerHTML:""}_createOverlayElements(){let t=c._getOffcanvasMenu();t&&(this._placeholder=c._createPlaceholder(t),this._overlay=c._createNavigationOverlay(t)),this.$emitter.publish("createOverlayElements")}static _createNavigationOverlay(t){let e=c._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=c._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}
1_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,i.Z.setContent(this._content),this._registerEvents(),this.$emitter.publish("replaceOffcanvasContent")}static _stopEvent(t){t.preventDefault(),t.stopImmediatePropagation()}static _getOffcanvas(){return i.Z.getOffCanvas()[0]}static _getOffcanvasMenu(){return c._getOffcanvas().querySelector(this.options.menuSelector)}}c.options={navigationUrl:window.router["frontend.menu.offcanvas"],position:"left",tiggerEvent:"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"}},9062:(t,e,s)=>{s.d(e,{Z:()=>c,r:()=>l});var n=s(5206),i=s(9138),a=s(3266);let o="offcanvas";class r{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(o))}close(t){let e=this.getOffCanvas();a.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"),r.bsOffcanvas.show(),window.history.pushState("offcanvas-open",""),"function"==typeof e&&e()}_registerEvents(t){let e=n.Z.isTouchDevice()?"touchend":"click",
1s=this.getOffCanvas();a.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 i=document.querySelectorAll(".".concat("js-offcanvas-close"));a.Z.iterate(i,s=>s.addEventListener(e,this.close.bind(this,t)))}_removeExistingOffCanvas(){r.bsOffcanvas=null;let t=this.getOffCanvas();return a.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(o),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),r.bsOffcanvas=new bootstrap.Offcanvas(i,{backdrop:!1!==n||"static"}),i}constructor(){this.$emitter=new i.Z}}let l=Object.freeze(new r);class c{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]:"";l.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;l.setContent(t,e,s)}static setAdditionalClassName(t){l.setAdditionalClassName(t)}static close(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:350;l.close(t)}static exists(){return l.exists()}static getOffCanvas(){return l.getOffCanvas()}static REMOVE_OFF_CANVAS_DELAY(){return 350}}},3107:(t,e,s)=>{s.d(e,{Z:()=>n});class n{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}}},2363:(t,e,s)=>{s.d(e,{L:()=>a,Z:()=>o});var n=s(3266);let i="loader",a={BEFORE:"before",AFTER:"after",INNER:"inner"};class o{create(){if(!this.exists()){if(this.position===a.INNER){this.parent.innerHTML=o.getTemplate();return}this.parent.insertAdjacentHTML(this._getPosition(),o.getTemplate())}}remove(){let t=this.parent.querySelectorAll(".".concat(i));n.Z.iterate(t,t=>t.remove())}exists(){return this.parent.querySelectorAll(".".concat(i)).length>0}_getPosition(){return this.position===a.BEFORE?"afterbegin":"beforeend"}static getTemplate(){return'<div class="'.concat(i,'" role="status">
1\n                    <span class="').concat("visually-hidden",'">Loading...</span>\n                </div>')}static SELECTOR_CLASS(){return i}constructor(t,e=a.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.