{"version":3,"file":"chunks/84034f9ed4141e.js","mappings":"ipCACmD,IAE9BA,EAAY,WAU/B,SAAAA,EAAYC,EAAsBC,I,4FAAaC,CAAA,KAAAH,GAC7CI,KAAKC,SAAWC,EAAEL,GAClBG,KAAKF,O,+VAAMK,CAAA,CACTC,qBAAqB,GAClBN,GAGLE,KAAKK,cAAgBL,KAAKF,OAAOM,oBAC7BJ,KAAKC,SACLD,KAAKC,SAASK,KAAK,uBACvBN,KAAKO,uBAAyBL,EAAEF,KAAKK,cAAcG,KAAK,WACxDR,KAAKS,eAAiBT,KAAKO,uBAAuBC,KAAK,mBAEnDR,KAAKO,uBAAuBG,SAC9BV,KAAKW,aAAeX,KAAKO,uBAAuBD,KAAK,iBACrDN,KAAKY,cAAgBZ,KAAKO,uBAAuBD,KAAK,kBACtDN,KAAKa,OAET,C,QAiEC,O,EAjEAjB,G,EAAA,EAAAkB,IAAA,OAAAC,MAED,WAGE,GAFAf,KAAKK,cAAcW,GAAG,QAASd,EAAAA,MAAQF,KAAKiB,QAASjB,QAEhDA,KAAKkB,MAAO,CACf,IAAIC,EACF,UAAYnB,KAAKS,eAAiB,IAAMT,KAAKS,eAAiB,IAEhET,KAAKkB,MAAQ,IAAIE,EAAAA,QAAM,CACrBD,UAAWA,EACXE,oBAAoB,IAGlBrB,KAAKW,aAAaD,QACpBV,KAAKkB,MAAMP,aAAaW,KAAKtB,KAAKW,aAAaW,QAEjDtB,KAAKkB,MAAMN,cAAcU,KAAKtB,KAAKY,cAAcU,OACnD,CACF,GAAC,CAAAR,IAAA,kBAAAC,MAED,SAAgBQ,EAAeC,GAAuB,IAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAC9CC,EAAmB,QAATT,EAAGU,cAAM,IAAAV,GAAM,QAANC,EAAND,EAAQW,YAAI,IAAAV,GAAO,QAAPC,EAAZD,EAAcW,aAAK,IAAAV,GAAU,QAAVC,EAAnBD,EAAqBW,gBAAQ,IAAAV,OAAvB,EAANA,EAA+BM,WAC5CK,EACE,QADgBV,EACtBM,cAAM,IAAAN,GAAM,QAANC,EAAND,EAAQO,YAAI,IAAAN,GAAO,QAAPC,EAAZD,EAAcO,aAAK,IAAAN,GAAU,QAAVC,EAAnBD,EAAqBO,gBAAQ,IAAAN,OAAvB,EAANA,EAA+BQ,wBAC3BC,EAAkC,QAA3BR,EAAGT,EAAsB,UAAE,IAAAS,OAAA,EAAxBA,EAA0BS,GAGtCC,EAAmBzC,EAAEqB,EAAEqB,QACxBC,QAAQ,MACRvC,KAAK,oDACLwC,OACAC,OAE6B,IAA5BJ,EAAiBjC,SAAciC,EAAmB,MAGtD,IAAIK,EAAkB9C,EAAEqB,EAAEqB,QACvBK,QACAC,WACAC,SACAC,MACAN,OACAC,OAECM,EAAcV,GAAoBK,EAEjCP,GAAYY,GAAgBnB,GAAeK,GAIhDL,EACE,sBACAK,EAAmB,CACjBe,MAAOD,EACPX,GAAID,IAGV,GAAC,CAAA3B,IAAA,UAAAC,MAED,SAAQQ,GACNA,EAAEgC,iBACFvD,KAAKwD,gBAAgBjC,EAAGvB,KAAKO,wBAC7BP,KAAKkB,MAAMuC,OACXzD,KAAKkB,MAAMwC,OACb,M,oEAAC9D,CAAA,CA7F8B,E","sources":["webpack:///./resources/js/components/generic/modal-link-wpl.ts"],"sourcesContent":["import * as $ from \"jquery\";\nimport Modal from '../../components/generic/modal';\n\nexport default class ModalLinkWpl {\n $domRoot: JQuery;\n params: any;\n $modalTrigger: any;\n $modalContentContainer: JQuery;\n modalClassname: any;\n $modalHeader: any;\n $modalContent: any;\n modal: any;\n\n constructor(domRoot: HTMLElement, params: any) {\n this.$domRoot = $(domRoot);\n this.params = {\n useDomRootAsTrigger: false,\n ...params,\n };\n\n this.$modalTrigger = this.params.useDomRootAsTrigger\n ? this.$domRoot\n : this.$domRoot.find(\".modal-link-trigger\");\n this.$modalContentContainer = $(this.$modalTrigger.data(\"target\"));\n this.modalClassname = this.$modalContentContainer.data(\"modal-classname\");\n\n if (this.$modalContentContainer.length) {\n this.$modalHeader = this.$modalContentContainer.find(\".modal-header\");\n this.$modalContent = this.$modalContentContainer.find(\".modal-content\");\n this.init();\n }\n }\n\n init() {\n this.$modalTrigger.on(\"click\", $.proxy(this.onclick, this));\n\n if (!this.modal) {\n var modalType =\n \"dialog\" + (this.modalClassname ? \" \" + this.modalClassname : \"\");\n\n this.modal = new Modal({\n modalType: modalType,\n contentClickToHide: false,\n });\n\n if (this.$modalHeader.length) {\n this.modal.$modalHeader.html(this.$modalHeader.html());\n }\n this.modal.$modalContent.html(this.$modalContent.html());\n }\n }\n\n trackModalEvent(e: MouseEvent, modalContentContainer) {\n const trackEvent = window?.imkt?.utils?.tracking?.trackEvent;\n const sanitizeEventProps =\n window?.imkt?.utils?.tracking?.sanitizeEventProperties;\n const modalId = modalContentContainer[0]?.id;\n\n // get label if it's in a feature comparison table\n var featureTextTable = $(e.target)\n .closest(\"tr\")\n .find(\".imkt-feature-comparison-table-body-feature-name\")\n .text()\n .trim();\n\n if (featureTextTable.length === 0) featureTextTable = null;\n\n // get label if it's DOM Root (filter out children/icons)\n var featureTextRoot = $(e.target)\n .clone()\n .children()\n .remove()\n .end()\n .text()\n .trim();\n\n var featureText = featureTextTable || featureTextRoot;\n\n if (!modalId || !featureText || !trackEvent || !sanitizeEventProps) {\n return;\n }\n\n trackEvent(\n \"wacModalLinkClicked\",\n sanitizeEventProps({\n label: featureText,\n id: modalId,\n })\n );\n }\n \n onclick(e: MouseEvent) {\n e.preventDefault();\n this.trackModalEvent(e, this.$modalContentContainer);\n this.modal.show();\n this.modal.place();\n }\n}\n"],"names":["ModalLinkWpl","domRoot","params","_classCallCheck","this","$domRoot","$","_objectSpread","useDomRootAsTrigger","$modalTrigger","find","$modalContentContainer","data","modalClassname","length","$modalHeader","$modalContent","init","key","value","on","onclick","modal","modalType","Modal","contentClickToHide","html","e","modalContentContainer","_window","_window$imkt","_window$imkt$utils","_window$imkt$utils$tr","_window2","_window2$imkt","_window2$imkt$utils","_window2$imkt$utils$t","_modalContentContaine","trackEvent","window","imkt","utils","tracking","sanitizeEventProps","sanitizeEventProperties","modalId","id","featureTextTable","target","closest","text","trim","featureTextRoot","clone","children","remove","end","featureText","label","preventDefault","trackModalEvent","show","place"],"sourceRoot":""}