{
  "version": 3,
  "sources": ["/cdn/shop/t/22/assets/media-gallery.js?video-layout=20261001"],
  "sourcesContent": ["if (!customElements.get('media-gallery')) {\n  customElements.define(\n    'media-gallery',\n    class MediaGallery extends HTMLElement {\n      constructor() {\n        super();\n        this.elements = {\n          liveRegion: this.querySelector('[id^=\"GalleryStatus\"]'),\n          viewer: this.querySelector('[id^=\"GalleryViewer\"]'),\n          thumbnails: this.querySelector('[id^=\"GalleryThumbnails\"]'),\n          page: this.querySelector('[data-product-media-page]'),\n        };\n        this.mql = window.matchMedia('(min-width: 750px)');\n        this.elements.viewer.addEventListener('slideChanged', debounce(this.onSlideChanged.bind(this), 500));\n        this.elements.thumbnails?.querySelectorAll('[data-target]').forEach((mediaToSwitch) => {\n          mediaToSwitch.querySelector('button').addEventListener('click', this.setActiveMedia.bind(this, mediaToSwitch.dataset.target, false));\n        });\n        const initialActiveMedia = this.elements.viewer.querySelector('.product__media-item.is-active');\n        this.updateMediaPage(initialActiveMedia);\n        if (initialActiveMedia?.querySelector('.deferred-media')) {\n          requestAnimationFrame(() => this.playActiveMedia(initialActiveMedia));\n        }\n        if (this.elements.thumbnails && this.dataset.desktopLayout.includes('thumbnail') && this.mql.matches) this.removeListSemantic();\n      }\n\n  onSlideChanged(event) {\n    const activeMedia = event.detail.currentElement;\n    const thumbnail = this.elements.thumbnails?.querySelector(\n      `[data-target=\"${event.detail.currentElement.dataset.mediaId}\"]`\n    );\n    this.setActiveThumbnail(thumbnail);\n    this.updateMediaPage(activeMedia);\n    if (activeMedia) this.playActiveMedia(activeMedia);\n  }\n\n      setActiveMedia(mediaId, prepend) {\n        const mediaItems = this.getMediaItems();\n        const activeMedia = mediaItems.find((item) => item.dataset.mediaId === mediaId) || mediaItems[0];\n        if (!activeMedia) {\n          return;\n        }\n        mediaItems.forEach((element) => {\n          element.classList.remove('is-active');\n        });\n        activeMedia?.classList?.add('is-active');\n\n        if (prepend) {\n          activeMedia.parentElement.firstChild !== activeMedia && activeMedia.parentElement.prepend(activeMedia);\n\n          if (this.elements.thumbnails) {\n            const activeThumbnail = this.elements.thumbnails.querySelector(`[data-target=\"${mediaId}\"]`);\n            if (activeThumbnail) {\n              activeThumbnail.parentElement.firstChild !== activeThumbnail && activeThumbnail.parentElement.prepend(activeThumbnail);\n            }\n          }\n\n          if (this.elements.viewer.slider) this.elements.viewer.resetPages();\n        }\n\n        this.preventStickyHeader();\n        window.setTimeout(() => {\n          if (!this.mql.matches || this.elements.thumbnails) {\n            activeMedia.parentElement.scrollTo({ left: activeMedia.offsetLeft });\n          }\n          const activeMediaRect = activeMedia.getBoundingClientRect();\n          // Don't scroll if the image is already in view\n          if (activeMediaRect.top > -0.5) return;\n          const top = activeMediaRect.top + window.scrollY;\n          window.scrollTo({ top: top, behavior: 'smooth' });\n        });\n        this.playActiveMedia(activeMedia);\n\n        this.updateMediaPage(activeMedia);\n\n        if (!this.elements.thumbnails) return;\n        const activeThumbnail = this.elements.thumbnails.querySelector(`[data-target=\"${mediaId}\"]`);\n        if (!activeThumbnail) return;\n        this.setActiveThumbnail(activeThumbnail);\n        this.announceLiveRegion(activeMedia, activeThumbnail.dataset.mediaPosition);\n      }\n\n      setActiveThumbnail(thumbnail) {\n        if (!this.elements.thumbnails || !thumbnail) return;\n\n        this.elements.thumbnails\n          .querySelectorAll('button')\n          .forEach((element) => element.removeAttribute('aria-current'));\n        thumbnail.querySelector('button').setAttribute('aria-current', true);\n        if (this.elements.thumbnails.isSlideVisible(thumbnail, 10)) return;\n\n        this.elements.thumbnails.slider.scrollTo({ left: thumbnail.offsetLeft });\n      }\n\n      announceLiveRegion(activeItem, position) {\n        const image = activeItem.querySelector('.product__modal-opener--image img');\n        if (!image) return;\n        image.onload = () => {\n          this.elements.liveRegion.setAttribute('aria-hidden', false);\n          this.elements.liveRegion.innerHTML = window.accessibilityStrings.imageAvailable.replace('[index]', position);\n          setTimeout(() => {\n            this.elements.liveRegion.setAttribute('aria-hidden', true);\n          }, 2000);\n        };\n        image.src = image.src;\n      }\n\n      updateMediaPage(activeItem) {\n        if (!this.elements.page || !activeItem) return;\n        const items = this.getMediaItems();\n        const position = items.indexOf(activeItem) + 1;\n        if (position > 0) this.elements.page.textContent = `${position} / ${items.length}`;\n      }\n\n      getMediaItems() {\n        if (this.elements.viewer.sliderItems?.length) return [...this.elements.viewer.sliderItems];\n        return [...(this.elements.viewer.slider?.querySelectorAll(':scope > [data-media-id]') || [])];\n      }\n\n      playActiveMedia(activeItem) {\n        window.pauseAllMedia();\n        const deferredMedia = activeItem.querySelector('.deferred-media');\n        if (!deferredMedia) return;\n\n        deferredMedia.loadContent(false);\n        const video = deferredMedia.querySelector('video');\n        if (video) {\n          video.muted = true;\n          video.playsInline = true;\n          video.play().catch(() => {});\n        }\n      }\n\n      preventStickyHeader() {\n        this.stickyHeader = this.stickyHeader || document.querySelector('sticky-header');\n        if (!this.stickyHeader) return;\n        this.stickyHeader.dispatchEvent(new Event('preventHeaderReveal'));\n      }\n\n      removeListSemantic() {\n        if (!this.elements.viewer.slider) return;\n        this.elements.viewer.slider.setAttribute('role', 'presentation');\n        this.elements.viewer.sliderItems.forEach((slide) => slide.setAttribute('role', 'presentation'));\n      }\n    }\n  );\n}\n"],
  "mappings": "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",
  "names": ["activeThumbnail"]
}
