UNPKG

@aotearoan/neon

Version:

Neon is a lightweight design library of Vue 3 components with minimal dependencies.

3 lines (2 loc) 1.16 kB
"use strict";const e=require("vue"),u=require("../../../common/enums/NeonSize.cjs.js"),d=require("../../../common/enums/NeonFunctionalColor.cjs.js"),f=require("../../presentation/icon/NeonIcon.vue.cjs.js"),t=require("../../../common/enums/NeonChipAction.cjs.js"),p=e.defineComponent({name:"NeonChip",components:{NeonIcon:f},props:{label:{type:String,required:!0},size:{type:String,default:u.NeonSize.Medium},color:{type:String,default:d.NeonFunctionalColor.LowContrast},action:{type:String,default:t.NeonChipAction.Click},disabled:{type:Boolean,default:!1},icon:{type:String,default:null}},emits:["close","click"],setup(n,{emit:i}){const s=e.useAttrs(),l=e.ref(null),c=e.ref(!0),o=e.ref(!1),a=e.computed(()=>{if(!n.disabled)switch(n.action){case t.NeonChipAction.Remove:return"button";case t.NeonChipAction.Click:return"link"}}),r=()=>{if(!n.disabled)switch(n.action){case t.NeonChipAction.Remove:c.value=!1,i("close");break;case t.NeonChipAction.Click:i("click");break}};return{chip:l,open:c,active:o,role:a,attrs:s,keyUp:()=>{o.value=!1},keyDown:()=>{n.disabled||(o.value=!0,r())},clicked:r}}});module.exports=p; //# sourceMappingURL=NeonChip.cjs.js.map