{"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<HTMLElement>;\n  params: any;\n  $modalTrigger: any;\n  $modalContentContainer: JQuery<any>;\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":""}