@douyinfe/semi-ui 2.25.2 → 2.26.0-beta.0
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/css/semi.css +1 -1
- package/dist/css/semi.min.css +1 -1
- package/dist/umd/semi-ui.js +99 -24
- 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/table/Table.js +2 -0
- package/lib/cjs/treeSelect/index.d.ts +2 -1
- package/lib/cjs/treeSelect/index.js +21 -13
- package/lib/cjs/typography/util.js +4 -0
- package/lib/es/table/Table.js +2 -0
- package/lib/es/treeSelect/index.d.ts +2 -1
- package/lib/es/treeSelect/index.js +19 -13
- package/lib/es/typography/util.js +4 -0
- package/package.json +8 -8
package/lib/cjs/table/Table.js
CHANGED
|
@@ -1338,6 +1338,8 @@ class Table extends _baseComponent.default {
|
|
|
1338
1338
|
if (this.props.defaultExpandAllRows && handledProps.groups && handledProps.groups.size || this.props.expandAllRows || this.props.expandAllGroupRows) {
|
|
1339
1339
|
this.foundation.initExpandedRowKeys(handledProps);
|
|
1340
1340
|
}
|
|
1341
|
+
|
|
1342
|
+
states.pagination = handledProps.pagination;
|
|
1341
1343
|
} // Centrally update paging related state
|
|
1342
1344
|
|
|
1343
1345
|
|
|
@@ -107,7 +107,7 @@ declare class TreeSelect extends BaseComponent<TreeSelectProps, TreeSelectState>
|
|
|
107
107
|
arrowIcon: PropTypes.Requireable<PropTypes.ReactNodeLike>;
|
|
108
108
|
clearIcon: PropTypes.Requireable<PropTypes.ReactNodeLike>;
|
|
109
109
|
defaultOpen: PropTypes.Requireable<boolean>;
|
|
110
|
-
defaultValue: PropTypes.Requireable<NonNullable<string |
|
|
110
|
+
defaultValue: PropTypes.Requireable<NonNullable<string | object>>;
|
|
111
111
|
defaultExpandAll: PropTypes.Requireable<boolean>;
|
|
112
112
|
defaultExpandedKeys: PropTypes.Requireable<any[]>;
|
|
113
113
|
expandAll: PropTypes.Requireable<boolean>;
|
|
@@ -202,6 +202,7 @@ declare class TreeSelect extends BaseComponent<TreeSelectProps, TreeSelectState>
|
|
|
202
202
|
renderContent: () => JSX.Element;
|
|
203
203
|
removeTag: (removedKey: TreeNodeData['key']) => void;
|
|
204
204
|
handleClick: (e: React.MouseEvent) => void;
|
|
205
|
+
getDataForKeyNotInKeyEntities: (key: string) => any;
|
|
205
206
|
handleSelectionEnterPress: (e: React.KeyboardEvent<HTMLDivElement>) => void;
|
|
206
207
|
hasValue: () => boolean;
|
|
207
208
|
showClearBtn: () => boolean;
|
|
@@ -5,6 +5,10 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.default = void 0;
|
|
7
7
|
|
|
8
|
+
var _isNull2 = _interopRequireDefault(require("lodash/isNull"));
|
|
9
|
+
|
|
10
|
+
var _isUndefined2 = _interopRequireDefault(require("lodash/isUndefined"));
|
|
11
|
+
|
|
8
12
|
var _isFunction2 = _interopRequireDefault(require("lodash/isFunction"));
|
|
9
13
|
|
|
10
14
|
var _get2 = _interopRequireDefault(require("lodash/get"));
|
|
@@ -148,6 +152,10 @@ class TreeSelect extends _baseComponent.default {
|
|
|
148
152
|
this.handleClick = e => {
|
|
149
153
|
this.foundation.handleClick(e);
|
|
150
154
|
};
|
|
155
|
+
|
|
156
|
+
this.getDataForKeyNotInKeyEntities = key => {
|
|
157
|
+
return this.foundation.getDataForKeyNotInKeyEntities(key);
|
|
158
|
+
};
|
|
151
159
|
/* istanbul ignore next */
|
|
152
160
|
|
|
153
161
|
|
|
@@ -218,15 +226,15 @@ class TreeSelect extends _baseComponent.default {
|
|
|
218
226
|
let renderKeys = [];
|
|
219
227
|
|
|
220
228
|
if (checkRelation === 'related') {
|
|
221
|
-
renderKeys = (0, _treeUtil.normalizeKeyList)([...checkedKeys], keyEntities, leafOnly);
|
|
229
|
+
renderKeys = (0, _treeUtil.normalizeKeyList)([...checkedKeys], keyEntities, leafOnly, true);
|
|
222
230
|
} else if (checkRelation === 'unRelated' && Object.keys(keyEntities).length > 0) {
|
|
223
231
|
renderKeys = [...realCheckedKeys];
|
|
224
232
|
}
|
|
225
233
|
|
|
226
234
|
const tagList = []; // eslint-disable-next-line @typescript-eslint/no-shadow
|
|
227
235
|
|
|
228
|
-
renderKeys.forEach(key => {
|
|
229
|
-
const item = keyEntities[key].data;
|
|
236
|
+
renderKeys.forEach((key, index) => {
|
|
237
|
+
const item = keyEntities[key] && keyEntities[key].data.key === key ? keyEntities[key].data : this.getDataForKeyNotInKeyEntities(key);
|
|
230
238
|
|
|
231
239
|
const onClose = (tagContent, e) => {
|
|
232
240
|
if (e && typeof e.preventDefault === 'function') {
|
|
@@ -240,12 +248,12 @@ class TreeSelect extends _baseComponent.default {
|
|
|
240
248
|
const {
|
|
241
249
|
content,
|
|
242
250
|
isRenderInTag
|
|
243
|
-
} = treeNodeLabelProp in item
|
|
244
|
-
index
|
|
251
|
+
} = item && treeNodeLabelProp in item ? renderSelectedItem(item, {
|
|
252
|
+
index,
|
|
245
253
|
onClose
|
|
246
254
|
}) : null;
|
|
247
255
|
|
|
248
|
-
if (
|
|
256
|
+
if ((0, _isNull2.default)(content) || (0, _isUndefined2.default)(content)) {
|
|
249
257
|
return;
|
|
250
258
|
}
|
|
251
259
|
|
|
@@ -255,7 +263,7 @@ class TreeSelect extends _baseComponent.default {
|
|
|
255
263
|
color: 'white',
|
|
256
264
|
visible: true,
|
|
257
265
|
onClose,
|
|
258
|
-
key,
|
|
266
|
+
key: "tag-".concat(key, "-").concat(index),
|
|
259
267
|
size: size === 'small' ? 'small' : 'large'
|
|
260
268
|
};
|
|
261
269
|
|
|
@@ -466,7 +474,7 @@ class TreeSelect extends _baseComponent.default {
|
|
|
466
474
|
["".concat(prefixcls, "-with-suffix")]: suffix,
|
|
467
475
|
["".concat(prefixcls, "-with-suffix")]: suffix
|
|
468
476
|
}, className);
|
|
469
|
-
const triggerRenderKeys = multiple ? (0, _treeUtil.normalizeKeyList)([...checkedKeys], keyEntities, leafOnly) : selectedKeys;
|
|
477
|
+
const triggerRenderKeys = multiple ? (0, _treeUtil.normalizeKeyList)([...checkedKeys], keyEntities, leafOnly, true) : selectedKeys;
|
|
470
478
|
const inner = useCustomTrigger ? /*#__PURE__*/_react.default.createElement(_trigger.default, {
|
|
471
479
|
inputValue: inputValue,
|
|
472
480
|
// eslint-disable-next-line @typescript-eslint/no-shadow
|
|
@@ -530,8 +538,8 @@ class TreeSelect extends _baseComponent.default {
|
|
|
530
538
|
renderSelectedItem: propRenderSelectedItem,
|
|
531
539
|
treeNodeLabelProp
|
|
532
540
|
} = this.props;
|
|
533
|
-
const keyList = (0, _treeUtil.normalizeKeyList)([key], keyEntities, leafOnly);
|
|
534
|
-
const nodes = keyList.map(i => keyEntities[
|
|
541
|
+
const keyList = (0, _treeUtil.normalizeKeyList)([key], keyEntities, leafOnly, true);
|
|
542
|
+
const nodes = keyList.map(i => keyEntities[key] && keyEntities[key].data.key === key ? keyEntities[key].data : this.getDataForKeyNotInKeyEntities(key));
|
|
535
543
|
const value = (0, _treeUtil.getValueOrKey)(nodes);
|
|
536
544
|
const tagCls = (0, _classnames.default)("".concat(prefixcls, "-selection-tag"), {
|
|
537
545
|
["".concat(prefixcls, "-selection-tag-disabled")]: disabled
|
|
@@ -564,7 +572,7 @@ class TreeSelect extends _baseComponent.default {
|
|
|
564
572
|
const {
|
|
565
573
|
content,
|
|
566
574
|
isRenderInTag
|
|
567
|
-
} = treeNodeLabelProp in item
|
|
575
|
+
} = item && treeNodeLabelProp in item ? renderSelectedItem(item, {
|
|
568
576
|
index: idx,
|
|
569
577
|
onClose
|
|
570
578
|
}) : null;
|
|
@@ -602,7 +610,7 @@ class TreeSelect extends _baseComponent.default {
|
|
|
602
610
|
let keyList = [];
|
|
603
611
|
|
|
604
612
|
if (checkRelation === 'related') {
|
|
605
|
-
keyList = (0, _treeUtil.normalizeKeyList)(checkedKeys, keyEntities, leafOnly);
|
|
613
|
+
keyList = (0, _treeUtil.normalizeKeyList)(checkedKeys, keyEntities, leafOnly, true);
|
|
606
614
|
} else if (checkRelation === 'unRelated') {
|
|
607
615
|
keyList = [...realCheckedKeys];
|
|
608
616
|
} // auto focus search input divide into two parts
|
|
@@ -1328,7 +1336,7 @@ TreeSelect.propTypes = {
|
|
|
1328
1336
|
arrowIcon: _propTypes.default.node,
|
|
1329
1337
|
clearIcon: _propTypes.default.node,
|
|
1330
1338
|
defaultOpen: _propTypes.default.bool,
|
|
1331
|
-
defaultValue: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.array]),
|
|
1339
|
+
defaultValue: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.array, _propTypes.default.object]),
|
|
1332
1340
|
defaultExpandAll: _propTypes.default.bool,
|
|
1333
1341
|
defaultExpandedKeys: _propTypes.default.array,
|
|
1334
1342
|
expandAll: _propTypes.default.bool,
|
|
@@ -44,6 +44,10 @@ const getRenderText = function (originEle, rows) {
|
|
|
44
44
|
let ellipsisPos // eslint-disable-next-line max-params
|
|
45
45
|
= arguments.length > 6 ? arguments[6] : undefined;
|
|
46
46
|
|
|
47
|
+
if (content.length === 0) {
|
|
48
|
+
return '';
|
|
49
|
+
}
|
|
50
|
+
|
|
47
51
|
if (!ellipsisContainer) {
|
|
48
52
|
ellipsisContainer = document.createElement('div');
|
|
49
53
|
ellipsisContainer.setAttribute('aria-hidden', 'true');
|
package/lib/es/table/Table.js
CHANGED
|
@@ -1295,6 +1295,8 @@ class Table extends BaseComponent {
|
|
|
1295
1295
|
if (this.props.defaultExpandAllRows && handledProps.groups && handledProps.groups.size || this.props.expandAllRows || this.props.expandAllGroupRows) {
|
|
1296
1296
|
this.foundation.initExpandedRowKeys(handledProps);
|
|
1297
1297
|
}
|
|
1298
|
+
|
|
1299
|
+
states.pagination = handledProps.pagination;
|
|
1298
1300
|
} // Centrally update paging related state
|
|
1299
1301
|
|
|
1300
1302
|
|
|
@@ -107,7 +107,7 @@ declare class TreeSelect extends BaseComponent<TreeSelectProps, TreeSelectState>
|
|
|
107
107
|
arrowIcon: PropTypes.Requireable<PropTypes.ReactNodeLike>;
|
|
108
108
|
clearIcon: PropTypes.Requireable<PropTypes.ReactNodeLike>;
|
|
109
109
|
defaultOpen: PropTypes.Requireable<boolean>;
|
|
110
|
-
defaultValue: PropTypes.Requireable<NonNullable<string |
|
|
110
|
+
defaultValue: PropTypes.Requireable<NonNullable<string | object>>;
|
|
111
111
|
defaultExpandAll: PropTypes.Requireable<boolean>;
|
|
112
112
|
defaultExpandedKeys: PropTypes.Requireable<any[]>;
|
|
113
113
|
expandAll: PropTypes.Requireable<boolean>;
|
|
@@ -202,6 +202,7 @@ declare class TreeSelect extends BaseComponent<TreeSelectProps, TreeSelectState>
|
|
|
202
202
|
renderContent: () => JSX.Element;
|
|
203
203
|
removeTag: (removedKey: TreeNodeData['key']) => void;
|
|
204
204
|
handleClick: (e: React.MouseEvent) => void;
|
|
205
|
+
getDataForKeyNotInKeyEntities: (key: string) => any;
|
|
205
206
|
handleSelectionEnterPress: (e: React.KeyboardEvent<HTMLDivElement>) => void;
|
|
206
207
|
hasValue: () => boolean;
|
|
207
208
|
showClearBtn: () => boolean;
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
import _isNull from "lodash/isNull";
|
|
2
|
+
import _isUndefined from "lodash/isUndefined";
|
|
1
3
|
import _isFunction from "lodash/isFunction";
|
|
2
4
|
import _get from "lodash/get";
|
|
3
5
|
import _noop from "lodash/noop";
|
|
@@ -101,6 +103,10 @@ class TreeSelect extends BaseComponent {
|
|
|
101
103
|
this.handleClick = e => {
|
|
102
104
|
this.foundation.handleClick(e);
|
|
103
105
|
};
|
|
106
|
+
|
|
107
|
+
this.getDataForKeyNotInKeyEntities = key => {
|
|
108
|
+
return this.foundation.getDataForKeyNotInKeyEntities(key);
|
|
109
|
+
};
|
|
104
110
|
/* istanbul ignore next */
|
|
105
111
|
|
|
106
112
|
|
|
@@ -171,15 +177,15 @@ class TreeSelect extends BaseComponent {
|
|
|
171
177
|
let renderKeys = [];
|
|
172
178
|
|
|
173
179
|
if (checkRelation === 'related') {
|
|
174
|
-
renderKeys = normalizeKeyList([...checkedKeys], keyEntities, leafOnly);
|
|
180
|
+
renderKeys = normalizeKeyList([...checkedKeys], keyEntities, leafOnly, true);
|
|
175
181
|
} else if (checkRelation === 'unRelated' && Object.keys(keyEntities).length > 0) {
|
|
176
182
|
renderKeys = [...realCheckedKeys];
|
|
177
183
|
}
|
|
178
184
|
|
|
179
185
|
const tagList = []; // eslint-disable-next-line @typescript-eslint/no-shadow
|
|
180
186
|
|
|
181
|
-
renderKeys.forEach(key => {
|
|
182
|
-
const item = keyEntities[key].data;
|
|
187
|
+
renderKeys.forEach((key, index) => {
|
|
188
|
+
const item = keyEntities[key] && keyEntities[key].data.key === key ? keyEntities[key].data : this.getDataForKeyNotInKeyEntities(key);
|
|
183
189
|
|
|
184
190
|
const onClose = (tagContent, e) => {
|
|
185
191
|
if (e && typeof e.preventDefault === 'function') {
|
|
@@ -193,12 +199,12 @@ class TreeSelect extends BaseComponent {
|
|
|
193
199
|
const {
|
|
194
200
|
content,
|
|
195
201
|
isRenderInTag
|
|
196
|
-
} = treeNodeLabelProp in item
|
|
197
|
-
index
|
|
202
|
+
} = item && treeNodeLabelProp in item ? renderSelectedItem(item, {
|
|
203
|
+
index,
|
|
198
204
|
onClose
|
|
199
205
|
}) : null;
|
|
200
206
|
|
|
201
|
-
if (
|
|
207
|
+
if (_isNull(content) || _isUndefined(content)) {
|
|
202
208
|
return;
|
|
203
209
|
}
|
|
204
210
|
|
|
@@ -208,7 +214,7 @@ class TreeSelect extends BaseComponent {
|
|
|
208
214
|
color: 'white',
|
|
209
215
|
visible: true,
|
|
210
216
|
onClose,
|
|
211
|
-
key,
|
|
217
|
+
key: "tag-".concat(key, "-").concat(index),
|
|
212
218
|
size: size === 'small' ? 'small' : 'large'
|
|
213
219
|
};
|
|
214
220
|
|
|
@@ -421,7 +427,7 @@ class TreeSelect extends BaseComponent {
|
|
|
421
427
|
["".concat(prefixcls, "-with-suffix")]: suffix,
|
|
422
428
|
["".concat(prefixcls, "-with-suffix")]: suffix
|
|
423
429
|
}, className);
|
|
424
|
-
const triggerRenderKeys = multiple ? normalizeKeyList([...checkedKeys], keyEntities, leafOnly) : selectedKeys;
|
|
430
|
+
const triggerRenderKeys = multiple ? normalizeKeyList([...checkedKeys], keyEntities, leafOnly, true) : selectedKeys;
|
|
425
431
|
const inner = useCustomTrigger ? /*#__PURE__*/React.createElement(Trigger, {
|
|
426
432
|
inputValue: inputValue,
|
|
427
433
|
// eslint-disable-next-line @typescript-eslint/no-shadow
|
|
@@ -485,8 +491,8 @@ class TreeSelect extends BaseComponent {
|
|
|
485
491
|
renderSelectedItem: propRenderSelectedItem,
|
|
486
492
|
treeNodeLabelProp
|
|
487
493
|
} = this.props;
|
|
488
|
-
const keyList = normalizeKeyList([key], keyEntities, leafOnly);
|
|
489
|
-
const nodes = keyList.map(i => keyEntities[
|
|
494
|
+
const keyList = normalizeKeyList([key], keyEntities, leafOnly, true);
|
|
495
|
+
const nodes = keyList.map(i => keyEntities[key] && keyEntities[key].data.key === key ? keyEntities[key].data : this.getDataForKeyNotInKeyEntities(key));
|
|
490
496
|
const value = getValueOrKey(nodes);
|
|
491
497
|
const tagCls = cls("".concat(prefixcls, "-selection-tag"), {
|
|
492
498
|
["".concat(prefixcls, "-selection-tag-disabled")]: disabled
|
|
@@ -519,7 +525,7 @@ class TreeSelect extends BaseComponent {
|
|
|
519
525
|
const {
|
|
520
526
|
content,
|
|
521
527
|
isRenderInTag
|
|
522
|
-
} = treeNodeLabelProp in item
|
|
528
|
+
} = item && treeNodeLabelProp in item ? renderSelectedItem(item, {
|
|
523
529
|
index: idx,
|
|
524
530
|
onClose
|
|
525
531
|
}) : null;
|
|
@@ -557,7 +563,7 @@ class TreeSelect extends BaseComponent {
|
|
|
557
563
|
let keyList = [];
|
|
558
564
|
|
|
559
565
|
if (checkRelation === 'related') {
|
|
560
|
-
keyList = normalizeKeyList(checkedKeys, keyEntities, leafOnly);
|
|
566
|
+
keyList = normalizeKeyList(checkedKeys, keyEntities, leafOnly, true);
|
|
561
567
|
} else if (checkRelation === 'unRelated') {
|
|
562
568
|
keyList = [...realCheckedKeys];
|
|
563
569
|
} // auto focus search input divide into two parts
|
|
@@ -1282,7 +1288,7 @@ TreeSelect.propTypes = {
|
|
|
1282
1288
|
arrowIcon: PropTypes.node,
|
|
1283
1289
|
clearIcon: PropTypes.node,
|
|
1284
1290
|
defaultOpen: PropTypes.bool,
|
|
1285
|
-
defaultValue: PropTypes.oneOfType([PropTypes.string, PropTypes.array]),
|
|
1291
|
+
defaultValue: PropTypes.oneOfType([PropTypes.string, PropTypes.array, PropTypes.object]),
|
|
1286
1292
|
defaultExpandAll: PropTypes.bool,
|
|
1287
1293
|
defaultExpandedKeys: PropTypes.array,
|
|
1288
1294
|
expandAll: PropTypes.bool,
|
|
@@ -34,6 +34,10 @@ const getRenderText = function (originEle, rows) {
|
|
|
34
34
|
let ellipsisPos // eslint-disable-next-line max-params
|
|
35
35
|
= arguments.length > 6 ? arguments[6] : undefined;
|
|
36
36
|
|
|
37
|
+
if (content.length === 0) {
|
|
38
|
+
return '';
|
|
39
|
+
}
|
|
40
|
+
|
|
37
41
|
if (!ellipsisContainer) {
|
|
38
42
|
ellipsisContainer = document.createElement('div');
|
|
39
43
|
ellipsisContainer.setAttribute('aria-hidden', 'true');
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@douyinfe/semi-ui",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.26.0-beta.0",
|
|
4
4
|
"description": "",
|
|
5
5
|
"main": "lib/cjs/index.js",
|
|
6
6
|
"module": "lib/es/index.js",
|
|
@@ -17,12 +17,12 @@
|
|
|
17
17
|
"lib/*"
|
|
18
18
|
],
|
|
19
19
|
"dependencies": {
|
|
20
|
-
"@douyinfe/semi-animation": "2.
|
|
21
|
-
"@douyinfe/semi-animation-react": "2.
|
|
22
|
-
"@douyinfe/semi-foundation": "2.
|
|
23
|
-
"@douyinfe/semi-icons": "2.
|
|
24
|
-
"@douyinfe/semi-illustrations": "2.
|
|
25
|
-
"@douyinfe/semi-theme-default": "2.
|
|
20
|
+
"@douyinfe/semi-animation": "2.26.0-beta.0",
|
|
21
|
+
"@douyinfe/semi-animation-react": "2.26.0-beta.0",
|
|
22
|
+
"@douyinfe/semi-foundation": "2.26.0-beta.0",
|
|
23
|
+
"@douyinfe/semi-icons": "2.26.0-beta.0",
|
|
24
|
+
"@douyinfe/semi-illustrations": "2.26.0-beta.0",
|
|
25
|
+
"@douyinfe/semi-theme-default": "2.26.0-beta.0",
|
|
26
26
|
"async-validator": "^3.5.0",
|
|
27
27
|
"classnames": "^2.2.6",
|
|
28
28
|
"copy-text-to-clipboard": "^2.1.1",
|
|
@@ -69,7 +69,7 @@
|
|
|
69
69
|
],
|
|
70
70
|
"author": "",
|
|
71
71
|
"license": "MIT",
|
|
72
|
-
"gitHead": "
|
|
72
|
+
"gitHead": "97f744558e96e39201b54219f82ce64da7163b81",
|
|
73
73
|
"devDependencies": {
|
|
74
74
|
"@babel/plugin-proposal-decorators": "^7.15.8",
|
|
75
75
|
"@babel/plugin-transform-runtime": "^7.15.8",
|