{
  "version": 3,
  "sources": ["/cdn/shop/t/2/assets/essentae-amla-offer.js?purchase=v1"],
  "sourcesContent": ["import { resetCheckoutOnReturn, hasPendingCartItem } from './pilot-checkout-state.js?v=1';\nimport { startAtcLoading } from './pilot-atc-loading.js?v=1';\nimport { checkoutAfterGifts } from './direct-checkout-theme.js?v=oregano-once-v1';\nimport { CartAddEvent } from '@theme/events';\r\n\r\nfunction initialise(root) {\n  if(root.dataset.initialised)return;\r\n  root.dataset.initialised = 'true';\r\n  const form = root.querySelector('[data-essentae-offer-form]');\r\n  resetCheckoutOnReturn(root, form);\n  const cards = [...root.querySelectorAll('.product-offer__variant-item')];\r\n  const subscribe = root.querySelector('[data-subscribe]');\r\n  const planInput = form.querySelector('[name=\"selling_plan\"]');\r\n  const error = root.querySelector('[data-offer-error]');\r\n  let selected = cards.find(card => card.classList.contains('selected')) || cards[0];\r\n  const sync = () => {\r\n    if (!selected) return;\r\n    form.elements.id.value = selected.dataset.id;\r\n    const isSubscription = Boolean(subscribe?.checked && selected.dataset.plan);\n    cards.forEach(card => {\n      const active = card === selected;\r\n      card.classList.toggle('selected', active);\r\n      card.setAttribute('aria-pressed', String(active));\n      card.querySelector('.price').textContent = isSubscription && card.dataset.planPrice ? card.dataset.planPrice : card.dataset.price;\n      const compare = card.querySelector('.compare-price');\n      compare.hidden = !(isSubscription || card.dataset.onceCompare);\n      compare.textContent = isSubscription ? card.dataset.price : (card.dataset.onceCompare || '');\n      const saving = card.querySelector('.product-offer__variant-saving');\n      const savingPercent = isSubscription ? Number(card.dataset.saving) : Number(card.dataset.onceSaving);\n      saving.hidden = !(savingPercent > 0);\n      saving.textContent = (card.dataset.saveLabel || '').replace('{percent}', String(savingPercent));\n    });\r\n    root.querySelectorAll('.btn-price').forEach(el => el.textContent = isSubscription ? selected.dataset.planPrice : selected.dataset.price);\n    root.querySelectorAll('[data-buy-once-price]').forEach(el => el.textContent = selected.dataset.price);\n    root.querySelectorAll('.btn-compare').forEach(el => { const showCompare = isSubscription || Boolean(selected.dataset.onceCompare); el.hidden = !showCompare; el.style.display = showCompare ? 'inline' : 'none'; el.textContent = isSubscription ? selected.dataset.price : (selected.dataset.onceCompare || ''); });\n    if (subscribe) {\r\n      subscribe.disabled = !selected.dataset.plan;\r\n      if (subscribe.disabled) subscribe.checked = false;\r\n      planInput.disabled = !subscribe.checked;\r\n      planInput.value = subscribe.checked ? selected.dataset.plan : '';\r\n      root.querySelector('.product-offer__subscription-description').textContent = selected.dataset.planLabel || '';\n      const renewal=root.querySelector('[data-amla-renewal]');\n      if(renewal){\n        const label=selected.dataset.planLabel || '';\n        renewal.textContent=`${renewal.dataset.renewalPrefix} ${label.charAt(0).toLowerCase()+label.slice(1)}`;\n      }\n    }\r\n  };\r\n  cards.forEach(card => card.addEventListener('click', () => { selected = card; sync(); }));\r\n  subscribe?.addEventListener('change', sync);\r\n  root.querySelector('[data-buy-once]')?.addEventListener('click', () => {\r\n    if (subscribe) subscribe.checked = false;\r\n    sync();\r\n    form.requestSubmit();\r\n  });\r\n  form.addEventListener('submit', async event => {\r\n    event.preventDefault();\r\n    if (form.dataset.submitting || !selected) return;\r\n    form.dataset.submitting = 'true';\n    const finishLoading = startAtcLoading(root);\r\n    error.hidden = true;\r\n    const buttons = [...root.querySelectorAll('button[type=\"submit\"],[data-buy-once]')];\r\n    buttons.forEach(button => button.disabled = true);\r\n    try {\r\n      if (await hasPendingCartItem(form)) { await checkoutAfterGifts(root); return; }\n      const data = new FormData(form);\n      // pilot-amla-selected-purchase-v1: selected offer is authoritative,\n      // including when an app has injected or changed hidden form controls.\n      const selectedId = String(selected.dataset.id || '');\n      if (!/^\\d+$/.test(selectedId)) throw new Error(root.dataset.checkoutError || 'Please select an offer and try again.');\n      data.set('id', selectedId);\n      data.set('quantity', '1');\n      if (subscribe?.checked && !subscribe.disabled && selected.dataset.plan) { if (!/^\\d+$/.test(selected.dataset.plan)) throw new Error(root.dataset.checkoutError || 'Please select an offer and try again.'); data.set('selling_plan', selected.dataset.plan); }\n      else data.delete('selling_plan');\r\n      const submittedVariant = String(data.get(\"id\"));\r\n      const sections = [...new Set([...document.querySelectorAll('cart-items-component[data-section-id]')].map(el => el.dataset.sectionId))];\r\n      if (sections.length) data.set('sections', sections.join(','));\r\n      data.set('sections_url', location.pathname);\r\n      const response = await fetch(form.action.replace(/\\.js$/, '') + '.js', { method: 'POST', body: data, headers: { Accept: 'application/json' } });\r\n      const cart = await response.json();\r\n      if (!response.ok) throw new Error(cart.description || cart.message || response.statusText);\r\n      if (root.dataset.directCheckout === 'true') { form.dataset.checkoutPending = 'true'; await checkoutAfterGifts(root); return; }\n      root.dispatchEvent(new CartAddEvent(cart, submittedVariant, {\r\n        source: 'product-form-component', itemCount: 1,\r\n        productId: root.dataset.productId, variantId: submittedVariant,\r\n        sections: cart.sections, properties: {}\r\n      }));\r\n    } catch (failure) {\r\n      error.textContent = failure.message;\r\n      error.hidden = false;\r\n    } finally {\r\n      delete form.dataset.submitting;\r\n      buttons.forEach(button => button.disabled = false);\n      finishLoading();\r\n    }\r\n  });\r\n  const sticky = root.querySelector('.product-offer__sticky');\n  const wrapper = root.querySelector('.product-offer__wrapper');\n  const footer = document.querySelector('.site-footer, footer');\n  if (sticky && wrapper) {\n    const lifecycle = new AbortController();\n    const updateSticky = () => {\n      if (!root.isConnected) { lifecycle.abort(); return; }\n      const passedOffer = wrapper.getBoundingClientRect().bottom <= 0;\n      const overlapsFooter = footer && sticky.getBoundingClientRect().bottom >= footer.getBoundingClientRect().top;\n      sticky.classList.toggle('visible', passedOffer && !overlapsFooter);\n    };\n    window.addEventListener('scroll', updateSticky, { passive: true, signal: lifecycle.signal });\n    window.addEventListener('resize', updateSticky, { passive: true, signal: lifecycle.signal });\n    document.addEventListener('shopify:section:unload', event => {\n      if (event.target.contains(root)) lifecycle.abort();\n    }, { signal: lifecycle.signal });\n    root.querySelector('.product-offer__sticky-btn')?.addEventListener('click', () => {\n      root.querySelector('#product-offer')?.scrollIntoView({ behavior: 'smooth' });\n    });\n    updateSticky();\n  }\n  sync();\r\n}\r\ndocument.querySelectorAll('[data-essentae-amla]').forEach(initialise);\ndocument.addEventListener('shopify:section:load', event => event.target.querySelectorAll('[data-essentae-amla]').forEach(initialise));\n"],
  "mappings": "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",
  "names": []
}
