{
  "version": 3,
  "sources": ["/cdn/shop/t/38/assets/collection-card-review-summary.js?review=20260824v1"],
  "sourcesContent": ["/* BOLODOO collection card metadata layout v2 */\n(() => {\n  if (window.__bolodooCardReviewSummaryInitialized) return;\n  window.__bolodooCardReviewSummaryInitialized = true;\n  const selector = '.bolodoo-card-review';\n  const pending = new Set();\n  let frame = 0;\n\n  function syncReviewSummary(root) {\n    if (!root.isConnected) return;\n    const card = root.closest('.collection-product-card');\n    if (!card) return;\n    const top = card.querySelector('.card-information__top');\n    if (top && root.parentElement !== top) top.append(root);\n    let summary = root.querySelector('.bolodoo-card-review-summary');\n    const badge = root.querySelector('.jdgm-prev-badge[data-average-rating]');\n    const score = Number.parseFloat(badge?.dataset.averageRating || '');\n    if (!Number.isFinite(score) || score <= 0) {\n      summary?.remove();\n      return;\n    }\n    if (!summary) {\n      summary = document.createElement('span');\n      summary.className = 'bolodoo-card-review-summary';\n      root.append(summary);\n    }\n    const formattedScore = score.toFixed(1);\n    const output = `\\u2605 ${formattedScore}`;\n    const label = `Rated ${formattedScore} out of 5`;\n    if (summary.textContent !== output) summary.textContent = output;\n    if (summary.getAttribute('aria-label') !== label) summary.setAttribute('aria-label', label);\n  }\n\n  function enqueue(root) {\n    if (!root?.isConnected || !root.closest('.collection-product-card')) return;\n    pending.add(root);\n    if (frame) return;\n    frame = window.requestAnimationFrame(() => {\n      frame = 0;\n      const roots = [...pending];\n      pending.clear();\n      roots.forEach(syncReviewSummary);\n    });\n  }\n\n  function collect(node) {\n    if (node.nodeType !== 1) return;\n    if (node.matches(selector)) enqueue(node);\n    node.querySelectorAll(selector).forEach(enqueue);\n    // A card's metadata container can arrive after its rating badge.\n    if (node.matches('.card-information__top') || node.querySelector('.card-information__top')) {\n      node.closest('.collection-product-card')?.querySelectorAll(selector).forEach(enqueue);\n    }\n  }\n\n  function start() {\n    document.querySelectorAll('.collection-product-card .bolodoo-card-review').forEach(enqueue);\n    new MutationObserver(records => {\n      records.forEach(record => {\n        const target = record.target.nodeType === 1 ? record.target : record.target.parentElement;\n        if (target?.closest('.bolodoo-card-review-summary')) return;\n        if (record.type === 'childList') {\n          const changed = [...record.addedNodes, ...record.removedNodes];\n          if (changed.length && changed.every(node => node.nodeType === 1 && node.matches('.bolodoo-card-review-summary'))) return;\n        }\n        enqueue(target?.closest(selector));\n        record.addedNodes.forEach(collect);\n      });\n    }).observe(document.documentElement, {\n      childList: true,\n      subtree: true,\n      attributes: true,\n      attributeFilter: ['data-average-rating']\n    });\n  }\n\n  if (document.readyState === 'loading') document.addEventListener('DOMContentLoaded', start, { once: true });\n  else start();\n})();\n"],
  "mappings": "CACC,IAAM,CACL,GAAI,OAAO,sCAAuC,OAClD,OAAO,sCAAwC,GAC/C,MAAM,SAAW,uBACX,QAAU,IAAI,IACpB,IAAI,MAAQ,EAEZ,SAAS,kBAAkB,KAAM,CAC/B,GAAI,CAAC,KAAK,YAAa,OACvB,MAAM,KAAO,KAAK,QAAQ,0BAA0B,EACpD,GAAI,CAAC,KAAM,OACX,MAAM,IAAM,KAAK,cAAc,wBAAwB,EACnD,KAAO,KAAK,gBAAkB,KAAK,IAAI,OAAO,IAAI,EACtD,IAAI,QAAU,KAAK,cAAc,8BAA8B,EAC/D,MAAM,MAAQ,KAAK,cAAc,uCAAuC,EAClE,MAAQ,OAAO,WAAW,OAAO,QAAQ,eAAiB,EAAE,EAClE,GAAI,CAAC,OAAO,SAAS,KAAK,GAAK,OAAS,EAAG,CACzC,SAAS,OAAO,EAChB,MACF,CACK,UACH,QAAU,SAAS,cAAc,MAAM,EACvC,QAAQ,UAAY,8BACpB,KAAK,OAAO,OAAO,GAErB,MAAM,eAAiB,MAAM,QAAQ,CAAC,EAChC,OAAS,UAAU,cAAc,GACjC,MAAQ,SAAS,cAAc,YACjC,QAAQ,cAAgB,SAAQ,QAAQ,YAAc,QACtD,QAAQ,aAAa,YAAY,IAAM,OAAO,QAAQ,aAAa,aAAc,KAAK,CAC5F,CAEA,SAAS,QAAQ,KAAM,CACjB,CAAC,MAAM,aAAe,CAAC,KAAK,QAAQ,0BAA0B,IAClE,QAAQ,IAAI,IAAI,EACZ,SACJ,MAAQ,OAAO,sBAAsB,IAAM,CACzC,MAAQ,EACR,MAAM,MAAQ,CAAC,GAAG,OAAO,EACzB,QAAQ,MAAM,EACd,MAAM,QAAQ,iBAAiB,CACjC,CAAC,GACH,CAEA,SAAS,QAAQ,KAAM,CACjB,KAAK,WAAa,IAClB,KAAK,QAAQ,QAAQ,GAAG,QAAQ,IAAI,EACxC,KAAK,iBAAiB,QAAQ,EAAE,QAAQ,OAAO,GAE3C,KAAK,QAAQ,wBAAwB,GAAK,KAAK,cAAc,wBAAwB,IACvF,KAAK,QAAQ,0BAA0B,GAAG,iBAAiB,QAAQ,EAAE,QAAQ,OAAO,EAExF,CAEA,SAAS,OAAQ,CACf,SAAS,iBAAiB,+CAA+C,EAAE,QAAQ,OAAO,EAC1F,IAAI,iBAAiB,SAAW,CAC9B,QAAQ,QAAQ,QAAU,CACxB,MAAM,OAAS,OAAO,OAAO,WAAa,EAAI,OAAO,OAAS,OAAO,OAAO,cAC5E,GAAI,SAAQ,QAAQ,8BAA8B,EAClD,IAAI,OAAO,OAAS,YAAa,CAC/B,MAAM,QAAU,CAAC,GAAG,OAAO,WAAY,GAAG,OAAO,YAAY,EAC7D,GAAI,QAAQ,QAAU,QAAQ,MAAM,MAAQ,KAAK,WAAa,GAAK,KAAK,QAAQ,8BAA8B,CAAC,EAAG,MACpH,CACA,QAAQ,QAAQ,QAAQ,QAAQ,CAAC,EACjC,OAAO,WAAW,QAAQ,OAAO,EACnC,CAAC,CACH,CAAC,EAAE,QAAQ,SAAS,gBAAiB,CACnC,UAAW,GACX,QAAS,GACT,WAAY,GACZ,gBAAiB,CAAC,qBAAqB,CACzC,CAAC,CACH,CAEI,SAAS,aAAe,UAAW,SAAS,iBAAiB,mBAAoB,MAAO,CAAE,KAAM,EAAK,CAAC,EACrG,MAAM,CACb,GAAG",
  "names": []
}
