@sia.soul/sia-react-ui 0.1.18 → 0.1.21

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 (40) hide show
  1. package/dist/Select-4hGJt3RJ.d.cts +142 -0
  2. package/dist/Select-BNSE67xn.d.ts +142 -0
  3. package/dist/chart.d.cts +2498 -0
  4. package/dist/chart.d.ts +2498 -0
  5. package/dist/{chunk-LPRFOSRZ.js → chunk-3TRRBMXY.js} +45 -10
  6. package/dist/{chunk-JX53ZBIW.js → chunk-7RNS52YG.js} +38 -5
  7. package/dist/{chunk-SUMXP2SF.js → chunk-KLI65JVD.js} +12 -4
  8. package/dist/{chunk-I3EF5SF2.js → chunk-RWGSZW32.js} +1 -1
  9. package/dist/{chunk-UCQZZ2YC.js → chunk-VN6PIPP7.js} +2 -2
  10. package/dist/core-C5OnrCi4.d.cts +2288 -0
  11. package/dist/core-DeZknKwc.d.ts +2288 -0
  12. package/dist/core.cjs +85 -15
  13. package/dist/core.css +18 -1
  14. package/dist/core.d.cts +3 -3
  15. package/dist/core.d.ts +3 -3
  16. package/dist/core.js +3 -3
  17. package/dist/index.cjs +1812 -1571
  18. package/dist/index.css +18 -1
  19. package/dist/index.d.cts +1715 -8
  20. package/dist/index.d.ts +1715 -8
  21. package/dist/index.js +402 -238
  22. package/dist/markdown-editor.d.cts +41 -1
  23. package/dist/markdown-editor.d.ts +41 -1
  24. package/dist/rich-text-editor.cjs +11 -3
  25. package/dist/rich-text-editor.d.cts +46 -1
  26. package/dist/rich-text-editor.d.ts +46 -1
  27. package/dist/rich-text-editor.js +2 -2
  28. package/dist/{select-date-range-Bdb-hi9c.d.ts → select-date-range-CGRb3-W8.d.ts} +116 -2
  29. package/dist/{select-date-range-shDQ5uJA.d.cts → select-date-range-DDmYGDD4.d.cts} +116 -2
  30. package/dist/select-date-range.cjs +44 -9
  31. package/dist/select-date-range.d.cts +3 -3
  32. package/dist/select-date-range.d.ts +3 -3
  33. package/dist/select-date-range.js +3 -3
  34. package/dist/{shared-DAYZvZVu.d.cts → shared-Bx4B28Wh.d.cts} +3 -0
  35. package/dist/{shared-DAYZvZVu.d.ts → shared-Bx4B28Wh.d.ts} +3 -0
  36. package/package.json +1 -1
  37. package/dist/Select-CVvF4mcy.d.cts +0 -57
  38. package/dist/Select-Ce2Irbpt.d.ts +0 -57
  39. package/dist/core-AeKYVPDZ.d.cts +0 -1082
  40. package/dist/core-DcSXqSRs.d.ts +0 -1082
@@ -0,0 +1,2288 @@
1
+ import * as react from 'react';
2
+ import { ButtonHTMLAttributes, ReactNode, HTMLAttributes, CSSProperties, MouseEvent, ReactElement, ImgHTMLAttributes, InputHTMLAttributes, MouseEventHandler, AnchorHTMLAttributes } from 'react';
3
+ import { C as ControlSize, a as ControlStatus, I as InputPlaceholderMode } from './shared-Bx4B28Wh.js';
4
+ import './Select-BNSE67xn.js';
5
+
6
+ /** 按钮视觉样式,可选择主按钮、默认按钮、文本按钮或链接等形式。 */
7
+ type ButtonVariant = "primary" | "default" | "dashed" | "filled" | "text" | "link";
8
+ /** 按钮尺寸等级。 */
9
+ type ButtonSize = ControlSize;
10
+ /** 按钮的属性配置。 */
11
+ interface ButtonProps extends ButtonHTMLAttributes<HTMLButtonElement> {
12
+ /**
13
+ 组件的视觉样式。
14
+ * @defaultValue "default"
15
+ */
16
+ variant?: ButtonVariant;
17
+ /** small / medium / large 高度为 22 / 30 / 38px;默认继承 Form,组件自身 size 优先 */
18
+ size?: ButtonSize;
19
+ /**
20
+ * 显示加载状态并禁止重复点击
21
+ * @defaultValue false
22
+ */
23
+ loading?: boolean;
24
+ /**
25
+ * 宽度撑满父容器
26
+ * @defaultValue false
27
+ */
28
+ block?: boolean;
29
+ /**
30
+ * 危险操作样式
31
+ * @defaultValue false
32
+ */
33
+ danger?: boolean;
34
+ /** 按钮图标 */
35
+ icon?: ReactNode;
36
+ /**
37
+ * 图标位置
38
+ * @defaultValue "start"
39
+ */
40
+ iconPosition?: "start" | "end";
41
+ }
42
+ /** 按钮组件。 */
43
+ declare const Button: react.ForwardRefExoticComponent<ButtonProps & react.RefAttributes<HTMLButtonElement>>;
44
+
45
+ /** 卡片强调装饰的显示方式。 */
46
+ type CardAccent = "primary" | "success" | "warning" | "error";
47
+ /** 卡片的属性配置。 */
48
+ interface CardProps extends Omit<HTMLAttributes<HTMLElement>, "title"> {
49
+ /** 标题内容,可传入文本或 React 节点。 */
50
+ title?: ReactNode;
51
+ /** 补充说明内容。 */
52
+ description?: ReactNode;
53
+ /** 主体之外的补充内容或操作区。 */
54
+ extra?: ReactNode;
55
+ /** 强调装饰样式。 */
56
+ accent?: CardAccent;
57
+ /** 强调装饰的颜色。 */
58
+ accentColor?: string;
59
+ /**
60
+ * 允许收起内容区域
61
+ * @defaultValue false
62
+ */
63
+ collapsible?: boolean;
64
+ /** 是否收起;传入后由外部控制。 */
65
+ collapsed?: boolean;
66
+ /**
67
+ * 非受控模式的初始收起状态。
68
+ * @defaultValue false
69
+ */
70
+ defaultCollapsed?: boolean;
71
+ /** 收起状态变化回调 */
72
+ onCollapsedChange?: (collapsed: boolean) => void;
73
+ /** 固定内容区高度并开启内部滚动 */
74
+ bodyHeight?: number | string;
75
+ /**
76
+ * 内容区域的 CSS 类名。
77
+ * @defaultValue ""
78
+ */
79
+ bodyClassName?: string;
80
+ /** 内容区域的内联样式。 */
81
+ bodyStyle?: CSSProperties;
82
+ }
83
+ /** 卡片组件。 */
84
+ declare function Card({ title, description, extra, accent, accentColor, collapsible, collapsed, defaultCollapsed, onCollapsedChange, bodyHeight, bodyClassName, bodyStyle, className, style, children, ...props }: CardProps): react.JSX.Element;
85
+
86
+ declare const iconPaths: {
87
+ "notepad-file": react.JSX.Element;
88
+ "notepad-folder": react.JSX.Element;
89
+ "notepad-virtual-folder": react.JSX.Element;
90
+ "step-backward": react.JSX.Element;
91
+ "step-forward": react.JSX.Element;
92
+ "fast-backward": react.JSX.Element;
93
+ "fast-forward": react.JSX.Element;
94
+ "corner-up-left": react.JSX.Element;
95
+ "corner-up-right": react.JSX.Element;
96
+ "swap-horizontal": react.JSX.Element;
97
+ "swap-vertical": react.JSX.Element;
98
+ expand: react.JSX.Element;
99
+ shrink: react.JSX.Element;
100
+ fullscreen: react.JSX.Element;
101
+ "fullscreen-exit": react.JSX.Element;
102
+ "menu-fold": react.JSX.Element;
103
+ "menu-unfold": react.JSX.Element;
104
+ login: react.JSX.Element;
105
+ logout: react.JSX.Element;
106
+ move: react.JSX.Element;
107
+ "vertical-align-top": react.JSX.Element;
108
+ "vertical-align-middle": react.JSX.Element;
109
+ "vertical-align-bottom": react.JSX.Element;
110
+ "square-plus": react.JSX.Element;
111
+ "square-minus": react.JSX.Element;
112
+ "square-check": react.JSX.Element;
113
+ "square-close": react.JSX.Element;
114
+ "tab-plus": react.JSX.Element;
115
+ "folder-plus": react.JSX.Element;
116
+ pin: react.JSX.Element;
117
+ "pin-off": react.JSX.Element;
118
+ stop: react.JSX.Element;
119
+ "help-circle": react.JSX.Element;
120
+ save: react.JSX.Element;
121
+ clipboard: react.JSX.Element;
122
+ "clipboard-check": react.JSX.Element;
123
+ "file-plus": react.JSX.Element;
124
+ "file-check": react.JSX.Element;
125
+ "file-warning": react.JSX.Element;
126
+ "file-spreadsheet": react.JSX.Element;
127
+ "align-left": react.JSX.Element;
128
+ "align-center": react.JSX.Element;
129
+ "align-right": react.JSX.Element;
130
+ "align-justify": react.JSX.Element;
131
+ bold: react.JSX.Element;
132
+ italic: react.JSX.Element;
133
+ underline: react.JSX.Element;
134
+ strikethrough: react.JSX.Element;
135
+ "list-ordered": react.JSX.Element;
136
+ "list-unordered": react.JSX.Element;
137
+ eraser: react.JSX.Element;
138
+ highlighter: react.JSX.Element;
139
+ table: react.JSX.Element;
140
+ columns: react.JSX.Element;
141
+ rows: react.JSX.Element;
142
+ "bar-chart": react.JSX.Element;
143
+ "line-chart": react.JSX.Element;
144
+ "pie-chart": react.JSX.Element;
145
+ "area-chart": react.JSX.Element;
146
+ activity: react.JSX.Element;
147
+ "trending-up": react.JSX.Element;
148
+ "trending-down": react.JSX.Element;
149
+ database: react.JSX.Element;
150
+ cloud: react.JSX.Element;
151
+ "cloud-download": react.JSX.Element;
152
+ "cloud-upload": react.JSX.Element;
153
+ server: react.JSX.Element;
154
+ desktop: react.JSX.Element;
155
+ laptop: react.JSX.Element;
156
+ mobile: react.JSX.Element;
157
+ tablet: react.JSX.Element;
158
+ printer: react.JSX.Element;
159
+ camera: react.JSX.Element;
160
+ video: react.JSX.Element;
161
+ microphone: react.JSX.Element;
162
+ "volume-up": react.JSX.Element;
163
+ "volume-off": react.JSX.Element;
164
+ "speaker-wave": react.JSX.Element;
165
+ "speaker-muted": react.JSX.Element;
166
+ wifi: react.JSX.Element;
167
+ power: react.JSX.Element;
168
+ key: react.JSX.Element;
169
+ shield: react.JSX.Element;
170
+ "shield-check": react.JSX.Element;
171
+ bug: react.JSX.Element;
172
+ bulb: react.JSX.Element;
173
+ rocket: react.JSX.Element;
174
+ target: react.JSX.Element;
175
+ trophy: react.JSX.Element;
176
+ "shopping-cart": react.JSX.Element;
177
+ "shopping-bag": react.JSX.Element;
178
+ shop: react.JSX.Element;
179
+ wallet: react.JSX.Element;
180
+ bank: react.JSX.Element;
181
+ calculator: react.JSX.Element;
182
+ tag: react.JSX.Element;
183
+ tags: react.JSX.Element;
184
+ message: react.JSX.Element;
185
+ comments: react.JSX.Element;
186
+ send: react.JSX.Element;
187
+ share: react.JSX.Element;
188
+ paperclip: react.JSX.Element;
189
+ location: react.JSX.Element;
190
+ compass: react.JSX.Element;
191
+ car: react.JSX.Element;
192
+ truck: react.JSX.Element;
193
+ gift: react.JSX.Element;
194
+ coffee: react.JSX.Element;
195
+ experiment: react.JSX.Element;
196
+ tool: react.JSX.Element;
197
+ appstore: react.JSX.Element;
198
+ puzzle: react.JSX.Element;
199
+ partition: react.JSX.Element;
200
+ branches: react.JSX.Element;
201
+ scan: react.JSX.Element;
202
+ "qr-code": react.JSX.Element;
203
+ barcode: react.JSX.Element;
204
+ "user-plus": react.JSX.Element;
205
+ "user-minus": react.JSX.Element;
206
+ smile: react.JSX.Element;
207
+ meh: react.JSX.Element;
208
+ frown: react.JSX.Element;
209
+ "game-cultivator": react.JSX.Element;
210
+ "game-swordsman": react.JSX.Element;
211
+ "game-spirit-wolf": react.JSX.Element;
212
+ "game-gem": react.JSX.Element;
213
+ "game-ingot": react.JSX.Element;
214
+ "game-sword": react.JSX.Element;
215
+ "game-robe": react.JSX.Element;
216
+ "game-pants": react.JSX.Element;
217
+ "game-pendant": react.JSX.Element;
218
+ "game-necklace": react.JSX.Element;
219
+ "game-pill": react.JSX.Element;
220
+ "game-potion": react.JSX.Element;
221
+ "game-elixir-jar": react.JSX.Element;
222
+ "game-flame": react.JSX.Element;
223
+ "game-soul-elixir": react.JSX.Element;
224
+ "game-herb": react.JSX.Element;
225
+ "game-meditate": react.JSX.Element;
226
+ "game-backpack": react.JSX.Element;
227
+ "game-qi": react.JSX.Element;
228
+ search: react.JSX.Element;
229
+ plus: react.JSX.Element;
230
+ minus: react.JSX.Element;
231
+ close: react.JSX.Element;
232
+ check: react.JSX.Element;
233
+ info: react.JSX.Element;
234
+ question: react.JSX.Element;
235
+ warning: react.JSX.Element;
236
+ "circle-check": react.JSX.Element;
237
+ "circle-close": react.JSX.Element;
238
+ "circle-plus": react.JSX.Element;
239
+ "circle-minus": react.JSX.Element;
240
+ "chevron-left": react.JSX.Element;
241
+ "chevron-right": react.JSX.Element;
242
+ "chevron-up": react.JSX.Element;
243
+ "chevron-down": react.JSX.Element;
244
+ "double-left": react.JSX.Element;
245
+ "double-right": react.JSX.Element;
246
+ "arrow-left": react.JSX.Element;
247
+ "arrow-right": react.JSX.Element;
248
+ "arrow-up": react.JSX.Element;
249
+ "arrow-down": react.JSX.Element;
250
+ menu: react.JSX.Element;
251
+ "more-horizontal": react.JSX.Element;
252
+ "more-vertical": react.JSX.Element;
253
+ home: react.JSX.Element;
254
+ user: react.JSX.Element;
255
+ users: react.JSX.Element;
256
+ settings: react.JSX.Element;
257
+ edit: react.JSX.Element;
258
+ copy: react.JSX.Element;
259
+ trash: react.JSX.Element;
260
+ scissors: react.JSX.Element;
261
+ undo: react.JSX.Element;
262
+ redo: react.JSX.Element;
263
+ "zoom-in": react.JSX.Element;
264
+ "zoom-out": react.JSX.Element;
265
+ download: react.JSX.Element;
266
+ upload: react.JSX.Element;
267
+ refresh: react.JSX.Element;
268
+ loader: react.JSX.Element;
269
+ calendar: react.JSX.Element;
270
+ clock: react.JSX.Element;
271
+ mail: react.JSX.Element;
272
+ phone: react.JSX.Element;
273
+ link: react.JSX.Element;
274
+ "external-link": react.JSX.Element;
275
+ eye: react.JSX.Element;
276
+ "eye-off": react.JSX.Element;
277
+ lock: react.JSX.Element;
278
+ unlock: react.JSX.Element;
279
+ bell: react.JSX.Element;
280
+ star: react.JSX.Element;
281
+ heart: react.JSX.Element;
282
+ file: react.JSX.Element;
283
+ folder: react.JSX.Element;
284
+ image: react.JSX.Element;
285
+ filter: react.JSX.Element;
286
+ "sort-ascending": react.JSX.Element;
287
+ "sort-descending": react.JSX.Element;
288
+ play: react.JSX.Element;
289
+ pause: react.JSX.Element;
290
+ book: react.JSX.Element;
291
+ component: react.JSX.Element;
292
+ token: react.JSX.Element;
293
+ sun: react.JSX.Element;
294
+ moon: react.JSX.Element;
295
+ code: react.JSX.Element;
296
+ github: react.JSX.Element;
297
+ };
298
+ /** 可用的线框图标名称。 */
299
+ type IconName = keyof typeof iconPaths;
300
+ /** 可用线框图标名称集合。 */
301
+ declare const ICON_NAMES: readonly ("warning" | "link" | "copy" | "move" | "zoom-in" | "zoom-out" | "table" | "italic" | "bold" | "underline" | "menu" | "search" | "send" | "notepad-file" | "notepad-folder" | "notepad-virtual-folder" | "step-backward" | "step-forward" | "fast-backward" | "fast-forward" | "corner-up-left" | "corner-up-right" | "swap-horizontal" | "swap-vertical" | "expand" | "shrink" | "fullscreen" | "fullscreen-exit" | "menu-fold" | "menu-unfold" | "login" | "logout" | "vertical-align-top" | "vertical-align-middle" | "vertical-align-bottom" | "square-plus" | "square-minus" | "square-check" | "square-close" | "tab-plus" | "folder-plus" | "pin" | "pin-off" | "stop" | "help-circle" | "save" | "clipboard" | "clipboard-check" | "file-plus" | "file-check" | "file-warning" | "file-spreadsheet" | "align-left" | "align-center" | "align-right" | "align-justify" | "strikethrough" | "list-ordered" | "list-unordered" | "eraser" | "highlighter" | "columns" | "rows" | "bar-chart" | "line-chart" | "pie-chart" | "area-chart" | "activity" | "trending-up" | "trending-down" | "database" | "cloud" | "cloud-download" | "cloud-upload" | "server" | "desktop" | "laptop" | "mobile" | "tablet" | "printer" | "camera" | "video" | "microphone" | "volume-up" | "volume-off" | "speaker-wave" | "speaker-muted" | "wifi" | "power" | "key" | "shield" | "shield-check" | "bug" | "bulb" | "rocket" | "target" | "trophy" | "shopping-cart" | "shopping-bag" | "shop" | "wallet" | "bank" | "calculator" | "tag" | "tags" | "message" | "comments" | "share" | "paperclip" | "location" | "compass" | "car" | "truck" | "gift" | "coffee" | "experiment" | "tool" | "appstore" | "puzzle" | "partition" | "branches" | "scan" | "qr-code" | "barcode" | "user-plus" | "user-minus" | "smile" | "meh" | "frown" | "game-cultivator" | "game-swordsman" | "game-spirit-wolf" | "game-gem" | "game-ingot" | "game-sword" | "game-robe" | "game-pants" | "game-pendant" | "game-necklace" | "game-pill" | "game-potion" | "game-elixir-jar" | "game-flame" | "game-soul-elixir" | "game-herb" | "game-meditate" | "game-backpack" | "game-qi" | "plus" | "minus" | "close" | "check" | "info" | "question" | "circle-check" | "circle-close" | "circle-plus" | "circle-minus" | "chevron-left" | "chevron-right" | "chevron-up" | "chevron-down" | "double-left" | "double-right" | "arrow-left" | "arrow-right" | "arrow-up" | "arrow-down" | "more-horizontal" | "more-vertical" | "home" | "user" | "users" | "settings" | "edit" | "trash" | "scissors" | "undo" | "redo" | "download" | "upload" | "refresh" | "loader" | "calendar" | "clock" | "mail" | "phone" | "external-link" | "eye" | "eye-off" | "lock" | "unlock" | "bell" | "star" | "heart" | "file" | "folder" | "image" | "filter" | "sort-ascending" | "sort-descending" | "play" | "pause" | "book" | "component" | "token" | "sun" | "moon" | "code" | "github")[];
302
+ declare const filledIconPaths: {
303
+ info: react.JSX.Element;
304
+ question: react.JSX.Element;
305
+ warning: react.JSX.Element;
306
+ "circle-check": react.JSX.Element;
307
+ "circle-close": react.JSX.Element;
308
+ "circle-plus": react.JSX.Element;
309
+ "circle-minus": react.JSX.Element;
310
+ home: react.JSX.Element;
311
+ user: react.JSX.Element;
312
+ users: react.JSX.Element;
313
+ trash: react.JSX.Element;
314
+ bell: react.JSX.Element;
315
+ star: react.JSX.Element;
316
+ heart: react.JSX.Element;
317
+ mail: react.JSX.Element;
318
+ lock: react.JSX.Element;
319
+ unlock: react.JSX.Element;
320
+ calendar: react.JSX.Element;
321
+ clock: react.JSX.Element;
322
+ file: react.JSX.Element;
323
+ folder: react.JSX.Element;
324
+ image: react.JSX.Element;
325
+ filter: react.JSX.Element;
326
+ play: react.JSX.Element;
327
+ pause: react.JSX.Element;
328
+ book: react.JSX.Element;
329
+ component: react.JSX.Element;
330
+ token: react.JSX.Element;
331
+ };
332
+ /** 可用的填充图标名称。 */
333
+ type FilledIconName = keyof typeof filledIconPaths;
334
+ /** 图标采用线框还是填充样式。 */
335
+ type IconVariant = "outline" | "filled";
336
+ /** 可用填充图标名称集合。 */
337
+ declare const FILLED_ICON_NAMES: readonly ("warning" | "info" | "question" | "circle-check" | "circle-close" | "circle-plus" | "circle-minus" | "home" | "user" | "users" | "trash" | "calendar" | "clock" | "mail" | "lock" | "unlock" | "bell" | "star" | "heart" | "file" | "folder" | "image" | "filter" | "play" | "pause" | "book" | "component" | "token")[];
338
+ /** 图标的属性配置。 */
339
+ interface IconProps extends Omit<HTMLAttributes<HTMLSpanElement>, "children"> {
340
+ /** 名称或字段标识。 */
341
+ name: IconName;
342
+ /**
343
+ * 组件尺寸;用于调整控件高度、字号和间距。
344
+ * @defaultValue "1em"
345
+ */
346
+ size?: number | string;
347
+ /**
348
+ * 描边或进度轨道粗细。
349
+ * @defaultValue 1.8
350
+ */
351
+ strokeWidth?: number;
352
+ /**
353
+ * 旋转角度。
354
+ * @defaultValue 0
355
+ */
356
+ rotate?: number;
357
+ /**
358
+ * 是否显示持续旋转动画。
359
+ * @defaultValue false
360
+ */
361
+ spin?: boolean;
362
+ /**
363
+ * 是否显示脉冲动画。
364
+ * @defaultValue false
365
+ */
366
+ pulse?: boolean;
367
+ /** 展示给用户的名称,可传入文本或 React 节点。 */
368
+ label?: string;
369
+ /**
370
+ 组件的视觉样式。
371
+ * @defaultValue "outline"
372
+ */
373
+ variant?: IconVariant;
374
+ }
375
+ /** 图标组件。 */
376
+ declare const Icon: react.ForwardRefExoticComponent<IconProps & react.RefAttributes<HTMLSpanElement>>;
377
+
378
+ /** 标签的状态类型。 */
379
+ type TagStatus = "default" | "success" | "processing" | "warning" | "error";
380
+ /** 标签的视觉样式。 */
381
+ type TagVariant = "soft" | "outlined" | "filled";
382
+ /** 标签的属性配置。 */
383
+ interface TagProps extends HTMLAttributes<HTMLSpanElement> {
384
+ /**
385
+ * 语义状态
386
+ * @defaultValue "default"
387
+ */
388
+ status?: TagStatus;
389
+ /**
390
+ * 紧凑尺寸
391
+ * @defaultValue false
392
+ */
393
+ compact?: boolean;
394
+ /**
395
+ 组件的视觉样式。
396
+ * @defaultValue "soft"
397
+ */
398
+ variant?: TagVariant;
399
+ /** 标签前置图标 */
400
+ icon?: ReactNode;
401
+ /**
402
+ * 是否显示关闭入口。
403
+ * @defaultValue false
404
+ */
405
+ closable?: boolean;
406
+ /** 悬停或键盘聚焦时展开关闭按钮。 */
407
+ closeOnHover?: boolean;
408
+ /**
409
+ * 禁用关闭操作
410
+ * @defaultValue false
411
+ */
412
+ disabled?: boolean;
413
+ /** 请求关闭时触发的回调。 */
414
+ onClose?: (event: MouseEvent<HTMLButtonElement>) => void;
415
+ }
416
+ /** 标签组件。 */
417
+ declare function Tag({ status, compact, variant, icon, closable, closeOnHover, disabled, onClose, className, children, ...props }: TagProps): react.JSX.Element;
418
+
419
+ /** 菜单的模式类型。 */
420
+ type MenuMode = "vertical" | "horizontal" | "inline";
421
+ /** 菜单的亮色或暗色主题。 */
422
+ type MenuTheme = "light" | "dark";
423
+ /** 菜单的项目定义。 */
424
+ type MenuItem = {
425
+ /** 唯一标识;同一集合内应保持唯一且稳定,用于定位、渲染和状态关联。 */
426
+ key: string;
427
+ /** 展示给用户的名称,可传入文本或 React 节点。 */
428
+ label?: ReactNode;
429
+ /** 显示在内容旁的图标节点,建议使用 Icon 组件。 */
430
+ icon?: ReactNode;
431
+ /** 主体之外的补充内容或操作区。 */
432
+ extra?: ReactNode;
433
+ /** 标题内容,可传入文本或 React 节点。 */
434
+ title?: string;
435
+ /** 是否禁用交互。 */
436
+ disabled?: boolean;
437
+ /** 危险操作样式 */
438
+ danger?: boolean;
439
+ /** 类型标识,用于选择对应的表现形式。 */
440
+ type?: "item" | "group" | "divider";
441
+ /** 子内容;组件嵌套内容或当前节点的子项。 */
442
+ children?: readonly MenuItem[];
443
+ };
444
+ /** 菜单的点击事件上下文。 */
445
+ type MenuClickInfo = {
446
+ /** 唯一标识;同一集合内应保持唯一且稳定,用于定位、渲染和状态关联。 */
447
+ key: string;
448
+ /** 从当前项目到祖先项目的标识路径。 */
449
+ keyPath: string[];
450
+ /** 触发本次操作的 React 鼠标事件。 */
451
+ domEvent: React.MouseEvent;
452
+ /** 本次操作关联的项目配置。 */
453
+ item: MenuItem;
454
+ };
455
+ /** 菜单的属性配置。 */
456
+ interface MenuProps extends Omit<HTMLAttributes<HTMLUListElement>, "onClick" | "onSelect"> {
457
+ /** 按展示顺序排列的项目配置。 */
458
+ items: readonly MenuItem[];
459
+ /**
460
+ * 展示或交互模式;可选值见类型定义。
461
+ * @defaultValue "vertical"
462
+ */
463
+ mode?: MenuMode;
464
+ /**
465
+ 组件的配色主题。
466
+ * @defaultValue "light"
467
+ */
468
+ theme?: MenuTheme;
469
+ /** 当前选中项目的标识集合;传入后由外部控制。 */
470
+ selectedKeys?: readonly string[];
471
+ /**
472
+ * 非受控模式下初始选中的项目标识集合。
473
+ * @defaultValue []
474
+ */
475
+ defaultSelectedKeys?: readonly string[];
476
+ /** 当前展开的子菜单标识集合。 */
477
+ openKeys?: readonly string[];
478
+ /**
479
+ * 初始展开的子菜单标识集合。
480
+ * @defaultValue []
481
+ */
482
+ defaultOpenKeys?: readonly string[];
483
+ /**
484
+ 是否允许同时选择多个项目。
485
+ * @defaultValue false
486
+ */
487
+ multiple?: boolean;
488
+ /**
489
+ * 是否允许选中项目。
490
+ * @defaultValue true
491
+ */
492
+ selectable?: boolean;
493
+ /**
494
+ * 收起内嵌菜单
495
+ * @defaultValue false
496
+ */
497
+ inlineCollapsed?: boolean;
498
+ /**
499
+ * 内嵌子菜单每增加一级时增加的缩进,单位为像素。
500
+ * @defaultValue 20
501
+ */
502
+ inlineIndent?: number;
503
+ /**
504
+ * 打开子菜单的方式:hover 为悬停,click 为点击。
505
+ * @defaultValue "click"
506
+ */
507
+ triggerSubMenuAction?: "hover" | "click";
508
+ /** 点击时触发,参数为当前点击事件或项目上下文。 */
509
+ onClick?: (info: MenuClickInfo) => void;
510
+ /** 选中项目时调用,参数包含选中项目及关联状态。 */
511
+ onSelect?: (info: MenuClickInfo & {
512
+ /** 当前选中项目的标识集合;传入后由外部控制。 */
513
+ selectedKeys: string[];
514
+ }) => void;
515
+ /** 取消选中项目时调用。 */
516
+ onDeselect?: (info: MenuClickInfo & {
517
+ /** 当前选中项目的标识集合;传入后由外部控制。 */
518
+ selectedKeys: string[];
519
+ }) => void;
520
+ /** 打开状态改变时触发,参数为新的打开状态。 */
521
+ onOpenChange?: (keys: string[]) => void;
522
+ }
523
+ /** 菜单组件。 */
524
+ declare function Menu({ items, mode, theme, selectedKeys, defaultSelectedKeys, openKeys, defaultOpenKeys, multiple, selectable, inlineCollapsed, inlineIndent, triggerSubMenuAction, onClick, onSelect, onDeselect, onOpenChange, className, ...rest }: MenuProps): react.JSX.Element;
525
+ /** Step的状态类型。 */
526
+ type StepStatus = "wait" | "process" | "finish" | "error";
527
+ /** Step的项目定义。 */
528
+ type StepItem = {
529
+ /** 标题内容,可传入文本或 React 节点。 */
530
+ title: ReactNode;
531
+ /** 补充说明内容。 */
532
+ description?: ReactNode;
533
+ /** 主标题旁的次级标题。 */
534
+ subTitle?: ReactNode;
535
+ /** 显示在内容旁的图标节点,建议使用 Icon 组件。 */
536
+ icon?: ReactNode;
537
+ /** 当前状态,用于选择对应的状态样式。 */
538
+ status?: StepStatus;
539
+ /** 是否禁用交互。 */
540
+ disabled?: boolean;
541
+ };
542
+ /** 步骤条的属性配置。 */
543
+ interface StepsProps extends Omit<HTMLAttributes<HTMLDivElement>, "onChange"> {
544
+ /** 按展示顺序排列的项目配置。 */
545
+ items: readonly StepItem[];
546
+ /**
547
+ 当前步骤索引,从 0 开始。
548
+ * @defaultValue 0
549
+ */
550
+ current?: number;
551
+ /**
552
+ * 起始步骤的编号偏移。
553
+ * @defaultValue 0
554
+ */
555
+ initial?: number;
556
+ /**
557
+ 排列或展示方向。
558
+ * @defaultValue "horizontal"
559
+ */
560
+ direction?: "horizontal" | "vertical";
561
+ /**
562
+ * 类型标识,用于选择对应的表现形式。
563
+ * @defaultValue "default"
564
+ */
565
+ type?: "default" | "navigation" | "dot";
566
+ /**
567
+ * 组件尺寸;用于调整控件高度、字号和间距。
568
+ * @defaultValue "default"
569
+ */
570
+ size?: "default" | "small";
571
+ /**
572
+ * 当前状态,用于选择对应的状态样式。
573
+ * @defaultValue "process"
574
+ */
575
+ status?: "process" | "error";
576
+ /**
577
+ * 是否以点状指示步骤,可传入自定义渲染函数。
578
+ * @defaultValue false
579
+ */
580
+ progressDot?: boolean | ((dot: ReactNode, info: {
581
+ /** 项目在当前集合中的索引,从 0 开始。 */
582
+ index: number;
583
+ /**
584
+ * 当前状态,用于选择对应的状态样式。
585
+ * @defaultValue "process"
586
+ */
587
+ status: StepStatus;
588
+ /** 标题内容,可传入文本或 React 节点。 */
589
+ title: ReactNode;
590
+ /** 补充说明内容。 */
591
+ description?: ReactNode;
592
+ }) => ReactNode);
593
+ /** 值发生变化时调用;参数为新值及类型声明中列出的关联信息。 */
594
+ onChange?: (current: number) => void;
595
+ }
596
+ /** 步骤条组件。 */
597
+ declare function Steps({ items, current, initial, direction, type, size, status, progressDot, onChange, className, ...props }: StepsProps): react.JSX.Element;
598
+ /** 分段选择的值类型。 */
599
+ type SegmentedValue = string | number;
600
+ /** 分段选择的候选项定义。 */
601
+ type SegmentedOption = SegmentedValue | {
602
+ /** 展示给用户的名称,可传入文本或 React 节点。 */
603
+ label?: ReactNode;
604
+ /** 该项目对应的数据值,用于标识、选择或计算。 */
605
+ value: SegmentedValue;
606
+ /** 显示在内容旁的图标节点,建议使用 Icon 组件。 */
607
+ icon?: ReactNode;
608
+ /** 是否禁用交互。 */
609
+ disabled?: boolean;
610
+ /** 标题内容,可传入文本或 React 节点。 */
611
+ title?: string;
612
+ };
613
+ /** 分段选择的属性配置。 */
614
+ interface SegmentedProps extends Omit<HTMLAttributes<HTMLDivElement>, "defaultValue" | "onChange"> {
615
+ /** 可供用户选择的候选项列表。 */
616
+ options: readonly SegmentedOption[];
617
+ /** 当前值;作为受控属性时,需要在变更回调中同步更新。 */
618
+ value?: SegmentedValue;
619
+ /** 非受控模式的初始值,仅在初始化时使用。 */
620
+ defaultValue?: SegmentedValue;
621
+ /** 组件尺寸;用于调整控件高度、字号和间距。 */
622
+ size?: "small" | "medium" | "large";
623
+ /**
624
+ * 宽度撑满父容器
625
+ * @defaultValue false
626
+ */
627
+ block?: boolean;
628
+ /**
629
+ * 是否使用垂直布局。
630
+ * @defaultValue false
631
+ */
632
+ vertical?: boolean;
633
+ /**
634
+ * 是否禁用交互。
635
+ * @defaultValue false
636
+ */
637
+ disabled?: boolean;
638
+ /** 值发生变化时调用;参数为新值及类型声明中列出的关联信息。 */
639
+ onChange?: (value: SegmentedValue) => void;
640
+ }
641
+ /** 分段选择组件。 */
642
+ declare function Segmented({ options, value, defaultValue, size: sizeProp, block, vertical, disabled, onChange, className, onKeyDown, ...props }: SegmentedProps): react.JSX.Element;
643
+
644
+ /** Tab的项目定义。 */
645
+ interface TabItem {
646
+ /** 唯一标识;同一集合内应保持唯一且稳定,用于定位、渲染和状态关联。 */
647
+ key: string;
648
+ /** 展示给用户的名称,可传入文本或 React 节点。 */
649
+ label: ReactNode;
650
+ /** 子内容;组件嵌套内容或当前节点的子项。 */
651
+ children?: ReactNode;
652
+ /** 是否禁用交互。 */
653
+ disabled?: boolean;
654
+ /** 显示在内容旁的图标节点,建议使用 Icon 组件。 */
655
+ icon?: ReactNode;
656
+ /** 是否显示关闭入口。 */
657
+ closable?: boolean;
658
+ }
659
+ /** 选项卡的类型标识。 */
660
+ type TabsType = "line" | "card" | "pill" | "capsule" | "underline" | "tech" | "tech-line";
661
+ /** 选项卡沿水平方向或垂直方向排列。 */
662
+ type TabsOrientation = "horizontal" | "vertical";
663
+ /** 选项卡导航相对于内容区的位置。 */
664
+ type TabsPosition = "top" | "right" | "bottom" | "left";
665
+ /** TabsContextMenu的点击事件上下文。 */
666
+ type TabsContextMenuClickInfo = MenuClickInfo & {
667
+ /** 关联选项卡的唯一标识。 */
668
+ tabKey: string;
669
+ /** 当前选项卡配置。 */
670
+ tab: TabItem;
671
+ };
672
+ /** 选项卡的属性配置。 */
673
+ interface TabsProps extends Omit<HTMLAttributes<HTMLDivElement>, "onChange"> {
674
+ /** 标签项,包含 key、label、children、icon、disabled 和 closable */
675
+ items: readonly TabItem[];
676
+ /** 当前激活项目的标识;传入后由外部控制。 */
677
+ activeKey?: string;
678
+ /** 非受控模式下初始激活的项目标识。 */
679
+ defaultActiveKey?: string;
680
+ /** 激活项变化回调 */
681
+ onChange?: (key: string) => void;
682
+ /**
683
+ * 线型、卡片型、胶囊型、圆角胶囊、紧凑下划线或科技样式
684
+ * @defaultValue "line"
685
+ */
686
+ type?: TabsType;
687
+ /**
688
+ * 组件尺寸;用于调整控件高度、字号和间距。
689
+ * @defaultValue "medium"
690
+ */
691
+ size?: ControlSize;
692
+ /** 标签栏位于内容的上、右、下或左侧 */
693
+ tabPosition?: TabsPosition;
694
+ /**
695
+ 组件的水平或垂直排列方向。
696
+ * @defaultValue "horizontal"
697
+ */
698
+ orientation?: TabsOrientation;
699
+ /**
700
+ * 弹框是否垂直居中。
701
+ * @defaultValue false
702
+ */
703
+ centered?: boolean;
704
+ /** 标签栏左侧标题,科技大屏型会附带装饰线 */
705
+ tabBarTitle?: ReactNode;
706
+ /** 标签栏右侧额外操作 */
707
+ tabBarExtraContent?: ReactNode;
708
+ /**
709
+ * 是否卸载非激活面板
710
+ * @defaultValue true
711
+ */
712
+ destroyInactiveTabPane?: boolean;
713
+ /**
714
+ * 是否显示关闭入口。
715
+ * @defaultValue false
716
+ */
717
+ closable?: boolean;
718
+ /** 新增、删除或修改项目时调用。 */
719
+ onEdit?: (key: string, action: "remove") => void;
720
+ /** 选项卡右键菜单配置。 */
721
+ tabContextMenu?: readonly MenuItem[] | ((tab: TabItem) => readonly MenuItem[]);
722
+ /** 点击选项卡右键菜单时调用。 */
723
+ onTabContextMenuClick?: (info: TabsContextMenuClickInfo) => void;
724
+ }
725
+ /** 选项卡组件。 */
726
+ declare function Tabs({ items, activeKey, defaultActiveKey, onChange, type, size, tabPosition, orientation, centered, tabBarTitle, tabBarExtraContent, destroyInactiveTabPane, closable, onEdit, tabContextMenu, onTabContextMenuClick, className, ...props }: TabsProps): react.JSX.Element;
727
+
728
+ /** 打开下拉菜单的触发方式。 */
729
+ type DropdownTrigger = "click" | "hover" | "contextMenu";
730
+ /** 下拉菜单的位置类型。 */
731
+ type DropdownPlacement = "bottomLeft" | "bottomRight" | "topLeft" | "topRight";
732
+ /** 引起下拉菜单打开状态变化的来源。 */
733
+ type DropdownOpenSource = "trigger" | "menu";
734
+ /** DropdownMenu的属性配置。 */
735
+ interface DropdownMenuProps extends Pick<MenuProps, "multiple" | "selectable" | "selectedKeys" | "defaultSelectedKeys" | "onSelect" | "onDeselect"> {
736
+ /** 按展示顺序排列的项目配置。 */
737
+ items: readonly MenuItem[];
738
+ /** 组件的配色主题。 */
739
+ theme?: MenuTheme;
740
+ /** 点击时触发,参数为当前点击事件或项目上下文。 */
741
+ onClick?: (info: MenuClickInfo) => void;
742
+ }
743
+ /** 下拉菜单的属性配置。 */
744
+ interface DropdownProps extends Omit<HTMLAttributes<HTMLSpanElement>, "children" | "onOpenChange"> {
745
+ /** 菜单项、选中状态与点击回调 */
746
+ menu: DropdownMenuProps;
747
+ /** 子内容;组件嵌套内容或当前节点的子项。 */
748
+ children: ReactNode;
749
+ /**
750
+ * 触发显示的交互方式。
751
+ * @defaultValue ["hover"]
752
+ */
753
+ trigger?: readonly DropdownTrigger[];
754
+ /**
755
+ * 相对于触发元素的弹出方向和对齐位置。
756
+ * @defaultValue "bottomLeft"
757
+ */
758
+ placement?: DropdownPlacement;
759
+ /** 是否打开;传入后由外部控制显示状态。 */
760
+ open?: boolean;
761
+ /**
762
+ * 非受控模式下的初始打开状态。
763
+ * @defaultValue false
764
+ */
765
+ defaultOpen?: boolean;
766
+ /**
767
+ * 是否禁用交互。
768
+ * @defaultValue false
769
+ */
770
+ disabled?: boolean;
771
+ /** Automatically append a disclosure icon to a Button with text. */
772
+ showTriggerIcon?: boolean;
773
+ /**
774
+ * 显示箭头及是否指向触发器中心
775
+ * @defaultValue false
776
+ */
777
+ arrow?: boolean | {
778
+ /** 是否让弹层箭头指向触发元素中心。 */
779
+ pointAtCenter?: boolean;
780
+ };
781
+ /**
782
+ * 显示后是否自动聚焦。
783
+ * @defaultValue false
784
+ */
785
+ autoFocus?: boolean;
786
+ /**
787
+ * 触发后延迟打开的时间。
788
+ * @defaultValue 80
789
+ */
790
+ openDelay?: number;
791
+ /**
792
+ * 移出后延迟关闭的时间。
793
+ * @defaultValue 120
794
+ */
795
+ closeDelay?: number;
796
+ /**
797
+ * 弹出面板的附加 CSS 类名。
798
+ * @defaultValue ""
799
+ */
800
+ popupClassName?: string;
801
+ /** 弹出面板的内联样式。 */
802
+ popupStyle?: CSSProperties;
803
+ /** 自定义菜单浮层内容 */
804
+ popupRender?: (menu: ReactNode) => ReactNode;
805
+ /** 打开状态改变时触发,参数为新的打开状态。 */
806
+ onOpenChange?: (open: boolean, info: {
807
+ /** 触发来源,用于区分不同入口的操作。 */
808
+ source: DropdownOpenSource;
809
+ }) => void;
810
+ }
811
+ declare function DropdownRoot({ menu, children, trigger, placement, open, defaultOpen, disabled, showTriggerIcon, arrow, autoFocus, openDelay, closeDelay, popupClassName, popupStyle, popupRender, onOpenChange, className, onClick, onMouseEnter, onMouseLeave, onContextMenu, onKeyDown, ...props }: DropdownProps): react.JSX.Element;
812
+ /** DropdownButton的属性配置。 */
813
+ interface DropdownButtonProps extends Omit<DropdownProps, "children" | "className"> {
814
+ /** 子内容;组件嵌套内容或当前节点的子项。 */
815
+ children?: ReactNode;
816
+ /**
817
+ * 附加到组件根节点的 CSS 类名。
818
+ * @defaultValue ""
819
+ */
820
+ className?: string;
821
+ /** 透传给触发按钮的 Button 属性,可配置样式、尺寸和事件。 */
822
+ buttonProps?: Omit<ButtonProps, "children" | "onClick" | "disabled">;
823
+ /** 点击时触发,参数为当前点击事件或项目上下文。 */
824
+ onClick?: ButtonProps["onClick"];
825
+ }
826
+ declare function DropdownButton({ children, className, buttonProps, onClick, disabled, trigger, ...dropdownProps }: DropdownButtonProps): react.JSX.Element;
827
+ /** 下拉菜单组件。 */
828
+ declare const Dropdown: typeof DropdownRoot & {
829
+ /** 组合主操作按钮与下拉菜单的按钮组件。 */
830
+ Button: typeof DropdownButton;
831
+ };
832
+
833
+ /** Floating的位置类型。 */
834
+ type FloatingPlacement = "top" | "top-start" | "top-end" | "bottom" | "bottom-start" | "bottom-end" | "left" | "right";
835
+ /** 触发浮层显示的交互方式。 */
836
+ type FloatingTrigger = "hover" | "focus" | "click";
837
+ /** 文字提示的属性配置。 */
838
+ interface TooltipProps {
839
+ /** 标题内容,可传入文本或 React 节点。 */
840
+ title?: ReactNode;
841
+ /** 子内容;组件嵌套内容或当前节点的子项。 */
842
+ children: ReactElement;
843
+ /** 相对于触发元素的弹出方向和对齐位置。 */
844
+ placement?: FloatingPlacement;
845
+ /** 触发显示的交互方式。 */
846
+ trigger?: FloatingTrigger | readonly FloatingTrigger[];
847
+ /** 元素的无障碍语义角色。 */
848
+ role?: string;
849
+ /** 是否打开;传入后由外部控制显示状态。 */
850
+ open?: boolean;
851
+ /** 非受控模式下的初始打开状态。 */
852
+ defaultOpen?: boolean;
853
+ /** 鼠标移入后延迟显示的时间。 */
854
+ mouseEnterDelay?: number;
855
+ /** 鼠标移出后延迟隐藏的时间。 */
856
+ mouseLeaveDelay?: number;
857
+ /** 显示箭头及是否指向触发器中心 */
858
+ arrow?: boolean;
859
+ /** 显示颜色,可使用 CSS 颜色值。 */
860
+ color?: string;
861
+ /** 附加到组件根节点的 CSS 类名。 */
862
+ className?: string;
863
+ /** 浮层容器的附加 CSS 类名。 */
864
+ overlayClassName?: string;
865
+ /** 打开状态改变时触发,参数为新的打开状态。 */
866
+ onOpenChange?: (open: boolean) => void;
867
+ }
868
+ /** 文字提示组件。 */
869
+ declare function Tooltip(props: TooltipProps): react.JSX.Element;
870
+ /** 气泡卡片的属性配置。 */
871
+ interface PopoverProps extends Omit<TooltipProps, "title"> {
872
+ /** 标题内容,可传入文本或 React 节点。 */
873
+ title?: ReactNode;
874
+ /** 需要显示的内容,支持文本或 React 节点。 */
875
+ content?: ReactNode;
876
+ }
877
+ /** 气泡卡片组件。 */
878
+ declare function Popover({ title, content, trigger, overlayClassName, ...props }: PopoverProps): react.JSX.Element;
879
+ /** 时间轴的项目定义。 */
880
+ type TimelineItem = {
881
+ /** 子内容;组件嵌套内容或当前节点的子项。 */
882
+ children?: ReactNode;
883
+ /** 展示给用户的名称,可传入文本或 React 节点。 */
884
+ label?: ReactNode;
885
+ /** 显示颜色,可使用 CSS 颜色值。 */
886
+ color?: "blue" | "red" | "green" | "gray" | string;
887
+ /** 是否以圆点形式显示状态或徽标。 */
888
+ dot?: ReactNode;
889
+ /** 显示位置或定位配置。 */
890
+ position?: "left" | "right";
891
+ };
892
+ /** 时间轴的属性配置。 */
893
+ interface TimelineProps extends HTMLAttributes<HTMLUListElement> {
894
+ /**
895
+ * 按展示顺序排列的项目配置。
896
+ * @defaultValue []
897
+ */
898
+ items?: readonly TimelineItem[];
899
+ /**
900
+ * 展示或交互模式;可选值见类型定义。
901
+ * @defaultValue "left"
902
+ */
903
+ mode?: "left" | "alternate" | "right";
904
+ /**
905
+ * 时间轴未完成节点的内容。
906
+ * @defaultValue false
907
+ */
908
+ pending?: ReactNode | boolean;
909
+ /** 时间轴未完成节点的图标。 */
910
+ pendingDot?: ReactNode;
911
+ /**
912
+ * 反转节点顺序
913
+ * @defaultValue false
914
+ */
915
+ reverse?: boolean;
916
+ }
917
+ /** 时间轴组件。 */
918
+ declare function Timeline({ items, mode, pending, pendingDot, reverse, className, ...props }: TimelineProps): react.JSX.Element;
919
+ /** 树节点的唯一标识类型。 */
920
+ type TreeKey = string | number;
921
+ /** 拖放目标相对于节点的位置。 */
922
+ type TreeDropPosition = "before" | "inside" | "after";
923
+ /** 树组件的数据节点,支持子节点、勾选、禁用和异步加载。 */
924
+ interface TreeNode {
925
+ /** 唯一标识;同一集合内应保持唯一且稳定,用于定位、渲染和状态关联。 */
926
+ key: TreeKey;
927
+ /** 标题内容,可传入文本或 React 节点。 */
928
+ title: ReactNode;
929
+ /** 输入框前缀 */
930
+ prefix?: ReactNode;
931
+ /** 主体之外的补充内容或操作区。 */
932
+ extra?: ReactNode;
933
+ /** 是否禁用交互。 */
934
+ disabled?: boolean;
935
+ /** 是否仅禁用该节点的勾选框。 */
936
+ disableCheckbox?: boolean;
937
+ /** 是否允许选中项目。 */
938
+ selectable?: boolean;
939
+ /** 是否显示勾选框或允许勾选。 */
940
+ checkable?: boolean;
941
+ /** 是否为叶子节点;异步加载场景可用于标识无子项节点。 */
942
+ isLeaf?: boolean;
943
+ /** 子节点是否已经加载完成。 */
944
+ loaded?: boolean;
945
+ /** 显示在内容旁的图标节点,建议使用 Icon 组件。 */
946
+ icon?: ReactNode;
947
+ /** 加载过程中的提示内容。 */
948
+ loadingText?: ReactNode;
949
+ /** 是否允许拖拽。 */
950
+ draggable?: boolean;
951
+ /** 是否允许作为拖放目标。 */
952
+ droppable?: boolean;
953
+ /** 右键菜单配置或按当前项目生成菜单的函数。 */
954
+ contextMenu?: DropdownMenuProps;
955
+ /** 右键菜单弹层的 CSS 类名。 */
956
+ contextMenuPopupClassName?: string;
957
+ /** 行节点的附加属性,也可按行生成属性。 */
958
+ rowProps?: Omit<HTMLAttributes<HTMLDivElement>, "children"> & Partial<Record<`data-${string}`, string | number>>;
959
+ /** 子内容;组件嵌套内容或当前节点的子项。 */
960
+ children?: readonly TreeNode[];
961
+ [key: string]: unknown;
962
+ }
963
+ /** 树的属性配置。 */
964
+ interface TreeProps extends Omit<HTMLAttributes<HTMLDivElement>, "onSelect" | "onDrop"> {
965
+ /** 树形节点数据 */
966
+ treeData: readonly TreeNode[];
967
+ /** 当前选中项目的标识集合;传入后由外部控制。 */
968
+ selectedKeys?: readonly TreeKey[];
969
+ /**
970
+ * 非受控模式下初始选中的项目标识集合。
971
+ * @defaultValue []
972
+ */
973
+ defaultSelectedKeys?: readonly TreeKey[];
974
+ /** 受控的展开节点标识集合。 */
975
+ expandedKeys?: readonly TreeKey[];
976
+ /**
977
+ * 初始化时展开的节点标识集合。
978
+ * @defaultValue []
979
+ */
980
+ defaultExpandedKeys?: readonly TreeKey[];
981
+ /**
982
+ * 是否在初始化时展开所有节点。
983
+ * @defaultValue false
984
+ */
985
+ defaultExpandAll?: boolean;
986
+ /** 受控的勾选节点标识集合。 */
987
+ checkedKeys?: readonly TreeKey[];
988
+ /**
989
+ * 非受控模式下初始勾选的节点标识。
990
+ * @defaultValue []
991
+ */
992
+ defaultCheckedKeys?: readonly TreeKey[];
993
+ /**
994
+ * 由外部控制正在异步加载的节点
995
+ * @defaultValue []
996
+ */
997
+ loadingKeys?: readonly TreeKey[];
998
+ /**
999
+ * 是否显示勾选框或允许勾选。
1000
+ * @defaultValue false
1001
+ */
1002
+ checkable?: boolean;
1003
+ /**
1004
+ * 父子节点勾选状态是否相互独立。
1005
+ * @defaultValue false
1006
+ */
1007
+ checkStrictly?: boolean;
1008
+ /**
1009
+ 是否允许同时选择多个项目。
1010
+ * @defaultValue false
1011
+ */
1012
+ multiple?: boolean;
1013
+ /**
1014
+ * 是否允许选中项目。
1015
+ * @defaultValue true
1016
+ */
1017
+ selectable?: boolean;
1018
+ /**
1019
+ * 是否显示连接线。
1020
+ * @defaultValue false
1021
+ */
1022
+ showLine?: boolean;
1023
+ /**
1024
+ * 是否显示状态图标。
1025
+ * @defaultValue false
1026
+ */
1027
+ showIcon?: boolean;
1028
+ /**
1029
+ * 节点是否占满整行宽度。
1030
+ * @defaultValue false
1031
+ */
1032
+ blockNode?: boolean;
1033
+ /**
1034
+ * 每级节点的缩进距离,单位为像素。
1035
+ * @defaultValue 20
1036
+ */
1037
+ indentSize?: number;
1038
+ /**
1039
+ * 展开开关预留宽度,单位为像素。
1040
+ * @defaultValue 24
1041
+ */
1042
+ switcherWidth?: number;
1043
+ /**
1044
+ * 滚动时是否固定显示当前节点的祖先行。
1045
+ * @defaultValue false
1046
+ */
1047
+ stickyAncestors?: boolean;
1048
+ /**
1049
+ * 固定祖先行的高度,单位为像素。
1050
+ * @defaultValue 34
1051
+ */
1052
+ stickyRowHeight?: number;
1053
+ /**
1054
+ * 是否允许拖拽。
1055
+ * @defaultValue false
1056
+ */
1057
+ draggable?: boolean;
1058
+ /** 按当前节点异步加载子节点的函数。 */
1059
+ loadData?: (node: TreeNode) => void | Promise<void>;
1060
+ /** 选中项目时调用,参数包含选中项目及关联状态。 */
1061
+ onSelect?: (keys: TreeKey[], info: {
1062
+ /** 是否处于选中状态。 */
1063
+ selected: boolean;
1064
+ /** 当前操作关联的节点数据。 */
1065
+ node: TreeNode;
1066
+ /** 触发本次操作的原生事件。 */
1067
+ nativeEvent: React.MouseEvent;
1068
+ }) => void;
1069
+ /** 勾选状态变化时调用。 */
1070
+ onCheck?: (keys: TreeKey[], info: {
1071
+ /** 当前是否勾选;作为受控属性时通过回调更新。 */
1072
+ checked: boolean;
1073
+ /** 当前操作关联的节点数据。 */
1074
+ node: TreeNode;
1075
+ }) => void;
1076
+ /** 节点展开或收起时调用。 */
1077
+ onExpand?: (keys: TreeKey[], info: {
1078
+ /** 是否处于展开状态。 */
1079
+ expanded: boolean;
1080
+ /** 当前操作关联的节点数据。 */
1081
+ node: TreeNode;
1082
+ }) => void;
1083
+ /** 拖放完成时调用,提供拖拽源和目标位置。 */
1084
+ onDrop?: (info: {
1085
+ /** 正在拖拽的源节点。 */
1086
+ dragNode: TreeNode;
1087
+ /** 当前操作关联的节点数据。 */
1088
+ node: TreeNode;
1089
+ /** 相对于目标节点的落点位置。 */
1090
+ dropPosition: TreeDropPosition;
1091
+ }) => void;
1092
+ }
1093
+ /** 树组件。 */
1094
+ declare function Tree({ treeData, selectedKeys, defaultSelectedKeys, expandedKeys, defaultExpandedKeys, defaultExpandAll, checkedKeys, defaultCheckedKeys, loadingKeys, checkable, checkStrictly, multiple, selectable, showLine, showIcon, blockNode, indentSize, switcherWidth, stickyAncestors, stickyRowHeight, draggable, loadData, onSelect, onCheck, onExpand, onDrop, className, ...props }: TreeProps): react.JSX.Element;
1095
+
1096
+ /** 气泡确认的属性配置。 */
1097
+ interface PopconfirmProps {
1098
+ /** 子内容;组件嵌套内容或当前节点的子项。 */
1099
+ children: ReactElement;
1100
+ /** 标题内容,可传入文本或 React 节点。 */
1101
+ title: ReactNode;
1102
+ /** 补充说明内容。 */
1103
+ description?: ReactNode;
1104
+ /**
1105
+ * 确定按钮文案。
1106
+ * @defaultValue "确定"
1107
+ */
1108
+ okText?: ReactNode;
1109
+ /**
1110
+ * 取消按钮文案。
1111
+ * @defaultValue "取消"
1112
+ */
1113
+ cancelText?: ReactNode;
1114
+ /** 确定按钮的 Button 属性。 */
1115
+ okButtonProps?: React.ComponentProps<typeof Button>;
1116
+ /** 取消按钮的 Button 属性。 */
1117
+ cancelButtonProps?: React.ComponentProps<typeof Button>;
1118
+ /**
1119
+ * 相对于触发元素的弹出方向和对齐位置。
1120
+ * @defaultValue "top"
1121
+ */
1122
+ placement?: FloatingPlacement;
1123
+ /**
1124
+ * 触发显示的交互方式。
1125
+ * @defaultValue "click"
1126
+ */
1127
+ trigger?: "click" | "hover" | "focus";
1128
+ /** 是否打开;传入后由外部控制显示状态。 */
1129
+ open?: boolean;
1130
+ /**
1131
+ * 非受控模式下的初始打开状态。
1132
+ * @defaultValue false
1133
+ */
1134
+ defaultOpen?: boolean;
1135
+ /**
1136
+ * 是否禁用交互。
1137
+ * @defaultValue false
1138
+ */
1139
+ disabled?: boolean;
1140
+ /**
1141
+ * 是否显示取消按钮。
1142
+ * @defaultValue true
1143
+ */
1144
+ showCancel?: boolean;
1145
+ /** 显示在内容旁的图标节点,建议使用 Icon 组件。 */
1146
+ icon?: ReactNode;
1147
+ /** 用户确认时调用;支持异步返回值,具体签名见类型。 */
1148
+ onConfirm?: (event?: React.MouseEvent) => void | boolean | Promise<void | boolean>;
1149
+ /** 用户取消或通过关闭入口退出时调用。 */
1150
+ onCancel?: (event?: React.MouseEvent) => void;
1151
+ /** 打开状态改变时触发,参数为新的打开状态。 */
1152
+ onOpenChange?: (open: boolean) => void;
1153
+ }
1154
+ /** 气泡确认组件。 */
1155
+ declare function Popconfirm({ children, title, description, okText, cancelText, okButtonProps, cancelButtonProps, placement, trigger, open, defaultOpen, disabled, showCancel, icon, onConfirm, onCancel, onOpenChange, }: PopconfirmProps): react.JSX.Element;
1156
+ /** 进度的状态类型。 */
1157
+ type ProgressStatus = "normal" | "active" | "success" | "exception";
1158
+ /** 进度的属性配置。 */
1159
+ interface ProgressProps extends HTMLAttributes<HTMLDivElement> {
1160
+ /**
1161
+ * 进度百分比。
1162
+ * @defaultValue 0
1163
+ */
1164
+ percent?: number;
1165
+ /**
1166
+ * 类型标识,用于选择对应的表现形式。
1167
+ * @defaultValue "line"
1168
+ */
1169
+ type?: "line" | "circle" | "dashboard";
1170
+ /** 当前状态,用于选择对应的状态样式。 */
1171
+ status?: ProgressStatus;
1172
+ /**
1173
+ * 是否显示进度文本。
1174
+ * @defaultValue true
1175
+ */
1176
+ showInfo?: boolean;
1177
+ /** 显示格式或格式化函数。 */
1178
+ format?: (percent?: number, successPercent?: number) => ReactNode;
1179
+ /** 描边或进度条颜色。 */
1180
+ strokeColor?: string | {
1181
+ /** 范围、渐变或转换的起始值。 */
1182
+ from: string;
1183
+ /** 范围、渐变或转换的结束值。 */
1184
+ to: string;
1185
+ };
1186
+ /** 未完成部分的轨道颜色。 */
1187
+ trailColor?: string;
1188
+ /**
1189
+ * 描边或进度轨道粗细。
1190
+ * @defaultValue 8
1191
+ */
1192
+ strokeWidth?: number;
1193
+ /**
1194
+ * 宽度;数值按像素处理,字符串可使用 CSS 尺寸。
1195
+ * @defaultValue 120
1196
+ */
1197
+ width?: number;
1198
+ /** 步骤集合或进度分段配置。 */
1199
+ steps?: number;
1200
+ /** 成功进度部分的配置。 */
1201
+ success?: {
1202
+ /**
1203
+ * 进度百分比。
1204
+ * @defaultValue 0
1205
+ */
1206
+ percent?: number;
1207
+ /** 描边或进度条颜色。 */
1208
+ strokeColor?: string;
1209
+ };
1210
+ /**
1211
+ * 组件尺寸;用于调整控件高度、字号和间距。
1212
+ * @defaultValue "default"
1213
+ */
1214
+ size?: "small" | "default" | number | readonly [number, number];
1215
+ }
1216
+ /** 进度组件。 */
1217
+ declare function Progress({ percent, type, status, showInfo, format, strokeColor, trailColor, strokeWidth, width, steps, success, size, className, style, ...props }: ProgressProps): react.JSX.Element;
1218
+ /** 加载指示器的属性配置。 */
1219
+ interface SpinProps extends HTMLAttributes<HTMLDivElement> {
1220
+ /**
1221
+ * 是否显示加载指示器。
1222
+ * @defaultValue true
1223
+ */
1224
+ spinning?: boolean;
1225
+ /**
1226
+ * 组件尺寸;用于调整控件高度、字号和间距。
1227
+ * @defaultValue "default"
1228
+ */
1229
+ size?: "small" | "default" | "large";
1230
+ /** 加载说明文本 */
1231
+ tip?: ReactNode;
1232
+ /** 自定义加载指示器。 */
1233
+ indicator?: ReactNode;
1234
+ /**
1235
+ * 显示加载状态前的延迟时间。
1236
+ * @defaultValue 0
1237
+ */
1238
+ delay?: number;
1239
+ /**
1240
+ 是否以全屏形式展示。
1241
+ * @defaultValue false
1242
+ */
1243
+ fullscreen?: boolean;
1244
+ }
1245
+ /** 加载指示器组件。 */
1246
+ declare function Spin({ spinning, size, tip, indicator, delay, fullscreen, className, children, ...props }: SpinProps): react.JSX.Element | null;
1247
+ /** 水印文字的字体、颜色和对齐配置。 */
1248
+ interface WatermarkFont {
1249
+ /** 显示颜色,可使用 CSS 颜色值。 */
1250
+ color?: string;
1251
+ /** 文字大小,单位为像素。 */
1252
+ fontSize?: number;
1253
+ /** 文字粗细,可使用数字或 CSS 字重名称。 */
1254
+ fontWeight?: number | string;
1255
+ /** 字体族名称。 */
1256
+ fontFamily?: string;
1257
+ /** 字体样式,例如 normal 或 italic。 */
1258
+ fontStyle?: string;
1259
+ /** 文本的水平对齐方式。 */
1260
+ textAlign?: CanvasTextAlign;
1261
+ }
1262
+ /** 水印的属性配置。 */
1263
+ interface WatermarkProps extends Omit<HTMLAttributes<HTMLDivElement>, "content"> {
1264
+ /**
1265
+ 需要显示的内容,支持文本或 React 节点。
1266
+ * @defaultValue "Sia Web UI"
1267
+ */
1268
+ content?: string | readonly string[];
1269
+ /** 图片资源配置。 */
1270
+ image?: string;
1271
+ /**
1272
+ * 宽度;数值按像素处理,字符串可使用 CSS 尺寸。
1273
+ * @defaultValue 120
1274
+ */
1275
+ width?: number;
1276
+ /**
1277
+ * 高度;数值按像素处理,字符串可使用 CSS 尺寸。
1278
+ * @defaultValue 64
1279
+ */
1280
+ height?: number;
1281
+ /**
1282
+ * 旋转角度。
1283
+ * @defaultValue -22
1284
+ */
1285
+ rotate?: number;
1286
+ /**
1287
+ 组件或浮层的堆叠层级。
1288
+ * @defaultValue 9
1289
+ */
1290
+ zIndex?: number;
1291
+ /**
1292
+ * 预设或自定义间距
1293
+ * @defaultValue [100, 100]
1294
+ */
1295
+ gap?: readonly [number, number];
1296
+ /**
1297
+ * 相对于默认位置的偏移。
1298
+ * @defaultValue [0, 0]
1299
+ */
1300
+ offset?: readonly [number, number];
1301
+ /** 颜色、字号、字重与字体 */
1302
+ font?: WatermarkFont;
1303
+ }
1304
+ /** 水印组件。 */
1305
+ declare function Watermark({ content, image, width, height, rotate, zIndex, gap, offset, font, className, children, ...props }: WatermarkProps): react.JSX.Element;
1306
+ /** Notification的类型标识。 */
1307
+ type NotificationType = "info" | "success" | "warning" | "error";
1308
+ /** Notification的位置类型。 */
1309
+ type NotificationPlacement = "topLeft" | "topRight" | "bottomLeft" | "bottomRight";
1310
+ /** Notification的配置。 */
1311
+ interface NotificationConfig {
1312
+ /** 唯一标识;同一集合内应保持唯一且稳定,用于定位、渲染和状态关联。 */
1313
+ key?: string | number;
1314
+ /** 类型标识,用于选择对应的表现形式。 */
1315
+ type?: NotificationType;
1316
+ /** 提示或错误消息文本。 */
1317
+ message: ReactNode;
1318
+ /** 补充说明内容。 */
1319
+ description?: ReactNode;
1320
+ /** 自动关闭延迟,单位为秒;0 表示不自动关闭。 */
1321
+ duration?: number;
1322
+ /** 相对于触发元素的弹出方向和对齐位置。 */
1323
+ placement?: NotificationPlacement;
1324
+ /** 显示在内容旁的图标节点,建议使用 Icon 组件。 */
1325
+ icon?: ReactNode;
1326
+ /** 消息或通知的自定义操作按钮。 */
1327
+ btn?: ReactNode;
1328
+ /** 自定义关闭图标。 */
1329
+ closeIcon?: ReactNode;
1330
+ /** 元素的无障碍语义角色。 */
1331
+ role?: string;
1332
+ /** 点击时触发,参数为当前点击事件或项目上下文。 */
1333
+ onClick?: () => void;
1334
+ /** 请求关闭时触发的回调。 */
1335
+ onClose?: () => void;
1336
+ }
1337
+ declare function openNotification(config: NotificationConfig): {
1338
+ /** 通知唯一标识,可传给 notification.destroy 关闭指定通知。 */
1339
+ key: string | number;
1340
+ /** 关闭本条通知。 */
1341
+ close: () => void;
1342
+ };
1343
+ /** 全局通知 API,支持标题、说明、自定义操作和关闭管理。 */
1344
+ declare const notification: {
1345
+ /** 直接打开实例,返回可用于更新或关闭的操作句柄。 */
1346
+ open: typeof openNotification;
1347
+ /** 显示普通信息提示。 */
1348
+ info: (config: Omit<NotificationConfig, "type">) => {
1349
+ /** 通知唯一标识,可传给 notification.destroy 关闭指定通知。 */
1350
+ key: string | number;
1351
+ /** 关闭本条通知。 */
1352
+ close: () => void;
1353
+ };
1354
+ /** 显示成功提示。 */
1355
+ success: (config: Omit<NotificationConfig, "type">) => {
1356
+ /** 通知唯一标识,可传给 notification.destroy 关闭指定通知。 */
1357
+ key: string | number;
1358
+ /** 关闭本条通知。 */
1359
+ close: () => void;
1360
+ };
1361
+ /** 显示警告提示。 */
1362
+ warning: (config: Omit<NotificationConfig, "type">) => {
1363
+ /** 通知唯一标识,可传给 notification.destroy 关闭指定通知。 */
1364
+ key: string | number;
1365
+ /** 关闭本条通知。 */
1366
+ close: () => void;
1367
+ };
1368
+ /** 显示错误提示。 */
1369
+ error: (config: Omit<NotificationConfig, "type">) => {
1370
+ /** 通知唯一标识,可传给 notification.destroy 关闭指定通知。 */
1371
+ key: string | number;
1372
+ /** 关闭本条通知。 */
1373
+ close: () => void;
1374
+ };
1375
+ /** 关闭指定实例;未指定标识时关闭所有实例。 */
1376
+ destroy: (key?: string | number) => void;
1377
+ };
1378
+ /** 操作引导的一步,定义目标元素、说明及操作按钮。 */
1379
+ interface TourStep {
1380
+ /** 标题内容,可传入文本或 React 节点。 */
1381
+ title?: ReactNode;
1382
+ /** 补充说明内容。 */
1383
+ description?: ReactNode;
1384
+ /** 顶部封面内容。 */
1385
+ cover?: ReactNode;
1386
+ /** 关联的目标元素或获取目标元素的函数。 */
1387
+ target?: HTMLElement | null | (() => HTMLElement | null);
1388
+ /** 相对于触发元素的弹出方向和对齐位置。 */
1389
+ placement?: FloatingPlacement | "center";
1390
+ /** 下一步按钮的属性。 */
1391
+ nextButtonProps?: React.ComponentProps<typeof Button> & {
1392
+ /** 子内容;组件嵌套内容或当前节点的子项。 */
1393
+ children?: ReactNode;
1394
+ };
1395
+ /** 上一步按钮的属性。 */
1396
+ prevButtonProps?: React.ComponentProps<typeof Button> & {
1397
+ /** 子内容;组件嵌套内容或当前节点的子项。 */
1398
+ children?: ReactNode;
1399
+ };
1400
+ }
1401
+ /** 操作引导的属性配置。 */
1402
+ interface TourProps {
1403
+ /**
1404
+ * 是否打开;传入后由外部控制显示状态。
1405
+ * @defaultValue false
1406
+ */
1407
+ open?: boolean;
1408
+ /** 步骤集合或进度分段配置。 */
1409
+ steps: readonly TourStep[];
1410
+ /** 当前引导步骤索引,从 0 开始。 */
1411
+ current?: number;
1412
+ /**
1413
+ * 非受控模式的初始页码或步骤位置。
1414
+ * @defaultValue 0
1415
+ */
1416
+ defaultCurrent?: number;
1417
+ /**
1418
+ * 遮罩是否显示或自定义遮罩内容。
1419
+ * @defaultValue true
1420
+ */
1421
+ mask?: boolean;
1422
+ /**
1423
+ * 是否显示关闭入口。
1424
+ * @defaultValue true
1425
+ */
1426
+ closable?: boolean;
1427
+ /**
1428
+ * 加载期间是否阻止与内容交互。
1429
+ * @defaultValue false
1430
+ */
1431
+ disabledInteraction?: boolean;
1432
+ /** 值发生变化时调用;参数为新值及类型声明中列出的关联信息。 */
1433
+ onChange?: (current: number) => void;
1434
+ /** 请求关闭时触发的回调。 */
1435
+ onClose?: (current: number) => void;
1436
+ /** 流程完成或表单校验通过并提交时调用。 */
1437
+ onFinish?: () => void;
1438
+ }
1439
+ /** 操作引导组件。 */
1440
+ declare function Tour({ open, steps, current, defaultCurrent, mask, closable, disabledInteraction, onChange, onClose, onFinish }: TourProps): react.ReactPortal | null;
1441
+
1442
+ /** 评分的属性配置。 */
1443
+ interface RateProps extends Omit<HTMLAttributes<HTMLDivElement>, "defaultValue" | "onChange"> {
1444
+ /** 组件尺寸;用于调整控件高度、字号和间距。 */
1445
+ size?: ControlSize;
1446
+ /** 当前值;作为受控属性时,需要在变更回调中同步更新。 */
1447
+ value?: number;
1448
+ /**
1449
+ * 非受控模式的初始值,仅在初始化时使用。
1450
+ * @defaultValue 0
1451
+ */
1452
+ defaultValue?: number;
1453
+ /**
1454
+ * 徽标展示的数量。
1455
+ * @defaultValue 5
1456
+ */
1457
+ count?: number;
1458
+ /**
1459
+ * 是否允许选择半星。
1460
+ * @defaultValue false
1461
+ */
1462
+ allowHalf?: boolean;
1463
+ /**
1464
+ 是否允许清空当前选择或输入值。
1465
+ * @defaultValue true
1466
+ */
1467
+ allowClear?: boolean;
1468
+ /**
1469
+ * 是否禁用交互。
1470
+ * @defaultValue false
1471
+ */
1472
+ disabled?: boolean;
1473
+ /** 自定义评分符号。 */
1474
+ character?: ReactNode | ((index: number) => ReactNode);
1475
+ /** 各评分值对应的提示内容。 */
1476
+ tooltips?: readonly string[];
1477
+ /** 值发生变化时调用;参数为新值及类型声明中列出的关联信息。 */
1478
+ onChange?: (value: number) => void;
1479
+ /** 悬停目标或悬停值变化时调用。 */
1480
+ onHoverChange?: (value: number) => void;
1481
+ }
1482
+ /** 评分组件。 */
1483
+ declare function Rate({ value, size: sizeProp, defaultValue, count, allowHalf, allowClear, disabled, character, tooltips, onChange, onHoverChange, className, ...props }: RateProps): react.JSX.Element;
1484
+ /** 徽标的状态类型。 */
1485
+ type BadgeStatus = "success" | "processing" | "default" | "error" | "warning";
1486
+ /** 徽标的属性配置。 */
1487
+ interface BadgeProps extends HTMLAttributes<HTMLSpanElement> {
1488
+ /** 徽标展示的数量。 */
1489
+ count?: ReactNode;
1490
+ /**
1491
+ * 数量为 0 时是否仍显示徽标。
1492
+ * @defaultValue false
1493
+ */
1494
+ showZero?: boolean;
1495
+ /**
1496
+ * 徽标显示的最大数字,超出后显示加号。
1497
+ * @defaultValue 99
1498
+ */
1499
+ overflowCount?: number;
1500
+ /**
1501
+ * 是否以圆点形式显示状态或徽标。
1502
+ * @defaultValue false
1503
+ */
1504
+ dot?: boolean;
1505
+ /** 当前状态,用于选择对应的状态样式。 */
1506
+ status?: BadgeStatus;
1507
+ /** 显示文本。 */
1508
+ text?: ReactNode;
1509
+ /** 显示颜色,可使用 CSS 颜色值。 */
1510
+ color?: string;
1511
+ /**
1512
+ * 相对于默认位置的偏移。
1513
+ * @defaultValue [0, 0]
1514
+ */
1515
+ offset?: readonly [number, number];
1516
+ /**
1517
+ * 组件尺寸;用于调整控件高度、字号和间距。
1518
+ * @defaultValue "default"
1519
+ */
1520
+ size?: "default" | "small";
1521
+ }
1522
+ /** BadgeRibbon的属性配置。 */
1523
+ interface BadgeRibbonProps extends HTMLAttributes<HTMLDivElement> {
1524
+ /** 显示文本。 */
1525
+ text?: ReactNode;
1526
+ /** 显示颜色,可使用 CSS 颜色值。 */
1527
+ color?: string;
1528
+ /**
1529
+ * 相对于触发元素的弹出方向和对齐位置。
1530
+ * @defaultValue "end"
1531
+ */
1532
+ placement?: "start" | "end";
1533
+ }
1534
+ declare function BadgeRibbon({ text, color, placement, className, children, ...props }: BadgeRibbonProps): react.JSX.Element;
1535
+ /** 徽标组件。 */
1536
+ declare function Badge({ count, showZero, overflowCount, dot, status, text, color, offset, size, className, children, style, ...props }: BadgeProps): react.JSX.Element;
1537
+ declare namespace Badge {
1538
+ var Ribbon: typeof BadgeRibbon;
1539
+ }
1540
+ /** 日历的属性配置。 */
1541
+ interface CalendarProps extends Omit<HTMLAttributes<HTMLDivElement>, "defaultValue" | "onChange" | "onSelect"> {
1542
+ /** 当前值;作为受控属性时,需要在变更回调中同步更新。 */
1543
+ value?: string;
1544
+ /** 非受控模式的初始值,仅在初始化时使用。 */
1545
+ defaultValue?: string;
1546
+ /**
1547
+ * 展示或交互模式;可选值见类型定义。
1548
+ * @defaultValue "month"
1549
+ */
1550
+ mode?: "month" | "year";
1551
+ /**
1552
+ 是否以全屏形式展示。
1553
+ * @defaultValue true
1554
+ */
1555
+ fullscreen?: boolean;
1556
+ /** 允许选择的日期范围。 */
1557
+ validRange?: readonly [string, string];
1558
+ /** 判断某个日期是否不可选的函数。 */
1559
+ disabledDate?: (date: string) => boolean;
1560
+ /** 自定义日期单元格的附加内容。 */
1561
+ dateCellRender?: (date: string) => ReactNode;
1562
+ /** 完整替换日期单元格的渲染函数。 */
1563
+ fullCellRender?: (date: string, info: {
1564
+ /** 组件默认生成的原始节点,可用于包装或复用。 */
1565
+ originNode: ReactNode;
1566
+ /** 类型标识,用于选择对应的表现形式。 */
1567
+ type: "date";
1568
+ }) => ReactNode;
1569
+ /** 自定义头部渲染。 */
1570
+ headerRender?: (config: {
1571
+ /** 当前值;作为受控属性时,需要在变更回调中同步更新。 */
1572
+ value: string;
1573
+ /**
1574
+ * 展示或交互模式;可选值见类型定义。
1575
+ * @defaultValue "month"
1576
+ */
1577
+ mode: "month" | "year";
1578
+ /** 值发生变化时调用;参数为新值及类型声明中列出的关联信息。 */
1579
+ onChange: (value: string) => void;
1580
+ /** 显示类型变化时调用。 */
1581
+ onTypeChange: (mode: "month" | "year") => void;
1582
+ }) => ReactNode;
1583
+ /** 值发生变化时调用;参数为新值及类型声明中列出的关联信息。 */
1584
+ onChange?: (date: string) => void;
1585
+ /** 选中项目时调用,参数包含选中项目及关联状态。 */
1586
+ onSelect?: (date: string) => void;
1587
+ /** 面板显示的日期或模式变化时调用。 */
1588
+ onPanelChange?: (date: string, mode: "month" | "year") => void;
1589
+ }
1590
+ /** 日历组件。 */
1591
+ declare function Calendar({ value, defaultValue, mode, fullscreen, validRange, disabledDate, dateCellRender, fullCellRender, headerRender, onChange, onSelect, onPanelChange, className, ...props }: CalendarProps): react.JSX.Element;
1592
+ /** 轮播的实例引用接口。 */
1593
+ interface CarouselRef {
1594
+ /** 跳转到指定索引的轮播项。 */
1595
+ goTo: (slide: number) => void;
1596
+ /** 切换到下一项。 */
1597
+ next: () => void;
1598
+ /** 切换到上一项。 */
1599
+ prev: () => void;
1600
+ }
1601
+ /** 轮播的属性配置。 */
1602
+ interface CarouselProps extends HTMLAttributes<HTMLDivElement> {
1603
+ /**
1604
+ * 是否自动轮播。
1605
+ * @defaultValue false
1606
+ */
1607
+ autoplay?: boolean | {
1608
+ /** 轮播指示点的动画持续时间。 */
1609
+ dotDuration?: boolean;
1610
+ };
1611
+ /**
1612
+ * 自动轮播的切换间隔。
1613
+ * @defaultValue 3000
1614
+ */
1615
+ autoplaySpeed?: number;
1616
+ /**
1617
+ * 是否显示前后切换箭头。
1618
+ * @defaultValue false
1619
+ */
1620
+ arrows?: boolean;
1621
+ /**
1622
+ * 是否显示轮播指示点。
1623
+ * @defaultValue true
1624
+ */
1625
+ dots?: boolean | {
1626
+ /**
1627
+ * 附加到组件根节点的 CSS 类名。
1628
+ * @defaultValue ""
1629
+ */
1630
+ className?: string;
1631
+ };
1632
+ /**
1633
+ * 滚动或淡入效果
1634
+ * @defaultValue "scroll"
1635
+ */
1636
+ effect?: "scroll" | "fade";
1637
+ /**
1638
+ * 是否允许首尾循环切换。
1639
+ * @defaultValue true
1640
+ */
1641
+ infinite?: boolean;
1642
+ /**
1643
+ * 轮播初始化时显示的项索引。
1644
+ * @defaultValue 0
1645
+ */
1646
+ initialSlide?: number;
1647
+ /**
1648
+ * 鼠标悬停时是否暂停自动轮播。
1649
+ * @defaultValue true
1650
+ */
1651
+ pauseOnHover?: boolean;
1652
+ /** 轮播切换前调用,接收当前项和目标项索引。 */
1653
+ beforeChange?: (current: number, next: number) => void;
1654
+ /** 轮播切换后调用,接收当前项索引。 */
1655
+ afterChange?: (current: number) => void;
1656
+ }
1657
+ /** 轮播组件。 */
1658
+ declare function Carousel({ autoplay, autoplaySpeed, arrows, dots, effect, infinite, initialSlide, pauseOnHover, beforeChange, afterChange, className, children, ...props }: CarouselProps): react.JSX.Element;
1659
+ /** 折叠面板的唯一标识类型。 */
1660
+ type CollapseKey = string | number;
1661
+ /** 折叠面板的项目定义。 */
1662
+ type CollapseItem = {
1663
+ /** 唯一标识;同一集合内应保持唯一且稳定,用于定位、渲染和状态关联。 */
1664
+ key: CollapseKey;
1665
+ /** 展示给用户的名称,可传入文本或 React 节点。 */
1666
+ label: ReactNode;
1667
+ /** 子内容;组件嵌套内容或当前节点的子项。 */
1668
+ children?: ReactNode;
1669
+ /** 主体之外的补充内容或操作区。 */
1670
+ extra?: ReactNode;
1671
+ /** 是否禁用交互。 */
1672
+ disabled?: boolean;
1673
+ /** 允许收起内容区域 */
1674
+ collapsible?: "header" | "icon" | "disabled";
1675
+ /** 是否显示展开箭头。 */
1676
+ showArrow?: boolean;
1677
+ /** 未展开时是否也渲染内容。 */
1678
+ forceRender?: boolean;
1679
+ /** 附加到组件根节点的 CSS 类名。 */
1680
+ className?: string;
1681
+ };
1682
+ /** 折叠面板的属性配置。 */
1683
+ interface CollapseProps extends Omit<HTMLAttributes<HTMLDivElement>, "onChange"> {
1684
+ /** 按展示顺序排列的项目配置。 */
1685
+ items: readonly CollapseItem[];
1686
+ /** 当前激活项目的标识;传入后由外部控制。 */
1687
+ activeKey?: CollapseKey | readonly CollapseKey[];
1688
+ /**
1689
+ * 非受控模式下初始激活的项目标识。
1690
+ * @defaultValue []
1691
+ */
1692
+ defaultActiveKey?: CollapseKey | readonly CollapseKey[];
1693
+ /**
1694
+ * 是否启用手风琴模式,同时只展开一个面板。
1695
+ * @defaultValue false
1696
+ */
1697
+ accordion?: boolean;
1698
+ /**
1699
+ * 是否显示边框。
1700
+ * @defaultValue true
1701
+ */
1702
+ bordered?: boolean;
1703
+ /**
1704
+ * 是否使用透明背景的幽灵样式。
1705
+ * @defaultValue false
1706
+ */
1707
+ ghost?: boolean;
1708
+ /**
1709
+ * 收起后销毁内容
1710
+ * @defaultValue false
1711
+ */
1712
+ destroyInactivePanel?: boolean;
1713
+ /**
1714
+ * 展开图标的位置。
1715
+ * @defaultValue "start"
1716
+ */
1717
+ expandIconPosition?: "start" | "end";
1718
+ /** 值发生变化时调用;参数为新值及类型声明中列出的关联信息。 */
1719
+ onChange?: (key: CollapseKey | CollapseKey[]) => void;
1720
+ }
1721
+ /** 折叠面板组件。 */
1722
+ declare function Collapse({ items, activeKey, defaultActiveKey, accordion, bordered, ghost, destroyInactivePanel, expandIconPosition, onChange, className, ...props }: CollapseProps): react.JSX.Element;
1723
+ /** 图片预览的属性配置。 */
1724
+ interface ImagePreviewProps {
1725
+ /** 是否打开;传入后由外部控制显示状态。 */
1726
+ open: boolean;
1727
+ /** 图片或资源地址。 */
1728
+ src?: string;
1729
+ /**
1730
+ * 图片无法显示时的替代文本。
1731
+ * @defaultValue ""
1732
+ */
1733
+ alt?: string;
1734
+ /** 打开状态改变时触发,参数为新的打开状态。 */
1735
+ onOpenChange: (open: boolean) => void;
1736
+ }
1737
+ /** 图片预览组件。 */
1738
+ declare function ImagePreview({ open, src, alt, onOpenChange }: ImagePreviewProps): react.ReactPortal | null;
1739
+ /** 图片预览的配置。 */
1740
+ interface ImagePreviewConfig {
1741
+ /** 图片或资源地址。 */
1742
+ src?: string;
1743
+ /** 是否打开;传入后由外部控制显示状态。 */
1744
+ open?: boolean;
1745
+ /** 打开状态改变时触发,参数为新的打开状态。 */
1746
+ onOpenChange?: (open: boolean) => void;
1747
+ /** 遮罩是否显示或自定义遮罩内容。 */
1748
+ mask?: ReactNode;
1749
+ }
1750
+ /** 图片的属性配置。 */
1751
+ interface ImageProps extends ImgHTMLAttributes<HTMLImageElement> {
1752
+ /** 资源加载失败时使用的替代内容或地址。 */
1753
+ fallback?: string;
1754
+ /** 未填写或未选择时的提示内容。 */
1755
+ placeholder?: ReactNode;
1756
+ /**
1757
+ * 预览开关或配置
1758
+ * @defaultValue true
1759
+ */
1760
+ preview?: boolean | ImagePreviewConfig;
1761
+ /**
1762
+ * 最外层容器的附加 CSS 类名。
1763
+ * @defaultValue ""
1764
+ */
1765
+ rootClassName?: string;
1766
+ }
1767
+ /** 图片组件。 */
1768
+ declare function Image({ fallback, placeholder, preview, rootClassName, className, src, alt, onError, style, ...props }: ImageProps): react.JSX.Element;
1769
+
1770
+ /** 输入框的属性配置。 */
1771
+ interface InputProps extends Omit<InputHTMLAttributes<HTMLInputElement>, "prefix" | "size"> {
1772
+ /** 字段标签 */
1773
+ label?: ReactNode;
1774
+ /** 帮助或校验信息 */
1775
+ hint?: ReactNode;
1776
+ /**
1777
+ * 校验状态
1778
+ * @defaultValue "default"
1779
+ */
1780
+ status?: ControlStatus;
1781
+ /** small / medium / large 高度为 22 / 30 / 38px;默认继承 Form,组件自身 size 优先 */
1782
+ size?: ControlSize;
1783
+ /** 输入框前缀 */
1784
+ prefix?: ReactNode;
1785
+ /** 输入框后缀 */
1786
+ suffix?: ReactNode;
1787
+ /**
1788
+ 是否允许清空当前选择或输入值。
1789
+ * @defaultValue false
1790
+ */
1791
+ allowClear?: boolean;
1792
+ /** 清空当前值时调用。 */
1793
+ onClear?: () => void;
1794
+ /**
1795
+ * 显示当前字符数
1796
+ * @defaultValue false
1797
+ */
1798
+ showCount?: boolean;
1799
+ /** 占位文案的显示模式 */
1800
+ placeholderMode?: InputPlaceholderMode;
1801
+ }
1802
+ /** 输入框组件。 */
1803
+ declare const Input: react.ForwardRefExoticComponent<InputProps & react.RefAttributes<HTMLInputElement>>;
1804
+
1805
+ declare const LIST_IGNORE: unique symbol;
1806
+ /** UploadFile的状态类型。 */
1807
+ type UploadFileStatus = "ready" | "uploading" | "done" | "error";
1808
+ /** 上传文件的状态记录,包含唯一标识、文件名、原始文件和服务端响应。 */
1809
+ interface UploadFile {
1810
+ /** 文件的唯一标识。 */
1811
+ uid: string;
1812
+ /** 名称或字段标识。 */
1813
+ name: string;
1814
+ /** 组件尺寸;用于调整控件高度、字号和间距。 */
1815
+ size?: number;
1816
+ /** 类型标识,用于选择对应的表现形式。 */
1817
+ type?: string;
1818
+ /** 当前状态,用于选择对应的状态样式。 */
1819
+ status?: UploadFileStatus;
1820
+ /** 进度百分比。 */
1821
+ percent?: number;
1822
+ /** 文件或资源的访问地址。 */
1823
+ url?: string;
1824
+ /** 上传服务返回的响应数据。 */
1825
+ response?: unknown;
1826
+ /** 错误信息或错误对象。 */
1827
+ error?: unknown;
1828
+ /** 上传前的原始 File 对象。 */
1829
+ originFileObj?: File;
1830
+ }
1831
+ /** UploadRequest的配置选项。 */
1832
+ interface UploadRequestOptions {
1833
+ /** 当前操作涉及的文件。 */
1834
+ file: File;
1835
+ /** 文件名。 */
1836
+ filename: string;
1837
+ /** 上传进度更新时调用。 */
1838
+ onProgress: (percent: number) => void;
1839
+ /** 上传成功时调用,接收响应数据。 */
1840
+ onSuccess: (response?: unknown) => void;
1841
+ /** 操作发生错误时调用,可用于显示业务错误提示。 */
1842
+ onError: (error: unknown) => void;
1843
+ }
1844
+ /** 文件上传的变更事件上下文。 */
1845
+ interface UploadChangeInfo {
1846
+ /** 当前操作涉及的文件。 */
1847
+ file: UploadFile;
1848
+ /** 受控的文件列表。 */
1849
+ fileList: readonly UploadFile[];
1850
+ }
1851
+ /** 文件上传的属性配置。 */
1852
+ interface UploadProps extends Omit<HTMLAttributes<HTMLDivElement>, "defaultValue" | "onChange"> {
1853
+ /** 允许的文件类型,格式同原生 input 的 accept。 */
1854
+ accept?: string;
1855
+ /**
1856
+ 是否允许同时选择多个项目。
1857
+ * @defaultValue false
1858
+ */
1859
+ multiple?: boolean;
1860
+ /**
1861
+ * 是否允许选择文件夹。
1862
+ * @defaultValue false
1863
+ */
1864
+ directory?: boolean;
1865
+ /**
1866
+ * 是否禁用交互。
1867
+ * @defaultValue false
1868
+ */
1869
+ disabled?: boolean;
1870
+ /** 允许的最大文件数量。 */
1871
+ maxCount?: number;
1872
+ /** 受控的文件列表。 */
1873
+ fileList?: readonly UploadFile[];
1874
+ /**
1875
+ * 非受控模式下的初始文件列表。
1876
+ * @defaultValue []
1877
+ */
1878
+ defaultFileList?: readonly UploadFile[];
1879
+ /**
1880
+ * 上传文件列表的展示形式。
1881
+ * @defaultValue "text"
1882
+ */
1883
+ listType?: "text" | "picture" | "picture-card";
1884
+ /**
1885
+ * 是否显示上传文件列表。
1886
+ * @defaultValue true
1887
+ */
1888
+ showUploadList?: boolean;
1889
+ /** 上传前校验或转换文件 */
1890
+ beforeUpload?: (file: File, fileList: readonly File[]) => boolean | File | typeof LIST_IGNORE | Promise<boolean | File | typeof LIST_IGNORE>;
1891
+ /** 自定义上传实现 */
1892
+ customRequest?: (options: UploadRequestOptions) => void | {
1893
+ /** 取消当前上传请求。 */
1894
+ abort?: () => void;
1895
+ };
1896
+ /** 值发生变化时调用;参数为新值及类型声明中列出的关联信息。 */
1897
+ onChange?: (info: UploadChangeInfo) => void;
1898
+ /** 请求移除文件时调用;返回值控制是否允许移除。 */
1899
+ onRemove?: (file: UploadFile) => boolean | Promise<boolean>;
1900
+ /** 子内容;组件嵌套内容或当前节点的子项。 */
1901
+ children?: ReactNode;
1902
+ }
1903
+ /** UploadDragger的属性配置。 */
1904
+ interface UploadDraggerProps extends UploadProps {
1905
+ /**
1906
+ * 帮助或校验信息
1907
+ * @defaultValue "支持单个或批量上传"
1908
+ */
1909
+ hint?: ReactNode;
1910
+ }
1911
+ declare function UploadRoot({ accept, multiple, directory, disabled, maxCount, fileList, defaultFileList, listType, showUploadList, beforeUpload, customRequest, onChange, onRemove, children, className, onDragOver, onDrop, ...props }: UploadProps): react.JSX.Element;
1912
+ declare function UploadDragger({ hint, children, className, ...props }: UploadDraggerProps): react.JSX.Element;
1913
+ /** 文件上传组件。 */
1914
+ declare const Upload: typeof UploadRoot & {
1915
+ /** 支持拖入文件上传的区域组件。 */
1916
+ Dragger: typeof UploadDragger;
1917
+ /** beforeUpload 返回此标记时忽略该文件,不加入上传列表。 */
1918
+ LIST_IGNORE: symbol;
1919
+ };
1920
+
1921
+ /** 弹层挂载节点或返回挂载节点的函数。 */
1922
+ type OverlayContainer = HTMLElement | (() => HTMLElement);
1923
+
1924
+ /** 模态框的类型标识。 */
1925
+ type ModalType = "default" | "info" | "success" | "warning" | "error" | "confirm";
1926
+ /** 确认操作的返回值;false 阻止关闭,Promise 可用于等待异步操作。 */
1927
+ type ModalActionResult = void | boolean | Promise<void | boolean>;
1928
+ /** 模态框的属性配置。 */
1929
+ interface ModalProps extends Omit<HTMLAttributes<HTMLDivElement>, "title" | "onSubmit"> {
1930
+ /** 是否显示对话框 */
1931
+ open: boolean;
1932
+ /** 标题 */
1933
+ title?: ReactNode;
1934
+ /** 子内容;组件嵌套内容或当前节点的子项。 */
1935
+ children?: ReactNode;
1936
+ /** 自定义底部操作区,传 null 隐藏 */
1937
+ footer?: ReactNode | null;
1938
+ /** 默认底部操作区左侧的扩展内容。 */
1939
+ footerExtra?: ReactNode;
1940
+ /**
1941
+ * 类型标识,用于选择对应的表现形式。
1942
+ * @defaultValue "default"
1943
+ */
1944
+ type?: ModalType;
1945
+ /**
1946
+ * 确定按钮文案。
1947
+ * @defaultValue "确定"
1948
+ */
1949
+ okText?: ReactNode;
1950
+ /**
1951
+ * 取消按钮文案。
1952
+ * @defaultValue "取消"
1953
+ */
1954
+ cancelText?: ReactNode;
1955
+ /**
1956
+ * 是否显示取消按钮。
1957
+ * @defaultValue type === "default" || type === "confirm"
1958
+ */
1959
+ showCancel?: boolean;
1960
+ /**
1961
+ * 确定操作是否正在执行;为 true 时阻止重复提交和关闭。
1962
+ * @defaultValue false
1963
+ */
1964
+ confirmLoading?: boolean;
1965
+ /** 确定按钮的 Button 属性。 */
1966
+ okButtonProps?: ButtonProps;
1967
+ /** 取消按钮的 Button 属性。 */
1968
+ cancelButtonProps?: ButtonProps;
1969
+ /**
1970
+ * 是否显示关闭入口。
1971
+ * @defaultValue true
1972
+ */
1973
+ closable?: boolean;
1974
+ /**
1975
+ * 点击遮罩时是否允许关闭。
1976
+ * @defaultValue true
1977
+ */
1978
+ maskClosable?: boolean;
1979
+ /**
1980
+ * 是否允许通过 Esc 等键盘操作关闭。
1981
+ * @defaultValue true
1982
+ */
1983
+ keyboard?: boolean;
1984
+ /**
1985
+ * 弹框是否垂直居中。
1986
+ * @defaultValue false
1987
+ */
1988
+ centered?: boolean;
1989
+ /**
1990
+ * 宽度;数值按像素处理,字符串可使用 CSS 尺寸。
1991
+ * @defaultValue 520
1992
+ */
1993
+ width?: number | string;
1994
+ /**
1995
+ 组件或浮层的堆叠层级。
1996
+ * @defaultValue 1000
1997
+ */
1998
+ zIndex?: number;
1999
+ /** 弹层挂载目标;可提供元素或返回元素的函数,默认挂载到页面容器。 */
2000
+ getContainer?: OverlayContainer;
2001
+ /** 确认回调,支持 Promise 与返回 false 阻止关闭 */
2002
+ onOk?: () => ModalActionResult;
2003
+ /** 用户取消或通过关闭入口退出时调用。 */
2004
+ onCancel?: () => void;
2005
+ /** 打开状态变化回调 */
2006
+ onOpenChange?: (open: boolean) => void;
2007
+ /** 动画完成后触发,适用于聚焦内容和释放外部挂载点。 */
2008
+ afterOpenChange?: (open: boolean) => void;
2009
+ }
2010
+ /** ModalOpen的配置。 */
2011
+ interface ModalOpenConfig extends Omit<ModalProps, "open"> {
2012
+ }
2013
+ /** OverlayApi的操作句柄。 */
2014
+ interface OverlayApiHandle<T> {
2015
+ /** 关闭弹层并在退出动画后释放挂载点。程序化关闭不会模拟用户取消按钮点击。 */
2016
+ destroy: () => void;
2017
+ /** 合并更新已打开弹层的配置,未提供的属性保留原值。 */
2018
+ update: (next: Partial<T>) => void;
2019
+ }
2020
+ declare function openModal(config: ModalOpenConfig): OverlayApiHandle<ModalOpenConfig>;
2021
+ /** 模态框组件。 */
2022
+ declare const Modal: react.ForwardRefExoticComponent<ModalProps & react.RefAttributes<HTMLDivElement>> & {
2023
+ /** 直接打开实例,返回可用于更新或关闭的操作句柄。 */
2024
+ open: typeof openModal;
2025
+ /** 显示普通信息提示。 */
2026
+ info: (config: ModalOpenConfig) => OverlayApiHandle<ModalOpenConfig>;
2027
+ /** 显示成功提示。 */
2028
+ success: (config: ModalOpenConfig) => OverlayApiHandle<ModalOpenConfig>;
2029
+ /** 显示警告提示。 */
2030
+ warning: (config: ModalOpenConfig) => OverlayApiHandle<ModalOpenConfig>;
2031
+ /** 显示错误提示。 */
2032
+ error: (config: ModalOpenConfig) => OverlayApiHandle<ModalOpenConfig>;
2033
+ /** 打开确认弹框,支持异步确认;返回 false 可阻止关闭。 */
2034
+ confirm: (config: ModalOpenConfig) => OverlayApiHandle<ModalOpenConfig>;
2035
+ /** 关闭由此 API 打开的所有弹层。 */
2036
+ destroyAll(): void;
2037
+ };
2038
+
2039
+ /** 全局消息的类型标识。 */
2040
+ type MessageType = "info" | "success" | "warning" | "error" | "loading";
2041
+ /** 全局消息的唯一标识,用于更新或关闭已有消息。 */
2042
+ type MessageKey = string | number;
2043
+ /** 全局消息的配置。 */
2044
+ interface MessageConfig {
2045
+ /** 唯一标识;同一集合内应保持唯一且稳定,用于定位、渲染和状态关联。 */
2046
+ key?: MessageKey;
2047
+ /** 类型标识,用于选择对应的表现形式。 */
2048
+ type?: MessageType;
2049
+ /** 消息正文,支持文本或 React 节点。 */
2050
+ content: ReactNode;
2051
+ /** 自动关闭延迟,单位为秒;0 表示不自动关闭。 */
2052
+ duration?: number;
2053
+ /** 是否显示关闭入口。 */
2054
+ closable?: boolean;
2055
+ /** 请求关闭时触发的回调。 */
2056
+ onClose?: () => void;
2057
+ }
2058
+ /** 全局消息的操作句柄。 */
2059
+ interface MessageHandle {
2060
+ /** 关闭当前界面或实例。 */
2061
+ close: () => void;
2062
+ /** 局部更新当前实例配置,未传入的字段保持原值。 */
2063
+ update: (next: Partial<MessageConfig>) => void;
2064
+ }
2065
+ declare function openMessage(input: ReactNode | MessageConfig): MessageHandle;
2066
+ /** 全局消息 API,可直接显示成功、错误、警告等短提示,并通过句柄关闭。 */
2067
+ declare const message: {
2068
+ /** 直接打开实例,返回可用于更新或关闭的操作句柄。 */
2069
+ open: typeof openMessage;
2070
+ /** 显示普通信息提示。 */
2071
+ info: (content: ReactNode, duration?: number) => MessageHandle;
2072
+ /** 显示成功提示。 */
2073
+ success: (content: ReactNode, duration?: number) => MessageHandle;
2074
+ /** 显示警告提示。 */
2075
+ warning: (content: ReactNode, duration?: number) => MessageHandle;
2076
+ /** 显示错误提示。 */
2077
+ error: (content: ReactNode, duration?: number) => MessageHandle;
2078
+ /** 显示持续加载提示。 */
2079
+ loading: (content: ReactNode, duration?: number) => MessageHandle;
2080
+ /** 关闭指定实例;未指定标识时关闭所有实例。 */
2081
+ destroy(key?: MessageKey): void;
2082
+ /** 配置消息默认持续时间和最大同时显示数量。 */
2083
+ config(config: {
2084
+ /** 默认自动关闭时间,单位为秒;0 表示不自动关闭。 */
2085
+ duration?: number;
2086
+ /** 同时显示的最大消息数量。 */
2087
+ maxCount?: number;
2088
+ }): void;
2089
+ };
2090
+
2091
+ /** 面包屑的项目定义。 */
2092
+ interface BreadcrumbItem {
2093
+ /** 唯一标识;同一集合内应保持唯一且稳定,用于定位、渲染和状态关联。 */
2094
+ key?: string;
2095
+ /** 标题内容,可传入文本或 React 节点。 */
2096
+ title: ReactNode;
2097
+ /** 显示在内容旁的图标节点,建议使用 Icon 组件。 */
2098
+ icon?: ReactNode;
2099
+ /** 链接目标地址。 */
2100
+ href?: string;
2101
+ /** 关联的目标元素或获取目标元素的函数。 */
2102
+ target?: string;
2103
+ /** 是否禁用交互。 */
2104
+ disabled?: boolean;
2105
+ /** 点击时触发,参数为当前点击事件或项目上下文。 */
2106
+ onClick?: MouseEventHandler<HTMLElement>;
2107
+ /** 覆盖当前项后方的分隔符,null 可隐藏分隔符。 */
2108
+ separator?: ReactNode;
2109
+ /** 菜单项、选中状态与点击回调 */
2110
+ menu?: DropdownMenuProps;
2111
+ }
2112
+ /** 面包屑的属性配置。 */
2113
+ interface BreadcrumbProps extends HTMLAttributes<HTMLElement> {
2114
+ /** 按层级排列的项目,最后一项表示当前页面 */
2115
+ items: readonly BreadcrumbItem[];
2116
+ /**
2117
+ * 全局分隔符,可传入图标或文字
2118
+ * @defaultValue "/"
2119
+ */
2120
+ separator?: ReactNode;
2121
+ /** 自定义项目内容,可接入路由 Link */
2122
+ itemRender?: (item: BreadcrumbItem, index: number, items: readonly BreadcrumbItem[]) => ReactNode;
2123
+ }
2124
+ /** 面包屑组件。 */
2125
+ declare function Breadcrumb({ items, separator, itemRender, className, ...props }: BreadcrumbProps): react.JSX.Element;
2126
+
2127
+ /** 排版的类型标识。 */
2128
+ type TypographyType = "secondary" | "success" | "warning" | "danger";
2129
+ /** 排版的属性配置。 */
2130
+ interface TypographyProps extends HTMLAttributes<HTMLElement> {
2131
+ /** 辅助、成功、警告或危险文本 */
2132
+ type?: TypographyType;
2133
+ /** 禁用样式及复制、编辑操作 */
2134
+ disabled?: boolean;
2135
+ /** 是否显示为加粗文字。 */
2136
+ strong?: boolean;
2137
+ /** 是否显示为斜体。 */
2138
+ italic?: boolean;
2139
+ /** 是否显示下划线。 */
2140
+ underline?: boolean;
2141
+ /** 是否显示删除线。 */
2142
+ delete?: boolean;
2143
+ /** 是否使用标记高亮样式。 */
2144
+ mark?: boolean;
2145
+ /** 代码内容或按键代码。 */
2146
+ code?: boolean;
2147
+ /** 是否允许通过 Esc 等键盘操作关闭。 */
2148
+ keyboard?: boolean;
2149
+ /** 复制完整文本,可指定复制内容和成功回调 */
2150
+ copyable?: boolean | {
2151
+ /** 显示文本。 */
2152
+ text?: string;
2153
+ /** 复制操作触发后的回调。 */
2154
+ onCopy?: () => void;
2155
+ };
2156
+ /** 纯文本编辑;text 用于受控内容,onChange 在保存时触发 */
2157
+ editable?: boolean | {
2158
+ /** 显示文本。 */
2159
+ text?: string;
2160
+ /** 值发生变化时调用;参数为新值及类型声明中列出的关联信息。 */
2161
+ onChange?: (text: string) => void;
2162
+ /** 允许输入的最大字符数 */
2163
+ maxLength?: number;
2164
+ };
2165
+ /** 是否对超出可用宽度的内容进行省略,或指定省略配置。 */
2166
+ ellipsis?: boolean | {
2167
+ /** 默认可见行数 */
2168
+ rows?: number;
2169
+ /** 是否允许展开更多内容。 */
2170
+ expandable?: boolean;
2171
+ };
2172
+ }
2173
+ /** TypographyTitle的属性配置。 */
2174
+ interface TypographyTitleProps extends TypographyProps {
2175
+ /** 标题或节点的层级。 */
2176
+ level?: 1 | 2 | 3 | 4 | 5;
2177
+ }
2178
+ /** TypographyLink的属性配置。 */
2179
+ interface TypographyLinkProps extends AnchorHTMLAttributes<HTMLAnchorElement> {
2180
+ /** 是否禁用交互。 */
2181
+ disabled?: boolean;
2182
+ }
2183
+ declare function Title({ level, ...props }: TypographyTitleProps): react.JSX.Element;
2184
+ declare function Text(props: TypographyProps): react.JSX.Element;
2185
+ declare function Paragraph(props: TypographyProps): react.JSX.Element;
2186
+ declare function Link({ disabled, className, onClick, href, target, rel, ...props }: TypographyLinkProps): react.JSX.Element;
2187
+ declare function TypographyRoot({ className, ...props }: HTMLAttributes<HTMLDivElement>): react.JSX.Element;
2188
+ /** 排版组件。 */
2189
+ declare const Typography: typeof TypographyRoot & {
2190
+ /** 语义化标题,支持标题级别、复制和编辑。 */
2191
+ Title: typeof Title;
2192
+ /** 行内文本,支持强调、复制、编辑和省略。 */
2193
+ Text: typeof Text;
2194
+ /** 段落文本,支持复制、编辑和省略。 */
2195
+ Paragraph: typeof Paragraph;
2196
+ /** 具有排版样式的链接。 */
2197
+ Link: typeof Link;
2198
+ };
2199
+
2200
+ /** 浮动按钮的外形。 */
2201
+ type FloatButtonShape = "circle" | "square";
2202
+ /** 浮动按钮的属性配置。 */
2203
+ interface FloatButtonProps extends Omit<ButtonHTMLAttributes<HTMLButtonElement>, "type" | "content"> {
2204
+ /** 显示在内容旁的图标节点,建议使用 Icon 组件。 */
2205
+ icon?: ReactNode;
2206
+ /** 补充说明内容。 */
2207
+ description?: ReactNode;
2208
+ /** 浮动按钮的提示内容。 */
2209
+ tooltip?: ReactNode;
2210
+ /**
2211
+ * 类型标识,用于选择对应的表现形式。
2212
+ * @defaultValue "default"
2213
+ */
2214
+ type?: "default" | "primary";
2215
+ /**
2216
+ * 外观形状。
2217
+ * @defaultValue "circle"
2218
+ */
2219
+ shape?: FloatButtonShape;
2220
+ /** 数字、红点和溢出计数配置 */
2221
+ badge?: Pick<BadgeProps, "count" | "dot" | "overflowCount" | "showZero" | "color">;
2222
+ /**
2223
+ * 原生按钮类型,例如 button、submit 或 reset。
2224
+ * @defaultValue "button"
2225
+ */
2226
+ htmlType?: "button" | "submit" | "reset";
2227
+ }
2228
+ /** FloatButtonGroup的属性配置。 */
2229
+ interface FloatButtonGroupProps extends Omit<HTMLAttributes<HTMLDivElement>, "onChange"> {
2230
+ /**
2231
+ * 外观形状。
2232
+ * @defaultValue "circle"
2233
+ */
2234
+ shape?: FloatButtonShape;
2235
+ /**
2236
+ * 类型标识,用于选择对应的表现形式。
2237
+ * @defaultValue "default"
2238
+ */
2239
+ type?: "default" | "primary";
2240
+ /** 显示在内容旁的图标节点,建议使用 Icon 组件。 */
2241
+ icon?: ReactNode;
2242
+ /** 自定义关闭图标。 */
2243
+ closeIcon?: ReactNode;
2244
+ /** 提示内容或提示框配置。 */
2245
+ tooltip?: ReactNode;
2246
+ /** 触发显示的交互方式。 */
2247
+ trigger?: "click" | "hover";
2248
+ /**
2249
+ * 相对于触发元素的弹出方向和对齐位置。
2250
+ * @defaultValue "top"
2251
+ */
2252
+ placement?: "top" | "bottom" | "left" | "right";
2253
+ /** 是否打开;传入后由外部控制显示状态。 */
2254
+ open?: boolean;
2255
+ /**
2256
+ * 非受控模式下的初始打开状态。
2257
+ * @defaultValue false
2258
+ */
2259
+ defaultOpen?: boolean;
2260
+ /** 打开状态改变时触发,参数为新的打开状态。 */
2261
+ onOpenChange?: (open: boolean) => void;
2262
+ }
2263
+ declare function FloatButtonGroup({ shape, type, icon, closeIcon, tooltip, trigger, placement, open, defaultOpen, onOpenChange, children, className, onMouseEnter, onMouseLeave, onKeyDown, onBlur, ...props }: FloatButtonGroupProps): react.JSX.Element;
2264
+ /** FloatButtonBackTop的属性配置。 */
2265
+ interface FloatButtonBackTopProps extends FloatButtonProps {
2266
+ /** 关联的目标元素或获取目标元素的函数。 */
2267
+ target?: () => HTMLElement | Window | null;
2268
+ /**
2269
+ * 滚动距离超过此值时显示返回顶部按钮。
2270
+ * @defaultValue 400
2271
+ */
2272
+ visibilityHeight?: number;
2273
+ /**
2274
+ * 滚动行为,smooth 表示平滑滚动。
2275
+ * @defaultValue "smooth"
2276
+ */
2277
+ behavior?: ScrollBehavior;
2278
+ }
2279
+ declare function FloatButtonBackTop({ target, visibilityHeight, behavior, onClick, icon, tooltip, ...props }: FloatButtonBackTopProps): react.JSX.Element | null;
2280
+ /** 浮动按钮组件。 */
2281
+ declare const FloatButton: react.ForwardRefExoticComponent<FloatButtonProps & react.RefAttributes<HTMLButtonElement>> & {
2282
+ /** 组合多个子项并统一管理布局或选择状态。 */
2283
+ Group: typeof FloatButtonGroup;
2284
+ /** 滚动超过指定距离后显示的返回顶部按钮。 */
2285
+ BackTop: typeof FloatButtonBackTop;
2286
+ };
2287
+
2288
+ export { type ImageProps as $, type DropdownPlacement as A, type ButtonProps as B, Calendar as C, Dropdown as D, type DropdownProps as E, type DropdownTrigger as F, FILLED_ICON_NAMES as G, type FilledIconName as H, FloatButton as I, type FloatButtonBackTopProps as J, type FloatButtonGroupProps as K, type FloatButtonProps as L, type ModalOpenConfig as M, type FloatButtonShape as N, type OverlayContainer as O, type FloatingPlacement as P, type FloatingTrigger as Q, ICON_NAMES as R, Icon as S, type TagStatus as T, type IconName as U, type IconProps as V, type IconVariant as W, Image as X, ImagePreview as Y, type ImagePreviewConfig as Z, type ImagePreviewProps as _, type OverlayApiHandle as a, type TypographyTitleProps as a$, Input as a0, type InputProps as a1, Menu as a2, type MenuClickInfo as a3, type MenuItem as a4, type MenuMode as a5, type MenuProps as a6, type MenuTheme as a7, type MessageConfig as a8, type MessageHandle as a9, type StepsProps as aA, type TabItem as aB, Tabs as aC, type TabsContextMenuClickInfo as aD, type TabsOrientation as aE, type TabsPosition as aF, type TabsProps as aG, type TabsType as aH, Tag as aI, type TagProps as aJ, type TagVariant as aK, Timeline as aL, type TimelineItem as aM, type TimelineProps as aN, Tooltip as aO, type TooltipProps as aP, Tour as aQ, type TourProps as aR, type TourStep as aS, Tree as aT, type TreeDropPosition as aU, type TreeKey as aV, type TreeNode as aW, type TreeProps as aX, Typography as aY, type TypographyLinkProps as aZ, type TypographyProps as a_, type MessageKey as aa, type MessageType as ab, Modal as ac, type ModalProps as ad, type ModalType as ae, type NotificationConfig as af, type NotificationPlacement as ag, type NotificationType as ah, Popconfirm as ai, type PopconfirmProps as aj, Popover as ak, type PopoverProps as al, Progress as am, type ProgressProps as an, type ProgressStatus as ao, Rate as ap, type RateProps as aq, Segmented as ar, type SegmentedOption as as, type SegmentedProps as at, type SegmentedValue as au, Spin as av, type SpinProps as aw, type StepItem as ax, type StepStatus as ay, Steps as az, type ModalActionResult as b, type TypographyType as b0, Upload as b1, type UploadChangeInfo as b2, type UploadDraggerProps as b3, type UploadFile as b4, type UploadFileStatus as b5, type UploadProps as b6, type UploadRequestOptions as b7, Watermark as b8, type WatermarkFont as b9, type WatermarkProps as ba, message as bb, notification as bc, type ButtonSize as c, type BadgeProps as d, Badge as e, type BadgeRibbonProps as f, type BadgeStatus as g, Breadcrumb as h, type BreadcrumbItem as i, type BreadcrumbProps as j, Button as k, type ButtonVariant as l, type CalendarProps as m, Card as n, type CardAccent as o, type CardProps as p, Carousel as q, type CarouselProps as r, type CarouselRef as s, Collapse as t, type CollapseItem as u, type CollapseKey as v, type CollapseProps as w, type DropdownButtonProps as x, type DropdownMenuProps as y, type DropdownOpenSource as z };