@aotearoan/neon
Version:
Neon is a lightweight design library of Vue 3 components with minimal dependencies.
3 lines (2 loc) • 809 B
JavaScript
;const e=require("vue"),r=require("../../../common/utils/NeonClosableUtils.cjs.js"),c=require("../../user-input/button/NeonButton.vue.cjs.js"),d=e.defineComponent({name:"NeonDrawer",components:{NeonButton:c},props:{open:{type:Boolean,required:!0},dismissible:{type:Boolean,default:!0},opaque:{type:Boolean,default:!1},showTopNav:{type:Boolean,default:!1}},emits:["close"],setup(o,{emit:a}){const l=e.ref(null),s=e.ref(null),i=()=>{a("close")},t=()=>{o.open&&o.dismissible&&i()};return e.onMounted(()=>{o.dismissible&&(s.value=l.value&&new r.NeonClosableUtils(l.value,t)||null)}),e.onUnmounted(()=>{var n;(n=s.value)==null||n.destroy()}),e.watch(()=>o.open,n=>{var u;n&&((u=s.value)==null||u.open())},{immediate:!0}),{modal:l,close:t}}});module.exports=d;
//# sourceMappingURL=NeonModal.cjs.js.map