@hi-ui/tag-input 4.1.3 → 4.1.5

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/CHANGELOG.md CHANGED
@@ -1,5 +1,17 @@
1
1
  # @hi-ui/tag-input
2
2
 
3
+ ## 4.1.5
4
+
5
+ ### Patch Changes
6
+
7
+ - [#3450](https://github.com/XiaoMi/hiui/pull/3450) [`0cea4d7`](https://github.com/XiaoMi/hiui/commit/0cea4d75c771b5db56f520821b53864051c33594) Thanks [@zyprepare](https://github.com/zyprepare)! - fix(tag-input): ensure at least one tag is displayed when container width is insufficient (#3449)
8
+
9
+ ## 4.1.4
10
+
11
+ ### Patch Changes
12
+
13
+ - [#3261](https://github.com/XiaoMi/hiui/pull/3261) [`b8c19048f`](https://github.com/XiaoMi/hiui/commit/b8c19048fe25147f344be4cd951740593aee8d12) Thanks [@zyprepare](https://github.com/zyprepare)! - fix(tag-input): 修复 TagInputMock 组件中标签最大数量逻辑及更新 tagsWidth 的处理方式 (#3260)
14
+
3
15
  ## 4.1.3
4
16
 
5
17
  ### Patch Changes
@@ -98,7 +98,8 @@ var TagInputMock = /*#__PURE__*/React.forwardRef(function (_a, ref) {
98
98
  if (wrap) {
99
99
  return tagList;
100
100
  }
101
- return tagList.slice(0, Math.min(tagList.length, containerWidth / tagWidth));
101
+ var maxCount = Math.min(tagList.length, containerWidth / tagWidth);
102
+ return tagList.slice(0, maxCount < 1 ? 1 : maxCount);
102
103
  }, [tagList, tagWidth, containerWidth, wrap]);
103
104
  var showTags = mergedTagList.length > 0;
104
105
  var showTagCount = !wrap && showTags;
@@ -143,17 +144,19 @@ var TagInputMock = /*#__PURE__*/React.forwardRef(function (_a, ref) {
143
144
  tagMaxCount = 0;
144
145
  }
145
146
  // 保底要展示 1 个
146
- setTagMaxCount(typeAssertion.isArrayNonEmpty(mergedTagList) && tagMaxCount < 1 ? 1 : tagMaxCount);
147
+ setTagMaxCount(typeAssertion.isArrayNonEmpty(mergedTagList) && tagMaxCount < 1 ? 0 : tagMaxCount);
147
148
  }, [tagsWidth, suffixWidth, getTagWidth, containerWidth, mergedTagList, suffix]);
148
149
  // mergedTagList 更新后同步更新 tagsWidth
149
150
  React.useEffect(function () {
150
- var updatedTagsWidth = {};
151
- mergedTagList.forEach(function (item) {
152
- var _a;
153
- var id = item.id;
154
- updatedTagsWidth[id] = (_a = tagsWidth[id]) !== null && _a !== void 0 ? _a : 0;
151
+ setTagsWidth(function (prev) {
152
+ var updatedTagsWidth = {};
153
+ mergedTagList.forEach(function (item) {
154
+ var _a;
155
+ var id = item.id;
156
+ updatedTagsWidth[id] = (_a = prev[id]) !== null && _a !== void 0 ? _a : 0;
157
+ });
158
+ return updatedTagsWidth;
155
159
  });
156
- setTagsWidth(updatedTagsWidth);
157
160
  }, [mergedTagList]);
158
161
  var onClearLatest = useLatest.useLatestCallback(onClear);
159
162
  var handleClear = React.useCallback(function (evt) {
@@ -85,7 +85,8 @@ var TagInputMock = /*#__PURE__*/forwardRef(function (_a, ref) {
85
85
  if (wrap) {
86
86
  return tagList;
87
87
  }
88
- return tagList.slice(0, Math.min(tagList.length, containerWidth / tagWidth));
88
+ var maxCount = Math.min(tagList.length, containerWidth / tagWidth);
89
+ return tagList.slice(0, maxCount < 1 ? 1 : maxCount);
89
90
  }, [tagList, tagWidth, containerWidth, wrap]);
90
91
  var showTags = mergedTagList.length > 0;
91
92
  var showTagCount = !wrap && showTags;
@@ -130,17 +131,19 @@ var TagInputMock = /*#__PURE__*/forwardRef(function (_a, ref) {
130
131
  tagMaxCount = 0;
131
132
  }
132
133
  // 保底要展示 1 个
133
- setTagMaxCount(isArrayNonEmpty(mergedTagList) && tagMaxCount < 1 ? 1 : tagMaxCount);
134
+ setTagMaxCount(isArrayNonEmpty(mergedTagList) && tagMaxCount < 1 ? 0 : tagMaxCount);
134
135
  }, [tagsWidth, suffixWidth, getTagWidth, containerWidth, mergedTagList, suffix]);
135
136
  // mergedTagList 更新后同步更新 tagsWidth
136
137
  useEffect(function () {
137
- var updatedTagsWidth = {};
138
- mergedTagList.forEach(function (item) {
139
- var _a;
140
- var id = item.id;
141
- updatedTagsWidth[id] = (_a = tagsWidth[id]) !== null && _a !== void 0 ? _a : 0;
138
+ setTagsWidth(function (prev) {
139
+ var updatedTagsWidth = {};
140
+ mergedTagList.forEach(function (item) {
141
+ var _a;
142
+ var id = item.id;
143
+ updatedTagsWidth[id] = (_a = prev[id]) !== null && _a !== void 0 ? _a : 0;
144
+ });
145
+ return updatedTagsWidth;
142
146
  });
143
- setTagsWidth(updatedTagsWidth);
144
147
  }, [mergedTagList]);
145
148
  var onClearLatest = useLatestCallback(onClear);
146
149
  var handleClear = useCallback(function (evt) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@hi-ui/tag-input",
3
- "version": "4.1.3",
3
+ "version": "4.1.5",
4
4
  "description": "A sub-package for @hi-ui/hiui.",
5
5
  "keywords": [],
6
6
  "author": "HiUI <mi-hiui@xiaomi.com>",