@hi-ui/check-select 4.0.0-alpha.3 → 4.0.0-alpha.33
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/README.md +115 -7
- package/lib/cjs/CheckSelect.js +339 -112
- package/lib/cjs/CheckSelect.js.map +1 -1
- package/lib/cjs/context.js +7 -7
- package/lib/cjs/context.js.map +1 -1
- package/lib/cjs/index.js +1 -1
- package/lib/cjs/styles/index.scss.js +1 -1
- package/lib/cjs/use-check-select.js +119 -53
- package/lib/cjs/use-check-select.js.map +1 -1
- package/lib/esm/CheckSelect.js +330 -108
- package/lib/esm/CheckSelect.js.map +1 -1
- package/lib/esm/context.js +6 -6
- package/lib/esm/context.js.map +1 -1
- package/lib/esm/index.js +1 -1
- package/lib/esm/styles/index.scss.js +1 -1
- package/lib/esm/use-check-select.js +119 -53
- package/lib/esm/use-check-select.js.map +1 -1
- package/lib/types/CheckSelect.d.ts +71 -31
- package/lib/types/context.d.ts +12 -548
- package/lib/types/hooks/index.d.ts +0 -1
- package/lib/types/hooks/use-search.d.ts +1 -1
- package/lib/types/types.d.ts +41 -6
- package/lib/types/use-check-select.d.ts +69 -277
- package/package.json +30 -19
- package/lib/cjs/hooks/use-search.js +0 -81
- package/lib/cjs/hooks/use-search.js.map +0 -1
- package/lib/esm/hooks/use-search.js +0 -72
- package/lib/esm/hooks/use-search.js.map +0 -1
- package/lib/types/hooks/use-cache.d.ts +0 -8
@@ -10,12 +10,13 @@
|
|
10
10
|
import { __rest } from 'tslib';
|
11
11
|
import React, { useMemo, useCallback } from 'react';
|
12
12
|
import { useUncontrolledState } from '@hi-ui/use-uncontrolled-state';
|
13
|
-
import { useSearch } from './hooks/use-search.js';
|
14
13
|
import { useCheck } from '@hi-ui/use-check';
|
15
|
-
import { useLatestCallback } from '@hi-ui/use-latest';
|
14
|
+
import { useLatestCallback, useLatestRef } from '@hi-ui/use-latest';
|
16
15
|
import { toArray } from '@hi-ui/use-children';
|
16
|
+
import { flattenTree } from '@hi-ui/tree-utils';
|
17
17
|
var NOOP_ARRAY = [];
|
18
18
|
var NOOP_VALUE = [];
|
19
|
+
var DEFAULT_FIELD_NAMES = {};
|
19
20
|
|
20
21
|
var useCheckSelect = function useCheckSelect(_a) {
|
21
22
|
var _a$data = _a.data,
|
@@ -30,56 +31,125 @@ var useCheckSelect = function useCheckSelect(_a) {
|
|
30
31
|
onSelect = _a.onSelect,
|
31
32
|
_a$emptyContent = _a.emptyContent,
|
32
33
|
emptyContent = _a$emptyContent === void 0 ? '无匹配选项' : _a$emptyContent,
|
33
|
-
|
34
|
-
|
35
|
-
rest = __rest(_a, ["data", "children", "disabled", "value", "defaultValue", "onChange", "onSelect", "emptyContent", "searchPlaceholder", "
|
34
|
+
_a$fieldNames = _a.fieldNames,
|
35
|
+
fieldNames = _a$fieldNames === void 0 ? DEFAULT_FIELD_NAMES : _a$fieldNames,
|
36
|
+
rest = __rest(_a, ["data", "children", "disabled", "value", "defaultValue", "onChange", "onSelect", "emptyContent", "searchPlaceholder", "filter", "fieldNames"]);
|
36
37
|
|
37
38
|
var data = useMemo(function () {
|
39
|
+
// @private
|
38
40
|
if (children) {
|
39
|
-
var
|
40
|
-
|
41
|
-
|
42
|
-
var dfs = function dfs(list) {
|
41
|
+
var dfs = function dfs(child) {
|
42
|
+
var arr = [];
|
43
|
+
var list = toArray(child);
|
43
44
|
list.forEach(function (item) {
|
44
45
|
if (! /*#__PURE__*/React.isValidElement(item)) return; // @ts-ignore
|
45
46
|
|
46
|
-
if (item.type
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
47
|
+
if (item.type.HiName === 'CheckSelectOption') {
|
48
|
+
var props = item.props;
|
49
|
+
|
50
|
+
var _value = props.value,
|
51
|
+
_children = props.children,
|
52
|
+
_disabled = props.disabled,
|
53
|
+
_rest = __rest(props, ["value", "children", "disabled", "groupTitle"]);
|
54
|
+
|
55
|
+
var option = {
|
56
|
+
id: _value,
|
57
|
+
title: _children,
|
58
|
+
disabled: _disabled,
|
59
|
+
rootProps: _rest
|
60
|
+
};
|
61
|
+
arr.push(option); // @ts-ignore
|
62
|
+
} else if (item.type.HiName === 'CheckSelectOptionGroup') {
|
63
|
+
var _props = item.props;
|
64
|
+
|
65
|
+
var groupId = _props.groupId,
|
66
|
+
label = _props.label,
|
67
|
+
_children2 = _props.children,
|
68
|
+
_rest2 = __rest(_props, ["groupId", "label", "children"]);
|
69
|
+
|
70
|
+
var optGroup = {
|
71
|
+
groupId: groupId,
|
72
|
+
groupTitle: label,
|
73
|
+
children: [],
|
74
|
+
rootProps: _rest2
|
75
|
+
}; // @ts-ignore
|
53
76
|
|
54
|
-
|
77
|
+
if (_children2) {
|
78
|
+
// @ts-ignore
|
79
|
+
optGroup.children = dfs(_children2);
|
55
80
|
}
|
81
|
+
|
82
|
+
arr.push(optGroup);
|
56
83
|
}
|
57
84
|
});
|
85
|
+
return arr;
|
58
86
|
};
|
59
87
|
|
60
|
-
dfs(
|
61
|
-
return arr.map(function (_ref) {
|
62
|
-
var props = _ref.props;
|
63
|
-
return {
|
64
|
-
id: props.value,
|
65
|
-
title: props.children,
|
66
|
-
disabled: props.disabled || false
|
67
|
-
};
|
68
|
-
});
|
88
|
+
return dfs(children);
|
69
89
|
}
|
70
90
|
|
71
91
|
return dataProp;
|
72
92
|
}, [children, dataProp]);
|
93
|
+
/**
|
94
|
+
* 转换对象
|
95
|
+
*/
|
96
|
+
|
97
|
+
var getKeyFields = useCallback(function (node, key) {
|
98
|
+
return node[fieldNames[key] || key];
|
99
|
+
}, [fieldNames]);
|
100
|
+
var flattedData = useMemo(function () {
|
101
|
+
// @ts-ignore
|
102
|
+
return flattenTree(data, function (node) {
|
103
|
+
var _a;
|
104
|
+
|
105
|
+
if ('groupId' in node.raw) {
|
106
|
+
// @ts-ignore
|
107
|
+
node.id = node.raw.groupId; // @ts-ignore
|
108
|
+
|
109
|
+
node.groupTitle = node.raw.groupTitle; // @ts-ignore
|
110
|
+
|
111
|
+
node.groupId = node.raw.groupId;
|
112
|
+
} else {
|
113
|
+
// TODO:support children field map
|
114
|
+
node.id = getKeyFields(node.raw, 'id'); // @ts-ignore
|
115
|
+
|
116
|
+
node.title = getKeyFields(node.raw, 'title'); // @ts-ignore
|
117
|
+
|
118
|
+
node.disabled = (_a = getKeyFields(node.raw, 'disabled')) !== null && _a !== void 0 ? _a : false;
|
119
|
+
}
|
120
|
+
|
121
|
+
return node;
|
122
|
+
});
|
123
|
+
}, [data, getKeyFields]);
|
73
124
|
|
74
125
|
var _useUncontrolledState = useUncontrolledState(defaultValue, valueProp, onChangeProp),
|
75
126
|
value = _useUncontrolledState[0],
|
76
127
|
tryChangeValue = _useUncontrolledState[1];
|
77
128
|
|
78
129
|
var onSelectLatest = useLatestCallback(onSelect);
|
130
|
+
var flattedDataRef = useLatestRef(flattedData);
|
79
131
|
var proxyTryChangeValue = useCallback(function (value, item, shouldChecked) {
|
80
|
-
|
81
|
-
|
82
|
-
|
132
|
+
// 调用用户的select
|
133
|
+
var checkedItems = flattedDataRef.current // 使用最新的value
|
134
|
+
.filter(function (item) {
|
135
|
+
return value.includes(item.id);
|
136
|
+
}).map(function (item) {
|
137
|
+
return item.raw;
|
138
|
+
});
|
139
|
+
var changedItems = item;
|
140
|
+
|
141
|
+
if (!Array.isArray(item)) {
|
142
|
+
changedItems = [item];
|
143
|
+
onSelectLatest(value, item, shouldChecked);
|
144
|
+
}
|
145
|
+
|
146
|
+
tryChangeValue(value, // TODO: 处理脏数据
|
147
|
+
changedItems.map(function (item) {
|
148
|
+
return 'raw' in item ? item.raw : item;
|
149
|
+
}), checkedItems);
|
150
|
+
}, // deps-ignore: isCheckedId no changed
|
151
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
152
|
+
[tryChangeValue, onSelectLatest, flattedDataRef]);
|
83
153
|
|
84
154
|
var _useCheckDefault = useCheck({
|
85
155
|
disabled: disabled,
|
@@ -88,34 +158,30 @@ var useCheckSelect = function useCheckSelect(_a) {
|
|
88
158
|
allowCheck: allowCheck
|
89
159
|
}),
|
90
160
|
onOptionCheck = _useCheckDefault[0],
|
91
|
-
|
92
|
-
|
93
|
-
|
94
|
-
|
95
|
-
|
96
|
-
|
97
|
-
|
98
|
-
|
99
|
-
|
100
|
-
|
101
|
-
|
102
|
-
placeholder: searchPlaceholder,
|
103
|
-
value: inputProps.value,
|
104
|
-
onChange: inputProps.onChange
|
105
|
-
};
|
106
|
-
}, [searchPlaceholder, inputProps]);
|
161
|
+
isCheckedId = _useCheckDefault[1]; // const [inSearch, matchedItems, inputProps, isEmpty, resetSearch] = useSearch(data, filter)
|
162
|
+
// const getSearchInputProps = useCallback(
|
163
|
+
// () => ({
|
164
|
+
// placeholder: searchPlaceholder,
|
165
|
+
// value: inputProps.value,
|
166
|
+
// onChange: inputProps.onChange,
|
167
|
+
// }),
|
168
|
+
// [searchPlaceholder, inputProps]
|
169
|
+
// )
|
170
|
+
|
171
|
+
|
107
172
|
return {
|
108
173
|
rootProps: rest,
|
109
|
-
data: inSearch ? matchedItems : data,
|
174
|
+
// data: inSearch ? matchedItems : data,
|
175
|
+
data: data,
|
176
|
+
flattedData: flattedData,
|
110
177
|
value: value,
|
178
|
+
tryChangeValue: proxyTryChangeValue,
|
111
179
|
onSelect: onOptionCheck,
|
112
|
-
|
113
|
-
emptyContent: emptyContent,
|
114
|
-
|
115
|
-
|
116
|
-
|
117
|
-
resetSearch: resetSearch,
|
118
|
-
titleRender: titleRender
|
180
|
+
isCheckedId: isCheckedId,
|
181
|
+
emptyContent: emptyContent // getSearchInputProps,
|
182
|
+
// isEmpty,
|
183
|
+
// resetSearch,
|
184
|
+
|
119
185
|
};
|
120
186
|
};
|
121
187
|
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"use-check-select.js","sources":["../../src/use-check-select.ts"],"sourcesContent":[null],"names":["NOOP_ARRAY","NOOP_VALUE","useCheckSelect","_a","data","dataProp","children","disabled","valueProp","value","defaultValue","onChangeProp","onChange","onSelect","emptyContent","
|
1
|
+
{"version":3,"file":"use-check-select.js","sources":["../../src/use-check-select.ts"],"sourcesContent":[null],"names":["NOOP_ARRAY","NOOP_VALUE","DEFAULT_FIELD_NAMES","useCheckSelect","_a","data","dataProp","children","disabled","valueProp","value","defaultValue","onChangeProp","onChange","onSelect","emptyContent","fieldNames","rest","useMemo","dfs","child","arr","list","toArray","forEach","item","React","isValidElement","type","HiName","props","option","id","title","rootProps","push","groupId","label","optGroup","groupTitle","getKeyFields","useCallback","node","key","flattedData","flattenTree","raw","useUncontrolledState","tryChangeValue","onSelectLatest","useLatestCallback","flattedDataRef","useLatestRef","proxyTryChangeValue","shouldChecked","checkedItems","current","filter","includes","map","changedItems","Array","isArray","useCheckDefault","checkedIds","onCheck","allowCheck","onOptionCheck","isCheckedId"],"mappings":"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"}
|
@@ -1,28 +1,28 @@
|
|
1
1
|
import React from 'react';
|
2
|
-
import
|
3
|
-
import {
|
4
|
-
import {
|
2
|
+
import { UseCheckSelectProps } from './use-check-select';
|
3
|
+
import type { HiBaseAppearanceEnum, HiBaseHTMLProps } from '@hi-ui/core';
|
4
|
+
import { CheckSelectDataItem, CheckSelectEventData } from './types';
|
5
|
+
import { PickerProps } from '@hi-ui/picker';
|
6
|
+
import { UseDataSource } from '@hi-ui/use-data-source';
|
5
7
|
/**
|
6
8
|
* TODO: What is CheckSelect
|
7
9
|
*/
|
8
10
|
export declare const CheckSelect: React.ForwardRefExoticComponent<CheckSelectProps & React.RefAttributes<HTMLDivElement | null>>;
|
9
|
-
export interface CheckSelectProps extends Omit<
|
11
|
+
export interface CheckSelectProps extends Omit<PickerProps, 'trigger'>, UseCheckSelectProps {
|
10
12
|
/**
|
11
|
-
*
|
13
|
+
* 设置虚拟滚动容器的可视高度
|
14
|
+
* @private
|
12
15
|
*/
|
13
|
-
|
16
|
+
height?: number;
|
14
17
|
/**
|
15
|
-
*
|
18
|
+
* 设置虚拟列表每项的固定高度
|
19
|
+
* @private
|
16
20
|
*/
|
17
|
-
|
21
|
+
itemHeight?: number;
|
18
22
|
/**
|
19
|
-
*
|
23
|
+
* 设置 `true` 开启虚拟滚动
|
20
24
|
*/
|
21
|
-
|
22
|
-
/**
|
23
|
-
* 选中值时回调
|
24
|
-
*/
|
25
|
-
onSelect?: (value: React.ReactText[], targetOption?: CheckSelectItem, shouldChecked?: boolean) => void;
|
25
|
+
virtual?: boolean;
|
26
26
|
/**
|
27
27
|
* 是否可搜索(仅在 title 为字符串时支持)
|
28
28
|
*/
|
@@ -32,45 +32,85 @@ export interface CheckSelectProps extends Omit<HiBaseHTMLProps<'div'>, 'onChange
|
|
32
32
|
*/
|
33
33
|
clearable?: boolean;
|
34
34
|
/**
|
35
|
-
*
|
35
|
+
* 是否开启换行全展示
|
36
|
+
*/
|
37
|
+
wrap?: boolean;
|
38
|
+
/**
|
39
|
+
* 是否点击清理 tags
|
36
40
|
*/
|
37
|
-
|
41
|
+
onClear?: () => void;
|
38
42
|
/**
|
39
|
-
*
|
43
|
+
* 自定义尺寸
|
40
44
|
*/
|
41
|
-
|
45
|
+
size?: 'sm' | 'md' | 'lg';
|
42
46
|
/**
|
43
47
|
* 自定义渲染节点的 title 内容
|
44
48
|
*/
|
45
|
-
|
49
|
+
render?: (item: CheckSelectEventData) => React.ReactNode;
|
46
50
|
/**
|
47
51
|
* 自定义选择后触发器所展示的内容,只在 title 为字符串时有效
|
48
52
|
*/
|
49
|
-
displayRender?: (option:
|
53
|
+
displayRender?: (option: CheckSelectEventData) => React.ReactNode;
|
50
54
|
/**
|
51
55
|
* 触发器输入框占位符
|
52
56
|
*/
|
53
57
|
placeholder?: string;
|
54
58
|
/**
|
55
|
-
*
|
59
|
+
* 设置展现形式
|
56
60
|
*/
|
57
|
-
|
61
|
+
appearance?: HiBaseAppearanceEnum;
|
58
62
|
/**
|
59
|
-
*
|
63
|
+
* 节点搜索模式,仅在mode=normal模式下生效
|
60
64
|
*/
|
61
|
-
|
65
|
+
searchMode?: 'highlight' | 'filter';
|
62
66
|
/**
|
63
|
-
*
|
67
|
+
* 自定义搜索过滤器,仅在 searchable 为 true 时有效
|
68
|
+
* 第一个参数为输入的关键字,
|
69
|
+
* 第二个为数据项,返回值为 true 时将出现在结果项
|
64
70
|
*/
|
65
|
-
|
71
|
+
filterOption?: (keyword: string, item: CheckSelectDataItem) => boolean;
|
66
72
|
/**
|
67
|
-
*
|
73
|
+
* 异步加载数据
|
68
74
|
*/
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
|
75
|
+
dataSource?: UseDataSource<CheckSelectDataItem>;
|
76
|
+
/**
|
77
|
+
* 自定义下拉菜单底部渲染
|
78
|
+
*/
|
79
|
+
renderExtraFooter?: () => React.ReactNode;
|
80
|
+
/**
|
81
|
+
* 自定义 input 后缀 icon
|
82
|
+
*/
|
83
|
+
suffixIcon?: React.ReactNode;
|
84
|
+
/**
|
85
|
+
* 自定义清除 tags 的 icon
|
86
|
+
*/
|
87
|
+
clearIcon?: React.ReactNode;
|
88
|
+
/**
|
89
|
+
* 面板打开时回调
|
90
|
+
*/
|
91
|
+
onOpen?: () => void;
|
92
|
+
/**
|
93
|
+
* 面板关闭时回调
|
94
|
+
*/
|
95
|
+
onClose?: () => void;
|
96
|
+
/**
|
97
|
+
* 是否开启全选功能
|
98
|
+
*/
|
99
|
+
showCheckAll?: boolean;
|
100
|
+
/**
|
101
|
+
* 是否开启查看仅已选功能
|
102
|
+
*/
|
103
|
+
showOnlyShowChecked?: boolean;
|
73
104
|
}
|
105
|
+
/**
|
106
|
+
* TODO: What is CheckSelectOption
|
107
|
+
*/
|
74
108
|
export declare const CheckSelectOption: React.ForwardRefExoticComponent<Pick<CheckSelectOptionProps, string | number> & React.RefAttributes<HTMLDivElement | null>>;
|
75
109
|
export interface CheckSelectOptionProps extends HiBaseHTMLProps {
|
76
110
|
}
|
111
|
+
/**
|
112
|
+
* TODO: What is CheckSelectOptionGroup
|
113
|
+
*/
|
114
|
+
export declare const CheckSelectOptionGroup: React.ForwardRefExoticComponent<Pick<CheckSelectOptionGroupProps, string | number> & React.RefAttributes<HTMLDivElement | null>>;
|
115
|
+
export interface CheckSelectOptionGroupProps extends HiBaseHTMLProps {
|
116
|
+
}
|