UNPKG

@aotearoan/neon

Version:

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

3 lines (2 loc) 1.33 kB
"use strict";const t=require("vue"),d=require("../../../common/enums/NeonSize.cjs.js"),m=require("../../../common/enums/NeonFunctionalColor.cjs.js"),S=require("../../../common/enums/NeonSwitchStyle.cjs.js"),f=require("../../../common/enums/NeonHorizontalPosition.cjs.js"),h=require("../../presentation/icon/NeonIcon.vue.cjs.js"),g=t.defineComponent({name:"NeonSwitch",components:{NeonIcon:h},props:{modelValue:{type:Boolean,required:!0},label:{type:String,default:null},indeterminate:{type:Boolean,default:!1},size:{type:String,default:()=>d.NeonSize.Medium},color:{type:String,default:()=>m.NeonFunctionalColor.Primary},switchStyle:{type:String,default:()=>S.NeonSwitchStyle.Switch},labelPosition:{type:String,default:()=>f.NeonHorizontalPosition.Right},disabled:{type:Boolean,default:!1}},emits:["indeterminate-change","update:modelValue"],setup(n,{emit:o}){const l=t.useAttrs(),i=t.ref(null);t.watch(()=>n.indeterminate,e=>{i.value&&(i.value.indeterminate=e)},{immediate:!0});const r=e=>{o("indeterminate-change",e)},a=e=>{o("update:modelValue",e)},c=e=>{n.disabled||(n.indeterminate?(r(!1),a(!0)):a(e))},u=t.computed(()=>{const{onIndeterminateChange:e,onClick:p,...s}=l;return s});return{checkbox:i,sanitizedAttributes:u,toggleSwitch:()=>{c(!n.modelValue)}}}});module.exports=g; //# sourceMappingURL=NeonSwitch.cjs.js.map