element-plus
Version:
A Component Library for Vue 3
78 lines (75 loc) • 1.85 kB
JavaScript
import { isValidComponentSize } from '../../../utils/vue/validator.mjs';
import { buildProps, definePropType } from '../../../utils/vue/props/runtime.mjs';
import { iconPropType } from '../../../utils/vue/icon.mjs';
import { useAriaProps } from '../../../hooks/use-aria/index.mjs';
import { UPDATE_MODEL_EVENT, CHANGE_EVENT, INPUT_EVENT } from '../../../constants/event.mjs';
import { isBoolean, isNumber } from '../../../utils/types.mjs';
import { isString } from '@vue/shared';
const switchProps = buildProps({
modelValue: {
type: [Boolean, String, Number],
default: false
},
disabled: Boolean,
loading: Boolean,
size: {
type: String,
validator: isValidComponentSize
},
width: {
type: [String, Number],
default: ""
},
inlinePrompt: Boolean,
inactiveActionIcon: {
type: iconPropType
},
activeActionIcon: {
type: iconPropType
},
activeIcon: {
type: iconPropType
},
inactiveIcon: {
type: iconPropType
},
activeText: {
type: String,
default: ""
},
inactiveText: {
type: String,
default: ""
},
activeValue: {
type: [Boolean, String, Number],
default: true
},
inactiveValue: {
type: [Boolean, String, Number],
default: false
},
name: {
type: String,
default: ""
},
validateEvent: {
type: Boolean,
default: true
},
beforeChange: {
type: definePropType(Function)
},
id: String,
tabindex: {
type: [String, Number]
},
...useAriaProps(["ariaLabel"])
});
const switchEmits = {
[UPDATE_MODEL_EVENT]: (val) => isBoolean(val) || isString(val) || isNumber(val),
[CHANGE_EVENT]: (val) => isBoolean(val) || isString(val) || isNumber(val),
[INPUT_EVENT]: (val) => isBoolean(val) || isString(val) || isNumber(val)
};
export { switchEmits, switchProps };
//# sourceMappingURL=switch.mjs.map