@manohub/ui 0.6.0

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 (169) hide show
  1. package/README.md +141 -0
  2. package/dist/components/avatar/index.d.ts +283 -0
  3. package/dist/components/avatar/index.js +167 -0
  4. package/dist/components/badge/index.d.ts +132 -0
  5. package/dist/components/badge/index.js +99 -0
  6. package/dist/components/button/index.d.ts +578 -0
  7. package/dist/components/button/index.js +191 -0
  8. package/dist/components/capsule/index.d.ts +161 -0
  9. package/dist/components/capsule/index.js +101 -0
  10. package/dist/components/card/index.d.ts +456 -0
  11. package/dist/components/card/index.js +231 -0
  12. package/dist/components/checkbox/index.d.ts +331 -0
  13. package/dist/components/checkbox/index.js +165 -0
  14. package/dist/components/code/index.d.ts +134 -0
  15. package/dist/components/code/index.js +117 -0
  16. package/dist/components/code-editor/index.d.ts +163 -0
  17. package/dist/components/code-editor/index.js +98 -0
  18. package/dist/components/collapse/index.d.ts +125 -0
  19. package/dist/components/collapse/index.js +95 -0
  20. package/dist/components/control-size.d.ts +8 -0
  21. package/dist/components/dialog/index.d.ts +224 -0
  22. package/dist/components/dialog/index.js +194 -0
  23. package/dist/components/divider/index.d.ts +64 -0
  24. package/dist/components/divider/index.js +62 -0
  25. package/dist/components/drawer/index.d.ts +226 -0
  26. package/dist/components/drawer/index.js +190 -0
  27. package/dist/components/filter/index.d.ts +391 -0
  28. package/dist/components/filter/index.js +203 -0
  29. package/dist/components/form/index.d.ts +704 -0
  30. package/dist/components/form/index.js +329 -0
  31. package/dist/components/input/index.d.ts +980 -0
  32. package/dist/components/input/index.js +334 -0
  33. package/dist/components/layout/index.d.ts +162 -0
  34. package/dist/components/layout/index.js +100 -0
  35. package/dist/components/list-view/index.d.ts +563 -0
  36. package/dist/components/list-view/index.js +221 -0
  37. package/dist/components/loading/index.d.ts +77 -0
  38. package/dist/components/loading/index.js +40 -0
  39. package/dist/components/nav/index.d.ts +293 -0
  40. package/dist/components/nav/index.js +164 -0
  41. package/dist/components/notice/index.d.ts +137 -0
  42. package/dist/components/notice/index.js +101 -0
  43. package/dist/components/notification/index.d.ts +118 -0
  44. package/dist/components/notification/index.js +99 -0
  45. package/dist/components/page/index.d.ts +276 -0
  46. package/dist/components/page/index.js +351 -0
  47. package/dist/components/page/split-resize.d.ts +42 -0
  48. package/dist/components/page/split-resize.js +36 -0
  49. package/dist/components/pagination/index.d.ts +171 -0
  50. package/dist/components/pagination/index.js +226 -0
  51. package/dist/components/panel/index.d.ts +401 -0
  52. package/dist/components/panel/index.js +193 -0
  53. package/dist/components/part-padding.d.ts +27 -0
  54. package/dist/components/part-padding.js +23 -0
  55. package/dist/components/query-state/index.d.ts +207 -0
  56. package/dist/components/query-state/index.js +181 -0
  57. package/dist/components/radio/index.d.ts +473 -0
  58. package/dist/components/radio/index.js +250 -0
  59. package/dist/components/search/index.d.ts +167 -0
  60. package/dist/components/search/index.js +105 -0
  61. package/dist/components/select/index.d.ts +252 -0
  62. package/dist/components/select/index.js +281 -0
  63. package/dist/components/skeleton/index.d.ts +88 -0
  64. package/dist/components/skeleton/index.js +56 -0
  65. package/dist/components/steps/index.d.ts +199 -0
  66. package/dist/components/steps/index.js +117 -0
  67. package/dist/components/switch/index.d.ts +150 -0
  68. package/dist/components/switch/index.js +103 -0
  69. package/dist/components/table/index.d.ts +351 -0
  70. package/dist/components/table/index.js +286 -0
  71. package/dist/components/tabs/index.d.ts +179 -0
  72. package/dist/components/tabs/index.js +153 -0
  73. package/dist/components/tabset/index.d.ts +105 -0
  74. package/dist/components/tabset/index.js +68 -0
  75. package/dist/components/tag/index.d.ts +203 -0
  76. package/dist/components/tag/index.js +144 -0
  77. package/dist/components/toast/index.d.ts +271 -0
  78. package/dist/components/toast/index.js +116 -0
  79. package/dist/components/tooltip/index.d.ts +126 -0
  80. package/dist/components/tooltip/index.js +97 -0
  81. package/dist/components/tree/index.d.ts +317 -0
  82. package/dist/components/tree/index.js +251 -0
  83. package/dist/components/upload/index.d.ts +384 -0
  84. package/dist/components/upload/index.js +172 -0
  85. package/dist/index.d.ts +63 -0
  86. package/dist/index.js +102 -0
  87. package/dist/services/base.d.ts +21 -0
  88. package/dist/services/base.js +42 -0
  89. package/dist/services/dialog.d.ts +41 -0
  90. package/dist/services/dialog.js +83 -0
  91. package/dist/services/index.d.ts +12 -0
  92. package/dist/services/loading.d.ts +21 -0
  93. package/dist/services/loading.js +41 -0
  94. package/dist/services/toast.d.ts +40 -0
  95. package/dist/services/toast.js +74 -0
  96. package/dist/styles/components/avatar.css +128 -0
  97. package/dist/styles/components/avatar.tokens.css +24 -0
  98. package/dist/styles/components/badge.css +237 -0
  99. package/dist/styles/components/button.css +454 -0
  100. package/dist/styles/components/button.tokens.css +56 -0
  101. package/dist/styles/components/capsule.css +120 -0
  102. package/dist/styles/components/capsule.tokens.css +27 -0
  103. package/dist/styles/components/card.css +192 -0
  104. package/dist/styles/components/checkbox.css +145 -0
  105. package/dist/styles/components/checkbox.tokens.css +26 -0
  106. package/dist/styles/components/code-editor.css +91 -0
  107. package/dist/styles/components/code-editor.tokens.css +24 -0
  108. package/dist/styles/components/code.css +153 -0
  109. package/dist/styles/components/code.tokens.css +29 -0
  110. package/dist/styles/components/collapse.css +62 -0
  111. package/dist/styles/components/collapse.tokens.css +20 -0
  112. package/dist/styles/components/dialog.css +106 -0
  113. package/dist/styles/components/dialog.tokens.css +24 -0
  114. package/dist/styles/components/divider.css +71 -0
  115. package/dist/styles/components/divider.tokens.css +21 -0
  116. package/dist/styles/components/drawer.css +143 -0
  117. package/dist/styles/components/drawer.tokens.css +22 -0
  118. package/dist/styles/components/filter.css +41 -0
  119. package/dist/styles/components/filter.tokens.css +14 -0
  120. package/dist/styles/components/form.css +220 -0
  121. package/dist/styles/components/form.tokens.css +15 -0
  122. package/dist/styles/components/input.css +445 -0
  123. package/dist/styles/components/input.tokens.css +41 -0
  124. package/dist/styles/components/layout.css +198 -0
  125. package/dist/styles/components/list-view.css +244 -0
  126. package/dist/styles/components/loading.css +76 -0
  127. package/dist/styles/components/loading.tokens.css +23 -0
  128. package/dist/styles/components/nav.css +48 -0
  129. package/dist/styles/components/notice.css +153 -0
  130. package/dist/styles/components/notice.tokens.css +17 -0
  131. package/dist/styles/components/notification.css +159 -0
  132. package/dist/styles/components/notification.tokens.css +37 -0
  133. package/dist/styles/components/page.css +473 -0
  134. package/dist/styles/components/pagination.css +297 -0
  135. package/dist/styles/components/pagination.tokens.css +32 -0
  136. package/dist/styles/components/panel.css +77 -0
  137. package/dist/styles/components/query-state.css +88 -0
  138. package/dist/styles/components/radio.css +271 -0
  139. package/dist/styles/components/radio.tokens.css +26 -0
  140. package/dist/styles/components/search.css +30 -0
  141. package/dist/styles/components/select.css +242 -0
  142. package/dist/styles/components/select.tokens.css +33 -0
  143. package/dist/styles/components/skeleton.css +60 -0
  144. package/dist/styles/components/skeleton.tokens.css +27 -0
  145. package/dist/styles/components/steps.css +157 -0
  146. package/dist/styles/components/steps.tokens.css +42 -0
  147. package/dist/styles/components/switch.css +165 -0
  148. package/dist/styles/components/switch.tokens.css +26 -0
  149. package/dist/styles/components/table.css +439 -0
  150. package/dist/styles/components/table.tokens.css +41 -0
  151. package/dist/styles/components/tabs.css +234 -0
  152. package/dist/styles/components/tabs.tokens.css +30 -0
  153. package/dist/styles/components/tag.css +200 -0
  154. package/dist/styles/components/tag.tokens.css +30 -0
  155. package/dist/styles/components/toast.css +150 -0
  156. package/dist/styles/components/toast.tokens.css +26 -0
  157. package/dist/styles/components/tooltip.css +89 -0
  158. package/dist/styles/components/tooltip.tokens.css +25 -0
  159. package/dist/styles/components/tree.css +139 -0
  160. package/dist/styles/components/tree.tokens.css +20 -0
  161. package/dist/styles/components/upload.css +150 -0
  162. package/dist/styles/components/upload.tokens.css +27 -0
  163. package/dist/styles/index.css +149 -0
  164. package/dist/styles/operations/collapse.css +84 -0
  165. package/dist/styles/operations/popup.css +189 -0
  166. package/dist/styles/operations/tabset.css +57 -0
  167. package/dist/utils/state-illustration.d.ts +31 -0
  168. package/dist/utils/state-illustration.js +156 -0
  169. package/package.json +62 -0
@@ -0,0 +1,473 @@
1
+ import { type PropType, type SlotsType, type VNodeChild } from 'vue';
2
+ import type { ControlSize } from '../control-size';
3
+ /**
4
+ * 单选族(一个文件三成员,对应面 `styles/components/radio.css` 的两段):
5
+ *
6
+ * - `Radio`:单个选项(原生路径的受控叶,`checked` 由使用方算)
7
+ * - `Radio.Group`:普通单选组 —— 一行一项,横排 16 / 纵排 12
8
+ * - `Radio.Card`:卡片式单选组 —— 一个选项一张卡、整卡可点
9
+ *
10
+ * **判据**:选项只有一行文字 → `Radio.Group`;选项要「标题 + 说明」且整卡可点 → `Radio.Card`;
11
+ * 要按钮形态的分组 → `Capsule`(本族不重复造按钮档)。
12
+ *
13
+ * **受控口径(族内统一)**:两个组都是「受控传 `modelValue`,不传即非受控(由 `defaultValue` 起)」,
14
+ * 选中上报 `emit('update:modelValue')`(`v-model` 落地)+ `onChange` 双走 —— 与 `Capsule` /
15
+ * `Checkbox.Group` 同一份口径,故 `v-model` 是本族的推荐写法。
16
+ *
17
+ * **单选组必须有值**:`modelValue` 与非受控初值都没给时,落到**第一个可选项**(跳过禁用项)——
18
+ * 单选语义就是必选其一,与 `Tabset` 的「缺省第一项」同口径;没有可选项(表为空或全禁用)才是空值。
19
+ * 自排插槽(`Radio.Group` 不给 `options`)时组件无从推断有哪些值,缺省值由消费方自定。
20
+ *
21
+ * 状态表达不统一是**有意的**(各自贴着自己的面):`Radio` 走原生 `input:checked + .mh-radio__box`
22
+ * (故 **input 必须紧邻框体之前**),`Radio.Card` 走卡片上的 `data-state`(卡片就是 label,圆点在卡内)。
23
+ */
24
+ export interface RadioProps {
25
+ /** 本项的值(组内唯一) */
26
+ value: string | number;
27
+ /** 选项文字(复杂内容走默认插槽) */
28
+ label?: string;
29
+ /** 原生分组名(组内同名互斥;用 `Radio.Group` 时由组下发) */
30
+ name?: string;
31
+ /** 受控选中态(用 `Radio.Group` 时由组下发) */
32
+ checked?: boolean;
33
+ /** 禁用本项 */
34
+ disabled?: boolean;
35
+ /** 尺寸档(用 `Radio.Group` 时由组下发) */
36
+ size?: ControlSize;
37
+ /** 选中变化回调(原生 change 路径) */
38
+ onChange?: (value: string | number) => void;
39
+ }
40
+ /**
41
+ * 单选(普通单选组的选项件):一行一个选项。
42
+ *
43
+ * 三源等价的选中态由样式层承担(原生 `:checked` / 组件 `[data-state]` / 静态档 `.is-*`),
44
+ * 本件只负责把原生 input 与自绘框体的顺序摆对(**input 必须在框体之前** —— 样式层靠
45
+ * `input:checked + .mh-radio__box` 选态)。
46
+ *
47
+ * @example 单用(自己管互斥)
48
+ * <Radio name="scope" value="all" label="全部" checked={v === 'all'} onChange={setV} />
49
+ */
50
+ export declare const Radio: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
51
+ value: {
52
+ type: PropType<string | number>;
53
+ required: true;
54
+ };
55
+ label: {
56
+ type: StringConstructor;
57
+ default: undefined;
58
+ };
59
+ name: {
60
+ type: StringConstructor;
61
+ default: undefined;
62
+ };
63
+ checked: {
64
+ type: PropType<boolean | undefined>;
65
+ default: undefined;
66
+ };
67
+ disabled: {
68
+ type: BooleanConstructor;
69
+ default: boolean;
70
+ };
71
+ size: {
72
+ type: PropType<ControlSize>;
73
+ default: string;
74
+ };
75
+ /** 自动聚焦 */
76
+ autofocus: {
77
+ type: BooleanConstructor;
78
+ default: boolean;
79
+ };
80
+ onChange: {
81
+ type: PropType<(value: string | number) => void>;
82
+ default: undefined;
83
+ };
84
+ }>, () => import("vue/jsx-runtime").JSX.Element, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
85
+ value: {
86
+ type: PropType<string | number>;
87
+ required: true;
88
+ };
89
+ label: {
90
+ type: StringConstructor;
91
+ default: undefined;
92
+ };
93
+ name: {
94
+ type: StringConstructor;
95
+ default: undefined;
96
+ };
97
+ checked: {
98
+ type: PropType<boolean | undefined>;
99
+ default: undefined;
100
+ };
101
+ disabled: {
102
+ type: BooleanConstructor;
103
+ default: boolean;
104
+ };
105
+ size: {
106
+ type: PropType<ControlSize>;
107
+ default: string;
108
+ };
109
+ /** 自动聚焦 */
110
+ autofocus: {
111
+ type: BooleanConstructor;
112
+ default: boolean;
113
+ };
114
+ onChange: {
115
+ type: PropType<(value: string | number) => void>;
116
+ default: undefined;
117
+ };
118
+ }>> & Readonly<{}>, {
119
+ size: ControlSize;
120
+ disabled: boolean;
121
+ name: string;
122
+ label: string;
123
+ onChange: (value: string | number) => void;
124
+ checked: boolean | undefined;
125
+ autofocus: boolean;
126
+ }, SlotsType<{
127
+ default?: () => VNodeChild;
128
+ }>, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
129
+ export interface RadioGroupOption {
130
+ label: string;
131
+ value: string | number;
132
+ disabled?: boolean;
133
+ }
134
+ export interface RadioGroupProps {
135
+ /** 选项表(给了就由本件渲染一行一项;也可改用默认插槽自己排) */
136
+ options?: RadioGroupOption[];
137
+ /** 受控值;不传即非受控(由 `defaultValue` 起,再缺省则为第一个可选项) */
138
+ modelValue?: string | number;
139
+ /** 非受控初始值(缺省 = 第一个可选项) */
140
+ defaultValue?: string | number;
141
+ /** 原生分组名(缺省自动生成,组内唯一即可) */
142
+ name?: string;
143
+ /** 纵向排列(缺省横向) */
144
+ vertical?: boolean;
145
+ /** 整组禁用 */
146
+ disabled?: boolean;
147
+ /** 尺寸档(透传给组内每一项) */
148
+ size?: ControlSize;
149
+ /** 选中变化回调(受控与非受控都会调) */
150
+ onChange?: (value: string | number) => void;
151
+ }
152
+ export type RadioCardValue = string | number;
153
+ export interface RadioCardItem {
154
+ /** 选项值(业务值,与 `modelValue` 同域) */
155
+ value: RadioCardValue;
156
+ /** 选项名(卡片标题) */
157
+ label: string;
158
+ /** 选项说明(卡片第二段文字,可缺省) */
159
+ description?: string;
160
+ /** 单项禁用 */
161
+ disabled?: boolean;
162
+ }
163
+ export interface RadioCardProps {
164
+ /** 受控值;不传即非受控(由 `defaultValue` 起,再缺省则为第一个可选项) */
165
+ modelValue?: RadioCardValue;
166
+ /** 非受控初始值(缺省 = 第一个可选项) */
167
+ defaultValue?: RadioCardValue;
168
+ /** 选项表 */
169
+ items?: RadioCardItem[];
170
+ /** 每行几个(>1 时走等宽网格;缺省 1 列堆叠) */
171
+ columns?: number;
172
+ /** 整组禁用(与单项 `disabled` 叠加) */
173
+ disabled?: boolean;
174
+ /** 选中变化回调(受控与非受控都会调) */
175
+ onChange?: (value: RadioCardValue) => void;
176
+ }
177
+ /** 单选族复合件:`Radio`(选项)+ `.Group`(普通组)+ `.Card`(卡片组) */
178
+ export declare const RadioCompound: {
179
+ new (...args: any[]): import("vue").CreateComponentPublicInstanceWithMixins<Readonly<import("vue").ExtractPropTypes<{
180
+ value: {
181
+ type: PropType<string | number>;
182
+ required: true;
183
+ };
184
+ label: {
185
+ type: StringConstructor;
186
+ default: undefined;
187
+ };
188
+ name: {
189
+ type: StringConstructor;
190
+ default: undefined;
191
+ };
192
+ checked: {
193
+ type: PropType<boolean | undefined>;
194
+ default: undefined;
195
+ };
196
+ disabled: {
197
+ type: BooleanConstructor;
198
+ default: boolean;
199
+ };
200
+ size: {
201
+ type: PropType<ControlSize>;
202
+ default: string;
203
+ };
204
+ /** 自动聚焦 */
205
+ autofocus: {
206
+ type: BooleanConstructor;
207
+ default: boolean;
208
+ };
209
+ onChange: {
210
+ type: PropType<(value: string | number) => void>;
211
+ default: undefined;
212
+ };
213
+ }>> & Readonly<{}>, () => import("vue/jsx-runtime").JSX.Element, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, import("vue").PublicProps, {
214
+ size: ControlSize;
215
+ disabled: boolean;
216
+ name: string;
217
+ label: string;
218
+ onChange: (value: string | number) => void;
219
+ checked: boolean | undefined;
220
+ autofocus: boolean;
221
+ }, true, {}, SlotsType<{
222
+ default?: () => VNodeChild;
223
+ }>, import("vue").GlobalComponents, import("vue").GlobalDirectives, string, {}, any, import("vue").ComponentProvideOptions, {
224
+ P: {};
225
+ B: {};
226
+ D: {};
227
+ C: {};
228
+ M: {};
229
+ Defaults: {};
230
+ }, Readonly<import("vue").ExtractPropTypes<{
231
+ value: {
232
+ type: PropType<string | number>;
233
+ required: true;
234
+ };
235
+ label: {
236
+ type: StringConstructor;
237
+ default: undefined;
238
+ };
239
+ name: {
240
+ type: StringConstructor;
241
+ default: undefined;
242
+ };
243
+ checked: {
244
+ type: PropType<boolean | undefined>;
245
+ default: undefined;
246
+ };
247
+ disabled: {
248
+ type: BooleanConstructor;
249
+ default: boolean;
250
+ };
251
+ size: {
252
+ type: PropType<ControlSize>;
253
+ default: string;
254
+ };
255
+ /** 自动聚焦 */
256
+ autofocus: {
257
+ type: BooleanConstructor;
258
+ default: boolean;
259
+ };
260
+ onChange: {
261
+ type: PropType<(value: string | number) => void>;
262
+ default: undefined;
263
+ };
264
+ }>> & Readonly<{}>, () => import("vue/jsx-runtime").JSX.Element, {}, {}, {}, {
265
+ size: ControlSize;
266
+ disabled: boolean;
267
+ name: string;
268
+ label: string;
269
+ onChange: (value: string | number) => void;
270
+ checked: boolean | undefined;
271
+ autofocus: boolean;
272
+ }>;
273
+ __isFragment?: never;
274
+ __isTeleport?: never;
275
+ __isSuspense?: never;
276
+ } & import("vue").ComponentOptionsBase<Readonly<import("vue").ExtractPropTypes<{
277
+ value: {
278
+ type: PropType<string | number>;
279
+ required: true;
280
+ };
281
+ label: {
282
+ type: StringConstructor;
283
+ default: undefined;
284
+ };
285
+ name: {
286
+ type: StringConstructor;
287
+ default: undefined;
288
+ };
289
+ checked: {
290
+ type: PropType<boolean | undefined>;
291
+ default: undefined;
292
+ };
293
+ disabled: {
294
+ type: BooleanConstructor;
295
+ default: boolean;
296
+ };
297
+ size: {
298
+ type: PropType<ControlSize>;
299
+ default: string;
300
+ };
301
+ /** 自动聚焦 */
302
+ autofocus: {
303
+ type: BooleanConstructor;
304
+ default: boolean;
305
+ };
306
+ onChange: {
307
+ type: PropType<(value: string | number) => void>;
308
+ default: undefined;
309
+ };
310
+ }>> & Readonly<{}>, () => import("vue/jsx-runtime").JSX.Element, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, {
311
+ size: ControlSize;
312
+ disabled: boolean;
313
+ name: string;
314
+ label: string;
315
+ onChange: (value: string | number) => void;
316
+ checked: boolean | undefined;
317
+ autofocus: boolean;
318
+ }, {}, string, SlotsType<{
319
+ default?: () => VNodeChild;
320
+ }>, import("vue").GlobalComponents, import("vue").GlobalDirectives, string, import("vue").ComponentProvideOptions> & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps & {
321
+ Group: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
322
+ options: {
323
+ type: PropType<RadioGroupOption[]>;
324
+ default: undefined;
325
+ };
326
+ modelValue: {
327
+ type: PropType<string | number | undefined>;
328
+ default: undefined;
329
+ };
330
+ defaultValue: {
331
+ type: PropType<string | number | undefined>;
332
+ default: undefined;
333
+ };
334
+ name: {
335
+ type: StringConstructor;
336
+ default: undefined;
337
+ };
338
+ vertical: {
339
+ type: BooleanConstructor;
340
+ default: boolean;
341
+ };
342
+ disabled: {
343
+ type: BooleanConstructor;
344
+ default: boolean;
345
+ };
346
+ size: {
347
+ type: PropType<ControlSize>;
348
+ default: string;
349
+ };
350
+ onChange: {
351
+ type: PropType<(value: string | number) => void>;
352
+ default: undefined;
353
+ };
354
+ }>, () => import("vue/jsx-runtime").JSX.Element, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
355
+ 'update:modelValue': (value: string | number) => true;
356
+ }, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
357
+ options: {
358
+ type: PropType<RadioGroupOption[]>;
359
+ default: undefined;
360
+ };
361
+ modelValue: {
362
+ type: PropType<string | number | undefined>;
363
+ default: undefined;
364
+ };
365
+ defaultValue: {
366
+ type: PropType<string | number | undefined>;
367
+ default: undefined;
368
+ };
369
+ name: {
370
+ type: StringConstructor;
371
+ default: undefined;
372
+ };
373
+ vertical: {
374
+ type: BooleanConstructor;
375
+ default: boolean;
376
+ };
377
+ disabled: {
378
+ type: BooleanConstructor;
379
+ default: boolean;
380
+ };
381
+ size: {
382
+ type: PropType<ControlSize>;
383
+ default: string;
384
+ };
385
+ onChange: {
386
+ type: PropType<(value: string | number) => void>;
387
+ default: undefined;
388
+ };
389
+ }>> & Readonly<{
390
+ "onUpdate:modelValue"?: ((value: string | number) => any) | undefined;
391
+ }>, {
392
+ size: ControlSize;
393
+ vertical: boolean;
394
+ disabled: boolean;
395
+ name: string;
396
+ onChange: (value: string | number) => void;
397
+ options: RadioGroupOption[];
398
+ defaultValue: string | number | undefined;
399
+ modelValue: string | number | undefined;
400
+ }, SlotsType<{
401
+ default?: (context: {
402
+ value: string | number | undefined;
403
+ select: (value: string | number) => void;
404
+ }) => VNodeChild;
405
+ }>, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
406
+ Card: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
407
+ modelValue: {
408
+ type: PropType<RadioCardValue | undefined>;
409
+ default: undefined;
410
+ };
411
+ defaultValue: {
412
+ type: PropType<RadioCardValue | undefined>;
413
+ default: undefined;
414
+ };
415
+ items: {
416
+ type: PropType<RadioCardItem[]>;
417
+ default: () => never[];
418
+ };
419
+ /** 每行几个(>1 时走等宽网格;缺省 1 列堆叠) */
420
+ columns: {
421
+ type: NumberConstructor;
422
+ default: number;
423
+ };
424
+ /** 整组禁用(与单项 `disabled` 叠加) */
425
+ disabled: {
426
+ type: BooleanConstructor;
427
+ default: boolean;
428
+ };
429
+ onChange: {
430
+ type: PropType<(value: RadioCardValue) => void>;
431
+ default: undefined;
432
+ };
433
+ }>, () => import("vue/jsx-runtime").JSX.Element, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
434
+ 'update:modelValue': (value: RadioCardValue) => true;
435
+ }, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
436
+ modelValue: {
437
+ type: PropType<RadioCardValue | undefined>;
438
+ default: undefined;
439
+ };
440
+ defaultValue: {
441
+ type: PropType<RadioCardValue | undefined>;
442
+ default: undefined;
443
+ };
444
+ items: {
445
+ type: PropType<RadioCardItem[]>;
446
+ default: () => never[];
447
+ };
448
+ /** 每行几个(>1 时走等宽网格;缺省 1 列堆叠) */
449
+ columns: {
450
+ type: NumberConstructor;
451
+ default: number;
452
+ };
453
+ /** 整组禁用(与单项 `disabled` 叠加) */
454
+ disabled: {
455
+ type: BooleanConstructor;
456
+ default: boolean;
457
+ };
458
+ onChange: {
459
+ type: PropType<(value: RadioCardValue) => void>;
460
+ default: undefined;
461
+ };
462
+ }>> & Readonly<{
463
+ "onUpdate:modelValue"?: ((value: RadioCardValue) => any) | undefined;
464
+ }>, {
465
+ disabled: boolean;
466
+ onChange: (value: RadioCardValue) => void;
467
+ defaultValue: RadioCardValue | undefined;
468
+ columns: number;
469
+ modelValue: RadioCardValue | undefined;
470
+ items: RadioCardItem[];
471
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
472
+ };
473
+ export type RadioCompoundType = typeof RadioCompound;