{
  "version": 3,
  "sources": ["/cdn/shop/t/17/assets/azmara-shipbar.js?t=1792769193031"],
  "sourcesContent": ["/* AZMARA - Gratisversand-Balken \"Variante 2\" (23.10.2026)\n   Zeigt im Warenkorb-Fenster und auf der Warenkorb-Seite oberhalb der Produkte:\n   Symbol + \"Nur noch \u20ACX bis zum Gratisversand\", einen dicken goldenen Balken und darunter \"Ab \u20AC75 versandkostenfrei\".\n   Die Werte kommen aus den bestehenden (unsichtbaren) Balken des Cross-Selling-Skripts, damit alles gleich rechnet.\n   Laedt dieses Skript nicht, bleibt automatisch der alte Balken sichtbar.\n   Zum Zuruecksetzen: die Zeilen fuer azmara-shipbar.css/.js in layout/theme.liquid entfernen. */\n(function () {\n  'use strict';\n\n  var TRUCK = '<svg class=\"azsb__ico\" aria-hidden=\"true\" focusable=\"false\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"#a8863f\" stroke-width=\"1.7\" stroke-linecap=\"round\" stroke-linejoin=\"round\">' +\n    '<path d=\"M2.5 6.5h11v9.5h-11z\"/><path d=\"M13.5 9.5h4.2l3.3 3.4v3.1h-7.5z\"/>' +\n    '<circle cx=\"6.5\" cy=\"17.5\" r=\"1.9\" fill=\"#fff\"/><circle cx=\"17.5\" cy=\"17.5\" r=\"1.9\" fill=\"#fff\"/></svg>';\n\n  var CHECK = '<svg class=\"azsb__ico\" aria-hidden=\"true\" focusable=\"false\" viewBox=\"0 0 24 24\">' +\n    '<circle cx=\"12\" cy=\"12\" r=\"11\" fill=\"#a8863f\"/>' +\n    '<path d=\"M7 12.5l3.2 3.2L17 9\" fill=\"none\" stroke=\"#fff\" stroke-width=\"2.2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/></svg>';\n\n  /* \"Ab \u20AC75 versandkostenfrei\" aus der Gratisversand-Grenze des Themes */\n  function thresholdText() {\n    var el = document.querySelector('.js-free-shipping');\n    var v = el ? parseInt(el.getAttribute('data-value'), 10) : 0;\n    if (!(v > 0)) return '';\n    var e = v / 100;\n    var s = (e % 1 === 0) ? String(e) : e.toFixed(2).replace('.', ',');\n    return 'Ab \u20AC' + s + ' versandkostenfrei';\n  }\n\n  /* liest Stand und Restbetrag aus dem bestehenden Balken (.azxs__ship) */\n  function readShip(src) {\n    if (!src) return null;\n    if (src.classList.contains('azxs__ship--done')) return { done: true, pct: 100, amount: '' };\n    var bar = src.querySelector('.progress-bar');\n    var span = src.querySelector('.free-shipping-content span');\n    var pct = bar ? parseFloat(bar.getAttribute('aria-valuenow')) : NaN;\n    var m = span ? span.textContent.match(/\u20AC\\s?[\\d.,]+/) : null;\n    if (isNaN(pct) || !m) return null;\n    return { done: false, pct: Math.max(0, Math.min(100, pct)), amount: m[0].replace(/\\s/g, '') };\n  }\n\n  function html(d) {\n    var line, sub;\n    if (d.done) {\n      line = CHECK + '<span class=\"azsb__txt\"><b>Gratisversand</b> erreicht</span>';\n      sub = 'Dein Versand ist kostenlos';\n    } else {\n      line = TRUCK + '<span class=\"azsb__txt\">Nur noch <b class=\"azsb__amt\">' + d.amount + '</b> bis zum <b>Gratisversand</b></span>';\n      sub = thresholdText();\n    }\n    return '<div class=\"azsb__line\">' + line + '</div>' +\n      '<div class=\"azsb__track\"><div class=\"azsb__fill\" style=\"width:' + d.pct + '%\"></div></div>' +\n      (sub ? '<div class=\"azsb__sub\">' + sub + '</div>' : '');\n  }\n\n  /* zeichnet nur neu, wenn sich etwas geaendert hat; der Balken waechst sanft vom alten Stand */\n  function paint(el, d) {\n    var key = d.done ? 'done' : (d.amount + '|' + d.pct);\n    if (!el.hidden && el.getAttribute('data-azsb') === key) return;\n    var prev = parseFloat(el.getAttribute('data-azsb-pct'));\n    el.innerHTML = html(d);\n    el.setAttribute('data-azsb', key);\n    el.setAttribute('data-azsb-pct', String(d.pct));\n    el.hidden = false;\n    var fill = el.querySelector('.azsb__fill');\n    if (fill && !isNaN(prev) && prev !== d.pct) {\n      fill.style.transition = 'none';\n      fill.style.width = prev + '%';\n      void fill.offsetWidth;\n      fill.style.transition = '';\n      fill.style.width = d.pct + '%';\n    }\n  }\n\n  function hide(el) {\n    if (el.hidden) return;\n    el.hidden = true;\n    el.removeAttribute('data-azsb');\n  }\n\n  function make(kind) {\n    var el = document.createElement('div');\n    el.className = 'azsb azsb--' + kind;\n    el.hidden = true;\n    el.setAttribute('role', 'status');\n    return el;\n  }\n\n  /* Warenkorb-Fenster: Balken oben ueber die ganze Breite (statt des bisherigen goldenen Balkens) */\n  function drawer() {\n    var root = document.querySelector('.js-mini-cart .mini-cart-content');\n    var left = root ? root.querySelector('.az-headleft') : null;\n    if (!left) return;\n    var el = left.querySelector('.azsb--drawer');\n    if (!el) { el = make('drawer'); left.appendChild(el); }\n    var empty = root.querySelector('.mini-cart-empty');\n    var d = empty ? null : readShip(root.querySelector('.azxs-wrap--drawer .azxs__ship'));\n    if (d) paint(el, d); else hide(el);\n    document.documentElement.classList.toggle('azsb-on', !el.hidden);\n  }\n\n  /* Warenkorb-Seite: gleicher Balken oberhalb der Produkte (statt der Box unter den Produkten) */\n  function page() {\n    var form = document.querySelector('[data-section-type=\"cart\"] form.cart');\n    if (!form) return;\n    var col = form.querySelector('.col-lg-8') || form;\n    var el = null, i;\n    for (i = 0; i < col.children.length; i++) { if (col.children[i].classList.contains('azsb--page')) { el = col.children[i]; break; } }\n    if (!el) { el = make('page'); col.insertBefore(el, col.firstChild); }\n    var d = readShip(document.querySelector('.azxs-wrap--page .azxs__ship'));\n    if (d) paint(el, d); else hide(el);\n    document.documentElement.classList.toggle('azsb-page-on', !el.hidden);\n    taxes(d && d.done);\n  }\n\n  /* Box rechts auf der Warenkorb-Seite: ab der Gratisversand-Grenze nicht mehr \"zzgl. Versandkosten\".\n     Express kostet immer extra, deshalb heisst es genau \"Standardversand kostenlos\". */\n  var FREE_TAXES = 'inkl. MwSt. \u00B7 <span class=\"azsb-free\">Standardversand kostenlos</span>';\n  function taxes(free) {\n    var t = document.querySelector('.cart-right .cart__taxes');\n    if (!t) return;\n    if (!t.hasAttribute('data-azsb-orig')) t.setAttribute('data-azsb-orig', t.innerHTML);\n    var want = free ? FREE_TAXES : t.getAttribute('data-azsb-orig');\n    if (t.innerHTML !== want) t.innerHTML = want;\n  }\n\n  var pending = false;\n  function schedule() {\n    if (pending) return;\n    pending = true;\n    setTimeout(function () { pending = false; drawer(); page(); }, 40);\n  }\n\n  function init() {\n    drawer();\n    page();\n    if (!window.MutationObserver) return;\n    var mo = new MutationObserver(schedule);\n    var opts = { childList: true, subtree: true, attributes: true, attributeFilter: ['class', 'aria-valuenow', 'hidden'] };\n    var a = document.querySelector('.js-mini-cart .mini-cart-content');\n    var b = document.querySelector('[data-section-type=\"cart\"]');\n    if (a) mo.observe(a, opts);\n    if (b) mo.observe(b, opts);\n  }\n\n  if (document.readyState === 'loading') document.addEventListener('DOMContentLoaded', init);\n  else init();\n})();\n"],
  "mappings": "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",
  "names": []
}
