UNPKG

vue-devui

Version:

DevUI components based on Vite and Vue3

113 lines (112 loc) 3.45 kB
import type { InjectionKey, PropType, Ref, ExtractPropTypes, ComputedRef } from 'vue'; export declare type valueTypes = string | number | boolean | undefined; export declare type sizeTypes = 'lg' | 'md' | 'sm'; /** radio 的 props */ export declare const radioProps: { /** 单选框的值 */ readonly value: { readonly type: PropType<valueTypes>; readonly required: true; readonly default: null; }; readonly border: { readonly type: BooleanConstructor; readonly default: false; }; readonly canCancelSelect: { readonly type: BooleanConstructor; readonly default: false; }; readonly modelValue: { type: PropType<valueTypes>; default: null; }; readonly name: { type: PropType<string | undefined>; default: null; }; readonly beforeChange: { type: PropType<(value: valueTypes) => boolean | Promise<boolean>>; default: null; }; readonly disabled: { type: BooleanConstructor; default: boolean; }; readonly size: { type: PropType<sizeTypes>; }; }; /** radio-group 的 props */ export declare const radioGroupProps: { /** 选项列表 */ readonly values: { readonly type: PropType<(string | number)[] | null>; readonly default: null; }; /** 展示方式,横向/竖向 */ readonly direction: { readonly type: PropType<"column" | "row">; readonly default: "column"; }; readonly border: { readonly type: BooleanConstructor; readonly default: false; }; readonly fill: { readonly type: StringConstructor; readonly default: ""; }; readonly textColor: { readonly type: StringConstructor; readonly default: ""; }; readonly modelValue: { type: PropType<valueTypes>; default: null; }; readonly name: { type: PropType<string | undefined>; default: null; }; readonly beforeChange: { type: PropType<(value: valueTypes) => boolean | Promise<boolean>>; default: null; }; readonly disabled: { type: BooleanConstructor; default: boolean; }; readonly size: { type: PropType<sizeTypes>; }; }; export declare type RadioProps = ExtractPropTypes<typeof radioProps>; export declare type RadioGroupProps = ExtractPropTypes<typeof radioGroupProps>; /** radio-group 注入字段的接口 */ interface RadioGroupInjection { modelValue: Ref<string | number | boolean>; name: Ref<string | undefined>; disabled: Ref<boolean>; beforeChange: (value: valueTypes) => boolean | Promise<boolean>; emitChange: (value: valueTypes) => void; border: Ref<boolean>; size: Ref<string>; fill: Ref<string | undefined>; textColor: Ref<string | undefined>; } /** radio-group 注入 radio 的 key 值 */ export declare const radioGroupInjectionKey: InjectionKey<RadioGroupInjection>; export declare type UseRadioFn = { isChecked: ComputedRef<boolean>; radioName: ComputedRef<string | undefined>; isDisabled: ComputedRef<boolean | undefined>; handleChange: (event: Event) => Promise<void>; border: ComputedRef<boolean>; size: ComputedRef<string>; }; export declare type UseRadioButtonFn = { mergedColor: ComputedRef<string | undefined>; mergedTextColor: ComputedRef<string | undefined>; }; export {};