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