{
  "version": 3,
  "sources": ["/cdn/shop/t/14/assets/wa-finder-tracking.js?t=1789500847097"],
  "sourcesContent": ["/* Messschicht fuer den Whisky-Finder.\n   Haengt sich von aussen an den Dialog und fasst wa-finder.js nicht an. Die\n   Ereignisse gehen ueber Shopify.analytics.publish in das Web-Pixel-System, ein\n   benutzerdefiniertes Pixel leitet sie an GA4 weiter. Die Einwilligung regelt\n   das Pixel, nicht diese Datei: publish schreibt nichts nach draussen.\n   Namen und Parameter sind bewusst kurz, GA4 erlaubt 40 Zeichen je Name. */\n(function () {\n  if (window.__waFinderTracking) return;   // Schutz gegen doppelte Einbindung\n  window.__waFinderTracking = true;\n\n  var dialog = document.getElementById(\"WaFinder\");\n  if (!dialog || !window.Shopify || !Shopify.analytics || typeof Shopify.analytics.publish !== \"function\") return;\n\n  var inhalt = dialog.querySelector(\".wf-content\");\n  if (!inhalt) return;\n\n  var SCHRITTE = {\n    \"Was suchst du?\": \"einstieg\",\n    \"Worauf hast du Lust?\": \"entdeckung\",\n    \"Welche Staerke passt zum Geschenk?\": \"geschenk_staerke\",\n    \"Welche St\u00E4rke passt zum Geschenk?\": \"geschenk_staerke\",\n    \"Welcher Preisbereich passt?\": \"preis\",\n    \"Welche Aromen magst du?\": \"aromen\",\n    \"Welche Aromen mag die Person?\": \"aromen\",\n    \"Auswahl verfeinern\": \"verfeinern\",\n    \"F\u00FCr dich ausgew\u00E4hlt.\": \"ergebnis\",\n    \"Keine passende Abf\u00FCllung.\": \"ergebnis\"\n  };\n  var FELDER = {\n    purpose: \"zweck\",\n    discovery: \"entdeckung\",\n    giftStrength: \"geschenk_staerke\",\n    range: \"preis\",\n    aroma: \"aroma\",\n    detail: \"detail\",\n    show: \"sprung\"\n  };\n\n  var letzterSchritt = null, schrittZahl = 0, offenSeit = 0, letzterEinstieg = \"unbekannt\";\n\n  function kurz(text, max) {\n    text = String(text == null ? \"\" : text).replace(/\\s+/g, \" \").trim();\n    return text.length > (max || 100) ? text.slice(0, max || 100) : text;\n  }\n\n  function senden(name, daten) {\n    try { Shopify.analytics.publish(name, daten || {}); } catch (e) { /* Messung darf die Seite nie stoeren */ }\n  }\n\n  function schrittSchluessel() {\n    var h2 = inhalt.querySelector(\"h2\");\n    var titel = h2 ? kurz(h2.textContent, 60) : \"\";\n    if (!titel) return null;\n    // Der Wartezustand waehrend des Sortimentladens ist kein Trichterschritt.\n    // Der Fehlerfall dagegen schon, den will man sehen.\n    if (titel === \"Deine Auswahl wird vorbereitet\") return null;\n    if (titel === \"Sortiment gerade nicht erreichbar\") return \"laden_fehler\";\n    return SCHRITTE[titel] || titel.toLowerCase().replace(/[^a-z0-9]+/g, \"_\").replace(/^_|_$/g, \"\").slice(0, 40);\n  }\n\n  function auswahlText() {\n    var s = inhalt.querySelector(\".wf-summary\");\n    return s ? kurz(s.textContent, 100) : \"\";\n  }\n\n  // Einstiegspunkt merken: welcher Knopf hat den Finder geoeffnet\n  document.addEventListener(\"click\", function (e) {\n    var t = e.target && e.target.closest ? e.target.closest(\"[data-wf-open]\") : null;\n    if (!t) return;\n    var k = (t.className || \"\").toString();\n    letzterEinstieg = /wa-nav-finder/.test(k) ? \"navigation\"\n      : /wf-trigger/.test(k) ? \"kollektion\"\n      : /wa-mobile-discovery/.test(k) ? \"mobil_kachel\"\n      : \"sonstige\";\n  }, true);\n\n  // Oeffnen und Schliessen haengen am open-Attribut des Dialogs. Das close-\n  // Ereignis waere der naheliegende Weg, das Attribut ist aber der zuverlaessigere:\n  // es gilt auch, wenn der Dialog ohne close() aus dem Weg geraeumt wird.\n  var warOffen = dialog.open;\n  new MutationObserver(function (eintraege) {\n    for (var i = 0; i < eintraege.length; i++) {\n      if (eintraege[i].attributeName !== \"open\") continue;\n      if (dialog.open === warOffen) continue;\n      warOffen = dialog.open;\n      if (warOffen) {\n        offenSeit = Date.now();\n        schrittZahl = 0;\n        letzterSchritt = null;\n        senden(\"wf_open\", { einstieg: letzterEinstieg, seite: kurz(location.pathname, 100) });\n      } else {\n        senden(\"wf_schliessen\", {\n          schritt: letzterSchritt || \"unbekannt\",\n          dauer: offenSeit ? Math.round((Date.now() - offenSeit) / 1000) : 0,\n          schritte: schrittZahl\n        });\n      }\n    }\n  }).observe(dialog, { attributes: true, attributeFilter: [\"open\"] });\n\n  // Jeder Neuaufbau des Inhalts ist ein moeglicher Schrittwechsel\n  new MutationObserver(function () {\n    var schluessel = schrittSchluessel();\n    if (!schluessel || schluessel === letzterSchritt) return;\n    letzterSchritt = schluessel;\n    schrittZahl += 1;\n    senden(\"wf_schritt\", { schritt: schluessel, nr: schrittZahl });\n\n    if (schluessel !== \"ergebnis\") return;\n    var karten = inhalt.querySelectorAll(\".wf-card\").length;\n    var auswahl = auswahlText();\n    if (karten > 0) senden(\"wf_treffer\", { anzahl: karten, auswahl: auswahl });\n    else senden(\"wf_null\", { auswahl: auswahl });\n  }).observe(inhalt, { childList: true, subtree: false });\n\n  // Auswahl innerhalb eines Schritts\n  inhalt.addEventListener(\"click\", function (e) {\n    var ziel = e.target && e.target.closest ? e.target.closest(\"button, a.wf-card\") : null;\n    if (!ziel) return;\n\n    if (ziel.matches(\"a.wf-card\")) {\n      var karten = [].slice.call(inhalt.querySelectorAll(\"a.wf-card\"));\n      senden(\"wf_produkt\", {\n        produkt: kurz((ziel.getAttribute(\"href\") || \"\").split(\"?\")[0].split(\"/products/\")[1] || \"\", 100),\n        position: karten.indexOf(ziel) + 1,\n        anzahl: karten.length\n      });\n      return;\n    }\n\n    var d = ziel.dataset || {};\n    for (var schluessel in FELDER) {\n      if (!Object.prototype.hasOwnProperty.call(d, schluessel)) continue;\n      var wert = d[schluessel];\n      if (schluessel === \"aroma\") {\n        // aria-pressed steht erst nach dem Handler des Finders fest\n        setTimeout(function (knopf, aroma) {\n          return function () {\n            senden(\"wf_auswahl\", {\n              schritt: letzterSchritt || \"unbekannt\",\n              feld: \"aroma\",\n              wert: kurz(aroma + (knopf.getAttribute(\"aria-pressed\") === \"true\" ? \"\" : \"_ab\"), 100)\n            });\n          };\n        }(ziel, wert), 0);\n        return;\n      }\n      senden(\"wf_auswahl\", {\n        schritt: letzterSchritt || \"unbekannt\",\n        feld: FELDER[schluessel],\n        wert: kurz(wert === \"\" ? \"ohne_vorgabe\" : wert, 100)\n      });\n      return;\n    }\n    if (\"any\" in d) senden(\"wf_auswahl\", { schritt: letzterSchritt || \"unbekannt\", feld: \"ohne_vorgabe\", wert: \"ja\" });\n    if (\"moreResults\" in d) senden(\"wf_auswahl\", { schritt: letzterSchritt || \"unbekannt\", feld: \"mehr_treffer\", wert: \"ja\" });\n  });\n\n  // Einzelne Aromen und Haken sind Formularfelder, kein Klick auf einen Knopf\n  inhalt.addEventListener(\"change\", function (e) {\n    var t = e.target;\n    if (!t || !t.dataset) return;\n    if (t.dataset.note) {\n      senden(\"wf_auswahl\", { schritt: letzterSchritt || \"unbekannt\", feld: \"note\", wert: kurz(t.dataset.note + (t.checked ? \"\" : \"_ab\"), 100) });\n    } else if (t.dataset.detail) {\n      senden(\"wf_auswahl\", { schritt: letzterSchritt || \"unbekannt\", feld: \"detail\", wert: kurz(t.dataset.detail + \":\" + (t.type === \"checkbox\" ? (t.checked ? \"ja\" : \"nein\") : t.value), 100) });\n    }\n  });\n})();\n"],
  "mappings": "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",
  "names": []
}
