element-plus
Version:
A Component Library for Vue 3
1 lines • 17.3 kB
Source Map (JSON)
{"version":3,"file":"switch2.mjs","sources":["../../../../../../packages/components/switch/src/switch.vue"],"sourcesContent":["<template>\n <div\n :class=\"switchKls\"\n role=\"switch\"\n :aria-checked=\"checked\"\n :aria-disabled=\"switchDisabled\"\n @click.prevent=\"switchValue\"\n >\n <input\n :id=\"id\"\n ref=\"input\"\n :class=\"ns.e('input')\"\n type=\"checkbox\"\n :name=\"name\"\n :true-value=\"activeValue\"\n :false-value=\"inactiveValue\"\n :disabled=\"switchDisabled\"\n @change=\"handleChange\"\n @keydown.enter=\"switchValue\"\n />\n <span\n v-if=\"!inlinePrompt && (inactiveIcon || inactiveText)\"\n :class=\"[\n ns.e('label'),\n ns.em('label', 'left'),\n ns.is('active', !checked),\n ]\"\n >\n <el-icon v-if=\"inactiveIcon\"><component :is=\"inactiveIcon\" /></el-icon>\n <span v-if=\"!inactiveIcon && inactiveText\" :aria-hidden=\"checked\">{{\n inactiveText\n }}</span>\n </span>\n <span\n ref=\"core\"\n :class=\"ns.e('core')\"\n :style=\"{ width: (width || 40) + 'px' }\"\n >\n <div v-if=\"inlinePrompt\" :class=\"ns.e('inner')\">\n <template v-if=\"activeIcon || inactiveIcon\">\n <el-icon\n v-if=\"activeIcon\"\n :class=\"[ns.is('icon'), checked ? ns.is('show') : ns.is('hide')]\"\n >\n <component :is=\"activeIcon\" />\n </el-icon>\n <el-icon\n v-if=\"inactiveIcon\"\n :class=\"[ns.is('icon'), !checked ? ns.is('show') : ns.is('hide')]\"\n >\n <component :is=\"inactiveIcon\" />\n </el-icon>\n </template>\n <template v-else-if=\"activeText || inactiveIcon\">\n <span\n v-if=\"activeText\"\n :class=\"[ns.is('text'), checked ? ns.is('show') : ns.is('hide')]\"\n :aria-hidden=\"!checked\"\n >\n {{ activeText.substring(0, 3) }}\n </span>\n <span\n v-if=\"inactiveText\"\n :class=\"[ns.is('text'), !checked ? ns.is('show') : ns.is('hide')]\"\n :aria-hidden=\"checked\"\n >\n {{ inactiveText.substring(0, 3) }}\n </span>\n </template>\n </div>\n <div :class=\"ns.e('action')\">\n <el-icon v-if=\"loading\" :class=\"ns.is('loading')\"><loading /></el-icon>\n </div>\n </span>\n <span\n v-if=\"!inlinePrompt && (activeIcon || activeText)\"\n :class=\"[\n ns.e('label'),\n ns.em('label', 'right'),\n ns.is('active', checked),\n ]\"\n >\n <el-icon v-if=\"activeIcon\"><component :is=\"activeIcon\" /></el-icon>\n <span v-if=\"!activeIcon && activeText\" :aria-hidden=\"!checked\">{{\n activeText\n }}</span>\n </span>\n </div>\n</template>\n\n<script lang=\"ts\">\nimport { defineComponent, computed, onMounted, ref, nextTick, watch } from 'vue'\nimport { isPromise } from '@vue/shared'\nimport { isBoolean, throwError, debugWarn } from '@element-plus/utils'\nimport ElIcon from '@element-plus/components/icon'\nimport { Loading } from '@element-plus/icons-vue'\nimport {\n UPDATE_MODEL_EVENT,\n CHANGE_EVENT,\n INPUT_EVENT,\n} from '@element-plus/constants'\nimport {\n useDisabled,\n useFormItem,\n useNamespace,\n useSize,\n} from '@element-plus/hooks'\nimport { switchProps, switchEmits } from './switch'\n\nconst COMPONENT_NAME = 'ElSwitch'\n\nexport default defineComponent({\n name: COMPONENT_NAME,\n components: { ElIcon, Loading },\n\n props: switchProps,\n emits: switchEmits,\n\n setup(props, { emit }) {\n const { formItem } = useFormItem()\n const switchDisabled = useDisabled(computed(() => props.loading))\n const ns = useNamespace('switch')\n\n const switchSize = useSize()\n const isModelValue = ref(props.modelValue !== false)\n const input = ref<HTMLInputElement>()\n const core = ref<HTMLSpanElement>()\n\n const switchKls = computed(() => [\n ns.b(),\n ns.m(switchSize.value),\n ns.is('disabled', switchDisabled.value),\n ns.is('checked', checked.value),\n ])\n\n watch(\n () => props.modelValue,\n () => {\n isModelValue.value = true\n }\n )\n\n watch(\n () => props.value,\n () => {\n isModelValue.value = false\n }\n )\n\n const actualValue = computed(() => {\n return isModelValue.value ? props.modelValue : props.value\n })\n\n const checked = computed(() => actualValue.value === props.activeValue)\n\n if (![props.activeValue, props.inactiveValue].includes(actualValue.value)) {\n emit(UPDATE_MODEL_EVENT, props.inactiveValue)\n emit(CHANGE_EVENT, props.inactiveValue)\n emit(INPUT_EVENT, props.inactiveValue)\n }\n\n watch(checked, () => {\n input.value!.checked = checked.value\n\n if (props.activeColor || props.inactiveColor) {\n setBackgroundColor()\n }\n\n if (props.validateEvent) {\n formItem?.validate?.('change').catch((err) => debugWarn(err))\n }\n })\n\n const handleChange = (): void => {\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 nextTick(() => {\n input.value!.checked = checked.value\n })\n }\n\n const switchValue = (): void => {\n if (switchDisabled.value) return\n\n const { beforeChange } = props\n if (!beforeChange) {\n handleChange()\n return\n }\n\n const shouldChange = beforeChange()\n\n const isExpectType = [\n isPromise(shouldChange),\n isBoolean(shouldChange),\n ].some((i) => i)\n if (!isExpectType) {\n throwError(\n COMPONENT_NAME,\n 'beforeChange must return type `Promise<boolean>` or `boolean`'\n )\n }\n\n if (isPromise(shouldChange)) {\n shouldChange\n .then((result) => {\n if (result) {\n handleChange()\n }\n })\n .catch((e) => {\n debugWarn(COMPONENT_NAME, `some error occurred: ${e}`)\n })\n } else if (shouldChange) {\n handleChange()\n }\n }\n\n const setBackgroundColor = (): void => {\n const newColor = checked.value ? props.activeColor : props.inactiveColor\n const coreEl = core.value\n if (props.borderColor) coreEl!.style.borderColor = props.borderColor\n else if (!props.borderColor) coreEl!.style.borderColor = newColor\n coreEl!.style.backgroundColor = newColor\n ;(coreEl!.children[0] as HTMLDivElement).style.color = newColor\n }\n\n const focus = (): void => {\n input.value?.focus?.()\n }\n\n onMounted(() => {\n if (props.activeColor || props.inactiveColor || props.borderColor) {\n setBackgroundColor()\n }\n\n input.value!.checked = checked.value\n })\n\n return {\n ns,\n input,\n core,\n switchDisabled,\n checked,\n switchKls,\n handleChange,\n switchValue,\n focus,\n }\n },\n})\n</script>\n"],"names":["_resolveComponent","_openBlock","_createElementBlock","_normalizeClass","_withModifiers","_createElementVNode","_withKeys","_createBlock","_withCtx","_resolveDynamicComponent","_createCommentVNode","_toDisplayString","_normalizeStyle","_Fragment","_createVNode"],"mappings":"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"}