{
  "version": 3,
  "sources": ["/cdn/shop/t/31/assets/titanore-free-cookbook.js?tl=nogift1"],
  "sourcesContent": ["/**\n * The Titanium Table is NOT a cart line.\n * Strip leftover gift lines (Hans-type carts) so checkout shows 1 artikel.\n * Download is granted from the pan on the order, not from a gift SKU.\n */\n(function () {\n  'use strict';\n  if (window.__tlCookbookGift) return;\n  window.__tlCookbookGift = true;\n\n  var VARIANT_ID = Number(window.tlCookbookVariantId || 0);\n  var HANDLE = String(window.tlCookbookHandle || 'the-titanium-table').toLowerCase();\n  var busy = false;\n\n  function props(item) {\n    return item.properties || {};\n  }\n\n  function isCookbookGift(item) {\n    var h = String(item.handle || '').toLowerCase();\n    var p = props(item);\n    if (VARIANT_ID && item.variant_id === VARIANT_ID) return true;\n    if (h === HANDLE || h === 'the-titanium-table' || h === 'titanore-titanium-cookbook') return true;\n    if (String(p._gift || '') === 'titanium-table') return true;\n    if (p._is_free_gift === 'true' && (h.indexOf('titanium-table') !== -1 || h.indexOf('cookbook') !== -1)) {\n      return true;\n    }\n    return false;\n  }\n\n  function post(url, body) {\n    return fetch(url, {\n      method: 'POST',\n      credentials: 'same-origin',\n      headers: { 'Content-Type': 'application/json', Accept: 'application/json' },\n      body: JSON.stringify(body),\n    });\n  }\n\n  function drawer() {\n    return document.querySelector('cart-drawer');\n  }\n\n  function sectionIds() {\n    var d = drawer();\n    if (d && typeof d.getSectionsToRender === 'function') {\n      return d.getSectionsToRender().map(function (s) { return s.id; });\n    }\n    return ['cart-drawer', 'cart-icon-bubble'];\n  }\n\n  function lockPrices() {\n    if (typeof window.tlLockCartLinePrices === 'function') {\n      try { window.tlLockCartLinePrices(); } catch (e) {}\n    }\n  }\n\n  function refreshUi(parsed) {\n    var d = drawer();\n    if (parsed && parsed.sections && d && typeof d.renderContents === 'function') {\n      try { d.renderContents(parsed); } catch (e) {}\n    }\n    if (d && typeof d.refreshCartDrawer === 'function') {\n      try { d.refreshCartDrawer(); } catch (e) {}\n    }\n    document.dispatchEvent(new CustomEvent('cart:updated'));\n    lockPrices();\n  }\n\n  function mutate(url, body) {\n    body.sections = sectionIds();\n    body.sections_url = window.location.pathname || '/';\n    return post(url, body).then(function (r) {\n      if (!r.ok) return null;\n      return r.json();\n    }).then(function (data) {\n      if (data) refreshUi(data);\n    });\n  }\n\n  function stripGifts() {\n    if (busy) return;\n    busy = true;\n    fetch('/cart.js', { credentials: 'same-origin' })\n      .then(function (r) { return r.json(); })\n      .then(function (cart) {\n        var items = (cart && cart.items) || [];\n        var gifts = items.filter(isCookbookGift);\n        if (!gifts.length) return null;\n        if (gifts.length === 1) {\n          return mutate('/cart/change.js', { id: gifts[0].key, quantity: 0 });\n        }\n        var updates = {};\n        gifts.forEach(function (g) { updates[g.key] = 0; });\n        return mutate('/cart/update.js', { updates: updates });\n      })\n      .catch(function () {})\n      .then(function () { busy = false; });\n  }\n\n  function schedule() {\n    setTimeout(stripGifts, 450);\n  }\n\n  var nativeFetch = window.fetch;\n  window.fetch = function (input, init) {\n    var p = nativeFetch.apply(this, arguments);\n    try {\n      var url = typeof input === 'string' ? input : (input && input.url) || '';\n      if (/\\/cart\\/(add|change|update|clear)/.test(url) && !busy) {\n        p.then(schedule);\n      }\n    } catch (e) {}\n    return p;\n  };\n\n  if (window.subscribe && window.PUB_SUB_EVENTS && window.PUB_SUB_EVENTS.cartUpdate) {\n    window.subscribe(window.PUB_SUB_EVENTS.cartUpdate, schedule);\n  }\n\n  if (document.readyState === 'loading') {\n    document.addEventListener('DOMContentLoaded', stripGifts);\n  } else {\n    stripGifts();\n  }\n  window.addEventListener('pageshow', function () { setTimeout(stripGifts, 200); });\n})();\n"],
  "mappings": "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",
  "names": []
}
