@douyinfe/semi-ui 2.54.0-beta.0 → 2.54.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/umd/semi-ui.js +31 -22
- package/dist/umd/semi-ui.js.map +1 -1
- package/dist/umd/semi-ui.min.js +1 -1
- package/dist/umd/semi-ui.min.js.map +1 -1
- package/lib/cjs/avatar/index.js +8 -8
- package/lib/cjs/avatar/interface.d.ts +1 -1
- package/lib/cjs/navigation/index.d.ts +1 -1
- package/lib/cjs/navigation/index.js +17 -11
- package/lib/cjs/typography/base.js +4 -2
- package/lib/cjs/upload/index.d.ts +2 -2
- package/lib/es/avatar/index.js +8 -8
- package/lib/es/avatar/interface.d.ts +1 -1
- package/lib/es/navigation/index.d.ts +1 -1
- package/lib/es/navigation/index.js +17 -11
- package/lib/es/typography/base.js +4 -2
- package/lib/es/upload/index.d.ts +2 -2
- package/package.json +8 -8
package/lib/cjs/avatar/index.js
CHANGED
|
@@ -284,8 +284,8 @@ class Avatar extends _baseComponent.default {
|
|
|
284
284
|
}
|
|
285
285
|
}
|
|
286
286
|
render() {
|
|
287
|
-
var _a
|
|
288
|
-
const
|
|
287
|
+
var _a;
|
|
288
|
+
const _b = this.props,
|
|
289
289
|
{
|
|
290
290
|
shape,
|
|
291
291
|
children,
|
|
@@ -304,8 +304,8 @@ class Avatar extends _baseComponent.default {
|
|
|
304
304
|
topSlot,
|
|
305
305
|
border,
|
|
306
306
|
contentMotion
|
|
307
|
-
} =
|
|
308
|
-
others = __rest(
|
|
307
|
+
} = _b,
|
|
308
|
+
others = __rest(_b, ["shape", "children", "size", "color", "className", "hoverMask", "onClick", "imgAttr", "src", "srcSet", "style", "alt", "gap", "bottomSlot", "topSlot", "border", "contentMotion"]);
|
|
309
309
|
const {
|
|
310
310
|
isImgExist,
|
|
311
311
|
hoverContent,
|
|
@@ -335,8 +335,8 @@ class Avatar extends _baseComponent.default {
|
|
|
335
335
|
}), this.getContent(), hoverRender);
|
|
336
336
|
if (border) {
|
|
337
337
|
const borderStyle = {};
|
|
338
|
-
if (border === null || border === void 0 ? void 0 : border.color) {
|
|
339
|
-
borderStyle['borderColor'] = border.color;
|
|
338
|
+
if (typeof border === 'object' && (border === null || border === void 0 ? void 0 : border.color)) {
|
|
339
|
+
borderStyle['borderColor'] = border === null || border === void 0 ? void 0 : border.color;
|
|
340
340
|
}
|
|
341
341
|
avatar = /*#__PURE__*/_react.default.createElement("div", {
|
|
342
342
|
style: Object.assign({
|
|
@@ -347,11 +347,11 @@ class Avatar extends _baseComponent.default {
|
|
|
347
347
|
className: (0, _classnames.default)([`${prefixCls}-additionalBorder`, `${prefixCls}-additionalBorder-${size}`, {
|
|
348
348
|
[`${prefixCls}-${shape}`]: shape
|
|
349
349
|
}])
|
|
350
|
-
}),
|
|
350
|
+
}), typeof this.props.border === 'object' && this.props.border.motion && /*#__PURE__*/_react.default.createElement("span", {
|
|
351
351
|
style: borderStyle,
|
|
352
352
|
className: (0, _classnames.default)([`${prefixCls}-additionalBorder`, `${prefixCls}-additionalBorder-${size}`, {
|
|
353
353
|
[`${prefixCls}-${shape}`]: shape,
|
|
354
|
-
[`${prefixCls}-additionalBorder-animated`]: (
|
|
354
|
+
[`${prefixCls}-additionalBorder-animated`]: typeof this.props.border === 'object' && ((_a = this.props.border) === null || _a === void 0 ? void 0 : _a.motion)
|
|
355
355
|
}])
|
|
356
356
|
}));
|
|
357
357
|
}
|
|
@@ -125,7 +125,7 @@ declare class Nav extends BaseComponent<NavProps, NavState> {
|
|
|
125
125
|
constructor(props: NavProps);
|
|
126
126
|
static getDerivedStateFromProps(props: NavProps, state: NavState): Partial<NavState>;
|
|
127
127
|
componentDidMount(): void;
|
|
128
|
-
componentDidUpdate(prevProps: NavProps
|
|
128
|
+
componentDidUpdate(prevProps: NavProps): void;
|
|
129
129
|
get adapter(): NavigationAdapter<NavProps, NavState>;
|
|
130
130
|
/**
|
|
131
131
|
* Render navigation items recursively
|
|
@@ -97,24 +97,19 @@ class Nav extends _baseComponent.default {
|
|
|
97
97
|
componentDidMount() {
|
|
98
98
|
// override BaseComponent
|
|
99
99
|
}
|
|
100
|
-
componentDidUpdate(prevProps
|
|
100
|
+
componentDidUpdate(prevProps) {
|
|
101
101
|
if (prevProps.items !== this.props.items || prevProps.children !== this.props.children) {
|
|
102
102
|
this.foundation.init();
|
|
103
103
|
} else {
|
|
104
104
|
this.foundation.handleItemsChange(false);
|
|
105
|
-
const {
|
|
106
|
-
selectedKeys
|
|
107
|
-
} = this.state;
|
|
108
105
|
if (this.props.selectedKeys && !(0, _isEqual2.default)(prevProps.selectedKeys, this.props.selectedKeys)) {
|
|
109
106
|
this.adapter.updateSelectedKeys(this.props.selectedKeys);
|
|
107
|
+
const willOpenKeys = this.foundation.getWillOpenKeys(this.state.itemKeysMap);
|
|
108
|
+
this.adapter.updateOpenKeys(willOpenKeys);
|
|
110
109
|
}
|
|
111
110
|
if (this.props.openKeys && !(0, _isEqual2.default)(prevProps.openKeys, this.props.openKeys)) {
|
|
112
111
|
this.adapter.updateOpenKeys(this.props.openKeys);
|
|
113
112
|
}
|
|
114
|
-
if (!(0, _isEqual2.default)(selectedKeys, prevState.selectedKeys)) {
|
|
115
|
-
const parentSelectKeys = this.foundation.selectLevelZeroParentKeys(null, ...selectedKeys);
|
|
116
|
-
this.adapter.addSelectedKeys(...parentSelectKeys);
|
|
117
|
-
}
|
|
118
113
|
}
|
|
119
114
|
}
|
|
120
115
|
get adapter() {
|
|
@@ -140,9 +135,20 @@ class Nav extends _baseComponent.default {
|
|
|
140
135
|
}),
|
|
141
136
|
addSelectedKeys: createAddKeysFn(this, 'selectedKeys'),
|
|
142
137
|
removeSelectedKeys: createRemoveKeysFn(this, 'selectedKeys'),
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
138
|
+
/**
|
|
139
|
+
* when `includeParentKeys` is `true`, select a nested nav item will select parent nav sub
|
|
140
|
+
*/
|
|
141
|
+
updateSelectedKeys: function (selectedKeys) {
|
|
142
|
+
let includeParentKeys = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;
|
|
143
|
+
let willUpdateSelectedKeys = selectedKeys;
|
|
144
|
+
if (includeParentKeys) {
|
|
145
|
+
const parentSelectKeys = _this.foundation.selectLevelZeroParentKeys(null, selectedKeys);
|
|
146
|
+
willUpdateSelectedKeys = Array.from(new Set(selectedKeys.concat(parentSelectKeys)));
|
|
147
|
+
}
|
|
148
|
+
_this.setState({
|
|
149
|
+
selectedKeys: willUpdateSelectedKeys
|
|
150
|
+
});
|
|
151
|
+
},
|
|
146
152
|
updateOpenKeys: openKeys => this.setState({
|
|
147
153
|
openKeys: [...openKeys]
|
|
148
154
|
}),
|
|
@@ -147,7 +147,9 @@ class Base extends _react.Component {
|
|
|
147
147
|
expandable,
|
|
148
148
|
expandText
|
|
149
149
|
} = this.getEllipsisOpt();
|
|
150
|
-
const
|
|
150
|
+
const canUseCSSEllipsis = this.canUseCSSEllipsis();
|
|
151
|
+
// If the css is truncated, use isOverflowed to judge. If the css is truncated, use isTruncated to judge.
|
|
152
|
+
const overflowed = !expanded && (canUseCSSEllipsis ? isOverflowed : isTruncated);
|
|
151
153
|
const noExpandText = !expandable && (0, _isUndefined2.default)(expandText);
|
|
152
154
|
const show = noExpandText && overflowed && showTooltip;
|
|
153
155
|
if (!show) {
|
|
@@ -457,7 +459,7 @@ class Base extends _react.Component {
|
|
|
457
459
|
newState.isOverflowed = false;
|
|
458
460
|
newState.ellipsisContent = props.children;
|
|
459
461
|
newState.expanded = false;
|
|
460
|
-
newState.isTruncated =
|
|
462
|
+
newState.isTruncated = true;
|
|
461
463
|
}
|
|
462
464
|
return newState;
|
|
463
465
|
}
|
|
@@ -6,9 +6,9 @@ import BaseComponent from '../_base/baseComponent';
|
|
|
6
6
|
import type { FileItem, RenderFileItemProps, UploadListType, PromptPositionType, BeforeUploadProps, AfterUploadProps, OnChangeProps, customRequestArgs, CustomError } from './interface';
|
|
7
7
|
import { Locale } from '../locale/interface';
|
|
8
8
|
import '@douyinfe/semi-foundation/lib/cjs/upload/upload.css';
|
|
9
|
-
import type { CustomFile, UploadAdapter, BeforeUploadObjectResult, AfterUploadResult } from '@douyinfe/semi-foundation/lib/cjs/upload/foundation';
|
|
9
|
+
import type { CustomFile, UploadAdapter, BeforeUploadObjectResult, AfterUploadResult, FileItemStatus } from '@douyinfe/semi-foundation/lib/cjs/upload/foundation';
|
|
10
10
|
import type { ValidateStatus } from '../_base/baseComponent';
|
|
11
|
-
export type { FileItem, RenderFileItemProps, UploadListType, PromptPositionType, BeforeUploadProps, AfterUploadProps, OnChangeProps, customRequestArgs, CustomError, BeforeUploadObjectResult, AfterUploadResult, };
|
|
11
|
+
export type { FileItem, FileItemStatus, RenderFileItemProps, UploadListType, PromptPositionType, BeforeUploadProps, AfterUploadProps, OnChangeProps, customRequestArgs, CustomError, BeforeUploadObjectResult, AfterUploadResult, };
|
|
12
12
|
export interface UploadProps {
|
|
13
13
|
accept?: string;
|
|
14
14
|
action: string;
|
package/lib/es/avatar/index.js
CHANGED
|
@@ -265,8 +265,8 @@ export default class Avatar extends BaseComponent {
|
|
|
265
265
|
}
|
|
266
266
|
}
|
|
267
267
|
render() {
|
|
268
|
-
var _a
|
|
269
|
-
const
|
|
268
|
+
var _a;
|
|
269
|
+
const _b = this.props,
|
|
270
270
|
{
|
|
271
271
|
shape,
|
|
272
272
|
children,
|
|
@@ -285,8 +285,8 @@ export default class Avatar extends BaseComponent {
|
|
|
285
285
|
topSlot,
|
|
286
286
|
border,
|
|
287
287
|
contentMotion
|
|
288
|
-
} =
|
|
289
|
-
others = __rest(
|
|
288
|
+
} = _b,
|
|
289
|
+
others = __rest(_b, ["shape", "children", "size", "color", "className", "hoverMask", "onClick", "imgAttr", "src", "srcSet", "style", "alt", "gap", "bottomSlot", "topSlot", "border", "contentMotion"]);
|
|
290
290
|
const {
|
|
291
291
|
isImgExist,
|
|
292
292
|
hoverContent,
|
|
@@ -316,8 +316,8 @@ export default class Avatar extends BaseComponent {
|
|
|
316
316
|
}), this.getContent(), hoverRender);
|
|
317
317
|
if (border) {
|
|
318
318
|
const borderStyle = {};
|
|
319
|
-
if (border === null || border === void 0 ? void 0 : border.color) {
|
|
320
|
-
borderStyle['borderColor'] = border.color;
|
|
319
|
+
if (typeof border === 'object' && (border === null || border === void 0 ? void 0 : border.color)) {
|
|
320
|
+
borderStyle['borderColor'] = border === null || border === void 0 ? void 0 : border.color;
|
|
321
321
|
}
|
|
322
322
|
avatar = /*#__PURE__*/React.createElement("div", {
|
|
323
323
|
style: Object.assign({
|
|
@@ -328,11 +328,11 @@ export default class Avatar extends BaseComponent {
|
|
|
328
328
|
className: cls([`${prefixCls}-additionalBorder`, `${prefixCls}-additionalBorder-${size}`, {
|
|
329
329
|
[`${prefixCls}-${shape}`]: shape
|
|
330
330
|
}])
|
|
331
|
-
}),
|
|
331
|
+
}), typeof this.props.border === 'object' && this.props.border.motion && /*#__PURE__*/React.createElement("span", {
|
|
332
332
|
style: borderStyle,
|
|
333
333
|
className: cls([`${prefixCls}-additionalBorder`, `${prefixCls}-additionalBorder-${size}`, {
|
|
334
334
|
[`${prefixCls}-${shape}`]: shape,
|
|
335
|
-
[`${prefixCls}-additionalBorder-animated`]: (
|
|
335
|
+
[`${prefixCls}-additionalBorder-animated`]: typeof this.props.border === 'object' && ((_a = this.props.border) === null || _a === void 0 ? void 0 : _a.motion)
|
|
336
336
|
}])
|
|
337
337
|
}));
|
|
338
338
|
}
|
|
@@ -125,7 +125,7 @@ declare class Nav extends BaseComponent<NavProps, NavState> {
|
|
|
125
125
|
constructor(props: NavProps);
|
|
126
126
|
static getDerivedStateFromProps(props: NavProps, state: NavState): Partial<NavState>;
|
|
127
127
|
componentDidMount(): void;
|
|
128
|
-
componentDidUpdate(prevProps: NavProps
|
|
128
|
+
componentDidUpdate(prevProps: NavProps): void;
|
|
129
129
|
get adapter(): NavigationAdapter<NavProps, NavState>;
|
|
130
130
|
/**
|
|
131
131
|
* Render navigation items recursively
|
|
@@ -88,24 +88,19 @@ class Nav extends BaseComponent {
|
|
|
88
88
|
componentDidMount() {
|
|
89
89
|
// override BaseComponent
|
|
90
90
|
}
|
|
91
|
-
componentDidUpdate(prevProps
|
|
91
|
+
componentDidUpdate(prevProps) {
|
|
92
92
|
if (prevProps.items !== this.props.items || prevProps.children !== this.props.children) {
|
|
93
93
|
this.foundation.init();
|
|
94
94
|
} else {
|
|
95
95
|
this.foundation.handleItemsChange(false);
|
|
96
|
-
const {
|
|
97
|
-
selectedKeys
|
|
98
|
-
} = this.state;
|
|
99
96
|
if (this.props.selectedKeys && !_isEqual(prevProps.selectedKeys, this.props.selectedKeys)) {
|
|
100
97
|
this.adapter.updateSelectedKeys(this.props.selectedKeys);
|
|
98
|
+
const willOpenKeys = this.foundation.getWillOpenKeys(this.state.itemKeysMap);
|
|
99
|
+
this.adapter.updateOpenKeys(willOpenKeys);
|
|
101
100
|
}
|
|
102
101
|
if (this.props.openKeys && !_isEqual(prevProps.openKeys, this.props.openKeys)) {
|
|
103
102
|
this.adapter.updateOpenKeys(this.props.openKeys);
|
|
104
103
|
}
|
|
105
|
-
if (!_isEqual(selectedKeys, prevState.selectedKeys)) {
|
|
106
|
-
const parentSelectKeys = this.foundation.selectLevelZeroParentKeys(null, ...selectedKeys);
|
|
107
|
-
this.adapter.addSelectedKeys(...parentSelectKeys);
|
|
108
|
-
}
|
|
109
104
|
}
|
|
110
105
|
}
|
|
111
106
|
get adapter() {
|
|
@@ -131,9 +126,20 @@ class Nav extends BaseComponent {
|
|
|
131
126
|
}),
|
|
132
127
|
addSelectedKeys: createAddKeysFn(this, 'selectedKeys'),
|
|
133
128
|
removeSelectedKeys: createRemoveKeysFn(this, 'selectedKeys'),
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
129
|
+
/**
|
|
130
|
+
* when `includeParentKeys` is `true`, select a nested nav item will select parent nav sub
|
|
131
|
+
*/
|
|
132
|
+
updateSelectedKeys: function (selectedKeys) {
|
|
133
|
+
let includeParentKeys = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;
|
|
134
|
+
let willUpdateSelectedKeys = selectedKeys;
|
|
135
|
+
if (includeParentKeys) {
|
|
136
|
+
const parentSelectKeys = _this.foundation.selectLevelZeroParentKeys(null, selectedKeys);
|
|
137
|
+
willUpdateSelectedKeys = Array.from(new Set(selectedKeys.concat(parentSelectKeys)));
|
|
138
|
+
}
|
|
139
|
+
_this.setState({
|
|
140
|
+
selectedKeys: willUpdateSelectedKeys
|
|
141
|
+
});
|
|
142
|
+
},
|
|
137
143
|
updateOpenKeys: openKeys => this.setState({
|
|
138
144
|
openKeys: [...openKeys]
|
|
139
145
|
}),
|
|
@@ -138,7 +138,9 @@ export default class Base extends Component {
|
|
|
138
138
|
expandable,
|
|
139
139
|
expandText
|
|
140
140
|
} = this.getEllipsisOpt();
|
|
141
|
-
const
|
|
141
|
+
const canUseCSSEllipsis = this.canUseCSSEllipsis();
|
|
142
|
+
// If the css is truncated, use isOverflowed to judge. If the css is truncated, use isTruncated to judge.
|
|
143
|
+
const overflowed = !expanded && (canUseCSSEllipsis ? isOverflowed : isTruncated);
|
|
142
144
|
const noExpandText = !expandable && _isUndefined(expandText);
|
|
143
145
|
const show = noExpandText && overflowed && showTooltip;
|
|
144
146
|
if (!show) {
|
|
@@ -448,7 +450,7 @@ export default class Base extends Component {
|
|
|
448
450
|
newState.isOverflowed = false;
|
|
449
451
|
newState.ellipsisContent = props.children;
|
|
450
452
|
newState.expanded = false;
|
|
451
|
-
newState.isTruncated =
|
|
453
|
+
newState.isTruncated = true;
|
|
452
454
|
}
|
|
453
455
|
return newState;
|
|
454
456
|
}
|
package/lib/es/upload/index.d.ts
CHANGED
|
@@ -6,9 +6,9 @@ import BaseComponent from '../_base/baseComponent';
|
|
|
6
6
|
import type { FileItem, RenderFileItemProps, UploadListType, PromptPositionType, BeforeUploadProps, AfterUploadProps, OnChangeProps, customRequestArgs, CustomError } from './interface';
|
|
7
7
|
import { Locale } from '../locale/interface';
|
|
8
8
|
import '@douyinfe/semi-foundation/lib/es/upload/upload.css';
|
|
9
|
-
import type { CustomFile, UploadAdapter, BeforeUploadObjectResult, AfterUploadResult } from '@douyinfe/semi-foundation/lib/es/upload/foundation';
|
|
9
|
+
import type { CustomFile, UploadAdapter, BeforeUploadObjectResult, AfterUploadResult, FileItemStatus } from '@douyinfe/semi-foundation/lib/es/upload/foundation';
|
|
10
10
|
import type { ValidateStatus } from '../_base/baseComponent';
|
|
11
|
-
export type { FileItem, RenderFileItemProps, UploadListType, PromptPositionType, BeforeUploadProps, AfterUploadProps, OnChangeProps, customRequestArgs, CustomError, BeforeUploadObjectResult, AfterUploadResult, };
|
|
11
|
+
export type { FileItem, FileItemStatus, RenderFileItemProps, UploadListType, PromptPositionType, BeforeUploadProps, AfterUploadProps, OnChangeProps, customRequestArgs, CustomError, BeforeUploadObjectResult, AfterUploadResult, };
|
|
12
12
|
export interface UploadProps {
|
|
13
13
|
accept?: string;
|
|
14
14
|
action: string;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@douyinfe/semi-ui",
|
|
3
|
-
"version": "2.54.
|
|
3
|
+
"version": "2.54.1",
|
|
4
4
|
"description": "A modern, comprehensive, flexible design system and UI library. Connect DesignOps & DevOps. Quickly build beautiful React apps. Maintained by Douyin-fe team.",
|
|
5
5
|
"main": "lib/cjs/index.js",
|
|
6
6
|
"module": "lib/es/index.js",
|
|
@@ -20,12 +20,12 @@
|
|
|
20
20
|
"@dnd-kit/core": "^6.0.8",
|
|
21
21
|
"@dnd-kit/sortable": "^7.0.2",
|
|
22
22
|
"@dnd-kit/utilities": "^3.2.1",
|
|
23
|
-
"@douyinfe/semi-animation": "2.54.
|
|
24
|
-
"@douyinfe/semi-animation-react": "2.54.
|
|
25
|
-
"@douyinfe/semi-foundation": "2.54.
|
|
26
|
-
"@douyinfe/semi-icons": "2.54.
|
|
27
|
-
"@douyinfe/semi-illustrations": "2.54.
|
|
28
|
-
"@douyinfe/semi-theme-default": "2.54.
|
|
23
|
+
"@douyinfe/semi-animation": "2.54.1",
|
|
24
|
+
"@douyinfe/semi-animation-react": "2.54.1",
|
|
25
|
+
"@douyinfe/semi-foundation": "2.54.1",
|
|
26
|
+
"@douyinfe/semi-icons": "2.54.1",
|
|
27
|
+
"@douyinfe/semi-illustrations": "2.54.1",
|
|
28
|
+
"@douyinfe/semi-theme-default": "2.54.1",
|
|
29
29
|
"async-validator": "^3.5.0",
|
|
30
30
|
"classnames": "^2.2.6",
|
|
31
31
|
"copy-text-to-clipboard": "^2.1.1",
|
|
@@ -75,7 +75,7 @@
|
|
|
75
75
|
],
|
|
76
76
|
"author": "",
|
|
77
77
|
"license": "MIT",
|
|
78
|
-
"gitHead": "
|
|
78
|
+
"gitHead": "29a9d7e115640dd1e9d8559609d9e4ee44dcfd12",
|
|
79
79
|
"devDependencies": {
|
|
80
80
|
"@babel/plugin-proposal-decorators": "^7.15.8",
|
|
81
81
|
"@babel/plugin-transform-runtime": "^7.15.8",
|