import { nextTick, ref, watch } from 'vue'; const props = defineProps(); const emit = defineEmits(); const element = ref(null); watch(() => props.visible, async (visible) => { await nextTick(); const dialog = element.value; if (!dialog) return; if (visible && !dialog.open) props.modal === false ? dialog.show() : dialog.showModal(); if (!visible && dialog.open) dialog.close(); }, { immediate: true }); function close() { emit('update:visible', false); } const __VLS_ctx = { ...{}, ...{}, ...{}, ...{}, ...{}, }; let __VLS_components; let __VLS_intrinsics; let __VLS_directives; __VLS_asFunctionalElement1(__VLS_intrinsics.dialog, __VLS_intrinsics.dialog)({ ...{ onClose: (__VLS_ctx.close) }, ...{ onCancel: (__VLS_ctx.close) }, ref: "element", ...{ class: "ks-native-dialog" }, }); /** @type {__VLS_StyleScopedClasses['ks-native-dialog']} */ ; __VLS_asFunctionalElement1(__VLS_intrinsics.header, __VLS_intrinsics.header)({}); __VLS_asFunctionalElement1(__VLS_intrinsics.h2, __VLS_intrinsics.h2)({}); (__VLS_ctx.title); __VLS_asFunctionalElement1(__VLS_intrinsics.button, __VLS_intrinsics.button)({ ...{ onClick: (__VLS_ctx.close) }, type: "button", 'aria-label': "닫기", }); __VLS_asFunctionalElement1(__VLS_intrinsics.section, __VLS_intrinsics.section)({}); var __VLS_0 = {}; __VLS_asFunctionalElement1(__VLS_intrinsics.footer, __VLS_intrinsics.footer)({}); var __VLS_2 = {}; // @ts-ignore var __VLS_1 = __VLS_0, __VLS_3 = __VLS_2; // @ts-ignore [close, close, close, title,]; const __VLS_base = (await import('vue')).defineComponent({ __typeEmits: {}, __typeProps: {}, }); const __VLS_export = {}; export default {};