+ );
+}
diff --git a/src/icon/_example/style/index.less b/src/icon/_example/style/index.less
new file mode 100644
index 00000000..4c4be3c2
--- /dev/null
+++ b/src/icon/_example/style/index.less
@@ -0,0 +1,6 @@
+.t-demo-iconfont {
+ .t-icon,
+ .cps-icon {
+ margin-right: 24px;
+ }
+}
diff --git a/src/icon/icon.en-US.md b/src/icon/icon.en-US.md
new file mode 100644
index 00000000..e13cfe43
--- /dev/null
+++ b/src/icon/icon.en-US.md
@@ -0,0 +1,104 @@
+:: BASE_DOC ::
+
+### Install tdesign-icons-react
+
+Icons are published and managed as a separate npm package. If you want to use it directly in your project, please install `tdesign-icons-react`.
+
+### Import on-demand
+
+SVG icons can be imported on demand. When using the Icon component in component development, SVG icons are imported on demand.
+
+`import { CloseIcon } from 'tdesign-icons-react';`
+
+{{ single }}
+
+### Full import
+
+The icon size supports multiple units, such as 'small', 'medium', 'large', '35px', '3em', etc.
+The icon color is controlled by CSS, for example, using style="color: red" or style="fill: red".
+Click on the 「All Icons」 navigation on the right to view all icons in the component library.
+
+{{ base }}
+
+### Advanced usage of SVG
+
+New svg icons can be added by passing in the URL.
+
+The component will import default svg icons. If you want to disable the loading of default svg icons, set `loadDefaultIcons` to `false`.
+
+{{ enhanced }}
+
+### Iconfont
+
+{{ iconfont }}
+
+### Advanced usage of iconfont
+
+New iconfont icons can be added by passing in the URL.
+
+The component will import default iconfont icons. If you want to disable the loading of default iconfont icons, set `loadDefaultIcons` to `false`.
+
+
+{{ iconfont-enhanced }}
+
+
+### FAQ
+
+#### How to get all the names of icons?
+
+You can get all the name of icon by import manifest from the bundle `import { manifest } from 'tdesign-icons-react'`
+
+#### the usage of full import needs network. What if my project is in a no-network scenario?
+
+if your project is in a no-network scenario, please use on-demand loading of icons. For example,`` should be changed to ``
+
+### All Icons
+
+
+
+
Most icons were added to the icon library after version 0.3.0. If you find that the icon cannot be displayed normally after being imported, please check the version of tdesign-icons-react you have installed
"`;
-exports[`ssr snapshot test > ssr test src/cell/_example/base.tsx 1`] = `"
Cell 单元格
一行内容/功能的垂直排列方式。一行项目左侧为主要内容展示区域,右侧可增加更多操作内容
01 类型
单行单元格
单行标题
单行标题 *
单行标题
16
单行标题
单行标题
辅助信息
单行标题
02
多行单元格
单行标题
一段很长很长的内容文字
单行标题 *
一段很长很长的内容文字
单行标题
一段很长很长的内容文字
16
单行标题
一段很长很长的内容文字
单行标题
一段很长很长的内容文字
辅助信息
单行标题
一段很长很长的内容文字
单行标题
一段很长很长的内容文字,长文本自动换行,该选项的描述是一段很长的内容
多行高度不定,长文本自动换行,该选项的描述是一段很长的内容
一段很长很长的内容文字,长文本自动换行,该选项的描述是一段很长的内容
多行带头像
一段很长很长的内容文字
多行带图片
一段很长很长的内容文字
03 组件样式
卡片单元格
单行标题
单行标题
单行标题
"`;
+exports[`ssr snapshot test > ssr test src/cell/_example/base.tsx 1`] = `"
Cell 单元格
一行内容/功能的垂直排列方式。一行项目左侧为主要内容展示区域,右侧可增加更多操作内容
01 类型
单行单元格
单行标题
单行标题 *
单行标题
16
单行标题
单行标题
辅助信息
单行标题
02
多行单元格
单行标题
一段很长很长的内容文字
单行标题 *
一段很长很长的内容文字
单行标题
一段很长很长的内容文字
16
单行标题
一段很长很长的内容文字
单行标题
一段很长很长的内容文字
辅助信息
单行标题
一段很长很长的内容文字
单行标题
一段很长很长的内容文字,长文本自动换行,该选项的描述是一段很长的内容
多行高度不定,长文本自动换行,该选项的描述是一段很长的内容
一段很长很长的内容文字,长文本自动换行,该选项的描述是一段很长的内容
多行带头像
一段很长很长的内容文字
多行带图片
一段很长很长的内容文字
03 组件样式
卡片单元格
单行标题
单行标题
单行标题
"`;
-exports[`ssr snapshot test > ssr test src/cell/_example/group.tsx 1`] = `"
单行标题
单行标题
单行标题
"`;
+exports[`ssr snapshot test > ssr test src/cell/_example/group.tsx 1`] = `"
单行标题
单行标题
单行标题
"`;
-exports[`ssr snapshot test > ssr test src/cell/_example/multiple.tsx 1`] = `"
单行标题
一段很长很长的内容文字
单行标题 *
一段很长很长的内容文字
单行标题
一段很长很长的内容文字
16
单行标题
一段很长很长的内容文字
单行标题
一段很长很长的内容文字
辅助信息
单行标题
一段很长很长的内容文字
单行标题
一段很长很长的内容文字,长文本自动换行,该选项的描述是一段很长的内容
多行高度不定,长文本自动换行,该选项的描述是一段很长的内容
一段很长很长的内容文字,长文本自动换行,该选项的描述是一段很长的内容
多行带头像
一段很长很长的内容文字
多行带图片
一段很长很长的内容文字
"`;
+exports[`ssr snapshot test > ssr test src/cell/_example/multiple.tsx 1`] = `"
单行标题
一段很长很长的内容文字
单行标题 *
一段很长很长的内容文字
单行标题
一段很长很长的内容文字
16
单行标题
一段很长很长的内容文字
单行标题
一段很长很长的内容文字
辅助信息
单行标题
一段很长很长的内容文字
单行标题
一段很长很长的内容文字,长文本自动换行,该选项的描述是一段很长的内容
多行高度不定,长文本自动换行,该选项的描述是一段很长的内容
一段很长很长的内容文字,长文本自动换行,该选项的描述是一段很长的内容
多行带头像
一段很长很长的内容文字
多行带图片
一段很长很长的内容文字
"`;
-exports[`ssr snapshot test > ssr test src/cell/_example/single.tsx 1`] = `"
单行标题
单行标题 *
单行标题
16
单行标题
单行标题
辅助信息
单行标题
"`;
+exports[`ssr snapshot test > ssr test src/cell/_example/single.tsx 1`] = `"
单行标题
单行标题 *
单行标题
16
单行标题
单行标题
辅助信息
单行标题
"`;
exports[`ssr snapshot test > ssr test src/divider/_example/base.tsx 1`] = `"
水平分割线
带文字水平分割线
文字信息
文字信息
文字信息
垂直分割线
文字信息
文字信息
文字信息
"`;
@@ -7475,6 +8390,18 @@ exports[`ssr snapshot test > ssr test src/divider/_example/theme.tsx 1`] = `" ssr test src/grid/_example/badge.tsx 1`] = `"
标题文字
8
标题文字
new
标题文字
···
标题文字
"`;
+exports[`ssr snapshot test > ssr test src/icon/_example/base.tsx 1`] = `"
How do you feel today?
What is your favourite food?
How much icons does TDesign Icon includes?
"`;
+
+exports[`ssr snapshot test > ssr test src/icon/_example/enhanced.tsx 1`] = `"
"`;
+
+exports[`ssr snapshot test > ssr test src/icon/_example/iconfont.tsx 1`] = `"
How do you feel today?
What is your favourite food?
How much icons does TDesign Icon includes?
"`;
+
+exports[`ssr snapshot test > ssr test src/icon/_example/iconfont-enhanced.tsx 1`] = `"
"`;
+
+exports[`ssr snapshot test > ssr test src/icon/_example/index.tsx 1`] = `"
Icon 图标
Icon 作为UI构成中重要的元素,一定程度上影响UI界面整体呈现出的风格。
SVG 全量引入
How do you feel today?
What is your favourite food?
How much icons does TDesign Icon includes?
SVG 按需引入
SVG 高级用法
iconfont 图标
How do you feel today?
What is your favourite food?
How much icons does TDesign Icon includes?
iconfont 高级用法
"`;
+
+exports[`ssr snapshot test > ssr test src/icon/_example/single.tsx 1`] = `"
"`;
+
exports[`ssr snapshot test > ssr test src/loading/_example/attach.tsx 1`] = `"
Hello, I\`'m Alice. I\`'m going to be a front-end developer.
"`;
exports[`ssr snapshot test > ssr test src/loading/_example/base.tsx 1`] = `"
"`;
@@ -7503,23 +8430,23 @@ exports[`ssr snapshot test > ssr test src/overlay/_example/index.tsx 1`] = `" ssr test src/progress/_example/base.tsx 1`] = `"
80%
80%
30%
"`;
-exports[`ssr snapshot test > ssr test src/progress/_example/circle.tsx 1`] = `"
80%
"`;
+exports[`ssr snapshot test > ssr test src/progress/_example/circle.tsx 1`] = `"
80%
"`;
exports[`ssr snapshot test > ssr test src/progress/_example/custom.tsx 1`] = `"
88%
88%
"`;
-exports[`ssr snapshot test > ssr test src/progress/_example/index.tsx 1`] = `"
Progress 进度条
展示操作的当前进度
01 类型
基础进度条
80%
80%
30%
过渡样式
88%
自定义颜色/圆角
88%
88%
02 组件状态
线性进度条
80%
百分比内显进度条
80%
88%
88%
88%
环形进度条
80%
"`;
+exports[`ssr snapshot test > ssr test src/progress/_example/index.tsx 1`] = `"
Progress 进度条
展示操作的当前进度
01 类型
基础进度条
80%
80%
30%
过渡样式
88%
自定义颜色/圆角
88%
88%
02 组件状态
线性进度条
80%
百分比内显进度条
80%
88%
88%
88%
环形进度条
80%
"`;
-exports[`ssr snapshot test > ssr test src/progress/_example/line.tsx 1`] = `"
80%
"`;
+exports[`ssr snapshot test > ssr test src/progress/_example/line.tsx 1`] = `"
80%
"`;
exports[`ssr snapshot test > ssr test src/progress/_example/plump.tsx 1`] = `"
80%
88%
88%
88%
"`;
exports[`ssr snapshot test > ssr test src/progress/_example/transition.tsx 1`] = `"
88%
"`;
-exports[`ssr snapshot test > ssr test src/result/_example/custom.tsx 1`] = `"
自定义结果
描述文字
"`;
+exports[`ssr snapshot test > ssr test src/result/_example/custom.tsx 1`] = `"
自定义结果
描述文字
"`;
-exports[`ssr snapshot test > ssr test src/result/_example/index.tsx 1`] = `"
Result 结果
结果反馈
01类型
不同结果反馈
成功状态
描述文字
失败状态
描述文字
警示状态
描述文字
默认状态
描述文字
自定义结果
自定义结果
描述文字
页面位置展示
"`;
+exports[`ssr snapshot test > ssr test src/result/_example/index.tsx 1`] = `"
Result 结果
结果反馈
01类型
不同结果反馈
成功状态
描述文字
失败状态
描述文字
警示状态
描述文字
默认状态
描述文字
自定义结果
自定义结果
描述文字
页面位置展示
"`;
-exports[`ssr snapshot test > ssr test src/result/_example/theme.tsx 1`] = `"
成功状态
描述文字
失败状态
描述文字
警示状态
描述文字
默认状态
描述文字
"`;
+exports[`ssr snapshot test > ssr test src/result/_example/theme.tsx 1`] = `"
成功状态
描述文字
失败状态
描述文字
警示状态
描述文字
默认状态
描述文字
"`;
exports[`ssr snapshot test > ssr test src/sticky/_example/base.tsx 1`] = `"
"`;
diff --git a/test/snap/__snapshots__/ssr.test.jsx.snap b/test/snap/__snapshots__/ssr.test.jsx.snap
index 4d13abf9..19259eb2 100644
--- a/test/snap/__snapshots__/ssr.test.jsx.snap
+++ b/test/snap/__snapshots__/ssr.test.jsx.snap
@@ -4,13 +4,13 @@ exports[`ssr snapshot test > ssr test src/back-top/_example/base.tsx 1`] = `" ssr test src/back-top/_example/index.tsx 1`] = `"
BackTop 返回顶部
当页面过长往下滑动是会出现返回顶部的便捷操作,帮助用户快速回到页面顶部
形状
"`;
-exports[`ssr snapshot test > ssr test src/cell/_example/base.tsx 1`] = `"
Cell 单元格
一行内容/功能的垂直排列方式。一行项目左侧为主要内容展示区域,右侧可增加更多操作内容
01 类型
单行单元格
单行标题
单行标题 *
单行标题
16
单行标题
单行标题
辅助信息
单行标题
02
多行单元格
单行标题
一段很长很长的内容文字
单行标题 *
一段很长很长的内容文字
单行标题
一段很长很长的内容文字
16
单行标题
一段很长很长的内容文字
单行标题
一段很长很长的内容文字
辅助信息
单行标题
一段很长很长的内容文字
单行标题
一段很长很长的内容文字,长文本自动换行,该选项的描述是一段很长的内容
多行高度不定,长文本自动换行,该选项的描述是一段很长的内容
一段很长很长的内容文字,长文本自动换行,该选项的描述是一段很长的内容
多行带头像
一段很长很长的内容文字
多行带图片
一段很长很长的内容文字
03 组件样式
卡片单元格
单行标题
单行标题
单行标题
"`;
+exports[`ssr snapshot test > ssr test src/cell/_example/base.tsx 1`] = `"
Cell 单元格
一行内容/功能的垂直排列方式。一行项目左侧为主要内容展示区域,右侧可增加更多操作内容
01 类型
单行单元格
单行标题
单行标题 *
单行标题
16
单行标题
单行标题
辅助信息
单行标题
02
多行单元格
单行标题
一段很长很长的内容文字
单行标题 *
一段很长很长的内容文字
单行标题
一段很长很长的内容文字
16
单行标题
一段很长很长的内容文字
单行标题
一段很长很长的内容文字
辅助信息
单行标题
一段很长很长的内容文字
单行标题
一段很长很长的内容文字,长文本自动换行,该选项的描述是一段很长的内容
多行高度不定,长文本自动换行,该选项的描述是一段很长的内容
一段很长很长的内容文字,长文本自动换行,该选项的描述是一段很长的内容
多行带头像
一段很长很长的内容文字
多行带图片
一段很长很长的内容文字
03 组件样式
卡片单元格
单行标题
单行标题
单行标题
"`;
-exports[`ssr snapshot test > ssr test src/cell/_example/group.tsx 1`] = `"
单行标题
单行标题
单行标题
"`;
+exports[`ssr snapshot test > ssr test src/cell/_example/group.tsx 1`] = `"
单行标题
单行标题
单行标题
"`;
-exports[`ssr snapshot test > ssr test src/cell/_example/multiple.tsx 1`] = `"
单行标题
一段很长很长的内容文字
单行标题 *
一段很长很长的内容文字
单行标题
一段很长很长的内容文字
16
单行标题
一段很长很长的内容文字
单行标题
一段很长很长的内容文字
辅助信息
单行标题
一段很长很长的内容文字
单行标题
一段很长很长的内容文字,长文本自动换行,该选项的描述是一段很长的内容
多行高度不定,长文本自动换行,该选项的描述是一段很长的内容
一段很长很长的内容文字,长文本自动换行,该选项的描述是一段很长的内容
多行带头像
一段很长很长的内容文字
多行带图片
一段很长很长的内容文字
"`;
+exports[`ssr snapshot test > ssr test src/cell/_example/multiple.tsx 1`] = `"
单行标题
一段很长很长的内容文字
单行标题 *
一段很长很长的内容文字
单行标题
一段很长很长的内容文字
16
单行标题
一段很长很长的内容文字
单行标题
一段很长很长的内容文字
辅助信息
单行标题
一段很长很长的内容文字
单行标题
一段很长很长的内容文字,长文本自动换行,该选项的描述是一段很长的内容
多行高度不定,长文本自动换行,该选项的描述是一段很长的内容
一段很长很长的内容文字,长文本自动换行,该选项的描述是一段很长的内容
多行带头像
一段很长很长的内容文字
多行带图片
一段很长很长的内容文字
"`;
-exports[`ssr snapshot test > ssr test src/cell/_example/single.tsx 1`] = `"
单行标题
单行标题 *
单行标题
16
单行标题
单行标题
辅助信息
单行标题
"`;
+exports[`ssr snapshot test > ssr test src/cell/_example/single.tsx 1`] = `"
单行标题
单行标题 *
单行标题
16
单行标题
单行标题
辅助信息
单行标题
"`;
exports[`ssr snapshot test > ssr test src/divider/_example/base.tsx 1`] = `"
水平分割线
带文字水平分割线
文字信息
文字信息
文字信息
垂直分割线
文字信息
文字信息
文字信息
"`;
@@ -20,6 +20,18 @@ exports[`ssr snapshot test > ssr test src/divider/_example/theme.tsx 1`] = `" ssr test src/grid/_example/badge.tsx 1`] = `"
标题文字
8
标题文字
new
标题文字
···
标题文字
"`;
+exports[`ssr snapshot test > ssr test src/icon/_example/base.tsx 1`] = `"
How do you feel today?
What is your favourite food?
How much icons does TDesign Icon includes?
"`;
+
+exports[`ssr snapshot test > ssr test src/icon/_example/enhanced.tsx 1`] = `"
"`;
+
+exports[`ssr snapshot test > ssr test src/icon/_example/iconfont.tsx 1`] = `"
How do you feel today?
What is your favourite food?
How much icons does TDesign Icon includes?
"`;
+
+exports[`ssr snapshot test > ssr test src/icon/_example/iconfont-enhanced.tsx 1`] = `"
"`;
+
+exports[`ssr snapshot test > ssr test src/icon/_example/index.tsx 1`] = `"
Icon 图标
Icon 作为UI构成中重要的元素,一定程度上影响UI界面整体呈现出的风格。
SVG 全量引入
How do you feel today?
What is your favourite food?
How much icons does TDesign Icon includes?
SVG 按需引入
SVG 高级用法
iconfont 图标
How do you feel today?
What is your favourite food?
How much icons does TDesign Icon includes?
iconfont 高级用法
"`;
+
+exports[`ssr snapshot test > ssr test src/icon/_example/single.tsx 1`] = `"
"`;
+
exports[`ssr snapshot test > ssr test src/loading/_example/attach.tsx 1`] = `"
Hello, I\`'m Alice. I\`'m going to be a front-end developer.
"`;
exports[`ssr snapshot test > ssr test src/loading/_example/base.tsx 1`] = `"
"`;
@@ -48,23 +60,23 @@ exports[`ssr snapshot test > ssr test src/overlay/_example/index.tsx 1`] = `" ssr test src/progress/_example/base.tsx 1`] = `"
80%
80%
30%
"`;
-exports[`ssr snapshot test > ssr test src/progress/_example/circle.tsx 1`] = `"
80%
"`;
+exports[`ssr snapshot test > ssr test src/progress/_example/circle.tsx 1`] = `"
80%
"`;
exports[`ssr snapshot test > ssr test src/progress/_example/custom.tsx 1`] = `"
88%
88%
"`;
-exports[`ssr snapshot test > ssr test src/progress/_example/index.tsx 1`] = `"
Progress 进度条
展示操作的当前进度
01 类型
基础进度条
80%
80%
30%
过渡样式
88%
自定义颜色/圆角
88%
88%
02 组件状态
线性进度条
80%
百分比内显进度条
80%
88%
88%
88%
环形进度条
80%
"`;
+exports[`ssr snapshot test > ssr test src/progress/_example/index.tsx 1`] = `"
Progress 进度条
展示操作的当前进度
01 类型
基础进度条
80%
80%
30%
过渡样式
88%
自定义颜色/圆角
88%
88%
02 组件状态
线性进度条
80%
百分比内显进度条
80%
88%
88%
88%
环形进度条
80%
"`;
-exports[`ssr snapshot test > ssr test src/progress/_example/line.tsx 1`] = `"
80%
"`;
+exports[`ssr snapshot test > ssr test src/progress/_example/line.tsx 1`] = `"
80%
"`;
exports[`ssr snapshot test > ssr test src/progress/_example/plump.tsx 1`] = `"
80%
88%
88%
88%
"`;
exports[`ssr snapshot test > ssr test src/progress/_example/transition.tsx 1`] = `"
88%
"`;
-exports[`ssr snapshot test > ssr test src/result/_example/custom.tsx 1`] = `"
自定义结果
描述文字
"`;
+exports[`ssr snapshot test > ssr test src/result/_example/custom.tsx 1`] = `"
自定义结果
描述文字
"`;
-exports[`ssr snapshot test > ssr test src/result/_example/index.tsx 1`] = `"
Result 结果
结果反馈
01类型
不同结果反馈
成功状态
描述文字
失败状态
描述文字
警示状态
描述文字
默认状态
描述文字
自定义结果
自定义结果
描述文字
页面位置展示
"`;
+exports[`ssr snapshot test > ssr test src/result/_example/index.tsx 1`] = `"
Result 结果
结果反馈
01类型
不同结果反馈
成功状态
描述文字
失败状态
描述文字
警示状态
描述文字
默认状态
描述文字
自定义结果
自定义结果
描述文字
页面位置展示
"`;
-exports[`ssr snapshot test > ssr test src/result/_example/theme.tsx 1`] = `"
成功状态
描述文字
失败状态
描述文字
警示状态
描述文字
默认状态
描述文字
"`;
+exports[`ssr snapshot test > ssr test src/result/_example/theme.tsx 1`] = `"
成功状态
描述文字
失败状态
描述文字
警示状态
描述文字
默认状态
描述文字
"`;
exports[`ssr snapshot test > ssr test src/sticky/_example/base.tsx 1`] = `"