{"version":3,"file":"index.vue.mjs","sources":["../../../../../../components/dialog/src/index.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { provide, ref, toRefs } from 'vue'\nimport { dialogProps } from '../src/props'\nimport { dialogInjectionKey, dialogkEmits } from './dialog'\nimport { useDialog } from './use-dialog'\n\nconst props = defineProps(dialogProps)\nconst emit = defineEmits(dialogkEmits)\nconst { showClose } = toRefs(props)\n\nconst containerRef = ref<HTMLElement>()\nconst targetDivRef = ref(null)\nconst dialogRef = ref<HTMLElement>()\nconst {\n  visible,\n  handleClose,\n  overlayDialogStyle,\n} = useDialog(props, containerRef)\n\nprovide(dialogInjectionKey, {\n  dialogRef,\n})\n\nfunction handleClick(event: MouseEvent) {\n  if (!props.closeOnClickModal)\n    return\n  const targetDiv = targetDivRef.value as unknown as HTMLElement\n  if (!targetDiv?.contains(event.target as HTMLElement))\n    handleClose()\n  emit('click', event)\n}\n</script>\n\n<template>\n  <Teleport to=\"body\">\n    <transition name=\"dialog-fade\">\n      <div\n        v-show=\"visible\"\n        ref=\"containerRef\"\n        class=\"dialog\"\n        role=\"dialog\"\n        @click.stop=\"handleClick\"\n      >\n        <div ref=\"targetDivRef\" class=\"fn-overlay \" :style=\"overlayDialogStyle\" :class=\"{ 'is-align-center': (props.center && !props.fullscreen), 'is-fullscreen': props.fullscreen }\">\n          <div v-show=\"props.title\" class=\"header\">\n            <span>\n              {{ props.title }}\n            </span>\n            <span v-if=\"!showClose\" @click=\"handleClose\">\n              <fn-icon icon=\"material-symbols:close\" />\n            </span>\n          </div>\n          <div class=\"dialog__content\">\n            <slot />\n          </div>\n          <div class=\"footer\">\n            <slot name=\"footer\" />\n          </div>\n        </div>\n      </div>\n    </transition>\n  </Teleport>\n</template>\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAQA,IAAA,MAAM,EAAE,SAAA,EAAc,GAAA,MAAA,CAAO,KAAK,CAAA,CAAA;AAElC,IAAA,MAAM,eAAe,GAAiB,EAAA,CAAA;AAChC,IAAA,MAAA,YAAA,GAAe,IAAI,IAAI,CAAA,CAAA;AAC7B,IAAA,MAAM,YAAY,GAAiB,EAAA,CAAA;AAC7B,IAAA,MAAA;AAAA,MACJ,OAAA;AAAA,MACA,WAAA;AAAA,MACA,kBAAA;AAAA,KACF,GAAI,SAAU,CAAA,KAAA,EAAO,YAAY,CAAA,CAAA;AAEjC,IAAA,OAAA,CAAQ,kBAAoB,EAAA;AAAA,MAC1B,SAAA;AAAA,KACD,CAAA,CAAA;AAED,IAAA,SAAS,YAAY,KAAmB,EAAA;AACtC,MAAA,IAAI,CAAC,KAAM,CAAA,iBAAA;AACT,QAAA,OAAA;AACF,MAAA,MAAM,YAAY,YAAa,CAAA,KAAA,CAAA;AAC/B,MAAI,IAAA,EAAC,SAAW,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,SAAA,CAAA,QAAA,CAAS,KAAM,CAAA,MAAA,CAAA,CAAA;AACjB,QAAA,WAAA,EAAA,CAAA;AACd,MAAA,IAAA,CAAK,SAAS,KAAK,CAAA,CAAA;AAAA,KACrB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}