@xto/form 1.6.7 → 1.6.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (75) hide show
  1. package/es/AutoComplete/index.d.ts +29 -0
  2. package/es/AutoComplete/index.vue.d.ts +70 -0
  3. package/es/Cascader/index.d.ts +40 -0
  4. package/es/Cascader/index.vue.d.ts +58 -0
  5. package/es/Checkbox/group.vue.d.ts +34 -0
  6. package/es/Checkbox/index.d.ts +49 -0
  7. package/es/Checkbox/index.vue.d.ts +31 -0
  8. package/es/Checkbox/types.d.ts +106 -0
  9. package/es/ColorPicker/index.d.ts +15 -0
  10. package/es/ColorPicker/index.vue.d.ts +29 -0
  11. package/es/DatePicker/components/DateTable.vue.d.ts +36 -0
  12. package/es/DatePicker/components/MonthTable.vue.d.ts +14 -0
  13. package/es/DatePicker/components/YearTable.vue.d.ts +14 -0
  14. package/es/DatePicker/index.d.ts +35 -0
  15. package/es/DatePicker/index.vue.d.ts +57 -0
  16. package/es/DatePicker/types.d.ts +112 -0
  17. package/es/DatePicker/utils.d.ts +21 -0
  18. package/es/DynamicFields/index.d.ts +2 -0
  19. package/es/DynamicFields/index.vue.d.ts +52 -0
  20. package/es/DynamicFields/types.d.ts +36 -0
  21. package/es/Form/index.d.ts +77 -0
  22. package/es/Form/index.vue.d.ts +64 -0
  23. package/es/Form/item.vue.d.ts +31 -0
  24. package/es/Form/types.d.ts +239 -0
  25. package/es/Form/validators.d.ts +60 -0
  26. package/es/Input/index.d.ts +29 -0
  27. package/es/Input/index.vue.d.ts +70 -0
  28. package/es/Input/types.d.ts +97 -0
  29. package/es/InputNumber/index.vue.d.ts +57 -0
  30. package/es/InputNumber/types.d.ts +83 -0
  31. package/es/Mention/index.d.ts +27 -0
  32. package/es/Mention/index.vue.d.ts +45 -0
  33. package/es/Radio/button.vue.d.ts +29 -0
  34. package/es/Radio/group.vue.d.ts +35 -0
  35. package/es/Radio/index.d.ts +61 -0
  36. package/es/Radio/index.vue.d.ts +30 -0
  37. package/es/Radio/types.d.ts +83 -0
  38. package/es/Rate/index.d.ts +41 -0
  39. package/es/Rate/index.vue.d.ts +49 -0
  40. package/es/Rate/types.d.ts +71 -0
  41. package/es/RichEditor/index.d.ts +19 -0
  42. package/es/RichEditor/index.vue.d.ts +41 -0
  43. package/es/Segmented/index.d.ts +20 -0
  44. package/es/Segmented/index.vue.d.ts +52 -0
  45. package/es/Select/Option.vue.d.ts +9 -0
  46. package/es/Select/index.d.ts +48 -0
  47. package/es/Select/index.vue.d.ts +93 -0
  48. package/es/Select/types.d.ts +137 -0
  49. package/es/Select/utils.d.ts +8 -0
  50. package/es/Slider/index.d.ts +52 -0
  51. package/es/Slider/index.vue.d.ts +39 -0
  52. package/es/Slider/types.d.ts +77 -0
  53. package/es/Switch/index.d.ts +16 -0
  54. package/es/Switch/index.vue.d.ts +44 -0
  55. package/es/Switch/types.d.ts +69 -0
  56. package/es/Textarea/index.d.ts +48 -0
  57. package/es/Textarea/index.vue.d.ts +51 -0
  58. package/es/Textarea/types.d.ts +91 -0
  59. package/es/TimePicker/components/TimePanel.vue.d.ts +28 -0
  60. package/es/TimePicker/index.d.ts +39 -0
  61. package/es/TimePicker/index.vue.d.ts +57 -0
  62. package/es/TimePicker/types.d.ts +117 -0
  63. package/es/TimePicker/utils.d.ts +10 -0
  64. package/es/Transfer/index.d.ts +58 -0
  65. package/es/Transfer/index.vue.d.ts +62 -0
  66. package/es/Transfer/types.d.ts +117 -0
  67. package/es/Upload/index.d.ts +110 -0
  68. package/es/Upload/index.vue.d.ts +140 -0
  69. package/es/Upload/types.d.ts +238 -0
  70. package/es/index.d.ts +41 -0
  71. package/es/index.mjs +503 -496
  72. package/es/style.css +1 -1
  73. package/lib/index.cjs +1 -1
  74. package/lib/style.css +1 -1
  75. package/package.json +10 -10
@@ -0,0 +1,77 @@
1
+ import { ComponentSize } from '@xto/core';
2
+ /**
3
+ * Slider Props
4
+ */
5
+ export interface SliderProps {
6
+ /**
7
+ * 绑定值
8
+ */
9
+ modelValue?: number | [number, number];
10
+ /**
11
+ * 最小值
12
+ * @default 0
13
+ */
14
+ min?: number;
15
+ /**
16
+ * 最大值
17
+ * @default 100
18
+ */
19
+ max?: number;
20
+ /**
21
+ * 步长
22
+ * @default 1
23
+ */
24
+ step?: number;
25
+ /**
26
+ * 是否禁用
27
+ * @default false
28
+ */
29
+ disabled?: boolean;
30
+ /**
31
+ * 滑块尺寸
32
+ * @default 'default'
33
+ */
34
+ size?: ComponentSize;
35
+ /**
36
+ * 是否显示输入框
37
+ * @default false
38
+ */
39
+ showInput?: boolean;
40
+ /**
41
+ * 是否显示断点
42
+ * @default false
43
+ */
44
+ showStops?: boolean;
45
+ /**
46
+ * 是否显示 Tooltip
47
+ * @default true
48
+ */
49
+ showTooltip?: boolean;
50
+ /**
51
+ * 是否范围选择
52
+ * @default false
53
+ */
54
+ range?: boolean;
55
+ /**
56
+ * 是否竖向模式
57
+ * @default false
58
+ */
59
+ vertical?: boolean;
60
+ /**
61
+ * 滑块高度(竖向模式)
62
+ * @default '200px'
63
+ */
64
+ height?: string;
65
+ }
66
+ /**
67
+ * Slider Emits
68
+ */
69
+ export interface SliderEmits {
70
+ (e: 'update:modelValue', value: number | [number, number]): void;
71
+ (e: 'change', value: number | [number, number]): void;
72
+ (e: 'input', value: number | [number, number]): void;
73
+ }
74
+ /**
75
+ * Slider 组件实例类型
76
+ */
77
+ export type SliderInstance = InstanceType<typeof import('./index.vue').default>;
@@ -0,0 +1,16 @@
1
+ export interface SwitchProps {
2
+ /** Switch value */
3
+ modelValue?: boolean | number | string;
4
+ /** Whether Switch is disabled */
5
+ disabled?: boolean;
6
+ /** Switch width */
7
+ width?: number | string;
8
+ /** Active color */
9
+ activeColor?: string;
10
+ /** Inactive color */
11
+ inactiveColor?: string;
12
+ /** Active value */
13
+ activeValue?: boolean | number | string;
14
+ /** Inactive value */
15
+ inactiveValue?: boolean | number | string;
16
+ }
@@ -0,0 +1,44 @@
1
+ type __VLS_Props = {
2
+ modelValue?: boolean | number | string;
3
+ checked?: boolean | number | string;
4
+ disabled?: boolean;
5
+ width?: number | string;
6
+ activeColor?: string;
7
+ inactiveColor?: string;
8
+ activeValue?: boolean | number | string;
9
+ inactiveValue?: boolean | number | string;
10
+ };
11
+ declare function __VLS_template(): {
12
+ attrs: Partial<{}>;
13
+ slots: {
14
+ default?(_: {}): any;
15
+ };
16
+ refs: {};
17
+ rootEl: HTMLSpanElement;
18
+ };
19
+ type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
20
+ declare const __VLS_component: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
21
+ "update:modelValue": (value: string | number | boolean) => any;
22
+ change: (value: string | number | boolean) => any;
23
+ "update:checked": (value: string | number | boolean) => any;
24
+ }, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{
25
+ "onUpdate:modelValue"?: ((value: string | number | boolean) => any) | undefined;
26
+ onChange?: ((value: string | number | boolean) => any) | undefined;
27
+ "onUpdate:checked"?: ((value: string | number | boolean) => any) | undefined;
28
+ }>, {
29
+ modelValue: boolean | number | string;
30
+ disabled: boolean;
31
+ checked: boolean | number | string;
32
+ width: number | string;
33
+ activeColor: string;
34
+ inactiveColor: string;
35
+ activeValue: boolean | number | string;
36
+ inactiveValue: boolean | number | string;
37
+ }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, HTMLSpanElement>;
38
+ declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
39
+ export default _default;
40
+ type __VLS_WithTemplateSlots<T, S> = T & {
41
+ new (): {
42
+ $slots: S;
43
+ };
44
+ };
@@ -0,0 +1,69 @@
1
+ import { ComponentSize } from '@xto/core';
2
+ /**
3
+ * Switch Props
4
+ */
5
+ export interface SwitchProps {
6
+ /**
7
+ * 绑定值
8
+ */
9
+ modelValue?: boolean | string | number;
10
+ /**
11
+ * 是否禁用
12
+ * @default false
13
+ */
14
+ disabled?: boolean;
15
+ /**
16
+ * 开关尺寸
17
+ * @default 'default'
18
+ */
19
+ size?: ComponentSize;
20
+ /**
21
+ * 打开时的值
22
+ * @default true
23
+ */
24
+ activeValue?: boolean | string | number;
25
+ /**
26
+ * 关闭时的值
27
+ * @default false
28
+ */
29
+ inactiveValue?: boolean | string | number;
30
+ /**
31
+ * 打开时的文字描述
32
+ */
33
+ activeText?: string;
34
+ /**
35
+ * 关闭时的文字描述
36
+ */
37
+ inactiveText?: string;
38
+ /**
39
+ * 打开时的背景色
40
+ */
41
+ activeColor?: string;
42
+ /**
43
+ * 关闭时的背景色
44
+ */
45
+ inactiveColor?: string;
46
+ /**
47
+ * 是否显示加载中
48
+ * @default false
49
+ */
50
+ loading?: boolean;
51
+ }
52
+ /**
53
+ * Switch Emits
54
+ */
55
+ export interface SwitchEmits {
56
+ (e: 'update:modelValue', value: boolean | string | number): void;
57
+ (e: 'change', value: boolean | string | number): void;
58
+ }
59
+ /**
60
+ * Switch Expose
61
+ */
62
+ export interface SwitchExpose {
63
+ focus: () => void;
64
+ blur: () => void;
65
+ }
66
+ /**
67
+ * Switch 组件实例类型
68
+ */
69
+ export type SwitchInstance = InstanceType<typeof import('./index.vue').default>;
@@ -0,0 +1,48 @@
1
+ import { ExtractPropTypes, PropType } from 'vue';
2
+ export declare const textareaProps: {
3
+ readonly modelValue: {
4
+ readonly type: StringConstructor;
5
+ readonly default: "";
6
+ };
7
+ readonly placeholder: {
8
+ readonly type: StringConstructor;
9
+ readonly default: "";
10
+ };
11
+ readonly disabled: {
12
+ readonly type: BooleanConstructor;
13
+ readonly default: false;
14
+ };
15
+ readonly readonly: {
16
+ readonly type: BooleanConstructor;
17
+ readonly default: false;
18
+ };
19
+ readonly maxlength: {
20
+ readonly type: NumberConstructor;
21
+ readonly default: undefined;
22
+ };
23
+ readonly minlength: {
24
+ readonly type: NumberConstructor;
25
+ readonly default: undefined;
26
+ };
27
+ readonly rows: {
28
+ readonly type: NumberConstructor;
29
+ readonly default: 2;
30
+ };
31
+ readonly autosize: {
32
+ readonly type: PropType<boolean | {
33
+ minRows?: number;
34
+ maxRows?: number;
35
+ }>;
36
+ readonly default: false;
37
+ };
38
+ readonly showWordLimit: {
39
+ readonly type: BooleanConstructor;
40
+ readonly default: false;
41
+ };
42
+ readonly resize: {
43
+ readonly type: PropType<"none" | "both" | "horizontal" | "vertical">;
44
+ readonly default: "vertical";
45
+ };
46
+ };
47
+ export type TextareaProps = ExtractPropTypes<typeof textareaProps>;
48
+ export { default as Textarea } from './index.vue';
@@ -0,0 +1,51 @@
1
+ type __VLS_Props = {
2
+ modelValue?: string;
3
+ value?: string;
4
+ placeholder?: string;
5
+ disabled?: boolean;
6
+ readonly?: boolean;
7
+ maxlength?: number;
8
+ minlength?: number;
9
+ rows?: number;
10
+ autosize?: boolean | {
11
+ minRows?: number;
12
+ maxRows?: number;
13
+ };
14
+ showWordLimit?: boolean;
15
+ resize?: 'none' | 'both' | 'horizontal' | 'vertical';
16
+ };
17
+ declare const _default: import('vue').DefineComponent<__VLS_Props, {
18
+ focus: () => void;
19
+ blur: () => void;
20
+ textareaRef: import('vue').Ref<HTMLTextAreaElement | undefined, HTMLTextAreaElement | undefined>;
21
+ }, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
22
+ "update:modelValue": (value: string) => any;
23
+ "update:value": (value: string) => any;
24
+ input: (value: string) => any;
25
+ change: (value: string) => any;
26
+ focus: (event: FocusEvent) => any;
27
+ blur: (event: FocusEvent) => any;
28
+ }, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{
29
+ "onUpdate:modelValue"?: ((value: string) => any) | undefined;
30
+ "onUpdate:value"?: ((value: string) => any) | undefined;
31
+ onInput?: ((value: string) => any) | undefined;
32
+ onChange?: ((value: string) => any) | undefined;
33
+ onFocus?: ((event: FocusEvent) => any) | undefined;
34
+ onBlur?: ((event: FocusEvent) => any) | undefined;
35
+ }>, {
36
+ modelValue: string;
37
+ value: string;
38
+ placeholder: string;
39
+ disabled: boolean;
40
+ readonly: boolean;
41
+ showWordLimit: boolean;
42
+ rows: number;
43
+ autosize: boolean | {
44
+ minRows?: number;
45
+ maxRows?: number;
46
+ };
47
+ resize: "none" | "both" | "horizontal" | "vertical";
48
+ }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {
49
+ textareaRef: HTMLTextAreaElement;
50
+ }, HTMLDivElement>;
51
+ export default _default;
@@ -0,0 +1,91 @@
1
+ import { ComponentSize } from '@xto/core';
2
+ /**
3
+ * Textarea Props
4
+ */
5
+ export interface TextareaProps {
6
+ /**
7
+ * 绑定值
8
+ */
9
+ modelValue?: string;
10
+ /**
11
+ * 占位文本
12
+ */
13
+ placeholder?: string;
14
+ /**
15
+ * 是否禁用
16
+ * @default false
17
+ */
18
+ disabled?: boolean;
19
+ /**
20
+ * 是否只读
21
+ * @default false
22
+ */
23
+ readonly?: boolean;
24
+ /**
25
+ * 最大输入长度
26
+ */
27
+ maxlength?: number;
28
+ /**
29
+ * 最小输入长度
30
+ */
31
+ minlength?: number;
32
+ /**
33
+ * 是否显示字数统计
34
+ * @default false
35
+ */
36
+ showWordLimit?: boolean;
37
+ /**
38
+ * 文本域行数
39
+ * @default 2
40
+ */
41
+ rows?: number;
42
+ /**
43
+ * 文本域最小行数
44
+ */
45
+ minRows?: number;
46
+ /**
47
+ * 文本域最大行数
48
+ */
49
+ maxRows?: number;
50
+ /**
51
+ * 是否自动调整高度
52
+ * @default false
53
+ */
54
+ autosize?: boolean | {
55
+ minRows?: number;
56
+ maxRows?: number;
57
+ };
58
+ /**
59
+ * 是否可清空
60
+ * @default false
61
+ */
62
+ clearable?: boolean;
63
+ /**
64
+ * 输入框尺寸
65
+ * @default 'default'
66
+ */
67
+ size?: ComponentSize;
68
+ }
69
+ /**
70
+ * Textarea Emits
71
+ */
72
+ export interface TextareaEmits {
73
+ (e: 'update:modelValue', value: string): void;
74
+ (e: 'input', value: string): void;
75
+ (e: 'change', value: string): void;
76
+ (e: 'focus', event: FocusEvent): void;
77
+ (e: 'blur', event: FocusEvent): void;
78
+ (e: 'clear'): void;
79
+ }
80
+ /**
81
+ * Textarea Expose
82
+ */
83
+ export interface TextareaExpose {
84
+ focus: () => void;
85
+ blur: () => void;
86
+ textareaRef: HTMLTextAreaElement | undefined;
87
+ }
88
+ /**
89
+ * Textarea 组件实例类型
90
+ */
91
+ export type TextareaInstance = InstanceType<typeof import('./index.vue').default>;
@@ -0,0 +1,28 @@
1
+ type __VLS_Props = {
2
+ modelValue?: Date | null;
3
+ format?: string;
4
+ disabledHours?: () => number[];
5
+ disabledMinutes?: (hour: number) => number[];
6
+ disabledSeconds?: (hour: number, minute: number) => number[];
7
+ hourStep?: number;
8
+ minuteStep?: number;
9
+ secondStep?: number;
10
+ };
11
+ declare const _default: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
12
+ cancel: () => any;
13
+ confirm: (date: Date) => any;
14
+ }, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{
15
+ onCancel?: (() => any) | undefined;
16
+ onConfirm?: ((date: Date) => any) | undefined;
17
+ }>, {
18
+ modelValue: Date | null;
19
+ format: string;
20
+ hourStep: number;
21
+ minuteStep: number;
22
+ secondStep: number;
23
+ }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {
24
+ hourListRef: HTMLDivElement;
25
+ minuteListRef: HTMLDivElement;
26
+ secondListRef: HTMLDivElement;
27
+ }, HTMLDivElement>;
28
+ export default _default;
@@ -0,0 +1,39 @@
1
+ import { ComponentSize } from '@xto/core';
2
+ export type TimePickerType = 'time' | 'timerange';
3
+ export interface TimePickerProps {
4
+ /** 绑定值 */
5
+ modelValue?: Date | string | number | [Date | string | number, Date | string | number] | null;
6
+ /** 选择类型 */
7
+ type?: TimePickerType;
8
+ /** 占位文本 */
9
+ placeholder?: string;
10
+ /** 开始时间占位(范围选择) */
11
+ startPlaceholder?: string;
12
+ /** 结束时间占位(范围选择) */
13
+ endPlaceholder?: string;
14
+ /** 是否禁用 */
15
+ disabled?: boolean;
16
+ /** 是否只读 */
17
+ readonly?: boolean;
18
+ /** 是否可清空 */
19
+ clearable?: boolean;
20
+ /** 输入框尺寸 */
21
+ size?: ComponentSize;
22
+ /** 显示格式 */
23
+ format?: string;
24
+ /** 绑定值格式 */
25
+ valueFormat?: string;
26
+ /** 禁用小时 */
27
+ disabledHours?: () => number[];
28
+ /** 禁用分钟 */
29
+ disabledMinutes?: (hour: number) => number[];
30
+ /** 禁用秒 */
31
+ disabledSeconds?: (hour: number, minute: number) => number[];
32
+ /** 小时步长 */
33
+ hourStep?: number;
34
+ /** 分钟步长 */
35
+ minuteStep?: number;
36
+ /** 秒步长 */
37
+ secondStep?: number;
38
+ }
39
+ export { default as TimePicker } from './index.vue';
@@ -0,0 +1,57 @@
1
+ import { ComponentSize } from '@xto/core';
2
+ type TimePickerType = 'time' | 'timerange';
3
+ type __VLS_Props = {
4
+ modelValue?: Date | string | number | [Date | string | number, Date | string | number] | null;
5
+ type?: TimePickerType;
6
+ placeholder?: string;
7
+ startPlaceholder?: string;
8
+ endPlaceholder?: string;
9
+ disabled?: boolean;
10
+ readonly?: boolean;
11
+ clearable?: boolean;
12
+ size?: ComponentSize;
13
+ format?: string;
14
+ valueFormat?: string;
15
+ disabledHours?: () => number[];
16
+ disabledMinutes?: (hour: number) => number[];
17
+ disabledSeconds?: (hour: number, minute: number) => number[];
18
+ hourStep?: number;
19
+ minuteStep?: number;
20
+ secondStep?: number;
21
+ };
22
+ declare const _default: import('vue').DefineComponent<__VLS_Props, {
23
+ focus: () => void | undefined;
24
+ blur: () => void | undefined;
25
+ }, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
26
+ "update:modelValue": (value: string | Date | [string | Date, string | Date] | null) => any;
27
+ change: (value: string | Date | [string | Date, string | Date] | null) => any;
28
+ focus: (event: FocusEvent) => any;
29
+ blur: (event: FocusEvent) => any;
30
+ clear: () => any;
31
+ }, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{
32
+ "onUpdate:modelValue"?: ((value: string | Date | [string | Date, string | Date] | null) => any) | undefined;
33
+ onChange?: ((value: string | Date | [string | Date, string | Date] | null) => any) | undefined;
34
+ onFocus?: ((event: FocusEvent) => any) | undefined;
35
+ onBlur?: ((event: FocusEvent) => any) | undefined;
36
+ onClear?: (() => any) | undefined;
37
+ }>, {
38
+ modelValue: Date | string | number | [Date | string | number, Date | string | number] | null;
39
+ type: TimePickerType;
40
+ placeholder: string;
41
+ size: ComponentSize;
42
+ disabled: boolean;
43
+ readonly: boolean;
44
+ clearable: boolean;
45
+ startPlaceholder: string;
46
+ endPlaceholder: string;
47
+ format: string;
48
+ valueFormat: string;
49
+ hourStep: number;
50
+ minuteStep: number;
51
+ secondStep: number;
52
+ }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {
53
+ pickerRef: HTMLDivElement;
54
+ inputRef: HTMLInputElement;
55
+ popperRef: HTMLDivElement;
56
+ }, HTMLDivElement>;
57
+ export default _default;
@@ -0,0 +1,117 @@
1
+ import { ComponentSize } from '@xto/core';
2
+ /**
3
+ * TimePicker 类型
4
+ */
5
+ export type TimePickerType = 'time' | 'timerange';
6
+ /**
7
+ * TimePicker Props
8
+ */
9
+ export interface TimePickerProps {
10
+ /**
11
+ * 绑定值
12
+ */
13
+ modelValue?: Date | string | number | [Date | string | number, Date | string | number] | null;
14
+ /**
15
+ * 选择器类型
16
+ * @default 'time'
17
+ */
18
+ type?: TimePickerType;
19
+ /**
20
+ * 占位符
21
+ * @default '请选择时间'
22
+ */
23
+ placeholder?: string;
24
+ /**
25
+ * 开始时间占位符
26
+ * @default '开始时间'
27
+ */
28
+ startPlaceholder?: string;
29
+ /**
30
+ * 结束时间占位符
31
+ * @default '结束时间'
32
+ */
33
+ endPlaceholder?: string;
34
+ /**
35
+ * 是否禁用
36
+ * @default false
37
+ */
38
+ disabled?: boolean;
39
+ /**
40
+ * 是否只读
41
+ * @default false
42
+ */
43
+ readonly?: boolean;
44
+ /**
45
+ * 是否可清空
46
+ * @default false
47
+ */
48
+ clearable?: boolean;
49
+ /**
50
+ * 选择器尺寸
51
+ * @default 'default'
52
+ */
53
+ size?: ComponentSize;
54
+ /**
55
+ * 显示格式
56
+ * @default 'HH:mm:ss'
57
+ */
58
+ format?: string;
59
+ /**
60
+ * 值格式
61
+ */
62
+ valueFormat?: string;
63
+ /**
64
+ * 禁用小时函数
65
+ */
66
+ disabledHours?: () => number[];
67
+ /**
68
+ * 禁用分钟函数
69
+ */
70
+ disabledMinutes?: (hour: number) => number[];
71
+ /**
72
+ * 禁用秒函数
73
+ */
74
+ disabledSeconds?: (hour: number, minute: number) => number[];
75
+ /**
76
+ * 小时步长
77
+ * @default 1
78
+ */
79
+ hourStep?: number;
80
+ /**
81
+ * 分钟步长
82
+ * @default 1
83
+ */
84
+ minuteStep?: number;
85
+ /**
86
+ * 秒步长
87
+ * @default 1
88
+ */
89
+ secondStep?: number;
90
+ }
91
+ /**
92
+ * TimePicker Emits
93
+ */
94
+ export interface TimePickerEmits {
95
+ (e: 'update:modelValue', value: Date | string | [Date | string, Date | string] | null): void;
96
+ (e: 'change', value: Date | string | [Date | string, Date | string] | null): void;
97
+ (e: 'focus', event: FocusEvent): void;
98
+ (e: 'blur', event: FocusEvent): void;
99
+ (e: 'clear'): void;
100
+ }
101
+ /**
102
+ * TimePicker Expose
103
+ */
104
+ export interface TimePickerExpose {
105
+ /**
106
+ * 获取焦点
107
+ */
108
+ focus: () => void;
109
+ /**
110
+ * 失去焦点
111
+ */
112
+ blur: () => void;
113
+ }
114
+ /**
115
+ * TimePicker 组件实例类型
116
+ */
117
+ export type TimePickerInstance = InstanceType<typeof import('./index.vue').default>;
@@ -0,0 +1,10 @@
1
+ export declare function isSameTime(time1: Date, time2: Date): boolean;
2
+ export declare function isTimeInRange(time: Date, startTime: Date | null, endTime: Date | null): boolean;
3
+ export declare function formatTime(date: Date | null | undefined, format?: string): string;
4
+ export declare function parseTime(value: string | Date | number | null | undefined): Date | null;
5
+ export declare function setTime(date: Date, hours: number, minutes: number, seconds?: number): Date;
6
+ export declare function cloneTime(date: Date): Date;
7
+ export declare function generateTimeList(step?: number): number[];
8
+ export declare function generateHourList(use12Hour?: boolean): number[];
9
+ export declare function isTimeDisabled(time: Date, disabledHours?: () => number[], disabledMinutes?: (hour: number) => number[], disabledSeconds?: (hour: number, minute: number) => number[]): boolean;
10
+ export declare function padZero(num: number): string;