{"version":3,"file":"document-product-card-9346626c.js","sources":["../../../../src/scripts/modules/document-product-card.ts"],"sourcesContent":["import { Component } from '@verndale/core';\nimport {\n  disableBodyScroll,\n  clearAllBodyScrollLocks,\n  BodyScrollOptions\n} from 'body-scroll-lock';\n\nclass DocumentProductCard extends Component {\n  setupDefaults() {\n    this.dom = {\n      zoomButtons: this.el.querySelectorAll<HTMLButtonElement>(\n        '.document-card__zoom-in'\n      ),\n      imageDialog: this.el.querySelector<HTMLDialogElement>(\n        '.document-card__popup'\n      ),\n      closeDialogButton: this.el.querySelector<HTMLButtonElement>(\n        '.document-card__popup-close'\n      )\n    };\n  }\n\n  addListeners() {\n    (this.dom.zoomButtons as NodeListOf<HTMLButtonElement>).forEach(button =>\n      button.addEventListener('click', this.openImageDialog.bind(this))\n    );\n    (this.dom.closeDialogButton as HTMLButtonElement).addEventListener(\n      'click',\n      this.closeImageDialog.bind(this)\n    );\n  }\n\n  openImageDialog() {\n    const options = {\n      reserveScrollBarGap: true,\n      allowTouchMove: (el: HTMLElement) => {\n        return el.closest('.document-card__popup') !== null;\n      }\n    } as BodyScrollOptions;\n\n    (this.dom.imageDialog as HTMLDialogElement)?.showModal();\n    disableBodyScroll(this.dom.imageDialog as HTMLElement, options);\n  }\n\n  closeImageDialog() {\n    (this.dom.imageDialog as HTMLDialogElement)?.close();\n    (this.dom.zoomButtons as NodeListOf<HTMLButtonElement>).forEach(button =>\n      button.blur()\n    );\n    clearAllBodyScrollLocks();\n  }\n}\n\nexport default DocumentProductCard;\n"],"names":["DocumentProductCard","Component","button","options","el","_a","disableBodyScroll","clearAllBodyScrollLocks"],"mappings":"oIAOA,MAAMA,UAA4BC,CAAU,CAC1C,eAAgB,CACd,KAAK,IAAM,CACT,YAAa,KAAK,GAAG,iBACnB,yBACF,EACA,YAAa,KAAK,GAAG,cACnB,uBACF,EACA,kBAAmB,KAAK,GAAG,cACzB,6BACF,CAAA,CAEJ,CAEA,cAAe,CACZ,KAAK,IAAI,YAA8C,QAAQC,GAC9DA,EAAO,iBAAiB,QAAS,KAAK,gBAAgB,KAAK,IAAI,CAAC,CAAA,EAEjE,KAAK,IAAI,kBAAwC,iBAChD,QACA,KAAK,iBAAiB,KAAK,IAAI,CAAA,CAEnC,CAEA,iBAAkB,OAChB,MAAMC,EAAU,CACd,oBAAqB,GACrB,eAAiBC,GACRA,EAAG,QAAQ,uBAAuB,IAAM,IACjD,GAGDC,EAAA,KAAK,IAAI,cAAT,MAAAA,EAA4C,YAC3BC,EAAA,KAAK,IAAI,YAA4BH,CAAO,CAChE,CAEA,kBAAmB,QAChBE,EAAA,KAAK,IAAI,cAAT,MAAAA,EAA4C,QAC5C,KAAK,IAAI,YAA8C,QAAQH,GAC9DA,EAAO,KAAK,CAAA,EAEUK,GAC1B,CACF"}