PageSourceSearch

https://www.bluebrixx.com/theme/8bb5980c4fb24c68e59ff44980ce6116/j…x.eseom-extended-magnifier.plugin.a83b8f.js

js bluebrixx.com collected 2026-09-24 18:52:26 UTC 14,297 bytes, 1 lines download raw bytes

1"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[2370],{156: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!==i},i="function"==typeof Symbol&&Symbol.for?Symbol.for("react.element"):60103;function r(t,e){return!1!==e.clone&&e.isMergeableObject(t)?a(Array.isArray(t)?[]:{},t,e):t}function s(t,e,i){return t.concat(e).map(function(t){return r(t,i)})}function o(t){return Object.keys(t).concat(Object.getOwnPropertySymbols?Object.getOwnPropertySymbols(t).filter(function(e){return Object.propertyIsEnumerable.call(t,e)}):[])}function n(t,e){try{return e in t}catch(t){return!1}}function a(t,i,l){(l=l||{}).arrayMerge=l.arrayMerge||s,l.isMergeableObject=l.isMergeableObject||e,l.cloneUnlessOtherwiseSpecified=r;var u,c,h=Array.isArray(i);return h!==Array.isArray(t)?r(i,l):h?l.arrayMerge(t,i,l):(c={},(u=l).isMergeableObject(t)&&o(t).forEach(function(e){c[e]=r(t[e],u)}),o(i).forEach(function(e){(!n(t,e)||Object.hasOwnProperty.call(t,e)&&Object.propertyIsEnumerable.call(t,e))&&(n(t,e)&&u.isMergeableObject(i[e])?c[e]=(function(t,e){if(!e.customMerge)return a;var i=e.customMerge(t);return"function"==typeof i?i:a})(e,u)(t[e],i[e],u):c[e]=r(i[e],u))}),c)}a.all=function(t,e){if(!Array.isArray(t))throw Error("first argument should be an array");return t.reduce(function(t,i){return a(t,i,e)},{})},t.exports=a},370:(t,e,i)=>{i.r(e),i.d(e,{default:()=>a});var r=i(335),s=i(285),o=i(640);class n extends r.A{static #t=this.options={zoomFactor:3,imageContainerSelector:".js-magnifier-container",imageSelector:".js-magnifier-image",fullImageDataAttribute:"data-full-image",zoomImageContainerSelector:".js-magnifier-zoom-image-container",overlayClass:"js-magnifier-overlay",zoomImageClass:"js-magnifier-zoom-image",magnifierOverGallery:!1,scaleZoomImage:!1,keepAspectRatioOnZoom:!0,cursorType:"none"};init(){this._imageContainers=this.el.querySelectorAll(this.options.imageContainerSelector),this.options.magnifierOverGallery?this._zoomImageContainer=this.el.querySelector(this.options.zoomImageContainerSelector):this._zoomImageContainer=document.querySelector(this.options.zoomImageContainerSelector),this._registerEvents()}_registerEvents(){this._imageContainers.forEach(t=>{let e=t.querySelector(this.options.imageSelector);e&&(e.addEventListener("mousemove",i=>this._onMouseMove(i,t,e),!1),t.addEventListener("mouseout",t=>this._stopMagnify(t),!1))})}_isActive(){return -1!==[o.A.isLG(),o.A.isXL(),o.A.isXXL()].indexOf(!0)}_setCursor(t,e){t&&(t.style.cursor=e)}_onMouseMove(t,e,i){if(this._isActive()&&(this._setCursor(i,this.options.cursorType),this._createOverlay(e),this._createZoomImage(),this._getImageUrl(i),this._imageUrl&&this._zoomImage&&this._overlay)){let r=this._getContainerPos(e),o=this._getImagePos(i),n=this._getImageDimensions(i),a=this._getImageSize(i),l=this._getOverlaySize(a),u=r.subtract(o);u.x=Math.abs(u.x),u.y=Math.abs(u.y);let c=new s.I9(t.pageX,t.pageY).subtract(o),h=c.divide(a).clamp(0,1);this._setOverlayPosition(u,l,a,h),this._setZoomImage(c,a,l,n)}this.$emitter.publish("onMouseMove")}_setOverlayPosition(t,e,i,r){let s=t.subtract(e.divide(2));return s=(s=s.add(i.multiply(r))).clamp(t,t.add(i).subtract(e)),this._overlay.style.left=`${s.x}px`,this._overlay.style.top=`${s.y}px`,s}_setZoomImage(t,e,i,r){this._setZoomImageSize(e),this._zoomImage.style.backgroundImage=`url('${this._imageUrl}')`;let s=this.calculateZoomBackgroundImageSize(r,e);this._zoomImage.style.backgroundSize=`${s.x}px ${s.y}px`;let o=this.calculateZoomImageBackgroundPosition(t,e,i,r,s);this._zoomImage.style.backgroundPosition=`-${o.x}px -${o.y}px`,this.$emitter.publish("setZoomImagePosition")}_setZoomImageSize(t){let e=t.y/t.x,i=this._getZoomImageSize(),r=window.innerHeight/2,s=Math.min(this.options.keepAspectRatioOnZoom?this.options.scaleZoomImage?i.x*e:i.y:i.x,r);this._zoomImage.style.height=`${s}px`,this._zoomImage.style.minHeight=`${s}px`}calculateZoomImageBackgroundPosition(t,e,i,r,o){let n=e.subtract(e.divide(this.options.zoomFactor)).subtract(new s.I9(1,1)),a=t.subtract(i.divide(2)).clamp(0,e.subtract(i)).divide(n),l=this.getImageOrientation(r,e),u=1-1/this.options.zoomFactor;return this.options.keepAspectRatioOnZoom&&(a=a.clamp(0,1)),0===l?(a=a.multiply(new s.I9(u,1)),a=(a=this.calculateImagePosition(a,e,r,"y","x")).multiply(new s.I9(1,u))):1===l&&(a=a.multiply(new s.I9(1,u)),a=(a=this.calculateImagePosition(a,e,r,"x","y")).multiply(new s.I9(u,1))),o.multiply(a)}
1calculateImagePosition(t,e,i,r,s){let o=(1-i[r]*(e[s]/e[r])/(i[s]/1))/2;return t[s]=this.calculateOffsetPercent(o,t[s]),t}calculateOffsetPercent(t,e){return t+(1-2*t)*e}calculateZoomBackgroundImageSize(t,e){let i=this.getImageOrientation(t,e),r=this._getZoomImageSize(),o=new s.I9(0,0);return 1===i?o=new s.I9(r.x,r.x*t.y/t.x):0===i&&(o=new s.I9(r.y*t.x/t.y,r.y)),o.multiply(this.options.zoomFactor)}getImageOrientation(t,e){return this._assertEqualFactors(t,e)?e.x>e.y?0:1:+(e.x/e.y>t.x/t.y)}_assertEqualFactors(t,e){let i=this._roundToTwoDigits(t.x/t.y);return this._roundToTwoDigits(e.x/e.y)===i}_getContainerPos(t){let e=t.getBoundingClientRect();return new s.I9(e.left+window.pageXOffset,e.top+window.pageYOffset)}_getImagePos(t){let e=t.getBoundingClientRect();return new s.I9(e.left+window.pageXOffset,e.top+window.pageYOffset)}_getImageDimensions(t){let{naturalWidth:e,naturalHeight:i}=t;return new s.I9(e,i)}_getImageSize(t){let e=t.getBoundingClientRect();return new s.I9(e.width,e.height)}_getZoomImageSize(){let t=this._zoomImage.getBoundingClientRect();return new s.I9(t.width,t.height)}_getOverlaySize(t){let e=t.divide(this.options.zoomFactor);if(!this.options.keepAspectRatioOnZoom){let t=Math.min(e.x,e.y);e.x=t,e.y=t}return this._overlay.style.width=`${Math.ceil(e.x)}px`,this._overlay.style.height=`${Math.ceil(e.y)}px`,e}_createOverlay(t){if(this._overlay=t.querySelector(`.${this.options.overlayClass}`),this._overlay)return this._overlay;let e=`<div class="magnifier-overlay  ${this.options.overlayClass}">&nbsp;</div>`;return this._overlay=t.insertAdjacentHTML("beforeend",e),this.$emitter.publish("createOverlay"),this._overlay}_removeOverlay(){document.querySelectorAll(`.${this.options.overlayClass}`).forEach(t=>t.remove()),this.$emitter.publish("removeOverlay")}_createZoomImage(){if(this._zoomImage=this._zoomImageContainer.querySelector(`.${this.options.zoomImageClass}`),this._zoomImage)return this._zoomImage;this._zoomImageContainer.style.position="relative";let t=`<div class="magnifier-zoom-image  ${this.options.zoomImageClass}">&nbsp;</div>`;return this._zoomImage=this._zoomImageContainer.insertAdjacentHTML("beforeend",t),this.$emitter.publish("createZoomImage"),this._zoomImage}_removeZoomImage(){document.querySelectorAll(`.${this.options.zoomImageClass}`).forEach(t=>t.remove()),this.$emitter.publish("removeZoomImage")}_getImageUrl(t){this._imageUrl=t.getAttribute(this.options.fullImageDataAttribute),this.$emitter.publish("getImageUrl")}_stopMagnify(){this._removeZoomImage(),this._removeOverlay(),document.querySelectorAll(this.options.imageSelector).forEach(t=>this._setCursor(t,"default")),this.$emitter.publish("stopMagnify")}_roundToTwoDigits(t){return Math.round(1e3*t)/1e3}}class a extends n{init(){this.productGalleryFirstPosY=document.querySelector(".product-detail-media>div").getBoundingClientRect().top+window.scrollY,super.init()}_setZoomImage(t,e,i,r){0===this.productGalleryFirstPosY&&this.productGalleryFirstPosY;let s=document.querySelector(".product-detail-media>div").getBoundingClientRect();this._zoomImage.style.top=s.top+window.scrollY-this.productGalleryFirstPosY+"px",super._setZoomImage(t,e,i,r)}}},59:(t,e,i)=>{i.d(e,{A:()=>r});class r{static debounce(t,e){let i,r=arguments.length>2&&void 0!==arguments[2]&&arguments[2];return function(){for(var s=arguments.length,o=Array(s),n=0;n<s;n++)o[n]=arguments[n];r&&!i&&setTimeout(t.bind(t,...o),0),clearTimeout(i),i=setTimeout(t.bind(t,...o),e)}}}},285:(t,e,i)=>{i.d(e,{I9:()=>s,Pq:()=>o});class r{constructor(t){this.entries=t.map((t,e)=>{if("number"!=typeof t)throw Error(`[Vector] argument ${e} must be a number ${typeof t} given.`);return t})}get dimension(){return this.entries.length}validateDimensions(t){if(this.dimension!==t.dimension)throw Error(`[Vector] dimension mismatch expected ${this.dimension} got ${t.dimension}`)}get x(){return this.entries[0]}set x(t){this.entries[0]=t}get y(){return this.entries[1]}set y(t){this.dimension>1&&(this.entries[1]=t)}get z(){return this.entries[2]}set z(t){this.dimension>2&&(this.entries[2]=t)}get w(){return this.entries[3]}set w(t){this.dimension>3&&(this.entries[3]=t)}length(){return Math.sqrt(this.entries.reduce((t,e)=>t+=e*e,0))}add(t){return this.validateDimensions(t),new this.constructor(this.entries.map((e,i)=>
1e+t.entries[i]))}multiply(t){if(t instanceof r)return this.validateDimensions(t),new this.constructor(this.entries.map((e,i)=>e*t.entries[i]));if("number"!=typeof t||Number.isNaN(t))throw Error("[Vector] multiply: factor must be number or vector");return new this.constructor(this.entries.map(e=>t*e))}subtract(t){return this.add(t.multiply(-1))}divide(t){if(t instanceof r)return new this.constructor(this.entries.map((e,i)=>e/t.entries[i]));if(0===t)throw Error("Can't divide by 0");return this.multiply(1/t)}normalize(){return new this.constructor(this.divide(this.length()))}equals(){for(var t=arguments.length,e=Array(t),i=0;i<t;i++)e[i]=arguments[i];let s=e[0]instanceof r?e[0]:new r(Array.isArray(e[0])?e[0]:e);try{return this.validateDimensions(s),this.entries.reduce((t,e,i)=>(e!==s.entries[i]&&(t=!1),t),!0)}catch(t){return!1}}dot(t){return this.validateDimensions(t),this.entries.reduce((e,i,r)=>e+=i*t.entries[r],0)}clamp(t,e){return"number"==typeof t&&(t=new this.constructor(Array(this.dimension).fill(t))),"number"==typeof e&&(e=new this.constructor(Array(this.dimension).fill(e))),new this.constructor(this.entries.map((i,r)=>i<t.entries[r]?t.entries[r]:i>e.entries[r]?e.entries[r]:i))}}class s extends r{constructor(t,e){if(t instanceof r){super(t.entries.slice(0,2));return}if(Array.isArray(t)){super(t.slice(0,2));return}super([t,e])}angle(){return(Math.atan2(this.y,this.x)*(180/Math.PI)+360)%360}}class o extends r{constructor(t,e,i){if(t instanceof r){super(t.entries.slice(0,3));return}if(Array.isArray(t)){super(t.slice(0,3));return}super([t,e,i])}cross(t){return new this.constructor(this.y*t.z-this.z*t.y,this.z*t.x-this.x*t.z,this.x*t.y-this.y*t.x)}}},640:(t,e,i)=>{i.d(e,{A:()=>s});var r=i(59);class s{constructor(){this.previousViewport=null,this.currentViewport=s.getCurrentViewport(),this._registerEvents()}_registerEvents(){window.addEventListener("DOMContentLoaded",this._onDOMContentLoaded.bind(this)),window.addEventListener("resize",r.A.debounce(this._onResize.bind(this),200),{capture:!0,passive:!0})}_onDOMContentLoaded(){this._dispatchEvents()}_onResize(){this._viewportHasChanged(s.getCurrentViewport())&&(this._dispatchEvents(),this._dispatchViewportEvent("Viewport/hasChanged"))}_dispatchEvents(){s.isXS()?this._dispatchViewportEvent("Viewport/isXS"):s.isSM()?this._dispatchViewportEvent("Viewport/isSM"):s.isMD()?this._dispatchViewportEvent("Viewport/isMD"):s.isLG()?this._dispatchViewportEvent("Viewport/isLG"):s.isXL()?this._dispatchViewportEvent("Viewport/isXL"):s.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"===s.getCurrentViewport()}static isSM(){return"SM"===s.getCurrentViewport()}static isMD(){return"MD"===s.getCurrentViewport()}static isLG(){return"LG"===s.getCurrentViewport()}static isXL(){return"XL"===s.getCurrentViewport()}static isXXL(){return"XXL"===s.getCurrentViewport()}static getCurrentViewport(){return window.getComputedStyle(document.documentElement).getPropertyValue("--sw-current-breakpoint").replace(/['"]+/g,"").toUpperCase()}}},335:(t,e,i)=>{i.d(e,{A:()=>a});var r=i(156),s=i.n(r);class o{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=o.toUpperCamelCase(t,e);return o.lcFirst(i)}static toUpperCamelCase(t,e){return e?t.split(e).map(t=>o.ucFirst(t.toLowerCase())).join(""):o.ucFirst(t.toLowerCase())}static parsePrimitive(t){try{return/^\d+(.|,)\d+$/.test(t)&&(t=t.replace(",",".")),JSON.parse(t)}catch(e){return t.toString()}}}var n=i(308);class a{constructor(t,e={},i=!1){if(!(t instanceof Node)){console.warn(`There is no valid element given while trying to create a plugin instance for "${i}".`);return}this.el=t,this.$emitter=new n.A(this.el),this._pluginName=this._getPluginName(i),this.options=this._mergeOptions(e),this._initialized=!1,this._registerInstance(),this._init()}init(){console.warn(`The "init" method for the plugin "${this._pluginName}" is not defined. The plugin will not be initialized.`)}update(){}
1_init(){this._initialized||(this.init(),this._initialized=!0)}_update(){this._initialized&&this.update()}_mergeOptions(t){let e=[this.constructor.options,this.options,t];return e.push(this._getConfigFromDataAttribute()),e.push(this._getOptionsFromDataAttribute()),s().all(e.filter(t=>t instanceof Object&&!(t instanceof Array)).map(t=>t||{}))}_getConfigFromDataAttribute(){let t={};if("function"!=typeof this.el.getAttribute)return t;let e=o.toDashCase(this._pluginName),i=this.el.getAttribute(`data-${e}-config`);return i?window.PluginConfigManager.get(this._pluginName,i):t}_getOptionsFromDataAttribute(){let t={};if("function"!=typeof this.el.getAttribute)return t;let e=o.toDashCase(this._pluginName),i=this.el.getAttribute(`data-${e}-options`);if(i)try{return JSON.parse(i)}catch(t){console.error(`The data attribute "data-${e}-options" could not be parsed to json: ${t.message}`)}return 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}}}}]);

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.