{
  "version": 3,
  "sources": ["/cdn/shop/t/2/assets/dd-spin-wheel.js?x=1793006117181"],
  "sourcesContent": ["/* DuduBubu Spin Wheel (replaces Wheelify). Markup + CONFIG (prizes, odds, codes, texts): snippets/dd-spin-wheel.liquid. Styles: assets/dd-spin-wheel.css */\n(function () {\n  'use strict';\n  if (window.__ddswLoaded) { return; }\n  window.__ddswLoaded = true;\n\n  var CONFIG = window.ddswConfig;\n  if (!CONFIG || !CONFIG.slices) { return; }\n\n  var LS_KEY = 'ddsw_state_v1';\n  var SS_KEY = 'ddsw_seen_v1';\n  /* page speed: the markup waits in an inert <template> until this file is loaded (after the page has loaded) */\n  var tpl = document.getElementById('ddsw-tpl');\n  if (tpl && tpl.content && document.body && !document.getElementById('ddsw-popup')) { document.body.appendChild(tpl.content.cloneNode(true)); }\n  var popup = document.getElementById('ddsw-popup');\n  var trigger = document.getElementById('ddsw-trigger');\n  if (!popup || !trigger) { return; }\n  if (!CONFIG.mobileEnabled && window.matchMedia('(max-width: 767px)').matches) { return; }\n\n  function q(sel) { return popup.querySelector(sel); }\n  var rotor = q('.ddsw-rotor');\n  var slicesSvg = q('.ddsw-slices');\n  var formStep = q('.ddsw-step-form');\n  var winStep = q('.ddsw-step-win');\n  var form = q('.ddsw-form');\n  var nameInput = form.elements.ddsw_name;\n  var emailInput = form.elements.ddsw_email;\n  var consentInput = form.elements.ddsw_consent;\n  var spinBtn = q('.ddsw-spin-btn');\n  var formNote = q('.ddsw-form-note');\n  var codeInput = q('.ddsw-code');\n  var copyBtn = q('.ddsw-copy');\n  var copyText = q('.ddsw-copy-text');\n  var applyBtn = q('.ddsw-apply-btn');\n  var winNote = q('.ddsw-win-note');\n\n  var SVGNS = 'http://www.w3.org/2000/svg';\n  var N = CONFIG.slices.length;\n  var SEG = 360 / N;\n  var spinning = false;\n  var copiedOrApplied = false;\n  var warnedOnce = false;\n  var fontsRequested = false;\n  var phoneMQ = window.matchMedia('only screen and (max-width: 599px) and (orientation: portrait), only screen and (max-width: 479px)');\n\n  function lsGet() { try { return JSON.parse(localStorage.getItem(LS_KEY) || 'null'); } catch (e) { return null; } }\n  function lsSet(v) { try { localStorage.setItem(LS_KEY, JSON.stringify(v)); } catch (e) {} }\n  function ssGet() { try { return sessionStorage.getItem(SS_KEY); } catch (e) { return null; } }\n  function ssSet() { try { sessionStorage.setItem(SS_KEY, '1'); } catch (e) {} }\n  function decode(c) { try { return atob(c).split('').reverse().join(''); } catch (e) { return ''; } }\n\n  function activeState() {\n    var s = lsGet();\n    if (!s || !s.t) { return null; }\n    if (Date.now() - s.t > CONFIG.resetAfterDays * 864e5) { return null; }\n    return s;\n  }\n\n  function polar(cx, cy, r, deg) {\n    var a = deg * Math.PI / 180;\n    return [cx + r * Math.sin(a), cy - r * Math.cos(a)];\n  }\n  function el(name, attrs, parent) {\n    var n = document.createElementNS(SVGNS, name);\n    for (var k in attrs) { n.setAttribute(k, attrs[k]); }\n    if (parent) { parent.appendChild(n); }\n    return n;\n  }\n  function wedge(cx, cy, r, a0, a1) {\n    var p0 = polar(cx, cy, r, a0);\n    var p1 = polar(cx, cy, r, a1);\n    return 'M' + cx + ',' + cy + ' L' + p0[0].toFixed(2) + ',' + p0[1].toFixed(2) + ' A' + r + ',' + r + ' 0 0 1 ' + p1[0].toFixed(2) + ',' + p1[1].toFixed(2) + ' Z';\n  }\n\n  function drawWheel() {\n    el('circle', { cx: 250, cy: 250, r: 250, fill: '#ffffff' }, slicesSvg);\n    var g = el('g', {}, slicesSvg);\n    CONFIG.slices.forEach(function (s, i) {\n      var mid = CONFIG.startOffset + i * SEG;\n      el('path', { d: wedge(250, 250, 238, mid - SEG / 2, mid + SEG / 2), fill: s.color, stroke: '#ffffff', 'stroke-width': 2 }, g);\n    });\n    CONFIG.slices.forEach(function (s, i) {\n      var mid = CONFIG.startOffset + i * SEG;\n      var len = s.label.length;\n      var fs = len > 18 ? 14 : (len > 12 ? 15 : 16);\n      var t = el('text', { x: 392, y: 250, dy: '0.35em', fill: '#FFFFFF', 'font-size': fs, 'font-weight': 700, 'text-anchor': 'middle', transform: 'rotate(' + (mid - 90).toFixed(2) + ' 250 250)' }, g);\n      t.setAttribute('data-fs', fs);\n      t.textContent = s.label;\n    });\n    var hub = CONFIG.hub || {};\n    var segs = hub.segments || ['#2699fb', '#ffffff'];\n    if (hub.ring) { q('.ddsw-hub-ring').setAttribute('fill', hub.ring); trigger.querySelector('.ddsw-trigger-ring').setAttribute('fill', hub.ring); }\n    if (hub.dot) { q('.ddsw-hub-dot').setAttribute('fill', hub.dot); trigger.querySelector('.ddsw-trigger-dot').setAttribute('fill', hub.dot); }\n    var mini = q('.ddsw-hub-mini');\n    for (var h = 0; h < 6; h++) {\n      el('path', { d: wedge(250, 250, 22, h * 60, (h + 1) * 60), fill: segs[h % segs.length] }, mini);\n    }\n    var tip = polar(250, 250, 226, CONFIG.pointerAngle);\n    q('.ddsw-pin').setAttribute('transform', 'translate(' + tip[0].toFixed(2) + ',' + tip[1].toFixed(2) + ') rotate(' + CONFIG.pointerAngle + ')');\n    var tmini = trigger.querySelector('.ddsw-trigger-mini');\n    for (var i = 0; i < 8; i++) {\n      el('path', { d: wedge(20, 20, 12.5, i * 45, (i + 1) * 45), fill: segs[i % segs.length] }, tmini);\n    }\n  }\n\n  function fitWheel() {\n    var ww = q('.ddsw-wheelwrap');\n    if (!phoneMQ.matches) { ww.style.maxWidth = ''; return; }\n    if (!popup.classList.contains('is-open')) { return; }\n    if (document.activeElement && popup.contains(document.activeElement) && document.activeElement.tagName === 'INPUT') { return; }\n    var contentH = Math.max(formStep.offsetHeight, winStep.offsetHeight);\n    var top = popup.getBoundingClientRect().top;\n    var padTop = parseFloat(getComputedStyle(popup).paddingTop) || 0;\n    var avail = window.innerHeight - top * 2 - padTop - contentH - 36;\n    ww.style.maxWidth = Math.round(Math.max(220, Math.min(400, avail))) + 'px';\n  }\n\n  function sizeLabels() {\n    var w = q('.ddsw-wheel').getBoundingClientRect().width;\n    if (!w) { return; }\n    var k = Math.min(1.4, Math.max(1, 380 / w));\n    [].forEach.call(slicesSvg.querySelectorAll('text'), function (t) {\n      var fs = Math.min(+t.getAttribute('data-fs') * k, 180 / (t.textContent.length * 0.6));\n      t.setAttribute('font-size', Math.max(+t.getAttribute('data-fs'), fs).toFixed(1));\n    });\n  }\n\n  function preloadFonts() {\n    var fam = popup.getAttribute('data-font');\n    if (fontsRequested || !fam || !document.fonts || !document.fonts.load) { return; }\n    fontsRequested = true;\n    ['400', '500', '700', '800'].forEach(function (w) { try { document.fonts.load(w + ' 16px ' + JSON.stringify(fam)); } catch (e) {} });\n  }\n\n  function setNote(node, msg, warn) {\n    node.textContent = msg || '';\n    node.classList.remove('is-warn');\n    if (warn) { void node.offsetWidth; node.classList.add('is-warn'); }\n  }\n\n  function openPopup() {\n    var st = activeState();\n    if (st && st.used >= CONFIG.spinsPerUser) { showWin(st, true); }\n    preloadFonts();\n    popup.classList.add('is-open');\n    fitWheel();\n    sizeLabels();\n    /* captcha now loads on first focus of the name/email field (page speed) */\n    popup.scrollTop = 0;\n    popup.setAttribute('aria-hidden', 'false');\n    trigger.hidden = true;\n  }\n  function closePopup(force) {\n    if (spinning) { return; }\n    var st = activeState();\n    if (!force && st && st.code && !copiedOrApplied && !warnedOnce) {\n      warnedOnce = true;\n      setNote(winNote, CONFIG.text.dontForget, true);\n      return;\n    }\n    popup.classList.remove('is-open');\n    popup.setAttribute('aria-hidden', 'true');\n    trigger.hidden = false;\n    ssSet();\n  }\n\n  function pickIndex() {\n    var total = 0;\n    var i;\n    for (i = 0; i < N; i++) { total += Math.max(0, CONFIG.slices[i].prob || 0); }\n    if (total <= 0) { return Math.floor(Math.random() * N); }\n    var r = Math.random() * total;\n    for (i = 0; i < N; i++) {\n      r -= Math.max(0, CONFIG.slices[i].prob || 0);\n      if (r < 0) { return i; }\n    }\n    return 0;\n  }\n\n  function bindLeadCaptcha() {\n    var f = document.getElementById('ddsw-lead-form');\n    if (!f || f.getAttribute('data-ddsw-bound')) { return; }\n    f.setAttribute('data-ddsw-bound', '1');\n    try { f.elements['contact[email]'].dispatchEvent(new FocusEvent('focusin', { bubbles: true })); } catch (e) {}\n  }\n\n  function submitLead(name, email) {\n    var f = document.getElementById('ddsw-lead-form');\n    if (!f) { return; }\n    var parts = name.trim().split(/ +/);\n    f.elements['contact[email]'].value = email;\n    f.elements['contact[first_name]'].value = parts.shift() || '';\n    f.elements['contact[last_name]'].value = parts.join(' ');\n    var frame = document.getElementById('ddsw-lead-frame');\n    if (!frame) {\n      frame = document.createElement('iframe');\n      frame.id = 'ddsw-lead-frame';\n      frame.name = 'ddsw-lead-frame';\n      frame.title = 'Newsletter sign-up';\n      frame.tabIndex = -1;\n      frame.setAttribute('aria-hidden', 'true');\n      frame.style.cssText = 'position:absolute;width:0;height:0;border:0;visibility:hidden';\n      document.body.appendChild(frame);\n    }\n    f.target = 'ddsw-lead-frame';\n    if (typeof f.requestSubmit === 'function') { f.requestSubmit(); return; }\n    var btn = f.querySelector('.ddsw-lead-submit');\n    if (!btn) {\n      btn = document.createElement('button');\n      btn.type = 'submit';\n      btn.className = 'ddsw-lead-submit';\n      btn.hidden = true;\n      f.appendChild(btn);\n    }\n    btn.click();\n  }\n\n  function applyDiscount(code) {\n    if (!code) { return Promise.resolve(); }\n    var root = (window.Shopify && window.Shopify.routes && window.Shopify.routes.root) || '/';\n    var p1 = fetch(root + 'discount/' + encodeURIComponent(code) + '?redirect=' + encodeURIComponent(root + 'cart.js'), { credentials: 'same-origin' }).catch(function () {});\n    var p2 = fetch(root + 'cart/update.js', {\n      method: 'POST',\n      credentials: 'same-origin',\n      headers: { 'Content-Type': 'application/json', 'Accept': 'application/json' },\n      body: JSON.stringify({ discount: code })\n    }).then(function (r) { return r.ok ? r.json() : null; }).then(function (cart) {\n      if (cart) { document.dispatchEvent(new CustomEvent('cart:updated', { detail: { cart: cart } })); }\n    }).catch(function () {});\n    return Promise.all([p1, p2]);\n  }\n\n  function legacyCopy() {\n    try { codeInput.removeAttribute('readonly'); codeInput.select(); document.execCommand('copy'); codeInput.setAttribute('readonly', ''); } catch (e) {}\n  }\n  function copyCode() {\n    var done = function () {\n      copiedOrApplied = true;\n      copyText.textContent = CONFIG.text.copied;\n      setNote(winNote, '');\n      setTimeout(function () { copyText.textContent = CONFIG.text.copy; }, 2200);\n    };\n    if (navigator.clipboard && navigator.clipboard.writeText) {\n      navigator.clipboard.writeText(codeInput.value).then(done, function () { legacyCopy(); done(); });\n    } else { legacyCopy(); done(); }\n  }\n\n  function showWin(st, restoring) {\n    var slice = CONFIG.slices[st.idx] || {};\n    formStep.hidden = true;\n    winStep.hidden = false;\n    popup.scrollTop = 0;\n    if (st.code) {\n      q('.ddsw-won-label').textContent = CONFIG.text.youWon;\n      q('.ddsw-wintext').textContent = slice.win || slice.label || '';\n      q('.ddsw-win-desc').textContent = CONFIG.text.winDesc;\n      codeInput.value = st.code;\n      q('.ddsw-codebox').hidden = false;\n      applyBtn.hidden = false;\n      if (st.applied) { applyBtn.textContent = CONFIG.text.applied; applyBtn.disabled = true; }\n    } else {\n      q('.ddsw-won-label').textContent = CONFIG.text.lose;\n      q('.ddsw-wintext').textContent = '';\n      q('.ddsw-win-desc').textContent = '';\n      q('.ddsw-codebox').hidden = true;\n      applyBtn.hidden = true;\n    }\n    if (restoring) {\n      rotor.style.transition = 'none';\n      rotor.style.transform = 'rotate(' + (st.rot || 0) + 'deg)';\n    }\n  }\n\n  function onSubmit(e) {\n    e.preventDefault();\n    if (spinning) { return; }\n    var name = nameInput.value.trim();\n    var email = emailInput.value.trim();\n    nameInput.classList.remove('is-invalid');\n    emailInput.classList.remove('is-invalid');\n    if (!name) { void nameInput.offsetWidth; nameInput.classList.add('is-invalid'); setNote(formNote, CONFIG.text.nameError); nameInput.focus(); return; }\n    if (!/^[^ @]+@[^ @]+[.][^ @.]{2,}$/.test(email)) { void emailInput.offsetWidth; emailInput.classList.add('is-invalid'); setNote(formNote, CONFIG.text.emailError); emailInput.focus(); return; }\n    var ddAt = email.lastIndexOf('@'); var ddDom = email.slice(ddAt + 1).toLowerCase(); var ddFix = { 'gmial.com': 'gmail.com', 'gmai.com': 'gmail.com', 'gmal.com': 'gmail.com', 'gamil.com': 'gmail.com', 'gnail.com': 'gmail.com', 'gmaill.com': 'gmail.com', 'gmail.co': 'gmail.com', 'hotmial.com': 'hotmail.com', 'hotmai.com': 'hotmail.com', 'hotmal.com': 'hotmail.com', 'yahooo.com': 'yahoo.com', 'yaho.com': 'yahoo.com', 'outlok.com': 'outlook.com', 'outloo.com': 'outlook.com', 'iclod.com': 'icloud.com', 'icoud.com': 'icloud.com' }[ddDom] || ddDom.replace(/[.](con|cmo|comm|vom|xom)$/, '.com'); if (ddFix !== ddDom) { emailInput.value = email.slice(0, ddAt + 1) + ddFix; setNote(formNote, CONFIG.text.emailTypo || 'We fixed a typo in your email. Check it, then tap again.', true); emailInput.focus(); return; } if (/(^|[.])(mailinator|yopmail|guerrillamail|sharklasers|10minutemail|temp-mail|tempmail|tempmailo|throwawaymail|trashmail|getnada|dispostable|maildrop|mailnesia|mintemail|moakt|emailondeck|fakeinbox|mohmal|tempail|burnermail|tmpmail|emltmp|dropmail|minuteinbox|mailpoof|spamgourmet)[.]/.test(ddDom)) { void emailInput.offsetWidth; emailInput.classList.add('is-invalid'); setNote(formNote, CONFIG.text.emailTemp || 'Please use your own email address, not a temporary one.'); emailInput.focus(); return; } if (CONFIG.consentRequired && !consentInput.checked) {\n      var box = q('.ddsw-cb-box');\n      box.classList.remove('is-invalid'); void box.offsetWidth; box.classList.add('is-invalid');\n      setNote(formNote, CONFIG.text.consentError || 'Please tick the box to spin the wheel.', true);\n      return;\n    }\n    setNote(formNote, '');\n\n    var existing = activeState();\n    if (existing && existing.used >= CONFIG.spinsPerUser) { showWin(existing, true); return; }\n\n    spinning = true;\n    spinBtn.disabled = true;\n    nameInput.disabled = true;\n    emailInput.disabled = true;\n    consentInput.disabled = true;\n\n    var wantsNewsletter = consentInput.checked;\n\n    var idx = pickIndex();\n    var slice = CONFIG.slices[idx];\n    var center = CONFIG.startOffset + idx * SEG;\n    var jitter = (Math.random() - 0.5) * SEG * 0.6;\n    var delta = ((CONFIG.pointerAngle - center + jitter) % 360 + 360) % 360;\n    var rot = 360 * 7 + delta;\n\n    rotor.style.transition = 'transform ' + CONFIG.spinMs + 'ms cubic-bezier(0.12, 0.72, 0.12, 1)';\n    void rotor.offsetWidth;\n    rotor.style.transform = 'rotate(' + rot + 'deg)';\n\n    var code = (slice.prob > 0 && slice.c) ? decode(slice.c) : '';\n    var st = { t: Date.now(), used: ((existing && existing.used) || 0) + 1, idx: idx, code: code, rot: rot % 360, applied: false };\n\n    setTimeout(function () {\n      spinning = false;\n      lsSet(st);\n      showWin(st, false);\n      if (wantsNewsletter) { submitLead(name, email); }\n      if (code && CONFIG.autoApplyDiscount) { applyDiscount(code); }\n      try {\n        window.dataLayer = window.dataLayer || [];\n        window.dataLayer.push({ event: 'spin_wheel_win', spin_prize: slice.win || slice.label, spin_newsletter: wantsNewsletter });\n      } catch (e3) {}\n    }, CONFIG.spinMs + 150);\n  }\n\n  function onApply() {\n    var st = activeState();\n    if (!st || !st.code) { return; }\n    applyBtn.disabled = true;\n    applyDiscount(st.code).then(function () {\n      copiedOrApplied = true;\n      st.applied = true;\n      lsSet(st);\n      applyBtn.textContent = CONFIG.text.applied;\n      setNote(winNote, '');\n    });\n  }\n\n  /* ms since the page's DOM was ready: this file now loads late, so the popup delay counts from page ready, as before */\n  function sinceReady() {\n    try {\n      var nav = performance.getEntriesByType('navigation')[0];\n      if (nav && nav.domContentLoadedEventEnd) { return performance.now() - nav.domContentLoadedEventEnd; }\n    } catch (e) {}\n    return 0;\n  }\n\n  function ddswDelay() { var phone = window.matchMedia('(max-width: 767px)').matches; var first = false; try { first = !sessionStorage.getItem('ddsw_pv'); sessionStorage.setItem('ddsw_pv', '1'); } catch (e) {} var ref = document.referrer.split('/')[2] || ''; var paid = /[?&](gclid|gbraid|wbraid|msclkid)=|[?&]utm_medium=(cpc|ppc|paid)/i.test(location.search); if (phone && first && !paid && /(^|\\.)(google|bing|duckduckgo|yahoo|yandex|ecosia|baidu|naver)\\./i.test(ref)) { return -1; } return phone ? (CONFIG.mobileDelayMs || CONFIG.delayMs) : CONFIG.delayMs; }  function init() {\n    if (popup.parentNode !== document.body) { document.body.appendChild(popup); }\n    if (trigger.parentNode !== document.body) { document.body.appendChild(trigger); }\n    drawWheel();\n    rotor.style.transform = 'rotate(0deg)';\n    var st = activeState();\n    if (st && st.used >= CONFIG.spinsPerUser) { showWin(st, true); }\n    trigger.hidden = false;\n    trigger.addEventListener('click', openPopup);\n    trigger.addEventListener('pointerenter', preloadFonts);\n    trigger.addEventListener('touchstart', preloadFonts, { passive: true });\n    nameInput.addEventListener('keydown', function (e) { if (e.key === 'Enter') { e.preventDefault(); emailInput.focus(); } });\n    q('.ddsw-close').addEventListener('click', function () { closePopup(false); });\n    document.addEventListener('keydown', function (e) { if (e.key === 'Escape' && popup.classList.contains('is-open')) { closePopup(true); } });\n    form.addEventListener('submit', onSubmit);\n    form.addEventListener('focusin', bindLeadCaptcha);\n    consentInput.addEventListener('change', function () { q('.ddsw-cb-box').classList.remove('is-invalid'); if (consentInput.checked) { setNote(formNote, ''); } });\n    copyBtn.addEventListener('click', copyCode);\n    codeInput.addEventListener('focus', function () { codeInput.select(); });\n    applyBtn.addEventListener('click', onApply);\n    window.addEventListener('resize', function () { if (!spinning && popup.classList.contains('is-open')) { fitWheel(); sizeLabels(); } });\n    if (location.search.indexOf('spinwheel=1') > -1) { openPopup(); return; }\n    var dly = ddswDelay(); if (CONFIG.autoOpen && !ssGet() && !st && dly >= 0) {\n      dly = Math.max(300, dly - sinceReady());\n      setTimeout(preloadFonts, Math.max(0, dly - 2500));\n      setTimeout(function () { if (!ssGet()) { openPopup(); } }, dly);\n    }\n  }\n\n  if (document.readyState === 'loading') { document.addEventListener('DOMContentLoaded', init); } else { init(); }\n})();"],
  "mappings": "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",
  "names": ["i"]
}
