PageSourceSearch

https://www.plusled.dk/theme/dcebea11cd9bf22b2e6fe02519e67336/js/s…omized-products-image-zoom.plugin.255beb.js

js plusled.dk collected 2026-10-05 07:55:49 UTC 12,233 bytes, 1 lines download raw bytes

1"use strict";(self.webpackChunk=self.webpackChunk||[]).push([["swag-customized-products-image-zoom.plugin"],{857:e=>{var t=function(e){var t;return!!e&&"object"==typeof e&&"[object RegExp]"!==(t=Object.prototype.toString.call(e))&&"[object Date]"!==t&&e.$$typeof!==i},i="function"==typeof Symbol&&Symbol.for?Symbol.for("react.element"):60103;function r(e,t){return!1!==t.clone&&t.isMergeableObject(e)?a(Array.isArray(e)?[]:{},e,t):e}function s(e,t,i){return e.concat(t).map(function(e){return r(e,i)})}function n(e){return Object.keys(e).concat(Object.getOwnPropertySymbols?Object.getOwnPropertySymbols(e).filter(function(t){return Object.propertyIsEnumerable.call(e,t)}):[])}function o(e,t){try{return t in e}catch(e){return!1}}function a(e,i,c){(c=c||{}).arrayMerge=c.arrayMerge||s,c.isMergeableObject=c.isMergeableObject||t,c.cloneUnlessOtherwiseSpecified=r;var l,u,d=Array.isArray(i);return d!==Array.isArray(e)?r(i,c):d?c.arrayMerge(e,i,c):(u={},(l=c).isMergeableObject(e)&&n(e).forEach(function(t){u[t]=r(e[t],l)}),n(i).forEach(function(t){(!o(e,t)||Object.hasOwnProperty.call(e,t)&&Object.propertyIsEnumerable.call(e,t))&&(o(e,t)&&l.isMergeableObject(i[t])?u[t]=(function(e,t){if(!t.customMerge)return a;var i=t.customMerge(e);return"function"==typeof i?i:a})(t,l)(e[t],i[t],l):u[t]=r(i[t],l))}),u)}a.all=function(e,t){if(!Array.isArray(e))throw Error("first argument should be an array");return e.reduce(function(e,i){return a(e,i,t)},{})},e.exports=a},49:(e,t,i)=>{i.d(t,{Z:()=>s});var r=i(140);class s{static isNode(e){return"object"==typeof e&&null!==e&&(e===document||e===window||e instanceof Node)}static hasAttribute(e,t){if(!s.isNode(e))throw Error("The element must be a valid HTML Node!");return"function"==typeof e.hasAttribute&&e.hasAttribute(t)}static getAttribute(e,t){let i=!(arguments.length>2)||void 0===arguments[2]||arguments[2];if(i&&!1===s.hasAttribute(e,t))throw Error('The required property "'.concat(t,'" does not exist!'));if("function"!=typeof e.getAttribute){if(i)throw Error("This node doesn't support the getAttribute function!");return}return e.getAttribute(t)}static getDataAttribute(e,t){let i=!(arguments.length>2)||void 0===arguments[2]||arguments[2],n=t.replace(/^data(|-)/,""),o=r.Z.toLowerCamelCase(n,"-");if(!s.isNode(e)){if(i)throw Error("The passed node is not a valid HTML Node!");return}if(void 0===e.dataset){if(i)throw Error("This node doesn't support the dataset attribute!");return}let a=e.dataset[o];if(void 0===a){if(i)throw Error('The required data attribute "'.concat(t,'" does not exist on ').concat(e,"!"));return a}return r.Z.parsePrimitive(a)}static querySelector(e,t){let i=!(arguments.length>2)||void 0===arguments[2]||arguments[2];if(i&&!s.isNode(e))throw Error("The parent node is not a valid HTML Node!");let r=e.querySelector(t)||!1;if(i&&!1===r)throw Error('The required element "'.concat(t,'" does not exist in parent node!'));return r}static querySelectorAll(e,t){let i=!(arguments.length>2)||void 0===arguments[2]||arguments[2];if(i&&!s.isNode(e))throw Error("The parent node is not a valid HTML Node!");let r=e.querySelectorAll(t);if(0===r.length&&(r=!1),i&&!1===r)throw Error('At least one item of "'.concat(t,'" must exist in parent node!'));return r}static getFocusableElements(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:document.body;return e.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([tabindex^="-"]):not([disabled])\n        ')}static getFirstFocusableElement(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:document.body;return this.getFocusableElements(e)[0]}static getLastFocusableElement(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:document,t=this.getFocusableElements(e);return t[t.length-1]}}},266:(e,t,i)=>{i.d(t,{Z:()=>r});class r{static iterate(e,t){if(e instanceof Map||Array.isArray(e))return e.forEach(t);if(e instanceof FormData){for(var i of e.entries())t(i[1],i[0]);return}if(e instanceof NodeList)return e.forEach(t);if(e instanceof HTMLCollection)return Array.from(e).forEach(t);if(e instanceof Object)return Object.keys(e).forEach(i=>
1{t(e[i],i)});throw Error("The element type ".concat(typeof e," is not iterable!"))}}},140:(e,t,i)=>{i.d(t,{Z:()=>r});class r{static ucFirst(e){return e.charAt(0).toUpperCase()+e.slice(1)}static lcFirst(e){return e.charAt(0).toLowerCase()+e.slice(1)}static toDashCase(e){return e.replace(/([A-Z])/g,"-$1").replace(/^-/,"").toLowerCase()}static toLowerCamelCase(e,t){let i=r.toUpperCamelCase(e,t);return r.lcFirst(i)}static toUpperCamelCase(e,t){return t?e.split(t).map(e=>r.ucFirst(e.toLowerCase())).join(""):r.ucFirst(e.toLowerCase())}static parsePrimitive(e){try{return/^\d+(.|,)\d+$/.test(e)&&(e=e.replace(",",".")),JSON.parse(e)}catch(t){return e.toString()}}}},293:(e,t,i)=>{i.d(t,{Z:()=>c});var r=i(857),s=i.n(r),n=i(49),o=i(140);class a{publish(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},i=arguments.length>2&&void 0!==arguments[2]&&arguments[2],r=new CustomEvent(e,{detail:t,cancelable:i});return this.el.dispatchEvent(r),r}subscribe(e,t){let i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},r=this,s=e.split("."),n=i.scope?t.bind(i.scope):t;if(i.once&&!0===i.once){let t=n;n=function(i){r.unsubscribe(e),t(i)}}return this.el.addEventListener(s[0],n),this.listeners.push({splitEventName:s,opts:i,cb:n}),!0}unsubscribe(e){let t=e.split(".");return this.listeners=this.listeners.reduce((e,i)=>([...i.splitEventName].sort().toString()===t.sort().toString()?this.el.removeEventListener(i.splitEventName[0],i.cb):e.push(i),e),[]),!0}reset(){return this.listeners.forEach(e=>{this.el.removeEventListener(e.splitEventName[0],e.cb)}),this.listeners=[],!0}get el(){return this._el}set el(e){this._el=e}get listeners(){return this._listeners}set listeners(e){this._listeners=e}constructor(e=document){this._el=e,e.$emitter=this,this._listeners=[]}}class c{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(e){let t=o.Z.toDashCase(this._pluginName),i=n.Z.getDataAttribute(this.el,"data-".concat(t,"-config"),!1),r=n.Z.getAttribute(this.el,"data-".concat(t,"-options"),!1),a=[this.constructor.options,this.options,e];i&&a.push(window.PluginConfigManager.get(this._pluginName,i));try{r&&a.push(JSON.parse(r))}catch(e){throw console.error(this.el),Error('The data attribute "data-'.concat(t,'-options" could not be parsed to json: ').concat(e.message))}return s().all(a.filter(e=>e instanceof Object&&!(e instanceof Array)).map(e=>e||{}))}_registerInstance(){window.PluginManager.getPluginInstancesFromElement(this.el).set(this._pluginName,this),window.PluginManager.getPlugin(this._pluginName,!1).get("instances").push(this)}_getPluginName(e){return e||(e=this.constructor.name),e}constructor(e,t={},i=!1){if(!n.Z.isNode(e))throw Error("There is no valid element given.");this.el=e,this.$emitter=new a(this.el),this._pluginName=this._getPluginName(i),this.options=this._mergeOptions(t),this._initialized=!1,this._registerInstance(),this._init()}}},202:(e,t,i)=>{i.r(t),i.d(t,{default:()=>m});var r=i(293),s=i(49);class n{static isTouchDevice(){return"ontouchstart"in document.documentElement}static isIOSDevice(){return n.isIPhoneDevice()||n.isIPadDevice()}static isNativeWindowsBrowser(){return n.isIEBrowser()||n.isEdgeBrowser()}static isIPhoneDevice(){return!!navigator.userAgent.match(/iPhone/i)}static isIPadDevice(){return!!navigator.userAgent.match(/iPad/i)}static isIEBrowser(){return -1!==navigator.userAgent.toLowerCase().indexOf("msie")||!!navigator.userAgent.match(/Trident.*rv:\d+\./)}static isEdgeBrowser(){return!!navigator.userAgent.match(/Edge\/\d+/i)}static getList(){return{"is-touch":n.isTouchDevice(),"is-ios":n.isIOSDevice(),"is-native-windows":n.isNativeWindowsBrowser(),"is-iphone":n.isIPhoneDevice(),"is-ipad":n.isIPadDevice(),"is-ie":n.isIEBrowser(),"is-edge":n.isEdgeBrowser()}}}var o=i(266);let a="modal-backdrop",c="modal-backdrop-open",l="no-scroll",u={ON_CLICK:"backdrop/onclick"};class d{create(e){this._removeExistingBackdrops(),document.body.insertAdjacentHTML("beforeend",this._getTemplate());let t=document.body.lastChild;document.documentElement.classList.add(l),setTimeout(function(){t.classList.add(c),"function"==typeof e&&e()},75),this._dispatchEvents()}remove(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:350,t=this._getBackdrops();o.Z.iterate(t,e=>e.classList.remove(c)),setTimeout(this._removeExistingBackdrops.bind(this),e),document.documentElement.classList.remove(l)}_dispatchEvents(){let e=n.isTouchDevice()?"touchstart":"click";document.addEventListener(e,function(e){e.target.classList.contains(a)&&document.dispatchEvent(new CustomEvent(u.ON_CLICK))})}_getBackdrops(){return document.querySelectorAll(".".concat(a))}_removeExistingBackdrops(){if(!1===this._exists())return;let e=this._getBackdrops();o.Z.iterate(e,e=>e.remove())}_exists(){return document.querySelectorAll(".".concat(a)).length>0}_getTemplate(){return'<div class="'.concat(a,'"></div>')}constructor(){return d.instance||(d.instance=this),d.instance}}let h=Object.freeze(new d);class p{static create(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null;h.create(e)}static remove(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:350;h.remove(e)}static SELECTOR_CLASS(){return a}}class m extends r.Z{init(){this.template=s.Z.querySelector(this.el,this.options.templateSelector),this.imageEl=s.Z.querySelector(this.el,this.options.imageSelector),this.contentEl=null,this.closeButtonEl
1=null,this.prepareModalContent(),this.registerEvents()}registerEvents(){this.el.addEventListener("click",this.onImageClicked.bind(this)),this.el.addEventListener("keypress",e=>{"Enter"!==e.key&&" "!==e.key||this.contentEl||this.onImageClicked(e)})}registerKeyUpEventListener(){s.Z.querySelector(document,"body").addEventListener("keyup",this.onEscapePressed.bind(this),{once:!0})}prepareModalContent(){let e=s.Z.getAttribute(this.imageEl,"src"),t=s.Z.getAttribute(this.imageEl,"alt"),i=this.template,r=s.Z.querySelector(i,this.options.template.imageSelector),n=s.Z.querySelector(i,this.options.template.captionSelector);return r.setAttribute("src",e),r.setAttribute("alt",t),n.innerText=t,this.$emitter.publish("prepareModalContent",{content:i,imageCaption:t,imageSrc:e}),!0}onImageClicked(e){e.preventDefault(),this.$emitter.publish("onImageClicked",{event:e}),this.spawnZoomModal()}onCloseClicked(e){e.preventDefault(),this.$emitter.publish("onCloseClicked",{event:e}),p.remove(),s.Z.querySelector(document,"body").removeChild(this.contentEl)}onEscapePressed(e){if(e.preventDefault(),"Escape"!==e.code){this.registerKeyUpEventListener();return}this.$emitter.publish("onEscapeKeyUp",{event:e}),p.remove(),s.Z.querySelector(document,"body").removeChild(this.contentEl),this.contentEl=null}spawnZoomModal(){return this.contentEl=this.template.firstElementChild.cloneNode(!0),this.contentEl.setAttribute("aria-modal",!0),this.contentEl.setAttribute("role","dialog"),this.contentEl.setAttribute("inert",!0),this.contentEl.setAttribute("aria-labelledby","imageZoomModal"),this.closeButtonEl=s.Z.querySelector(this.contentEl,this.options.template.closeButtonSelector),this.closeButtonEl.addEventListener("click",this.onCloseClicked.bind(this),{once:!0}),this.registerKeyUpEventListener(),p.create(()=>{s.Z.querySelector(document,"body").appendChild(this.contentEl)}),this.$emitter.publish("spawnZoomModal",{contentEl:this.contentEl}),!0}}m.options={imageSelector:".swag-customized-products-option__image",templateSelector:".swag-customized-products-image-zoom__template",template:{imageSelector:".swag-customized-products-image-zoom__image",captionSelector:".swag-customized-products-image-zoom__caption",closeButtonSelector:".swag-customized-products-image-zoom__icon-close"}}}}]);

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.