@hi-ui/check-select 4.0.0-alpha.14 → 4.0.0-alpha.18
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/lib/cjs/CheckSelect.js +204 -132
- package/lib/cjs/CheckSelect.js.map +1 -1
- package/lib/cjs/index.js +0 -1
- package/lib/cjs/index.js.map +1 -1
- package/lib/cjs/styles/index.scss.js +1 -1
- package/lib/cjs/use-check-select.js +59 -33
- package/lib/cjs/use-check-select.js.map +1 -1
- package/lib/esm/CheckSelect.js +202 -129
- package/lib/esm/CheckSelect.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 +58 -32
- package/lib/esm/use-check-select.js.map +1 -1
- package/lib/types/CheckSelect.d.ts +44 -13
- package/lib/types/context.d.ts +6 -20
- package/lib/types/hooks/use-search.d.ts +2 -2
- package/lib/types/types.d.ts +28 -4
- package/lib/types/use-check-select.d.ts +15 -22
- package/package.json +25 -17
- package/lib/cjs/hooks/use-search.js +0 -154
- package/lib/cjs/hooks/use-search.js.map +0 -1
- package/lib/cjs/utils/type-assertion/lib/esm/index.js +0 -42
- package/lib/cjs/utils/type-assertion/lib/esm/index.js.map +0 -1
- package/lib/esm/hooks/use-search.js +0 -144
- package/lib/esm/hooks/use-search.js.map +0 -1
- package/lib/esm/utils/type-assertion/lib/esm/index.js +0 -33
- package/lib/esm/utils/type-assertion/lib/esm/index.js.map +0 -1
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"CheckSelect.js","sources":["../../src/CheckSelect.tsx"],"sourcesContent":[null],"names":["_role","_prefix","getPrefixCls","CheckSelect","forwardRef","_a","ref","prefixCls","
|
1
|
+
{"version":3,"file":"CheckSelect.js","sources":["../../src/CheckSelect.tsx"],"sourcesContent":[null],"names":["_role","_prefix","getPrefixCls","CheckSelect","forwardRef","_a","ref","prefixCls","className","children","disabled","clearable","placeholder","displayRenderProp","displayRender","onSelectProp","onSelect","height","itemHeight","virtual","appearance","invalid","dataSource","filterOption","searchableProp","searchable","titleRender","renderExtraFooter","rest","useToggle","menuVisible","menuVisibleAction","useCallback","item","isFunction","title","useLatestCallback","value","shouldChecked","setSelectedItems","prev","_b","useCheckSelect","context","tryChangeValue","flattedData","_c","useAsyncSearch","loading","hasError","dataSourceStrategy","customSearchStrategy","useTreeCustomSearch","data","filterSearchStrategy","useFilterSearch","searchMode","undefined","useSearchMode","strategies","stateInSearch","state","onSearch","searchValue","keyword","proxyTitleRender","node","ret","highlight","React","Checkbox","checked","Highlighter","shouldUseSearch","selectProps","useState","selectedItems","mergedData","useMemo","nextData","concat","uniqBy","virtualData","reduce","acc","cur","index","push","id","groupTitle","rootProps","cls","cx","CheckSelectProvider","Picker","visible","onOpen","on","onClose","off","footer","trigger","TagInputMock","suffix","UpOutlined","DownOutlined","focused","onChange","onExpand","isArrayNonEmpty","VirtualList","itemKey","fullHeight","CheckSelectOptionGroup","label","CheckSelectOption","option","depth","HiName","__DEV__","displayName","optionPrefix","onClick","useCheckSelectContext","isSelectedId","selected","eventNodeRef","useLatestRef","Object","assign","handleOptionCheck","evt","renderTitle","renderIndent","current","optionGroupPrefix","times","key","style","alignSelf"],"mappings":"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"}
|
package/lib/esm/index.js
CHANGED
@@ -8,5 +8,5 @@
|
|
8
8
|
* LICENSE file in the root directory of this source tree.
|
9
9
|
*/
|
10
10
|
import './styles/index.scss.js';
|
11
|
-
export { CheckSelect, CheckSelectOption, CheckSelectOptionGroup,
|
11
|
+
export { CheckSelect, CheckSelectOption, CheckSelectOptionGroup, CheckSelect as default } from './CheckSelect.js';
|
12
12
|
//# sourceMappingURL=index.js.map
|
@@ -7,7 +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
|
-
var css_248z = "@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n.hi-v4-check-select {\n -
|
10
|
+
var css_248z = "@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n.hi-v4-check-select-option {\n margin-top: 4px;\n margin-top: var(--hi-v4-spacing-2, 4px);\n margin-bottom: 4px;\n margin-bottom: var(--hi-v4-spacing-2, 4px);\n -webkit-box-sizing: border-box;\n box-sizing: border-box;\n width: 100%;\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -webkit-box-align: center;\n -ms-flex-align: center;\n align-items: center;\n position: relative;\n border-radius: 4px;\n border-radius: var(--hi-v4-border-radius-normal, 4px);\n cursor: pointer;\n font-size: 0.875rem;\n font-size: var(--hi-v4-text-size-normal, 0.875rem);\n font-weight: 400;\n font-weight: var(--hi-v4-text-weight-normal, 400);\n color: #1f2733;\n color: var(--hi-v4-color-gray-700, #1f2733);\n line-height: 1.25rem;\n line-height: var(--hi-v4-text-lineheight-sm, 1.25rem); }\n.hi-v4-check-select-option__indent {\n display: inline-block;\n width: 16px;\n height: 100%; }\n.hi-v4-check-select-option__title {\n display: inline-block;\n -webkit-box-sizing: border-box;\n box-sizing: border-box;\n width: 100%;\n padding: 6px;\n padding: var(--hi-v4-spacing-3, 6px);\n font-size: inherit;\n font-weight: inherit;\n color: inherit;\n line-height: inherit; }\n.hi-v4-check-select-option:hover {\n background-color: #f2f4f7;\n background-color: var(--hi-v4-color-gray-100, #f2f4f7); }\n.hi-v4-check-select-option--focused {\n background-color: #f2f4f7;\n background-color: var(--hi-v4-color-gray-100, #f2f4f7); }\n.hi-v4-check-select-option--disabled {\n cursor: not-allowed;\n color: #929aa6;\n color: var(--hi-v4-color-gray-500, #929aa6); }\n.hi-v4-check-select-option-group {\n display: inline-block;\n margin-top: 12px;\n margin-top: var(--hi-v4-spacing-6, 12px);\n margin-bottom: 4px;\n margin-bottom: var(--hi-v4-spacing-2, 4px);\n padding: 6px 0 6px 6px;\n padding: var(--hi-v4-spacing-3, 6px) 0 var(--hi-v4-spacing-3, 6px) var(--hi-v4-spacing-3, 6px);\n font-size: 0.875rem;\n font-size: var(--hi-v4-text-size-normal, 0.875rem);\n font-weight: 400;\n font-weight: var(--hi-v4-text-weight-normal, 400);\n color: #929aa6;\n color: var(--hi-v4-color-gray-500, #929aa6);\n line-height: 1.25rem;\n line-height: var(--hi-v4-text-lineheight-sm, 1.25rem); }\n.hi-v4-check-select-option-group:first-child {\n margin-top: 4px;\n margin-top: var(--hi-v4-spacing-2, 4px); }\n";
|
11
11
|
|
12
12
|
var __styleInject__ = require('style-inject/dist/style-inject.es.js')["default"];
|
13
13
|
|
@@ -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
14
|
import { useLatestCallback } 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,16 +31,14 @@ 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
|
-
|
36
|
-
rest = __rest(_a, ["data", "children", "disabled", "value", "defaultValue", "onChange", "onSelect", "emptyContent", "searchPlaceholder", "filter", "titleRender"]);
|
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"]);
|
37
37
|
|
38
38
|
var data = useMemo(function () {
|
39
39
|
if (children) {
|
40
|
-
var arr = [];
|
41
|
-
|
42
40
|
var dfs = function dfs(child) {
|
41
|
+
var arr = [];
|
43
42
|
var list = toArray(child);
|
44
43
|
list.forEach(function (item) {
|
45
44
|
if (! /*#__PURE__*/React.isValidElement(item)) return; // @ts-ignore
|
@@ -62,11 +61,13 @@ var useCheckSelect = function useCheckSelect(_a) {
|
|
62
61
|
} else if (item.type.HiName === 'CheckSelectOptionGroup') {
|
63
62
|
var _props = item.props;
|
64
63
|
|
65
|
-
var
|
64
|
+
var groupId = _props.groupId,
|
65
|
+
label = _props.label,
|
66
66
|
_children2 = _props.children,
|
67
|
-
_rest2 = __rest(_props, ["label", "children"]);
|
67
|
+
_rest2 = __rest(_props, ["groupId", "label", "children"]);
|
68
68
|
|
69
69
|
var optGroup = {
|
70
|
+
groupId: groupId,
|
70
71
|
groupTitle: label,
|
71
72
|
children: [],
|
72
73
|
rootProps: _rest2
|
@@ -88,6 +89,35 @@ var useCheckSelect = function useCheckSelect(_a) {
|
|
88
89
|
|
89
90
|
return dataProp;
|
90
91
|
}, [children, dataProp]);
|
92
|
+
/**
|
93
|
+
* 转换对象
|
94
|
+
*/
|
95
|
+
|
96
|
+
var getKeyFields = useCallback(function (node, key) {
|
97
|
+
return node[fieldNames[key] || key];
|
98
|
+
}, [fieldNames]);
|
99
|
+
var flattedData = useMemo(function () {
|
100
|
+
// @ts-ignore
|
101
|
+
return flattenTree(data, function (node) {
|
102
|
+
if ('groupId' in node.raw) {
|
103
|
+
// @ts-ignore
|
104
|
+
node.id = node.raw.groupId; // @ts-ignore
|
105
|
+
|
106
|
+
node.groupTitle = node.raw.groupTitle; // @ts-ignore
|
107
|
+
|
108
|
+
node.groupId = node.raw.groupId;
|
109
|
+
} else {
|
110
|
+
// TODO:support children field map
|
111
|
+
node.id = getKeyFields(node.raw, 'id'); // @ts-ignore
|
112
|
+
|
113
|
+
node.title = getKeyFields(node.raw, 'title'); // @ts-ignore
|
114
|
+
|
115
|
+
node.disabled = getKeyFields(node.raw, 'disabled');
|
116
|
+
}
|
117
|
+
|
118
|
+
return node;
|
119
|
+
});
|
120
|
+
}, [data, getKeyFields]);
|
91
121
|
|
92
122
|
var _useUncontrolledState = useUncontrolledState(defaultValue, valueProp, onChangeProp),
|
93
123
|
value = _useUncontrolledState[0],
|
@@ -106,34 +136,30 @@ var useCheckSelect = function useCheckSelect(_a) {
|
|
106
136
|
allowCheck: allowCheck
|
107
137
|
}),
|
108
138
|
onOptionCheck = _useCheckDefault[0],
|
109
|
-
isSelectedId = _useCheckDefault[1];
|
110
|
-
|
111
|
-
|
112
|
-
|
113
|
-
|
114
|
-
|
115
|
-
|
116
|
-
|
117
|
-
|
118
|
-
|
119
|
-
|
120
|
-
placeholder: searchPlaceholder,
|
121
|
-
value: inputProps.value,
|
122
|
-
onChange: inputProps.onChange
|
123
|
-
};
|
124
|
-
}, [searchPlaceholder, inputProps]);
|
139
|
+
isSelectedId = _useCheckDefault[1]; // const [inSearch, matchedItems, inputProps, isEmpty, resetSearch] = useSearch(data, filter)
|
140
|
+
// const getSearchInputProps = useCallback(
|
141
|
+
// () => ({
|
142
|
+
// placeholder: searchPlaceholder,
|
143
|
+
// value: inputProps.value,
|
144
|
+
// onChange: inputProps.onChange,
|
145
|
+
// }),
|
146
|
+
// [searchPlaceholder, inputProps]
|
147
|
+
// )
|
148
|
+
|
149
|
+
|
125
150
|
return {
|
126
151
|
rootProps: rest,
|
127
|
-
data: inSearch ? matchedItems : data,
|
152
|
+
// data: inSearch ? matchedItems : data,
|
153
|
+
data: data,
|
154
|
+
flattedData: flattedData,
|
128
155
|
value: value,
|
156
|
+
tryChangeValue: tryChangeValue,
|
129
157
|
onSelect: onOptionCheck,
|
130
158
|
isSelectedId: isSelectedId,
|
131
|
-
emptyContent: emptyContent,
|
132
|
-
|
133
|
-
|
134
|
-
|
135
|
-
resetSearch: resetSearch,
|
136
|
-
titleRender: titleRender
|
159
|
+
emptyContent: emptyContent // getSearchInputProps,
|
160
|
+
// isEmpty,
|
161
|
+
// resetSearch,
|
162
|
+
|
137
163
|
};
|
138
164
|
};
|
139
165
|
|
@@ -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","proxyTryChangeValue","shouldChecked","useCheckDefault","checkedIds","onCheck","allowCheck","onOptionCheck","isSelectedId"],"mappings":"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"}
|
@@ -1,12 +1,15 @@
|
|
1
1
|
import React from 'react';
|
2
|
-
import {
|
3
|
-
import type {
|
2
|
+
import { UseCheckSelectProps } from './use-check-select';
|
3
|
+
import type { HiBaseHTMLProps } from '@hi-ui/core';
|
4
4
|
import { PopperProps } from '@hi-ui/popper';
|
5
|
+
import { CheckSelectDataItem, CheckSelectEventData } from './types';
|
6
|
+
import { PickerProps } from '@hi-ui/picker';
|
7
|
+
import { UseDataSource } from '@hi-ui/use-data-source';
|
5
8
|
/**
|
6
9
|
* TODO: What is CheckSelect
|
7
10
|
*/
|
8
11
|
export declare const CheckSelect: React.ForwardRefExoticComponent<CheckSelectProps & React.RefAttributes<HTMLDivElement | null>>;
|
9
|
-
export interface CheckSelectProps extends Omit<
|
12
|
+
export interface CheckSelectProps extends Omit<PickerProps, 'trigger'>, UseCheckSelectProps {
|
10
13
|
/**
|
11
14
|
* 自定义控制 popper 行为
|
12
15
|
*/
|
@@ -44,13 +47,39 @@ export interface CheckSelectProps extends Omit<HiBaseHTMLFieldProps<'div'>, 'onC
|
|
44
47
|
*/
|
45
48
|
size?: 'sm' | 'md' | 'lg';
|
46
49
|
/**
|
47
|
-
*
|
50
|
+
* 自定义渲染节点的 title 内容
|
48
51
|
*/
|
49
|
-
|
52
|
+
titleRender?: (item: CheckSelectEventData) => React.ReactNode;
|
50
53
|
/**
|
51
|
-
*
|
54
|
+
* 自定义选择后触发器所展示的内容,只在 title 为字符串时有效
|
52
55
|
*/
|
53
|
-
|
56
|
+
displayRender?: (option: CheckSelectDataItem) => React.ReactNode;
|
57
|
+
/**
|
58
|
+
* 触发器输入框占位符
|
59
|
+
*/
|
60
|
+
placeholder?: string;
|
61
|
+
/**
|
62
|
+
* 设置展现形式
|
63
|
+
*/
|
64
|
+
appearance?: 'outline' | 'unset' | 'filled';
|
65
|
+
/**
|
66
|
+
* 节点搜索模式,仅在mode=normal模式下生效
|
67
|
+
*/
|
68
|
+
searchMode?: 'highlight' | 'filter';
|
69
|
+
/**
|
70
|
+
* 自定义搜索过滤器,仅在 searchable 为 true 时有效
|
71
|
+
* 第一个参数为输入的关键字,
|
72
|
+
* 第二个为数据项,返回值为 true 时将出现在结果项
|
73
|
+
*/
|
74
|
+
filterOption?: (keyword: string, item: CheckSelectDataItem) => boolean;
|
75
|
+
/**
|
76
|
+
* 异步加载数据
|
77
|
+
*/
|
78
|
+
dataSource?: UseDataSource<CheckSelectDataItem>;
|
79
|
+
/**
|
80
|
+
* 自定义下拉菜单底部渲染
|
81
|
+
*/
|
82
|
+
renderExtraFooter?: () => React.ReactNode;
|
54
83
|
/**
|
55
84
|
* 自定义 input 后缀 icon
|
56
85
|
*/
|
@@ -59,12 +88,14 @@ export interface CheckSelectProps extends Omit<HiBaseHTMLFieldProps<'div'>, 'onC
|
|
59
88
|
* 自定义清除 tags 的 icon
|
60
89
|
*/
|
61
90
|
clearIcon?: React.ReactNode;
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
|
91
|
+
/**
|
92
|
+
* 面板打开时回调
|
93
|
+
*/
|
94
|
+
onOpen?: () => void;
|
95
|
+
/**
|
96
|
+
* 面板关闭时回调
|
97
|
+
*/
|
98
|
+
onClose?: () => void;
|
68
99
|
}
|
69
100
|
/**
|
70
101
|
* TODO: What is CheckSelectOption
|
package/lib/types/context.d.ts
CHANGED
@@ -1,41 +1,27 @@
|
|
1
1
|
/// <reference types="react" />
|
2
2
|
export declare const CheckSelectProvider: import("react").Provider<Omit<{
|
3
3
|
rootProps: {
|
4
|
-
displayRender?: ((option: import("./types").
|
4
|
+
displayRender?: ((option: import("./types").CheckSelectEventData) => import("react").ReactNode) | undefined;
|
5
5
|
placeholder?: string | undefined;
|
6
6
|
};
|
7
7
|
data: any[];
|
8
|
+
flattedData: import("packages/utils/tree-utils/lib/types/types").BaseFlattedTreeNodeData<any, any>[];
|
8
9
|
value: import("react").ReactText[];
|
10
|
+
tryChangeValue: (stateOrFunction: import("react").SetStateAction<import("react").ReactText[]>, ...args: any[]) => void;
|
9
11
|
onSelect: (targetItem: import("packages/hooks/use-check/lib/types").UseCheckItem, shouldChecked: boolean) => void;
|
10
12
|
isSelectedId: (id: import("react").ReactText) => boolean;
|
11
13
|
emptyContent: boolean | import("react").ReactChild | import("react").ReactFragment | import("react").ReactPortal | null;
|
12
|
-
getSearchInputProps: () => {
|
13
|
-
placeholder: string | undefined;
|
14
|
-
value: string;
|
15
|
-
onChange: (evt: import("react").ChangeEvent<HTMLInputElement>) => void;
|
16
|
-
};
|
17
|
-
tryChangeValue: (stateOrFunction: import("react").SetStateAction<import("react").ReactText[]>, ...args: any[]) => void;
|
18
|
-
isEmpty: boolean;
|
19
|
-
resetSearch: () => void;
|
20
|
-
titleRender: ((item: import("./types").CheckSelectOptionItem) => import("react").ReactNode) | undefined;
|
21
14
|
}, "rootProps"> | null>;
|
22
15
|
export declare const useCheckSelectContext: () => Omit<{
|
23
16
|
rootProps: {
|
24
|
-
displayRender?: ((option: import("./types").
|
17
|
+
displayRender?: ((option: import("./types").CheckSelectEventData) => import("react").ReactNode) | undefined;
|
25
18
|
placeholder?: string | undefined;
|
26
19
|
};
|
27
20
|
data: any[];
|
21
|
+
flattedData: import("packages/utils/tree-utils/lib/types/types").BaseFlattedTreeNodeData<any, any>[];
|
28
22
|
value: import("react").ReactText[];
|
23
|
+
tryChangeValue: (stateOrFunction: import("react").SetStateAction<import("react").ReactText[]>, ...args: any[]) => void;
|
29
24
|
onSelect: (targetItem: import("packages/hooks/use-check/lib/types").UseCheckItem, shouldChecked: boolean) => void;
|
30
25
|
isSelectedId: (id: import("react").ReactText) => boolean;
|
31
26
|
emptyContent: boolean | import("react").ReactChild | import("react").ReactFragment | import("react").ReactPortal | null;
|
32
|
-
getSearchInputProps: () => {
|
33
|
-
placeholder: string | undefined;
|
34
|
-
value: string;
|
35
|
-
onChange: (evt: import("react").ChangeEvent<HTMLInputElement>) => void;
|
36
|
-
};
|
37
|
-
tryChangeValue: (stateOrFunction: import("react").SetStateAction<import("react").ReactText[]>, ...args: any[]) => void;
|
38
|
-
isEmpty: boolean;
|
39
|
-
resetSearch: () => void;
|
40
|
-
titleRender: ((item: import("./types").CheckSelectOptionItem) => import("react").ReactNode) | undefined;
|
41
27
|
}, "rootProps">;
|
@@ -1,9 +1,9 @@
|
|
1
1
|
import React from 'react';
|
2
|
-
import {
|
2
|
+
import { CheckSelectItem } from '../types';
|
3
3
|
/**
|
4
4
|
* 支持搜索功能的 hook
|
5
5
|
*/
|
6
|
-
export declare const useSearch: (flattedData:
|
6
|
+
export declare const useSearch: (flattedData: CheckSelectItem[], filter?: ((keyword: string, option: CheckSelectItem) => boolean) | undefined) => readonly [boolean, CheckSelectItem[], {
|
7
7
|
value: string;
|
8
8
|
onChange: (evt: React.ChangeEvent<HTMLInputElement>) => void;
|
9
9
|
}, boolean, () => void];
|
package/lib/types/types.d.ts
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
import React from 'react';
|
2
|
-
export interface
|
2
|
+
export interface CheckSelectDataItem {
|
3
3
|
/**
|
4
4
|
* 节点唯一 id
|
5
5
|
*/
|
@@ -13,7 +13,7 @@ export interface CheckSelectOptionItem {
|
|
13
13
|
*/
|
14
14
|
disabled?: boolean;
|
15
15
|
}
|
16
|
-
export interface
|
16
|
+
export interface CheckSelectDataGroupItem {
|
17
17
|
/**
|
18
18
|
* 节点组标题
|
19
19
|
*/
|
@@ -21,6 +21,30 @@ export interface CheckSelectOptionGroupItem {
|
|
21
21
|
/**
|
22
22
|
* 是否禁用该节点
|
23
23
|
*/
|
24
|
-
children?:
|
24
|
+
children?: CheckSelectDataItem[];
|
25
|
+
}
|
26
|
+
export declare type CheckSelectItem = CheckSelectDataItem & CheckSelectDataGroupItem;
|
27
|
+
export interface CheckSelectRequiredProps {
|
28
|
+
checked: boolean;
|
29
|
+
focused: boolean;
|
30
|
+
}
|
31
|
+
export interface FlattedCheckSelectDataItem extends CheckSelectDataItem {
|
32
|
+
/**
|
33
|
+
* 该节点的子节点列表
|
34
|
+
*/
|
35
|
+
children?: FlattedCheckSelectDataItem[];
|
36
|
+
/**
|
37
|
+
* 关联用户传入的原始节点
|
38
|
+
*/
|
39
|
+
raw: CheckSelectDataItem;
|
40
|
+
/**
|
41
|
+
* 该节点的层级,从 0(顶层)开始
|
42
|
+
*/
|
43
|
+
depth: number;
|
44
|
+
/**
|
45
|
+
* 该节点的父节点
|
46
|
+
*/
|
47
|
+
parent?: FlattedCheckSelectDataItem;
|
48
|
+
}
|
49
|
+
export interface CheckSelectEventData extends FlattedCheckSelectDataItem, CheckSelectRequiredProps {
|
25
50
|
}
|
26
|
-
export declare type CheckSelectOptionOrOptionGroupItem = CheckSelectOptionItem & CheckSelectOptionGroupItem;
|
@@ -1,32 +1,25 @@
|
|
1
1
|
import React from 'react';
|
2
|
-
import {
|
3
|
-
export declare const useCheckSelect: ({ data: dataProp, children, disabled, value: valueProp, defaultValue, onChange: onChangeProp, onSelect, emptyContent, searchPlaceholder, filter,
|
2
|
+
import { CheckSelectDataItem, CheckSelectEventData } from './types';
|
3
|
+
export declare const useCheckSelect: ({ data: dataProp, children, disabled, value: valueProp, defaultValue, onChange: onChangeProp, onSelect, emptyContent, searchPlaceholder, filter, fieldNames, ...rest }: UseCheckSelectProps) => {
|
4
4
|
rootProps: {
|
5
5
|
/**
|
6
6
|
* 自定义选择后触发器所展示的内容,只在 title 为字符串时有效
|
7
7
|
*/
|
8
|
-
displayRender?: ((option:
|
8
|
+
displayRender?: ((option: CheckSelectEventData) => React.ReactNode) | undefined;
|
9
9
|
/**
|
10
10
|
* 触发器输入框占位符
|
11
11
|
*/
|
12
12
|
placeholder?: string | undefined;
|
13
13
|
};
|
14
14
|
data: any[];
|
15
|
+
flattedData: import("packages/utils/tree-utils/lib/types/types").BaseFlattedTreeNodeData<any, any>[];
|
15
16
|
value: React.ReactText[];
|
17
|
+
tryChangeValue: (stateOrFunction: React.SetStateAction<React.ReactText[]>, ...args: any[]) => void;
|
16
18
|
onSelect: (targetItem: import("@hi-ui/use-check").UseCheckItem, shouldChecked: boolean) => void;
|
17
19
|
isSelectedId: (id: React.ReactText) => boolean;
|
18
20
|
emptyContent: boolean | React.ReactChild | React.ReactFragment | React.ReactPortal | null;
|
19
|
-
getSearchInputProps: () => {
|
20
|
-
placeholder: string | undefined;
|
21
|
-
value: string;
|
22
|
-
onChange: (evt: React.ChangeEvent<HTMLInputElement>) => void;
|
23
|
-
};
|
24
|
-
tryChangeValue: (stateOrFunction: React.SetStateAction<React.ReactText[]>, ...args: any[]) => void;
|
25
|
-
isEmpty: boolean;
|
26
|
-
resetSearch: () => void;
|
27
|
-
titleRender: ((item: CheckSelectOptionItem) => React.ReactNode) | undefined;
|
28
21
|
};
|
29
|
-
export interface
|
22
|
+
export interface UseCheckSelectProps {
|
30
23
|
/**
|
31
24
|
* 设置当前选中值
|
32
25
|
*/
|
@@ -38,11 +31,11 @@ export interface UseSelectProps {
|
|
38
31
|
/**
|
39
32
|
* 选中值改变时的回调
|
40
33
|
*/
|
41
|
-
onChange?: (value: React.ReactText[], targetOption?:
|
34
|
+
onChange?: (value: React.ReactText[], targetOption?: CheckSelectEventData, shouldChecked?: boolean) => void;
|
42
35
|
/**
|
43
36
|
* 选中值时回调
|
44
37
|
*/
|
45
|
-
onSelect?: (value: React.ReactText[], targetOption
|
38
|
+
onSelect?: (value: React.ReactText[], targetOption: CheckSelectEventData, shouldChecked: boolean) => void;
|
46
39
|
/**
|
47
40
|
* 是否禁止使用
|
48
41
|
*/
|
@@ -51,14 +44,10 @@ export interface UseSelectProps {
|
|
51
44
|
* 设置选项为空时展示的内容
|
52
45
|
*/
|
53
46
|
emptyContent?: React.ReactNode;
|
54
|
-
/**
|
55
|
-
* 自定义渲染节点的 title 内容
|
56
|
-
*/
|
57
|
-
titleRender?: (item: CheckSelectOptionItem) => React.ReactNode;
|
58
47
|
/**
|
59
48
|
* 自定义选择后触发器所展示的内容,只在 title 为字符串时有效
|
60
49
|
*/
|
61
|
-
displayRender?: (option:
|
50
|
+
displayRender?: (option: CheckSelectEventData) => React.ReactNode;
|
62
51
|
/**
|
63
52
|
* 触发器输入框占位符
|
64
53
|
*/
|
@@ -70,14 +59,18 @@ export interface UseSelectProps {
|
|
70
59
|
/**
|
71
60
|
* 启用自定义过滤函数实现根据搜索框内容,自定义搜索
|
72
61
|
*/
|
73
|
-
filter?: (keyword: string, option:
|
62
|
+
filter?: (keyword: string, option: CheckSelectEventData) => boolean;
|
74
63
|
/**
|
75
64
|
* 选项数据
|
76
65
|
*/
|
77
|
-
data?:
|
66
|
+
data?: CheckSelectDataItem[];
|
78
67
|
/**
|
79
68
|
* JSX 子节点
|
80
69
|
*/
|
81
70
|
children?: React.ReactNode;
|
71
|
+
/**
|
72
|
+
* 设置 data 中 id, title, disabled, children 对应的 key
|
73
|
+
*/
|
74
|
+
fieldNames?: Record<string, string>;
|
82
75
|
}
|
83
76
|
export declare type UseSelectReturn = ReturnType<typeof useCheckSelect>;
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "@hi-ui/check-select",
|
3
|
-
"version": "4.0.0-alpha.
|
3
|
+
"version": "4.0.0-alpha.18",
|
4
4
|
"description": "A sub-package for @hi-ui/hiui.",
|
5
5
|
"keywords": [],
|
6
6
|
"author": "HIUI <mi-hiui@xiaomi.com>",
|
@@ -43,20 +43,28 @@
|
|
43
43
|
"url": "https://github.com/XiaoMi/hiui/issues"
|
44
44
|
},
|
45
45
|
"dependencies": {
|
46
|
-
"@hi-ui/checkbox": "^4.0.0-alpha.
|
47
|
-
"@hi-ui/classname": "^4.0.0-alpha.
|
48
|
-
"@hi-ui/core": "^4.0.0-alpha.
|
49
|
-
"@hi-ui/core-css": "^4.0.0-alpha.
|
50
|
-
"@hi-ui/env": "^4.0.0-alpha.
|
51
|
-
"@hi-ui/
|
52
|
-
"@hi-ui/
|
53
|
-
"@hi-ui/
|
54
|
-
"@hi-ui/
|
55
|
-
"@hi-ui/
|
56
|
-
"@hi-ui/
|
57
|
-
"@hi-ui/
|
58
|
-
"@hi-ui/
|
59
|
-
"@hi-ui/
|
46
|
+
"@hi-ui/checkbox": "^4.0.0-alpha.20",
|
47
|
+
"@hi-ui/classname": "^4.0.0-alpha.3",
|
48
|
+
"@hi-ui/core": "^4.0.0-alpha.12",
|
49
|
+
"@hi-ui/core-css": "^4.0.0-alpha.10",
|
50
|
+
"@hi-ui/env": "^4.0.0-alpha.5",
|
51
|
+
"@hi-ui/highlighter": "^4.0.0-alpha.4",
|
52
|
+
"@hi-ui/icons": "^4.0.0-alpha.18",
|
53
|
+
"@hi-ui/input": "^4.0.0-alpha.22",
|
54
|
+
"@hi-ui/picker": "^4.0.0-alpha.6",
|
55
|
+
"@hi-ui/popper": "^4.0.0-alpha.15",
|
56
|
+
"@hi-ui/tag-input": "^4.0.0-alpha.13",
|
57
|
+
"@hi-ui/times": "^4.0.0-alpha.4",
|
58
|
+
"@hi-ui/tree-utils": "^4.0.0-alpha.8",
|
59
|
+
"@hi-ui/type-assertion": "^4.0.0-alpha.13",
|
60
|
+
"@hi-ui/use-check": "^4.0.0-alpha.14",
|
61
|
+
"@hi-ui/use-children": "^4.0.0-alpha.3",
|
62
|
+
"@hi-ui/use-data-source": "^4.0.0-alpha.5",
|
63
|
+
"@hi-ui/use-latest": "^4.0.0-alpha.4",
|
64
|
+
"@hi-ui/use-search-mode": "^4.0.0-alpha.5",
|
65
|
+
"@hi-ui/use-toggle": "^4.0.0-alpha.10",
|
66
|
+
"@hi-ui/use-uncontrolled-state": "^4.0.0-alpha.12",
|
67
|
+
"lodash": "^4.17.21",
|
60
68
|
"rc-virtual-list": "^3.4.1"
|
61
69
|
},
|
62
70
|
"peerDependencies": {
|
@@ -64,9 +72,9 @@
|
|
64
72
|
"react-dom": "^17.0.1"
|
65
73
|
},
|
66
74
|
"devDependencies": {
|
67
|
-
"@hi-ui/hi-build": "^4.0.0-alpha.
|
75
|
+
"@hi-ui/hi-build": "^4.0.0-alpha.4",
|
68
76
|
"react": "^17.0.1",
|
69
77
|
"react-dom": "^17.0.1"
|
70
78
|
},
|
71
|
-
"gitHead": "
|
79
|
+
"gitHead": "ad1102bcd1d1c23fa1f0c485d824b6de1a010018"
|
72
80
|
}
|