{
  "version": 3,
  "sources": ["/cdn/shop/t/7/assets/hero-slider-loop.js?hero_drag_revision=20260615-loop"],
  "sourcesContent": ["(function () {\n  function initHeroTrack(el) {\n    if (el.dataset.heroSliderInitialized === 'true') return;\n\n    var track = el.querySelector('.hero-swiper__track');\n    var slides = Array.prototype.slice.call(el.querySelectorAll('.hero-slide'));\n    var pagination = el.querySelector('.hero-swiper__pagination');\n    var section = el.closest('.hero-slider');\n    var delay = section ? parseInt(section.dataset.autoplayDelay, 10) || 5000 : 5000;\n    var reduceMotion = window.matchMedia && window.matchMedia('(prefers-reduced-motion: reduce)').matches;\n    var current = 0;\n    var timer = null;\n    var buttons = [];\n    var pointerId = null;\n    var startX = 0;\n    var startY = 0;\n    var currentX = 0;\n    var isDragging = false;\n    var hasCapture = false;\n    var suppressClick = false;\n    var lastTouchTime = 0;\n    var dragActivationThreshold = 8;\n\n    if (!track || slides.length === 0) return;\n\n    el.dataset.heroSliderInitialized = 'true';\n\n    function prepareClone(slide) {\n      var clone = slide.cloneNode(true);\n      clone.classList.add('hero-slide--clone');\n      clone.setAttribute('aria-hidden', 'true');\n      clone.querySelectorAll('a, button, input, select, textarea, [tabindex]').forEach(function (element) {\n        element.setAttribute('tabindex', '-1');\n      });\n      return clone;\n    }\n\n    if (slides.length > 1) {\n      track.insertBefore(prepareClone(slides[slides.length - 1]), slides[0]);\n      track.appendChild(prepareClone(slides[0]));\n    }\n\n    function visualIndexFor(index) {\n      return slides.length > 1 ? index + 1 : index;\n    }\n\n    function setTrackPosition(displayIndex, instant) {\n      if (instant) {\n        var transition = track.style.transition;\n        track.style.transition = 'none';\n        track.style.transform = 'translateX(-' + displayIndex * 100 + '%)';\n        track.offsetHeight;\n        window.requestAnimationFrame(function () {\n          track.style.transition = transition;\n        });\n        return;\n      }\n\n      track.style.transform = 'translateX(-' + displayIndex * 100 + '%)';\n    }\n\n    function updateState(index) {\n      current = (index + slides.length) % slides.length;\n\n      slides.forEach(function (slide, slideIndex) {\n        slide.setAttribute('aria-hidden', slideIndex === current ? 'false' : 'true');\n      });\n\n      buttons.forEach(function (button, buttonIndex) {\n        var isActive = buttonIndex === current;\n        button.classList.toggle('is-active', isActive);\n        if (isActive) {\n          button.setAttribute('aria-current', 'true');\n        } else {\n          button.removeAttribute('aria-current');\n        }\n      });\n    }\n\n    function setSlide(index, instant) {\n      var target = (index + slides.length) % slides.length;\n      var displayIndex = visualIndexFor(target);\n      var resetIndex = null;\n\n      if (!instant && slides.length > 1) {\n        if (current === slides.length - 1 && index >= slides.length) {\n          displayIndex = slides.length + 1;\n          resetIndex = visualIndexFor(0);\n        } else if (current === 0 && index < 0) {\n          displayIndex = 0;\n          resetIndex = visualIndexFor(slides.length - 1);\n        }\n      }\n\n      updateState(target);\n      setTrackPosition(displayIndex, instant);\n\n      if (resetIndex !== null) {\n        track.dataset.heroResetIndex = String(resetIndex);\n      } else {\n        delete track.dataset.heroResetIndex;\n      }\n    }\n\n    function stop() {\n      if (!timer) return;\n      window.clearInterval(timer);\n      timer = null;\n    }\n\n    function start() {\n      if (reduceMotion || slides.length < 2 || timer) return;\n      timer = window.setInterval(function () {\n        setSlide(current + 1);\n      }, delay);\n    }\n\n    function restart() {\n      stop();\n      start();\n    }\n\n    function beginDrag(clientX, clientY, nextPointerId) {\n      stop();\n      pointerId = nextPointerId;\n      startX = clientX;\n      startY = clientY;\n      currentX = clientX;\n      isDragging = false;\n      hasCapture = false;\n    }\n\n    function cancelDrag() {\n      if (pointerId === null) return;\n      pointerId = null;\n      isDragging = false;\n      hasCapture = false;\n      el.classList.remove('is-dragging');\n      setSlide(current);\n      start();\n    }\n\n    function moveDrag(clientX, clientY, event) {\n      if (pointerId === null) return;\n\n      currentX = clientX;\n      var deltaX = currentX - startX;\n      var deltaY = clientY - startY;\n      var absX = Math.abs(deltaX);\n      var absY = Math.abs(deltaY);\n\n      if (!isDragging) {\n        if (absY > absX && absY > dragActivationThreshold) {\n          cancelDrag();\n          return;\n        }\n\n        if (absX <= dragActivationThreshold) return;\n        isDragging = true;\n        el.classList.add('is-dragging');\n      }\n\n      if (event && event.cancelable) {\n        event.preventDefault();\n      }\n\n      track.style.transform = 'translateX(calc(-' + visualIndexFor(current) * 100 + '% + ' + deltaX + 'px))';\n    }\n\n    function finishDrag(event) {\n      if (pointerId === null) return;\n\n      var deltaX = currentX - startX;\n      var threshold = Math.max(36, Math.min(el.clientWidth * 0.14, 72));\n      var completedDrag = isDragging && Math.abs(deltaX) > threshold;\n\n      if (event && hasCapture && el.hasPointerCapture && el.hasPointerCapture(pointerId)) {\n        el.releasePointerCapture(pointerId);\n      }\n\n      pointerId = null;\n      isDragging = false;\n      hasCapture = false;\n      el.classList.remove('is-dragging');\n\n      if (completedDrag) {\n        setSlide(current + (deltaX < 0 ? 1 : -1));\n        suppressClick = true;\n      } else {\n        setSlide(current);\n      }\n\n      start();\n    }\n\n    if (pagination && slides.length > 1) {\n      slides.forEach(function (_slide, index) {\n        var button = document.createElement('button');\n        button.type = 'button';\n        button.className = 'hero-swiper__pagination-button';\n        var labelTemplate = section ? section.getAttribute('data-slide-label-template') : '';\n        labelTemplate = labelTemplate || 'Go to slide __number__';\n        button.setAttribute('aria-label', labelTemplate.replace('__number__', index + 1));\n        button.addEventListener('click', function () {\n          setSlide(index);\n          restart();\n        });\n        pagination.appendChild(button);\n        buttons.push(button);\n      });\n    }\n\n    if (slides.length > 1) {\n      track.addEventListener('transitionend', function (event) {\n        if (event.target !== track || !track.dataset.heroResetIndex) return;\n        setTrackPosition(parseInt(track.dataset.heroResetIndex, 10), true);\n        delete track.dataset.heroResetIndex;\n      });\n\n      el.addEventListener('dragstart', function (event) {\n        event.preventDefault();\n      });\n\n      el.addEventListener('pointerdown', function (event) {\n        if (event.pointerType === 'touch' || Date.now() - lastTouchTime < 700) return;\n        if (event.button !== undefined && event.button !== 0) return;\n        if (event.target.closest('.hero-swiper__pagination-button')) return;\n        beginDrag(event.clientX, event.clientY, event.pointerId);\n      });\n\n      el.addEventListener('pointermove', function (event) {\n        if (event.pointerId !== pointerId) return;\n        moveDrag(event.clientX, event.clientY, event);\n        if (isDragging && !hasCapture && el.setPointerCapture) {\n          el.setPointerCapture(pointerId);\n          hasCapture = true;\n        }\n      });\n\n      el.addEventListener('pointerup', finishDrag);\n      el.addEventListener('pointercancel', finishDrag);\n      el.addEventListener('lostpointercapture', finishDrag);\n\n      el.addEventListener(\n        'touchstart',\n        function (event) {\n          if (event.touches.length !== 1) return;\n          if (event.target.closest('.hero-swiper__pagination-button')) return;\n          lastTouchTime = Date.now();\n          var touch = event.touches[0];\n          beginDrag(touch.clientX, touch.clientY, 'touch');\n        },\n        { passive: true }\n      );\n\n      el.addEventListener(\n        'touchmove',\n        function (event) {\n          if (pointerId !== 'touch' || event.touches.length !== 1) return;\n          lastTouchTime = Date.now();\n          var touch = event.touches[0];\n          moveDrag(touch.clientX, touch.clientY, event);\n        },\n        { passive: false }\n      );\n\n      el.addEventListener('touchend', function () {\n        lastTouchTime = Date.now();\n        finishDrag();\n      });\n\n      el.addEventListener('touchcancel', function () {\n        lastTouchTime = Date.now();\n        cancelDrag();\n      });\n\n      el.addEventListener(\n        'click',\n        function (event) {\n          if (!suppressClick) return;\n          event.preventDefault();\n          event.stopPropagation();\n          suppressClick = false;\n        },\n        true\n      );\n    }\n\n    el.addEventListener('mouseenter', stop);\n    el.addEventListener('mouseleave', start);\n    el.addEventListener('focusin', stop);\n    el.addEventListener('focusout', start);\n\n    setSlide(0, true);\n    start();\n  }\n\n  function initHeroSlider(root) {\n    var scope = root && root.querySelectorAll ? root : document;\n    var tracks = [];\n\n    if (scope.matches && scope.matches('.hero-swiper')) {\n      tracks.push(scope);\n    }\n\n    scope.querySelectorAll('.hero-swiper').forEach(function (track) {\n      tracks.push(track);\n    });\n\n    tracks.forEach(initHeroTrack);\n  }\n\n  window.HeyDuduHeroSlider = window.HeyDuduHeroSlider || {};\n  window.HeyDuduHeroSlider.init = initHeroSlider;\n\n  if (document.readyState === 'loading') {\n    document.addEventListener('DOMContentLoaded', function () {\n      initHeroSlider(document);\n    });\n  } else {\n    initHeroSlider(document);\n  }\n\n  document.addEventListener('shopify:section:load', function (event) {\n    initHeroSlider(event.target);\n  });\n})();\n"],
  "mappings": "CAAC,UAAY,CACX,SAAS,cAAc,GAAI,CACzB,GAAI,GAAG,QAAQ,wBAA0B,OAAQ,OAEjD,IAAI,MAAQ,GAAG,cAAc,qBAAqB,EAC9C,OAAS,MAAM,UAAU,MAAM,KAAK,GAAG,iBAAiB,aAAa,CAAC,EACtE,WAAa,GAAG,cAAc,0BAA0B,EACxD,QAAU,GAAG,QAAQ,cAAc,EACnC,MAAQ,SAAU,SAAS,QAAQ,QAAQ,cAAe,EAAE,GAAK,IACjE,aAAe,OAAO,YAAc,OAAO,WAAW,kCAAkC,EAAE,QAC1F,QAAU,EACV,MAAQ,KACR,QAAU,CAAC,EACX,UAAY,KACZ,OAAS,EACT,OAAS,EACT,SAAW,EACX,WAAa,GACb,WAAa,GACb,cAAgB,GAChB,cAAgB,EAChB,wBAA0B,EAE9B,GAAI,CAAC,OAAS,OAAO,SAAW,EAAG,OAEnC,GAAG,QAAQ,sBAAwB,OAEnC,SAAS,aAAa,MAAO,CAC3B,IAAI,MAAQ,MAAM,UAAU,EAAI,EAChC,aAAM,UAAU,IAAI,mBAAmB,EACvC,MAAM,aAAa,cAAe,MAAM,EACxC,MAAM,iBAAiB,gDAAgD,EAAE,QAAQ,SAAU,QAAS,CAClG,QAAQ,aAAa,WAAY,IAAI,CACvC,CAAC,EACM,KACT,CAEI,OAAO,OAAS,IAClB,MAAM,aAAa,aAAa,OAAO,OAAO,OAAS,CAAC,CAAC,EAAG,OAAO,CAAC,CAAC,EACrE,MAAM,YAAY,aAAa,OAAO,CAAC,CAAC,CAAC,GAG3C,SAAS,eAAe,MAAO,CAC7B,OAAO,OAAO,OAAS,EAAI,MAAQ,EAAI,KACzC,CAEA,SAAS,iBAAiB,aAAc,QAAS,CAC/C,GAAI,QAAS,CACX,IAAI,WAAa,MAAM,MAAM,WAC7B,MAAM,MAAM,WAAa,OACzB,MAAM,MAAM,UAAY,eAAiB,aAAe,IAAM,KAC9D,MAAM,aACN,OAAO,sBAAsB,UAAY,CACvC,MAAM,MAAM,WAAa,UAC3B,CAAC,EACD,MACF,CAEA,MAAM,MAAM,UAAY,eAAiB,aAAe,IAAM,IAChE,CAEA,SAAS,YAAY,MAAO,CAC1B,SAAW,MAAQ,OAAO,QAAU,OAAO,OAE3C,OAAO,QAAQ,SAAU,MAAO,WAAY,CAC1C,MAAM,aAAa,cAAe,aAAe,QAAU,QAAU,MAAM,CAC7E,CAAC,EAED,QAAQ,QAAQ,SAAU,OAAQ,YAAa,CAC7C,IAAI,SAAW,cAAgB,QAC/B,OAAO,UAAU,OAAO,YAAa,QAAQ,EACzC,SACF,OAAO,aAAa,eAAgB,MAAM,EAE1C,OAAO,gBAAgB,cAAc,CAEzC,CAAC,CACH,CAEA,SAAS,SAAS,MAAO,QAAS,CAChC,IAAI,QAAU,MAAQ,OAAO,QAAU,OAAO,OAC1C,aAAe,eAAe,MAAM,EACpC,WAAa,KAEb,CAAC,SAAW,OAAO,OAAS,IAC1B,UAAY,OAAO,OAAS,GAAK,OAAS,OAAO,QACnD,aAAe,OAAO,OAAS,EAC/B,WAAa,eAAe,CAAC,GACpB,UAAY,GAAK,MAAQ,IAClC,aAAe,EACf,WAAa,eAAe,OAAO,OAAS,CAAC,IAIjD,YAAY,MAAM,EAClB,iBAAiB,aAAc,OAAO,EAElC,aAAe,KACjB,MAAM,QAAQ,eAAiB,OAAO,UAAU,EAEhD,OAAO,MAAM,QAAQ,cAEzB,CAEA,SAAS,MAAO,CACT,QACL,OAAO,cAAc,KAAK,EAC1B,MAAQ,KACV,CAEA,SAAS,OAAQ,CACX,cAAgB,OAAO,OAAS,GAAK,QACzC,MAAQ,OAAO,YAAY,UAAY,CACrC,SAAS,QAAU,CAAC,CACtB,EAAG,KAAK,EACV,CAEA,SAAS,SAAU,CACjB,KAAK,EACL,MAAM,CACR,CAEA,SAAS,UAAU,QAAS,QAAS,cAAe,CAClD,KAAK,EACL,UAAY,cACZ,OAAS,QACT,OAAS,QACT,SAAW,QACX,WAAa,GACb,WAAa,EACf,CAEA,SAAS,YAAa,CAChB,YAAc,OAClB,UAAY,KACZ,WAAa,GACb,WAAa,GACb,GAAG,UAAU,OAAO,aAAa,EACjC,SAAS,OAAO,EAChB,MAAM,EACR,CAEA,SAAS,SAAS,QAAS,QAAS,MAAO,CACzC,GAAI,YAAc,KAElB,UAAW,QACX,IAAI,OAAS,SAAW,OACpB,OAAS,QAAU,OACnB,KAAO,KAAK,IAAI,MAAM,EACtB,KAAO,KAAK,IAAI,MAAM,EAE1B,GAAI,CAAC,WAAY,CACf,GAAI,KAAO,MAAQ,KAAO,wBAAyB,CACjD,WAAW,EACX,MACF,CAEA,GAAI,MAAQ,wBAAyB,OACrC,WAAa,GACb,GAAG,UAAU,IAAI,aAAa,CAChC,CAEI,OAAS,MAAM,YACjB,MAAM,eAAe,EAGvB,MAAM,MAAM,UAAY,oBAAsB,eAAe,OAAO,EAAI,IAAM,OAAS,OAAS,OAClG,CAEA,SAAS,WAAW,MAAO,CACzB,GAAI,YAAc,KAElB,KAAI,OAAS,SAAW,OACpB,UAAY,KAAK,IAAI,GAAI,KAAK,IAAI,GAAG,YAAc,IAAM,EAAE,CAAC,EAC5D,cAAgB,YAAc,KAAK,IAAI,MAAM,EAAI,UAEjD,OAAS,YAAc,GAAG,mBAAqB,GAAG,kBAAkB,SAAS,GAC/E,GAAG,sBAAsB,SAAS,EAGpC,UAAY,KACZ,WAAa,GACb,WAAa,GACb,GAAG,UAAU,OAAO,aAAa,EAE7B,eACF,SAAS,SAAW,OAAS,EAAI,EAAI,GAAG,EACxC,cAAgB,IAEhB,SAAS,OAAO,EAGlB,MAAM,EACR,CAEI,YAAc,OAAO,OAAS,GAChC,OAAO,QAAQ,SAAU,OAAQ,MAAO,CACtC,IAAI,OAAS,SAAS,cAAc,QAAQ,EAC5C,OAAO,KAAO,SACd,OAAO,UAAY,iCACnB,IAAI,cAAgB,QAAU,QAAQ,aAAa,2BAA2B,EAAI,GAClF,cAAgB,eAAiB,yBACjC,OAAO,aAAa,aAAc,cAAc,QAAQ,aAAc,MAAQ,CAAC,CAAC,EAChF,OAAO,iBAAiB,QAAS,UAAY,CAC3C,SAAS,KAAK,EACd,QAAQ,CACV,CAAC,EACD,WAAW,YAAY,MAAM,EAC7B,QAAQ,KAAK,MAAM,CACrB,CAAC,EAGC,OAAO,OAAS,IAClB,MAAM,iBAAiB,gBAAiB,SAAU,MAAO,CACnD,MAAM,SAAW,OAAS,CAAC,MAAM,QAAQ,iBAC7C,iBAAiB,SAAS,MAAM,QAAQ,eAAgB,EAAE,EAAG,EAAI,EACjE,OAAO,MAAM,QAAQ,eACvB,CAAC,EAED,GAAG,iBAAiB,YAAa,SAAU,MAAO,CAChD,MAAM,eAAe,CACvB,CAAC,EAED,GAAG,iBAAiB,cAAe,SAAU,MAAO,CAC9C,MAAM,cAAgB,SAAW,KAAK,IAAI,EAAI,cAAgB,KAC9D,MAAM,SAAW,QAAa,MAAM,SAAW,GAC/C,MAAM,OAAO,QAAQ,iCAAiC,GAC1D,UAAU,MAAM,QAAS,MAAM,QAAS,MAAM,SAAS,CACzD,CAAC,EAED,GAAG,iBAAiB,cAAe,SAAU,MAAO,CAC9C,MAAM,YAAc,YACxB,SAAS,MAAM,QAAS,MAAM,QAAS,KAAK,EACxC,YAAc,CAAC,YAAc,GAAG,oBAClC,GAAG,kBAAkB,SAAS,EAC9B,WAAa,IAEjB,CAAC,EAED,GAAG,iBAAiB,YAAa,UAAU,EAC3C,GAAG,iBAAiB,gBAAiB,UAAU,EAC/C,GAAG,iBAAiB,qBAAsB,UAAU,EAEpD,GAAG,iBACD,aACA,SAAU,MAAO,CACf,GAAI,MAAM,QAAQ,SAAW,GACzB,OAAM,OAAO,QAAQ,iCAAiC,EAC1D,eAAgB,KAAK,IAAI,EACzB,IAAI,MAAQ,MAAM,QAAQ,CAAC,EAC3B,UAAU,MAAM,QAAS,MAAM,QAAS,OAAO,EACjD,EACA,CAAE,QAAS,EAAK,CAClB,EAEA,GAAG,iBACD,YACA,SAAU,MAAO,CACf,GAAI,cAAc,SAAW,MAAM,QAAQ,SAAW,GACtD,eAAgB,KAAK,IAAI,EACzB,IAAI,MAAQ,MAAM,QAAQ,CAAC,EAC3B,SAAS,MAAM,QAAS,MAAM,QAAS,KAAK,EAC9C,EACA,CAAE,QAAS,EAAM,CACnB,EAEA,GAAG,iBAAiB,WAAY,UAAY,CAC1C,cAAgB,KAAK,IAAI,EACzB,WAAW,CACb,CAAC,EAED,GAAG,iBAAiB,cAAe,UAAY,CAC7C,cAAgB,KAAK,IAAI,EACzB,WAAW,CACb,CAAC,EAED,GAAG,iBACD,QACA,SAAU,MAAO,CACV,gBACL,MAAM,eAAe,EACrB,MAAM,gBAAgB,EACtB,cAAgB,GAClB,EACA,EACF,GAGF,GAAG,iBAAiB,aAAc,IAAI,EACtC,GAAG,iBAAiB,aAAc,KAAK,EACvC,GAAG,iBAAiB,UAAW,IAAI,EACnC,GAAG,iBAAiB,WAAY,KAAK,EAErC,SAAS,EAAG,EAAI,EAChB,MAAM,CACR,CAEA,SAAS,eAAe,KAAM,CAC5B,IAAI,MAAQ,MAAQ,KAAK,iBAAmB,KAAO,SAC/C,OAAS,CAAC,EAEV,MAAM,SAAW,MAAM,QAAQ,cAAc,GAC/C,OAAO,KAAK,KAAK,EAGnB,MAAM,iBAAiB,cAAc,EAAE,QAAQ,SAAU,MAAO,CAC9D,OAAO,KAAK,KAAK,CACnB,CAAC,EAED,OAAO,QAAQ,aAAa,CAC9B,CAEA,OAAO,kBAAoB,OAAO,mBAAqB,CAAC,EACxD,OAAO,kBAAkB,KAAO,eAE5B,SAAS,aAAe,UAC1B,SAAS,iBAAiB,mBAAoB,UAAY,CACxD,eAAe,QAAQ,CACzB,CAAC,EAED,eAAe,QAAQ,EAGzB,SAAS,iBAAiB,uBAAwB,SAAU,MAAO,CACjE,eAAe,MAAM,MAAM,CAC7B,CAAC,CACH,GAAG",
  "names": []
}
