@agentscope-ai/design 1.0.26-beta.1768906295632 → 1.0.26

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.
package/llms/all.llms.txt CHANGED
@@ -13,166 +13,6 @@
13
13
 
14
14
 
15
15
 
16
- <DemoTitle title="TimePicker" desc="输入或选择时间的控件。">
17
- #### API
18
-
19
- <AntdApiRef url="https://ant.design/components/time-picker-cn/#api"></AntdApiRef>
20
-
21
-
22
- ## antd API
23
-
24
-
25
-
26
- 通用属性参考:[通用属性](/docs/react/common-props)
27
-
28
-
29
- ```jsx
30
- import dayjs from 'dayjs';
31
- import customParseFormat from 'dayjs/plugin/customParseFormat'
32
-
33
- dayjs.extend(customParseFormat)
34
- <TimePicker defaultValue={dayjs('13:30:56', 'HH:mm:ss')} />;
35
- ```
36
-
37
-
38
- | 参数 | 说明 | 类型 | 默认值 | 版本 |
39
- |--------|--------|--------|--------|--------|
40
- | allowClear | 自定义清除按钮 | boolean \| { clearIcon?: ReactNode } | true | 5.8.0: 支持对象类型 |
41
- | autoFocus | 自动获取焦点 | boolean | false | |
42
- | cellRender | 自定义单元格的内容 | (current: number, info: { originNode: React.ReactNode, today: dayjs, range?: 'start' \| 'end', subType: 'hour' \| 'minute' \| 'second' \| 'meridiem' }) => React.ReactNode | - | 5.4.0 |
43
- | changeOnScroll | 在滚动时改变选择值 | boolean | false | 5.14.0 |
44
- | className | 选择器类名 | string | - | |
45
- | defaultValue | 默认时间 | | - | |
46
- | disabled | 禁用全部操作 | boolean | false | |
47
- | disabledTime | 不可选择的时间 | | - | 4.19.0 |
48
- | format | 展示的时间格式 | string | HH:mm:ss | |
49
- | getPopupContainer | 定义浮层的容器,默认为 body 上新建 div | function(trigger) | - | |
50
- | hideDisabledOptions | 隐藏禁止选择的选项 | boolean | false | |
51
- | hourStep | 小时选项间隔 | number | 1 | |
52
- | inputReadOnly | 设置输入框为只读(避免在移动设备上打开虚拟键盘) | boolean | false | |
53
- | minuteStep | 分钟选项间隔 | number | 1 | |
54
- | needConfirm | 是否需要确认按钮,为 | boolean | - | 5.14.0 |
55
- | open | 面板是否打开 | boolean | false | |
56
- | placeholder | 没有值的时候显示的内容 | string \| [string, string] | 请选择时间 | |
57
- | placement | 选择框弹出的位置 | bottomLeft | bottomLeft | |
58
- | popupClassName | 弹出层类名 | string | - | |
59
- | popupStyle | 弹出层样式对象 | object | - | |
60
- | prefix | 自定义前缀 | ReactNode | - | 5.22.0 |
61
- | renderExtraFooter | 选择框底部显示自定义的内容 | () => ReactNode | - | |
62
- | secondStep | 秒选项间隔 | number | 1 | |
63
- | showNow | 面板是否显示“此刻”按钮 | boolean | - | 4.4.0 |
64
- | size | 输入框大小, | large | - | |
65
- | status | 设置校验状态 | 'error' \| 'warning' | - | 4.19.0 |
66
- | suffixIcon | 自定义的选择框后缀图标 | ReactNode | - | |
67
- | use12Hours | 使用 12 小时制,为 true 时 | boolean | false | |
68
- | value | 当前时间 | | - | |
69
- | variant | 形态变体 | outlined | outlined | 5.13.0 \| |
70
- | onCalendarChange | 待选日期发生变化的回调。 | function(dates: [dayjs, dayjs], dateStrings: [string, string], info: { range: | - | |
71
- | onChange | 时间发生变化的回调 | function(time: dayjs, timeString: string): void | - | |
72
- | onOpenChange | 面板打开/关闭时的回调 | (open: boolean) => void | - | |
73
-
74
-
75
- #### DisabledTime
76
-
77
-
78
- ```typescript
79
- type DisabledTime = (now: Dayjs) => {
80
- disabledHours?: () => number[];
81
- disabledMinutes?: (selectedHour: number) => number[];
82
- disabledSeconds?: (selectedHour: number, selectedMinute: number) => number[];
83
- disabledMilliseconds?: (
84
- selectedHour: number,
85
- selectedMinute: number,
86
- selectedSecond: number,
87
- ) => number[];
88
- };
89
- ```
90
-
91
-
92
- 注意:`disabledMilliseconds` 为 `5.14.0` 新增。
93
-
94
- ## 方法
95
-
96
- | 名称 | 描述 | 版本 |
97
- |--------|--------|--------|
98
- | blur() | 移除焦点 | |
99
- | focus() | 获取焦点 | |
100
-
101
-
102
- ## RangePicker
103
-
104
- 属性与 DatePicker 的 [RangePicker](/components/date-picker-cn#rangepicker) 相同。还包含以下属性:
105
-
106
- | 参数 | 说明 | 类型 | 默认值 | 版本 |
107
- |--------|--------|--------|--------|--------|
108
- | disabledTime | 不可选择的时间 | | - | 4.19.0 |
109
- | order | 始末时间是否自动排序 | boolean | true | 4.1.0 |
110
-
111
-
112
- ### RangeDisabledTime
113
-
114
-
115
- ```typescript
116
- type RangeDisabledTime = (
117
- now: Dayjs,
118
- type = 'start' | 'end',
119
- ) => {
120
- disabledHours?: () => number[];
121
- disabledMinutes?: (selectedHour: number) => number[];
122
- disabledSeconds?: (selectedHour: number, selectedMinute: number) => number[];
123
- };
124
- ```
125
-
126
-
127
-
128
-
129
- <DemoTitle title="Tooltip" desc="简单的文本提示气泡框">
130
- #### API
131
-
132
- | 属性名 | 描述 | 类型 | 默认值 |
133
- |--------|--------|--------|--------|
134
- | mode | 颜色模式 | 'dark' \| 'light' | 'dark' |
135
- | maxHeight | 最大高度 | number \| string | '90vh' |
136
-
137
-
138
- <AntdApiRef url="https://ant.design/components/tooltip-cn/#api"></AntdApiRef>
139
-
140
-
141
- ## antd API
142
-
143
- 通用属性参考:[通用属性](/docs/react/common-props)
144
-
145
- | 参数 | 说明 | 类型 | 默认值 |
146
- |--------|--------|--------|--------|
147
- | title | 提示文字 | ReactNode \| () => ReactNode | - |
148
-
149
-
150
- ### 共同的 API
151
-
152
- 以下 API 为 Tooltip、Popconfirm、Popover 共享的 API。
153
-
154
- <!-- prettier-ignore -->
155
- | 参数 | 说明 | 类型 | 默认值 | 版本 |
156
- |--------|--------|--------|--------|--------|
157
- | align | 该值将合并到 placement 的配置中,设置参考 | object | - | |
158
- | arrow | 修改箭头的显示状态以及修改箭头是否指向目标元素中心 | boolean \| { pointAtCenter: boolean } | true | 5.2.0 |
159
- | autoAdjustOverflow | 气泡被遮挡时自动调整位置 | boolean | true | |
160
- | color | 背景颜色 | string | - | 4.3.0 |
161
- | defaultOpen | 默认是否显隐 | boolean | false | 4.23.0 |
162
- | destroyOnHidden | 关闭后是否销毁 dom | boolean | false | 5.25.0 |
163
- | fresh | 默认情况下,Tooltip 在关闭时会缓存内容。设置该属性后会始终保持更新 | boolean | false | 5.10.0 |
164
- | getPopupContainer | 浮层渲染父节点,默认渲染到 body 上 | (triggerNode: HTMLElement) => HTMLElement | () => document.body | |
165
- | mouseEnterDelay | 鼠标移入后延时多少才显示 Tooltip,单位:秒 | number | 0.1 | |
166
- | mouseLeaveDelay | 鼠标移出后延时多少才隐藏 Tooltip,单位:秒 | number | 0.1 | |
167
- | placement | 气泡框位置,可选 | string | top | |
168
- | trigger | 触发行为,可选 | string \| string[] | hover | |
169
- | open | 用于手动控制浮层显隐,小于 4.23.0 使用 | boolean | false | 4.23.0 |
170
- | zIndex | 设置 Tooltip 的 | number | - | |
171
- | onOpenChange | 显示隐藏的回调 | (open: boolean) => void | - | 4.23.0 |
172
-
173
-
174
-
175
-
176
16
  <DemoTitle title="Upload" desc="文件选择上传和拖拽上传控件。">
177
17
  #### API
178
18
 
@@ -269,122 +109,64 @@ type RangeDisabledTime = (
269
109
 
270
110
 
271
111
 
272
- <DemoTitle title="Tabs" desc="用户可以通过点击不同的标签在同一页面中查看不同的内容区域。">
112
+ <DemoTitle title="Tooltip" desc="简单的文本提示气泡框">
273
113
  #### API
274
114
 
275
115
  | 属性名 | 描述 | 类型 | 默认值 |
276
116
  |--------|--------|--------|--------|
277
- | type | 类型 | 'line' \| 'card' \| 'editable-card' \| 'segmented' | true |
117
+ | mode | 颜色模式 | 'dark' \| 'light' | 'dark' |
118
+ | maxHeight | 最大高度 | number \| string | '90vh' |
278
119
 
279
120
 
280
- <AntdApiRef url="https://ant.design/components/tabs-cn/#api"></AntdApiRef>
121
+ <AntdApiRef url="https://ant.design/components/tooltip-cn/#api"></AntdApiRef>
281
122
 
282
123
 
283
124
  ## antd API
284
125
 
285
126
  通用属性参考:[通用属性](/docs/react/common-props)
286
127
 
287
- ### Tabs
288
-
289
- | 参数 | 说明 | 类型 | 默认值 | 版本 |
290
- |--------|--------|--------|--------|--------|
291
- | activeKey | 当前激活 tab 面板的 key | string | - | |
292
- | addIcon | 自定义添加按钮,设置 | ReactNode | | 4.4.0 |
293
- | animated | 是否使用动画切换 Tabs | boolean\| { inkBar: boolean, tabPane: boolean } | { inkBar: true, tabPane: false } | |
294
- | centered | 标签居中展示 | boolean | false | 4.4.0 |
295
- | defaultActiveKey | 初始化选中面板的 key,如果没有设置 activeKey | string | 第一个面板的 key | |
296
- | hideAdd | 是否隐藏加号图标,在 | boolean | false | |
297
- | indicator | 自定义指示条的长度和对齐方式 | { size?: number \| (origin: number) => number; align: | - | 5.13.0 |
298
- | items | 配置选项卡内容 | | [] | 4.23.0 |
299
- | more | 自定义折叠菜单属性 | | { icon: | |
300
- | removeIcon | 自定义删除按钮,设置 | ReactNode | | 5.15.0 |
301
- | popupClassName | 更多菜单的 | string | - | 4.21.0 |
302
- | renderTabBar | 替换 TabBar,用于二次封装标签头 | (props: DefaultTabBarProps, DefaultTabBar: React.ComponentClass) => React.ReactElement | - | |
303
- | size | 大小,提供 | string | middle | |
304
- | tabBarExtraContent | tab bar 上额外的元素 | ReactNode \| {left?: ReactNode, right?: ReactNode} | - | object: 4.6.0 |
305
- | tabBarGutter | tabs 之间的间隙 | number | - | |
306
- | tabBarStyle | tab bar 的样式对象 | CSSProperties | - | |
307
- | tabPosition | 页签位置,可选值有 | string | top | |
308
- | destroyOnHidden | 被隐藏时是否销毁 DOM 结构 | boolean | false | 5.25.0 |
309
- | onChange | 切换面板的回调 | (activeKey: string) => void | - | |
310
- | onEdit | 新增和删除页签的回调,在 | (action === 'add' ? event : targetKey, action) => void | - | |
311
- | onTabClick | tab 被点击的回调 | (key: string, event: MouseEvent) => void | - | |
312
- | onTabScroll | tab 滚动时触发 | ({ direction: | - | 4.3.0 |
313
-
314
-
315
- 更多属性查看 [rc-tabs tabs](https://github.com/react-component/tabs#tabs)
316
-
317
- ### TabItemType
128
+ | 参数 | 说明 | 类型 | 默认值 |
129
+ |--------|--------|--------|--------|
130
+ | title | 提示文字 | ReactNode \| () => ReactNode | - |
318
131
 
319
- | 参数 | 说明 | 类型 | 默认值 | 版本 |
320
- |--------|--------|--------|--------|--------|
321
- | closeIcon | 自定义关闭图标,在 | ReactNode | - | |
322
- | destroyOnHidden | 被隐藏时是否销毁 DOM 结构 | boolean | false | 5.25.0 |
323
- | disabled | 禁用某一项 | boolean | false | |
324
- | forceRender | 被隐藏时是否渲染 DOM 结构 | boolean | false | |
325
- | key | 对应 activeKey | string | - | |
326
- | label | 选项卡头显示文字 | ReactNode | - | |
327
- | icon | 选项卡头显示图标 | ReactNode | - | 5.12.0 |
328
- | children | 选项卡头显示内容 | ReactNode | - | |
329
- | closable | 是否显示选项卡的关闭按钮,在 | boolean | true | |
330
132
 
133
+ ### 共同的 API
331
134
 
332
- ### MoreProps
135
+ 以下 API 为 Tooltip、Popconfirm、Popover 共享的 API。
333
136
 
137
+ <!-- prettier-ignore -->
334
138
  | 参数 | 说明 | 类型 | 默认值 | 版本 |
335
139
  |--------|--------|--------|--------|--------|
336
- | icon | 自定义折叠图标 | ReactNode | - | |
337
- | | | | | |
140
+ | align | 该值将合并到 placement 的配置中,设置参考 | object | - | |
141
+ | arrow | 修改箭头的显示状态以及修改箭头是否指向目标元素中心 | boolean \| { pointAtCenter: boolean } | true | 5.2.0 |
142
+ | autoAdjustOverflow | 气泡被遮挡时自动调整位置 | boolean | true | |
143
+ | color | 背景颜色 | string | - | 4.3.0 |
144
+ | defaultOpen | 默认是否显隐 | boolean | false | 4.23.0 |
145
+ | destroyOnHidden | 关闭后是否销毁 dom | boolean | false | 5.25.0 |
146
+ | fresh | 默认情况下,Tooltip 在关闭时会缓存内容。设置该属性后会始终保持更新 | boolean | false | 5.10.0 |
147
+ | getPopupContainer | 浮层渲染父节点,默认渲染到 body 上 | (triggerNode: HTMLElement) => HTMLElement | () => document.body | |
148
+ | mouseEnterDelay | 鼠标移入后延时多少才显示 Tooltip,单位:秒 | number | 0.1 | |
149
+ | mouseLeaveDelay | 鼠标移出后延时多少才隐藏 Tooltip,单位:秒 | number | 0.1 | |
150
+ | placement | 气泡框位置,可选 | string | top | |
151
+ | trigger | 触发行为,可选 | string \| string[] | hover | |
152
+ | open | 用于手动控制浮层显隐,小于 4.23.0 使用 | boolean | false | 4.23.0 |
153
+ | zIndex | 设置 Tooltip 的 | number | - | |
154
+ | onOpenChange | 显示隐藏的回调 | (open: boolean) => void | - | 4.23.0 |
338
155
 
339
156
 
340
157
 
341
158
 
342
- <DemoTitle title="Tag" desc="进行标记和分类的小标签">
159
+ <DemoTitle title="Table" desc="展示行列数据。">
343
160
  #### API
344
161
 
345
- | 属性名 | 描述 | 类型 | 默认值 |
346
- |--------|--------|--------|--------|
347
- | size | 尺寸 | 'small' \| 'middle' | 'middle' |
348
- | color | 标签色 | SparkTagColors \| string | 'purple' |
349
-
350
- <AntdApiRef url="https://ant.design/components/tag-cn/#api"></AntdApiRef>
162
+ <AntdApiRef url="https://ant.design/components/table-cn/#api"></AntdApiRef>
351
163
 
352
164
 
353
165
  ## antd API
354
166
 
355
167
  通用属性参考:[通用属性](/docs/react/common-props)
356
168
 
357
- ### Tag
358
-
359
- | 参数 | 说明 | 类型 | 默认值 | 版本 |
360
- |--------|--------|--------|--------|--------|
361
- | closeIcon | 自定义关闭按钮。5.7.0:设置为 | ReactNode | false | 4.4.0 |
362
- | icon | 设置图标 | ReactNode | - | |
363
- | bordered | 是否有边框 | boolean | true | 5.4.0 |
364
- | onClose | 关闭时的回调(可通过 | (e: React.MouseEvent) => void | - | |
365
-
366
-
367
- ### Tag.CheckableTag
368
-
369
- | 参数 | 说明 | 类型 | 默认值 |
370
- |--------|--------|--------|--------|
371
- | checked | 设置标签的选中状态 | boolean | false |
372
- | onChange | 点击标签时触发的回调 | (checked) => void | - |
373
-
374
-
375
-
376
-
377
- <DemoTitle title="Table" desc="展示行列数据。">
378
- #### API
379
-
380
- <AntdApiRef url="https://ant.design/components/table-cn/#api"></AntdApiRef>
381
-
382
-
383
- ## antd API
384
-
385
- 通用属性参考:[通用属性](/docs/react/common-props)
386
-
387
- ### Table
169
+ ### Table
388
170
 
389
171
  | 参数 | 说明 | 类型 | 默认值 | 版本 |
390
172
  |--------|--------|--------|--------|--------|
@@ -629,6 +411,111 @@ TypeScript 里使用 Table 的 [CodeSandbox 实例](https://codesandbox.io/s/ser
629
411
 
630
412
 
631
413
 
414
+ <DemoTitle title="Tag" desc="进行标记和分类的小标签">
415
+ #### API
416
+
417
+ | 属性名 | 描述 | 类型 | 默认值 |
418
+ |--------|--------|--------|--------|
419
+ | size | 尺寸 | 'small' \| 'middle' | 'middle' |
420
+ | color | 标签色 | SparkTagColors \| string | 'purple' |
421
+
422
+ <AntdApiRef url="https://ant.design/components/tag-cn/#api"></AntdApiRef>
423
+
424
+
425
+ ## antd API
426
+
427
+ 通用属性参考:[通用属性](/docs/react/common-props)
428
+
429
+ ### Tag
430
+
431
+ | 参数 | 说明 | 类型 | 默认值 | 版本 |
432
+ |--------|--------|--------|--------|--------|
433
+ | closeIcon | 自定义关闭按钮。5.7.0:设置为 | ReactNode | false | 4.4.0 |
434
+ | icon | 设置图标 | ReactNode | - | |
435
+ | bordered | 是否有边框 | boolean | true | 5.4.0 |
436
+ | onClose | 关闭时的回调(可通过 | (e: React.MouseEvent) => void | - | |
437
+
438
+
439
+ ### Tag.CheckableTag
440
+
441
+ | 参数 | 说明 | 类型 | 默认值 |
442
+ |--------|--------|--------|--------|
443
+ | checked | 设置标签的选中状态 | boolean | false |
444
+ | onChange | 点击标签时触发的回调 | (checked) => void | - |
445
+
446
+
447
+
448
+
449
+ <DemoTitle title="Tabs" desc="用户可以通过点击不同的标签在同一页面中查看不同的内容区域。">
450
+ #### API
451
+
452
+ | 属性名 | 描述 | 类型 | 默认值 |
453
+ |--------|--------|--------|--------|
454
+ | type | 类型 | 'line' \| 'card' \| 'editable-card' \| 'segmented' | true |
455
+
456
+
457
+ <AntdApiRef url="https://ant.design/components/tabs-cn/#api"></AntdApiRef>
458
+
459
+
460
+ ## antd API
461
+
462
+ 通用属性参考:[通用属性](/docs/react/common-props)
463
+
464
+ ### Tabs
465
+
466
+ | 参数 | 说明 | 类型 | 默认值 | 版本 |
467
+ |--------|--------|--------|--------|--------|
468
+ | activeKey | 当前激活 tab 面板的 key | string | - | |
469
+ | addIcon | 自定义添加按钮,设置 | ReactNode | | 4.4.0 |
470
+ | animated | 是否使用动画切换 Tabs | boolean\| { inkBar: boolean, tabPane: boolean } | { inkBar: true, tabPane: false } | |
471
+ | centered | 标签居中展示 | boolean | false | 4.4.0 |
472
+ | defaultActiveKey | 初始化选中面板的 key,如果没有设置 activeKey | string | 第一个面板的 key | |
473
+ | hideAdd | 是否隐藏加号图标,在 | boolean | false | |
474
+ | indicator | 自定义指示条的长度和对齐方式 | { size?: number \| (origin: number) => number; align: | - | 5.13.0 |
475
+ | items | 配置选项卡内容 | | [] | 4.23.0 |
476
+ | more | 自定义折叠菜单属性 | | { icon: | |
477
+ | removeIcon | 自定义删除按钮,设置 | ReactNode | | 5.15.0 |
478
+ | popupClassName | 更多菜单的 | string | - | 4.21.0 |
479
+ | renderTabBar | 替换 TabBar,用于二次封装标签头 | (props: DefaultTabBarProps, DefaultTabBar: React.ComponentClass) => React.ReactElement | - | |
480
+ | size | 大小,提供 | string | middle | |
481
+ | tabBarExtraContent | tab bar 上额外的元素 | ReactNode \| {left?: ReactNode, right?: ReactNode} | - | object: 4.6.0 |
482
+ | tabBarGutter | tabs 之间的间隙 | number | - | |
483
+ | tabBarStyle | tab bar 的样式对象 | CSSProperties | - | |
484
+ | tabPosition | 页签位置,可选值有 | string | top | |
485
+ | destroyOnHidden | 被隐藏时是否销毁 DOM 结构 | boolean | false | 5.25.0 |
486
+ | onChange | 切换面板的回调 | (activeKey: string) => void | - | |
487
+ | onEdit | 新增和删除页签的回调,在 | (action === 'add' ? event : targetKey, action) => void | - | |
488
+ | onTabClick | tab 被点击的回调 | (key: string, event: MouseEvent) => void | - | |
489
+ | onTabScroll | tab 滚动时触发 | ({ direction: | - | 4.3.0 |
490
+
491
+
492
+ 更多属性查看 [rc-tabs tabs](https://github.com/react-component/tabs#tabs)
493
+
494
+ ### TabItemType
495
+
496
+ | 参数 | 说明 | 类型 | 默认值 | 版本 |
497
+ |--------|--------|--------|--------|--------|
498
+ | closeIcon | 自定义关闭图标,在 | ReactNode | - | |
499
+ | destroyOnHidden | 被隐藏时是否销毁 DOM 结构 | boolean | false | 5.25.0 |
500
+ | disabled | 禁用某一项 | boolean | false | |
501
+ | forceRender | 被隐藏时是否渲染 DOM 结构 | boolean | false | |
502
+ | key | 对应 activeKey | string | - | |
503
+ | label | 选项卡头显示文字 | ReactNode | - | |
504
+ | icon | 选项卡头显示图标 | ReactNode | - | 5.12.0 |
505
+ | children | 选项卡头显示内容 | ReactNode | - | |
506
+ | closable | 是否显示选项卡的关闭按钮,在 | boolean | true | |
507
+
508
+
509
+ ### MoreProps
510
+
511
+ | 参数 | 说明 | 类型 | 默认值 | 版本 |
512
+ |--------|--------|--------|--------|--------|
513
+ | icon | 自定义折叠图标 | ReactNode | - | |
514
+ | | | | | |
515
+
516
+
517
+
518
+
632
519
  <DemoTitle title="Switch" desc="使用开关切换两种状态之间。">
633
520
  #### API
634
521
 
@@ -670,6 +557,119 @@ TypeScript 里使用 Table 的 [CodeSandbox 实例](https://codesandbox.io/s/ser
670
557
 
671
558
 
672
559
 
560
+ <DemoTitle title="TimePicker" desc="输入或选择时间的控件。">
561
+ #### API
562
+
563
+ <AntdApiRef url="https://ant.design/components/time-picker-cn/#api"></AntdApiRef>
564
+
565
+
566
+ ## antd API
567
+
568
+
569
+
570
+ 通用属性参考:[通用属性](/docs/react/common-props)
571
+
572
+
573
+ ```jsx
574
+ import dayjs from 'dayjs';
575
+ import customParseFormat from 'dayjs/plugin/customParseFormat'
576
+
577
+ dayjs.extend(customParseFormat)
578
+ <TimePicker defaultValue={dayjs('13:30:56', 'HH:mm:ss')} />;
579
+ ```
580
+
581
+
582
+ | 参数 | 说明 | 类型 | 默认值 | 版本 |
583
+ |--------|--------|--------|--------|--------|
584
+ | allowClear | 自定义清除按钮 | boolean \| { clearIcon?: ReactNode } | true | 5.8.0: 支持对象类型 |
585
+ | autoFocus | 自动获取焦点 | boolean | false | |
586
+ | cellRender | 自定义单元格的内容 | (current: number, info: { originNode: React.ReactNode, today: dayjs, range?: 'start' \| 'end', subType: 'hour' \| 'minute' \| 'second' \| 'meridiem' }) => React.ReactNode | - | 5.4.0 |
587
+ | changeOnScroll | 在滚动时改变选择值 | boolean | false | 5.14.0 |
588
+ | className | 选择器类名 | string | - | |
589
+ | defaultValue | 默认时间 | | - | |
590
+ | disabled | 禁用全部操作 | boolean | false | |
591
+ | disabledTime | 不可选择的时间 | | - | 4.19.0 |
592
+ | format | 展示的时间格式 | string | HH:mm:ss | |
593
+ | getPopupContainer | 定义浮层的容器,默认为 body 上新建 div | function(trigger) | - | |
594
+ | hideDisabledOptions | 隐藏禁止选择的选项 | boolean | false | |
595
+ | hourStep | 小时选项间隔 | number | 1 | |
596
+ | inputReadOnly | 设置输入框为只读(避免在移动设备上打开虚拟键盘) | boolean | false | |
597
+ | minuteStep | 分钟选项间隔 | number | 1 | |
598
+ | needConfirm | 是否需要确认按钮,为 | boolean | - | 5.14.0 |
599
+ | open | 面板是否打开 | boolean | false | |
600
+ | placeholder | 没有值的时候显示的内容 | string \| [string, string] | 请选择时间 | |
601
+ | placement | 选择框弹出的位置 | bottomLeft | bottomLeft | |
602
+ | popupClassName | 弹出层类名 | string | - | |
603
+ | popupStyle | 弹出层样式对象 | object | - | |
604
+ | prefix | 自定义前缀 | ReactNode | - | 5.22.0 |
605
+ | renderExtraFooter | 选择框底部显示自定义的内容 | () => ReactNode | - | |
606
+ | secondStep | 秒选项间隔 | number | 1 | |
607
+ | showNow | 面板是否显示“此刻”按钮 | boolean | - | 4.4.0 |
608
+ | size | 输入框大小, | large | - | |
609
+ | status | 设置校验状态 | 'error' \| 'warning' | - | 4.19.0 |
610
+ | suffixIcon | 自定义的选择框后缀图标 | ReactNode | - | |
611
+ | use12Hours | 使用 12 小时制,为 true 时 | boolean | false | |
612
+ | value | 当前时间 | | - | |
613
+ | variant | 形态变体 | outlined | outlined | 5.13.0 \| |
614
+ | onCalendarChange | 待选日期发生变化的回调。 | function(dates: [dayjs, dayjs], dateStrings: [string, string], info: { range: | - | |
615
+ | onChange | 时间发生变化的回调 | function(time: dayjs, timeString: string): void | - | |
616
+ | onOpenChange | 面板打开/关闭时的回调 | (open: boolean) => void | - | |
617
+
618
+
619
+ #### DisabledTime
620
+
621
+
622
+ ```typescript
623
+ type DisabledTime = (now: Dayjs) => {
624
+ disabledHours?: () => number[];
625
+ disabledMinutes?: (selectedHour: number) => number[];
626
+ disabledSeconds?: (selectedHour: number, selectedMinute: number) => number[];
627
+ disabledMilliseconds?: (
628
+ selectedHour: number,
629
+ selectedMinute: number,
630
+ selectedSecond: number,
631
+ ) => number[];
632
+ };
633
+ ```
634
+
635
+
636
+ 注意:`disabledMilliseconds` 为 `5.14.0` 新增。
637
+
638
+ ## 方法
639
+
640
+ | 名称 | 描述 | 版本 |
641
+ |--------|--------|--------|
642
+ | blur() | 移除焦点 | |
643
+ | focus() | 获取焦点 | |
644
+
645
+
646
+ ## RangePicker
647
+
648
+ 属性与 DatePicker 的 [RangePicker](/components/date-picker-cn#rangepicker) 相同。还包含以下属性:
649
+
650
+ | 参数 | 说明 | 类型 | 默认值 | 版本 |
651
+ |--------|--------|--------|--------|--------|
652
+ | disabledTime | 不可选择的时间 | | - | 4.19.0 |
653
+ | order | 始末时间是否自动排序 | boolean | true | 4.1.0 |
654
+
655
+
656
+ ### RangeDisabledTime
657
+
658
+
659
+ ```typescript
660
+ type RangeDisabledTime = (
661
+ now: Dayjs,
662
+ type = 'start' | 'end',
663
+ ) => {
664
+ disabledHours?: () => number[];
665
+ disabledMinutes?: (selectedHour: number) => number[];
666
+ disabledSeconds?: (selectedHour: number, selectedMinute: number) => number[];
667
+ };
668
+ ```
669
+
670
+
671
+
672
+
673
673
  <DemoTitle title="Steps" desc="引导用户按照流程完成任务的导航条。">
674
674
  #### API
675
675
 
@@ -729,23 +729,6 @@ TypeScript 里使用 Table 的 [CodeSandbox 实例](https://codesandbox.io/s/ser
729
729
 
730
730
 
731
731
 
732
- <DemoTitle title="Spinner" desc="指示页面或区块的加载中状态">
733
- #### API
734
-
735
- | 属性名 | 描述 | 类型 | 默认值 |
736
- |--------|--------|--------|--------|
737
- | tip | indicator下方的tip | React.ReactNode | - |
738
- | indicator | 自定义indicator,用于展示progress的百分比和加载文案 | React.ReactNode | - |
739
- | children | 被spinner包裹的子元素 | React.ReactNode | - |
740
- | style | spinner最外层的样式 | React.CSSProperties | - |
741
- | className | spinner的类名 | string | - |
742
- | percent | 进度条的百分比 | number | - |
743
- | spinning | 是否为加载中状态 | boolean | false |
744
- | showProgress | 是否显示进度条,如果为true,不需要手动在children中添加Progress组件 | boolean | false |
745
-
746
-
747
-
748
-
749
732
  <DemoTitle title="Statistic" desc="展示统计数值">
750
733
  #### API
751
734
 
@@ -806,10 +789,27 @@ TypeScript 里使用 Table 的 [CodeSandbox 实例](https://codesandbox.io/s/ser
806
789
 
807
790
 
808
791
 
809
- <DemoTitle title="Slider" desc="滑动型输入器,展示当前值和可选范围。">
792
+ <DemoTitle title="Spinner" desc="指示页面或区块的加载中状态">
810
793
  #### API
811
794
 
812
- <AntdApiRef url="https://ant.design/components/slider-cn/#api"></AntdApiRef>
795
+ | 属性名 | 描述 | 类型 | 默认值 |
796
+ |--------|--------|--------|--------|
797
+ | tip | indicator下方的tip | React.ReactNode | - |
798
+ | indicator | 自定义indicator,用于展示progress的百分比和加载文案 | React.ReactNode | - |
799
+ | children | 被spinner包裹的子元素 | React.ReactNode | - |
800
+ | style | spinner最外层的样式 | React.CSSProperties | - |
801
+ | className | spinner的类名 | string | - |
802
+ | percent | 进度条的百分比 | number | - |
803
+ | spinning | 是否为加载中状态 | boolean | false |
804
+ | showProgress | 是否显示进度条,如果为true,不需要手动在children中添加Progress组件 | boolean | false |
805
+
806
+
807
+
808
+
809
+ <DemoTitle title="Slider" desc="滑动型输入器,展示当前值和可选范围。">
810
+ #### API
811
+
812
+ <AntdApiRef url="https://ant.design/components/slider-cn/#api"></AntdApiRef>
813
813
 
814
814
 
815
815
  ## antd API
@@ -870,6 +870,142 @@ TypeScript 里使用 Table 的 [CodeSandbox 实例](https://codesandbox.io/s/ser
870
870
 
871
871
 
872
872
 
873
+ <DemoTitle title="Skeleton" desc="在内容加载时提供占位图形展示。">
874
+ ## antd API
875
+
876
+ 通用属性参考:[通用属性](/docs/react/common-props)
877
+
878
+ ### Skeleton
879
+
880
+ | 属性 | 说明 | 类型 | 默认值 |
881
+ |--------|--------|--------|--------|
882
+ | active | 是否展示动画效果 | boolean | false |
883
+ | avatar | 是否显示头像占位图 | boolean \| | false |
884
+ | loading | 为 true 时,显示占位图。反之则直接展示子组件 | boolean | - |
885
+ | paragraph | 是否显示段落占位图 | boolean \| | true |
886
+ | round | 为 true 时,段落和标题显示圆角 | boolean | false |
887
+ | title | 是否显示标题占位图 | boolean \| | true |
888
+
889
+
890
+ ### SkeletonAvatarProps
891
+
892
+ | 属性 | 说明 | 类型 | 默认值 |
893
+ |--------|--------|--------|--------|
894
+ | active | 是否展示动画效果,仅在单独使用头像骨架时生效 | boolean | false |
895
+ | shape | 指定头像的形状 | circle | - |
896
+ | size | 设置头像占位图的大小 | number \| | - |
897
+
898
+
899
+ ### SkeletonTitleProps
900
+
901
+ | 属性 | 说明 | 类型 | 默认值 |
902
+ |--------|--------|--------|--------|
903
+ | width | 设置标题占位图的宽度 | number \| string | - |
904
+
905
+
906
+ ### SkeletonParagraphProps
907
+
908
+ | 属性 | 说明 | 类型 | 默认值 |
909
+ |--------|--------|--------|--------|
910
+ | rows | 设置段落占位图的行数 | number | - |
911
+ | width | 设置段落占位图的宽度,若为数组时则为对应的每行宽度,反之则是最后一行的宽度 | number \| string \| Array | - |
912
+
913
+
914
+ ### SkeletonButtonProps
915
+
916
+ | 属性 | 说明 | 类型 | 默认值 | 版本 |
917
+ |--------|--------|--------|--------|--------|
918
+ | active | 是否展示动画效果 | boolean | false | |
919
+ | block | 将按钮宽度调整为其父宽度的选项 | boolean | false | 4.17.0 |
920
+ | shape | 指定按钮的形状 | circle | - | |
921
+ | size | 设置按钮的大小 | large | - | |
922
+
923
+
924
+ ### SkeletonInputProps
925
+
926
+ | 属性 | 说明 | 类型 | 默认值 |
927
+ |--------|--------|--------|--------|
928
+ | active | 是否展示动画效果 | boolean | false |
929
+ | size | 设置输入框的大小 | large | - |
930
+
931
+
932
+
933
+
934
+ <DemoTitle title="RadioButton" desc="用于在多个备选项中选中单个状态。">
935
+ #### API
936
+
937
+ | 属性名 | 描述 | 类型 | 默认值 |
938
+ |--------|--------|--------|--------|
939
+ | bordered | 边框 | boolean | false |
940
+ | ghost | 按钮背景色类型 | boolean | true |
941
+ | gap | 间距 | number | 12 px |
942
+
943
+
944
+ <AntdApiRef url="https://ant.design/components/radio-cn/#api"></AntdApiRef>
945
+
946
+
947
+ ## antd API
948
+
949
+ 通用属性参考:[通用属性](/docs/react/common-props)
950
+
951
+ ### Radio/Radio.Button
952
+
953
+ <!-- prettier-ignore -->
954
+ | 参数 | 说明 | 类型 | 默认值 |
955
+ |--------|--------|--------|--------|
956
+ | autoFocus | 自动获取焦点 | boolean | false |
957
+ | checked | 指定当前是否选中 | boolean | false |
958
+ | defaultChecked | 初始是否选中 | boolean | false |
959
+ | disabled | 禁用 Radio | boolean | false |
960
+ | value | 根据 value 进行比较,判断是否选中 | any | - |
961
+
962
+
963
+ ### Radio.Group
964
+
965
+ 单选框组合,用于包裹一组 `Radio`。
966
+
967
+ <!-- prettier-ignore -->
968
+ | 参数 | 说明 | 类型 | 默认值 | 版本 |
969
+ |--------|--------|--------|--------|--------|
970
+ | buttonStyle | RadioButton 的风格样式,目前有描边和填色两种风格 | outline | outline | | |
971
+ | defaultValue | 默认选中的值 | any | - | | |
972
+ | disabled | 禁选所有子单选器 | boolean | false | | |
973
+ | name | RadioGroup 下所有 | string | - | | |
974
+ | options | 以配置形式设置子元素 | string[] \| number[] \| Array< | - | | |
975
+ | optionType | 用于设置 Radio | default | default | 4.4.0 | |
976
+ | size | 大小,只对按钮样式生效 | large | - | | |
977
+ | value | 用于设置当前选中的值 | any | - | | |
978
+ | block | 将 RadioGroup 宽度调整为其父宽度的选项 | boolean | false | 5.21.0 | |
979
+ | onChange | 选项变化时的回调函数 | function(e:Event) | - | | |
980
+
981
+
982
+ ### CheckboxOptionType
983
+
984
+ | 属性 | 说明 | 类型 | 默认值 | 版本 |
985
+ |--------|--------|--------|--------|--------|
986
+ | label | 用于作为 Radio 选项展示的文本 | string | - | 4.4.0 |
987
+ | value | 关联 Radio 选项的值 | string | - | 4.4.0 |
988
+ | style | 应用到 Radio 选项的 style | React.CSSProperties | - | 4.4.0 |
989
+ | className | Radio 选项的类名 | string | - | 5.25.0 |
990
+ | disabled | 指定 Radio 选项是否要禁用 | boolean | false | 4.4.0 |
991
+ | title | 添加 Title 属性值 | string | - | 4.4.0 |
992
+ | id | 添加 Radio Id 属性值 | string | - | 4.4.0 |
993
+ | onChange | 当 Radio Group 的值发送改变时触发 | (e: CheckboxChangeEvent) => void; | - | 4.4.0 |
994
+ | required | 指定 Radio 选项是否必填 | boolean | false | 4.4.0 |
995
+
996
+
997
+ ## 方法
998
+
999
+ ### Radio
1000
+
1001
+ | 名称 | 描述 |
1002
+ |--------|--------|
1003
+ | blur() | 移除焦点 |
1004
+ | focus() | 获取焦点 |
1005
+
1006
+
1007
+
1008
+
873
1009
  <DemoTitle title="Select" desc="下拉选择器">
874
1010
  ## antd API
875
1011
 
@@ -968,75 +1104,66 @@ TypeScript 里使用 Table 的 [CodeSandbox 实例](https://codesandbox.io/s/ser
968
1104
 
969
1105
 
970
1106
 
971
- <DemoTitle title="Skeleton" desc="在内容加载时提供占位图形展示。">
972
- ## antd API
973
-
974
- 通用属性参考:[通用属性](/docs/react/common-props)
975
-
976
- ### Skeleton
977
-
978
- | 属性 | 说明 | 类型 | 默认值 |
979
- |--------|--------|--------|--------|
980
- | active | 是否展示动画效果 | boolean | false |
981
- | avatar | 是否显示头像占位图 | boolean \| | false |
982
- | loading | 为 true 时,显示占位图。反之则直接展示子组件 | boolean | - |
983
- | paragraph | 是否显示段落占位图 | boolean \| | true |
984
- | round | 为 true 时,段落和标题显示圆角 | boolean | false |
985
- | title | 是否显示标题占位图 | boolean \| | true |
986
-
987
-
988
- ### SkeletonAvatarProps
1107
+ <DemoTitle title="Result" desc="为操作结果提供反馈信息的展示。">
1108
+ ## API
989
1109
 
990
- | 属性 | 说明 | 类型 | 默认值 |
1110
+ | 属性名 | 描述 | 类型 | 默认值 |
991
1111
  |--------|--------|--------|--------|
992
- | active | 是否展示动画效果,仅在单独使用头像骨架时生效 | boolean | false |
993
- | shape | 指定头像的形状 | circle | - |
994
- | size | 设置头像占位图的大小 | number \| | - |
1112
+ | texture | 是否显示纹理 | boolean | false |
995
1113
 
996
1114
 
997
- ### SkeletonTitleProps
998
1115
 
999
- | 属性 | 说明 | 类型 | 默认值 |
1000
- |--------|--------|--------|--------|
1001
- | width | 设置标题占位图的宽度 | number \| string | - |
1002
1116
 
1003
1117
 
1004
- ### SkeletonParagraphProps
1005
1118
 
1006
- | 属性 | 说明 | 类型 | 默认值 |
1007
- |--------|--------|--------|--------|
1008
- | rows | 设置段落占位图的行数 | number | - |
1009
- | width | 设置段落占位图的宽度,若为数组时则为对应的每行宽度,反之则是最后一行的宽度 | number \| string \| Array | - |
1119
+ <DemoTitle title="Progress" desc="用于指示任务的完成进度">
1120
+ ## antd API
1010
1121
 
1122
+ 通用属性参考:[通用属性](/docs/react/common-props)
1011
1123
 
1012
- ### SkeletonButtonProps
1124
+ 各类型共用的属性。
1013
1125
 
1014
1126
  | 属性 | 说明 | 类型 | 默认值 | 版本 |
1015
1127
  |--------|--------|--------|--------|--------|
1016
- | active | 是否展示动画效果 | boolean | false | |
1017
- | block | 将按钮宽度调整为其父宽度的选项 | boolean | false | 4.17.0 |
1018
- | shape | 指定按钮的形状 | circle | - | |
1019
- | size | 设置按钮的大小 | large | - | |
1020
-
1128
+ | format | 内容的模板函数 | function(percent, successPercent) | (percent) => percent + | - |
1129
+ | percent | 百分比 | number | 0 | - |
1130
+ | showInfo | 是否显示进度数值或状态图标 | boolean | true | - |
1131
+ | status | 状态,可选: | string | - | - |
1132
+ | strokeColor | 进度条的色彩 | string | - | - |
1133
+ | strokeLinecap | 进度条的样式 | round | round | - |
1134
+ | success | 成功进度条相关配置 | { percent: number, strokeColor: string } | - | - |
1135
+ | trailColor | 未完成的分段的颜色 | string | - | - |
1136
+ | type | 类型,可选 | string | line | - |
1137
+ | size | 进度条的尺寸 | number \| [number \| string, number] \| { width: number, height: number } \| "small" \| "default" | "default" | 5.3.0, Object: 5.18.0 |
1021
1138
 
1022
- ### SkeletonInputProps
1023
1139
 
1024
- | 属性 | 说明 | 类型 | 默认值 |
1025
- |--------|--------|--------|--------|
1026
- | active | 是否展示动画效果 | boolean | false |
1027
- | size | 设置输入框的大小 | large | - |
1140
+ ### `type="line"`
1028
1141
 
1142
+ | 属性 | 说明 | 类型 | 默认值 | 版本 |
1143
+ |--------|--------|--------|--------|--------|
1144
+ | steps | 进度条总共步数 | number | - | - |
1145
+ | rounding | 用于四舍五入数值的函数 | (step: number) => number | Math.round | 5.24.0 |
1146
+ | strokeColor | 进度条的色彩,传入 object 时为渐变。当有 | string \| string[] \| { from: string; to: string; direction: string } | - | 4.21.0: |
1147
+ | percentPosition | 进度数值位置,传入对象, | { align: string; type: string } | { align: "end", type: "outer" } | 5.18.0 |
1029
1148
 
1030
1149
 
1150
+ ### `type="circle"`
1031
1151
 
1032
- <DemoTitle title="Result" desc="为操作结果提供反馈信息的展示。">
1033
- ## API
1152
+ | 属性 | 说明 | 类型 | 默认值 | 版本 |
1153
+ |--------|--------|--------|--------|--------|
1154
+ | steps | 进度条总共步数,传入 object 时,count 指步数,gap 指间隔大小。传 number 类型时,gap 默认为 2。 | number \| { count: number, gap: number } | - | 5.16.0 |
1155
+ | strokeColor | 圆形进度条线的色彩,传入 object 时为渐变 | string \| { number%: string } | - | - |
1156
+ | strokeWidth | 圆形进度条线的宽度,单位是进度条画布宽度的百分比 | number | 6 | - |
1034
1157
 
1035
- | 属性名 | 描述 | 类型 | 默认值 |
1036
- |--------|--------|--------|--------|
1037
- | texture | 是否显示纹理 | boolean | false |
1038
1158
 
1159
+ ### `type="dashboard"`
1039
1160
 
1161
+ | 属性 | 说明 | 类型 | 默认值 | 版本 |
1162
+ |--------|--------|--------|--------|--------|
1163
+ | steps | 进度条总共步数,传入 object 时,count 指步数,gap 指间隔大小。传 number 类型时,gap 默认为 2。 | number \| { count: number, gap: number } | - | 5.16.0 |
1164
+ | gapDegree | 仪表盘进度条缺口角度,可取值 0 ~ 295 | number | 75 | - |
1165
+ | gapPosition | 仪表盘进度条缺口位置 | top | bottom | - |
1166
+ | strokeWidth | 仪表盘进度条线的宽度,单位是进度条画布宽度的百分比 | number | 6 | - |
1040
1167
 
1041
1168
 
1042
1169
 
@@ -1109,147 +1236,64 @@ TypeScript 里使用 Table 的 [CodeSandbox 实例](https://codesandbox.io/s/ser
1109
1236
 
1110
1237
 
1111
1238
 
1112
- <DemoTitle title="RadioButton" desc="用于在多个备选项中选中单个状态。">
1239
+ <DemoTitle title="MdEditor" desc="提示词编辑器,可以高亮 Markdown 的语法,支持自定义槽位变量的插入">
1113
1240
  #### API
1114
1241
 
1115
1242
  | 属性名 | 描述 | 类型 | 默认值 |
1116
1243
  |--------|--------|--------|--------|
1117
- | bordered | 边框 | boolean | false |
1118
- | ghost | 按钮背景色类型 | boolean | true |
1119
- | gap | 间距 | number | 12 px |
1244
+ | maxLength | 可以输入内容的最大长度 | number | |
1245
+ | value | 输入的内容 | string | (必填) |
1246
+ | className | 输入内容的类名 | string | |
1247
+ | onChange | 输入内容的回调 | (value: string) => void | |
1248
+ | variables | 可以插入的变量列表 | Array | |
1249
+ | onCreate | 新增变量的触发回调 | () => void | |
1250
+ | createBtnText | 新增变量的按钮文本 | string | |
1251
+ | tipsText | 提示文本,传入 false 时隐藏提示 | string \| React.ReactNode \| false | |
1120
1252
 
1121
1253
 
1122
- <AntdApiRef url="https://ant.design/components/radio-cn/#api"></AntdApiRef>
1123
1254
 
1124
1255
 
1125
- ## antd API
1126
-
1127
- 通用属性参考:[通用属性](/docs/react/common-props)
1128
-
1129
- ### Radio/Radio.Button
1130
-
1131
- <!-- prettier-ignore -->
1132
- | 参数 | 说明 | 类型 | 默认值 |
1133
- |--------|--------|--------|--------|
1134
- | autoFocus | 自动获取焦点 | boolean | false |
1135
- | checked | 指定当前是否选中 | boolean | false |
1136
- | defaultChecked | 初始是否选中 | boolean | false |
1137
- | disabled | 禁用 Radio | boolean | false |
1138
- | value | 根据 value 进行比较,判断是否选中 | any | - |
1139
-
1140
-
1141
- ### Radio.Group
1142
-
1143
- 单选框组合,用于包裹一组 `Radio`。
1144
-
1145
- <!-- prettier-ignore -->
1146
- | 参数 | 说明 | 类型 | 默认值 | 版本 |
1147
- |--------|--------|--------|--------|--------|
1148
- | buttonStyle | RadioButton 的风格样式,目前有描边和填色两种风格 | outline | outline | | |
1149
- | defaultValue | 默认选中的值 | any | - | | |
1150
- | disabled | 禁选所有子单选器 | boolean | false | | |
1151
- | name | RadioGroup 下所有 | string | - | | |
1152
- | options | 以配置形式设置子元素 | string[] \| number[] \| Array< | - | | |
1153
- | optionType | 用于设置 Radio | default | default | 4.4.0 | |
1154
- | size | 大小,只对按钮样式生效 | large | - | | |
1155
- | value | 用于设置当前选中的值 | any | - | | |
1156
- | block | 将 RadioGroup 宽度调整为其父宽度的选项 | boolean | false | 5.21.0 | |
1157
- | onChange | 选项变化时的回调函数 | function(e:Event) | - | | |
1158
-
1159
-
1160
- ### CheckboxOptionType
1161
-
1162
- | 属性 | 说明 | 类型 | 默认值 | 版本 |
1163
- |--------|--------|--------|--------|--------|
1164
- | label | 用于作为 Radio 选项展示的文本 | string | - | 4.4.0 |
1165
- | value | 关联 Radio 选项的值 | string | - | 4.4.0 |
1166
- | style | 应用到 Radio 选项的 style | React.CSSProperties | - | 4.4.0 |
1167
- | className | Radio 选项的类名 | string | - | 5.25.0 |
1168
- | disabled | 指定 Radio 选项是否要禁用 | boolean | false | 4.4.0 |
1169
- | title | 添加 Title 属性值 | string | - | 4.4.0 |
1170
- | id | 添加 Radio Id 属性值 | string | - | 4.4.0 |
1171
- | onChange | 当 Radio Group 的值发送改变时触发 | (e: CheckboxChangeEvent) => void; | - | 4.4.0 |
1172
- | required | 指定 Radio 选项是否必填 | boolean | false | 4.4.0 |
1173
-
1174
-
1175
- ## 方法
1176
-
1177
- ### Radio
1178
-
1179
- | 名称 | 描述 |
1180
- |--------|--------|
1181
- | blur() | 移除焦点 |
1182
- | focus() | 获取焦点 |
1183
-
1256
+ <DemoTitle title="Popover" desc="点击/鼠标移入元素,弹出气泡式的卡片浮层">
1257
+ #### API
1184
1258
 
1259
+ <AntdApiRef url="https://ant.design/components/popover-cn/#api"></AntdApiRef>
1185
1260
 
1186
1261
 
1187
- <DemoTitle title="Progress" desc="用于指示任务的完成进度">
1188
1262
  ## antd API
1189
1263
 
1190
1264
  通用属性参考:[通用属性](/docs/react/common-props)
1191
1265
 
1192
- 各类型共用的属性。
1193
-
1194
- | 属性 | 说明 | 类型 | 默认值 | 版本 |
1195
- |--------|--------|--------|--------|--------|
1196
- | format | 内容的模板函数 | function(percent, successPercent) | (percent) => percent + | - |
1197
- | percent | 百分比 | number | 0 | - |
1198
- | showInfo | 是否显示进度数值或状态图标 | boolean | true | - |
1199
- | status | 状态,可选: | string | - | - |
1200
- | strokeColor | 进度条的色彩 | string | - | - |
1201
- | strokeLinecap | 进度条的样式 | round | round | - |
1202
- | success | 成功进度条相关配置 | { percent: number, strokeColor: string } | - | - |
1203
- | trailColor | 未完成的分段的颜色 | string | - | - |
1204
- | type | 类型,可选 | string | line | - |
1205
- | size | 进度条的尺寸 | number \| [number \| string, number] \| { width: number, height: number } \| "small" \| "default" | "default" | 5.3.0, Object: 5.18.0 |
1206
-
1207
-
1208
- ### `type="line"`
1209
-
1210
- | 属性 | 说明 | 类型 | 默认值 | 版本 |
1211
- |--------|--------|--------|--------|--------|
1212
- | steps | 进度条总共步数 | number | - | - |
1213
- | rounding | 用于四舍五入数值的函数 | (step: number) => number | Math.round | 5.24.0 |
1214
- | strokeColor | 进度条的色彩,传入 object 时为渐变。当有 | string \| string[] \| { from: string; to: string; direction: string } | - | 4.21.0: |
1215
- | percentPosition | 进度数值位置,传入对象, | { align: string; type: string } | { align: "end", type: "outer" } | 5.18.0 |
1216
-
1217
-
1218
- ### `type="circle"`
1219
-
1220
- | 属性 | 说明 | 类型 | 默认值 | 版本 |
1266
+ | 参数 | 说明 | 类型 | 默认值 | 版本 |
1221
1267
  |--------|--------|--------|--------|--------|
1222
- | steps | 进度条总共步数,传入 object 时,count 指步数,gap 指间隔大小。传 number 类型时,gap 默认为 2。 | number \| { count: number, gap: number } | - | 5.16.0 |
1223
- | strokeColor | 圆形进度条线的色彩,传入 object 时为渐变 | string \| { number%: string } | - | - |
1224
- | strokeWidth | 圆形进度条线的宽度,单位是进度条画布宽度的百分比 | number | 6 | - |
1268
+ | content | 卡片内容 | ReactNode \| () => ReactNode | - | |
1269
+ | title | 卡片标题 | ReactNode \| () => ReactNode | - | |
1225
1270
 
1226
1271
 
1227
- ### `type="dashboard"`
1272
+ <!-- 共同的 API -->
1273
+ 以下 API 为 Tooltip、Popconfirm、Popover 共享的 API。
1228
1274
 
1229
- | 属性 | 说明 | 类型 | 默认值 | 版本 |
1275
+ <!-- prettier-ignore -->
1276
+ | 参数 | 说明 | 类型 | 默认值 | 版本 |
1230
1277
  |--------|--------|--------|--------|--------|
1231
- | steps | 进度条总共步数,传入 object 时,count 指步数,gap 指间隔大小。传 number 类型时,gap 默认为 2。 | number \| { count: number, gap: number } | - | 5.16.0 |
1232
- | gapDegree | 仪表盘进度条缺口角度,可取值 0 ~ 295 | number | 75 | - |
1233
- | gapPosition | 仪表盘进度条缺口位置 | top | bottom | - |
1234
- | strokeWidth | 仪表盘进度条线的宽度,单位是进度条画布宽度的百分比 | number | 6 | - |
1235
-
1236
-
1237
-
1238
-
1239
- <DemoTitle title="MdEditor" desc="提示词编辑器,可以高亮 Markdown 的语法,支持自定义槽位变量的插入">
1240
- #### API
1278
+ | align | 该值将合并到 placement 的配置中,设置参考 | object | - | |
1279
+ | arrow | 修改箭头的显示状态以及修改箭头是否指向目标元素中心 | boolean \| { pointAtCenter: boolean } | true | 5.2.0 |
1280
+ | autoAdjustOverflow | 气泡被遮挡时自动调整位置 | boolean | true | |
1281
+ | color | 背景颜色 | string | - | 4.3.0 |
1282
+ | defaultOpen | 默认是否显隐 | boolean | false | 4.23.0 |
1283
+ | destroyOnHidden | 关闭后是否销毁 dom | boolean | false | 5.25.0 |
1284
+ | fresh | 默认情况下,Tooltip 在关闭时会缓存内容。设置该属性后会始终保持更新 | boolean | false | 5.10.0 |
1285
+ | getPopupContainer | 浮层渲染父节点,默认渲染到 body 上 | (triggerNode: HTMLElement) => HTMLElement | () => document.body | |
1286
+ | mouseEnterDelay | 鼠标移入后延时多少才显示 Tooltip,单位:秒 | number | 0.1 | |
1287
+ | mouseLeaveDelay | 鼠标移出后延时多少才隐藏 Tooltip,单位:秒 | number | 0.1 | |
1288
+ | placement | 气泡框位置,可选 | string | top | |
1289
+ | trigger | 触发行为,可选 | string \| string[] | hover | |
1290
+ | open | 用于手动控制浮层显隐,小于 4.23.0 使用 | boolean | false | 4.23.0 |
1291
+ | zIndex | 设置 Tooltip 的 | number | - | |
1292
+ | onOpenChange | 显示隐藏的回调 | (open: boolean) => void | - | 4.23.0 |
1241
1293
 
1242
- | 属性名 | 描述 | 类型 | 默认值 |
1243
- |--------|--------|--------|--------|
1244
- | maxLength | 可以输入内容的最大长度 | number | |
1245
- | value | 输入的内容 | string | (必填) |
1246
- | className | 输入内容的类名 | string | |
1247
- | onChange | 输入内容的回调 | (value: string) => void | |
1248
- | variables | 可以插入的变量列表 | Array | |
1249
- | onCreate | 新增变量的触发回调 | () => void | |
1250
- | createBtnText | 新增变量的按钮文本 | string | |
1251
- | tipsText | 提示文本,传入 false 时隐藏提示 | string \| React.ReactNode \| false | |
1294
+ ## 注意
1252
1295
 
1296
+ 请确保 `Popover` 的子元素能接受 `onMouseEnter`、`onMouseLeave`、`onFocus`、`onClick` 事件。
1253
1297
 
1254
1298
 
1255
1299
 
@@ -1310,50 +1354,6 @@ TypeScript 里使用 Table 的 [CodeSandbox 实例](https://codesandbox.io/s/ser
1310
1354
 
1311
1355
 
1312
1356
 
1313
- <DemoTitle title="Popover" desc="点击/鼠标移入元素,弹出气泡式的卡片浮层">
1314
- #### API
1315
-
1316
- <AntdApiRef url="https://ant.design/components/popover-cn/#api"></AntdApiRef>
1317
-
1318
-
1319
- ## antd API
1320
-
1321
- 通用属性参考:[通用属性](/docs/react/common-props)
1322
-
1323
- | 参数 | 说明 | 类型 | 默认值 | 版本 |
1324
- |--------|--------|--------|--------|--------|
1325
- | content | 卡片内容 | ReactNode \| () => ReactNode | - | |
1326
- | title | 卡片标题 | ReactNode \| () => ReactNode | - | |
1327
-
1328
-
1329
- <!-- 共同的 API -->
1330
- 以下 API 为 Tooltip、Popconfirm、Popover 共享的 API。
1331
-
1332
- <!-- prettier-ignore -->
1333
- | 参数 | 说明 | 类型 | 默认值 | 版本 |
1334
- |--------|--------|--------|--------|--------|
1335
- | align | 该值将合并到 placement 的配置中,设置参考 | object | - | |
1336
- | arrow | 修改箭头的显示状态以及修改箭头是否指向目标元素中心 | boolean \| { pointAtCenter: boolean } | true | 5.2.0 |
1337
- | autoAdjustOverflow | 气泡被遮挡时自动调整位置 | boolean | true | |
1338
- | color | 背景颜色 | string | - | 4.3.0 |
1339
- | defaultOpen | 默认是否显隐 | boolean | false | 4.23.0 |
1340
- | destroyOnHidden | 关闭后是否销毁 dom | boolean | false | 5.25.0 |
1341
- | fresh | 默认情况下,Tooltip 在关闭时会缓存内容。设置该属性后会始终保持更新 | boolean | false | 5.10.0 |
1342
- | getPopupContainer | 浮层渲染父节点,默认渲染到 body 上 | (triggerNode: HTMLElement) => HTMLElement | () => document.body | |
1343
- | mouseEnterDelay | 鼠标移入后延时多少才显示 Tooltip,单位:秒 | number | 0.1 | |
1344
- | mouseLeaveDelay | 鼠标移出后延时多少才隐藏 Tooltip,单位:秒 | number | 0.1 | |
1345
- | placement | 气泡框位置,可选 | string | top | |
1346
- | trigger | 触发行为,可选 | string \| string[] | hover | |
1347
- | open | 用于手动控制浮层显隐,小于 4.23.0 使用 | boolean | false | 4.23.0 |
1348
- | zIndex | 设置 Tooltip 的 | number | - | |
1349
- | onOpenChange | 显示隐藏的回调 | (open: boolean) => void | - | 4.23.0 |
1350
-
1351
- ## 注意
1352
-
1353
- 请确保 `Popover` 的子元素能接受 `onMouseEnter`、`onMouseLeave`、`onFocus`、`onClick` 事件。
1354
-
1355
-
1356
-
1357
1357
  <DemoTitle title="Pagination" desc="分页器用于分隔长列表,每次只加载一个页面。">
1358
1358
  ## API
1359
1359
 
@@ -1820,168 +1820,33 @@ message.config({
1820
1820
 
1821
1821
 
1822
1822
 
1823
- <DemoTitle title="Input" desc="通过鼠标或键盘输入内容,为表单提供输入字段的基础容器。。">
1823
+ <DemoTitle title="Image" desc="可预览的图片">
1824
1824
  #### API
1825
1825
 
1826
- | 属性名 | 描述 | 类型 | 默认值 |
1827
- |--------|--------|--------|--------|
1828
- | shape | 形态 | 'default' \| 'round' | default 默认 |
1829
-
1830
-
1831
- <AntdApiRef url="https://ant.design/components/input-cn/#api"></AntdApiRef>
1826
+ <AntdApiRef url="https://ant.design/components/image-cn/#api"></AntdApiRef>
1832
1827
 
1833
1828
 
1834
1829
  ## antd API
1835
1830
 
1836
1831
  通用属性参考:[通用属性](/docs/react/common-props)
1837
1832
 
1838
- ### Input
1833
+ ### Image
1839
1834
 
1840
1835
  | 参数 | 说明 | 类型 | 默认值 | 版本 |
1841
1836
  |--------|--------|--------|--------|--------|
1842
- | addonAfter | 带标签的 input,设置后置标签 | ReactNode | - | |
1843
- | addonBefore | 带标签的 input,设置前置标签 | ReactNode | - | |
1844
- | allowClear | 可以点击清除图标删除内容 | boolean \| { clearIcon: ReactNode } | - | |
1845
- | classNames | 语义化结构 class | Record< | - | 5.4.0 |
1846
- | count | 字符计数配置 | | - | 5.10.0 |
1847
- | defaultValue | 输入框默认内容 | string | - | |
1848
- | disabled | 是否禁用状态,默认为 false | boolean | false | |
1849
- | id | 输入框的 id | string | - | |
1850
- | maxLength | 最大长度 | number | - | |
1851
- | prefix | 带有前缀图标的 input | ReactNode | - | |
1852
- | showCount | 是否展示字数 | boolean \| { formatter: (info: { value: string, count: number, maxLength?: number }) => ReactNode } | false | 4.18.0 info.value: 4.23.0 |
1853
- | status | 设置校验状态 | 'error' \| 'warning' | - | 4.19.0 |
1854
- | styles | 语义化结构 style | Record< | - | 5.4.0 |
1855
- | size | 控件大小。注:标准表单内的输入框大小限制为 | large | - | |
1856
- | suffix | 带有后缀图标的 input | ReactNode | - | |
1857
- | type | 声明 input 类型,同原生 input 标签的 type 属性,见: | string | text | |
1858
- | value | 输入框内容 | string | - | |
1859
- | variant | 形态变体 | outlined | outlined | 5.13.0 \| |
1860
- | onChange | 输入框内容变化时的回调 | function(e) | - | |
1861
- | onPressEnter | 按下回车的回调 | function(e) | - | |
1862
- | onClear | 按下清除按钮的回调 | () => void | - | 5.20.0 |
1863
-
1864
-
1865
- 如果 `Input` 在 `Form.Item` 内,并且 `Form.Item` 设置了 `id` 属性,则 `value` `defaultValue` 和 `id` 属性会被自动设置。
1866
-
1867
- Input 的其他属性和 React 自带的 [input](https://reactjs.org/docs/dom-elements.html#all-supported-html-attributes) 一致。
1868
-
1869
- #### CountConfig
1870
-
1871
-
1872
- ```tsx
1873
- interface CountConfig {
1874
- // 最大字符数,不同于原生 `maxLength`,超出后标红但不会截断
1875
- max?: number;
1876
- // 自定义字符计数,例如标准 emoji 长度大于 1,可以自定义计数策略将其改为 1
1877
- strategy?: (value: string) => number;
1878
- // 同 `showCount`
1879
- show?: boolean | ((args: { value: string; count: number; maxLength?: number }) => ReactNode);
1880
- // 当字符数超出 `count.max` 时的自定义裁剪逻辑,不配置时不进行裁剪
1881
- exceedFormatter?: (value: string, config: { max: number }) => string;
1882
- }
1883
- ```
1837
+ | alt | 图像描述 | string | - | 4.6.0 |
1838
+ | fallback | 加载失败容错地址 | string | - | 4.6.0 |
1839
+ | height | 图像高度 | string \| number | - | 4.6.0 |
1840
+ | placeholder | 加载占位,为 | ReactNode | - | 4.6.0 |
1841
+ | preview | 预览参数,为 | boolean \| | true | 4.6.0 |
1842
+ | src | 图片地址 | string | - | 4.6.0 |
1843
+ | width | 图像宽度 | string \| number | - | 4.6.0 |
1844
+ | onError | 加载错误回调 | (event: Event) => void | - | 4.12.0 |
1884
1845
 
1885
1846
 
1886
- ### Input.TextArea
1847
+ 其他属性见 [<img>](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/img#Attributes)
1887
1848
 
1888
- Input 属性,外加:
1889
-
1890
- | 参数 | 说明 | 类型 | 默认值 | 版本 |
1891
- |--------|--------|--------|--------|--------|
1892
- | autoSize | 自适应内容高度,可设置为 true \| false 或对象:{ minRows: 2, maxRows: 6 } | boolean \| object | false | |
1893
- | classNames | 语义化结构 class | Record< | - | 5.4.0 |
1894
- | styles | 语义化结构 style | Record< | - | 5.4.0 |
1895
-
1896
-
1897
- `Input.TextArea` 的其他属性和浏览器自带的 [textarea](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/textarea) 一致。
1898
-
1899
- ### Input.Search
1900
-
1901
- | 参数 | 说明 | 类型 | 默认值 |
1902
- |--------|--------|--------|--------|
1903
- | enterButton | 是否有确认按钮,可设为按钮文字。该属性会与 | ReactNode | false |
1904
- | loading | 搜索 loading | boolean | false |
1905
- | onSearch | 点击搜索图标、清除图标,或按下回车键时的回调 | function(value, event, { source: "input" \| "clear" }) | - |
1906
-
1907
-
1908
- 其余属性和 Input 一致。
1909
-
1910
- ### Input.Password
1911
-
1912
- | 参数 | 说明 | 类型 | 默认值 | 版本 |
1913
- |--------|--------|--------|--------|--------|
1914
- | iconRender | 自定义切换按钮 | (visible) => ReactNode | (visible) => (visible ? : ) | 4.3.0 |
1915
- | visibilityToggle | 是否显示切换按钮或者控制密码显隐 | boolean \| | true | |
1916
-
1917
-
1918
- ### Input.OTP
1919
-
1920
- `5.16.0` 新增。
1921
-
1922
- 开发者注意事项:当 `mask` 属性的类型为 string 时,我们强烈推荐接收单个字符或单个 emoji,如果传入多个字符或多个 emoji,则会在控制台抛出警告。
1923
-
1924
- | 参数 | 说明 | 类型 | 默认值 | 版本 |
1925
- |--------|--------|--------|--------|--------|
1926
- | defaultValue | 默认值 | string | - | |
1927
- | disabled | 是否禁用 | boolean | false | |
1928
- | formatter | 格式化展示,留空字段会被 | (value: string) => string | - | |
1929
- | separator | 分隔符,在指定索引的输入框后渲染分隔符 | ReactNode \|((i: number) => ReactNode) | - | 5.24.0 |
1930
- | mask | 自定义展示,和 | boolean \| string | false | 5.17.0 |
1931
- | length | 输入元素数量 | number | 6 | |
1932
- | status | 设置校验状态 | 'error' \| 'warning' | - | |
1933
- | size | 输入框大小 | small | middle | |
1934
- | variant | 形态变体 | outlined | outlined | underlined |
1935
- | value | 输入框内容 | string | - | |
1936
- | onChange | 当输入框内容全部填充时触发回调 | (value: string) => void | - | |
1937
- | onInput | 输入值变化时触发的回调 | (value: string[]) => void | - | 5.22.0 |
1938
-
1939
-
1940
- #### VisibilityToggle
1941
-
1942
- | Property | Description | Type | Default | Version |
1943
- |--------|--------|--------|--------|--------|
1944
- | visible | 用于手动控制密码显隐 | boolean | false | 4.24 |
1945
- | onVisibleChange | 显隐密码的回调 | (visible) => void | - | 4.24 |
1946
-
1947
-
1948
- #### Input Methods
1949
-
1950
- | 名称 | 说明 | 参数 | 版本 |
1951
- |--------|--------|--------|--------|
1952
- | blur | 取消焦点 | - | |
1953
- | focus | 获取焦点 | (option?: { preventScroll?: boolean, cursor?: 'start' \| 'end' \| 'all' }) | option - 4.10.0 |
1954
-
1955
-
1956
-
1957
-
1958
- <DemoTitle title="Image" desc="可预览的图片">
1959
- #### API
1960
-
1961
- <AntdApiRef url="https://ant.design/components/image-cn/#api"></AntdApiRef>
1962
-
1963
-
1964
- ## antd API
1965
-
1966
- 通用属性参考:[通用属性](/docs/react/common-props)
1967
-
1968
- ### Image
1969
-
1970
- | 参数 | 说明 | 类型 | 默认值 | 版本 |
1971
- |--------|--------|--------|--------|--------|
1972
- | alt | 图像描述 | string | - | 4.6.0 |
1973
- | fallback | 加载失败容错地址 | string | - | 4.6.0 |
1974
- | height | 图像高度 | string \| number | - | 4.6.0 |
1975
- | placeholder | 加载占位,为 | ReactNode | - | 4.6.0 |
1976
- | preview | 预览参数,为 | boolean \| | true | 4.6.0 |
1977
- | src | 图片地址 | string | - | 4.6.0 |
1978
- | width | 图像宽度 | string \| number | - | 4.6.0 |
1979
- | onError | 加载错误回调 | (event: Event) => void | - | 4.12.0 |
1980
-
1981
-
1982
- 其他属性见 [<img>](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/img#Attributes)
1983
-
1984
- ### PreviewType
1849
+ ### PreviewType
1985
1850
 
1986
1851
  | 参数 | 说明 | 类型 | 默认值 | 版本 |
1987
1852
  |--------|--------|--------|--------|--------|
@@ -2122,6 +1987,141 @@ type TransformAction =
2122
1987
 
2123
1988
 
2124
1989
 
1990
+ <DemoTitle title="Input" desc="通过鼠标或键盘输入内容,为表单提供输入字段的基础容器。。">
1991
+ #### API
1992
+
1993
+ | 属性名 | 描述 | 类型 | 默认值 |
1994
+ |--------|--------|--------|--------|
1995
+ | shape | 形态 | 'default' \| 'round' | default 默认 |
1996
+
1997
+
1998
+ <AntdApiRef url="https://ant.design/components/input-cn/#api"></AntdApiRef>
1999
+
2000
+
2001
+ ## antd API
2002
+
2003
+ 通用属性参考:[通用属性](/docs/react/common-props)
2004
+
2005
+ ### Input
2006
+
2007
+ | 参数 | 说明 | 类型 | 默认值 | 版本 |
2008
+ |--------|--------|--------|--------|--------|
2009
+ | addonAfter | 带标签的 input,设置后置标签 | ReactNode | - | |
2010
+ | addonBefore | 带标签的 input,设置前置标签 | ReactNode | - | |
2011
+ | allowClear | 可以点击清除图标删除内容 | boolean \| { clearIcon: ReactNode } | - | |
2012
+ | classNames | 语义化结构 class | Record< | - | 5.4.0 |
2013
+ | count | 字符计数配置 | | - | 5.10.0 |
2014
+ | defaultValue | 输入框默认内容 | string | - | |
2015
+ | disabled | 是否禁用状态,默认为 false | boolean | false | |
2016
+ | id | 输入框的 id | string | - | |
2017
+ | maxLength | 最大长度 | number | - | |
2018
+ | prefix | 带有前缀图标的 input | ReactNode | - | |
2019
+ | showCount | 是否展示字数 | boolean \| { formatter: (info: { value: string, count: number, maxLength?: number }) => ReactNode } | false | 4.18.0 info.value: 4.23.0 |
2020
+ | status | 设置校验状态 | 'error' \| 'warning' | - | 4.19.0 |
2021
+ | styles | 语义化结构 style | Record< | - | 5.4.0 |
2022
+ | size | 控件大小。注:标准表单内的输入框大小限制为 | large | - | |
2023
+ | suffix | 带有后缀图标的 input | ReactNode | - | |
2024
+ | type | 声明 input 类型,同原生 input 标签的 type 属性,见: | string | text | |
2025
+ | value | 输入框内容 | string | - | |
2026
+ | variant | 形态变体 | outlined | outlined | 5.13.0 \| |
2027
+ | onChange | 输入框内容变化时的回调 | function(e) | - | |
2028
+ | onPressEnter | 按下回车的回调 | function(e) | - | |
2029
+ | onClear | 按下清除按钮的回调 | () => void | - | 5.20.0 |
2030
+
2031
+
2032
+ 如果 `Input` 在 `Form.Item` 内,并且 `Form.Item` 设置了 `id` 属性,则 `value` `defaultValue` 和 `id` 属性会被自动设置。
2033
+
2034
+ Input 的其他属性和 React 自带的 [input](https://reactjs.org/docs/dom-elements.html#all-supported-html-attributes) 一致。
2035
+
2036
+ #### CountConfig
2037
+
2038
+
2039
+ ```tsx
2040
+ interface CountConfig {
2041
+ // 最大字符数,不同于原生 `maxLength`,超出后标红但不会截断
2042
+ max?: number;
2043
+ // 自定义字符计数,例如标准 emoji 长度大于 1,可以自定义计数策略将其改为 1
2044
+ strategy?: (value: string) => number;
2045
+ // 同 `showCount`
2046
+ show?: boolean | ((args: { value: string; count: number; maxLength?: number }) => ReactNode);
2047
+ // 当字符数超出 `count.max` 时的自定义裁剪逻辑,不配置时不进行裁剪
2048
+ exceedFormatter?: (value: string, config: { max: number }) => string;
2049
+ }
2050
+ ```
2051
+
2052
+
2053
+ ### Input.TextArea
2054
+
2055
+ 同 Input 属性,外加:
2056
+
2057
+ | 参数 | 说明 | 类型 | 默认值 | 版本 |
2058
+ |--------|--------|--------|--------|--------|
2059
+ | autoSize | 自适应内容高度,可设置为 true \| false 或对象:{ minRows: 2, maxRows: 6 } | boolean \| object | false | |
2060
+ | classNames | 语义化结构 class | Record< | - | 5.4.0 |
2061
+ | styles | 语义化结构 style | Record< | - | 5.4.0 |
2062
+
2063
+
2064
+ `Input.TextArea` 的其他属性和浏览器自带的 [textarea](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/textarea) 一致。
2065
+
2066
+ ### Input.Search
2067
+
2068
+ | 参数 | 说明 | 类型 | 默认值 |
2069
+ |--------|--------|--------|--------|
2070
+ | enterButton | 是否有确认按钮,可设为按钮文字。该属性会与 | ReactNode | false |
2071
+ | loading | 搜索 loading | boolean | false |
2072
+ | onSearch | 点击搜索图标、清除图标,或按下回车键时的回调 | function(value, event, { source: "input" \| "clear" }) | - |
2073
+
2074
+
2075
+ 其余属性和 Input 一致。
2076
+
2077
+ ### Input.Password
2078
+
2079
+ | 参数 | 说明 | 类型 | 默认值 | 版本 |
2080
+ |--------|--------|--------|--------|--------|
2081
+ | iconRender | 自定义切换按钮 | (visible) => ReactNode | (visible) => (visible ? : ) | 4.3.0 |
2082
+ | visibilityToggle | 是否显示切换按钮或者控制密码显隐 | boolean \| | true | |
2083
+
2084
+
2085
+ ### Input.OTP
2086
+
2087
+ `5.16.0` 新增。
2088
+
2089
+ 开发者注意事项:当 `mask` 属性的类型为 string 时,我们强烈推荐接收单个字符或单个 emoji,如果传入多个字符或多个 emoji,则会在控制台抛出警告。
2090
+
2091
+ | 参数 | 说明 | 类型 | 默认值 | 版本 |
2092
+ |--------|--------|--------|--------|--------|
2093
+ | defaultValue | 默认值 | string | - | |
2094
+ | disabled | 是否禁用 | boolean | false | |
2095
+ | formatter | 格式化展示,留空字段会被 | (value: string) => string | - | |
2096
+ | separator | 分隔符,在指定索引的输入框后渲染分隔符 | ReactNode \|((i: number) => ReactNode) | - | 5.24.0 |
2097
+ | mask | 自定义展示,和 | boolean \| string | false | 5.17.0 |
2098
+ | length | 输入元素数量 | number | 6 | |
2099
+ | status | 设置校验状态 | 'error' \| 'warning' | - | |
2100
+ | size | 输入框大小 | small | middle | |
2101
+ | variant | 形态变体 | outlined | outlined | underlined |
2102
+ | value | 输入框内容 | string | - | |
2103
+ | onChange | 当输入框内容全部填充时触发回调 | (value: string) => void | - | |
2104
+ | onInput | 输入值变化时触发的回调 | (value: string[]) => void | - | 5.22.0 |
2105
+
2106
+
2107
+ #### VisibilityToggle
2108
+
2109
+ | Property | Description | Type | Default | Version |
2110
+ |--------|--------|--------|--------|--------|
2111
+ | visible | 用于手动控制密码显隐 | boolean | false | 4.24 |
2112
+ | onVisibleChange | 显隐密码的回调 | (visible) => void | - | 4.24 |
2113
+
2114
+
2115
+ #### Input Methods
2116
+
2117
+ | 名称 | 说明 | 参数 | 版本 |
2118
+ |--------|--------|--------|--------|
2119
+ | blur | 取消焦点 | - | |
2120
+ | focus | 获取焦点 | (option?: { preventScroll?: boolean, cursor?: 'start' \| 'end' \| 'all' }) | option - 4.10.0 |
2121
+
2122
+
2123
+
2124
+
2125
2125
  <DemoTitle title="IconButton" desc="以图标为核心的轻量按钮组件,用于触发操作。">
2126
2126
  #### API
2127
2127
 
@@ -2168,221 +2168,17 @@ type PresetColors = 'blue' | 'purple' | 'cyan' | 'green' | 'magenta' | 'pink' |
2168
2168
 
2169
2169
 
2170
2170
 
2171
- <DemoTitle title="FloatButton" desc="用于网站上的全局功能;无论浏览到何处都可以看见的按钮。">
2171
+ <DemoTitle title="Form" desc="高性能表单控件,自带数据域管理。包含数据录入、校验以及对应样式。">
2172
2172
  #### API
2173
2173
 
2174
- <AntdApiRef url="https://ant.design/components/float-button-cn/#api"></AntdApiRef>
2174
+ <AntdApiRef url="https://ant.design/components/form-cn/#api"></AntdApiRef>
2175
2175
 
2176
2176
 
2177
2177
  ## antd API
2178
2178
 
2179
2179
  通用属性参考:[通用属性](/docs/react/common-props)
2180
2180
 
2181
- `antd@5.0.0` 版本开始提供该组件。
2182
-
2183
- ### 共同的 API
2184
-
2185
- | 参数 | 说明 | 类型 | 默认值 | 版本 |
2186
- |--------|--------|--------|--------|--------|
2187
- | icon | 自定义图标 | ReactNode | - | |
2188
- | description | 文字及其它内容 | ReactNode | - | |
2189
- | tooltip | 气泡卡片的内容 | ReactNode \| | - | TooltipProps: 5.25.0 |
2190
- | type | 设置按钮类型 | default | default | |
2191
- | shape | 设置按钮形状 | circle | circle | |
2192
- | onClick | 点击按钮时的回调 | (event) => void | - | |
2193
- | href | 点击跳转的地址,指定此属性 button 的行为和 a 链接一致 | string | - | |
2194
- | target | 相当于 a 标签的 target 属性,href 存在时生效 | string | - | |
2195
- | htmlType | 设置 | submit | button | 5.21.0 |
2196
- | badge | 带徽标数字的悬浮按钮(不支持 | | - | 5.4.0 |
2197
-
2198
-
2199
- ### FloatButton.Group
2200
-
2201
- | 参数 | 说明 | 类型 | 默认值 | 版本 |
2202
- |--------|--------|--------|--------|--------|
2203
- | shape | 设置包含的 FloatButton 按钮形状 | circle | circle | |
2204
- | trigger | 触发方式(有触发方式为菜单模式) | click | - | |
2205
- | open | 受控展开,需配合 trigger 一起使用 | boolean | - | |
2206
- | closeIcon | 自定义关闭按钮 | React.ReactNode | | |
2207
- | placement | 自定义菜单弹出位置 | top | top | 5.21.0 |
2208
- | onOpenChange | 展开收起时的回调,需配合 trigger 一起使用 | (open: boolean) => void | - | |
2209
- | onClick | 点击按钮时的回调(仅在菜单模式中有效) | (event) => void | - | 5.3.0 |
2210
-
2211
-
2212
- ### FloatButton.BackTop
2213
-
2214
- | 参数 | 说明 | 类型 | 默认值 | 版本 |
2215
- |--------|--------|--------|--------|--------|
2216
- | duration | 回到顶部所需时间(ms) | number | 450 | |
2217
- | target | 设置需要监听其滚动事件的元素 | () => HTMLElement | () => window | |
2218
- | visibilityHeight | 滚动高度达到此参数值才出现 BackTop | number | 400 | |
2219
- | onClick | 点击按钮的回调函数 | () => void | - | |
2220
-
2221
-
2222
-
2223
-
2224
- <DemoTitle title="Dropdown" desc="向下弹出的列表。">
2225
- #### API
2226
-
2227
- <AntdApiRef url="https://ant.design/components/dropdown-cn/#api"></AntdApiRef>
2228
-
2229
-
2230
- ## antd API
2231
-
2232
- 通用属性参考:[通用属性](/docs/react/common-props)
2233
-
2234
- ### Dropdown
2235
-
2236
- | 参数 | 说明 | 类型 | 默认值 | 版本 |
2237
- |--------|--------|--------|--------|--------|
2238
- | arrow | 下拉框箭头是否显示 | boolean \| { pointAtCenter: boolean } | false | |
2239
- | autoAdjustOverflow | 下拉框被遮挡时自动调整位置 | boolean | true | 5.2.0 |
2240
- | autoFocus | 打开后自动聚焦下拉框 | boolean | false | 4.21.0 |
2241
- | disabled | 菜单是否禁用 | boolean | - | |
2242
- | destroyOnHidden | 关闭后是否销毁 Dropdown | boolean | false | 5.25.0 |
2243
- | popupRender | 自定义弹出框内容 | (menus: ReactNode) => ReactNode | - | 5.25.0 |
2244
- | getPopupContainer | 菜单渲染父节点。默认渲染到 body 上,如果你遇到菜单滚动定位问题,试试修改为滚动的区域,并相对其定位。 | (triggerNode: HTMLElement) => HTMLElement | () => document.body | |
2245
- | menu | 菜单配置项 | | - | 4.24.0 |
2246
- | overlayClassName | 下拉根元素的类名称 | string | - | |
2247
- | overlayStyle | 下拉根元素的样式 | CSSProperties | - | |
2248
- | placement | 菜单弹出位置: | string | bottomLeft | |
2249
- | trigger | 触发下拉的行为,移动端不支持 hover | Array< | [ | |
2250
- | open | 菜单是否显示,小于 4.23.0 使用 | boolean | - | 4.23.0 |
2251
- | onOpenChange | 菜单显示状态改变时调用,点击菜单按钮导致的消失不会触发。小于 4.23.0 使用 | (open: boolean, info: { source: 'trigger' \| 'menu' }) => void | - | info.source |
2252
-
2253
-
2254
- ### Dropdown.Button
2255
-
2256
- 属性与 Dropdown 的相同。还包含以下属性:
2257
-
2258
- | 参数 | 说明 | 类型 | 默认值 | 版本 |
2259
- |--------|--------|--------|--------|--------|
2260
- | buttonsRender | 自定义左右两个按钮 | (buttons: ReactNode[]) => ReactNode[] | - | |
2261
- | loading | 设置按钮载入状态,和 | boolean \| { delay: number, icon: ReactNode } | false | icon: 5.23.0 |
2262
- | danger | 设置危险按钮 | boolean | - | 4.23.0 |
2263
- | icon | 右侧的 icon | ReactNode | - | |
2264
- | size | 按钮大小,和 | large | middle | |
2265
- | type | 按钮类型,和 | primary | default | |
2266
- | onClick | 点击左侧按钮的回调,和 | (event: React.MouseEvent) => void | - | |
2267
-
2268
-
2269
- ## 注意
2270
-
2271
- 请确保 `Dropdown` 的子元素能接受 `onMouseEnter`、`onMouseLeave`、`onFocus`、`onClick` 事件。
2272
- ## antd API
2273
-
2274
- ### Menu
2275
-
2276
- | 参数 | 说明 | 类型 | 默认值 | 版本 |
2277
- |--------|--------|--------|--------|--------|
2278
- | defaultOpenKeys | 初始展开的 SubMenu 菜单项 key 数组 | string[] | - | |
2279
- | defaultSelectedKeys | 初始选中的菜单项 key 数组 | string[] | - | |
2280
- | expandIcon | 自定义展开图标 | ReactNode \| | - | 4.9.0 |
2281
- | forceSubMenuRender | 在子菜单展示之前就渲染进 DOM | boolean | false | |
2282
- | inlineCollapsed | inline 时菜单是否收起状态 | boolean | - | |
2283
- | inlineIndent | inline 模式的菜单缩进宽度 | number | 24 | |
2284
- | items | 菜单内容 | | - | 4.20.0 |
2285
- | mode | 菜单类型,现在支持垂直、水平、和内嵌模式三种 | vertical | vertical | |
2286
- | multiple | 是否允许多选 | boolean | false | |
2287
- | openKeys | 当前展开的 SubMenu 菜单项 key 数组 | string[] | - | |
2288
- | overflowedIndicator | 用于自定义 Menu 水平空间不足时的省略收缩的图标 | ReactNode | | |
2289
- | selectable | 是否允许选中 | boolean | true | |
2290
- | selectedKeys | 当前选中的菜单项 key 数组 | string[] | - | |
2291
- | style | 根节点样式 | CSSProperties | - | |
2292
- | subMenuCloseDelay | 用户鼠标离开子菜单后关闭延时,单位:秒 | number | 0.1 | |
2293
- | subMenuOpenDelay | 用户鼠标进入子菜单后开启延时,单位:秒 | number | 0 | |
2294
- | theme | 主题颜色 | light | light | |
2295
- | triggerSubMenuAction | SubMenu 展开/关闭的触发行为 | hover | hover | |
2296
- | onClick | 点击 MenuItem 调用此函数 | function({ item, key, keyPath, domEvent }) | - | |
2297
- | onDeselect | 取消选中时调用,仅在 multiple 生效 | function({ item, key, keyPath, selectedKeys, domEvent }) | - | |
2298
- | onOpenChange | SubMenu 展开/关闭的回调 | function(openKeys: string[]) | - | |
2299
- | onSelect | 被选中时调用 | function({ item, key, keyPath, selectedKeys, domEvent }) | -   | |
2300
-
2301
-
2302
- 更多属性查看 [rc-menu](https://github.com/react-component/menu#api)
2303
-
2304
- ### ItemType
2305
-
2306
- type ItemType = [MenuItemType](#menuitemtype) | [SubMenuType](#submenutype) | [MenuItemGroupType](#menuitemgrouptype) | [MenuDividerType](#menudividertype);
2307
-
2308
- #### MenuItemType
2309
-
2310
- | 参数 | 说明 | 类型 | 默认值 | 版本 |
2311
- |--------|--------|--------|--------|--------|
2312
- | danger | 展示错误状态样式 | boolean | false | |
2313
- | disabled | 是否禁用 | boolean | false | |
2314
- | extra | 额外节点 | ReactNode | - | 5.21.0 |
2315
- | icon | 菜单图标 | ReactNode | - | |
2316
- | key | item 的唯一标志 | string | - | |
2317
- | label | 菜单项标题 | ReactNode | - | |
2318
- | title | 设置收缩时展示的悬浮标题 | string | - | |
2319
-
2320
-
2321
- #### SubMenuType
2322
-
2323
- | 参数 | 说明 | 类型 | 默认值 | 版本 |
2324
- |--------|--------|--------|--------|--------|
2325
- | children | 子菜单的菜单项 | | - | |
2326
- | disabled | 是否禁用 | boolean | false | |
2327
- | icon | 菜单图标 | ReactNode | - | |
2328
- | key | 唯一标志 | string | - | |
2329
- | label | 菜单项标题 | ReactNode | - | |
2330
- | popupClassName | 子菜单样式, | string | - | |
2331
- | popupOffset | 子菜单偏移量, | [number, number] | - | |
2332
- | onTitleClick | 点击子菜单标题 | function({ key, domEvent }) | - | |
2333
- | theme | 设置子菜单的主题,默认从 Menu 上继承 | light | - | |
2334
-
2335
-
2336
- #### MenuItemGroupType
2337
-
2338
- 定义类型为 `group` 时,会作为分组处理:
2339
-
2340
-
2341
- ```ts
2342
- const groupItem = {
2343
- type: 'group', // Must have
2344
- label: 'My Group',
2345
- children: [],
2346
- };
2347
- ```
2348
-
2349
-
2350
- | 参数 | 说明 | 类型 | 默认值 | 版本 |
2351
- |--------|--------|--------|--------|--------|
2352
- | children | 分组的菜单项 | | - | |
2353
- | label | 分组标题 | ReactNode | - | |
2354
-
2355
-
2356
- #### MenuDividerType
2357
-
2358
- 菜单项分割线,只用在弹出菜单内,需要定义类型为 `divider`:
2359
-
2360
-
2361
- ```ts
2362
- const dividerItem = {
2363
- type: 'divider', // Must have
2364
- };
2365
- ```
2366
-
2367
-
2368
- | 参数 | 说明 | 类型 | 默认值 | 版本 |
2369
- |--------|--------|--------|--------|--------|
2370
- | dashed | 是否虚线 | boolean | false | |
2371
-
2372
-
2373
-
2374
-
2375
- <DemoTitle title="Form" desc="高性能表单控件,自带数据域管理。包含数据录入、校验以及对应样式。">
2376
- #### API
2377
-
2378
- <AntdApiRef url="https://ant.design/components/form-cn/#api"></AntdApiRef>
2379
-
2380
-
2381
- ## antd API
2382
-
2383
- 通用属性参考:[通用属性](/docs/react/common-props)
2384
-
2385
- ### Form
2181
+ ### Form
2386
2182
 
2387
2183
  | 参数 | 说明 | 类型 | 默认值 | 版本 |
2388
2184
  |--------|--------|--------|--------|--------|
@@ -2932,6 +2728,210 @@ type Rule = RuleConfig | ((form: FormInstance) => RuleConfig);
2932
2728
 
2933
2729
 
2934
2730
 
2731
+ <DemoTitle title="FloatButton" desc="用于网站上的全局功能;无论浏览到何处都可以看见的按钮。">
2732
+ #### API
2733
+
2734
+ <AntdApiRef url="https://ant.design/components/float-button-cn/#api"></AntdApiRef>
2735
+
2736
+
2737
+ ## antd API
2738
+
2739
+ 通用属性参考:[通用属性](/docs/react/common-props)
2740
+
2741
+ 自 `antd@5.0.0` 版本开始提供该组件。
2742
+
2743
+ ### 共同的 API
2744
+
2745
+ | 参数 | 说明 | 类型 | 默认值 | 版本 |
2746
+ |--------|--------|--------|--------|--------|
2747
+ | icon | 自定义图标 | ReactNode | - | |
2748
+ | description | 文字及其它内容 | ReactNode | - | |
2749
+ | tooltip | 气泡卡片的内容 | ReactNode \| | - | TooltipProps: 5.25.0 |
2750
+ | type | 设置按钮类型 | default | default | |
2751
+ | shape | 设置按钮形状 | circle | circle | |
2752
+ | onClick | 点击按钮时的回调 | (event) => void | - | |
2753
+ | href | 点击跳转的地址,指定此属性 button 的行为和 a 链接一致 | string | - | |
2754
+ | target | 相当于 a 标签的 target 属性,href 存在时生效 | string | - | |
2755
+ | htmlType | 设置 | submit | button | 5.21.0 |
2756
+ | badge | 带徽标数字的悬浮按钮(不支持 | | - | 5.4.0 |
2757
+
2758
+
2759
+ ### FloatButton.Group
2760
+
2761
+ | 参数 | 说明 | 类型 | 默认值 | 版本 |
2762
+ |--------|--------|--------|--------|--------|
2763
+ | shape | 设置包含的 FloatButton 按钮形状 | circle | circle | |
2764
+ | trigger | 触发方式(有触发方式为菜单模式) | click | - | |
2765
+ | open | 受控展开,需配合 trigger 一起使用 | boolean | - | |
2766
+ | closeIcon | 自定义关闭按钮 | React.ReactNode | | |
2767
+ | placement | 自定义菜单弹出位置 | top | top | 5.21.0 |
2768
+ | onOpenChange | 展开收起时的回调,需配合 trigger 一起使用 | (open: boolean) => void | - | |
2769
+ | onClick | 点击按钮时的回调(仅在菜单模式中有效) | (event) => void | - | 5.3.0 |
2770
+
2771
+
2772
+ ### FloatButton.BackTop
2773
+
2774
+ | 参数 | 说明 | 类型 | 默认值 | 版本 |
2775
+ |--------|--------|--------|--------|--------|
2776
+ | duration | 回到顶部所需时间(ms) | number | 450 | |
2777
+ | target | 设置需要监听其滚动事件的元素 | () => HTMLElement | () => window | |
2778
+ | visibilityHeight | 滚动高度达到此参数值才出现 BackTop | number | 400 | |
2779
+ | onClick | 点击按钮的回调函数 | () => void | - | |
2780
+
2781
+
2782
+
2783
+
2784
+ <DemoTitle title="Dropdown" desc="向下弹出的列表。">
2785
+ #### API
2786
+
2787
+ <AntdApiRef url="https://ant.design/components/dropdown-cn/#api"></AntdApiRef>
2788
+
2789
+
2790
+ ## antd API
2791
+
2792
+ 通用属性参考:[通用属性](/docs/react/common-props)
2793
+
2794
+ ### Dropdown
2795
+
2796
+ | 参数 | 说明 | 类型 | 默认值 | 版本 |
2797
+ |--------|--------|--------|--------|--------|
2798
+ | arrow | 下拉框箭头是否显示 | boolean \| { pointAtCenter: boolean } | false | |
2799
+ | autoAdjustOverflow | 下拉框被遮挡时自动调整位置 | boolean | true | 5.2.0 |
2800
+ | autoFocus | 打开后自动聚焦下拉框 | boolean | false | 4.21.0 |
2801
+ | disabled | 菜单是否禁用 | boolean | - | |
2802
+ | destroyOnHidden | 关闭后是否销毁 Dropdown | boolean | false | 5.25.0 |
2803
+ | popupRender | 自定义弹出框内容 | (menus: ReactNode) => ReactNode | - | 5.25.0 |
2804
+ | getPopupContainer | 菜单渲染父节点。默认渲染到 body 上,如果你遇到菜单滚动定位问题,试试修改为滚动的区域,并相对其定位。 | (triggerNode: HTMLElement) => HTMLElement | () => document.body | |
2805
+ | menu | 菜单配置项 | | - | 4.24.0 |
2806
+ | overlayClassName | 下拉根元素的类名称 | string | - | |
2807
+ | overlayStyle | 下拉根元素的样式 | CSSProperties | - | |
2808
+ | placement | 菜单弹出位置: | string | bottomLeft | |
2809
+ | trigger | 触发下拉的行为,移动端不支持 hover | Array< | [ | |
2810
+ | open | 菜单是否显示,小于 4.23.0 使用 | boolean | - | 4.23.0 |
2811
+ | onOpenChange | 菜单显示状态改变时调用,点击菜单按钮导致的消失不会触发。小于 4.23.0 使用 | (open: boolean, info: { source: 'trigger' \| 'menu' }) => void | - | info.source |
2812
+
2813
+
2814
+ ### Dropdown.Button
2815
+
2816
+ 属性与 Dropdown 的相同。还包含以下属性:
2817
+
2818
+ | 参数 | 说明 | 类型 | 默认值 | 版本 |
2819
+ |--------|--------|--------|--------|--------|
2820
+ | buttonsRender | 自定义左右两个按钮 | (buttons: ReactNode[]) => ReactNode[] | - | |
2821
+ | loading | 设置按钮载入状态,和 | boolean \| { delay: number, icon: ReactNode } | false | icon: 5.23.0 |
2822
+ | danger | 设置危险按钮 | boolean | - | 4.23.0 |
2823
+ | icon | 右侧的 icon | ReactNode | - | |
2824
+ | size | 按钮大小,和 | large | middle | |
2825
+ | type | 按钮类型,和 | primary | default | |
2826
+ | onClick | 点击左侧按钮的回调,和 | (event: React.MouseEvent) => void | - | |
2827
+
2828
+
2829
+ ## 注意
2830
+
2831
+ 请确保 `Dropdown` 的子元素能接受 `onMouseEnter`、`onMouseLeave`、`onFocus`、`onClick` 事件。
2832
+ ## antd API
2833
+
2834
+ ### Menu
2835
+
2836
+ | 参数 | 说明 | 类型 | 默认值 | 版本 |
2837
+ |--------|--------|--------|--------|--------|
2838
+ | defaultOpenKeys | 初始展开的 SubMenu 菜单项 key 数组 | string[] | - | |
2839
+ | defaultSelectedKeys | 初始选中的菜单项 key 数组 | string[] | - | |
2840
+ | expandIcon | 自定义展开图标 | ReactNode \| | - | 4.9.0 |
2841
+ | forceSubMenuRender | 在子菜单展示之前就渲染进 DOM | boolean | false | |
2842
+ | inlineCollapsed | inline 时菜单是否收起状态 | boolean | - | |
2843
+ | inlineIndent | inline 模式的菜单缩进宽度 | number | 24 | |
2844
+ | items | 菜单内容 | | - | 4.20.0 |
2845
+ | mode | 菜单类型,现在支持垂直、水平、和内嵌模式三种 | vertical | vertical | |
2846
+ | multiple | 是否允许多选 | boolean | false | |
2847
+ | openKeys | 当前展开的 SubMenu 菜单项 key 数组 | string[] | - | |
2848
+ | overflowedIndicator | 用于自定义 Menu 水平空间不足时的省略收缩的图标 | ReactNode | | |
2849
+ | selectable | 是否允许选中 | boolean | true | |
2850
+ | selectedKeys | 当前选中的菜单项 key 数组 | string[] | - | |
2851
+ | style | 根节点样式 | CSSProperties | - | |
2852
+ | subMenuCloseDelay | 用户鼠标离开子菜单后关闭延时,单位:秒 | number | 0.1 | |
2853
+ | subMenuOpenDelay | 用户鼠标进入子菜单后开启延时,单位:秒 | number | 0 | |
2854
+ | theme | 主题颜色 | light | light | |
2855
+ | triggerSubMenuAction | SubMenu 展开/关闭的触发行为 | hover | hover | |
2856
+ | onClick | 点击 MenuItem 调用此函数 | function({ item, key, keyPath, domEvent }) | - | |
2857
+ | onDeselect | 取消选中时调用,仅在 multiple 生效 | function({ item, key, keyPath, selectedKeys, domEvent }) | - | |
2858
+ | onOpenChange | SubMenu 展开/关闭的回调 | function(openKeys: string[]) | - | |
2859
+ | onSelect | 被选中时调用 | function({ item, key, keyPath, selectedKeys, domEvent }) | -   | |
2860
+
2861
+
2862
+ 更多属性查看 [rc-menu](https://github.com/react-component/menu#api)
2863
+
2864
+ ### ItemType
2865
+
2866
+ type ItemType = [MenuItemType](#menuitemtype) | [SubMenuType](#submenutype) | [MenuItemGroupType](#menuitemgrouptype) | [MenuDividerType](#menudividertype);
2867
+
2868
+ #### MenuItemType
2869
+
2870
+ | 参数 | 说明 | 类型 | 默认值 | 版本 |
2871
+ |--------|--------|--------|--------|--------|
2872
+ | danger | 展示错误状态样式 | boolean | false | |
2873
+ | disabled | 是否禁用 | boolean | false | |
2874
+ | extra | 额外节点 | ReactNode | - | 5.21.0 |
2875
+ | icon | 菜单图标 | ReactNode | - | |
2876
+ | key | item 的唯一标志 | string | - | |
2877
+ | label | 菜单项标题 | ReactNode | - | |
2878
+ | title | 设置收缩时展示的悬浮标题 | string | - | |
2879
+
2880
+
2881
+ #### SubMenuType
2882
+
2883
+ | 参数 | 说明 | 类型 | 默认值 | 版本 |
2884
+ |--------|--------|--------|--------|--------|
2885
+ | children | 子菜单的菜单项 | | - | |
2886
+ | disabled | 是否禁用 | boolean | false | |
2887
+ | icon | 菜单图标 | ReactNode | - | |
2888
+ | key | 唯一标志 | string | - | |
2889
+ | label | 菜单项标题 | ReactNode | - | |
2890
+ | popupClassName | 子菜单样式, | string | - | |
2891
+ | popupOffset | 子菜单偏移量, | [number, number] | - | |
2892
+ | onTitleClick | 点击子菜单标题 | function({ key, domEvent }) | - | |
2893
+ | theme | 设置子菜单的主题,默认从 Menu 上继承 | light | - | |
2894
+
2895
+
2896
+ #### MenuItemGroupType
2897
+
2898
+ 定义类型为 `group` 时,会作为分组处理:
2899
+
2900
+
2901
+ ```ts
2902
+ const groupItem = {
2903
+ type: 'group', // Must have
2904
+ label: 'My Group',
2905
+ children: [],
2906
+ };
2907
+ ```
2908
+
2909
+
2910
+ | 参数 | 说明 | 类型 | 默认值 | 版本 |
2911
+ |--------|--------|--------|--------|--------|
2912
+ | children | 分组的菜单项 | | - | |
2913
+ | label | 分组标题 | ReactNode | - | |
2914
+
2915
+
2916
+ #### MenuDividerType
2917
+
2918
+ 菜单项分割线,只用在弹出菜单内,需要定义类型为 `divider`:
2919
+
2920
+
2921
+ ```ts
2922
+ const dividerItem = {
2923
+ type: 'divider', // Must have
2924
+ };
2925
+ ```
2926
+
2927
+
2928
+ | 参数 | 说明 | 类型 | 默认值 | 版本 |
2929
+ |--------|--------|--------|--------|--------|
2930
+ | dashed | 是否虚线 | boolean | false | |
2931
+
2932
+
2933
+
2934
+
2935
2935
  <DemoTitle title="Empty" desc="用于空状态的占位图形展示。">
2936
2936
  ## API
2937
2937
 
@@ -2976,70 +2976,6 @@ type Rule = RuleConfig | ((form: FormInstance) => RuleConfig);
2976
2976
 
2977
2977
 
2978
2978
 
2979
- <DemoTitle title="Drawer" desc="从页面一侧滑入的操作面板,用于承载临时界面内容。">
2980
- #### API
2981
-
2982
- | 属性名 | 描述 | 类型 | 默认值 |
2983
- |--------|--------|--------|--------|
2984
- | showDivider | 是否显示分割线 | boolean | true |
2985
-
2986
- ##### Drawer.Confirm - 带按钮的抽屉
2987
-
2988
- | 属性名 | 描述 | 类型 | 默认值 |
2989
- |--------|--------|--------|--------|
2990
- | footer | 自定义底部内容 | React.ReactNode | |
2991
- | onOk | 点击确定回调 | () => void | |
2992
- | okText | 确认按钮文字 | string | |
2993
- | okButtonProps | 确认按钮属性 | ButtonProps | |
2994
- | onCancel | 点击取消回调 | () => void | |
2995
- | cancelText | 取消按钮文字 | string | |
2996
- | cancelButtonProps | 取消按钮属性 | ButtonProps | |
2997
- | info | 底部额外内容 | React.ReactNode | |
2998
-
2999
- <AntdApiRef url="https://ant.design/components/drawer-cn/#api"></AntdApiRef>
3000
-
3001
-
3002
- ## antd API
3003
-
3004
- 通用属性参考:[通用属性](/docs/react/common-props)
3005
-
3006
- <!-- prettier-ignore -->
3007
- <Container type="warning" title="注意">
3008
- v5 使用 `rootClassName` 与 `rootStyle` 来配置最外层元素样式。原 v4 `className` 与 `style` 改至配置 Drawer 窗体样式以和 Modal 对齐。
3009
- </Container>
3010
- | 参数 | 说明 | 类型 | 默认值 | 版本 |
3011
- |--------|--------|--------|--------|--------|
3012
- | autoFocus | 抽屉展开后是否将焦点切换至其 DOM 节点 | boolean | true | 4.17.0 |
3013
- | afterOpenChange | 切换抽屉时动画结束后的回调 | function(open) | - | |
3014
- | className | Drawer 容器外层 className 设置,如果需要设置最外层,请使用 rootClassName | string | - | |
3015
- | classNames | 语义化结构 className | | - | 5.10.0 |
3016
- | closeIcon | 自定义关闭图标。5.7.0:设置为 | ReactNode | | |
3017
- | destroyOnHidden | 关闭时销毁 Drawer 里的子元素 | boolean | false | 5.25.0 |
3018
- | extra | 抽屉右上角的操作区域 | ReactNode | - | 4.17.0 |
3019
- | footer | 抽屉的页脚 | ReactNode | - | |
3020
- | forceRender | 预渲染 Drawer 内元素 | boolean | false | |
3021
- | getContainer | 指定 Drawer 挂载的节点, | HTMLElement \| () => HTMLElement \| Selectors \| false | body | |
3022
- | height | 高度,在 | string \| number | 378 | |
3023
- | keyboard | 是否支持键盘 esc 关闭 | boolean | true | |
3024
- | mask | 是否展示遮罩 | boolean | true | |
3025
- | maskClosable | 点击蒙层是否允许关闭 | boolean | true | |
3026
- | placement | 抽屉的方向 | top | right | |
3027
- | push | 用于设置多层 Drawer 的推动行为 | boolean \| { distance: string \| number } | { distance: 180 } | 4.5.0+ |
3028
- | rootStyle | 可用于设置 Drawer 最外层容器的样式,和 | CSSProperties | - | |
3029
- | size | 预设抽屉宽度(或高度),default | 'default' \| 'large' | 'default' | 4.17.0 |
3030
- | style | 设计 Drawer 容器样式,如果你只需要设置内容部分请使用 | CSSProperties | - | |
3031
- | styles | 语义化结构 style | | - | 5.10.0 |
3032
- | title | 标题 | ReactNode | - | |
3033
- | loading | 显示骨架屏 | boolean | false | 5.17.0 |
3034
- | open | Drawer 是否可见 | boolean | - |
3035
- | width | 宽度 | string \| number | 378 | |
3036
- | zIndex | 设置 Drawer 的 | number | 1000 | |
3037
- | onClose | 点击遮罩层或左上角叉或取消按钮的回调 | function(e) | - | |
3038
- | drawerRender | 自定义渲染抽屉 | (node: ReactNode) => ReactNode | - | 5.18.0 |
3039
-
3040
-
3041
-
3042
-
3043
2979
  <DemoTitle title="Descriptions" desc="展示多个只读字段的组合">
3044
2980
  #### API
3045
2981
 
@@ -3074,77 +3010,36 @@ v5 使用 `rootClassName` 与 `rootStyle` 来配置最外层元素样式。原 v
3074
3010
  | span | 包含列的数量( | number\| | 1 | screens: 5.9.0 |
3075
3011
 
3076
3012
 
3077
- span 是 Description.Item 的数量。 span={2} 会占用两个 DescriptionItem 的宽度。当同时配置 `style` 和 `labelStyle`(或 `contentStyle`)时,两者会同时作用。样式冲突时,后者会覆盖前者。
3078
-
3079
-
3080
-
3081
- <DemoTitle title="CollapsePanel" desc="折叠面板">
3082
- #### API
3083
-
3084
- | 属性名 | 描述 | 类型 | 默认值 |
3085
- |--------|--------|--------|--------|
3086
- | collapsedHeight | 收起状态下显示的内容高度 | number | 0 |
3087
- | expandedHeight | 展开状态下的内容高度,设置后内容超出时可滚动,不设置则自适应内容高度 | number | 300 |
3088
- | title | 面板标题 | string \| React.ReactNode | "" |
3089
- | expandOnPanelClick | 是否允许点击整个面板进行展开 | boolean | false |
3090
- | extra | 面板右侧内容 | React.ReactNode | |
3091
- | children | 面板内容 | React.ReactNode | |
3092
- | defaultExpanded | 是否默认展开 | boolean | false |
3093
- | classNames | 语义化的classNames | Partial> | |
3094
- | styles | 语义化的styles | Partial<
3095
- Record
3096
- > | |
3097
-
3098
-
3099
-
3100
- ## antd API
3101
-
3102
- 通用属性参考:[通用属性](/docs/react/common-props)
3013
+ span 是 Description.Item 的数量。 span={2} 会占用两个 DescriptionItem 的宽度。当同时配置 `style` 和 `labelStyle`(或 `contentStyle`)时,两者会同时作用。样式冲突时,后者会覆盖前者。
3103
3014
 
3104
- ### Collapse
3105
3015
 
3106
- | 参数 | 说明 | 类型 | 默认值 | 版本 |
3107
- |--------|--------|--------|--------|--------|
3108
- | accordion | 手风琴模式 | boolean | false | |
3109
- | activeKey | 当前激活 tab 面板的 key | string[] \| string | | |
3110
- | bordered | 带边框风格的折叠面板 | boolean | true | |
3111
- | collapsible | 所有子面板是否可折叠或指定可折叠触发区域 | header | - | 4.9.0 |
3112
- | defaultActiveKey | 初始化选中面板的 key | string[] \| string | - | |
3113
- | destroyOnHidden | 销毁折叠隐藏的面板 | boolean | false | 5.25.0 |
3114
- | expandIcon | 自定义切换图标 | (panelProps) => ReactNode | - | |
3115
- | expandIconPosition | 设置图标位置 | start | - | 4.21.0 |
3116
- | ghost | 使折叠面板透明且无边框 | boolean | false | 4.4.0 |
3117
- | size | 设置折叠面板大小 | large | middle | 5.2.0 |
3118
- | onChange | 切换面板的回调 | function | - | |
3119
- | items | 折叠项目内容 | | - | 5.6.0 |
3120
3016
 
3017
+ <DemoTitle title="FileIcon" desc="用于展示不同文件类型的图标,也可通过 FileCard 展示文件信息。">
3018
+ #### API
3121
3019
 
3122
- ### ItemType
3020
+ ##### FileIcon Props
3123
3021
 
3124
- | 参数 | 说明 | 类型 | 默认值 | 版本 |
3125
- |--------|--------|--------|--------|--------|
3126
- | classNames | 语义化结构 className | | - | 5.21.0 |
3127
- | collapsible | 是否可折叠或指定可折叠触发区域 | header | - | |
3128
- | forceRender | 被隐藏时是否渲染 body 区域 DOM 结构 | boolean | false | |
3129
- | key | 对应 activeKey | string \| number | - | |
3130
- | label | 面板标题 | ReactNode | - | - |
3131
- | showArrow | 是否展示当前面板上的箭头(为 false 时,collapsible 不能设为 icon) | boolean | true | |
3132
- | styles | 语义化结构 style | | - | 5.21.0 |
3022
+ | 属性名 | 描述 | 类型 | 默认值 |
3023
+ |--------|--------|--------|--------|
3024
+ | src | | string | |
3025
+ | image | | string | |
3026
+ | type | | string | (必填) |
3027
+ | size | | number | |
3028
+ | style | | React.CSSProperties | |
3133
3029
 
3134
3030
 
3135
- ### Collapse.Panel
3031
+ ##### FileCard Props
3136
3032
 
3137
- <!-- prettier-ignore -->
3138
- <Container type="warning" title="已废弃">
3139
- 版本 >= 5.6.0 时请使用 items 方式配置面板。
3140
- </Container>
3141
- | 参数 | 说明 | 类型 | 默认值 | 版本 |
3142
- |--------|--------|--------|--------|--------|
3143
- | collapsible | 是否可折叠或指定可折叠触发区域 | header | - | 4.9.0 (icon: 4.24.0) |
3144
- | forceRender | 被隐藏时是否渲染 body 区域 DOM 结构 | boolean | false | |
3145
- | header | 面板标题 | ReactNode | - | |
3146
- | key | 对应 activeKey | string \| number | - | |
3147
- | showArrow | 是否展示当前面板上的箭头(为 false 时,collapsible 不能设为 icon) | boolean | true | |
3033
+ | 属性名 | 描述 | 类型 | 默认值 |
3034
+ |--------|--------|--------|--------|
3035
+ | iconSize | | number | |
3036
+ | src | | string | |
3037
+ | type | | string | (必填) |
3038
+ | name | | string | (必填) |
3039
+ | desc | | string | |
3040
+ | size | | number | |
3041
+ | width | | React.CSSProperties['width'] | |
3042
+ | children | | React.ReactNode | |
3148
3043
 
3149
3044
 
3150
3045
 
@@ -3371,10 +3266,87 @@ export type FormatType =
3371
3266
 
3372
3267
 
3373
3268
 
3374
- <DemoTitle title="Collapse" desc="可以折叠/展开的内容区域">
3269
+ <DemoTitle title="Drawer" desc="从页面一侧滑入的操作面板,用于承载临时界面内容。">
3375
3270
  #### API
3376
3271
 
3377
- <AntdApiRef url="https://ant.design/components/collapse-cn/#api"></AntdApiRef>
3272
+ | 属性名 | 描述 | 类型 | 默认值 |
3273
+ |--------|--------|--------|--------|
3274
+ | showDivider | 是否显示分割线 | boolean | true |
3275
+
3276
+ ##### Drawer.Confirm - 带按钮的抽屉
3277
+
3278
+ | 属性名 | 描述 | 类型 | 默认值 |
3279
+ |--------|--------|--------|--------|
3280
+ | footer | 自定义底部内容 | React.ReactNode | |
3281
+ | onOk | 点击确定回调 | () => void | |
3282
+ | okText | 确认按钮文字 | string | |
3283
+ | okButtonProps | 确认按钮属性 | ButtonProps | |
3284
+ | onCancel | 点击取消回调 | () => void | |
3285
+ | cancelText | 取消按钮文字 | string | |
3286
+ | cancelButtonProps | 取消按钮属性 | ButtonProps | |
3287
+ | info | 底部额外内容 | React.ReactNode | |
3288
+
3289
+ <AntdApiRef url="https://ant.design/components/drawer-cn/#api"></AntdApiRef>
3290
+
3291
+
3292
+ ## antd API
3293
+
3294
+ 通用属性参考:[通用属性](/docs/react/common-props)
3295
+
3296
+ <!-- prettier-ignore -->
3297
+ <Container type="warning" title="注意">
3298
+ v5 使用 `rootClassName` 与 `rootStyle` 来配置最外层元素样式。原 v4 `className` 与 `style` 改至配置 Drawer 窗体样式以和 Modal 对齐。
3299
+ </Container>
3300
+ | 参数 | 说明 | 类型 | 默认值 | 版本 |
3301
+ |--------|--------|--------|--------|--------|
3302
+ | autoFocus | 抽屉展开后是否将焦点切换至其 DOM 节点 | boolean | true | 4.17.0 |
3303
+ | afterOpenChange | 切换抽屉时动画结束后的回调 | function(open) | - | |
3304
+ | className | Drawer 容器外层 className 设置,如果需要设置最外层,请使用 rootClassName | string | - | |
3305
+ | classNames | 语义化结构 className | | - | 5.10.0 |
3306
+ | closeIcon | 自定义关闭图标。5.7.0:设置为 | ReactNode | | |
3307
+ | destroyOnHidden | 关闭时销毁 Drawer 里的子元素 | boolean | false | 5.25.0 |
3308
+ | extra | 抽屉右上角的操作区域 | ReactNode | - | 4.17.0 |
3309
+ | footer | 抽屉的页脚 | ReactNode | - | |
3310
+ | forceRender | 预渲染 Drawer 内元素 | boolean | false | |
3311
+ | getContainer | 指定 Drawer 挂载的节点, | HTMLElement \| () => HTMLElement \| Selectors \| false | body | |
3312
+ | height | 高度,在 | string \| number | 378 | |
3313
+ | keyboard | 是否支持键盘 esc 关闭 | boolean | true | |
3314
+ | mask | 是否展示遮罩 | boolean | true | |
3315
+ | maskClosable | 点击蒙层是否允许关闭 | boolean | true | |
3316
+ | placement | 抽屉的方向 | top | right | |
3317
+ | push | 用于设置多层 Drawer 的推动行为 | boolean \| { distance: string \| number } | { distance: 180 } | 4.5.0+ |
3318
+ | rootStyle | 可用于设置 Drawer 最外层容器的样式,和 | CSSProperties | - | |
3319
+ | size | 预设抽屉宽度(或高度),default | 'default' \| 'large' | 'default' | 4.17.0 |
3320
+ | style | 设计 Drawer 容器样式,如果你只需要设置内容部分请使用 | CSSProperties | - | |
3321
+ | styles | 语义化结构 style | | - | 5.10.0 |
3322
+ | title | 标题 | ReactNode | - | |
3323
+ | loading | 显示骨架屏 | boolean | false | 5.17.0 |
3324
+ | open | Drawer 是否可见 | boolean | - |
3325
+ | width | 宽度 | string \| number | 378 | |
3326
+ | zIndex | 设置 Drawer 的 | number | 1000 | |
3327
+ | onClose | 点击遮罩层或左上角叉或取消按钮的回调 | function(e) | - | |
3328
+ | drawerRender | 自定义渲染抽屉 | (node: ReactNode) => ReactNode | - | 5.18.0 |
3329
+
3330
+
3331
+
3332
+
3333
+ <DemoTitle title="CollapsePanel" desc="折叠面板">
3334
+ #### API
3335
+
3336
+ | 属性名 | 描述 | 类型 | 默认值 |
3337
+ |--------|--------|--------|--------|
3338
+ | collapsedHeight | 收起状态下显示的内容高度 | number | 0 |
3339
+ | expandedHeight | 展开状态下的内容高度,设置后内容超出时可滚动,不设置则自适应内容高度 | number | 300 |
3340
+ | title | 面板标题 | string \| React.ReactNode | "" |
3341
+ | expandOnPanelClick | 是否允许点击整个面板进行展开 | boolean | false |
3342
+ | extra | 面板右侧内容 | React.ReactNode | |
3343
+ | children | 面板内容 | React.ReactNode | |
3344
+ | defaultExpanded | 是否默认展开 | boolean | false |
3345
+ | classNames | 语义化的classNames | Partial> | |
3346
+ | styles | 语义化的styles | Partial<
3347
+ Record
3348
+ > | |
3349
+
3378
3350
 
3379
3351
 
3380
3352
  ## antd API
@@ -3429,84 +3401,6 @@ export type FormatType =
3429
3401
 
3430
3402
 
3431
3403
 
3432
- <DemoTitle title="CodeBlock" desc="代码块">
3433
- #### API
3434
-
3435
- | 属性名 | 描述 | 类型 | 默认值 |
3436
- |--------|--------|--------|--------|
3437
- | language | 语言 | string \| string[] | (必填) |
3438
- | value | 值 | string | (必填) |
3439
- | className | 类名 | string | |
3440
- | theme | 主题 | 'dark' \| 'light' | |
3441
- | readOnly | 只读 | boolean | |
3442
- | onChange | | (value: string) => void | |
3443
-
3444
-
3445
-
3446
-
3447
- <DemoTitle title="Card" desc="通用卡片容器">
3448
- #### API
3449
-
3450
- | 属性名 | 描述 | 类型 | 默认值 |
3451
- |--------|--------|--------|--------|
3452
- | info | 副标题 | ReactNode | |
3453
-
3454
- <AntdApiRef url="https://ant.design/components/card-cn/#api"></AntdApiRef>
3455
-
3456
-
3457
- ## antd API
3458
-
3459
- 通用属性参考:[通用属性](/docs/react/common-props)
3460
-
3461
-
3462
- ```jsx
3463
- <Card title="卡片标题">卡片内容</Card>
3464
- ```
3465
-
3466
-
3467
- | 参数 | 说明 | 类型 | 默认值 | 版本 |
3468
- |--------|--------|--------|--------|--------|
3469
- | actions | 卡片操作组,位置在卡片底部 | Array | - | |
3470
- | activeTabKey | 当前激活页签的 key | string | - | |
3471
- | variant | 形态变体 | outlined | outlined | 5.24.0 |
3472
- | cover | 卡片封面 | ReactNode | - | |
3473
- | defaultActiveTabKey | 初始化选中页签的 key,如果没有设置 activeTabKey | string | 第一个页签的 key | |
3474
- | extra | 卡片右上角的操作区域 | ReactNode | - | |
3475
- | hoverable | 鼠标移过时可浮起 | boolean | false | |
3476
- | loading | 当卡片内容还在加载中时,可以用 loading 展示一个占位 | boolean | false | |
3477
- | size | card 的尺寸 | default | default | |
3478
- | tabBarExtraContent | tab bar 上额外的元素 | ReactNode | - | |
3479
- | tabList | 页签标题列表 | | - | |
3480
- | tabProps | | - | - | |
3481
- | title | 卡片标题 | ReactNode | - | |
3482
- | type | 卡片类型,可设置为 | string | - | |
3483
- | classNames | 配置卡片内置模块的 className | | - | 5.14.0 |
3484
- | styles | 配置卡片内置模块的 style | | - | 5.14.0 |
3485
- | onTabChange | 页签切换的回调 | (key) => void | - | |
3486
-
3487
-
3488
- ### Card.Grid
3489
-
3490
- | 参数 | 说明 | 类型 | 默认值 | 版本 |
3491
- |--------|--------|--------|--------|--------|
3492
- | className | 网格容器类名 | string | - | |
3493
- | hoverable | 鼠标移过时可浮起 | boolean | true | |
3494
- | style | 定义网格容器类名的样式 | CSSProperties | - | |
3495
-
3496
-
3497
- ### Card.Meta
3498
-
3499
- | 参数 | 说明 | 类型 | 默认值 | 版本 |
3500
- |--------|--------|--------|--------|--------|
3501
- | avatar | 头像/图标 | ReactNode | - | |
3502
- | className | 容器类名 | string | - | |
3503
- | description | 描述内容 | ReactNode | - | |
3504
- | style | 定义容器类名的样式 | CSSProperties | - | |
3505
- | title | 标题内容 | ReactNode | - | |
3506
-
3507
-
3508
-
3509
-
3510
3404
  <DemoTitle title="Checkbox" desc="收集用户的多项选择。">
3511
3405
  #### API
3512
3406
 
@@ -3556,24 +3450,97 @@ export type FormatType =
3556
3450
  ##### Option
3557
3451
 
3558
3452
 
3559
- ```typescript
3560
- interface Option {
3561
- label: string;
3562
- value: string;
3563
- disabled?: boolean;
3564
- }
3565
- ```
3453
+ ```typescript
3454
+ interface Option {
3455
+ label: string;
3456
+ value: string;
3457
+ disabled?: boolean;
3458
+ }
3459
+ ```
3460
+
3461
+
3462
+ ### 方法
3463
+
3464
+ #### Checkbox
3465
+
3466
+ | 名称 | 描述 | 版本 |
3467
+ |--------|--------|--------|
3468
+ | blur() | 移除焦点 | |
3469
+ | focus() | 获取焦点 | |
3470
+ | nativeElement | 返回 Checkbox 的 DOM 节点 | 5.17.3 |
3471
+
3472
+
3473
+
3474
+
3475
+ <DemoTitle title="CodeBlock" desc="代码块">
3476
+ #### API
3477
+
3478
+ | 属性名 | 描述 | 类型 | 默认值 |
3479
+ |--------|--------|--------|--------|
3480
+ | language | 语言 | string \| string[] | (必填) |
3481
+ | value | 值 | string | |
3482
+ | className | 类名 | string | |
3483
+ | theme | 主题 | 'dark' \| 'light' | |
3484
+ | readOnly | 只读 | boolean | |
3485
+ | onChange | | (value?: string) => void | |
3486
+
3487
+
3488
+
3489
+
3490
+ <DemoTitle title="Collapse" desc="可以折叠/展开的内容区域">
3491
+ #### API
3492
+
3493
+ <AntdApiRef url="https://ant.design/components/collapse-cn/#api"></AntdApiRef>
3494
+
3495
+
3496
+ ## antd API
3497
+
3498
+ 通用属性参考:[通用属性](/docs/react/common-props)
3499
+
3500
+ ### Collapse
3501
+
3502
+ | 参数 | 说明 | 类型 | 默认值 | 版本 |
3503
+ |--------|--------|--------|--------|--------|
3504
+ | accordion | 手风琴模式 | boolean | false | |
3505
+ | activeKey | 当前激活 tab 面板的 key | string[] \| string | | |
3506
+ | bordered | 带边框风格的折叠面板 | boolean | true | |
3507
+ | collapsible | 所有子面板是否可折叠或指定可折叠触发区域 | header | - | 4.9.0 |
3508
+ | defaultActiveKey | 初始化选中面板的 key | string[] \| string | - | |
3509
+ | destroyOnHidden | 销毁折叠隐藏的面板 | boolean | false | 5.25.0 |
3510
+ | expandIcon | 自定义切换图标 | (panelProps) => ReactNode | - | |
3511
+ | expandIconPosition | 设置图标位置 | start | - | 4.21.0 |
3512
+ | ghost | 使折叠面板透明且无边框 | boolean | false | 4.4.0 |
3513
+ | size | 设置折叠面板大小 | large | middle | 5.2.0 |
3514
+ | onChange | 切换面板的回调 | function | - | |
3515
+ | items | 折叠项目内容 | | - | 5.6.0 |
3516
+
3517
+
3518
+ ### ItemType
3566
3519
 
3520
+ | 参数 | 说明 | 类型 | 默认值 | 版本 |
3521
+ |--------|--------|--------|--------|--------|
3522
+ | classNames | 语义化结构 className | | - | 5.21.0 |
3523
+ | collapsible | 是否可折叠或指定可折叠触发区域 | header | - | |
3524
+ | forceRender | 被隐藏时是否渲染 body 区域 DOM 结构 | boolean | false | |
3525
+ | key | 对应 activeKey | string \| number | - | |
3526
+ | label | 面板标题 | ReactNode | - | - |
3527
+ | showArrow | 是否展示当前面板上的箭头(为 false 时,collapsible 不能设为 icon) | boolean | true | |
3528
+ | styles | 语义化结构 style | | - | 5.21.0 |
3567
3529
 
3568
- ### 方法
3569
3530
 
3570
- #### Checkbox
3531
+ ### Collapse.Panel
3571
3532
 
3572
- | 名称 | 描述 | 版本 |
3573
- |--------|--------|--------|
3574
- | blur() | 移除焦点 | |
3575
- | focus() | 获取焦点 | |
3576
- | nativeElement | 返回 Checkbox DOM 节点 | 5.17.3 |
3533
+ <!-- prettier-ignore -->
3534
+ <Container type="warning" title="已废弃">
3535
+ 版本 >= 5.6.0 时请使用 items 方式配置面板。
3536
+ </Container>
3537
+ | 参数 | 说明 | 类型 | 默认值 | 版本 |
3538
+ |--------|--------|--------|--------|--------|
3539
+ | collapsible | 是否可折叠或指定可折叠触发区域 | header | - | 4.9.0 (icon: 4.24.0) |
3540
+ | forceRender | 被隐藏时是否渲染 body 区域 DOM 结构 | boolean | false | |
3541
+ | header | 面板标题 | ReactNode | - | |
3542
+ | key | 对应 activeKey | string \| number | - | |
3543
+ | showArrow | 是否展示当前面板上的箭头(为 false 时,collapsible 不能设为 icon) | boolean | true | |
3577
3544
 
3578
3545
 
3579
3546
 
@@ -3633,54 +3600,6 @@ type PresetColors = 'blue' | 'purple' | 'cyan' | 'green' | 'magenta' | 'pink' |
3633
3600
 
3634
3601
 
3635
3602
 
3636
- <DemoTitle title="Audio" desc="音频展示">
3637
- #### API
3638
-
3639
- ApiParser解析结果为空
3640
-
3641
-
3642
-
3643
-
3644
-
3645
- <DemoTitle title="Avatar" desc="用来代表用户或事物,支持图片、图标或字符展示。">
3646
- #### API
3647
-
3648
- <AntdApiRef url="https://ant.design/components/avatar-cn/#api"></AntdApiRef>
3649
-
3650
-
3651
- ## antd API
3652
-
3653
- 通用属性参考:[通用属性](/docs/react/common-props)
3654
-
3655
- ### Avatar
3656
-
3657
- | 参数 | 说明 | 类型 | 默认值 | 版本 |
3658
- |--------|--------|--------|--------|--------|
3659
- | alt | 图像无法显示时的替代文本 | string | - | |
3660
- | gap | 字符类型距离左右两侧边界单位像素 | number | 4 | 4.3.0 |
3661
- | icon | 设置头像的自定义图标 | ReactNode | - | |
3662
- | shape | 指定头像的形状 | circle | circle | |
3663
- | size | 设置头像的大小 | number \| | default | 4.7.0 |
3664
- | src | 图片类头像的资源地址或者图片元素 | string \| ReactNode | - | ReactNode: 4.8.0 |
3665
- | srcSet | 设置图片类头像响应式资源地址 | string | - | |
3666
- | draggable | 图片是否允许拖动 | boolean \| | true | |
3667
- | crossOrigin | CORS 属性设置 | 'anonymous' | - | 4.17.0 |
3668
- | onError | 图片加载失败的事件,返回 false 会关闭组件默认的 fallback 行为 | () => boolean | - | |
3669
-
3670
-
3671
- Tip:你可以设置 `icon` 或 `children` 作为图片加载失败的默认 fallback 行为,优先级为 `icon` > `children`
3672
-
3673
- ### Avatar.Group <Badge>4.5.0+</Badge>
3674
-
3675
- | 参数 | 说明 | 类型 | 默认值 | 版本 |
3676
- |--------|--------|--------|--------|--------|
3677
- | max | 设置最多显示相关配置, | { count?: number; style?: CSSProperties; popover?: PopoverProps } | - | 5.18.0 |
3678
- | size | 设置头像的大小 | number \| | default | 4.8.0 |
3679
- | shape | 设置头像的形状 | circle | circle | 5.8.0 |
3680
-
3681
-
3682
-
3683
-
3684
3603
  <DemoTitle title="Breadcrumb" desc="显示当前页面在系统层级结构中的位置,并能向上返回。">
3685
3604
  #### API
3686
3605
 
@@ -3800,6 +3719,170 @@ return <Breadcrumb itemRender={itemRender} items={items} />;
3800
3719
 
3801
3720
 
3802
3721
 
3722
+ <DemoTitle title="Card" desc="通用卡片容器">
3723
+ #### API
3724
+
3725
+ | 属性名 | 描述 | 类型 | 默认值 |
3726
+ |--------|--------|--------|--------|
3727
+ | info | 副标题 | ReactNode | |
3728
+
3729
+ <AntdApiRef url="https://ant.design/components/card-cn/#api"></AntdApiRef>
3730
+
3731
+
3732
+ ## antd API
3733
+
3734
+ 通用属性参考:[通用属性](/docs/react/common-props)
3735
+
3736
+
3737
+ ```jsx
3738
+ <Card title="卡片标题">卡片内容</Card>
3739
+ ```
3740
+
3741
+
3742
+ | 参数 | 说明 | 类型 | 默认值 | 版本 |
3743
+ |--------|--------|--------|--------|--------|
3744
+ | actions | 卡片操作组,位置在卡片底部 | Array | - | |
3745
+ | activeTabKey | 当前激活页签的 key | string | - | |
3746
+ | variant | 形态变体 | outlined | outlined | 5.24.0 |
3747
+ | cover | 卡片封面 | ReactNode | - | |
3748
+ | defaultActiveTabKey | 初始化选中页签的 key,如果没有设置 activeTabKey | string | 第一个页签的 key | |
3749
+ | extra | 卡片右上角的操作区域 | ReactNode | - | |
3750
+ | hoverable | 鼠标移过时可浮起 | boolean | false | |
3751
+ | loading | 当卡片内容还在加载中时,可以用 loading 展示一个占位 | boolean | false | |
3752
+ | size | card 的尺寸 | default | default | |
3753
+ | tabBarExtraContent | tab bar 上额外的元素 | ReactNode | - | |
3754
+ | tabList | 页签标题列表 | | - | |
3755
+ | tabProps | | - | - | |
3756
+ | title | 卡片标题 | ReactNode | - | |
3757
+ | type | 卡片类型,可设置为 | string | - | |
3758
+ | classNames | 配置卡片内置模块的 className | | - | 5.14.0 |
3759
+ | styles | 配置卡片内置模块的 style | | - | 5.14.0 |
3760
+ | onTabChange | 页签切换的回调 | (key) => void | - | |
3761
+
3762
+
3763
+ ### Card.Grid
3764
+
3765
+ | 参数 | 说明 | 类型 | 默认值 | 版本 |
3766
+ |--------|--------|--------|--------|--------|
3767
+ | className | 网格容器类名 | string | - | |
3768
+ | hoverable | 鼠标移过时可浮起 | boolean | true | |
3769
+ | style | 定义网格容器类名的样式 | CSSProperties | - | |
3770
+
3771
+
3772
+ ### Card.Meta
3773
+
3774
+ | 参数 | 说明 | 类型 | 默认值 | 版本 |
3775
+ |--------|--------|--------|--------|--------|
3776
+ | avatar | 头像/图标 | ReactNode | - | |
3777
+ | className | 容器类名 | string | - | |
3778
+ | description | 描述内容 | ReactNode | - | |
3779
+ | style | 定义容器类名的样式 | CSSProperties | - | |
3780
+ | title | 标题内容 | ReactNode | - | |
3781
+
3782
+
3783
+
3784
+
3785
+ <DemoTitle title="Avatar" desc="用来代表用户或事物,支持图片、图标或字符展示。">
3786
+ #### API
3787
+
3788
+ <AntdApiRef url="https://ant.design/components/avatar-cn/#api"></AntdApiRef>
3789
+
3790
+
3791
+ ## antd API
3792
+
3793
+ 通用属性参考:[通用属性](/docs/react/common-props)
3794
+
3795
+ ### Avatar
3796
+
3797
+ | 参数 | 说明 | 类型 | 默认值 | 版本 |
3798
+ |--------|--------|--------|--------|--------|
3799
+ | alt | 图像无法显示时的替代文本 | string | - | |
3800
+ | gap | 字符类型距离左右两侧边界单位像素 | number | 4 | 4.3.0 |
3801
+ | icon | 设置头像的自定义图标 | ReactNode | - | |
3802
+ | shape | 指定头像的形状 | circle | circle | |
3803
+ | size | 设置头像的大小 | number \| | default | 4.7.0 |
3804
+ | src | 图片类头像的资源地址或者图片元素 | string \| ReactNode | - | ReactNode: 4.8.0 |
3805
+ | srcSet | 设置图片类头像响应式资源地址 | string | - | |
3806
+ | draggable | 图片是否允许拖动 | boolean \| | true | |
3807
+ | crossOrigin | CORS 属性设置 | 'anonymous' | - | 4.17.0 |
3808
+ | onError | 图片加载失败的事件,返回 false 会关闭组件默认的 fallback 行为 | () => boolean | - | |
3809
+
3810
+
3811
+ Tip:你可以设置 `icon` 或 `children` 作为图片加载失败的默认 fallback 行为,优先级为 `icon` > `children`
3812
+
3813
+ ### Avatar.Group <Badge>4.5.0+</Badge>
3814
+
3815
+ | 参数 | 说明 | 类型 | 默认值 | 版本 |
3816
+ |--------|--------|--------|--------|--------|
3817
+ | max | 设置最多显示相关配置, | { count?: number; style?: CSSProperties; popover?: PopoverProps } | - | 5.18.0 |
3818
+ | size | 设置头像的大小 | number \| | default | 4.8.0 |
3819
+ | shape | 设置头像的形状 | circle | circle | 5.8.0 |
3820
+
3821
+
3822
+
3823
+
3824
+ <DemoTitle title="Audio" desc="音频展示">
3825
+ #### API
3826
+
3827
+ ApiParser解析结果为空
3828
+
3829
+
3830
+
3831
+
3832
+
3833
+ <DemoTitle title="Anchor" desc="用于跳转到页面指定位置。">
3834
+ #### API
3835
+
3836
+ <AntdApiRef url="https://ant.design/components/anchor-cn/#api"></AntdApiRef>
3837
+
3838
+
3839
+ ## antd API
3840
+
3841
+ 通用属性参考:[通用属性](/docs/react/common-props)
3842
+
3843
+ ### Anchor Props
3844
+
3845
+ | 参数 | 说明 | 类型 | 默认值 | 版本 |
3846
+ |--------|--------|--------|--------|--------|
3847
+ | affix | 固定模式 | boolean \| Omit | true | object: 5.19.0 |
3848
+ | bounds | 锚点区域边界 | number | 5 | |
3849
+ | getContainer | 指定滚动的容器 | () => HTMLElement | () => window | |
3850
+ | getCurrentAnchor | 自定义高亮的锚点 | (activeLink: string) => string | - | |
3851
+ | offsetTop | 距离窗口顶部达到指定偏移量后触发 | number | | |
3852
+ | showInkInFixed | affix={false} | boolean | false | |
3853
+ | targetOffset | 锚点滚动偏移量,默认与 offsetTop 相同, | number | - | |
3854
+ | onChange | 监听锚点链接改变 | (currentActiveLink: string) => void | - | |
3855
+ | onClick | click | (e: MouseEvent, link: object) => void | - | |
3856
+ | items | 数据化配置选项内容,支持通过 children 嵌套 | { key, href, title, target, children }[] | - | 5.1.0 |
3857
+ | direction | 设置导航方向 | vertical | vertical | 5.2.0 |
3858
+ | replace | 替换浏览器历史记录中项目的 href 而不是推送它 | boolean | false | 5.7.0 |
3859
+
3860
+
3861
+ ### AnchorItem
3862
+
3863
+ | 参数 | 说明 | 类型 | 默认值 | 版本 |
3864
+ |--------|--------|--------|--------|--------|
3865
+ | key | 唯一标志 | string \| number | - | |
3866
+ | href | 锚点链接 | string | - | |
3867
+ | target | 该属性指定在何处显示链接的资源 | string | - | |
3868
+ | title | 文字内容 | ReactNode | - | |
3869
+ | children | 嵌套的 Anchor Link, | | - | |
3870
+ | replace | 替换浏览器历史记录中的项目 href 而不是推送它 | boolean | false | 5.7.0 |
3871
+
3872
+
3873
+ ### Link Props
3874
+
3875
+ 建议使用 items 形式。
3876
+
3877
+ | 参数 | 说明 | 类型 | 默认值 | 版本 |
3878
+ |--------|--------|--------|--------|--------|
3879
+ | href | 锚点链接 | string | - | |
3880
+ | target | 该属性指定在何处显示链接的资源 | string | - | |
3881
+ | title | 文字内容 | ReactNode | - | |
3882
+
3883
+
3884
+
3885
+
3803
3886
  <DemoTitle title="AlertDialog" desc="一种在界面中弹出的对话框,用来向用户传达重要信息,并引导其进行确认或取消等操作。">
3804
3887
  #### API
3805
3888
 
@@ -3973,270 +4056,6 @@ const confirmed = await modal.confirm({ ... });
3973
4056
 
3974
4057
 
3975
4058
 
3976
- <DemoTitle title="Anchor" desc="用于跳转到页面指定位置。">
3977
- #### API
3978
-
3979
- <AntdApiRef url="https://ant.design/components/anchor-cn/#api"></AntdApiRef>
3980
-
3981
-
3982
- ## antd API
3983
-
3984
- 通用属性参考:[通用属性](/docs/react/common-props)
3985
-
3986
- ### Anchor Props
3987
-
3988
- | 参数 | 说明 | 类型 | 默认值 | 版本 |
3989
- |--------|--------|--------|--------|--------|
3990
- | affix | 固定模式 | boolean \| Omit | true | object: 5.19.0 |
3991
- | bounds | 锚点区域边界 | number | 5 | |
3992
- | getContainer | 指定滚动的容器 | () => HTMLElement | () => window | |
3993
- | getCurrentAnchor | 自定义高亮的锚点 | (activeLink: string) => string | - | |
3994
- | offsetTop | 距离窗口顶部达到指定偏移量后触发 | number | | |
3995
- | showInkInFixed | affix={false} | boolean | false | |
3996
- | targetOffset | 锚点滚动偏移量,默认与 offsetTop 相同, | number | - | |
3997
- | onChange | 监听锚点链接改变 | (currentActiveLink: string) => void | - | |
3998
- | onClick | click | (e: MouseEvent, link: object) => void | - | |
3999
- | items | 数据化配置选项内容,支持通过 children 嵌套 | { key, href, title, target, children }[] | - | 5.1.0 |
4000
- | direction | 设置导航方向 | vertical | vertical | 5.2.0 |
4001
- | replace | 替换浏览器历史记录中项目的 href 而不是推送它 | boolean | false | 5.7.0 |
4002
-
4003
-
4004
- ### AnchorItem
4005
-
4006
- | 参数 | 说明 | 类型 | 默认值 | 版本 |
4007
- |--------|--------|--------|--------|--------|
4008
- | key | 唯一标志 | string \| number | - | |
4009
- | href | 锚点链接 | string | - | |
4010
- | target | 该属性指定在何处显示链接的资源 | string | - | |
4011
- | title | 文字内容 | ReactNode | - | |
4012
- | children | 嵌套的 Anchor Link, | | - | |
4013
- | replace | 替换浏览器历史记录中的项目 href 而不是推送它 | boolean | false | 5.7.0 |
4014
-
4015
-
4016
- ### Link Props
4017
-
4018
- 建议使用 items 形式。
4019
-
4020
- | 参数 | 说明 | 类型 | 默认值 | 版本 |
4021
- |--------|--------|--------|--------|--------|
4022
- | href | 锚点链接 | string | - | |
4023
- | target | 该属性指定在何处显示链接的资源 | string | - | |
4024
- | title | 文字内容 | ReactNode | - | |
4025
-
4026
-
4027
-
4028
-
4029
- ## 内置主题
4030
-
4031
- Alibaba Cloud Spark Design 提供四种内置主题:
4032
-
4033
- <div><span style="display: inline-block; width: 12px; height: 12px; background-color: #615CED;"></span> purpleTheme</div>
4034
- <div><span style="display: inline-block; width: 12px; height: 12px; background-color: #5551CC;"></span> purpleDarkTheme(暗色模式)</div>
4035
- <div><span style="display: inline-block; width: 12px; height: 12px; background-color: rgba(26, 26, 29, 1);"></span> carbonTheme</div>
4036
- <div><span style="display: inline-block; width: 12px; height: 12px; background-color: #676767;"></span> carbonDarkTheme(暗色模式)</div>
4037
-
4038
- ### 示例用法
4039
-
4040
-
4041
- ```tsx
4042
- import { ConfigProvider, purpleTheme } from '@agentscope-ai/design';
4043
-
4044
- const App = () => {
4045
- return <ConfigProvider {...purpleTheme}>Hello Spark Design!</ConfigProvider>;
4046
- };
4047
-
4048
- export default App;
4049
- ```
4050
-
4051
-
4052
- ## 从 Antd token 生成您自己的主题
4053
-
4054
- 如果您已经有了 Antd 主题,仍然可以使用 generateThemeByToken 生成 spark 风格的主题
4055
-
4056
-
4057
- ```tsx
4058
- import { ConfigProvider, generateThemeByToken } from '@agentscope-ai/design';
4059
- const yourToken = {
4060
- borderRadiusXS: 2,
4061
- borderRadiusSM: 4,
4062
- borderRadius: 6,
4063
- borderRadiusLG: 8,
4064
- borderRadiusXL: 12,
4065
- borderRadiusFull: 999,
4066
- wireframe: false,
4067
- colorPrimaryBg: '#F2F0FF',
4068
- colorPrimaryBgHover: '#F2F0FF',
4069
- colorPrimaryBorder: '#E2DEFF',
4070
- colorPrimaryBorderHover: '#BCB5FF',
4071
- // ... 您可以在下一个文档中找到完整版本的 tokens:Tokens 和 CSS 变量
4072
- };
4073
- const darkMode = false;
4074
- const yourThemeWithSparkStyle = generateThemeByToken(yourToken, darkMode);
4075
- const App = () => {
4076
- return (
4077
- <ConfigProvider {...yourThemeWithSparkStyle}>
4078
- Hello Spark Design!
4079
- </ConfigProvider>
4080
- );
4081
- };
4082
-
4083
- export default App;
4084
- ```
4085
-
4086
-
4087
- 您仍然可以修改生成的主题:`yourThemeWithSparkStyle`,但不建议这样做。我们建议您保持原始主题以获得 Spark Design 的最佳体验。
4088
-
4089
-
4090
-
4091
- <div align="center"><a name="readme-top"></a>
4092
- <img height="120" src="https://img.alicdn.com/imgextra/i1/O1CN01ipemFb1EzmZI9LiTe_!!6000000000423-55-tps-28-28.svg" style="border: none">
4093
- <h1>Alibaba Cloud Spark Design</h1>
4094
- </div>
4095
-
4096
- # 概述
4097
-
4098
- Alibaba Cloud Spark Design 是一个基于 Ant Design 的 React UI 组件库,包含丰富的基础组件和场景组件,专为构建优秀的 LLM 产品而设计。
4099
- <br />
4100
- <br />
4101
-
4102
- ## ✨ 特性
4103
-
4104
-
4105
- - <img height="15" src="https://gw.alipayobjects.com/zos/rmsportal/KDpgvguMpGfqaHPjicRK.svg"> 基于 Ant Design,兼容 Ant Design 生态系统。您可以无需修改代码即可切换到 Spark Design。
4106
- - 🛡 使用 TypeScript 编写,具有可预测的静态类型。
4107
- - 🧠 为 LLM 产品设计的各种场景组件。
4108
- - 💡 与@agentscope-ai/chat 和 @agentscope-ai/flow 配合使用,构建企业级 LLM 应用。
4109
- - 🎨 多种预设主题。
4110
- - ☀️ 轻松切换明暗模式。
4111
-
4112
- ## 📦 安装
4113
-
4114
-
4115
- ```bash
4116
- npm install antd @agentscope-ai/icons @agentscope-ai/design --save
4117
- ```
4118
-
4119
-
4120
- ## Tree Shaking 支持
4121
-
4122
- @agentscope-ai/design 默认基于 ES 模块支持 tree shaking
4123
-
4124
- ## TypeScript
4125
-
4126
- @agentscope-ai/chat 使用 TypeScript 编写并提供完整的定义文件。
4127
-
4128
- ## 内置主题
4129
-
4130
- 我们提供四种内置主题:
4131
-
4132
- <div><span style="display: inline-block; width: 12px; height: 12px; background-color: #615CED;"></span> purpleTheme</div>
4133
- <div><span style="display: inline-block; width: 12px; height: 12px; background-color: #5551CC;"></span> purpleDarkTheme(暗色模式)</div>
4134
- <div><span style="display: inline-block; width: 12px; height: 12px; background-color: rgba(26, 26, 29, 1);"></span> carbonTheme</div>
4135
- <div><span style="display: inline-block; width: 12px; height: 12px; background-color: #676767;"></span> carbonDarkTheme(暗色模式)</div>
4136
-
4137
- ## 🏗️ 开源
4138
-
4139
- [@agentscope-ai/design](https://www.npmjs.com/package/@agentscope-ai/design) 和 [@agentscope-ai/chat](https://www.npmjs.com/package/@agentscope-ai/chat) 正在积极推进开源,预计将在 2025 年底完成。目前,您可以通过 npm 访问我们的项目。
4140
-
4141
-
4142
-
4143
- # 使用
4144
-
4145
- 如果您有自己的 iconfont 项目,可以将您的图标集成到 Spark Design 中,并通过简单的符号名称访问您的图标。
4146
-
4147
-
4148
- ```tsx
4149
- import {
4150
- ConfigProvider,
4151
- purpleTheme,
4152
- Button,
4153
- IconFont,
4154
- IconButton,
4155
- } from '@agentscope-ai/design';
4156
- import { Flex } from 'antd';
4157
- import zhCN from 'antd/locale/zh_CN';
4158
- import { useState } from 'react';
4159
-
4160
- const App = () => {
4161
- const prefix = 'sps';
4162
- const iconSymbol = 'spark-effciency-line';
4163
- const iconfont = '//at.alicdn.com/t/a/font_4807885_ugexdeaoq7.js'; // 您可以从 https://www.iconfont.cn/ 获取
4164
- return (
4165
- <ConfigProvider
4166
- {...purpleTheme}
4167
- prefix={prefix}
4168
- prefixCls={prefix}
4169
- iconfont={iconfont}
4170
- locale={zhCN}
4171
- style={{
4172
- width: '100%',
4173
- height: '100%',
4174
- }}
4175
- >
4176
- <Flex
4177
- style={{
4178
- width: '100%',
4179
- height: '100%',
4180
- backgroundColor: `var(--${prefix}-color-bg-base)`,
4181
- }}
4182
- justify="center"
4183
- align="center"
4184
- >
4185
- <Flex vertical gap={16} style={{ width: '300px', padding: '12px 0' }}>
4186
- <Flex gap={8}>
4187
- <div style={{ width: '100px', lineHeight: '32px' }}>IconFont:</div>
4188
- <IconFont type={iconSymbol} />
4189
- </Flex>
4190
- <Flex gap={8}>
4191
- <div style={{ width: '100px', lineHeight: '32px' }}>Button:</div>
4192
- <Button type="primary" iconType={iconSymbol}>
4193
- 添加用户
4194
- </Button>
4195
- </Flex>
4196
- <Flex gap={8}>
4197
- <div style={{ width: '100px', lineHeight: '32px' }}>
4198
- IconButton:
4199
- </div>
4200
- <IconButton iconType={iconSymbol}></IconButton>
4201
- </Flex>
4202
- </Flex>
4203
- </Flex>
4204
- </ConfigProvider>
4205
- );
4206
- };
4207
-
4208
- export default App;
4209
- ```
4210
-
4211
-
4212
-
4213
-
4214
- # 使用
4215
-
4216
-
4217
-
4218
- ```tsx
4219
- import { SparkLoadingLine } from '@agentscope-ai/icons';
4220
-
4221
- export default () => {
4222
- return (
4223
- <SparkLoadingLine
4224
- className="your-class-name"
4225
- style={{ color: 'var(--sps-color-primary)' }}
4226
- spin
4227
- size={48}
4228
- />
4229
- );
4230
- };
4231
-
4232
- ```
4233
-
4234
- 基本用法
4235
-
4236
- 访问 [Icon Library](https://sparkdesign.agentscope.io/#/resources/icons) 查看全部 Icon
4237
-
4238
-
4239
-
4240
4059
  <DemoTitle title="Alert" desc="向用户突出显示的重要提示信息。">
4241
4060
  #### API
4242
4061
 
@@ -4271,728 +4090,335 @@ export default () => {
4271
4090
 
4272
4091
 
4273
4092
 
4274
- # 从零开始使用
4275
-
4276
- ## 📦 安装
4277
-
4278
-
4279
- ```bash
4280
- $ npm install antd @agentscope-ai/icons @agentscope-ai/design --save
4281
- ```
4282
-
4093
+ # 使用
4283
4094
 
4284
- ## 🔨 使用
4285
4095
 
4286
4096
 
4287
4097
  ```tsx
4288
- import {
4289
- Button,
4290
- Image,
4291
- ConfigProvider,
4292
- purpleDarkTheme,
4293
- purpleTheme,
4294
- } from '@agentscope-ai/design';
4295
- import { SparkSunLine, SparkMoonLine } from '@agentscope-ai/icons';
4296
- import { Flex } from 'antd';
4297
- import zhCN from 'antd/locale/zh_CN';
4298
- import { useState } from 'react';
4299
-
4300
- const App = () => {
4301
- const [colorMode, setColorMode] = useState('light');
4302
- const theme = colorMode === 'light' ? purpleTheme : purpleDarkTheme;
4303
-
4304
- const prefix = 'sps';
4098
+ import { SparkLoadingLine } from '@agentscope-ai/icons';
4099
+
4100
+ export default () => {
4305
4101
  return (
4306
- <ConfigProvider
4307
- {...theme} // 您可以从 purpleTheme、purpleDarkTheme、carbonTheme 和 carbonDarkTheme 中选择
4308
- prefix={prefix} // Ant Design 和 @agentscope-ai/design 的前缀
4309
- prefixCls={prefix}
4310
- iconfont="//at.alicdn.com/t/a/font_4807885_ugexdeaoq7.js" // 可选参数,您可以从 https://www.iconfont.cn/ 获取
4311
- locale={zhCN} // 来自 Ant Design 的语言包
4312
- style={{
4313
- width: '100%',
4314
- height: '100%',
4315
- }}
4316
- >
4317
- <div
4318
- style={{
4319
- width: '100%',
4320
- height: '100%',
4321
- backgroundColor: `var(--${prefix}-color-bg-base)`,
4322
- }}
4323
- >
4324
- <Flex vertical gap={16} align="center" style={{ padding: '12px 0' }}>
4325
- <Image
4326
- width={120}
4327
- src="https://img.alicdn.com/imgextra/i1/O1CN01Py27NU1re2pgohzqU_!!6000000005655-0-tps-480-480.jpg"
4328
- />
4329
- <div
4330
- style={{
4331
- color: `var(--${prefix}-ant-color-text-base)`,
4332
- fontSize: '24px',
4333
- textAlign: 'center',
4334
- }}
4335
- >
4336
- Hello Spark Design!
4337
- </div>
4338
- <Button
4339
- type="primary"
4340
- onClick={() => {
4341
- setColorMode(colorMode === 'light' ? 'dark' : 'light');
4342
- }}
4343
- icon={colorMode === 'light' ? <SparkMoonLine /> : <SparkSunLine />}
4344
- >
4345
- {colorMode === 'light' ? '暗色' : '亮色'} 模式
4346
- </Button>
4347
- </Flex>
4348
- </div>
4349
- </ConfigProvider>
4102
+ <SparkLoadingLine
4103
+ className="your-class-name"
4104
+ style={{ color: 'var(--sps-color-primary)' }}
4105
+ spin
4106
+ size={48}
4107
+ />
4350
4108
  );
4351
4109
  };
4352
4110
 
4353
- export default App;
4354
4111
  ```
4355
4112
 
4113
+ 基本用法
4356
4114
 
4115
+ 访问 [Icon Library](https://sparkdesign.agentscope.io/#/resources/icons) 查看全部 Icon
4357
4116
 
4358
4117
 
4359
- # 从 Antd 迁移
4360
-
4361
- ## 📦 安装
4362
4118
 
4119
+ # Icon Library
4363
4120
 
4364
- ```bash
4365
- $ npm install @agentscope-ai/icons @agentscope-ai/design --save
4366
- ```
4367
4121
 
4368
4122
 
4369
- ## 🔨 使用
4123
+ ```tsx
4124
+ import React, { useEffect, useMemo, useState } from 'react';
4125
+ import * as SparkIcons from '@agentscope-ai/icons';
4126
+ import { Input, Radio, message, copy } from '@agentscope-ai/design';
4127
+ import { createStyles } from 'antd-style';
4128
+ import { useLocale } from 'dumi';
4129
+ import { SparkSearchLine } from '@agentscope-ai/icons';
4130
+ import { categorizeIcon, ICON_CATEGORIES } from './iconCategories';
4131
+ import $i18n from '@/i18n';
4132
+
4133
+ /**
4134
+ * Icons Library
4135
+ * - 自动枚举并展示 @agentscope-ai/icons 的全部导出图标
4136
+ * - 支持搜索、点击复制
4137
+ */
4138
+
4139
+ interface IconItem {
4140
+ /** 图标导出名称 */
4141
+ name: string;
4142
+ /** 图标 React 组件 */
4143
+ Icon: React.ComponentType<any>;
4144
+ /** 图标分类 */
4145
+ category: string;
4146
+ }
4370
4147
 
4371
- @agentscope-ai/design 导出的所有同名组件在 API 方面都与 antd 的对应组件兼容,这意味着您无需学习如何使用它们。如果您想充分利用 Alibaba Cloud Spark Design 的新功能,可以尝试使用这些组件而不是 antd 的组件。
4148
+ type CopyMode = 'name' | 'import' | 'jsx';
4372
4149
 
4150
+ const useStyles = createStyles(() => ({
4151
+ container: {
4152
+ position: 'relative',
4153
+ padding: 16,
4154
+ paddingTop: 72,
4155
+ },
4156
+ toolbar: {
4157
+ position: 'fixed',
4158
+ width: '100%',
4159
+ padding: '16px',
4160
+ top: 0,
4161
+ left: 0,
4162
+ display: 'flex',
4163
+ gap: 12,
4164
+ alignItems: 'center',
4165
+ justifyContent: 'space-between',
4166
+ flexWrap: 'wrap',
4167
+ background: 'var(--sps-color-bg-base)',
4168
+ borderBottom: '1px solid var(--sps-color-border-secondary)',
4169
+ marginBottom: '16px',
4170
+ },
4171
+ toolbarLeft: {
4172
+ display: 'flex',
4173
+ gap: 12,
4174
+ alignItems: 'center',
4175
+ },
4176
+ toolbarRight: {
4177
+ display: 'flex',
4178
+ gap: 12,
4179
+ alignItems: 'center',
4180
+ justifyContent: 'flex-end',
4181
+ flexWrap: 'wrap',
4182
+ },
4183
+ search: {
4184
+ maxWidth: 300,
4185
+ },
4186
+ count: {
4187
+ color: 'var(--sps-color-text-tertiary)',
4188
+ fontSize: 12,
4189
+ },
4190
+ groups: {
4191
+ marginTop: 16,
4192
+ display: 'flex',
4193
+ flexDirection: 'column',
4194
+ gap: 24,
4195
+ },
4196
+ groupTitle: {
4197
+ fontSize: 14,
4198
+ fontWeight: 600,
4199
+ color: 'var(--sps-color-text-base)',
4200
+ marginBottom: 12,
4201
+ },
4202
+ groupCount: {
4203
+ marginLeft: 8,
4204
+ fontSize: 12,
4205
+ fontWeight: 400,
4206
+ color: 'var(--sps-color-text-tertiary)',
4207
+ },
4208
+ grid: {
4209
+ display: 'grid',
4210
+ gridTemplateColumns: 'repeat(auto-fill, minmax(140px, 1fr))',
4211
+ gap: 12,
4212
+ },
4213
+ card: {
4214
+ padding: 12,
4215
+ borderRadius: 8,
4216
+ cursor: 'pointer',
4217
+ border: '1px solid var(--sps-color-border-secondary)',
4218
+ background: 'var(--sps-color-bg-base)',
4219
+ },
4220
+ iconWrap: {
4221
+ width: 48,
4222
+ height: 48,
4223
+ display: 'flex',
4224
+ alignItems: 'center',
4225
+ justifyContent: 'center',
4226
+ },
4227
+ name: {
4228
+ marginTop: 8,
4229
+ fontSize: 12,
4230
+ lineHeight: '16px',
4231
+ color: 'var(--sps-color-text-tertiary)',
4232
+ overflow: 'hidden',
4233
+ textOverflow: 'ellipsis',
4234
+ whiteSpace: 'nowrap',
4235
+ width: '100%',
4236
+ fontFamily:
4237
+ 'ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace',
4238
+ },
4239
+ }));
4373
4240
 
4374
- ```tsx
4375
- import {
4376
- Button,
4377
- Image,
4378
- ConfigProvider,
4379
- purpleDarkTheme,
4380
- purpleTheme,
4381
- } from '@agentscope-ai/design';
4382
- import { SparkSunLine, SparkMoonLine } from '@agentscope-ai/icons';
4383
- import { Flex } from 'antd';
4384
- import zhCN from 'antd/locale/zh_CN';
4385
- import { useState } from 'react';
4386
-
4387
- const App = () => {
4388
- const [colorMode, setColorMode] = useState('light');
4389
- const theme = colorMode === 'light' ? purpleTheme : purpleDarkTheme;
4390
-
4391
- const prefix = 'sps';
4392
- return (
4393
- <ConfigProvider
4394
- {...theme} // 您可以从 purpleTheme、purpleDarkTheme、carbonTheme 和 carbonDarkTheme 中选择
4395
- prefix={prefix} // Ant Design 和 @agentscope-ai/design 的前缀
4396
- prefixCls={prefix}
4397
- iconfont="//at.alicdn.com/t/a/font_4807885_ugexdeaoq7.js" // 可选参数,您可以从 https://www.iconfont.cn/ 获取
4398
- locale={zhCN} // 来自 Ant Design 的语言包
4399
- style={{
4400
- width: '100%',
4401
- height: '100%',
4402
- }}
4403
- >
4404
- <div
4405
- style={{
4406
- width: '100%',
4407
- height: '100%',
4408
- backgroundColor: `var(--${prefix}-color-bg-base)`,
4409
- }}
4410
- >
4411
- <Flex vertical gap={16} align="center" style={{ padding: '12px 0' }}>
4412
- <Image
4413
- width={120}
4414
- src="https://img.alicdn.com/imgextra/i1/O1CN01Py27NU1re2pgohzqU_!!6000000005655-0-tps-480-480.jpg"
4415
- />
4416
- <div
4417
- style={{
4418
- color: `var(--${prefix}-ant-color-text-base)`,
4419
- fontSize: '24px',
4420
- textAlign: 'center',
4421
- }}
4422
- >
4423
- Hello Spark Design!
4424
- </div>
4425
- <Button
4426
- type="primary"
4427
- onClick={() => {
4428
- setColorMode(colorMode === 'light' ? 'dark' : 'light');
4429
- }}
4430
- icon={colorMode === 'light' ? <SparkMoonLine /> : <SparkSunLine />}
4431
- >
4432
- {colorMode === 'light' ? '暗色' : '亮色'} 模式
4433
- </Button>
4434
- </Flex>
4435
- </div>
4436
- </ConfigProvider>
4241
+ export default function IconLibrary() {
4242
+ const { styles } = useStyles();
4243
+ const locale = useLocale();
4244
+ const [keyword, setKeyword] = useState<string>('');
4245
+ const [copyMode, setCopyMode] = useState<CopyMode>('name');
4246
+
4247
+ useEffect(() => {
4248
+ // 同步 dumi 站点语言到 $i18n($i18n 识别 zh-cn / en)
4249
+ $i18n.updateLocale(locale.id === 'zh-CN' ? 'zh-cn' : 'en');
4250
+ }, [locale.id]);
4251
+
4252
+ const excludedIcons = useMemo(
4253
+ () =>
4254
+ new Set([
4255
+ 'SparkDelete01LineCopy',
4256
+ 'SparkA2d2dFill',
4257
+ 'SparkA3d3dFill',
4258
+ 'SparkBoldLine1',
4259
+ 'SparkShanguangdengweikaiqiFlashlightOffLine',
4260
+ 'SparkZhinengshengchengAiGenerateLine',
4261
+ 'SparkQqkongjianQzoneFill',
4262
+ 'SparkAccountManagementFill',
4263
+ ]),
4264
+ [],
4437
4265
  );
4438
- };
4439
-
4440
- export default App;
4441
- ```
4442
-
4443
4266
 
4444
- 如果您想继续使用 antd 的组件,那也没问题。您只需要将 antd ConfigProvider 替换为 @agentscope-ai/design 的即可。
4267
+ const allIcons = useMemo<IconItem[]>(() => {
4268
+ return Object.entries(SparkIcons)
4269
+ .filter(([name, Icon]) => {
4270
+ if (!name.startsWith('Spark')) return false;
4271
+ if (excludedIcons.has(name)) return false;
4272
+ return typeof Icon === 'function';
4273
+ })
4274
+ .map(([name, Icon]) => ({
4275
+ name,
4276
+ Icon: Icon as React.ComponentType<any>,
4277
+ category: categorizeIcon(name),
4278
+ }))
4279
+ .sort((a, b) => a.name.localeCompare(b.name));
4280
+ }, [excludedIcons]);
4281
+
4282
+ const filteredIcons = useMemo<IconItem[]>(() => {
4283
+ const q = keyword.trim().toLowerCase();
4284
+ if (!q) return allIcons;
4285
+ return allIcons.filter((item) => item.name.toLowerCase().includes(q));
4286
+ }, [allIcons, keyword]);
4287
+
4288
+ const groupedIcons = useMemo<Record<string, IconItem[]>>(() => {
4289
+ return filteredIcons.reduce<Record<string, IconItem[]>>((acc, icon) => {
4290
+ const key = icon.category;
4291
+ if (!acc[key]) acc[key] = [];
4292
+ acc[key].push(icon);
4293
+ return acc;
4294
+ }, {});
4295
+ }, [filteredIcons]);
4296
+
4297
+ const orderedCategories = useMemo<string[]>(() => {
4298
+ const configOrder = Object.keys(ICON_CATEGORIES);
4299
+ const existing = new Set(Object.keys(groupedIcons));
4300
+ const ordered = configOrder.filter((k) => existing.has(k));
4301
+ const rest = Object.keys(groupedIcons)
4302
+ .filter((k) => !configOrder.includes(k))
4303
+ .sort((a, b) => a.localeCompare(b));
4304
+ return [...ordered, ...rest];
4305
+ }, [groupedIcons]);
4306
+
4307
+ const handleCopy = (item: IconItem) => {
4308
+ let text = item.name;
4309
+ if (copyMode === 'import') {
4310
+ text = `import { ${item.name} } from '@agentscope-ai/icons';`;
4311
+ }
4312
+ if (copyMode === 'jsx') {
4313
+ text = `<${item.name} style={{ fontSize: 24 }} />`;
4314
+ }
4445
4315
 
4316
+ copy(text);
4317
+ message.success(
4318
+ $i18n.get({
4319
+ id: 'docs.icons.IconLibrary.CopySuccess',
4320
+ dm: '已复制',
4321
+ }),
4322
+ );
4323
+ };
4446
4324
 
4447
- ```tsx
4448
- import {
4449
- ConfigProvider,
4450
- purpleDarkTheme,
4451
- purpleTheme,
4452
- } from '@agentscope-ai/design';
4453
- import { Button, Image, Flex } from 'antd';
4454
- import { SparkSunLine, SparkMoonLine } from '@agentscope-ai/icons';
4455
- import zhCN from 'antd/locale/zh_CN';
4456
- import { useState } from 'react';
4457
-
4458
- const App = () => {
4459
- const [colorMode, setColorMode] = useState('light');
4460
- const theme = colorMode === 'light' ? purpleTheme : purpleDarkTheme;
4461
-
4462
- const prefix = 'sps';
4463
4325
  return (
4464
- <ConfigProvider
4465
- {...theme} // 您可以从 purpleTheme、purpleDarkTheme、carbonTheme 和 carbonDarkTheme 中选择
4466
- prefix={prefix} // Ant Design 和 @agentscope-ai/design 的前缀
4467
- prefixCls={prefix}
4468
- iconfont="//at.alicdn.com/t/a/font_4807885_ugexdeaoq7.js" // 可选参数,您可以从 https://www.iconfont.cn/ 获取
4469
- locale={zhCN} // 来自 Ant Design 的语言包
4470
- style={{
4471
- width: '100%',
4472
- height: '100%',
4473
- }}
4474
- >
4475
- <div
4476
- style={{
4477
- width: '100%',
4478
- height: '100%',
4479
- backgroundColor: `var(--${prefix}-color-bg-base)`,
4480
- }}
4481
- >
4482
- <Flex vertical gap={16} align="center" style={{ padding: '12px 0' }}>
4483
- <Image
4484
- width={120}
4485
- src="https://img.alicdn.com/imgextra/i1/O1CN01Py27NU1re2pgohzqU_!!6000000005655-0-tps-480-480.jpg"
4326
+ <div className={styles.container}>
4327
+ <div className={styles.toolbar}>
4328
+ <div className={styles.toolbarLeft}>
4329
+ <Input
4330
+ placeholder={$i18n.get({
4331
+ id: 'docs.icons.IconLibrary.SearchPlaceholder',
4332
+ dm: '搜索图标(按导出名)',
4333
+ })}
4334
+ value={keyword}
4335
+ onChange={(e) => setKeyword((e?.target as any)?.value || '')}
4336
+ className={styles.search}
4337
+ prefix={<SparkSearchLine style={{ fontSize: 16 }} />}
4338
+ allowClear
4486
4339
  />
4487
- <div
4488
- style={{
4489
- color: `var(--${prefix}-ant-color-text-base)`,
4490
- fontSize: '24px',
4491
- textAlign: 'center',
4492
- }}
4493
- >
4494
- Hello Spark Design!
4340
+ </div>
4341
+
4342
+ <div className={styles.toolbarRight}>
4343
+ <div className={styles.count}>
4344
+ {$i18n.get(
4345
+ {
4346
+ id: 'docs.icons.IconLibrary.TotalCount',
4347
+ dm: '共 {count} 个',
4348
+ },
4349
+ { count: String(filteredIcons.length) },
4350
+ )}
4495
4351
  </div>
4496
- <Button
4497
- type="primary"
4498
- onClick={() => {
4499
- setColorMode(colorMode === 'light' ? 'dark' : 'light');
4500
- }}
4501
- icon={colorMode === 'light' ? <SparkMoonLine /> : <SparkSunLine />}
4502
- >
4503
- {colorMode === 'light' ? '暗色' : '亮色'} 模式
4504
- </Button>
4505
- </Flex>
4352
+ <Radio.Group
4353
+ value={copyMode}
4354
+ onChange={(e) => setCopyMode(e.target.value)}
4355
+ optionType="button"
4356
+ buttonStyle="solid"
4357
+ options={[
4358
+ {
4359
+ label: $i18n.get({
4360
+ id: 'docs.icons.IconLibrary.CopyName',
4361
+ dm: '复制名称',
4362
+ }),
4363
+ value: 'name',
4364
+ },
4365
+ {
4366
+ label: $i18n.get({
4367
+ id: 'docs.icons.IconLibrary.CopyImport',
4368
+ dm: '复制 import',
4369
+ }),
4370
+ value: 'import',
4371
+ },
4372
+ {
4373
+ label: $i18n.get({
4374
+ id: 'docs.icons.IconLibrary.CopyJSX',
4375
+ dm: '复制 JSX',
4376
+ }),
4377
+ value: 'jsx',
4378
+ },
4379
+ ]}
4380
+ />
4381
+ </div>
4506
4382
  </div>
4507
- </ConfigProvider>
4508
- );
4509
- };
4510
-
4511
- export default App;
4512
- ```
4513
-
4514
-
4515
-
4516
-
4517
- # Tokens
4518
-
4519
- 除了来自 [antd](https://ant.design/theme-editor) 的固有 tokens 之外,Spark Design 在原有基础上扩展了更多变量。完整的 token 示例如下所示:
4520
-
4521
- <div><span style="display: inline-block; width: 12px; height: 12px; background-color: #615CED;"></span> purpleTheme</div>
4522
-
4523
- ```json
4524
- {
4525
- "borderRadiusXS": 2,
4526
- "borderRadiusSM": 4,
4527
- "borderRadius": 6,
4528
- "borderRadiusLG": 8,
4529
- "borderRadiusXL": 12,
4530
- "borderRadiusFull": 999,
4531
- "wireframe": false,
4532
- "colorPrimaryBg": "rgba(97, 92, 237, 0.08)",
4533
- "colorPrimaryBgHover": "#F2F0FF",
4534
- "colorPrimaryBorder": "#E2DEFF",
4535
- "colorPrimaryBorderHover": "#BCB5FF",
4536
- "colorPrimaryHover": "#9189FA",
4537
- "colorPrimary": "#615CED",
4538
- "colorPrimaryActive": "#4444C7",
4539
- "colorPrimaryTextHover": "#9189FA",
4540
- "colorPrimaryText": "#615CED",
4541
- "colorPrimaryTextActive": "#4444C7",
4542
- "colorTextBase": "#26244c",
4543
- "colorBgBase": "#FFFFFF",
4544
- "colorText": "rgba(38, 36, 76, 0.88)",
4545
- "colorTextSecondary": "rgba(38, 36, 76, 0.65)",
4546
- "colorTextTertiary": "rgba(38, 36, 76, 0.45)",
4547
- "colorTextQuaternary": "rgba(38, 36, 76, 0.25)",
4548
- "colorBorder": "#cdd0dc",
4549
- "colorBorderSecondary": "#e6e8ee",
4550
- "colorFill": "#cdd0dc5c",
4551
- "colorFillSecondary": "#cdd0dc33",
4552
- "colorFillTertiary": "#cdd0dc26",
4553
- "colorFillQuaternary": "#cdd0dc1a",
4554
- "colorBgContainer": "#FFFFFF",
4555
- "colorBgElevated": "#FFFFFF",
4556
- "colorBgLayout": "#f9fafd",
4557
- "colorBgSpotlight": "rgba(38, 36, 76, 0.85)",
4558
- "colorBgMask": "rgba(20, 19, 39, 0.45)",
4559
- "colorInfo": "#0B83F1",
4560
- "colorInfoHover": "#5EBCFF",
4561
- "colorInfoBorder": "#87D1FF",
4562
- "colorInfoText": "#0B83F1",
4563
- "colorInfoBg": "#E6F7FF",
4564
- "colorInfoBgHover": "#B0E3FF",
4565
- "colorInfoBorderHover": "#5EBCFF",
4566
- "colorSuccess": "#5BB98B",
4567
- "colorSuccessHover": "#ABD4BE",
4568
- "colorSuccessBg": "#EBFAF0",
4569
- "colorSuccessBgHover": "#DFEDE4",
4570
- "colorSuccessBorder": "#D3E0D9",
4571
- "colorSuccessBorderHover": "#ABD4BE",
4572
- "colorWarning": "#FAAD14",
4573
- "colorWarningHover": "#FFD666",
4574
- "colorWarningBg": "#FFFBE6",
4575
- "colorWarningBgHover": "#FFF1B8",
4576
- "colorWarningBorder": "#FFE58F",
4577
- "colorWarningBorderHover": "#FFD666",
4578
- "colorError": "#FF4D4F",
4579
- "colorErrorHover": "#FF7875",
4580
- "colorErrorBg": "#FFF2F0",
4581
- "colorErrorBgHover": "#FFF1F0",
4582
- "colorErrorBorder": "#FFCCC7",
4583
- "colorErrorBorderHover": "#FFA39E",
4584
- "colorLink": "#615CED",
4585
- "boxShadow": "0px 4px 6px 0px rgba(0, 0, 0, 0.08)",
4586
- "boxShadowSecondary": "0px 12px 24px -16px rgba(0, 0, 0, 0.06),0px 8px 40px 0px rgba(0, 0, 0, 0.12),0px 0px 1px 0px rgba(0, 0, 0, 0.04)",
4587
-
4588
- "colorTextWhite": "#ffffff",
4589
- "colorTextOnPrimary": "#ffffff",
4590
- "colorFillDisable": "#DBDAE7",
4591
- "colorPurple": "#615CED",
4592
- "colorPurpleHover": "#8080FF",
4593
- "colorPurpleBg": "rgba(226, 222, 255, 0.8)",
4594
- "colorPink": "#EC4899",
4595
- "colorPinkHover": "#E593BC",
4596
- "colorPinkBg": "rgba(251, 220, 239, 0.8)",
4597
- "colorYellow": "#EAB308",
4598
- "colorYellowHover": "#F1D372",
4599
- "colorYellowBg": "rgba(255, 250, 184, 0.8)",
4600
- "colorOrange": "#FA8125",
4601
- "colorOrangeHover": "#E88C45",
4602
- "colorOrangeBg": "rgba(255, 232, 201, 0.8)",
4603
- "colorTeal": "#14B8A6",
4604
- "colorTealHover": "#5FB3A9",
4605
- "colorTealBg": "rgba(200, 244, 233, 0.8)",
4606
- "colorBlue": "#0090FF",
4607
- "colorBlueHover": "#72BCF5",
4608
- "colorBlueBg": "rgba(194, 229, 255, 0.8)",
4609
- "colorMauve": "#8E8C99",
4610
- "colorMauveHover": "#C0BFC8",
4611
- "colorMauveBg": "rgba(239, 240, 243, 0.8)",
4612
- "colorSlate": "#1E293B",
4613
- "colorSlateHover": "#475569",
4614
- "colorSlateBg": "#E2E8F0",
4615
- "colorLavender": "#A77BFF",
4616
- "colorLavenderHover": "#BB99FF",
4617
- "colorLavenderBg": "rgba(226, 212, 255, 0.8)",
4618
-
4619
- "boxShadowTertiary": "0px 12px 32px -16px rgba(0, 0, 0, 0.24),0px 12px 60px 0px rgba(0, 0, 0, 0.12),0px 0px 1px 0px rgba(0, 0, 0, 0.04)",
4620
- "boxShadowTertiaryLeft": "-12px 0px 32px -16px rgba(0, 0, 0, 0.24),-12px 0px 60px 0px rgba(0, 0, 0, 0.12),0px 0px 1px 0px rgba(0, 0, 0, 0.04)",
4621
- "boxShadowInput": "0px 12px 24px -16px rgba(54, 54, 73, 0.04),0px 12px 40px 0px rgba(51, 51, 71, 0.08),0px 0px 1px 0px rgba(44, 44, 54, 0.02)"
4622
- }
4623
- ```
4624
-
4625
- <div><span style="display: inline-block; width: 12px; height: 12px; background-color: #5551CC;"></span> purpleDarkTheme(暗色模式)</div>
4626
-
4627
- ```json
4628
- {
4629
- "borderRadiusXS": 2,
4630
- "borderRadiusSM": 4,
4631
- "borderRadius": 6,
4632
- "borderRadiusLG": 8,
4633
- "borderRadiusXL": 12,
4634
- "borderRadiusFull": 999,
4635
- "wireframe": false,
4636
- "colorPrimaryBg": "#202041",
4637
- "colorPrimaryBgHover": "#202041",
4638
- "colorPrimaryBorder": "#2B2A55",
4639
- "colorPrimaryBorderHover": "#373476",
4640
- "colorPrimaryHover": "#857DE3",
4641
- "colorPrimary": "#5551CC",
4642
- "colorPrimaryActive": "#4643A1",
4643
- "colorPrimaryTextHover": "#857DE3",
4644
- "colorPrimaryText": "#5551CC",
4645
- "colorPrimaryTextActive": "#4643A1",
4646
- "colorTextBase": "#E7E7ED",
4647
- "colorBgBase": "#000000",
4648
- "colorText": "rgba(231, 231, 237, 0.88)",
4649
- "colorTextSecondary": "rgba(231, 231, 237, 0.65)",
4650
- "colorTextTertiary": "rgba(231, 231, 237, 0.45)",
4651
- "colorTextQuaternary": "rgba(231, 231, 237, 0.25)",
4652
- "colorBorder": "rgba(71, 71, 97, 0.8)",
4653
- "colorBorderSecondary": "rgba(56, 56, 76, 0.8)",
4654
- "colorFill": "rgba(231, 231, 237, 0.18)",
4655
- "colorFillSecondary": "rgba(231, 231, 237, 0.12)",
4656
- "colorFillTertiary": "rgba(231, 231, 237, 0.08)",
4657
- "colorFillQuaternary": "rgba(231, 231, 237, 0.04)",
4658
- "colorBgContainer": "#0F0F14",
4659
- "colorBgElevated": "#0F0F14",
4660
- "colorBgLayout": "#0F0F14",
4661
- "colorBgSpotlight": "rgba(71, 71, 97, 0.85)",
4662
- "colorBgMask": "rgba(5, 5, 8, 0.8)",
4663
- "colorInfo": "#0B83F1",
4664
- "colorInfoHover": "rgba(42, 114, 165, 1)",
4665
- "colorInfoBorder": "rgba(135, 209, 255, 0.2)",
4666
- "colorInfoText": "#0B83F1",
4667
- "colorInfoBg": "rgba(27, 73, 115, 0.25)",
4668
- "colorInfoBgHover": "rgba(27, 73, 115, 0.32)",
4669
- "colorInfoBorderHover": "rgba(94, 188, 255, 0.2)",
4670
- "colorSuccess": "#5BB98B",
4671
- "colorSuccessHover": "rgba(87, 141, 112, 1)",
4672
- "colorSuccessBg": "rgba(0, 50, 26, 0.25)",
4673
- "colorSuccessBgHover": "rgba(0, 50, 26, 0.32)",
4674
- "colorSuccessBorder": "rgba(211, 224, 217, 0.2)",
4675
- "colorSuccessBorderHover": "rgba(171, 212, 190, 0.2)",
4676
- "colorWarning": "#FAAD14",
4677
- "colorWarningHover": "rgba(170, 136, 43, 1)",
4678
- "colorWarningBg": "rgba(129, 116, 49, 0.25)",
4679
- "colorWarningBgHover": "rgba(129, 116, 49, 0.32)",
4680
- "colorWarningBorder": "rgba(255, 229, 143, 0.2)",
4681
- "colorWarningBorderHover": "rgba(255, 214, 102, 0.2)",
4682
- "colorError": "#FF4D4F",
4683
- "colorErrorHover": "rgba(165, 50, 48, 1)",
4684
- "colorErrorBg": "rgba(129, 46, 46, 0.25)",
4685
- "colorErrorBgHover": "rgba(129, 46, 46, 0.32)",
4686
- "colorErrorBorder": "rgba(255, 204, 199, 0.2)",
4687
- "colorErrorBorderHover": "rgba(255, 163, 158, 0.2)",
4688
- "colorLink": "#5551CC",
4689
- "boxShadow": "0px 4px 6px 0px rgba(255, 255, 255, 0.08)",
4690
- "boxShadowSecondary": "0px 12px 24px -16px rgba(255, 255, 255, 0.04),0px 8px 40px 0px rgba(255, 255, 255, 0.06),0px 0px 1px 0px rgba(255, 255, 255, 0.02)",
4691
-
4692
- "colorTextWhite": "#fff",
4693
- "colorTextOnPrimary": "#fff",
4694
- "colorFillDisable": "#8D8C98",
4695
- "colorPurple": "#5551CC",
4696
- "colorPurpleHover": "#8383F0",
4697
- "colorPurpleBg": "rgba(226, 222, 255, 0.2)",
4698
- "colorPink": "#EC4899",
4699
- "colorPinkHover": "#E494BC",
4700
- "colorPinkBg": "rgba(251, 220, 239, 0.2)",
4701
- "colorYellow": "#EAB308",
4702
- "colorYellowHover": "#DBBE62",
4703
- "colorYellowBg": "rgba(255, 250, 184, 0.2)",
4704
- "colorOrange": "#FA8125",
4705
- "colorOrangeHover": "#F7A25F",
4706
- "colorOrangeBg": "rgba(255, 232, 201, 0.2)",
4707
- "colorTeal": "#14B8A6",
4708
- "colorTealHover": "#7BC7BE",
4709
- "colorTealBg": "rgba(200, 244, 233, 0.2)",
4710
- "colorBlue": "#0090FF",
4711
- "colorBlueHover": "#83BFED",
4712
- "colorBlueBg": "rgba(194, 229, 255, 0.2)",
4713
- "colorMauve": "#8E8C99",
4714
- "colorMauveHover": "#BBB8CA",
4715
- "colorMauveBg": "rgba(239, 240, 243, 0.2)",
4716
- "colorSlate": "#2C3A50",
4717
- "colorSlateHover": "#354252",
4718
- "colorSlateBg": "#232B36",
4719
- "colorLavender": "#A77BFF",
4720
- "colorLavenderHover": "#BFA5F3",
4721
- "colorLavenderBg": "rgba(150, 143, 167, 0.48)",
4722
-
4723
- "boxShadowTertiary": "0px 12px 32px -16px rgba(255, 255, 255, 0.16),0px 12px 60px 0px rgba(255, 255, 255, 0.08),0px 0px 1px 0px rgba(255, 255, 255, 0.02)",
4724
- "boxShadowTertiaryLeft": "-12px 0px 32px -16px rgba(255, 255, 255, 0.16),-12px 0px 60px 0px rgba(255, 255, 255, 0.08),0px 0px 1px 0px rgba(255, 255, 255, 0.02);",
4725
- "boxShadowInput": "0px 12px 24px -16px rgba(255, 255, 255, 0.08),0px 12px 40px 0px rgba(255, 255, 255, 0.16),0px 0px 1px 0px rgba(255, 255, 255, 0.04)"
4726
- }
4727
-
4728
- ```
4729
-
4730
- <div><span style="display: inline-block; width: 12px; height: 12px; background-color: rgba(26, 26, 29, 1);"></span> carbonTheme</div>
4731
-
4732
- ```json
4733
- {
4734
- "borderRadiusXS": 2,
4735
- "borderRadiusSM": 4,
4736
- "borderRadius": 6,
4737
- "borderRadiusLG": 8,
4738
- "borderRadiusXL": 12,
4739
- "borderRadiusFull": 999,
4740
- "wireframe": false,
4741
- "colorPrimaryBg": "rgba(244, 244, 247, 1)",
4742
- "colorPrimaryBgHover": "rgba(239, 239, 244, 1)",
4743
- "colorPrimaryBorder": "rgba(62, 63, 66, 1)",
4744
- "colorPrimaryBorderHover": "rgba(130, 132, 137, 1)",
4745
- "colorPrimaryHover": "rgba(38, 38, 41, 1)",
4746
- "colorPrimary": "rgba(26, 26, 29, 1)",
4747
- "colorPrimaryActive": "rgba(0, 0, 0, 1)",
4748
- "colorPrimaryTextHover": "rgba(38, 38, 41, 1)",
4749
- "colorPrimaryText": "rgba(26, 26, 29, 1)",
4750
- "colorPrimaryTextActive": "rgba(0, 0, 0, 1)",
4751
- "colorTextBase": "rgba(26, 26, 29, 1)",
4752
- "colorBgBase": "rgba(255, 255, 255, 1)",
4753
- "colorText": "rgba(26, 26, 29, 0.88)",
4754
- "colorTextSecondary": "rgba(26, 26, 29, 0.65)",
4755
- "colorTextTertiary": "rgba(26, 26, 29, 0.45)",
4756
- "colorTextQuaternary": "rgba(26, 26, 29, 0.25)",
4757
- "colorBorder": "rgba(187, 187, 193, 1)",
4758
- "colorBorderSecondary": "rgba(234, 234, 234, 1)",
4759
- "colorFill": "rgba(0, 0, 43, 0.06)",
4760
- "colorFillSecondary": "rgba(0, 0, 85, 0.03)",
4761
- "colorFillTertiary": "rgba(205, 208, 220, 0.15)",
4762
- "colorFillQuaternary": "rgba(205, 208, 220, 0.1)",
4763
- "colorBgContainer": "rgba(255, 255, 255, 1)",
4764
- "colorBgElevated": "rgba(255, 255, 255, 1)",
4765
- "colorBgLayout": "rgba(250, 250, 251, 1)",
4766
- "colorBgSpotlight": "rgba(26, 26, 29, 0.85)",
4767
- "colorBgMask": "rgba(0, 0, 0, 0.45)",
4768
- "colorInfo": "rgba(11, 131, 241, 1)",
4769
- "colorInfoHover": "rgba(94, 188, 255, 1)",
4770
- "colorInfoBorder": "rgba(135, 209, 255, 1)",
4771
- "colorInfoText": "rgba(11, 131, 241, 1)",
4772
- "colorInfoBg": "rgba(230, 247, 255, 1)",
4773
- "colorInfoBgHover": "rgba(176, 227, 255, 1)",
4774
- "colorInfoBorderHover": "rgba(94, 188, 255, 1)",
4775
- "colorSuccess": "rgba(91, 185, 139, 1)",
4776
- "colorSuccessHover": "rgba(171, 212, 190, 1)",
4777
- "colorSuccessBg": "rgba(235, 250, 240, 1)",
4778
- "colorSuccessBgHover": "rgba(223, 237, 228, 1)",
4779
- "colorSuccessBorder": "rgba(211, 224, 217, 1)",
4780
- "colorSuccessBorderHover": "rgba(171, 212, 190, 1)",
4781
- "colorWarning": "rgba(250, 173, 20, 1)",
4782
- "colorWarningHover": "rgba(255, 214, 102, 1)",
4783
- "colorWarningBg": "rgba(255, 251, 230, 1)",
4784
- "colorWarningBgHover": "rgba(255, 241, 184, 1)",
4785
- "colorWarningBorder": "rgba(255, 229, 143, 1)",
4786
- "colorWarningBorderHover": "rgba(255, 214, 102, 1)",
4787
- "colorError": "rgba(255, 77, 79, 1)",
4788
- "colorErrorHover": "rgba(255, 120, 117, 1)",
4789
- "colorErrorBg": "rgba(255, 242, 240, 1)",
4790
- "colorErrorBgHover": "rgba(255, 241, 240, 1)",
4791
- "colorErrorBorder": "rgba(255, 204, 199, 1)",
4792
- "colorErrorBorderHover": "rgba(255, 163, 158, 1)",
4793
- "colorLink": "rgba(0, 77, 255, 1)",
4794
- "boxShadow": "0px 4px 6px 0px rgba(0, 0, 0, 0.08)",
4795
- "boxShadowSecondary": "0px 12px 24px -16px rgba(0, 0, 0, 0.06),0px 8px 40px 0px rgba(0, 0, 0, 0.12),0px 0px 1px 0px rgba(0, 0, 0, 0.04)",
4796
-
4797
- "colorTextWhite": "#ffffff",
4798
- "colorTextOnPrimary": "#ffffff",
4799
- "colorFillDisable": "rgba(232, 232, 235, 1)",
4800
- "colorPurple": "rgba(97, 92, 237, 1)",
4801
- "colorPurpleHover": "#8080FF",
4802
- "colorPurpleBg": "rgba(226, 222, 255, 0.8)",
4803
- "colorPink": "rgba(236, 72, 153, 1)",
4804
- "colorPinkHover": "#E593BC",
4805
- "colorPinkBg": "rgba(251, 220, 239, 0.8)",
4806
- "colorYellow": "rgba(234, 179, 8, 1)",
4807
- "colorYellowHover": "#F1D372",
4808
- "colorYellowBg": "rgba(255, 250, 184, 0.8)",
4809
- "colorOrange": "rgba(250, 129, 37, 1)",
4810
- "colorOrangeHover": "#E88C45",
4811
- "colorOrangeBg": "rgba(255, 232, 201, 0.8)",
4812
- "colorTeal": "rgba(20, 184, 166, 1)",
4813
- "colorTealHover": "#5FB3A9",
4814
- "colorTealBg": "rgba(200, 244, 233, 0.8)",
4815
- "colorBlue": "rgba(0, 144, 255, 1)",
4816
- "colorBlueHover": "#72BCF5",
4817
- "colorBlueBg": "rgba(194, 229, 255, 0.8)",
4818
- "colorMauve": "rgba(142, 140, 153, 1)",
4819
- "colorMauveHover": "#C0BFC8",
4820
- "colorMauveBg": "rgba(239, 240, 243, 0.8)",
4821
- "colorSlate": "#2C3A50",
4822
- "colorSlateHover": "#354252",
4823
- "colorSlateBg": "#232B36",
4824
- "boxShadowTertiary": "0px 12px 32px -16px rgba(0, 0, 0, 0.24),0px 12px 60px 0px rgba(0, 0, 0, 0.12),0px 0px 1px 0px rgba(0, 0, 0, 0.04)",
4825
- "boxShadowTertiaryLeft": "-12px 0px 32px -16px rgba(0, 0, 0, 0.24),-12px 0px 60px 0px rgba(0, 0, 0, 0.12),0px 0px 1px 0px rgba(0, 0, 0, 0.04)",
4826
- "boxShadowInput": "0px 12px 24px -16px rgba(54, 54, 73, 0.04),0px 12px 40px 0px rgba(51, 51, 71, 0.08),0px 0px 1px 0px rgba(44, 44, 54, 0.02)"
4827
- }
4828
-
4829
- ```
4830
-
4831
- <div><span style="display: inline-block; width: 12px; height: 12px; background-color: rgba(26, 26, 29, 1);"></span> carbonDarkTheme</div>
4832
-
4833
- ```json
4834
- {
4835
- "borderRadiusXS": 2,
4836
- "borderRadiusSM": 4,
4837
- "borderRadius": 6,
4838
- "borderRadiusLG": 8,
4839
- "borderRadiusXL": 12,
4840
- "borderRadiusFull": 999,
4841
- "wireframe": false,
4842
- "colorPrimaryBg": "#181818",
4843
- "colorPrimaryBgHover": "#2E2E2E",
4844
- "colorPrimaryBorder": "#323232",
4845
- "colorPrimaryBorderHover": "#2C2C2C",
4846
- "colorPrimaryHover": "#DFDFDF",
4847
- "colorPrimary": "#E4E4E4",
4848
- "colorPrimaryActive": "#7E7E7E",
4849
- "colorPrimaryTextHover": "#909090",
4850
- "colorPrimaryText": "#676767",
4851
- "colorPrimaryTextActive": "#959595",
4852
- "colorTextBase": "#E7E7ED",
4853
- "colorBgBase": "#0A0A0B",
4854
- "colorText": "#E7E7EDC7",
4855
- "colorTextSecondary": "#E7E7EDA6",
4856
- "colorTextTertiary": "#E7E7ED73",
4857
- "colorTextQuaternary": "#E7E7ED40",
4858
- "colorBorder": "#5B5B5BCC",
4859
- "colorBorderSecondary": "#323232CC",
4860
- "colorFill": "#E7E7ED2E",
4861
- "colorFillSecondary": "#E7E7ED1F",
4862
- "colorFillTertiary": "#E7E7ED14",
4863
- "colorFillQuaternary": "#E7E7ED0A",
4864
- "colorBgContainer": "#121212",
4865
- "colorBgElevated": "#212121",
4866
- "colorBgLayout": "#141414",
4867
- "colorBgSpotlight": "#525252D9",
4868
- "colorBgMask": "#050508CC",
4869
- "colorInfo": "#0B83F1",
4870
- "colorInfoHover": "#5EBCFF",
4871
- "colorInfoBorder": "#3990C9",
4872
- "colorInfoText": "#0B83F1",
4873
- "colorInfoBg": "#112233",
4874
- "colorInfoBgHover": "#264866",
4875
- "colorInfoBorderHover": "#5EBCFF",
4876
- "colorSuccess": "#5BB98B",
4877
- "colorSuccessHover": "#74A47C",
4878
- "colorSuccessBg": "#293631",
4879
- "colorSuccessBgHover": "#3F5147",
4880
- "colorSuccessBorder": "#73A377",
4881
- "colorSuccessBorderHover": "#ABD4BE",
4882
- "colorWarning": "#FAAD14",
4883
- "colorWarningHover": "#FF8C28",
4884
- "colorWarningBg": "#2D231A",
4885
- "colorWarningBgHover": "#4D3B23",
4886
- "colorWarningBorder": "#FFA628",
4887
- "colorWarningBorderHover": "#FFD666",
4888
- "colorError": "#FF4D4F",
4889
- "colorErrorHover": "#EE654E",
4890
- "colorErrorBg": "#2B0B08",
4891
- "colorErrorBgHover": "#4A2A28",
4892
- "colorErrorBorder": "#EE5B4E",
4893
- "colorErrorBorderHover": "#FFA39E",
4894
- "colorLink": "#4D7DFF",
4895
- "boxShadow": "0px 4px 6px 0px rgba(255, 255, 255, 0.08)",
4896
- "boxShadowSecondary": "0px 12px 24px -16px rgba(255, 255, 255, 0.06),0px 8px 40px 0px rgba(255, 255, 255, 0.12),0px 0px 1px 0px rgba(255, 255, 255, 0.04)",
4897
-
4898
- "colorTextWhite": "#ffffff",
4899
- "colorTextBlack": "#000000",
4900
- "colorTextOnPrimary": "#000000",
4901
- "colorFillDisable": "#898989",
4902
- "colorPurple": "#615CED",
4903
- "colorPurpleHover": "#8383F0",
4904
- "colorPurpleBg": "#6964877A",
4905
- "colorPink": "#EC4899",
4906
- "colorPinkHover": "#E494BC",
4907
- "colorPinkBg": "#53424D7A",
4908
- "colorYellow": "#EAB308",
4909
- "colorYellowHover": "#DBBE62",
4910
- "colorYellowBg": "#9585527A",
4911
- "colorOrange": "#FA8125",
4912
- "colorOrangeHover": "#F7A25F",
4913
- "colorOrangeBg": "#6F58417A",
4914
- "colorTeal": "#14B8A6",
4915
- "colorTealHover": "#7BC7BE",
4916
- "colorTealBg": "#4658547A",
4917
- "colorBlue": "#0090FF",
4918
- "colorBlueHover": "#83BFED",
4919
- "colorBlueBg": "#5E76897A",
4920
- "colorMauve": "#8E8C99",
4921
- "colorMauveHover": "#BBB8CA",
4922
- "colorMauveBg": "#5859647A",
4923
- "colorSlate": "#2C3A50",
4924
- "colorSlateHover": "#354252",
4925
- "colorSlateBg": "#232B36",
4926
- "colorLavender": "#A77BFF",
4927
- "colorLavenderHover": "#BFA5F3",
4928
- "colorLavenderBg": "rgba(150, 143, 167, 0.48)",
4929
-
4930
- "boxShadowTertiary": "0px 12px 32px -16px rgba(255, 255, 255, 0.24),0px 12px 60px 0px rgba(255, 255, 255, 0.12),0px 0px 1px 0px rgba(255, 255, 255, 0.04)",
4931
- "boxShadowTertiaryLeft": "-12px 0px 32px -16px rgba(255, 255, 255, 0.24),-12px 0px 60px 0px rgba(255, 255, 255, 0.12),0px 0px 1px 0px rgba(255, 255, 255, 0.04)",
4932
- "boxShadowInput": "0px 12px 24px -16px rgba(255, 255, 255, 0.08),0px 12px 40px 0px rgba(255, 255, 255, 0.16),0px 0px 1px 0px rgba(255, 255, 255, 0.04)"
4933
4383
 
4384
+ <div className={styles.groups}>
4385
+ {orderedCategories.map((category) => {
4386
+ const list = groupedIcons[category] || [];
4387
+ return (
4388
+ <div key={category}>
4389
+ <div className={styles.groupTitle}>
4390
+ {category}
4391
+ <span className={styles.groupCount}>({list.length})</span>
4392
+ </div>
4393
+
4394
+ <div className={styles.grid}>
4395
+ {list.map((item) => {
4396
+ const Icon = item.Icon;
4397
+ return (
4398
+ <div
4399
+ key={item.name}
4400
+ className={styles.card}
4401
+ onClick={() => handleCopy(item)}
4402
+ >
4403
+ <div className={styles.iconWrap}>
4404
+ <Icon style={{ fontSize: 24 }} />
4405
+ </div>
4406
+ <div className={styles.name} title={item.name}>
4407
+ {item.name}
4408
+ </div>
4409
+ </div>
4410
+ );
4411
+ })}
4412
+ </div>
4413
+ </div>
4414
+ );
4415
+ })}
4416
+ </div>
4417
+ </div>
4418
+ );
4934
4419
  }
4935
- ```
4936
4420
 
4937
- # CSS 变量
4938
4421
 
4939
- Spark Design 默认启用 cssVar 模式,因此您可以利用 从 token 派生出的 CSS 变量来构建自己的样式。
4940
-
4941
-
4942
- ```less
4943
- .example {
4944
- background: var(--sps-color-bg-base);
4945
- color: var(--sps-color-pink);
4946
- }
4947
- // 提示:您可以将 'sps' 替换为您自己的前缀
4948
4422
  ```
4949
4423
 
4950
-
4951
-
4952
-
4953
- ### 1.0.21
4954
- `2025-12-25`
4955
-
4956
- ##### Changed
4957
-
4958
- - AlertDialog 组件:定位距离顶部的默认高度调整为当前窗口高度的 36%
4959
- - Table 组件:表格行 hover 背景色修改为 `color-bg-layout` 颜色变量;表格行选中背景色修改为 `color-primary-bg-hover` 颜色变量
4960
- - Select 组件:多选模式的选中项背景色调整
4961
- - 主题色变量更新:,
4962
- - bailianDarkTheme:添加 `"colorLinkHover": "#857DE3"`
4963
- - bailianTheme:添加 `"colorLinkHover": "#8080FF"`
4964
- - carbonDarkTheme:修改 `"colorTextOnPrimary": "#ffffff"`
4965
-
4966
- ##### Fixed
4967
-
4968
- - Slider 组件:水平滑动条组件取消默认左右两边的外边距 margin,操作按钮 handle 在最左侧与最右侧不超出滑动轨道宽度
4969
-
4970
-
4971
-
4972
- # Vibe 编程
4973
-
4974
- ## LLMs.txt
4975
-
4976
- 为了让 Cursor 和 Claude Code 等工具理解 Spark Design,我们支持 LLMs.txt 文件,使 Spark Design 的文档可供大型语言模型使用。
4977
-
4978
-
4979
- - [index.llms.txt](https://g.alicdn.com/code/npm/@ali/agentscope-ai-design/4.7.2/docs-dist/llms/index.llms.txt):主要的 LLMs.txt 索引文件
4980
- - [all.llms.txt](https://g.alicdn.com/code/npm/@ali/agentscope-ai-design/4.7.2/docs-dist/llms/all.llms.txt):Spark Design 的完整文档
4981
-
4982
- 在 Cursor 中使用 @Docs 功能将 LLMs.txt 文件包含在您的项目中。[了解更多](https://docs.cursor.com/en/context/@-symbols/@-docs)
4983
-
4984
- ## D2C
4985
-
4986
- 在前端使用 Alibaba Cloud Spark Design、设计稿使用 Spark Design 套件的前提下,通过 masterGo 视觉稿生成代码可以做到以下几点:
4987
-
4988
-
4989
- - 准确识别 icon
4990
- - 使用标准 css token
4991
- - 无需测量间距、圆角等数据,AI 直接还原布局(90%以上概率准确生成)
4992
- - 使用标准组件还原页面,大部分标准组件可一次性正确生成,无需二次调整
4993
-
4994
- <div>
4995
- <video style="width: 100%" controls src="https://cloud.video.taobao.com/vod/PrrYzvYJkoDlbJwoL8Ei1Bo_60LrKAROCojWxB_EAYs.mp4" />
4996
- </div>
4997
-
4998
- 我们会在不久的将来开放 masterGo 的设计套件和 rules,帮助您高效率还原视觉稿
4424
+ 查看全部图标