{"version":3,"file":"frame.js","sources":["../../../resources/javascript/features/quick-add/lazy.js","../../../resources/javascript/features/ring-sizer/lazy.js","../../../resources/javascript/entrypoint/frame.js"],"sourcesContent":["// @ts-check\n\nimport { getContentBlockListName } from \"../content-block\";\nimport { setupQuickadd } from \"../tracking/list\";\n\nexport const initQuickAddButtons = async () => {\n  document.addEventListener('click', async (e) => {\n    if (!(e.target instanceof Element)) {\n      return false;\n    }\n\n    const button = e.target.closest('[data-quick-add]');\n    if (!(button instanceof HTMLElement)) {\n      return;\n    }\n\n    setupQuickadd(e, getContentBlockListName(button), {});\n    globalThis.MV.quickaddClick(e); // Defined in resources/javascript/mv2020/global.js\n  });\n};\n","// @ts-check\n\nimport { dataLayerPush } from '../tracking/index.js';\n\nconst getPlacement = () => {\n  const path = window.location.href.toLowerCase();\n  return (path.includes('shop') || path.includes('search')) ? 'plp' : 'pdp';\n};\n\nconst bindAitacaEvent = (widget, eventName, dataLayerEvent) => {\n  widget.addEventListener(eventName, (event) => {\n    const target = /** @type {any} */ (event.target ?? widget);\n    const sku = target?._config?.sku ?? '';\n\n    dataLayerPush({\n      'event': dataLayerEvent,\n      'aitacaProfileToken': localStorage.getItem('aitaca_profile_token'),\n      'aitaca': {\n        'product_code': sku,\n        'placement': getPlacement(),\n      }\n    });\n  });\n};\n\nexport const initRingSizerTracking = async () => {\n  document.addEventListener('click', async (e) => {\n    if (!(e.target instanceof Element)) {\n      return false;\n    }\n\n    // Track legacy size guide modal clicks\n    const sizeGuideLink = e.target.closest('a.js-ring-size-guide');\n    if (sizeGuideLink instanceof HTMLElement) {\n      dataLayerPush({\n        event: 'RingSizeGuideOpened',\n        source: 'legacy'\n      });\n    }\n\n    // Track Aitaca widget clicks\n    const aitacaWidget = e.target.closest('aitaca-widget button.js-ring-size-guide');\n    if (aitacaWidget instanceof HTMLElement) {\n      dataLayerPush({\n        event: 'RingSizeGuideOpened',\n        source: 'aitaca',\n      });\n    }\n\n    const widgets = document.querySelectorAll('aitaca-widget');\n\n    widgets.forEach((widget) => {\n      if (widget && !widget.dataset.aitacaTrackingBound) {\n        bindAitacaEvent(widget, 'on_aitaca_open', 'aitaca_open');\n        bindAitacaEvent(widget, 'on_aitaca_close', 'aitaca_close');\n        bindAitacaEvent(widget, 'on_aitaca_measure', 'aitaca_measure');\n\n        widget.dataset.aitacaTrackingBound = 'true';\n      }\n    })\n  });\n};\n","// @ts-check\n\nimport { initQuickAddButtons } from '../features/quick-add/lazy.js';\nimport { initRingSizerTracking } from '../features/ring-sizer/lazy.js';\n\ninitQuickAddButtons();\ninitRingSizerTracking();\n"],"names":["getPlacement","path","window","location","href","toLowerCase","includes","bindAitacaEvent","widget","eventName","dataLayerEvent","addEventListener","event","_event$target","_target$_config$sku","_target$_config","target","sku","_config","dataLayerPush","aitacaProfileToken","localStorage","getItem","aitaca","product_code","placement","async","document","e","Element","button","closest","HTMLElement","setupQuickadd","getContentBlockListName","globalThis","MV","quickaddClick","initQuickAddButtons","source","querySelectorAll","forEach","dataset","aitacaTrackingBound","initRingSizerTracking"],"mappings":"sJAKO,MCDDA,EAAeA,KACnB,MAAMC,EAAOC,OAAOC,SAASC,KAAKC,cAClC,OAAQJ,EAAKK,SAAS,SAAWL,EAAKK,SAAS,UAAa,MAAQ,KAAK,EAGrEC,EAAkBA,CAACC,EAAQC,EAAWC,KAC1CF,EAAOG,iBAAiBF,GAAYG,IAAU,IAAAC,EAAAC,EAAAC,EAC5C,MAAMC,EAAyC,OAAZH,EAAAD,EAAMI,QAAMH,EAAIL,EAC7CS,EAA0BH,OAAvBA,EAAS,MAANE,UAAMD,EAANC,EAAQE,gBAARH,EAAiBE,KAAGH,EAAI,GAEpCK,EAAc,CACZP,MAASF,EACTU,mBAAsBC,aAAaC,QAAQ,wBAC3CC,OAAU,CACRC,aAAgBP,EAChBQ,UAAazB,MAEf,GACF,EDjB+B0B,WACjCC,SAAShB,iBAAiB,SAASe,UACjC,KAAME,EAAEZ,kBAAkBa,SACxB,OAAO,EAGT,MAAMC,EAASF,EAAEZ,OAAOe,QAAQ,oBAC1BD,aAAkBE,cAIxBC,EAAcL,EAAGM,EAAwBJ,GAAS,CAAE,GACpDK,WAAWC,GAAGC,cAAcT,GAAE,GAC9B,EEbJU,GDoBqCZ,WACnCC,SAAShB,iBAAiB,SAASe,UACjC,KAAME,EAAEZ,kBAAkBa,SACxB,OAAO,EAIaD,EAAEZ,OAAOe,QAAQ,kCACVC,aAC3Bb,EAAc,CACZP,MAAO,sBACP2B,OAAQ,WAKSX,EAAEZ,OAAOe,QAAQ,qDACVC,aAC1Bb,EAAc,CACZP,MAAO,sBACP2B,OAAQ,WAIIZ,SAASa,iBAAiB,iBAElCC,SAASjC,IACXA,IAAWA,EAAOkC,QAAQC,sBAC5BpC,EAAgBC,EAAQ,iBAAkB,eAC1CD,EAAgBC,EAAQ,kBAAmB,gBAC3CD,EAAgBC,EAAQ,oBAAqB,kBAE7CA,EAAOkC,QAAQC,oBAAsB,OACtC,GACD,GACF,ECtDJC"}