فهرست منبع

Merge branch 'main' into release

pointhalo 1 سال پیش
والد
کامیت
4975c573fb
40فایلهای تغییر یافته به همراه756 افزوده شده و 293 حذف شده
  1. 130 1
      content/show/table/index-en-US.md
  2. 132 1
      content/show/table/index.md
  3. 11 0
      content/start/changelog/index-en-US.md
  4. 10 0
      content/start/changelog/index.md
  5. 16 1
      cypress/e2e/table.spec.js
  6. 1 1
      lerna.json
  7. 3 3
      packages/semi-animation-react/package.json
  8. 1 1
      packages/semi-animation-styled/package.json
  9. 1 1
      packages/semi-animation/package.json
  10. 1 1
      packages/semi-eslint-plugin/package.json
  11. 1 6
      packages/semi-foundation/autoComplete/foundation.ts
  12. 2 2
      packages/semi-foundation/package.json
  13. 2 0
      packages/semi-foundation/select/foundation.ts
  14. 1 1
      packages/semi-foundation/table/foundation.ts
  15. 4 4
      packages/semi-foundation/utils/array.ts
  16. 1 1
      packages/semi-icons-lab/package.json
  17. 1 1
      packages/semi-icons/package.json
  18. 1 1
      packages/semi-illustrations/package.json
  19. 2 2
      packages/semi-next/package.json
  20. 1 1
      packages/semi-rspack/package.json
  21. 1 1
      packages/semi-scss-compile/package.json
  22. 1 1
      packages/semi-theme-default/package.json
  23. 87 1
      packages/semi-ui/calendar/_story/calendar.stories.jsx
  24. 1 1
      packages/semi-ui/calendar/monthCalendar.tsx
  25. 7 7
      packages/semi-ui/package.json
  26. 2 1
      packages/semi-ui/pagination/index.tsx
  27. 18 0
      packages/semi-ui/select/_story/select.stories.jsx
  28. 9 9
      packages/semi-ui/select/index.tsx
  29. 7 1
      packages/semi-ui/select/utils.tsx
  30. 2 1
      packages/semi-ui/table/_story/table.stories.jsx
  31. 126 0
      packages/semi-ui/table/_story/v2/SorterSortOrder/index.tsx
  32. 1 0
      packages/semi-ui/table/_story/v2/index.js
  33. 1 1
      packages/semi-webpack/package.json
  34. 150 150
      sitemap.xml
  35. 1 1
      src/components/Footer/index.jsx
  36. 2 0
      src/locale/en-US.js
  37. 2 0
      src/locale/zh-CN.js
  38. 2 2
      src/sitePages/newHome/components/banner/banner.jsx
  39. 14 1
      src/sitePages/newHome/components/deepContent/deepContent.jsx
  40. 0 86
      yarn.lock

+ 130 - 1
content/show/table/index-en-US.md

@@ -1189,6 +1189,135 @@ function App() {
 render(App);
 render(App);
 ```
 ```
 
 
+When sorter is a function type, the sortOrder status can be obtained through the third parameter of the function. The function type is `(a?: RecordType, b?: RecordType, sortOrder?: 'ascend' | 'descend') => number`. Supported by version v2.47.
+
+```jsx live=true noInline=true dir="column"
+import React from 'react';
+import { Table, Avatar } from '@douyinfe/semi-ui';
+import * as dateFns from 'date-fns';
+
+function App() {
+    const columns = [
+        {
+            title: 'Title',
+            dataIndex: 'name',
+            width: 400,
+            render: (text, record, index) => {
+                return (
+                    <div>
+                        <Avatar size="small" shape="square" src={figmaIconUrl} style={{ marginRight: 12 }}></Avatar>
+                        {text}
+                    </div>
+                );
+            }
+        },
+        {
+            title: 'Size',
+            dataIndex: 'size',
+            sorter: (r1, r2, order) => {
+                const a = r1.size;
+                const b = r2.size;
+                if (typeof a === "number" && typeof b === "number") {
+                    return a - b;
+                } else if (typeof a === "undefined") {
+                    return order === "ascend" ? 1 : -1;
+                } else if (typeof b === "undefined") {
+                    return order === "ascend" ? -1 : 1;
+                } else {
+                    return 0;
+                }
+            },
+            render: text => text ? `${text} KB` : 'Unknown',
+        },
+        {
+            title: 'Owner',
+            dataIndex: 'owner',
+            render: (text, record, index) => {
+                return (
+                    <div>
+                        <Avatar size="small" color={record.avatarBg} style={{ marginRight: 4 }}>
+                            {typeof text === 'string' && text.slice(0, 1)}
+                        </Avatar>
+                        {text}
+                    </div>
+                );
+            },
+        },
+        {
+            title: 'Update',
+            dataIndex: 'updateTime',
+            render: value => {
+                return dateFns.format(new Date(value), 'yyyy-MM-dd');
+            },
+        },
+    ];
+
+    const figmaIconUrl = 'https://lf3-static.bytednsdoc.com/obj/eden-cn/ptlz_zlp/ljhwZthlaukjlkulzlp/figma-icon.png';
+    const docIconUrl = 'https://lf3-static.bytednsdoc.com/obj/eden-cn/ptlz_zlp/ljhwZthlaukjlkulzlp/docs-icon.png';
+
+    const dataSource = [
+        {
+            key: '1',
+            name: 'Semi Design draft.fig',
+            nameIconSrc: figmaIconUrl,
+            size: 3,
+            owner: 'Jiang',
+            updateTime: '2020-02-02 05:13',
+            avatarBg: 'grey',
+        },
+        {
+            key: '2',
+            name: 'Semi D2C draft',
+            nameIconSrc: docIconUrl,
+            size: undefined,
+            owner: 'Hao',
+            updateTime: '2020-01-17 05:31',
+            avatarBg: 'red',
+        },
+        {
+            key: '3',
+            name: 'Semi D2C doc 3',
+            nameIconSrc: docIconUrl,
+            size: 1,
+            owner: 'Zoey Edwards',
+            updateTime: '2020-01-26 11:01',
+            avatarBg: 'light-blue',
+        },
+        {
+            key: '4',
+            name: 'Semi Design doc 4',
+            nameIconSrc: docIconUrl,
+            size: 5,
+            owner: 'Zoey Edwards',
+            updateTime: '2020-01-26 11:01',
+            avatarBg: 'light-blue',
+        },
+        {
+            key: '5',
+            name: 'Semi D2C doc 5',
+            nameIconSrc: docIconUrl,
+            size: undefined,
+            owner: 'Zoey Edwards',
+            updateTime: '2020-01-26 11:01',
+            avatarBg: 'light-blue',
+        },
+        {
+            key: '6',
+            name: 'Semi Design doc 6',
+            nameIconSrc: docIconUrl,
+            size: 2,
+            owner: 'Zoey Edwards',
+            updateTime: '2020-01-26 11:01',
+            avatarBg: 'light-blue',
+        },
+    ];
+
+    return <Table columns={columns} dataSource={dataSource} />;
+}
+
+render(App);
+```
+
 ### Custom Filter Item Rendering
 ### Custom Filter Item Rendering
 
 
 Since the **1.1.0** version, it is supported to pass in `renderFilterDropdownItem` to customize the rendering method of each filter item.
 Since the **1.1.0** version, it is supported to pass in `renderFilterDropdownItem` to customize the rendering method of each filter item.
@@ -5015,7 +5144,7 @@ import { Table } from '@douyinfe/semi-ui';
 | resize | Whether to enable resize mode, this property will take effect only after Table resizable is enabled | boolean |  | **2.42.0** |
 | resize | Whether to enable resize mode, this property will take effect only after Table resizable is enabled | boolean |  | **2.42.0** |
 | sortChildrenRecord | Whether to sort child data locally | boolean |  | **0.29.0** |
 | sortChildrenRecord | Whether to sort child data locally | boolean |  | **0.29.0** |
 | sortOrder | The controlled property of the sorting, the sorting of this control column can be set to 'ascend'\|'descended '\|false | boolean | false |
 | sortOrder | The controlled property of the sorting, the sorting of this control column can be set to 'ascend'\|'descended '\|false | boolean | false |
-| sorter | Sorting function, local sorting uses a function (refer to the compreFunction of Array.sort), requiring a server-side sorting can be set to true | boolean\|(r1: RecordType, r2: RecordType) => number | true |
+| sorter | Sorting function, local sorting uses a function (refer to the compareFunction of Array.sort), requiring a server-side sorting can be set to true | boolean\|(r1: RecordType, r2: RecordType, sortOrder: 'ascend' \| 'descend') => number | true |
 | title | Column header displays text. When a function is passed in, title will use the return value of the function; when other types are passed in, they will be aggregated with sorter and filter. It needs to be used with useFullRender to obtain parameters such as filter in the function type | string \| ReactNode\|({ filter: ReactNode, sorter: ReactNode, selection: ReactNode }) => ReactNode. |  | Function type requires **0.34.0** |
 | title | Column header displays text. When a function is passed in, title will use the return value of the function; when other types are passed in, they will be aggregated with sorter and filter. It needs to be used with useFullRender to obtain parameters such as filter in the function type | string \| ReactNode\|({ filter: ReactNode, sorter: ReactNode, selection: ReactNode }) => ReactNode. |  | Function type requires **0.34.0** |
 | useFullRender | Whether to completely customize the rendering, see [Full Custom Rendering](#Fully-custom-rendering) for usage details, enabling this feature will cause a certain performance loss | boolean | false | **0.34.0** |
 | useFullRender | Whether to completely customize the rendering, see [Full Custom Rendering](#Fully-custom-rendering) for usage details, enabling this feature will cause a certain performance loss | boolean | false | **0.34.0** |
 | width | Column width | string \| number |  |
 | width | Column width | string \| number |  |

+ 132 - 1
content/show/table/index.md

@@ -1195,6 +1195,137 @@ function App() {
 render(App);
 render(App);
 ```
 ```
 
 
+sorter 为函数类型时,可以通过函数的第三个参数获取 sortOrder 状态。函数类型为 `(a?: RecordType, b?: RecordType, sortOrder?: 'ascend' | 'descend') => number`。v2.47 版本支持。
+
+```jsx live=true noInline=true dir="column"
+import React from 'react';
+import { Table, Avatar } from '@douyinfe/semi-ui';
+import * as dateFns from 'date-fns';
+
+function App() {
+    const columns = [
+        {
+            title: '标题',
+            dataIndex: 'name',
+            width: 400,
+            render: (text, record, index) => {
+                return (
+                    <div>
+                        <Avatar size="small" shape="square" src={figmaIconUrl} style={{ marginRight: 12 }}></Avatar>
+                        {text}
+                    </div>
+                );
+            }
+        },
+        {
+            title: '大小',
+            dataIndex: 'size',
+            sorter: (r1, r2, order) => {
+                const a = r1.size;
+                const b = r2.size;
+                if (typeof a === "number" && typeof b === "number") {
+                    return a - b; // 数字正常比较大小
+                } else if (typeof a === "undefined") {
+                    return order === "ascend" ? 1 : -1; // undefined 在后面
+                } else if (typeof b === "undefined") {
+                    return order === "ascend" ? -1 : 1; // undefined 在后面
+                } else {
+                    return 0; // 保持原来的顺序
+                }
+            },
+            render: text => text ? `${text} KB` : '未知',
+        },
+        {
+            title: '所有者',
+            dataIndex: 'owner',
+            render: (text, record, index) => {
+                return (
+                    <div>
+                        <Avatar size="small" color={record.avatarBg} style={{ marginRight: 4 }}>
+                            {typeof text === 'string' && text.slice(0, 1)}
+                        </Avatar>
+                        {text}
+                    </div>
+                );
+            },
+        },
+        {
+            title: '更新日期',
+            dataIndex: 'updateTime',
+            render: value => {
+                return dateFns.format(new Date(value), 'yyyy-MM-dd');
+            },
+        },
+    ];
+
+    const figmaIconUrl = 'https://lf3-static.bytednsdoc.com/obj/eden-cn/ptlz_zlp/ljhwZthlaukjlkulzlp/figma-icon.png';
+    const docIconUrl = 'https://lf3-static.bytednsdoc.com/obj/eden-cn/ptlz_zlp/ljhwZthlaukjlkulzlp/docs-icon.png';
+
+    const dataSource = [
+        {
+            key: '1',
+            name: 'Semi Design 设计稿.fig',
+            nameIconSrc: figmaIconUrl,
+            size: 3,
+            owner: '姜鹏志',
+            updateTime: '2020-02-02 05:13',
+            avatarBg: 'grey',
+        },
+        {
+            key: '2',
+            name: 'Semi Design 分享演示文稿',
+            nameIconSrc: docIconUrl,
+            size: undefined,
+            owner: '郝宣',
+            updateTime: '2020-01-17 05:31',
+            avatarBg: 'red',
+        },
+        {
+            key: '3',
+            name: '设计文档3',
+            nameIconSrc: docIconUrl,
+            size: 1,
+            owner: 'Zoey Edwards',
+            updateTime: '2020-01-26 11:01',
+            avatarBg: 'light-blue',
+        },
+        {
+            key: '4',
+            name: '设计文档4',
+            nameIconSrc: docIconUrl,
+            size: 5,
+            owner: 'Zoey Edwards',
+            updateTime: '2020-01-26 11:01',
+            avatarBg: 'light-blue',
+        },
+        {
+            key: '5',
+            name: '设计文档5',
+            nameIconSrc: docIconUrl,
+            size: undefined,
+            owner: 'Zoey Edwards',
+            updateTime: '2020-01-26 11:01',
+            avatarBg: 'light-blue',
+        },
+        {
+            key: '6',
+            name: '设计文档6',
+            nameIconSrc: docIconUrl,
+            size: 2,
+            owner: 'Zoey Edwards',
+            updateTime: '2020-01-26 11:01',
+            avatarBg: 'light-blue',
+        },
+    ];
+
+    return <Table columns={columns} dataSource={dataSource} />;
+}
+
+render(App);
+```
+
+
+
 ### 自定义筛选项渲染
 ### 自定义筛选项渲染
 
 
 自 **1.1.0** 版本后,支持往 column 中传入 `renderFilterDropdownItem` 自定义每个筛选项的渲染方式。
 自 **1.1.0** 版本后,支持往 column 中传入 `renderFilterDropdownItem` 自定义每个筛选项的渲染方式。
@@ -5029,7 +5160,7 @@ import { Table } from '@douyinfe/semi-ui';
 | resize | 是否开启 resize 模式,只有 Table resizable 开启后此属性才会生效 | boolean |  | **2.42.0** |
 | resize | 是否开启 resize 模式,只有 Table resizable 开启后此属性才会生效 | boolean |  | **2.42.0** |
 | sortChildrenRecord | 是否对子级数据进行本地排序 | boolean |  | **0.29.0** |
 | sortChildrenRecord | 是否对子级数据进行本地排序 | boolean |  | **0.29.0** |
 | sortOrder | 排序的受控属性,外界可用此控制列的排序,可设置为 'ascend'\|'descend'\|false | boolean\| string | false |
 | sortOrder | 排序的受控属性,外界可用此控制列的排序,可设置为 'ascend'\|'descend'\|false | boolean\| string | false |
-| sorter | 排序函数,本地排序使用一个函数(参考 Array.sort 的 compareFunction),需要服务端排序可设为 true | boolean\|(r1: RecordType, r2: RecordType) => number | true |
+| sorter | 排序函数,本地排序使用一个函数(参考 Array.sort 的 compareFunction),需要服务端排序可设为 true | boolean\|(r1: RecordType, r2: RecordType, sortOrder: 'ascend' \| 'descend') => number | true |
 | title | 列头显示文字。传入 function 时,title 将使用函数的返回值;传入其他类型,将会和 sorter、filter 进行聚合。需要搭配 useFullRender 获取函数类型中的 filter 等参数 | ReactNode\|({ filter: ReactNode, sorter: ReactNode, selection: ReactNode }) => ReactNode |  | Function 类型需要**0.34.0** |
 | title | 列头显示文字。传入 function 时,title 将使用函数的返回值;传入其他类型,将会和 sorter、filter 进行聚合。需要搭配 useFullRender 获取函数类型中的 filter 等参数 | ReactNode\|({ filter: ReactNode, sorter: ReactNode, selection: ReactNode }) => ReactNode |  | Function 类型需要**0.34.0** |
 | useFullRender | 是否完全自定义渲染,用法详见[完全自定义渲染](#完全自定义渲染), 开启此功能会造成一定的性能损耗 | boolean | false | **0.34.0** |
 | useFullRender | 是否完全自定义渲染,用法详见[完全自定义渲染](#完全自定义渲染), 开启此功能会造成一定的性能损耗 | boolean | false | **0.34.0** |
 | width | 列宽度 | string \| number |  |
 | width | 列宽度 | string \| number |  |

+ 11 - 0
content/start/changelog/index-en-US.md

@@ -16,6 +16,17 @@ Version:Major.Minor.Patch (follow the **Semver** specification)
 
 
 ---
 ---
 
 
+#### 🎉 2.46.1 (2023-11-07)
+- 【Fix】
+    - Fixed the problem that Pagination popoverZIndex does not take effect on SizeChanger
+
+#### 🎉 2.46.0 (2023-11-03)
+- 【Fix】
+    - Fixed the problem that "x more" is not displayed after updating the event when the Calendar height is not enough to accommodate an event.
+    - Fix the inconsistent order of onBlur callback and onSelect callback in AutoComplete  [#1880 ](https://github.com/DouyinFE/semi-design/issues/1880)
+    - Fix the problem that when Select uses JSX to pass in Option, the key passed in Option does not take effect during rendering.
+
+
 #### 🎉 2.46.0-beta.0 (2023-10-30)
 #### 🎉 2.46.0-beta.0 (2023-10-30)
 - 【Feat】
 - 【Feat】
     - Typography's showTooltip API adds renderTooltip to support custom rendering pop-up layer components  [#1853](https://github.com/DouyinFE/semi-design/issues/1853)
     - Typography's showTooltip API adds renderTooltip to support custom rendering pop-up layer components  [#1853](https://github.com/DouyinFE/semi-design/issues/1853)

+ 10 - 0
content/start/changelog/index.md

@@ -14,6 +14,16 @@ Semi 版本号遵循 **Semver** 规范(主版本号-次版本号-修订版本
 -   不同版本间的详细关系,可查阅 [FAQ](/zh-CN/start/faq)
 -   不同版本间的详细关系,可查阅 [FAQ](/zh-CN/start/faq)
 
 
 
 
+#### 🎉 2.46.1 (2023-11-07)
+- 【Fix】
+    - 修复 Pagination popoverZIndex 在 SizeChanger 上不生效的问题
+
+#### 🎉 2.46.0 (2023-11-03)
+- 【Fix】
+    - 修复 Calendar 高度不足以容纳一个事件时,更新事件后不展示 「还有 x 项」问题
+    - 修复 AutoComplete 中 onBlur 和 onSelect 的调用顺序不一致问题  [#1880 ](https://github.com/DouyinFE/semi-design/issues/1880)
+    - 修复 Select 使用 JSX 传入 Option时,Option传入的 key 未在渲染时生效的问题
+
 #### 🎉 2.46.0-beta.0 (2023-10-30)
 #### 🎉 2.46.0-beta.0 (2023-10-30)
 - 【Feat】
 - 【Feat】
     - Typography 的 showTooltip API 增加 renderTooltip 支持自定义渲染弹出层组件  [#1853](https://github.com/DouyinFE/semi-design/issues/1853)
     - Typography 的 showTooltip API 增加 renderTooltip 支持自定义渲染弹出层组件  [#1853](https://github.com/DouyinFE/semi-design/issues/1853)

+ 16 - 1
cypress/e2e/table.spec.js

@@ -190,5 +190,20 @@ describe('table', () => {
         cy.visit('http://localhost:6006/iframe.html?id=table--resizable-table&viewMode=story');
         cy.visit('http://localhost:6006/iframe.html?id=table--resizable-table&viewMode=story');
         cy.get('.test-1').should('have.length', 1);
         cy.get('.test-1').should('have.length', 1);
         cy.get('.test-2').should('have.length', 1);
         cy.get('.test-2').should('have.length', 1);
-    })
+    });
+
+    it('test sorter sortOrder parameter', () => {
+        cy.visit('http://localhost:6006/iframe.html?id=table--sorter-sort-order&viewMode=story', {
+            onBeforeLoad(win) {
+                cy.stub(win.console, 'log').as('consoleLog'); // 测试时用到控制台的前置步骤
+            },
+        });
+
+        cy.get('.semi-table-column-sorter').eq(0).click();
+        cy.get('.semi-table-tbody .semi-table-row').eq(4).should('contain.text', '未知');
+        cy.get('.semi-table-tbody .semi-table-row').eq(5).should('contain.text', '未知');
+        cy.get('.semi-table-column-sorter').eq(0).click();
+        cy.get('.semi-table-tbody .semi-table-row').eq(4).should('contain.text', '未知');
+        cy.get('.semi-table-tbody .semi-table-row').eq(5).should('contain.text', '未知');
+    });
 });
 });

+ 1 - 1
lerna.json

@@ -1,5 +1,5 @@
 {
 {
     "useWorkspaces": true,
     "useWorkspaces": true,
     "npmClient": "yarn",
     "npmClient": "yarn",
-    "version": "2.46.0-beta.0"
+    "version": "2.46.1"
 }
 }

+ 3 - 3
packages/semi-animation-react/package.json

@@ -1,6 +1,6 @@
 {
 {
     "name": "@douyinfe/semi-animation-react",
     "name": "@douyinfe/semi-animation-react",
-    "version": "2.46.0-beta.0",
+    "version": "2.46.1",
     "description": "motion library for semi-ui-react",
     "description": "motion library for semi-ui-react",
     "keywords": [
     "keywords": [
         "motion",
         "motion",
@@ -25,8 +25,8 @@
         "prepublishOnly": "npm run build:lib"
         "prepublishOnly": "npm run build:lib"
     },
     },
     "dependencies": {
     "dependencies": {
-        "@douyinfe/semi-animation": "2.46.0-beta.0",
-        "@douyinfe/semi-animation-styled": "2.46.0-beta.0",
+        "@douyinfe/semi-animation": "2.46.1",
+        "@douyinfe/semi-animation-styled": "2.46.1",
         "classnames": "^2.2.6"
         "classnames": "^2.2.6"
     },
     },
     "devDependencies": {
     "devDependencies": {

+ 1 - 1
packages/semi-animation-styled/package.json

@@ -1,6 +1,6 @@
 {
 {
     "name": "@douyinfe/semi-animation-styled",
     "name": "@douyinfe/semi-animation-styled",
-    "version": "2.46.0-beta.0",
+    "version": "2.46.1",
     "description": "semi styled animation",
     "description": "semi styled animation",
     "keywords": [
     "keywords": [
         "semi",
         "semi",

+ 1 - 1
packages/semi-animation/package.json

@@ -1,6 +1,6 @@
 {
 {
     "name": "@douyinfe/semi-animation",
     "name": "@douyinfe/semi-animation",
-    "version": "2.46.0-beta.0",
+    "version": "2.46.1",
     "description": "animation base library for semi-ui",
     "description": "animation base library for semi-ui",
     "keywords": [
     "keywords": [
         "animation",
         "animation",

+ 1 - 1
packages/semi-eslint-plugin/package.json

@@ -1,6 +1,6 @@
 {
 {
     "name": "eslint-plugin-semi-design",
     "name": "eslint-plugin-semi-design",
-    "version": "2.46.0-beta.0",
+    "version": "2.46.1",
     "description": "semi ui eslint plugin",
     "description": "semi ui eslint plugin",
     "keywords": [
     "keywords": [
         "semi",
         "semi",

+ 1 - 6
packages/semi-foundation/autoComplete/foundation.ts

@@ -424,12 +424,7 @@ class AutoCompleteFoundation<P = Record<string, any>, S = Record<string, any>> e
         // only need persist on react adapter
         // only need persist on react adapter
         // https://reactjs.org/docs/legacy-event-pooling.html
         // https://reactjs.org/docs/legacy-event-pooling.html
         this._persistEvent(e);
         this._persistEvent(e);
-        // In order to handle the problem of losing onClick binding when clicking on the padding area, the onBlur event is triggered first to cause the react view to be updated
-        // internal-issues:1231
-        setTimeout(() => {
-            this._adapter.notifyBlur(e);
-            // this.closeDropdown();
-        }, 100);
+        this._adapter.notifyBlur(e);
     }
     }
 }
 }
 
 

+ 2 - 2
packages/semi-foundation/package.json

@@ -1,13 +1,13 @@
 {
 {
     "name": "@douyinfe/semi-foundation",
     "name": "@douyinfe/semi-foundation",
-    "version": "2.46.0-beta.0",
+    "version": "2.46.1",
     "description": "",
     "description": "",
     "scripts": {
     "scripts": {
         "build:lib": "node ./scripts/compileLib.js",
         "build:lib": "node ./scripts/compileLib.js",
         "prepublishOnly": "npm run build:lib"
         "prepublishOnly": "npm run build:lib"
     },
     },
     "dependencies": {
     "dependencies": {
-        "@douyinfe/semi-animation": "2.46.0-beta.0",
+        "@douyinfe/semi-animation": "2.46.1",
         "async-validator": "^3.5.0",
         "async-validator": "^3.5.0",
         "classnames": "^2.2.6",
         "classnames": "^2.2.6",
         "date-fns": "^2.29.3",
         "date-fns": "^2.29.3",

+ 2 - 0
packages/semi-foundation/select/foundation.ts

@@ -939,6 +939,8 @@ export default class SelectFoundation extends BaseFoundation<SelectAdapter> {
         delete newOption._show;
         delete newOption._show;
         delete newOption._selected;
         delete newOption._selected;
         delete newOption._scrollIndex;
         delete newOption._scrollIndex;
+        delete newOption._keyInJsx;
+        
         if ('_keyInOptionList' in newOption) {
         if ('_keyInOptionList' in newOption) {
             newOption.key = newOption._keyInOptionList;
             newOption.key = newOption._keyInOptionList;
             delete newOption._keyInOptionList;
             delete newOption._keyInOptionList;

+ 1 - 1
packages/semi-foundation/table/foundation.ts

@@ -1202,7 +1202,7 @@ export interface BaseSorterInfo<RecordType> {
     sorter?: BaseSorter<RecordType>
     sorter?: BaseSorter<RecordType>
 }
 }
 export type BaseSortOrder = boolean | ArrayElement<typeof strings.SORT_DIRECTIONS>;
 export type BaseSortOrder = boolean | ArrayElement<typeof strings.SORT_DIRECTIONS>;
-export type BaseSorter<RecordType> = boolean | ((a?: RecordType, b?: RecordType) => number);
+export type BaseSorter<RecordType> = boolean | ((a?: RecordType, b?: RecordType, sortOrder?: 'ascend' | 'descend') => number);
 export interface BaseChangeInfoFilter<RecordType> {
 export interface BaseChangeInfoFilter<RecordType> {
     dataIndex?: string;
     dataIndex?: string;
     value?: any;
     value?: any;

+ 4 - 4
packages/semi-foundation/utils/array.ts

@@ -21,24 +21,24 @@ export function pullAll(arrayA: any[], arrayB: any[]) {
     }
     }
     return arrayA;
     return arrayA;
 }
 }
-type CompareFn<T> = (a: T, b: T) => number;
+type CompareFn<T> = (a: T, b: T, sortOrder: 'ascend' | 'descend') => number;
 /**
 /**
  * Adapt the descending order
  * Adapt the descending order
  * @param {Function} fn
  * @param {Function} fn
  * @param {String} order
  * @param {String} order
  * @returns
  * @returns
  */
  */
-export function withOrderSort<T = any>(fn: CompareFn<T>, order = 'ascend'): CompareFn<T> {
+export function withOrderSort<T = any>(fn: CompareFn<T>, order: 'ascend' | 'descend' = 'ascend'): (a: T, b: T) => number {
     switch (order) {
     switch (order) {
         case 'descend':
         case 'descend':
             return (
             return (
                 (a: any, b: any) => {
                 (a: any, b: any) => {
-                    const result = Number(fn(a, b));
+                    const result = Number(fn(a, b, order));
                     return result !== 0 ? -result : result;
                     return result !== 0 ? -result : result;
                 }
                 }
             );
             );
         case 'ascend':
         case 'ascend':
         default:
         default:
-            return fn;
+            return (a: any, b: any) => fn(a, b, order);
     }
     }
 }
 }

+ 1 - 1
packages/semi-icons-lab/package.json

@@ -1,6 +1,6 @@
 {
 {
   "name": "@douyinfe/semi-icons-lab",
   "name": "@douyinfe/semi-icons-lab",
-  "version": "2.46.0-beta.0",
+  "version": "2.46.1",
   "description": "semi icons lab",
   "description": "semi icons lab",
   "keywords": [
   "keywords": [
     "semi",
     "semi",

+ 1 - 1
packages/semi-icons/package.json

@@ -1,6 +1,6 @@
 {
 {
     "name": "@douyinfe/semi-icons",
     "name": "@douyinfe/semi-icons",
-    "version": "2.46.0-beta.0",
+    "version": "2.46.1",
     "description": "semi icons",
     "description": "semi icons",
     "keywords": [
     "keywords": [
         "semi",
         "semi",

+ 1 - 1
packages/semi-illustrations/package.json

@@ -1,6 +1,6 @@
 {
 {
     "name": "@douyinfe/semi-illustrations",
     "name": "@douyinfe/semi-illustrations",
-    "version": "2.46.0-beta.0",
+    "version": "2.46.1",
     "description": "semi illustrations",
     "description": "semi illustrations",
     "keywords": [
     "keywords": [
         "semi",
         "semi",

+ 2 - 2
packages/semi-next/package.json

@@ -1,6 +1,6 @@
 {
 {
     "name": "@douyinfe/semi-next",
     "name": "@douyinfe/semi-next",
-    "version": "2.46.0-beta.0",
+    "version": "2.46.1",
     "description": "Plugin that support Semi Design in Next.js",
     "description": "Plugin that support Semi Design in Next.js",
     "author": "伍浩威 <[email protected]>",
     "author": "伍浩威 <[email protected]>",
     "homepage": "",
     "homepage": "",
@@ -23,7 +23,7 @@
         "typescript": "^4"
         "typescript": "^4"
     },
     },
     "dependencies": {
     "dependencies": {
-        "@douyinfe/semi-webpack-plugin": "2.46.0-beta.0"
+        "@douyinfe/semi-webpack-plugin": "2.46.1"
     },
     },
     "gitHead": "eb34a4f25f002bb4cbcfa51f3df93bed868c831a"
     "gitHead": "eb34a4f25f002bb4cbcfa51f3df93bed868c831a"
 }
 }

+ 1 - 1
packages/semi-rspack/package.json

@@ -1,6 +1,6 @@
 {
 {
     "name": "@douyinfe/semi-rspack-plugin",
     "name": "@douyinfe/semi-rspack-plugin",
-    "version": "2.46.0-beta.0",
+    "version": "2.46.1",
     "description": "",
     "description": "",
     "homepage": "",
     "homepage": "",
     "license": "MIT",
     "license": "MIT",

+ 1 - 1
packages/semi-scss-compile/package.json

@@ -1,6 +1,6 @@
 {
 {
     "name": "@douyinfe/semi-scss-compile",
     "name": "@douyinfe/semi-scss-compile",
-    "version": "2.46.0-beta.0",
+    "version": "2.46.1",
     "description": "compile semi scss to css",
     "description": "compile semi scss to css",
     "author": "[email protected]",
     "author": "[email protected]",
     "license": "MIT",
     "license": "MIT",

+ 1 - 1
packages/semi-theme-default/package.json

@@ -1,6 +1,6 @@
 {
 {
     "name": "@douyinfe/semi-theme-default",
     "name": "@douyinfe/semi-theme-default",
-    "version": "2.46.0-beta.0",
+    "version": "2.46.1",
     "description": "semi-theme-default",
     "description": "semi-theme-default",
     "keywords": [
     "keywords": [
         "semi-theme",
         "semi-theme",

+ 87 - 1
packages/semi-ui/calendar/_story/calendar.stories.jsx

@@ -633,4 +633,90 @@ export const MonthEventRender = () => {
               events={events}
               events={events}
             ></Calendar>
             ></Calendar>
         )
         )
-}
+}
+
+export const Fix1892 = () => {
+    const [events, setEvents] = React.useState([]);
+        const allDayStyle = {
+            borderRadius: '3px',
+            boxSizing: 'border-box',
+            border: 'var(--semi-color-bg-1) 1px solid',
+            padding: '2px 4px',
+            backgroundColor: 'var(--semi-color-primary-light-active)',
+            height: '100%',
+            overflow: 'hidden',
+        };
+        const dailyStyle = allDayStyle;
+        const events1 = [
+            {
+                key: '0',
+                start: new Date(2019, 5, 25, 14, 45, 0),
+                end: new Date(2019, 6, 26, 6, 18, 0),
+                children: <div style={dailyStyle}>6月25日 14:45 ~ 7月26日 6:18</div>,
+            },
+            {
+                key: '1',
+                start: new Date(2019, 6, 18, 10, 0, 0),
+                end: new Date(2019, 6, 30, 8, 0, 0),
+                children: <div style={allDayStyle}>7月18日 10:00 ~ 7月30日 8:00</div>,
+            },
+            {
+                key: '2',
+                start: new Date(2019, 6, 19, 20, 0, 0),
+                end: new Date(2019, 6, 23, 14, 0, 0),
+                children: <div style={allDayStyle}>7月19日 20:00 ~ 7月23日 14:00</div>,
+            },
+            {
+                key: '3',
+                start: new Date(2019, 6, 21, 6, 0, 0),
+                end: new Date(2019, 6, 25, 6, 0, 0),
+                children: <div style={allDayStyle}>7月21日 6:00 ~ 7月25日 6:00</div>,
+            },
+            {
+                key: '4',
+                allDay: true,
+                start: new Date(2019, 6, 22, 8, 0, 0),
+                children: <div style={allDayStyle}>7月22日 全天</div>,
+            },
+            {
+                key: '5',
+                start: new Date(2019, 6, 22, 9, 0, 0),
+                end: new Date(2019, 6, 23, 23, 0, 0),
+                children: <div style={allDayStyle}>7月22日 9:00 ~ 7月23日 23:00</div>,
+            },
+            {
+                key: '6',
+                start: new Date(2019, 6, 23, 8, 32, 0),
+                children: <div style={dailyStyle}>7月23日 8:32</div>,
+            },
+            {
+                key: '7',
+                start: new Date(2019, 6, 23, 14, 30, 0),
+                end: new Date(2019, 6, 23, 20, 0, 0),
+                children: <div style={dailyStyle}>7月23日 14:30-20:00</div>,
+            },
+            {
+                key: '8',
+                start: new Date(2019, 6, 25, 8, 0, 0),
+                end: new Date(2019, 6, 27, 6, 0, 0),
+                children: <div style={allDayStyle}>7月25日 8:00 ~ 7月27日 6:00</div>,
+            },
+            {
+                key: '9',
+                start: new Date(2019, 6, 26, 10, 0, 0),
+                end: new Date(2019, 6, 27, 16, 0, 0),
+                children: <div style={allDayStyle}>7月26日 10:00 ~ 7月27日 16:00</div>,
+            },
+        ];
+        return (
+            <>
+                <Calendar
+                    height={305}
+                    mode={'month'}
+                    displayValue={new Date(2019, 6, 23, 8, 32, 0)}
+                    events={events}
+                ></Calendar>
+                <Button onClick={()=> setEvents(events1)}>change events</Button>
+            </>
+        );
+    }

+ 1 - 1
packages/semi-ui/calendar/monthCalendar.tsx

@@ -157,7 +157,7 @@ export default class monthCalendar extends BaseComponent<MonthCalendarProps, Mon
             }
             }
         }
         }
         if (!isEqual(prevEventKeys, nowEventKeys) || itemLimitUpdate || !isEqual(prevProps.displayValue, this.props.displayValue)) {
         if (!isEqual(prevEventKeys, nowEventKeys) || itemLimitUpdate || !isEqual(prevProps.displayValue, this.props.displayValue)) {
-            this.foundation.parseMonthlyEvents((itemLimit || this.props.events) as any);
+            this.foundation.parseMonthlyEvents(itemLimit);
         }
         }
     }
     }
 
 

+ 7 - 7
packages/semi-ui/package.json

@@ -1,6 +1,6 @@
 {
 {
     "name": "@douyinfe/semi-ui",
     "name": "@douyinfe/semi-ui",
-    "version": "2.46.0-beta.0",
+    "version": "2.46.1",
     "description": "A modern, comprehensive, flexible design system and UI library. Connect DesignOps & DevOps. Quickly build beautiful React apps. Maintained by Douyin-fe team.",
     "description": "A modern, comprehensive, flexible design system and UI library. Connect DesignOps & DevOps. Quickly build beautiful React apps. Maintained by Douyin-fe team.",
     "main": "lib/cjs/index.js",
     "main": "lib/cjs/index.js",
     "module": "lib/es/index.js",
     "module": "lib/es/index.js",
@@ -20,12 +20,12 @@
         "@dnd-kit/core": "^6.0.8",
         "@dnd-kit/core": "^6.0.8",
         "@dnd-kit/sortable": "^7.0.2",
         "@dnd-kit/sortable": "^7.0.2",
         "@dnd-kit/utilities": "^3.2.1",
         "@dnd-kit/utilities": "^3.2.1",
-        "@douyinfe/semi-animation": "2.46.0-beta.0",
-        "@douyinfe/semi-animation-react": "2.46.0-beta.0",
-        "@douyinfe/semi-foundation": "2.46.0-beta.0",
-        "@douyinfe/semi-icons": "2.46.0-beta.0",
-        "@douyinfe/semi-illustrations": "2.46.0-beta.0",
-        "@douyinfe/semi-theme-default": "2.46.0-beta.0",
+        "@douyinfe/semi-animation": "2.46.1",
+        "@douyinfe/semi-animation-react": "2.46.1",
+        "@douyinfe/semi-foundation": "2.46.1",
+        "@douyinfe/semi-icons": "2.46.1",
+        "@douyinfe/semi-illustrations": "2.46.1",
+        "@douyinfe/semi-theme-default": "2.46.1",
         "async-validator": "^3.5.0",
         "async-validator": "^3.5.0",
         "classnames": "^2.2.6",
         "classnames": "^2.2.6",
         "copy-text-to-clipboard": "^2.1.1",
         "copy-text-to-clipboard": "^2.1.1",

+ 2 - 1
packages/semi-ui/pagination/index.tsx

@@ -275,7 +275,7 @@ export default class Pagination extends BaseComponent<PaginationProps, Paginatio
         // rtl modify the default position
         // rtl modify the default position
         const { direction } = this.context;
         const { direction } = this.context;
         const defaultPopoverPosition = direction === 'rtl' ? 'bottomRight' : 'bottomLeft';
         const defaultPopoverPosition = direction === 'rtl' ? 'bottomRight' : 'bottomLeft';
-        const { showSizeChanger, popoverPosition = defaultPopoverPosition, disabled } = this.props;
+        const { showSizeChanger, popoverPosition = defaultPopoverPosition, disabled, popoverZIndex } = this.props;
         const { pageSize } = this.state;
         const { pageSize } = this.state;
         const switchCls = classNames(`${prefixCls}-switch`);
         const switchCls = classNames(`${prefixCls}-switch`);
         if (!showSizeChanger) {
         if (!showSizeChanger) {
@@ -303,6 +303,7 @@ export default class Pagination extends BaseComponent<PaginationProps, Paginatio
                     key={pageSize}
                     key={pageSize}
                     position={popoverPosition || 'bottomRight'}
                     position={popoverPosition || 'bottomRight'}
                     clickToHide
                     clickToHide
+                    zIndex={popoverZIndex}
                     dropdownClassName={`${prefixCls}-select-dropdown`}
                     dropdownClassName={`${prefixCls}-select-dropdown`}
                 >
                 >
                     {options}
                     {options}

+ 18 - 0
packages/semi-ui/select/_story/select.stories.jsx

@@ -3367,3 +3367,21 @@ class VirtualizeAllowCreate extends React.Component {
 
 
 // virtualize allowCreate + renderCreateItem, optionList render not as expected
 // virtualize allowCreate + renderCreateItem, optionList render not as expected
 export const Fix1856 = () => (<VirtualizeAllowCreate />); 
 export const Fix1856 = () => (<VirtualizeAllowCreate />); 
+
+
+export const TestOptionKey = () => {
+  return <><Select style={{ width: 300 }}>
+      <Select.Option label='3' value='2' key='abc'></Select.Option>
+      <Select.Option label='2' value='3' key='efg'></Select.Option>
+      <Select.Option label='4' value='5'></Select.Option>
+      <Select.Option label='5' value='4'></Select.Option>
+    </Select>
+    <br/><br/>
+    <Select style={{ width: 300 }} optionList={[
+      { label: '1', value: '2', key: 'kkk' },
+      { label: '2', value: '3', key: 'jjj' },
+      { label: '3', value: '2' },
+    ]}>
+    </Select>
+  </>
+}

+ 9 - 9
packages/semi-ui/select/index.tsx

@@ -181,14 +181,14 @@ export type SelectProps = {
     showRestTagsPopover?: boolean;
     showRestTagsPopover?: boolean;
     restTagsPopoverProps?: PopoverProps
     restTagsPopoverProps?: PopoverProps
 } & Pick<
 } & Pick<
-    TooltipProps,
-    | 'spacing'
-    | 'getPopupContainer'
-    | 'motion'
-    | 'autoAdjustOverflow'
-    | 'mouseLeaveDelay'
-    | 'mouseEnterDelay'
-    | 'stopPropagation'
+TooltipProps,
+| 'spacing'
+| 'getPopupContainer'
+| 'motion'
+| 'autoAdjustOverflow'
+| 'mouseLeaveDelay'
+| 'mouseEnterDelay'
+| 'stopPropagation'
 > & React.RefAttributes<any>;
 > & React.RefAttributes<any>;
 
 
 export interface SelectState {
 export interface SelectState {
@@ -775,7 +775,7 @@ class Select extends BaseComponent<SelectProps, SelectState> {
                     focused={isFocused}
                     focused={isFocused}
                     onMouseEnter={() => this.onOptionHover(optionIndex)}
                     onMouseEnter={() => this.onOptionHover(optionIndex)}
                     style={optionStyle}
                     style={optionStyle}
-                    key={option.key || option.label as string + option.value as string + optionIndex}
+                    key={option._keyInOptionList || option._keyInJsx || option.label as string + option.value as string + optionIndex}
                     renderOptionItem={renderOptionItem}
                     renderOptionItem={renderOptionItem}
                     inputValue={inputValue}
                     inputValue={inputValue}
                     semiOptionId={`${this.selectID}-option-${optionIndex}`}
                     semiOptionId={`${this.selectID}-option-${optionIndex}`}

+ 7 - 1
packages/semi-ui/select/utils.tsx

@@ -10,7 +10,7 @@ const generateOption = (child: React.ReactElement, parent: any, index: number):
     }
     }
     const option = {
     const option = {
         value: childProps.value,
         value: childProps.value,
-        // Drop-down menu rendering priority label value, children, value in turn downgrade
+        // Dropdown menu rendering priority label value, children, value in turn downgrade
         label: childProps.label || childProps.children || childProps.value,
         label: childProps.label || childProps.children || childProps.value,
         _show: true,
         _show: true,
         _selected: false,
         _selected: false,
@@ -18,6 +18,12 @@ const generateOption = (child: React.ReactElement, parent: any, index: number):
         ...childProps,
         ...childProps,
         _parentGroup: parent,
         _parentGroup: parent,
     };
     };
+
+    // Props are collected from ReactNode, after React.Children.toArray
+    // no need to determine whether the key exists in child
+    // Even if the user does not explicitly declare it, React will always generate a key.
+    option._keyInJsx = child.key;
+    
     return option;
     return option;
 };
 };
 
 

+ 2 - 1
packages/semi-ui/table/_story/table.stories.jsx

@@ -101,7 +101,8 @@ export {
     FixedColumnAlign,
     FixedColumnAlign,
     FixOnChange,
     FixOnChange,
     ColumnResize,
     ColumnResize,
-    FixedResizableRowSelection
+    FixedResizableRowSelection,
+    SorterSortOrder
 } from './v2';
 } from './v2';
 export { default as FixSelectAll325 } from './Demos/rowSelection';
 export { default as FixSelectAll325 } from './Demos/rowSelection';
 
 

+ 126 - 0
packages/semi-ui/table/_story/v2/SorterSortOrder/index.tsx

@@ -0,0 +1,126 @@
+import React from 'react';
+import { Table, Avatar } from '@douyinfe/semi-ui';
+import * as dateFns from 'date-fns';
+
+/**
+ * test with cypress
+ */
+export default function App() {
+    const columns = [
+        {
+            title: '标题',
+            dataIndex: 'name',
+            width: 400,
+            render: (text, record, index) => {
+                return (
+                    <div>
+                        <Avatar size="small" shape="square" src={figmaIconUrl} style={{ marginRight: 12 }}></Avatar>
+                        {text}
+                    </div>
+                );
+            }
+        },
+        {
+            title: '大小',
+            dataIndex: 'size',
+            sorter: (r1, r2, order) => {
+                console.log('order', order);
+                const a = r1.size;
+                const b = r2.size;
+                if (typeof a === "number" && typeof b === "number") {
+                    return a - b; // 数字大的在前面
+                } else if (typeof a === "undefined") {
+                    return order === "ascend" ? 1 : -1; // undefined 在后面
+                } else if (typeof b === "undefined") {
+                    return order === "ascend" ? -1 : 1; // undefined 在后面
+                } else {
+                    return 0; // 保持原来的顺序
+                }
+            },
+            render: text => text ? `${text} KB` : '未知',
+        },
+        {
+            title: '所有者',
+            dataIndex: 'owner',
+            render: (text, record, index) => {
+                return (
+                    <div>
+                        <Avatar size="small" color={record.avatarBg} style={{ marginRight: 4 }}>
+                            {typeof text === 'string' && text.slice(0, 1)}
+                        </Avatar>
+                        {text}
+                    </div>
+                );
+            },
+        },
+        {
+            title: '更新日期',
+            dataIndex: 'updateTime',
+            render: value => {
+                return dateFns.format(new Date(value), 'yyyy-MM-dd');
+            },
+        },
+    ];
+
+    const figmaIconUrl = 'https://lf3-static.bytednsdoc.com/obj/eden-cn/ptlz_zlp/ljhwZthlaukjlkulzlp/figma-icon.png';
+    const docIconUrl = 'https://lf3-static.bytednsdoc.com/obj/eden-cn/ptlz_zlp/ljhwZthlaukjlkulzlp/docs-icon.png';
+
+    const dataSource = [
+        {
+            key: '1',
+            name: 'Semi Design 设计稿.fig',
+            nameIconSrc: figmaIconUrl,
+            size: 3,
+            owner: '姜鹏志',
+            updateTime: '2020-02-02 05:13',
+            avatarBg: 'grey',
+        },
+        {
+            key: '2',
+            name: 'Semi Design 分享演示文稿',
+            nameIconSrc: docIconUrl,
+            size: undefined,
+            owner: '郝宣',
+            updateTime: '2020-01-17 05:31',
+            avatarBg: 'red',
+        },
+        {
+            key: '3',
+            name: '设计文档3',
+            nameIconSrc: docIconUrl,
+            size: 1,
+            owner: 'Zoey Edwards',
+            updateTime: '2020-01-26 11:01',
+            avatarBg: 'light-blue',
+        },
+        {
+            key: '4',
+            name: '设计文档4',
+            nameIconSrc: docIconUrl,
+            size: 5,
+            owner: 'Zoey Edwards',
+            updateTime: '2020-01-26 11:01',
+            avatarBg: 'light-blue',
+        },
+        {
+            key: '5',
+            name: '设计文档5',
+            nameIconSrc: docIconUrl,
+            size: undefined,
+            owner: 'Zoey Edwards',
+            updateTime: '2020-01-26 11:01',
+            avatarBg: 'light-blue',
+        },
+        {
+            key: '6',
+            name: '设计文档6',
+            nameIconSrc: docIconUrl,
+            size: 2,
+            owner: 'Zoey Edwards',
+            updateTime: '2020-01-26 11:01',
+            avatarBg: 'light-blue',
+        },
+    ];
+
+    return <Table columns={columns} dataSource={dataSource} />;
+}

+ 1 - 0
packages/semi-ui/table/_story/v2/index.js

@@ -22,3 +22,4 @@ export { default as FixedColumnAlign } from './FixedColumnAlign';
 export { default as FixOnChange } from './FixOnChange';
 export { default as FixOnChange } from './FixOnChange';
 export { default as ColumnResize } from './ColumnResize';
 export { default as ColumnResize } from './ColumnResize';
 export { default as FixedResizableRowSelection } from './FixedResizableRowSelection';
 export { default as FixedResizableRowSelection } from './FixedResizableRowSelection';
+export { default as SorterSortOrder } from './SorterSortOrder';

+ 1 - 1
packages/semi-webpack/package.json

@@ -1,6 +1,6 @@
 {
 {
     "name": "@douyinfe/semi-webpack-plugin",
     "name": "@douyinfe/semi-webpack-plugin",
-    "version": "2.46.0-beta.0",
+    "version": "2.46.1",
     "description": "",
     "description": "",
     "author": "伍浩威 <[email protected]>",
     "author": "伍浩威 <[email protected]>",
     "homepage": "",
     "homepage": "",

+ 150 - 150
sitemap.xml

@@ -2,22 +2,22 @@
 <urlset xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.sitemaps.org/schemas/sitemap/0.9 http://www.sitemaps.org/schemas/sitemap/0.9/sitemap.xsd" xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
 <urlset xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.sitemaps.org/schemas/sitemap/0.9 http://www.sitemaps.org/schemas/sitemap/0.9/sitemap.xsd" xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
     <url>
     <url>
         <loc>https://juejin.cn/post/7267418854124699702</loc>
         <loc>https://juejin.cn/post/7267418854124699702</loc>
-        <lastmod>2023-10-30T13:34:10.597Z</lastmod>
+        <lastmod>2023-11-07T03:11:23.254Z</lastmod>
         <changefreq>weekly</changefreq>
         <changefreq>weekly</changefreq>
     </url>
     </url>
     <url>
     <url>
         <loc>https://medium.com/front-end-weekly/how-we-test-semi-design-component-libraries-64b854f63b65</loc>
         <loc>https://medium.com/front-end-weekly/how-we-test-semi-design-component-libraries-64b854f63b65</loc>
-        <lastmod>2023-10-30T13:34:10.841Z</lastmod>
+        <lastmod>2023-11-07T03:11:21.643Z</lastmod>
         <changefreq>weekly</changefreq>
         <changefreq>weekly</changefreq>
     </url>
     </url>
     <url>
     <url>
         <loc>https://mp.weixin.qq.com/s/noHoWRuA25PgqFNcurhIUA</loc>
         <loc>https://mp.weixin.qq.com/s/noHoWRuA25PgqFNcurhIUA</loc>
-        <lastmod>2023-10-30T13:34:12.908Z</lastmod>
+        <lastmod>2023-11-07T03:11:25.242Z</lastmod>
         <changefreq>weekly</changefreq>
         <changefreq>weekly</changefreq>
     </url>
     </url>
     <url>
     <url>
         <loc>https://mp.weixin.qq.com/s/O3js-SZDNPEOjGxh-aAkbw</loc>
         <loc>https://mp.weixin.qq.com/s/O3js-SZDNPEOjGxh-aAkbw</loc>
-        <lastmod>2023-10-30T13:34:12.423Z</lastmod>
+        <lastmod>2023-11-07T03:11:25.222Z</lastmod>
         <changefreq>weekly</changefreq>
         <changefreq>weekly</changefreq>
     </url>
     </url>
     <url>
     <url>
@@ -790,732 +790,732 @@
     </url>
     </url>
     <url>
     <url>
         <loc>https://semi.design/en-US/basic/divider</loc>
         <loc>https://semi.design/en-US/basic/divider</loc>
-        <lastmod>2023-10-30T13:30:31.000Z</lastmod>
+        <lastmod>2023-11-07T03:08:19.000Z</lastmod>
         <changefreq>weekly</changefreq>
         <changefreq>weekly</changefreq>
     </url>
     </url>
     <url>
     <url>
         <loc>https://semi.design/en-US/basic/grid</loc>
         <loc>https://semi.design/en-US/basic/grid</loc>
-        <lastmod>2023-10-30T13:30:31.000Z</lastmod>
+        <lastmod>2023-11-07T03:08:19.000Z</lastmod>
         <changefreq>weekly</changefreq>
         <changefreq>weekly</changefreq>
     </url>
     </url>
     <url>
     <url>
         <loc>https://semi.design/en-US/basic/icon</loc>
         <loc>https://semi.design/en-US/basic/icon</loc>
-        <lastmod>2023-10-30T13:30:31.000Z</lastmod>
+        <lastmod>2023-11-07T03:08:19.000Z</lastmod>
         <changefreq>weekly</changefreq>
         <changefreq>weekly</changefreq>
     </url>
     </url>
     <url>
     <url>
         <loc>https://semi.design/en-US/basic/layout</loc>
         <loc>https://semi.design/en-US/basic/layout</loc>
-        <lastmod>2023-10-30T13:30:31.000Z</lastmod>
+        <lastmod>2023-11-07T03:08:19.000Z</lastmod>
         <changefreq>weekly</changefreq>
         <changefreq>weekly</changefreq>
     </url>
     </url>
     <url>
     <url>
         <loc>https://semi.design/en-US/basic/space</loc>
         <loc>https://semi.design/en-US/basic/space</loc>
-        <lastmod>2023-10-30T13:30:31.000Z</lastmod>
+        <lastmod>2023-11-07T03:08:19.000Z</lastmod>
         <changefreq>weekly</changefreq>
         <changefreq>weekly</changefreq>
     </url>
     </url>
     <url>
     <url>
         <loc>https://semi.design/en-US/basic/tokens</loc>
         <loc>https://semi.design/en-US/basic/tokens</loc>
-        <lastmod>2023-10-30T13:30:31.000Z</lastmod>
+        <lastmod>2023-11-07T03:08:19.000Z</lastmod>
         <changefreq>weekly</changefreq>
         <changefreq>weekly</changefreq>
     </url>
     </url>
     <url>
     <url>
         <loc>https://semi.design/en-US/basic/typography</loc>
         <loc>https://semi.design/en-US/basic/typography</loc>
-        <lastmod>2023-10-30T13:30:31.000Z</lastmod>
+        <lastmod>2023-11-07T03:08:19.000Z</lastmod>
         <changefreq>weekly</changefreq>
         <changefreq>weekly</changefreq>
     </url>
     </url>
     <url>
     <url>
         <loc>https://semi.design/en-US/feedback/banner</loc>
         <loc>https://semi.design/en-US/feedback/banner</loc>
-        <lastmod>2023-10-30T13:30:31.000Z</lastmod>
+        <lastmod>2023-11-07T03:08:19.000Z</lastmod>
         <changefreq>weekly</changefreq>
         <changefreq>weekly</changefreq>
     </url>
     </url>
     <url>
     <url>
         <loc>https://semi.design/en-US/feedback/notification</loc>
         <loc>https://semi.design/en-US/feedback/notification</loc>
-        <lastmod>2023-10-30T13:30:31.000Z</lastmod>
+        <lastmod>2023-11-07T03:08:19.000Z</lastmod>
         <changefreq>weekly</changefreq>
         <changefreq>weekly</changefreq>
     </url>
     </url>
     <url>
     <url>
         <loc>https://semi.design/en-US/feedback/popconfirm</loc>
         <loc>https://semi.design/en-US/feedback/popconfirm</loc>
-        <lastmod>2023-10-30T13:30:31.000Z</lastmod>
+        <lastmod>2023-11-07T03:08:19.000Z</lastmod>
         <changefreq>weekly</changefreq>
         <changefreq>weekly</changefreq>
     </url>
     </url>
     <url>
     <url>
         <loc>https://semi.design/en-US/feedback/progress</loc>
         <loc>https://semi.design/en-US/feedback/progress</loc>
-        <lastmod>2023-10-30T13:30:31.000Z</lastmod>
+        <lastmod>2023-11-07T03:08:19.000Z</lastmod>
         <changefreq>weekly</changefreq>
         <changefreq>weekly</changefreq>
     </url>
     </url>
     <url>
     <url>
         <loc>https://semi.design/en-US/feedback/skeleton</loc>
         <loc>https://semi.design/en-US/feedback/skeleton</loc>
-        <lastmod>2023-10-30T13:30:31.000Z</lastmod>
+        <lastmod>2023-11-07T03:08:19.000Z</lastmod>
         <changefreq>weekly</changefreq>
         <changefreq>weekly</changefreq>
     </url>
     </url>
     <url>
     <url>
         <loc>https://semi.design/en-US/feedback/spin</loc>
         <loc>https://semi.design/en-US/feedback/spin</loc>
-        <lastmod>2023-10-30T13:30:31.000Z</lastmod>
+        <lastmod>2023-11-07T03:08:19.000Z</lastmod>
         <changefreq>weekly</changefreq>
         <changefreq>weekly</changefreq>
     </url>
     </url>
     <url>
     <url>
         <loc>https://semi.design/en-US/feedback/toast</loc>
         <loc>https://semi.design/en-US/feedback/toast</loc>
-        <lastmod>2023-10-30T13:30:31.000Z</lastmod>
+        <lastmod>2023-11-07T03:08:19.000Z</lastmod>
         <changefreq>weekly</changefreq>
         <changefreq>weekly</changefreq>
     </url>
     </url>
     <url>
     <url>
         <loc>https://semi.design/en-US/input/autocomplete</loc>
         <loc>https://semi.design/en-US/input/autocomplete</loc>
-        <lastmod>2023-10-30T13:30:31.000Z</lastmod>
+        <lastmod>2023-11-07T03:08:19.000Z</lastmod>
         <changefreq>weekly</changefreq>
         <changefreq>weekly</changefreq>
     </url>
     </url>
     <url>
     <url>
         <loc>https://semi.design/en-US/input/button</loc>
         <loc>https://semi.design/en-US/input/button</loc>
-        <lastmod>2023-10-30T13:30:31.000Z</lastmod>
+        <lastmod>2023-11-07T03:08:19.000Z</lastmod>
         <changefreq>weekly</changefreq>
         <changefreq>weekly</changefreq>
     </url>
     </url>
     <url>
     <url>
         <loc>https://semi.design/en-US/input/cascader</loc>
         <loc>https://semi.design/en-US/input/cascader</loc>
-        <lastmod>2023-10-30T13:30:31.000Z</lastmod>
+        <lastmod>2023-11-07T03:08:19.000Z</lastmod>
         <changefreq>weekly</changefreq>
         <changefreq>weekly</changefreq>
     </url>
     </url>
     <url>
     <url>
         <loc>https://semi.design/en-US/input/checkbox</loc>
         <loc>https://semi.design/en-US/input/checkbox</loc>
-        <lastmod>2023-10-30T13:30:31.000Z</lastmod>
+        <lastmod>2023-11-07T03:08:19.000Z</lastmod>
         <changefreq>weekly</changefreq>
         <changefreq>weekly</changefreq>
     </url>
     </url>
     <url>
     <url>
         <loc>https://semi.design/en-US/input/datepicker</loc>
         <loc>https://semi.design/en-US/input/datepicker</loc>
-        <lastmod>2023-10-30T13:30:31.000Z</lastmod>
+        <lastmod>2023-11-07T03:08:19.000Z</lastmod>
         <changefreq>weekly</changefreq>
         <changefreq>weekly</changefreq>
     </url>
     </url>
     <url>
     <url>
         <loc>https://semi.design/en-US/input/form</loc>
         <loc>https://semi.design/en-US/input/form</loc>
-        <lastmod>2023-10-30T13:30:31.000Z</lastmod>
+        <lastmod>2023-11-07T03:08:19.000Z</lastmod>
         <changefreq>weekly</changefreq>
         <changefreq>weekly</changefreq>
     </url>
     </url>
     <url>
     <url>
         <loc>https://semi.design/en-US/input/input</loc>
         <loc>https://semi.design/en-US/input/input</loc>
-        <lastmod>2023-10-30T13:30:31.000Z</lastmod>
+        <lastmod>2023-11-07T03:08:19.000Z</lastmod>
         <changefreq>weekly</changefreq>
         <changefreq>weekly</changefreq>
     </url>
     </url>
     <url>
     <url>
         <loc>https://semi.design/en-US/input/inputnumber</loc>
         <loc>https://semi.design/en-US/input/inputnumber</loc>
-        <lastmod>2023-10-30T13:30:31.000Z</lastmod>
+        <lastmod>2023-11-07T03:08:19.000Z</lastmod>
         <changefreq>weekly</changefreq>
         <changefreq>weekly</changefreq>
     </url>
     </url>
     <url>
     <url>
         <loc>https://semi.design/en-US/input/radio</loc>
         <loc>https://semi.design/en-US/input/radio</loc>
-        <lastmod>2023-10-30T13:30:31.000Z</lastmod>
+        <lastmod>2023-11-07T03:08:19.000Z</lastmod>
         <changefreq>weekly</changefreq>
         <changefreq>weekly</changefreq>
     </url>
     </url>
     <url>
     <url>
         <loc>https://semi.design/en-US/input/rating</loc>
         <loc>https://semi.design/en-US/input/rating</loc>
-        <lastmod>2023-10-30T13:30:31.000Z</lastmod>
+        <lastmod>2023-11-07T03:08:19.000Z</lastmod>
         <changefreq>weekly</changefreq>
         <changefreq>weekly</changefreq>
     </url>
     </url>
     <url>
     <url>
         <loc>https://semi.design/en-US/input/select</loc>
         <loc>https://semi.design/en-US/input/select</loc>
-        <lastmod>2023-10-30T13:30:31.000Z</lastmod>
+        <lastmod>2023-11-07T03:08:19.000Z</lastmod>
         <changefreq>weekly</changefreq>
         <changefreq>weekly</changefreq>
     </url>
     </url>
     <url>
     <url>
         <loc>https://semi.design/en-US/input/slider</loc>
         <loc>https://semi.design/en-US/input/slider</loc>
-        <lastmod>2023-10-30T13:30:31.000Z</lastmod>
+        <lastmod>2023-11-07T03:08:19.000Z</lastmod>
         <changefreq>weekly</changefreq>
         <changefreq>weekly</changefreq>
     </url>
     </url>
     <url>
     <url>
         <loc>https://semi.design/en-US/input/switch</loc>
         <loc>https://semi.design/en-US/input/switch</loc>
-        <lastmod>2023-10-30T13:30:31.000Z</lastmod>
+        <lastmod>2023-11-07T03:08:19.000Z</lastmod>
         <changefreq>weekly</changefreq>
         <changefreq>weekly</changefreq>
     </url>
     </url>
     <url>
     <url>
         <loc>https://semi.design/en-US/input/taginput</loc>
         <loc>https://semi.design/en-US/input/taginput</loc>
-        <lastmod>2023-10-30T13:30:31.000Z</lastmod>
+        <lastmod>2023-11-07T03:08:19.000Z</lastmod>
         <changefreq>weekly</changefreq>
         <changefreq>weekly</changefreq>
     </url>
     </url>
     <url>
     <url>
         <loc>https://semi.design/en-US/input/timepicker</loc>
         <loc>https://semi.design/en-US/input/timepicker</loc>
-        <lastmod>2023-10-30T13:30:31.000Z</lastmod>
+        <lastmod>2023-11-07T03:08:19.000Z</lastmod>
         <changefreq>weekly</changefreq>
         <changefreq>weekly</changefreq>
     </url>
     </url>
     <url>
     <url>
         <loc>https://semi.design/en-US/input/transfer</loc>
         <loc>https://semi.design/en-US/input/transfer</loc>
-        <lastmod>2023-10-30T13:30:31.000Z</lastmod>
+        <lastmod>2023-11-07T03:08:19.000Z</lastmod>
         <changefreq>weekly</changefreq>
         <changefreq>weekly</changefreq>
     </url>
     </url>
     <url>
     <url>
         <loc>https://semi.design/en-US/input/treeselect</loc>
         <loc>https://semi.design/en-US/input/treeselect</loc>
-        <lastmod>2023-10-30T13:30:31.000Z</lastmod>
+        <lastmod>2023-11-07T03:08:19.000Z</lastmod>
         <changefreq>weekly</changefreq>
         <changefreq>weekly</changefreq>
     </url>
     </url>
     <url>
     <url>
         <loc>https://semi.design/en-US/input/upload</loc>
         <loc>https://semi.design/en-US/input/upload</loc>
-        <lastmod>2023-10-30T13:30:31.000Z</lastmod>
+        <lastmod>2023-11-07T03:08:19.000Z</lastmod>
         <changefreq>weekly</changefreq>
         <changefreq>weekly</changefreq>
     </url>
     </url>
     <url>
     <url>
         <loc>https://semi.design/en-US/navigation/anchor</loc>
         <loc>https://semi.design/en-US/navigation/anchor</loc>
-        <lastmod>2023-10-30T13:30:31.000Z</lastmod>
+        <lastmod>2023-11-07T03:08:19.000Z</lastmod>
         <changefreq>weekly</changefreq>
         <changefreq>weekly</changefreq>
     </url>
     </url>
     <url>
     <url>
         <loc>https://semi.design/en-US/navigation/backtop</loc>
         <loc>https://semi.design/en-US/navigation/backtop</loc>
-        <lastmod>2023-10-30T13:30:31.000Z</lastmod>
+        <lastmod>2023-11-07T03:08:19.000Z</lastmod>
         <changefreq>weekly</changefreq>
         <changefreq>weekly</changefreq>
     </url>
     </url>
     <url>
     <url>
         <loc>https://semi.design/en-US/navigation/breadcrumb</loc>
         <loc>https://semi.design/en-US/navigation/breadcrumb</loc>
-        <lastmod>2023-10-30T13:30:31.000Z</lastmod>
+        <lastmod>2023-11-07T03:08:19.000Z</lastmod>
         <changefreq>weekly</changefreq>
         <changefreq>weekly</changefreq>
     </url>
     </url>
     <url>
     <url>
         <loc>https://semi.design/en-US/navigation/navigation</loc>
         <loc>https://semi.design/en-US/navigation/navigation</loc>
-        <lastmod>2023-10-30T13:30:31.000Z</lastmod>
+        <lastmod>2023-11-07T03:08:19.000Z</lastmod>
         <changefreq>weekly</changefreq>
         <changefreq>weekly</changefreq>
     </url>
     </url>
     <url>
     <url>
         <loc>https://semi.design/en-US/navigation/pagination</loc>
         <loc>https://semi.design/en-US/navigation/pagination</loc>
-        <lastmod>2023-10-30T13:30:31.000Z</lastmod>
+        <lastmod>2023-11-07T03:08:19.000Z</lastmod>
         <changefreq>weekly</changefreq>
         <changefreq>weekly</changefreq>
     </url>
     </url>
     <url>
     <url>
         <loc>https://semi.design/en-US/navigation/steps</loc>
         <loc>https://semi.design/en-US/navigation/steps</loc>
-        <lastmod>2023-10-30T13:30:31.000Z</lastmod>
+        <lastmod>2023-11-07T03:08:19.000Z</lastmod>
         <changefreq>weekly</changefreq>
         <changefreq>weekly</changefreq>
     </url>
     </url>
     <url>
     <url>
         <loc>https://semi.design/en-US/navigation/tabs</loc>
         <loc>https://semi.design/en-US/navigation/tabs</loc>
-        <lastmod>2023-10-30T13:30:31.000Z</lastmod>
+        <lastmod>2023-11-07T03:08:19.000Z</lastmod>
         <changefreq>weekly</changefreq>
         <changefreq>weekly</changefreq>
     </url>
     </url>
     <url>
     <url>
         <loc>https://semi.design/en-US/navigation/tree</loc>
         <loc>https://semi.design/en-US/navigation/tree</loc>
-        <lastmod>2023-10-30T13:30:31.000Z</lastmod>
+        <lastmod>2023-11-07T03:08:19.000Z</lastmod>
         <changefreq>weekly</changefreq>
         <changefreq>weekly</changefreq>
     </url>
     </url>
     <url>
     <url>
         <loc>https://semi.design/en-US/other/configprovider</loc>
         <loc>https://semi.design/en-US/other/configprovider</loc>
-        <lastmod>2023-10-30T13:30:31.000Z</lastmod>
+        <lastmod>2023-11-07T03:08:19.000Z</lastmod>
         <changefreq>weekly</changefreq>
         <changefreq>weekly</changefreq>
     </url>
     </url>
     <url>
     <url>
         <loc>https://semi.design/en-US/other/locale</loc>
         <loc>https://semi.design/en-US/other/locale</loc>
-        <lastmod>2023-10-30T13:30:31.000Z</lastmod>
+        <lastmod>2023-11-07T03:08:19.000Z</lastmod>
         <changefreq>weekly</changefreq>
         <changefreq>weekly</changefreq>
     </url>
     </url>
     <url>
     <url>
         <loc>https://semi.design/en-US/show/avatar</loc>
         <loc>https://semi.design/en-US/show/avatar</loc>
-        <lastmod>2023-10-30T13:30:31.000Z</lastmod>
+        <lastmod>2023-11-07T03:08:19.000Z</lastmod>
         <changefreq>weekly</changefreq>
         <changefreq>weekly</changefreq>
     </url>
     </url>
     <url>
     <url>
         <loc>https://semi.design/en-US/show/badge</loc>
         <loc>https://semi.design/en-US/show/badge</loc>
-        <lastmod>2023-10-30T13:30:31.000Z</lastmod>
+        <lastmod>2023-11-07T03:08:19.000Z</lastmod>
         <changefreq>weekly</changefreq>
         <changefreq>weekly</changefreq>
     </url>
     </url>
     <url>
     <url>
         <loc>https://semi.design/en-US/show/calendar</loc>
         <loc>https://semi.design/en-US/show/calendar</loc>
-        <lastmod>2023-10-30T13:30:31.000Z</lastmod>
+        <lastmod>2023-11-07T03:08:19.000Z</lastmod>
         <changefreq>weekly</changefreq>
         <changefreq>weekly</changefreq>
     </url>
     </url>
     <url>
     <url>
         <loc>https://semi.design/en-US/show/card</loc>
         <loc>https://semi.design/en-US/show/card</loc>
-        <lastmod>2023-10-30T13:30:31.000Z</lastmod>
+        <lastmod>2023-11-07T03:08:19.000Z</lastmod>
         <changefreq>weekly</changefreq>
         <changefreq>weekly</changefreq>
     </url>
     </url>
     <url>
     <url>
         <loc>https://semi.design/en-US/show/carousel</loc>
         <loc>https://semi.design/en-US/show/carousel</loc>
-        <lastmod>2023-10-30T13:30:31.000Z</lastmod>
+        <lastmod>2023-11-07T03:08:19.000Z</lastmod>
         <changefreq>weekly</changefreq>
         <changefreq>weekly</changefreq>
     </url>
     </url>
     <url>
     <url>
         <loc>https://semi.design/en-US/show/collapse</loc>
         <loc>https://semi.design/en-US/show/collapse</loc>
-        <lastmod>2023-10-30T13:30:31.000Z</lastmod>
+        <lastmod>2023-11-07T03:08:19.000Z</lastmod>
         <changefreq>weekly</changefreq>
         <changefreq>weekly</changefreq>
     </url>
     </url>
     <url>
     <url>
         <loc>https://semi.design/en-US/show/collapsible</loc>
         <loc>https://semi.design/en-US/show/collapsible</loc>
-        <lastmod>2023-10-30T13:30:31.000Z</lastmod>
+        <lastmod>2023-11-07T03:08:19.000Z</lastmod>
         <changefreq>weekly</changefreq>
         <changefreq>weekly</changefreq>
     </url>
     </url>
     <url>
     <url>
         <loc>https://semi.design/en-US/show/descriptions</loc>
         <loc>https://semi.design/en-US/show/descriptions</loc>
-        <lastmod>2023-10-30T13:30:31.000Z</lastmod>
+        <lastmod>2023-11-07T03:08:19.000Z</lastmod>
         <changefreq>weekly</changefreq>
         <changefreq>weekly</changefreq>
     </url>
     </url>
     <url>
     <url>
         <loc>https://semi.design/en-US/show/dropdown</loc>
         <loc>https://semi.design/en-US/show/dropdown</loc>
-        <lastmod>2023-10-30T13:30:31.000Z</lastmod>
+        <lastmod>2023-11-07T03:08:19.000Z</lastmod>
         <changefreq>weekly</changefreq>
         <changefreq>weekly</changefreq>
     </url>
     </url>
     <url>
     <url>
         <loc>https://semi.design/en-US/show/empty</loc>
         <loc>https://semi.design/en-US/show/empty</loc>
-        <lastmod>2023-10-30T13:30:31.000Z</lastmod>
+        <lastmod>2023-11-07T03:08:19.000Z</lastmod>
         <changefreq>weekly</changefreq>
         <changefreq>weekly</changefreq>
     </url>
     </url>
     <url>
     <url>
         <loc>https://semi.design/en-US/show/highlight</loc>
         <loc>https://semi.design/en-US/show/highlight</loc>
-        <lastmod>2023-10-30T13:30:31.000Z</lastmod>
+        <lastmod>2023-11-07T03:08:19.000Z</lastmod>
         <changefreq>weekly</changefreq>
         <changefreq>weekly</changefreq>
     </url>
     </url>
     <url>
     <url>
         <loc>https://semi.design/en-US/show/image</loc>
         <loc>https://semi.design/en-US/show/image</loc>
-        <lastmod>2023-10-30T13:30:31.000Z</lastmod>
+        <lastmod>2023-11-07T03:08:19.000Z</lastmod>
         <changefreq>weekly</changefreq>
         <changefreq>weekly</changefreq>
     </url>
     </url>
     <url>
     <url>
         <loc>https://semi.design/en-US/show/list</loc>
         <loc>https://semi.design/en-US/show/list</loc>
-        <lastmod>2023-10-30T13:30:31.000Z</lastmod>
+        <lastmod>2023-11-07T03:08:19.000Z</lastmod>
         <changefreq>weekly</changefreq>
         <changefreq>weekly</changefreq>
     </url>
     </url>
     <url>
     <url>
         <loc>https://semi.design/en-US/show/modal</loc>
         <loc>https://semi.design/en-US/show/modal</loc>
-        <lastmod>2023-10-30T13:30:31.000Z</lastmod>
+        <lastmod>2023-11-07T03:08:19.000Z</lastmod>
         <changefreq>weekly</changefreq>
         <changefreq>weekly</changefreq>
     </url>
     </url>
     <url>
     <url>
         <loc>https://semi.design/en-US/show/overflowlist</loc>
         <loc>https://semi.design/en-US/show/overflowlist</loc>
-        <lastmod>2023-10-30T13:30:31.000Z</lastmod>
+        <lastmod>2023-11-07T03:08:19.000Z</lastmod>
         <changefreq>weekly</changefreq>
         <changefreq>weekly</changefreq>
     </url>
     </url>
     <url>
     <url>
         <loc>https://semi.design/en-US/show/popover</loc>
         <loc>https://semi.design/en-US/show/popover</loc>
-        <lastmod>2023-10-30T13:30:31.000Z</lastmod>
+        <lastmod>2023-11-07T03:08:19.000Z</lastmod>
         <changefreq>weekly</changefreq>
         <changefreq>weekly</changefreq>
     </url>
     </url>
     <url>
     <url>
         <loc>https://semi.design/en-US/show/scrolllist</loc>
         <loc>https://semi.design/en-US/show/scrolllist</loc>
-        <lastmod>2023-10-30T13:30:31.000Z</lastmod>
+        <lastmod>2023-11-07T03:08:19.000Z</lastmod>
         <changefreq>weekly</changefreq>
         <changefreq>weekly</changefreq>
     </url>
     </url>
     <url>
     <url>
         <loc>https://semi.design/en-US/show/sidesheet</loc>
         <loc>https://semi.design/en-US/show/sidesheet</loc>
-        <lastmod>2023-10-30T13:30:31.000Z</lastmod>
+        <lastmod>2023-11-07T03:08:19.000Z</lastmod>
         <changefreq>weekly</changefreq>
         <changefreq>weekly</changefreq>
     </url>
     </url>
     <url>
     <url>
         <loc>https://semi.design/en-US/show/table</loc>
         <loc>https://semi.design/en-US/show/table</loc>
-        <lastmod>2023-10-30T13:30:31.000Z</lastmod>
+        <lastmod>2023-11-07T03:08:19.000Z</lastmod>
         <changefreq>weekly</changefreq>
         <changefreq>weekly</changefreq>
     </url>
     </url>
     <url>
     <url>
         <loc>https://semi.design/en-US/show/tag</loc>
         <loc>https://semi.design/en-US/show/tag</loc>
-        <lastmod>2023-10-30T13:30:31.000Z</lastmod>
+        <lastmod>2023-11-07T03:08:19.000Z</lastmod>
         <changefreq>weekly</changefreq>
         <changefreq>weekly</changefreq>
     </url>
     </url>
     <url>
     <url>
         <loc>https://semi.design/en-US/show/timeline</loc>
         <loc>https://semi.design/en-US/show/timeline</loc>
-        <lastmod>2023-10-30T13:30:31.000Z</lastmod>
+        <lastmod>2023-11-07T03:08:19.000Z</lastmod>
         <changefreq>weekly</changefreq>
         <changefreq>weekly</changefreq>
     </url>
     </url>
     <url>
     <url>
         <loc>https://semi.design/en-US/show/tooltip</loc>
         <loc>https://semi.design/en-US/show/tooltip</loc>
-        <lastmod>2023-10-30T13:30:31.000Z</lastmod>
+        <lastmod>2023-11-07T03:08:19.000Z</lastmod>
         <changefreq>weekly</changefreq>
         <changefreq>weekly</changefreq>
     </url>
     </url>
     <url>
     <url>
         <loc>https://semi.design/en-US/start/accessibility</loc>
         <loc>https://semi.design/en-US/start/accessibility</loc>
-        <lastmod>2023-10-30T13:30:31.000Z</lastmod>
+        <lastmod>2023-11-07T03:08:19.000Z</lastmod>
         <changefreq>weekly</changefreq>
         <changefreq>weekly</changefreq>
     </url>
     </url>
     <url>
     <url>
         <loc>https://semi.design/en-US/start/changelog</loc>
         <loc>https://semi.design/en-US/start/changelog</loc>
-        <lastmod>2023-10-30T13:30:31.000Z</lastmod>
+        <lastmod>2023-11-07T03:08:19.000Z</lastmod>
         <changefreq>weekly</changefreq>
         <changefreq>weekly</changefreq>
     </url>
     </url>
     <url>
     <url>
         <loc>https://semi.design/en-US/start/customize-theme</loc>
         <loc>https://semi.design/en-US/start/customize-theme</loc>
-        <lastmod>2023-10-30T13:30:31.000Z</lastmod>
+        <lastmod>2023-11-07T03:08:19.000Z</lastmod>
         <changefreq>weekly</changefreq>
         <changefreq>weekly</changefreq>
     </url>
     </url>
     <url>
     <url>
         <loc>https://semi.design/en-US/start/dark-mode</loc>
         <loc>https://semi.design/en-US/start/dark-mode</loc>
-        <lastmod>2023-10-30T13:30:31.000Z</lastmod>
+        <lastmod>2023-11-07T03:08:19.000Z</lastmod>
         <changefreq>weekly</changefreq>
         <changefreq>weekly</changefreq>
     </url>
     </url>
     <url>
     <url>
         <loc>https://semi.design/en-US/start/faq</loc>
         <loc>https://semi.design/en-US/start/faq</loc>
-        <lastmod>2023-10-30T13:30:31.000Z</lastmod>
+        <lastmod>2023-11-07T03:08:19.000Z</lastmod>
         <changefreq>weekly</changefreq>
         <changefreq>weekly</changefreq>
     </url>
     </url>
     <url>
     <url>
         <loc>https://semi.design/en-US/start/getting-started</loc>
         <loc>https://semi.design/en-US/start/getting-started</loc>
-        <lastmod>2023-10-30T13:30:31.000Z</lastmod>
+        <lastmod>2023-11-07T03:08:19.000Z</lastmod>
         <changefreq>weekly</changefreq>
         <changefreq>weekly</changefreq>
     </url>
     </url>
     <url>
     <url>
         <loc>https://semi.design/en-US/start/introduction</loc>
         <loc>https://semi.design/en-US/start/introduction</loc>
-        <lastmod>2023-10-30T13:30:31.000Z</lastmod>
+        <lastmod>2023-11-07T03:08:19.000Z</lastmod>
         <changefreq>weekly</changefreq>
         <changefreq>weekly</changefreq>
     </url>
     </url>
     <url>
     <url>
         <loc>https://semi.design/en-US/start/overview</loc>
         <loc>https://semi.design/en-US/start/overview</loc>
-        <lastmod>2023-10-30T13:30:31.000Z</lastmod>
+        <lastmod>2023-11-07T03:08:19.000Z</lastmod>
         <changefreq>weekly</changefreq>
         <changefreq>weekly</changefreq>
     </url>
     </url>
     <url>
     <url>
         <loc>https://semi.design/en-US/start/update-to-v2</loc>
         <loc>https://semi.design/en-US/start/update-to-v2</loc>
-        <lastmod>2023-10-30T13:30:31.000Z</lastmod>
+        <lastmod>2023-11-07T03:08:19.000Z</lastmod>
         <changefreq>weekly</changefreq>
         <changefreq>weekly</changefreq>
     </url>
     </url>
     <url>
     <url>
         <loc>https://semi.design/zh-CN/basic/divider</loc>
         <loc>https://semi.design/zh-CN/basic/divider</loc>
-        <lastmod>2023-10-30T13:30:31.000Z</lastmod>
+        <lastmod>2023-11-07T03:08:19.000Z</lastmod>
         <changefreq>weekly</changefreq>
         <changefreq>weekly</changefreq>
     </url>
     </url>
     <url>
     <url>
         <loc>https://semi.design/zh-CN/basic/grid</loc>
         <loc>https://semi.design/zh-CN/basic/grid</loc>
-        <lastmod>2023-10-30T13:30:31.000Z</lastmod>
+        <lastmod>2023-11-07T03:08:19.000Z</lastmod>
         <changefreq>weekly</changefreq>
         <changefreq>weekly</changefreq>
     </url>
     </url>
     <url>
     <url>
         <loc>https://semi.design/zh-CN/basic/icon</loc>
         <loc>https://semi.design/zh-CN/basic/icon</loc>
-        <lastmod>2023-10-30T13:30:31.000Z</lastmod>
+        <lastmod>2023-11-07T03:08:19.000Z</lastmod>
         <changefreq>weekly</changefreq>
         <changefreq>weekly</changefreq>
     </url>
     </url>
     <url>
     <url>
         <loc>https://semi.design/zh-CN/basic/layout</loc>
         <loc>https://semi.design/zh-CN/basic/layout</loc>
-        <lastmod>2023-10-30T13:30:31.000Z</lastmod>
+        <lastmod>2023-11-07T03:08:19.000Z</lastmod>
         <changefreq>weekly</changefreq>
         <changefreq>weekly</changefreq>
     </url>
     </url>
     <url>
     <url>
         <loc>https://semi.design/zh-CN/basic/space</loc>
         <loc>https://semi.design/zh-CN/basic/space</loc>
-        <lastmod>2023-10-30T13:30:31.000Z</lastmod>
+        <lastmod>2023-11-07T03:08:19.000Z</lastmod>
         <changefreq>weekly</changefreq>
         <changefreq>weekly</changefreq>
     </url>
     </url>
     <url>
     <url>
         <loc>https://semi.design/zh-CN/basic/tokens</loc>
         <loc>https://semi.design/zh-CN/basic/tokens</loc>
-        <lastmod>2023-10-30T13:30:31.000Z</lastmod>
+        <lastmod>2023-11-07T03:08:19.000Z</lastmod>
         <changefreq>weekly</changefreq>
         <changefreq>weekly</changefreq>
     </url>
     </url>
     <url>
     <url>
         <loc>https://semi.design/zh-CN/basic/typography</loc>
         <loc>https://semi.design/zh-CN/basic/typography</loc>
-        <lastmod>2023-10-30T13:30:31.000Z</lastmod>
+        <lastmod>2023-11-07T03:08:19.000Z</lastmod>
         <changefreq>weekly</changefreq>
         <changefreq>weekly</changefreq>
     </url>
     </url>
     <url>
     <url>
         <loc>https://semi.design/zh-CN/feedback/banner</loc>
         <loc>https://semi.design/zh-CN/feedback/banner</loc>
-        <lastmod>2023-10-30T13:30:31.000Z</lastmod>
+        <lastmod>2023-11-07T03:08:19.000Z</lastmod>
         <changefreq>weekly</changefreq>
         <changefreq>weekly</changefreq>
     </url>
     </url>
     <url>
     <url>
         <loc>https://semi.design/zh-CN/feedback/notification</loc>
         <loc>https://semi.design/zh-CN/feedback/notification</loc>
-        <lastmod>2023-10-30T13:30:31.000Z</lastmod>
+        <lastmod>2023-11-07T03:08:19.000Z</lastmod>
         <changefreq>weekly</changefreq>
         <changefreq>weekly</changefreq>
     </url>
     </url>
     <url>
     <url>
         <loc>https://semi.design/zh-CN/feedback/popconfirm</loc>
         <loc>https://semi.design/zh-CN/feedback/popconfirm</loc>
-        <lastmod>2023-10-30T13:30:31.000Z</lastmod>
+        <lastmod>2023-11-07T03:08:19.000Z</lastmod>
         <changefreq>weekly</changefreq>
         <changefreq>weekly</changefreq>
     </url>
     </url>
     <url>
     <url>
         <loc>https://semi.design/zh-CN/feedback/progress</loc>
         <loc>https://semi.design/zh-CN/feedback/progress</loc>
-        <lastmod>2023-10-30T13:30:31.000Z</lastmod>
+        <lastmod>2023-11-07T03:08:19.000Z</lastmod>
         <changefreq>weekly</changefreq>
         <changefreq>weekly</changefreq>
     </url>
     </url>
     <url>
     <url>
         <loc>https://semi.design/zh-CN/feedback/skeleton</loc>
         <loc>https://semi.design/zh-CN/feedback/skeleton</loc>
-        <lastmod>2023-10-30T13:30:31.000Z</lastmod>
+        <lastmod>2023-11-07T03:08:19.000Z</lastmod>
         <changefreq>weekly</changefreq>
         <changefreq>weekly</changefreq>
     </url>
     </url>
     <url>
     <url>
         <loc>https://semi.design/zh-CN/feedback/spin</loc>
         <loc>https://semi.design/zh-CN/feedback/spin</loc>
-        <lastmod>2023-10-30T13:30:31.000Z</lastmod>
+        <lastmod>2023-11-07T03:08:19.000Z</lastmod>
         <changefreq>weekly</changefreq>
         <changefreq>weekly</changefreq>
     </url>
     </url>
     <url>
     <url>
         <loc>https://semi.design/zh-CN/feedback/toast</loc>
         <loc>https://semi.design/zh-CN/feedback/toast</loc>
-        <lastmod>2023-10-30T13:30:31.000Z</lastmod>
+        <lastmod>2023-11-07T03:08:19.000Z</lastmod>
         <changefreq>weekly</changefreq>
         <changefreq>weekly</changefreq>
     </url>
     </url>
     <url>
     <url>
         <loc>https://semi.design/zh-CN/input/autocomplete</loc>
         <loc>https://semi.design/zh-CN/input/autocomplete</loc>
-        <lastmod>2023-10-30T13:30:31.000Z</lastmod>
+        <lastmod>2023-11-07T03:08:19.000Z</lastmod>
         <changefreq>weekly</changefreq>
         <changefreq>weekly</changefreq>
     </url>
     </url>
     <url>
     <url>
         <loc>https://semi.design/zh-CN/input/button</loc>
         <loc>https://semi.design/zh-CN/input/button</loc>
-        <lastmod>2023-10-30T13:30:31.000Z</lastmod>
+        <lastmod>2023-11-07T03:08:19.000Z</lastmod>
         <changefreq>weekly</changefreq>
         <changefreq>weekly</changefreq>
     </url>
     </url>
     <url>
     <url>
         <loc>https://semi.design/zh-CN/input/cascader</loc>
         <loc>https://semi.design/zh-CN/input/cascader</loc>
-        <lastmod>2023-10-30T13:30:31.000Z</lastmod>
+        <lastmod>2023-11-07T03:08:19.000Z</lastmod>
         <changefreq>weekly</changefreq>
         <changefreq>weekly</changefreq>
     </url>
     </url>
     <url>
     <url>
         <loc>https://semi.design/zh-CN/input/checkbox</loc>
         <loc>https://semi.design/zh-CN/input/checkbox</loc>
-        <lastmod>2023-10-30T13:30:31.000Z</lastmod>
+        <lastmod>2023-11-07T03:08:19.000Z</lastmod>
         <changefreq>weekly</changefreq>
         <changefreq>weekly</changefreq>
     </url>
     </url>
     <url>
     <url>
         <loc>https://semi.design/zh-CN/input/datepicker</loc>
         <loc>https://semi.design/zh-CN/input/datepicker</loc>
-        <lastmod>2023-10-30T13:30:31.000Z</lastmod>
+        <lastmod>2023-11-07T03:08:19.000Z</lastmod>
         <changefreq>weekly</changefreq>
         <changefreq>weekly</changefreq>
     </url>
     </url>
     <url>
     <url>
         <loc>https://semi.design/zh-CN/input/form</loc>
         <loc>https://semi.design/zh-CN/input/form</loc>
-        <lastmod>2023-10-30T13:30:31.000Z</lastmod>
+        <lastmod>2023-11-07T03:08:19.000Z</lastmod>
         <changefreq>weekly</changefreq>
         <changefreq>weekly</changefreq>
     </url>
     </url>
     <url>
     <url>
         <loc>https://semi.design/zh-CN/input/input</loc>
         <loc>https://semi.design/zh-CN/input/input</loc>
-        <lastmod>2023-10-30T13:30:31.000Z</lastmod>
+        <lastmod>2023-11-07T03:08:19.000Z</lastmod>
         <changefreq>weekly</changefreq>
         <changefreq>weekly</changefreq>
     </url>
     </url>
     <url>
     <url>
         <loc>https://semi.design/zh-CN/input/inputnumber</loc>
         <loc>https://semi.design/zh-CN/input/inputnumber</loc>
-        <lastmod>2023-10-30T13:30:31.000Z</lastmod>
+        <lastmod>2023-11-07T03:08:19.000Z</lastmod>
         <changefreq>weekly</changefreq>
         <changefreq>weekly</changefreq>
     </url>
     </url>
     <url>
     <url>
         <loc>https://semi.design/zh-CN/input/radio</loc>
         <loc>https://semi.design/zh-CN/input/radio</loc>
-        <lastmod>2023-10-30T13:30:31.000Z</lastmod>
+        <lastmod>2023-11-07T03:08:19.000Z</lastmod>
         <changefreq>weekly</changefreq>
         <changefreq>weekly</changefreq>
     </url>
     </url>
     <url>
     <url>
         <loc>https://semi.design/zh-CN/input/rating</loc>
         <loc>https://semi.design/zh-CN/input/rating</loc>
-        <lastmod>2023-10-30T13:30:31.000Z</lastmod>
+        <lastmod>2023-11-07T03:08:19.000Z</lastmod>
         <changefreq>weekly</changefreq>
         <changefreq>weekly</changefreq>
     </url>
     </url>
     <url>
     <url>
         <loc>https://semi.design/zh-CN/input/select</loc>
         <loc>https://semi.design/zh-CN/input/select</loc>
-        <lastmod>2023-10-30T13:30:31.000Z</lastmod>
+        <lastmod>2023-11-07T03:08:19.000Z</lastmod>
         <changefreq>weekly</changefreq>
         <changefreq>weekly</changefreq>
     </url>
     </url>
     <url>
     <url>
         <loc>https://semi.design/zh-CN/input/slider</loc>
         <loc>https://semi.design/zh-CN/input/slider</loc>
-        <lastmod>2023-10-30T13:30:31.000Z</lastmod>
+        <lastmod>2023-11-07T03:08:19.000Z</lastmod>
         <changefreq>weekly</changefreq>
         <changefreq>weekly</changefreq>
     </url>
     </url>
     <url>
     <url>
         <loc>https://semi.design/zh-CN/input/switch</loc>
         <loc>https://semi.design/zh-CN/input/switch</loc>
-        <lastmod>2023-10-30T13:30:31.000Z</lastmod>
+        <lastmod>2023-11-07T03:08:19.000Z</lastmod>
         <changefreq>weekly</changefreq>
         <changefreq>weekly</changefreq>
     </url>
     </url>
     <url>
     <url>
         <loc>https://semi.design/zh-CN/input/taginput</loc>
         <loc>https://semi.design/zh-CN/input/taginput</loc>
-        <lastmod>2023-10-30T13:30:31.000Z</lastmod>
+        <lastmod>2023-11-07T03:08:19.000Z</lastmod>
         <changefreq>weekly</changefreq>
         <changefreq>weekly</changefreq>
     </url>
     </url>
     <url>
     <url>
         <loc>https://semi.design/zh-CN/input/timepicker</loc>
         <loc>https://semi.design/zh-CN/input/timepicker</loc>
-        <lastmod>2023-10-30T13:30:31.000Z</lastmod>
+        <lastmod>2023-11-07T03:08:19.000Z</lastmod>
         <changefreq>weekly</changefreq>
         <changefreq>weekly</changefreq>
     </url>
     </url>
     <url>
     <url>
         <loc>https://semi.design/zh-CN/input/transfer</loc>
         <loc>https://semi.design/zh-CN/input/transfer</loc>
-        <lastmod>2023-10-30T13:30:31.000Z</lastmod>
+        <lastmod>2023-11-07T03:08:19.000Z</lastmod>
         <changefreq>weekly</changefreq>
         <changefreq>weekly</changefreq>
     </url>
     </url>
     <url>
     <url>
         <loc>https://semi.design/zh-CN/input/treeselect</loc>
         <loc>https://semi.design/zh-CN/input/treeselect</loc>
-        <lastmod>2023-10-30T13:30:31.000Z</lastmod>
+        <lastmod>2023-11-07T03:08:19.000Z</lastmod>
         <changefreq>weekly</changefreq>
         <changefreq>weekly</changefreq>
     </url>
     </url>
     <url>
     <url>
         <loc>https://semi.design/zh-CN/input/upload</loc>
         <loc>https://semi.design/zh-CN/input/upload</loc>
-        <lastmod>2023-10-30T13:30:31.000Z</lastmod>
+        <lastmod>2023-11-07T03:08:19.000Z</lastmod>
         <changefreq>weekly</changefreq>
         <changefreq>weekly</changefreq>
     </url>
     </url>
     <url>
     <url>
         <loc>https://semi.design/zh-CN/navigation/anchor</loc>
         <loc>https://semi.design/zh-CN/navigation/anchor</loc>
-        <lastmod>2023-10-30T13:30:31.000Z</lastmod>
+        <lastmod>2023-11-07T03:08:19.000Z</lastmod>
         <changefreq>weekly</changefreq>
         <changefreq>weekly</changefreq>
     </url>
     </url>
     <url>
     <url>
         <loc>https://semi.design/zh-CN/navigation/backtop</loc>
         <loc>https://semi.design/zh-CN/navigation/backtop</loc>
-        <lastmod>2023-10-30T13:30:31.000Z</lastmod>
+        <lastmod>2023-11-07T03:08:19.000Z</lastmod>
         <changefreq>weekly</changefreq>
         <changefreq>weekly</changefreq>
     </url>
     </url>
     <url>
     <url>
         <loc>https://semi.design/zh-CN/navigation/breadcrumb</loc>
         <loc>https://semi.design/zh-CN/navigation/breadcrumb</loc>
-        <lastmod>2023-10-30T13:30:31.000Z</lastmod>
+        <lastmod>2023-11-07T03:08:19.000Z</lastmod>
         <changefreq>weekly</changefreq>
         <changefreq>weekly</changefreq>
     </url>
     </url>
     <url>
     <url>
         <loc>https://semi.design/zh-CN/navigation/navigation</loc>
         <loc>https://semi.design/zh-CN/navigation/navigation</loc>
-        <lastmod>2023-10-30T13:30:31.000Z</lastmod>
+        <lastmod>2023-11-07T03:08:19.000Z</lastmod>
         <changefreq>weekly</changefreq>
         <changefreq>weekly</changefreq>
     </url>
     </url>
     <url>
     <url>
         <loc>https://semi.design/zh-CN/navigation/pagination</loc>
         <loc>https://semi.design/zh-CN/navigation/pagination</loc>
-        <lastmod>2023-10-30T13:30:31.000Z</lastmod>
+        <lastmod>2023-11-07T03:08:19.000Z</lastmod>
         <changefreq>weekly</changefreq>
         <changefreq>weekly</changefreq>
     </url>
     </url>
     <url>
     <url>
         <loc>https://semi.design/zh-CN/navigation/steps</loc>
         <loc>https://semi.design/zh-CN/navigation/steps</loc>
-        <lastmod>2023-10-30T13:30:31.000Z</lastmod>
+        <lastmod>2023-11-07T03:08:19.000Z</lastmod>
         <changefreq>weekly</changefreq>
         <changefreq>weekly</changefreq>
     </url>
     </url>
     <url>
     <url>
         <loc>https://semi.design/zh-CN/navigation/tabs</loc>
         <loc>https://semi.design/zh-CN/navigation/tabs</loc>
-        <lastmod>2023-10-30T13:30:31.000Z</lastmod>
+        <lastmod>2023-11-07T03:08:19.000Z</lastmod>
         <changefreq>weekly</changefreq>
         <changefreq>weekly</changefreq>
     </url>
     </url>
     <url>
     <url>
         <loc>https://semi.design/zh-CN/navigation/tree</loc>
         <loc>https://semi.design/zh-CN/navigation/tree</loc>
-        <lastmod>2023-10-30T13:30:31.000Z</lastmod>
+        <lastmod>2023-11-07T03:08:19.000Z</lastmod>
         <changefreq>weekly</changefreq>
         <changefreq>weekly</changefreq>
     </url>
     </url>
     <url>
     <url>
         <loc>https://semi.design/zh-CN/other/configprovider</loc>
         <loc>https://semi.design/zh-CN/other/configprovider</loc>
-        <lastmod>2023-10-30T13:30:31.000Z</lastmod>
+        <lastmod>2023-11-07T03:08:19.000Z</lastmod>
         <changefreq>weekly</changefreq>
         <changefreq>weekly</changefreq>
     </url>
     </url>
     <url>
     <url>
         <loc>https://semi.design/zh-CN/other/locale</loc>
         <loc>https://semi.design/zh-CN/other/locale</loc>
-        <lastmod>2023-10-30T13:30:31.000Z</lastmod>
+        <lastmod>2023-11-07T03:08:19.000Z</lastmod>
         <changefreq>weekly</changefreq>
         <changefreq>weekly</changefreq>
     </url>
     </url>
     <url>
     <url>
         <loc>https://semi.design/zh-CN/show/avatar</loc>
         <loc>https://semi.design/zh-CN/show/avatar</loc>
-        <lastmod>2023-10-30T13:30:31.000Z</lastmod>
+        <lastmod>2023-11-07T03:08:19.000Z</lastmod>
         <changefreq>weekly</changefreq>
         <changefreq>weekly</changefreq>
     </url>
     </url>
     <url>
     <url>
         <loc>https://semi.design/zh-CN/show/badge</loc>
         <loc>https://semi.design/zh-CN/show/badge</loc>
-        <lastmod>2023-10-30T13:30:31.000Z</lastmod>
+        <lastmod>2023-11-07T03:08:19.000Z</lastmod>
         <changefreq>weekly</changefreq>
         <changefreq>weekly</changefreq>
     </url>
     </url>
     <url>
     <url>
         <loc>https://semi.design/zh-CN/show/calendar</loc>
         <loc>https://semi.design/zh-CN/show/calendar</loc>
-        <lastmod>2023-10-30T13:30:31.000Z</lastmod>
+        <lastmod>2023-11-07T03:08:19.000Z</lastmod>
         <changefreq>weekly</changefreq>
         <changefreq>weekly</changefreq>
     </url>
     </url>
     <url>
     <url>
         <loc>https://semi.design/zh-CN/show/card</loc>
         <loc>https://semi.design/zh-CN/show/card</loc>
-        <lastmod>2023-10-30T13:30:31.000Z</lastmod>
+        <lastmod>2023-11-07T03:08:19.000Z</lastmod>
         <changefreq>weekly</changefreq>
         <changefreq>weekly</changefreq>
     </url>
     </url>
     <url>
     <url>
         <loc>https://semi.design/zh-CN/show/carousel</loc>
         <loc>https://semi.design/zh-CN/show/carousel</loc>
-        <lastmod>2023-10-30T13:30:31.000Z</lastmod>
+        <lastmod>2023-11-07T03:08:19.000Z</lastmod>
         <changefreq>weekly</changefreq>
         <changefreq>weekly</changefreq>
     </url>
     </url>
     <url>
     <url>
         <loc>https://semi.design/zh-CN/show/collapse</loc>
         <loc>https://semi.design/zh-CN/show/collapse</loc>
-        <lastmod>2023-10-30T13:30:31.000Z</lastmod>
+        <lastmod>2023-11-07T03:08:19.000Z</lastmod>
         <changefreq>weekly</changefreq>
         <changefreq>weekly</changefreq>
     </url>
     </url>
     <url>
     <url>
         <loc>https://semi.design/zh-CN/show/collapsible</loc>
         <loc>https://semi.design/zh-CN/show/collapsible</loc>
-        <lastmod>2023-10-30T13:30:31.000Z</lastmod>
+        <lastmod>2023-11-07T03:08:19.000Z</lastmod>
         <changefreq>weekly</changefreq>
         <changefreq>weekly</changefreq>
     </url>
     </url>
     <url>
     <url>
         <loc>https://semi.design/zh-CN/show/descriptions</loc>
         <loc>https://semi.design/zh-CN/show/descriptions</loc>
-        <lastmod>2023-10-30T13:30:31.000Z</lastmod>
+        <lastmod>2023-11-07T03:08:19.000Z</lastmod>
         <changefreq>weekly</changefreq>
         <changefreq>weekly</changefreq>
     </url>
     </url>
     <url>
     <url>
         <loc>https://semi.design/zh-CN/show/dropdown</loc>
         <loc>https://semi.design/zh-CN/show/dropdown</loc>
-        <lastmod>2023-10-30T13:30:31.000Z</lastmod>
+        <lastmod>2023-11-07T03:08:19.000Z</lastmod>
         <changefreq>weekly</changefreq>
         <changefreq>weekly</changefreq>
     </url>
     </url>
     <url>
     <url>
         <loc>https://semi.design/zh-CN/show/empty</loc>
         <loc>https://semi.design/zh-CN/show/empty</loc>
-        <lastmod>2023-10-30T13:30:31.000Z</lastmod>
+        <lastmod>2023-11-07T03:08:19.000Z</lastmod>
         <changefreq>weekly</changefreq>
         <changefreq>weekly</changefreq>
     </url>
     </url>
     <url>
     <url>
         <loc>https://semi.design/zh-CN/show/highlight</loc>
         <loc>https://semi.design/zh-CN/show/highlight</loc>
-        <lastmod>2023-10-30T13:30:31.000Z</lastmod>
+        <lastmod>2023-11-07T03:08:19.000Z</lastmod>
         <changefreq>weekly</changefreq>
         <changefreq>weekly</changefreq>
     </url>
     </url>
     <url>
     <url>
         <loc>https://semi.design/zh-CN/show/image</loc>
         <loc>https://semi.design/zh-CN/show/image</loc>
-        <lastmod>2023-10-30T13:30:31.000Z</lastmod>
+        <lastmod>2023-11-07T03:08:19.000Z</lastmod>
         <changefreq>weekly</changefreq>
         <changefreq>weekly</changefreq>
     </url>
     </url>
     <url>
     <url>
         <loc>https://semi.design/zh-CN/show/list</loc>
         <loc>https://semi.design/zh-CN/show/list</loc>
-        <lastmod>2023-10-30T13:30:31.000Z</lastmod>
+        <lastmod>2023-11-07T03:08:19.000Z</lastmod>
         <changefreq>weekly</changefreq>
         <changefreq>weekly</changefreq>
     </url>
     </url>
     <url>
     <url>
         <loc>https://semi.design/zh-CN/show/modal</loc>
         <loc>https://semi.design/zh-CN/show/modal</loc>
-        <lastmod>2023-10-30T13:30:31.000Z</lastmod>
+        <lastmod>2023-11-07T03:08:19.000Z</lastmod>
         <changefreq>weekly</changefreq>
         <changefreq>weekly</changefreq>
     </url>
     </url>
     <url>
     <url>
         <loc>https://semi.design/zh-CN/show/overflowlist</loc>
         <loc>https://semi.design/zh-CN/show/overflowlist</loc>
-        <lastmod>2023-10-30T13:30:31.000Z</lastmod>
+        <lastmod>2023-11-07T03:08:19.000Z</lastmod>
         <changefreq>weekly</changefreq>
         <changefreq>weekly</changefreq>
     </url>
     </url>
     <url>
     <url>
         <loc>https://semi.design/zh-CN/show/popover</loc>
         <loc>https://semi.design/zh-CN/show/popover</loc>
-        <lastmod>2023-10-30T13:30:31.000Z</lastmod>
+        <lastmod>2023-11-07T03:08:19.000Z</lastmod>
         <changefreq>weekly</changefreq>
         <changefreq>weekly</changefreq>
     </url>
     </url>
     <url>
     <url>
         <loc>https://semi.design/zh-CN/show/scrolllist</loc>
         <loc>https://semi.design/zh-CN/show/scrolllist</loc>
-        <lastmod>2023-10-30T13:30:31.000Z</lastmod>
+        <lastmod>2023-11-07T03:08:19.000Z</lastmod>
         <changefreq>weekly</changefreq>
         <changefreq>weekly</changefreq>
     </url>
     </url>
     <url>
     <url>
         <loc>https://semi.design/zh-CN/show/sidesheet</loc>
         <loc>https://semi.design/zh-CN/show/sidesheet</loc>
-        <lastmod>2023-10-30T13:30:31.000Z</lastmod>
+        <lastmod>2023-11-07T03:08:19.000Z</lastmod>
         <changefreq>weekly</changefreq>
         <changefreq>weekly</changefreq>
     </url>
     </url>
     <url>
     <url>
         <loc>https://semi.design/zh-CN/show/table</loc>
         <loc>https://semi.design/zh-CN/show/table</loc>
-        <lastmod>2023-10-30T13:30:31.000Z</lastmod>
+        <lastmod>2023-11-07T03:08:19.000Z</lastmod>
         <changefreq>weekly</changefreq>
         <changefreq>weekly</changefreq>
     </url>
     </url>
     <url>
     <url>
         <loc>https://semi.design/zh-CN/show/tag</loc>
         <loc>https://semi.design/zh-CN/show/tag</loc>
-        <lastmod>2023-10-30T13:30:31.000Z</lastmod>
+        <lastmod>2023-11-07T03:08:19.000Z</lastmod>
         <changefreq>weekly</changefreq>
         <changefreq>weekly</changefreq>
     </url>
     </url>
     <url>
     <url>
         <loc>https://semi.design/zh-CN/show/timeline</loc>
         <loc>https://semi.design/zh-CN/show/timeline</loc>
-        <lastmod>2023-10-30T13:30:31.000Z</lastmod>
+        <lastmod>2023-11-07T03:08:19.000Z</lastmod>
         <changefreq>weekly</changefreq>
         <changefreq>weekly</changefreq>
     </url>
     </url>
     <url>
     <url>
         <loc>https://semi.design/zh-CN/show/tooltip</loc>
         <loc>https://semi.design/zh-CN/show/tooltip</loc>
-        <lastmod>2023-10-30T13:30:31.000Z</lastmod>
+        <lastmod>2023-11-07T03:08:19.000Z</lastmod>
         <changefreq>weekly</changefreq>
         <changefreq>weekly</changefreq>
     </url>
     </url>
     <url>
     <url>
         <loc>https://semi.design/zh-CN/start/accessibility</loc>
         <loc>https://semi.design/zh-CN/start/accessibility</loc>
-        <lastmod>2023-10-30T13:30:31.000Z</lastmod>
+        <lastmod>2023-11-07T03:08:19.000Z</lastmod>
         <changefreq>weekly</changefreq>
         <changefreq>weekly</changefreq>
     </url>
     </url>
     <url>
     <url>
         <loc>https://semi.design/zh-CN/start/changelog</loc>
         <loc>https://semi.design/zh-CN/start/changelog</loc>
-        <lastmod>2023-10-30T13:30:31.000Z</lastmod>
+        <lastmod>2023-11-07T03:08:19.000Z</lastmod>
         <changefreq>weekly</changefreq>
         <changefreq>weekly</changefreq>
     </url>
     </url>
     <url>
     <url>
         <loc>https://semi.design/zh-CN/start/customize-theme</loc>
         <loc>https://semi.design/zh-CN/start/customize-theme</loc>
-        <lastmod>2023-10-30T13:30:31.000Z</lastmod>
+        <lastmod>2023-11-07T03:08:19.000Z</lastmod>
         <changefreq>weekly</changefreq>
         <changefreq>weekly</changefreq>
     </url>
     </url>
     <url>
     <url>
         <loc>https://semi.design/zh-CN/start/dark-mode</loc>
         <loc>https://semi.design/zh-CN/start/dark-mode</loc>
-        <lastmod>2023-10-30T13:30:31.000Z</lastmod>
+        <lastmod>2023-11-07T03:08:19.000Z</lastmod>
         <changefreq>weekly</changefreq>
         <changefreq>weekly</changefreq>
     </url>
     </url>
     <url>
     <url>
         <loc>https://semi.design/zh-CN/start/faq</loc>
         <loc>https://semi.design/zh-CN/start/faq</loc>
-        <lastmod>2023-10-30T13:30:31.000Z</lastmod>
+        <lastmod>2023-11-07T03:08:19.000Z</lastmod>
         <changefreq>weekly</changefreq>
         <changefreq>weekly</changefreq>
     </url>
     </url>
     <url>
     <url>
         <loc>https://semi.design/zh-CN/start/getting-started</loc>
         <loc>https://semi.design/zh-CN/start/getting-started</loc>
-        <lastmod>2023-10-30T13:30:31.000Z</lastmod>
+        <lastmod>2023-11-07T03:08:19.000Z</lastmod>
         <changefreq>weekly</changefreq>
         <changefreq>weekly</changefreq>
     </url>
     </url>
     <url>
     <url>
         <loc>https://semi.design/zh-CN/start/introduction</loc>
         <loc>https://semi.design/zh-CN/start/introduction</loc>
-        <lastmod>2023-10-30T13:30:31.000Z</lastmod>
+        <lastmod>2023-11-07T03:08:19.000Z</lastmod>
         <changefreq>weekly</changefreq>
         <changefreq>weekly</changefreq>
     </url>
     </url>
     <url>
     <url>
         <loc>https://semi.design/zh-CN/start/overview</loc>
         <loc>https://semi.design/zh-CN/start/overview</loc>
-        <lastmod>2023-10-30T13:30:31.000Z</lastmod>
+        <lastmod>2023-11-07T03:08:19.000Z</lastmod>
         <changefreq>weekly</changefreq>
         <changefreq>weekly</changefreq>
     </url>
     </url>
     <url>
     <url>
         <loc>https://semi.design/zh-CN/start/update-to-v2</loc>
         <loc>https://semi.design/zh-CN/start/update-to-v2</loc>
-        <lastmod>2023-10-30T13:30:31.000Z</lastmod>
+        <lastmod>2023-11-07T03:08:19.000Z</lastmod>
         <changefreq>weekly</changefreq>
         <changefreq>weekly</changefreq>
     </url>
     </url>
 </urlset>
 </urlset>

+ 1 - 1
src/components/Footer/index.jsx

@@ -13,7 +13,7 @@ export class Footer extends Component {
         const locale = getLocale();
         const locale = getLocale();
         const { style } = this.props;
         const { style } = this.props;
         return (
         return (
-            <footer className="footer" style={{ ...style, zIndex: 10 }}>
+            <footer className="footer" style={{ ...style, zIndex: 10, overflow: 'hidden' }}>
                 <div className="footer-circle" />
                 <div className="footer-circle" />
                 <div className="footer-link" style={{ width: "inherit" }}>
                 <div className="footer-link" style={{ width: "inherit" }}>
                     {/*<Icon className="footer-icon" type="doc-semi-logo" />*/}
                     {/*<Icon className="footer-icon" type="doc-semi-logo" />*/}

+ 2 - 0
src/locale/en-US.js

@@ -148,6 +148,8 @@ const appLocale = {
         "content_theme_info": "Compatible with diverse brand languages ​​and product forms to avoid meaningless re-creation",
         "content_theme_info": "Compatible with diverse brand languages ​​and product forms to avoid meaningless re-creation",
         "content_d2c": "The evolution of Semi D2C design to code",
         "content_d2c": "The evolution of Semi D2C design to code",
         "content_d2c_info": "Connect designers and developers with advanced tools",
         "content_d2c_info": "Connect designers and developers with advanced tools",
+        "content_d2c_openday": "ByteDance OpenDay Tech Talk",
+        "content_d2c_info_openday": "A Deep Dive into Design to Code",
         "content_test": "How We Test Semi Design Component",
         "content_test": "How We Test Semi Design Component",
         "content_test_info": "Comprehensively use UnitTest, E2E Test, and Visual Test to ensure the stability of the component library",
         "content_test_info": "Comprehensively use UnitTest, E2E Test, and Visual Test to ensure the stability of the component library",
 
 

+ 2 - 0
src/locale/zh-CN.js

@@ -152,6 +152,8 @@ const appLocale = {
         "content_theme_info": "兼容多元的品牌语言和产品形态,避免无意义的重造",
         "content_theme_info": "兼容多元的品牌语言和产品形态,避免无意义的重造",
         "content_d2c": "Semi D2C 设计转代码的演进之路",
         "content_d2c": "Semi D2C 设计转代码的演进之路",
         "content_d2c_info": "用先进的工具连接设计师与开发者",
         "content_d2c_info": "用先进的工具连接设计师与开发者",
+        "content_d2c_openday": "字节跳动开源 OpenDay 主题分享",
+        "content_d2c_info_openday": "D2C 设计稿转代码深度解读",
         "content_test": "Semi Design 如何做质量保障",
         "content_test": "Semi Design 如何做质量保障",
         "content_test_info": "综合运用 Unit Test、E2E Test、Visual Test保障组件库稳定性",
         "content_test_info": "综合运用 Unit Test、E2E Test、Visual Test保障组件库稳定性",
 
 

+ 2 - 2
src/sitePages/newHome/components/banner/banner.jsx

@@ -20,8 +20,8 @@ function Banner() {
                             with</Typography.Text>
                             with</Typography.Text>
                     </div>}
                     </div>}
                     <div style={{ display: 'flex', position: 'relative', top: 30 }}>
                     <div style={{ display: 'flex', position: 'relative', top: 30 }}>
-                        <svg style={{ transform: 'scale(0.8)', color: "var(--react-logo-color)", position: 'absolute', left: -220, top: -26 }} width="100%" height="100%" viewBox="-10.5 -9.45 21 18.9" fill="none" xmlns="http://www.w3.org/2000/svg" className="mt-4 mb-3 text-link dark:text-link-dark w-24 lg:w-28 self-center text-sm me-0 flex origin-center transition-all ease-in-out"><circle cx="0" cy="0" r="2" fill="currentColor"></circle><g stroke="currentColor" strokeWidth="1" fill="none"><ellipse rx="10" ry="4.5"></ellipse><ellipse rx="10" ry="4.5" transform="rotate(60)"></ellipse><ellipse rx="10" ry="4.5" transform="rotate(120)"></ellipse></g></svg>
-                        <svg style={{ transform: "scale(0.06)", position: 'absolute', left: -290, top: -427 }} xmlns="http://www.w3.org/2000/svg" viewBox="0 0 790 876"><path d="m704.9 641.7-305.1 172.6v-134.4l190.1-104.6zm20.9-18.9v-360.9l-111.6 64.5v232zm-657.9 18.9 305.1 172.6v-134.4l-190.2-104.6zm-20.9-18.9v-360.9l111.6 64.5v232zm13.1-384.3 312.9-177v129.9l-200.5 110.3-1.6.9zm652.6 0-312.9-177v129.9l200.5 110.2 1.6.9z" fill="#8ed6fb"/><path d="m373 649.3-187.6-103.2v-204.3l187.6 108.3zm26.8 0 187.6-103.1v-204.4l-187.6 108.3zm-201.7-331.1 188.3-103.5 188.3 103.5-188.3 108.7z" fill="#1c78c0"/></svg>
+                        <svg style={{ transform: 'scale(0.8)', color: "var(--react-logo-color)", position: 'absolute', left: -220, top: -22 }} width="100%" height="100%" viewBox="-10.5 -9.45 21 18.9" fill="none" xmlns="http://www.w3.org/2000/svg" className="mt-4 mb-3 text-link dark:text-link-dark w-24 lg:w-28 self-center text-sm me-0 flex origin-center transition-all ease-in-out"><circle cx="0" cy="0" r="2" fill="currentColor"></circle><g stroke="currentColor" strokeWidth="1" fill="none"><ellipse rx="10" ry="4.5"></ellipse><ellipse rx="10" ry="4.5" transform="rotate(60)"></ellipse><ellipse rx="10" ry="4.5" transform="rotate(120)"></ellipse></g></svg>
+                        <svg style={{ transform: "scale(0.1) translate(-1470px, -2640px)", position: 'absolute' }} xmlns="http://www.w3.org/2000/svg" viewBox="0 0 790 876"><path d="m704.9 641.7-305.1 172.6v-134.4l190.1-104.6zm20.9-18.9v-360.9l-111.6 64.5v232zm-657.9 18.9 305.1 172.6v-134.4l-190.2-104.6zm-20.9-18.9v-360.9l111.6 64.5v232zm13.1-384.3 312.9-177v129.9l-200.5 110.3-1.6.9zm652.6 0-312.9-177v129.9l200.5 110.2 1.6.9z" fill="#8ed6fb"/><path d="m373 649.3-187.6-103.2v-204.3l187.6 108.3zm26.8 0 187.6-103.1v-204.4l-187.6 108.3zm-201.7-331.1 188.3-103.5 188.3 103.5-188.3 108.7z" fill="#1c78c0"/></svg>
                         <svg style={{ transform: "scale(0.1)", position: 'absolute', left: -40, top: -202 }} xmlns="http://www.w3.org/2000/svg" width="410" height="404" viewBox="0 0 410 404" fill="none">
                         <svg style={{ transform: "scale(0.1)", position: 'absolute', left: -40, top: -202 }} xmlns="http://www.w3.org/2000/svg" width="410" height="404" viewBox="0 0 410 404" fill="none">
                             <path d="M399.641 59.5246L215.643 388.545C211.844 395.338 202.084 395.378 198.228 388.618L10.5817 59.5563C6.38087 52.1896 12.6802 43.2665 21.0281 44.7586L205.223 77.6824C206.398 77.8924 207.601 77.8904 208.776 77.6763L389.119 44.8058C397.439 43.2894 403.768 52.1434 399.641 59.5246Z" fill="url(#paint0_linear)"/>
                             <path d="M399.641 59.5246L215.643 388.545C211.844 395.338 202.084 395.378 198.228 388.618L10.5817 59.5563C6.38087 52.1896 12.6802 43.2665 21.0281 44.7586L205.223 77.6824C206.398 77.8924 207.601 77.8904 208.776 77.6763L389.119 44.8058C397.439 43.2894 403.768 52.1434 399.641 59.5246Z" fill="url(#paint0_linear)"/>
                             <path d="M292.965 1.5744L156.801 28.2552C154.563 28.6937 152.906 30.5903 152.771 32.8664L144.395 174.33C144.198 177.662 147.258 180.248 150.51 179.498L188.42 170.749C191.967 169.931 195.172 173.055 194.443 176.622L183.18 231.775C182.422 235.487 185.907 238.661 189.532 237.56L212.947 230.446C216.577 229.344 220.065 232.527 219.297 236.242L201.398 322.875C200.278 328.294 207.486 331.249 210.492 326.603L212.5 323.5L323.454 102.072C325.312 98.3645 322.108 94.137 318.036 94.9228L279.014 102.454C275.347 103.161 272.227 99.746 273.262 96.1583L298.731 7.86689C299.767 4.27314 296.636 0.855181 292.965 1.5744Z" fill="url(#paint1_linear)"/>
                             <path d="M292.965 1.5744L156.801 28.2552C154.563 28.6937 152.906 30.5903 152.771 32.8664L144.395 174.33C144.198 177.662 147.258 180.248 150.51 179.498L188.42 170.749C191.967 169.931 195.172 173.055 194.443 176.622L183.18 231.775C182.422 235.487 185.907 238.661 189.532 237.56L212.947 230.446C216.577 229.344 220.065 232.527 219.297 236.242L201.398 322.875C200.278 328.294 207.486 331.249 210.492 326.603L212.5 323.5L323.454 102.072C325.312 98.3645 322.108 94.137 318.036 94.9228L279.014 102.454C275.347 103.161 272.227 99.746 273.262 96.1583L298.731 7.86689C299.767 4.27314 296.636 0.855181 292.965 1.5744Z" fill="url(#paint1_linear)"/>

+ 14 - 1
src/sitePages/newHome/components/deepContent/deepContent.jsx

@@ -24,6 +24,10 @@ function DeepContent(props) {
         window.open('https://juejin.cn/post/7267418854124699702');
         window.open('https://juejin.cn/post/7267418854124699702');
     };
     };
 
 
+    const goD2COpenDayVideo = () => {
+        window.open('https://www.bilibili.com/video/BV1n94y137kB/?share_source=copy_web&vd_source=6b19a3eea11d2cd88eaa3c2a7f3226e1');
+    };
+
     const goTest = () => {
     const goTest = () => {
         window.open('https://medium.com/front-end-weekly/how-we-test-semi-design-component-libraries-64b854f63b65');
         window.open('https://medium.com/front-end-weekly/how-we-test-semi-design-component-libraries-64b854f63b65');
     };
     };
@@ -50,7 +54,7 @@ function DeepContent(props) {
             </div>
             </div>
             <div className={styles.autoWrapper}>
             <div className={styles.autoWrapper}>
                 <div className={styles.frame1312316425} onClick={goTest}>
                 <div className={styles.frame1312316425} onClick={goTest}>
-                    <img className={styles.frame1312316426} alt="evalution of semi d2c" src="https://lf3-static.bytednsdoc.com/obj/eden-cn/ptlz_zlp/ljhwZthlaukjlkulzlp/root-web-sites/test.jpg" />
+                    <img className={styles.frame1312316426} alt="evolution of semi d2c" src="https://lf3-static.bytednsdoc.com/obj/eden-cn/ptlz_zlp/ljhwZthlaukjlkulzlp/root-web-sites/test.jpg" />
                     <div className={styles.details}>
                     <div className={styles.details}>
                         <p className={styles.headline}>{_t("content_test")}</p>
                         <p className={styles.headline}>{_t("content_test")}</p>
                         <p className={styles.description}>{_t("content_test_info")}</p>
                         <p className={styles.description}>{_t("content_test_info")}</p>
@@ -64,6 +68,15 @@ function DeepContent(props) {
                     </div>
                     </div>
                 </div>
                 </div>
             </div>
             </div>
+            <div className={styles.autoWrapper}>
+                <div className={styles.frame1312316425} onClick={goD2COpenDayVideo}>
+                    <img className={styles.frame1312316426} alt="evolution of semi d2c" src="https://lf26-static.semi.design/obj/semi-tos/images/a8a32ee0-7eae-11ee-af66-8975b17081a1.png" />
+                    <div className={styles.details}>
+                        <p className={styles.headline}>{_t("content_d2c_openday")}</p>
+                        <p className={styles.description}>{_t("content_d2c_info_openday")}</p>
+                    </div>
+                </div>
+            </div>
         </div>
         </div>
     );
     );
 }
 }

+ 0 - 86
yarn.lock

@@ -1519,25 +1519,11 @@
     "@douyinfe/semi-animation-styled" "2.23.2"
     "@douyinfe/semi-animation-styled" "2.23.2"
     classnames "^2.2.6"
     classnames "^2.2.6"
 
 
-"@douyinfe/[email protected]":
-  version "2.45.2"
-  resolved "https://registry.yarnpkg.com/@douyinfe/semi-animation-react/-/semi-animation-react-2.45.2.tgz#a381a9db0705a6a9c34ce76e7ded3dd00850efa5"
-  integrity sha512-KlkLcP2y+utpSG2aiGyMhwej2CHEnZs/CDaeloAAGJwzjm3yhgwTghM0AN6YmKyEP22rjpDW8s64VR+2BDgCVQ==
-  dependencies:
-    "@douyinfe/semi-animation" "2.45.2"
-    "@douyinfe/semi-animation-styled" "2.45.2"
-    classnames "^2.2.6"
-
 "@douyinfe/[email protected]":
 "@douyinfe/[email protected]":
   version "2.23.2"
   version "2.23.2"
   resolved "https://registry.npmjs.org/@douyinfe/semi-animation-styled/-/semi-animation-styled-2.23.2.tgz#f18bc074515441c297cc636ed98521e249d093c9"
   resolved "https://registry.npmjs.org/@douyinfe/semi-animation-styled/-/semi-animation-styled-2.23.2.tgz#f18bc074515441c297cc636ed98521e249d093c9"
   integrity sha512-cKaA1yGHPF76Rx7EZDZicj+1oX1su2wnqb/UGFOTquAwqWmkTfgQ+EKxCd/N704WH+RtmGf4xbrJKpBvvcEdSQ==
   integrity sha512-cKaA1yGHPF76Rx7EZDZicj+1oX1su2wnqb/UGFOTquAwqWmkTfgQ+EKxCd/N704WH+RtmGf4xbrJKpBvvcEdSQ==
 
 
-"@douyinfe/[email protected]":
-  version "2.45.2"
-  resolved "https://registry.yarnpkg.com/@douyinfe/semi-animation-styled/-/semi-animation-styled-2.45.2.tgz#3d56ce2b868140431f6114e7558bd009488592ee"
-  integrity sha512-GEUIAJw8Ta6CDUDRZuDYUnPPr8lL+Z7JnOLtmWDVqTiwrAjE407pkAWNia/OCVPof0WNfFaF9+bvmSgw/dn28Q==
-
 "@douyinfe/[email protected]":
 "@douyinfe/[email protected]":
   version "2.12.0"
   version "2.12.0"
   resolved "https://registry.npmjs.org/@douyinfe/semi-animation/-/semi-animation-2.12.0.tgz#51fe52d3911c2591a80a6e9fe96e6809c1511f13"
   resolved "https://registry.npmjs.org/@douyinfe/semi-animation/-/semi-animation-2.12.0.tgz#51fe52d3911c2591a80a6e9fe96e6809c1511f13"
@@ -1553,13 +1539,6 @@
   dependencies:
   dependencies:
     bezier-easing "^2.1.0"
     bezier-easing "^2.1.0"
 
 
-"@douyinfe/[email protected]":
-  version "2.45.2"
-  resolved "https://registry.yarnpkg.com/@douyinfe/semi-animation/-/semi-animation-2.45.2.tgz#3270f6c21041f657759839341f0e93aca9767097"
-  integrity sha512-x6AEXoMJM7EzMoblyud465xqyR8NzTRyqasD6Ti5VVKJU8z/FX192Wu86zDadT0NvzP80crk9hELhwCRvNM6kQ==
-  dependencies:
-    bezier-easing "^2.1.0"
-
 "@douyinfe/[email protected]":
 "@douyinfe/[email protected]":
   version "2.33.1"
   version "2.33.1"
   resolved "https://registry.npmjs.org/@douyinfe/semi-foundation/-/semi-foundation-2.33.1.tgz#1dfe6233e35a4ed768cb580b0c9a677d1c34ffba"
   resolved "https://registry.npmjs.org/@douyinfe/semi-foundation/-/semi-foundation-2.33.1.tgz#1dfe6233e35a4ed768cb580b0c9a677d1c34ffba"
@@ -1574,20 +1553,6 @@
     memoize-one "^5.2.1"
     memoize-one "^5.2.1"
     scroll-into-view-if-needed "^2.2.24"
     scroll-into-view-if-needed "^2.2.24"
 
 
-"@douyinfe/[email protected]":
-  version "2.45.2"
-  resolved "https://registry.yarnpkg.com/@douyinfe/semi-foundation/-/semi-foundation-2.45.2.tgz#43e35d020c3e523f9205252c635426eed663f8d2"
-  integrity sha512-f2nqHZhk4aAgC8/L+7JXxAyzw5KQGUK7HWPLo3qQ2SB/R6f3GOGNwF07884CKciIWNAQafs3Ag4UXRiX0hpjXA==
-  dependencies:
-    "@douyinfe/semi-animation" "2.45.2"
-    async-validator "^3.5.0"
-    classnames "^2.2.6"
-    date-fns "^2.29.3"
-    date-fns-tz "^1.3.8"
-    lodash "^4.17.21"
-    memoize-one "^5.2.1"
-    scroll-into-view-if-needed "^2.2.24"
-
 "@douyinfe/[email protected]", "@douyinfe/semi-icons@latest":
 "@douyinfe/[email protected]", "@douyinfe/semi-icons@latest":
   version "2.33.1"
   version "2.33.1"
   resolved "https://registry.yarnpkg.com/@douyinfe/semi-icons/-/semi-icons-2.33.1.tgz#8e2871d9bc0ab7e12df74e3c71802d53d69b7425"
   resolved "https://registry.yarnpkg.com/@douyinfe/semi-icons/-/semi-icons-2.33.1.tgz#8e2871d9bc0ab7e12df74e3c71802d53d69b7425"
@@ -1595,23 +1560,11 @@
   dependencies:
   dependencies:
     classnames "^2.2.6"
     classnames "^2.2.6"
 
 
-"@douyinfe/[email protected]", "@douyinfe/semi-icons@^2.0.0":
-  version "2.45.2"
-  resolved "https://registry.yarnpkg.com/@douyinfe/semi-icons/-/semi-icons-2.45.2.tgz#390d76a2f652ca5253d38e82b136135a23746f90"
-  integrity sha512-G7gOawv1F0hdlCF8ARkhGc5oj3ytEtb4qBhkTbj4K/G+W966TiDcv/4JvBPUwT2Z/woEl7DmvwB7U6WBASzv2Q==
-  dependencies:
-    classnames "^2.2.6"
-
 "@douyinfe/[email protected]":
 "@douyinfe/[email protected]":
   version "2.33.1"
   version "2.33.1"
   resolved "https://registry.npmjs.org/@douyinfe/semi-illustrations/-/semi-illustrations-2.33.1.tgz#530ab851f4dc32a52221c4067c778c800b9b55d7"
   resolved "https://registry.npmjs.org/@douyinfe/semi-illustrations/-/semi-illustrations-2.33.1.tgz#530ab851f4dc32a52221c4067c778c800b9b55d7"
   integrity sha512-tTTUN8QwnQiF++sk4VBNzfkG87aYZ4iUeqk2ys8/ymVUmCZQ7y46ys020GO1MfPHRR47OMFPI82FVcH1WQtE3g==
   integrity sha512-tTTUN8QwnQiF++sk4VBNzfkG87aYZ4iUeqk2ys8/ymVUmCZQ7y46ys020GO1MfPHRR47OMFPI82FVcH1WQtE3g==
 
 
-"@douyinfe/[email protected]":
-  version "2.45.2"
-  resolved "https://registry.yarnpkg.com/@douyinfe/semi-illustrations/-/semi-illustrations-2.45.2.tgz#4dcc6c322c720b34e9fc72027931b3e3243685bc"
-  integrity sha512-PxHo2bnmxzGfw+uiNbkJfgUm4SZstoqP4IVBHSYt+N9/C0D2Fia6bn6/8LqAi2E+YjVeEa8XJBd7MCXky+D/gw==
-
 "@douyinfe/[email protected]":
 "@douyinfe/[email protected]":
   version "2.23.2"
   version "2.23.2"
   resolved "https://registry.npmjs.org/@douyinfe/semi-scss-compile/-/semi-scss-compile-2.23.2.tgz#30884bb194ee9ae1e81877985e5663c3297c1ced"
   resolved "https://registry.npmjs.org/@douyinfe/semi-scss-compile/-/semi-scss-compile-2.23.2.tgz#30884bb194ee9ae1e81877985e5663c3297c1ced"
@@ -1685,40 +1638,6 @@
   dependencies:
   dependencies:
     glob "^7.1.6"
     glob "^7.1.6"
 
 
-"@douyinfe/[email protected]":
-  version "2.45.2"
-  resolved "https://registry.yarnpkg.com/@douyinfe/semi-theme-default/-/semi-theme-default-2.45.2.tgz#a8c201de785aa0e0f3dec61f4b79eca2cf41f8a9"
-  integrity sha512-7kcdWbx/vCPyAXOfdGwyLceeAY6eAyXVKlntHVV/3sDtuWzd0fNKP9im0v+SAxeKFwP8CLUFc3cY+IqGwNBSWQ==
-  dependencies:
-    glob "^7.1.6"
-
-"@douyinfe/semi-ui@^2.0.0":
-  version "2.45.2"
-  resolved "https://registry.yarnpkg.com/@douyinfe/semi-ui/-/semi-ui-2.45.2.tgz#717a87c013682481e255a4d24a35e6e063c5f124"
-  integrity sha512-r6WnYb1hdRn+uOWb2DEWgkpTe8Tlpjo8/tFTTjNQYuZ8th7l+2PFLDRndlw8evNvLeI8pNtIj7Vf/Q9Cmuzx/w==
-  dependencies:
-    "@dnd-kit/core" "^6.0.8"
-    "@dnd-kit/sortable" "^7.0.2"
-    "@dnd-kit/utilities" "^3.2.1"
-    "@douyinfe/semi-animation" "2.45.2"
-    "@douyinfe/semi-animation-react" "2.45.2"
-    "@douyinfe/semi-foundation" "2.45.2"
-    "@douyinfe/semi-icons" "2.45.2"
-    "@douyinfe/semi-illustrations" "2.45.2"
-    "@douyinfe/semi-theme-default" "2.45.2"
-    async-validator "^3.5.0"
-    classnames "^2.2.6"
-    copy-text-to-clipboard "^2.1.1"
-    date-fns "^2.29.3"
-    date-fns-tz "^1.3.8"
-    lodash "^4.17.21"
-    prop-types "^15.7.2"
-    react-resizable "^3.0.5"
-    react-window "^1.8.2"
-    resize-observer-polyfill "^1.5.1"
-    scroll-into-view-if-needed "^2.2.24"
-    utility-types "^3.10.0"
-
 "@douyinfe/semi-ui@latest":
 "@douyinfe/semi-ui@latest":
   version "2.33.1"
   version "2.33.1"
   resolved "https://registry.yarnpkg.com/@douyinfe/semi-ui/-/semi-ui-2.33.1.tgz#3234ca96eb3560b8299bc9750fbe59446522d9bb"
   resolved "https://registry.yarnpkg.com/@douyinfe/semi-ui/-/semi-ui-2.33.1.tgz#3234ca96eb3560b8299bc9750fbe59446522d9bb"
@@ -11286,11 +11205,6 @@ eslint-plugin-react@^7.20.6, eslint-plugin-react@^7.24.0:
     semver "^6.3.0"
     semver "^6.3.0"
     string.prototype.matchall "^4.0.8"
     string.prototype.matchall "^4.0.8"
 
 
-eslint-plugin-semi-design@^2.33.0:
-  version "2.45.2"
-  resolved "https://registry.yarnpkg.com/eslint-plugin-semi-design/-/eslint-plugin-semi-design-2.45.2.tgz#45a678949fe2b00e31fc29843e6bc418b4d09003"
-  integrity sha512-wI45CDU/rI8ybm7m3DdRQF2Da11UCqxVupix370XPDohkx6FE5X7A5yA7fOw0EjlEALUjFrOOSiVW/kdAWE83A==
-
 eslint-rule-composer@^0.3.0:
 eslint-rule-composer@^0.3.0:
   version "0.3.0"
   version "0.3.0"
   resolved "https://registry.npmjs.org/eslint-rule-composer/-/eslint-rule-composer-0.3.0.tgz#79320c927b0c5c0d3d3d2b76c8b4a488f25bbaf9"
   resolved "https://registry.npmjs.org/eslint-rule-composer/-/eslint-rule-composer-0.3.0.tgz#79320c927b0c5c0d3d3d2b76c8b4a488f25bbaf9"