{"version":3,"file":"Dialog-UTkBwi98.js","sources":["../../../app/javascript/src/components/Theme/Dialog.vue"],"sourcesContent":["<template>\n <div class=\"theme-dialog modal micromodal-slide\" id=\"modal-share\" @click.stop>\n <div class=\"modal__overlay\" tabindex=\"-1\" data-micromodal-close>\n <div ref=\"modalRef\" class=\"modal__container\" role=\"dialog\" aria-modal=\"true\" aria-labelledby=\"modal-1-title\">\n <header class=\"modal__header\">\n <slot name=\"header\"></slot>\n <button v-if=\"showClose\" class=\"modal__close\" aria-label=\"Close modal\" data-micromodal-close=\"\" @click=\"$emit('close')\"></button>\n </header>\n <main class=\"modal__content\">\n <slot></slot>\n </main>\n <footer class=\"modal__footer\" v-if=\"$slots.footer\">\n <slot name=\"footer\"></slot>\n </footer>\n </div>\n </div>\n </div>\n</template>\n\n<script setup>\nimport { ref } from \"vue\";\nimport { onClickOutside } from \"@vueuse/core\";\n\nconst modalRef = ref();\nconst emit = defineEmits(['close']);\n\nconst props = defineProps({\n showClose: {\n type: Boolean,\n default: false\n },\n clickOutside: {\n type: Boolean,\n default: false\n }\n});\n\nonClickOutside(modalRef, () => {\n if (props.clickOutside) {\n emit('close');\n }\n});\n</script>\n\n<style lang=\"scss\" scoped>\n.theme-dialog {\n @include micromodal;\n .modal__content {\n margin-top: unset;\n margin-bottom: unset;\n }\n}\n.theme-dialog .modal__container {\n min-width: unset;\n width: calc(100% - #{$spacing-12});\n display: grid;\n row-gap: $spacing-6;\n\n @media (min-width: $breakpoint-m) {\n min-width: $breakpoint-sm;\n width: auto;\n }\n}\n</style>\n"],"names":["modalRef","ref","emit","__emit","props","__props","onClickOutside"],"mappings":"+hBAuBA,MAAMA,EAAWC,EAAK,EAChBC,EAAOC,EAEPC,EAAQC,EAWd,OAAAC,EAAeN,EAAU,IAAM,CACzBI,EAAM,cACRF,EAAK,OAAO,CAEhB,CAAC"}