PageSourceSearch

https://zinkbakken.dk/theme/89fec0e0143898505c6fffd88afa0419/js/klavi-overd/klavi-overd.js?1790055801

js zinkbakken.dk collected 2026-09-26 07:47:53 UTC 27,482 bytes, 1 lines download raw bytes

1(()=>{"use strict";var t={857: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 i(t,e){return!1!==e.clone&&e.isMergeableObject(t)?a(Array.isArray(t)?[]:{},t,e):t}function o(t,e,s){return t.concat(e).map(function(t){return i(t,s)})}function n(t){return Object.keys(t).concat(Object.getOwnPropertySymbols?Object.getOwnPropertySymbols(t).filter(function(e){return Object.propertyIsEnumerable.call(t,e)}):[])}function r(t,e){try{return e in t}catch(t){return!1}}function a(t,s,l){(l=l||{}).arrayMerge=l.arrayMerge||o,l.isMergeableObject=l.isMergeableObject||e,l.cloneUnlessOtherwiseSpecified=i;var c,d,u=Array.isArray(s);return u!==Array.isArray(t)?i(s,l):u?l.arrayMerge(t,s,l):(d={},(c=l).isMergeableObject(t)&&n(t).forEach(function(e){d[e]=i(t[e],c)}),n(s).forEach(function(e){(!r(t,e)||Object.hasOwnProperty.call(t,e)&&Object.propertyIsEnumerable.call(t,e))&&(r(t,e)&&c.isMergeableObject(s[e])?d[e]=(function(t,e){if(!e.customMerge)return a;var s=e.customMerge(t);return"function"==typeof s?s:a})(e,c)(t[e],s[e],c):d[e]=i(s[e],c))}),d)}a.all=function(t,e){if(!Array.isArray(t))throw Error("first argument should be an array");return t.reduce(function(t,s){return a(t,s,e)},{})},t.exports=a}},e={};function s(i){var o=e[i];if(void 0!==o)return o.exports;var n=e[i]={exports:{}};return t[i](n,n.exports,s),n.exports}(()=>{s.n=t=>{var e=t&&t.__esModule?()=>t.default:()=>t;return s.d(e,{a:e}),e}})(),(()=>{s.d=(t,e)=>{for(var i in e)s.o(e,i)&&!s.o(t,i)&&Object.defineProperty(t,i,{enumerable:!0,get:e[i]})}})(),(()=>{s.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e)})(),(()=>{var t=s(857),e=s.n(t);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 s=i.toUpperCamelCase(t,e);return i.lcFirst(s)}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()}}}class o{static isNode(t){return"object"==typeof t&&null!==t&&(t===document||t===window||t instanceof Node)}static hasAttribute(t,e){if(!o.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 s=!(arguments.length>2)||void 0===arguments[2]||arguments[2];if(s&&!1===o.hasAttribute(t,e))throw Error('The required property "'.concat(e,'" does not exist!'));if("function"!=typeof t.getAttribute){if(s)throw Error("This node doesn't support the getAttribute function!");return}return t.getAttribute(e)}static getDataAttribute(t,e){let s=!(arguments.length>2)||void 0===arguments[2]||arguments[2],n=e.replace(/^data(|-)/,""),r=i.toLowerCamelCase(n,"-");if(!o.isNode(t)){if(s)throw Error("The passed node is not a valid HTML Node!");return}if(void 0===t.dataset){if(s)throw Error("This node doesn't support the dataset attribute!");return}let a=t.dataset[r];if(void 0===a){if(s)throw Error('The required data attribute "'.concat(e,'" does not exist on ').concat(t,"!"));return a}return i.parsePrimitive(a)}static querySelector(t,e){let s=!(arguments.length>2)||void 0===arguments[2]||arguments[2];if(s&&!o.isNode(t))throw Error("The parent node is not a valid HTML Node!");let i=t.querySelector(e)||!1;if(s&&!1===i)throw Error('The required element "'.concat(e,'" does not exist in parent node!'));return i}static querySelectorAll(t,e){let s=!(arguments.length>2)||void 0===arguments[2]||arguments[2];if(s&&!o.isNode(t))throw Error("The parent node is not a valid HTML Node!");let i=t.querySelectorAll(e);if(0===i.length&&(i=!1),s&&!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]}}class n{publish(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},s=arguments.length>2&&void 0!==arguments[2]&&arguments[2],i=new CustomEvent(t,{detail:e,cancelable:s});return this.el.dispatchEvent(i),i}subscribe(t,e){let s=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},i=this,o=t.split("."),n=s.scope?e.bind(s.scope):e;if(s.once&&!0===s.once){let e=n;n=function(s){i.unsubscribe(t),e(s)}}return this.el.addEventListener(o[0],n),this.listeners.push({splitEventName:o,opts:s,cb:n}),!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}constructor(t=document){this._el=t,t.$emitter=this,this._listeners=[]}}class r{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 s=i.toDashCase(this._pluginName),n=o.getDataAttribute(this.el,"data-".concat(s,"-config"),!1),r=o.getAttribute(this.el,"data-".concat(s,"-options"),!1),a=[this.constructor.options,this.options,t];n&&a.push(window.PluginConfigManager.get(this._pluginName,n));try{r&&a.push(JSON.parse(r))}catch(t){throw console.error(this.el),Error('The data attribute "data-'.concat(s,'-options" could not be parsed to json: ').concat(t.message))}return e().all(a.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={},s=!1){if(!o.isNode(t))throw Error("There is no valid element given.");this.el=t,this.$emitter=new n(this.el),this._pluginName=this._getPluginName(s),this.options=this._mergeOptions(e),this._initialized=!1,this._registerInstance(),this._init()}}class a extends r{init(){window._learnq=window._learnq||[],this.options.customerIdentityInfo&&window._learnq.push(["identify",{$email:this.options.customerIdentityInfo.email,$first_name:this.options.customerIdentityInfo.firstName,$last_name:this.options.customerIdentityInfo.lastName,$phone_number:this.options.customerIdentityInfo.phoneNumber,$city:this.options.customerIdentityInfo.city,$region:this.options.customerIdentityInfo.region,$country:this.options.customerIdentityInfo.country,$zip:this.options.customerIdentityInfo.zip,birthday:this.options.customerIdentityInfo.birthday,language:this.options.customerIdentityInfo.language,salesChannelId:this.options.customerIdentityInfo.salesChannelId,salesChannelName:this.options.customerIdentityInfo.salesChannelName,customerGroup:this.options.customerIdentityInfo.customerGroup}])}}a.options={customerIdentityInfo:null};class l{static push(){this.isKlaviyoPersonIdentified()?window._learnq.push(...arguments):(window._odKlaviyoBuffer=window._odKlaviyoBuffer||[],window._odKlaviyoBuffer.push(...arguments),this.ensureBufferWatcher())}static ensureBufferWatcher(){void 0===window._odKlaviyoBufferWatcher&&(window._odKlaviyoBufferWatcher=setInterval(()=>{this.isKlaviyoPersonIdentified()&&(window._learnq.push(...window._odKlaviyoBuffer),window._odKlaviyoBuffer=[],clearInterval(window._odKlaviyoBufferWatcher))},500))}static isKlaviyoPersonIdentified(){return"function"==typeof window._learnq.isIdentified&&!0===window._learnq.isIdentified()}}class c extends r{init(){if(!this.options.productInfo&&console){console.error("[Klaviyo] Product info configuration was not set.");return}
1l.push(["track","Viewed Product",this.options.productInfo]),l.push(["trackViewedItem",{Title:this.options.productInfo.ProductName,ItemId:this.options.productInfo.ProductID,Categories:this.options.productInfo.Categories,ImageUrl:this.options.productInfo.ImageURL,Url:this.options.productInfo.URL,Metadata:{Brand:this.options.productInfo.Brand,Price:this.options.productInfo.Price,CompareAtPrice:this.options.productInfo.CompareAtPrice}}])}}c.options={productInfo:null};class d{static isSupported(){return"undefined"!==document.cookie}static setItem(t,e,s){if(null==t)throw Error("You must specify a key to set a cookie");let i=new Date;i.setTime(i.getTime()+864e5*s);let o="";"https:"===location.protocol&&(o="secure"),document.cookie="".concat(t,"=").concat(e,";expires=").concat(i.toUTCString(),";path=/;sameSite=lax;").concat(o)}static getItem(t){if(!t)return!1;let e=t+"=",s=document.cookie.split(";");for(let t=0;t<s.length;t++){let i=s[t];for(;" "===i.charAt(0);)i=i.substring(1);if(0===i.indexOf(e))return i.substring(e.length,i.length)}return!1}static removeItem(t){document.cookie="".concat(t,"= ; expires = Thu, 01 Jan 1970 00:00:00 GMT;path=/")}static key(){return""}static clear(){}}class u{setItem(t,e){return this._storage[t]=e}getItem(t){return Object.prototype.hasOwnProperty.call(this._storage,t)?this._storage[t]:null}removeItem(t){return delete this._storage[t]}key(t){return Object.values(this._storage)[t]||null}clear(){return this._storage={}}constructor(){this._storage={}}}class h{_chooseStorage(){return h._isSupported("localStorage")?this._storage=window.localStorage:h._isSupported("sessionStorage")?this._storage=window.sessionStorage:d.isSupported()?this._storage=d:this._storage=new u}static _isSupported(t){try{let e="__storage_test";return window[t].setItem(e,"1"),window[t].removeItem(e),!0}catch(t){return!1}}_validateStorage(){if("function"!=typeof this._storage.setItem)throw Error('The storage must have a "setItem" function');if("function"!=typeof this._storage.getItem)throw Error('The storage must have a "getItem" function');if("function"!=typeof this._storage.removeItem)throw Error('The storage must have a "removeItem" function');if("function"!=typeof this._storage.key)throw Error('The storage must have a "key" function');if("function"!=typeof this._storage.clear)throw Error('The storage must have a "clear" function')}getStorage(){return this._storage}constructor(){this._storage=null,this._chooseStorage(),this._validateStorage()}}let p=Object.freeze(new h).getStorage();class g{static setCookie(t,e,s){var i="";if(s){var o=new Date;o.setTime(o.getTime()+864e5*s),i="; expires="+o.toUTCString()}document.cookie=t+"="+(e||"")+i+"; path=/"}static getCookie(t){for(var e=t+"=",s=document.cookie.split(";"),i=0;i<s.length;i++){for(var o=s[i];" "==o.charAt(0);)o=o.substring(1,o.length);if(0==o.indexOf(e))return o.substring(e.length,o.length)}return null}}class f extends r{init(){this.storage=p,this.canInitializeKlaviyoScript()&&this.initKlaviyoScript(),this.registerEvents()}registerEvents(){this.isPageInteractionRequired()&&window.addEventListener("scroll",(function(){this.markAsInteracted(),!this.options.scriptInitialized&&this.isAllowToTrack()&&this.initKlaviyoScript()}).bind(this),{once:!0})}cookiebotOnDecline(){this.unsetKlaviyoCookie(),this.options.scriptInitialized=!1,this.storage.removeItem(this.options.storageKey);let t=document.querySelectorAll("script[type='text/javascript']");for(let e=0;e<t.length;e++)"string"==typeof t[e].src&&t[e].src.includes("klaviyo.com")&&t[e].parentNode.removeChild(t[e]);g.setCookie("__kla_id",null,-1)}onKlaviyoCookieConsentAllowed(){this.setKlaviyoCookie(),this.options.afterInteraction&&this.markAsInteracted(),this.canInitializeKlaviyoScript()&&this.initKlaviyoScript()}isAllowToTrack(){switch(this.options.cookieConsent){case"nothing":return!0;case"shopware":case"consentmanager":case"usercentrics":case"cookiebot":return g.getCookie("od-klaviyo-track-allow");default:return!1}}isPageInteractionRequired(){return!!this.options.afterInteraction&&!this.options.scriptInitialized&&!this.hasPageInteraction()}canInitializeKlaviyoScript(){return this.isPageInteractionRequired()?this.hasPageInteraction():!this.options.scriptInitialized&&this.isAllowToTrack()}initKlaviyoScript(){(function(){let t=document.createElement("script");t.type="text/javascript",t.setAttribute("async",!0),t.src="https://static.klaviyo.com/onsite/js/klaviyo.js?company_id="+this.options.publicApiKey,document.body.appendChild(t),this.options.scriptInitialized=!0}).bind(this)()}setKlaviyoCookie(){g.setCookie("od-klaviyo-track-allow","true",30)}unsetKlaviyoCookie(){g.setCookie("od-klaviyo-track-allow","",-1)}markAsInteracted(){this.storage.setItem(this.options.storageKey,f.STORAGE_VALUE)}hasPageInteraction(){return this.storage.getItem(this.options.storageKey)===f.STORAGE_VALUE}}f.STORAGE_VALUE="1",f.options={storageKey:"interacted_with_page",scriptInitialized:!1,afterInteraction:!1,publicApiKey:"",cookieConsent:""};class v{get(t,e){let s=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"application/json",i=this._createPreparedRequest("GET",t,s);return this._sendRequest(i,null,e)}post(t,e,s){let i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"application/json";i=this._getContentType(e,i);let o=this._createPreparedRequest("POST",t,i);return this._sendRequest(o,e,s)}delete(t,e,s){let i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"application/json";i=this._getContentType(e,i);let o=this._createPreparedRequest("DELETE",t,i);return this._sendRequest(o,e,s)}patch(t,e,s){let i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"application/json";i=this._getContentType(e,i);let o=this._createPreparedRequest("PATCH",t,i);return this._sendRequest(o,e,s)}
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,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}}class m extends r{init(){this._client=new v,this._getFormDataElements(),this.registerEvents()}_getFormDataElements(){this._email=o.querySelector(this.el,this.options.emailFieldSelector),this._subscribeToNewsletter=o.querySelector(this.el,this.options.subscribeToNewsletterSelector),this._successMessage=o.querySelector(this.el,this.options.successMessageSelector),this._errorMessage=o.querySelector(this.el,this.options.errorMessageSelector),this._emailNotValid=o.querySelector(this.el,this.options.notValidEmailMessageSelector),this._errorVariantMessage=o.querySelector(this.el,this.options.errorVariantMessageSelector);let t=document.querySelector("[data-klaviyo-plugin-version]"),e=document.querySelector("[data-klaviyo-plugin-version-db]"),s=document.querySelector("[data-klaviyo-shopware-version]");this.options.composerPluginVersion=t?t.getAttribute("data-klaviyo-plugin-version"):"unknown",this.options.dbPluginVersion=e?e.getAttribute("data-klaviyo-plugin-version-db"):"unknown",this.options.shopwareVersion=s?s.getAttribute("data-klaviyo-shopware-version"):"unknown"}registerEvents(){this.el.addEventListener("submit",this.onSubmit.bind(this))}onSubmit(t){return(t.preventDefault(),this._validateEmail(this._email.value))?this._proceedSubscription():this._showEmailValidationErrorMessage()}async _proceedSubscription(){let t=this._createFormData(),e=t.get("email"),s=JSON.stringify({data:{type:"back-in-stock-subscription",attributes:{channels:["EMAIL"],profile:{data:{type:"profile",attributes:{email:e}}}},relationships:{variant:{data:{type:"catalog-variant",id:"$custom:::$default:::"+(t.get("variant")?t.get("variant"):t.get("product"))}}}}});await fetch(this.options.apiURL+"/?company_id="+this.options.publicApiKey,{headers:{accept:this.options.fetchHeaderAccept,"content-type":this.options.contentType,revision:this.options.revision,"x-sw-plugin-version":this.options.composerPluginVersion,"x-sw-plugin-version-db":this.options.dbPluginVersion,"x-sw-version":this.options.shopwareVersion},body:s,method:"POST"}).then(s=>{"true"===t.get("subscribe_for_newsletter")&&this._proceedNewsletterSubscribe(e),this._handleResponse(s)}).catch(t=>{console.error(t)})}_handleResponse(t){return t.ok?this._showSuccessMessage():t.ok||404!==t.status?this._showErrorMessage():this._showErrorVariantMessage()}_proceedNewsletterSubscribe(t){this._subscribeToNewsletter&&this._client.post("/form/newsletter",JSON.stringify({email:t,option:"subscribe"}))}_showSuccessMessage(){this._email.value="",this._errorMessage.classList.add(this.options.hiddenCls),this._emailNotValid.classList.add(this.options.hiddenCls),this._successMessage.classList.remove(this.options.hiddenCls)}_showErrorMessage(){this._errorMessage.classList.remove(this.options.hiddenCls),this._emailNotValid.classList.add(this.options.hiddenCls),this._successMessage.classList.add(this.options.hiddenCls)}_showErrorVariantMessage(){this._errorVariantMessage.classList.remove(this.options.hiddenCls),this._errorMessage.classList.add(this.options.hiddenCls),this._emailNotValid.classList.add(this.options.hiddenCls),this._successMessage.classList.add(this.options.hiddenCls)}_showEmailValidationErrorMessage(){this._errorMessage.classList.add(this.options.hiddenCls),this._emailN
1otValid.classList.remove(this.options.hiddenCls),this._successMessage.classList.add(this.options.hiddenCls)}_createFormData(){let t=new URLSearchParams;return this.options.variantId!==this.options.productID&&(this.options.productID=this.options.variantId),t.append("a",this.options.publicApiKey),t.append("email",this._email.value),t.append("platform","api"),t.append("variant",this.options.variantId),t.append("product",this.options.productID),t.append("subscribe_for_newsletter",this._subscribeToNewsletter.checked),t}_validateEmail(t){return/^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/.test(t)}}m.options={errorCls:"has-error",validCls:"is-valid",emailFieldSelector:"#email",subscribeToNewsletterSelector:"#subscribeToNewsletter",apiURL:"https://a.klaviyo.com/client/back-in-stock-subscriptions",contentType:"application/json",revision:"2024-10-15",hiddenCls:"d-none",successMessageSelector:".klaviyo-success",errorMessageSelector:".klaviyo-error",errorVariantMessageSelector:".klaviyo-error-variant",notValidEmailMessageSelector:".klaviyo-email-not-valid",fetchHeaderAccept:"application/json",composerPluginVersion:null,dbPluginVersion:null,shopwareVersion:null};class y{static iterate(t,e){if(t instanceof Map||Array.isArray(t))return t.forEach(e);if(t instanceof FormData){for(var s of t.entries())e(s[1],s[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(s=>{e(t[s],s)});throw Error("The element type ".concat(typeof t," is not iterable!"))}}let b="js-offcanvas-singleton";class _{open(t,e,s,i,o,n,r){this._removeExistingOffCanvas();let a=this._createOffCanvas(s,n,r,i);this.setContent(t,o),this._openOffcanvas(a,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(b))}close(t){let e=this.getOffCanvas();y.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"),_.bsOffcanvas.show(),window.history.pushState("offcanvas-open",""),"function"==typeof e&&e()}_registerEvents(t){let e=this.getOffCanvas();y.iterate(e,s=>{let i=()=>{setTimeout(()=>{s.remove(),window.focusHandler.resumeFocusState("offcanvas"),this.$emitter.publish("onCloseOffcanvas",{offCanvasContent:e})},t),s.removeEventListener("hide.bs.offcanvas",i)};s.addEventListener("hide.bs.offcanvas",i)}),window.addEventListener("popstate",this.close.bind(this,t),{once:!0});let s=document.querySelectorAll(".".concat("js-offcanvas-close"));y.iterate(s,e=>e.addEventListener("click",this.close.bind(this,t)))}_removeExistingOffCanvas(){_.bsOffcanvas=null;let t=this.getOffCanvas();return y.iterate(t,t=>t.remove())}_getPositionClass(t){return"left"===t?"offcanvas-start":"right"===t?"offcanvas-end":"offcanvas-".concat(t)}_createOffCanvas(t,e,s,i){let o=document.createElement("div");if(o.classList.add("offcanvas",b),o.classList.add(this._getPositionClass(t)),o.setAttribute("tabindex","-1"),!0===e&&o.classList.add("is-fullwidth"),s){let t=typeof s;if("string"===t)o.classList.add(s);else if(Array.isArray(s))s.forEach(t=>{o.classList.add(t)});else throw Error('The type "'.concat(t,'" is not supported. Please pass an array or a string.'))}return document.body.appendChild(o),_.bsOffcanvas=new bootstrap.Offcanvas(o,{backdrop:!1!==i||"static"}),o}constructor(){this.$emitter=new n}}let w=Object.freeze(new _);class E{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",i=!(arguments.length>3)||void 0===arguments[3]||arguments[3],o=arguments.length>4&&void 0!==arguments[4]?arguments[4]:350,n=arguments.length>5&&void 0!==arguments[5]&&arguments[5],r=arguments.length>6&&void 0!==arguments[6]?arguments[6]:"";w.open(t,e,s,i,o,n,r)}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;w.setContent(t,e,s)}static setAdditionalClassName(t){w.setAdditionalClassName(t)}static close(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:350;w.close(t)}static exists(){return w.exists()}static getOffCanvas(){return w.getOffCanvas()}static REMOVE_OFF_CANVAS_DELAY(){return 350}}let C="loader",I={BEFORE:"before",INNER:"inner"};class k{create(){if(!this.exists()){if(this.position===I.INNER){this.parent.innerHTML=k.getTemplate();return}this.parent.insertAdjacentHTML(this._getPosition(),k.getTemplate())}}remove(){let t=this.parent.querySelectorAll(".".concat(C));y.iterate(t,t=>t.remove())}exists(){return this.parent.querySelectorAll(".".concat(C)).length>0}_getPosition(){return this.position===I.BEFORE?"afterbegin":"beforeend"}static getTemplate(){return'<div class="'.concat(C,'" role="status">
1\n                    <span class="').concat("visually-hidden",'">Loading...</span>\n                </div>')}static SELECTOR_CLASS(){return C}constructor(t,e=I.BEFORE){this.parent=t instanceof Element?t:document.body.querySelector(t),this.position=e}}let S=null;class A extends E{static open(){let t=arguments.length>0&&void 0!==arguments[0]&&arguments[0],e=arguments.length>1&&void 0!==arguments[1]&&arguments[1],s=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"left",o=!(arguments.length>4)||void 0===arguments[4]||arguments[4],n=arguments.length>5&&void 0!==arguments[5]?arguments[5]:E.REMOVE_OFF_CANVAS_DELAY(),r=arguments.length>6&&void 0!==arguments[6]&&arguments[6],a=arguments.length>7&&void 0!==arguments[7]?arguments[7]:"";if(!t)throw Error("A url must be given!");w._removeExistingOffCanvas();let l=w._createOffCanvas(i,r,a,o);this.setContent(t,e,s,o,n),w._openOffcanvas(l)}static setContent(t,e,s,i,o){let n=new v;super.setContent('<div class="offcanvas-body">'.concat(k.getTemplate(),"</div>"),i,o),S&&S.abort();let r=t=>{super.setContent(t,i,o),"function"==typeof s&&s(t)};S=e?n.post(t,e,A.executeCallback.bind(this,r)):n.get(t,A.executeCallback.bind(this,r))}static executeCallback(t,e){"function"==typeof t&&t(e),window.PluginManager.initializePlugins()}}let L="element-loader-backdrop";class T extends k{static create(t){t.classList.add("has-element-loader"),T.exists(t)||(T.appendLoader(t),setTimeout(()=>{let e=t.querySelector(".".concat(L));e&&e.classList.add("element-loader-backdrop-open")},1))}static remove(t){t.classList.remove("has-element-loader");let e=t.querySelector(".".concat(L));e&&e.remove()}static exists(t){return t.querySelectorAll(".".concat(L)).length>0}static getTemplate(){return'\n        <div class="'.concat(L,'">\n            <div class="loader" role="status">\n                <span class="').concat("visually-hidden",'">Loading...</span>\n            </div>\n        </div>\n        ')}static appendLoader(t){t.insertAdjacentHTML("beforeend",T.getTemplate())}}function O(){y.iterate(PluginManager.getPluginInstances("KlaviyoTracking"),t=>{t.onKlaviyoCookieConsentAllowed()})}function M(){y.iterate(PluginManager.getPluginInstances("KlaviyoTracking"),t=>{t.cookiebotOnDecline()})}window.router["frontend.cookie.offcanvas"],document.$emitter.subscribe("CookieConfiguration_Update",function(t){t&&t.detail["od-klaviyo-track-allow"]&&O()}),window.addEventListener("CookiebotOnAccept",O),window.addEventListener("CookiebotOnDecline",M),window.addEventListener("UC_CONSENT",t=>{var e,s;let i=((e=t.detail)===null||void 0===e?void 0:e.consent)||{},o=Object.values(i.services||{}).find(t=>{var e;return(null==t?void 0:(e=t.name)===null||void 0===e?void 0:e.toLowerCase())==="klaviyo"});if(o){((s=o.consent)===null||void 0===s?void 0:s.given)?O():M();return}"ALL_ACCEPTED"===i.status?O():M()}),window.cmp_id&&(__cmp("addEventListener",["consentrejected",M,!1],null),__cmp("addEventListener",["consentapproved",O,!1],null));let q=window.PluginManager;q.register("KlaviyoIdentityTrackingComponent",a,"[data-klaviyo-identity-tracking-component]"),q.register("KlaviyoProductViewedEventTrackingComponent",c,"[data-klaviyo-product-viewed-event-tracking-component]"),q.register("KlaviyoTracking",f,"[data-klaviyo-tracking]"),q.register("KlaviyoBackInStockNotification",m,"[data-klaviyo-back-in-stock-notification]")})()})();

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.