{
  "version": 3,
  "sources": ["/cdn/shop/t/2/assets/cf-diwali.js?cb=29836"],
  "sourcesContent": ["/*\n  Cheeky Frog \u2014 Diwali 2026 skin behaviour.\n\n  Loaded by layout/theme.liquid only while snippets/cf-season.liquid says\n  diwali. Every piece below looks for its own markup and does nothing when it\n  is absent, so it is safe on every page.\n*/\n(function () {\n  'use strict';\n\n  var reduceMotion = window.matchMedia('(prefers-reduced-motion: reduce)').matches;\n\n  /* Countdown. Liquid prints a starting value, but the storefront is served\n     from a page cache, so the number is recounted here against midnight IST\n     on Diwali (Sun 8 Nov 2026). */\n  function countdown() {\n    var diwali = Date.UTC(2026, 10, 7, 18, 30); // 8 Nov 00:00 IST\n    var days = Math.ceil((diwali - Date.now()) / 864e5);\n    document.querySelectorAll('[data-cf-dw-days]').forEach(function (el) { el.textContent = days; });\n    document.querySelectorAll('[data-cf-dw-days-text]').forEach(function (el) {\n      el.textContent = days > 1 ? days + ' days to Diwali' : days === 1 ? 'Diwali is tomorrow' : '';\n    });\n    if (days <= 0) document.querySelectorAll('[data-cf-dw-countdown]').forEach(function (el) { el.hidden = true; });\n  }\n\n  /* The arch: cross-fade through the slides, keep the caption and dots in step. */\n  function hero() {\n    var root = document.querySelector('[data-cf-dw-hero]');\n    if (!root) return;\n    var slides = root.querySelectorAll('.cf-dw-arch__slide');\n    var dots = root.querySelectorAll('[data-cf-dw-dots] button');\n    var title = root.querySelector('[data-cf-dw-arch-title]');\n    var price = root.querySelector('[data-cf-dw-arch-price]');\n    var link = root.querySelector('[data-cf-dw-arch-link]');\n    if (slides.length < 2) return;\n    var at = 0, timer;\n    function show(i) {\n      at = (i + slides.length) % slides.length;\n      slides.forEach(function (s, k) {\n        var on = k === at;\n        s.classList.toggle('is-on', on);\n        if (on) { s.removeAttribute('aria-hidden'); s.removeAttribute('tabindex'); }\n        else { s.setAttribute('aria-hidden', 'true'); s.setAttribute('tabindex', '-1'); }\n      });\n      dots.forEach(function (d, k) { d.classList.toggle('is-on', k === at); });\n      var s = slides[at];\n      if (title) title.textContent = s.dataset.title;\n      if (price) price.textContent = s.dataset.price;\n      if (link) link.href = s.getAttribute('href');\n      var img = s.querySelector('img');\n      if (img && img.loading === 'lazy') img.loading = 'eager';\n    }\n    function start() { if (!reduceMotion) timer = setInterval(function () { show(at + 1); }, 4200); }\n    dots.forEach(function (d, k) { d.addEventListener('click', function () { clearInterval(timer); show(k); start(); }); });\n    document.addEventListener('visibilitychange', function () { clearInterval(timer); if (!document.hidden) start(); });\n    start();\n\n    var embers = root.querySelector('[data-cf-dw-embers]');\n    if (embers && !reduceMotion) {\n      for (var i = 0; i < 18; i++) {\n        var e = document.createElement('span');\n        e.className = 'cf-dw-ember';\n        e.style.left = (45 + Math.random() * 55) + '%';\n        e.style.bottom = (-20 + Math.random() * 40) + 'px';\n        e.style.animationDuration = (7 + Math.random() * 7) + 's';\n        e.style.animationDelay = (Math.random() * 10) + 's';\n        embers.appendChild(e);\n      }\n    }\n  }\n\n  /* \"Lights\" switch on the lantern band. */\n  function lights() {\n    document.querySelectorAll('[data-cf-dw-lights]').forEach(function (band) {\n      var btn = band.querySelector('[data-cf-dw-switch]');\n      var label = band.querySelector('[data-cf-dw-switch-label]');\n      if (!btn) return;\n      btn.addEventListener('click', function () {\n        var off = band.classList.toggle('is-off');\n        btn.setAttribute('aria-checked', String(!off));\n        if (label) label.textContent = off ? 'off' : 'on';\n      });\n    });\n  }\n\n  /* Name plate. The homepage section carries its own inputs; on a stand's\n     product page the plate is attached under the real Left/Right fields of\n     the personalise block, and re-attached whenever product-info.js swaps that\n     block on a variant change. */\n  var GHOST = { left: 'Best Wishes', right: \"Mehta's\" };\n  var LIMIT = { left: 15, right: 12 };\n\n  function paint(plate, side, value, ghost) {\n    var out = plate.querySelector('[data-cf-dw-plate-out=\"' + side + '\"]');\n    if (!out) return;\n    out.textContent = value || (ghost ? GHOST[side] : '');\n    if (ghost && !value) out.setAttribute('data-ghost', ''); else out.removeAttribute('data-ghost');\n  }\n\n  function homePlates() {\n    document.querySelectorAll('[data-cf-dw-plate-scope]').forEach(function (scope) {\n      var plate = scope.querySelector('.cf-dw-plate');\n      scope.querySelectorAll('[data-cf-dw-plate-in]').forEach(function (input) {\n        var side = input.dataset.cfDwPlateIn;\n        var count = scope.querySelector('[data-cf-dw-count=\"' + side + '\"]');\n        function sync() { paint(plate, side, input.value, false); if (count) count.textContent = input.value.length + '/' + LIMIT[side]; }\n        input.addEventListener('input', sync); sync();\n      });\n    });\n  }\n\n  function makePlate() {\n    var p = document.createElement('div');\n    p.className = 'cf-dw-plate';\n    p.setAttribute('aria-hidden', 'true');\n    p.innerHTML = '<span data-cf-dw-plate-out=\"left\"></span><span class=\"cf-dw-plate__diyas\"><i></i><i></i></span><span data-cf-dw-plate-out=\"right\"></span>';\n    return p;\n  }\n\n  function productPlates() {\n    document.querySelectorAll('.cf-personalise').forEach(function (block) {\n      var left = block.querySelector('input[name=\"properties[Left side]\"]');\n      var right = block.querySelector('input[name=\"properties[Right side]\"]');\n      if (!left || !right || block.querySelector('.cf-dw-plate')) return;\n      var plate = makePlate();\n      var grid = block.querySelector('.cf-personalise__grid');\n      (grid || left).insertAdjacentElement('afterend', plate);\n      function sync() { paint(plate, 'left', left.value, true); paint(plate, 'right', right.value, true); }\n      left.addEventListener('input', sync); right.addEventListener('input', sync); sync();\n    });\n  }\n\n  function init() {\n    countdown();\n    hero();\n    lights();\n    homePlates();\n    productPlates();\n    var product = document.querySelector('.product');\n    if (product && window.MutationObserver) {\n      new MutationObserver(productPlates).observe(product, { childList: true, subtree: true });\n    }\n  }\n\n  if (document.readyState === 'loading') document.addEventListener('DOMContentLoaded', init);\n  else init();\n})();\n"],
  "mappings": "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",
  "names": ["i", "s"]
}
