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