@agentscope-ai/design 1.0.27-beta.1769741632982 → 1.0.28-beta.1769761940248

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
@@ -1,48 +1,14 @@
1
1
 
2
2
 
3
- <DemoTitle title="Tooltip" desc="简单的文本提示气泡框">
3
+ <DemoTitle title="Video" desc="视频展示">
4
4
  #### API
5
5
 
6
6
  | 属性名 | 描述 | 类型 | 默认值 |
7
7
  |--------|--------|--------|--------|
8
- | mode | 颜色模式 | 'dark' \| 'light' | 'dark' |
9
- | maxHeight | 最大高度 | number \| string | '90vh' |
10
-
11
-
12
- <AntdApiRef url="https://ant.design/components/tooltip-cn/#api"></AntdApiRef>
13
-
14
-
15
- ## antd API
16
-
17
- 通用属性参考:[通用属性](/docs/react/common-props)
18
-
19
- | 参数 | 说明 | 类型 | 默认值 |
20
- |--------|--------|--------|--------|
21
- | title | 提示文字 | ReactNode \| () => ReactNode | - |
22
-
23
-
24
- ### 共同的 API
8
+ | mouseEnterAutoPlay | 鼠标进入时是否自动播放 | boolean | false |
9
+ | children | video内部设置了按钮在暗色背景下的样式,如果有一些操作按钮想继承这个样式可以在这里传入 | React.ReactNode | |
25
10
 
26
- 以下 API 为 Tooltip、Popconfirm、Popover 共享的 API。
27
11
 
28
- <!-- prettier-ignore -->
29
- | 参数 | 说明 | 类型 | 默认值 | 版本 |
30
- |--------|--------|--------|--------|--------|
31
- | align | 该值将合并到 placement 的配置中,设置参考 | object | - | |
32
- | arrow | 修改箭头的显示状态以及修改箭头是否指向目标元素中心 | boolean \| { pointAtCenter: boolean } | true | 5.2.0 |
33
- | autoAdjustOverflow | 气泡被遮挡时自动调整位置 | boolean | true | |
34
- | color | 背景颜色 | string | - | 4.3.0 |
35
- | defaultOpen | 默认是否显隐 | boolean | false | 4.23.0 |
36
- | destroyOnHidden | 关闭后是否销毁 dom | boolean | false | 5.25.0 |
37
- | fresh | 默认情况下,Tooltip 在关闭时会缓存内容。设置该属性后会始终保持更新 | boolean | false | 5.10.0 |
38
- | getPopupContainer | 浮层渲染父节点,默认渲染到 body 上 | (triggerNode: HTMLElement) => HTMLElement | () => document.body | |
39
- | mouseEnterDelay | 鼠标移入后延时多少才显示 Tooltip,单位:秒 | number | 0.1 | |
40
- | mouseLeaveDelay | 鼠标移出后延时多少才隐藏 Tooltip,单位:秒 | number | 0.1 | |
41
- | placement | 气泡框位置,可选 | string | top | |
42
- | trigger | 触发行为,可选 | string \| string[] | hover | |
43
- | open | 用于手动控制浮层显隐,小于 4.23.0 使用 | boolean | false | 4.23.0 |
44
- | zIndex | 设置 Tooltip 的 | number | - | |
45
- | onOpenChange | 显示隐藏的回调 | (open: boolean) => void | - | 4.23.0 |
46
12
 
47
13
 
48
14
 
@@ -160,50 +126,49 @@ type RangeDisabledTime = (
160
126
 
161
127
 
162
128
 
163
- <DemoTitle title="Video" desc="视频展示">
129
+ <DemoTitle title="Tooltip" desc="简单的文本提示气泡框">
164
130
  #### API
165
131
 
166
132
  | 属性名 | 描述 | 类型 | 默认值 |
167
133
  |--------|--------|--------|--------|
168
- | mouseEnterAutoPlay | 鼠标进入时是否自动播放 | boolean | false |
169
- | children | video内部设置了按钮在暗色背景下的样式,如果有一些操作按钮想继承这个样式可以在这里传入 | React.ReactNode | |
170
-
134
+ | mode | 颜色模式 | 'dark' \| 'light' | 'dark' |
135
+ | maxHeight | 最大高度 | number \| string | '90vh' |
171
136
 
172
137
 
138
+ <AntdApiRef url="https://ant.design/components/tooltip-cn/#api"></AntdApiRef>
173
139
 
174
140
 
141
+ ## antd API
175
142
 
176
- <DemoTitle title="Tag" desc="进行标记和分类的小标签">
177
- #### API
143
+ 通用属性参考:[通用属性](/docs/react/common-props)
178
144
 
179
- | 属性名 | 描述 | 类型 | 默认值 |
145
+ | 参数 | 说明 | 类型 | 默认值 |
180
146
  |--------|--------|--------|--------|
181
- | size | 尺寸 | 'small' \| 'middle' | 'middle' |
182
- | color | 标签色 | SparkTagColors \| string | 'purple' |
183
-
184
- <AntdApiRef url="https://ant.design/components/tag-cn/#api"></AntdApiRef>
185
-
147
+ | title | 提示文字 | ReactNode \| () => ReactNode | - |
186
148
 
187
- ## antd API
188
149
 
189
- 通用属性参考:[通用属性](/docs/react/common-props)
150
+ ### 共同的 API
190
151
 
191
- ### Tag
152
+ 以下 API 为 Tooltip、Popconfirm、Popover 共享的 API。
192
153
 
154
+ <!-- prettier-ignore -->
193
155
  | 参数 | 说明 | 类型 | 默认值 | 版本 |
194
156
  |--------|--------|--------|--------|--------|
195
- | closeIcon | 自定义关闭按钮。5.7.0:设置为 | ReactNode | false | 4.4.0 |
196
- | icon | 设置图标 | ReactNode | - | |
197
- | bordered | 是否有边框 | boolean | true | 5.4.0 |
198
- | onClose | 关闭时的回调(可通过 | (e: React.MouseEvent) => void | - | |
199
-
200
-
201
- ### Tag.CheckableTag
202
-
203
- | 参数 | 说明 | 类型 | 默认值 |
204
- |--------|--------|--------|--------|
205
- | checked | 设置标签的选中状态 | boolean | false |
206
- | onChange | 点击标签时触发的回调 | (checked) => void | - |
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 |
207
172
 
208
173
 
209
174
 
@@ -310,7 +275,6 @@ type RangeDisabledTime = (
310
275
  | 属性名 | 描述 | 类型 | 默认值 |
311
276
  |--------|--------|--------|--------|
312
277
  | type | 类型 | 'line' \| 'card' \| 'editable-card' \| 'segmented' | true |
313
- | className | 类名 | string | '' |
314
278
 
315
279
 
316
280
  <AntdApiRef url="https://ant.design/components/tabs-cn/#api"></AntdApiRef>
@@ -375,263 +339,121 @@ type RangeDisabledTime = (
375
339
 
376
340
 
377
341
 
378
- <DemoTitle title="Steps" desc="引导用户按照流程完成任务的导航条。">
342
+ <DemoTitle title="Tag" desc="进行标记和分类的小标签">
379
343
  #### API
380
344
 
381
- <AntdApiRef url="https://ant.design/components/steps-cn/#api"></AntdApiRef>
345
+ | 属性名 | 描述 | 类型 | 默认值 |
346
+ |--------|--------|--------|--------|
347
+ | size | 尺寸 | 'small' \| 'middle' | 'middle' |
348
+ | color | 标签色 | SparkTagColors \| string | 'purple' |
349
+
350
+ <AntdApiRef url="https://ant.design/components/tag-cn/#api"></AntdApiRef>
382
351
 
383
352
 
384
353
  ## antd API
385
354
 
386
355
  通用属性参考:[通用属性](/docs/react/common-props)
387
356
 
388
- ### Steps
389
-
390
- 整体步骤条。
391
-
392
- | 参数 | 说明 | 类型 | 默认值 | 版本 |
393
- |--------|--------|--------|--------|--------|
394
- | className | 步骤条类名 | string | - | |
395
- | current | 指定当前步骤,从 0 开始记数。在子 Step 元素中,可以通过 | number | 0 | |
396
- | direction | 指定步骤条方向。目前支持水平( | string | horizontal | |
397
- | initial | 起始序号,从 0 开始记数 | number | 0 | |
398
- | labelPlacement | 指定标签放置位置,默认水平放图标右侧,可选 | string | horizontal | |
399
- | percent | 当前 | number | - | 4.5.0 |
400
- | progressDot | 点状步骤条,可以设置为一个 function,labelPlacement 将强制为 | boolean \| (iconDot, {index, status, title, description}) => ReactNode | false | |
401
- | responsive | 当屏幕宽度小于 | boolean | true | |
402
- | size | 指定大小,目前支持普通( | string | default | |
403
- | status | 指定当前步骤的状态,可选 | string | process | |
404
- | type | 步骤条类型,可选 | string | default | inline: 5.0 |
405
- | onChange | 点击切换步骤时触发 | (current) => void | - | |
406
- | items | 配置选项卡内容 | | [] | 4.24.0 |
407
-
408
-
409
- ### `type="inline"`
357
+ ### Tag
410
358
 
411
359
  | 参数 | 说明 | 类型 | 默认值 | 版本 |
412
360
  |--------|--------|--------|--------|--------|
413
- | className | 步骤条类名 | string | - | |
414
- | current | 指定当前步骤,从 0 开始记数。在子 Step 元素中,可以通过 | number | 0 | |
415
- | initial | 起始序号,从 0 开始记数 | number | 0 | |
416
- | status | 指定当前步骤的状态,可选 | string | process | |
417
- | onChange | 点击切换步骤时触发 | (current) => void | - | |
418
- | items | 配置选项卡内容,不支持 | | [] | 4.24.0 |
419
-
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 | - | |
420
365
 
421
- ### StepItem
422
366
 
423
- 步骤条内的每一个步骤。
367
+ ### Tag.CheckableTag
424
368
 
425
- | 参数 | 说明 | 类型 | 默认值 | 版本 |
426
- |--------|--------|--------|--------|--------|
427
- | description | 步骤的详情描述,可选 | ReactNode | - | |
428
- | disabled | 禁用点击 | boolean | false | |
429
- | icon | 步骤图标的类型,可选 | ReactNode | - | |
430
- | status | 指定状态。当不配置该属性时,会使用 Steps 的 | string | wait | |
431
- | subTitle | 子标题 | ReactNode | - | |
432
- | title | 标题 | ReactNode | - | |
369
+ | 参数 | 说明 | 类型 | 默认值 |
370
+ |--------|--------|--------|--------|
371
+ | checked | 设置标签的选中状态 | boolean | false |
372
+ | onChange | 点击标签时触发的回调 | (checked) => void | - |
433
373
 
434
374
 
435
375
 
436
376
 
437
- <DemoTitle title="Statistic" desc="展示统计数值">
377
+ <DemoTitle title="Table" desc="展示行列数据。">
438
378
  #### API
439
379
 
440
- <AntdApiRef url="https://ant.design/components/statistic-cn/#api"></AntdApiRef>
380
+ <AntdApiRef url="https://ant.design/components/table-cn/#api"></AntdApiRef>
441
381
 
442
382
 
443
383
  ## antd API
444
384
 
445
385
  通用属性参考:[通用属性](/docs/react/common-props)
446
386
 
447
- #### Statistic
387
+ ### Table
448
388
 
449
389
  | 参数 | 说明 | 类型 | 默认值 | 版本 |
450
390
  |--------|--------|--------|--------|--------|
451
- | decimalSeparator | 设置小数点 | string | . | |
452
- | formatter | 自定义数值展示 | (value) => ReactNode | - | |
453
- | groupSeparator | 设置千分位标识符 | string | , | |
454
- | loading | 数值是否加载中 | boolean | false | 4.8.0 |
455
- | precision | 数值精度 | number | - | |
456
- | prefix | 设置数值的前缀 | ReactNode | - | |
457
- | suffix | 设置数值的后缀 | ReactNode | - | |
458
- | title | 数值的标题 | ReactNode | - | |
459
- | value | 数值内容 | string \| number | - | |
460
- | valueStyle | 设置数值区域的样式 | CSSProperties | - | |
391
+ | bordered | 是否展示外边框和列边框 | boolean | false | |
392
+ | columns | 表格列的配置描述,具体项见下表 | | - | |
393
+ | components | 覆盖默认的 table 元素 | | - | |
394
+ | dataSource | 数据数组 | object[] | - | |
395
+ | expandable | 配置展开属性 | | - | |
396
+ | footer | 表格尾部 | function(currentPageData) | - | |
397
+ | getPopupContainer | 设置表格内各类浮层的渲染节点,如筛选菜单 | (triggerNode) => HTMLElement | () => TableHtmlElement | |
398
+ | loading | 页面是否加载中 | boolean \| | false | |
399
+ | locale | 默认文案设置,目前包括排序、过滤、空数据文案 | object | | |
400
+ | pagination | 分页器,参考 | object \| | - | |
401
+ | rowClassName | 表格行的类名 | function(record, index): string | - | |
402
+ | rowKey | 表格行 key 的取值,可以是字符串或一个函数 | string \| function(record): string | key | |
403
+ | rowSelection | 表格行是否可选择, | object | - | |
404
+ | rowHoverable | 表格行是否开启 hover 交互 | boolean | true | 5.16.0 |
405
+ | scroll | 表格是否可滚动,也可以指定滚动区域的宽、高, | object | - | |
406
+ | showHeader | 是否显示表头 | boolean | true | |
407
+ | showSorterTooltip | 表头是否显示下一次排序的 tooltip 提示。当参数类型为对象时,将被设置为 Tooltip 的属性 | boolean \| | { target: 'full-header' } | 5.16.0 |
408
+ | size | 表格大小 | large | large | |
409
+ | sortDirections | 支持的排序方式,取值为 | Array | [ | |
410
+ | sticky | 设置粘性头部和滚动条 | boolean \| | - | 4.6.0 (getContainer: 4.7.0) |
411
+ | summary | 总结栏 | (currentData) => ReactNode | - | |
412
+ | tableLayout | 表格元素的 | - \| | 无 | |
413
+ | title | 表格标题 | function(currentPageData) | - | |
414
+ | virtual | 支持虚拟列表 | boolean | - | 5.9.0 |
415
+ | onChange | 分页、排序、筛选变化时触发 | function(pagination, filters, sorter, extra: { currentDataSource: [], action: | - | |
416
+ | onHeaderRow | 设置头部行属性 | function(columns, index) | - | |
417
+ | onRow | 设置行属性 | function(record, index) | - | |
418
+ | onScroll | 表单内容滚动时触发(虚拟滚动下只有垂直滚动会触发事件) | function(event) | - | 5.16.0 |
461
419
 
462
420
 
463
- #### Statistic.Countdown <Badge type="error">Deprecated</Badge>
421
+ ### Table ref
464
422
 
465
- <!-- <Antd component="Alert" message="版本 >= 5.25.0 时请使用 Statistic.Timer 作为替代方案。" type="warning" banner="true"></Antd> -->
423
+ | 参数 | 说明 | 类型 | 版本 |
424
+ |--------|--------|--------|--------|
425
+ | nativeElement | 最外层 div 元素 | HTMLDivElement | 5.11.0 |
426
+ | scrollTo | 滚动到目标位置(设置 | (config: { index?: number, key?: React.Key, top?: number }) => void | 5.11.0 |
466
427
 
467
- <!-- prettier-ignore -->
468
- | 参数 | 说明 | 类型 | 默认值 | 版本 |
469
- |--------|--------|--------|--------|--------|
470
- | format | 格式化倒计时展示,参考 | string | HH:mm:ss | |
471
- | prefix | 设置数值的前缀 | ReactNode | - | |
472
- | suffix | 设置数值的后缀 | ReactNode | - | |
473
- | title | 数值的标题 | ReactNode | - | |
474
- | value | 数值内容 | number | - | |
475
- | valueStyle | 设置数值区域的样式 | CSSProperties | - | |
476
- | onFinish | 倒计时完成时触发 | () => void | - | |
477
- | onChange | 倒计时时间变化时触发 | (value: number) => void | - | |
478
428
 
429
+ #### onRow 用法
479
430
 
480
- #### Statistic.Timer <Badge>5.25.0+</Badge>
431
+ 适用于 `onRow` `onHeaderRow` `onCell` `onHeaderCell`。
481
432
 
482
- | 参数 | 说明 | 类型 | 默认值 | 版本 |
483
- |--------|--------|--------|--------|--------|
484
- | type | 计时类型,正计时或者倒计时 | countdown | - | |
485
- | format | 格式化倒计时展示,参考 | string | HH:mm:ss | |
486
- | prefix | 设置数值的前缀 | ReactNode | - | |
487
- | suffix | 设置数值的后缀 | ReactNode | - | |
488
- | title | 数值的标题 | ReactNode | - | |
489
- | value | 数值内容 | number | - | |
490
- | valueStyle | 设置数值区域的样式 | CSSProperties | - | |
491
- | onFinish | 倒计时完成时触发, 指定为 | () => void | - | |
492
- | onChange | 倒计时时间变化时触发 | (value: number) => void | - | |
493
433
 
434
+ ```jsx
435
+ <Table
436
+ onRow={(record) => {
437
+ return {
438
+ onClick: (event) => {}, // 点击行
439
+ onDoubleClick: (event) => {},
440
+ onContextMenu: (event) => {},
441
+ onMouseEnter: (event) => {}, // 鼠标移入行
442
+ onMouseLeave: (event) => {},
443
+ };
444
+ }}
445
+ onHeaderRow={(columns, index) => {
446
+ return {
447
+ onClick: () => {}, // 点击表头行
448
+ };
449
+ }}
450
+ />
451
+ ```
494
452
 
495
453
 
454
+ ### Column
496
455
 
497
- <DemoTitle title="Spinner" desc="指示页面或区块的加载中状态">
498
- #### API
499
-
500
- | 属性名 | 描述 | 类型 | 默认值 |
501
- |--------|--------|--------|--------|
502
- | tip | indicator下方的tip | React.ReactNode | - |
503
- | indicator | 自定义indicator,用于展示progress的百分比和加载文案 | React.ReactNode | - |
504
- | children | 被spinner包裹的子元素 | React.ReactNode | - |
505
- | style | spinner最外层的样式 | React.CSSProperties | - |
506
- | className | spinner的类名 | string | - |
507
- | percent | 进度条的百分比 | number | - |
508
- | spinning | 是否为加载中状态 | boolean | false |
509
- | showProgress | 是否显示进度条,如果为true,不需要手动在children中添加Progress组件 | boolean | false |
510
-
511
-
512
-
513
-
514
- <DemoTitle title="Switch" desc="使用开关切换两种状态之间。">
515
- #### API
516
-
517
- | 属性名 | 描述 | 类型 | 默认值 |
518
- |--------|--------|--------|--------|
519
- | label | Switch后的内容 | ReactNode | |
520
-
521
- <AntdApiRef url="https://ant.design/components/switch-cn/#api"></AntdApiRef>
522
-
523
-
524
- ## antd API
525
-
526
- 通用属性参考:[通用属性](/docs/react/common-props)
527
-
528
- | 参数 | 说明 | 类型 | 默认值 | 版本 |
529
- |--------|--------|--------|--------|--------|
530
- | autoFocus | 组件自动获取焦点 | boolean | false | |
531
- | checked | 指定当前是否选中 | boolean | false | |
532
- | checkedChildren | 选中时的内容 | ReactNode | - | |
533
- | className | Switch 器类名 | string | - | |
534
- | defaultChecked | 初始是否选中 | boolean | false | |
535
- | defaultValue | defaultChecked | boolean | - | 5.12.0 |
536
- | disabled | 是否禁用 | boolean | false | |
537
- | loading | 加载中的开关 | boolean | false | |
538
- | size | 开关大小,可选值: | string | default | |
539
- | unCheckedChildren | 非选中时的内容 | ReactNode | - | |
540
- | value | checked | boolean | - | 5.12.0 |
541
- | onChange | 变化时的回调函数 | function(checked: boolean, event: Event) | - | |
542
- | onClick | 点击时的回调函数 | function(checked: boolean, event: Event) | - | |
543
-
544
-
545
- ## 方法
546
-
547
- | 名称 | 描述 |
548
- |--------|--------|
549
- | blur() | 移除焦点 |
550
- | focus() | 获取焦点 |
551
-
552
-
553
-
554
-
555
- <DemoTitle title="Table" desc="展示行列数据。">
556
- #### API
557
-
558
- <AntdApiRef url="https://ant.design/components/table-cn/#api"></AntdApiRef>
559
-
560
-
561
- ## antd API
562
-
563
- 通用属性参考:[通用属性](/docs/react/common-props)
564
-
565
- ### Table
566
-
567
- | 参数 | 说明 | 类型 | 默认值 | 版本 |
568
- |--------|--------|--------|--------|--------|
569
- | bordered | 是否展示外边框和列边框 | boolean | false | |
570
- | columns | 表格列的配置描述,具体项见下表 | | - | |
571
- | components | 覆盖默认的 table 元素 | | - | |
572
- | dataSource | 数据数组 | object[] | - | |
573
- | expandable | 配置展开属性 | | - | |
574
- | footer | 表格尾部 | function(currentPageData) | - | |
575
- | getPopupContainer | 设置表格内各类浮层的渲染节点,如筛选菜单 | (triggerNode) => HTMLElement | () => TableHtmlElement | |
576
- | loading | 页面是否加载中 | boolean \| | false | |
577
- | locale | 默认文案设置,目前包括排序、过滤、空数据文案 | object | | |
578
- | pagination | 分页器,参考 | object \| | - | |
579
- | rowClassName | 表格行的类名 | function(record, index): string | - | |
580
- | rowKey | 表格行 key 的取值,可以是字符串或一个函数 | string \| function(record): string | key | |
581
- | rowSelection | 表格行是否可选择, | object | - | |
582
- | rowHoverable | 表格行是否开启 hover 交互 | boolean | true | 5.16.0 |
583
- | scroll | 表格是否可滚动,也可以指定滚动区域的宽、高, | object | - | |
584
- | showHeader | 是否显示表头 | boolean | true | |
585
- | showSorterTooltip | 表头是否显示下一次排序的 tooltip 提示。当参数类型为对象时,将被设置为 Tooltip 的属性 | boolean \| | { target: 'full-header' } | 5.16.0 |
586
- | size | 表格大小 | large | large | |
587
- | sortDirections | 支持的排序方式,取值为 | Array | [ | |
588
- | sticky | 设置粘性头部和滚动条 | boolean \| | - | 4.6.0 (getContainer: 4.7.0) |
589
- | summary | 总结栏 | (currentData) => ReactNode | - | |
590
- | tableLayout | 表格元素的 | - \| | 无 | |
591
- | title | 表格标题 | function(currentPageData) | - | |
592
- | virtual | 支持虚拟列表 | boolean | - | 5.9.0 |
593
- | onChange | 分页、排序、筛选变化时触发 | function(pagination, filters, sorter, extra: { currentDataSource: [], action: | - | |
594
- | onHeaderRow | 设置头部行属性 | function(columns, index) | - | |
595
- | onRow | 设置行属性 | function(record, index) | - | |
596
- | onScroll | 表单内容滚动时触发(虚拟滚动下只有垂直滚动会触发事件) | function(event) | - | 5.16.0 |
597
-
598
-
599
- ### Table ref
600
-
601
- | 参数 | 说明 | 类型 | 版本 |
602
- |--------|--------|--------|--------|
603
- | nativeElement | 最外层 div 元素 | HTMLDivElement | 5.11.0 |
604
- | scrollTo | 滚动到目标位置(设置 | (config: { index?: number, key?: React.Key, top?: number }) => void | 5.11.0 |
605
-
606
-
607
- #### onRow 用法
608
-
609
- 适用于 `onRow` `onHeaderRow` `onCell` `onHeaderCell`。
610
-
611
-
612
- ```jsx
613
- <Table
614
- onRow={(record) => {
615
- return {
616
- onClick: (event) => {}, // 点击行
617
- onDoubleClick: (event) => {},
618
- onContextMenu: (event) => {},
619
- onMouseEnter: (event) => {}, // 鼠标移入行
620
- onMouseLeave: (event) => {},
621
- };
622
- }}
623
- onHeaderRow={(columns, index) => {
624
- return {
625
- onClick: () => {}, // 点击表头行
626
- };
627
- }}
628
- />
629
- ```
630
-
631
-
632
- ### Column
633
-
634
- 列描述数据对象,是 columns 中的一项,Column 使用相同的 API。
456
+ 列描述数据对象,是 columns 中的一项,Column 使用相同的 API。
635
457
 
636
458
  | 参数 | 说明 | 类型 | 默认值 | 版本 |
637
459
  |--------|--------|--------|--------|--------|
@@ -807,10 +629,14 @@ TypeScript 里使用 Table 的 [CodeSandbox 实例](https://codesandbox.io/s/ser
807
629
 
808
630
 
809
631
 
810
- <DemoTitle title="Slider" desc="滑动型输入器,展示当前值和可选范围。">
632
+ <DemoTitle title="Switch" desc="使用开关切换两种状态之间。">
811
633
  #### API
812
634
 
813
- <AntdApiRef url="https://ant.design/components/slider-cn/#api"></AntdApiRef>
635
+ | 属性名 | 描述 | 类型 | 默认值 |
636
+ |--------|--------|--------|--------|
637
+ | label | Switch后的内容 | ReactNode | |
638
+
639
+ <AntdApiRef url="https://ant.design/components/switch-cn/#api"></AntdApiRef>
814
640
 
815
641
 
816
642
  ## antd API
@@ -819,127 +645,227 @@ TypeScript 里使用 Table 的 [CodeSandbox 实例](https://codesandbox.io/s/ser
819
645
 
820
646
  | 参数 | 说明 | 类型 | 默认值 | 版本 |
821
647
  |--------|--------|--------|--------|--------|
822
- | autoFocus | 自动获取焦点 | boolean | false | |
823
- | classNames | 语义化结构 className | | - | 5.10.0 |
824
- | defaultValue | 设置初始取值。当 | number \| [number, number] | 0 \| [0, 0] | |
825
- | disabled | 值为 true 时,滑块为禁用状态 | boolean | false | |
826
- | keyboard | 支持使用键盘操作 handler | boolean | true | 5.2.0+ |
827
- | dots | 是否只能拖拽到刻度上 | boolean | false | |
828
- | included | marks | boolean | true | |
829
- | marks | 刻度标记,key 的类型必须为 | object | { number: ReactNode } or { number: { style: CSSProperties, label: ReactNode } } | |
830
- | max | 最大值 | number | 100 | |
831
- | min | 最小值 | number | 0 | |
832
- | range | 双滑块模式 | boolean \| | false | |
833
- | reverse | 反向坐标轴 | boolean | false | |
834
- | step | 步长,取值必须大于 0,并且可被 (max - min) 整除。当 | number \| null | 1 | |
835
- | styles | 语义化结构 styles | | - | 5.10.0 |
836
- | tooltip | 设置 Tooltip 相关属性 | | - | 4.23.0 |
837
- | value | 设置当前取值。当 | number \| [number, number] | - | |
838
- | vertical | 值为 true 时,Slider 为垂直方向 | boolean | false | |
839
- | onChangeComplete | 与 | (value) => void | - | |
840
- | onChange | 当 Slider 的值发生改变时,会触发 onChange 事件,并把改变后的值作为参数传入 | (value) => void | - | |
841
-
842
-
843
- ### range
844
-
845
- | 参数 | 说明 | 类型 | 默认值 | 版本 |
846
- |--------|--------|--------|--------|--------|
847
- | draggableTrack | 范围刻度是否可被拖拽 | boolean | false | |
848
- | editable | 启动动态增减节点,不能和 | boolean | false | 5.20.0 |
849
- | minCount | 配置 | number | 0 | 5.20.0 |
850
- | maxCount | 配置 | number | - | 5.20.0 |
648
+ | autoFocus | 组件自动获取焦点 | boolean | false | |
649
+ | checked | 指定当前是否选中 | boolean | false | |
650
+ | checkedChildren | 选中时的内容 | ReactNode | - | |
651
+ | className | Switch 器类名 | string | - | |
652
+ | defaultChecked | 初始是否选中 | boolean | false | |
653
+ | defaultValue | defaultChecked | boolean | - | 5.12.0 |
654
+ | disabled | 是否禁用 | boolean | false | |
655
+ | loading | 加载中的开关 | boolean | false | |
656
+ | size | 开关大小,可选值: | string | default | |
657
+ | unCheckedChildren | 非选中时的内容 | ReactNode | - | |
658
+ | value | checked | boolean | - | 5.12.0 |
659
+ | onChange | 变化时的回调函数 | function(checked: boolean, event: Event) | - | |
660
+ | onClick | 点击时的回调函数 | function(checked: boolean, event: Event) | - | |
851
661
 
852
662
 
853
- ### tooltip
663
+ ## 方法
854
664
 
855
- | 参数 | 说明 | 类型 | 默认值 | 版本 |
856
- |--------|--------|--------|--------|--------|
857
- | autoAdjustOverflow | 是否自动调整弹出位置 | boolean | true | 5.8.0 |
858
- | open | 值为 true 时,Tooltip 将会始终显示;否则始终不显示,哪怕在拖拽及移入时 | boolean | - | 4.23.0 |
859
- | placement | 设置 Tooltip 展示位置。参考 | string | - | 4.23.0 |
860
- | getPopupContainer | Tooltip 渲染父节点,默认渲染到 body 上 | (triggerNode) => HTMLElement | () => document.body | 4.23.0 |
861
- | formatter | Slider 会把当前值传给 | value => ReactNode \| null | IDENTITY | 4.23.0 |
665
+ | 名称 | 描述 |
666
+ |--------|--------|
667
+ | blur() | 移除焦点 |
668
+ | focus() | 获取焦点 |
862
669
 
863
670
 
864
- ## 方法
865
671
 
866
- | 名称 | 描述 | 版本 |
867
- |--------|--------|--------|
868
- | blur() | 移除焦点 | |
869
- | focus() | 获取焦点 | |
870
672
 
673
+ <DemoTitle title="Steps" desc="引导用户按照流程完成任务的导航条。">
674
+ #### API
871
675
 
676
+ <AntdApiRef url="https://ant.design/components/steps-cn/#api"></AntdApiRef>
872
677
 
873
678
 
874
- <DemoTitle title="Skeleton" desc="在内容加载时提供占位图形展示。">
875
679
  ## antd API
876
680
 
877
681
  通用属性参考:[通用属性](/docs/react/common-props)
878
682
 
879
- ### Skeleton
880
-
881
- | 属性 | 说明 | 类型 | 默认值 |
882
- |--------|--------|--------|--------|
883
- | active | 是否展示动画效果 | boolean | false |
884
- | avatar | 是否显示头像占位图 | boolean \| | false |
885
- | loading | 为 true 时,显示占位图。反之则直接展示子组件 | boolean | - |
886
- | paragraph | 是否显示段落占位图 | boolean \| | true |
887
- | round | 为 true 时,段落和标题显示圆角 | boolean | false |
888
- | title | 是否显示标题占位图 | boolean \| | true |
889
-
890
-
891
- ### SkeletonAvatarProps
683
+ ### Steps
892
684
 
893
- | 属性 | 说明 | 类型 | 默认值 |
894
- |--------|--------|--------|--------|
895
- | active | 是否展示动画效果,仅在单独使用头像骨架时生效 | boolean | false |
896
- | shape | 指定头像的形状 | circle | - |
897
- | size | 设置头像占位图的大小 | number \| | - |
685
+ 整体步骤条。
898
686
 
687
+ | 参数 | 说明 | 类型 | 默认值 | 版本 |
688
+ |--------|--------|--------|--------|--------|
689
+ | className | 步骤条类名 | string | - | |
690
+ | current | 指定当前步骤,从 0 开始记数。在子 Step 元素中,可以通过 | number | 0 | |
691
+ | direction | 指定步骤条方向。目前支持水平( | string | horizontal | |
692
+ | initial | 起始序号,从 0 开始记数 | number | 0 | |
693
+ | labelPlacement | 指定标签放置位置,默认水平放图标右侧,可选 | string | horizontal | |
694
+ | percent | 当前 | number | - | 4.5.0 |
695
+ | progressDot | 点状步骤条,可以设置为一个 function,labelPlacement 将强制为 | boolean \| (iconDot, {index, status, title, description}) => ReactNode | false | |
696
+ | responsive | 当屏幕宽度小于 | boolean | true | |
697
+ | size | 指定大小,目前支持普通( | string | default | |
698
+ | status | 指定当前步骤的状态,可选 | string | process | |
699
+ | type | 步骤条类型,可选 | string | default | inline: 5.0 |
700
+ | onChange | 点击切换步骤时触发 | (current) => void | - | |
701
+ | items | 配置选项卡内容 | | [] | 4.24.0 |
899
702
 
900
- ### SkeletonTitleProps
901
703
 
902
- | 属性 | 说明 | 类型 | 默认值 |
903
- |--------|--------|--------|--------|
904
- | width | 设置标题占位图的宽度 | number \| string | - |
704
+ ### `type="inline"`
905
705
 
706
+ | 参数 | 说明 | 类型 | 默认值 | 版本 |
707
+ |--------|--------|--------|--------|--------|
708
+ | className | 步骤条类名 | string | - | |
709
+ | current | 指定当前步骤,从 0 开始记数。在子 Step 元素中,可以通过 | number | 0 | |
710
+ | initial | 起始序号,从 0 开始记数 | number | 0 | |
711
+ | status | 指定当前步骤的状态,可选 | string | process | |
712
+ | onChange | 点击切换步骤时触发 | (current) => void | - | |
713
+ | items | 配置选项卡内容,不支持 | | [] | 4.24.0 |
906
714
 
907
- ### SkeletonParagraphProps
908
715
 
909
- | 属性 | 说明 | 类型 | 默认值 |
910
- |--------|--------|--------|--------|
911
- | rows | 设置段落占位图的行数 | number | - |
912
- | width | 设置段落占位图的宽度,若为数组时则为对应的每行宽度,反之则是最后一行的宽度 | number \| string \| Array | - |
716
+ ### StepItem
913
717
 
718
+ 步骤条内的每一个步骤。
914
719
 
915
- ### SkeletonButtonProps
916
-
917
- | 属性 | 说明 | 类型 | 默认值 | 版本 |
720
+ | 参数 | 说明 | 类型 | 默认值 | 版本 |
918
721
  |--------|--------|--------|--------|--------|
919
- | active | 是否展示动画效果 | boolean | false | |
920
- | block | 将按钮宽度调整为其父宽度的选项 | boolean | false | 4.17.0 |
921
- | shape | 指定按钮的形状 | circle | - | |
922
- | size | 设置按钮的大小 | large | - | |
722
+ | description | 步骤的详情描述,可选 | ReactNode | - | |
723
+ | disabled | 禁用点击 | boolean | false | |
724
+ | icon | 步骤图标的类型,可选 | ReactNode | - | |
725
+ | status | 指定状态。当不配置该属性时,会使用 Steps 的 | string | wait | |
726
+ | subTitle | 子标题 | ReactNode | - | |
727
+ | title | 标题 | ReactNode | - | |
923
728
 
924
729
 
925
- ### SkeletonInputProps
926
730
 
927
- | 属性 | 说明 | 类型 | 默认值 |
731
+
732
+ <DemoTitle title="Spinner" desc="指示页面或区块的加载中状态">
733
+ #### API
734
+
735
+ | 属性名 | 描述 | 类型 | 默认值 |
928
736
  |--------|--------|--------|--------|
929
- | active | 是否展示动画效果 | boolean | false |
930
- | size | 设置输入框的大小 | large | - |
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 |
931
745
 
932
746
 
933
747
 
934
748
 
935
- <DemoTitle title="Result" desc="为操作结果提供反馈信息的展示。">
936
- ## API
749
+ <DemoTitle title="Statistic" desc="展示统计数值">
750
+ #### API
751
+
752
+ <AntdApiRef url="https://ant.design/components/statistic-cn/#api"></AntdApiRef>
753
+
754
+
755
+ ## antd API
756
+
757
+ 通用属性参考:[通用属性](/docs/react/common-props)
758
+
759
+ #### Statistic
760
+
761
+ | 参数 | 说明 | 类型 | 默认值 | 版本 |
762
+ |--------|--------|--------|--------|--------|
763
+ | decimalSeparator | 设置小数点 | string | . | |
764
+ | formatter | 自定义数值展示 | (value) => ReactNode | - | |
765
+ | groupSeparator | 设置千分位标识符 | string | , | |
766
+ | loading | 数值是否加载中 | boolean | false | 4.8.0 |
767
+ | precision | 数值精度 | number | - | |
768
+ | prefix | 设置数值的前缀 | ReactNode | - | |
769
+ | suffix | 设置数值的后缀 | ReactNode | - | |
770
+ | title | 数值的标题 | ReactNode | - | |
771
+ | value | 数值内容 | string \| number | - | |
772
+ | valueStyle | 设置数值区域的样式 | CSSProperties | - | |
773
+
774
+
775
+ #### Statistic.Countdown <Badge type="error">Deprecated</Badge>
776
+
777
+ <!-- <Antd component="Alert" message="版本 >= 5.25.0 时请使用 Statistic.Timer 作为替代方案。" type="warning" banner="true"></Antd> -->
778
+
779
+ <!-- prettier-ignore -->
780
+ | 参数 | 说明 | 类型 | 默认值 | 版本 |
781
+ |--------|--------|--------|--------|--------|
782
+ | format | 格式化倒计时展示,参考 | string | HH:mm:ss | |
783
+ | prefix | 设置数值的前缀 | ReactNode | - | |
784
+ | suffix | 设置数值的后缀 | ReactNode | - | |
785
+ | title | 数值的标题 | ReactNode | - | |
786
+ | value | 数值内容 | number | - | |
787
+ | valueStyle | 设置数值区域的样式 | CSSProperties | - | |
788
+ | onFinish | 倒计时完成时触发 | () => void | - | |
789
+ | onChange | 倒计时时间变化时触发 | (value: number) => void | - | |
790
+
791
+
792
+ #### Statistic.Timer <Badge>5.25.0+</Badge>
793
+
794
+ | 参数 | 说明 | 类型 | 默认值 | 版本 |
795
+ |--------|--------|--------|--------|--------|
796
+ | type | 计时类型,正计时或者倒计时 | countdown | - | |
797
+ | format | 格式化倒计时展示,参考 | string | HH:mm:ss | |
798
+ | prefix | 设置数值的前缀 | ReactNode | - | |
799
+ | suffix | 设置数值的后缀 | ReactNode | - | |
800
+ | title | 数值的标题 | ReactNode | - | |
801
+ | value | 数值内容 | number | - | |
802
+ | valueStyle | 设置数值区域的样式 | CSSProperties | - | |
803
+ | onFinish | 倒计时完成时触发, 指定为 | () => void | - | |
804
+ | onChange | 倒计时时间变化时触发 | (value: number) => void | - | |
805
+
806
+
807
+
808
+
809
+ <DemoTitle title="Slider" desc="滑动型输入器,展示当前值和可选范围。">
810
+ #### API
811
+
812
+ <AntdApiRef url="https://ant.design/components/slider-cn/#api"></AntdApiRef>
813
+
814
+
815
+ ## antd API
816
+
817
+ 通用属性参考:[通用属性](/docs/react/common-props)
818
+
819
+ | 参数 | 说明 | 类型 | 默认值 | 版本 |
820
+ |--------|--------|--------|--------|--------|
821
+ | autoFocus | 自动获取焦点 | boolean | false | |
822
+ | classNames | 语义化结构 className | | - | 5.10.0 |
823
+ | defaultValue | 设置初始取值。当 | number \| [number, number] | 0 \| [0, 0] | |
824
+ | disabled | 值为 true 时,滑块为禁用状态 | boolean | false | |
825
+ | keyboard | 支持使用键盘操作 handler | boolean | true | 5.2.0+ |
826
+ | dots | 是否只能拖拽到刻度上 | boolean | false | |
827
+ | included | marks | boolean | true | |
828
+ | marks | 刻度标记,key 的类型必须为 | object | { number: ReactNode } or { number: { style: CSSProperties, label: ReactNode } } | |
829
+ | max | 最大值 | number | 100 | |
830
+ | min | 最小值 | number | 0 | |
831
+ | range | 双滑块模式 | boolean \| | false | |
832
+ | reverse | 反向坐标轴 | boolean | false | |
833
+ | step | 步长,取值必须大于 0,并且可被 (max - min) 整除。当 | number \| null | 1 | |
834
+ | styles | 语义化结构 styles | | - | 5.10.0 |
835
+ | tooltip | 设置 Tooltip 相关属性 | | - | 4.23.0 |
836
+ | value | 设置当前取值。当 | number \| [number, number] | - | |
837
+ | vertical | 值为 true 时,Slider 为垂直方向 | boolean | false | |
838
+ | onChangeComplete | 与 | (value) => void | - | |
839
+ | onChange | 当 Slider 的值发生改变时,会触发 onChange 事件,并把改变后的值作为参数传入 | (value) => void | - | |
840
+
841
+
842
+ ### range
843
+
844
+ | 参数 | 说明 | 类型 | 默认值 | 版本 |
845
+ |--------|--------|--------|--------|--------|
846
+ | draggableTrack | 范围刻度是否可被拖拽 | boolean | false | |
847
+ | editable | 启动动态增减节点,不能和 | boolean | false | 5.20.0 |
848
+ | minCount | 配置 | number | 0 | 5.20.0 |
849
+ | maxCount | 配置 | number | - | 5.20.0 |
850
+
851
+
852
+ ### tooltip
853
+
854
+ | 参数 | 说明 | 类型 | 默认值 | 版本 |
855
+ |--------|--------|--------|--------|--------|
856
+ | autoAdjustOverflow | 是否自动调整弹出位置 | boolean | true | 5.8.0 |
857
+ | open | 值为 true 时,Tooltip 将会始终显示;否则始终不显示,哪怕在拖拽及移入时 | boolean | - | 4.23.0 |
858
+ | placement | 设置 Tooltip 展示位置。参考 | string | - | 4.23.0 |
859
+ | getPopupContainer | Tooltip 渲染父节点,默认渲染到 body 上 | (triggerNode) => HTMLElement | () => document.body | 4.23.0 |
860
+ | formatter | Slider 会把当前值传给 | value => ReactNode \| null | IDENTITY | 4.23.0 |
937
861
 
938
- | 属性名 | 描述 | 类型 | 默认值 |
939
- |--------|--------|--------|--------|
940
- | texture | 是否显示纹理 | boolean | false |
941
862
 
863
+ ## 方法
942
864
 
865
+ | 名称 | 描述 | 版本 |
866
+ |--------|--------|--------|
867
+ | blur() | 移除焦点 | |
868
+ | focus() | 获取焦点 | |
943
869
 
944
870
 
945
871
 
@@ -1042,20 +968,75 @@ TypeScript 里使用 Table 的 [CodeSandbox 实例](https://codesandbox.io/s/ser
1042
968
 
1043
969
 
1044
970
 
1045
- <DemoTitle title="MdEditor" desc="提示词编辑器,可以高亮 Markdown 的语法,支持自定义槽位变量的插入">
1046
- #### API
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
989
+
990
+ | 属性 | 说明 | 类型 | 默认值 |
991
+ |--------|--------|--------|--------|
992
+ | active | 是否展示动画效果,仅在单独使用头像骨架时生效 | boolean | false |
993
+ | shape | 指定头像的形状 | circle | - |
994
+ | size | 设置头像占位图的大小 | number \| | - |
995
+
996
+
997
+ ### SkeletonTitleProps
998
+
999
+ | 属性 | 说明 | 类型 | 默认值 |
1000
+ |--------|--------|--------|--------|
1001
+ | width | 设置标题占位图的宽度 | number \| string | - |
1002
+
1003
+
1004
+ ### SkeletonParagraphProps
1005
+
1006
+ | 属性 | 说明 | 类型 | 默认值 |
1007
+ |--------|--------|--------|--------|
1008
+ | rows | 设置段落占位图的行数 | number | - |
1009
+ | width | 设置段落占位图的宽度,若为数组时则为对应的每行宽度,反之则是最后一行的宽度 | number \| string \| Array | - |
1010
+
1011
+
1012
+ ### SkeletonButtonProps
1013
+
1014
+ | 属性 | 说明 | 类型 | 默认值 | 版本 |
1015
+ |--------|--------|--------|--------|--------|
1016
+ | active | 是否展示动画效果 | boolean | false | |
1017
+ | block | 将按钮宽度调整为其父宽度的选项 | boolean | false | 4.17.0 |
1018
+ | shape | 指定按钮的形状 | circle | - | |
1019
+ | size | 设置按钮的大小 | large | - | |
1020
+
1021
+
1022
+ ### SkeletonInputProps
1023
+
1024
+ | 属性 | 说明 | 类型 | 默认值 |
1025
+ |--------|--------|--------|--------|
1026
+ | active | 是否展示动画效果 | boolean | false |
1027
+ | size | 设置输入框的大小 | large | - |
1028
+
1029
+
1030
+
1031
+
1032
+ <DemoTitle title="Result" desc="为操作结果提供反馈信息的展示。">
1033
+ ## API
1047
1034
 
1048
1035
  | 属性名 | 描述 | 类型 | 默认值 |
1049
1036
  |--------|--------|--------|--------|
1050
- | maxLength | 可以输入内容的最大长度 | number | |
1051
- | value | 输入的内容 | string | |
1052
- | className | 输入内容的类名 | string | |
1053
- | onChange | 输入内容的回调 | (value: string) => void | |
1054
- | variables | 可以插入的变量列表 | Array | |
1055
- | onCreate | 新增变量的触发回调 | () => void | |
1056
- | createBtnText | 新增变量的按钮文本 | string | |
1057
- | tipsText | 提示文本,传入 false 时隐藏提示 | string \| React.ReactNode \| false | |
1058
- | readOnly | 仅可读 | boolean | false |
1037
+ | texture | 是否显示纹理 | boolean | false |
1038
+
1039
+
1059
1040
 
1060
1041
 
1061
1042
 
@@ -1203,72 +1184,28 @@ TypeScript 里使用 Table 的 [CodeSandbox 实例](https://codesandbox.io/s/ser
1203
1184
 
1204
1185
 
1205
1186
 
1206
- <DemoTitle title="Popover" desc="点击/鼠标移入元素,弹出气泡式的卡片浮层">
1207
- #### API
1208
-
1209
- <AntdApiRef url="https://ant.design/components/popover-cn/#api"></AntdApiRef>
1210
-
1211
-
1187
+ <DemoTitle title="Progress" desc="用于指示任务的完成进度">
1212
1188
  ## antd API
1213
1189
 
1214
1190
  通用属性参考:[通用属性](/docs/react/common-props)
1215
1191
 
1216
- | 参数 | 说明 | 类型 | 默认值 | 版本 |
1192
+ 各类型共用的属性。
1193
+
1194
+ | 属性 | 说明 | 类型 | 默认值 | 版本 |
1217
1195
  |--------|--------|--------|--------|--------|
1218
- | content | 卡片内容 | ReactNode \| () => ReactNode | - | |
1219
- | title | 卡片标题 | ReactNode \| () => ReactNode | - | |
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 |
1220
1206
 
1221
1207
 
1222
- <!-- 共同的 API -->
1223
- 以下 API 为 Tooltip、Popconfirm、Popover 共享的 API。
1224
-
1225
- <!-- prettier-ignore -->
1226
- | 参数 | 说明 | 类型 | 默认值 | 版本 |
1227
- |--------|--------|--------|--------|--------|
1228
- | align | 该值将合并到 placement 的配置中,设置参考 | object | - | |
1229
- | arrow | 修改箭头的显示状态以及修改箭头是否指向目标元素中心 | boolean \| { pointAtCenter: boolean } | true | 5.2.0 |
1230
- | autoAdjustOverflow | 气泡被遮挡时自动调整位置 | boolean | true | |
1231
- | color | 背景颜色 | string | - | 4.3.0 |
1232
- | defaultOpen | 默认是否显隐 | boolean | false | 4.23.0 |
1233
- | destroyOnHidden | 关闭后是否销毁 dom | boolean | false | 5.25.0 |
1234
- | fresh | 默认情况下,Tooltip 在关闭时会缓存内容。设置该属性后会始终保持更新 | boolean | false | 5.10.0 |
1235
- | getPopupContainer | 浮层渲染父节点,默认渲染到 body 上 | (triggerNode: HTMLElement) => HTMLElement | () => document.body | |
1236
- | mouseEnterDelay | 鼠标移入后延时多少才显示 Tooltip,单位:秒 | number | 0.1 | |
1237
- | mouseLeaveDelay | 鼠标移出后延时多少才隐藏 Tooltip,单位:秒 | number | 0.1 | |
1238
- | placement | 气泡框位置,可选 | string | top | |
1239
- | trigger | 触发行为,可选 | string \| string[] | hover | |
1240
- | open | 用于手动控制浮层显隐,小于 4.23.0 使用 | boolean | false | 4.23.0 |
1241
- | zIndex | 设置 Tooltip 的 | number | - | |
1242
- | onOpenChange | 显示隐藏的回调 | (open: boolean) => void | - | 4.23.0 |
1243
-
1244
- ## 注意
1245
-
1246
- 请确保 `Popover` 的子元素能接受 `onMouseEnter`、`onMouseLeave`、`onFocus`、`onClick` 事件。
1247
-
1248
-
1249
-
1250
- <DemoTitle title="Progress" desc="用于指示任务的完成进度">
1251
- ## antd API
1252
-
1253
- 通用属性参考:[通用属性](/docs/react/common-props)
1254
-
1255
- 各类型共用的属性。
1256
-
1257
- | 属性 | 说明 | 类型 | 默认值 | 版本 |
1258
- |--------|--------|--------|--------|--------|
1259
- | format | 内容的模板函数 | function(percent, successPercent) | (percent) => percent + | - |
1260
- | percent | 百分比 | number | 0 | - |
1261
- | showInfo | 是否显示进度数值或状态图标 | boolean | true | - |
1262
- | status | 状态,可选: | string | - | - |
1263
- | strokeColor | 进度条的色彩 | string | - | - |
1264
- | strokeLinecap | 进度条的样式 | round | round | - |
1265
- | success | 成功进度条相关配置 | { percent: number, strokeColor: string } | - | - |
1266
- | trailColor | 未完成的分段的颜色 | string | - | - |
1267
- | type | 类型,可选 | string | line | - |
1268
- | size | 进度条的尺寸 | number \| [number \| string, number] \| { width: number, height: number } \| "small" \| "default" | "default" | 5.3.0, Object: 5.18.0 |
1269
-
1270
-
1271
- ### `type="line"`
1208
+ ### `type="line"`
1272
1209
 
1273
1210
  | 属性 | 说明 | 类型 | 默认值 | 版本 |
1274
1211
  |--------|--------|--------|--------|--------|
@@ -1299,49 +1236,19 @@ TypeScript 里使用 Table 的 [CodeSandbox 实例](https://codesandbox.io/s/ser
1299
1236
 
1300
1237
 
1301
1238
 
1302
- <DemoTitle title="Pagination" desc="分页器用于分隔长列表,每次只加载一个页面。">
1303
- ## API
1239
+ <DemoTitle title="MdEditor" desc="提示词编辑器,可以高亮 Markdown 的语法,支持自定义槽位变量的插入">
1240
+ #### API
1304
1241
 
1305
1242
  | 属性名 | 描述 | 类型 | 默认值 |
1306
1243
  |--------|--------|--------|--------|
1307
- | hideSwitchButton | 是否展示上一页/下一页的切换按钮 | boolean | false |
1308
-
1309
-
1310
- <AntdApiRef url="https://ant.design/components/pagination-cn/#api"></AntdApiRef>
1311
-
1312
-
1313
- ## antd API
1314
-
1315
- 通用属性参考:[通用属性](/docs/react/common-props)
1316
-
1317
-
1318
- ```jsx
1319
- <Pagination onChange={onChange} total={50} />
1320
- ```
1321
-
1322
-
1323
- | 参数 | 说明 | 类型 | 默认值 | 版本 |
1324
- |--------|--------|--------|--------|--------|
1325
- | align | 对齐方式 | start \| center \| end | - | 5.19.0 |
1326
- | current | 当前页数 | number | - | |
1327
- | defaultCurrent | 默认的当前页数 | number | 1 | |
1328
- | defaultPageSize | 默认的每页条数 | number | 10 | |
1329
- | disabled | 禁用分页 | boolean | - | |
1330
- | hideOnSinglePage | 只有一页时是否隐藏分页器 | boolean | false | |
1331
- | itemRender | 用于自定义页码的结构,可用于优化 SEO | (page, type: 'page' \| 'prev' \| 'next', originalElement) => React.ReactNode | - | |
1332
- | pageSize | 每页条数 | number | - | |
1333
- | pageSizeOptions | 指定每页可以显示多少条 | number[] | [ | |
1334
- | responsive | 当 size 未指定时,根据屏幕宽度自动调整尺寸 | boolean | - | |
1335
- | showLessItems | 是否显示较少页面内容 | boolean | false | |
1336
- | showQuickJumper | 是否可以快速跳转至某页 | boolean \| { goButton: ReactNode } | false | |
1337
- | showSizeChanger | 是否展示 | boolean \| | - | SelectProps: 5.21.0 |
1338
- | showTitle | 是否显示原生 tooltip 页码提示 | boolean | true | |
1339
- | showTotal | 用于显示数据总量和当前数据顺序 | function(total, range) | - | |
1340
- | simple | 当添加该属性时,显示为简单分页 | boolean \| { readOnly?: boolean } | - | |
1341
- | size | 当为 | default | default | |
1342
- | total | 数据总数 | number | 0 | |
1343
- | onChange | 页码或 | function(page, pageSize) | - | |
1344
- | onShowSizeChange | pageSize 变化的回调 | function(current, size) | - | |
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 | |
1345
1252
 
1346
1253
 
1347
1254
 
@@ -1403,6 +1310,97 @@ TypeScript 里使用 Table 的 [CodeSandbox 实例](https://codesandbox.io/s/ser
1403
1310
 
1404
1311
 
1405
1312
 
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
+ <DemoTitle title="Pagination" desc="分页器用于分隔长列表,每次只加载一个页面。">
1358
+ ## API
1359
+
1360
+ | 属性名 | 描述 | 类型 | 默认值 |
1361
+ |--------|--------|--------|--------|
1362
+ | hideSwitchButton | 是否展示上一页/下一页的切换按钮 | boolean | false |
1363
+
1364
+
1365
+ <AntdApiRef url="https://ant.design/components/pagination-cn/#api"></AntdApiRef>
1366
+
1367
+
1368
+ ## antd API
1369
+
1370
+ 通用属性参考:[通用属性](/docs/react/common-props)
1371
+
1372
+
1373
+ ```jsx
1374
+ <Pagination onChange={onChange} total={50} />
1375
+ ```
1376
+
1377
+
1378
+ | 参数 | 说明 | 类型 | 默认值 | 版本 |
1379
+ |--------|--------|--------|--------|--------|
1380
+ | align | 对齐方式 | start \| center \| end | - | 5.19.0 |
1381
+ | current | 当前页数 | number | - | |
1382
+ | defaultCurrent | 默认的当前页数 | number | 1 | |
1383
+ | defaultPageSize | 默认的每页条数 | number | 10 | |
1384
+ | disabled | 禁用分页 | boolean | - | |
1385
+ | hideOnSinglePage | 只有一页时是否隐藏分页器 | boolean | false | |
1386
+ | itemRender | 用于自定义页码的结构,可用于优化 SEO | (page, type: 'page' \| 'prev' \| 'next', originalElement) => React.ReactNode | - | |
1387
+ | pageSize | 每页条数 | number | - | |
1388
+ | pageSizeOptions | 指定每页可以显示多少条 | number[] | [ | |
1389
+ | responsive | 当 size 未指定时,根据屏幕宽度自动调整尺寸 | boolean | - | |
1390
+ | showLessItems | 是否显示较少页面内容 | boolean | false | |
1391
+ | showQuickJumper | 是否可以快速跳转至某页 | boolean \| { goButton: ReactNode } | false | |
1392
+ | showSizeChanger | 是否展示 | boolean \| | - | SelectProps: 5.21.0 |
1393
+ | showTitle | 是否显示原生 tooltip 页码提示 | boolean | true | |
1394
+ | showTotal | 用于显示数据总量和当前数据顺序 | function(total, range) | - | |
1395
+ | simple | 当添加该属性时,显示为简单分页 | boolean \| { readOnly?: boolean } | - | |
1396
+ | size | 当为 | default | default | |
1397
+ | total | 数据总数 | number | 0 | |
1398
+ | onChange | 页码或 | function(page, pageSize) | - | |
1399
+ | onShowSizeChange | pageSize 变化的回调 | function(current, size) | - | |
1400
+
1401
+
1402
+
1403
+
1406
1404
  <DemoTitle title="Notification" desc="用于指示任务的完成进度">
1407
1405
  #### API
1408
1406
 
@@ -1499,175 +1497,75 @@ notification.config({
1499
1497
 
1500
1498
 
1501
1499
 
1502
- <DemoTitle title="Message" desc="一条简洁且临时显示的消息,为操作提供全局反馈">
1500
+ <DemoTitle title="Modal" desc="用于叠加当前页面上的对话框窗口,提供标题、内容区、操作区。">
1503
1501
  #### API
1504
1502
 
1505
1503
  | 属性名 | 描述 | 类型 | 默认值 |
1506
1504
  |--------|--------|--------|--------|
1507
- | conent | 显示的内容 | string | "" |
1505
+ | info | 底部额外内容 | string \| React.ReactNode | |
1506
+ | showDivider | 是否显示分割线 | boolean | true |
1508
1507
 
1509
- <AntdApiRef url="https://ant.design/components/message-cn/#api"></AntdApiRef>
1508
+ <AntdApiRef url="https://ant.design/components/modal-cn/#api"></AntdApiRef>
1510
1509
 
1511
1510
 
1512
1511
  ## antd API
1513
1512
 
1514
1513
  通用属性参考:[通用属性](/docs/react/common-props)
1515
1514
 
1516
- 组件提供了一些静态方法,使用方式和参数如下:
1517
-
1515
+ | 参数 | 说明 | 类型 | 默认值 | 版本 |
1516
+ |--------|--------|--------|--------|--------|
1517
+ | afterClose | Modal 完全关闭后的回调 | function | - | |
1518
+ | classNames | 配置弹窗内置模块的 className | | - | |
1519
+ | styles | 配置弹窗内置模块的 style | | - | 5.10.0 |
1520
+ | cancelButtonProps | cancel 按钮 props | | - | |
1521
+ | cancelText | 取消按钮文字 | ReactNode | 取消 | |
1522
+ | centered | 垂直居中展示 Modal | boolean | false | |
1523
+ | closable | 是否显示右上角的关闭按钮 | boolean \| { closeIcon?: React.ReactNode; disabled?: boolean; } | true | |
1524
+ | closeIcon | 自定义关闭图标。5.7.0:设置为 | ReactNode | | |
1525
+ | confirmLoading | 确定按钮 loading | boolean | false | |
1526
+ | destroyOnHidden | 关闭时销毁 Modal 里的子元素 | boolean | false | 5.25.0 |
1527
+ | focusTriggerAfterClose | 对话框关闭后是否需要聚焦触发元素 | boolean | true | 4.9.0 |
1528
+ | footer | 底部内容,当不需要默认底部按钮时,可以设为 | ReactNode \| (originNode: ReactNode, extra: { OkBtn: React.FC, CancelBtn: React.FC }) => ReactNode | (确定取消按钮) | renderFunction: 5.9.0 |
1529
+ | forceRender | 强制渲染 Modal | boolean | false | |
1530
+ | getContainer | 指定 Modal 挂载的节点,但依旧为全屏展示, | HTMLElement \| () => HTMLElement \| Selectors \| false | document.body | |
1531
+ | keyboard | 是否支持键盘 esc 关闭 | boolean | true | |
1532
+ | mask | 是否展示遮罩 | boolean | true | |
1533
+ | maskClosable | 点击蒙层是否允许关闭 | boolean | true | |
1534
+ | modalRender | 自定义渲染对话框 | (node: ReactNode) => ReactNode | - | 4.7.0 |
1535
+ | okButtonProps | ok 按钮 props | | - | |
1536
+ | okText | 确认按钮文字 | ReactNode | 确定 | |
1537
+ | okType | 确认按钮类型 | string | primary | |
1538
+ | style | 可用于设置浮层的样式,调整浮层位置等 | CSSProperties | - | |
1539
+ | loading | 显示骨架屏 | boolean | | 5.18.0 |
1540
+ | title | 标题 | ReactNode | - | |
1541
+ | open | 对话框是否可见 | boolean | - | |
1542
+ | width | 宽度 | string \| number \| | 520 | Breakpoint: 5.23.0 |
1543
+ | wrapClassName | 对话框外层容器的类名 | string | - | |
1544
+ | zIndex | 设置 Modal 的 | number | 1000 | |
1545
+ | onCancel | 点击遮罩层或右上角叉或取消按钮的回调 | function(e) | - | |
1546
+ | onOk | 点击确定回调 | function(e) | - | |
1547
+ | afterOpenChange | 打开和关闭 Modal 时动画结束后的回调 | (open: boolean) => void | - | 5.4.0 |
1518
1548
 
1519
- - `message.success(content, [duration], onClose)`
1520
- - `message.error(content, [duration], onClose)`
1521
- - `message.info(content, [duration], onClose)`
1522
- - `message.warning(content, [duration], onClose)`
1523
- - `message.loading(content, [duration], onClose)`
1524
1549
 
1525
- | 参数 | 说明 | 类型 | 默认值 |
1526
- |--------|--------|--------|--------|
1527
- | content | 提示内容 | ReactNode \| config | - |
1528
- | duration | 自动关闭的延时,单位秒。设为 0 时不自动关闭 | number | 3 |
1529
- | onClose | 关闭时触发的回调函数 | function | - |
1550
+ #### 注意
1530
1551
 
1531
1552
 
1532
- 组件同时提供 promise 接口。
1553
+ - `<Modal />` 默认关闭后状态不会自动清空,如果希望每次打开都是新内容,请设置 `destroyOnHidden`。
1554
+ - `<Modal />` 和 Form 一起配合使用时,设置 `destroyOnHidden` 也不会在 Modal 关闭时销毁表单字段数据,需要设置 `<Form preserve={false} />`。
1555
+ - `Modal.method()` RTL 模式仅支持 hooks 用法。
1533
1556
 
1557
+ ### Modal.method()
1534
1558
 
1535
- - `message[level](content, [duration]).then(afterClose)`
1536
- - `message[level](content, [duration], onClose).then(afterClose)`
1559
+ 包括:
1537
1560
 
1538
- 其中 `message[level]` 是组件已经提供的静态方法。`then` 接口返回值是 Promise。
1539
1561
 
1540
- 也可以对象的形式传递参数:
1562
+ - `Modal.info`
1563
+ - `Modal.success`
1564
+ - `Modal.error`
1565
+ - `Modal.warning`
1566
+ - `Modal.confirm`
1541
1567
 
1542
-
1543
- - `message.open(config)`
1544
- - `message.success(config)`
1545
- - `message.error(config)`
1546
- - `message.info(config)`
1547
- - `message.warning(config)`
1548
- - `message.loading(config)`
1549
-
1550
- `config` 对象属性如下:
1551
-
1552
- | 参数 | 说明 | 类型 | 默认值 |
1553
- |--------|--------|--------|--------|
1554
- | className | 自定义 CSS class | string | - |
1555
- | content | 提示内容 | ReactNode | - |
1556
- | duration | 自动关闭的延时,单位秒。设为 0 时不自动关闭 | number | 3 |
1557
- | icon | 自定义图标 | ReactNode | - |
1558
- | key | 当前提示的唯一标志 | string \| number | - |
1559
- | style | 自定义内联样式 | | - |
1560
- | onClick | 点击 message 时触发的回调函数 | function | - |
1561
- | onClose | 关闭时触发的回调函数 | function | - |
1562
-
1563
-
1564
- ### 全局方法
1565
-
1566
- 还提供了全局配置和全局销毁方法:
1567
-
1568
-
1569
- - `message.config(options)`
1570
- - `message.destroy()`
1571
-
1572
- 也可通过 `message.destroy(key)` 来关闭一条消息。
1573
-
1574
- #### message.config
1575
-
1576
- 当你使用 `ConfigProvider` 进行全局化配置时,系统会默认自动开启 RTL 模式。(4.3.0+)当你想单独使用,可通过如下设置开启 RTL 模式。
1577
-
1578
-
1579
- ```js
1580
- message.config({
1581
- top: 100,
1582
- duration: 2,
1583
- maxCount: 3,
1584
- rtl: true,
1585
- prefixCls: 'my-message',
1586
- });
1587
- ```
1588
-
1589
-
1590
- | 参数 | 说明 | 类型 | 默认值 | 版本 |
1591
- |--------|--------|--------|--------|--------|
1592
- | duration | 默认自动关闭延时,单位秒 | number | 3 | |
1593
- | getContainer | 配置渲染节点的输出位置,但依旧为全屏展示 | () => HTMLElement | () => document.body | |
1594
- | maxCount | 最大显示数,超过限制时,最早的消息会被自动关闭 | number | - | |
1595
- | prefixCls | 消息节点的 className 前缀 | string | ant-message | 4.5.0 |
1596
- | rtl | 是否开启 RTL 模式 | boolean | false | |
1597
- | top | 消息距离顶部的位置 | string \| number | 8 | |
1598
-
1599
-
1600
-
1601
-
1602
- <DemoTitle title="Modal" desc="用于叠加当前页面上的对话框窗口,提供标题、内容区、操作区。">
1603
- #### API
1604
-
1605
- | 属性名 | 描述 | 类型 | 默认值 |
1606
- |--------|--------|--------|--------|
1607
- | info | 底部额外内容 | string \| React.ReactNode | |
1608
- | showDivider | 是否显示分割线 | boolean | true |
1609
-
1610
- <AntdApiRef url="https://ant.design/components/modal-cn/#api"></AntdApiRef>
1611
-
1612
-
1613
- ## antd API
1614
-
1615
- 通用属性参考:[通用属性](/docs/react/common-props)
1616
-
1617
- | 参数 | 说明 | 类型 | 默认值 | 版本 |
1618
- |--------|--------|--------|--------|--------|
1619
- | afterClose | Modal 完全关闭后的回调 | function | - | |
1620
- | classNames | 配置弹窗内置模块的 className | | - | |
1621
- | styles | 配置弹窗内置模块的 style | | - | 5.10.0 |
1622
- | cancelButtonProps | cancel 按钮 props | | - | |
1623
- | cancelText | 取消按钮文字 | ReactNode | 取消 | |
1624
- | centered | 垂直居中展示 Modal | boolean | false | |
1625
- | closable | 是否显示右上角的关闭按钮 | boolean \| { closeIcon?: React.ReactNode; disabled?: boolean; } | true | |
1626
- | closeIcon | 自定义关闭图标。5.7.0:设置为 | ReactNode | | |
1627
- | confirmLoading | 确定按钮 loading | boolean | false | |
1628
- | destroyOnHidden | 关闭时销毁 Modal 里的子元素 | boolean | false | 5.25.0 |
1629
- | focusTriggerAfterClose | 对话框关闭后是否需要聚焦触发元素 | boolean | true | 4.9.0 |
1630
- | footer | 底部内容,当不需要默认底部按钮时,可以设为 | ReactNode \| (originNode: ReactNode, extra: { OkBtn: React.FC, CancelBtn: React.FC }) => ReactNode | (确定取消按钮) | renderFunction: 5.9.0 |
1631
- | forceRender | 强制渲染 Modal | boolean | false | |
1632
- | getContainer | 指定 Modal 挂载的节点,但依旧为全屏展示, | HTMLElement \| () => HTMLElement \| Selectors \| false | document.body | |
1633
- | keyboard | 是否支持键盘 esc 关闭 | boolean | true | |
1634
- | mask | 是否展示遮罩 | boolean | true | |
1635
- | maskClosable | 点击蒙层是否允许关闭 | boolean | true | |
1636
- | modalRender | 自定义渲染对话框 | (node: ReactNode) => ReactNode | - | 4.7.0 |
1637
- | okButtonProps | ok 按钮 props | | - | |
1638
- | okText | 确认按钮文字 | ReactNode | 确定 | |
1639
- | okType | 确认按钮类型 | string | primary | |
1640
- | style | 可用于设置浮层的样式,调整浮层位置等 | CSSProperties | - | |
1641
- | loading | 显示骨架屏 | boolean | | 5.18.0 |
1642
- | title | 标题 | ReactNode | - | |
1643
- | open | 对话框是否可见 | boolean | - | |
1644
- | width | 宽度 | string \| number \| | 520 | Breakpoint: 5.23.0 |
1645
- | wrapClassName | 对话框外层容器的类名 | string | - | |
1646
- | zIndex | 设置 Modal 的 | number | 1000 | |
1647
- | onCancel | 点击遮罩层或右上角叉或取消按钮的回调 | function(e) | - | |
1648
- | onOk | 点击确定回调 | function(e) | - | |
1649
- | afterOpenChange | 打开和关闭 Modal 时动画结束后的回调 | (open: boolean) => void | - | 5.4.0 |
1650
-
1651
-
1652
- #### 注意
1653
-
1654
-
1655
- - `<Modal />` 默认关闭后状态不会自动清空,如果希望每次打开都是新内容,请设置 `destroyOnHidden`。
1656
- - `<Modal />` 和 Form 一起配合使用时,设置 `destroyOnHidden` 也不会在 Modal 关闭时销毁表单字段数据,需要设置 `<Form preserve={false} />`。
1657
- - `Modal.method()` RTL 模式仅支持 hooks 用法。
1658
-
1659
- ### Modal.method()
1660
-
1661
- 包括:
1662
-
1663
-
1664
- - `Modal.info`
1665
- - `Modal.success`
1666
- - `Modal.error`
1667
- - `Modal.warning`
1668
- - `Modal.confirm`
1669
-
1670
- 以上均为一个函数,参数为 object,具体属性如下:
1568
+ 以上均为一个函数,参数为 object,具体属性如下:
1671
1569
 
1672
1570
  | 参数 | 说明 | 类型 | 默认值 | 版本 |
1673
1571
  |--------|--------|--------|--------|--------|
@@ -1769,6 +1667,106 @@ const confirmed = await modal.confirm({ ... });
1769
1667
 
1770
1668
 
1771
1669
 
1670
+ <DemoTitle title="Message" desc="一条简洁且临时显示的消息,为操作提供全局反馈">
1671
+ #### API
1672
+
1673
+ | 属性名 | 描述 | 类型 | 默认值 |
1674
+ |--------|--------|--------|--------|
1675
+ | conent | 显示的内容 | string | "" |
1676
+
1677
+ <AntdApiRef url="https://ant.design/components/message-cn/#api"></AntdApiRef>
1678
+
1679
+
1680
+ ## antd API
1681
+
1682
+ 通用属性参考:[通用属性](/docs/react/common-props)
1683
+
1684
+ 组件提供了一些静态方法,使用方式和参数如下:
1685
+
1686
+
1687
+ - `message.success(content, [duration], onClose)`
1688
+ - `message.error(content, [duration], onClose)`
1689
+ - `message.info(content, [duration], onClose)`
1690
+ - `message.warning(content, [duration], onClose)`
1691
+ - `message.loading(content, [duration], onClose)`
1692
+
1693
+ | 参数 | 说明 | 类型 | 默认值 |
1694
+ |--------|--------|--------|--------|
1695
+ | content | 提示内容 | ReactNode \| config | - |
1696
+ | duration | 自动关闭的延时,单位秒。设为 0 时不自动关闭 | number | 3 |
1697
+ | onClose | 关闭时触发的回调函数 | function | - |
1698
+
1699
+
1700
+ 组件同时提供 promise 接口。
1701
+
1702
+
1703
+ - `message[level](content, [duration]).then(afterClose)`
1704
+ - `message[level](content, [duration], onClose).then(afterClose)`
1705
+
1706
+ 其中 `message[level]` 是组件已经提供的静态方法。`then` 接口返回值是 Promise。
1707
+
1708
+ 也可以对象的形式传递参数:
1709
+
1710
+
1711
+ - `message.open(config)`
1712
+ - `message.success(config)`
1713
+ - `message.error(config)`
1714
+ - `message.info(config)`
1715
+ - `message.warning(config)`
1716
+ - `message.loading(config)`
1717
+
1718
+ `config` 对象属性如下:
1719
+
1720
+ | 参数 | 说明 | 类型 | 默认值 |
1721
+ |--------|--------|--------|--------|
1722
+ | className | 自定义 CSS class | string | - |
1723
+ | content | 提示内容 | ReactNode | - |
1724
+ | duration | 自动关闭的延时,单位秒。设为 0 时不自动关闭 | number | 3 |
1725
+ | icon | 自定义图标 | ReactNode | - |
1726
+ | key | 当前提示的唯一标志 | string \| number | - |
1727
+ | style | 自定义内联样式 | | - |
1728
+ | onClick | 点击 message 时触发的回调函数 | function | - |
1729
+ | onClose | 关闭时触发的回调函数 | function | - |
1730
+
1731
+
1732
+ ### 全局方法
1733
+
1734
+ 还提供了全局配置和全局销毁方法:
1735
+
1736
+
1737
+ - `message.config(options)`
1738
+ - `message.destroy()`
1739
+
1740
+ 也可通过 `message.destroy(key)` 来关闭一条消息。
1741
+
1742
+ #### message.config
1743
+
1744
+ 当你使用 `ConfigProvider` 进行全局化配置时,系统会默认自动开启 RTL 模式。(4.3.0+)当你想单独使用,可通过如下设置开启 RTL 模式。
1745
+
1746
+
1747
+ ```js
1748
+ message.config({
1749
+ top: 100,
1750
+ duration: 2,
1751
+ maxCount: 3,
1752
+ rtl: true,
1753
+ prefixCls: 'my-message',
1754
+ });
1755
+ ```
1756
+
1757
+
1758
+ | 参数 | 说明 | 类型 | 默认值 | 版本 |
1759
+ |--------|--------|--------|--------|--------|
1760
+ | duration | 默认自动关闭延时,单位秒 | number | 3 | |
1761
+ | getContainer | 配置渲染节点的输出位置,但依旧为全屏展示 | () => HTMLElement | () => document.body | |
1762
+ | maxCount | 最大显示数,超过限制时,最早的消息会被自动关闭 | number | - | |
1763
+ | prefixCls | 消息节点的 className 前缀 | string | ant-message | 4.5.0 |
1764
+ | rtl | 是否开启 RTL 模式 | boolean | false | |
1765
+ | top | 消息距离顶部的位置 | string \| number | 8 | |
1766
+
1767
+
1768
+
1769
+
1772
1770
  <DemoTitle title="InputNumber" desc="通过鼠标或键盘,输入范围内的数值。">
1773
1771
  #### API
1774
1772
 
@@ -1957,29 +1955,6 @@ interface CountConfig {
1957
1955
 
1958
1956
 
1959
1957
 
1960
- <DemoTitle title="MediaPreview" desc="用于预览图片和视频的弹窗组件">
1961
- #### API
1962
-
1963
- | 参数 | 说明 | 类型 | 默认值 |
1964
- |--------|--------|--------|--------|
1965
- | visible | 是否显示预览 | boolean | false |
1966
- | mediaList | 媒体列表 | MediaItem[] | [] |
1967
- | currentIndex | 当前选中的索引 | number | 0 |
1968
- | onClose | 关闭回调 | () => void | - |
1969
- | className | 自定义样式类名 | string | - |
1970
-
1971
-
1972
- #### MediaItem
1973
-
1974
- | 参数 | 说明 | 类型 | 默认值 |
1975
- |--------|--------|--------|--------|
1976
- | type | 媒体类型 | 'image' \| 'video' | - |
1977
- | src | 媒体资源地址 | string | - |
1978
- | alt | 媒体替代文本 | string | - |
1979
-
1980
-
1981
-
1982
-
1983
1958
  <DemoTitle title="Image" desc="可预览的图片">
1984
1959
  #### API
1985
1960
 
@@ -2147,13 +2122,6 @@ type TransformAction =
2147
2122
 
2148
2123
 
2149
2124
 
2150
- <DemoTitle title="InputSearch" desc="带搜索按钮的输入框,用于搜索场景。">
2151
- #### API
2152
-
2153
- <AntdApiRef url="https://ant.design/components/input-cn/#inputsearch"></AntdApiRef>
2154
-
2155
-
2156
-
2157
2125
  <DemoTitle title="IconButton" desc="以图标为核心的轻量按钮组件,用于触发操作。">
2158
2126
  #### API
2159
2127
 
@@ -2200,22 +2168,226 @@ type PresetColors = 'blue' | 'purple' | 'cyan' | 'green' | 'magenta' | 'pink' |
2200
2168
 
2201
2169
 
2202
2170
 
2203
- <DemoTitle title="Form" desc="高性能表单控件,自带数据域管理。包含数据录入、校验以及对应样式。">
2171
+ <DemoTitle title="FloatButton" desc="用于网站上的全局功能;无论浏览到何处都可以看见的按钮。">
2204
2172
  #### API
2205
2173
 
2206
- <AntdApiRef url="https://ant.design/components/form-cn/#api"></AntdApiRef>
2174
+ <AntdApiRef url="https://ant.design/components/float-button-cn/#api"></AntdApiRef>
2207
2175
 
2208
2176
 
2209
2177
  ## antd API
2210
2178
 
2211
2179
  通用属性参考:[通用属性](/docs/react/common-props)
2212
2180
 
2213
- ### Form
2181
+ `antd@5.0.0` 版本开始提供该组件。
2182
+
2183
+ ### 共同的 API
2214
2184
 
2215
2185
  | 参数 | 说明 | 类型 | 默认值 | 版本 |
2216
2186
  |--------|--------|--------|--------|--------|
2217
- | colon | 配置 Form.Item 的 | boolean | true | |
2218
- | disabled | 设置表单组件禁用,仅对 antd 组件有效 | boolean | false | 4.21.0 |
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
2386
+
2387
+ | 参数 | 说明 | 类型 | 默认值 | 版本 |
2388
+ |--------|--------|--------|--------|--------|
2389
+ | colon | 配置 Form.Item 的 | boolean | true | |
2390
+ | disabled | 设置表单组件禁用,仅对 antd 组件有效 | boolean | false | 4.21.0 |
2219
2391
  | component | 设置 Form 渲染元素,为 | ComponentType \| false | form | |
2220
2392
  | fields | 通过状态管理(如 redux)控制表单字段,如非强需求不推荐使用。查看 | | - | |
2221
2393
  | form | 经 | | - | |
@@ -2760,89 +2932,6 @@ type Rule = RuleConfig | ((form: FormInstance) => RuleConfig);
2760
2932
 
2761
2933
 
2762
2934
 
2763
- <DemoTitle title="FileIcon" desc="用于展示不同文件类型的图标,也可通过 FileCard 展示文件信息。">
2764
- #### API
2765
-
2766
- ##### FileIcon Props
2767
-
2768
- | 属性名 | 描述 | 类型 | 默认值 |
2769
- |--------|--------|--------|--------|
2770
- | src | | string | |
2771
- | image | | string | |
2772
- | type | | string | (必填) |
2773
- | size | | number | |
2774
- | style | | React.CSSProperties | |
2775
-
2776
-
2777
- ##### FileCard Props
2778
-
2779
- | 属性名 | 描述 | 类型 | 默认值 |
2780
- |--------|--------|--------|--------|
2781
- | iconSize | | number | |
2782
- | src | | string | |
2783
- | type | | string | (必填) |
2784
- | name | | string | (必填) |
2785
- | desc | | string | |
2786
- | size | | number | |
2787
- | width | | React.CSSProperties['width'] | |
2788
- | children | | React.ReactNode | |
2789
-
2790
-
2791
-
2792
-
2793
- <DemoTitle title="FloatButton" desc="用于网站上的全局功能;无论浏览到何处都可以看见的按钮。">
2794
- #### API
2795
-
2796
- <AntdApiRef url="https://ant.design/components/float-button-cn/#api"></AntdApiRef>
2797
-
2798
-
2799
- ## antd API
2800
-
2801
- 通用属性参考:[通用属性](/docs/react/common-props)
2802
-
2803
- 自 `antd@5.0.0` 版本开始提供该组件。
2804
-
2805
- ### 共同的 API
2806
-
2807
- | 参数 | 说明 | 类型 | 默认值 | 版本 |
2808
- |--------|--------|--------|--------|--------|
2809
- | icon | 自定义图标 | ReactNode | - | |
2810
- | description | 文字及其它内容 | ReactNode | - | |
2811
- | tooltip | 气泡卡片的内容 | ReactNode \| | - | TooltipProps: 5.25.0 |
2812
- | type | 设置按钮类型 | default | default | |
2813
- | shape | 设置按钮形状 | circle | circle | |
2814
- | onClick | 点击按钮时的回调 | (event) => void | - | |
2815
- | href | 点击跳转的地址,指定此属性 button 的行为和 a 链接一致 | string | - | |
2816
- | target | 相当于 a 标签的 target 属性,href 存在时生效 | string | - | |
2817
- | htmlType | 设置 | submit | button | 5.21.0 |
2818
- | badge | 带徽标数字的悬浮按钮(不支持 | | - | 5.4.0 |
2819
-
2820
-
2821
- ### FloatButton.Group
2822
-
2823
- | 参数 | 说明 | 类型 | 默认值 | 版本 |
2824
- |--------|--------|--------|--------|--------|
2825
- | shape | 设置包含的 FloatButton 按钮形状 | circle | circle | |
2826
- | trigger | 触发方式(有触发方式为菜单模式) | click | - | |
2827
- | open | 受控展开,需配合 trigger 一起使用 | boolean | - | |
2828
- | closeIcon | 自定义关闭按钮 | React.ReactNode | | |
2829
- | placement | 自定义菜单弹出位置 | top | top | 5.21.0 |
2830
- | onOpenChange | 展开收起时的回调,需配合 trigger 一起使用 | (open: boolean) => void | - | |
2831
- | onClick | 点击按钮时的回调(仅在菜单模式中有效) | (event) => void | - | 5.3.0 |
2832
-
2833
-
2834
- ### FloatButton.BackTop
2835
-
2836
- | 参数 | 说明 | 类型 | 默认值 | 版本 |
2837
- |--------|--------|--------|--------|--------|
2838
- | duration | 回到顶部所需时间(ms) | number | 450 | |
2839
- | target | 设置需要监听其滚动事件的元素 | () => HTMLElement | () => window | |
2840
- | visibilityHeight | 滚动高度达到此参数值才出现 BackTop | number | 400 | |
2841
- | onClick | 点击按钮的回调函数 | () => void | - | |
2842
-
2843
-
2844
-
2845
-
2846
2935
  <DemoTitle title="Empty" desc="用于空状态的占位图形展示。">
2847
2936
  ## API
2848
2937
 
@@ -2887,157 +2976,6 @@ type Rule = RuleConfig | ((form: FormInstance) => RuleConfig);
2887
2976
 
2888
2977
 
2889
2978
 
2890
- <DemoTitle title="Dropdown" desc="向下弹出的列表。">
2891
- #### API
2892
-
2893
- <AntdApiRef url="https://ant.design/components/dropdown-cn/#api"></AntdApiRef>
2894
-
2895
-
2896
- ## antd API
2897
-
2898
- 通用属性参考:[通用属性](/docs/react/common-props)
2899
-
2900
- ### Dropdown
2901
-
2902
- | 参数 | 说明 | 类型 | 默认值 | 版本 |
2903
- |--------|--------|--------|--------|--------|
2904
- | arrow | 下拉框箭头是否显示 | boolean \| { pointAtCenter: boolean } | false | |
2905
- | autoAdjustOverflow | 下拉框被遮挡时自动调整位置 | boolean | true | 5.2.0 |
2906
- | autoFocus | 打开后自动聚焦下拉框 | boolean | false | 4.21.0 |
2907
- | disabled | 菜单是否禁用 | boolean | - | |
2908
- | destroyOnHidden | 关闭后是否销毁 Dropdown | boolean | false | 5.25.0 |
2909
- | popupRender | 自定义弹出框内容 | (menus: ReactNode) => ReactNode | - | 5.25.0 |
2910
- | getPopupContainer | 菜单渲染父节点。默认渲染到 body 上,如果你遇到菜单滚动定位问题,试试修改为滚动的区域,并相对其定位。 | (triggerNode: HTMLElement) => HTMLElement | () => document.body | |
2911
- | menu | 菜单配置项 | | - | 4.24.0 |
2912
- | overlayClassName | 下拉根元素的类名称 | string | - | |
2913
- | overlayStyle | 下拉根元素的样式 | CSSProperties | - | |
2914
- | placement | 菜单弹出位置: | string | bottomLeft | |
2915
- | trigger | 触发下拉的行为,移动端不支持 hover | Array< | [ | |
2916
- | open | 菜单是否显示,小于 4.23.0 使用 | boolean | - | 4.23.0 |
2917
- | onOpenChange | 菜单显示状态改变时调用,点击菜单按钮导致的消失不会触发。小于 4.23.0 使用 | (open: boolean, info: { source: 'trigger' \| 'menu' }) => void | - | info.source |
2918
-
2919
-
2920
- ### Dropdown.Button
2921
-
2922
- 属性与 Dropdown 的相同。还包含以下属性:
2923
-
2924
- | 参数 | 说明 | 类型 | 默认值 | 版本 |
2925
- |--------|--------|--------|--------|--------|
2926
- | buttonsRender | 自定义左右两个按钮 | (buttons: ReactNode[]) => ReactNode[] | - | |
2927
- | loading | 设置按钮载入状态,和 | boolean \| { delay: number, icon: ReactNode } | false | icon: 5.23.0 |
2928
- | danger | 设置危险按钮 | boolean | - | 4.23.0 |
2929
- | icon | 右侧的 icon | ReactNode | - | |
2930
- | size | 按钮大小,和 | large | middle | |
2931
- | type | 按钮类型,和 | primary | default | |
2932
- | onClick | 点击左侧按钮的回调,和 | (event: React.MouseEvent) => void | - | |
2933
-
2934
-
2935
- ## 注意
2936
-
2937
- 请确保 `Dropdown` 的子元素能接受 `onMouseEnter`、`onMouseLeave`、`onFocus`、`onClick` 事件。
2938
- ## antd API
2939
-
2940
- ### Menu
2941
-
2942
- | 参数 | 说明 | 类型 | 默认值 | 版本 |
2943
- |--------|--------|--------|--------|--------|
2944
- | defaultOpenKeys | 初始展开的 SubMenu 菜单项 key 数组 | string[] | - | |
2945
- | defaultSelectedKeys | 初始选中的菜单项 key 数组 | string[] | - | |
2946
- | expandIcon | 自定义展开图标 | ReactNode \| | - | 4.9.0 |
2947
- | forceSubMenuRender | 在子菜单展示之前就渲染进 DOM | boolean | false | |
2948
- | inlineCollapsed | inline 时菜单是否收起状态 | boolean | - | |
2949
- | inlineIndent | inline 模式的菜单缩进宽度 | number | 24 | |
2950
- | items | 菜单内容 | | - | 4.20.0 |
2951
- | mode | 菜单类型,现在支持垂直、水平、和内嵌模式三种 | vertical | vertical | |
2952
- | multiple | 是否允许多选 | boolean | false | |
2953
- | openKeys | 当前展开的 SubMenu 菜单项 key 数组 | string[] | - | |
2954
- | overflowedIndicator | 用于自定义 Menu 水平空间不足时的省略收缩的图标 | ReactNode | | |
2955
- | selectable | 是否允许选中 | boolean | true | |
2956
- | selectedKeys | 当前选中的菜单项 key 数组 | string[] | - | |
2957
- | style | 根节点样式 | CSSProperties | - | |
2958
- | subMenuCloseDelay | 用户鼠标离开子菜单后关闭延时,单位:秒 | number | 0.1 | |
2959
- | subMenuOpenDelay | 用户鼠标进入子菜单后开启延时,单位:秒 | number | 0 | |
2960
- | theme | 主题颜色 | light | light | |
2961
- | triggerSubMenuAction | SubMenu 展开/关闭的触发行为 | hover | hover | |
2962
- | onClick | 点击 MenuItem 调用此函数 | function({ item, key, keyPath, domEvent }) | - | |
2963
- | onDeselect | 取消选中时调用,仅在 multiple 生效 | function({ item, key, keyPath, selectedKeys, domEvent }) | - | |
2964
- | onOpenChange | SubMenu 展开/关闭的回调 | function(openKeys: string[]) | - | |
2965
- | onSelect | 被选中时调用 | function({ item, key, keyPath, selectedKeys, domEvent }) | -   | |
2966
-
2967
-
2968
- 更多属性查看 [rc-menu](https://github.com/react-component/menu#api)
2969
-
2970
- ### ItemType
2971
-
2972
- type ItemType = [MenuItemType](#menuitemtype) | [SubMenuType](#submenutype) | [MenuItemGroupType](#menuitemgrouptype) | [MenuDividerType](#menudividertype);
2973
-
2974
- #### MenuItemType
2975
-
2976
- | 参数 | 说明 | 类型 | 默认值 | 版本 |
2977
- |--------|--------|--------|--------|--------|
2978
- | danger | 展示错误状态样式 | boolean | false | |
2979
- | disabled | 是否禁用 | boolean | false | |
2980
- | extra | 额外节点 | ReactNode | - | 5.21.0 |
2981
- | icon | 菜单图标 | ReactNode | - | |
2982
- | key | item 的唯一标志 | string | - | |
2983
- | label | 菜单项标题 | ReactNode | - | |
2984
- | title | 设置收缩时展示的悬浮标题 | string | - | |
2985
-
2986
-
2987
- #### SubMenuType
2988
-
2989
- | 参数 | 说明 | 类型 | 默认值 | 版本 |
2990
- |--------|--------|--------|--------|--------|
2991
- | children | 子菜单的菜单项 | | - | |
2992
- | disabled | 是否禁用 | boolean | false | |
2993
- | icon | 菜单图标 | ReactNode | - | |
2994
- | key | 唯一标志 | string | - | |
2995
- | label | 菜单项标题 | ReactNode | - | |
2996
- | popupClassName | 子菜单样式, | string | - | |
2997
- | popupOffset | 子菜单偏移量, | [number, number] | - | |
2998
- | onTitleClick | 点击子菜单标题 | function({ key, domEvent }) | - | |
2999
- | theme | 设置子菜单的主题,默认从 Menu 上继承 | light | - | |
3000
-
3001
-
3002
- #### MenuItemGroupType
3003
-
3004
- 定义类型为 `group` 时,会作为分组处理:
3005
-
3006
-
3007
- ```ts
3008
- const groupItem = {
3009
- type: 'group', // Must have
3010
- label: 'My Group',
3011
- children: [],
3012
- };
3013
- ```
3014
-
3015
-
3016
- | 参数 | 说明 | 类型 | 默认值 | 版本 |
3017
- |--------|--------|--------|--------|--------|
3018
- | children | 分组的菜单项 | | - | |
3019
- | label | 分组标题 | ReactNode | - | |
3020
-
3021
-
3022
- #### MenuDividerType
3023
-
3024
- 菜单项分割线,只用在弹出菜单内,需要定义类型为 `divider`:
3025
-
3026
-
3027
- ```ts
3028
- const dividerItem = {
3029
- type: 'divider', // Must have
3030
- };
3031
- ```
3032
-
3033
-
3034
- | 参数 | 说明 | 类型 | 默认值 | 版本 |
3035
- |--------|--------|--------|--------|--------|
3036
- | dashed | 是否虚线 | boolean | false | |
3037
-
3038
-
3039
-
3040
-
3041
2979
  <DemoTitle title="Drawer" desc="从页面一侧滑入的操作面板,用于承载临时界面内容。">
3042
2980
  #### API
3043
2981
 
@@ -3121,100 +3059,42 @@ v5 使用 `rootClassName` 与 `rootStyle` 来配置最外层元素样式。原 v
3121
3059
  | column | 一行的 | number \| | 3 | |
3122
3060
  | extra | 描述列表的操作区域,显示在右上方 | ReactNode | - | 4.5.0 |
3123
3061
  | items | 描述列表项内容 | | - | 5.8.0 |
3124
- | layout | 描述布局 | horizontal | horizontal | |
3125
- | size | 设置列表的大小。可以设置为 | default | - | |
3126
- | title | 描述列表的标题,显示在最顶部 | ReactNode | - | |
3127
- | classNames | 语义化结构 class | | - | 5.23.0 |
3128
- | styles | 语义化结构 style | | - | 5.23.0 |
3129
-
3130
-
3131
- ### DescriptionItem
3132
-
3133
- | 参数 | 说明 | 类型 | 默认值 | 版本 |
3134
- |--------|--------|--------|--------|--------|
3135
- | label | 内容的描述 | ReactNode | - | |
3136
- | span | 包含列的数量( | number\| | 1 | screens: 5.9.0 |
3137
-
3138
-
3139
- span 是 Description.Item 的数量。 span={2} 会占用两个 DescriptionItem 的宽度。当同时配置 `style` 和 `labelStyle`(或 `contentStyle`)时,两者会同时作用。样式冲突时,后者会覆盖前者。
3140
-
3141
-
3142
-
3143
- <DemoTitle title="CollapsePanel" desc="折叠面板">
3144
- #### API
3145
-
3146
- | 属性名 | 描述 | 类型 | 默认值 |
3147
- |--------|--------|--------|--------|
3148
- | collapsedHeight | 收起状态下显示的内容高度 | number | 0 |
3149
- | expandedHeight | 展开状态下的内容高度,设置后内容超出时可滚动,不设置则自适应内容高度 | number | 300 |
3150
- | title | 面板标题 | string \| React.ReactNode | "" |
3151
- | expandOnPanelClick | 是否允许点击整个面板进行展开 | boolean | false |
3152
- | extra | 面板右侧内容 | React.ReactNode | |
3153
- | children | 面板内容 | React.ReactNode | |
3154
- | defaultExpanded | 是否默认展开 | boolean | false |
3155
- | classNames | 语义化的classNames | Partial> | |
3156
- | styles | 语义化的styles | Partial<
3157
- Record
3158
- > | |
3159
-
3160
-
3161
-
3162
- ## antd API
3163
-
3164
- 通用属性参考:[通用属性](/docs/react/common-props)
3165
-
3166
- ### Collapse
3167
-
3168
- | 参数 | 说明 | 类型 | 默认值 | 版本 |
3169
- |--------|--------|--------|--------|--------|
3170
- | accordion | 手风琴模式 | boolean | false | |
3171
- | activeKey | 当前激活 tab 面板的 key | string[] \| string | | |
3172
- | bordered | 带边框风格的折叠面板 | boolean | true | |
3173
- | collapsible | 所有子面板是否可折叠或指定可折叠触发区域 | header | - | 4.9.0 |
3174
- | defaultActiveKey | 初始化选中面板的 key | string[] \| string | - | |
3175
- | destroyOnHidden | 销毁折叠隐藏的面板 | boolean | false | 5.25.0 |
3176
- | expandIcon | 自定义切换图标 | (panelProps) => ReactNode | - | |
3177
- | expandIconPosition | 设置图标位置 | start | - | 4.21.0 |
3178
- | ghost | 使折叠面板透明且无边框 | boolean | false | 4.4.0 |
3179
- | size | 设置折叠面板大小 | large | middle | 5.2.0 |
3180
- | onChange | 切换面板的回调 | function | - | |
3181
- | items | 折叠项目内容 | | - | 5.6.0 |
3062
+ | layout | 描述布局 | horizontal | horizontal | |
3063
+ | size | 设置列表的大小。可以设置为 | default | - | |
3064
+ | title | 描述列表的标题,显示在最顶部 | ReactNode | - | |
3065
+ | classNames | 语义化结构 class | | - | 5.23.0 |
3066
+ | styles | 语义化结构 style | | - | 5.23.0 |
3182
3067
 
3183
3068
 
3184
- ### ItemType
3069
+ ### DescriptionItem
3185
3070
 
3186
3071
  | 参数 | 说明 | 类型 | 默认值 | 版本 |
3187
3072
  |--------|--------|--------|--------|--------|
3188
- | classNames | 语义化结构 className | | - | 5.21.0 |
3189
- | collapsible | 是否可折叠或指定可折叠触发区域 | header | - | |
3190
- | forceRender | 被隐藏时是否渲染 body 区域 DOM 结构 | boolean | false | |
3191
- | key | 对应 activeKey | string \| number | - | |
3192
- | label | 面板标题 | ReactNode | - | - |
3193
- | showArrow | 是否展示当前面板上的箭头(为 false 时,collapsible 不能设为 icon) | boolean | true | |
3194
- | styles | 语义化结构 style | | - | 5.21.0 |
3195
-
3196
-
3197
- ### Collapse.Panel
3073
+ | label | 内容的描述 | ReactNode | - | |
3074
+ | span | 包含列的数量( | number\| | 1 | screens: 5.9.0 |
3198
3075
 
3199
- <!-- prettier-ignore -->
3200
- <Container type="warning" title="已废弃">
3201
- 版本 >= 5.6.0 时请使用 items 方式配置面板。
3202
- </Container>
3203
- | 参数 | 说明 | 类型 | 默认值 | 版本 |
3204
- |--------|--------|--------|--------|--------|
3205
- | collapsible | 是否可折叠或指定可折叠触发区域 | header | - | 4.9.0 (icon: 4.24.0) |
3206
- | forceRender | 被隐藏时是否渲染 body 区域 DOM 结构 | boolean | false | |
3207
- | header | 面板标题 | ReactNode | - | |
3208
- | key | 对应 activeKey | string \| number | - | |
3209
- | showArrow | 是否展示当前面板上的箭头(为 false 时,collapsible 不能设为 icon) | boolean | true | |
3210
3076
 
3077
+ span 是 Description.Item 的数量。 span={2} 会占用两个 DescriptionItem 的宽度。当同时配置 `style` 和 `labelStyle`(或 `contentStyle`)时,两者会同时作用。样式冲突时,后者会覆盖前者。
3211
3078
 
3212
3079
 
3213
3080
 
3214
- <DemoTitle title="Collapse" desc="可以折叠/展开的内容区域">
3081
+ <DemoTitle title="CollapsePanel" desc="折叠面板">
3215
3082
  #### API
3216
3083
 
3217
- <AntdApiRef url="https://ant.design/components/collapse-cn/#api"></AntdApiRef>
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
+
3218
3098
 
3219
3099
 
3220
3100
  ## antd API
@@ -3491,18 +3371,75 @@ export type FormatType =
3491
3371
 
3492
3372
 
3493
3373
 
3374
+ <DemoTitle title="Collapse" desc="可以折叠/展开的内容区域">
3375
+ #### API
3376
+
3377
+ <AntdApiRef url="https://ant.design/components/collapse-cn/#api"></AntdApiRef>
3378
+
3379
+
3380
+ ## antd API
3381
+
3382
+ 通用属性参考:[通用属性](/docs/react/common-props)
3383
+
3384
+ ### Collapse
3385
+
3386
+ | 参数 | 说明 | 类型 | 默认值 | 版本 |
3387
+ |--------|--------|--------|--------|--------|
3388
+ | accordion | 手风琴模式 | boolean | false | |
3389
+ | activeKey | 当前激活 tab 面板的 key | string[] \| string | | |
3390
+ | bordered | 带边框风格的折叠面板 | boolean | true | |
3391
+ | collapsible | 所有子面板是否可折叠或指定可折叠触发区域 | header | - | 4.9.0 |
3392
+ | defaultActiveKey | 初始化选中面板的 key | string[] \| string | - | |
3393
+ | destroyOnHidden | 销毁折叠隐藏的面板 | boolean | false | 5.25.0 |
3394
+ | expandIcon | 自定义切换图标 | (panelProps) => ReactNode | - | |
3395
+ | expandIconPosition | 设置图标位置 | start | - | 4.21.0 |
3396
+ | ghost | 使折叠面板透明且无边框 | boolean | false | 4.4.0 |
3397
+ | size | 设置折叠面板大小 | large | middle | 5.2.0 |
3398
+ | onChange | 切换面板的回调 | function | - | |
3399
+ | items | 折叠项目内容 | | - | 5.6.0 |
3400
+
3401
+
3402
+ ### ItemType
3403
+
3404
+ | 参数 | 说明 | 类型 | 默认值 | 版本 |
3405
+ |--------|--------|--------|--------|--------|
3406
+ | classNames | 语义化结构 className | | - | 5.21.0 |
3407
+ | collapsible | 是否可折叠或指定可折叠触发区域 | header | - | |
3408
+ | forceRender | 被隐藏时是否渲染 body 区域 DOM 结构 | boolean | false | |
3409
+ | key | 对应 activeKey | string \| number | - | |
3410
+ | label | 面板标题 | ReactNode | - | - |
3411
+ | showArrow | 是否展示当前面板上的箭头(为 false 时,collapsible 不能设为 icon) | boolean | true | |
3412
+ | styles | 语义化结构 style | | - | 5.21.0 |
3413
+
3414
+
3415
+ ### Collapse.Panel
3416
+
3417
+ <!-- prettier-ignore -->
3418
+ <Container type="warning" title="已废弃">
3419
+ 版本 >= 5.6.0 时请使用 items 方式配置面板。
3420
+ </Container>
3421
+ | 参数 | 说明 | 类型 | 默认值 | 版本 |
3422
+ |--------|--------|--------|--------|--------|
3423
+ | collapsible | 是否可折叠或指定可折叠触发区域 | header | - | 4.9.0 (icon: 4.24.0) |
3424
+ | forceRender | 被隐藏时是否渲染 body 区域 DOM 结构 | boolean | false | |
3425
+ | header | 面板标题 | ReactNode | - | |
3426
+ | key | 对应 activeKey | string \| number | - | |
3427
+ | showArrow | 是否展示当前面板上的箭头(为 false 时,collapsible 不能设为 icon) | boolean | true | |
3428
+
3429
+
3430
+
3431
+
3494
3432
  <DemoTitle title="CodeBlock" desc="代码块">
3495
3433
  #### API
3496
3434
 
3497
3435
  | 属性名 | 描述 | 类型 | 默认值 |
3498
3436
  |--------|--------|--------|--------|
3499
3437
  | language | 语言 | string \| string[] | (必填) |
3500
- | value | 值 | string | |
3438
+ | value | 值 | string | (必填) |
3501
3439
  | className | 类名 | string | |
3502
3440
  | theme | 主题 | 'dark' \| 'light' | |
3503
3441
  | readOnly | 只读 | boolean | |
3504
- | onChange | | (value?: string) => void | |
3505
- | extensions | 扩展 | Extension[] | [] |
3442
+ | onChange | | (value: string) => void | |
3506
3443
 
3507
3444
 
3508
3445
 
@@ -3696,6 +3633,54 @@ type PresetColors = 'blue' | 'purple' | 'cyan' | 'green' | 'magenta' | 'pink' |
3696
3633
 
3697
3634
 
3698
3635
 
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
+
3699
3684
  <DemoTitle title="Breadcrumb" desc="显示当前页面在系统层级结构中的位置,并能向上返回。">
3700
3685
  #### API
3701
3686
 
@@ -3810,108 +3795,7 @@ function itemRender(currentRoute, params, items, paths) {
3810
3795
  }
3811
3796
 
3812
3797
  return <Breadcrumb itemRender={itemRender} items={items} />;
3813
- ```
3814
-
3815
-
3816
-
3817
-
3818
- <DemoTitle title="Avatar" desc="用来代表用户或事物,支持图片、图标或字符展示。">
3819
- #### API
3820
-
3821
- <AntdApiRef url="https://ant.design/components/avatar-cn/#api"></AntdApiRef>
3822
-
3823
-
3824
- ## antd API
3825
-
3826
- 通用属性参考:[通用属性](/docs/react/common-props)
3827
-
3828
- ### Avatar
3829
-
3830
- | 参数 | 说明 | 类型 | 默认值 | 版本 |
3831
- |--------|--------|--------|--------|--------|
3832
- | alt | 图像无法显示时的替代文本 | string | - | |
3833
- | gap | 字符类型距离左右两侧边界单位像素 | number | 4 | 4.3.0 |
3834
- | icon | 设置头像的自定义图标 | ReactNode | - | |
3835
- | shape | 指定头像的形状 | circle | circle | |
3836
- | size | 设置头像的大小 | number \| | default | 4.7.0 |
3837
- | src | 图片类头像的资源地址或者图片元素 | string \| ReactNode | - | ReactNode: 4.8.0 |
3838
- | srcSet | 设置图片类头像响应式资源地址 | string | - | |
3839
- | draggable | 图片是否允许拖动 | boolean \| | true | |
3840
- | crossOrigin | CORS 属性设置 | 'anonymous' | - | 4.17.0 |
3841
- | onError | 图片加载失败的事件,返回 false 会关闭组件默认的 fallback 行为 | () => boolean | - | |
3842
-
3843
-
3844
- Tip:你可以设置 `icon` 或 `children` 作为图片加载失败的默认 fallback 行为,优先级为 `icon` > `children`
3845
-
3846
- ### Avatar.Group <Badge>4.5.0+</Badge>
3847
-
3848
- | 参数 | 说明 | 类型 | 默认值 | 版本 |
3849
- |--------|--------|--------|--------|--------|
3850
- | max | 设置最多显示相关配置, | { count?: number; style?: CSSProperties; popover?: PopoverProps } | - | 5.18.0 |
3851
- | size | 设置头像的大小 | number \| | default | 4.8.0 |
3852
- | shape | 设置头像的形状 | circle | circle | 5.8.0 |
3853
-
3854
-
3855
-
3856
-
3857
- <DemoTitle title="Audio" desc="音频展示">
3858
- #### API
3859
-
3860
- ApiParser解析结果为空
3861
-
3862
-
3863
-
3864
-
3865
-
3866
- <DemoTitle title="Anchor" desc="用于跳转到页面指定位置。">
3867
- #### API
3868
-
3869
- <AntdApiRef url="https://ant.design/components/anchor-cn/#api"></AntdApiRef>
3870
-
3871
-
3872
- ## antd API
3873
-
3874
- 通用属性参考:[通用属性](/docs/react/common-props)
3875
-
3876
- ### Anchor Props
3877
-
3878
- | 参数 | 说明 | 类型 | 默认值 | 版本 |
3879
- |--------|--------|--------|--------|--------|
3880
- | affix | 固定模式 | boolean \| Omit | true | object: 5.19.0 |
3881
- | bounds | 锚点区域边界 | number | 5 | |
3882
- | getContainer | 指定滚动的容器 | () => HTMLElement | () => window | |
3883
- | getCurrentAnchor | 自定义高亮的锚点 | (activeLink: string) => string | - | |
3884
- | offsetTop | 距离窗口顶部达到指定偏移量后触发 | number | | |
3885
- | showInkInFixed | affix={false} | boolean | false | |
3886
- | targetOffset | 锚点滚动偏移量,默认与 offsetTop 相同, | number | - | |
3887
- | onChange | 监听锚点链接改变 | (currentActiveLink: string) => void | - | |
3888
- | onClick | click | (e: MouseEvent, link: object) => void | - | |
3889
- | items | 数据化配置选项内容,支持通过 children 嵌套 | { key, href, title, target, children }[] | - | 5.1.0 |
3890
- | direction | 设置导航方向 | vertical | vertical | 5.2.0 |
3891
- | replace | 替换浏览器历史记录中项目的 href 而不是推送它 | boolean | false | 5.7.0 |
3892
-
3893
-
3894
- ### AnchorItem
3895
-
3896
- | 参数 | 说明 | 类型 | 默认值 | 版本 |
3897
- |--------|--------|--------|--------|--------|
3898
- | key | 唯一标志 | string \| number | - | |
3899
- | href | 锚点链接 | string | - | |
3900
- | target | 该属性指定在何处显示链接的资源 | string | - | |
3901
- | title | 文字内容 | ReactNode | - | |
3902
- | children | 嵌套的 Anchor Link, | | - | |
3903
- | replace | 替换浏览器历史记录中的项目 href 而不是推送它 | boolean | false | 5.7.0 |
3904
-
3905
-
3906
- ### Link Props
3907
-
3908
- 建议使用 items 形式。
3909
-
3910
- | 参数 | 说明 | 类型 | 默认值 | 版本 |
3911
- |--------|--------|--------|--------|--------|
3912
- | href | 锚点链接 | string | - | |
3913
- | target | 该属性指定在何处显示链接的资源 | string | - | |
3914
- | title | 文字内容 | ReactNode | - | |
3798
+ ```
3915
3799
 
3916
3800
 
3917
3801
 
@@ -4089,6 +3973,270 @@ const confirmed = await modal.confirm({ ... });
4089
3973
 
4090
3974
 
4091
3975
 
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
+
4092
4240
  <DemoTitle title="Alert" desc="向用户突出显示的重要提示信息。">
4093
4241
  #### API
4094
4242
 
@@ -4123,335 +4271,728 @@ const confirmed = await modal.confirm({ ... });
4123
4271
 
4124
4272
 
4125
4273
 
4126
- # 使用
4274
+ # 从零开始使用
4127
4275
 
4276
+ ## 📦 安装
4128
4277
 
4129
4278
 
4130
- ```tsx
4131
- import { SparkLoadingLine } from '@agentscope-ai/icons';
4279
+ ```bash
4280
+ $ npm install antd @agentscope-ai/icons @agentscope-ai/design --save
4281
+ ```
4132
4282
 
4133
- export default () => {
4283
+
4284
+ ## 🔨 使用
4285
+
4286
+
4287
+ ```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';
4134
4305
  return (
4135
- <SparkLoadingLine
4136
- className="your-class-name"
4137
- style={{ color: 'var(--sps-color-primary)' }}
4138
- spin
4139
- size={48}
4140
- />
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>
4141
4350
  );
4142
4351
  };
4143
4352
 
4353
+ export default App;
4144
4354
  ```
4145
4355
 
4146
- 基本用法
4147
4356
 
4148
- 访问 [Icon Library](https://sparkdesign.agentscope.io/#/resources/icons) 查看全部 Icon
4149
4357
 
4150
4358
 
4359
+ # 从 Antd 迁移
4151
4360
 
4152
- # Icon Library
4361
+ ## 📦 安装
4153
4362
 
4154
4363
 
4364
+ ```bash
4365
+ $ npm install @agentscope-ai/icons @agentscope-ai/design --save
4366
+ ```
4155
4367
 
4156
- ```tsx
4157
- import React, { useEffect, useMemo, useState } from 'react';
4158
- import * as SparkIcons from '@agentscope-ai/icons';
4159
- import { Input, Radio, message, copy } from '@agentscope-ai/design';
4160
- import { createStyles } from 'antd-style';
4161
- import { useLocale } from 'dumi';
4162
- import { SparkSearchLine } from '@agentscope-ai/icons';
4163
- import { categorizeIcon, ICON_CATEGORIES } from './iconCategories';
4164
- import $i18n from '@/i18n';
4165
-
4166
- /**
4167
- * Icons Library
4168
- * - 自动枚举并展示 @agentscope-ai/icons 的全部导出图标
4169
- * - 支持搜索、点击复制
4170
- */
4171
-
4172
- interface IconItem {
4173
- /** 图标导出名称 */
4174
- name: string;
4175
- /** 图标 React 组件 */
4176
- Icon: React.ComponentType<any>;
4177
- /** 图标分类 */
4178
- category: string;
4179
- }
4180
4368
 
4181
- type CopyMode = 'name' | 'import' | 'jsx';
4369
+ ## 🔨 使用
4182
4370
 
4183
- const useStyles = createStyles(() => ({
4184
- container: {
4185
- position: 'relative',
4186
- padding: 16,
4187
- paddingTop: 72,
4188
- },
4189
- toolbar: {
4190
- position: 'fixed',
4191
- width: '100%',
4192
- padding: '16px',
4193
- top: 0,
4194
- left: 0,
4195
- display: 'flex',
4196
- gap: 12,
4197
- alignItems: 'center',
4198
- justifyContent: 'space-between',
4199
- flexWrap: 'wrap',
4200
- background: 'var(--sps-color-bg-base)',
4201
- borderBottom: '1px solid var(--sps-color-border-secondary)',
4202
- marginBottom: '16px',
4203
- },
4204
- toolbarLeft: {
4205
- display: 'flex',
4206
- gap: 12,
4207
- alignItems: 'center',
4208
- },
4209
- toolbarRight: {
4210
- display: 'flex',
4211
- gap: 12,
4212
- alignItems: 'center',
4213
- justifyContent: 'flex-end',
4214
- flexWrap: 'wrap',
4215
- },
4216
- search: {
4217
- maxWidth: 300,
4218
- },
4219
- count: {
4220
- color: 'var(--sps-color-text-tertiary)',
4221
- fontSize: 12,
4222
- },
4223
- groups: {
4224
- marginTop: 16,
4225
- display: 'flex',
4226
- flexDirection: 'column',
4227
- gap: 24,
4228
- },
4229
- groupTitle: {
4230
- fontSize: 14,
4231
- fontWeight: 600,
4232
- color: 'var(--sps-color-text-base)',
4233
- marginBottom: 12,
4234
- },
4235
- groupCount: {
4236
- marginLeft: 8,
4237
- fontSize: 12,
4238
- fontWeight: 400,
4239
- color: 'var(--sps-color-text-tertiary)',
4240
- },
4241
- grid: {
4242
- display: 'grid',
4243
- gridTemplateColumns: 'repeat(auto-fill, minmax(140px, 1fr))',
4244
- gap: 12,
4245
- },
4246
- card: {
4247
- padding: 12,
4248
- borderRadius: 8,
4249
- cursor: 'pointer',
4250
- border: '1px solid var(--sps-color-border-secondary)',
4251
- background: 'var(--sps-color-bg-base)',
4252
- },
4253
- iconWrap: {
4254
- width: 48,
4255
- height: 48,
4256
- display: 'flex',
4257
- alignItems: 'center',
4258
- justifyContent: 'center',
4259
- },
4260
- name: {
4261
- marginTop: 8,
4262
- fontSize: 12,
4263
- lineHeight: '16px',
4264
- color: 'var(--sps-color-text-tertiary)',
4265
- overflow: 'hidden',
4266
- textOverflow: 'ellipsis',
4267
- whiteSpace: 'nowrap',
4268
- width: '100%',
4269
- fontFamily:
4270
- 'ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace',
4271
- },
4272
- }));
4371
+ @agentscope-ai/design 导出的所有同名组件在 API 方面都与 antd 的对应组件兼容,这意味着您无需学习如何使用它们。如果您想充分利用 Alibaba Cloud Spark Design 的新功能,可以尝试使用这些组件而不是 antd 的组件。
4273
4372
 
4274
- export default function IconLibrary() {
4275
- const { styles } = useStyles();
4276
- const locale = useLocale();
4277
- const [keyword, setKeyword] = useState<string>('');
4278
- const [copyMode, setCopyMode] = useState<CopyMode>('name');
4279
-
4280
- useEffect(() => {
4281
- // 同步 dumi 站点语言到 $i18n($i18n 识别 zh-cn / en)
4282
- $i18n.updateLocale(locale.id === 'zh-CN' ? 'zh-cn' : 'en');
4283
- }, [locale.id]);
4284
-
4285
- const excludedIcons = useMemo(
4286
- () =>
4287
- new Set([
4288
- 'SparkDelete01LineCopy',
4289
- 'SparkA2d2dFill',
4290
- 'SparkA3d3dFill',
4291
- 'SparkBoldLine1',
4292
- 'SparkShanguangdengweikaiqiFlashlightOffLine',
4293
- 'SparkZhinengshengchengAiGenerateLine',
4294
- 'SparkQqkongjianQzoneFill',
4295
- 'SparkAccountManagementFill',
4296
- ]),
4297
- [],
4373
+
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>
4298
4437
  );
4438
+ };
4299
4439
 
4300
- const allIcons = useMemo<IconItem[]>(() => {
4301
- return Object.entries(SparkIcons)
4302
- .filter(([name, Icon]) => {
4303
- if (!name.startsWith('Spark')) return false;
4304
- if (excludedIcons.has(name)) return false;
4305
- return typeof Icon === 'function';
4306
- })
4307
- .map(([name, Icon]) => ({
4308
- name,
4309
- Icon: Icon as React.ComponentType<any>,
4310
- category: categorizeIcon(name),
4311
- }))
4312
- .sort((a, b) => a.name.localeCompare(b.name));
4313
- }, [excludedIcons]);
4314
-
4315
- const filteredIcons = useMemo<IconItem[]>(() => {
4316
- const q = keyword.trim().toLowerCase();
4317
- if (!q) return allIcons;
4318
- return allIcons.filter((item) => item.name.toLowerCase().includes(q));
4319
- }, [allIcons, keyword]);
4320
-
4321
- const groupedIcons = useMemo<Record<string, IconItem[]>>(() => {
4322
- return filteredIcons.reduce<Record<string, IconItem[]>>((acc, icon) => {
4323
- const key = icon.category;
4324
- if (!acc[key]) acc[key] = [];
4325
- acc[key].push(icon);
4326
- return acc;
4327
- }, {});
4328
- }, [filteredIcons]);
4329
-
4330
- const orderedCategories = useMemo<string[]>(() => {
4331
- const configOrder = Object.keys(ICON_CATEGORIES);
4332
- const existing = new Set(Object.keys(groupedIcons));
4333
- const ordered = configOrder.filter((k) => existing.has(k));
4334
- const rest = Object.keys(groupedIcons)
4335
- .filter((k) => !configOrder.includes(k))
4336
- .sort((a, b) => a.localeCompare(b));
4337
- return [...ordered, ...rest];
4338
- }, [groupedIcons]);
4339
-
4340
- const handleCopy = (item: IconItem) => {
4341
- let text = item.name;
4342
- if (copyMode === 'import') {
4343
- text = `import { ${item.name} } from '@agentscope-ai/icons';`;
4344
- }
4345
- if (copyMode === 'jsx') {
4346
- text = `<${item.name} style={{ fontSize: 24 }} />`;
4347
- }
4440
+ export default App;
4441
+ ```
4442
+
4443
+
4444
+ 如果您想继续使用 antd 的组件,那也没问题。您只需要将 antd 的 ConfigProvider 替换为 @agentscope-ai/design 的即可。
4348
4445
 
4349
- copy(text);
4350
- message.success(
4351
- $i18n.get({
4352
- id: 'docs.icons.IconLibrary.CopySuccess',
4353
- dm: '已复制',
4354
- }),
4355
- );
4356
- };
4357
4446
 
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';
4358
4463
  return (
4359
- <div className={styles.container}>
4360
- <div className={styles.toolbar}>
4361
- <div className={styles.toolbarLeft}>
4362
- <Input
4363
- placeholder={$i18n.get({
4364
- id: 'docs.icons.IconLibrary.SearchPlaceholder',
4365
- dm: '搜索图标(按导出名)',
4366
- })}
4367
- value={keyword}
4368
- onChange={(e) => setKeyword((e?.target as any)?.value || '')}
4369
- className={styles.search}
4370
- prefix={<SparkSearchLine style={{ fontSize: 16 }} />}
4371
- allowClear
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"
4372
4486
  />
4373
- </div>
4374
-
4375
- <div className={styles.toolbarRight}>
4376
- <div className={styles.count}>
4377
- {$i18n.get(
4378
- {
4379
- id: 'docs.icons.IconLibrary.TotalCount',
4380
- dm: '共 {count} 个',
4381
- },
4382
- { count: String(filteredIcons.length) },
4383
- )}
4487
+ <div
4488
+ style={{
4489
+ color: `var(--${prefix}-ant-color-text-base)`,
4490
+ fontSize: '24px',
4491
+ textAlign: 'center',
4492
+ }}
4493
+ >
4494
+ Hello Spark Design!
4384
4495
  </div>
4385
- <Radio.Group
4386
- value={copyMode}
4387
- onChange={(e) => setCopyMode(e.target.value)}
4388
- optionType="button"
4389
- buttonStyle="solid"
4390
- options={[
4391
- {
4392
- label: $i18n.get({
4393
- id: 'docs.icons.IconLibrary.CopyName',
4394
- dm: '复制名称',
4395
- }),
4396
- value: 'name',
4397
- },
4398
- {
4399
- label: $i18n.get({
4400
- id: 'docs.icons.IconLibrary.CopyImport',
4401
- dm: '复制 import',
4402
- }),
4403
- value: 'import',
4404
- },
4405
- {
4406
- label: $i18n.get({
4407
- id: 'docs.icons.IconLibrary.CopyJSX',
4408
- dm: '复制 JSX',
4409
- }),
4410
- value: 'jsx',
4411
- },
4412
- ]}
4413
- />
4414
- </div>
4415
- </div>
4416
-
4417
- <div className={styles.groups}>
4418
- {orderedCategories.map((category) => {
4419
- const list = groupedIcons[category] || [];
4420
- return (
4421
- <div key={category}>
4422
- <div className={styles.groupTitle}>
4423
- {category}
4424
- <span className={styles.groupCount}>({list.length})</span>
4425
- </div>
4426
-
4427
- <div className={styles.grid}>
4428
- {list.map((item) => {
4429
- const Icon = item.Icon;
4430
- return (
4431
- <div
4432
- key={item.name}
4433
- className={styles.card}
4434
- onClick={() => handleCopy(item)}
4435
- >
4436
- <div className={styles.iconWrap}>
4437
- <Icon style={{ fontSize: 24 }} />
4438
- </div>
4439
- <div className={styles.name} title={item.name}>
4440
- {item.name}
4441
- </div>
4442
- </div>
4443
- );
4444
- })}
4445
- </div>
4446
- </div>
4447
- );
4448
- })}
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>
4449
4506
  </div>
4450
- </div>
4507
+ </ConfigProvider>
4451
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)"
4452
4827
  }
4453
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
+
4934
+ }
4935
+ ```
4936
+
4937
+ # CSS 变量
4454
4938
 
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' 替换为您自己的前缀
4455
4948
  ```
4456
4949
 
4457
- 查看全部图标
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,帮助您高效率还原视觉稿