{"version":3,"names":["smartModalCss","SmartModal","_SmartModal_divRef","set","this","componentDidLoad","startOpen","openModal","async","__classPrivateFieldGet","classList","add","document","body","style","overflow","alwaysOpen","remove","clickIconClose","closeModal","modalCloseClick","emit","clickBackfdrop","event","target","modalClickAway","render","h","Host","part","role","ref","el","__classPrivateFieldSet","onClick","class","content","fullscreen","hiddenHeader","as","variant","label","color","weight","size"],"sources":["./src/components/smart-modal/smart-modal.scss?tag=smart-modal&encapsulation=shadow","./src/components/smart-modal/smart-modal.tsx"],"sourcesContent":[":host {\n display: block;\n}\n\ndiv[role=dialog] {\n display: none;\n padding: $size-space-md;\n}\n\ndiv[role=dialog].open {\n position: fixed;\n inset: 0;\n z-index: 10;\n background-color: rgba(0, 0, 0, 0.1);\n padding: 0;\n display: flex;\n\n}\n\n.content {\n min-width: 268px;\n min-height: 300px;\n\n max-height: 90%;\n\n margin: auto;\n border-radius: 20px;\n background-color: $color-base-brand-white;\n box-shadow: 0px 0px 20px rgba(0, 0, 0, 0.5);\n\n overflow-y: auto;\n\n &.fullscreen {\n min-width: 100%;\n min-height: 100%;\n\n max-height: 100%;\n\n border-radius: 0;\n\n header {\n border-radius: 0;\n }\n }\n}\n\nheader {\n top: 0;\n\n display: flex;\n align-items: center;\n justify-content: space-between;\n border-radius: 20px 20px 0 0;\n padding: $size-space-md $size-space-sm $size-space-lg;\n background-color: $color-base-brand-white;\n}\n\n.icon {\n cursor: pointer;\n}\n","import { Component, Host, Method, Event, Prop, h, EventEmitter } from \"@stencil/core\";\n\n@Component({\n\ttag: \"smart-modal\",\n\tstyleUrl: \"smart-modal.scss\",\n\tshadow: true,\n})\n\nexport class SmartModal {\n\t#divRef?: HTMLDivElement;\n\n\t@Prop() label: string;\n\t@Prop() startOpen = false;\n\t@Prop() fullscreen = false;\n\t@Prop() hiddenHeader = false;\n\t@Prop() alwaysOpen = false;\n\n\t@Event() modalCloseClick: EventEmitter;\n @Event() modalClickAway: EventEmitter;\n\n\tcomponentDidLoad() {\n\t\tif (this.startOpen) {\n\t\t\tthis.openModal();\n\t\t}\n\t}\n\n\t@Method()\n\tasync openModal() {\n\t\tthis.#divRef.classList.add(\"open\");\n\t\tdocument.body.style.overflow = \"hidden\";\n\t}\n\n\t@Method()\n\tasync closeModal() {\n\t\tif(this.alwaysOpen) return;\n\n\t\tthis.#divRef.classList.remove(\"open\");\n\t\tdocument.body.style.overflow = \"auto\";\n\t}\n\n\tprivate clickIconClose() {\n\t\tif(this.alwaysOpen) return;\n\t\tthis.closeModal();\n\t\tthis.modalCloseClick.emit();\n\t}\n\n\tprivate clickBackfdrop(event: MouseEvent) {\n\t\tif (event.target === this.#divRef) {\n\t\t\tthis.closeModal();\n this.modalClickAway.emit();\n\t\t}\n\t}\n\n\trender() {\n\t\treturn (\n\t\t\t\n\t\t\t\t
(this.#divRef = el)} onClick={(event) => this.clickBackfdrop(event)}>\n\t\t\t\t\t
\n\t\t\t\t\t\t{!this.hiddenHeader && (
\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t{ this.label }\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t this.clickIconClose()}\n\t\t\t\t\t\t\t\taria-label=\"Close Modal\"\n\t\t\t\t\t\t\t\trole=\"button\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t
)}\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t
\n\t\t\t
\n\t\t);\n\t}\n}"],"mappings":"yDAAA,MAAMA,EAAgB,2oB,swBCQTC,EAAU,M,yHACtBC,EAAAC,IAAAC,UAAA,G,oCAGoB,M,gBACC,M,kBACE,M,gBACF,K,CAKrBC,mBACC,GAAID,KAAKE,UAAW,CACnBF,KAAKG,W,EAKPC,kBACCC,EAAAL,KAAIF,EAAA,KAASQ,UAAUC,IAAI,QAC3BC,SAASC,KAAKC,MAAMC,SAAW,Q,CAIhCP,mBACC,GAAGJ,KAAKY,WAAY,OAEpBP,EAAAL,KAAIF,EAAA,KAASQ,UAAUO,OAAO,QAC9BL,SAASC,KAAKC,MAAMC,SAAW,M,CAGxBG,iBACP,GAAGd,KAAKY,WAAY,OACpBZ,KAAKe,aACLf,KAAKgB,gBAAgBC,M,CAGdC,eAAeC,GACtB,GAAIA,EAAMC,SAAWf,EAAAL,KAAIF,EAAA,KAAU,CAClCE,KAAKe,aACFf,KAAKqB,eAAeJ,M,EAIzBK,SACC,OACCC,EAACC,EAAI,KACJD,EAAA,OAAKE,KAAK,gBAAgBC,KAAK,SAASC,IAAMC,GAAQC,EAAA7B,KAAIF,EAAW8B,EAAE,KAAGE,QAAUX,GAAUnB,KAAKkB,eAAeC,IACjHI,EAAA,OAAKE,KAAK,gBAAgBM,MAAO,CAAEC,QAAW,KAAMC,WAAcjC,KAAKiC,cACpEjC,KAAKkC,cAAiBX,EAAA,cACvBA,EAAA,cAAYY,GAAG,KAAKC,QAAQ,cACzBpC,KAAKqC,OAERd,EAAA,cACCQ,MAAM,OACNO,MAAM,OAAM,gBACE,OACdC,OAAO,UACPC,KAAM,GACNV,QAAS,IAAM9B,KAAKc,iBAAgB,aACzB,cACXY,KAAK,YAGPH,EAAA,YACCA,EAAA,gB"}