From 587cece667e998a0df66e48601c6986ac408373b Mon Sep 17 00:00:00 2001 From: Jiahao <8275280+jiahao-c@users.noreply.github.com> Date: Wed, 20 Dec 2023 01:29:30 -0700 Subject: [PATCH 01/35] chore: move lerna from dependency to devDependency (#1986) --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index eb4551e82f..3307d1b0e1 100644 --- a/package.json +++ b/package.json @@ -76,7 +76,6 @@ "gatsby-source-filesystem": "^2.11.1", "grapheme-splitter": "^1.0.4", "immutability-helper": "^3.1.1", - "lerna": "4.0.0", "lodash-es": "^4.17.21", "memoize-one": "^5.2.1", "normalize.css": "^8.0.1", @@ -187,6 +186,7 @@ "jest-enzyme": "^7.1.2", "jest-mock-random": "^1.1.1", "jsdom": "^15.2.1", + "lerna": "4.0.0", "lint-staged": "^10.5.4", "marked": "^2.1.3", "mini-css-extract-plugin": "^0.12.0", From 8420edae325de2af3e324a4d0ce5b25812d4abdd Mon Sep 17 00:00:00 2001 From: YyumeiZhang <101110131+YyumeiZhang@users.noreply.github.com> Date: Mon, 25 Dec 2023 14:43:12 +0800 Subject: [PATCH 02/35] fix: fix vertical basic step style error after setting box-sizing to border-box globally (#1984) --- packages/semi-foundation/steps/bacisSteps.scss | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/packages/semi-foundation/steps/bacisSteps.scss b/packages/semi-foundation/steps/bacisSteps.scss index f8d65f5a18..8a812178d2 100644 --- a/packages/semi-foundation/steps/bacisSteps.scss +++ b/packages/semi-foundation/steps/bacisSteps.scss @@ -84,6 +84,10 @@ $basicType: #{$module}-basic; display: flex; flex-flow: column nowrap; + .#{$item}-icon { + box-sizing: content-box; + } + &.#{$module}-small { .#{$item} { .#{$item}-content { From 31cf000e5f267614a3a658529e0219c3f3cf580e Mon Sep 17 00:00:00 2001 From: YannLynn <101160769+YannLynn@users.noreply.github.com> Date: Mon, 25 Dec 2023 14:43:43 +0800 Subject: [PATCH 03/35] fix: Fixed the issue where DatePicker component limit date range does not meet expectations (#1983) --- packages/semi-ui/datePicker/_story/datePicker.stories.jsx | 4 ++++ packages/semi-ui/datePicker/yearAndMonth.tsx | 6 +----- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/packages/semi-ui/datePicker/_story/datePicker.stories.jsx b/packages/semi-ui/datePicker/_story/datePicker.stories.jsx index 140b323975..be9e8f8059 100644 --- a/packages/semi-ui/datePicker/_story/datePicker.stories.jsx +++ b/packages/semi-ui/datePicker/_story/datePicker.stories.jsx @@ -1165,3 +1165,7 @@ NeedConfirmDelete.storyName = "cashedSelectedValue return to last selected when ); }; CashedSelectedValue.storyName = "cashedSelectedValue"; + +export const Fix1982 = () => { + return +} diff --git a/packages/semi-ui/datePicker/yearAndMonth.tsx b/packages/semi-ui/datePicker/yearAndMonth.tsx index 134925cdf7..6883bcb312 100644 --- a/packages/semi-ui/datePicker/yearAndMonth.tsx +++ b/packages/semi-ui/datePicker/yearAndMonth.tsx @@ -139,11 +139,7 @@ class YearAndMonth extends BaseComponent { const needDisabled = (year) => { if (panelType === right && currentYear[left]) { - if (currentMonth[left] <= currentMonth[right]) { - return currentYear[left] > year; - } else { - return currentYear[left] >= year; - } + return currentYear[left] > year; } return false; }; From 8507e4b6db66e06493651c1e16261dac4235676f Mon Sep 17 00:00:00 2001 From: Shi Jia Date: Mon, 25 Dec 2023 14:50:25 +0800 Subject: [PATCH 04/35] feat: Table column support sortIcon (#1990) Co-authored-by: shijia.me --- content/show/table/index-en-US.md | 1 + content/show/table/index.md | 1 + packages/semi-foundation/table/table.scss | 2 +- packages/semi-ui/table/ColumnSorter.tsx | 39 +++--- packages/semi-ui/table/Table.tsx | 1 + .../semi-ui/table/_story/table.stories.jsx | 3 +- .../table/_story/v2/SortIcon/index.tsx | 119 ++++++++++++++++++ packages/semi-ui/table/_story/v2/index.js | 1 + packages/semi-ui/table/interface.ts | 2 + yarn.lock | 86 +++++++++++++ 10 files changed, 238 insertions(+), 17 deletions(-) create mode 100644 packages/semi-ui/table/_story/v2/SortIcon/index.tsx diff --git a/content/show/table/index-en-US.md b/content/show/table/index-en-US.md index 9c3d8b2b49..4d5fe6cd5b 100644 --- a/content/show/table/index-en-US.md +++ b/content/show/table/index-en-US.md @@ -5147,6 +5147,7 @@ import { Table } from '@douyinfe/semi-ui'; | 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 | | 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 | +| sortIcon |Customize the sort icon. The returned node controls the entire sort button, including ascending and descending buttons. Need to control highlighting behavior based on sortOrder | (props: { sortOrder }) => ReactNode | | **2.50.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** | | width | Column width | string \| number | | diff --git a/content/show/table/index.md b/content/show/table/index.md index e2abac53d2..e9fde93573 100644 --- a/content/show/table/index.md +++ b/content/show/table/index.md @@ -5163,6 +5163,7 @@ import { Table } from '@douyinfe/semi-ui'; | sortChildrenRecord | 是否对子级数据进行本地排序 | boolean | | **0.29.0** | | sortOrder | 排序的受控属性,外界可用此控制列的排序,可设置为 'ascend'\|'descend'\|false | boolean\| string | false | | sorter | 排序函数,本地排序使用一个函数(参考 Array.sort 的 compareFunction),需要服务端排序可设为 true | boolean\|(r1: RecordType, r2: RecordType, sortOrder: 'ascend' \| 'descend') => number | true | +| sortIcon | 自定义 sort 图标,返回的节点控制了整个排序按钮,包含升序和降序。需根据 sortOrder 控制高亮行为 | (props: { sortOrder }) => ReactNode | | **2.50.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** | | width | 列宽度 | string \| number | | diff --git a/packages/semi-foundation/table/table.scss b/packages/semi-foundation/table/table.scss index 6769009df0..374a5866e7 100644 --- a/packages/semi-foundation/table/table.scss +++ b/packages/semi-foundation/table/table.scss @@ -431,7 +431,6 @@ $module: #{$prefix}-table; } &-sorter { - margin-left: $spacing-table_column_sorter-marginLeft; display: inline-block; width: $width-table_column_sorter-icon; height: $height-table_column_sorter-icon; @@ -440,6 +439,7 @@ $module: #{$prefix}-table; &-wrapper { display: flex; + gap: $spacing-table_column_sorter-marginLeft; align-items: center; cursor: pointer; overflow: hidden; diff --git a/packages/semi-ui/table/ColumnSorter.tsx b/packages/semi-ui/table/ColumnSorter.tsx index 21cd440ddd..84ea7d7cc1 100644 --- a/packages/semi-ui/table/ColumnSorter.tsx +++ b/packages/semi-ui/table/ColumnSorter.tsx @@ -6,7 +6,7 @@ import { IconCaretup, IconCaretdown } from '@douyinfe/semi-icons'; import { cssClasses, strings } from '@douyinfe/semi-foundation/table/constants'; -import { SortOrder } from './interface'; +import { SortIcon, SortOrder } from './interface'; import isEnterPress from '@douyinfe/semi-foundation/utils/isEnterPress'; export interface ColumnSorterProps { @@ -15,7 +15,8 @@ export interface ColumnSorterProps { onClick?: (e: React.MouseEvent) => void; prefixCls?: string; sortOrder?: SortOrder; - title?: React.ReactNode + title?: React.ReactNode; + sortIcon?: SortIcon } export default class ColumnSorter extends PureComponent { @@ -25,6 +26,7 @@ export default class ColumnSorter extends PureComponent { onClick: PropTypes.func, prefixCls: PropTypes.string, sortOrder: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]), + sortIcon: PropTypes.func, }; static defaultProps = { @@ -34,7 +36,7 @@ export default class ColumnSorter extends PureComponent { }; render() { - const { prefixCls, onClick, sortOrder, style, title } = this.props; + const { prefixCls, onClick, sortOrder, style, title, sortIcon } = this.props; const iconBtnSize = 'default'; @@ -54,9 +56,26 @@ export default class ColumnSorter extends PureComponent { 'aria-roledescription': 'Sort data with this column', }; + const renderSortIcon = () => { + if (typeof sortIcon === 'function') { + return sortIcon({ sortOrder }); + } else { + return ( +
+ + + + + + +
+ ); + } + }; + return (
{ onKeyPress={e => isEnterPress(e) && onClick(e as any)} > {title} -
- - - - - - -
+ {renderSortIcon()}
); } diff --git a/packages/semi-ui/table/Table.tsx b/packages/semi-ui/table/Table.tsx index e099f770c0..33ff2cfc10 100644 --- a/packages/semi-ui/table/Table.tsx +++ b/packages/semi-ui/table/Table.tsx @@ -1001,6 +1001,7 @@ class Table> extends BaseComponent this.foundation.handleSort(column, e)} title={TitleNode} /> diff --git a/packages/semi-ui/table/_story/table.stories.jsx b/packages/semi-ui/table/_story/table.stories.jsx index cea77d0496..34472beef5 100644 --- a/packages/semi-ui/table/_story/table.stories.jsx +++ b/packages/semi-ui/table/_story/table.stories.jsx @@ -105,7 +105,8 @@ export { SorterSortOrder, FixedPagination, ShowHeader, - KeepDOM + KeepDOM, + SortIcon } from './v2'; export { default as FixSelectAll325 } from './Demos/rowSelection'; diff --git a/packages/semi-ui/table/_story/v2/SortIcon/index.tsx b/packages/semi-ui/table/_story/v2/SortIcon/index.tsx new file mode 100644 index 0000000000..89560e9cf4 --- /dev/null +++ b/packages/semi-ui/table/_story/v2/SortIcon/index.tsx @@ -0,0 +1,119 @@ +import React, { useState, useMemo, useEffect } from 'react'; +import { Table, Avatar, Space } from '@douyinfe/semi-ui'; +import * as dateFns from 'date-fns'; +import { IconChevronDown, IconChevronUp } from '@douyinfe/semi-icons'; +import { SortOrder } from '../../../interface'; + +export default function App() { + const [dataSource, setData] = useState([]); + + const DAY = 24 * 60 * 60 * 1000; + const figmaIconUrl = 'https://lf3-static.bytednsdoc.com/obj/eden-cn/ptlz_zlp/ljhwZthlaukjlkulzlp/figma-icon.png'; + + function SortIcon(props: { sortOrder: SortOrder }) { + const { sortOrder } = props; + const isUpOn = sortOrder === "ascend"; + const isDownOn = sortOrder === "descend"; + return ( + + + + + ); + } + + const columns = [ + { + title: '标题', + dataIndex: 'name', + width: 400, + render: (text, record, index) => { + return ( +
+ + {text} +
+ ); + }, + filters: [ + { + text: 'Semi Design 设计稿', + value: 'Semi Design 设计稿', + }, + { + text: 'Semi D2C 设计稿', + value: 'Semi D2C 设计稿', + }, + ], + onFilter: (value, record) => record.name.includes(value), + sorter: (a, b) => (a.name.length - b.name.length > 0 ? 1 : -1), + }, + { + title: '大小', + dataIndex: 'size', + sorter: (a, b) => (a.size - b.size > 0 ? 1 : -1), + sortIcon: SortIcon, + render: text => `${text} KB`, + }, + { + title: '所有者', + dataIndex: 'owner', + render: (text, record, index) => { + return ( +
+ + {typeof text === 'string' && text.slice(0, 1)} + + {text} +
+ ); + }, + }, + { + title: '更新日期', + dataIndex: 'updateTime', + sorter: (a, b) => (a.updateTime - b.updateTime > 0 ? 1 : -1), + render: value => { + return dateFns.format(new Date(value), 'yyyy-MM-dd'); + }, + }, + ]; + + const rowSelection = useMemo( + () => ({ + onChange: (selectedRowKeys, selectedRows) => { + console.log(`selectedRowKeys: ${selectedRowKeys}`, 'selectedRows: ', selectedRows); + }, + getCheckboxProps: record => ({ + disabled: record.name === 'Michael James', // Column configuration not to be checked + name: record.name, + }), + }), + [] + ); + const scroll = useMemo(() => ({ y: 300 }), []); + + const getData = () => { + const data = []; + for (let i = 0; i < 46; i++) { + const isSemiDesign = i % 2 === 0; + const randomNumber = (i * 1000) % 199; + data.push({ + key: '' + i, + name: isSemiDesign ? `Semi Design 设计稿${i}.fig` : `Semi D2C 设计稿${i}.fig`, + owner: isSemiDesign ? '姜鹏志' : '郝宣', + size: randomNumber, + updateTime: new Date('2023-12-22').valueOf() + randomNumber * DAY, + avatarBg: isSemiDesign ? 'grey' : 'red', + }); + } + return data; + }; + + useEffect(() => { + const data = getData(); + setData(data); + }, []); + + return ; +} diff --git a/packages/semi-ui/table/_story/v2/index.js b/packages/semi-ui/table/_story/v2/index.js index 0f64dd04f6..902304a06e 100644 --- a/packages/semi-ui/table/_story/v2/index.js +++ b/packages/semi-ui/table/_story/v2/index.js @@ -26,3 +26,4 @@ export { default as SorterSortOrder } from './SorterSortOrder'; export { default as FixedPagination } from './FixedPagination'; export { default as ShowHeader } from './ShowHeader'; export { default as KeepDOM } from './KeepDOM'; +export { default as SortIcon } from './SortIcon'; diff --git a/packages/semi-ui/table/interface.ts b/packages/semi-ui/table/interface.ts index e45f274b29..1d260585ea 100644 --- a/packages/semi-ui/table/interface.ts +++ b/packages/semi-ui/table/interface.ts @@ -99,6 +99,7 @@ export interface ColumnProps = any> { sortChildrenRecord?: boolean; sortOrder?: SortOrder; sorter?: Sorter; + sortIcon?: SortIcon; title?: ColumnTitle; useFullRender?: boolean; width?: string | number; @@ -112,6 +113,7 @@ export interface ColumnProps = any> { export type Align = BaseAlign; export type SortOrder = BaseSortOrder; +export type SortIcon = (props: { sortOrder: SortOrder }) => ReactNode; export type FilterIcon = boolean | React.ReactNode | FilterIconRenderFunction; export interface Filter extends BaseFilter { value?: any; diff --git a/yarn.lock b/yarn.lock index 6602385171..3b88d0f294 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1519,11 +1519,25 @@ "@douyinfe/semi-animation-styled" "2.23.2" classnames "^2.2.6" +"@douyinfe/semi-animation-react@2.49.1": + version "2.49.1" + resolved "https://registry.yarnpkg.com/@douyinfe/semi-animation-react/-/semi-animation-react-2.49.1.tgz#cbffd1ba40f7b50aba7b191ddc5bdb323758a577" + integrity sha512-JTXgM3oRJpwhLDBlADf2/fClY73nE5/Ao701Z8bTOzH91PINbvgsD6cdZdZ4JRwd+XCSf6wXSGzaHen73r2gKg== + dependencies: + "@douyinfe/semi-animation" "2.49.1" + "@douyinfe/semi-animation-styled" "2.49.1" + classnames "^2.2.6" + "@douyinfe/semi-animation-styled@2.23.2": version "2.23.2" 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== +"@douyinfe/semi-animation-styled@2.49.1": + version "2.49.1" + resolved "https://registry.yarnpkg.com/@douyinfe/semi-animation-styled/-/semi-animation-styled-2.49.1.tgz#34aed59a16d495ac7b5614438652352f17f20a81" + integrity sha512-cbGmEgibydvFCYvU8PqBrW2Jsft7j5T0iVZ/Yl95oPQpni8TevOuIzxAxiuSF5iLfeHKRNx0goIdRTzolH6kLA== + "@douyinfe/semi-animation@2.12.0": version "2.12.0" resolved "https://registry.npmjs.org/@douyinfe/semi-animation/-/semi-animation-2.12.0.tgz#51fe52d3911c2591a80a6e9fe96e6809c1511f13" @@ -1539,6 +1553,13 @@ dependencies: bezier-easing "^2.1.0" +"@douyinfe/semi-animation@2.49.1": + version "2.49.1" + resolved "https://registry.yarnpkg.com/@douyinfe/semi-animation/-/semi-animation-2.49.1.tgz#24a9a5d881e6b7b71d05240efb05617c38e71655" + integrity sha512-sC/J7J5+Yd5y8CLWqD76wkjni9pjYOVBymvAZRrY7vd5kUQmOiNvFWK4ewEFxm4Pk2rdPRLQKGiPfkfHAej0dQ== + dependencies: + bezier-easing "^2.1.0" + "@douyinfe/semi-foundation@2.33.1": version "2.33.1" resolved "https://registry.npmjs.org/@douyinfe/semi-foundation/-/semi-foundation-2.33.1.tgz#1dfe6233e35a4ed768cb580b0c9a677d1c34ffba" @@ -1553,6 +1574,20 @@ memoize-one "^5.2.1" scroll-into-view-if-needed "^2.2.24" +"@douyinfe/semi-foundation@2.49.1": + version "2.49.1" + resolved "https://registry.yarnpkg.com/@douyinfe/semi-foundation/-/semi-foundation-2.49.1.tgz#336ee534ec954072f8b79960666b55bfcf21aa99" + integrity sha512-pifLEWOhmv3/XYscmPPLMaUcvRaG+lZPVMD6uOXFhUrD+HUBs7yfIMLfXyJ6Af7Kcl5ecqOgO9NNTyRR+pnxuQ== + dependencies: + "@douyinfe/semi-animation" "2.49.1" + 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/semi-icons@2.33.1", "@douyinfe/semi-icons@latest": version "2.33.1" resolved "https://registry.yarnpkg.com/@douyinfe/semi-icons/-/semi-icons-2.33.1.tgz#8e2871d9bc0ab7e12df74e3c71802d53d69b7425" @@ -1560,11 +1595,23 @@ dependencies: classnames "^2.2.6" +"@douyinfe/semi-icons@2.49.1", "@douyinfe/semi-icons@^2.0.0": + version "2.49.1" + resolved "https://registry.yarnpkg.com/@douyinfe/semi-icons/-/semi-icons-2.49.1.tgz#1a33ea0ae40961931b8cbedeac11ed5d87e245f5" + integrity sha512-d2YdR0Z3pqygWNdGB7M97cqi0dec+mWHcLL2C4Yd9I0VJCPWnNd88dWVPTNPU2GCx9hEA8qL9aFawUR24s5p1Q== + dependencies: + classnames "^2.2.6" + "@douyinfe/semi-illustrations@2.33.1": version "2.33.1" resolved "https://registry.npmjs.org/@douyinfe/semi-illustrations/-/semi-illustrations-2.33.1.tgz#530ab851f4dc32a52221c4067c778c800b9b55d7" integrity sha512-tTTUN8QwnQiF++sk4VBNzfkG87aYZ4iUeqk2ys8/ymVUmCZQ7y46ys020GO1MfPHRR47OMFPI82FVcH1WQtE3g== +"@douyinfe/semi-illustrations@2.49.1": + version "2.49.1" + resolved "https://registry.yarnpkg.com/@douyinfe/semi-illustrations/-/semi-illustrations-2.49.1.tgz#6099aabde44d59f481e2b67504f6b67f56da1782" + integrity sha512-zJ71DrsGNvTpQwv2itQe7SkMyBMmWvlTGYoAUD4mDVaxAVPlUGgl3Fc5zVG9BHXIizHrb3Fi5PVFC5g/dFXn0A== + "@douyinfe/semi-scss-compile@2.23.2": version "2.23.2" resolved "https://registry.npmjs.org/@douyinfe/semi-scss-compile/-/semi-scss-compile-2.23.2.tgz#30884bb194ee9ae1e81877985e5663c3297c1ced" @@ -1638,6 +1685,40 @@ dependencies: glob "^7.1.6" +"@douyinfe/semi-theme-default@2.49.1": + version "2.49.1" + resolved "https://registry.yarnpkg.com/@douyinfe/semi-theme-default/-/semi-theme-default-2.49.1.tgz#cacb83f5df53beddafd696103b4f139ceb115c26" + integrity sha512-Wmb6W9rAjVzLemRHEdQAgO2m0002SBsc7edA6lb7tgoDNs2IofD/OrPmNyFV8PbDrVQxXlJrkNgpS3rzruk7+w== + dependencies: + glob "^7.1.6" + +"@douyinfe/semi-ui@^2.0.0": + version "2.49.1" + resolved "https://registry.yarnpkg.com/@douyinfe/semi-ui/-/semi-ui-2.49.1.tgz#f4151fe576da586892f1bf42c92c308c76465242" + integrity sha512-4oqyAyezrdKNpFSJWCQChcRQj8pApZfHuTTILoVO0SEMAOrygvsf2Zd0LzHnO6H9oTC7tV3eny0d4E4BYz6kLw== + dependencies: + "@dnd-kit/core" "^6.0.8" + "@dnd-kit/sortable" "^7.0.2" + "@dnd-kit/utilities" "^3.2.1" + "@douyinfe/semi-animation" "2.49.1" + "@douyinfe/semi-animation-react" "2.49.1" + "@douyinfe/semi-foundation" "2.49.1" + "@douyinfe/semi-icons" "2.49.1" + "@douyinfe/semi-illustrations" "2.49.1" + "@douyinfe/semi-theme-default" "2.49.1" + 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": version "2.33.1" resolved "https://registry.yarnpkg.com/@douyinfe/semi-ui/-/semi-ui-2.33.1.tgz#3234ca96eb3560b8299bc9750fbe59446522d9bb" @@ -11584,6 +11665,11 @@ eslint-plugin-react@^7.20.6, eslint-plugin-react@^7.24.0: semver "^6.3.0" string.prototype.matchall "^4.0.8" +eslint-plugin-semi-design@^2.33.0: + version "2.49.1" + resolved "https://registry.yarnpkg.com/eslint-plugin-semi-design/-/eslint-plugin-semi-design-2.49.1.tgz#aefed7fe36c6d673cd4837ec30843089f880eb7f" + integrity sha512-55UMmBZIYGVC/NN++rWTp1xWXXEgWkL1HN7GzzW2sdxKViRMQXLpRJKtirWbUeYoKcKdBPf6RH/OHZlnc97PDg== + eslint-rule-composer@^0.3.0: version "0.3.0" resolved "https://registry.npmjs.org/eslint-rule-composer/-/eslint-rule-composer-0.3.0.tgz#79320c927b0c5c0d3d3d2b76c8b4a488f25bbaf9" From 255964989ad094bfd0dd5b5181be1580ec344503 Mon Sep 17 00:00:00 2001 From: YyumeiZhang <101110131+YyumeiZhang@users.noreply.github.com> Date: Mon, 25 Dec 2023 15:04:29 +0800 Subject: [PATCH 05/35] =?UTF-8?q?fix:=20[TreeSelect]=20Fixed=20the=20probl?= =?UTF-8?q?em=20that=20showFilteredOnly=20does=20not=20ta=E2=80=A6=20(#194?= =?UTF-8?q?7)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * fix: [TreeSelect] Fixed the problem that showFilteredOnly does not take effect in TreeSelect controlled expandedKeys * test: fix online e2e test error --- cypress/e2e/treeSelect.spec.js | 33 +++ .../semi-foundation/treeSelect/foundation.ts | 20 +- .../treeSelect/_story/treeSelect.stories.jsx | 154 ++++++++------ packages/semi-ui/treeSelect/index.tsx | 200 +++++++++++++----- 4 files changed, 289 insertions(+), 118 deletions(-) diff --git a/cypress/e2e/treeSelect.spec.js b/cypress/e2e/treeSelect.spec.js index 119eea0711..4cc97cf1d3 100644 --- a/cypress/e2e/treeSelect.spec.js +++ b/cypress/e2e/treeSelect.spec.js @@ -117,5 +117,38 @@ describe('treeSelect', () => { cy.wait(1000); cy.get('.semi-checkbox').eq(0).get('.semi-checkbox-inner-checked').should("exist"); }); + + it('expanded controlled + showFilteredOnly', () => { + cy.visit('http://127.0.0.1:6006/iframe.html?id=treeselect--issue-1542'); + cy.get('.semi-tree-select-selection').eq(0).trigger('click'); + cy.get('.semi-tree-select-inputTrigger').eq(0).children(".semi-input").eq(0).type('b'); + // showFilteredOnly,因此搜索后的选项应该只有 3 项 + cy.get('.semi-tree-option').should('have.length', 3); + // 清空搜索框,由 state 中的 expandedKeys 决定展示展示项,应该只有两项 + cy.get('.semi-tree-select-inputTrigger').eq(0).children(".semi-input").eq(0).clear(); + cy.get('.semi-tree-option').should('have.length', 2); + cy.get('.semi-tree-select-inputTrigger').eq(0).children(".semi-input").eq(0).type('s'); + cy.get('.semi-tree-option').should('have.length', 9); + // 搜索状态下,输入框有值,被筛选的选项点击展开按钮行为正常 + cy.get('.semi-tree-option').eq(1).children('.semi-icon-tree_triangle_down').eq(0).trigger('click'); + cy.get('.semi-tree-option').should('have.length', 6); + cy.get('body').click(); + // 等待弹出层收起 + cy.wait(500); + cy.get('.semi-tree-select-selection').eq(0).trigger('click'); + // 等待弹出层展开 + cy.wait(500); + cy.get('.semi-tree-option').should('have.length', 2); + cy.get('.semi-tree-select-inputTrigger').eq(0).children(".semi-input").eq(0).type('o'); + cy.get('.semi-tree-option').should('have.length', 4); + cy.get('.semi-tree-option').eq(3).trigger('click'); + cy.wait(1000); + cy.get('.semi-tree-select-selection').eq(0).trigger('click'); + cy.wait(1000); + // 此时展开项目由选中项和原来的 state 中的 expandedKeys 决定 + cy.get('.semi-tree-option').should('have.length', 4); + cy.get('.semi-icon-tree_triangle_down').eq(0).trigger('click'); + cy.get('.semi-tree-option').should('have.length', 6); + }); }); diff --git a/packages/semi-foundation/treeSelect/foundation.ts b/packages/semi-foundation/treeSelect/foundation.ts index 49c48522a8..9e8aef4c1c 100644 --- a/packages/semi-foundation/treeSelect/foundation.ts +++ b/packages/semi-foundation/treeSelect/foundation.ts @@ -150,6 +150,7 @@ export interface BasicTreeSelectInnerData extends Pick, S = Record, S = Record { + const { inputValue } = this.getStates(); + inputValue && this._adapter.updateInputValue(''); + } + // Scenes that may trigger focus: // 1、click selection _notifyFocus(e: any) { @@ -597,8 +601,8 @@ export default class TreeSelectFoundation

, S = Record, S = Record, S = Record (

github issue 750 修改测试用例
@@ -1382,66 +1443,7 @@ DisabledStrictly.story = { export const CheckRelationDemo = () => { - const treeData = [ - { - label: 'Asia', - value: 'Asia', - key: '0', - children: [ - { - label: 'China', - value: 'China', - key: '0-0', - children: [ - { - label: 'Beijing', - value: 'Beijing', - key: '0-0-0', - }, - { - label: 'Shanghai', - value: 'Shanghai', - key: '0-0-1', - }, - { - label: 'Chengdu', - value: 'Chengdu', - key: '0-0-2', - }, - ], - }, - { - label: 'Japan', - value: 'Japan', - key: '0-1', - children: [ - { - label: 'Osaka', - value: 'Osaka', - key: '0-1-0' - } - ] - }, - ], - }, - { - label: 'North America', - value: 'North America', - key: '1', - children: [ - { - label: 'United States', - value: 'United States', - key: '1-0' - }, - { - label: 'Canada', - value: 'Canada', - key: '1-1' - } - ] - } - ]; + const treeData = treeDataEn; const [value, setValue] = useState('China'); const [value2, setValue2] = useState(); const [value3, setValue3] = useState(); @@ -2653,3 +2655,33 @@ export const KeyMaps = () => { ); } + +export const Issue1542 = () => { + const [expandedKeys, setExpandedKeys] = useState([]); + const treeData = treeDataEn; + const onExpand = useCallback((expandedKeys) => { + setExpandedKeys(expandedKeys); + }, [expandedKeys]); + + const onSearch = useCallback((inputValue, filteredExpandedKeys) => { + const set = new Set([...filteredExpandedKeys, ...expandedKeys]); + setExpandedKeys(Array.from(set)); + }, [setExpandedKeys]); + + return ( + <> + + + ); +}; \ No newline at end of file diff --git a/packages/semi-ui/treeSelect/index.tsx b/packages/semi-ui/treeSelect/index.tsx index 2749943186..db3fba7898 100644 --- a/packages/semi-ui/treeSelect/index.tsx +++ b/packages/semi-ui/treeSelect/index.tsx @@ -25,6 +25,7 @@ import { calcDisabledKeys, normalizeValue, updateKeys, + filterTreeData } from '@douyinfe/semi-foundation/tree/treeUtil'; import { cssClasses, strings } from '@douyinfe/semi-foundation/treeSelect/constants'; import { numbers as popoverNumbers } from '@douyinfe/semi-foundation/popover/constants'; @@ -305,7 +306,7 @@ class TreeSelect extends BaseComponent { triggerRef: React.RefObject; optionsRef: React.RefObject; clickOutsideHandler: any; - _flattenNodes: TreeState['flattenNodes']; + // _flattenNodes: TreeState['flattenNodes']; onNodeClick: any; onNodeDoubleClick: any; onMotionEnd: any; @@ -325,6 +326,7 @@ class TreeSelect extends BaseComponent { keyEntities: {}, treeData: [], flattenNodes: [], + cachedFlattenNodes: undefined, selectedKeys: [], checkedKeys: new Set(), halfCheckedKeys: new Set(), @@ -371,7 +373,8 @@ class TreeSelect extends BaseComponent { }; const needUpdateTreeData = needUpdate('treeData'); const needUpdateExpandedKeys = needUpdate('expandedKeys'); - + const isExpandControlled = 'expandedKeys' in props; + const isSearching = Boolean(props.filterTreeNode && prevState.inputValue && prevState.inputValue.length); // TreeNode if (needUpdateTreeData) { treeData = props.treeData; @@ -397,50 +400,135 @@ class TreeSelect extends BaseComponent { } } const expandAllWhenDataChange = needUpdateTreeData && props.expandAll; - // expandedKeys - if (needUpdateExpandedKeys || (prevProps && needUpdate('autoExpandParent'))) { - newState.expandedKeys = calcExpandedKeys( - props.expandedKeys, - keyEntities, - props.autoExpandParent || !prevProps - ); - // only show animation when treeData does not change - if (prevProps && props.motion && !treeData) { - const { motionKeys, motionType } = calcMotionKeys( - prevState.expandedKeys, - newState.expandedKeys, - keyEntities + if (!isSearching) { + // expandedKeys + if (needUpdateExpandedKeys || (prevProps && needUpdate('autoExpandParent'))) { + newState.expandedKeys = calcExpandedKeys( + props.expandedKeys, + keyEntities, + props.autoExpandParent || !prevProps + ); + // only show animation when treeData does not change + if (prevProps && props.motion && !treeData) { + const { motionKeys, motionType } = calcMotionKeys( + prevState.expandedKeys, + newState.expandedKeys, + keyEntities + ); + newState.motionKeys = new Set(motionKeys); + newState.motionType = motionType; + if (motionType === 'hide') { + // cache flatten nodes: expandedKeys changed may not be triggered by interaction + newState.cachedFlattenNodes = cloneDeep(prevState.flattenNodes); + } + } + } else if ((!prevProps && (props.defaultExpandAll || props.expandAll)) || expandAllWhenDataChange) { + newState.expandedKeys = new Set(Object.keys(keyEntities)); + } else if (!prevProps && props.defaultExpandedKeys) { + newState.expandedKeys = calcExpandedKeys(props.defaultExpandedKeys, keyEntities); + } else if (!prevProps && props.defaultValue) { + newState.expandedKeys = calcExpandedKeysForValues( + normalizeValue(props.defaultValue, withObject, keyMaps), + keyEntities, + props.multiple, + valueEntities + ); + } else if (!prevProps && props.value) { + newState.expandedKeys = calcExpandedKeysForValues( + normalizeValue(props.value, withObject, keyMaps), + keyEntities, + props.multiple, + valueEntities + ); + } else if ((!isExpandControlled && needUpdateTreeData) && props.value) { + // 当 treeData 已经设置具体的值,并且设置了 props.loadData ,则认为 treeData 的更新是因为 loadData 导致的 + // 如果是因为 loadData 导致 treeData改变, 此时在这里重新计算 key 会导致为未选中的展开项目被收起 + // 所以此时不需要重新计算 expandedKeys,因为在点击展开按钮时候已经把被展开的项添加到 expandedKeys 中 + // When treeData has a specific value and props.loadData is set, it is considered that the update of treeData is caused by loadData + // If the treeData is changed because of loadData, recalculating the key here will cause the unselected expanded items to be collapsed + // So there is no need to recalculate expandedKeys at this time, because the expanded item has been added to expandedKeys when the expand button is clicked + if (!(prevState.treeData && prevState.treeData?.length > 0 && props.loadData)) { + newState.expandedKeys = calcExpandedKeysForValues( + props.value, + keyEntities, + props.multiple, + valueEntities + ); + } + } + + if (!newState.expandedKeys) { + delete newState.expandedKeys; + } + + if (treeData || newState.expandedKeys) { + const flattenNodes = flattenTreeData( + treeData || prevState.treeData, + newState.expandedKeys || prevState.expandedKeys, + keyMaps + ); + newState.flattenNodes = flattenNodes; + } + } else { + let filteredState; + // treeData changed while searching + if (treeData) { + // Get filter data + filteredState = filterTreeData({ + treeData, + inputValue: prevState.inputValue, + filterTreeNode: props.filterTreeNode, + filterProps: props.treeNodeFilterProp, + showFilteredOnly: props.showFilteredOnly, + keyEntities: newState.keyEntities, + prevExpandedKeys: [...prevState.filteredExpandedKeys], + keyMaps: keyMaps + }); + newState.flattenNodes = filteredState.flattenNodes; + newState.motionKeys = new Set([]); + newState.filteredKeys = filteredState.filteredKeys; + newState.filteredShownKeys = filteredState.filteredShownKeys; + newState.filteredExpandedKeys = filteredState.filteredExpandedKeys; + } + + // expandedKeys changed while searching + if (props.expandedKeys) { + newState.filteredExpandedKeys = calcExpandedKeys( + props.expandedKeys, + keyEntities, + props.autoExpandParent || !prevProps + ); + + if (prevProps && props.motion) { + const prevKeys = prevState ? prevState.filteredExpandedKeys : new Set([]); + // only show animation when treeData does not change + if (!treeData) { + const motionResult = calcMotionKeys( + prevKeys, + newState.filteredExpandedKeys, + keyEntities + ); + + let { motionKeys } = motionResult; + const { motionType } = motionResult; + if (props.showFilteredOnly) { + motionKeys = motionKeys.filter(key => prevState.filteredShownKeys.has(key)); + } + if (motionType === 'hide') { + // cache flatten nodes: expandedKeys changed may not be triggered by interaction + newState.cachedFlattenNodes = cloneDeep(prevState.flattenNodes); + } + newState.motionKeys = new Set(motionKeys); + newState.motionType = motionType; + } + } + newState.flattenNodes = flattenTreeData( + treeData || prevState.treeData, + newState.filteredExpandedKeys || prevState.filteredExpandedKeys, + keyMaps, + props.showFilteredOnly && prevState.filteredShownKeys ); - newState.motionKeys = new Set(motionKeys); - newState.motionType = motionType; } - } else if ((!prevProps && (props.defaultExpandAll || props.expandAll)) || expandAllWhenDataChange) { - newState.expandedKeys = new Set(Object.keys(keyEntities)); - } else if (!prevProps && props.defaultExpandedKeys) { - newState.expandedKeys = calcExpandedKeys(props.defaultExpandedKeys, keyEntities); - } else if (!prevProps && props.defaultValue) { - newState.expandedKeys = calcExpandedKeysForValues( - normalizeValue(props.defaultValue, withObject, keyMaps), - keyEntities, - props.multiple, - valueEntities - ); - } else if (!prevProps && props.value) { - newState.expandedKeys = calcExpandedKeysForValues( - normalizeValue(props.value, withObject, keyMaps), - keyEntities, - props.multiple, - valueEntities - ); - } - // flattenNodes - if (treeData || needUpdateExpandedKeys) { - const flattenNodes = flattenTreeData( - treeData || prevState.treeData, - newState.expandedKeys || prevState.expandedKeys, - keyMaps, - ); - newState.flattenNodes = flattenNodes; } // selectedKeys: single mode controlled @@ -588,7 +676,7 @@ class TreeSelect extends BaseComponent { this.props.onSearch && this.props.onSearch(input, filteredExpandedKeys); }, cacheFlattenNodes: bool => { - this._flattenNodes = bool ? cloneDeep(this.state.flattenNodes) : null; + this.setState({ cachedFlattenNodes: bool ? cloneDeep(this.state.flattenNodes) : undefined }); }, notifyLoad: (newLoadedKeys, data) => { const { onLoad } = this.props; @@ -1304,14 +1392,27 @@ class TreeSelect extends BaseComponent { /* Event handler function after popover is closed */ handlePopoverClose = isVisible => { const { filterTreeNode, searchAutoFocus, searchPosition } = this.props; - if (isVisible === false && Boolean(filterTreeNode)) { - this.foundation.clearInput(); + // 将 inputValue 清空,如果有选中值的话,选中项能够快速回显 + // Clear the inputValue. If there is a selected value, the selected item can be quickly echoed. + if (isVisible === false && filterTreeNode) { + this.foundation.clearInputValue(); } if (filterTreeNode && searchPosition === strings.SEARCH_POSITION_DROPDOWN && isVisible && searchAutoFocus) { this.foundation.focusInput(true); } } + afterClose = () => { + // flattenNode 的变化将导致弹出层面板中的选项数目变化 + // 在弹层完全收起之后,再通过 clearInput 重新计算 state 中的 expandedKey, flattenNode + // 防止在弹出层未收起时弹层面板中选项数目变化导致视觉上出现弹层闪动问题 + // Changes to flattenNode will cause the number of options in the popup panel to change + // After the pop-up layer is completely closed, recalculate the expandedKey and flattenNode in the state through clearInput. + // Prevent the pop-up layer from flickering visually due to changes in the number of options in the pop-up panel when the pop-up layer is not collapsed. + const { filterTreeNode } = this.props; + filterTreeNode && this.foundation.clearInput(); + } + renderTreeNode = (treeNode: FlattenNode, ind: number, style: React.CSSProperties) => { const { data, key } = treeNode; const treeNodeProps = this.foundation.getTreeNodeProps(key); @@ -1334,7 +1435,7 @@ class TreeSelect extends BaseComponent { }; renderNodeList = () => { - const { flattenNodes, motionKeys, motionType, filteredKeys } = this.state; + const { flattenNodes, cachedFlattenNodes, motionKeys, motionType, filteredKeys } = this.state; const { direction } = this.context; const { virtualize, motionExpand } = this.props; const isExpandControlled = 'expandedKeys' in this.props; @@ -1342,7 +1443,7 @@ class TreeSelect extends BaseComponent { return ( { mouseLeaveDelay={mouseLeaveDelay} mouseEnterDelay={mouseEnterDelay} onVisibleChange={this.handlePopoverClose} + afterClose={this.afterClose} > {selection} From 71322e850c80f90e4204959449f968e7f3b72fca Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B0=8F=E9=93=AD?= <51167564+Yan-XiaoMing@users.noreply.github.com> Date: Mon, 25 Dec 2023 15:27:15 +0800 Subject: [PATCH 06/35] Feat/add tree showLine api (#1973) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * feat: add showline * feat: add showline * chore: Complete showline demo * fix: fixed treeSelect treeNode * fix: 删除无用标记 * chore: update lock file * style: Fix style error of draggable Tree in showLine state * docs: Tree add showLine * style: add padding-left for option * feat: TreeSelect add showLine --------- Co-authored-by: yeming Co-authored-by: zhangyumei.0319 --- content/input/treeselect/index-en-US.md | 1 + content/input/treeselect/index.md | 1 + content/navigation/tree/index-en-US.md | 74 ++ content/navigation/tree/index.md | 74 ++ packages/semi-foundation/tree/foundation.ts | 4 +- packages/semi-foundation/tree/rtl.scss | 24 +- packages/semi-foundation/tree/tree.scss | 122 ++- packages/semi-foundation/tree/treeUtil.ts | 4 +- packages/semi-foundation/tree/variables.scss | 5 +- packages/semi-ui/tree/_story/tree.stories.jsx | 898 ++++++++++-------- packages/semi-ui/tree/indent.tsx | 36 + packages/semi-ui/tree/index.tsx | 15 +- packages/semi-ui/tree/interface.ts | 10 +- packages/semi-ui/tree/treeNode.tsx | 38 +- packages/semi-ui/treeSelect/index.tsx | 9 +- yarn.lock | 86 -- 16 files changed, 856 insertions(+), 545 deletions(-) create mode 100644 packages/semi-ui/tree/indent.tsx diff --git a/content/input/treeselect/index-en-US.md b/content/input/treeselect/index-en-US.md index 2dd5f22b66..e34698f07d 100644 --- a/content/input/treeselect/index-en-US.md +++ b/content/input/treeselect/index-en-US.md @@ -1450,6 +1450,7 @@ function Demo() { | searchPosition | Set the position of the search box, one of: `dropdown`、`trigger` | string | `dropdown` | 1.29.0 | | showClear | When the value is not empty, whether the trigger displays the clear button | boolean | false | | | showFilteredOnly | Toggle whether to displayed filtered result only in search mode | boolean | false | 0.32.0 | +| showLine | The option in the options panel shows connecting lines | boolean | false | 2.50.0 | | showRestTagsPopover | When the number of tags exceeds maxTagCount and hover reaches +N, whether to display the remaining content through Popover | boolean | false | 2.22.0 | | showSearchClear | Toggle whether to support clear search box | boolean | true | 0.35.0 | | size | Size for input box,one of `large`,`small`,`default` | string | `default` | - | diff --git a/content/input/treeselect/index.md b/content/input/treeselect/index.md index c64fafc0b2..33d65a2bf2 100644 --- a/content/input/treeselect/index.md +++ b/content/input/treeselect/index.md @@ -1431,6 +1431,7 @@ function Demo() { | searchPosition | 设置搜索框的位置,可选: `dropdown`、`trigger` | string | `dropdown` | 1.29.0 | | showClear | 当值不为空时,trigger 是否展示清除按钮 | boolean | false | | | showFilteredOnly | 搜索状态下是否只展示过滤后的结果 | boolean | false | 0.32.0 | +| showLine | 选项面板中选项显示连接线 | boolean | false | 2.50.0 | | showRestTagsPopover | 当超过 maxTagCount,hover 到 +N 时,是否通过 Popover 显示剩余内容 | boolean | false | 2.22.0 | | showSearchClear | 是否显示搜索框的清除按钮 | boolean | true | 0.35.0 | | size | 选择框大小,可选 `large`,`small`,`default` | string | `default` | - | diff --git a/content/navigation/tree/index-en-US.md b/content/navigation/tree/index-en-US.md index b1b6d8f72d..63a8832097 100644 --- a/content/navigation/tree/index-en-US.md +++ b/content/navigation/tree/index-en-US.md @@ -1213,6 +1213,79 @@ class Demo extends React.Component { } ``` +### Tree with line + +Set the line between nodes through `showLine`, the default is false, supported starting from 2.50.0 + +```jsx live=true hideInDSM +import React, { useState, useCallback } from 'react'; +import { Tree, Switch } from '@douyinfe/semi-ui'; + +() => { + const [show, setShow] = useState(true); + const onChange = useCallback((value) => { + setShow(value); + }, []); + const treeData = useMemo(() => { + return [ + { + label: 'parent-0', + key: 'parent-0', + children: [ + { + label: 'leaf-0-0', + key: 'leaf-0-0', + children: [ + { + label: 'leaf-0-0-0', + key: 'leaf-0-0-0', + }, + { + label: 'leaf-0-0-1', + key: 'leaf-0-0-1', + }, + { + label: 'leaf-0-0-2', + key: 'leaf-0-0-2', + }, + ] + }, + { + label: 'leaf-0-1', + key: 'leaf-0-1', + } + ] + }, + { + label: 'parent-1', + key: 'parent-1', + } + ]; + }, []); + + const style = { + width: 260, + height: 420, + border: '1px solid var(--semi-color-border)' + }; + + return ( + <> +
+ showLine + +
+ + + ); +}; +``` + ### Virtualized Tree If you need to render large sets of tree structured data, you could use virtualized tree. In virtualized mode, animation / motion is disabled for better performance. @@ -2232,6 +2305,7 @@ import { IconFixedStroked, IconSectionStroked, IconAbsoluteStroked, IconInnerSec | searchStyle | Style for for search box | CSSProperties | - | - | | showClear | Toggle whether to support clear input box | boolean | true | 0.35.0| | showFilteredOnly | Toggle whether to displayed filtered result only in search mode | boolean | false | 0.32.0 | +| showLine | show line between tree nodes | boolean | false | 2.50.0 | | style | Inline style | CSSProperties | - | - | | treeData | Data for treeNodes | TreeNodeData[] | \[] | - | | treeDataSimpleJson | Data for treeNodes in JSON format, return value in JSON format as well | TreeDataSimpleJson | \{} | - | diff --git a/content/navigation/tree/index.md b/content/navigation/tree/index.md index 866bb6ab43..5ca3180437 100644 --- a/content/navigation/tree/index.md +++ b/content/navigation/tree/index.md @@ -1241,6 +1241,79 @@ class Demo extends React.Component { } ``` +### 连接线 + +通过 `showLine` 设置节点之间的连接线,默认为 false,从 2.50.0 开始支持 + +```jsx live=true hideInDSM +import React, { useState, useCallback } from 'react'; +import { Tree, Switch } from '@douyinfe/semi-ui'; + +() => { + const [show, setShow] = useState(true); + const onChange = useCallback((value) => { + setShow(value); + }, []); + const treeData = useMemo(() => { + return [ + { + label: 'parent-0', + key: 'parent-0', + children: [ + { + label: 'leaf-0-0', + key: 'leaf-0-0', + children: [ + { + label: 'leaf-0-0-0', + key: 'leaf-0-0-0', + }, + { + label: 'leaf-0-0-1', + key: 'leaf-0-0-1', + }, + { + label: 'leaf-0-0-2', + key: 'leaf-0-0-2', + }, + ] + }, + { + label: 'leaf-0-1', + key: 'leaf-0-1', + } + ] + }, + { + label: 'parent-1', + key: 'parent-1', + } + ]; + }, []); + + const style = { + width: 260, + height: 420, + border: '1px solid var(--semi-color-border)' + }; + + return ( + <> +
+ showLine + +
+ + + ); +}; +``` + ### 虚拟化 列表虚拟化,用于大量树节点的情况。开启后,动画效果将被关闭。 @@ -2247,6 +2320,7 @@ import { IconFixedStroked, IconSectionStroked, IconAbsoluteStroked, IconInnerSec | searchStyle | 搜索框的样式 | CSSProperties | - | - | | showClear | 支持清除搜索框 | boolean | true | 0.35.0 | | showFilteredOnly | 搜索状态下是否只展示过滤后的结果 | boolean | false | 0.32.0 | +| showLine | 显示连接线 | boolean | false | 2.50.0 | | style | 样式 | CSSProperties | - | - | | treeData | treeNodes 数据,如果设置则不需要手动构造 TreeNode 节点(key值在整个树范围内唯一) | TreeNodeData[] | \[] | - | | treeDataSimpleJson | 简单 JSON 形式的 `TreeNodeData` 数据,如果设置则不需要手动构造 TreeNode 节点,返回值为包含选中节点的Json数据 | TreeDataSimpleJson | \{} | - | diff --git a/packages/semi-foundation/tree/foundation.ts b/packages/semi-foundation/tree/foundation.ts index fff07f6773..7f65b82a08 100644 --- a/packages/semi-foundation/tree/foundation.ts +++ b/packages/semi-foundation/tree/foundation.ts @@ -42,7 +42,8 @@ export interface BasicTreeNodeProps { directory?: boolean; selectedKey?: string; motionKey?: string[] | string; - eventKey?: string + eventKey?: string; + showLine?: boolean } export interface BasicTreeNodeData { @@ -236,6 +237,7 @@ export interface BasicTreeProps { searchStyle?: any; showClear?: boolean; showFilteredOnly?: boolean; + showLine?: boolean; style?: any; treeData?: BasicTreeNodeData[]; treeDataSimpleJson?: TreeDataSimpleJson; diff --git a/packages/semi-foundation/tree/rtl.scss b/packages/semi-foundation/tree/rtl.scss index cfb6f9a816..40650fd7fd 100644 --- a/packages/semi-foundation/tree/rtl.scss +++ b/packages/semi-foundation/tree/rtl.scss @@ -5,55 +5,47 @@ $module: #{$prefix}-tree; .#{$module} { direction: rtl; } - + .#{$module}-wrapper { direction: rtl; } - + .#{$module}-option-list { direction: rtl; - + .#{$module}-option-expand-icon, .#{$module}-option-empty-icon { margin-right: 0; margin-left: $spacing-tree_icon-marginRight; } - + .#{$module}-option { &-label { & > .#{$prefix}-icon { margin-right: 0; margin-left: $spacing-tree_icon-marginRight; } - + .#{$prefix}-checkbox { margin-right: 0; margin-left: $spacing-tree_icon-marginRight; } } - + &-collapsed { .#{$module}-option-expand-icon { transform: rotate(90deg); } } } - - @for $i from 1 through 20 { - .#{$module}-option-level-#{$i} { - padding-left: 0; - padding-right: $spacing-tree_option_level-paddingLeft * ($i - 1) + $spacing-tree_option_level1-paddingLeft; - } - } - + .#{$module}-option-label-empty { padding-left: auto; padding-right: 0; } } - + .#{$module}-option-list-block { direction: rtl; } } - diff --git a/packages/semi-foundation/tree/tree.scss b/packages/semi-foundation/tree/tree.scss index a2a8150544..e945bdf314 100644 --- a/packages/semi-foundation/tree/tree.scss +++ b/packages/semi-foundation/tree/tree.scss @@ -1,11 +1,9 @@ -@import "./animation.scss"; +@import './animation.scss'; @import './variables.scss'; - $module: #{$prefix}-tree; .#{$module} { - &-search-wrapper { padding: $spacing-tree_search_wrapper-paddingY $spacing-tree_search_wrapper-paddingX; } @@ -34,6 +32,7 @@ $module: #{$prefix}-tree; box-sizing: border-box; padding-top: $spacing-tree_option-paddingTop; padding-bottom: $spacing-tree_option-paddingBottom; + padding-left: $spacing-tree_option_level1-paddingLeft; } li > .#{$module}-option-label { @@ -55,8 +54,9 @@ $module: #{$prefix}-tree; display: flex; align-items: center; cursor: pointer; - transition: background-color $transition_duration-tree_option-bg $transition_function-tree_option-bg $transition_delay-tree_option-bg; - transform:scale($transform_scale-tree-option); + transition: background-color $transition_duration-tree_option-bg $transition_function-tree_option-bg + $transition_delay-tree_option-bg; + transform: scale($transform_scale-tree-option); @include font-size-regular; word-break: break-word; @@ -163,7 +163,7 @@ $module: #{$prefix}-tree; &-draggable { box-sizing: border-box; border-left: $width-tree_option_draggable-border solid transparent; - margin-top: -$width-tree_option_draggable-border; + // margin-top: -$width-tree_option_draggable-border; .#{$module}-option-label { border-top: $width-tree_option_draggable-border transparent solid; @@ -175,7 +175,26 @@ $module: #{$prefix}-tree; } .#{$module}-option-drag-over-gap-bottom { - border-bottom: $width-tree_option_draggable-border $color-tree_option_draggable_insert-border-default solid; + border-bottom: $width-tree_option_draggable-border $color-tree_option_draggable_insert-border-default + solid; + } + + .#{$module}-option-indent { + .#{$module}-option-indent-unit:before { + top: 0px; + bottom: 0px; + } + } + + .#{$module}-option-switcher-leaf-line::before { + top: 0px; + bottom: 0px; + } + + &.#{$module}-option-tree-node-last-leaf { + .#{$module}-option-switcher-leaf-line::before { + height: 50%; + } } } @@ -185,7 +204,8 @@ $module: #{$prefix}-tree; } &.#{$module}-option-fullLabel-drag-over-gap-bottom { - border-bottom: $width-tree_option_draggable-border $color-tree_option_draggable_insert-border-default solid; + border-bottom: $width-tree_option_draggable-border $color-tree_option_draggable_insert-border-default + solid; } } @@ -207,7 +227,85 @@ $module: #{$prefix}-tree; left: -$width-tree_option_draggable-border; bottom: 0; right: -1px; - border-top: $width-tree_option_draggable-border solid $color-tree_option_draggable_insert-border-default; + border-top: $width-tree_option_draggable-border solid + $color-tree_option_draggable_insert-border-default; + } + } + } + &-indent { + align-self: stretch; + white-space: nowrap; + user-select: none; + &-unit { + display: inline-block; + width: $spacing-tree_option_level-paddingLeft; + } + } + + &-indent-show-line { + .#{$module}-option-indent-unit { + position: relative; + height: 100%; + + &::before { + position: absolute; + top: -$spacing-tree_option-paddingTop; + inset-inline-start: calc($width-tree_emptyIcon / 2); + bottom: -$spacing-tree_option-paddingBottom; + border-inline-end: $width-tree_option_line solid var(--semi-color-text-3); + content: ''; + } + + &-end { + &::before { + display: none; + } + } + } + } + + &-switcher { + position: relative; + flex: none; + align-self: stretch; + width: $width-tree_emptyIcon; + margin: 0; + text-align: center; + cursor: pointer; + user-select: none; + margin-right: $spacing-tree_icon-marginRight; + &-leaf-line { + z-index: 1; + position: relative; + display: inline-block; + width: 100%; + height: 100%; + + &::before { + position: absolute; + top: -$spacing-tree_option-paddingTop; + inset-inline-start: calc($width-tree_emptyIcon / 2); + bottom: -$spacing-tree_option-paddingBottom; + border-inline-end: $width-tree_option_line solid var(--semi-color-text-3); + content: ''; + } + + &::after { + box-sizing: border-box; + position: absolute; + width: calc(($spacing-tree_option_level-paddingLeft / 2) * 0.8); + height: 50%; + border-bottom: $width-tree_option_line solid var(--semi-color-text-3); + content: ''; + margin-inline-start: $width-tree_option_line; + } + } + } + + &-tree-node-last-leaf { + .#{$module}-option-switcher-leaf-line { + &::before { + height: calc(50% + $spacing-tree_option-paddingTop); } } } @@ -231,12 +329,6 @@ $module: #{$prefix}-tree; } } - @for $i from 1 through 20 { - .#{$module}-option-level-#{$i} { - padding-left: $spacing-tree_option_level-paddingLeft * ($i - 1) + $spacing-tree_option_level1-paddingLeft; - } - } - .#{$module}-option-empty { &:hover, &:active { diff --git a/packages/semi-foundation/tree/treeUtil.ts b/packages/semi-foundation/tree/treeUtil.ts index 45207f4fe9..f208156696 100644 --- a/packages/semi-foundation/tree/treeUtil.ts +++ b/packages/semi-foundation/tree/treeUtil.ts @@ -56,7 +56,6 @@ export function flattenTreeData(treeNodeList: any[], expandedKeys: Set, return list.map((treeNode, index) => { const pos = getPosition(parent ? parent.pos : '0', index); const mergedKey = treeNode[realKeyName]; - const otherData = {}; if (keyMaps) { Object.entries(omit(keyMaps, 'children')).forEach(([key, value]) => { @@ -74,6 +73,7 @@ export function flattenTreeData(treeNodeList: any[], expandedKeys: Set, children: null, data: treeNode, _innerDataTag: true, + isEnd: [...(parent ? parent.isEnd : []), index === list.length - 1], }; const isBooleanFilteredShownKeys = typeof filteredShownKeys === 'boolean'; if (!filterSearch || (!isBooleanFilteredShownKeys && filteredShownKeys.has(mergedKey))) { @@ -340,7 +340,7 @@ export function calcCheckedKeys(values: any, keyEntities: KeyEntities) { let halfCheckedKeys = new Set([]); let visited: any[] = []; - const levelMap: {[key: number]: string[]} = getSortedKeyList(keyList, keyEntities); + const levelMap: { [key: number]: string[] } = getSortedKeyList(keyList, keyEntities); const calcCurrLevel = (node: any) => { const { key, parent, level } = node; diff --git a/packages/semi-foundation/tree/variables.scss b/packages/semi-foundation/tree/variables.scss index 9132f0b145..a57852eea2 100644 --- a/packages/semi-foundation/tree/variables.scss +++ b/packages/semi-foundation/tree/variables.scss @@ -28,9 +28,10 @@ $spacing-tree_option-paddingTop: 4px; // 树选项顶部内边距 $spacing-tree_option-paddingBottom: 4px; // 树选项底部内边距 $spacing-tree_icon-marginRight: 8px; // 树选项图标右侧外边距 $spacing-tree_label_withIcon-marginRight: 8px; // 树选项图标右侧外边距 -$spacing-tree_option_draggable-paddingY: 3px; // 可拖拽的树选项垂直内边距 +$spacing-tree_option_draggable-paddingY: 2px; // 可拖拽的树选项垂直内边距 $spacing-tree_option_draggable-paddingX: 0; // 可拖拽的树选项水平内边距 $width-tree_emptyIcon: $width-icon-small; // 树选项空图标宽度 $width-tree_spinIcon: $width-icon-small; // 树选项加载 spin 宽度 -$width-tree_option_draggable-border: 2px; // 可拖拽的树标示线宽度 \ No newline at end of file +$width-tree_option_draggable-border: 2px; // 可拖拽的树标示线宽度 +$width-tree_option_line: 1px; // showline展示线宽度 diff --git a/packages/semi-ui/tree/_story/tree.stories.jsx b/packages/semi-ui/tree/_story/tree.stories.jsx index 66fb0037b6..8b69f37c7b 100644 --- a/packages/semi-ui/tree/_story/tree.stories.jsx +++ b/packages/semi-ui/tree/_story/tree.stories.jsx @@ -3,7 +3,7 @@ import { cloneDeep, difference, isEqual } from 'lodash'; import { IconEdit, IconMapPin, IconMore } from '@douyinfe/semi-icons'; import Tree from '../index'; import AutoSizer from '../autoSizer'; -import { Button, ButtonGroup, Input, Popover, Toast, Space, Select, Switch, Typography} from '../../index'; +import { Button, ButtonGroup, Input, Popover, Toast, Space, Select, Switch, Typography } from '../../index'; import BigTree from './BigData'; import testData from './data'; const TreeNode = Tree.TreeNode; @@ -1872,8 +1872,8 @@ const MutipleHLTree = () => { backgroundColor: selected.has(key) ? 'rgba(var(--semi-blue-0), 1)' : selectedThroughParent.has(key) - ? 'rgba(var(--semi-blue-0), .5)' - : 'transparent', + ? 'rgba(var(--semi-blue-0), .5)' + : 'transparent', }; return (
  • @@ -1981,6 +1981,7 @@ const DnDTree = () => { ]; const [treeData, setTreeData] = useState(initialData); + const [showLine, setShowLine] = useState(false); // const [expandedKeys, setExpandedKeys] = useState(['zhongguo']); @@ -2041,14 +2042,23 @@ const DnDTree = () => { setTreeData(data); } + const onSwitchChange = useCallback((value) => { + setShowLine(value); + }, []); + return ( - + <> + + + + ); }; @@ -2199,8 +2209,8 @@ export const RenderFullLabelWithDraggable = () => { backgroundColor: selected.has(key) ? 'rgba(var(--semi-blue-0), 1)' : selectedThroughParent.has(key) - ? 'rgba(var(--semi-blue-0), .5)' - : 'transparent', + ? 'rgba(var(--semi-blue-0), .5)' + : 'transparent', }; return (
  • @@ -2236,62 +2246,62 @@ RenderFullLabelWithDraggable.story = { export const CheckRelationDemo = () => { const treeData = [ { - label: 'Asia', - value: 'Asia', - key: '0', - children: [ + label: 'Asia', + value: 'Asia', + key: '0', + children: [ + { + label: 'China', + value: 'China', + key: '0-0', + children: [ { - label: 'China', - value: 'China', - key: '0-0', - children: [ - { - label: 'Beijing', - value: 'Beijing', - key: '0-0-0', - }, - { - label: 'Shanghai', - value: 'Shanghai', - key: '0-0-1', - }, - { - label: 'Chengdu', - value: 'Chengdu', - key: '0-0-2', - }, - ], + label: 'Beijing', + value: 'Beijing', + key: '0-0-0', }, { - label: 'Japan', - value: 'Japan', - key: '0-1', - children: [ - { - label: 'Osaka', - value: 'Osaka', - key: '0-1-0' - } - ] + label: 'Shanghai', + value: 'Shanghai', + key: '0-0-1', }, - ], - }, - { - label: 'North America', - value: 'North America', - key: '1', - children: [ { - label: 'United States', - value: 'United States', - key: '1-0' + label: 'Chengdu', + value: 'Chengdu', + key: '0-0-2', }, + ], + }, + { + label: 'Japan', + value: 'Japan', + key: '0-1', + children: [ { - label: 'Canada', - value: 'Canada', - key: '1-1' + label: 'Osaka', + value: 'Osaka', + key: '0-1-0' } - ] + ] + }, + ], + }, + { + label: 'North America', + value: 'North America', + key: '1', + children: [ + { + label: 'United States', + value: 'United States', + key: '1-0' + }, + { + label: 'Canada', + value: 'Canada', + key: '1-1' + } + ] } ]; const [value, setValue] = useState('China'); @@ -2396,7 +2406,7 @@ export const CheckRelationDemo = () => { checkRelation='unRelated' defaultExpandAll style={style} - onSelect={(value,status,node)=>console.log('select', value, status, node)} + onSelect={(value, status, node) => console.log('select', value, status, node)} /> ); @@ -2404,240 +2414,250 @@ export const CheckRelationDemo = () => { export const ValueImpactExpansionWithDynamicTreeData = () => { const json = { - "Node0": { - "Child Node0-0": '0-0', - "Child Node0-1": '0-1', - }, - "Node1": { - "Child Node1-0": '1-0', - "Child Node1-1": '1-1', - } + "Node0": { + "Child Node0-0": '0-0', + "Child Node0-1": '0-1', + }, + "Node1": { + "Child Node1-0": '1-0', + "Child Node1-1": '1-1', + } } const json2 = { - "Updated Node0": { - "Updated Child Node0-0": { - 'Updated Child Node0-0-0':'0-0' - }, - "Updated Child Node0-1": '0-1', + "Updated Node0": { + "Updated Child Node0-0": { + 'Updated Child Node0-0-0': '0-0' }, - "Updated Node1": { - "Updated Child Node1-0": '1-0', - "Updated Child Node1-1": '1-1', - } + "Updated Child Node0-1": '0-1', + }, + "Updated Node1": { + "Updated Child Node1-0": '1-0', + "Updated Child Node1-1": '1-1', + } } const style = { - width: 260, - height: 420, - border: '1px solid var(--color-border)' + width: 260, + height: 420, + border: '1px solid var(--color-border)' } const [value, setValue] = useState('0-0') const [tree, setTree] = useState(json); const handleValueButtonClick = () => { - if (value === '0-0') { - setValue('1-0'); - } else { - setValue('0-0'); - } + if (value === '0-0') { + setValue('1-0'); + } else { + setValue('0-0'); + } } const handleTreeDataButtonClick = () => { - if(isEqual(tree, json)){ - setTree(json2); - } else { - setTree(json); - } + if (isEqual(tree, json)) { + setTree(json2); + } else { + setTree(json); + } } - return ( + return ( <>
    value 受控时,当 treeData/treeDataSimpleJson 改变时,应该根据 value 自动展开
    - setValue(v)} + setValue(v)} /> - - + + ) } class DemoV extends React.Component { - constructor() { - super(); - this.state = { - gData: [], - total: 0, - align: 'center', - scrollKey: '', - expandAll: false, - }; - this.onGen = this.onGen.bind(this); - this.onScroll = this.onScroll.bind(this); - this.onInputChange = this.onInputChange.bind(this); - this.onInputBlur = this.onInputBlur.bind(this); - this.onSelectChange = this.onSelectChange.bind(this); - this.treeRef = React.createRef(); - } - - generateData(x = 5, y = 4, z = 3, gData = []) { - // x:每一级下的节点总数。y:每级节点里有y个节点、存在子节点。z:树的level层级数(0表示一级) - function _loop(_level, _preKey, _tns) { - const preKey = _preKey || '0'; - const tns = _tns || gData; - - const children = []; - for (let i = 0; i < x; i++) { - const key = `${preKey}-${i}`; - tns.push({ label: `${key}-标签`, key: `${key}-key`, value: `${key}-value` }); - if (i < y) { - children.push(key); - } - } - if (_level < 0) { - return tns; - } - const __level = _level - 1; - children.forEach((key, index) => { - tns[index].children = []; - return _loop(__level, key, tns[index].children); - }); + constructor() { + super(); + this.state = { + gData: [], + total: 0, + align: 'center', + scrollKey: '', + expandAll: false, + showLine: false, + }; + this.onGen = this.onGen.bind(this); + this.onScroll = this.onScroll.bind(this); + this.onInputChange = this.onInputChange.bind(this); + this.onInputBlur = this.onInputBlur.bind(this); + this.onSelectChange = this.onSelectChange.bind(this); + this.treeRef = React.createRef(); + } - return null; + generateData(x = 5, y = 4, z = 3, gData = []) { + // x:每一级下的节点总数。y:每级节点里有y个节点、存在子节点。z:树的level层级数(0表示一级) + function _loop(_level, _preKey, _tns) { + const preKey = _preKey || '0'; + const tns = _tns || gData; + + const children = []; + for (let i = 0; i < x; i++) { + const key = `${preKey}-${i}`; + tns.push({ label: `${key}-标签`, key: `${key}-key`, value: `${key}-value` }); + if (i < y) { + children.push(key); } - _loop(z); + } + if (_level < 0) { + return tns; + } + const __level = _level - 1; + children.forEach((key, index) => { + tns[index].children = []; + return _loop(__level, key, tns[index].children); + }); - function calcTotal(x, y, z) { - const rec = n => (n >= 0 ? x * y ** n-- + rec(n) : 0); - return rec(z + 1); - } - return { gData, total: calcTotal(x, y, z) }; + return null; } + _loop(z); - onGen() { - const { gData, total } = this.generateData(); - this.setState({ - gData, - total - }); - }; - - onScroll(scrollKey, align) { - this.treeRef?.current.scrollTo({ key: scrollKey, align}); + function calcTotal(x, y, z) { + const rec = n => (n >= 0 ? x * y ** n-- + rec(n) : 0); + return rec(z + 1); } + return { gData, total: calcTotal(x, y, z) }; + } - onInputChange(value) { - this.setState({ - scrollKey: value, - }) - } + onGen() { + const { gData, total } = this.generateData(); + this.setState({ + gData, + total + }); + }; - onInputBlur(e) { - const { value } = e.target; - this.onScroll(value, this.state.align); - } + onScroll(scrollKey, align) { + this.treeRef?.current.scrollTo({ key: scrollKey, align }); + } - onSelectChange(align){ - this.setState({ - align: align, - }) - this.onScroll(this.state.scrollKey, align); - } + onInputChange(value) { + this.setState({ + scrollKey: value, + }) + } - render() { - const style = { - width: 260, - border: '1px solid var(--semi-color-border)' - }; - return ( -
    - - 共 {this.state.total} 个节点 -
    -
    -
    - defaultExpandAll - { - this.setState({ - expandAll: value, - }) - }}/> -
    -
    - 跳转的key: - - scroll align: - -
    -
    - {this.state.gData.length ? ( - - ) : null} -
    - ); - } + onInputBlur(e) { + const { value } = e.target; + this.onScroll(value, this.state.align); + } + + onSelectChange(align) { + this.setState({ + align: align, + }) + this.onScroll(this.state.scrollKey, align); + } + + render() { + const style = { + width: 260, + border: '1px solid var(--semi-color-border)' + }; + return ( +
    + + 共 {this.state.total} 个节点 +
    +
    +
    + defaultExpandAll + { + this.setState({ + expandAll: value, + }) + }} /> +
    +
    + showLine + { + this.setState({ + showLine: value, + }) + }} /> +
    +
    + 跳转的key: + + scroll align: + +
    +
    + {this.state.gData.length ? ( + + ) : null} +
    + ); + } } export const issue1124 = () => { const [v, setV] = useState(['1']); - const initialData = [ - { - label: 'Expand to load', - value: '0', - key: '0', - }, - { - label: 'Expand to load', - value: '1', - key: '1', - }, - { - label: 'Leaf Node', - value: '2', - key: '2', - isLeaf: true, - }, + const initialData = [ + { + label: 'Expand to load', + value: '0', + key: '0', + }, + { + label: 'Expand to load', + value: '1', + key: '1', + }, + { + label: 'Leaf Node', + value: '2', + key: '2', + isLeaf: true, + }, ]; const [treeData, setTreeData] = useState(initialData); function updateTreeData(list, key, children) { - return list.map(node => { - if (node.key === key) { - return { ...node, children }; - } - if (node.children) { - return { ...node, children: updateTreeData(node.children, key, children) }; - } - return node; - }); + return list.map(node => { + if (node.key === key) { + return { ...node, children }; + } + if (node.children) { + return { ...node, children: updateTreeData(node.children, key, children) }; + } + return node; + }); } const onChange = (value) => { @@ -2645,38 +2665,38 @@ export const issue1124 = () => { } function onLoadData({ key, children }) { - return new Promise(resolve => { - if (children) { - resolve(); - return; - } - setTimeout(() => { - setTreeData(origin => - updateTreeData(origin, key, [ - { - label: `Child Node${key}-0`, - key: `${key}-0`, - value: `${key}-0`, - }, - { - label: `Child Node${key}-1`, - key: `${key}-1`, - value: `${key}-1`, - }, - ]), - ); - resolve(); - }, 1000); - }); + return new Promise(resolve => { + if (children) { + resolve(); + return; + } + setTimeout(() => { + setTreeData(origin => + updateTreeData(origin, key, [ + { + label: `Child Node${key}-0`, + key: `${key}-0`, + value: `${key}-0`, + }, + { + label: `Child Node${key}-1`, + key: `${key}-1`, + value: `${key}-1`, + }, + ]), + ); + resolve(); + }, 1000); + }); } return ( - + ); } @@ -2692,126 +2712,126 @@ export const SearchableAndExpandedKeys = () => { const [expandedKeys3, setExpandedKeys3] = useState([]); const [expandedKeys4, setExpandedKeys4] = useState([]); return ( - <> - expandedKeys 受控 - { - console.log('onExpand value: ', v); - setExpandedKeys1(v); - }} - /> - expandedKeys 受控 + 开启搜索 - { - console.log('onExpand value: ', v); - setExpandedKeys2(v); - }} - /> - expandedKeys 受控 + 开启搜索 + 搜索时更新 expandedKeys - { - console.log('onExpand value: ', v); - setExpandedKeys3(v) - }} - onSearch={(input, filterExpandedKeys) => { - console.log('onExpand filterExpandedKeys: ', filterExpandedKeys); - setExpandedKeys3(filterExpandedKeys); - }} - /> - expandedKeys 受控 + 开启搜索 + showFilteredOnly + 搜索时更新 expandedKeys - { - console.log('onExpand value: ', v); - setExpandedKeys4(v) - }} - onSearch={(input, filterExpandedKeys) => { - console.log('onExpand filterExpandedKeys: ', filterExpandedKeys); - setExpandedKeys4(filterExpandedKeys); - }} - /> - + <> + expandedKeys 受控 + { + console.log('onExpand value: ', v); + setExpandedKeys1(v); + }} + /> + expandedKeys 受控 + 开启搜索 + { + console.log('onExpand value: ', v); + setExpandedKeys2(v); + }} + /> + expandedKeys 受控 + 开启搜索 + 搜索时更新 expandedKeys + { + console.log('onExpand value: ', v); + setExpandedKeys3(v) + }} + onSearch={(input, filterExpandedKeys) => { + console.log('onExpand filterExpandedKeys: ', filterExpandedKeys); + setExpandedKeys3(filterExpandedKeys); + }} + /> + expandedKeys 受控 + 开启搜索 + showFilteredOnly + 搜索时更新 expandedKeys + { + console.log('onExpand value: ', v); + setExpandedKeys4(v) + }} + onSearch={(input, filterExpandedKeys) => { + console.log('onExpand filterExpandedKeys: ', filterExpandedKeys); + setExpandedKeys4(filterExpandedKeys); + }} + /> + ) } export const UnRelatedAndAsyncLoad = () => { const initialData = [ - { - label: 'Expand to load0', - value: '0', - key: '0', - }, - { - label: 'Expand to load1', - value: '1', - key: '1', - }, - { - label: 'Leaf Node', - value: '2', - key: '2', - isLeaf: true, - }, + { + label: 'Expand to load0', + value: '0', + key: '0', + }, + { + label: 'Expand to load1', + value: '1', + key: '1', + }, + { + label: 'Leaf Node', + value: '2', + key: '2', + isLeaf: true, + }, ]; const [treeData, setTreeData] = useState(initialData); function updateTreeData(list, key, children) { - return list.map(node => { - if (node.key === key) { - return { ...node, children }; - } - if (node.children) { - return { ...node, children: updateTreeData(node.children, key, children) }; - } - return node; - }); + return list.map(node => { + if (node.key === key) { + return { ...node, children }; + } + if (node.children) { + return { ...node, children: updateTreeData(node.children, key, children) }; + } + return node; + }); } function onLoadData({ key, children }) { - return new Promise(resolve => { - if (children) { - resolve(); - return; - } - setTimeout(() => { - setTreeData(origin => - updateTreeData(origin, key, [ - { - label: `Child Node${key}-0`, - key: `${key}-0`, - }, - { - label: `Child Node${key}-1`, - key: `${key}-1`, - }, - ]), - ); - resolve(); - }, 1000); - }); + return new Promise(resolve => { + if (children) { + resolve(); + return; + } + setTimeout(() => { + setTreeData(origin => + updateTreeData(origin, key, [ + { + label: `Child Node${key}-0`, + key: `${key}-0`, + }, + { + label: `Child Node${key}-1`, + key: `${key}-1`, + }, + ]), + ); + resolve(); + }, 1000); + }); } return ( <> @@ -2861,7 +2881,7 @@ export const ChangeTreeData = () => { return constructLargeData(); }, []); - const treeData2 = useMemo(() => { + const treeData2 = useMemo(() => { return constructLargeData(); }, []); @@ -2873,12 +2893,12 @@ export const ChangeTreeData = () => { return <> -

    +

    } @@ -2903,10 +2923,10 @@ export const KeyMaps = () => { console.log('onChange', value); }, []); - const normalExpanded = useCallback((expandedKeys, {expanded, node}) => { + const normalExpanded = useCallback((expandedKeys, { expanded, node }) => { console.log('onExpanded', expandedKeys, expanded, cloneDeep(node)); }, []); - + const normalSearch = useCallback((input, filteredExpandedKeys) => { console.log('onSearch', input, filteredExpandedKeys); }, []); @@ -2982,11 +3002,83 @@ export const KeyMaps = () => { {...regularTreeProps} multiple expandedKeys={expandKeys} - onExpand={(expandedKeys, {expanded, node}) => { + onExpand={(expandedKeys, { expanded, node }) => { setExpandedKeys(expandedKeys); }} />
  • - + ); } + + +export const ShowLine = () => { + const [showLine,setShowLine] = useState(true); + return ( +
    +

    showLine + {setShowLine(checked)}}/> +

    +

    单选

    + console.log(args)} + /> +

    多选

    + +
    + ) +} + +ShowLine.story = { + name: 'show line', +}; diff --git a/packages/semi-ui/tree/indent.tsx b/packages/semi-ui/tree/indent.tsx new file mode 100644 index 0000000000..e6667dc5d1 --- /dev/null +++ b/packages/semi-ui/tree/indent.tsx @@ -0,0 +1,36 @@ +import * as React from 'react'; +import classNames from 'classnames'; + +interface IndentProps { + prefixcls: string; + level: number; + isEnd: boolean[]; + showLine: boolean +} + +const Indent = ({ prefixcls, level, isEnd, showLine }: IndentProps) => { + const baseClassName = `${prefixcls}-indent-unit`; + const list: React.ReactElement[] = []; + for (let i = 0; i < level; i += 1) { + list.push( + , + ); + } + + return ( + + ); +}; + +export default React.memo(Indent); diff --git a/packages/semi-ui/tree/index.tsx b/packages/semi-ui/tree/index.tsx index b10f993143..50c5cb9c4d 100644 --- a/packages/semi-ui/tree/index.tsx +++ b/packages/semi-ui/tree/index.tsx @@ -79,6 +79,7 @@ class Tree extends BaseComponent { searchStyle: PropTypes.object, selectedKey: PropTypes.string, showFilteredOnly: PropTypes.bool, + showLine: PropTypes.bool, style: PropTypes.object, treeData: PropTypes.arrayOf( PropTypes.shape({ @@ -133,6 +134,7 @@ class Tree extends BaseComponent { motion: true, leafOnly: false, showFilteredOnly: false, + showLine: false, expandAction: false, disableStrictly: false, draggable: false, @@ -661,11 +663,11 @@ class Tree extends BaseComponent { if (!treeNodeProps) { return null; } - const { keyMaps } = this.props; - const props: any = pick(treeNode, ['key', 'label', 'disabled', 'isLeaf', 'icon']); + const { keyMaps, showLine } = this.props; + const props: any = pick(treeNode, ['key', 'label', 'disabled', 'isLeaf', 'icon', 'isEnd']); const children = data[get(keyMaps, 'children', 'children')]; !isUndefined(children) && (props.children = children); - return ; + return ; }; itemKey = (index: number, data: KeyEntity) => { @@ -729,7 +731,7 @@ class Tree extends BaseComponent { filteredKeys, dragOverNodeKey, dropPosition, - checkedKeys, + checkedKeys, realCheckedKeys, } = this.state; @@ -743,6 +745,7 @@ class Tree extends BaseComponent { directory, multiple, showFilteredOnly, + showLine, motion, expandAction, loadData, @@ -807,10 +810,10 @@ class Tree extends BaseComponent {
    {filterTreeNode ? this.renderInput() : null}
    - {noData ? this.renderEmpty() : (multiple ? + {noData ? this.renderEmpty() : (multiple ? ( {this.renderNodeList()} - ) : + ) : this.renderNodeList() )}
    diff --git a/packages/semi-ui/tree/interface.ts b/packages/semi-ui/tree/interface.ts index e6771c6cc0..027a502cf7 100644 --- a/packages/semi-ui/tree/interface.ts +++ b/packages/semi-ui/tree/interface.ts @@ -108,16 +108,17 @@ export interface TreeState extends BasicTreeInnerData { } /* TreeNode */ -export interface TreeNodeProps extends BasicTreeNodeProps{ +export interface TreeNodeProps extends BasicTreeNodeProps { children?: TreeNodeData[]; - icon?: ReactNode + icon?: ReactNode; + isEnd?: boolean[] } export interface TreeNodeState { [x: string]: any } /* NodeList */ -export interface TreeNodeData extends BasicTreeNodeData{ +export interface TreeNodeData extends BasicTreeNodeData { label?: ReactNode; icon?: ReactNode; children?: TreeNodeData[] @@ -126,7 +127,8 @@ export interface FlattenNode extends BasicFlattenNode { children?: FlattenNode[]; data?: BasicTreeNodeData; label?: ReactNode; - parent?: null | FlattenNode + parent?: null | FlattenNode; + isEnd?: boolean[] } export interface NodeListProps { [x: string]: any; diff --git a/packages/semi-ui/tree/treeNode.tsx b/packages/semi-ui/tree/treeNode.tsx index 6ac0a86908..44d5be8eb8 100644 --- a/packages/semi-ui/tree/treeNode.tsx +++ b/packages/semi-ui/tree/treeNode.tsx @@ -10,6 +10,7 @@ import TreeContext, { TreeContextValue } from './treeContext'; import Spin from '../spin'; import { TreeNodeProps, TreeNodeState } from './interface'; import { getHighLightTextHTML } from '../_utils/index'; +import Indent from './indent'; const prefixcls = cssClasses.PREFIX_OPTION; @@ -33,7 +34,9 @@ export default class TreeNode extends PureComponent; } @@ -208,13 +211,16 @@ export default class TreeNode extends PureComponent ); } + if (showLine) { + return this.renderSwitcher(); + } return ( ); @@ -226,7 +232,7 @@ export default class TreeNode extends PureComponent { + if (this.isLeaf()) { + // if switcherIconDom is null, no render switcher span + return ( + + ); + + } + return null; + }; + renderIcon() { const { directory, @@ -315,6 +333,8 @@ export default class TreeNode extends PureComponent + {this.renderArrow()} + {multiple ? this.renderCheckbox() : null} {this.renderIcon()} {this.renderRealLabel()} diff --git a/packages/semi-ui/treeSelect/index.tsx b/packages/semi-ui/treeSelect/index.tsx index dbdd6f7adc..e4de7fdd3a 100644 --- a/packages/semi-ui/treeSelect/index.tsx +++ b/packages/semi-ui/treeSelect/index.tsx @@ -94,7 +94,8 @@ export type OverrideCommonProps = | 'treeData' | 'value' | 'onExpand' - | 'keyMaps'; + | 'keyMaps' + | 'showLine'; /** * Type definition description: @@ -215,6 +216,7 @@ class TreeSelect extends BaseComponent { showSearchClear: PropTypes.bool, autoAdjustOverflow: PropTypes.bool, showFilteredOnly: PropTypes.bool, + showLine: PropTypes.bool, motionExpand: PropTypes.bool, emptyContent: PropTypes.node, keyMaps: PropTypes.object, @@ -1315,14 +1317,15 @@ class TreeSelect extends BaseComponent { renderTreeNode = (treeNode: FlattenNode, ind: number, style: React.CSSProperties) => { const { data, key } = treeNode; const treeNodeProps = this.foundation.getTreeNodeProps(key); + const { showLine } = this.props; if (!treeNodeProps) { return null; } - const props: any = pick(treeNode, ['key', 'label', 'disabled', 'isLeaf', 'icon']); + const props: any = pick(treeNode, ['key', 'label', 'disabled', 'isLeaf', 'icon', 'isEnd']); const { keyMaps } = this.props; const children = data[get(keyMaps, 'children', 'children')]; !isUndefined(children) && (props.children = children); - return ; + return ; }; itemKey = (index: number, data: Record) => { diff --git a/yarn.lock b/yarn.lock index 3b88d0f294..6602385171 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1519,25 +1519,11 @@ "@douyinfe/semi-animation-styled" "2.23.2" classnames "^2.2.6" -"@douyinfe/semi-animation-react@2.49.1": - version "2.49.1" - resolved "https://registry.yarnpkg.com/@douyinfe/semi-animation-react/-/semi-animation-react-2.49.1.tgz#cbffd1ba40f7b50aba7b191ddc5bdb323758a577" - integrity sha512-JTXgM3oRJpwhLDBlADf2/fClY73nE5/Ao701Z8bTOzH91PINbvgsD6cdZdZ4JRwd+XCSf6wXSGzaHen73r2gKg== - dependencies: - "@douyinfe/semi-animation" "2.49.1" - "@douyinfe/semi-animation-styled" "2.49.1" - classnames "^2.2.6" - "@douyinfe/semi-animation-styled@2.23.2": version "2.23.2" 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== -"@douyinfe/semi-animation-styled@2.49.1": - version "2.49.1" - resolved "https://registry.yarnpkg.com/@douyinfe/semi-animation-styled/-/semi-animation-styled-2.49.1.tgz#34aed59a16d495ac7b5614438652352f17f20a81" - integrity sha512-cbGmEgibydvFCYvU8PqBrW2Jsft7j5T0iVZ/Yl95oPQpni8TevOuIzxAxiuSF5iLfeHKRNx0goIdRTzolH6kLA== - "@douyinfe/semi-animation@2.12.0": version "2.12.0" resolved "https://registry.npmjs.org/@douyinfe/semi-animation/-/semi-animation-2.12.0.tgz#51fe52d3911c2591a80a6e9fe96e6809c1511f13" @@ -1553,13 +1539,6 @@ dependencies: bezier-easing "^2.1.0" -"@douyinfe/semi-animation@2.49.1": - version "2.49.1" - resolved "https://registry.yarnpkg.com/@douyinfe/semi-animation/-/semi-animation-2.49.1.tgz#24a9a5d881e6b7b71d05240efb05617c38e71655" - integrity sha512-sC/J7J5+Yd5y8CLWqD76wkjni9pjYOVBymvAZRrY7vd5kUQmOiNvFWK4ewEFxm4Pk2rdPRLQKGiPfkfHAej0dQ== - dependencies: - bezier-easing "^2.1.0" - "@douyinfe/semi-foundation@2.33.1": version "2.33.1" resolved "https://registry.npmjs.org/@douyinfe/semi-foundation/-/semi-foundation-2.33.1.tgz#1dfe6233e35a4ed768cb580b0c9a677d1c34ffba" @@ -1574,20 +1553,6 @@ memoize-one "^5.2.1" scroll-into-view-if-needed "^2.2.24" -"@douyinfe/semi-foundation@2.49.1": - version "2.49.1" - resolved "https://registry.yarnpkg.com/@douyinfe/semi-foundation/-/semi-foundation-2.49.1.tgz#336ee534ec954072f8b79960666b55bfcf21aa99" - integrity sha512-pifLEWOhmv3/XYscmPPLMaUcvRaG+lZPVMD6uOXFhUrD+HUBs7yfIMLfXyJ6Af7Kcl5ecqOgO9NNTyRR+pnxuQ== - dependencies: - "@douyinfe/semi-animation" "2.49.1" - 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/semi-icons@2.33.1", "@douyinfe/semi-icons@latest": version "2.33.1" resolved "https://registry.yarnpkg.com/@douyinfe/semi-icons/-/semi-icons-2.33.1.tgz#8e2871d9bc0ab7e12df74e3c71802d53d69b7425" @@ -1595,23 +1560,11 @@ dependencies: classnames "^2.2.6" -"@douyinfe/semi-icons@2.49.1", "@douyinfe/semi-icons@^2.0.0": - version "2.49.1" - resolved "https://registry.yarnpkg.com/@douyinfe/semi-icons/-/semi-icons-2.49.1.tgz#1a33ea0ae40961931b8cbedeac11ed5d87e245f5" - integrity sha512-d2YdR0Z3pqygWNdGB7M97cqi0dec+mWHcLL2C4Yd9I0VJCPWnNd88dWVPTNPU2GCx9hEA8qL9aFawUR24s5p1Q== - dependencies: - classnames "^2.2.6" - "@douyinfe/semi-illustrations@2.33.1": version "2.33.1" resolved "https://registry.npmjs.org/@douyinfe/semi-illustrations/-/semi-illustrations-2.33.1.tgz#530ab851f4dc32a52221c4067c778c800b9b55d7" integrity sha512-tTTUN8QwnQiF++sk4VBNzfkG87aYZ4iUeqk2ys8/ymVUmCZQ7y46ys020GO1MfPHRR47OMFPI82FVcH1WQtE3g== -"@douyinfe/semi-illustrations@2.49.1": - version "2.49.1" - resolved "https://registry.yarnpkg.com/@douyinfe/semi-illustrations/-/semi-illustrations-2.49.1.tgz#6099aabde44d59f481e2b67504f6b67f56da1782" - integrity sha512-zJ71DrsGNvTpQwv2itQe7SkMyBMmWvlTGYoAUD4mDVaxAVPlUGgl3Fc5zVG9BHXIizHrb3Fi5PVFC5g/dFXn0A== - "@douyinfe/semi-scss-compile@2.23.2": version "2.23.2" resolved "https://registry.npmjs.org/@douyinfe/semi-scss-compile/-/semi-scss-compile-2.23.2.tgz#30884bb194ee9ae1e81877985e5663c3297c1ced" @@ -1685,40 +1638,6 @@ dependencies: glob "^7.1.6" -"@douyinfe/semi-theme-default@2.49.1": - version "2.49.1" - resolved "https://registry.yarnpkg.com/@douyinfe/semi-theme-default/-/semi-theme-default-2.49.1.tgz#cacb83f5df53beddafd696103b4f139ceb115c26" - integrity sha512-Wmb6W9rAjVzLemRHEdQAgO2m0002SBsc7edA6lb7tgoDNs2IofD/OrPmNyFV8PbDrVQxXlJrkNgpS3rzruk7+w== - dependencies: - glob "^7.1.6" - -"@douyinfe/semi-ui@^2.0.0": - version "2.49.1" - resolved "https://registry.yarnpkg.com/@douyinfe/semi-ui/-/semi-ui-2.49.1.tgz#f4151fe576da586892f1bf42c92c308c76465242" - integrity sha512-4oqyAyezrdKNpFSJWCQChcRQj8pApZfHuTTILoVO0SEMAOrygvsf2Zd0LzHnO6H9oTC7tV3eny0d4E4BYz6kLw== - dependencies: - "@dnd-kit/core" "^6.0.8" - "@dnd-kit/sortable" "^7.0.2" - "@dnd-kit/utilities" "^3.2.1" - "@douyinfe/semi-animation" "2.49.1" - "@douyinfe/semi-animation-react" "2.49.1" - "@douyinfe/semi-foundation" "2.49.1" - "@douyinfe/semi-icons" "2.49.1" - "@douyinfe/semi-illustrations" "2.49.1" - "@douyinfe/semi-theme-default" "2.49.1" - 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": version "2.33.1" resolved "https://registry.yarnpkg.com/@douyinfe/semi-ui/-/semi-ui-2.33.1.tgz#3234ca96eb3560b8299bc9750fbe59446522d9bb" @@ -11665,11 +11584,6 @@ eslint-plugin-react@^7.20.6, eslint-plugin-react@^7.24.0: semver "^6.3.0" string.prototype.matchall "^4.0.8" -eslint-plugin-semi-design@^2.33.0: - version "2.49.1" - resolved "https://registry.yarnpkg.com/eslint-plugin-semi-design/-/eslint-plugin-semi-design-2.49.1.tgz#aefed7fe36c6d673cd4837ec30843089f880eb7f" - integrity sha512-55UMmBZIYGVC/NN++rWTp1xWXXEgWkL1HN7GzzW2sdxKViRMQXLpRJKtirWbUeYoKcKdBPf6RH/OHZlnc97PDg== - eslint-rule-composer@^0.3.0: version "0.3.0" resolved "https://registry.npmjs.org/eslint-rule-composer/-/eslint-rule-composer-0.3.0.tgz#79320c927b0c5c0d3d3d2b76c8b4a488f25bbaf9" From 04fe071c39f7659c8b532bb3e054732281eed38e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E4=BB=A3=E5=BC=BA?= Date: Mon, 25 Dec 2023 19:24:12 +0800 Subject: [PATCH 07/35] fix: fix notification type define of id (#1993) --- .../semi-foundation/notification/notificationFoundation.ts | 6 +++--- packages/semi-ui/notification/index.tsx | 4 ++-- packages/semi-ui/notification/notice.tsx | 2 +- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/packages/semi-foundation/notification/notificationFoundation.ts b/packages/semi-foundation/notification/notificationFoundation.ts index 518f8d42bc..736a38f78e 100644 --- a/packages/semi-foundation/notification/notificationFoundation.ts +++ b/packages/semi-foundation/notification/notificationFoundation.ts @@ -10,16 +10,16 @@ export type NoticeTheme = 'light' | 'normal'; export interface NoticeProps { duration?: number; - id?: string | number; + id?: string; title?: any; content?: any; position?: NoticePosition; type?: NoticeType; onClick?: (e: any) => void; onClose?: () => void; - onCloseClick?: (id: string | number) => void; + onCloseClick?: (id: string) => void; showClose?: boolean; - close?: (id: string | number) => void; + close?: (id: string) => void; zIndex?: number; icon?: any; getPopupContainer?: () => HTMLElement; diff --git a/packages/semi-ui/notification/index.tsx b/packages/semi-ui/notification/index.tsx index 2a1029b572..9c25334daf 100644 --- a/packages/semi-ui/notification/index.tsx +++ b/packages/semi-ui/notification/index.tsx @@ -193,13 +193,13 @@ class NotificationList extends BaseComponent this.foundation.has(id); - remove = (id: string | number) => { + remove = (id: string) => { this.foundation.removeNotice(String(id)); }; - update = (id: string|number, opts: NoticeProps)=>{ + update = (id: string, opts: NoticeProps)=>{ return this.foundation.update(id, opts); } diff --git a/packages/semi-ui/notification/notice.tsx b/packages/semi-ui/notification/notice.tsx index 6b72fe5c73..a47d26f6e2 100644 --- a/packages/semi-ui/notification/notice.tsx +++ b/packages/semi-ui/notification/notice.tsx @@ -33,7 +33,7 @@ class Notice extends BaseComponent { static contextType = ConfigContext; static propTypes = { duration: PropTypes.number, - id: PropTypes.oneOfType([PropTypes.string, PropTypes.number]), + id: PropTypes.string, title: PropTypes.node, content: PropTypes.node, // strings、numbers、array、element type: PropTypes.oneOf(types), From fc972f9cedaf7e860cbfd0e8f9af461b2dd8cfbe Mon Sep 17 00:00:00 2001 From: YannLynn <101160769+YannLynn@users.noreply.github.com> Date: Tue, 26 Dec 2023 20:21:47 +0800 Subject: [PATCH 08/35] fix: the new version of pr #1977 (#1996) --- cypress/e2e/select.spec.js | 75 +++++++++++++++-- packages/semi-foundation/select/foundation.ts | 7 +- .../semi-ui/select/_story/select.stories.jsx | 83 ++++++++++++++++++- 3 files changed, 157 insertions(+), 8 deletions(-) diff --git a/cypress/e2e/select.spec.js b/cypress/e2e/select.spec.js index a62921efcf..1c84c3ec70 100644 --- a/cypress/e2e/select.spec.js +++ b/cypress/e2e/select.spec.js @@ -80,20 +80,85 @@ describe('Select', () => { cy.get('.semi-select-option').eq(3).should('have.text', 'Xigua'); }); - it('blur', () => { - cy.visit('http://127.0.0.1:6006/iframe.html?path=/story/select--select-on-blur-on-focus', { + it('blur trigger by mouse click after select option', () => { + cy.visit('http://127.0.0.1:6006/iframe.html?path=/story/select--all-case-of-blur', { onBeforeLoad(win) { cy.stub(win.console, 'log').as('consoleLog'); }, }); + cy.viewport(1000, 1000); + cy.get('.semi-select-selection').eq(0).click(); - cy.get('.semi-select-option').eq(0).click(); - cy.get('body').click('right'); - cy.get('@consoleLog').should('be.calledWith', 'onBlur'); + cy.get('.semi-select-option').eq(1).click(); + cy.root().click('right'); + cy.get('@consoleLog').should('be.calledWith', 'single autoFocus onBlur'); + cy.get('@consoleLog').should('be.calledWith', 'single default onBlur'); + + cy.get('.semi-select-selection').eq(1).click(); + cy.get('.semi-select-option').eq(1).click(); + cy.root().click('right'); + cy.get('@consoleLog').should('be.calledWith', 'single filter onBlur'); + + cy.get('.semi-select-selection').eq(3).click(); + cy.get('.semi-select-option').eq(1).click(); + cy.root().click('right'); + cy.get('@consoleLog').should('be.calledWith', 'single clickToHide onBlur'); + + cy.get('.semi-select-selection').eq(4).click(); + cy.get('.semi-select-option').eq(1).click(); + cy.root().click('right'); + cy.get('@consoleLog').should('be.calledWith', 'multiple default onBlur'); + + cy.get('.semi-select-selection').eq(5).click(); + cy.get('.semi-select-option').eq(1).click(); + cy.root().click('right'); + cy.get('@consoleLog').should('be.calledWith', 'multiple filter onBlur'); + + cy.get('.semi-select-selection').eq(6).click(); + cy.get('.semi-select-option').eq(1).click(); + cy.root().click('right'); + cy.get('@consoleLog').should('be.calledWith', 'multiple clickToHide onBlur'); }); + it('blur trigger by mouse click without select option', () => { + cy.visit('http://127.0.0.1:6006/iframe.html?path=/story/select--all-case-of-blur', { + onBeforeLoad(win) { + cy.stub(win.console, 'log').as('consoleLog'); + }, + }); + + cy.viewport(1000, 1000); + + cy.get('.semi-select-selection').eq(0).click(); + cy.root().click('right'); + cy.get('@consoleLog').should('be.calledWith', 'single autoFocus onBlur'); + cy.get('@consoleLog').should('be.calledWith', 'single default onBlur'); + + cy.get('.semi-select-selection').eq(1).click(); + cy.root().click('right'); + cy.get('@consoleLog').should('be.calledWith', 'single filter onBlur'); + + cy.get('.semi-select-selection').eq(3).click(); + cy.root().click('right'); + cy.get('@consoleLog').should('be.calledWith', 'single clickToHide onBlur'); + + cy.get('.semi-select-selection').eq(4).click(); + cy.get('.semi-select-option').eq(1).click(); + cy.root().click('right'); + cy.get('@consoleLog').should('be.calledWith', 'multiple default onBlur'); + + cy.get('.semi-select-selection').eq(5).click(); + cy.root().click('right'); + cy.get('@consoleLog').should('be.calledWith', 'multiple filter onBlur'); + + cy.get('.semi-select-selection').eq(6).click(); + cy.root().click('right'); + cy.get('@consoleLog').should('be.calledWith', 'multiple clickToHide onBlur'); + + }); + // it('ellipsisTrigger', () => { // cy.visit('http://127.0.0.1:6006/iframe.html?path=/story/select--fix-1560'); diff --git a/packages/semi-foundation/select/foundation.ts b/packages/semi-foundation/select/foundation.ts index d1cac2c4a8..6b2b9d6e3b 100644 --- a/packages/semi-foundation/select/foundation.ts +++ b/packages/semi-foundation/select/foundation.ts @@ -352,6 +352,9 @@ export default class SelectFoundation extends BaseFoundation { const newOptions = this._filterOption(options, sugInput).filter(item => !item._inputCreateOnly); this._adapter.updateOptions(newOptions); this.toggle2SearchInput(true); + } else { + // whether it is a filter or not, isFocus is guaranteed to be true when open + this._adapter.updateFocusState(true); } this._adapter.openMenu(); this._setDropdownWidth(); @@ -363,7 +366,6 @@ export default class SelectFoundation extends BaseFoundation { this.close(e); this._notifyBlur(e); this._adapter.updateFocusState(false); - this._adapter.unregisterClickOutsideHandler(); }); } @@ -385,6 +387,7 @@ export default class SelectFoundation extends BaseFoundation { // this.unBindKeyBoardEvent(); // this._notifyBlur(e); // this._adapter.updateFocusState(false); + this._adapter.unregisterClickOutsideHandler(); const isFilterable = this._isFilterable(); if (isFilterable) { @@ -1053,13 +1056,13 @@ export default class SelectFoundation extends BaseFoundation { } handleTriggerBlur(e: FocusEvent) { - this._adapter.updateFocusState(false); const { filter, autoFocus } = this.getProps(); const { isOpen, isFocus } = this.getStates(); // Under normal circumstances, blur will be accompanied by clickOutsideHandler, so the notify of blur can be called uniformly in clickOutsideHandler // But when autoFocus or the panel is close, because clickOutsideHandler is not register or unregister, you need to listen for the trigger's blur and trigger the notify callback if (isFocus && !isOpen) { this._notifyBlur(e); + this._adapter.updateFocusState(false); } } diff --git a/packages/semi-ui/select/_story/select.stories.jsx b/packages/semi-ui/select/_story/select.stories.jsx index 00c61ad3cd..368aebb30c 100644 --- a/packages/semi-ui/select/_story/select.stories.jsx +++ b/packages/semi-ui/select/_story/select.stories.jsx @@ -1,7 +1,7 @@ import React, { useState, useRef, useEffect } from 'react'; import './select.scss'; -import { Input, Select, Button, Icon, Avatar, Checkbox, Form, withField, Space, Tag, Switch } from '../../index'; +import { Input, Select, Button, Icon, Avatar, Checkbox, Form, withField, Space, Tag, Switch, Divider } from '../../index'; import CustomTrigger from './CustomTrigger'; import classNames from 'classnames'; const Option = Select.Option; @@ -3413,4 +3413,85 @@ export const TestOptionKey = () => { ]}> +} + +export const AllCaseOfBlur = () => { + return ( +
    +

    单选

    + +
    默认配置
    + +
    +
    filter
    + +
    +
    autoFocus
    + +
    +
    clickToHide
    + +
    +

    多选

    + +
    默认配置
    + +
    +
    filter
    + +
    clickToHide
    + +
    +
    +
    + ) } \ No newline at end of file From 015dbd8786bc60dd55d26dfb46d84a98ad12db22 Mon Sep 17 00:00:00 2001 From: linyan Date: Tue, 26 Dec 2023 20:29:14 +0800 Subject: [PATCH 09/35] docs(changelog): v2.49.2 update --- content/start/changelog/index-en-US.md | 9 +++++++++ content/start/changelog/index.md | 9 +++++++++ 2 files changed, 18 insertions(+) diff --git a/content/start/changelog/index-en-US.md b/content/start/changelog/index-en-US.md index e1b3edc6df..c0b68472c9 100644 --- a/content/start/changelog/index-en-US.md +++ b/content/start/changelog/index-en-US.md @@ -16,6 +16,15 @@ Version:Major.Minor.Patch (follow the **Semver** specification) --- +#### 🎉 2.49.2 (2023-12-26) +- 【Fix】 + - fix the problem of Select failing to select option after clicking outside when the selection is radio (scope of impact v2.49.0) + - Fixed the problem that showFilteredOnly does not take effect in TreeSelect controlled expandedKeys [#1542 ](https://github.com/DouyinFE/semi-design/issues/1542) + - fixed the problem that when the DatePicker type is monthRange, the limited date range does not meet the expectations. + - Fixed vertical basic step style error when setting box-sizing to border-box globally. [#1985 ](https://github.com/DouyinFE/semi-design/issues/1985) + - Remove the optional type setting of props of triggerRender of TreeSelect/Select [#532 ](https://github.com/DouyinFE/semi-design/issues/532) + - `Notification.addNotice()` now uses the default config provided to `Notification.config()` [@lideming](https://github.com/lideming) + #### 🎉 2.49.0 (2023-12-15) - 【Fix】 - Image supports zooming via panel and mouse scrolling anywhere on the preview page [#1890](https://github.com/DouyinFE/semi-design/pull/1890) diff --git a/content/start/changelog/index.md b/content/start/changelog/index.md index b6817be264..d6b4dfa644 100644 --- a/content/start/changelog/index.md +++ b/content/start/changelog/index.md @@ -13,6 +13,15 @@ Semi 版本号遵循 **Semver** 规范(主版本号-次版本号-修订版本 - 修订版本号(patch):仅会进行 bugfix,发布时间不限 - 不同版本间的详细关系,可查阅 [FAQ](/zh-CN/start/faq) +#### 🎉 2.49.2 (2023-12-26) +- 【Fix】 + - 修复 Select 在单选情况下,点击外部后再次选择选项失败问题(影响范围 v2.49.0) + - 修复受控 expandedKeys 的 TreeSelect 中,showFilteredOnly 不生效问题 [#1542 ](https://github.com/DouyinFE/semi-design/issues/1542) + - 修复 DatePicker 类型为 monthRange 时,限制日期范围不符合预期问题。 + - 修复在全局设置box-sizing 为 border-box后,vertical 的basic step 样式错误问题 [#1985 ](https://github.com/DouyinFE/semi-design/issues/1985) + - 去除 TreeSelect/Select 的triggerRender的props 的可选类型设置 [#532 ](https://github.com/DouyinFE/semi-design/issues/532) + - `Notification.addNotice()` 现在使用通过 `Notification.config()` 设置的全局配置 [@lideming](https://github.com/lideming) + #### 🎉 2.49.0 (2023-12-15) - 【Fix】 - Image 支持在预览页面的任何位置通过面板和鼠标滚动进行缩放 [#1890](https://github.com/DouyinFE/semi-design/pull/1890) From 9d8d7a36a4dd743ee24b882bf436ec4baf1cbe73 Mon Sep 17 00:00:00 2001 From: semi-bot Date: Tue, 26 Dec 2023 12:37:22 +0000 Subject: [PATCH 10/35] chore: publish 2.49.2 --- sitemap.xml | 300 ++++++++++++++++++++++++++-------------------------- 1 file changed, 150 insertions(+), 150 deletions(-) diff --git a/sitemap.xml b/sitemap.xml index 415582c712..120ffe0a99 100644 --- a/sitemap.xml +++ b/sitemap.xml @@ -2,22 +2,22 @@ https://juejin.cn/post/7267418854124699702 - 2023-12-18T09:10:52.898Z + 2023-12-26T12:36:18.191Z weekly https://medium.com/front-end-weekly/how-we-test-semi-design-component-libraries-64b854f63b65 - 2023-12-18T09:10:51.762Z + 2023-12-26T12:36:17.474Z weekly https://mp.weixin.qq.com/s/noHoWRuA25PgqFNcurhIUA - 2023-12-18T09:10:55.078Z + 2023-12-26T12:36:19.719Z weekly https://mp.weixin.qq.com/s/O3js-SZDNPEOjGxh-aAkbw - 2023-12-18T09:10:54.995Z + 2023-12-26T12:36:19.610Z weekly @@ -790,732 +790,732 @@ https://semi.design/en-US/basic/divider - 2023-12-18T09:08:17.000Z + 2023-12-26T12:29:14.000Z weekly https://semi.design/en-US/basic/grid - 2023-12-18T09:08:17.000Z + 2023-12-26T12:29:14.000Z weekly https://semi.design/en-US/basic/icon - 2023-12-18T09:08:17.000Z + 2023-12-26T12:29:14.000Z weekly https://semi.design/en-US/basic/layout - 2023-12-18T09:08:17.000Z + 2023-12-26T12:29:14.000Z weekly https://semi.design/en-US/basic/space - 2023-12-18T09:08:17.000Z + 2023-12-26T12:29:14.000Z weekly https://semi.design/en-US/basic/tokens - 2023-12-18T09:08:17.000Z + 2023-12-26T12:29:14.000Z weekly https://semi.design/en-US/basic/typography - 2023-12-18T09:08:17.000Z + 2023-12-26T12:29:14.000Z weekly https://semi.design/en-US/feedback/banner - 2023-12-18T09:08:17.000Z + 2023-12-26T12:29:14.000Z weekly https://semi.design/en-US/feedback/notification - 2023-12-18T09:08:17.000Z + 2023-12-26T12:29:14.000Z weekly https://semi.design/en-US/feedback/popconfirm - 2023-12-18T09:08:17.000Z + 2023-12-26T12:29:14.000Z weekly https://semi.design/en-US/feedback/progress - 2023-12-18T09:08:17.000Z + 2023-12-26T12:29:14.000Z weekly https://semi.design/en-US/feedback/skeleton - 2023-12-18T09:08:17.000Z + 2023-12-26T12:29:14.000Z weekly https://semi.design/en-US/feedback/spin - 2023-12-18T09:08:17.000Z + 2023-12-26T12:29:14.000Z weekly https://semi.design/en-US/feedback/toast - 2023-12-18T09:08:17.000Z + 2023-12-26T12:29:14.000Z weekly https://semi.design/en-US/input/autocomplete - 2023-12-18T09:08:17.000Z + 2023-12-26T12:29:14.000Z weekly https://semi.design/en-US/input/button - 2023-12-18T09:08:17.000Z + 2023-12-26T12:29:14.000Z weekly https://semi.design/en-US/input/cascader - 2023-12-18T09:08:17.000Z + 2023-12-26T12:29:14.000Z weekly https://semi.design/en-US/input/checkbox - 2023-12-18T09:08:17.000Z + 2023-12-26T12:29:14.000Z weekly https://semi.design/en-US/input/datepicker - 2023-12-18T09:08:17.000Z + 2023-12-26T12:29:14.000Z weekly https://semi.design/en-US/input/form - 2023-12-18T09:08:17.000Z + 2023-12-26T12:29:14.000Z weekly https://semi.design/en-US/input/input - 2023-12-18T09:08:17.000Z + 2023-12-26T12:29:14.000Z weekly https://semi.design/en-US/input/inputnumber - 2023-12-18T09:08:17.000Z + 2023-12-26T12:29:14.000Z weekly https://semi.design/en-US/input/radio - 2023-12-18T09:08:17.000Z + 2023-12-26T12:29:14.000Z weekly https://semi.design/en-US/input/rating - 2023-12-18T09:08:17.000Z + 2023-12-26T12:29:14.000Z weekly https://semi.design/en-US/input/select - 2023-12-18T09:08:17.000Z + 2023-12-26T12:29:14.000Z weekly https://semi.design/en-US/input/slider - 2023-12-18T09:08:17.000Z + 2023-12-26T12:29:14.000Z weekly https://semi.design/en-US/input/switch - 2023-12-18T09:08:17.000Z + 2023-12-26T12:29:14.000Z weekly https://semi.design/en-US/input/taginput - 2023-12-18T09:08:17.000Z + 2023-12-26T12:29:14.000Z weekly https://semi.design/en-US/input/timepicker - 2023-12-18T09:08:17.000Z + 2023-12-26T12:29:14.000Z weekly https://semi.design/en-US/input/transfer - 2023-12-18T09:08:17.000Z + 2023-12-26T12:29:14.000Z weekly https://semi.design/en-US/input/treeselect - 2023-12-18T09:08:17.000Z + 2023-12-26T12:29:14.000Z weekly https://semi.design/en-US/input/upload - 2023-12-18T09:08:17.000Z + 2023-12-26T12:29:14.000Z weekly https://semi.design/en-US/navigation/anchor - 2023-12-18T09:08:17.000Z + 2023-12-26T12:29:14.000Z weekly https://semi.design/en-US/navigation/backtop - 2023-12-18T09:08:17.000Z + 2023-12-26T12:29:14.000Z weekly https://semi.design/en-US/navigation/breadcrumb - 2023-12-18T09:08:17.000Z + 2023-12-26T12:29:14.000Z weekly https://semi.design/en-US/navigation/navigation - 2023-12-18T09:08:17.000Z + 2023-12-26T12:29:14.000Z weekly https://semi.design/en-US/navigation/pagination - 2023-12-18T09:08:17.000Z + 2023-12-26T12:29:14.000Z weekly https://semi.design/en-US/navigation/steps - 2023-12-18T09:08:17.000Z + 2023-12-26T12:29:14.000Z weekly https://semi.design/en-US/navigation/tabs - 2023-12-18T09:08:17.000Z + 2023-12-26T12:29:14.000Z weekly https://semi.design/en-US/navigation/tree - 2023-12-18T09:08:17.000Z + 2023-12-26T12:29:14.000Z weekly https://semi.design/en-US/other/configprovider - 2023-12-18T09:08:17.000Z + 2023-12-26T12:29:14.000Z weekly https://semi.design/en-US/other/locale - 2023-12-18T09:08:17.000Z + 2023-12-26T12:29:14.000Z weekly https://semi.design/en-US/show/avatar - 2023-12-18T09:08:17.000Z + 2023-12-26T12:29:14.000Z weekly https://semi.design/en-US/show/badge - 2023-12-18T09:08:17.000Z + 2023-12-26T12:29:14.000Z weekly https://semi.design/en-US/show/calendar - 2023-12-18T09:08:17.000Z + 2023-12-26T12:29:14.000Z weekly https://semi.design/en-US/show/card - 2023-12-18T09:08:17.000Z + 2023-12-26T12:29:14.000Z weekly https://semi.design/en-US/show/carousel - 2023-12-18T09:08:17.000Z + 2023-12-26T12:29:14.000Z weekly https://semi.design/en-US/show/collapse - 2023-12-18T09:08:17.000Z + 2023-12-26T12:29:14.000Z weekly https://semi.design/en-US/show/collapsible - 2023-12-18T09:08:17.000Z + 2023-12-26T12:29:14.000Z weekly https://semi.design/en-US/show/descriptions - 2023-12-18T09:08:17.000Z + 2023-12-26T12:29:14.000Z weekly https://semi.design/en-US/show/dropdown - 2023-12-18T09:08:17.000Z + 2023-12-26T12:29:14.000Z weekly https://semi.design/en-US/show/empty - 2023-12-18T09:08:17.000Z + 2023-12-26T12:29:14.000Z weekly https://semi.design/en-US/show/highlight - 2023-12-18T09:08:17.000Z + 2023-12-26T12:29:14.000Z weekly https://semi.design/en-US/show/image - 2023-12-18T09:08:17.000Z + 2023-12-26T12:29:14.000Z weekly https://semi.design/en-US/show/list - 2023-12-18T09:08:17.000Z + 2023-12-26T12:29:14.000Z weekly https://semi.design/en-US/show/modal - 2023-12-18T09:08:17.000Z + 2023-12-26T12:29:14.000Z weekly https://semi.design/en-US/show/overflowlist - 2023-12-18T09:08:17.000Z + 2023-12-26T12:29:14.000Z weekly https://semi.design/en-US/show/popover - 2023-12-18T09:08:17.000Z + 2023-12-26T12:29:14.000Z weekly https://semi.design/en-US/show/scrolllist - 2023-12-18T09:08:17.000Z + 2023-12-26T12:29:14.000Z weekly https://semi.design/en-US/show/sidesheet - 2023-12-18T09:08:17.000Z + 2023-12-26T12:29:14.000Z weekly https://semi.design/en-US/show/table - 2023-12-18T09:08:17.000Z + 2023-12-26T12:29:14.000Z weekly https://semi.design/en-US/show/tag - 2023-12-18T09:08:17.000Z + 2023-12-26T12:29:14.000Z weekly https://semi.design/en-US/show/timeline - 2023-12-18T09:08:17.000Z + 2023-12-26T12:29:14.000Z weekly https://semi.design/en-US/show/tooltip - 2023-12-18T09:08:17.000Z + 2023-12-26T12:29:14.000Z weekly https://semi.design/en-US/start/accessibility - 2023-12-18T09:08:17.000Z + 2023-12-26T12:29:14.000Z weekly https://semi.design/en-US/start/changelog - 2023-12-18T09:08:17.000Z + 2023-12-26T12:29:14.000Z weekly https://semi.design/en-US/start/customize-theme - 2023-12-18T09:08:17.000Z + 2023-12-26T12:29:14.000Z weekly https://semi.design/en-US/start/dark-mode - 2023-12-18T09:08:17.000Z + 2023-12-26T12:29:14.000Z weekly https://semi.design/en-US/start/faq - 2023-12-18T09:08:17.000Z + 2023-12-26T12:29:14.000Z weekly https://semi.design/en-US/start/getting-started - 2023-12-18T09:08:17.000Z + 2023-12-26T12:29:14.000Z weekly https://semi.design/en-US/start/introduction - 2023-12-18T09:08:17.000Z + 2023-12-26T12:29:14.000Z weekly https://semi.design/en-US/start/overview - 2023-12-18T09:08:17.000Z + 2023-12-26T12:29:14.000Z weekly https://semi.design/en-US/start/update-to-v2 - 2023-12-18T09:08:17.000Z + 2023-12-26T12:29:14.000Z weekly https://semi.design/zh-CN/basic/divider - 2023-12-18T09:08:17.000Z + 2023-12-26T12:29:14.000Z weekly https://semi.design/zh-CN/basic/grid - 2023-12-18T09:08:17.000Z + 2023-12-26T12:29:14.000Z weekly https://semi.design/zh-CN/basic/icon - 2023-12-18T09:08:17.000Z + 2023-12-26T12:29:14.000Z weekly https://semi.design/zh-CN/basic/layout - 2023-12-18T09:08:17.000Z + 2023-12-26T12:29:14.000Z weekly https://semi.design/zh-CN/basic/space - 2023-12-18T09:08:17.000Z + 2023-12-26T12:29:14.000Z weekly https://semi.design/zh-CN/basic/tokens - 2023-12-18T09:08:17.000Z + 2023-12-26T12:29:14.000Z weekly https://semi.design/zh-CN/basic/typography - 2023-12-18T09:08:17.000Z + 2023-12-26T12:29:14.000Z weekly https://semi.design/zh-CN/feedback/banner - 2023-12-18T09:08:17.000Z + 2023-12-26T12:29:14.000Z weekly https://semi.design/zh-CN/feedback/notification - 2023-12-18T09:08:17.000Z + 2023-12-26T12:29:14.000Z weekly https://semi.design/zh-CN/feedback/popconfirm - 2023-12-18T09:08:17.000Z + 2023-12-26T12:29:14.000Z weekly https://semi.design/zh-CN/feedback/progress - 2023-12-18T09:08:17.000Z + 2023-12-26T12:29:14.000Z weekly https://semi.design/zh-CN/feedback/skeleton - 2023-12-18T09:08:17.000Z + 2023-12-26T12:29:14.000Z weekly https://semi.design/zh-CN/feedback/spin - 2023-12-18T09:08:17.000Z + 2023-12-26T12:29:14.000Z weekly https://semi.design/zh-CN/feedback/toast - 2023-12-18T09:08:17.000Z + 2023-12-26T12:29:14.000Z weekly https://semi.design/zh-CN/input/autocomplete - 2023-12-18T09:08:17.000Z + 2023-12-26T12:29:14.000Z weekly https://semi.design/zh-CN/input/button - 2023-12-18T09:08:17.000Z + 2023-12-26T12:29:14.000Z weekly https://semi.design/zh-CN/input/cascader - 2023-12-18T09:08:17.000Z + 2023-12-26T12:29:14.000Z weekly https://semi.design/zh-CN/input/checkbox - 2023-12-18T09:08:17.000Z + 2023-12-26T12:29:14.000Z weekly https://semi.design/zh-CN/input/datepicker - 2023-12-18T09:08:17.000Z + 2023-12-26T12:29:14.000Z weekly https://semi.design/zh-CN/input/form - 2023-12-18T09:08:17.000Z + 2023-12-26T12:29:14.000Z weekly https://semi.design/zh-CN/input/input - 2023-12-18T09:08:17.000Z + 2023-12-26T12:29:14.000Z weekly https://semi.design/zh-CN/input/inputnumber - 2023-12-18T09:08:17.000Z + 2023-12-26T12:29:14.000Z weekly https://semi.design/zh-CN/input/radio - 2023-12-18T09:08:17.000Z + 2023-12-26T12:29:14.000Z weekly https://semi.design/zh-CN/input/rating - 2023-12-18T09:08:17.000Z + 2023-12-26T12:29:14.000Z weekly https://semi.design/zh-CN/input/select - 2023-12-18T09:08:17.000Z + 2023-12-26T12:29:14.000Z weekly https://semi.design/zh-CN/input/slider - 2023-12-18T09:08:17.000Z + 2023-12-26T12:29:14.000Z weekly https://semi.design/zh-CN/input/switch - 2023-12-18T09:08:17.000Z + 2023-12-26T12:29:14.000Z weekly https://semi.design/zh-CN/input/taginput - 2023-12-18T09:08:17.000Z + 2023-12-26T12:29:14.000Z weekly https://semi.design/zh-CN/input/timepicker - 2023-12-18T09:08:17.000Z + 2023-12-26T12:29:14.000Z weekly https://semi.design/zh-CN/input/transfer - 2023-12-18T09:08:17.000Z + 2023-12-26T12:29:14.000Z weekly https://semi.design/zh-CN/input/treeselect - 2023-12-18T09:08:17.000Z + 2023-12-26T12:29:14.000Z weekly https://semi.design/zh-CN/input/upload - 2023-12-18T09:08:17.000Z + 2023-12-26T12:29:14.000Z weekly https://semi.design/zh-CN/navigation/anchor - 2023-12-18T09:08:17.000Z + 2023-12-26T12:29:14.000Z weekly https://semi.design/zh-CN/navigation/backtop - 2023-12-18T09:08:17.000Z + 2023-12-26T12:29:14.000Z weekly https://semi.design/zh-CN/navigation/breadcrumb - 2023-12-18T09:08:17.000Z + 2023-12-26T12:29:14.000Z weekly https://semi.design/zh-CN/navigation/navigation - 2023-12-18T09:08:17.000Z + 2023-12-26T12:29:14.000Z weekly https://semi.design/zh-CN/navigation/pagination - 2023-12-18T09:08:17.000Z + 2023-12-26T12:29:14.000Z weekly https://semi.design/zh-CN/navigation/steps - 2023-12-18T09:08:17.000Z + 2023-12-26T12:29:14.000Z weekly https://semi.design/zh-CN/navigation/tabs - 2023-12-18T09:08:17.000Z + 2023-12-26T12:29:14.000Z weekly https://semi.design/zh-CN/navigation/tree - 2023-12-18T09:08:17.000Z + 2023-12-26T12:29:14.000Z weekly https://semi.design/zh-CN/other/configprovider - 2023-12-18T09:08:17.000Z + 2023-12-26T12:29:14.000Z weekly https://semi.design/zh-CN/other/locale - 2023-12-18T09:08:17.000Z + 2023-12-26T12:29:14.000Z weekly https://semi.design/zh-CN/show/avatar - 2023-12-18T09:08:17.000Z + 2023-12-26T12:29:14.000Z weekly https://semi.design/zh-CN/show/badge - 2023-12-18T09:08:17.000Z + 2023-12-26T12:29:14.000Z weekly https://semi.design/zh-CN/show/calendar - 2023-12-18T09:08:17.000Z + 2023-12-26T12:29:14.000Z weekly https://semi.design/zh-CN/show/card - 2023-12-18T09:08:17.000Z + 2023-12-26T12:29:14.000Z weekly https://semi.design/zh-CN/show/carousel - 2023-12-18T09:08:17.000Z + 2023-12-26T12:29:14.000Z weekly https://semi.design/zh-CN/show/collapse - 2023-12-18T09:08:17.000Z + 2023-12-26T12:29:14.000Z weekly https://semi.design/zh-CN/show/collapsible - 2023-12-18T09:08:17.000Z + 2023-12-26T12:29:14.000Z weekly https://semi.design/zh-CN/show/descriptions - 2023-12-18T09:08:17.000Z + 2023-12-26T12:29:14.000Z weekly https://semi.design/zh-CN/show/dropdown - 2023-12-18T09:08:17.000Z + 2023-12-26T12:29:14.000Z weekly https://semi.design/zh-CN/show/empty - 2023-12-18T09:08:17.000Z + 2023-12-26T12:29:14.000Z weekly https://semi.design/zh-CN/show/highlight - 2023-12-18T09:08:17.000Z + 2023-12-26T12:29:14.000Z weekly https://semi.design/zh-CN/show/image - 2023-12-18T09:08:17.000Z + 2023-12-26T12:29:14.000Z weekly https://semi.design/zh-CN/show/list - 2023-12-18T09:08:17.000Z + 2023-12-26T12:29:14.000Z weekly https://semi.design/zh-CN/show/modal - 2023-12-18T09:08:17.000Z + 2023-12-26T12:29:14.000Z weekly https://semi.design/zh-CN/show/overflowlist - 2023-12-18T09:08:17.000Z + 2023-12-26T12:29:14.000Z weekly https://semi.design/zh-CN/show/popover - 2023-12-18T09:08:17.000Z + 2023-12-26T12:29:14.000Z weekly https://semi.design/zh-CN/show/scrolllist - 2023-12-18T09:08:17.000Z + 2023-12-26T12:29:14.000Z weekly https://semi.design/zh-CN/show/sidesheet - 2023-12-18T09:08:17.000Z + 2023-12-26T12:29:14.000Z weekly https://semi.design/zh-CN/show/table - 2023-12-18T09:08:17.000Z + 2023-12-26T12:29:14.000Z weekly https://semi.design/zh-CN/show/tag - 2023-12-18T09:08:17.000Z + 2023-12-26T12:29:14.000Z weekly https://semi.design/zh-CN/show/timeline - 2023-12-18T09:08:17.000Z + 2023-12-26T12:29:14.000Z weekly https://semi.design/zh-CN/show/tooltip - 2023-12-18T09:08:17.000Z + 2023-12-26T12:29:14.000Z weekly https://semi.design/zh-CN/start/accessibility - 2023-12-18T09:08:17.000Z + 2023-12-26T12:29:14.000Z weekly https://semi.design/zh-CN/start/changelog - 2023-12-18T09:08:17.000Z + 2023-12-26T12:29:14.000Z weekly https://semi.design/zh-CN/start/customize-theme - 2023-12-18T09:08:17.000Z + 2023-12-26T12:29:14.000Z weekly https://semi.design/zh-CN/start/dark-mode - 2023-12-18T09:08:17.000Z + 2023-12-26T12:29:14.000Z weekly https://semi.design/zh-CN/start/faq - 2023-12-18T09:08:17.000Z + 2023-12-26T12:29:14.000Z weekly https://semi.design/zh-CN/start/getting-started - 2023-12-18T09:08:17.000Z + 2023-12-26T12:29:14.000Z weekly https://semi.design/zh-CN/start/introduction - 2023-12-18T09:08:17.000Z + 2023-12-26T12:29:14.000Z weekly https://semi.design/zh-CN/start/overview - 2023-12-18T09:08:17.000Z + 2023-12-26T12:29:14.000Z weekly https://semi.design/zh-CN/start/update-to-v2 - 2023-12-18T09:08:17.000Z + 2023-12-26T12:29:14.000Z weekly From faf1323ac8375fe0c85ed8cef0d2abab45341dc7 Mon Sep 17 00:00:00 2001 From: semi-bot Date: Tue, 26 Dec 2023 12:37:24 +0000 Subject: [PATCH 11/35] v2.49.2 --- lerna.json | 2 +- packages/semi-animation-react/package.json | 6 +++--- packages/semi-animation-styled/package.json | 2 +- packages/semi-animation/package.json | 2 +- packages/semi-eslint-plugin/package.json | 2 +- packages/semi-foundation/package.json | 4 ++-- packages/semi-icons-lab/package.json | 2 +- packages/semi-icons/package.json | 2 +- packages/semi-illustrations/package.json | 2 +- packages/semi-next/package.json | 4 ++-- packages/semi-rspack/package.json | 2 +- packages/semi-scss-compile/package.json | 2 +- packages/semi-theme-default/package.json | 2 +- packages/semi-ui/package.json | 14 +++++++------- packages/semi-webpack/package.json | 2 +- 15 files changed, 25 insertions(+), 25 deletions(-) diff --git a/lerna.json b/lerna.json index 77a44a2999..0a5de3dc8f 100644 --- a/lerna.json +++ b/lerna.json @@ -1,5 +1,5 @@ { "useWorkspaces": true, "npmClient": "yarn", - "version": "2.49.1" + "version": "2.49.2" } \ No newline at end of file diff --git a/packages/semi-animation-react/package.json b/packages/semi-animation-react/package.json index 6ce9c1a6c1..8f1ae8913e 100644 --- a/packages/semi-animation-react/package.json +++ b/packages/semi-animation-react/package.json @@ -1,6 +1,6 @@ { "name": "@douyinfe/semi-animation-react", - "version": "2.49.1", + "version": "2.49.2", "description": "motion library for semi-ui-react", "keywords": [ "motion", @@ -25,8 +25,8 @@ "prepublishOnly": "npm run build:lib" }, "dependencies": { - "@douyinfe/semi-animation": "2.49.1", - "@douyinfe/semi-animation-styled": "2.49.1", + "@douyinfe/semi-animation": "2.49.2", + "@douyinfe/semi-animation-styled": "2.49.2", "classnames": "^2.2.6" }, "devDependencies": { diff --git a/packages/semi-animation-styled/package.json b/packages/semi-animation-styled/package.json index 916805412d..03ae150c59 100644 --- a/packages/semi-animation-styled/package.json +++ b/packages/semi-animation-styled/package.json @@ -1,6 +1,6 @@ { "name": "@douyinfe/semi-animation-styled", - "version": "2.49.1", + "version": "2.49.2", "description": "semi styled animation", "keywords": [ "semi", diff --git a/packages/semi-animation/package.json b/packages/semi-animation/package.json index f2b017bfe6..4381a256a1 100644 --- a/packages/semi-animation/package.json +++ b/packages/semi-animation/package.json @@ -1,6 +1,6 @@ { "name": "@douyinfe/semi-animation", - "version": "2.49.1", + "version": "2.49.2", "description": "animation base library for semi-ui", "keywords": [ "animation", diff --git a/packages/semi-eslint-plugin/package.json b/packages/semi-eslint-plugin/package.json index 5bc7fff601..a9ce20662b 100644 --- a/packages/semi-eslint-plugin/package.json +++ b/packages/semi-eslint-plugin/package.json @@ -1,6 +1,6 @@ { "name": "eslint-plugin-semi-design", - "version": "2.49.1", + "version": "2.49.2", "description": "semi ui eslint plugin", "keywords": [ "semi", diff --git a/packages/semi-foundation/package.json b/packages/semi-foundation/package.json index 596ec090ac..790bdd75fe 100644 --- a/packages/semi-foundation/package.json +++ b/packages/semi-foundation/package.json @@ -1,13 +1,13 @@ { "name": "@douyinfe/semi-foundation", - "version": "2.49.1", + "version": "2.49.2", "description": "", "scripts": { "build:lib": "node ./scripts/compileLib.js", "prepublishOnly": "npm run build:lib" }, "dependencies": { - "@douyinfe/semi-animation": "2.49.1", + "@douyinfe/semi-animation": "2.49.2", "async-validator": "^3.5.0", "classnames": "^2.2.6", "date-fns": "^2.29.3", diff --git a/packages/semi-icons-lab/package.json b/packages/semi-icons-lab/package.json index 652a8476d8..e999a6b503 100644 --- a/packages/semi-icons-lab/package.json +++ b/packages/semi-icons-lab/package.json @@ -1,6 +1,6 @@ { "name": "@douyinfe/semi-icons-lab", - "version": "2.49.1", + "version": "2.49.2", "description": "semi icons lab", "keywords": [ "semi", diff --git a/packages/semi-icons/package.json b/packages/semi-icons/package.json index 0ee13bba79..6f66b9ad79 100644 --- a/packages/semi-icons/package.json +++ b/packages/semi-icons/package.json @@ -1,6 +1,6 @@ { "name": "@douyinfe/semi-icons", - "version": "2.49.1", + "version": "2.49.2", "description": "semi icons", "keywords": [ "semi", diff --git a/packages/semi-illustrations/package.json b/packages/semi-illustrations/package.json index 36684b8565..8eb375f172 100644 --- a/packages/semi-illustrations/package.json +++ b/packages/semi-illustrations/package.json @@ -1,6 +1,6 @@ { "name": "@douyinfe/semi-illustrations", - "version": "2.49.1", + "version": "2.49.2", "description": "semi illustrations", "keywords": [ "semi", diff --git a/packages/semi-next/package.json b/packages/semi-next/package.json index 7f349adf73..ffd7bc671b 100644 --- a/packages/semi-next/package.json +++ b/packages/semi-next/package.json @@ -1,6 +1,6 @@ { "name": "@douyinfe/semi-next", - "version": "2.49.1", + "version": "2.49.2", "description": "Plugin that support Semi Design in Next.js", "author": "伍浩威 ", "homepage": "", @@ -23,7 +23,7 @@ "typescript": "^4" }, "dependencies": { - "@douyinfe/semi-webpack-plugin": "2.49.1" + "@douyinfe/semi-webpack-plugin": "2.49.2" }, "gitHead": "eb34a4f25f002bb4cbcfa51f3df93bed868c831a" } diff --git a/packages/semi-rspack/package.json b/packages/semi-rspack/package.json index 2bedb74efa..eb4b46f74e 100644 --- a/packages/semi-rspack/package.json +++ b/packages/semi-rspack/package.json @@ -1,6 +1,6 @@ { "name": "@douyinfe/semi-rspack-plugin", - "version": "2.49.1", + "version": "2.49.2", "description": "", "homepage": "", "license": "MIT", diff --git a/packages/semi-scss-compile/package.json b/packages/semi-scss-compile/package.json index 3ba2d93ec9..34b006b8d9 100644 --- a/packages/semi-scss-compile/package.json +++ b/packages/semi-scss-compile/package.json @@ -1,6 +1,6 @@ { "name": "@douyinfe/semi-scss-compile", - "version": "2.49.1", + "version": "2.49.2", "description": "compile semi scss to css", "author": "daiqiang@bytedance.com", "license": "MIT", diff --git a/packages/semi-theme-default/package.json b/packages/semi-theme-default/package.json index 6499226df7..66b3205dce 100644 --- a/packages/semi-theme-default/package.json +++ b/packages/semi-theme-default/package.json @@ -1,6 +1,6 @@ { "name": "@douyinfe/semi-theme-default", - "version": "2.49.1", + "version": "2.49.2", "description": "semi-theme-default", "keywords": [ "semi-theme", diff --git a/packages/semi-ui/package.json b/packages/semi-ui/package.json index 8fbd1b848a..dd9708aa60 100644 --- a/packages/semi-ui/package.json +++ b/packages/semi-ui/package.json @@ -1,6 +1,6 @@ { "name": "@douyinfe/semi-ui", - "version": "2.49.1", + "version": "2.49.2", "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", "module": "lib/es/index.js", @@ -20,12 +20,12 @@ "@dnd-kit/core": "^6.0.8", "@dnd-kit/sortable": "^7.0.2", "@dnd-kit/utilities": "^3.2.1", - "@douyinfe/semi-animation": "2.49.1", - "@douyinfe/semi-animation-react": "2.49.1", - "@douyinfe/semi-foundation": "2.49.1", - "@douyinfe/semi-icons": "2.49.1", - "@douyinfe/semi-illustrations": "2.49.1", - "@douyinfe/semi-theme-default": "2.49.1", + "@douyinfe/semi-animation": "2.49.2", + "@douyinfe/semi-animation-react": "2.49.2", + "@douyinfe/semi-foundation": "2.49.2", + "@douyinfe/semi-icons": "2.49.2", + "@douyinfe/semi-illustrations": "2.49.2", + "@douyinfe/semi-theme-default": "2.49.2", "async-validator": "^3.5.0", "classnames": "^2.2.6", "copy-text-to-clipboard": "^2.1.1", diff --git a/packages/semi-webpack/package.json b/packages/semi-webpack/package.json index 549c98a3e8..d72b59a61f 100644 --- a/packages/semi-webpack/package.json +++ b/packages/semi-webpack/package.json @@ -1,6 +1,6 @@ { "name": "@douyinfe/semi-webpack-plugin", - "version": "2.49.1", + "version": "2.49.2", "description": "", "author": "伍浩威 ", "homepage": "", From 0e77d9e8b0875417444d4222dca7a84f640489d6 Mon Sep 17 00:00:00 2001 From: YannLynn <101160769+YannLynn@users.noreply.github.com> Date: Tue, 26 Dec 2023 20:50:36 +0800 Subject: [PATCH 12/35] fix: remove the require in timepicker stopPropagation props (#1997) --- packages/semi-ui/timePicker/TimePicker.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/semi-ui/timePicker/TimePicker.tsx b/packages/semi-ui/timePicker/TimePicker.tsx index 0cbb3b77b2..ef2c6705a4 100644 --- a/packages/semi-ui/timePicker/TimePicker.tsx +++ b/packages/semi-ui/timePicker/TimePicker.tsx @@ -82,7 +82,7 @@ export type TimePickerProps = { secondStep?: number; showClear?: boolean; size?: InputSize; - stopPropagation: boolean; + stopPropagation?: boolean; style?: React.CSSProperties; timeZone?: string | number; triggerRender?: (props?: any) => React.ReactNode; From 65ebb2904e4c0230e4d116923848068b0137e877 Mon Sep 17 00:00:00 2001 From: linyan Date: Tue, 26 Dec 2023 21:04:01 +0800 Subject: [PATCH 13/35] docs(changelog): v2.50.0-beta update --- content/start/changelog/index-en-US.md | 10 +++++++++- content/start/changelog/index.md | 9 +++++++++ 2 files changed, 18 insertions(+), 1 deletion(-) diff --git a/content/start/changelog/index-en-US.md b/content/start/changelog/index-en-US.md index c0b68472c9..056f2244f7 100644 --- a/content/start/changelog/index-en-US.md +++ b/content/start/changelog/index-en-US.md @@ -15,7 +15,15 @@ Version:Major.Minor.Patch (follow the **Semver** specification) - **Patch version**: Only include bug fix, the release time is not limited --- - +#### 🎉 2.50.0-beta.0 (2023-12-26) +- 【Feat】 + - Tree, TreeSelect add showLine api. [#1801 ](https://github.com/DouyinFE/semi-design/issues/1801) [@Yan-XiaoMing](https://github.com/Yan-XiaoMing) + - Table column support sortIcon +- 【Style】 + - Modify the CSS implementation of the indentation of each line of the Tree/TreeSelect option. There is no limit to the indentation level greater than 20 levels. [@Yan-XiaoMing](https://github.com/Yan-XiaoMing) +- 【Fix】 + - fix the problem that types of Id in Notification is not correct. + - #### 🎉 2.49.2 (2023-12-26) - 【Fix】 - fix the problem of Select failing to select option after clicking outside when the selection is radio (scope of impact v2.49.0) diff --git a/content/start/changelog/index.md b/content/start/changelog/index.md index d6b4dfa644..638aef4ee5 100644 --- a/content/start/changelog/index.md +++ b/content/start/changelog/index.md @@ -13,6 +13,15 @@ Semi 版本号遵循 **Semver** 规范(主版本号-次版本号-修订版本 - 修订版本号(patch):仅会进行 bugfix,发布时间不限 - 不同版本间的详细关系,可查阅 [FAQ](/zh-CN/start/faq) +#### 🎉 2.50.0-beta.0 (2023-12-26) +- 【Feat】 + - Tree, TreeSelect 新增 showLine api。 [#1801 ](https://github.com/DouyinFE/semi-design/issues/1801) [@Yan-XiaoMing](https://github.com/Yan-XiaoMing) + - Table 列支持自定义排序 icon +- 【Style】 + - 修改 Tree/TreeSelect 的选项每行缩进的 CSS 实现,对于缩进层级大于 20层的,不再有限制。 [@Yan-XiaoMing](https://github.com/Yan-XiaoMing) +- 【Fix】 + - 修复 Notification 的 Id 类型不正确的问题 + - #### 🎉 2.49.2 (2023-12-26) - 【Fix】 - 修复 Select 在单选情况下,点击外部后再次选择选项失败问题(影响范围 v2.49.0) From 44ab05b4b277c51f10bfb1ed5e07bb2e31d31e46 Mon Sep 17 00:00:00 2001 From: semi-bot Date: Tue, 26 Dec 2023 13:19:49 +0000 Subject: [PATCH 14/35] chore: publish 2.50.0-beta.0 --- sitemap.xml | 300 ++++++++++++++++++++++++++-------------------------- 1 file changed, 150 insertions(+), 150 deletions(-) diff --git a/sitemap.xml b/sitemap.xml index 120ffe0a99..30f22760cc 100644 --- a/sitemap.xml +++ b/sitemap.xml @@ -2,22 +2,22 @@ https://juejin.cn/post/7267418854124699702 - 2023-12-26T12:36:18.191Z + 2023-12-26T13:19:29.019Z weekly https://medium.com/front-end-weekly/how-we-test-semi-design-component-libraries-64b854f63b65 - 2023-12-26T12:36:17.474Z + 2023-12-26T13:19:27.781Z weekly https://mp.weixin.qq.com/s/noHoWRuA25PgqFNcurhIUA - 2023-12-26T12:36:19.719Z + 2023-12-26T13:19:30.783Z weekly https://mp.weixin.qq.com/s/O3js-SZDNPEOjGxh-aAkbw - 2023-12-26T12:36:19.610Z + 2023-12-26T13:19:30.345Z weekly @@ -790,732 +790,732 @@ https://semi.design/en-US/basic/divider - 2023-12-26T12:29:14.000Z + 2023-12-26T13:04:01.000Z weekly https://semi.design/en-US/basic/grid - 2023-12-26T12:29:14.000Z + 2023-12-26T13:04:01.000Z weekly https://semi.design/en-US/basic/icon - 2023-12-26T12:29:14.000Z + 2023-12-26T13:04:01.000Z weekly https://semi.design/en-US/basic/layout - 2023-12-26T12:29:14.000Z + 2023-12-26T13:04:01.000Z weekly https://semi.design/en-US/basic/space - 2023-12-26T12:29:14.000Z + 2023-12-26T13:04:01.000Z weekly https://semi.design/en-US/basic/tokens - 2023-12-26T12:29:14.000Z + 2023-12-26T13:04:01.000Z weekly https://semi.design/en-US/basic/typography - 2023-12-26T12:29:14.000Z + 2023-12-26T13:04:01.000Z weekly https://semi.design/en-US/feedback/banner - 2023-12-26T12:29:14.000Z + 2023-12-26T13:04:01.000Z weekly https://semi.design/en-US/feedback/notification - 2023-12-26T12:29:14.000Z + 2023-12-26T13:04:01.000Z weekly https://semi.design/en-US/feedback/popconfirm - 2023-12-26T12:29:14.000Z + 2023-12-26T13:04:01.000Z weekly https://semi.design/en-US/feedback/progress - 2023-12-26T12:29:14.000Z + 2023-12-26T13:04:01.000Z weekly https://semi.design/en-US/feedback/skeleton - 2023-12-26T12:29:14.000Z + 2023-12-26T13:04:01.000Z weekly https://semi.design/en-US/feedback/spin - 2023-12-26T12:29:14.000Z + 2023-12-26T13:04:01.000Z weekly https://semi.design/en-US/feedback/toast - 2023-12-26T12:29:14.000Z + 2023-12-26T13:04:01.000Z weekly https://semi.design/en-US/input/autocomplete - 2023-12-26T12:29:14.000Z + 2023-12-26T13:04:01.000Z weekly https://semi.design/en-US/input/button - 2023-12-26T12:29:14.000Z + 2023-12-26T13:04:01.000Z weekly https://semi.design/en-US/input/cascader - 2023-12-26T12:29:14.000Z + 2023-12-26T13:04:01.000Z weekly https://semi.design/en-US/input/checkbox - 2023-12-26T12:29:14.000Z + 2023-12-26T13:04:01.000Z weekly https://semi.design/en-US/input/datepicker - 2023-12-26T12:29:14.000Z + 2023-12-26T13:04:01.000Z weekly https://semi.design/en-US/input/form - 2023-12-26T12:29:14.000Z + 2023-12-26T13:04:01.000Z weekly https://semi.design/en-US/input/input - 2023-12-26T12:29:14.000Z + 2023-12-26T13:04:01.000Z weekly https://semi.design/en-US/input/inputnumber - 2023-12-26T12:29:14.000Z + 2023-12-26T13:04:01.000Z weekly https://semi.design/en-US/input/radio - 2023-12-26T12:29:14.000Z + 2023-12-26T13:04:01.000Z weekly https://semi.design/en-US/input/rating - 2023-12-26T12:29:14.000Z + 2023-12-26T13:04:01.000Z weekly https://semi.design/en-US/input/select - 2023-12-26T12:29:14.000Z + 2023-12-26T13:04:01.000Z weekly https://semi.design/en-US/input/slider - 2023-12-26T12:29:14.000Z + 2023-12-26T13:04:01.000Z weekly https://semi.design/en-US/input/switch - 2023-12-26T12:29:14.000Z + 2023-12-26T13:04:01.000Z weekly https://semi.design/en-US/input/taginput - 2023-12-26T12:29:14.000Z + 2023-12-26T13:04:01.000Z weekly https://semi.design/en-US/input/timepicker - 2023-12-26T12:29:14.000Z + 2023-12-26T13:04:01.000Z weekly https://semi.design/en-US/input/transfer - 2023-12-26T12:29:14.000Z + 2023-12-26T13:04:01.000Z weekly https://semi.design/en-US/input/treeselect - 2023-12-26T12:29:14.000Z + 2023-12-26T13:04:01.000Z weekly https://semi.design/en-US/input/upload - 2023-12-26T12:29:14.000Z + 2023-12-26T13:04:01.000Z weekly https://semi.design/en-US/navigation/anchor - 2023-12-26T12:29:14.000Z + 2023-12-26T13:04:01.000Z weekly https://semi.design/en-US/navigation/backtop - 2023-12-26T12:29:14.000Z + 2023-12-26T13:04:01.000Z weekly https://semi.design/en-US/navigation/breadcrumb - 2023-12-26T12:29:14.000Z + 2023-12-26T13:04:01.000Z weekly https://semi.design/en-US/navigation/navigation - 2023-12-26T12:29:14.000Z + 2023-12-26T13:04:01.000Z weekly https://semi.design/en-US/navigation/pagination - 2023-12-26T12:29:14.000Z + 2023-12-26T13:04:01.000Z weekly https://semi.design/en-US/navigation/steps - 2023-12-26T12:29:14.000Z + 2023-12-26T13:04:01.000Z weekly https://semi.design/en-US/navigation/tabs - 2023-12-26T12:29:14.000Z + 2023-12-26T13:04:01.000Z weekly https://semi.design/en-US/navigation/tree - 2023-12-26T12:29:14.000Z + 2023-12-26T13:04:01.000Z weekly https://semi.design/en-US/other/configprovider - 2023-12-26T12:29:14.000Z + 2023-12-26T13:04:01.000Z weekly https://semi.design/en-US/other/locale - 2023-12-26T12:29:14.000Z + 2023-12-26T13:04:01.000Z weekly https://semi.design/en-US/show/avatar - 2023-12-26T12:29:14.000Z + 2023-12-26T13:04:01.000Z weekly https://semi.design/en-US/show/badge - 2023-12-26T12:29:14.000Z + 2023-12-26T13:04:01.000Z weekly https://semi.design/en-US/show/calendar - 2023-12-26T12:29:14.000Z + 2023-12-26T13:04:01.000Z weekly https://semi.design/en-US/show/card - 2023-12-26T12:29:14.000Z + 2023-12-26T13:04:01.000Z weekly https://semi.design/en-US/show/carousel - 2023-12-26T12:29:14.000Z + 2023-12-26T13:04:01.000Z weekly https://semi.design/en-US/show/collapse - 2023-12-26T12:29:14.000Z + 2023-12-26T13:04:01.000Z weekly https://semi.design/en-US/show/collapsible - 2023-12-26T12:29:14.000Z + 2023-12-26T13:04:01.000Z weekly https://semi.design/en-US/show/descriptions - 2023-12-26T12:29:14.000Z + 2023-12-26T13:04:01.000Z weekly https://semi.design/en-US/show/dropdown - 2023-12-26T12:29:14.000Z + 2023-12-26T13:04:01.000Z weekly https://semi.design/en-US/show/empty - 2023-12-26T12:29:14.000Z + 2023-12-26T13:04:01.000Z weekly https://semi.design/en-US/show/highlight - 2023-12-26T12:29:14.000Z + 2023-12-26T13:04:01.000Z weekly https://semi.design/en-US/show/image - 2023-12-26T12:29:14.000Z + 2023-12-26T13:04:01.000Z weekly https://semi.design/en-US/show/list - 2023-12-26T12:29:14.000Z + 2023-12-26T13:04:01.000Z weekly https://semi.design/en-US/show/modal - 2023-12-26T12:29:14.000Z + 2023-12-26T13:04:01.000Z weekly https://semi.design/en-US/show/overflowlist - 2023-12-26T12:29:14.000Z + 2023-12-26T13:04:01.000Z weekly https://semi.design/en-US/show/popover - 2023-12-26T12:29:14.000Z + 2023-12-26T13:04:01.000Z weekly https://semi.design/en-US/show/scrolllist - 2023-12-26T12:29:14.000Z + 2023-12-26T13:04:01.000Z weekly https://semi.design/en-US/show/sidesheet - 2023-12-26T12:29:14.000Z + 2023-12-26T13:04:01.000Z weekly https://semi.design/en-US/show/table - 2023-12-26T12:29:14.000Z + 2023-12-26T13:04:01.000Z weekly https://semi.design/en-US/show/tag - 2023-12-26T12:29:14.000Z + 2023-12-26T13:04:01.000Z weekly https://semi.design/en-US/show/timeline - 2023-12-26T12:29:14.000Z + 2023-12-26T13:04:01.000Z weekly https://semi.design/en-US/show/tooltip - 2023-12-26T12:29:14.000Z + 2023-12-26T13:04:01.000Z weekly https://semi.design/en-US/start/accessibility - 2023-12-26T12:29:14.000Z + 2023-12-26T13:04:01.000Z weekly https://semi.design/en-US/start/changelog - 2023-12-26T12:29:14.000Z + 2023-12-26T13:04:01.000Z weekly https://semi.design/en-US/start/customize-theme - 2023-12-26T12:29:14.000Z + 2023-12-26T13:04:01.000Z weekly https://semi.design/en-US/start/dark-mode - 2023-12-26T12:29:14.000Z + 2023-12-26T13:04:01.000Z weekly https://semi.design/en-US/start/faq - 2023-12-26T12:29:14.000Z + 2023-12-26T13:04:01.000Z weekly https://semi.design/en-US/start/getting-started - 2023-12-26T12:29:14.000Z + 2023-12-26T13:04:01.000Z weekly https://semi.design/en-US/start/introduction - 2023-12-26T12:29:14.000Z + 2023-12-26T13:04:01.000Z weekly https://semi.design/en-US/start/overview - 2023-12-26T12:29:14.000Z + 2023-12-26T13:04:01.000Z weekly https://semi.design/en-US/start/update-to-v2 - 2023-12-26T12:29:14.000Z + 2023-12-26T13:04:01.000Z weekly https://semi.design/zh-CN/basic/divider - 2023-12-26T12:29:14.000Z + 2023-12-26T13:04:01.000Z weekly https://semi.design/zh-CN/basic/grid - 2023-12-26T12:29:14.000Z + 2023-12-26T13:04:01.000Z weekly https://semi.design/zh-CN/basic/icon - 2023-12-26T12:29:14.000Z + 2023-12-26T13:04:01.000Z weekly https://semi.design/zh-CN/basic/layout - 2023-12-26T12:29:14.000Z + 2023-12-26T13:04:01.000Z weekly https://semi.design/zh-CN/basic/space - 2023-12-26T12:29:14.000Z + 2023-12-26T13:04:01.000Z weekly https://semi.design/zh-CN/basic/tokens - 2023-12-26T12:29:14.000Z + 2023-12-26T13:04:01.000Z weekly https://semi.design/zh-CN/basic/typography - 2023-12-26T12:29:14.000Z + 2023-12-26T13:04:01.000Z weekly https://semi.design/zh-CN/feedback/banner - 2023-12-26T12:29:14.000Z + 2023-12-26T13:04:01.000Z weekly https://semi.design/zh-CN/feedback/notification - 2023-12-26T12:29:14.000Z + 2023-12-26T13:04:01.000Z weekly https://semi.design/zh-CN/feedback/popconfirm - 2023-12-26T12:29:14.000Z + 2023-12-26T13:04:01.000Z weekly https://semi.design/zh-CN/feedback/progress - 2023-12-26T12:29:14.000Z + 2023-12-26T13:04:01.000Z weekly https://semi.design/zh-CN/feedback/skeleton - 2023-12-26T12:29:14.000Z + 2023-12-26T13:04:01.000Z weekly https://semi.design/zh-CN/feedback/spin - 2023-12-26T12:29:14.000Z + 2023-12-26T13:04:01.000Z weekly https://semi.design/zh-CN/feedback/toast - 2023-12-26T12:29:14.000Z + 2023-12-26T13:04:01.000Z weekly https://semi.design/zh-CN/input/autocomplete - 2023-12-26T12:29:14.000Z + 2023-12-26T13:04:01.000Z weekly https://semi.design/zh-CN/input/button - 2023-12-26T12:29:14.000Z + 2023-12-26T13:04:01.000Z weekly https://semi.design/zh-CN/input/cascader - 2023-12-26T12:29:14.000Z + 2023-12-26T13:04:01.000Z weekly https://semi.design/zh-CN/input/checkbox - 2023-12-26T12:29:14.000Z + 2023-12-26T13:04:01.000Z weekly https://semi.design/zh-CN/input/datepicker - 2023-12-26T12:29:14.000Z + 2023-12-26T13:04:01.000Z weekly https://semi.design/zh-CN/input/form - 2023-12-26T12:29:14.000Z + 2023-12-26T13:04:01.000Z weekly https://semi.design/zh-CN/input/input - 2023-12-26T12:29:14.000Z + 2023-12-26T13:04:01.000Z weekly https://semi.design/zh-CN/input/inputnumber - 2023-12-26T12:29:14.000Z + 2023-12-26T13:04:01.000Z weekly https://semi.design/zh-CN/input/radio - 2023-12-26T12:29:14.000Z + 2023-12-26T13:04:01.000Z weekly https://semi.design/zh-CN/input/rating - 2023-12-26T12:29:14.000Z + 2023-12-26T13:04:01.000Z weekly https://semi.design/zh-CN/input/select - 2023-12-26T12:29:14.000Z + 2023-12-26T13:04:01.000Z weekly https://semi.design/zh-CN/input/slider - 2023-12-26T12:29:14.000Z + 2023-12-26T13:04:01.000Z weekly https://semi.design/zh-CN/input/switch - 2023-12-26T12:29:14.000Z + 2023-12-26T13:04:01.000Z weekly https://semi.design/zh-CN/input/taginput - 2023-12-26T12:29:14.000Z + 2023-12-26T13:04:01.000Z weekly https://semi.design/zh-CN/input/timepicker - 2023-12-26T12:29:14.000Z + 2023-12-26T13:04:01.000Z weekly https://semi.design/zh-CN/input/transfer - 2023-12-26T12:29:14.000Z + 2023-12-26T13:04:01.000Z weekly https://semi.design/zh-CN/input/treeselect - 2023-12-26T12:29:14.000Z + 2023-12-26T13:04:01.000Z weekly https://semi.design/zh-CN/input/upload - 2023-12-26T12:29:14.000Z + 2023-12-26T13:04:01.000Z weekly https://semi.design/zh-CN/navigation/anchor - 2023-12-26T12:29:14.000Z + 2023-12-26T13:04:01.000Z weekly https://semi.design/zh-CN/navigation/backtop - 2023-12-26T12:29:14.000Z + 2023-12-26T13:04:01.000Z weekly https://semi.design/zh-CN/navigation/breadcrumb - 2023-12-26T12:29:14.000Z + 2023-12-26T13:04:01.000Z weekly https://semi.design/zh-CN/navigation/navigation - 2023-12-26T12:29:14.000Z + 2023-12-26T13:04:01.000Z weekly https://semi.design/zh-CN/navigation/pagination - 2023-12-26T12:29:14.000Z + 2023-12-26T13:04:01.000Z weekly https://semi.design/zh-CN/navigation/steps - 2023-12-26T12:29:14.000Z + 2023-12-26T13:04:01.000Z weekly https://semi.design/zh-CN/navigation/tabs - 2023-12-26T12:29:14.000Z + 2023-12-26T13:04:01.000Z weekly https://semi.design/zh-CN/navigation/tree - 2023-12-26T12:29:14.000Z + 2023-12-26T13:04:01.000Z weekly https://semi.design/zh-CN/other/configprovider - 2023-12-26T12:29:14.000Z + 2023-12-26T13:04:01.000Z weekly https://semi.design/zh-CN/other/locale - 2023-12-26T12:29:14.000Z + 2023-12-26T13:04:01.000Z weekly https://semi.design/zh-CN/show/avatar - 2023-12-26T12:29:14.000Z + 2023-12-26T13:04:01.000Z weekly https://semi.design/zh-CN/show/badge - 2023-12-26T12:29:14.000Z + 2023-12-26T13:04:01.000Z weekly https://semi.design/zh-CN/show/calendar - 2023-12-26T12:29:14.000Z + 2023-12-26T13:04:01.000Z weekly https://semi.design/zh-CN/show/card - 2023-12-26T12:29:14.000Z + 2023-12-26T13:04:01.000Z weekly https://semi.design/zh-CN/show/carousel - 2023-12-26T12:29:14.000Z + 2023-12-26T13:04:01.000Z weekly https://semi.design/zh-CN/show/collapse - 2023-12-26T12:29:14.000Z + 2023-12-26T13:04:01.000Z weekly https://semi.design/zh-CN/show/collapsible - 2023-12-26T12:29:14.000Z + 2023-12-26T13:04:01.000Z weekly https://semi.design/zh-CN/show/descriptions - 2023-12-26T12:29:14.000Z + 2023-12-26T13:04:01.000Z weekly https://semi.design/zh-CN/show/dropdown - 2023-12-26T12:29:14.000Z + 2023-12-26T13:04:01.000Z weekly https://semi.design/zh-CN/show/empty - 2023-12-26T12:29:14.000Z + 2023-12-26T13:04:01.000Z weekly https://semi.design/zh-CN/show/highlight - 2023-12-26T12:29:14.000Z + 2023-12-26T13:04:01.000Z weekly https://semi.design/zh-CN/show/image - 2023-12-26T12:29:14.000Z + 2023-12-26T13:04:01.000Z weekly https://semi.design/zh-CN/show/list - 2023-12-26T12:29:14.000Z + 2023-12-26T13:04:01.000Z weekly https://semi.design/zh-CN/show/modal - 2023-12-26T12:29:14.000Z + 2023-12-26T13:04:01.000Z weekly https://semi.design/zh-CN/show/overflowlist - 2023-12-26T12:29:14.000Z + 2023-12-26T13:04:01.000Z weekly https://semi.design/zh-CN/show/popover - 2023-12-26T12:29:14.000Z + 2023-12-26T13:04:01.000Z weekly https://semi.design/zh-CN/show/scrolllist - 2023-12-26T12:29:14.000Z + 2023-12-26T13:04:01.000Z weekly https://semi.design/zh-CN/show/sidesheet - 2023-12-26T12:29:14.000Z + 2023-12-26T13:04:01.000Z weekly https://semi.design/zh-CN/show/table - 2023-12-26T12:29:14.000Z + 2023-12-26T13:04:01.000Z weekly https://semi.design/zh-CN/show/tag - 2023-12-26T12:29:14.000Z + 2023-12-26T13:04:01.000Z weekly https://semi.design/zh-CN/show/timeline - 2023-12-26T12:29:14.000Z + 2023-12-26T13:04:01.000Z weekly https://semi.design/zh-CN/show/tooltip - 2023-12-26T12:29:14.000Z + 2023-12-26T13:04:01.000Z weekly https://semi.design/zh-CN/start/accessibility - 2023-12-26T12:29:14.000Z + 2023-12-26T13:04:01.000Z weekly https://semi.design/zh-CN/start/changelog - 2023-12-26T12:29:14.000Z + 2023-12-26T13:04:01.000Z weekly https://semi.design/zh-CN/start/customize-theme - 2023-12-26T12:29:14.000Z + 2023-12-26T13:04:01.000Z weekly https://semi.design/zh-CN/start/dark-mode - 2023-12-26T12:29:14.000Z + 2023-12-26T13:04:01.000Z weekly https://semi.design/zh-CN/start/faq - 2023-12-26T12:29:14.000Z + 2023-12-26T13:04:01.000Z weekly https://semi.design/zh-CN/start/getting-started - 2023-12-26T12:29:14.000Z + 2023-12-26T13:04:01.000Z weekly https://semi.design/zh-CN/start/introduction - 2023-12-26T12:29:14.000Z + 2023-12-26T13:04:01.000Z weekly https://semi.design/zh-CN/start/overview - 2023-12-26T12:29:14.000Z + 2023-12-26T13:04:01.000Z weekly https://semi.design/zh-CN/start/update-to-v2 - 2023-12-26T12:29:14.000Z + 2023-12-26T13:04:01.000Z weekly From d40aee69f15db9a5dc64cc6bc04ad39bfffc1621 Mon Sep 17 00:00:00 2001 From: semi-bot Date: Tue, 26 Dec 2023 13:19:50 +0000 Subject: [PATCH 15/35] v2.50.0-beta.0 --- lerna.json | 2 +- packages/semi-animation-react/package.json | 6 +++--- packages/semi-animation-styled/package.json | 2 +- packages/semi-animation/package.json | 2 +- packages/semi-eslint-plugin/package.json | 2 +- packages/semi-foundation/package.json | 4 ++-- packages/semi-icons-lab/package.json | 2 +- packages/semi-icons/package.json | 2 +- packages/semi-illustrations/package.json | 2 +- packages/semi-next/package.json | 4 ++-- packages/semi-rspack/package.json | 2 +- packages/semi-scss-compile/package.json | 2 +- packages/semi-theme-default/package.json | 2 +- packages/semi-ui/package.json | 14 +++++++------- packages/semi-webpack/package.json | 2 +- 15 files changed, 25 insertions(+), 25 deletions(-) diff --git a/lerna.json b/lerna.json index 0a5de3dc8f..e910cd52d0 100644 --- a/lerna.json +++ b/lerna.json @@ -1,5 +1,5 @@ { "useWorkspaces": true, "npmClient": "yarn", - "version": "2.49.2" + "version": "2.50.0-beta.0" } \ No newline at end of file diff --git a/packages/semi-animation-react/package.json b/packages/semi-animation-react/package.json index 8f1ae8913e..1edcea7977 100644 --- a/packages/semi-animation-react/package.json +++ b/packages/semi-animation-react/package.json @@ -1,6 +1,6 @@ { "name": "@douyinfe/semi-animation-react", - "version": "2.49.2", + "version": "2.50.0-beta.0", "description": "motion library for semi-ui-react", "keywords": [ "motion", @@ -25,8 +25,8 @@ "prepublishOnly": "npm run build:lib" }, "dependencies": { - "@douyinfe/semi-animation": "2.49.2", - "@douyinfe/semi-animation-styled": "2.49.2", + "@douyinfe/semi-animation": "2.50.0-beta.0", + "@douyinfe/semi-animation-styled": "2.50.0-beta.0", "classnames": "^2.2.6" }, "devDependencies": { diff --git a/packages/semi-animation-styled/package.json b/packages/semi-animation-styled/package.json index 03ae150c59..f6d6974659 100644 --- a/packages/semi-animation-styled/package.json +++ b/packages/semi-animation-styled/package.json @@ -1,6 +1,6 @@ { "name": "@douyinfe/semi-animation-styled", - "version": "2.49.2", + "version": "2.50.0-beta.0", "description": "semi styled animation", "keywords": [ "semi", diff --git a/packages/semi-animation/package.json b/packages/semi-animation/package.json index 4381a256a1..abfac4dd3a 100644 --- a/packages/semi-animation/package.json +++ b/packages/semi-animation/package.json @@ -1,6 +1,6 @@ { "name": "@douyinfe/semi-animation", - "version": "2.49.2", + "version": "2.50.0-beta.0", "description": "animation base library for semi-ui", "keywords": [ "animation", diff --git a/packages/semi-eslint-plugin/package.json b/packages/semi-eslint-plugin/package.json index a9ce20662b..bd4c324237 100644 --- a/packages/semi-eslint-plugin/package.json +++ b/packages/semi-eslint-plugin/package.json @@ -1,6 +1,6 @@ { "name": "eslint-plugin-semi-design", - "version": "2.49.2", + "version": "2.50.0-beta.0", "description": "semi ui eslint plugin", "keywords": [ "semi", diff --git a/packages/semi-foundation/package.json b/packages/semi-foundation/package.json index 790bdd75fe..13a84133d3 100644 --- a/packages/semi-foundation/package.json +++ b/packages/semi-foundation/package.json @@ -1,13 +1,13 @@ { "name": "@douyinfe/semi-foundation", - "version": "2.49.2", + "version": "2.50.0-beta.0", "description": "", "scripts": { "build:lib": "node ./scripts/compileLib.js", "prepublishOnly": "npm run build:lib" }, "dependencies": { - "@douyinfe/semi-animation": "2.49.2", + "@douyinfe/semi-animation": "2.50.0-beta.0", "async-validator": "^3.5.0", "classnames": "^2.2.6", "date-fns": "^2.29.3", diff --git a/packages/semi-icons-lab/package.json b/packages/semi-icons-lab/package.json index e999a6b503..27453ece49 100644 --- a/packages/semi-icons-lab/package.json +++ b/packages/semi-icons-lab/package.json @@ -1,6 +1,6 @@ { "name": "@douyinfe/semi-icons-lab", - "version": "2.49.2", + "version": "2.50.0-beta.0", "description": "semi icons lab", "keywords": [ "semi", diff --git a/packages/semi-icons/package.json b/packages/semi-icons/package.json index 6f66b9ad79..c419542f83 100644 --- a/packages/semi-icons/package.json +++ b/packages/semi-icons/package.json @@ -1,6 +1,6 @@ { "name": "@douyinfe/semi-icons", - "version": "2.49.2", + "version": "2.50.0-beta.0", "description": "semi icons", "keywords": [ "semi", diff --git a/packages/semi-illustrations/package.json b/packages/semi-illustrations/package.json index 8eb375f172..bbf238da57 100644 --- a/packages/semi-illustrations/package.json +++ b/packages/semi-illustrations/package.json @@ -1,6 +1,6 @@ { "name": "@douyinfe/semi-illustrations", - "version": "2.49.2", + "version": "2.50.0-beta.0", "description": "semi illustrations", "keywords": [ "semi", diff --git a/packages/semi-next/package.json b/packages/semi-next/package.json index ffd7bc671b..703892e5aa 100644 --- a/packages/semi-next/package.json +++ b/packages/semi-next/package.json @@ -1,6 +1,6 @@ { "name": "@douyinfe/semi-next", - "version": "2.49.2", + "version": "2.50.0-beta.0", "description": "Plugin that support Semi Design in Next.js", "author": "伍浩威 ", "homepage": "", @@ -23,7 +23,7 @@ "typescript": "^4" }, "dependencies": { - "@douyinfe/semi-webpack-plugin": "2.49.2" + "@douyinfe/semi-webpack-plugin": "2.50.0-beta.0" }, "gitHead": "eb34a4f25f002bb4cbcfa51f3df93bed868c831a" } diff --git a/packages/semi-rspack/package.json b/packages/semi-rspack/package.json index eb4b46f74e..8049d3d4a4 100644 --- a/packages/semi-rspack/package.json +++ b/packages/semi-rspack/package.json @@ -1,6 +1,6 @@ { "name": "@douyinfe/semi-rspack-plugin", - "version": "2.49.2", + "version": "2.50.0-beta.0", "description": "", "homepage": "", "license": "MIT", diff --git a/packages/semi-scss-compile/package.json b/packages/semi-scss-compile/package.json index 34b006b8d9..d32e436f81 100644 --- a/packages/semi-scss-compile/package.json +++ b/packages/semi-scss-compile/package.json @@ -1,6 +1,6 @@ { "name": "@douyinfe/semi-scss-compile", - "version": "2.49.2", + "version": "2.50.0-beta.0", "description": "compile semi scss to css", "author": "daiqiang@bytedance.com", "license": "MIT", diff --git a/packages/semi-theme-default/package.json b/packages/semi-theme-default/package.json index 66b3205dce..a1d5025410 100644 --- a/packages/semi-theme-default/package.json +++ b/packages/semi-theme-default/package.json @@ -1,6 +1,6 @@ { "name": "@douyinfe/semi-theme-default", - "version": "2.49.2", + "version": "2.50.0-beta.0", "description": "semi-theme-default", "keywords": [ "semi-theme", diff --git a/packages/semi-ui/package.json b/packages/semi-ui/package.json index dd9708aa60..7f22adcd73 100644 --- a/packages/semi-ui/package.json +++ b/packages/semi-ui/package.json @@ -1,6 +1,6 @@ { "name": "@douyinfe/semi-ui", - "version": "2.49.2", + "version": "2.50.0-beta.0", "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", "module": "lib/es/index.js", @@ -20,12 +20,12 @@ "@dnd-kit/core": "^6.0.8", "@dnd-kit/sortable": "^7.0.2", "@dnd-kit/utilities": "^3.2.1", - "@douyinfe/semi-animation": "2.49.2", - "@douyinfe/semi-animation-react": "2.49.2", - "@douyinfe/semi-foundation": "2.49.2", - "@douyinfe/semi-icons": "2.49.2", - "@douyinfe/semi-illustrations": "2.49.2", - "@douyinfe/semi-theme-default": "2.49.2", + "@douyinfe/semi-animation": "2.50.0-beta.0", + "@douyinfe/semi-animation-react": "2.50.0-beta.0", + "@douyinfe/semi-foundation": "2.50.0-beta.0", + "@douyinfe/semi-icons": "2.50.0-beta.0", + "@douyinfe/semi-illustrations": "2.50.0-beta.0", + "@douyinfe/semi-theme-default": "2.50.0-beta.0", "async-validator": "^3.5.0", "classnames": "^2.2.6", "copy-text-to-clipboard": "^2.1.1", diff --git a/packages/semi-webpack/package.json b/packages/semi-webpack/package.json index d72b59a61f..2cd6e75385 100644 --- a/packages/semi-webpack/package.json +++ b/packages/semi-webpack/package.json @@ -1,6 +1,6 @@ { "name": "@douyinfe/semi-webpack-plugin", - "version": "2.49.2", + "version": "2.50.0-beta.0", "description": "", "author": "伍浩威 ", "homepage": "", From 886788322a14f028ac02313e14f4621457a07a0a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E4=BB=A3=E5=BC=BA?= Date: Fri, 29 Dec 2023 11:30:45 +0800 Subject: [PATCH 16/35] chore: change changelog --- content/start/changelog/index-en-US.md | 2 +- content/start/changelog/index.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/content/start/changelog/index-en-US.md b/content/start/changelog/index-en-US.md index c0b68472c9..16631582b3 100644 --- a/content/start/changelog/index-en-US.md +++ b/content/start/changelog/index-en-US.md @@ -23,7 +23,7 @@ Version:Major.Minor.Patch (follow the **Semver** specification) - fixed the problem that when the DatePicker type is monthRange, the limited date range does not meet the expectations. - Fixed vertical basic step style error when setting box-sizing to border-box globally. [#1985 ](https://github.com/DouyinFE/semi-design/issues/1985) - Remove the optional type setting of props of triggerRender of TreeSelect/Select [#532 ](https://github.com/DouyinFE/semi-design/issues/532) - - `Notification.addNotice()` now uses the default config provided to `Notification.config()` [@lideming](https://github.com/lideming) + - Fixed an issue where `Notification.addNotice()` did not use the global configuration set via `Notification.config()` [@lideming](https://github.com/lideming) #### 🎉 2.49.0 (2023-12-15) - 【Fix】 diff --git a/content/start/changelog/index.md b/content/start/changelog/index.md index d6b4dfa644..5ab6750be0 100644 --- a/content/start/changelog/index.md +++ b/content/start/changelog/index.md @@ -20,7 +20,7 @@ Semi 版本号遵循 **Semver** 规范(主版本号-次版本号-修订版本 - 修复 DatePicker 类型为 monthRange 时,限制日期范围不符合预期问题。 - 修复在全局设置box-sizing 为 border-box后,vertical 的basic step 样式错误问题 [#1985 ](https://github.com/DouyinFE/semi-design/issues/1985) - 去除 TreeSelect/Select 的triggerRender的props 的可选类型设置 [#532 ](https://github.com/DouyinFE/semi-design/issues/532) - - `Notification.addNotice()` 现在使用通过 `Notification.config()` 设置的全局配置 [@lideming](https://github.com/lideming) + - 修复 `Notification.addNotice()` 未使用通过 `Notification.config()` 设置的全局配置的问题 [@lideming](https://github.com/lideming) #### 🎉 2.49.0 (2023-12-15) - 【Fix】 From 8aac62d22cd8eaabc9802f7aa87fe162c7ac4dd3 Mon Sep 17 00:00:00 2001 From: YyumeiZhang <101110131+YyumeiZhang@users.noreply.github.com> Date: Tue, 2 Jan 2024 14:11:56 +0800 Subject: [PATCH 17/35] =?UTF-8?q?fix:=20When=20the=20image=20is=20loaded?= =?UTF-8?q?=20for=20the=20first=20time,=20zoom=20is=20calculated,=E2=80=A6?= =?UTF-8?q?=20(#1998)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * fix: When the image is loaded for the first time, zoom is calculated, and zoom changes do not need to be exposed through callbacks * fix: Fixed unexpected onRotateLeft callback being triggered when switching image during image preview --- packages/semi-foundation/image/previewImageFoundation.ts | 8 +++++--- packages/semi-foundation/image/previewInnerFoundation.ts | 5 ++--- packages/semi-ui/image/previewInner.tsx | 4 ++-- 3 files changed, 9 insertions(+), 8 deletions(-) diff --git a/packages/semi-foundation/image/previewImageFoundation.ts b/packages/semi-foundation/image/previewImageFoundation.ts index af9293f0d6..7b96ab965e 100644 --- a/packages/semi-foundation/image/previewImageFoundation.ts +++ b/packages/semi-foundation/image/previewImageFoundation.ts @@ -86,7 +86,9 @@ export default class PreviewImageFoundation

    , S = Record< this.setState({ loading: false, } as any); - this.handleResizeImage(); + // 图片初次加载,计算 zoom,zoom 改变不需要通过回调透出 + // When the image is loaded for the first time, zoom is calculated, and zoom changes do not need to be exposed through callbacks. + this.handleResizeImage(false); } const { src, onLoad } = this.getProps(); onLoad && onLoad(src); @@ -100,7 +102,7 @@ export default class PreviewImageFoundation

    , S = Record< onError && onError(src); } - handleResizeImage = () => { + handleResizeImage = (notify: boolean = true) => { const horizontal = !this._isImageVertical(); const { currZoom } = this.getStates(); const imgWidth = horizontal ? this.originImageWidth : this.originImageHeight; @@ -120,7 +122,7 @@ export default class PreviewImageFoundation

    , S = Record< if (currZoom === _zoom) { this.calculatePreviewImage(_zoom, null); } else { - onZoom(_zoom); + onZoom(_zoom, notify); } } } diff --git a/packages/semi-foundation/image/previewInnerFoundation.ts b/packages/semi-foundation/image/previewInnerFoundation.ts index d27f193314..8f524c4154 100644 --- a/packages/semi-foundation/image/previewInnerFoundation.ts +++ b/packages/semi-foundation/image/previewInnerFoundation.ts @@ -166,7 +166,6 @@ export default class PreviewInnerFoundation

    , S = Record< direction, rotation: 0, } as any); - this._adapter.notifyRotateChange(0); } handleDownload = () => { @@ -199,10 +198,10 @@ export default class PreviewInnerFoundation

    , S = Record< this._adapter.notifyRotateChange(newRotation); } - handleZoomImage = (newZoom: number) => { + handleZoomImage = (newZoom: number, notify: boolean = true) => { const { zoom } = this.getStates(); if (zoom !== newZoom) { - this._adapter.notifyZoom(newZoom, newZoom > zoom); + notify && this._adapter.notifyZoom(newZoom, newZoom > zoom); this.setState({ zoom: newZoom, } as any); diff --git a/packages/semi-ui/image/previewInner.tsx b/packages/semi-ui/image/previewInner.tsx index 3a57455775..de85f67610 100644 --- a/packages/semi-ui/image/previewInner.tsx +++ b/packages/semi-ui/image/previewInner.tsx @@ -285,8 +285,8 @@ export default class PreviewInner extends BaseComponent { - this.foundation.handleZoomImage(newZoom); + handleZoomImage = (newZoom: number, notify: boolean = true) => { + this.foundation.handleZoomImage(newZoom, notify); } handleMouseUp = (e): void => { From ae0d0ebaba8a120ce845c9379495a2ab875ce1a2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E4=BB=A3=E5=BC=BA?= Date: Tue, 2 Jan 2024 15:29:52 +0800 Subject: [PATCH 18/35] chore: change changelog --- content/start/changelog/index-en-US.md | 8 ++++++++ content/start/changelog/index.md | 5 +++++ 2 files changed, 13 insertions(+) diff --git a/content/start/changelog/index-en-US.md b/content/start/changelog/index-en-US.md index 662d5d5249..f937975cf3 100644 --- a/content/start/changelog/index-en-US.md +++ b/content/start/changelog/index-en-US.md @@ -15,6 +15,14 @@ Version:Major.Minor.Patch (follow the **Semver** specification) - **Patch version**: Only include bug fix, the release time is not limited --- + +#### 🎉 2.50.0 (2024-01-02) +- 【Fix】 + - When images in ImagePreview is loaded for the first time, Zoom changes do not need to be exposed through onZoomIn/onZoomOut + callbacks [#2000 ](https://github.com/DouyinFE/semi-design/issues/2000) + - Fixed the issue of unexpected onRotateLeft callback being triggered when switching images during image preview + + #### 🎉 2.50.0-beta.0 (2023-12-26) - 【Feat】 - Tree, TreeSelect add showLine api. [#1801 ](https://github.com/DouyinFE/semi-design/issues/1801) [@Yan-XiaoMing](https://github.com/Yan-XiaoMing) diff --git a/content/start/changelog/index.md b/content/start/changelog/index.md index 07113aa3dc..affcd4c82d 100644 --- a/content/start/changelog/index.md +++ b/content/start/changelog/index.md @@ -13,6 +13,11 @@ Semi 版本号遵循 **Semver** 规范(主版本号-次版本号-修订版本 - 修订版本号(patch):仅会进行 bugfix,发布时间不限 - 不同版本间的详细关系,可查阅 [FAQ](/zh-CN/start/faq) +#### 🎉 2.50.0 (2024-01-02) +- 【Fix】 + - ImagePreview 中图片初次加载,zoom 改变不需要通过 onZoomIn/onZoomOut 回调透出 [#2000 ](https://github.com/DouyinFE/semi-design/issues/2000) + - 修复在图片预览时切换图片触发意外的 onRotateLeft 回调 + #### 🎉 2.50.0-beta.0 (2023-12-26) - 【Feat】 - Tree, TreeSelect 新增 showLine api。 [#1801 ](https://github.com/DouyinFE/semi-design/issues/1801) [@Yan-XiaoMing](https://github.com/Yan-XiaoMing) From 592dba5bef2f92e89bad3032108cb13b1ea946e0 Mon Sep 17 00:00:00 2001 From: semi-bot Date: Tue, 2 Jan 2024 07:34:12 +0000 Subject: [PATCH 19/35] chore: publish 2.50.0 --- sitemap.xml | 380 ++++++++++++++++++++++++++-------------------------- yarn.lock | 86 ++++++++++++ 2 files changed, 276 insertions(+), 190 deletions(-) diff --git a/sitemap.xml b/sitemap.xml index 30f22760cc..a0d5d0bab3 100644 --- a/sitemap.xml +++ b/sitemap.xml @@ -2,22 +2,22 @@ https://juejin.cn/post/7267418854124699702 - 2023-12-26T13:19:29.019Z + 2024-01-02T07:33:56.941Z weekly https://medium.com/front-end-weekly/how-we-test-semi-design-component-libraries-64b854f63b65 - 2023-12-26T13:19:27.781Z + 2024-01-02T07:33:54.967Z weekly https://mp.weixin.qq.com/s/noHoWRuA25PgqFNcurhIUA - 2023-12-26T13:19:30.783Z + 2024-01-02T07:33:58.095Z weekly https://mp.weixin.qq.com/s/O3js-SZDNPEOjGxh-aAkbw - 2023-12-26T13:19:30.345Z + 2024-01-02T07:33:58.277Z weekly @@ -670,852 +670,852 @@ https://semi.design/dsm_manual/zh-CN/introduction/case - 2023-10-30T13:34:19.513Z + 2024-01-02T07:34:04.048Z weekly - 1.0.0.66 + 1.0.0.70 https://semi.design/dsm_manual/zh-CN/introduction/changelog - 2023-10-30T13:34:19.455Z + 2024-01-02T07:34:04.326Z weekly - 1.0.0.66 + 1.0.0.70 https://semi.design/dsm_manual/zh-CN/introduction/faq - 2023-10-30T13:34:19.458Z + 2024-01-02T07:34:04.206Z weekly - 1.0.0.66 + 1.0.0.70 https://semi.design/dsm_manual/zh-CN/introduction/roadmap - 2023-10-30T13:34:21.190Z + 2024-01-02T07:34:05.031Z weekly - 1.0.0.66 + 1.0.0.70 https://semi.design/dsm_manual/zh-CN/introduction/start - 2023-10-30T13:34:19.738Z + 2024-01-02T07:34:04.441Z weekly - 1.0.0.66 + 1.0.0.70 https://semi.design/dsm_manual/zh-CN/plugin/changeThemeModel - 2023-10-30T13:34:19.592Z + 2024-01-02T07:34:04.552Z weekly - 1.0.0.66 + 1.0.0.70 https://semi.design/dsm_manual/zh-CN/plugin/genDocs - 2023-10-30T13:34:19.835Z + 2024-01-02T07:34:04.632Z weekly - 1.0.0.66 + 1.0.0.70 https://semi.design/dsm_manual/zh-CN/plugin/intallPlugin - 2023-10-30T13:34:19.815Z + 2024-01-02T07:34:04.776Z weekly - 1.0.0.66 + 1.0.0.70 https://semi.design/dsm_manual/zh-CN/plugin/syncInFigma - 2023-10-30T13:34:19.793Z + 2024-01-02T07:34:04.847Z weekly - 1.0.0.66 + 1.0.0.70 https://semi.design/dsm_manual/zh-CN/plugin/writeTheme - 2023-10-30T13:34:19.878Z + 2024-01-02T07:34:04.810Z weekly - 1.0.0.66 + 1.0.0.70 https://semi.design/dsm_manual/zh-CN/themeStore/fork - 2023-10-30T13:34:20.219Z + 2024-01-02T07:34:04.802Z weekly - 1.0.0.66 + 1.0.0.70 https://semi.design/dsm_manual/zh-CN/themeStore/preview - 2023-10-30T13:34:19.843Z + 2024-01-02T07:34:04.845Z weekly - 1.0.0.66 + 1.0.0.70 https://semi.design/dsm_manual/zh-CN/themeStore/publish - 2023-10-30T13:34:19.812Z + 2024-01-02T07:34:04.784Z weekly - 1.0.0.66 + 1.0.0.70 https://semi.design/dsm_manual/zh-CN/web/addPartner - 2023-10-30T13:34:19.806Z + 2024-01-02T07:34:05.121Z weekly - 1.0.0.66 + 1.0.0.70 https://semi.design/dsm_manual/zh-CN/web/componentToken - 2023-10-30T13:34:20.038Z + 2024-01-02T07:34:05.091Z weekly - 1.0.0.66 + 1.0.0.70 https://semi.design/dsm_manual/zh-CN/web/globalToken - 2023-10-30T13:34:20.217Z + 2024-01-02T07:34:05.264Z weekly - 1.0.0.66 + 1.0.0.70 https://semi.design/dsm_manual/zh-CN/web/use - 2023-10-30T13:34:20.072Z + 2024-01-02T07:34:05.487Z weekly - 1.0.0.66 + 1.0.0.70 https://semi.design/dsm_manual/zh-CN/web/web_publish - 2023-10-30T13:34:19.997Z + 2024-01-02T07:34:05.227Z weekly - 1.0.0.66 + 1.0.0.70 https://semi.design/dsm_manual/zh-CN/web/web_start - 2023-10-30T13:34:20.168Z + 2024-01-02T07:34:05.238Z weekly - 1.0.0.66 + 1.0.0.70 https://semi.design/dsm/landing - 2023-11-17T09:16:45.265Z + 2024-01-02T07:34:05.466Z weekly - 1.0.0.156 + 1.0.0.157 https://semi.design/en-US/basic/divider - 2023-12-26T13:04:01.000Z + 2024-01-02T07:29:52.000Z weekly https://semi.design/en-US/basic/grid - 2023-12-26T13:04:01.000Z + 2024-01-02T07:29:52.000Z weekly https://semi.design/en-US/basic/icon - 2023-12-26T13:04:01.000Z + 2024-01-02T07:29:52.000Z weekly https://semi.design/en-US/basic/layout - 2023-12-26T13:04:01.000Z + 2024-01-02T07:29:52.000Z weekly https://semi.design/en-US/basic/space - 2023-12-26T13:04:01.000Z + 2024-01-02T07:29:52.000Z weekly https://semi.design/en-US/basic/tokens - 2023-12-26T13:04:01.000Z + 2024-01-02T07:29:52.000Z weekly https://semi.design/en-US/basic/typography - 2023-12-26T13:04:01.000Z + 2024-01-02T07:29:52.000Z weekly https://semi.design/en-US/feedback/banner - 2023-12-26T13:04:01.000Z + 2024-01-02T07:29:52.000Z weekly https://semi.design/en-US/feedback/notification - 2023-12-26T13:04:01.000Z + 2024-01-02T07:29:52.000Z weekly https://semi.design/en-US/feedback/popconfirm - 2023-12-26T13:04:01.000Z + 2024-01-02T07:29:52.000Z weekly https://semi.design/en-US/feedback/progress - 2023-12-26T13:04:01.000Z + 2024-01-02T07:29:52.000Z weekly https://semi.design/en-US/feedback/skeleton - 2023-12-26T13:04:01.000Z + 2024-01-02T07:29:52.000Z weekly https://semi.design/en-US/feedback/spin - 2023-12-26T13:04:01.000Z + 2024-01-02T07:29:52.000Z weekly https://semi.design/en-US/feedback/toast - 2023-12-26T13:04:01.000Z + 2024-01-02T07:29:52.000Z weekly https://semi.design/en-US/input/autocomplete - 2023-12-26T13:04:01.000Z + 2024-01-02T07:29:52.000Z weekly https://semi.design/en-US/input/button - 2023-12-26T13:04:01.000Z + 2024-01-02T07:29:52.000Z weekly https://semi.design/en-US/input/cascader - 2023-12-26T13:04:01.000Z + 2024-01-02T07:29:52.000Z weekly https://semi.design/en-US/input/checkbox - 2023-12-26T13:04:01.000Z + 2024-01-02T07:29:52.000Z weekly https://semi.design/en-US/input/datepicker - 2023-12-26T13:04:01.000Z + 2024-01-02T07:29:52.000Z weekly https://semi.design/en-US/input/form - 2023-12-26T13:04:01.000Z + 2024-01-02T07:29:52.000Z weekly https://semi.design/en-US/input/input - 2023-12-26T13:04:01.000Z + 2024-01-02T07:29:52.000Z weekly https://semi.design/en-US/input/inputnumber - 2023-12-26T13:04:01.000Z + 2024-01-02T07:29:52.000Z weekly https://semi.design/en-US/input/radio - 2023-12-26T13:04:01.000Z + 2024-01-02T07:29:52.000Z weekly https://semi.design/en-US/input/rating - 2023-12-26T13:04:01.000Z + 2024-01-02T07:29:52.000Z weekly https://semi.design/en-US/input/select - 2023-12-26T13:04:01.000Z + 2024-01-02T07:29:52.000Z weekly https://semi.design/en-US/input/slider - 2023-12-26T13:04:01.000Z + 2024-01-02T07:29:52.000Z weekly https://semi.design/en-US/input/switch - 2023-12-26T13:04:01.000Z + 2024-01-02T07:29:52.000Z weekly https://semi.design/en-US/input/taginput - 2023-12-26T13:04:01.000Z + 2024-01-02T07:29:52.000Z weekly https://semi.design/en-US/input/timepicker - 2023-12-26T13:04:01.000Z + 2024-01-02T07:29:52.000Z weekly https://semi.design/en-US/input/transfer - 2023-12-26T13:04:01.000Z + 2024-01-02T07:29:52.000Z weekly https://semi.design/en-US/input/treeselect - 2023-12-26T13:04:01.000Z + 2024-01-02T07:29:52.000Z weekly https://semi.design/en-US/input/upload - 2023-12-26T13:04:01.000Z + 2024-01-02T07:29:52.000Z weekly https://semi.design/en-US/navigation/anchor - 2023-12-26T13:04:01.000Z + 2024-01-02T07:29:52.000Z weekly https://semi.design/en-US/navigation/backtop - 2023-12-26T13:04:01.000Z + 2024-01-02T07:29:52.000Z weekly https://semi.design/en-US/navigation/breadcrumb - 2023-12-26T13:04:01.000Z + 2024-01-02T07:29:52.000Z weekly https://semi.design/en-US/navigation/navigation - 2023-12-26T13:04:01.000Z + 2024-01-02T07:29:52.000Z weekly https://semi.design/en-US/navigation/pagination - 2023-12-26T13:04:01.000Z + 2024-01-02T07:29:52.000Z weekly https://semi.design/en-US/navigation/steps - 2023-12-26T13:04:01.000Z + 2024-01-02T07:29:52.000Z weekly https://semi.design/en-US/navigation/tabs - 2023-12-26T13:04:01.000Z + 2024-01-02T07:29:52.000Z weekly https://semi.design/en-US/navigation/tree - 2023-12-26T13:04:01.000Z + 2024-01-02T07:29:52.000Z weekly https://semi.design/en-US/other/configprovider - 2023-12-26T13:04:01.000Z + 2024-01-02T07:29:52.000Z weekly https://semi.design/en-US/other/locale - 2023-12-26T13:04:01.000Z + 2024-01-02T07:29:52.000Z weekly https://semi.design/en-US/show/avatar - 2023-12-26T13:04:01.000Z + 2024-01-02T07:29:52.000Z weekly https://semi.design/en-US/show/badge - 2023-12-26T13:04:01.000Z + 2024-01-02T07:29:52.000Z weekly https://semi.design/en-US/show/calendar - 2023-12-26T13:04:01.000Z + 2024-01-02T07:29:52.000Z weekly https://semi.design/en-US/show/card - 2023-12-26T13:04:01.000Z + 2024-01-02T07:29:52.000Z weekly https://semi.design/en-US/show/carousel - 2023-12-26T13:04:01.000Z + 2024-01-02T07:29:52.000Z weekly https://semi.design/en-US/show/collapse - 2023-12-26T13:04:01.000Z + 2024-01-02T07:29:52.000Z weekly https://semi.design/en-US/show/collapsible - 2023-12-26T13:04:01.000Z + 2024-01-02T07:29:52.000Z weekly https://semi.design/en-US/show/descriptions - 2023-12-26T13:04:01.000Z + 2024-01-02T07:29:52.000Z weekly https://semi.design/en-US/show/dropdown - 2023-12-26T13:04:01.000Z + 2024-01-02T07:29:52.000Z weekly https://semi.design/en-US/show/empty - 2023-12-26T13:04:01.000Z + 2024-01-02T07:29:52.000Z weekly https://semi.design/en-US/show/highlight - 2023-12-26T13:04:01.000Z + 2024-01-02T07:29:52.000Z weekly https://semi.design/en-US/show/image - 2023-12-26T13:04:01.000Z + 2024-01-02T07:29:52.000Z weekly https://semi.design/en-US/show/list - 2023-12-26T13:04:01.000Z + 2024-01-02T07:29:52.000Z weekly https://semi.design/en-US/show/modal - 2023-12-26T13:04:01.000Z + 2024-01-02T07:29:52.000Z weekly https://semi.design/en-US/show/overflowlist - 2023-12-26T13:04:01.000Z + 2024-01-02T07:29:52.000Z weekly https://semi.design/en-US/show/popover - 2023-12-26T13:04:01.000Z + 2024-01-02T07:29:52.000Z weekly https://semi.design/en-US/show/scrolllist - 2023-12-26T13:04:01.000Z + 2024-01-02T07:29:52.000Z weekly https://semi.design/en-US/show/sidesheet - 2023-12-26T13:04:01.000Z + 2024-01-02T07:29:52.000Z weekly https://semi.design/en-US/show/table - 2023-12-26T13:04:01.000Z + 2024-01-02T07:29:52.000Z weekly https://semi.design/en-US/show/tag - 2023-12-26T13:04:01.000Z + 2024-01-02T07:29:52.000Z weekly https://semi.design/en-US/show/timeline - 2023-12-26T13:04:01.000Z + 2024-01-02T07:29:52.000Z weekly https://semi.design/en-US/show/tooltip - 2023-12-26T13:04:01.000Z + 2024-01-02T07:29:52.000Z weekly https://semi.design/en-US/start/accessibility - 2023-12-26T13:04:01.000Z + 2024-01-02T07:29:52.000Z weekly https://semi.design/en-US/start/changelog - 2023-12-26T13:04:01.000Z + 2024-01-02T07:29:52.000Z weekly https://semi.design/en-US/start/customize-theme - 2023-12-26T13:04:01.000Z + 2024-01-02T07:29:52.000Z weekly https://semi.design/en-US/start/dark-mode - 2023-12-26T13:04:01.000Z + 2024-01-02T07:29:52.000Z weekly https://semi.design/en-US/start/faq - 2023-12-26T13:04:01.000Z + 2024-01-02T07:29:52.000Z weekly https://semi.design/en-US/start/getting-started - 2023-12-26T13:04:01.000Z + 2024-01-02T07:29:52.000Z weekly https://semi.design/en-US/start/introduction - 2023-12-26T13:04:01.000Z + 2024-01-02T07:29:52.000Z weekly https://semi.design/en-US/start/overview - 2023-12-26T13:04:01.000Z + 2024-01-02T07:29:52.000Z weekly https://semi.design/en-US/start/update-to-v2 - 2023-12-26T13:04:01.000Z + 2024-01-02T07:29:52.000Z weekly https://semi.design/zh-CN/basic/divider - 2023-12-26T13:04:01.000Z + 2024-01-02T07:29:52.000Z weekly https://semi.design/zh-CN/basic/grid - 2023-12-26T13:04:01.000Z + 2024-01-02T07:29:52.000Z weekly https://semi.design/zh-CN/basic/icon - 2023-12-26T13:04:01.000Z + 2024-01-02T07:29:52.000Z weekly https://semi.design/zh-CN/basic/layout - 2023-12-26T13:04:01.000Z + 2024-01-02T07:29:52.000Z weekly https://semi.design/zh-CN/basic/space - 2023-12-26T13:04:01.000Z + 2024-01-02T07:29:52.000Z weekly https://semi.design/zh-CN/basic/tokens - 2023-12-26T13:04:01.000Z + 2024-01-02T07:29:52.000Z weekly https://semi.design/zh-CN/basic/typography - 2023-12-26T13:04:01.000Z + 2024-01-02T07:29:52.000Z weekly https://semi.design/zh-CN/feedback/banner - 2023-12-26T13:04:01.000Z + 2024-01-02T07:29:52.000Z weekly https://semi.design/zh-CN/feedback/notification - 2023-12-26T13:04:01.000Z + 2024-01-02T07:29:52.000Z weekly https://semi.design/zh-CN/feedback/popconfirm - 2023-12-26T13:04:01.000Z + 2024-01-02T07:29:52.000Z weekly https://semi.design/zh-CN/feedback/progress - 2023-12-26T13:04:01.000Z + 2024-01-02T07:29:52.000Z weekly https://semi.design/zh-CN/feedback/skeleton - 2023-12-26T13:04:01.000Z + 2024-01-02T07:29:52.000Z weekly https://semi.design/zh-CN/feedback/spin - 2023-12-26T13:04:01.000Z + 2024-01-02T07:29:52.000Z weekly https://semi.design/zh-CN/feedback/toast - 2023-12-26T13:04:01.000Z + 2024-01-02T07:29:52.000Z weekly https://semi.design/zh-CN/input/autocomplete - 2023-12-26T13:04:01.000Z + 2024-01-02T07:29:52.000Z weekly https://semi.design/zh-CN/input/button - 2023-12-26T13:04:01.000Z + 2024-01-02T07:29:52.000Z weekly https://semi.design/zh-CN/input/cascader - 2023-12-26T13:04:01.000Z + 2024-01-02T07:29:52.000Z weekly https://semi.design/zh-CN/input/checkbox - 2023-12-26T13:04:01.000Z + 2024-01-02T07:29:52.000Z weekly https://semi.design/zh-CN/input/datepicker - 2023-12-26T13:04:01.000Z + 2024-01-02T07:29:52.000Z weekly https://semi.design/zh-CN/input/form - 2023-12-26T13:04:01.000Z + 2024-01-02T07:29:52.000Z weekly https://semi.design/zh-CN/input/input - 2023-12-26T13:04:01.000Z + 2024-01-02T07:29:52.000Z weekly https://semi.design/zh-CN/input/inputnumber - 2023-12-26T13:04:01.000Z + 2024-01-02T07:29:52.000Z weekly https://semi.design/zh-CN/input/radio - 2023-12-26T13:04:01.000Z + 2024-01-02T07:29:52.000Z weekly https://semi.design/zh-CN/input/rating - 2023-12-26T13:04:01.000Z + 2024-01-02T07:29:52.000Z weekly https://semi.design/zh-CN/input/select - 2023-12-26T13:04:01.000Z + 2024-01-02T07:29:52.000Z weekly https://semi.design/zh-CN/input/slider - 2023-12-26T13:04:01.000Z + 2024-01-02T07:29:52.000Z weekly https://semi.design/zh-CN/input/switch - 2023-12-26T13:04:01.000Z + 2024-01-02T07:29:52.000Z weekly https://semi.design/zh-CN/input/taginput - 2023-12-26T13:04:01.000Z + 2024-01-02T07:29:52.000Z weekly https://semi.design/zh-CN/input/timepicker - 2023-12-26T13:04:01.000Z + 2024-01-02T07:29:52.000Z weekly https://semi.design/zh-CN/input/transfer - 2023-12-26T13:04:01.000Z + 2024-01-02T07:29:52.000Z weekly https://semi.design/zh-CN/input/treeselect - 2023-12-26T13:04:01.000Z + 2024-01-02T07:29:52.000Z weekly https://semi.design/zh-CN/input/upload - 2023-12-26T13:04:01.000Z + 2024-01-02T07:29:52.000Z weekly https://semi.design/zh-CN/navigation/anchor - 2023-12-26T13:04:01.000Z + 2024-01-02T07:29:52.000Z weekly https://semi.design/zh-CN/navigation/backtop - 2023-12-26T13:04:01.000Z + 2024-01-02T07:29:52.000Z weekly https://semi.design/zh-CN/navigation/breadcrumb - 2023-12-26T13:04:01.000Z + 2024-01-02T07:29:52.000Z weekly https://semi.design/zh-CN/navigation/navigation - 2023-12-26T13:04:01.000Z + 2024-01-02T07:29:52.000Z weekly https://semi.design/zh-CN/navigation/pagination - 2023-12-26T13:04:01.000Z + 2024-01-02T07:29:52.000Z weekly https://semi.design/zh-CN/navigation/steps - 2023-12-26T13:04:01.000Z + 2024-01-02T07:29:52.000Z weekly https://semi.design/zh-CN/navigation/tabs - 2023-12-26T13:04:01.000Z + 2024-01-02T07:29:52.000Z weekly https://semi.design/zh-CN/navigation/tree - 2023-12-26T13:04:01.000Z + 2024-01-02T07:29:52.000Z weekly https://semi.design/zh-CN/other/configprovider - 2023-12-26T13:04:01.000Z + 2024-01-02T07:29:52.000Z weekly https://semi.design/zh-CN/other/locale - 2023-12-26T13:04:01.000Z + 2024-01-02T07:29:52.000Z weekly https://semi.design/zh-CN/show/avatar - 2023-12-26T13:04:01.000Z + 2024-01-02T07:29:52.000Z weekly https://semi.design/zh-CN/show/badge - 2023-12-26T13:04:01.000Z + 2024-01-02T07:29:52.000Z weekly https://semi.design/zh-CN/show/calendar - 2023-12-26T13:04:01.000Z + 2024-01-02T07:29:52.000Z weekly https://semi.design/zh-CN/show/card - 2023-12-26T13:04:01.000Z + 2024-01-02T07:29:52.000Z weekly https://semi.design/zh-CN/show/carousel - 2023-12-26T13:04:01.000Z + 2024-01-02T07:29:52.000Z weekly https://semi.design/zh-CN/show/collapse - 2023-12-26T13:04:01.000Z + 2024-01-02T07:29:52.000Z weekly https://semi.design/zh-CN/show/collapsible - 2023-12-26T13:04:01.000Z + 2024-01-02T07:29:52.000Z weekly https://semi.design/zh-CN/show/descriptions - 2023-12-26T13:04:01.000Z + 2024-01-02T07:29:52.000Z weekly https://semi.design/zh-CN/show/dropdown - 2023-12-26T13:04:01.000Z + 2024-01-02T07:29:52.000Z weekly https://semi.design/zh-CN/show/empty - 2023-12-26T13:04:01.000Z + 2024-01-02T07:29:52.000Z weekly https://semi.design/zh-CN/show/highlight - 2023-12-26T13:04:01.000Z + 2024-01-02T07:29:52.000Z weekly https://semi.design/zh-CN/show/image - 2023-12-26T13:04:01.000Z + 2024-01-02T07:29:52.000Z weekly https://semi.design/zh-CN/show/list - 2023-12-26T13:04:01.000Z + 2024-01-02T07:29:52.000Z weekly https://semi.design/zh-CN/show/modal - 2023-12-26T13:04:01.000Z + 2024-01-02T07:29:52.000Z weekly https://semi.design/zh-CN/show/overflowlist - 2023-12-26T13:04:01.000Z + 2024-01-02T07:29:52.000Z weekly https://semi.design/zh-CN/show/popover - 2023-12-26T13:04:01.000Z + 2024-01-02T07:29:52.000Z weekly https://semi.design/zh-CN/show/scrolllist - 2023-12-26T13:04:01.000Z + 2024-01-02T07:29:52.000Z weekly https://semi.design/zh-CN/show/sidesheet - 2023-12-26T13:04:01.000Z + 2024-01-02T07:29:52.000Z weekly https://semi.design/zh-CN/show/table - 2023-12-26T13:04:01.000Z + 2024-01-02T07:29:52.000Z weekly https://semi.design/zh-CN/show/tag - 2023-12-26T13:04:01.000Z + 2024-01-02T07:29:52.000Z weekly https://semi.design/zh-CN/show/timeline - 2023-12-26T13:04:01.000Z + 2024-01-02T07:29:52.000Z weekly https://semi.design/zh-CN/show/tooltip - 2023-12-26T13:04:01.000Z + 2024-01-02T07:29:52.000Z weekly https://semi.design/zh-CN/start/accessibility - 2023-12-26T13:04:01.000Z + 2024-01-02T07:29:52.000Z weekly https://semi.design/zh-CN/start/changelog - 2023-12-26T13:04:01.000Z + 2024-01-02T07:29:52.000Z weekly https://semi.design/zh-CN/start/customize-theme - 2023-12-26T13:04:01.000Z + 2024-01-02T07:29:52.000Z weekly https://semi.design/zh-CN/start/dark-mode - 2023-12-26T13:04:01.000Z + 2024-01-02T07:29:52.000Z weekly https://semi.design/zh-CN/start/faq - 2023-12-26T13:04:01.000Z + 2024-01-02T07:29:52.000Z weekly https://semi.design/zh-CN/start/getting-started - 2023-12-26T13:04:01.000Z + 2024-01-02T07:29:52.000Z weekly https://semi.design/zh-CN/start/introduction - 2023-12-26T13:04:01.000Z + 2024-01-02T07:29:52.000Z weekly https://semi.design/zh-CN/start/overview - 2023-12-26T13:04:01.000Z + 2024-01-02T07:29:52.000Z weekly https://semi.design/zh-CN/start/update-to-v2 - 2023-12-26T13:04:01.000Z + 2024-01-02T07:29:52.000Z weekly diff --git a/yarn.lock b/yarn.lock index 6602385171..7ed389509e 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1519,11 +1519,25 @@ "@douyinfe/semi-animation-styled" "2.23.2" classnames "^2.2.6" +"@douyinfe/semi-animation-react@2.49.2": + version "2.49.2" + resolved "https://registry.yarnpkg.com/@douyinfe/semi-animation-react/-/semi-animation-react-2.49.2.tgz#3f69c3faee29666d51775529abac7c8a541cbcc8" + integrity sha512-aACyOnW2raTpeeXfDMohHDf0r0k4LgXSpKNUIexKslR2xBoByt1H1yzSyyYBpVPMW3l4ywFsuzcUX47W4BKHlA== + dependencies: + "@douyinfe/semi-animation" "2.49.2" + "@douyinfe/semi-animation-styled" "2.49.2" + classnames "^2.2.6" + "@douyinfe/semi-animation-styled@2.23.2": version "2.23.2" 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== +"@douyinfe/semi-animation-styled@2.49.2": + version "2.49.2" + resolved "https://registry.yarnpkg.com/@douyinfe/semi-animation-styled/-/semi-animation-styled-2.49.2.tgz#c7d4b7f5bb39ae5b2961ba91635c53bb8289dd93" + integrity sha512-+4YSNo2juDSkS5NBIl6Cy6oKzpCUCXg2Q4PYL/Azn3VYiGhJBtHuEyTnPj23w61yQddxkarfzEvULDh0QdZLTQ== + "@douyinfe/semi-animation@2.12.0": version "2.12.0" resolved "https://registry.npmjs.org/@douyinfe/semi-animation/-/semi-animation-2.12.0.tgz#51fe52d3911c2591a80a6e9fe96e6809c1511f13" @@ -1539,6 +1553,13 @@ dependencies: bezier-easing "^2.1.0" +"@douyinfe/semi-animation@2.49.2": + version "2.49.2" + resolved "https://registry.yarnpkg.com/@douyinfe/semi-animation/-/semi-animation-2.49.2.tgz#869f4f137c1f59027350a7718572d30bf300903c" + integrity sha512-XSqXhTbC+Wx9i2BL+3iDj6qGrW3gKSoN8AYLp67p+xl8rTHbj0zAWqGuvY4JyS4ME/8DgUoeg7EM5aBR5dRnOg== + dependencies: + bezier-easing "^2.1.0" + "@douyinfe/semi-foundation@2.33.1": version "2.33.1" resolved "https://registry.npmjs.org/@douyinfe/semi-foundation/-/semi-foundation-2.33.1.tgz#1dfe6233e35a4ed768cb580b0c9a677d1c34ffba" @@ -1553,6 +1574,20 @@ memoize-one "^5.2.1" scroll-into-view-if-needed "^2.2.24" +"@douyinfe/semi-foundation@2.49.2": + version "2.49.2" + resolved "https://registry.yarnpkg.com/@douyinfe/semi-foundation/-/semi-foundation-2.49.2.tgz#37be245456aebb57d98c8dd0a0ce7cc123762840" + integrity sha512-YPPiL9MsF38KXiaWgGFBd5/c8HqDcrUejFIQaKfAXLPas2BYBJxNZ9NH/IDqJ4N65PaAJ960sap0EjkiW7s3Jw== + dependencies: + "@douyinfe/semi-animation" "2.49.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/semi-icons@2.33.1", "@douyinfe/semi-icons@latest": version "2.33.1" resolved "https://registry.yarnpkg.com/@douyinfe/semi-icons/-/semi-icons-2.33.1.tgz#8e2871d9bc0ab7e12df74e3c71802d53d69b7425" @@ -1560,11 +1595,23 @@ dependencies: classnames "^2.2.6" +"@douyinfe/semi-icons@2.49.2", "@douyinfe/semi-icons@^2.0.0": + version "2.49.2" + resolved "https://registry.yarnpkg.com/@douyinfe/semi-icons/-/semi-icons-2.49.2.tgz#3067ee19f7e6a3438ab0ab3b1002239ddf7698b9" + integrity sha512-sV/yPfpjZekepalpXu3Dwiu8uwPblm7jTArqtAvv62nsMB21HP/+AQC6Kvk3+kAcNXEQs3YF0U1IcrlLJpov/g== + dependencies: + classnames "^2.2.6" + "@douyinfe/semi-illustrations@2.33.1": version "2.33.1" resolved "https://registry.npmjs.org/@douyinfe/semi-illustrations/-/semi-illustrations-2.33.1.tgz#530ab851f4dc32a52221c4067c778c800b9b55d7" integrity sha512-tTTUN8QwnQiF++sk4VBNzfkG87aYZ4iUeqk2ys8/ymVUmCZQ7y46ys020GO1MfPHRR47OMFPI82FVcH1WQtE3g== +"@douyinfe/semi-illustrations@2.49.2": + version "2.49.2" + resolved "https://registry.yarnpkg.com/@douyinfe/semi-illustrations/-/semi-illustrations-2.49.2.tgz#4c3a5e89053b252c9bb97f8c126b2699e42115f8" + integrity sha512-oBKTOY/KQkeYinIJZYdfW2B3T/cPhMw9d86ZsoMiMN2evo+4sSSMUXIDCl7EKsNrPZl3QDlCCP0QuVTNOIf1Gw== + "@douyinfe/semi-scss-compile@2.23.2": version "2.23.2" resolved "https://registry.npmjs.org/@douyinfe/semi-scss-compile/-/semi-scss-compile-2.23.2.tgz#30884bb194ee9ae1e81877985e5663c3297c1ced" @@ -1638,6 +1685,40 @@ dependencies: glob "^7.1.6" +"@douyinfe/semi-theme-default@2.49.2": + version "2.49.2" + resolved "https://registry.yarnpkg.com/@douyinfe/semi-theme-default/-/semi-theme-default-2.49.2.tgz#6311aa411d7492b295bc39ee2154c24f2fd87727" + integrity sha512-c/YqtKsT0iqNFOg2BiF87Im0MXxVugU/qbe8eVZNfXILhjnbOUYKxKfVRs+px3NXx2rpu4BiRzjtX0EGAG4ERw== + dependencies: + glob "^7.1.6" + +"@douyinfe/semi-ui@^2.0.0": + version "2.49.2" + resolved "https://registry.yarnpkg.com/@douyinfe/semi-ui/-/semi-ui-2.49.2.tgz#c7aeea65a68cc7776d38aec43b7cb40b789445c1" + integrity sha512-yRB7QXVW/Ymyl5gIL3p5FwiVUeWzK+fVCwmI+8NTN0dfZZ39Ckc/2b+QeO5AZS6JlZ6RcrtJqQfclPP4UiEtCQ== + dependencies: + "@dnd-kit/core" "^6.0.8" + "@dnd-kit/sortable" "^7.0.2" + "@dnd-kit/utilities" "^3.2.1" + "@douyinfe/semi-animation" "2.49.2" + "@douyinfe/semi-animation-react" "2.49.2" + "@douyinfe/semi-foundation" "2.49.2" + "@douyinfe/semi-icons" "2.49.2" + "@douyinfe/semi-illustrations" "2.49.2" + "@douyinfe/semi-theme-default" "2.49.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": version "2.33.1" resolved "https://registry.yarnpkg.com/@douyinfe/semi-ui/-/semi-ui-2.33.1.tgz#3234ca96eb3560b8299bc9750fbe59446522d9bb" @@ -11584,6 +11665,11 @@ eslint-plugin-react@^7.20.6, eslint-plugin-react@^7.24.0: semver "^6.3.0" string.prototype.matchall "^4.0.8" +eslint-plugin-semi-design@^2.33.0: + version "2.49.2" + resolved "https://registry.yarnpkg.com/eslint-plugin-semi-design/-/eslint-plugin-semi-design-2.49.2.tgz#1aad5231f012ccd28016dd45a426323deccc91ca" + integrity sha512-ogcoN5o2iJDpgb5WfIyOxBEzkRllBc43aSLZUK0POEGp9eSwDaAc7xKtvxQQ8SuvQgQmJJSIT++8zM/Q2WZ+ug== + eslint-rule-composer@^0.3.0: version "0.3.0" resolved "https://registry.npmjs.org/eslint-rule-composer/-/eslint-rule-composer-0.3.0.tgz#79320c927b0c5c0d3d3d2b76c8b4a488f25bbaf9" From 4f5ca71f4a992aaadf6c637d8a798ba18c0af740 Mon Sep 17 00:00:00 2001 From: semi-bot Date: Tue, 2 Jan 2024 07:34:13 +0000 Subject: [PATCH 20/35] v2.50.0 --- lerna.json | 2 +- packages/semi-animation-react/package.json | 6 +++--- packages/semi-animation-styled/package.json | 2 +- packages/semi-animation/package.json | 2 +- packages/semi-eslint-plugin/package.json | 2 +- packages/semi-foundation/package.json | 4 ++-- packages/semi-icons-lab/package.json | 2 +- packages/semi-icons/package.json | 2 +- packages/semi-illustrations/package.json | 2 +- packages/semi-next/package.json | 4 ++-- packages/semi-rspack/package.json | 2 +- packages/semi-scss-compile/package.json | 2 +- packages/semi-theme-default/package.json | 2 +- packages/semi-ui/package.json | 14 +++++++------- packages/semi-webpack/package.json | 2 +- 15 files changed, 25 insertions(+), 25 deletions(-) diff --git a/lerna.json b/lerna.json index e910cd52d0..74616de1f2 100644 --- a/lerna.json +++ b/lerna.json @@ -1,5 +1,5 @@ { "useWorkspaces": true, "npmClient": "yarn", - "version": "2.50.0-beta.0" + "version": "2.50.0" } \ No newline at end of file diff --git a/packages/semi-animation-react/package.json b/packages/semi-animation-react/package.json index 1edcea7977..882cf802ba 100644 --- a/packages/semi-animation-react/package.json +++ b/packages/semi-animation-react/package.json @@ -1,6 +1,6 @@ { "name": "@douyinfe/semi-animation-react", - "version": "2.50.0-beta.0", + "version": "2.50.0", "description": "motion library for semi-ui-react", "keywords": [ "motion", @@ -25,8 +25,8 @@ "prepublishOnly": "npm run build:lib" }, "dependencies": { - "@douyinfe/semi-animation": "2.50.0-beta.0", - "@douyinfe/semi-animation-styled": "2.50.0-beta.0", + "@douyinfe/semi-animation": "2.50.0", + "@douyinfe/semi-animation-styled": "2.50.0", "classnames": "^2.2.6" }, "devDependencies": { diff --git a/packages/semi-animation-styled/package.json b/packages/semi-animation-styled/package.json index f6d6974659..6e9642ea84 100644 --- a/packages/semi-animation-styled/package.json +++ b/packages/semi-animation-styled/package.json @@ -1,6 +1,6 @@ { "name": "@douyinfe/semi-animation-styled", - "version": "2.50.0-beta.0", + "version": "2.50.0", "description": "semi styled animation", "keywords": [ "semi", diff --git a/packages/semi-animation/package.json b/packages/semi-animation/package.json index abfac4dd3a..3b61c32ce6 100644 --- a/packages/semi-animation/package.json +++ b/packages/semi-animation/package.json @@ -1,6 +1,6 @@ { "name": "@douyinfe/semi-animation", - "version": "2.50.0-beta.0", + "version": "2.50.0", "description": "animation base library for semi-ui", "keywords": [ "animation", diff --git a/packages/semi-eslint-plugin/package.json b/packages/semi-eslint-plugin/package.json index bd4c324237..1a8f773e76 100644 --- a/packages/semi-eslint-plugin/package.json +++ b/packages/semi-eslint-plugin/package.json @@ -1,6 +1,6 @@ { "name": "eslint-plugin-semi-design", - "version": "2.50.0-beta.0", + "version": "2.50.0", "description": "semi ui eslint plugin", "keywords": [ "semi", diff --git a/packages/semi-foundation/package.json b/packages/semi-foundation/package.json index 13a84133d3..82f55f5122 100644 --- a/packages/semi-foundation/package.json +++ b/packages/semi-foundation/package.json @@ -1,13 +1,13 @@ { "name": "@douyinfe/semi-foundation", - "version": "2.50.0-beta.0", + "version": "2.50.0", "description": "", "scripts": { "build:lib": "node ./scripts/compileLib.js", "prepublishOnly": "npm run build:lib" }, "dependencies": { - "@douyinfe/semi-animation": "2.50.0-beta.0", + "@douyinfe/semi-animation": "2.50.0", "async-validator": "^3.5.0", "classnames": "^2.2.6", "date-fns": "^2.29.3", diff --git a/packages/semi-icons-lab/package.json b/packages/semi-icons-lab/package.json index 27453ece49..2d45b5f8b6 100644 --- a/packages/semi-icons-lab/package.json +++ b/packages/semi-icons-lab/package.json @@ -1,6 +1,6 @@ { "name": "@douyinfe/semi-icons-lab", - "version": "2.50.0-beta.0", + "version": "2.50.0", "description": "semi icons lab", "keywords": [ "semi", diff --git a/packages/semi-icons/package.json b/packages/semi-icons/package.json index c419542f83..d0fd3e6ca1 100644 --- a/packages/semi-icons/package.json +++ b/packages/semi-icons/package.json @@ -1,6 +1,6 @@ { "name": "@douyinfe/semi-icons", - "version": "2.50.0-beta.0", + "version": "2.50.0", "description": "semi icons", "keywords": [ "semi", diff --git a/packages/semi-illustrations/package.json b/packages/semi-illustrations/package.json index bbf238da57..2a7abffc42 100644 --- a/packages/semi-illustrations/package.json +++ b/packages/semi-illustrations/package.json @@ -1,6 +1,6 @@ { "name": "@douyinfe/semi-illustrations", - "version": "2.50.0-beta.0", + "version": "2.50.0", "description": "semi illustrations", "keywords": [ "semi", diff --git a/packages/semi-next/package.json b/packages/semi-next/package.json index 703892e5aa..9bcdd43809 100644 --- a/packages/semi-next/package.json +++ b/packages/semi-next/package.json @@ -1,6 +1,6 @@ { "name": "@douyinfe/semi-next", - "version": "2.50.0-beta.0", + "version": "2.50.0", "description": "Plugin that support Semi Design in Next.js", "author": "伍浩威 ", "homepage": "", @@ -23,7 +23,7 @@ "typescript": "^4" }, "dependencies": { - "@douyinfe/semi-webpack-plugin": "2.50.0-beta.0" + "@douyinfe/semi-webpack-plugin": "2.50.0" }, "gitHead": "eb34a4f25f002bb4cbcfa51f3df93bed868c831a" } diff --git a/packages/semi-rspack/package.json b/packages/semi-rspack/package.json index 8049d3d4a4..cf607200e6 100644 --- a/packages/semi-rspack/package.json +++ b/packages/semi-rspack/package.json @@ -1,6 +1,6 @@ { "name": "@douyinfe/semi-rspack-plugin", - "version": "2.50.0-beta.0", + "version": "2.50.0", "description": "", "homepage": "", "license": "MIT", diff --git a/packages/semi-scss-compile/package.json b/packages/semi-scss-compile/package.json index d32e436f81..e6f4fb5d7d 100644 --- a/packages/semi-scss-compile/package.json +++ b/packages/semi-scss-compile/package.json @@ -1,6 +1,6 @@ { "name": "@douyinfe/semi-scss-compile", - "version": "2.50.0-beta.0", + "version": "2.50.0", "description": "compile semi scss to css", "author": "daiqiang@bytedance.com", "license": "MIT", diff --git a/packages/semi-theme-default/package.json b/packages/semi-theme-default/package.json index a1d5025410..2ae92778f5 100644 --- a/packages/semi-theme-default/package.json +++ b/packages/semi-theme-default/package.json @@ -1,6 +1,6 @@ { "name": "@douyinfe/semi-theme-default", - "version": "2.50.0-beta.0", + "version": "2.50.0", "description": "semi-theme-default", "keywords": [ "semi-theme", diff --git a/packages/semi-ui/package.json b/packages/semi-ui/package.json index 7f22adcd73..2c58d4a514 100644 --- a/packages/semi-ui/package.json +++ b/packages/semi-ui/package.json @@ -1,6 +1,6 @@ { "name": "@douyinfe/semi-ui", - "version": "2.50.0-beta.0", + "version": "2.50.0", "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", "module": "lib/es/index.js", @@ -20,12 +20,12 @@ "@dnd-kit/core": "^6.0.8", "@dnd-kit/sortable": "^7.0.2", "@dnd-kit/utilities": "^3.2.1", - "@douyinfe/semi-animation": "2.50.0-beta.0", - "@douyinfe/semi-animation-react": "2.50.0-beta.0", - "@douyinfe/semi-foundation": "2.50.0-beta.0", - "@douyinfe/semi-icons": "2.50.0-beta.0", - "@douyinfe/semi-illustrations": "2.50.0-beta.0", - "@douyinfe/semi-theme-default": "2.50.0-beta.0", + "@douyinfe/semi-animation": "2.50.0", + "@douyinfe/semi-animation-react": "2.50.0", + "@douyinfe/semi-foundation": "2.50.0", + "@douyinfe/semi-icons": "2.50.0", + "@douyinfe/semi-illustrations": "2.50.0", + "@douyinfe/semi-theme-default": "2.50.0", "async-validator": "^3.5.0", "classnames": "^2.2.6", "copy-text-to-clipboard": "^2.1.1", diff --git a/packages/semi-webpack/package.json b/packages/semi-webpack/package.json index 2cd6e75385..dec4e39a87 100644 --- a/packages/semi-webpack/package.json +++ b/packages/semi-webpack/package.json @@ -1,6 +1,6 @@ { "name": "@douyinfe/semi-webpack-plugin", - "version": "2.50.0-beta.0", + "version": "2.50.0", "description": "", "author": "伍浩威 ", "homepage": "", From f42c07f20aa797bc2b83b84b50dd46e55c2a264e Mon Sep 17 00:00:00 2001 From: pointhalo <88709023+pointhalo@users.noreply.github.com> Date: Tue, 2 Jan 2024 16:16:50 +0800 Subject: [PATCH 21/35] docs: Update CONTRIBUTING.md --- CONTRIBUTING.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index a6c8c8de5f..02802fe06f 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -15,6 +15,7 @@ Semi 团队会维护两个常驻分支:`main` 和 `release`,根据我们的[ Semi Design 团队会认真对待每一个 Pull Request。我们会 review 并合并你的代码。也有可能对你的代码提出一些修改意见。 要提交一个 Pull Request,请遵循以下步骤: + - Node.js > v16 - Fork 项目并克隆下来 ```bash git clone https://github.com//semi-design.git @@ -26,7 +27,8 @@ git checkout -b ``` >安装环境前确保本地有 `lerna` 和 `yarn` 的依赖,如果没有则运行: ```bash -npm install --global lerna yarn +corepack enable +npm install --global lerna ``` - 完成项目依赖安装 ```bash From 4532ad00ddca18d3c13b638314051a743aa4dea5 Mon Sep 17 00:00:00 2001 From: pointhalo <88709023+pointhalo@users.noreply.github.com> Date: Wed, 3 Jan 2024 11:55:04 +0800 Subject: [PATCH 22/35] docs: update rspack readme doc --- packages/semi-rspack/README.md | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/packages/semi-rspack/README.md b/packages/semi-rspack/README.md index bb3eaaf0ca..a578f256d4 100644 --- a/packages/semi-rspack/README.md +++ b/packages/semi-rspack/README.md @@ -1,7 +1,7 @@ -> A repack plugin for Semi Design to custom theme、replace prefix and so on. +> A rspack plugin for Semi Design to custom theme、replace prefix and so on. ## Introduction -The plugin is designed for Semi Design, support webpack4 and webpack5, provides two major abilities: +The plugin is designed for Semi Design, support rspack, provides two major abilities: - Custom theme - Replace prefix of CSS selector @@ -29,7 +29,7 @@ Priority from low to high. In order to use the npm package, you need to customize the theme through [Semi Design System](https://semi.design/dsm/).After finishing the customization, Semi DSM will generate a npm package for you, and then you can use it like this. ``` js -// webpack.config.js +// rspack.config.js const SemiPlugin = require('@douyinfe/semi-rspack-plugin').default; module.exports = { @@ -53,9 +53,9 @@ You can check which tokens can be customized on the [Semi WebSite](https://semi. $font-size-small: 16px; ``` -- step2: config webpack +- step2: config rspack ``` js -// webpack.config.js +// rspack.config.js const path = require('path'); const SemiPlugin = require('@douyinfe/semi-rspack-plugin').default; @@ -71,7 +71,7 @@ module.exports = { #### Through parameters ``` js -// webpack.config.js +// rspack.config.js const SemiPlugin = require('@douyinfe/semi-rspack-plugin').default; module.exports = { @@ -90,7 +90,7 @@ module.exports = { The CSS selectors used by Semi Design is prefixed with semi by default(e.g, `.semi-button`).You can replace the prefix through this plugin. ``` js -// webpack.config.js +// rspack.config.js const SemiPlugin = require('@douyinfe/semi-rspack-plugin').default; module.exports = { @@ -148,13 +148,13 @@ In the compilation phase, whether to exclude css references.Used to solve the pr Type: `String` -The path of webpack loader that extract css. +The path of webpack/rspack loader that extract css. ##### options.extractCssOptions.loaderOptions Type: `Object` -The options of webpack loader that extract css. +The options of webpack/rspack loader that extract css. #### options.overrideStylesheetLoaders From 9582f781cedb0099de48333fa766c9955c56d394 Mon Sep 17 00:00:00 2001 From: YyumeiZhang <101110131+YyumeiZhang@users.noreply.github.com> Date: Wed, 3 Jan 2024 20:55:35 +0800 Subject: [PATCH 23/35] fix: Fix the problem of indentation error of tree when renderingFullLabel (#2007) --- packages/semi-foundation/tree/rtl.scss | 16 ++++++++++++++++ packages/semi-foundation/tree/tree.scss | 6 ++++++ packages/semi-ui/tree/treeNode.tsx | 1 + 3 files changed, 23 insertions(+) diff --git a/packages/semi-foundation/tree/rtl.scss b/packages/semi-foundation/tree/rtl.scss index 40650fd7fd..68b805beab 100644 --- a/packages/semi-foundation/tree/rtl.scss +++ b/packages/semi-foundation/tree/rtl.scss @@ -20,6 +20,8 @@ $module: #{$prefix}-tree; } .#{$module}-option { + padding-left: 0; + padding-right: $spacing-tree_option_level1-paddingLeft; &-label { & > .#{$prefix}-icon { margin-right: 0; @@ -39,10 +41,24 @@ $module: #{$prefix}-tree; } } + @for $i from 1 through 20 { + li.#{$module}-option.#{$module}-option-fullLabel-level-#{$i} { + padding-left: 0; + padding-right: $spacing-tree_option_level-paddingLeft * ($i - 1) + $spacing-tree_option_level1-paddingLeft; + } + } + .#{$module}-option-label-empty { padding-left: auto; padding-right: 0; } + + .#{$module}-option { + &-switcher { + margin-right: 0; + margin-left: $spacing-tree_icon-marginRight; + } + } } .#{$module}-option-list-block { diff --git a/packages/semi-foundation/tree/tree.scss b/packages/semi-foundation/tree/tree.scss index e945bdf314..0080ee606b 100644 --- a/packages/semi-foundation/tree/tree.scss +++ b/packages/semi-foundation/tree/tree.scss @@ -329,6 +329,12 @@ $module: #{$prefix}-tree; } } + @for $i from 1 through 20 { + li.#{$module}-option.#{$module}-option-fullLabel-level-#{$i} { + padding-left: $spacing-tree_option_level-paddingLeft * ($i - 1) + $spacing-tree_option_level1-paddingLeft; + } + } + .#{$module}-option-empty { &:hover, &:active { diff --git a/packages/semi-ui/tree/treeNode.tsx b/packages/semi-ui/tree/treeNode.tsx index 44d5be8eb8..91c144eaa6 100644 --- a/packages/semi-ui/tree/treeNode.tsx +++ b/packages/semi-ui/tree/treeNode.tsx @@ -355,6 +355,7 @@ export default class TreeNode extends PureComponent Date: Thu, 4 Jan 2024 11:34:29 +0800 Subject: [PATCH 24/35] style: Fixed incorrect font-weight of the active item in breadcrumb due to changes in typography style --- packages/semi-foundation/breadcrumb/breadcrumb.scss | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/packages/semi-foundation/breadcrumb/breadcrumb.scss b/packages/semi-foundation/breadcrumb/breadcrumb.scss index cd0226e011..77b150174c 100644 --- a/packages/semi-foundation/breadcrumb/breadcrumb.scss +++ b/packages/semi-foundation/breadcrumb/breadcrumb.scss @@ -69,6 +69,10 @@ $module: #{$prefix}-breadcrumb; color: $color-breadcrumb_active-text-active; cursor: default; } + + .#{$prefix}-typography { + font-weight: $font-breadcrumb_active-fontWeight; + } } &-item-icon { From 6d994c13dd4694f975e0962f212535548dc0dd12 Mon Sep 17 00:00:00 2001 From: "zhangyumei.0319" Date: Thu, 4 Jan 2024 15:06:11 +0800 Subject: [PATCH 25/35] chore: update yarn.lock file --- yarn.lock | 86 ------------------------------------------------------- 1 file changed, 86 deletions(-) diff --git a/yarn.lock b/yarn.lock index 7ed389509e..6602385171 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1519,25 +1519,11 @@ "@douyinfe/semi-animation-styled" "2.23.2" classnames "^2.2.6" -"@douyinfe/semi-animation-react@2.49.2": - version "2.49.2" - resolved "https://registry.yarnpkg.com/@douyinfe/semi-animation-react/-/semi-animation-react-2.49.2.tgz#3f69c3faee29666d51775529abac7c8a541cbcc8" - integrity sha512-aACyOnW2raTpeeXfDMohHDf0r0k4LgXSpKNUIexKslR2xBoByt1H1yzSyyYBpVPMW3l4ywFsuzcUX47W4BKHlA== - dependencies: - "@douyinfe/semi-animation" "2.49.2" - "@douyinfe/semi-animation-styled" "2.49.2" - classnames "^2.2.6" - "@douyinfe/semi-animation-styled@2.23.2": version "2.23.2" 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== -"@douyinfe/semi-animation-styled@2.49.2": - version "2.49.2" - resolved "https://registry.yarnpkg.com/@douyinfe/semi-animation-styled/-/semi-animation-styled-2.49.2.tgz#c7d4b7f5bb39ae5b2961ba91635c53bb8289dd93" - integrity sha512-+4YSNo2juDSkS5NBIl6Cy6oKzpCUCXg2Q4PYL/Azn3VYiGhJBtHuEyTnPj23w61yQddxkarfzEvULDh0QdZLTQ== - "@douyinfe/semi-animation@2.12.0": version "2.12.0" resolved "https://registry.npmjs.org/@douyinfe/semi-animation/-/semi-animation-2.12.0.tgz#51fe52d3911c2591a80a6e9fe96e6809c1511f13" @@ -1553,13 +1539,6 @@ dependencies: bezier-easing "^2.1.0" -"@douyinfe/semi-animation@2.49.2": - version "2.49.2" - resolved "https://registry.yarnpkg.com/@douyinfe/semi-animation/-/semi-animation-2.49.2.tgz#869f4f137c1f59027350a7718572d30bf300903c" - integrity sha512-XSqXhTbC+Wx9i2BL+3iDj6qGrW3gKSoN8AYLp67p+xl8rTHbj0zAWqGuvY4JyS4ME/8DgUoeg7EM5aBR5dRnOg== - dependencies: - bezier-easing "^2.1.0" - "@douyinfe/semi-foundation@2.33.1": version "2.33.1" resolved "https://registry.npmjs.org/@douyinfe/semi-foundation/-/semi-foundation-2.33.1.tgz#1dfe6233e35a4ed768cb580b0c9a677d1c34ffba" @@ -1574,20 +1553,6 @@ memoize-one "^5.2.1" scroll-into-view-if-needed "^2.2.24" -"@douyinfe/semi-foundation@2.49.2": - version "2.49.2" - resolved "https://registry.yarnpkg.com/@douyinfe/semi-foundation/-/semi-foundation-2.49.2.tgz#37be245456aebb57d98c8dd0a0ce7cc123762840" - integrity sha512-YPPiL9MsF38KXiaWgGFBd5/c8HqDcrUejFIQaKfAXLPas2BYBJxNZ9NH/IDqJ4N65PaAJ960sap0EjkiW7s3Jw== - dependencies: - "@douyinfe/semi-animation" "2.49.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/semi-icons@2.33.1", "@douyinfe/semi-icons@latest": version "2.33.1" resolved "https://registry.yarnpkg.com/@douyinfe/semi-icons/-/semi-icons-2.33.1.tgz#8e2871d9bc0ab7e12df74e3c71802d53d69b7425" @@ -1595,23 +1560,11 @@ dependencies: classnames "^2.2.6" -"@douyinfe/semi-icons@2.49.2", "@douyinfe/semi-icons@^2.0.0": - version "2.49.2" - resolved "https://registry.yarnpkg.com/@douyinfe/semi-icons/-/semi-icons-2.49.2.tgz#3067ee19f7e6a3438ab0ab3b1002239ddf7698b9" - integrity sha512-sV/yPfpjZekepalpXu3Dwiu8uwPblm7jTArqtAvv62nsMB21HP/+AQC6Kvk3+kAcNXEQs3YF0U1IcrlLJpov/g== - dependencies: - classnames "^2.2.6" - "@douyinfe/semi-illustrations@2.33.1": version "2.33.1" resolved "https://registry.npmjs.org/@douyinfe/semi-illustrations/-/semi-illustrations-2.33.1.tgz#530ab851f4dc32a52221c4067c778c800b9b55d7" integrity sha512-tTTUN8QwnQiF++sk4VBNzfkG87aYZ4iUeqk2ys8/ymVUmCZQ7y46ys020GO1MfPHRR47OMFPI82FVcH1WQtE3g== -"@douyinfe/semi-illustrations@2.49.2": - version "2.49.2" - resolved "https://registry.yarnpkg.com/@douyinfe/semi-illustrations/-/semi-illustrations-2.49.2.tgz#4c3a5e89053b252c9bb97f8c126b2699e42115f8" - integrity sha512-oBKTOY/KQkeYinIJZYdfW2B3T/cPhMw9d86ZsoMiMN2evo+4sSSMUXIDCl7EKsNrPZl3QDlCCP0QuVTNOIf1Gw== - "@douyinfe/semi-scss-compile@2.23.2": version "2.23.2" resolved "https://registry.npmjs.org/@douyinfe/semi-scss-compile/-/semi-scss-compile-2.23.2.tgz#30884bb194ee9ae1e81877985e5663c3297c1ced" @@ -1685,40 +1638,6 @@ dependencies: glob "^7.1.6" -"@douyinfe/semi-theme-default@2.49.2": - version "2.49.2" - resolved "https://registry.yarnpkg.com/@douyinfe/semi-theme-default/-/semi-theme-default-2.49.2.tgz#6311aa411d7492b295bc39ee2154c24f2fd87727" - integrity sha512-c/YqtKsT0iqNFOg2BiF87Im0MXxVugU/qbe8eVZNfXILhjnbOUYKxKfVRs+px3NXx2rpu4BiRzjtX0EGAG4ERw== - dependencies: - glob "^7.1.6" - -"@douyinfe/semi-ui@^2.0.0": - version "2.49.2" - resolved "https://registry.yarnpkg.com/@douyinfe/semi-ui/-/semi-ui-2.49.2.tgz#c7aeea65a68cc7776d38aec43b7cb40b789445c1" - integrity sha512-yRB7QXVW/Ymyl5gIL3p5FwiVUeWzK+fVCwmI+8NTN0dfZZ39Ckc/2b+QeO5AZS6JlZ6RcrtJqQfclPP4UiEtCQ== - dependencies: - "@dnd-kit/core" "^6.0.8" - "@dnd-kit/sortable" "^7.0.2" - "@dnd-kit/utilities" "^3.2.1" - "@douyinfe/semi-animation" "2.49.2" - "@douyinfe/semi-animation-react" "2.49.2" - "@douyinfe/semi-foundation" "2.49.2" - "@douyinfe/semi-icons" "2.49.2" - "@douyinfe/semi-illustrations" "2.49.2" - "@douyinfe/semi-theme-default" "2.49.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": version "2.33.1" resolved "https://registry.yarnpkg.com/@douyinfe/semi-ui/-/semi-ui-2.33.1.tgz#3234ca96eb3560b8299bc9750fbe59446522d9bb" @@ -11665,11 +11584,6 @@ eslint-plugin-react@^7.20.6, eslint-plugin-react@^7.24.0: semver "^6.3.0" string.prototype.matchall "^4.0.8" -eslint-plugin-semi-design@^2.33.0: - version "2.49.2" - resolved "https://registry.yarnpkg.com/eslint-plugin-semi-design/-/eslint-plugin-semi-design-2.49.2.tgz#1aad5231f012ccd28016dd45a426323deccc91ca" - integrity sha512-ogcoN5o2iJDpgb5WfIyOxBEzkRllBc43aSLZUK0POEGp9eSwDaAc7xKtvxQQ8SuvQgQmJJSIT++8zM/Q2WZ+ug== - eslint-rule-composer@^0.3.0: version "0.3.0" resolved "https://registry.npmjs.org/eslint-rule-composer/-/eslint-rule-composer-0.3.0.tgz#79320c927b0c5c0d3d3d2b76c8b4a488f25bbaf9" From 334ee176b85961c55ce83c6cf5c509a89be7c0bc Mon Sep 17 00:00:00 2001 From: "zhangyumei.0319" Date: Thu, 4 Jan 2024 15:13:38 +0800 Subject: [PATCH 26/35] docs(changelog): add v2.50.1 log --- content/start/changelog/index-en-US.md | 9 ++++++++- content/start/changelog/index.md | 9 ++++++++- 2 files changed, 16 insertions(+), 2 deletions(-) diff --git a/content/start/changelog/index-en-US.md b/content/start/changelog/index-en-US.md index f937975cf3..db94e05af7 100644 --- a/content/start/changelog/index-en-US.md +++ b/content/start/changelog/index-en-US.md @@ -16,9 +16,16 @@ Version:Major.Minor.Patch (follow the **Semver** specification) --- +#### 🎉 2.50.1 (2024-01-04) +- 【Fix】 + - Fix the indentation error problem when renderingFullLabel after Tree supports showLine(scope of impact: v2.50.0)[#2007](https://github.com/DouyinFE/semi-design/pull/2007) + - After Tree supports showLine, the connection line and option text partially overlap in rtl mode (scope of impact: v2.50.0) [#2007](https://github.com/DouyinFE/semi-design/pull/2007) +- 【Style】 + - Fix the font-weight error of the active item in BreadCrumb(scope of impact: v2.47-2.50) [#2008](https://github.com/DouyinFE/semi-design/pull/2008) + #### 🎉 2.50.0 (2024-01-02) - 【Fix】 - - When images in ImagePreview is loaded for the first time, Zoom changes do not need to be exposed through onZoomIn/onZoomOut + - When opening a preview in ImagePreview and switching preview images, Zoom changes do not need to be exposed through onZoomIn/onZoomOut callbacks [#2000 ](https://github.com/DouyinFE/semi-design/issues/2000) - Fixed the issue of unexpected onRotateLeft callback being triggered when switching images during image preview diff --git a/content/start/changelog/index.md b/content/start/changelog/index.md index affcd4c82d..a51fd1ddc8 100644 --- a/content/start/changelog/index.md +++ b/content/start/changelog/index.md @@ -13,9 +13,16 @@ Semi 版本号遵循 **Semver** 规范(主版本号-次版本号-修订版本 - 修订版本号(patch):仅会进行 bugfix,发布时间不限 - 不同版本间的详细关系,可查阅 [FAQ](/zh-CN/start/faq) +#### 🎉 2.50.1 (2024-01-04) +- 【Fix】 + - 修复 Tree 在支持 showLine 后, renderFullLabel 时缩进错误问题(影响范围:v2.50.0)[#2007](https://github.com/DouyinFE/semi-design/pull/2007) + - 修复 Tree 在支持 showLine 后, rtl 模式下连接线和选项文字部分重合问题(影响范围:v2.50.0)[#2007](https://github.com/DouyinFE/semi-design/pull/2007) +- 【Style】 + - 修复 BreadCrumb 中 active 项 font-weight 错误问题 (影响范围 v2.47-2.50)[#2008](https://github.com/DouyinFE/semi-design/pull/2008) + #### 🎉 2.50.0 (2024-01-02) - 【Fix】 - - ImagePreview 中图片初次加载,zoom 改变不需要通过 onZoomIn/onZoomOut 回调透出 [#2000 ](https://github.com/DouyinFE/semi-design/issues/2000) + - ImagePreview 中打开预览,切换预览图片时,zoom 改变不需要通过 onZoomIn/onZoomOut 回调透出 [#2000 ](https://github.com/DouyinFE/semi-design/issues/2000) - 修复在图片预览时切换图片触发意外的 onRotateLeft 回调 #### 🎉 2.50.0-beta.0 (2023-12-26) From aa8821a91c53fd5e531ce0c1e775310059c0a9f6 Mon Sep 17 00:00:00 2001 From: semi-bot Date: Thu, 4 Jan 2024 07:17:31 +0000 Subject: [PATCH 27/35] chore: publish 2.50.1 --- sitemap.xml | 304 ++++++++++++++++++++++++++-------------------------- 1 file changed, 152 insertions(+), 152 deletions(-) diff --git a/sitemap.xml b/sitemap.xml index a0d5d0bab3..34070c0a15 100644 --- a/sitemap.xml +++ b/sitemap.xml @@ -2,22 +2,22 @@ https://juejin.cn/post/7267418854124699702 - 2024-01-02T07:33:56.941Z + 2024-01-04T07:17:16.345Z weekly https://medium.com/front-end-weekly/how-we-test-semi-design-component-libraries-64b854f63b65 - 2024-01-02T07:33:54.967Z + 2024-01-04T07:17:14.755Z weekly https://mp.weixin.qq.com/s/noHoWRuA25PgqFNcurhIUA - 2024-01-02T07:33:58.095Z + 2024-01-04T07:17:17.868Z weekly https://mp.weixin.qq.com/s/O3js-SZDNPEOjGxh-aAkbw - 2024-01-02T07:33:58.277Z + 2024-01-04T07:17:17.667Z weekly @@ -784,738 +784,738 @@ https://semi.design/dsm/landing - 2024-01-02T07:34:05.466Z + 2024-01-04T07:17:22.582Z weekly - 1.0.0.157 + 1.0.0.158 https://semi.design/en-US/basic/divider - 2024-01-02T07:29:52.000Z + 2024-01-04T07:13:38.000Z weekly https://semi.design/en-US/basic/grid - 2024-01-02T07:29:52.000Z + 2024-01-04T07:13:38.000Z weekly https://semi.design/en-US/basic/icon - 2024-01-02T07:29:52.000Z + 2024-01-04T07:13:38.000Z weekly https://semi.design/en-US/basic/layout - 2024-01-02T07:29:52.000Z + 2024-01-04T07:13:38.000Z weekly https://semi.design/en-US/basic/space - 2024-01-02T07:29:52.000Z + 2024-01-04T07:13:38.000Z weekly https://semi.design/en-US/basic/tokens - 2024-01-02T07:29:52.000Z + 2024-01-04T07:13:38.000Z weekly https://semi.design/en-US/basic/typography - 2024-01-02T07:29:52.000Z + 2024-01-04T07:13:38.000Z weekly https://semi.design/en-US/feedback/banner - 2024-01-02T07:29:52.000Z + 2024-01-04T07:13:38.000Z weekly https://semi.design/en-US/feedback/notification - 2024-01-02T07:29:52.000Z + 2024-01-04T07:13:38.000Z weekly https://semi.design/en-US/feedback/popconfirm - 2024-01-02T07:29:52.000Z + 2024-01-04T07:13:38.000Z weekly https://semi.design/en-US/feedback/progress - 2024-01-02T07:29:52.000Z + 2024-01-04T07:13:38.000Z weekly https://semi.design/en-US/feedback/skeleton - 2024-01-02T07:29:52.000Z + 2024-01-04T07:13:38.000Z weekly https://semi.design/en-US/feedback/spin - 2024-01-02T07:29:52.000Z + 2024-01-04T07:13:38.000Z weekly https://semi.design/en-US/feedback/toast - 2024-01-02T07:29:52.000Z + 2024-01-04T07:13:38.000Z weekly https://semi.design/en-US/input/autocomplete - 2024-01-02T07:29:52.000Z + 2024-01-04T07:13:38.000Z weekly https://semi.design/en-US/input/button - 2024-01-02T07:29:52.000Z + 2024-01-04T07:13:38.000Z weekly https://semi.design/en-US/input/cascader - 2024-01-02T07:29:52.000Z + 2024-01-04T07:13:38.000Z weekly https://semi.design/en-US/input/checkbox - 2024-01-02T07:29:52.000Z + 2024-01-04T07:13:38.000Z weekly https://semi.design/en-US/input/datepicker - 2024-01-02T07:29:52.000Z + 2024-01-04T07:13:38.000Z weekly https://semi.design/en-US/input/form - 2024-01-02T07:29:52.000Z + 2024-01-04T07:13:38.000Z weekly https://semi.design/en-US/input/input - 2024-01-02T07:29:52.000Z + 2024-01-04T07:13:38.000Z weekly https://semi.design/en-US/input/inputnumber - 2024-01-02T07:29:52.000Z + 2024-01-04T07:13:38.000Z weekly https://semi.design/en-US/input/radio - 2024-01-02T07:29:52.000Z + 2024-01-04T07:13:38.000Z weekly https://semi.design/en-US/input/rating - 2024-01-02T07:29:52.000Z + 2024-01-04T07:13:38.000Z weekly https://semi.design/en-US/input/select - 2024-01-02T07:29:52.000Z + 2024-01-04T07:13:38.000Z weekly https://semi.design/en-US/input/slider - 2024-01-02T07:29:52.000Z + 2024-01-04T07:13:38.000Z weekly https://semi.design/en-US/input/switch - 2024-01-02T07:29:52.000Z + 2024-01-04T07:13:38.000Z weekly https://semi.design/en-US/input/taginput - 2024-01-02T07:29:52.000Z + 2024-01-04T07:13:38.000Z weekly https://semi.design/en-US/input/timepicker - 2024-01-02T07:29:52.000Z + 2024-01-04T07:13:38.000Z weekly https://semi.design/en-US/input/transfer - 2024-01-02T07:29:52.000Z + 2024-01-04T07:13:38.000Z weekly https://semi.design/en-US/input/treeselect - 2024-01-02T07:29:52.000Z + 2024-01-04T07:13:38.000Z weekly https://semi.design/en-US/input/upload - 2024-01-02T07:29:52.000Z + 2024-01-04T07:13:38.000Z weekly https://semi.design/en-US/navigation/anchor - 2024-01-02T07:29:52.000Z + 2024-01-04T07:13:38.000Z weekly https://semi.design/en-US/navigation/backtop - 2024-01-02T07:29:52.000Z + 2024-01-04T07:13:38.000Z weekly https://semi.design/en-US/navigation/breadcrumb - 2024-01-02T07:29:52.000Z + 2024-01-04T07:13:38.000Z weekly https://semi.design/en-US/navigation/navigation - 2024-01-02T07:29:52.000Z + 2024-01-04T07:13:38.000Z weekly https://semi.design/en-US/navigation/pagination - 2024-01-02T07:29:52.000Z + 2024-01-04T07:13:38.000Z weekly https://semi.design/en-US/navigation/steps - 2024-01-02T07:29:52.000Z + 2024-01-04T07:13:38.000Z weekly https://semi.design/en-US/navigation/tabs - 2024-01-02T07:29:52.000Z + 2024-01-04T07:13:38.000Z weekly https://semi.design/en-US/navigation/tree - 2024-01-02T07:29:52.000Z + 2024-01-04T07:13:38.000Z weekly https://semi.design/en-US/other/configprovider - 2024-01-02T07:29:52.000Z + 2024-01-04T07:13:38.000Z weekly https://semi.design/en-US/other/locale - 2024-01-02T07:29:52.000Z + 2024-01-04T07:13:38.000Z weekly https://semi.design/en-US/show/avatar - 2024-01-02T07:29:52.000Z + 2024-01-04T07:13:38.000Z weekly https://semi.design/en-US/show/badge - 2024-01-02T07:29:52.000Z + 2024-01-04T07:13:38.000Z weekly https://semi.design/en-US/show/calendar - 2024-01-02T07:29:52.000Z + 2024-01-04T07:13:38.000Z weekly https://semi.design/en-US/show/card - 2024-01-02T07:29:52.000Z + 2024-01-04T07:13:38.000Z weekly https://semi.design/en-US/show/carousel - 2024-01-02T07:29:52.000Z + 2024-01-04T07:13:38.000Z weekly https://semi.design/en-US/show/collapse - 2024-01-02T07:29:52.000Z + 2024-01-04T07:13:38.000Z weekly https://semi.design/en-US/show/collapsible - 2024-01-02T07:29:52.000Z + 2024-01-04T07:13:38.000Z weekly https://semi.design/en-US/show/descriptions - 2024-01-02T07:29:52.000Z + 2024-01-04T07:13:38.000Z weekly https://semi.design/en-US/show/dropdown - 2024-01-02T07:29:52.000Z + 2024-01-04T07:13:38.000Z weekly https://semi.design/en-US/show/empty - 2024-01-02T07:29:52.000Z + 2024-01-04T07:13:38.000Z weekly https://semi.design/en-US/show/highlight - 2024-01-02T07:29:52.000Z + 2024-01-04T07:13:38.000Z weekly https://semi.design/en-US/show/image - 2024-01-02T07:29:52.000Z + 2024-01-04T07:13:38.000Z weekly https://semi.design/en-US/show/list - 2024-01-02T07:29:52.000Z + 2024-01-04T07:13:38.000Z weekly https://semi.design/en-US/show/modal - 2024-01-02T07:29:52.000Z + 2024-01-04T07:13:38.000Z weekly https://semi.design/en-US/show/overflowlist - 2024-01-02T07:29:52.000Z + 2024-01-04T07:13:38.000Z weekly https://semi.design/en-US/show/popover - 2024-01-02T07:29:52.000Z + 2024-01-04T07:13:38.000Z weekly https://semi.design/en-US/show/scrolllist - 2024-01-02T07:29:52.000Z + 2024-01-04T07:13:38.000Z weekly https://semi.design/en-US/show/sidesheet - 2024-01-02T07:29:52.000Z + 2024-01-04T07:13:38.000Z weekly https://semi.design/en-US/show/table - 2024-01-02T07:29:52.000Z + 2024-01-04T07:13:38.000Z weekly https://semi.design/en-US/show/tag - 2024-01-02T07:29:52.000Z + 2024-01-04T07:13:38.000Z weekly https://semi.design/en-US/show/timeline - 2024-01-02T07:29:52.000Z + 2024-01-04T07:13:38.000Z weekly https://semi.design/en-US/show/tooltip - 2024-01-02T07:29:52.000Z + 2024-01-04T07:13:38.000Z weekly https://semi.design/en-US/start/accessibility - 2024-01-02T07:29:52.000Z + 2024-01-04T07:13:38.000Z weekly https://semi.design/en-US/start/changelog - 2024-01-02T07:29:52.000Z + 2024-01-04T07:13:38.000Z weekly https://semi.design/en-US/start/customize-theme - 2024-01-02T07:29:52.000Z + 2024-01-04T07:13:38.000Z weekly https://semi.design/en-US/start/dark-mode - 2024-01-02T07:29:52.000Z + 2024-01-04T07:13:38.000Z weekly https://semi.design/en-US/start/faq - 2024-01-02T07:29:52.000Z + 2024-01-04T07:13:38.000Z weekly https://semi.design/en-US/start/getting-started - 2024-01-02T07:29:52.000Z + 2024-01-04T07:13:38.000Z weekly https://semi.design/en-US/start/introduction - 2024-01-02T07:29:52.000Z + 2024-01-04T07:13:38.000Z weekly https://semi.design/en-US/start/overview - 2024-01-02T07:29:52.000Z + 2024-01-04T07:13:38.000Z weekly https://semi.design/en-US/start/update-to-v2 - 2024-01-02T07:29:52.000Z + 2024-01-04T07:13:38.000Z weekly https://semi.design/zh-CN/basic/divider - 2024-01-02T07:29:52.000Z + 2024-01-04T07:13:38.000Z weekly https://semi.design/zh-CN/basic/grid - 2024-01-02T07:29:52.000Z + 2024-01-04T07:13:38.000Z weekly https://semi.design/zh-CN/basic/icon - 2024-01-02T07:29:52.000Z + 2024-01-04T07:13:38.000Z weekly https://semi.design/zh-CN/basic/layout - 2024-01-02T07:29:52.000Z + 2024-01-04T07:13:38.000Z weekly https://semi.design/zh-CN/basic/space - 2024-01-02T07:29:52.000Z + 2024-01-04T07:13:38.000Z weekly https://semi.design/zh-CN/basic/tokens - 2024-01-02T07:29:52.000Z + 2024-01-04T07:13:38.000Z weekly https://semi.design/zh-CN/basic/typography - 2024-01-02T07:29:52.000Z + 2024-01-04T07:13:38.000Z weekly https://semi.design/zh-CN/feedback/banner - 2024-01-02T07:29:52.000Z + 2024-01-04T07:13:38.000Z weekly https://semi.design/zh-CN/feedback/notification - 2024-01-02T07:29:52.000Z + 2024-01-04T07:13:38.000Z weekly https://semi.design/zh-CN/feedback/popconfirm - 2024-01-02T07:29:52.000Z + 2024-01-04T07:13:38.000Z weekly https://semi.design/zh-CN/feedback/progress - 2024-01-02T07:29:52.000Z + 2024-01-04T07:13:38.000Z weekly https://semi.design/zh-CN/feedback/skeleton - 2024-01-02T07:29:52.000Z + 2024-01-04T07:13:38.000Z weekly https://semi.design/zh-CN/feedback/spin - 2024-01-02T07:29:52.000Z + 2024-01-04T07:13:38.000Z weekly https://semi.design/zh-CN/feedback/toast - 2024-01-02T07:29:52.000Z + 2024-01-04T07:13:38.000Z weekly https://semi.design/zh-CN/input/autocomplete - 2024-01-02T07:29:52.000Z + 2024-01-04T07:13:38.000Z weekly https://semi.design/zh-CN/input/button - 2024-01-02T07:29:52.000Z + 2024-01-04T07:13:38.000Z weekly https://semi.design/zh-CN/input/cascader - 2024-01-02T07:29:52.000Z + 2024-01-04T07:13:38.000Z weekly https://semi.design/zh-CN/input/checkbox - 2024-01-02T07:29:52.000Z + 2024-01-04T07:13:38.000Z weekly https://semi.design/zh-CN/input/datepicker - 2024-01-02T07:29:52.000Z + 2024-01-04T07:13:38.000Z weekly https://semi.design/zh-CN/input/form - 2024-01-02T07:29:52.000Z + 2024-01-04T07:13:38.000Z weekly https://semi.design/zh-CN/input/input - 2024-01-02T07:29:52.000Z + 2024-01-04T07:13:38.000Z weekly https://semi.design/zh-CN/input/inputnumber - 2024-01-02T07:29:52.000Z + 2024-01-04T07:13:38.000Z weekly https://semi.design/zh-CN/input/radio - 2024-01-02T07:29:52.000Z + 2024-01-04T07:13:38.000Z weekly https://semi.design/zh-CN/input/rating - 2024-01-02T07:29:52.000Z + 2024-01-04T07:13:38.000Z weekly https://semi.design/zh-CN/input/select - 2024-01-02T07:29:52.000Z + 2024-01-04T07:13:38.000Z weekly https://semi.design/zh-CN/input/slider - 2024-01-02T07:29:52.000Z + 2024-01-04T07:13:38.000Z weekly https://semi.design/zh-CN/input/switch - 2024-01-02T07:29:52.000Z + 2024-01-04T07:13:38.000Z weekly https://semi.design/zh-CN/input/taginput - 2024-01-02T07:29:52.000Z + 2024-01-04T07:13:38.000Z weekly https://semi.design/zh-CN/input/timepicker - 2024-01-02T07:29:52.000Z + 2024-01-04T07:13:38.000Z weekly https://semi.design/zh-CN/input/transfer - 2024-01-02T07:29:52.000Z + 2024-01-04T07:13:38.000Z weekly https://semi.design/zh-CN/input/treeselect - 2024-01-02T07:29:52.000Z + 2024-01-04T07:13:38.000Z weekly https://semi.design/zh-CN/input/upload - 2024-01-02T07:29:52.000Z + 2024-01-04T07:13:38.000Z weekly https://semi.design/zh-CN/navigation/anchor - 2024-01-02T07:29:52.000Z + 2024-01-04T07:13:38.000Z weekly https://semi.design/zh-CN/navigation/backtop - 2024-01-02T07:29:52.000Z + 2024-01-04T07:13:38.000Z weekly https://semi.design/zh-CN/navigation/breadcrumb - 2024-01-02T07:29:52.000Z + 2024-01-04T07:13:38.000Z weekly https://semi.design/zh-CN/navigation/navigation - 2024-01-02T07:29:52.000Z + 2024-01-04T07:13:38.000Z weekly https://semi.design/zh-CN/navigation/pagination - 2024-01-02T07:29:52.000Z + 2024-01-04T07:13:38.000Z weekly https://semi.design/zh-CN/navigation/steps - 2024-01-02T07:29:52.000Z + 2024-01-04T07:13:38.000Z weekly https://semi.design/zh-CN/navigation/tabs - 2024-01-02T07:29:52.000Z + 2024-01-04T07:13:38.000Z weekly https://semi.design/zh-CN/navigation/tree - 2024-01-02T07:29:52.000Z + 2024-01-04T07:13:38.000Z weekly https://semi.design/zh-CN/other/configprovider - 2024-01-02T07:29:52.000Z + 2024-01-04T07:13:38.000Z weekly https://semi.design/zh-CN/other/locale - 2024-01-02T07:29:52.000Z + 2024-01-04T07:13:38.000Z weekly https://semi.design/zh-CN/show/avatar - 2024-01-02T07:29:52.000Z + 2024-01-04T07:13:38.000Z weekly https://semi.design/zh-CN/show/badge - 2024-01-02T07:29:52.000Z + 2024-01-04T07:13:38.000Z weekly https://semi.design/zh-CN/show/calendar - 2024-01-02T07:29:52.000Z + 2024-01-04T07:13:38.000Z weekly https://semi.design/zh-CN/show/card - 2024-01-02T07:29:52.000Z + 2024-01-04T07:13:38.000Z weekly https://semi.design/zh-CN/show/carousel - 2024-01-02T07:29:52.000Z + 2024-01-04T07:13:38.000Z weekly https://semi.design/zh-CN/show/collapse - 2024-01-02T07:29:52.000Z + 2024-01-04T07:13:38.000Z weekly https://semi.design/zh-CN/show/collapsible - 2024-01-02T07:29:52.000Z + 2024-01-04T07:13:38.000Z weekly https://semi.design/zh-CN/show/descriptions - 2024-01-02T07:29:52.000Z + 2024-01-04T07:13:38.000Z weekly https://semi.design/zh-CN/show/dropdown - 2024-01-02T07:29:52.000Z + 2024-01-04T07:13:38.000Z weekly https://semi.design/zh-CN/show/empty - 2024-01-02T07:29:52.000Z + 2024-01-04T07:13:38.000Z weekly https://semi.design/zh-CN/show/highlight - 2024-01-02T07:29:52.000Z + 2024-01-04T07:13:38.000Z weekly https://semi.design/zh-CN/show/image - 2024-01-02T07:29:52.000Z + 2024-01-04T07:13:38.000Z weekly https://semi.design/zh-CN/show/list - 2024-01-02T07:29:52.000Z + 2024-01-04T07:13:38.000Z weekly https://semi.design/zh-CN/show/modal - 2024-01-02T07:29:52.000Z + 2024-01-04T07:13:38.000Z weekly https://semi.design/zh-CN/show/overflowlist - 2024-01-02T07:29:52.000Z + 2024-01-04T07:13:38.000Z weekly https://semi.design/zh-CN/show/popover - 2024-01-02T07:29:52.000Z + 2024-01-04T07:13:38.000Z weekly https://semi.design/zh-CN/show/scrolllist - 2024-01-02T07:29:52.000Z + 2024-01-04T07:13:38.000Z weekly https://semi.design/zh-CN/show/sidesheet - 2024-01-02T07:29:52.000Z + 2024-01-04T07:13:38.000Z weekly https://semi.design/zh-CN/show/table - 2024-01-02T07:29:52.000Z + 2024-01-04T07:13:38.000Z weekly https://semi.design/zh-CN/show/tag - 2024-01-02T07:29:52.000Z + 2024-01-04T07:13:38.000Z weekly https://semi.design/zh-CN/show/timeline - 2024-01-02T07:29:52.000Z + 2024-01-04T07:13:38.000Z weekly https://semi.design/zh-CN/show/tooltip - 2024-01-02T07:29:52.000Z + 2024-01-04T07:13:38.000Z weekly https://semi.design/zh-CN/start/accessibility - 2024-01-02T07:29:52.000Z + 2024-01-04T07:13:38.000Z weekly https://semi.design/zh-CN/start/changelog - 2024-01-02T07:29:52.000Z + 2024-01-04T07:13:38.000Z weekly https://semi.design/zh-CN/start/customize-theme - 2024-01-02T07:29:52.000Z + 2024-01-04T07:13:38.000Z weekly https://semi.design/zh-CN/start/dark-mode - 2024-01-02T07:29:52.000Z + 2024-01-04T07:13:38.000Z weekly https://semi.design/zh-CN/start/faq - 2024-01-02T07:29:52.000Z + 2024-01-04T07:13:38.000Z weekly https://semi.design/zh-CN/start/getting-started - 2024-01-02T07:29:52.000Z + 2024-01-04T07:13:38.000Z weekly https://semi.design/zh-CN/start/introduction - 2024-01-02T07:29:52.000Z + 2024-01-04T07:13:38.000Z weekly https://semi.design/zh-CN/start/overview - 2024-01-02T07:29:52.000Z + 2024-01-04T07:13:38.000Z weekly https://semi.design/zh-CN/start/update-to-v2 - 2024-01-02T07:29:52.000Z + 2024-01-04T07:13:38.000Z weekly From aa51082cdb589792e9224e02c29288991c442344 Mon Sep 17 00:00:00 2001 From: semi-bot Date: Thu, 4 Jan 2024 07:17:33 +0000 Subject: [PATCH 28/35] v2.50.1 --- lerna.json | 2 +- packages/semi-animation-react/package.json | 6 +++--- packages/semi-animation-styled/package.json | 2 +- packages/semi-animation/package.json | 2 +- packages/semi-eslint-plugin/package.json | 2 +- packages/semi-foundation/package.json | 4 ++-- packages/semi-icons-lab/package.json | 2 +- packages/semi-icons/package.json | 2 +- packages/semi-illustrations/package.json | 2 +- packages/semi-next/package.json | 4 ++-- packages/semi-rspack/package.json | 2 +- packages/semi-scss-compile/package.json | 2 +- packages/semi-theme-default/package.json | 2 +- packages/semi-ui/package.json | 14 +++++++------- packages/semi-webpack/package.json | 2 +- 15 files changed, 25 insertions(+), 25 deletions(-) diff --git a/lerna.json b/lerna.json index 74616de1f2..70e43960c9 100644 --- a/lerna.json +++ b/lerna.json @@ -1,5 +1,5 @@ { "useWorkspaces": true, "npmClient": "yarn", - "version": "2.50.0" + "version": "2.50.1" } \ No newline at end of file diff --git a/packages/semi-animation-react/package.json b/packages/semi-animation-react/package.json index 882cf802ba..a25f67778d 100644 --- a/packages/semi-animation-react/package.json +++ b/packages/semi-animation-react/package.json @@ -1,6 +1,6 @@ { "name": "@douyinfe/semi-animation-react", - "version": "2.50.0", + "version": "2.50.1", "description": "motion library for semi-ui-react", "keywords": [ "motion", @@ -25,8 +25,8 @@ "prepublishOnly": "npm run build:lib" }, "dependencies": { - "@douyinfe/semi-animation": "2.50.0", - "@douyinfe/semi-animation-styled": "2.50.0", + "@douyinfe/semi-animation": "2.50.1", + "@douyinfe/semi-animation-styled": "2.50.1", "classnames": "^2.2.6" }, "devDependencies": { diff --git a/packages/semi-animation-styled/package.json b/packages/semi-animation-styled/package.json index 6e9642ea84..8971375d8c 100644 --- a/packages/semi-animation-styled/package.json +++ b/packages/semi-animation-styled/package.json @@ -1,6 +1,6 @@ { "name": "@douyinfe/semi-animation-styled", - "version": "2.50.0", + "version": "2.50.1", "description": "semi styled animation", "keywords": [ "semi", diff --git a/packages/semi-animation/package.json b/packages/semi-animation/package.json index 3b61c32ce6..9b7934db5b 100644 --- a/packages/semi-animation/package.json +++ b/packages/semi-animation/package.json @@ -1,6 +1,6 @@ { "name": "@douyinfe/semi-animation", - "version": "2.50.0", + "version": "2.50.1", "description": "animation base library for semi-ui", "keywords": [ "animation", diff --git a/packages/semi-eslint-plugin/package.json b/packages/semi-eslint-plugin/package.json index 1a8f773e76..e4ee8f055e 100644 --- a/packages/semi-eslint-plugin/package.json +++ b/packages/semi-eslint-plugin/package.json @@ -1,6 +1,6 @@ { "name": "eslint-plugin-semi-design", - "version": "2.50.0", + "version": "2.50.1", "description": "semi ui eslint plugin", "keywords": [ "semi", diff --git a/packages/semi-foundation/package.json b/packages/semi-foundation/package.json index 82f55f5122..1a4c5dba20 100644 --- a/packages/semi-foundation/package.json +++ b/packages/semi-foundation/package.json @@ -1,13 +1,13 @@ { "name": "@douyinfe/semi-foundation", - "version": "2.50.0", + "version": "2.50.1", "description": "", "scripts": { "build:lib": "node ./scripts/compileLib.js", "prepublishOnly": "npm run build:lib" }, "dependencies": { - "@douyinfe/semi-animation": "2.50.0", + "@douyinfe/semi-animation": "2.50.1", "async-validator": "^3.5.0", "classnames": "^2.2.6", "date-fns": "^2.29.3", diff --git a/packages/semi-icons-lab/package.json b/packages/semi-icons-lab/package.json index 2d45b5f8b6..883cc4fcf0 100644 --- a/packages/semi-icons-lab/package.json +++ b/packages/semi-icons-lab/package.json @@ -1,6 +1,6 @@ { "name": "@douyinfe/semi-icons-lab", - "version": "2.50.0", + "version": "2.50.1", "description": "semi icons lab", "keywords": [ "semi", diff --git a/packages/semi-icons/package.json b/packages/semi-icons/package.json index d0fd3e6ca1..14a434be21 100644 --- a/packages/semi-icons/package.json +++ b/packages/semi-icons/package.json @@ -1,6 +1,6 @@ { "name": "@douyinfe/semi-icons", - "version": "2.50.0", + "version": "2.50.1", "description": "semi icons", "keywords": [ "semi", diff --git a/packages/semi-illustrations/package.json b/packages/semi-illustrations/package.json index 2a7abffc42..b305b268b4 100644 --- a/packages/semi-illustrations/package.json +++ b/packages/semi-illustrations/package.json @@ -1,6 +1,6 @@ { "name": "@douyinfe/semi-illustrations", - "version": "2.50.0", + "version": "2.50.1", "description": "semi illustrations", "keywords": [ "semi", diff --git a/packages/semi-next/package.json b/packages/semi-next/package.json index 9bcdd43809..ecd3a609c8 100644 --- a/packages/semi-next/package.json +++ b/packages/semi-next/package.json @@ -1,6 +1,6 @@ { "name": "@douyinfe/semi-next", - "version": "2.50.0", + "version": "2.50.1", "description": "Plugin that support Semi Design in Next.js", "author": "伍浩威 ", "homepage": "", @@ -23,7 +23,7 @@ "typescript": "^4" }, "dependencies": { - "@douyinfe/semi-webpack-plugin": "2.50.0" + "@douyinfe/semi-webpack-plugin": "2.50.1" }, "gitHead": "eb34a4f25f002bb4cbcfa51f3df93bed868c831a" } diff --git a/packages/semi-rspack/package.json b/packages/semi-rspack/package.json index cf607200e6..0573401169 100644 --- a/packages/semi-rspack/package.json +++ b/packages/semi-rspack/package.json @@ -1,6 +1,6 @@ { "name": "@douyinfe/semi-rspack-plugin", - "version": "2.50.0", + "version": "2.50.1", "description": "", "homepage": "", "license": "MIT", diff --git a/packages/semi-scss-compile/package.json b/packages/semi-scss-compile/package.json index e6f4fb5d7d..ef062b42c2 100644 --- a/packages/semi-scss-compile/package.json +++ b/packages/semi-scss-compile/package.json @@ -1,6 +1,6 @@ { "name": "@douyinfe/semi-scss-compile", - "version": "2.50.0", + "version": "2.50.1", "description": "compile semi scss to css", "author": "daiqiang@bytedance.com", "license": "MIT", diff --git a/packages/semi-theme-default/package.json b/packages/semi-theme-default/package.json index 2ae92778f5..89e52c385c 100644 --- a/packages/semi-theme-default/package.json +++ b/packages/semi-theme-default/package.json @@ -1,6 +1,6 @@ { "name": "@douyinfe/semi-theme-default", - "version": "2.50.0", + "version": "2.50.1", "description": "semi-theme-default", "keywords": [ "semi-theme", diff --git a/packages/semi-ui/package.json b/packages/semi-ui/package.json index 2c58d4a514..3019eed364 100644 --- a/packages/semi-ui/package.json +++ b/packages/semi-ui/package.json @@ -1,6 +1,6 @@ { "name": "@douyinfe/semi-ui", - "version": "2.50.0", + "version": "2.50.1", "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", "module": "lib/es/index.js", @@ -20,12 +20,12 @@ "@dnd-kit/core": "^6.0.8", "@dnd-kit/sortable": "^7.0.2", "@dnd-kit/utilities": "^3.2.1", - "@douyinfe/semi-animation": "2.50.0", - "@douyinfe/semi-animation-react": "2.50.0", - "@douyinfe/semi-foundation": "2.50.0", - "@douyinfe/semi-icons": "2.50.0", - "@douyinfe/semi-illustrations": "2.50.0", - "@douyinfe/semi-theme-default": "2.50.0", + "@douyinfe/semi-animation": "2.50.1", + "@douyinfe/semi-animation-react": "2.50.1", + "@douyinfe/semi-foundation": "2.50.1", + "@douyinfe/semi-icons": "2.50.1", + "@douyinfe/semi-illustrations": "2.50.1", + "@douyinfe/semi-theme-default": "2.50.1", "async-validator": "^3.5.0", "classnames": "^2.2.6", "copy-text-to-clipboard": "^2.1.1", diff --git a/packages/semi-webpack/package.json b/packages/semi-webpack/package.json index dec4e39a87..81d29b5306 100644 --- a/packages/semi-webpack/package.json +++ b/packages/semi-webpack/package.json @@ -1,6 +1,6 @@ { "name": "@douyinfe/semi-webpack-plugin", - "version": "2.50.0", + "version": "2.50.1", "description": "", "author": "伍浩威 ", "homepage": "", From f33efbd7b3eacf67e2a76d6fa27d8e9b6c9d2f42 Mon Sep 17 00:00:00 2001 From: pointhalo Date: Thu, 4 Jan 2024 15:25:01 +0800 Subject: [PATCH 29/35] docs: update changelog description --- content/start/changelog/index.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/content/start/changelog/index.md b/content/start/changelog/index.md index a51fd1ddc8..7cf98e3085 100644 --- a/content/start/changelog/index.md +++ b/content/start/changelog/index.md @@ -8,8 +8,8 @@ brief: 关于 Semi Design For React 优化与更新。我们提供了版本间 --- Semi 版本号遵循 **Semver** 规范(主版本号-次版本号-修订版本号): -- 主版本号(major):重大性能/使用变更,允许做 breaking change -- 次版本号(minor):Semi 固定每两周发布一个 minor 版本,包括以下类型变更:添加了新组件/新 feature,或者样式变更 +- 主版本号(major):大版本更新,一般为重大性能/使用变更,允许做 API 级别的 breaking change +- 次版本号(minor):Semi 固定每两周发布一个 minor 版本,包括以下类型变更:添加了新组件/新 feature,或者设计规范样式更新,或者不合理交互的变更,但不会对组件 API 做删减或功能变更。 - 修订版本号(patch):仅会进行 bugfix,发布时间不限 - 不同版本间的详细关系,可查阅 [FAQ](/zh-CN/start/faq) From ecfe88f0f26e865f64dc50f87017557309058f53 Mon Sep 17 00:00:00 2001 From: pointhalo Date: Thu, 4 Jan 2024 17:57:45 +0800 Subject: [PATCH 30/35] docs: update changelog --- content/show/popover/index-en-US.md | 2 +- content/show/popover/index.md | 2 +- content/show/tooltip/index-en-US.md | 2 +- content/show/tooltip/index.md | 2 +- content/start/changelog/index.md | 14 +++++++------- 5 files changed, 11 insertions(+), 11 deletions(-) diff --git a/content/show/popover/index-en-US.md b/content/show/popover/index-en-US.md index 3ebfd79709..23c62519fe 100644 --- a/content/show/popover/index-en-US.md +++ b/content/show/popover/index-en-US.md @@ -549,7 +549,7 @@ Please refer to [Use with Tooltip/Popconfirm](/en-US/show/tooltip#%E6%90%AD%E9%8 | returnFocusOnClose | After pressing the Esc key, whether the focus returns to the trigger, it only takes effect when the trigger is set to hover, focus, click, etc | boolean | true | **2.8.0** | | visible | Display popup or not | boolean | | | position | Directions, optional values: `top`, `topLeft`, `topRight`, `left`, `leftTop`, `leftBottom`, `right`, `rightTop`, `rightBottom`, `bottom`, `bottomLeft`, `bottomRight` | string | "bottom" | -| spacing | The distance between the out layer and the children element, in px | number| SpacingObject | 4(while showArrow=false) 10(while showArrow=true) | | +| spacing | The distance between the out layer and the children element, in px. object type props supported after v2.45 | number| SpacingObject | 4(while showArrow=false) 10(while showArrow=true) | | | showArrow | Display little arrow or not | boolean | | | trigger | Trigger mode, optional value: `hover`, `focus`, `click`, `custom` | string | 'hover' | | stopPropagation | Whether to prevent click events on the bomb layer from bubbling | boolean | false | **0.34.0** | diff --git a/content/show/popover/index.md b/content/show/popover/index.md index 135c09a804..2586ce49d2 100644 --- a/content/show/popover/index.md +++ b/content/show/popover/index.md @@ -539,7 +539,7 @@ import { Button, Input, Popover, Space } from '@douyinfe/semi-ui'; | rePosKey | 可以更新该项值手动触发弹出层的重新定位 | string\|number | | | | returnFocusOnClose | 按下 Esc 键后,焦点是否回到 trigger 上,设置 trigger 为 hover, focus, click 时生效 | boolean | true | **2.8.0** | | position | 方向,可选值:`top`,`topLeft`,`topRight`,`left`,`leftTop`,`leftBottom`,`right`,`rightTop`,`rightBottom`,`bottom`,`bottomLeft`,`bottomRight` | string | "bottom" | | -| spacing | 弹出层与 children 元素的距离,单位 px | number| SpacingObject | 4(showArrow=false 时) 10(showArrow=true 时) | | +| spacing | 弹出层与 children 元素的距离,单位 px(object类型自 v2.45后支持) | number| SpacingObject | 4(showArrow=false 时) 10(showArrow=true 时) | | | showArrow | 是否显示“小三角” | boolean | | | | stopPropagation | 是否阻止弹出层上的点击事件冒泡 | boolean | false | **0.34.0** | | trigger | 触发方式,可选值:`hover`, `focus`, `click`, `custom`, `contextMenu`(v2.42支持) | string | 'hover' | | diff --git a/content/show/tooltip/index-en-US.md b/content/show/tooltip/index-en-US.md index 222910b2ca..128af7f156 100644 --- a/content/show/tooltip/index-en-US.md +++ b/content/show/tooltip/index-en-US.md @@ -349,7 +349,7 @@ import { Popconfirm, Tooltip, Button } from '@douyinfe/semi-ui'; | preventScroll | Indicates whether the browser should scroll the document to display the newly focused element, acting on the focus method inside the component, excluding the component passed in by the user | boolean | | | | rePosKey | This value can be updated to manually trigger the repositioning of the pop-up layer. | string | number | | | style | Pop-up layer inline style | object | | | -| spacing | The distance between the pop-up layer and the `children` element | number | SpacingObject| | | +| spacing | The distance between the pop-up layer and the `children`. object type props supported after v2.45 element | number | SpacingObject| | | | showArrow | Does it show an arrow triangle? | boolean | true | | | stopPropagation | Whether to prevent click events on the bomb layer from bubbling | boolean | false | **0.34.0** | | transformFromCenter | Whether to transform from the horizontal or vertical center of the element of the package, this parameter affects only the `tansform-origin 'of the dynamic effect transformation and generally does not need to be changed | boolean | true | diff --git a/content/show/tooltip/index.md b/content/show/tooltip/index.md index ac1612d4e4..c5dd06e19c 100644 --- a/content/show/tooltip/index.md +++ b/content/show/tooltip/index.md @@ -385,7 +385,7 @@ function Demo() { | preventScroll | 指示浏览器是否应滚动文档以显示新聚焦的元素,作用于组件内的 focus 方法 | boolean | | | | rePosKey | 可以更新该项值手动触发弹出层的重新定位 | string\|number | | | | style | 弹出层的内联样式 | object | | | -| spacing | 弹出层与 `children` 元素的距离,单位 px | number | SpacingObject | 8 | | +| spacing | 弹出层与 `children` 元素的距离,单位 px(object类型自 v2.45后支持) | number | SpacingObject | 8 | | | showArrow | 是否显示箭头三角形 | boolean | true | | | stopPropagation | 是否阻止弹层上的点击事件冒泡 | boolean | false | **0.34.0** | | transformFromCenter | 是否从包裹的元素水平或垂直中心处变换,该参数仅影响动效变换的 `transform-origin`,一般无需改动 | boolean | true | | diff --git a/content/start/changelog/index.md b/content/start/changelog/index.md index 7cf98e3085..7417cd45ae 100644 --- a/content/start/changelog/index.md +++ b/content/start/changelog/index.md @@ -22,12 +22,12 @@ Semi 版本号遵循 **Semver** 规范(主版本号-次版本号-修订版本 #### 🎉 2.50.0 (2024-01-02) - 【Fix】 - - ImagePreview 中打开预览,切换预览图片时,zoom 改变不需要通过 onZoomIn/onZoomOut 回调透出 [#2000 ](https://github.com/DouyinFE/semi-design/issues/2000) + - ImagePreview 中打开预览,切换预览图片时,zoom 改变不需要通过 onZoomIn/onZoomOut 回调透出 [#2000](https://github.com/DouyinFE/semi-design/issues/2000) - 修复在图片预览时切换图片触发意外的 onRotateLeft 回调 #### 🎉 2.50.0-beta.0 (2023-12-26) - 【Feat】 - - Tree, TreeSelect 新增 showLine api。 [#1801 ](https://github.com/DouyinFE/semi-design/issues/1801) [@Yan-XiaoMing](https://github.com/Yan-XiaoMing) + - Tree, TreeSelect 新增 showLine api [#1801](https://github.com/DouyinFE/semi-design/issues/1801) [@Yan-XiaoMing](https://github.com/Yan-XiaoMing) - Table 列支持自定义排序 icon - 【Style】 - 修改 Tree/TreeSelect 的选项每行缩进的 CSS 实现,对于缩进层级大于 20层的,不再有限制。 [@Yan-XiaoMing](https://github.com/Yan-XiaoMing) @@ -47,7 +47,7 @@ Semi 版本号遵循 **Semver** 规范(主版本号-次版本号-修订版本 - 【Fix】 - Image 支持在预览页面的任何位置通过面板和鼠标滚动进行缩放 [#1890](https://github.com/DouyinFE/semi-design/pull/1890) - Image 预览的初始尺寸做了调整。调整前,预览初始尺寸为适应页面的宽高;调整后,如果图片宽高小于适应页面的宽高,则预览初始宽高和图片宽高相同,否则以适应页面宽高进行缩放 [#1890](https://github.com/DouyinFE/semi-design/pull/1890) - - 修复 select 单选选择选项后,点击外部不触发 onblur 事件问题 [#1977](https://github.com/DouyinFE/semi-design/pull/1977) + - 修复 Select 单选选择选项后,点击外部不触发 onblur 事件问题 [#1977](https://github.com/DouyinFE/semi-design/pull/1977) #### 🎉 2.49.0-beta.0 (2023-12-11) - 【Feat】 @@ -65,7 +65,7 @@ Semi 版本号遵循 **Semver** 规范(主版本号-次版本号-修订版本 #### 🎉 2.48.0 (2023-12-01) - 【Fix】 - - 修复 TimePicker format 为 HH 时,defaultValue 设置不正确问题。(注意:若原先 default 或 value 传入的值类型不合法,例如数字格式的时间戳以字符串形式传入,将不再尝试进行类型转换) + - **修复 TimePicker format 为 HH 时,defaultValue 设置不正确问题。(注意:若原先 default 或 value 传入的值类型不合法,例如数字格式的时间戳以字符串形式传入,将不再尝试进行类型转换)** - 【Docs】 - 增加 @douyinfe/semi-icons-lab 的使用说明 @@ -606,10 +606,10 @@ Semi 版本号遵循 **Semver** 规范(主版本号-次版本号-修订版本 #### 🎉 2.27.1 (2023-01-12) - 【Fix】 - - 修复Form Field 级别校验,使用 props.rules 时存在竞态异步,后执行的校验会被前执行的校验覆盖的问题, [#1375](https://github.com/DouyinFE/semi-design/issues/1375) [@SyMind](https://github.com/SyMind) - - 修复Form Field 级别校验,使用 props.validate 时存在竞态异步,后执行的校验会被前执行的校验覆盖的问题, [#1375 ](https://github.com/DouyinFE/semi-design/issues/1375) + - **修复Form Field 级别校验,使用 props.rules 时存在竞态异步,后执行的校验会被前执行的校验覆盖的问题 [#1375](https://github.com/DouyinFE/semi-design/issues/1375) [@SyMind](https://github.com/SyMind) (注意:如果原先存在对单次值修改,触发多次重复校验逻辑。例如本身props.trigger 已配置为change,又在onChange回调中手动调用 formApi.validate 对其进行了校验等,前面执行的校验将会被丢弃,即 promise pending,不再 resolve或 reject)** + - 修复Form Field 级别校验,使用 props.validate 时存在竞态异步,后执行的校验会被前执行的校验覆盖的问题 [#1375 ](https://github.com/DouyinFE/semi-design/issues/1375) - 【Docs】 - - 修改 Cascader / TreeSelect / Tree 文档中 treeData API 类型名, 使其和代码一致 + - 修改 Cascader / TreeSelect / Tree 文档中 treeData API 类型名, 使其和 Ts 代码 interface 一致 #### 🎉 2.27.0 (2023-01-06) - 【Fix】 From 8fd02253a3d26d009e23b55a3e3542a66af4668e Mon Sep 17 00:00:00 2001 From: pointhalo Date: Thu, 4 Jan 2024 19:34:20 +0800 Subject: [PATCH 31/35] docs: add alt for image element --- .../newHome/components/banner/banner.jsx | 2 +- .../newHome/components/comments/comments.jsx | 44 +++++++++---------- .../newHome/components/feature/feature.jsx | 15 ++++--- src/sitePages/newHome/components/pro/pro.jsx | 3 ++ .../newHome/components/products/products.jsx | 10 ++--- .../newHome/components/resource/resource.jsx | 4 +- .../newHome/components/theme/theme.jsx | 10 ++--- 7 files changed, 46 insertions(+), 42 deletions(-) diff --git a/src/sitePages/newHome/components/banner/banner.jsx b/src/sitePages/newHome/components/banner/banner.jsx index d9b7e44440..3e0f9a68fe 100644 --- a/src/sitePages/newHome/components/banner/banner.jsx +++ b/src/sitePages/newHome/components/banner/banner.jsx @@ -38,7 +38,7 @@ function Banner() { - + rspack logo semi application demo semi application demo semi application demo semi application demo @@ -122,10 +122,10 @@ function Comments(props) {

    {/* eslint-disable-next-line jsx-a11y/alt-text */} - + user avatar
    {/* eslint-disable-next-line jsx-a11y/alt-text */} - + quote icon

    {_t("access_is_simple_and_easy_to_use", { }, "接入简单易上手;")}

    @@ -139,13 +139,13 @@ function Comments(props) {
    {/* eslint-disable-next-line jsx-a11y/alt-text */} - + user avatar

    C

    {/* eslint-disable-next-line jsx-a11y/alt-text */} - + quote icon

    {_t("the_components_are_quite_complete__covering_a_wide_range_and_the_overall_style_i_e10d9214b403886d249f00b8c4dbb975", { }, "组件挺全的,覆盖的比较广泛,整体风格也不错。")}

    @@ -159,13 +159,13 @@ function Comments(props) {
    {/* eslint-disable-next-line jsx-a11y/alt-text */} - + user avatar

    M

    {/* eslint-disable-next-line jsx-a11y/alt-text */} - + quote icon

    {_t("design_resources_are_obviously_helpful_to_improve_efficiency_", { }, "设计资源对提效有明显帮助。")}

    @@ -181,13 +181,13 @@ function Comments(props) {
    {/* eslint-disable-next-line jsx-a11y/alt-text */} - + user avatar

    Y

    {/* eslint-disable-next-line jsx-a11y/alt-text */} - + quote icon

    {_t("there_are_many_other_business_uses_within_the_company__there_are_more_sample_ref_c5fe7051d5fbf1a547084c91f7c4fd8e", { }, "有很多公司内的其他业务使用,有比较多的样例参考,我们依托")}

    @@ -199,10 +199,10 @@ function Comments(props) {
    {/* eslint-disable-next-line jsx-a11y/alt-text */} - + user avatar
    {/* eslint-disable-next-line jsx-a11y/alt-text */} - + quote icon

    {_t("super_good!_strong_push_", { }, "超级好用!强推。")}

    @@ -214,10 +214,10 @@ function Comments(props) {
    {/* eslint-disable-next-line jsx-a11y/alt-text */} - + user avatar
    {/* eslint-disable-next-line jsx-a11y/alt-text */} - + quote icon

    {_t("as_an_excellent_benchmarking_industry", { }, "作为对标业界优秀的")}

    @@ -231,10 +231,10 @@ function Comments(props) {
    {/* eslint-disable-next-line jsx-a11y/alt-text */} - + user avatar
    {/* eslint-disable-next-line jsx-a11y/alt-text */} - + quote icon

    {_t("easy_to_use__beautiful_style_", { }, "使用方便,样式美观。")}

    @@ -248,13 +248,13 @@ function Comments(props) {
    {/* eslint-disable-next-line jsx-a11y/alt-text */} - + user avatar

    G

    {/* eslint-disable-next-line jsx-a11y/alt-text */} - + quote icon

    {_t("uniform_style_and_high_fidelity_prototype_facilitate_communication_with_front_en_95d0c0ccece05c104b98ac0dae9fb53b", { }, "统一的样式,高保真的原型便于与前端同学进行沟通。")}

    @@ -266,10 +266,10 @@ function Comments(props) {
    {/* eslint-disable-next-line jsx-a11y/alt-text */} - + user avatar
    {/* eslint-disable-next-line jsx-a11y/alt-text */} - + quote icon

    {_t("the_documentation_is_very_detailed_and_the_details_of_the_components_are_well_th_aadc51a1122c41cf69ebd4b15e83e864", { }, "文档非常详细,对组件的细节思考非常充足。")}

    diff --git a/src/sitePages/newHome/components/feature/feature.jsx b/src/sitePages/newHome/components/feature/feature.jsx index 291d826bc7..45713e30e0 100644 --- a/src/sitePages/newHome/components/feature/feature.jsx +++ b/src/sitePages/newHome/components/feature/feature.jsx @@ -2,6 +2,7 @@ import { _t } from "../../../../utils/locale"; import React from 'react'; import styles from "./feature.module.scss"; +import { IconSkeleton } from '@douyinfe/semi-icons-lab'; function Feature(props) { @@ -12,7 +13,7 @@ function Feature(props) {
    - + d2c icon

    {_t("feature_D2C")}

    @@ -21,7 +22,7 @@ function Feature(props) {

    - + a11y icon

    {_t("feature_a11y")}

    @@ -30,7 +31,7 @@ function Feature(props) {

    - + i18n icon

    {_t("feature_language")}

    @@ -41,7 +42,7 @@ function Feature(props) {

    - + live code icon

    {_t("feature_live_code")}

    @@ -50,7 +51,7 @@ function Feature(props) {

    - + auto test icon

    {_t("feature_test")}

    @@ -59,7 +60,7 @@ function Feature(props) {

    - +

    {_t("feature_SSR")}

    @@ -70,7 +71,7 @@ function Feature(props) {

    - + developer friendly

    {_t("feature_FA")}

    diff --git a/src/sitePages/newHome/components/pro/pro.jsx b/src/sitePages/newHome/components/pro/pro.jsx index 5265b32e30..334c873ce9 100644 --- a/src/sitePages/newHome/components/pro/pro.jsx +++ b/src/sitePages/newHome/components/pro/pro.jsx @@ -48,6 +48,7 @@ function Pro(props) { d2c demo code

    @@ -56,11 +57,13 @@ function Pro(props) { figma design file demo {/* eslint-disable-next-line */} figma design file demo
    diff --git a/src/sitePages/newHome/components/products/products.jsx b/src/sitePages/newHome/components/products/products.jsx index 7f36845180..20a98a6cb9 100644 --- a/src/sitePages/newHome/components/products/products.jsx +++ b/src/sitePages/newHome/components/products/products.jsx @@ -11,15 +11,15 @@ function Products(props) {

    {_t("now_serving_100_000", { }, "现已服务 10 万")}

    - - + douyin logo + douyin logo
    - + larkprogram logo
    - + bytehi logo
    @@ -29,7 +29,7 @@ function Products(props) {
    - + bytedance sso logo

    Bytedance SSO

    diff --git a/src/sitePages/newHome/components/resource/resource.jsx b/src/sitePages/newHome/components/resource/resource.jsx index 2fb6c52072..4e065cdf86 100644 --- a/src/sitePages/newHome/components/resource/resource.jsx +++ b/src/sitePages/newHome/components/resource/resource.jsx @@ -30,7 +30,7 @@ function Resource(props) { {_t("home.resource.rd.desc")}

    {_t("component_documentation", { }, "组件文档")}

    -
    +
    demo code
    @@ -39,7 +39,7 @@ function Resource(props) { {_t("home.resource.design.desc")}

    Figma UIKit

    -
    +
    figma source demo
    diff --git a/src/sitePages/newHome/components/theme/theme.jsx b/src/sitePages/newHome/components/theme/theme.jsx index 25d412390b..62da6628db 100644 --- a/src/sitePages/newHome/components/theme/theme.jsx +++ b/src/sitePages/newHome/components/theme/theme.jsx @@ -65,7 +65,7 @@ function Theme(props) { loading && themeType === 'default' ? // eslint-disable-next-line jsx-a11y/alt-text - : + : semi logo }

    Semi Design {_t("default", { }, "默认")}

    @@ -78,7 +78,7 @@ function Theme(props) { ? :
    {/* eslint-disable-next-line jsx-a11y/alt-text */} - + lark logo
    }
    @@ -91,7 +91,7 @@ function Theme(props) { loading && themeType === 'douyin' ? // eslint-disable-next-line jsx-a11y/alt-text - : + : douyin creator logo }
    @@ -104,7 +104,7 @@ function Theme(props) { loading && themeType === 'capCut' ? // eslint-disable-next-line jsx-a11y/alt-text - : + : jianying logo }
    @@ -117,7 +117,7 @@ function Theme(props) { loading && themeType === 'huoshan' ? // eslint-disable-next-line jsx-a11y/alt-text - : + : volcengine logo }
    From 82765736c26260898cff648704fc8a3096106134 Mon Sep 17 00:00:00 2001 From: pointhalo Date: Fri, 5 Jan 2024 12:18:39 +0800 Subject: [PATCH 32/35] docs: update popover demo en-US --- content/show/popover/index-en-US.md | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/content/show/popover/index-en-US.md b/content/show/popover/index-en-US.md index 23c62519fe..35961aae66 100644 --- a/content/show/popover/index-en-US.md +++ b/content/show/popover/index-en-US.md @@ -481,9 +481,8 @@ function Demo() {
    We have 2 lines. } - trigger="custom" + trigger="click" position='right' - visible showArrow style={{ backgroundColor: 'rgba(var(--semi-blue-4),1)', From 774c4d98c45ec424511d5f0a247100eaa91b8acd Mon Sep 17 00:00:00 2001 From: pointhalo Date: Fri, 5 Jan 2024 12:28:52 +0800 Subject: [PATCH 33/35] docs: update popover demo --- content/show/popover/index-en-US.md | 50 +++++++++++++++++------------ content/show/popover/index.md | 48 ++++++++++++++------------- 2 files changed, 56 insertions(+), 42 deletions(-) diff --git a/content/show/popover/index-en-US.md b/content/show/popover/index-en-US.md index 35961aae66..e1aab3ee8d 100644 --- a/content/show/popover/index-en-US.md +++ b/content/show/popover/index-en-US.md @@ -474,26 +474,36 @@ import { Popover, Tag } from '@douyinfe/semi-ui'; function Demo() { return ( - - Hi ByteDancer, this is a popover. -
    We have 2 lines. - - } - trigger="click" - position='right' - showArrow - style={{ - backgroundColor: 'rgba(var(--semi-blue-4),1)', - borderColor: 'rgba(var(--semi-blue-4),1)', - color: 'var(--semi-color-white)', - borderWidth: 1, - borderStyle: 'solid', - }} - > - Click here -
    + ); } ``` diff --git a/content/show/popover/index.md b/content/show/popover/index.md index 2586ce49d2..5dae619e9d 100644 --- a/content/show/popover/index.md +++ b/content/show/popover/index.md @@ -457,34 +457,38 @@ import { Popover, Tag } from '@douyinfe/semi-ui'; function Demo() { return ( - - Hi ByteDancer, this is a popover. - - } - position='right' - showArrow - style={{ - backgroundColor: 'rgba(var(--semi-blue-4),1)', - borderColor: 'rgba(var(--semi-blue-4),1)', - color: 'var(--semi-color-white)', - borderWidth: 1, - borderStyle: 'solid', - }} - > - + + Hi, Semi UI Popover. + + } + getPopupContainer={() => document.querySelector('#popup-parent')} + trigger='custom' + visible + position='right' + showArrow style={{ backgroundColor: 'rgba(var(--semi-blue-4),1)', - color: 'var(--semi-color-white)' + borderColor: 'rgba(var(--semi-blue-4),1)', + color: 'var(--semi-color-white)', + borderWidth: 1, + borderStyle: 'solid', }} > - 点击此处 - - + + Colorful Popover + + +
    ); } - ``` ### 初始化弹出层焦点位置 From 8b2db03a9eb8dc0671ad3c34e88d31555513d7e1 Mon Sep 17 00:00:00 2001 From: YyumeiZhang <101110131+YyumeiZhang@users.noreply.github.com> Date: Mon, 8 Jan 2024 16:41:41 +0800 Subject: [PATCH 34/35] feat: Dropdown.Item support pass data-* to final dom (#2012) Co-authored-by: pointhalo <88709023+pointhalo@users.noreply.github.com> --- packages/semi-ui/dropdown/dropdownItem.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/semi-ui/dropdown/dropdownItem.tsx b/packages/semi-ui/dropdown/dropdownItem.tsx index 8aa2e6a1b5..22f965dcc2 100644 --- a/packages/semi-ui/dropdown/dropdownItem.tsx +++ b/packages/semi-ui/dropdown/dropdownItem.tsx @@ -126,7 +126,7 @@ class DropdownItem extends BaseComponent { } return (
  • forwardRef(ref)} className={itemclass} style={style}> + ref={ref => forwardRef(ref)} className={itemclass} style={style} {...this.getDataAttr(this.props)}> {tick} {iconContent} {children} From 8d53f13a4a3bc4591d2a89e0457cce5a986eae25 Mon Sep 17 00:00:00 2001 From: Shi Jia Date: Tue, 9 Jan 2024 16:36:56 +0800 Subject: [PATCH 35/35] fix: fixed Table header selection status bug when all row keys are disabled and selected #2001 (#2014) Co-authored-by: shijia.me --- cypress/e2e/table.spec.js | 6 ++ packages/semi-foundation/table/foundation.ts | 3 +- .../semi-ui/table/_story/table.stories.jsx | 3 +- .../v2/FixedAllDisabledAndSelected/index.tsx | 65 +++++++++++++++++++ packages/semi-ui/table/_story/v2/index.js | 1 + 5 files changed, 76 insertions(+), 2 deletions(-) create mode 100644 packages/semi-ui/table/_story/v2/FixedAllDisabledAndSelected/index.tsx diff --git a/cypress/e2e/table.spec.js b/cypress/e2e/table.spec.js index 1bb7f7f3f4..d1fe851196 100644 --- a/cypress/e2e/table.spec.js +++ b/cypress/e2e/table.spec.js @@ -240,4 +240,10 @@ describe('table', () => { cy.get('[data-cy=section] .semi-table-expand-icon').eq(0).click({ force: true }); cy.get('[data-cy=section] .semi-table-row-hidden').should('have.length', 7); }); + + it('test header selected status when all rows are disabled and selected ', () => { + cy.visit('http://localhost:6006/iframe.html?id=table--fixed-all-disabled-and-selected&viewMode=story'); + cy.get('button').contains('点击全选').click(); + cy.get('.semi-table-thead .semi-checkbox-checked').should('exist') + }); }); \ No newline at end of file diff --git a/packages/semi-foundation/table/foundation.ts b/packages/semi-foundation/table/foundation.ts index b80254476b..66904d3e0e 100644 --- a/packages/semi-foundation/table/foundation.ts +++ b/packages/semi-foundation/table/foundation.ts @@ -989,7 +989,8 @@ class TableFoundation extends BaseFoundation selectedRowKeysSet.has(rowKey)); + return isAllSelected || false; } } diff --git a/packages/semi-ui/table/_story/table.stories.jsx b/packages/semi-ui/table/_story/table.stories.jsx index 34472beef5..0a4fbb949a 100644 --- a/packages/semi-ui/table/_story/table.stories.jsx +++ b/packages/semi-ui/table/_story/table.stories.jsx @@ -106,7 +106,8 @@ export { FixedPagination, ShowHeader, KeepDOM, - SortIcon + SortIcon, + FixedAllDisabledAndSelected } from './v2'; export { default as FixSelectAll325 } from './Demos/rowSelection'; diff --git a/packages/semi-ui/table/_story/v2/FixedAllDisabledAndSelected/index.tsx b/packages/semi-ui/table/_story/v2/FixedAllDisabledAndSelected/index.tsx new file mode 100644 index 0000000000..ea0eb2330f --- /dev/null +++ b/packages/semi-ui/table/_story/v2/FixedAllDisabledAndSelected/index.tsx @@ -0,0 +1,65 @@ +import React, { useEffect, useState } from 'react'; +import { Table } from '@douyinfe/semi-ui'; + +export default function App() { + const [selectAll, setSelectAll] = useState(false); + const [clueIds, setClueIds] = useState([]); + const columns = [ + { + title: '排行', + dataIndex: 'index', + }, + { + title: 'name', + dataIndex: 'name', + }, + ]; + const data = Array(20) + .fill(0) + .map((_, index) => { + return { + key: index, + name: `name ${index}`, + index: index, + clue_id: index, + }; + }); + const rowSelection = { + disabled: selectAll, + getCheckboxProps: record => { + if (selectAll) { + return { + disabled: true, + }; + } + return {}; + }, + + onChange: (selectedRowKeys, selectedRows) => { + console.log(`select all onChange: ${selectedRowKeys}`, selectedRows); + console.log(selectedRowKeys); + setClueIds(selectedRows.map(row => row.clue_id)); + }, + selectedRowKeys: clueIds, + }; + useEffect(() => { + if (selectAll) { + let newIds = data.map(row => row.clue_id); + console.log(newIds); + setClueIds(newIds); + } + }, [selectAll]); + + return ( +
    + +
  • + + ); +} diff --git a/packages/semi-ui/table/_story/v2/index.js b/packages/semi-ui/table/_story/v2/index.js index 902304a06e..f9e042a9d8 100644 --- a/packages/semi-ui/table/_story/v2/index.js +++ b/packages/semi-ui/table/_story/v2/index.js @@ -27,3 +27,4 @@ export { default as FixedPagination } from './FixedPagination'; export { default as ShowHeader } from './ShowHeader'; export { default as KeepDOM } from './KeepDOM'; export { default as SortIcon } from './SortIcon'; +export { default as FixedAllDisabledAndSelected } from './FixedAllDisabledAndSelected';