���Root Mod By V1rus_Alfa
User / IP
:
216.73.217.78
Host / Server
:
195.214.235.115 / npln.ir
System
:
Linux damavand.pws-dns.net 5.14.0-503.35.1.el9_5.x86_64 #1 SMP PREEMPT_DYNAMIC Fri Apr 4 05:23:43 EDT 2025 x86_64
Command
|
Upload
|
Mass Deface
|
Create
:
/
home2
/
cutunixc
/
.trash
/
node_modules.2
/
@nuxt
/
ui
/
dist
/
runtime
/
components
/
overlays
/
Viewing: Modal.vue
<template> <TransitionRoot :appear="appear" :show="isOpen" as="template" @after-leave="onAfterLeave"> <HDialog :class="ui.wrapper" v-bind="attrs" @close="close"> <TransitionChild v-if="overlay" as="template" :appear="appear" v-bind="ui.overlay.transition"> <div :class="[ui.overlay.base, ui.overlay.background]" /> </TransitionChild> <div :class="ui.inner"> <div :class="[ui.container, !fullscreen && ui.padding]"> <TransitionChild as="template" :appear="appear" v-bind="transitionClass"> <HDialogPanel :class="[ ui.base, ui.background, ui.ring, ui.shadow, fullscreen ? ui.fullscreen : [ui.width, ui.height, ui.rounded, ui.margin], ]" > <slot /> </HDialogPanel> </TransitionChild> </div> </div> </HDialog> </TransitionRoot> </template> <script> import { computed, toRef, defineComponent } from "vue"; import { Dialog as HDialog, DialogPanel as HDialogPanel, TransitionRoot, TransitionChild, provideUseId } from "@headlessui/vue"; import { useUI } from "../../composables/useUI"; import { mergeConfig } from "../../utils"; import appConfig from "#build/app.config"; import { modal } from "#ui/ui.config"; import { useId } from "#imports"; const config = mergeConfig(appConfig.ui.strategy, appConfig.ui.modal, modal); export default defineComponent({ components: { HDialog, HDialogPanel, TransitionRoot, TransitionChild }, inheritAttrs: false, props: { modelValue: { type: Boolean, default: false }, appear: { type: Boolean, default: false }, overlay: { type: Boolean, default: true }, transition: { type: Boolean, default: true }, preventClose: { type: Boolean, default: false }, fullscreen: { type: Boolean, default: false }, class: { type: [String, Object, Array], default: () => "" }, ui: { type: Object, default: () => ({}) } }, emits: ["update:modelValue", "close", "close-prevented", "after-leave"], setup(props, { emit }) { const { ui, attrs } = useUI("modal", toRef(props, "ui"), config, toRef(props, "class")); const isOpen = computed({ get() { return props.modelValue; }, set(value) { emit("update:modelValue", value); } }); const transitionClass = computed(() => { if (!props.transition) { return {}; } return { ...ui.value.transition }; }); function close(value) { if (props.preventClose) { emit("close-prevented"); return; } isOpen.value = value; emit("close"); } const onAfterLeave = () => { emit("after-leave"); }; provideUseId(() => useId()); return { // eslint-disable-next-line vue/no-dupe-keys ui, attrs, isOpen, transitionClass, onAfterLeave, close }; } }); </script>
Coded With 💗 by
0x6ick Mod By V1rus_Alfa