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