{
  "version": 3,
  "sources": ["/cdn/shop/t/2/assets/_cart-items-with-variant-prefix.js"],
  "sourcesContent": ["(function () {\n  const TARGET_NAMES = [\"Mama\", \"Papa\", \"Opa\", \"Oma\", \"Schatz\"];\n  const CART_SELECTOR = \".ocu-cart-drawer\";\n  const LIST_SELECTOR = \".ocu-cart-line-items\";\n  const ITEM_SELECTOR = \".ocu-cart-line-item-wrapper\";\n  const TITLE_SELECTOR = \".ocu-cart-line-item-product-title span\";\n  const VARIANT_SELECTOR = \".ocu-cart-line-item-product-variant span\";\n\n  function getCleanVariantText(raw) {\n    const text = String(raw || \"\").trim();\n    if (!text) return \"\";\n\n    const match = text.match(/^[^:]+:\\s*(.+)$/);\n    return (match ? match[1] : text).trim();\n  }\n\n  function replaceLeadingNameWithVariant(title, variant) {\n    const cleanTitle = String(title || \"\").trim();\n    const cleanVariant = String(variant || \"\").trim();\n\n    if (!cleanTitle || !cleanVariant) return cleanTitle;\n    if (!TARGET_NAMES.includes(cleanVariant)) return cleanTitle;\n\n    for (const name of TARGET_NAMES) {\n      const prefix = `${name},`;\n      if (cleanTitle.startsWith(prefix)) {\n        return `${cleanVariant}${cleanTitle.slice(name.length)}`;\n      }\n    }\n\n    return cleanTitle;\n  }\n\n  function updateItem(item) {\n    const titleNode = item.querySelector(TITLE_SELECTOR);\n    const variantNode = item.querySelector(VARIANT_SELECTOR);\n    if (!titleNode) return;\n\n    const originalTitle =\n      titleNode.dataset.originalTitle || titleNode.textContent.trim();\n\n    titleNode.dataset.originalTitle = originalTitle;\n\n    const variantText = getCleanVariantText(variantNode?.textContent || \"\");\n    const nextTitle = replaceLeadingNameWithVariant(originalTitle, variantText);\n\n    if (titleNode.textContent.trim() !== nextTitle) {\n      titleNode.textContent = nextTitle;\n    }\n  }\n\n  function updateAll(root) {\n    if (!root) return;\n    root.querySelectorAll(ITEM_SELECTOR).forEach(updateItem);\n  }\n\n  function getItemsLength(list) {\n    return list.querySelectorAll(ITEM_SELECTOR).length;\n  }\n\n  function attachListObserver(list) {\n    if (!list || list.dataset.titlePrefixObserverAttached === \"true\") return;\n\n    list.dataset.titlePrefixObserverAttached = \"true\";\n\n    let previousItemsLength = getItemsLength(list);\n\n    updateAll(list);\n\n    const observer = new MutationObserver(() => {\n      const nextItemsLength = getItemsLength(list);\n\n      if (nextItemsLength !== previousItemsLength) {\n        previousItemsLength = nextItemsLength;\n        updateAll(list);\n      }\n    });\n\n    observer.observe(list, {\n      childList: true,\n      subtree: true,\n    });\n  }\n\n  function initInCart(cart) {\n    if (!cart) return;\n\n    cart.querySelectorAll(LIST_SELECTOR).forEach(attachListObserver);\n    updateAll(cart);\n\n    if (cart.dataset.cartObserverAttached === \"true\") return;\n    cart.dataset.cartObserverAttached = \"true\";\n\n    const cartObserver = new MutationObserver(() => {\n      cart.querySelectorAll(LIST_SELECTOR).forEach(attachListObserver);\n    });\n\n    cartObserver.observe(cart, {\n      childList: true,\n      subtree: true,\n    });\n  }\n\n  function tryInitCart() {\n    const cart = document.querySelector(CART_SELECTOR);\n    if (!cart) return false;\n\n    initInCart(cart);\n    return true;\n  }\n\n  function boot() {\n    if (tryInitCart()) return;\n\n    const bodyObserver = new MutationObserver(() => {\n      if (tryInitCart()) {\n        bodyObserver.disconnect();\n      }\n    });\n\n    bodyObserver.observe(document.body, {\n      childList: true,\n      subtree: true,\n    });\n  }\n\n  if (document.readyState === \"loading\") {\n    document.addEventListener(\"DOMContentLoaded\", boot);\n  } else {\n    boot();\n  }\n})();"],
  "mappings": "CAAC,UAAY,CACX,MAAM,aAAe,CAAC,OAAQ,OAAQ,MAAO,MAAO,QAAQ,EACtD,cAAgB,mBAChB,cAAgB,uBAChB,cAAgB,8BAChB,eAAiB,yCACjB,iBAAmB,2CAEzB,SAAS,oBAAoB,IAAK,CAChC,MAAM,KAAO,OAAO,KAAO,EAAE,EAAE,KAAK,EACpC,GAAI,CAAC,KAAM,MAAO,GAElB,MAAM,MAAQ,KAAK,MAAM,iBAAiB,EAC1C,OAAQ,MAAQ,MAAM,CAAC,EAAI,MAAM,KAAK,CACxC,CAEA,SAAS,8BAA8B,MAAO,QAAS,CACrD,MAAM,WAAa,OAAO,OAAS,EAAE,EAAE,KAAK,EACtC,aAAe,OAAO,SAAW,EAAE,EAAE,KAAK,EAGhD,GADI,CAAC,YAAc,CAAC,cAChB,CAAC,aAAa,SAAS,YAAY,EAAG,OAAO,WAEjD,UAAW,QAAQ,aAAc,CAC/B,MAAM,OAAS,GAAG,IAAI,IACtB,GAAI,WAAW,WAAW,MAAM,EAC9B,MAAO,GAAG,YAAY,GAAG,WAAW,MAAM,KAAK,MAAM,CAAC,EAE1D,CAEA,OAAO,UACT,CAEA,SAAS,WAAW,KAAM,CACxB,MAAM,UAAY,KAAK,cAAc,cAAc,EAC7C,YAAc,KAAK,cAAc,gBAAgB,EACvD,GAAI,CAAC,UAAW,OAEhB,MAAM,cACJ,UAAU,QAAQ,eAAiB,UAAU,YAAY,KAAK,EAEhE,UAAU,QAAQ,cAAgB,cAElC,MAAM,YAAc,oBAAoB,aAAa,aAAe,EAAE,EAChE,UAAY,8BAA8B,cAAe,WAAW,EAEtE,UAAU,YAAY,KAAK,IAAM,YACnC,UAAU,YAAc,UAE5B,CAEA,SAAS,UAAU,KAAM,CAClB,MACL,KAAK,iBAAiB,aAAa,EAAE,QAAQ,UAAU,CACzD,CAEA,SAAS,eAAe,KAAM,CAC5B,OAAO,KAAK,iBAAiB,aAAa,EAAE,MAC9C,CAEA,SAAS,mBAAmB,KAAM,CAChC,GAAI,CAAC,MAAQ,KAAK,QAAQ,8BAAgC,OAAQ,OAElE,KAAK,QAAQ,4BAA8B,OAE3C,IAAI,oBAAsB,eAAe,IAAI,EAE7C,UAAU,IAAI,EAEG,IAAI,iBAAiB,IAAM,CAC1C,MAAM,gBAAkB,eAAe,IAAI,EAEvC,kBAAoB,sBACtB,oBAAsB,gBACtB,UAAU,IAAI,EAElB,CAAC,EAEQ,QAAQ,KAAM,CACrB,UAAW,GACX,QAAS,EACX,CAAC,CACH,CAEA,SAAS,WAAW,KAAM,CAMxB,GALI,CAAC,OAEL,KAAK,iBAAiB,aAAa,EAAE,QAAQ,kBAAkB,EAC/D,UAAU,IAAI,EAEV,KAAK,QAAQ,uBAAyB,QAAQ,OAClD,KAAK,QAAQ,qBAAuB,OAEf,IAAI,iBAAiB,IAAM,CAC9C,KAAK,iBAAiB,aAAa,EAAE,QAAQ,kBAAkB,CACjE,CAAC,EAEY,QAAQ,KAAM,CACzB,UAAW,GACX,QAAS,EACX,CAAC,CACH,CAEA,SAAS,aAAc,CACrB,MAAM,KAAO,SAAS,cAAc,aAAa,EACjD,OAAK,MAEL,WAAW,IAAI,EACR,IAHW,EAIpB,CAEA,SAAS,MAAO,CACd,GAAI,YAAY,EAAG,OAEnB,MAAM,aAAe,IAAI,iBAAiB,IAAM,CAC1C,YAAY,GACd,aAAa,WAAW,CAE5B,CAAC,EAED,aAAa,QAAQ,SAAS,KAAM,CAClC,UAAW,GACX,QAAS,EACX,CAAC,CACH,CAEI,SAAS,aAAe,UAC1B,SAAS,iBAAiB,mBAAoB,IAAI,EAElD,KAAK,CAET,GAAG",
  "names": []
}
