@vuesax-alpha/nightly
Version:
A Component Library for Vue 3
1 lines • 2.27 kB
Source Map (JSON)
{"version":3,"file":"use-switch.mjs","sources":["../../../../../../packages/components/switch/src/use-switch.ts"],"sourcesContent":["import { computed } from 'vue'\nimport {\n CHANGE_EVENT,\n INPUT_EVENT,\n UPDATE_MODEL_EVENT,\n} from '@vuesax-alpha/constants'\nimport type { SwitchEmitFn, SwitchProps } from './switch'\n\nexport const useSwitch = (props: SwitchProps, emit: SwitchEmitFn) => {\n const checked = computed(() => props.modelValue === props.activeValue)\n const isLoading = computed(() => props.loading)\n const isDisabled = computed(() => props.disabled || isLoading.value)\n\n if (![props.activeValue, props.inactiveValue].includes(props.modelValue)) {\n emit(UPDATE_MODEL_EVENT, props.inactiveValue)\n emit(CHANGE_EVENT, props.inactiveValue)\n emit(INPUT_EVENT, props.inactiveValue)\n }\n\n const handleChange = () => {\n const val = checked.value ? props.inactiveValue : props.activeValue\n emit(UPDATE_MODEL_EVENT, val)\n emit(CHANGE_EVENT, val)\n emit(INPUT_EVENT, val)\n }\n\n const switchValue = () => {\n if (isDisabled.value) return\n\n handleChange()\n }\n\n return {\n checked,\n isDisabled,\n isLoading,\n\n handleChange,\n switchValue,\n }\n}\n"],"names":[],"mappings":";;;;AAQa,MAAA,SAAA,GAAY,CAAC,KAAA,EAAoB,IAAuB,KAAA;AACnE,EAAA,MAAM,UAAU,QAAS,CAAA,MAAM,KAAM,CAAA,UAAA,KAAe,MAAM,WAAW,CAAA,CAAA;AACrE,EAAA,MAAM,SAAY,GAAA,QAAA,CAAS,MAAM,KAAA,CAAM,OAAO,CAAA,CAAA;AAC9C,EAAA,MAAM,aAAa,QAAS,CAAA,MAAM,KAAM,CAAA,QAAA,IAAY,UAAU,KAAK,CAAA,CAAA;AAEnE,EAAI,IAAA,CAAC,CAAC,KAAA,CAAM,WAAa,EAAA,KAAA,CAAM,aAAa,CAAE,CAAA,QAAA,CAAS,KAAM,CAAA,UAAU,CAAG,EAAA;AACxE,IAAK,IAAA,CAAA,kBAAA,EAAoB,MAAM,aAAa,CAAA,CAAA;AAC5C,IAAK,IAAA,CAAA,YAAA,EAAc,MAAM,aAAa,CAAA,CAAA;AACtC,IAAK,IAAA,CAAA,WAAA,EAAa,MAAM,aAAa,CAAA,CAAA;AAAA,GACvC;AAEA,EAAA,MAAM,eAAe,MAAM;AACzB,IAAA,MAAM,GAAM,GAAA,OAAA,CAAQ,KAAQ,GAAA,KAAA,CAAM,gBAAgB,KAAM,CAAA,WAAA,CAAA;AACxD,IAAA,IAAA,CAAK,oBAAoB,GAAG,CAAA,CAAA;AAC5B,IAAA,IAAA,CAAK,cAAc,GAAG,CAAA,CAAA;AACtB,IAAA,IAAA,CAAK,aAAa,GAAG,CAAA,CAAA;AAAA,GACvB,CAAA;AAEA,EAAA,MAAM,cAAc,MAAM;AACxB,IAAA,IAAI,UAAW,CAAA,KAAA;AAAO,MAAA,OAAA;AAEtB,IAAa,YAAA,EAAA,CAAA;AAAA,GACf,CAAA;AAEA,EAAO,OAAA;AAAA,IACL,OAAA;AAAA,IACA,UAAA;AAAA,IACA,SAAA;AAAA,IAEA,YAAA;AAAA,IACA,WAAA;AAAA,GACF,CAAA;AACF;;;;"}