@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.
@@ -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 | any[]>>;
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 && item ? renderSelectedItem(item, {
244
- index: key,
251
+ } = item && treeNodeLabelProp in item ? renderSelectedItem(item, {
252
+ index,
245
253
  onClose
246
254
  }) : null;
247
255
 
248
- if (!content) {
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[i].data);
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 && item ? renderSelectedItem(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');
@@ -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 | any[]>>;
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 && item ? renderSelectedItem(item, {
197
- index: key,
202
+ } = item && treeNodeLabelProp in item ? renderSelectedItem(item, {
203
+ index,
198
204
  onClose
199
205
  }) : null;
200
206
 
201
- if (!content) {
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[i].data);
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 && item ? renderSelectedItem(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.25.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.25.2",
21
- "@douyinfe/semi-animation-react": "2.25.2",
22
- "@douyinfe/semi-foundation": "2.25.2",
23
- "@douyinfe/semi-icons": "2.25.2",
24
- "@douyinfe/semi-illustrations": "2.25.2",
25
- "@douyinfe/semi-theme-default": "2.25.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": "d1cdea565d328c70a4de8636aed30c88f60732dd",
72
+ "gitHead": "97f744558e96e39201b54219f82ce64da7163b81",
73
73
  "devDependencies": {
74
74
  "@babel/plugin-proposal-decorators": "^7.15.8",
75
75
  "@babel/plugin-transform-runtime": "^7.15.8",