PageSourceSearch

https://zinkbakken.dk/theme/89fec0e0143898505c6fffd88afa0419/js/ze…izon.zen-content-accordion.plugin.614d34.js

js zinkbakken.dk collected 2026-09-26 07:49:43 UTC 10,371 bytes, 1 lines download raw bytes

1"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[28449],{8449:(t,e,i)=>{i.r(e),i.d(e,{default:()=>o});var s=i(4049),r=i(447);class o extends window.PluginBaseClass{init(){this._productDetailTabs=s.Z.querySelectorAll(this.el,this.options.tabSelector,!1),this._productDetailTabsContent=s.Z.querySelector(this.el,this.options.tabContentSelector,!1),(this._productDetailTabs||this._productDetailTabsContent)&&(this._templateInitialized=!1,this._reviewTabNavId="",this._onViewportHasChanged(),this._registerEvents())}_onViewportHasChanged(){let t=this.options;this._isInAllowedViewports(t.viewports)?(this.initTemplate("create"),this.$emitter.publish("onTemplateCreated")):!0===this._templateInitialized&&(this.initTemplate("delete"),this.$emitter.publish("onTemplateDeleted")),this.$emitter.publish("onViewportHasChanged")}_registerEvents(){document.addEventListener("Viewport/hasChanged",this._onViewportHasChanged.bind(this)),this.el.querySelectorAll("[data-bs-target]").forEach(t=>{t.addEventListener("click",this._scrollToTab.bind(this,t))})}initTemplate(t){let e=this.options;if("create"===t){if(!0===this._templateInitialized)return;this._productDetailTabsContent.classList.add(e.accordionClass),this._productDetailTabsContent.setAttribute("id",e.accordionId),this._productDetailTabs.forEach((t,e)=>{this._createAccordion(t,0===e)}),this._moveReviewTabId(),this._templateInitialized=!0}else this._productDetailTabsContent.classList.remove("accordion"),this._productDetailTabsContent.removeAttribute("id"),this._productDetailTabs.forEach(t=>{this._removeAccordion(t)}),this._resetReviewTabId(),this._templateInitialized=!1}_moveReviewTabId(){let t=this.options,e=s.Z.querySelector(this.el,t.reviewTabNavSelector,!1);e&&(this._reviewTabNavId=e.getAttribute("id"),e.removeAttribute("id"));let i=s.Z.querySelector(this.el,t.reviewAccordionNavSelector,!1);i&&i.setAttribute("id",this._reviewTabNavId)}_resetReviewTabId(){let t=this.options,e=s.Z.querySelector(this.el,t.reviewTabNavSelector,!1);e&&e.setAttribute("id",this._reviewTabNavId)}_createAccordion(t,e){var i,r;let o=this.options,a="",n=t.firstElementChild,l=s.Z.getAttribute(t,"href");null!==n?(n.hasAttribute("class")&&(n=n.previousSibling),a=(i=n.innerHTML)!==null&&void 0!==i?i:n.textContent.trim()):a=(r=t.childNodes[0].innerHTML)!==null&&void 0!==r?r:t.childNodes[0].textContent.trim();let d=s.Z.querySelector(document,l);d.classList.add(o.accordionCollapseClass,o.collapseClass),this._isInLargerViewports()&&d.setAttribute("data-bs-parent","#".concat(o.accordionId)),e?d.classList.add("show"):d.classList.remove("show");let c=document.createElement("button");c.setAttribute("type","button"),c.setAttribute("data-bs-toggle","collapse"),c.setAttribute("data-bs-target",l),c.setAttribute("aria-controls",l),c.innerHTML=a,e?(c.classList.add(o.accordionButtonClass),c.setAttribute("aria-expanded","true")):(c.classList.add(o.accordionButtonClass,o.collapsedClass),c.setAttribute("aria-expanded","false"));let u=document.createElement("div");u.classList.add(o.accordionHeaderClass,"product-detail-".concat(t.id,"-title")),u.innerHTML=c.outerHTML;let h=document.createElement("div");h.classList.add(o.accordionItemClass),h.innerHTML=u.outerHTML,d.parentNode.insertBefore(h,d),h.appendChild(d),this._handleNestedCollapse(d),this.$emitter.publish("onCreateAccordion")}_removeAccordion(t){let e=this.options,i=s.Z.getAttribute(t,"href"),r=s.Z.querySelector(document,i);r.classList.remove(e.accordionCollapseClass,e.collapseClass,e.collapsedClass,"show"),r.removeAttribute("data-bs-parent"),r.classList.add("show");let o=r.closest(".".concat(e.accordionItemClass));if(o){let t=s.Z.querySelector(o,".".concat(e.accordionHeaderClass),!1);o.removeChild(t);let i=o.parentElement;i.insertBefore(r,o),i.removeChild(o)}this.$emitter.publish("onRemoveAccordion")}_isInAllowedViewports(t){return!!t.includes(r.Z.getCurrentViewport())}_isInLargerViewports(){return r.Z.isSM()||r.Z.isMD()||r.Z.isLG()||r.Z.isXL()||r.Z.isXXL()}_handleNestedCollapse(t){let e=this.options,i=s.Z.querySelector(t,e.nestedCollapseBtnSelector,!1),r=i?i.getAttribute(e.collapseTargetAttr):null,o=s.Z.querySelector(t,r,!1);o&&t.addEventListener("show.bs.collapse",this._toggleClassOnNested.bind(this,i,o))}_toggleClassOnNested(t,e){let i=this.options;t.classList.toggle("collapsed",e.classList.contains(i.showClass))}_scrollToTab(t){let e=this.options;setTimeout(()=>{let i=t.parentNode||t,r=s.Z.querySelector(document,e.stickyHeaderSelector,!1),o=r?r.offsetHeight+80:80,a=i.getBoundingClientRect().top+window.scrollY;a<window.scrollY+o&&window.scrollTo({top:a-o,behavior:"smooth"})},350)}}o.options={accordionId:"product-detail-accordion",accordionClass:"accordion",collapseClass:"collapse",collapsedClass:"collapsed",accordionItemClass:"accordion-item",accordionCollapseClass:"accordion-collapse",accordionHeaderClass:"accordion-header",accordionButtonClass:"accordion-button",nestedCollapseBtnSelector:'[data-bs-toggle="collapse"]',showClass:"show",collapseTargetAttr:"data-bs-target",tabSelector:".product-detail-tab-navigation-link",tabContentSelector:".tab-content",reviewTabNavSelector:'.nav-link[href^="#review-tab"]',reviewAccordionNavSelector:'[data-bs-target^="#review-tab"]',viewports:'["LG", "XL", "XXL"]',stickyHeaderSelector:".header-main[data-zen-sticky-header]"}},9610:(t,e,i)=>{i.d(e,{Z:()=>s});class s{static debounce(t,e){let i,s=arguments.length>2&&void 0!==arguments[2]&&arguments[2];return function(){for(var r=arguments.length,o=Array(r),a=0;a<r;a++)o[a]=arguments[a];s&&!i&&setTimeout(t.bind(t,...o),0),clearTimeout(i),i=setTimeout(t.bind(t,...o),e)}}}},4049:(t,e,i)=>{i.d(e,{Z:()=>r});var s=i(5140);class r{static isNode(t){return"object"==typeof t&&null!==t&&(t===document||t===window||t instanceof Node)}static hasAttribute(t,e){if(!r.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 i=!(arguments.length>2)||void 0===arguments[2]||arguments[2];if(i&&!1===r.hasAttribute(t,e))throw Error('The required property "'.concat(e,'" does not exist!'));if("function"!=typeof t.getAttribute){if(i)throw Error("This node doesn't support the getAttribute function!");return}return t.getAttribute(e)}static getDataAttribute(t,e){let i=!(arguments.length>2)||void 0===arguments[2]||arguments[2],o=e.replace(/^data(|-)/,""),a=s.Z.toLowerCamelCase(o,"-");if(!r.isNode(t)){if(i)throw Error("The passed node is not a valid HTML Node!");return}if(void 0===t.dataset){if(i)throw Error("This node doesn't support the dataset attribute!");return}let n=t.dataset[a];if(void 0===n){if(i)throw Error('The required data attribute "'.concat(e,'" does not exist on ').concat(t,"!"));return n}return s.Z.parsePrimitive(n)}static querySelector(t,e){let i=!(arguments.length>2)||void 0===arguments[2]||arguments[2];if(i&&!r.isNode(t))throw Error("The parent node is not a valid HTML Node!");let s=t.querySelector(e)||!1;if(i&&!1===s)throw Error('The required element "'.concat(e,'" does not exist in parent node!'));return s}static querySelectorAll(t,e){let i=!(arguments.length>2)||void 0===arguments[2]||arguments[2];if(i&&!r.isNode(t))throw Error("The parent node is not a valid HTML Node!");let s=t.querySelectorAll(e);if(0===s.length&&(s=!1),i&&!1===s)throw Error('At least one item of "'.concat(e,'" must exist in parent node!'));return s}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]}}},5140:(t,e,i)=>{i.d(e,{Z:()=>s});class s{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 i=s.toUpperCamelCase(t,e);return s.lcFirst(i)}static toUpperCamelCase(t,e){return e?t.split(e).map(t=>s.ucFirst(t.toLowerCase())).join(""):s.ucFirst(t.toLowerCase())}static parsePrimitive(t){try{return/^\d+(.|,)\d+$/.test(t)&&(t=t.replace(",",".")),JSON.parse(t)}catch(e){return t.toString()}}}},447:(t,e,i)=>{i.d(e,{Z:()=>r});var s=i(9610);class r{_registerEvents(){window.addEventListener("DOMContentLoaded",this._onDOMContentLoaded.bind(this)),window.addEventListener("resize",s.Z.debounce(this._onResize.bind(this),200),{capture:!0,passive:!0})}_onDOMContentLoaded(){this._dispatchEvents()}_onResize(){this._viewportHasChanged(r.getCurrentViewport())&&(this._dispatchEvents(),this._dispatchViewportEvent("Viewport/hasChanged"))}_dispatchEvents(){r.isXS()?this._dispatchViewportEvent("Viewport/isXS"):r.isSM()?this._dispatchViewportEvent("Viewport/isSM"):r.isMD()?this._dispatchViewportEvent("Viewport/isMD"):r.isLG()?this._dispatchViewportEvent("Viewport/isLG"):r.isXL()?this._dispatchViewportEvent("Viewport/isXL"):r.isXXL()&&this._dispatchViewportEvent("Viewport/isXXL")}_viewportHasChanged(t){let e=t!==this.currentViewport;return e&&(this.previousViewport=this.currentViewport,this.currentViewport=t),e}_dispatchViewportEvent(t){document.$emitter.publish(t,{previousViewport:this.previousViewport})}static isXS(){return"XS"===r.getCurrentViewport()}static isSM(){return"SM"===r.getCurrentViewport()}static isMD(){return"MD"===r.getCurrentViewport()}static isLG(){return"LG"===r.getCurrentViewport()}static isXL(){return"XL"===r.getCurrentViewport()}static isXXL(){return"XXL"===r.getCurrentViewport()}static getCurrentViewport(){return window.getComputedStyle(document.documentElement).getPropertyValue("--sw-current-breakpoint").replace(/['"]+/g,"").toUpperCase()}constructor(){this.previousViewport=null,this.currentViewport=r.getCurrentViewport(),this._registerEvents()}}}}]);

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.