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