{
  "version": 3,
  "sources": ["/cdn/shop/t/2/assets/galeria-product-variants.js?check=sticky-asset"],
  "sourcesContent": ["import { StandardEvents } from '@shopify/events';\n\n(() => {\n  const money = new Intl.NumberFormat('pt-BR', { style: 'currency', currency: 'BRL' });\n  function renderSpecs(section, specs, configuration) {\n    if (!section) return;\n    const selection = document.querySelector('[data-galeria-details-selection]');\n    if (selection) {\n      selection.hidden = !configuration || configuration === 'Default Title';\n      selection.textContent = selection.hidden ? '' : 'Configura\u00E7\u00E3o: ' + configuration;\n    }\n    const measure = section.querySelector('[data-galeria-measure]');\n    if (measure) {\n      measure.textContent = specs?.Altura ?? '';\n      measure.hidden = !measure.textContent;\n    }\n    const groups = { Altura: '0', 'Di\u00E2metro aberto': '0', 'Pontas dos galhos': '1', 'Ilumina\u00E7\u00E3o': '2', 'Quantidade de luzes': '2' };\n    const other = section.querySelector('[data-galeria-spec-group=\"other\"]');\n    section.querySelectorAll('[data-galeria-spec-group]').forEach(list => list.replaceChildren());\n    Object.entries(specs ?? {}).forEach(([label, value]) => {\n      const list = groups[label] === undefined ? other : section.querySelector('[data-galeria-spec-group=\"' + groups[label] + '\"]') ?? other;\n      if (!list) return;\n      const row = document.createElement('div');\n      const term = document.createElement('dt');\n      const detail = document.createElement('dd');\n      term.textContent = label;\n      detail.textContent = value;\n      row.append(term, detail);\n      list.append(row);\n    });\n  }\n  document.querySelectorAll('[data-galeria-tabs]').forEach(group => {\n    const tabs = [...group.querySelectorAll('[role=\"tab\"]')];\n    function activate(tab, focus = false) {\n      tabs.forEach(item => {\n        const selected = item === tab;\n        item.setAttribute('aria-selected', String(selected));\n        item.tabIndex = selected ? 0 : -1;\n        document.getElementById(item.getAttribute('aria-controls')).hidden = !selected;\n      });\n      if (focus) tab.focus();\n    }\n    tabs.forEach((tab, index) => {\n      tab.addEventListener('click', () => activate(tab));\n      tab.addEventListener('keydown', event => {\n        const target = {\n          ArrowRight: (index + 1) % tabs.length,\n          ArrowLeft: (index - 1 + tabs.length) % tabs.length,\n          Home: 0,\n          End: tabs.length - 1,\n        }[event.key];\n        if (target === undefined) return;\n        event.preventDefault();\n        activate(tabs[target], true);\n      });\n    });\n  });\n  const sticky = document.querySelector('[data-galeria-sticky]');\n  const stickyPrice = sticky?.querySelector('[data-galeria-sticky-price]');\n  const stickyImage = sticky?.querySelector('[data-galeria-sticky-image]');\n  const mainPhoto = document.querySelector('.galeria-product-gallery__main');\n  if (stickyImage && mainPhoto) {\n    const image = document.createElement('img');\n    image.src = mainPhoto.getAttribute('src');\n    image.alt = '';\n    stickyImage.append(image);\n  }\n  const stickySelection = sticky?.querySelector('[data-galeria-sticky-selection]');\n  const previewQuantity = document.querySelector('[data-galeria-quantity] input');\n  let previewVariant;\n  function updatePreviewSticky() {\n    if (!stickyPrice || !previewVariant) return;\n    const quantity = Math.max(1, Math.trunc(previewQuantity?.valueAsNumber || 1));\n    const total = Math.round(previewVariant.price * quantity * 0.75);\n    stickyPrice.textContent = money.format(total / 100) + ' no Pix';\n    const options = previewVariant.options.filter(value => value !== 'Default Title');\n    const summary = [...options, quantity + (quantity === 1 ? ' unidade' : ' unidades')].join(' \u00B7 ');\n    stickySelection.textContent = summary;\n    stickySelection.title = summary;\n  }\n  previewQuantity?.addEventListener('input', updatePreviewSticky);\n  const preview = document.querySelector('[data-galeria-preview-variants]');\n  if (preview) {\n    const variants = JSON.parse(preview.textContent);\n    const controls = [...document.querySelectorAll('[data-galeria-option]')];\n    const offer = document.querySelector('.galeria-product-offer');\n    const specs = document.querySelector('[data-galeria-specs]');\n    const selected = variants[0].options.slice();\n    function update() {\n      let matches = variants;\n      controls.forEach((control, index) => {\n        const values = [...new Set(matches.map(variant => variant.options[index]))];\n        if (!values.includes(selected[index])) selected[index] = values[0];\n        const choices = control.querySelector('.galeria-variant-options__choices');\n        const available = new Set(values);\n        const allValues = [...new Set(variants.map(variant => variant.options[index]))];\n        choices.replaceChildren(...allValues.map(value => {\n          const button = document.createElement('button');\n          button.type = 'button';\n          button.textContent = value;\n          button.dataset.value = value;\n          button.disabled = !available.has(value);\n          button.setAttribute('aria-pressed', String(selected[index] === value));\n          return button;\n        }));\n        matches = matches.filter(variant => variant.options[index] === selected[index]);\n      });\n      const variant = matches[0];\n      if (!variant) return;\n      renderSpecs(specs, variant.specs, variant.title);\n      const pixCents = Math.round(variant.price * 0.75);\n      const pix = money.format(pixCents / 100);\n      const savings = money.format((variant.price - pixCents) / 100);\n      const compare = offer?.querySelector('.galeria-product-offer__compare');\n      const headline = offer?.querySelector('.galeria-product-offer__price');\n      const pixNote = offer?.querySelector('.galeria-product-offer__pix small');\n      const saving = offer?.querySelector('.galeria-product-offer__saving strong');\n      if (compare) compare.textContent = money.format(variant.price / 100);\n      if (headline) headline.textContent = pix;\n      previewVariant = variant;\n      updatePreviewSticky();\n      if (pixNote) pixNote.textContent = 'Economize ' + savings + ' pagando com Pix';\n      if (saving) saving.textContent = savings;\n    }\n    controls.forEach((control, index) => control.addEventListener('click', event => {\n      const option = event.target.closest('[data-value]');\n      if (!option || option.disabled) return;\n      selected[index] = option.dataset.value;\n      update();\n      control.querySelector('[aria-pressed=\"true\"]')?.focus({ preventScroll: true });\n    }));\n    update();\n  }\n  const native = document.querySelector('[data-galeria-native-variants]');\n  if (native) {\n    const data = JSON.parse(native.textContent);\n    const section = document.querySelector('[data-galeria-specs]');\n    const nativeSticky = document.querySelector('sticky-add-to-cart');\n    const nativePrice = nativeSticky?.querySelector('.sticky-add-to-cart__price');\n    const pixEnabled = Boolean(document.querySelector('.galeria-product-offer__pix'));\n    let variantId = data.selected;\n    let quantity = Number(nativeSticky?.dataset.initialQuantity) || 1;\n    const stickyTitle = nativeSticky?.querySelector('.sticky-add-to-cart__title');\n    if (stickyTitle) {\n      const fullTitle = stickyTitle.textContent.trim();\n      stickyTitle.title = fullTitle;\n      stickyTitle.textContent = fullTitle.replace(/^\u00C1rvore de Natal(?: de)?\\s+/i, '');\n      stickyTitle.style.fontWeight = '650';\n    }\n    function updateNativeSticky() {\n      if (!nativePrice || !pixEnabled || !Object.hasOwn(data.prices, variantId)) return;\n      let output = nativePrice.querySelector('[data-galeria-native-pix]');\n      if (!output) {\n        output = document.createElement('strong');\n        output.dataset.galeriaNativePix = '';\n        output.setAttribute('aria-live', 'polite');\n        Object.assign(output.style, {color: '#75182b', fontWeight: '750', whiteSpace: 'nowrap'});\n        nativePrice.append(output);\n      }\n      let reference = nativePrice.querySelector('[data-galeria-native-reference]');\n      if (!reference) {\n        reference = document.createElement('s');\n        reference.dataset.galeriaNativeReference = '';\n        reference.setAttribute('aria-label', 'Pre\u00E7o de refer\u00EAncia');\n        Object.assign(reference.style, {display: 'block', color: '#655e56', fontSize: '.75rem', whiteSpace: 'nowrap'});\n        nativePrice.prepend(reference);\n      }\n      nativePrice.querySelector('[ref=\"priceContainer\"]')?.setAttribute('hidden', '');\n      const unitPrice = data.prices[variantId];\n      const total = unitPrice * quantity;\n      const referenceTotal = Math.round(unitPrice * 1.3) * quantity;\n      const pixTotal = total - Math.round(total * 0.25);\n      reference.textContent = money.format(referenceTotal / 100);\n      output.textContent = money.format(pixTotal / 100) + ' no Pix';\n    }\n    renderSpecs(section, data.specs[data.selected], data.selectedTitle);\n    updateNativeSticky();\n    document.addEventListener('quantity-selector:update', event => {\n      if (event.detail?.cartLine || !event.detail?.quantity) return;\n      quantity = event.detail.quantity;\n      updateNativeSticky();\n    });\n    document.addEventListener(StandardEvents.productSelect, async event => {\n      if (!event.promise || event.target.closest?.('product-card, dialog')) return;\n      const selection = await event.promise;\n      const id = selection.detail?.resource?.id ?? selection.variant?.id;\n      if (!id || !Object.hasOwn(data.specs, id)) return;\n      variantId = id;\n      renderSpecs(section, data.specs[id], selection.detail?.resource?.title ?? selection.variant?.title);\n      requestAnimationFrame(updateNativeSticky);\n    });\n  }\n})();"],
  "mappings": "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",
  "names": ["variant"]
}
