{
  "version": 3,
  "sources": ["/cdn/shop/t/11/assets/promotional-media.js?qa=1790135817971"],
  "sourcesContent": ["/* BOLODOO promotional media v1 */\n(() => {\n  if (customElements.get('promotional-media')) return;\n  class PromotionalMedia extends HTMLElement {\n    connectedCallback() {\n      if (this.closest('floated-form, .product__sticky, [data-sticky-cart]')) { this.remove(); return; }\n      if (this.initialized) return;\n      this.links = [...this.querySelectorAll('.promotional-media__open')];\n      this.dialog = this.querySelector('dialog');\n      if (!this.links.length || !this.dialog) { this.remove(); return; }\n      this.initialized = true;\n      this.stage = this.querySelector('.promotional-media__stage');\n      this.muteButton = this.querySelector('.promotional-media__mute');\n      this.closeButton = this.querySelector('.promotional-media__close');\n      this.previous = this.querySelector('.promotional-media__previous');\n      this.next = this.querySelector('.promotional-media__next');\n      this.addEventListener('click', event => {\n        const link = event.target.closest('.promotional-media__open');\n        if (!link || !this.contains(link) || event.ctrlKey || event.metaKey || event.shiftKey || event.altKey || !this.dialog.showModal) return;\n        event.preventDefault(); this.opener = link;\n        this.show(this.links.indexOf(link));\n        this.dialog.showModal();\n        this.playCurrent();\n        this.closeButton.focus();\n      });\n      this.closeButton.addEventListener('click', () => this.dialog.close());\n      if (this.muteButton) this.muteButton.addEventListener('click', () => {\n        const video = this.stage.querySelector('video');\n        if (!video) return;\n        video.muted = !video.muted;\n        this.updateMuteButton();\n      });\n      this.previous.addEventListener('click', () => this.show(this.index - 1));\n      this.next.addEventListener('click', () => this.show(this.index + 1));\n      this.dialog.addEventListener('keydown', event => {\n        if (event.target.tagName !== 'VIDEO' && ['ArrowLeft', 'ArrowRight'].includes(event.key)) {\n          event.preventDefault(); this.show(this.index + (event.key === 'ArrowLeft' ? -1 : 1));\n        }\n        if (event.key === 'Tab') {\n          const controls = [...this.dialog.querySelectorAll('button:not([disabled]):not([hidden]), video')];\n          const first = controls[0], last = controls[controls.length - 1];\n          if (event.shiftKey && document.activeElement === first) { event.preventDefault(); last.focus(); }\n          else if (!event.shiftKey && document.activeElement === last) { event.preventDefault(); first.focus(); }\n        }\n      });\n      this.dialog.addEventListener('click', event => {\n        if (event.target !== this.dialog) return;\n        const box = this.dialog.getBoundingClientRect();\n        if (event.clientX < box.left || event.clientX > box.right || event.clientY < box.top || event.clientY > box.bottom) this.dialog.close();\n      });\n      this.dialog.addEventListener('close', () => { this.stop(); this.opener?.focus({ preventScroll: true }); });\n    }\n    stop() {\n      const video = this.stage?.querySelector('video');\n      if (video) {\n        if (document.fullscreenElement === video) document.exitFullscreen?.().catch(() => {});\n        if (video.webkitDisplayingFullscreen && video.webkitExitFullscreen) video.webkitExitFullscreen();\n        video.pause(); video.removeAttribute('src'); video.load();\n      }\n      this.stage?.replaceChildren();\n    }\n    updateMuteButton() {\n      const video = this.stage?.querySelector('video');\n      if (!video || !this.muteButton) return;\n      this.muteButton.querySelector('.promotional-media__sound-icon')?.classList.toggle('is-muted', video.muted);\n      this.muteButton.setAttribute('aria-label', video.muted ? 'Unmute video' : 'Mute video');\n    }\n    playCurrent() {\n      const video = this.stage?.querySelector('video');\n      if (!video) return;\n      const play = () => video.play().catch(() => {});\n      if (video.readyState >= 1) play();\n      else video.addEventListener('loadedmetadata', play, { once: true });\n    }\n    show(index) {\n      if (index < 0 || index >= this.links.length) return;\n      this.stop(); this.index = index;\n      const link = this.links[index], video = document.createElement('video');\n      video.controls = true; video.autoplay = true; video.muted = true; video.loop = true; video.playsInline = true; video.preload = 'metadata';\n      video.poster = link.dataset.preview; video.src = link.href;\n      video.setAttribute('aria-label', link.dataset.caption || 'Product video');\n      const error = this.querySelector('.promotional-media__error'); error.hidden = true;\n      video.addEventListener('error', () => { if (video.isConnected) error.hidden = false; });\n      this.stage.replaceChildren(video);\n      this.updateMuteButton();\n      this.querySelector('.promotional-media__caption').textContent = link.dataset.caption || '';\n      this.querySelector('.promotional-media__count').textContent = `${index + 1} / ${this.links.length}`;\n      this.previous.disabled = index === 0; this.next.disabled = index === this.links.length - 1;\n    }\n    disconnectedCallback() { if (this.dialog?.open) this.dialog.close(); this.stop(); }\n  }\n  customElements.define('promotional-media', PromotionalMedia);\n})();\n"],
  "mappings": "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",
  "names": []
}
