@hi-ui/check-select 4.0.0-alpha.6 → 4.0.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.
Files changed (39) hide show
  1. package/README.md +116 -7
  2. package/lib/cjs/CheckSelect.js +290 -144
  3. package/lib/cjs/CheckSelect.js.map +1 -1
  4. package/lib/cjs/hooks/use-data.js +104 -0
  5. package/lib/cjs/hooks/use-data.js.map +1 -0
  6. package/lib/cjs/hooks/use-flatten-data.js +78 -0
  7. package/lib/cjs/hooks/use-flatten-data.js.map +1 -0
  8. package/lib/cjs/index.js +0 -1
  9. package/lib/cjs/index.js.map +1 -1
  10. package/lib/cjs/styles/index.scss.js +1 -1
  11. package/lib/cjs/use-check-select.js +50 -96
  12. package/lib/cjs/use-check-select.js.map +1 -1
  13. package/lib/esm/CheckSelect.js +284 -141
  14. package/lib/esm/CheckSelect.js.map +1 -1
  15. package/lib/esm/hooks/use-data.js +94 -0
  16. package/lib/esm/hooks/use-data.js.map +1 -0
  17. package/lib/esm/hooks/use-flatten-data.js +69 -0
  18. package/lib/esm/hooks/use-flatten-data.js.map +1 -0
  19. package/lib/esm/index.js +1 -1
  20. package/lib/esm/styles/index.scss.js +1 -1
  21. package/lib/esm/use-check-select.js +49 -88
  22. package/lib/esm/use-check-select.js.map +1 -1
  23. package/lib/types/CheckSelect.d.ts +57 -21
  24. package/lib/types/context.d.ts +8 -30
  25. package/lib/types/hooks/index.d.ts +2 -0
  26. package/lib/types/hooks/use-data.d.ts +4 -0
  27. package/lib/types/hooks/use-flatten-data.d.ts +2 -0
  28. package/lib/types/hooks/use-search.d.ts +2 -2
  29. package/lib/types/types.d.ts +29 -5
  30. package/lib/types/use-check-select.d.ts +20 -52
  31. package/package.json +29 -19
  32. package/lib/cjs/hooks/use-search.js +0 -154
  33. package/lib/cjs/hooks/use-search.js.map +0 -1
  34. package/lib/cjs/utils/type-assertion/lib/esm/index.js +0 -42
  35. package/lib/cjs/utils/type-assertion/lib/esm/index.js.map +0 -1
  36. package/lib/esm/hooks/use-search.js +0 -144
  37. package/lib/esm/hooks/use-search.js.map +0 -1
  38. package/lib/esm/utils/type-assertion/lib/esm/index.js +0 -33
  39. package/lib/esm/utils/type-assertion/lib/esm/index.js.map +0 -1
@@ -8,43 +8,51 @@
8
8
  * LICENSE file in the root directory of this source tree.
9
9
  */
10
10
  import { __rest } from 'tslib';
11
- import React, { forwardRef, useState, useCallback, useMemo } from 'react';
11
+ import React, { forwardRef, useCallback, useState, useMemo } from 'react';
12
12
  import { getPrefixCls, cx } from '@hi-ui/classname';
13
13
  import { __DEV__ } from '@hi-ui/env';
14
- import Input from '@hi-ui/input';
15
14
  import { useCheckSelect } from './use-check-select.js';
16
- import Popper from '@hi-ui/popper';
17
- import { DownOutlined, SearchOutlined } from '@hi-ui/icons';
15
+ import { UpOutlined, DownOutlined } from '@hi-ui/icons';
18
16
  import { CheckSelectProvider, useCheckSelectContext } from './context.js';
19
- import { useLatestCallback } from '@hi-ui/use-latest';
17
+ import { useLatestCallback, useLatestRef } from '@hi-ui/use-latest';
20
18
  import Checkbox from '@hi-ui/checkbox';
21
- import { TagInput, TagInputMock } from '@hi-ui/tag-input';
22
- import { isFunction } from './utils/type-assertion/lib/esm/index.js';
19
+ import { TagInputMock } from '@hi-ui/tag-input';
20
+ import { isUndef, isFunction, isArrayNonEmpty } from '@hi-ui/type-assertion';
23
21
  import VirtualList from 'rc-virtual-list';
22
+ import { Picker } from '@hi-ui/picker';
23
+ import { uniqBy } from 'lodash';
24
+ import { Highlighter } from '@hi-ui/highlighter';
25
+ import { useToggle } from '@hi-ui/use-toggle';
26
+ import { times } from '@hi-ui/times';
27
+ import { callAllFuncs } from '@hi-ui/func-utils';
28
+ import { useLocaleContext } from '@hi-ui/locale-context';
29
+ import { useAsyncSearch, useTreeCustomSearch, useFilterSearch, useSearchMode } from '@hi-ui/use-search-mode';
30
+ import '@hi-ui/use-children';
31
+ import { flattenData } from './hooks/use-flatten-data.js';
24
32
  var _role = 'check-select';
25
33
 
26
34
  var _prefix = getPrefixCls(_role);
35
+
36
+ var DEFAULT_FIELD_NAMES = {};
27
37
  /**
28
38
  * TODO: What is CheckSelect
29
39
  */
30
40
 
31
-
32
41
  var CheckSelect = /*#__PURE__*/forwardRef(function (_a, ref) {
42
+ // ************************** 国际化 ************************* //
33
43
  var _a$prefixCls = _a.prefixCls,
34
44
  prefixCls = _a$prefixCls === void 0 ? _prefix : _a$prefixCls,
35
- _a$role = _a.role,
36
- role = _a$role === void 0 ? _role : _a$role,
37
45
  className = _a.className,
38
46
  children = _a.children,
39
47
  _a$disabled = _a.disabled,
40
48
  disabled = _a$disabled === void 0 ? false : _a$disabled,
41
49
  _a$clearable = _a.clearable,
42
- clearable = _a$clearable === void 0 ? false : _a$clearable,
43
- _a$searchable = _a.searchable,
44
- searchable = _a$searchable === void 0 ? false : _a$searchable,
45
- _a$wrap = _a.wrap,
46
- wrap = _a$wrap === void 0 ? true : _a$wrap,
47
- placeholder = _a.placeholder,
50
+ clearable = _a$clearable === void 0 ? true : _a$clearable,
51
+ _a$showCheckAll = _a.showCheckAll,
52
+ showCheckAll = _a$showCheckAll === void 0 ? false : _a$showCheckAll,
53
+ _a$showOnlyShowChecke = _a.showOnlyShowChecked,
54
+ showOnlyShowChecked = _a$showOnlyShowChecke === void 0 ? false : _a$showOnlyShowChecke,
55
+ placeholderProp = _a.placeholder,
48
56
  displayRenderProp = _a.displayRender,
49
57
  onSelectProp = _a.onSelect,
50
58
  height = _a.height,
@@ -52,107 +60,246 @@ var CheckSelect = /*#__PURE__*/forwardRef(function (_a, ref) {
52
60
  itemHeight = _a$itemHeight === void 0 ? 40 : _a$itemHeight,
53
61
  _a$virtual = _a.virtual,
54
62
  virtual = _a$virtual === void 0 ? true : _a$virtual,
55
- popper = _a.popper,
56
- onOpen = _a.onOpen,
57
- onClose = _a.onClose,
58
- rest = __rest(_a, ["prefixCls", "role", "className", "children", "disabled", "clearable", "searchable", "invalid", "wrap", "placeholder", "displayRender", "onSelect", "height", "itemHeight", "virtual", "popper", "onOpen", "onClose"]);
59
-
60
- var _useState = useState(null),
61
- targetElRef = _useState[0],
62
- setTargetElRef = _useState[1];
63
-
64
- var _useState2 = useState(false),
65
- menuVisible = _useState2[0],
66
- setMenuVisible = _useState2[1];
67
-
68
- var onOpenLatest = useLatestCallback(onOpen);
69
- var onCloseLatest = useLatestCallback(onClose);
70
- var closeMenu = useCallback(function () {
71
- if (disabled) return;
72
- setMenuVisible(false);
73
- onOpenLatest();
74
- }, [disabled, onOpenLatest]);
75
- var openMenu = useCallback(function () {
76
- if (disabled) return;
77
- setMenuVisible(true);
78
- onCloseLatest();
79
- }, [disabled, onCloseLatest]);
63
+ appearance = _a.appearance,
64
+ invalid = _a.invalid,
65
+ dataSource = _a.dataSource,
66
+ filterOption = _a.filterOption,
67
+ searchableProp = _a.searchable,
68
+ titleRender = _a.render,
69
+ renderExtraFooter = _a.renderExtraFooter,
70
+ onSearchProp = _a.onSearch,
71
+ _a$fieldNames = _a.fieldNames,
72
+ fieldNames = _a$fieldNames === void 0 ? DEFAULT_FIELD_NAMES : _a$fieldNames,
73
+ rest = __rest(_a, ["prefixCls", "role", "className", "children", "disabled", "clearable", "wrap", "showCheckAll", "showOnlyShowChecked", "placeholder", "displayRender", "onSelect", "height", "itemHeight", "virtual", "onOpen", "onClose", "appearance", "invalid", "dataSource", "filterOption", "searchable", "render", "renderExtraFooter", "onSearch", "fieldNames"]);
74
+
75
+ var i18n = useLocaleContext();
76
+ var placeholder = isUndef(placeholderProp) ? i18n.get('checkSelect.placeholder') : placeholderProp; // ************************** Picker ************************* //
77
+
78
+ var _useToggle = useToggle(),
79
+ menuVisible = _useToggle[0],
80
+ menuVisibleAction = _useToggle[1];
81
+
80
82
  var displayRender = useCallback(function (item) {
81
83
  if (isFunction(displayRenderProp)) {
82
84
  return displayRenderProp(item);
83
85
  }
84
86
 
85
87
  return item.title;
86
- }, [displayRenderProp]);
87
- var onSelectLatest = useLatestCallback(onSelectProp);
88
+ }, [displayRenderProp]); // 搜索时临时选中缓存数据
89
+
90
+ var _useState = useState([]),
91
+ selectedItems = _useState[0],
92
+ setSelectedItems = _useState[1];
93
+
94
+ var onSelect = useLatestCallback(function (value, item, shouldChecked) {
95
+ onSelectProp === null || onSelectProp === void 0 ? void 0 : onSelectProp(value, item, shouldChecked);
96
+
97
+ if (shouldChecked) {
98
+ // TODO:as useCheckList
99
+ setSelectedItems(function (prev) {
100
+ return [].concat(prev, [item]);
101
+ });
102
+ }
103
+ });
88
104
 
89
105
  var _b = useCheckSelect(Object.assign(Object.assign({}, rest), {
90
106
  children: children,
91
- onSelect: onSelectLatest
107
+ fieldNames: fieldNames,
108
+ onSelect: onSelect
92
109
  })),
93
110
  rootProps = _b.rootProps,
94
111
  context = __rest(_b, ["rootProps"]);
95
112
 
96
113
  var value = context.value,
97
114
  tryChangeValue = context.tryChangeValue,
98
- selectData = context.data;
99
- var virtualData = useMemo(function () {
100
- return selectData.reduce(function (acc, cur, index) {
101
- if ('groupTitle' in cur) {
102
- acc.push({
103
- id: "group-" + index,
104
- groupTitle: cur.groupTitle,
105
- rootProps: cur.rootProps
106
- });
107
- return acc.concat(cur.children);
115
+ flattedData = context.flattedData; // ************************** 搜索 ************************* //
116
+
117
+ var _c = useAsyncSearch({
118
+ dataSource: dataSource,
119
+ dataTransform: function dataTransform(data) {
120
+ return flattenData({
121
+ data: data,
122
+ fieldNames: fieldNames
123
+ });
124
+ }
125
+ }),
126
+ loading = _c.loading,
127
+ hasError = _c.hasError,
128
+ dataSourceStrategy = __rest(_c, ["loading", "hasError"]);
129
+
130
+ var customSearchStrategy = useTreeCustomSearch({
131
+ data: flattedData,
132
+ filterOption: filterOption
133
+ });
134
+ var filterSearchStrategy = useFilterSearch({
135
+ data: flattedData,
136
+ flattedData: flattedData,
137
+ enabled: searchableProp
138
+ });
139
+
140
+ var _useSearchMode = useSearchMode({
141
+ searchable: searchableProp,
142
+ strategies: [dataSourceStrategy, customSearchStrategy, filterSearchStrategy]
143
+ }),
144
+ stateInSearch = _useSearchMode.state,
145
+ searchable = _useSearchMode.searchable,
146
+ searchMode = _useSearchMode.searchMode,
147
+ onSearch = _useSearchMode.onSearch,
148
+ searchValue = _useSearchMode.keyword; // 拦截 titleRender,自定义高亮展示
149
+
150
+
151
+ var proxyTitleRender = useCallback(function (node) {
152
+ if (titleRender) {
153
+ var _ret = titleRender(node);
154
+
155
+ if (_ret && _ret !== true) return _ret;
156
+ } // 本地搜索执行默认高亮规则
157
+
158
+
159
+ var highlight = !!searchValue && searchMode === 'filter';
160
+ var ret = highlight ? /*#__PURE__*/React.createElement(Checkbox, {
161
+ checked: node.checked,
162
+ disabled: node.disabled
163
+ }, /*#__PURE__*/React.createElement(Highlighter, {
164
+ keyword: searchValue
165
+ }, node.title)) : true;
166
+ return ret;
167
+ }, [titleRender, searchValue, searchMode]);
168
+ var shouldUseSearch = !!searchValue && !hasError;
169
+ var showData = useMemo(function () {
170
+ return shouldUseSearch ? stateInSearch.data : flattedData;
171
+ }, [shouldUseSearch, flattedData, stateInSearch.data]); // 下拉菜单不能合并(因为树形数据,不知道是第几级)
172
+
173
+ var mergedData = useMemo(function () {
174
+ var nextData = selectedItems.concat(flattedData);
175
+ return uniqBy(nextData, 'id');
176
+ }, [selectedItems, flattedData]);
177
+
178
+ var _useState2 = useState(null),
179
+ filterItems = _useState2[0],
180
+ setFilterItems = _useState2[1];
181
+
182
+ var dropdownItems = filterItems || showData;
183
+
184
+ var _useMemo = useMemo(function () {
185
+ var dropdownIds = dropdownItems.filter(function (item) {
186
+ return !('groupTitle' in item);
187
+ }).map(function (_ref) {
188
+ var id = _ref.id;
189
+ return id;
190
+ });
191
+ var dropdownIdsSet = new Set(dropdownIds);
192
+ var hasValue = false;
193
+ value.forEach(function (id) {
194
+ if (dropdownIdsSet.has(id)) {
195
+ hasValue = true;
196
+ dropdownIdsSet["delete"](id);
108
197
  }
198
+ });
199
+ return [hasValue && dropdownIdsSet.size === 0, hasValue && dropdownIdsSet.size > 0];
200
+ }, [dropdownItems, value]),
201
+ allChecked = _useMemo[0],
202
+ indeterminate = _useMemo[1];
203
+
204
+ var toggleCheckAll = useCallback(function (showChecked) {
205
+ var checkedItems = mergedData.filter(function (item) {
206
+ return value.includes(item.id);
207
+ });
208
+ var items = dropdownItems.filter(function (item) {
209
+ return !('groupTitle' in item);
210
+ });
211
+
212
+ if (showChecked) {
213
+ tryChangeValue(items.map(function (_ref2) {
214
+ var id = _ref2.id;
215
+ return id;
216
+ }), checkedItems, showChecked);
217
+ } else {
218
+ tryChangeValue([], checkedItems, showChecked);
219
+ }
220
+ }, [dropdownItems, mergedData, value, tryChangeValue]);
221
+
222
+ var renderDefaultFooter = function renderDefaultFooter() {
223
+ var extra = renderExtraFooter ? renderExtraFooter() : null;
224
+
225
+ if (showCheckAll) {
226
+ return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Checkbox, {
227
+ indeterminate: indeterminate,
228
+ checked: allChecked,
229
+ onChange: function onChange(evt) {
230
+ toggleCheckAll(evt.target.checked);
231
+ }
232
+ }, i18n.get('checkSelect.checkAll')), extra);
233
+ }
109
234
 
110
- acc.push(cur);
111
- return acc;
112
- }, []);
113
- }, [selectData]);
114
- var cls = cx(prefixCls, className, prefixCls + "--" + (menuVisible ? 'open' : 'closed')); // TODO: tagInput 内部支持支持多种模式切换
235
+ return extra;
236
+ };
115
237
 
116
- var TagInput$1 = wrap ? TagInput : TagInputMock;
238
+ var cls = cx(prefixCls, className, prefixCls + "--" + (menuVisible ? 'open' : 'closed'));
117
239
  return /*#__PURE__*/React.createElement(CheckSelectProvider, {
118
240
  value: context
119
- }, /*#__PURE__*/React.createElement("div", Object.assign({
241
+ }, /*#__PURE__*/React.createElement(Picker, Object.assign({
120
242
  ref: ref,
121
- role: role,
122
243
  className: cls
123
- }, rootProps), /*#__PURE__*/React.createElement(TagInput$1, {
124
- ref: setTargetElRef,
125
- onClick: openMenu,
126
- disabled: disabled,
127
- clearable: clearable,
128
- placeholder: placeholder,
129
- data: selectData,
130
- value: value,
131
- wrap: wrap,
132
- onChange: tryChangeValue,
133
- displayRender: displayRender,
134
- suffix: /*#__PURE__*/React.createElement(DownOutlined, null)
135
- }), /*#__PURE__*/React.createElement(Popper, Object.assign({}, popper, {
136
- attachEl: targetElRef,
244
+ }, rootProps, {
137
245
  visible: menuVisible,
138
- onClose: closeMenu
139
- }), /*#__PURE__*/React.createElement("div", {
140
- className: prefixCls + "-panel"
141
- }, searchable ? /*#__PURE__*/React.createElement(CheckSelectSearch, null) : null, /*#__PURE__*/React.createElement(VirtualList, {
246
+ onOpen: function onOpen() {
247
+ if (showOnlyShowChecked) {
248
+ if (filterItems) {
249
+ setFilterItems(null);
250
+ }
251
+ }
252
+
253
+ menuVisibleAction.on();
254
+ },
255
+ disabled: disabled,
256
+ onClose: menuVisibleAction.off,
257
+ searchable: searchable,
258
+ onSearch: callAllFuncs(onSearchProp, onSearch),
259
+ loading: loading,
260
+ footer: renderDefaultFooter(),
261
+ trigger: /*#__PURE__*/React.createElement(TagInputMock, {
262
+ clearable: clearable,
263
+ placeholder: placeholder,
264
+ // @ts-ignore
265
+ displayRender: displayRender,
266
+ suffix: menuVisible ? /*#__PURE__*/React.createElement(UpOutlined, null) : /*#__PURE__*/React.createElement(DownOutlined, null),
267
+ focused: menuVisible,
268
+ appearance: appearance,
269
+ value: value,
270
+ // @ts-ignore
271
+ onChange: tryChangeValue,
272
+ data: mergedData,
273
+ invalid: invalid,
274
+ onExpand: function onExpand() {
275
+ if (showOnlyShowChecked) {
276
+ setFilterItems(function () {
277
+ return mergedData.filter(function (item) {
278
+ return value.includes(item.id);
279
+ });
280
+ });
281
+ }
282
+
283
+ menuVisibleAction.on();
284
+ }
285
+ })
286
+ }), isArrayNonEmpty(dropdownItems) ? /*#__PURE__*/React.createElement(VirtualList, {
142
287
  itemKey: "id",
143
288
  fullHeight: false,
144
289
  height: height,
145
290
  itemHeight: itemHeight,
146
291
  virtual: virtual,
147
- data: virtualData
292
+ data: dropdownItems
148
293
  }, function (node) {
149
294
  /* 反向 map,搜索删选数据时会对数据进行处理 */
150
- return 'groupTitle' in node ? /*#__PURE__*/React.createElement(CheckSelectOptionGroup, Object.assign({
295
+ return 'groupTitle' in node ? /*#__PURE__*/React.createElement(CheckSelectOptionGroup, {
151
296
  label: node.groupTitle
152
- }, node.rootProps)) : /*#__PURE__*/React.createElement(CheckSelectOption, Object.assign({
153
- option: node
154
- }, node.rootProps));
155
- })))));
297
+ }) : /*#__PURE__*/React.createElement(CheckSelectOption, {
298
+ option: node,
299
+ depth: node.depth,
300
+ titleRender: proxyTitleRender
301
+ });
302
+ }) : null));
156
303
  }); // @ts-ignore
157
304
 
158
305
  CheckSelect.HiName = 'CheckSelect';
@@ -161,77 +308,55 @@ if (__DEV__) {
161
308
  CheckSelect.displayName = 'CheckSelect';
162
309
  }
163
310
 
164
- var searchPrefix = getPrefixCls('check-select-search');
165
- /**
166
- * TODO: What is CheckSelectSearch
167
- */
168
-
169
- var CheckSelectSearch = /*#__PURE__*/forwardRef(function (_a, ref) {
170
- var _a$prefixCls2 = _a.prefixCls,
171
- prefixCls = _a$prefixCls2 === void 0 ? searchPrefix : _a$prefixCls2,
172
- className = _a.className,
173
- rest = __rest(_a, ["prefixCls", "className"]);
174
-
175
- var _useCheckSelectContex = useCheckSelectContext(),
176
- isEmpty = _useCheckSelectContex.isEmpty,
177
- emptyContent = _useCheckSelectContex.emptyContent,
178
- getSearchInputProps = _useCheckSelectContex.getSearchInputProps;
179
-
180
- return /*#__PURE__*/React.createElement("div", Object.assign({
181
- ref: ref,
182
- className: cx(prefixCls, className)
183
- }, rest), /*#__PURE__*/React.createElement(Input, Object.assign({}, getSearchInputProps(), {
184
- appearance: "underline",
185
- prefix: /*#__PURE__*/React.createElement(SearchOutlined, null)
186
- })), isEmpty ? /*#__PURE__*/React.createElement("span", {
187
- className: prefixCls + "__empty"
188
- }, emptyContent) : null);
189
- });
190
-
191
- if (__DEV__) {
192
- CheckSelectSearch.displayName = 'CheckSelectSearch';
193
- }
194
-
195
311
  var optionPrefix = getPrefixCls('check-select-option');
196
312
  /**
197
313
  * TODO: What is CheckSelectOption
198
314
  */
199
315
 
200
316
  var CheckSelectOption = /*#__PURE__*/forwardRef(function (_a, ref) {
201
- var _a$prefixCls3 = _a.prefixCls,
202
- prefixCls = _a$prefixCls3 === void 0 ? optionPrefix : _a$prefixCls3,
317
+ var _a$prefixCls2 = _a.prefixCls,
318
+ prefixCls = _a$prefixCls2 === void 0 ? optionPrefix : _a$prefixCls2,
203
319
  className = _a.className,
204
320
  _a$option = _a.option,
205
321
  option = _a$option === void 0 ? {} : _a$option,
206
322
  onClick = _a.onClick,
207
- rest = __rest(_a, ["prefixCls", "className", "children", "option", "onClick"]);
323
+ titleRender = _a.titleRender,
324
+ depth = _a.depth,
325
+ rest = __rest(_a, ["prefixCls", "className", "children", "option", "onClick", "titleRender", "depth"]);
208
326
 
209
- var _useCheckSelectContex2 = useCheckSelectContext(),
210
- isSelectedId = _useCheckSelectContex2.isSelectedId,
211
- onSelect = _useCheckSelectContex2.onSelect,
212
- titleRender = _useCheckSelectContex2.titleRender;
327
+ var _useCheckSelectContex = useCheckSelectContext(),
328
+ isCheckedId = _useCheckSelectContex.isCheckedId,
329
+ onSelect = _useCheckSelectContex.onSelect;
213
330
 
214
- var checked = isSelectedId(option.id);
215
- var _option$disabled = option.disabled,
331
+ var id = option.id,
332
+ _option$disabled = option.disabled,
216
333
  disabled = _option$disabled === void 0 ? false : _option$disabled;
217
- var cls = cx(prefixCls, className, checked && prefixCls + "--selected", disabled && prefixCls + "--disabled");
334
+ var checked = isCheckedId(id);
335
+ var eventNodeRef = useLatestRef(Object.assign({}, option, {
336
+ disabled: disabled,
337
+ checked: checked
338
+ }));
339
+ var cls = cx(prefixCls, className, checked && prefixCls + "--checked", disabled && prefixCls + "--disabled");
218
340
  var handleOptionCheck = useCallback(function (evt) {
219
341
  onSelect(option, !checked);
220
342
  onClick === null || onClick === void 0 ? void 0 : onClick(evt);
221
- }, [onSelect, option, checked, onClick]); // 如果 titleRender 返回 `true`,则使用默认 title
222
-
223
- var title = titleRender ? titleRender(Object.assign(Object.assign({}, option), {
224
- checked: checked
225
- })) : true;
343
+ }, [onSelect, option, checked, onClick]);
344
+ var renderTitle = useCallback(function (node, titleRender) {
345
+ // 如果 titleRender 返回 `true`,则使用默认 title
346
+ var title = titleRender ? titleRender(node) : true;
347
+ return /*#__PURE__*/React.createElement("div", {
348
+ className: prefixCls + "__title"
349
+ }, title === true ? /*#__PURE__*/React.createElement(Checkbox, {
350
+ checked: node.checked,
351
+ disabled: node.disabled
352
+ }, node.title) : title);
353
+ }, [prefixCls]);
226
354
  return /*#__PURE__*/React.createElement("div", Object.assign({
227
355
  ref: ref,
228
356
  className: cls
229
357
  }, rest, {
230
358
  onClick: handleOptionCheck
231
- }), title === true ? /*#__PURE__*/React.createElement(Checkbox, {
232
- checked: checked,
233
- disabled: option.disabled
234
- }, option.title) : title);
359
+ }), renderIndent(prefixCls, depth), renderTitle(eventNodeRef.current, titleRender));
235
360
  }); // @ts-ignore
236
361
 
237
362
  CheckSelectOption.HiName = 'CheckSelectOption';
@@ -239,17 +364,18 @@ CheckSelectOption.HiName = 'CheckSelectOption';
239
364
  if (__DEV__) {
240
365
  CheckSelectOption.displayName = 'CheckSelectOption';
241
366
  }
367
+
368
+ var optionGroupPrefix = getPrefixCls('select-option-group');
242
369
  /**
243
370
  * TODO: What is CheckSelectOptionGroup
244
371
  */
245
372
 
246
-
247
373
  var CheckSelectOptionGroup = /*#__PURE__*/forwardRef(function (_a, ref) {
248
- var _a$prefixCls4 = _a.prefixCls,
249
- prefixCls = _a$prefixCls4 === void 0 ? optionPrefix : _a$prefixCls4,
374
+ var _a$prefixCls3 = _a.prefixCls,
375
+ prefixCls = _a$prefixCls3 === void 0 ? optionGroupPrefix : _a$prefixCls3,
250
376
  className = _a.className,
251
377
  label = _a.label,
252
- rest = __rest(_a, ["prefixCls", "className", "children", "label", "onClick"]);
378
+ rest = __rest(_a, ["prefixCls", "className", "label"]);
253
379
 
254
380
  var cls = cx(prefixCls, className);
255
381
  return /*#__PURE__*/React.createElement("div", Object.assign({
@@ -263,6 +389,23 @@ CheckSelectOptionGroup.HiName = 'CheckSelectOptionGroup';
263
389
  if (__DEV__) {
264
390
  CheckSelectOptionGroup.displayName = 'CheckSelectOptionGroup';
265
391
  }
392
+ /**
393
+ * 渲染空白占位
394
+ */
395
+
396
+
397
+ var renderIndent = function renderIndent(prefixCls, depth) {
398
+ return times(depth, function (index) {
399
+ return /*#__PURE__*/React.createElement("span", {
400
+ key: index,
401
+ style: {
402
+ alignSelf: 'stretch'
403
+ }
404
+ }, /*#__PURE__*/React.createElement("span", {
405
+ className: cx(prefixCls + "__indent")
406
+ }));
407
+ });
408
+ };
266
409
 
267
- export { CheckSelect, CheckSelectOption, CheckSelectOptionGroup, CheckSelectSearch };
410
+ export { CheckSelect, CheckSelectOption, CheckSelectOptionGroup };
268
411
  //# sourceMappingURL=CheckSelect.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"CheckSelect.js","sources":["../../src/CheckSelect.tsx"],"sourcesContent":[null],"names":["_role","_prefix","getPrefixCls","CheckSelect","forwardRef","_a","ref","prefixCls","role","className","children","disabled","clearable","searchable","wrap","placeholder","displayRenderProp","displayRender","onSelectProp","onSelect","height","itemHeight","virtual","popper","onOpen","onClose","rest","useState","targetElRef","setTargetElRef","menuVisible","setMenuVisible","onOpenLatest","useLatestCallback","onCloseLatest","closeMenu","useCallback","openMenu","item","isFunction","title","onSelectLatest","_b","useCheckSelect","rootProps","context","value","tryChangeValue","selectData","data","virtualData","useMemo","reduce","acc","cur","index","push","id","groupTitle","concat","cls","cx","TagInput","TagInputDefault","TagInputMock","React","CheckSelectProvider","onClick","onChange","suffix","DownOutlined","Popper","attachEl","visible","CheckSelectSearch","VirtualList","itemKey","fullHeight","node","CheckSelectOptionGroup","label","CheckSelectOption","option","HiName","__DEV__","displayName","searchPrefix","useCheckSelectContext","isEmpty","emptyContent","getSearchInputProps","Input","appearance","prefix","SearchOutlined","optionPrefix","isSelectedId","titleRender","checked","handleOptionCheck","evt","Checkbox"],"mappings":"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"}
1
+ {"version":3,"file":"CheckSelect.js","sources":["../../src/CheckSelect.tsx"],"sourcesContent":[null],"names":["_role","_prefix","getPrefixCls","DEFAULT_FIELD_NAMES","CheckSelect","forwardRef","_a","ref","prefixCls","className","children","disabled","clearable","showCheckAll","showOnlyShowChecked","placeholderProp","placeholder","displayRenderProp","displayRender","onSelectProp","onSelect","height","itemHeight","virtual","appearance","invalid","dataSource","filterOption","searchableProp","searchable","titleRender","render","renderExtraFooter","onSearchProp","onSearch","fieldNames","rest","i18n","useLocaleContext","isUndef","get","useToggle","menuVisible","menuVisibleAction","useCallback","item","isFunction","title","useState","selectedItems","setSelectedItems","useLatestCallback","value","shouldChecked","prev","_b","useCheckSelect","rootProps","context","tryChangeValue","flattedData","_c","useAsyncSearch","dataTransform","data","flattenData","loading","hasError","dataSourceStrategy","customSearchStrategy","useTreeCustomSearch","filterSearchStrategy","useFilterSearch","enabled","useSearchMode","strategies","stateInSearch","state","searchMode","searchValue","keyword","proxyTitleRender","node","ret","highlight","React","Checkbox","checked","Highlighter","shouldUseSearch","showData","useMemo","mergedData","nextData","concat","uniqBy","filterItems","setFilterItems","dropdownItems","dropdownIds","filter","map","id","dropdownIdsSet","Set","hasValue","forEach","has","size","allChecked","indeterminate","toggleCheckAll","showChecked","checkedItems","includes","items","renderDefaultFooter","extra","onChange","evt","target","cls","cx","CheckSelectProvider","Picker","visible","onOpen","on","onClose","off","callAllFuncs","footer","trigger","TagInputMock","suffix","UpOutlined","DownOutlined","focused","onExpand","isArrayNonEmpty","VirtualList","itemKey","fullHeight","CheckSelectOptionGroup","label","groupTitle","CheckSelectOption","option","depth","HiName","__DEV__","displayName","optionPrefix","onClick","useCheckSelectContext","isCheckedId","eventNodeRef","useLatestRef","Object","assign","handleOptionCheck","renderTitle","renderIndent","current","optionGroupPrefix","times","index","key","style","alignSelf"],"mappings":"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"}