{
  "version": 3,
  "sources": ["/cdn/shop/t/5/assets/wishlist.js?nocache=1785942447960"],
  "sourcesContent": ["(function () {\n  const STORAGE_KEY = 'olsyra_wishlist';\n\n  function getWishlist() {\n    try {\n      const raw = localStorage.getItem(STORAGE_KEY);\n      const parsed = raw ? JSON.parse(raw) : [];\n      return Array.isArray(parsed) ? parsed : [];\n    } catch (error) {\n      return [];\n    }\n  }\n\n  function saveWishlist(items) {\n    localStorage.setItem(STORAGE_KEY, JSON.stringify(items));\n    updateCountBubbles();\n    document.dispatchEvent(new CustomEvent('wishlist:updated', { detail: { items: items } }));\n  }\n\n  function isInWishlist(id) {\n    return getWishlist().some(function (item) {\n      return String(item.id) === String(id);\n    });\n  }\n\n  function toggleWishlist(item) {\n    const items = getWishlist();\n    const index = items.findIndex(function (existing) {\n      return String(existing.id) === String(item.id);\n    });\n\n    let added;\n    if (index > -1) {\n      items.splice(index, 1);\n      added = false;\n    } else {\n      items.push(item);\n      added = true;\n    }\n\n    saveWishlist(items);\n    return added;\n  }\n\n  function updateCountBubbles() {\n    const count = getWishlist().length;\n    document.querySelectorAll('[data-wishlist-count-bubble]').forEach(function (bubble) {\n      bubble.textContent = count > 0 ? String(count) : '';\n    });\n  }\n\n  function setButtonState(button, active) {\n    button.setAttribute('aria-pressed', active ? 'true' : 'false');\n    button.classList.toggle('wishlist-toggle--active', active);\n    const outline = button.querySelector('[data-wishlist-icon-outline]');\n    const filled = button.querySelector('[data-wishlist-icon-filled]');\n    if (outline && filled) {\n      outline.hidden = active;\n      filled.hidden = !active;\n    }\n  }\n\n  function refreshButtonStates() {\n    document.querySelectorAll('[data-wishlist-toggle]').forEach(function (button) {\n      setButtonState(button, isInWishlist(button.getAttribute('data-product-id')));\n    });\n  }\n\n  function buildItemFromButton(button) {\n    return {\n      id: button.getAttribute('data-product-id'),\n      handle: button.getAttribute('data-product-handle') || '',\n      url: button.getAttribute('data-product-url') || '',\n      title: button.getAttribute('data-product-title') || '',\n      image: button.getAttribute('data-product-image') || '',\n      price: button.getAttribute('data-product-price') || ''\n    };\n  }\n\n  document.addEventListener('click', function (event) {\n    const button = event.target.closest('[data-wishlist-toggle]');\n    if (!button) return;\n\n    event.preventDefault();\n    const item = buildItemFromButton(button);\n    if (!item.id) return;\n\n    const added = toggleWishlist(item);\n\n    document.querySelectorAll('[data-wishlist-toggle][data-product-id=\"' + item.id + '\"]').forEach(function (btn) {\n      setButtonState(btn, added);\n    });\n  });\n\n  document.addEventListener('DOMContentLoaded', function () {\n    refreshButtonStates();\n    updateCountBubbles();\n  });\n\n  window.olsyraWishlist = {\n    get: getWishlist,\n    isInWishlist: isInWishlist,\n    toggle: toggleWishlist,\n    refreshButtonStates: refreshButtonStates\n  };\n})();\n"],
  "mappings": "CAAC,UAAY,CACX,MAAM,YAAc,kBAEpB,SAAS,aAAc,CACrB,GAAI,CACF,MAAM,IAAM,aAAa,QAAQ,WAAW,EACtC,OAAS,IAAM,KAAK,MAAM,GAAG,EAAI,CAAC,EACxC,OAAO,MAAM,QAAQ,MAAM,EAAI,OAAS,CAAC,CAC3C,MAAgB,CACd,MAAO,CAAC,CACV,CACF,CAEA,SAAS,aAAa,MAAO,CAC3B,aAAa,QAAQ,YAAa,KAAK,UAAU,KAAK,CAAC,EACvD,mBAAmB,EACnB,SAAS,cAAc,IAAI,YAAY,mBAAoB,CAAE,OAAQ,CAAE,KAAa,CAAE,CAAC,CAAC,CAC1F,CAEA,SAAS,aAAa,GAAI,CACxB,OAAO,YAAY,EAAE,KAAK,SAAU,KAAM,CACxC,OAAO,OAAO,KAAK,EAAE,IAAM,OAAO,EAAE,CACtC,CAAC,CACH,CAEA,SAAS,eAAe,KAAM,CAC5B,MAAM,MAAQ,YAAY,EACpB,MAAQ,MAAM,UAAU,SAAU,SAAU,CAChD,OAAO,OAAO,SAAS,EAAE,IAAM,OAAO,KAAK,EAAE,CAC/C,CAAC,EAED,IAAI,MACJ,OAAI,MAAQ,IACV,MAAM,OAAO,MAAO,CAAC,EACrB,MAAQ,KAER,MAAM,KAAK,IAAI,EACf,MAAQ,IAGV,aAAa,KAAK,EACX,KACT,CAEA,SAAS,oBAAqB,CAC5B,MAAM,MAAQ,YAAY,EAAE,OAC5B,SAAS,iBAAiB,8BAA8B,EAAE,QAAQ,SAAU,OAAQ,CAClF,OAAO,YAAc,MAAQ,EAAI,OAAO,KAAK,EAAI,EACnD,CAAC,CACH,CAEA,SAAS,eAAe,OAAQ,OAAQ,CACtC,OAAO,aAAa,eAAgB,OAAS,OAAS,OAAO,EAC7D,OAAO,UAAU,OAAO,0BAA2B,MAAM,EACzD,MAAM,QAAU,OAAO,cAAc,8BAA8B,EAC7D,OAAS,OAAO,cAAc,6BAA6B,EAC7D,SAAW,SACb,QAAQ,OAAS,OACjB,OAAO,OAAS,CAAC,OAErB,CAEA,SAAS,qBAAsB,CAC7B,SAAS,iBAAiB,wBAAwB,EAAE,QAAQ,SAAU,OAAQ,CAC5E,eAAe,OAAQ,aAAa,OAAO,aAAa,iBAAiB,CAAC,CAAC,CAC7E,CAAC,CACH,CAEA,SAAS,oBAAoB,OAAQ,CACnC,MAAO,CACL,GAAI,OAAO,aAAa,iBAAiB,EACzC,OAAQ,OAAO,aAAa,qBAAqB,GAAK,GACtD,IAAK,OAAO,aAAa,kBAAkB,GAAK,GAChD,MAAO,OAAO,aAAa,oBAAoB,GAAK,GACpD,MAAO,OAAO,aAAa,oBAAoB,GAAK,GACpD,MAAO,OAAO,aAAa,oBAAoB,GAAK,EACtD,CACF,CAEA,SAAS,iBAAiB,QAAS,SAAU,MAAO,CAClD,MAAM,OAAS,MAAM,OAAO,QAAQ,wBAAwB,EAC5D,GAAI,CAAC,OAAQ,OAEb,MAAM,eAAe,EACrB,MAAM,KAAO,oBAAoB,MAAM,EACvC,GAAI,CAAC,KAAK,GAAI,OAEd,MAAM,MAAQ,eAAe,IAAI,EAEjC,SAAS,iBAAiB,2CAA6C,KAAK,GAAK,IAAI,EAAE,QAAQ,SAAU,IAAK,CAC5G,eAAe,IAAK,KAAK,CAC3B,CAAC,CACH,CAAC,EAED,SAAS,iBAAiB,mBAAoB,UAAY,CACxD,oBAAoB,EACpB,mBAAmB,CACrB,CAAC,EAED,OAAO,eAAiB,CACtB,IAAK,YACL,aACA,OAAQ,eACR,mBACF,CACF,GAAG",
  "names": []
}
