PageSourceSearch

https://goood-petfood.de/theme/a7d04247d146431e363e5ce380018811/js…/storefront.buy-box.plugin.8d3c14.js

js goood-petfood.de collected 2026-09-28 11:13:03 UTC 10,616 bytes, 9 lines download raw bytes

1"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[87645],{9749:(e,t,r)=>{r.d(t,{A:()=>n});let s=Object.freeze(new class{constructor(){this._domParser=new DOMParser}replaceFromMarkup(e,t){let r=e;"string"==typeof r&&(r=this._createMarkupFromString(r)),"string"==typeof t&&(t=[t]),this._replaceSelectors(r,t)}replaceElement(e,t){return("string"==typeof e&&(e=document.querySelectorAll(e)),"string"==typeof t&&(t=document.querySelectorAll(t)),e instanceof NodeList&&t instanceof NodeList&&t.length>e.length)?(t.forEach(t=>{e.forEach(e=>{e.innerHTML&&e.className===t.className&&(t.innerHTML=e.innerHTML)})}),!0):e instanceof NodeList&&e.length?(e.forEach((e,r)=>{e.innerHTML&&(t[r].innerHTML=e.innerHTML)}),!0):t instanceof NodeList&&t.length?(t.forEach(t=>{e.innerHTML&&(t.innerHTML=e.innerHTML)}),!0):!!t&&!!e&&!!e.innerHTML&&(t.innerHTML=e.innerHTML,!0)}_replaceSelectors(e,t){t.forEach(t=>{let r=e.querySelectorAll(t),s=document.querySelectorAll(t);this.replaceElement(r,s)})}_createMarkupFromString(e){return this._domParser.parseFromString(e,"text/html")}});class n{static replaceFromMarkup(e,t){s.replaceFromMarkup(e,t)}static replaceElement(e,t){return s.replaceElement(e,t)}}},7645:(e,t,r)=>{r.r(t),r.d(t,{default:()=>d});var s=r(4335),n=r(9068),i=r(3343),o=r(3121),a=r(9749),l=r(8860);class d extends s.A{static #e=this.options={elementId:"",modalTriggerSelector:'a[data-bs-toggle="modal"]',buyWidgetSelector:".product-detail-buy",urlAttribute:"data-url"};init(){this._httpClient=new n.A,this._registerEvents()}_registerEvents(){document.$emitter.subscribe("updateBuyWidget",this._handleUpdateBuyWidget.bind(this))}_handleUpdateBuyWidget(e){e.detail&&this.options.elementId===e.detail.elementId&&(i.A.create(this.el),this._httpClient.get(`${e.detail.url}`,e=>{a.A.replaceFromMarkup(e,`${this.options.buyWidgetSelector}-${this.options.elementId}`),i.A.remove(this.el),this._initModalTriggerEvent(),window.PluginManager.initializePlugins()}))}_initModalTriggerEvent(){this._modalTrigger=this.el.querySelector(this.options.modalTriggerSelector),this._modalTrigger.addEventListener("click",this._onClickHandleAjaxModal.bind(this))}_onClickHandleAjaxModal(e){let t=e.currentTarget.getAttribute(this.options.urlAttribute);o.A.create(),this._httpClient.get(t,e=>{o.A.remove(),this._openTaxInfoModal(e)})}_openTaxInfoModal(e){new l.A(e).open()}}},9068:(e,t,r)=>{r.d(t,{A:()=>s});class s{constructor(){this._request=null,this._errorHandlingInternal=!1}get(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"application/json",s=this._createPreparedRequest("GET",e,r);return this._sendRequest(s,null,t)}post(e,t,r){let s=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"application/json";s=this._getContentType(t,s);let n=this._createPreparedRequest("POST",e,s);return this._sendRequest(n,t,r)}delete(e,t,r){let s=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"application/json";s=this._getContentType(t,s);let n=this._createPreparedRequest("DELETE",e,s);return this._sendRequest(n,t,r)}patch(e,t,r){let s=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"application/json";s=this._getContentType(t,s);let n=this._createPreparedRequest("PATCH",e,s);return this._sendRequest(n,t,r)}
1abort(){if(this._request)return this._request.abort()}setErrorHandlingInternal(e){this._errorHandlingInternal=e}_registerOnLoaded(e,t){t&&(!0===this._errorHandlingInternal?(e.addEventListener("load",()=>{t(e.responseText,e)}),e.addEventListener("abort",()=>{console.warn(`the request to ${e.responseURL} was aborted`)}),e.addEventListener("error",()=>{console.warn(`the request to ${e.responseURL} failed with status ${e.status}`)}),e.addEventListener("timeout",()=>{console.warn(`the request to ${e.responseURL} timed out`)})):e.addEventListener("loadend",()=>{t(e.responseText,e)}))}_sendRequest(e,t,r){return this._registerOnLoaded(e,r),e.send(t),e}_getContentType(e,t){return e instanceof FormData&&(t=!1),t}_createPreparedRequest(e,t,r){return this._request=new XMLHttpRequest,this._request.open(e,t),this._request.setRequestHeader("X-Requested-With","XMLHttpRequest"),r&&this._request.setRequestHeader("Content-type",r),this._request}}},77:(e,t,r)=>{r.d(t,{Ay:()=>h,Kq:()=>a});var s=r(4632);let n="modal-backdrop",i="modal-backdrop-open",o="no-scroll",a=350,l={ON_CLICK:"backdrop/onclick"};class d{constructor(){return d.instance||(d.instance=this),d.instance}create(e){this._removeExistingBackdrops(),document.body.insertAdjacentHTML("beforeend",this._getTemplate());let t=document.body.lastChild;document.documentElement.classList.add(o),setTimeout(function(){t.classList.add(i),"function"==typeof e&&e()},75),this._dispatchEvents()}remove(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:a;this._getBackdrops().forEach(e=>e.classList.remove(i)),setTimeout(this._removeExistingBackdrops.bind(this),e),document.documentElement.classList.remove(o)}_dispatchEvents(){let e=s.A.isTouchDevice()?"touchstart":"click";document.addEventListener(e,function(e){e.target.classList.contains(n)&&document.dispatchEvent(new CustomEvent(l.ON_CLICK))})}_getBackdrops(){return document.querySelectorAll(`.${n}`)}_removeExistingBackdrops(){!1!==this._exists()&&this._getBackdrops().forEach(e=>e.remove())}_exists(){return document.querySelectorAll(`.${n}`).length>0}_getTemplate(){return`<div class="${n}"></div>`}}let c=Object.freeze(new d);class h{static create(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null;c.create(e)}static remove(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:a;c.remove(e)}static SELECTOR_CLASS(){return n}}},3343:(e,t,r)=>{r.d(t,{A:()=>i});var s=r(5683);let n="element-loader-backdrop";class i extends s.A{static create(e){e.classList.add("has-element-loader"),i.exists(e)||(i.appendLoader(e),setTimeout(()=>{let t=e.querySelector(`.${n}`);t&&t.classList.add("element-loader-backdrop-open")},1))}static remove(e){e.classList.remove("has-element-loader");let t=e.querySelector(`.${n}`);t&&t.remove()}static exists(e){return e.querySelectorAll(`.${n}`).length>0}static getTemplate(){return`
2        <div class="${n}">
3            <div class="loader" role="status">
4                <span class="visually-hidden">Loading...</span>
5            </div>
6        </div>
7        `}static appendLoader(e){e.insertAdjacentHTML("beforeend",i.getTemplate())}}},5683:(e,t,r)=>{r.d(t,{A:()=>i,c:()=>n});let s="loader",n={BEFORE:"before",AFTER:"after",INNER:"inner"};class i{constructor(e,t=n.BEFORE){this.parent=e instanceof Element?e:document.body.querySelector(e),this.position=t}create(){if(!this.exists()){if(this.position===n.INNER){this._previousHTML=this.parent.innerHTML,this.parent.innerHTML=i.getTemplate();return}this.parent.insertAdjacentHTML(this._getPosition(),i.getTemplate())}}remove(){if(this.position===n.INNER){this.parent.innerHTML=this._previousHTML;return}this.parent.querySelectorAll(`.${s}`).forEach(e=>e.remove())}exists(){return this.parent.querySelectorAll(`.${s}`).length>0}_getPosition(){return this.position===n.BEFORE?"afterbegin":"beforeend"}static getTemplate(){return`<div class="${s}" role="status">
8                    <span class="visually-hidden">Loading...</span>
9                </div>`}static SELECTOR_CLASS(){return s}}},3121:(e,t,r)=>{r.d(t,{A:()=>a});var s=r(5683),n=r(77);class i extends s.A{constructor(){super(document.body)}create(){let e=!(arguments.length>0)||void 0===arguments[0]||arguments[0];!this.exists()&&e&&(n.Ay.create(),document.querySelector(`.${n.Ay.SELECTOR_CLASS()}`).insertAdjacentHTML("beforeend",s.A.getTemplate()))}remove(){let e=!(arguments.length>0)||void 0===arguments[0]||arguments[0];super.remove(),e&&n.Ay.remove()}}let o=Object.freeze(new i);class a{static create(){let e=!(arguments.length>0)||void 0===arguments[0]||arguments[0];o.create(e)}static remove(){let e=!(arguments.length>0)||void 0===arguments[0]||arguments[0];o.remove(e)}}},8860:(e,t,r)=>{r.d(t,{A:()=>
9o});var s=r(77);let n="js-pseudo-modal",i="js-pseudo-modal-template-root-element";class o{constructor(e,t=!0,r=".js-pseudo-modal-template",s=".js-pseudo-modal-template-content-element",n=".js-pseudo-modal-template-title-element"){this._content=e,this._useBackdrop=t,this._templateSelector=r,this._templateContentSelector=s,this._templateTitleSelector=n}open(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:s.Kq;this._hideExistingModal(),this._create(),setTimeout(this._open.bind(this,e),t)}close(){let e=this.getModal();this._modalInstance=bootstrap.Modal.getInstance(e),this._modalInstance.hide()}getModal(){return this._modal||this._create(),this._modal}updatePosition(){this._modalInstance.handleUpdate()}updateContent(e,t){this._content=e,this._setModalContent(e),this.updatePosition(),"function"==typeof t&&t.bind(this)()}_hideExistingModal(){try{let e=document.querySelector(`.${n} .modal`);if(!e)return;let t=bootstrap.Modal.getInstance(e);if(!t)return;t.hide()}catch(e){console.warn(`[PseudoModalUtil] Unable to hide existing pseudo modal before opening pseudo modal: ${e.message}`)}}_open(e){this.getModal(),this._modal.addEventListener("hidden.bs.modal",this._modalWrapper.remove),this._modal.addEventListener("shown.bs.modal",e),this._modal.addEventListener("hide.bs.modal",()=>{document.activeElement instanceof HTMLElement&&document.activeElement.blur()}),this._modalInstance.show()}_create(){this._modalMarkupEl=document.querySelector(this._templateSelector),this._createModalWrapper(),this._modalWrapper.innerHTML=this._content,this._modal=this._createModalMarkup(),this._modalInstance=new bootstrap.Modal(this._modal,{backdrop:this._useBackdrop}),document.body.insertAdjacentElement("beforeend",this._modalWrapper)}_createModalWrapper(){this._modalWrapper=document.querySelector(`.${n}`),this._modalWrapper||(this._modalWrapper=document.createElement("div"),this._modalWrapper.classList.add(n))}_createModalMarkup(){let e=this._modalWrapper.querySelector(".modal");if(e)return e;let t=this._modalWrapper.innerHTML;return this._modalWrapper.innerHTML=this._modalMarkupEl.innerHTML,this._setModalContent(t),this._modalWrapper.querySelector(".modal")}_setModalTitle(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"";try{this._modalWrapper.querySelector(this._templateTitleSelector).innerHTML=e}catch(e){}}_setModalContent(e){let t=this._modalWrapper.querySelector(this._templateContentSelector);t.innerHTML=e;let r=t.querySelector(`.${i}`);if(r){this._modalWrapper.querySelector(`.${i}`).replaceChildren(r);return}try{let e=t.querySelector(this._templateTitleSelector);e&&(this._setModalTitle(e.innerHTML),e.parentNode.removeChild(e))}catch(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.