import type { ExtractPropTypes, PropType } from 'vue'; import type { SizeType } from '../../types/global'; /** * SwitchProps 开关选择器 props 类型定义 * @description 选择开关,支持自定义颜色、尺寸、值等 */ export const SwitchProps = { /** 自定义根节点样式 */ customStyle: { type: [String, Object] as PropType>, default: () => ({}) }, /** 自定义根节点样式类 */ customClass: { type: String as unknown as PropType, default: '' }, /** 是否显示加载中状态 */ loading: { type: Boolean, default: false }, /** 是否禁用 */ disabled: { type: Boolean, default: false }, /** 开关尺寸,单位rpx */ size: { type: [Number, String] as PropType, default: '' }, /** 打开时的颜色 */ activeColor: { type: String, default: 'var(--u-type-primary)' }, /** 关闭时的颜色 */ inactiveColor: { type: String, default: 'var(--u-white-color)' }, /** v-model 绑定值,开关状态值 */ modelValue: { type: [Number, String, Boolean] as PropType, default: false }, /** 是否开启轻微震动反馈 */ vibrateShort: { type: Boolean, default: false }, /** 打开时的值 */ activeValue: { type: [Number, String, Boolean] as PropType, default: true }, /** 关闭时的值 */ inactiveValue: { type: [Number, String, Boolean] as PropType, default: false } }; export type SwitchProps = ExtractPropTypes;