{"version":3,"file":"modal-compare-at-price-section-xxxxxxxxxxxxxxxxxxxx.min.js","mappings":"YAaA,SAASA,EAAUC,GACjB,MAAMC,EAAQC,SAASC,eAAe,0BACtCF,EAAMG,gBAAgB,SACtBH,EAAMI,UAAUC,OAAO,UAEPL,EAAMM,cAAc,YAC5BC,UAAYR,EAAMS,OAAOC,QAGjC,MAAMC,EAAiB,IAAIC,YAAoB,uBAAwB,CACrEH,OAAQ,CAAEI,QAASZ,KAErBa,cAAcH,GAEdI,iBAAiB,iBAAkBC,EACrC,CAEA,SAASC,IACPC,oBAAoB,iBAAkBF,GAEtC,MAAMf,EAAQC,SAASC,eAAe,0BACtCF,EAAMkB,aAAa,QAAS,IAC5BlB,EAAMI,UAAUe,IAAI,UAGpB,MAAMC,EAAkB,IAAIT,YAAyB,wBAAyB,CAC5EH,OAAQ,CAAEI,QAASZ,KAErBa,cAAcO,EAChB,CAEA,SAASC,EAAmBC,GAC1BR,iBAAiB,mCAAoChB,GAErD,MAAME,EAAQC,SAASC,eAAe,0BAEtC,IAAKF,EAEH,YADAuB,QAAQC,MAAM,4CAIhB,MAAMC,EAAezB,EAAM0B,iBAAoC,UAC/D,IAAK,MAAMC,KAAUF,EACnBE,EAAOb,iBAAiB,QAASE,EAErC,CAEA,SAASD,EAAgBhB,GACvB,MAAMC,EAAQC,SAASC,eAAe,0BAClCF,GAASD,EAAMS,OAAOI,UAAYZ,GACpCgB,GAEJ,CAE4B,aAAxBf,SAAS2B,YAAqD,gBAAxB3B,SAAS2B,WACjDC,WAAWR,GAEXP,iBAAiB,mBAAoBO","sources":["webpack://lange/./scripts/sections/modal-compare-at-price/index.ts"],"sourcesContent":["/**\n * This event causes the try before you buy modal window to show up\n */\ntype CompareAtPriceModalRequestedEvent = CustomEvent<{\n  content: string;\n}>;\n\ndeclare global {\n  interface WindowEventMap {\n    'compare-at-price-modal-requested': CompareAtPriceModalRequestedEvent;\n  }\n}\n\nfunction showModal(event: CompareAtPriceModalRequestedEvent) {\n  const modal = document.getElementById('compare-at-price-modal');\n  modal.removeAttribute('inert');\n  modal.classList.remove('hidden');\n\n  const content = modal.querySelector('.content');\n  content.innerHTML = event.detail.content;\n\n  type Detail = WindowEventMap['modal-show-requested']['detail'];\n  const modalShowEvent = new CustomEvent<Detail>('modal-show-requested', {\n    detail: { element: modal }\n  });\n  dispatchEvent(modalShowEvent);\n\n  addEventListener('shroud-clicked', onShroudClicked);\n}\n\nfunction closeModal() {\n  removeEventListener('shroud-clicked', onShroudClicked);\n\n  const modal = document.getElementById('compare-at-price-modal');\n  modal.setAttribute('inert', '');\n  modal.classList.add('hidden');\n\n  type ModalDetail = WindowEventMap['modal-close-requested']['detail'];\n  const modalCloseEvent = new CustomEvent<ModalDetail>('modal-close-requested', {\n    detail: { element: modal }\n  });\n  dispatchEvent(modalCloseEvent);\n}\n\nfunction onDOMContentLoaded(_event: Event) {\n  addEventListener('compare-at-price-modal-requested', showModal);\n\n  const modal = document.getElementById('compare-at-price-modal');\n\n  if (!modal) {\n    console.debug('compare at price modal element not found');\n    return;\n  }\n\n  const closeButtons = modal.querySelectorAll<HTMLButtonElement>('button');\n  for (const button of closeButtons) {\n    button.addEventListener('click', closeModal);\n  }\n}\n\nfunction onShroudClicked(event: WindowEventMap['shroud-clicked']) {\n  const modal = document.getElementById('compare-at-price-modal');\n  if (modal && event.detail.element === modal) {\n    closeModal();\n  }\n}\n\nif (document.readyState === 'complete' || document.readyState === 'interactive') {\n  setTimeout(onDOMContentLoaded);\n} else {\n  addEventListener('DOMContentLoaded', onDOMContentLoaded);\n}\n"],"names":["showModal","event","modal","document","getElementById","removeAttribute","classList","remove","querySelector","innerHTML","detail","content","modalShowEvent","CustomEvent","element","dispatchEvent","addEventListener","onShroudClicked","closeModal","removeEventListener","setAttribute","add","modalCloseEvent","onDOMContentLoaded","_event","console","debug","closeButtons","querySelectorAll","button","readyState","setTimeout"],"sourceRoot":""}