{
  "version": 3,
  "sources": ["/cdn/shop/t/1/assets/mercadao-swatches-row.js"],
  "sourcesContent": ["/**\n * Faixa de bolinhas \u2014 arraste horizontal com translate (sempre funciona com overflow).\n */\n(function () {\n  const ROW = '[data-mercadao-swatches-row]';\n  const TRACK_SEL = '[data-swatches-track], .mercadao-card-swatches__list, .video-testimonials__product-swatches';\n  const DRAG_THRESHOLD = 6;\n  const CARD_LINK_SEL =\n    '[data-swatch-product-link], .mercadao-collection-card-gallery__link, .home-product-grid__media-link, .ml-card-info__title-link, a.product-card__link';\n\n  /** @type {WeakMap<HTMLElement, () => void>} */\n  const rowCleanups = new WeakMap();\n\n  function isTouchSwatchRow() {\n    return window.matchMedia('(hover: none), (max-width: 749px)').matches;\n  }\n\n  /**\n   * @param {ParentNode | null | undefined} productRoot\n   * @param {string} productUrl\n   */\n  function updateCardProductLinks(productRoot, productUrl) {\n    if (!productRoot || !productUrl) return;\n    productRoot.querySelectorAll(CARD_LINK_SEL).forEach((node) => {\n      if (node instanceof HTMLAnchorElement) node.href = productUrl;\n    });\n  }\n\n  function variantStorageKey(productId) {\n    return `mercadao-card-variant:${productId}`;\n  }\n\n  /**\n   * @param {string | undefined} productId\n   * @param {string | undefined} variantId\n   */\n  function rememberCardVariant(productId, variantId) {\n    if (!productId || !variantId) return;\n    try {\n      sessionStorage.setItem(variantStorageKey(productId), variantId);\n    } catch (_) {\n      /* private mode */\n    }\n  }\n\n  /**\n   * @param {string | undefined} productId\n   * @returns {string | null}\n   */\n  function recallCardVariant(productId) {\n    if (!productId) return null;\n    try {\n      return sessionStorage.getItem(variantStorageKey(productId));\n    } catch (_) {\n      return null;\n    }\n  }\n\n  /**\n   * @param {HTMLElement} row\n   * @param {HTMLElement[]} swatches\n   * @param {ParentNode | null | undefined} productRoot\n   * @returns {HTMLElement | undefined}\n   */\n  function resolveActiveSwatch(row, swatches, productRoot) {\n    const productId = productRoot instanceof HTMLElement ? productRoot.dataset.productId : undefined;\n    const storedId = recallCardVariant(productId);\n\n    if (storedId) {\n      const fromStore = swatches.find((s) => {\n        const input = s.querySelector('input[type=\"radio\"]');\n        return input instanceof HTMLInputElement && input.dataset.variantId === storedId;\n      });\n      if (fromStore) return fromStore;\n    }\n\n    const fromDom = swatches.find((s) => s.querySelector('input[type=\"radio\"]:checked'));\n    if (fromDom) return fromDom;\n\n    return swatches.find((s) => s.classList.contains('is-selected')) || swatches[0];\n  }\n\n  /**\n   * @param {HTMLElement} viewport\n   */\n  function createScroller(viewport) {\n    const track = viewport.querySelector(TRACK_SEL);\n    if (!(track instanceof HTMLElement)) return null;\n\n    const getMax = () => Math.max(0, track.scrollWidth - viewport.clientWidth);\n\n    const getPos = () => {\n      const stored = parseFloat(viewport.dataset.scrollPos || '0');\n      return Number.isFinite(stored) ? stored : 0;\n    };\n\n    /** @param {number} left */\n    const setPos = (left) => {\n      const max = getMax();\n      const x = Math.max(0, Math.min(max, left));\n      track.style.transform = `translate3d(${-x}px, 0, 0)`;\n      viewport.dataset.scrollPos = String(x);\n      viewport.scrollLeft = x;\n      return x;\n    };\n\n    const scrollChipIntoView = (chip) => {\n      if (!(chip instanceof HTMLElement)) return;\n      const max = getMax();\n      if (max <= 0) return;\n\n      const vpRect = viewport.getBoundingClientRect();\n      const chipRect = chip.getBoundingClientRect();\n      let pos = getPos();\n\n      if (chipRect.left < vpRect.left + 4) {\n        pos -= vpRect.left + 4 - chipRect.left;\n      } else if (chipRect.right > vpRect.right - 4) {\n        pos += chipRect.right - (vpRect.right - 4);\n      }\n\n      setPos(pos);\n    };\n\n    return { track, getMax, getPos, setPos, scrollChipIntoView };\n  }\n\n  /**\n   * @param {HTMLElement} row\n   */\n  function destroyRow(row) {\n    const cleanup = rowCleanups.get(row);\n    if (cleanup) {\n      cleanup();\n      rowCleanups.delete(row);\n    }\n    delete row.dataset.mercadaoSwatchesInit;\n    delete row.dataset.mercadaoSwatchDrag;\n    delete row.dataset.mercadaoSwatchMoved;\n  }\n\n  /**\n   * @param {HTMLElement} row\n   * @param {HTMLElement} el\n   * @param {HTMLElement[]} swatches\n   * @param {ParentNode | null | undefined} productRoot\n   * @param {HTMLImageElement | null | undefined} img\n   * @param {ReturnType<typeof createScroller>} scroller\n   * @param {boolean} scrollIntoView\n   * @param {boolean} silent \u2014 n\u00E3o dispara change (evita loop na init)\n   */\n  function applySwatch(\n    row,\n    el,\n    swatches,\n    productRoot,\n    img,\n    scroller,\n    scrollIntoView,\n    silent\n  ) {\n    if (!el || el.hasAttribute('disabled')) return;\n\n    const chip = el.matches('[data-swatch]') ? el : el.closest('[data-swatch]');\n    if (!(chip instanceof HTMLElement)) return;\n\n    const input = chip.querySelector('input[type=\"radio\"]');\n    let productUrl = chip.dataset.productUrl || '';\n\n    if (input instanceof HTMLInputElement) {\n      if (!input.checked) {\n        input.checked = true;\n      }\n      if (!silent) {\n        input.dispatchEvent(new Event('change', { bubbles: true }));\n      }\n\n      if (!productUrl && input.dataset.variantId) {\n        const base = row.closest('swatches-variant-picker-component')?.dataset.productUrl?.split('?')[0];\n        if (base) {\n          const url = new URL(base, window.location.origin);\n          url.searchParams.set('variant', input.dataset.variantId);\n          productUrl = url.pathname + url.search;\n        }\n      }\n    } else {\n      swatches.forEach((s) => {\n        const on = s === chip;\n        s.classList.toggle('is-selected', on);\n        s.setAttribute('aria-pressed', on ? 'true' : 'false');\n      });\n    }\n\n    const previewUrl = chip.dataset.previewUrl || input?.dataset.previewUrl;\n    if (previewUrl && img instanceof HTMLImageElement) {\n      img.src = previewUrl;\n      img.removeAttribute('srcset');\n    }\n\n    if (productUrl) {\n      updateCardProductLinks(productRoot, productUrl);\n    }\n\n    const productId = productRoot instanceof HTMLElement ? productRoot.dataset.productId : undefined;\n    const variantId = input instanceof HTMLInputElement ? input.dataset.variantId : undefined;\n    rememberCardVariant(productId, variantId);\n\n    if (scrollIntoView) {\n      requestAnimationFrame(() => scroller.scrollChipIntoView(chip));\n    }\n  }\n\n  /**\n   * @param {HTMLElement} row\n   */\n  function initRow(row) {\n    if (row.dataset.mercadaoSwatchesInit === '1') return;\n\n    const viewport = row.querySelector('[data-swatches-viewport]');\n    if (!(viewport instanceof HTMLElement)) return;\n\n    const scroller = createScroller(viewport);\n    if (!scroller) return;\n\n    const swatches = /** @type {HTMLElement[]} */ ([\n      ...row.querySelectorAll('[data-swatch]'),\n    ]);\n    if (!swatches.length) return;\n\n    destroyRow(row);\n\n    const productRoot =\n      row.closest('[data-mercadao-product-card]') ||\n      row.closest('product-card') ||\n      row.closest('.video-testimonials__product');\n\n    const img = productRoot?.querySelector(\n      '.video-testimonials__product-img, .home-product-grid__img, .card-gallery img'\n    );\n\n  /**\n   * @param {HTMLElement} el\n   * @param {boolean} [scrollIntoView]\n   * @param {boolean} [silent]\n   */\n    const selectSwatch = (el, scrollIntoView = true, silent = false) => {\n      applySwatch(row, el, swatches, productRoot, img, scroller, scrollIntoView, silent);\n    };\n\n    const hasOverflow = () => scroller.getMax() > 2 || swatches.length > 4;\n\n    const controller = new AbortController();\n    const { signal } = controller;\n\n    swatches.forEach((swatch) => {\n      const input = swatch.querySelector('input[type=\"radio\"]');\n      if (input) {\n        input.addEventListener(\n          'change',\n          () => {\n            if (input.checked) selectSwatch(swatch, true, true);\n          },\n          { signal }\n        );\n      }\n\n      swatch.addEventListener(\n        'click',\n        (e) => {\n          if (row.dataset.mercadaoSwatchMoved === '1') {\n            e.preventDefault();\n            e.stopPropagation();\n            row.dataset.mercadaoSwatchMoved = '0';\n            return;\n          }\n          e.preventDefault();\n          e.stopPropagation();\n          selectSwatch(swatch, true, false);\n        },\n        { signal, capture: true }\n      );\n    });\n\n    if (isTouchSwatchRow()) {\n      bindDrag(row, viewport, scroller, swatches, selectSwatch, hasOverflow, signal);\n    }\n\n    let relayoutPending = false;\n    const relayout = () => {\n      if (relayoutPending) return;\n      relayoutPending = true;\n      requestAnimationFrame(() => {\n        relayoutPending = false;\n        scroller.setPos(scroller.getPos());\n      });\n    };\n\n    window.addEventListener('resize', relayout, { passive: true, signal });\n\n    if (typeof ResizeObserver !== 'undefined') {\n      const ro = new ResizeObserver(relayout);\n      ro.observe(viewport);\n      signal.addEventListener('abort', () => ro.disconnect());\n    }\n\n    rowCleanups.set(row, () => controller.abort());\n\n    const initial = resolveActiveSwatch(row, swatches, productRoot);\n    if (initial) selectSwatch(initial, false, true);\n\n    row.dataset.mercadaoSwatchesInit = '1';\n  }\n\n  /**\n   * @param {HTMLElement} row\n   * @param {HTMLElement} viewport\n   * @param {ReturnType<typeof createScroller>} scroller\n   * @param {HTMLElement[]} swatches\n   * @param {(el: HTMLElement, scrollIntoView?: boolean, silent?: boolean) => void} selectSwatch\n   * @param {() => boolean} hasOverflow\n   * @param {AbortSignal} signal\n   */\n  function bindDrag(row, viewport, scroller, swatches, selectSwatch, hasOverflow, signal) {\n    if (row.dataset.mercadaoSwatchDrag === '1') return;\n    row.dataset.mercadaoSwatchDrag = '1';\n\n    let active = false;\n    let moved = false;\n    let startX = 0;\n    let startPos = 0;\n    /** @type {number | null} */\n    let pointerId = null;\n\n    const finish = () => {\n      if (!active) return;\n      active = false;\n      pointerId = null;\n      viewport.classList.remove('is-dragging');\n      window.setTimeout(() => {\n        row.dataset.mercadaoSwatchMoved = '0';\n      }, 100);\n    };\n\n    const applyMove = (clientX) => {\n      const dx = clientX - startX;\n      if (Math.abs(dx) < DRAG_THRESHOLD) return;\n\n      moved = true;\n      row.dataset.mercadaoSwatchMoved = '1';\n\n      if (hasOverflow()) {\n        scroller.setPos(startPos - dx);\n      }\n    };\n\n    const start = (clientX, id) => {\n      active = true;\n      moved = false;\n      row.dataset.mercadaoSwatchMoved = '0';\n      pointerId = id;\n      startX = clientX;\n      startPos = scroller.getPos();\n      viewport.classList.add('is-dragging');\n    };\n\n    const onEnd = () => {\n      if (!active) return;\n      if (moved && hasOverflow()) {\n        const vp = viewport.getBoundingClientRect();\n        const center = vp.left + vp.width / 2;\n        let best = swatches[0];\n        let bestDist = Infinity;\n        swatches.forEach((btn) => {\n          const r = btn.getBoundingClientRect();\n          const d = Math.abs(r.left + r.width / 2 - center);\n          if (d < bestDist) {\n            bestDist = d;\n            best = btn;\n          }\n        });\n        selectSwatch(best, true, false);\n      }\n      finish();\n    };\n\n    const bind = (el) => {\n      el.addEventListener(\n        'touchstart',\n        (e) => {\n          if (e.touches.length !== 1) return;\n          e.stopPropagation();\n          start(e.touches[0].clientX, e.touches[0].identifier);\n        },\n        { passive: true, capture: true, signal }\n      );\n\n      el.addEventListener(\n        'touchmove',\n        (e) => {\n          if (!active) return;\n          const t = e.touches[0];\n          if (!t) return;\n          if (hasOverflow() && Math.abs(t.clientX - startX) > DRAG_THRESHOLD) {\n            e.preventDefault();\n            e.stopPropagation();\n          }\n          applyMove(t.clientX);\n        },\n        { passive: false, capture: true, signal }\n      );\n\n      el.addEventListener('touchend', (e) => { e.stopPropagation(); onEnd(); }, { capture: true, signal });\n      el.addEventListener('touchcancel', onEnd, { capture: true, signal });\n\n      el.addEventListener(\n        'pointerdown',\n        (e) => {\n          if (e.pointerType === 'mouse' && e.button !== 0) return;\n          e.stopPropagation();\n          start(e.clientX, e.pointerId);\n          try {\n            viewport.setPointerCapture(e.pointerId);\n          } catch (_) {\n            /* ignore */\n          }\n        },\n        { capture: true, signal }\n      );\n\n      el.addEventListener(\n        'pointermove',\n        (e) => {\n          if (!active || e.pointerId !== pointerId) return;\n          if (hasOverflow() && Math.abs(e.clientX - startX) > DRAG_THRESHOLD) {\n            e.preventDefault();\n            e.stopPropagation();\n          }\n          applyMove(e.clientX);\n        },\n        { capture: true, signal }\n      );\n\n      el.addEventListener(\n        'pointerup',\n        (e) => {\n          if (!active || e.pointerId !== pointerId) return;\n          e.stopPropagation();\n          onEnd();\n        },\n        { capture: true, signal }\n      );\n\n      el.addEventListener(\n        'pointercancel',\n        (e) => {\n          if (!active || e.pointerId !== pointerId) return;\n          onEnd();\n        },\n        { capture: true, signal }\n      );\n    };\n\n    bind(row);\n    bind(viewport);\n    viewport.addEventListener('lostpointercapture', finish, { signal });\n  }\n\n  /**\n   * Reaplica foto + links a partir da bolinha ativa (Voltar / bfcache).\n   * @param {HTMLElement} row\n   */\n  function resyncRow(row) {\n    const viewport = row.querySelector('[data-swatches-viewport]');\n    if (!(viewport instanceof HTMLElement)) return;\n\n    const swatches = /** @type {HTMLElement[]} */ ([...row.querySelectorAll('[data-swatch]')]);\n    if (!swatches.length) return;\n\n    const productRoot =\n      row.closest('[data-mercadao-product-card]') ||\n      row.closest('product-card') ||\n      row.closest('.video-testimonials__product');\n\n    const active = resolveActiveSwatch(row, swatches, productRoot);\n    if (!active) return;\n\n    const img = productRoot?.querySelector(\n      '.video-testimonials__product-img, .home-product-grid__img, .card-gallery img'\n    );\n    const chip = active.matches('[data-swatch]') ? active : active.closest('[data-swatch]');\n    if (!(chip instanceof HTMLElement)) return;\n\n    const input = chip.querySelector('input[type=\"radio\"]');\n    let productUrl = chip.dataset.productUrl || '';\n\n    if (input instanceof HTMLInputElement) {\n      input.checked = true;\n      if (!productUrl && input.dataset.variantId) {\n        const base = row.closest('swatches-variant-picker-component')?.dataset.productUrl?.split('?')[0];\n        if (base) {\n          const url = new URL(base, window.location.origin);\n          url.searchParams.set('variant', input.dataset.variantId);\n          productUrl = url.pathname + url.search;\n        }\n      }\n      rememberCardVariant(\n        productRoot instanceof HTMLElement ? productRoot.dataset.productId : undefined,\n        input.dataset.variantId\n      );\n    }\n\n    const previewUrl = chip.dataset.previewUrl || input?.dataset.previewUrl;\n    if (previewUrl && img instanceof HTMLImageElement) {\n      img.src = previewUrl;\n      img.removeAttribute('srcset');\n    }\n\n    if (productUrl) {\n      updateCardProductLinks(productRoot, productUrl);\n    }\n  }\n\n  /**\n   * @param {ParentNode} [root]\n   */\n  function resyncAll(root = document) {\n    const scope = root instanceof Document ? root : root;\n    scope.querySelectorAll(ROW).forEach((row) => {\n      if (row instanceof HTMLElement && row.dataset.mercadaoSwatchesInit === '1') {\n        resyncRow(row);\n      }\n    });\n  }\n\n  /**\n   * Corrige DOM ap\u00F3s Voltar (bfcache / view transition): badge na foto.\n   * N\u00E3o reinicializa listeners \u2014 evita ac\u00FAmulo e travamento.\n   * @param {ParentNode} [root]\n   */\n  function restoreCardLayout(root = document) {\n    const scope = root instanceof Document ? root : root;\n\n    scope.querySelectorAll('[data-mercadao-product-card], product-card.mercadao-product-card, product-card.home-product-grid__card').forEach((card) => {\n      if (!(card instanceof HTMLElement)) return;\n\n      card.querySelectorAll('[data-view-transition-type], [data-view-transition-triggered]').forEach((el) => {\n        el.removeAttribute('data-view-transition-type');\n        el.removeAttribute('data-view-transition-triggered');\n      });\n      card.style.removeProperty('view-transition-name');\n\n      const badge = card.querySelector('.mercadao-card-badge--image');\n      const figure = card.querySelector('.mercadao-collection-card-gallery__figure, .home-product-grid__figure');\n      const media = card.querySelector('.mercadao-collection-card-gallery__media, .home-product-grid__media, .card-gallery');\n\n      if (badge instanceof HTMLElement) {\n        const target = figure || media;\n        if (target && badge.parentElement !== target) {\n          target.appendChild(badge);\n        }\n      }\n    });\n  }\n\n  /**\n   * @param {ParentNode} [root]\n   */\n  function initAll(root = document) {\n    const scope = root instanceof Document ? root : root;\n    scope.querySelectorAll(ROW).forEach((row) => {\n      if (row instanceof HTMLElement) initRow(row);\n    });\n  }\n\n  let initScheduled = false;\n\n  const scheduleInit = () => {\n    if (initScheduled) return;\n    initScheduled = true;\n\n    const run = () => {\n      initAll();\n      resyncAll();\n    };\n\n    if ('requestIdleCallback' in window) {\n      window.requestIdleCallback(run, { timeout: 600 });\n    } else {\n      requestAnimationFrame(run);\n    }\n  };\n\n  if (document.readyState === 'loading') {\n    document.addEventListener('DOMContentLoaded', scheduleInit, { once: true });\n  } else {\n    scheduleInit();\n  }\n\n  document.addEventListener('shopify:section:load', (e) => {\n    if (e.target instanceof HTMLElement) initAll(e.target);\n  });\n\n  window.addEventListener('pageshow', (event) => {\n    restoreCardLayout();\n    resyncAll();\n    if (event.persisted) {\n      requestAnimationFrame(() => {\n        restoreCardLayout();\n        resyncAll();\n      });\n    }\n  });\n\n  document.addEventListener(\n    'click',\n    (event) => {\n      const target = event.target;\n      if (!(target instanceof Element)) return;\n      const link = target.closest(CARD_LINK_SEL);\n      if (!(link instanceof HTMLAnchorElement)) return;\n      const productRoot =\n        link.closest('[data-mercadao-product-card]') ||\n        link.closest('product-card') ||\n        link.closest('.video-testimonials__product');\n      const input = productRoot?.querySelector('input[type=\"radio\"][name*=\"-card-swatch\"]:checked');\n      if (input instanceof HTMLInputElement) {\n        const productId =\n          productRoot instanceof HTMLElement ? productRoot.dataset.productId : undefined;\n        rememberCardVariant(productId, input.dataset.variantId);\n      }\n    },\n    true\n  );\n\n  window.MercadaoSwatchesRow = { initAll, initRow, resyncAll, resyncRow, restoreCardLayout, destroyRow };\n})();\n"],
  "mappings": "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",
  "names": []
}
