@hi-ui/tree-select 4.1.0 → 4.1.2

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,54 @@
1
1
  # @hi-ui/tree-select
2
2
 
3
+ ## 4.1.2
4
+
5
+ ### Patch Changes
6
+
7
+ - fix: 修复 rollup3 打包 cjs 模块问题
8
+ - Updated dependencies
9
+ - @hi-ui/env@4.0.3
10
+ - @hi-ui/core@4.0.7
11
+ - @hi-ui/use-data-source@4.0.3
12
+ - @hi-ui/use-search-mode@4.1.3
13
+ - @hi-ui/use-toggle@4.0.3
14
+ - @hi-ui/use-uncontrolled-state@4.0.3
15
+ - @hi-ui/icons@4.0.17
16
+ - @hi-ui/highlighter@4.0.7
17
+ - @hi-ui/input@4.0.12
18
+ - @hi-ui/picker@4.1.3
19
+ - @hi-ui/popper@4.1.2
20
+ - @hi-ui/tree@4.5.7
21
+ - @hi-ui/array-utils@4.0.3
22
+ - @hi-ui/classname@4.0.3
23
+ - @hi-ui/func-utils@4.0.3
24
+ - @hi-ui/tree-utils@4.1.3
25
+ - @hi-ui/type-assertion@4.0.3
26
+
27
+ ## 4.1.1
28
+
29
+ ### Patch Changes
30
+
31
+ - [#2672](https://github.com/XiaoMi/hiui/pull/2672) [`1ebe27830`](https://github.com/XiaoMi/hiui/commit/1ebe2783098b3a8cd980bd10076d67635463800e) Thanks [@zyprepare](https://github.com/zyprepare)! - build: 升级到 rollup3,重新构建发布组件
32
+
33
+ - Updated dependencies [[`1ebe27830`](https://github.com/XiaoMi/hiui/commit/1ebe2783098b3a8cd980bd10076d67635463800e)]:
34
+ - @hi-ui/core@4.0.6
35
+ - @hi-ui/use-data-source@4.0.2
36
+ - @hi-ui/use-search-mode@4.1.2
37
+ - @hi-ui/use-toggle@4.0.2
38
+ - @hi-ui/use-uncontrolled-state@4.0.2
39
+ - @hi-ui/icons@4.0.16
40
+ - @hi-ui/highlighter@4.0.6
41
+ - @hi-ui/input@4.0.11
42
+ - @hi-ui/picker@4.1.2
43
+ - @hi-ui/popper@4.1.1
44
+ - @hi-ui/tree@4.5.6
45
+ - @hi-ui/array-utils@4.0.2
46
+ - @hi-ui/classname@4.0.2
47
+ - @hi-ui/env@4.0.2
48
+ - @hi-ui/func-utils@4.0.2
49
+ - @hi-ui/tree-utils@4.1.2
50
+ - @hi-ui/type-assertion@4.0.2
51
+
3
52
  ## 4.1.0
4
53
 
5
54
  ### Minor Changes
@@ -10,120 +10,94 @@
10
10
  'use strict';
11
11
 
12
12
  var _typeof = require("@babel/runtime/helpers/typeof");
13
-
14
13
  Object.defineProperty(exports, '__esModule', {
15
14
  value: true
16
15
  });
17
-
18
16
  var tslib = require('tslib');
19
-
20
17
  var React = require('react');
21
-
22
18
  var classname = require('@hi-ui/classname');
23
-
24
19
  var env = require('@hi-ui/env');
25
-
26
20
  var useToggle = require('@hi-ui/use-toggle');
27
-
28
21
  var tree = require('@hi-ui/tree');
29
-
30
22
  var useUncontrolledState = require('@hi-ui/use-uncontrolled-state');
31
-
32
23
  var picker = require('@hi-ui/picker');
33
-
34
24
  var treeUtils = require('@hi-ui/tree-utils');
35
-
36
25
  var typeAssertion = require('@hi-ui/type-assertion');
37
-
38
26
  var arrayUtils = require('@hi-ui/array-utils');
39
-
40
27
  var highlighter = require('@hi-ui/highlighter');
41
-
42
28
  var input = require('@hi-ui/input');
43
-
44
29
  var icons = require('@hi-ui/icons');
45
-
46
30
  var core = require('@hi-ui/core');
47
-
48
31
  var funcUtils = require('@hi-ui/func-utils');
49
-
50
32
  var useSearchMode = require('@hi-ui/use-search-mode');
51
-
52
- function _interopDefaultLegacy(e) {
33
+ function _interopDefaultCompat(e) {
53
34
  return e && _typeof(e) === 'object' && 'default' in e ? e : {
54
35
  'default': e
55
36
  };
56
37
  }
57
-
58
- var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
59
-
38
+ var React__default = /*#__PURE__*/_interopDefaultCompat(React);
60
39
  var TREE_SELECT_PREFIX = classname.getPrefixCls('tree-select');
61
- var DEFAULT_DATA = []; // const DEFAULT_VALUE = [] as []
62
-
40
+ var DEFAULT_DATA = [];
41
+ // const DEFAULT_VALUE = [] as []
63
42
  var DEFAULT_FIELD_NAMES = {};
64
43
  var DEFAULT_EXPANDED_IDS = [];
65
44
  /**
66
45
  * 树形选择器
67
46
  */
68
-
69
47
  var TreeSelect = /*#__PURE__*/React.forwardRef(function (_a, ref) {
70
48
  var _a$prefixCls = _a.prefixCls,
71
- prefixCls = _a$prefixCls === void 0 ? TREE_SELECT_PREFIX : _a$prefixCls,
72
- className = _a.className,
73
- _a$data = _a.data,
74
- data = _a$data === void 0 ? DEFAULT_DATA : _a$data,
75
- dataSource = _a.dataSource,
76
- _a$disabled = _a.disabled,
77
- disabled = _a$disabled === void 0 ? false : _a$disabled,
78
- visible = _a.visible,
79
- onOpen = _a.onOpen,
80
- onClose = _a.onClose,
81
- _a$fieldNames = _a.fieldNames,
82
- fieldNames = _a$fieldNames === void 0 ? DEFAULT_FIELD_NAMES : _a$fieldNames,
83
- _a$defaultExpandAll = _a.defaultExpandAll,
84
- defaultExpandAll = _a$defaultExpandAll === void 0 ? false : _a$defaultExpandAll,
85
- expandedIdsProp = _a.expandedIds,
86
- _a$defaultExpandedIds = _a.defaultExpandedIds,
87
- defaultExpandedIds = _a$defaultExpandedIds === void 0 ? DEFAULT_EXPANDED_IDS : _a$defaultExpandedIds,
88
- onExpand = _a.onExpand,
89
- _a$defaultValue = _a.defaultValue,
90
- defaultValue = _a$defaultValue === void 0 ? '' : _a$defaultValue,
91
- valueProp = _a.value,
92
- onChange = _a.onChange,
93
- searchableProp = _a.searchable,
94
- searchModeProp = _a.searchMode,
95
- onLoadChildren = _a.onLoadChildren,
96
- titleRender = _a.render,
97
- filterOption = _a.filterOption,
98
- onSearchProp = _a.onSearch,
99
- clearable = _a.clearable,
100
- invalid = _a.invalid,
101
- displayRenderProp = _a.displayRender,
102
- placeholderProp = _a.placeholder,
103
- appearance = _a.appearance,
104
- virtual = _a.virtual,
105
- itemHeight = _a.itemHeight,
106
- height = _a.height,
107
- _a$size = _a.size,
108
- size = _a$size === void 0 ? 'md' : _a$size,
109
- rest = tslib.__rest(_a, ["prefixCls", "role", "className", "data", "dataSource", "disabled", "visible", "onOpen", "onClose", "fieldNames", "defaultExpandAll", "expandedIds", "defaultExpandedIds", "onExpand", "defaultValue", "value", "onChange", "searchable", "searchMode", "onLoadChildren", "render", "filterOption", "onSearch", "clearable", "invalid", "displayRender", "placeholder", "appearance", "virtual", "itemHeight", "height", "size"]);
110
-
49
+ prefixCls = _a$prefixCls === void 0 ? TREE_SELECT_PREFIX : _a$prefixCls,
50
+ className = _a.className,
51
+ _a$data = _a.data,
52
+ data = _a$data === void 0 ? DEFAULT_DATA : _a$data,
53
+ dataSource = _a.dataSource,
54
+ _a$disabled = _a.disabled,
55
+ disabled = _a$disabled === void 0 ? false : _a$disabled,
56
+ visible = _a.visible,
57
+ onOpen = _a.onOpen,
58
+ onClose = _a.onClose,
59
+ _a$fieldNames = _a.fieldNames,
60
+ fieldNames = _a$fieldNames === void 0 ? DEFAULT_FIELD_NAMES : _a$fieldNames,
61
+ _a$defaultExpandAll = _a.defaultExpandAll,
62
+ defaultExpandAll = _a$defaultExpandAll === void 0 ? false : _a$defaultExpandAll,
63
+ expandedIdsProp = _a.expandedIds,
64
+ _a$defaultExpandedIds = _a.defaultExpandedIds,
65
+ defaultExpandedIds = _a$defaultExpandedIds === void 0 ? DEFAULT_EXPANDED_IDS : _a$defaultExpandedIds,
66
+ onExpand = _a.onExpand,
67
+ _a$defaultValue = _a.defaultValue,
68
+ defaultValue = _a$defaultValue === void 0 ? '' : _a$defaultValue,
69
+ valueProp = _a.value,
70
+ onChange = _a.onChange,
71
+ searchableProp = _a.searchable,
72
+ searchModeProp = _a.searchMode,
73
+ onLoadChildren = _a.onLoadChildren,
74
+ titleRender = _a.render,
75
+ filterOption = _a.filterOption,
76
+ onSearchProp = _a.onSearch,
77
+ clearable = _a.clearable,
78
+ invalid = _a.invalid,
79
+ displayRenderProp = _a.displayRender,
80
+ placeholderProp = _a.placeholder,
81
+ appearance = _a.appearance,
82
+ virtual = _a.virtual,
83
+ itemHeight = _a.itemHeight,
84
+ height = _a.height,
85
+ _a$size = _a.size,
86
+ size = _a$size === void 0 ? 'md' : _a$size,
87
+ rest = tslib.__rest(_a, ["prefixCls", "role", "className", "data", "dataSource", "disabled", "visible", "onOpen", "onClose", "fieldNames", "defaultExpandAll", "expandedIds", "defaultExpandedIds", "onExpand", "defaultValue", "value", "onChange", "searchable", "searchMode", "onLoadChildren", "render", "filterOption", "onSearch", "clearable", "invalid", "displayRender", "placeholder", "appearance", "virtual", "itemHeight", "height", "size"]);
111
88
  var i18n = core.useLocaleContext();
112
89
  var placeholder = typeAssertion.isUndef(placeholderProp) ? i18n.get('treeSelect.placeholder') : placeholderProp;
113
-
114
90
  var _useUncontrolledToggl = useToggle.useUncontrolledToggle({
115
- visible: visible,
116
- disabled: disabled,
117
- onOpen: onOpen,
118
- onClose: onClose
119
- }),
120
- menuVisible = _useUncontrolledToggl[0],
121
- menuVisibleAction = _useUncontrolledToggl[1];
91
+ visible: visible,
92
+ disabled: disabled,
93
+ onOpen: onOpen,
94
+ onClose: onClose
95
+ }),
96
+ menuVisible = _useUncontrolledToggl[0],
97
+ menuVisibleAction = _useUncontrolledToggl[1];
122
98
  /**
123
99
  * 转换对象
124
100
  */
125
-
126
-
127
101
  var getKeyFields = React.useCallback(function (node, key) {
128
102
  return node[fieldNames[key] || key];
129
103
  }, [fieldNames]);
@@ -135,7 +109,6 @@ var TreeSelect = /*#__PURE__*/React.forwardRef(function (_a, ref) {
135
109
  },
136
110
  transform: function transform(node) {
137
111
  var _a, _b;
138
-
139
112
  var flattedNode = node;
140
113
  var raw = node.raw;
141
114
  flattedNode.id = getKeyFields(raw, 'id');
@@ -145,50 +118,44 @@ var TreeSelect = /*#__PURE__*/React.forwardRef(function (_a, ref) {
145
118
  return flattedNode;
146
119
  }
147
120
  });
148
- }, [data, getKeyFields]); // TODO: 抽离展开hook
121
+ }, [data, getKeyFields]);
122
+ // TODO: 抽离展开hook
149
123
  // TODO: onLoadChildren 和 defaultExpandAll 共存时
150
-
151
124
  var _useUncontrolledState = useUncontrolledState.useUncontrolledState(function getDefaultExpandedIds() {
152
- // 开启默认展开全部
153
- if (defaultExpandAll) {
154
- return flattedData.map(function (node) {
155
- return node.id;
156
- });
157
- }
158
-
159
- return defaultExpandedIds;
160
- }, expandedIdsProp, onExpand),
161
- expandedIds = _useUncontrolledState[0],
162
- tryChangeExpandedIds = _useUncontrolledState[1];
163
-
125
+ // 开启默认展开全部
126
+ if (defaultExpandAll) {
127
+ return flattedData.map(function (node) {
128
+ return node.id;
129
+ });
130
+ }
131
+ return defaultExpandedIds;
132
+ }, expandedIdsProp, onExpand),
133
+ expandedIds = _useUncontrolledState[0],
134
+ tryChangeExpandedIds = _useUncontrolledState[1];
164
135
  var _useUncontrolledState2 = useUncontrolledState.useUncontrolledState(defaultValue, valueProp, onChange),
165
- value = _useUncontrolledState2[0],
166
- tryChangeValue = _useUncontrolledState2[1];
167
-
136
+ value = _useUncontrolledState2[0],
137
+ tryChangeValue = _useUncontrolledState2[1];
168
138
  var onSelect = React.useCallback(function (selectedId, selectedNode) {
169
139
  // 关闭反选功能
170
140
  if (selectedId) {
171
141
  tryChangeValue(selectedId, selectedNode);
172
142
  setSelectedItem(selectedNode);
173
- } // 关闭弹窗
174
-
175
-
143
+ }
144
+ // 关闭弹窗
176
145
  menuVisibleAction.off();
177
- }, [menuVisibleAction, tryChangeValue]); // 搜索时临时选中缓存数据
178
-
146
+ }, [menuVisibleAction, tryChangeValue]);
147
+ // 搜索时临时选中缓存数据
179
148
  var _useState = React.useState(null),
180
- selectedItem = _useState[0],
181
- setSelectedItem = _useState[1]; // ************************** 异步搜索 ************************* //
149
+ selectedItem = _useState[0],
150
+ setSelectedItem = _useState[1];
151
+ // ************************** 异步搜索 ************************* //
182
152
  // const { loading, hasError, loadRemoteData } = useDataSource({ dataSource, validate: isArray })
183
-
184
-
185
153
  var _b = useSearchMode.useAsyncSearch({
186
- dataSource: dataSource
187
- }),
188
- loading = _b.loading,
189
- hasError = _b.hasError,
190
- dataSourceStrategy = tslib.__rest(_b, ["loading", "hasError"]);
191
-
154
+ dataSource: dataSource
155
+ }),
156
+ loading = _b.loading,
157
+ hasError = _b.hasError,
158
+ dataSourceStrategy = tslib.__rest(_b, ["loading", "hasError"]);
192
159
  var customSearchStrategy = useSearchMode.useTreeCustomSearch({
193
160
  data: data,
194
161
  filterOption: filterOption
@@ -204,27 +171,23 @@ var TreeSelect = /*#__PURE__*/React.forwardRef(function (_a, ref) {
204
171
  flattedData: flattedData,
205
172
  searchMode: searchModeProp
206
173
  });
207
-
208
174
  var _useSearchMode = useSearchMode.useSearchMode({
209
- searchable: searchableProp,
210
- strategies: [dataSourceStrategy, customSearchStrategy, filterSearchStrategy, highlightSearchStrategy]
211
- }),
212
- stateInSearch = _useSearchMode.state,
213
- setStateInSearch = _useSearchMode.setStateInSearch,
214
- searchable = _useSearchMode.searchable,
215
- searchMode = _useSearchMode.searchMode,
216
- onSearch = _useSearchMode.onSearch,
217
- searchValue = _useSearchMode.keyword; // 拦截 titleRender,自定义高亮展示
218
-
219
-
175
+ searchable: searchableProp,
176
+ strategies: [dataSourceStrategy, customSearchStrategy, filterSearchStrategy, highlightSearchStrategy]
177
+ }),
178
+ stateInSearch = _useSearchMode.state,
179
+ setStateInSearch = _useSearchMode.setStateInSearch,
180
+ searchable = _useSearchMode.searchable,
181
+ searchMode = _useSearchMode.searchMode,
182
+ onSearch = _useSearchMode.onSearch,
183
+ searchValue = _useSearchMode.keyword;
184
+ // 拦截 titleRender,自定义高亮展示
220
185
  var proxyTitleRender = React.useCallback(function (node) {
221
186
  if (titleRender) {
222
187
  var _ret = titleRender(node);
223
-
224
188
  if (_ret && _ret !== true) return _ret;
225
- } // 本地搜索执行默认高亮规则
226
-
227
-
189
+ }
190
+ // 本地搜索执行默认高亮规则
228
191
  var highlight = !!searchValue && (searchMode === 'highlight' || searchMode === 'filter');
229
192
  var ret = highlight ? /*#__PURE__*/React__default["default"].createElement(highlighter.Highlighter, {
230
193
  keyword: searchValue
@@ -243,14 +206,13 @@ var TreeSelect = /*#__PURE__*/React.forwardRef(function (_a, ref) {
243
206
  });
244
207
  } : tryChangeExpandedIds,
245
208
  render: proxyTitleRender
246
- }; // 下拉菜单不能合并(因为树形数据,不知道是第几级)
247
-
209
+ };
210
+ // 下拉菜单不能合并(因为树形数据,不知道是第几级)
248
211
  var mergedData = React.useMemo(function () {
249
212
  if (selectedItem) {
250
213
  var nextData = [selectedItem].concat(flattedData);
251
214
  return arrayUtils.uniqBy(nextData, 'id');
252
215
  }
253
-
254
216
  return flattedData;
255
217
  }, [selectedItem, flattedData]);
256
218
  var cls = classname.cx(prefixCls, className);
@@ -268,7 +230,8 @@ var TreeSelect = /*#__PURE__*/React.forwardRef(function (_a, ref) {
268
230
  searchable: searchable,
269
231
  onSearch: funcUtils.callAllFuncs(onSearchProp, onSearch),
270
232
  loading: rest.loading !== undefined ? rest.loading : loading,
271
- trigger: /*#__PURE__*/React__default["default"].createElement(input.MockInput // disabled={disabled}
233
+ trigger: /*#__PURE__*/React__default["default"].createElement(input.MockInput
234
+ // disabled={disabled}
272
235
  , {
273
236
  // disabled={disabled}
274
237
  size: size,
@@ -284,7 +247,7 @@ var TreeSelect = /*#__PURE__*/React.forwardRef(function (_a, ref) {
284
247
  invalid: invalid,
285
248
  appearance: appearance
286
249
  })
287
- }), typeAssertion.isArrayNonEmpty(treeProps.data) ? /*#__PURE__*/React__default["default"].createElement(tree.Tree, Object.assign({
250
+ }), typeAssertion.isArrayNonEmpty(treeProps.data) ? ( /*#__PURE__*/React__default["default"].createElement(tree.Tree, Object.assign({
288
251
  size: 'md',
289
252
  className: prefixCls + "__tree",
290
253
  selectable: true,
@@ -297,11 +260,9 @@ var TreeSelect = /*#__PURE__*/React.forwardRef(function (_a, ref) {
297
260
  virtual: virtual,
298
261
  itemHeight: itemHeight,
299
262
  height: height
300
- }, treeProps)) : null);
263
+ }, treeProps))) : null);
301
264
  });
302
-
303
265
  if (env.__DEV__) {
304
266
  TreeSelect.displayName = 'TreeSelect';
305
267
  }
306
-
307
268
  exports.TreeSelect = TreeSelect;
package/lib/cjs/index.js CHANGED
@@ -12,10 +12,7 @@
12
12
  Object.defineProperty(exports, '__esModule', {
13
13
  value: true
14
14
  });
15
-
16
15
  require('./styles/index.scss.js');
17
-
18
16
  var TreeSelect = require('./TreeSelect.js');
19
-
20
17
  exports.TreeSelect = TreeSelect.TreeSelect;
21
18
  exports["default"] = TreeSelect.TreeSelect;
@@ -13,9 +13,6 @@ Object.defineProperty(exports, '__esModule', {
13
13
  value: true
14
14
  });
15
15
  var css_248z = "";
16
-
17
16
  var __styleInject__ = require('style-inject')["default"];
18
-
19
17
  __styleInject__(css_248z);
20
-
21
18
  exports["default"] = css_248z;
@@ -25,72 +25,67 @@ import { useLocaleContext } from '@hi-ui/core';
25
25
  import { callAllFuncs } from '@hi-ui/func-utils';
26
26
  import { useAsyncSearch, useTreeCustomSearch, useFilterSearch, useHighlightSearch, useSearchMode } from '@hi-ui/use-search-mode';
27
27
  var TREE_SELECT_PREFIX = getPrefixCls('tree-select');
28
- var DEFAULT_DATA = []; // const DEFAULT_VALUE = [] as []
29
-
28
+ var DEFAULT_DATA = [];
29
+ // const DEFAULT_VALUE = [] as []
30
30
  var DEFAULT_FIELD_NAMES = {};
31
31
  var DEFAULT_EXPANDED_IDS = [];
32
32
  /**
33
33
  * 树形选择器
34
34
  */
35
-
36
35
  var TreeSelect = /*#__PURE__*/forwardRef(function (_a, ref) {
37
36
  var _a$prefixCls = _a.prefixCls,
38
- prefixCls = _a$prefixCls === void 0 ? TREE_SELECT_PREFIX : _a$prefixCls,
39
- className = _a.className,
40
- _a$data = _a.data,
41
- data = _a$data === void 0 ? DEFAULT_DATA : _a$data,
42
- dataSource = _a.dataSource,
43
- _a$disabled = _a.disabled,
44
- disabled = _a$disabled === void 0 ? false : _a$disabled,
45
- visible = _a.visible,
46
- onOpen = _a.onOpen,
47
- onClose = _a.onClose,
48
- _a$fieldNames = _a.fieldNames,
49
- fieldNames = _a$fieldNames === void 0 ? DEFAULT_FIELD_NAMES : _a$fieldNames,
50
- _a$defaultExpandAll = _a.defaultExpandAll,
51
- defaultExpandAll = _a$defaultExpandAll === void 0 ? false : _a$defaultExpandAll,
52
- expandedIdsProp = _a.expandedIds,
53
- _a$defaultExpandedIds = _a.defaultExpandedIds,
54
- defaultExpandedIds = _a$defaultExpandedIds === void 0 ? DEFAULT_EXPANDED_IDS : _a$defaultExpandedIds,
55
- onExpand = _a.onExpand,
56
- _a$defaultValue = _a.defaultValue,
57
- defaultValue = _a$defaultValue === void 0 ? '' : _a$defaultValue,
58
- valueProp = _a.value,
59
- onChange = _a.onChange,
60
- searchableProp = _a.searchable,
61
- searchModeProp = _a.searchMode,
62
- onLoadChildren = _a.onLoadChildren,
63
- titleRender = _a.render,
64
- filterOption = _a.filterOption,
65
- onSearchProp = _a.onSearch,
66
- clearable = _a.clearable,
67
- invalid = _a.invalid,
68
- displayRenderProp = _a.displayRender,
69
- placeholderProp = _a.placeholder,
70
- appearance = _a.appearance,
71
- virtual = _a.virtual,
72
- itemHeight = _a.itemHeight,
73
- height = _a.height,
74
- _a$size = _a.size,
75
- size = _a$size === void 0 ? 'md' : _a$size,
76
- rest = __rest(_a, ["prefixCls", "role", "className", "data", "dataSource", "disabled", "visible", "onOpen", "onClose", "fieldNames", "defaultExpandAll", "expandedIds", "defaultExpandedIds", "onExpand", "defaultValue", "value", "onChange", "searchable", "searchMode", "onLoadChildren", "render", "filterOption", "onSearch", "clearable", "invalid", "displayRender", "placeholder", "appearance", "virtual", "itemHeight", "height", "size"]);
77
-
37
+ prefixCls = _a$prefixCls === void 0 ? TREE_SELECT_PREFIX : _a$prefixCls,
38
+ className = _a.className,
39
+ _a$data = _a.data,
40
+ data = _a$data === void 0 ? DEFAULT_DATA : _a$data,
41
+ dataSource = _a.dataSource,
42
+ _a$disabled = _a.disabled,
43
+ disabled = _a$disabled === void 0 ? false : _a$disabled,
44
+ visible = _a.visible,
45
+ onOpen = _a.onOpen,
46
+ onClose = _a.onClose,
47
+ _a$fieldNames = _a.fieldNames,
48
+ fieldNames = _a$fieldNames === void 0 ? DEFAULT_FIELD_NAMES : _a$fieldNames,
49
+ _a$defaultExpandAll = _a.defaultExpandAll,
50
+ defaultExpandAll = _a$defaultExpandAll === void 0 ? false : _a$defaultExpandAll,
51
+ expandedIdsProp = _a.expandedIds,
52
+ _a$defaultExpandedIds = _a.defaultExpandedIds,
53
+ defaultExpandedIds = _a$defaultExpandedIds === void 0 ? DEFAULT_EXPANDED_IDS : _a$defaultExpandedIds,
54
+ onExpand = _a.onExpand,
55
+ _a$defaultValue = _a.defaultValue,
56
+ defaultValue = _a$defaultValue === void 0 ? '' : _a$defaultValue,
57
+ valueProp = _a.value,
58
+ onChange = _a.onChange,
59
+ searchableProp = _a.searchable,
60
+ searchModeProp = _a.searchMode,
61
+ onLoadChildren = _a.onLoadChildren,
62
+ titleRender = _a.render,
63
+ filterOption = _a.filterOption,
64
+ onSearchProp = _a.onSearch,
65
+ clearable = _a.clearable,
66
+ invalid = _a.invalid,
67
+ displayRenderProp = _a.displayRender,
68
+ placeholderProp = _a.placeholder,
69
+ appearance = _a.appearance,
70
+ virtual = _a.virtual,
71
+ itemHeight = _a.itemHeight,
72
+ height = _a.height,
73
+ _a$size = _a.size,
74
+ size = _a$size === void 0 ? 'md' : _a$size,
75
+ rest = __rest(_a, ["prefixCls", "role", "className", "data", "dataSource", "disabled", "visible", "onOpen", "onClose", "fieldNames", "defaultExpandAll", "expandedIds", "defaultExpandedIds", "onExpand", "defaultValue", "value", "onChange", "searchable", "searchMode", "onLoadChildren", "render", "filterOption", "onSearch", "clearable", "invalid", "displayRender", "placeholder", "appearance", "virtual", "itemHeight", "height", "size"]);
78
76
  var i18n = useLocaleContext();
79
77
  var placeholder = isUndef(placeholderProp) ? i18n.get('treeSelect.placeholder') : placeholderProp;
80
-
81
78
  var _useUncontrolledToggl = useUncontrolledToggle({
82
- visible: visible,
83
- disabled: disabled,
84
- onOpen: onOpen,
85
- onClose: onClose
86
- }),
87
- menuVisible = _useUncontrolledToggl[0],
88
- menuVisibleAction = _useUncontrolledToggl[1];
79
+ visible: visible,
80
+ disabled: disabled,
81
+ onOpen: onOpen,
82
+ onClose: onClose
83
+ }),
84
+ menuVisible = _useUncontrolledToggl[0],
85
+ menuVisibleAction = _useUncontrolledToggl[1];
89
86
  /**
90
87
  * 转换对象
91
88
  */
92
-
93
-
94
89
  var getKeyFields = useCallback(function (node, key) {
95
90
  return node[fieldNames[key] || key];
96
91
  }, [fieldNames]);
@@ -102,7 +97,6 @@ var TreeSelect = /*#__PURE__*/forwardRef(function (_a, ref) {
102
97
  },
103
98
  transform: function transform(node) {
104
99
  var _a, _b;
105
-
106
100
  var flattedNode = node;
107
101
  var raw = node.raw;
108
102
  flattedNode.id = getKeyFields(raw, 'id');
@@ -112,50 +106,44 @@ var TreeSelect = /*#__PURE__*/forwardRef(function (_a, ref) {
112
106
  return flattedNode;
113
107
  }
114
108
  });
115
- }, [data, getKeyFields]); // TODO: 抽离展开hook
109
+ }, [data, getKeyFields]);
110
+ // TODO: 抽离展开hook
116
111
  // TODO: onLoadChildren 和 defaultExpandAll 共存时
117
-
118
112
  var _useUncontrolledState = useUncontrolledState(function getDefaultExpandedIds() {
119
- // 开启默认展开全部
120
- if (defaultExpandAll) {
121
- return flattedData.map(function (node) {
122
- return node.id;
123
- });
124
- }
125
-
126
- return defaultExpandedIds;
127
- }, expandedIdsProp, onExpand),
128
- expandedIds = _useUncontrolledState[0],
129
- tryChangeExpandedIds = _useUncontrolledState[1];
130
-
113
+ // 开启默认展开全部
114
+ if (defaultExpandAll) {
115
+ return flattedData.map(function (node) {
116
+ return node.id;
117
+ });
118
+ }
119
+ return defaultExpandedIds;
120
+ }, expandedIdsProp, onExpand),
121
+ expandedIds = _useUncontrolledState[0],
122
+ tryChangeExpandedIds = _useUncontrolledState[1];
131
123
  var _useUncontrolledState2 = useUncontrolledState(defaultValue, valueProp, onChange),
132
- value = _useUncontrolledState2[0],
133
- tryChangeValue = _useUncontrolledState2[1];
134
-
124
+ value = _useUncontrolledState2[0],
125
+ tryChangeValue = _useUncontrolledState2[1];
135
126
  var onSelect = useCallback(function (selectedId, selectedNode) {
136
127
  // 关闭反选功能
137
128
  if (selectedId) {
138
129
  tryChangeValue(selectedId, selectedNode);
139
130
  setSelectedItem(selectedNode);
140
- } // 关闭弹窗
141
-
142
-
131
+ }
132
+ // 关闭弹窗
143
133
  menuVisibleAction.off();
144
- }, [menuVisibleAction, tryChangeValue]); // 搜索时临时选中缓存数据
145
-
134
+ }, [menuVisibleAction, tryChangeValue]);
135
+ // 搜索时临时选中缓存数据
146
136
  var _useState = useState(null),
147
- selectedItem = _useState[0],
148
- setSelectedItem = _useState[1]; // ************************** 异步搜索 ************************* //
137
+ selectedItem = _useState[0],
138
+ setSelectedItem = _useState[1];
139
+ // ************************** 异步搜索 ************************* //
149
140
  // const { loading, hasError, loadRemoteData } = useDataSource({ dataSource, validate: isArray })
150
-
151
-
152
141
  var _b = useAsyncSearch({
153
- dataSource: dataSource
154
- }),
155
- loading = _b.loading,
156
- hasError = _b.hasError,
157
- dataSourceStrategy = __rest(_b, ["loading", "hasError"]);
158
-
142
+ dataSource: dataSource
143
+ }),
144
+ loading = _b.loading,
145
+ hasError = _b.hasError,
146
+ dataSourceStrategy = __rest(_b, ["loading", "hasError"]);
159
147
  var customSearchStrategy = useTreeCustomSearch({
160
148
  data: data,
161
149
  filterOption: filterOption
@@ -171,27 +159,23 @@ var TreeSelect = /*#__PURE__*/forwardRef(function (_a, ref) {
171
159
  flattedData: flattedData,
172
160
  searchMode: searchModeProp
173
161
  });
174
-
175
162
  var _useSearchMode = useSearchMode({
176
- searchable: searchableProp,
177
- strategies: [dataSourceStrategy, customSearchStrategy, filterSearchStrategy, highlightSearchStrategy]
178
- }),
179
- stateInSearch = _useSearchMode.state,
180
- setStateInSearch = _useSearchMode.setStateInSearch,
181
- searchable = _useSearchMode.searchable,
182
- searchMode = _useSearchMode.searchMode,
183
- onSearch = _useSearchMode.onSearch,
184
- searchValue = _useSearchMode.keyword; // 拦截 titleRender,自定义高亮展示
185
-
186
-
163
+ searchable: searchableProp,
164
+ strategies: [dataSourceStrategy, customSearchStrategy, filterSearchStrategy, highlightSearchStrategy]
165
+ }),
166
+ stateInSearch = _useSearchMode.state,
167
+ setStateInSearch = _useSearchMode.setStateInSearch,
168
+ searchable = _useSearchMode.searchable,
169
+ searchMode = _useSearchMode.searchMode,
170
+ onSearch = _useSearchMode.onSearch,
171
+ searchValue = _useSearchMode.keyword;
172
+ // 拦截 titleRender,自定义高亮展示
187
173
  var proxyTitleRender = useCallback(function (node) {
188
174
  if (titleRender) {
189
175
  var _ret = titleRender(node);
190
-
191
176
  if (_ret && _ret !== true) return _ret;
192
- } // 本地搜索执行默认高亮规则
193
-
194
-
177
+ }
178
+ // 本地搜索执行默认高亮规则
195
179
  var highlight = !!searchValue && (searchMode === 'highlight' || searchMode === 'filter');
196
180
  var ret = highlight ? /*#__PURE__*/React.createElement(Highlighter, {
197
181
  keyword: searchValue
@@ -210,14 +194,13 @@ var TreeSelect = /*#__PURE__*/forwardRef(function (_a, ref) {
210
194
  });
211
195
  } : tryChangeExpandedIds,
212
196
  render: proxyTitleRender
213
- }; // 下拉菜单不能合并(因为树形数据,不知道是第几级)
214
-
197
+ };
198
+ // 下拉菜单不能合并(因为树形数据,不知道是第几级)
215
199
  var mergedData = useMemo(function () {
216
200
  if (selectedItem) {
217
201
  var nextData = [selectedItem].concat(flattedData);
218
202
  return uniqBy(nextData, 'id');
219
203
  }
220
-
221
204
  return flattedData;
222
205
  }, [selectedItem, flattedData]);
223
206
  var cls = cx(prefixCls, className);
@@ -235,7 +218,8 @@ var TreeSelect = /*#__PURE__*/forwardRef(function (_a, ref) {
235
218
  searchable: searchable,
236
219
  onSearch: callAllFuncs(onSearchProp, onSearch),
237
220
  loading: rest.loading !== undefined ? rest.loading : loading,
238
- trigger: /*#__PURE__*/React.createElement(MockInput // disabled={disabled}
221
+ trigger: /*#__PURE__*/React.createElement(MockInput
222
+ // disabled={disabled}
239
223
  , {
240
224
  // disabled={disabled}
241
225
  size: size,
@@ -251,7 +235,7 @@ var TreeSelect = /*#__PURE__*/forwardRef(function (_a, ref) {
251
235
  invalid: invalid,
252
236
  appearance: appearance
253
237
  })
254
- }), isArrayNonEmpty(treeProps.data) ? /*#__PURE__*/React.createElement(Tree, Object.assign({
238
+ }), isArrayNonEmpty(treeProps.data) ? ( /*#__PURE__*/React.createElement(Tree, Object.assign({
255
239
  size: 'md',
256
240
  className: prefixCls + "__tree",
257
241
  selectable: true,
@@ -264,11 +248,9 @@ var TreeSelect = /*#__PURE__*/forwardRef(function (_a, ref) {
264
248
  virtual: virtual,
265
249
  itemHeight: itemHeight,
266
250
  height: height
267
- }, treeProps)) : null);
251
+ }, treeProps))) : null);
268
252
  });
269
-
270
253
  if (__DEV__) {
271
254
  TreeSelect.displayName = 'TreeSelect';
272
255
  }
273
-
274
256
  export { TreeSelect };
@@ -9,7 +9,5 @@
9
9
  */
10
10
  import __styleInject__ from 'style-inject';
11
11
  var css_248z = "";
12
-
13
12
  __styleInject__(css_248z);
14
-
15
13
  export { css_248z as default };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@hi-ui/tree-select",
3
- "version": "4.1.0",
3
+ "version": "4.1.2",
4
4
  "description": "A sub-package for @hi-ui/hiui.",
5
5
  "keywords": [],
6
6
  "author": "HiUI <mi-hiui@xiaomi.com>",
@@ -43,31 +43,31 @@
43
43
  "url": "https://github.com/XiaoMi/hiui/issues"
44
44
  },
45
45
  "dependencies": {
46
- "@hi-ui/array-utils": "^4.0.1",
47
- "@hi-ui/classname": "^4.0.1",
48
- "@hi-ui/env": "^4.0.1",
49
- "@hi-ui/func-utils": "^4.0.1",
50
- "@hi-ui/highlighter": "^4.0.5",
51
- "@hi-ui/icons": "^4.0.4",
52
- "@hi-ui/input": "^4.0.6",
53
- "@hi-ui/picker": "^4.0.6",
54
- "@hi-ui/popper": "^4.0.4",
55
- "@hi-ui/tree": "^4.5.2",
56
- "@hi-ui/tree-utils": "^4.0.2",
57
- "@hi-ui/type-assertion": "^4.0.1",
58
- "@hi-ui/use-data-source": "^4.0.1",
59
- "@hi-ui/use-search-mode": "^4.0.6",
60
- "@hi-ui/use-toggle": "^4.0.1",
61
- "@hi-ui/use-uncontrolled-state": "^4.0.1"
46
+ "@hi-ui/array-utils": "^4.0.3",
47
+ "@hi-ui/classname": "^4.0.3",
48
+ "@hi-ui/env": "^4.0.3",
49
+ "@hi-ui/func-utils": "^4.0.3",
50
+ "@hi-ui/highlighter": "^4.0.7",
51
+ "@hi-ui/icons": "^4.0.17",
52
+ "@hi-ui/input": "^4.0.12",
53
+ "@hi-ui/picker": "^4.1.3",
54
+ "@hi-ui/popper": "^4.1.2",
55
+ "@hi-ui/tree": "^4.5.7",
56
+ "@hi-ui/tree-utils": "^4.1.3",
57
+ "@hi-ui/type-assertion": "^4.0.3",
58
+ "@hi-ui/use-data-source": "^4.0.3",
59
+ "@hi-ui/use-search-mode": "^4.1.3",
60
+ "@hi-ui/use-toggle": "^4.0.3",
61
+ "@hi-ui/use-uncontrolled-state": "^4.0.3"
62
62
  },
63
63
  "peerDependencies": {
64
- "@hi-ui/core": ">=4.0.0",
64
+ "@hi-ui/core": ">=4.0.7",
65
65
  "react": ">=16.8.6",
66
66
  "react-dom": ">=16.8.6"
67
67
  },
68
68
  "devDependencies": {
69
- "@hi-ui/core": "^4.0.4",
70
- "@hi-ui/core-css": "^4.1.1",
69
+ "@hi-ui/core": "^4.0.7",
70
+ "@hi-ui/core-css": "^4.1.4",
71
71
  "react": "^17.0.1",
72
72
  "react-dom": "^17.0.1"
73
73
  }