@vuesax-alpha/nightly
Version:
A Component Library for Vue 3
1 lines • 3.34 kB
Source Map (JSON)
{"version":3,"file":"switch2.mjs","sources":["../../../../../../packages/components/switch/src/switch.vue"],"sourcesContent":["<template>\n <div\n type=\"checkbox\"\n :class=\"switchKls\"\n :style=\"switchStyles\"\n @click=\"switchValue\"\n >\n <input\n type=\"checkbox\"\n :checked=\"checked\"\n :disabled=\"isDisabled\"\n :readonly=\"isDisabled\"\n :class=\"ns.e('input')\"\n @change=\"handleChange\"\n />\n <div :class=\"ns.e('circle')\">\n <slot name=\"circle\" />\n <icon-loading v-if=\"isLoading\" />\n </div>\n <div\n v-if=\"$slots.on || $slots.default\"\n :class=\"[ns.e('text'), ns.is('on')]\"\n >\n <slot v-if=\"$slots.on\" name=\"on\" />\n <slot v-else-if=\"$slots.default\" />\n </div>\n\n <div\n v-if=\"$slots.off || $slots.default\"\n :class=\"[ns.e('text'), ns.is('off')]\"\n >\n <slot v-if=\"$slots.off\" name=\"off\" />\n <slot v-else-if=\"$slots.default\" />\n </div>\n\n <div :class=\"ns.e('background')\" />\n </div>\n</template>\n\n<script lang=\"ts\" setup>\nimport { computed } from 'vue'\nimport {\n useColor,\n useNamespace,\n useVuesaxBaseComponent,\n} from '@vuesax-alpha/hooks'\nimport { IconLoading } from '@vuesax-alpha/components/icon'\nimport { getVsColor } from '@vuesax-alpha/utils'\nimport { switchEmits, switchProps } from './switch'\nimport { useSwitch } from './use-switch'\n\ndefineOptions({\n name: 'VsSwitch',\n inheritAttrs: false,\n})\n\nconst props = defineProps(switchProps)\nconst emit = defineEmits(switchEmits)\n\nconst ns = useNamespace('switch')\n\nconst color = useColor('primary')\n\nconst { isLoading, checked, isDisabled, handleChange, switchValue } = useSwitch(\n props,\n emit\n)\nconst vsBaseClasses = useVuesaxBaseComponent(color)\nconst switchKls = computed(() => [\n vsBaseClasses,\n ns.b(),\n ns.is('loading', isLoading.value),\n ns.is(props.shape),\n ns.is('indeterminate', props.indeterminate),\n ns.is('icon', props.icon),\n ns.is('disabled', isDisabled.value),\n])\n\nconst switchStyles = computed(() => [\n ns.cssVar({\n color: getVsColor(color.value),\n }),\n])\n\ndefineExpose({\n /**\n * @description whether Switch is checked\n */\n checked,\n})\n</script>\n"],"names":[],"mappings":";;;;;;;;;;;;;mCAmDc,CAAA;AAAA,EACZ,IAAM,EAAA,UAAA;AAAA,EACN,YAAc,EAAA,KAAA;AAChB,CAAA,CAAA,CAAA;;;;;;;AAKM,IAAA,MAAA,EAAA,GAAK,aAAa,QAAQ,CAAA,CAAA;AAE1B,IAAA,MAAA,KAAA,GAAQ,SAAS,SAAS,CAAA,CAAA;AAEhC,IAAA,MAAM,EAAE,SAAW,EAAA,OAAA,EAAS,UAAY,EAAA,YAAA,EAAc,aAAgB,GAAA,SAAA;AAAA,MACpE,KAAA;AAAA,MACA,IAAA;AAAA,KACF,CAAA;AACM,IAAA,MAAA,aAAA,GAAgB,uBAAuB,KAAK,CAAA,CAAA;AAC5C,IAAA,MAAA,SAAA,GAAY,SAAS,MAAM;AAAA,MAC/B,aAAA;AAAA,MACA,GAAG,CAAE,EAAA;AAAA,MACL,EAAG,CAAA,EAAA,CAAG,SAAW,EAAA,SAAA,CAAU,KAAK,CAAA;AAAA,MAChC,EAAA,CAAG,EAAG,CAAA,KAAA,CAAM,KAAK,CAAA;AAAA,MACjB,EAAG,CAAA,EAAA,CAAG,eAAiB,EAAA,KAAA,CAAM,aAAa,CAAA;AAAA,MAC1C,EAAG,CAAA,EAAA,CAAG,MAAQ,EAAA,KAAA,CAAM,IAAI,CAAA;AAAA,MACxB,EAAG,CAAA,EAAA,CAAG,UAAY,EAAA,UAAA,CAAW,KAAK,CAAA;AAAA,KACnC,CAAA,CAAA;AAEK,IAAA,MAAA,YAAA,GAAe,SAAS,MAAM;AAAA,MAClC,GAAG,MAAO,CAAA;AAAA,QACR,KAAA,EAAO,UAAW,CAAA,KAAA,CAAM,KAAK,CAAA;AAAA,OAC9B,CAAA;AAAA,KACF,CAAA,CAAA;AAEY,IAAA,QAAA,CAAA;AAAA,MAIX,OAAA;AAAA,KACD,CAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}