{
  "version": 3,
  "sources": ["/cdn/shop/t/1/assets/ipax-slideshow-mobile.js?ipax=13"],
  "sourcesContent": ["/**\r\n * Banners mobile (1200x1200): s\u00F3 no celular.\r\n * Banners desktop: s\u00F3 no desktop.\r\n *\r\n * No load, agrupa slides vis\u00EDveis no in\u00EDcio do carrossel (\u00EDndices 0..N)\r\n * para o autoplay nativo do Horizon avan\u00E7ar sem pular gaps.\r\n * v12: s\u00F3 o 1\u00BA slide vis\u00EDvel fica eager/high (LCP).\r\n */\r\n(function () {\r\n  const DESKTOP_MQ = window.matchMedia('(min-width: 750px)');\r\n\r\n  function isDesignMode() {\r\n    return document.documentElement.classList.contains('shopify-design-mode');\r\n  }\r\n\r\n  function getContainer(slideshow) {\r\n    return slideshow.querySelector('slideshow-slides');\r\n  }\r\n\r\n  function getAllSlides(slideshow) {\r\n    return Array.from(slideshow.querySelectorAll('slideshow-slides > slideshow-slide'));\r\n  }\r\n\r\n  function preferEager(slide, isFirstVisible) {\r\n    slide.querySelectorAll('img').forEach((img) => {\r\n      if (isFirstVisible) {\r\n        img.setAttribute('loading', 'eager');\r\n        img.setAttribute('fetchpriority', 'high');\r\n      } else {\r\n        img.setAttribute('loading', 'lazy');\r\n        img.setAttribute('fetchpriority', 'low');\r\n      }\r\n    });\r\n  }\r\n\r\n  function rebuildDots(slideshow, visibleCount) {\r\n    const dotsList = slideshow.querySelector('.slideshow-controls__dots');\r\n    if (!dotsList) return;\r\n\r\n    const items = Array.from(dotsList.querySelectorAll(':scope > li'));\r\n    if (!items.length) return;\r\n\r\n    items.forEach((item, index) => {\r\n      const hide = index >= visibleCount;\r\n      item.classList.toggle('ipax-slide-dot--hidden', hide);\r\n      item.setAttribute('aria-hidden', hide ? 'true' : 'false');\r\n\r\n      const button = item.querySelector('button');\r\n      if (button) {\r\n        button.setAttribute('aria-label', `Slide ${index + 1} de ${visibleCount}`);\r\n        button.setAttribute('on:click', `/select/${index}`);\r\n        if (index === 0) button.setAttribute('aria-selected', 'true');\r\n        else button.removeAttribute('aria-selected');\r\n      }\r\n    });\r\n  }\r\n\r\n  function syncSlideshow(slideshow) {\r\n    const container = getContainer(slideshow);\r\n    if (!container) return;\r\n\r\n    const allSlides = getAllSlides(slideshow);\r\n    if (!allSlides.length) return;\r\n\r\n    // Preserve original order once\r\n    allSlides.forEach((slide, index) => {\r\n      if (slide.dataset.ipaxOrigIndex == null) {\r\n        slide.dataset.ipaxOrigIndex = String(index);\r\n      }\r\n    });\r\n\r\n    const ordered = [...allSlides].sort(\r\n      (a, b) => Number(a.dataset.ipaxOrigIndex) - Number(b.dataset.ipaxOrigIndex)\r\n    );\r\n\r\n    const mobileSlides = ordered.filter((s) => s.hasAttribute('data-ipax-mobile-only'));\r\n    const desktopSlides = ordered.filter((s) => s.hasAttribute('data-ipax-desktop-only'));\r\n    const hasMobileBanners = mobileSlides.length > 0;\r\n    const isDesktop = DESKTOP_MQ.matches;\r\n    const section = slideshow.closest('.slideshow-section');\r\n\r\n    section?.classList.toggle('ipax-slideshow--has-mobile-banners', hasMobileBanners);\r\n    slideshow.classList.toggle('ipax-slideshow--has-mobile-banners', hasMobileBanners);\r\n\r\n    let visibleSlides = ordered;\r\n    let hiddenSlides = [];\r\n\r\n    if (hasMobileBanners) {\r\n      if (isDesktop) {\r\n        visibleSlides = desktopSlides.length\r\n          ? desktopSlides\r\n          : ordered.filter((s) => !s.hasAttribute('data-ipax-mobile-only'));\r\n        hiddenSlides = ordered.filter((s) => !visibleSlides.includes(s));\r\n      } else {\r\n        visibleSlides = mobileSlides.length\r\n          ? mobileSlides\r\n          : ordered.filter((s) => !s.hasAttribute('data-ipax-desktop-only'));\r\n        hiddenSlides = ordered.filter((s) => !visibleSlides.includes(s));\r\n      }\r\n    }\r\n\r\n    if (!visibleSlides.length) {\r\n      visibleSlides = ordered;\r\n      hiddenSlides = [];\r\n    }\r\n\r\n    // Put visible slides first (contiguous), then hidden ones.\r\n    // This keeps Horizon autoplay working with consecutive indexes 0..N-1.\r\n    [...visibleSlides, ...hiddenSlides].forEach((slide) => container.appendChild(slide));\r\n\r\n    visibleSlides.forEach((slide, index) => {\r\n      slide.removeAttribute('hidden');\r\n      slide.removeAttribute('reveal');\r\n      slide.setAttribute('aria-hidden', index === 0 ? 'false' : 'true');\r\n      slide.style.setProperty('--slideshow-timeline', `--slide-${index}`);\r\n      preferEager(slide, index === 0);\r\n    });\r\n\r\n    hiddenSlides.forEach((slide, offset) => {\r\n      const index = visibleSlides.length + offset;\r\n      slide.setAttribute('hidden', '');\r\n      slide.setAttribute('aria-hidden', 'true');\r\n      slide.removeAttribute('reveal');\r\n      slide.style.setProperty('--slideshow-timeline', `--slide-${index}`);\r\n    });\r\n\r\n    rebuildDots(slideshow, visibleSlides.length);\r\n\r\n    const controls = slideshow.querySelector('slideshow-controls');\r\n    if (controls) {\r\n      controls.classList.toggle('ipax-slideshow-controls--single', visibleSlides.length <= 1);\r\n      if (visibleSlides.length <= 1) controls.hidden = true;\r\n      else controls.removeAttribute('hidden');\r\n    }\r\n\r\n    // Refresh Horizon refs after reorder\r\n    if (slideshow.refs) {\r\n      slideshow.refs.slides = getAllSlides(slideshow);\r\n    }\r\n\r\n    if (typeof slideshow.select === 'function') {\r\n      try {\r\n        slideshow.select(0, undefined, { animate: false });\r\n      } catch (_) {\r\n        /* ignore */\r\n      }\r\n    }\r\n\r\n    if (typeof slideshow.resume === 'function') {\r\n      slideshow.resume();\r\n    }\r\n  }\r\n\r\n  function isSlideshowControl(el) {\r\n    return Boolean(\r\n      el &&\r\n        el.closest &&\r\n        el.closest(\r\n          '.slideshow-control, slideshow-arrows, slideshow-controls, .slideshow-controls__dots'\r\n        )\r\n    );\r\n  }\r\n\r\n  function bindBannerLinkGuard(section) {\r\n    if (!section || section.dataset.ipaxBannerGuard === '1') return;\r\n    section.dataset.ipaxBannerGuard = '1';\r\n\r\n    section.addEventListener(\r\n      'click',\r\n      (event) => {\r\n        if (isSlideshowControl(event.target)) return;\r\n\r\n        const link = event.target.closest && event.target.closest('a.ipax-slide-banner-link');\r\n        if (!link) return;\r\n\r\n        const stack = document.elementsFromPoint(event.clientX, event.clientY) || [];\r\n        const control = stack.find((el) => isSlideshowControl(el));\r\n        if (!control) return;\r\n\r\n        event.preventDefault();\r\n        event.stopImmediatePropagation();\r\n        const button = control.closest('button') || control;\r\n        if (section.dataset.ipaxBannerGuardClick === '1') return;\r\n        section.dataset.ipaxBannerGuardClick = '1';\r\n        try {\r\n          button.click();\r\n        } finally {\r\n          section.dataset.ipaxBannerGuardClick = '0';\r\n        }\r\n      },\r\n      true\r\n    );\r\n  }\r\n\r\n  function syncAll() {\r\n    if (isDesignMode()) return;\r\n    document.querySelectorAll('.slideshow-section').forEach((section) => {\r\n      bindBannerLinkGuard(section);\r\n      const slideshow = section.querySelector('slideshow-component');\r\n      if (slideshow) syncSlideshow(slideshow);\r\n    });\r\n  }\r\n\r\n  function init() {\r\n    // Wait for Horizon slideshow.js to init first\r\n    window.setTimeout(syncAll, 0);\r\n    window.setTimeout(syncAll, 250);\r\n    DESKTOP_MQ.addEventListener('change', syncAll);\r\n  }\r\n\r\n  if (document.readyState === 'loading') {\r\n    document.addEventListener('DOMContentLoaded', init);\r\n  } else {\r\n    init();\r\n  }\r\n\r\n  document.addEventListener('shopify:section:load', () => {\r\n    window.setTimeout(syncAll, 100);\r\n  });\r\n})();\r\n"],
  "mappings": "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",
  "names": []
}
