{
  "version": 3,
  "sources": ["/cdn/shop/t/1044/assets/component-product-image-zoom.js?auto=format%2Ccompress"],
  "sourcesContent": ["if ( typeof ProductImageZoom !== 'function' ) {\n\tclass ProductImageZoom extends HTMLElement {\n\n\t\tconstructor(){\n\n\t\t\tsuper();\n\n\t\t\tif ( ! document.getElementById('zoom') ) {\n\t\t\t\tthis.zoom = document.createElement('div');\n\t\t\t\tthis.zoom.id = 'zoom';\n\t\t\t\tthis.zoom.innerHTML = `\n\t\t\t\t\t<img />\n\t\t\t\t\t<span class=\"zoom__exit\">${KROWN.settings.symbols.zoom_out}</span>\n\t\t\t\t\t<span class=\"zoom__loader\">${KROWN.settings.symbols.zoom_loader}</span>\n\t\t\t\t\t<div class=\"zoom__overlay\"></div>\n\t\t\t\t`;\n\t\t\t\tdocument.body.append(this.zoom);\n\t\t\t\tthis.zoom.querySelector('.zoom__exit').addEventListener('click', this._productZoomUnmount.bind(this));\n\t\t\t} else {\n\t\t\t\tthis.zoom = document.getElementById('zoom');\n\t\t\t}\n\n\t\t\tthis.onMouseMoveHandlerBinded = this.onMouseMoveHandler.bind(this);\n\t\t\tthis.onResizeHandlerBinded = this.onResizeHandler.bind(this);\n\n\t\t\tthis.addEventListener('click', (e)=>{\n\t\t\t\tthis.zoom.classList.add('opened');\n\t\t\t\tthis.image = this.zoom.querySelector('img');\n\t\t\t\tthis.image.src = this.getAttribute('data-image');\n\t\t\t\tif ( this.image.naturalWidth > 0 ) {\n\t\t\t\t\tthis._productZoomMount();\n\t\t\t\t} else {\n\t\t\t\t\tthis.image.addEventListener('load', this._productZoomMount.bind(this));\n\t\t\t\t}\n\t\t\t});\n\n\t\t}\n\n\t\tonMouseMoveHandler(e){\n\t\t\twindow.clientX = e.clientX;\n\t\t\twindow.clientY = e.clientY;\n\t\t\tconst x = e.clientX * ( window.innerWidth - this.image.offsetWidth ) / window.innerWidth;\n\t\t\tconst y = e.clientY * ( window.innerHeight - this.image.offsetHeight ) / window.innerHeight;\n\t\t\tthis.image.style.left = x + 'px';\n\t\t\tthis.image.style.top = y + 'px';\n\t\t}\n\n\t\tonResizeHandler(){\n\n\t\t\tconst rf = window.innerWidth > 768 ? 1 : 2;\n\n\t\t\tif ( this.image.classList.contains('portrait') ) {\n\t\t\t\tthis.image.style.width = ( window.innerWidth*rf ) + 'px';\n\t\t\t\tthis.image.style.height = ( window.innerWidth*rf / this.image.dataset.ratio ) + 'px';\n\t\t\t} else {\n\n\t\t\t\tthis.image.style.height = ( window.innerHeight*rf ) + 'px';\n\t\t\t\tthis.image.style.width = ( window.innerHeight*rf * this.image.dataset.ratio ) + 'px';\n\n\t\t\t\tif ( this.image.offsetWidth < window.innerWidth ) {\n\t\t\t\t\tthis.image.style.width = ( window.innerWidth*rf ) + 'px';\n\t\t\t\t\tthis.image.style.height = ( window.innerWidth*rf / this.image.dataset.ratio ) + 'px';\n\t\t\t\t}\n\n\t\t\t}\n\n\t\t\tconst x = window.clientX * ( window.innerWidth - this.image.offsetWidth ) / window.innerWidth;\n\t\t\tconst y = window.clientY * ( window.innerHeight - this.image.offsetHeight ) / window.innerHeight;\n\n\t\t}\n\n\t\t_productZoomMount(image) {\n\n\t\t\tthis.image.style.left = 0;\n\t\t\tthis.image.style.top = 0;\n\n\t\t\twindow.addEventListener('mousemove', this.onMouseMoveHandlerBinded, {passive:true});\n\n\t\t\tthis.image.dataset.ratio = this.image.naturalWidth / this.image.naturalHeight;\n\t\t\twindow.addEventListener('resize', this.onResizeHandlerBinded, {passive:true});\n\t\t\tthis.onResizeHandler();\n\n\t\t\tsetTimeout(()=>{\n\t\t\t\tif ( document.body.classList.contains('touch') || document.body.classList.contains('touchevents') ) {\n\t\t\t\t\tthis.zoom.scrollTop = ( window.innerHeight - this.image.offsetHeight ) / -2;\n\t\t\t\t\tthis.zoom.scrollLeft = ( window.innerWidth - this.image.offsetWidth ) / -2;\n\t\t\t\t}\n\t\t\t\tthis.zoom.classList.add('loaded');\n\t\t\t}, 50);\n\n\t\t}\n\n\t\t_productZoomUnmount() {\n\n\t\t\tthis.zoom.classList.remove('opened');\n\n\t\t\tsetTimeout(()=>{\n\t\t\t\twindow.removeEventListener('resize', this.onResizeHandlerBinded);\n\t\t\t\twindow.removeEventListener('mousemove', this.onMouseMoveHandlerBinded);\n\t\t\t\tconst image = document.querySelector('#zoom img');\n\t\t\t\timage.src = '';\n\t\t\t\timage.className = '';\n\t\t\t\timage.style = '';\n\t\t\t\tthis.zoom.classList.remove('loaded');\n\t\t\t}, 300);\n\n\t\t}\n\n\t}\n\n  if ( typeof customElements.get('product-image-zoom') == 'undefined' ) {\n\t\tcustomElements.define('product-image-zoom', ProductImageZoom);\n\t}\n\n}"],
  "mappings": "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",
  "names": ["ProductImageZoom"]
}
