@hi-ui/check-cascader 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.
- package/README.md +95 -7
- package/lib/cjs/CheckCascader.js +201 -67
- package/lib/cjs/CheckCascader.js.map +1 -1
- package/lib/cjs/CheckCascaderMenu.js +8 -1
- package/lib/cjs/CheckCascaderMenu.js.map +1 -1
- package/lib/cjs/CheckCascaderMenus.js +13 -5
- package/lib/cjs/CheckCascaderMenus.js.map +1 -1
- package/lib/cjs/context.js.map +1 -1
- package/lib/cjs/hooks/use-async-switch.js +4 -1
- package/lib/cjs/hooks/use-async-switch.js.map +1 -1
- package/lib/cjs/hooks/use-check.js +3 -12
- package/lib/cjs/hooks/use-check.js.map +1 -1
- package/lib/cjs/hooks/use-search.js +13 -71
- package/lib/cjs/hooks/use-search.js.map +1 -1
- package/lib/cjs/index.js +0 -3
- package/lib/cjs/index.js.map +1 -1
- package/lib/cjs/styles/index.scss.js +1 -1
- package/lib/cjs/utils/index.js +0 -36
- package/lib/cjs/utils/index.js.map +1 -1
- package/lib/esm/CheckCascader.js +192 -67
- package/lib/esm/CheckCascader.js.map +1 -1
- package/lib/esm/CheckCascaderMenu.js +8 -1
- package/lib/esm/CheckCascaderMenu.js.map +1 -1
- package/lib/esm/CheckCascaderMenus.js +13 -5
- package/lib/esm/CheckCascaderMenus.js.map +1 -1
- package/lib/esm/context.js.map +1 -1
- package/lib/esm/hooks/use-async-switch.js +5 -2
- package/lib/esm/hooks/use-async-switch.js.map +1 -1
- package/lib/esm/hooks/use-check.js +3 -10
- package/lib/esm/hooks/use-check.js.map +1 -1
- package/lib/esm/hooks/use-search.js +13 -72
- package/lib/esm/hooks/use-search.js.map +1 -1
- package/lib/esm/index.js +0 -1
- package/lib/esm/index.js.map +1 -1
- package/lib/esm/styles/index.scss.js +1 -1
- package/lib/esm/utils/index.js +1 -36
- package/lib/esm/utils/index.js.map +1 -1
- package/lib/types/CheckCascader.d.ts +23 -33
- package/lib/types/CheckCascaderMenus.d.ts +1 -1
- package/lib/types/context.d.ts +1 -1
- package/lib/types/hooks/index.d.ts +0 -1
- package/lib/types/hooks/use-async-switch.d.ts +1 -1
- package/lib/types/hooks/use-search.d.ts +4 -0
- package/lib/types/index.d.ts +0 -1
- package/package.json +29 -21
- package/lib/cjs/CheckCascaderPanel.js +0 -189
- package/lib/cjs/CheckCascaderPanel.js.map +0 -1
- package/lib/cjs/TagInput.js +0 -182
- package/lib/cjs/TagInput.js.map +0 -1
- package/lib/cjs/hooks/use-tag-input.js +0 -122
- package/lib/cjs/hooks/use-tag-input.js.map +0 -1
- package/lib/esm/CheckCascaderPanel.js +0 -156
- package/lib/esm/CheckCascaderPanel.js.map +0 -1
- package/lib/esm/TagInput.js +0 -152
- package/lib/esm/TagInput.js.map +0 -1
- package/lib/esm/hooks/use-tag-input.js +0 -113
- package/lib/esm/hooks/use-tag-input.js.map +0 -1
- package/lib/types/CheckCascaderPanel.d.ts +0 -88
- package/lib/types/TagInput.d.ts +0 -68
- package/lib/types/hooks/use-tag-input.d.ts +0 -3
@@ -1,3 +1,3 @@
|
|
1
1
|
import React from 'react';
|
2
2
|
import { CheckCascaderItem, CheckCascaderItemEventData } from '../types';
|
3
|
-
export declare const useAsyncSwitch: (setCascaderData: React.Dispatch<React.SetStateAction<CheckCascaderItem[]>>, onExpand?: ((selectedOption: CheckCascaderItemEventData) => void) | undefined, onLoadChildren?: ((item: CheckCascaderItemEventData) => Promise<CheckCascaderItem[] | void> | void) | undefined) => readonly [(id: React.ReactText) => boolean, (node: CheckCascaderItemEventData) => Promise<void>];
|
3
|
+
export declare const useAsyncSwitch: (setCascaderData: React.Dispatch<React.SetStateAction<CheckCascaderItem[]>>, onExpand?: ((selectedOption: CheckCascaderItemEventData) => void) | undefined, onLoadChildren?: ((item: CheckCascaderItemEventData, idPaths: React.ReactText[]) => Promise<CheckCascaderItem[] | void> | void) | undefined) => readonly [(id: React.ReactText) => boolean, (node: CheckCascaderItemEventData) => Promise<void>];
|
@@ -7,3 +7,7 @@ export declare const useSearch: (flattedData: FlattedCheckCascaderItem[], upMatc
|
|
7
7
|
value: string;
|
8
8
|
onChange: (evt: React.ChangeEvent<HTMLInputElement>) => void;
|
9
9
|
}, boolean];
|
10
|
+
/**
|
11
|
+
* 返回 -1 表示匹配失败
|
12
|
+
*/
|
13
|
+
export declare const matchStrategy: (content: unknown, keyword: string) => number;
|
package/lib/types/index.d.ts
CHANGED
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "@hi-ui/check-cascader",
|
3
|
-
"version": "4.0.0-
|
3
|
+
"version": "4.0.0-beta.0",
|
4
4
|
"description": "A sub-package for @hi-ui/hiui.",
|
5
5
|
"keywords": [],
|
6
6
|
"author": "HIUI <mi-hiui@xiaomi.com>",
|
@@ -37,38 +37,46 @@
|
|
37
37
|
"build:esm": "hi-build ./src/index.ts --format esm -d ./lib/esm",
|
38
38
|
"build:cjs": "hi-build ./src/index.ts --format cjs -d ./lib/cjs",
|
39
39
|
"build:types": "tsc --emitDeclarationOnly --declaration --declarationDir lib/types",
|
40
|
-
"build": "concurrently yarn:build:*"
|
40
|
+
"build": "concurrently yarn:build:*",
|
41
|
+
"start": "nodemon --watch src --exec yarn build -e ts,tsx"
|
41
42
|
},
|
42
43
|
"bugs": {
|
43
44
|
"url": "https://github.com/XiaoMi/hiui/issues"
|
44
45
|
},
|
45
46
|
"dependencies": {
|
46
|
-
"@hi-ui/checkbox": "^4.0.0-
|
47
|
-
"@hi-ui/classname": "^4.0.0-
|
48
|
-
"@hi-ui/core-css": "^4.0.0-
|
49
|
-
"@hi-ui/env": "^4.0.0-
|
50
|
-
"@hi-ui/icons": "^4.0.0-
|
51
|
-
"@hi-ui/input": "^4.0.0-
|
52
|
-
"@hi-ui/
|
53
|
-
"@hi-ui/
|
54
|
-
"@hi-ui/
|
55
|
-
"@hi-ui/
|
56
|
-
"@hi-ui/
|
57
|
-
"@hi-ui/
|
58
|
-
"@hi-ui/
|
59
|
-
"@hi-ui/use-
|
60
|
-
"@hi-ui/use-
|
47
|
+
"@hi-ui/checkbox": "^4.0.0-beta.0",
|
48
|
+
"@hi-ui/classname": "^4.0.0-beta.0",
|
49
|
+
"@hi-ui/core-css": "^4.0.0-beta.0",
|
50
|
+
"@hi-ui/env": "^4.0.0-beta.0",
|
51
|
+
"@hi-ui/icons": "^4.0.0-beta.0",
|
52
|
+
"@hi-ui/input": "^4.0.0-beta.0",
|
53
|
+
"@hi-ui/locale-context": "^4.0.0-beta.0",
|
54
|
+
"@hi-ui/picker": "^4.0.0-beta.0",
|
55
|
+
"@hi-ui/popper": "^4.0.0-beta.0",
|
56
|
+
"@hi-ui/tag-input": "^4.0.0-beta.0",
|
57
|
+
"@hi-ui/times": "^4.0.0-beta.0",
|
58
|
+
"@hi-ui/tree-utils": "^4.0.0-beta.0",
|
59
|
+
"@hi-ui/type-assertion": "^4.0.0-beta.0",
|
60
|
+
"@hi-ui/use-check": "^4.0.0-beta.0",
|
61
|
+
"@hi-ui/use-data-source": "^4.0.0-beta.0",
|
62
|
+
"@hi-ui/use-latest": "^4.0.0-beta.0",
|
63
|
+
"@hi-ui/use-merge-refs": "^4.0.0-beta.0",
|
64
|
+
"@hi-ui/use-outside-click": "^4.0.0-beta.0",
|
65
|
+
"@hi-ui/use-search-mode": "^4.0.0-beta.0",
|
66
|
+
"@hi-ui/use-toggle": "^4.0.0-beta.0",
|
67
|
+
"@hi-ui/use-uncontrolled-state": "^4.0.0-beta.0",
|
61
68
|
"@popperjs/core": "^2.9.3",
|
69
|
+
"lodash": "^4.17.21",
|
62
70
|
"react-popper": "^2.2.5"
|
63
71
|
},
|
64
72
|
"peerDependencies": {
|
65
|
-
"react": "
|
66
|
-
"react-dom": "
|
73
|
+
"react": ">=16.8.6",
|
74
|
+
"react-dom": ">=16.8.6"
|
67
75
|
},
|
68
76
|
"devDependencies": {
|
69
|
-
"@hi-ui/hi-build": "^4.0.0-
|
77
|
+
"@hi-ui/hi-build": "^4.0.0-beta.0",
|
70
78
|
"react": "^17.0.1",
|
71
79
|
"react-dom": "^17.0.1"
|
72
80
|
},
|
73
|
-
"gitHead": "
|
81
|
+
"gitHead": "be106782f3ff72208ec6d4a2ec8acfe2a41fa1fe"
|
74
82
|
}
|
@@ -1,189 +0,0 @@
|
|
1
|
-
/** @LICENSE
|
2
|
-
* @hi-ui/check-cascader
|
3
|
-
* https://github.com/XiaoMi/hiui/tree/master/packages/ui/check-cascader#readme
|
4
|
-
*
|
5
|
-
* Copyright (c) HIUI <mi-hiui@xiaomi.com>.
|
6
|
-
*
|
7
|
-
* This source code is licensed under the MIT license found in the
|
8
|
-
* LICENSE file in the root directory of this source tree.
|
9
|
-
*/
|
10
|
-
'use strict';
|
11
|
-
|
12
|
-
var _typeof = require("@babel/runtime/helpers/typeof");
|
13
|
-
|
14
|
-
Object.defineProperty(exports, '__esModule', {
|
15
|
-
value: true
|
16
|
-
});
|
17
|
-
|
18
|
-
var tslib = require('tslib');
|
19
|
-
|
20
|
-
var React = require('react');
|
21
|
-
|
22
|
-
var classname = require('@hi-ui/classname');
|
23
|
-
|
24
|
-
var env = require('@hi-ui/env');
|
25
|
-
|
26
|
-
var Input = require('@hi-ui/input');
|
27
|
-
|
28
|
-
var useSearch = require('./hooks/use-search.js');
|
29
|
-
|
30
|
-
require('@hi-ui/use-check');
|
31
|
-
|
32
|
-
require('@hi-ui/use-uncontrolled-state');
|
33
|
-
|
34
|
-
require('@hi-ui/use-latest');
|
35
|
-
|
36
|
-
var index = require('./utils/index.js');
|
37
|
-
|
38
|
-
var useCache = require('./hooks/use-cache.js');
|
39
|
-
|
40
|
-
require('@babel/runtime/regenerator');
|
41
|
-
|
42
|
-
require('@hi-ui/tree-utils');
|
43
|
-
|
44
|
-
var icons = require('@hi-ui/icons');
|
45
|
-
|
46
|
-
var CheckCascaderMenus = require('./CheckCascaderMenus.js');
|
47
|
-
|
48
|
-
function _interopDefaultLegacy(e) {
|
49
|
-
return e && _typeof(e) === 'object' && 'default' in e ? e : {
|
50
|
-
'default': e
|
51
|
-
};
|
52
|
-
}
|
53
|
-
|
54
|
-
var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
|
55
|
-
|
56
|
-
var Input__default = /*#__PURE__*/_interopDefaultLegacy(Input);
|
57
|
-
|
58
|
-
var _role = 'check-cascader-panel';
|
59
|
-
|
60
|
-
var _prefix = classname.getPrefixCls(_role);
|
61
|
-
|
62
|
-
var NOOP_ARRAY = [];
|
63
|
-
/**
|
64
|
-
* TODO: What is CheckCascaderPanel
|
65
|
-
*/
|
66
|
-
|
67
|
-
var CheckCascaderPanel = /*#__PURE__*/React.forwardRef(function (_a, ref) {
|
68
|
-
var _a$prefixCls = _a.prefixCls,
|
69
|
-
prefixCls = _a$prefixCls === void 0 ? _prefix : _a$prefixCls,
|
70
|
-
_a$role = _a.role,
|
71
|
-
role = _a$role === void 0 ? _role : _a$role,
|
72
|
-
className = _a.className,
|
73
|
-
data = _a.data,
|
74
|
-
value = _a.value,
|
75
|
-
_a$defaultValue = _a.defaultValue,
|
76
|
-
defaultValue = _a$defaultValue === void 0 ? NOOP_ARRAY : _a$defaultValue,
|
77
|
-
_a$disabled = _a.disabled,
|
78
|
-
disabled = _a$disabled === void 0 ? false : _a$disabled,
|
79
|
-
_a$expandTrigger = _a.expandTrigger,
|
80
|
-
expandTrigger = _a$expandTrigger === void 0 ? 'click' : _a$expandTrigger,
|
81
|
-
_a$changeOnSelect = _a.changeOnSelect,
|
82
|
-
changeOnSelect = _a$changeOnSelect === void 0 ? false : _a$changeOnSelect,
|
83
|
-
_a$checkCascaded = _a.checkCascaded,
|
84
|
-
checkCascaded = _a$checkCascaded === void 0 ? true : _a$checkCascaded,
|
85
|
-
_a$searchable = _a.searchable,
|
86
|
-
searchable = _a$searchable === void 0 ? true : _a$searchable,
|
87
|
-
_a$flatted = _a.flatted,
|
88
|
-
flatted = _a$flatted === void 0 ? false : _a$flatted,
|
89
|
-
_a$upMatch = _a.upMatch,
|
90
|
-
upMatch = _a$upMatch === void 0 ? false : _a$upMatch,
|
91
|
-
_a$emptyContent = _a.emptyContent,
|
92
|
-
emptyContent = _a$emptyContent === void 0 ? '无匹配选项' : _a$emptyContent,
|
93
|
-
placeholder = _a.placeholder,
|
94
|
-
onChange = _a.onChange,
|
95
|
-
onSelect = _a.onSelect,
|
96
|
-
titleRender = _a.titleRender,
|
97
|
-
onLoadChildren = _a.onLoadChildren,
|
98
|
-
rest = tslib.__rest(_a, ["prefixCls", "role", "className", "children", "data", "value", "defaultValue", "disabled", "expandTrigger", "changeOnSelect", "checkCascaded", "searchable", "flatted", "upMatch", "emptyContent", "placeholder", "onChange", "onSelect", "titleRender", "onLoadChildren"]);
|
99
|
-
|
100
|
-
var _useCache = useCache.useCache(data),
|
101
|
-
cascaderData = _useCache[0],
|
102
|
-
setCascaderData = _useCache[1];
|
103
|
-
|
104
|
-
var flattedData = React.useMemo(function () {
|
105
|
-
return index.flattenTreeData(cascaderData);
|
106
|
-
}, [cascaderData]);
|
107
|
-
|
108
|
-
var _useSearch = useSearch.useSearch(flattedData, upMatch),
|
109
|
-
inSearch = _useSearch[0],
|
110
|
-
matchedNodes = _useSearch[1],
|
111
|
-
inputProps = _useSearch[2],
|
112
|
-
isEmpty = _useSearch[3];
|
113
|
-
|
114
|
-
var renderTitleWithSearch = React.useCallback(function (option) {
|
115
|
-
// 如果 titleRender 返回 `true`,则使用默认 title
|
116
|
-
var title = titleRender ? titleRender(option) : true;
|
117
|
-
|
118
|
-
if (title !== true) {
|
119
|
-
return title;
|
120
|
-
}
|
121
|
-
|
122
|
-
if (!inSearch) return true;
|
123
|
-
if (typeof option.title !== 'string') return true;
|
124
|
-
var searchValue = inputProps.value;
|
125
|
-
var found = false;
|
126
|
-
return /*#__PURE__*/React__default['default'].createElement("span", {
|
127
|
-
className: classname.cx("title__text", "title__text--cols")
|
128
|
-
}, index.getNodeAncestors(option).map(function (item) {
|
129
|
-
var title = item.title,
|
130
|
-
id = item.id;
|
131
|
-
var raw = /*#__PURE__*/React__default['default'].createElement("span", {
|
132
|
-
className: "title__text--col",
|
133
|
-
key: id
|
134
|
-
}, title);
|
135
|
-
if (typeof title !== 'string') return raw;
|
136
|
-
if (found) return raw;
|
137
|
-
var index = title.indexOf(searchValue);
|
138
|
-
if (index === -1) return raw;
|
139
|
-
found = true;
|
140
|
-
var beforeStr = title.substr(0, index);
|
141
|
-
var afterStr = title.substr(index + searchValue.length);
|
142
|
-
return /*#__PURE__*/React__default['default'].createElement("span", {
|
143
|
-
className: "title__text--col",
|
144
|
-
key: id
|
145
|
-
}, beforeStr, /*#__PURE__*/React__default['default'].createElement("span", {
|
146
|
-
className: "title__text--matched"
|
147
|
-
}, searchValue), afterStr);
|
148
|
-
}).reverse());
|
149
|
-
}, [titleRender, inSearch, inputProps.value]);
|
150
|
-
var cls = classname.cx(prefixCls, className);
|
151
|
-
return /*#__PURE__*/React__default['default'].createElement("div", Object.assign({
|
152
|
-
ref: ref,
|
153
|
-
role: role,
|
154
|
-
className: cls
|
155
|
-
}, rest), searchable ? /*#__PURE__*/React__default['default'].createElement("div", {
|
156
|
-
className: prefixCls + "-search"
|
157
|
-
}, /*#__PURE__*/React__default['default'].createElement(Input__default['default'], {
|
158
|
-
appearance: "underline",
|
159
|
-
placeholder: placeholder,
|
160
|
-
prefix: /*#__PURE__*/React__default['default'].createElement(icons.SearchOutlined, null),
|
161
|
-
value: inputProps.value,
|
162
|
-
onChange: inputProps.onChange
|
163
|
-
}), isEmpty ? /*#__PURE__*/React__default['default'].createElement("span", {
|
164
|
-
className: prefixCls + "-search__empty"
|
165
|
-
}, emptyContent) : null) : null, /*#__PURE__*/React__default['default'].createElement(CheckCascaderMenus.CheckCascaderMenus, Object.assign({}, {
|
166
|
-
disabled: disabled,
|
167
|
-
value: value,
|
168
|
-
defaultValue: defaultValue,
|
169
|
-
onChange: onChange,
|
170
|
-
expandTrigger: expandTrigger,
|
171
|
-
changeOnSelect: changeOnSelect,
|
172
|
-
checkCascaded: checkCascaded,
|
173
|
-
onSelect: onSelect,
|
174
|
-
onLoadChildren: onLoadChildren
|
175
|
-
}, {
|
176
|
-
data: cascaderData,
|
177
|
-
onChangeData: setCascaderData,
|
178
|
-
titleRender: renderTitleWithSearch,
|
179
|
-
flatted: flatted || inSearch,
|
180
|
-
flattedData: inSearch ? matchedNodes : flattedData
|
181
|
-
})));
|
182
|
-
});
|
183
|
-
|
184
|
-
if (env.__DEV__) {
|
185
|
-
CheckCascaderPanel.displayName = 'CheckCascaderPanel';
|
186
|
-
}
|
187
|
-
|
188
|
-
exports.CheckCascaderPanel = CheckCascaderPanel;
|
189
|
-
//# sourceMappingURL=CheckCascaderPanel.js.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"CheckCascaderPanel.js","sources":["../../src/CheckCascaderPanel.tsx"],"sourcesContent":[null],"names":["_role","_prefix","getPrefixCls","NOOP_ARRAY","CheckCascaderPanel","forwardRef","_a","ref","prefixCls","role","className","data","value","defaultValue","disabled","expandTrigger","changeOnSelect","checkCascaded","searchable","flatted","upMatch","emptyContent","placeholder","onChange","onSelect","titleRender","onLoadChildren","rest","useCache","cascaderData","setCascaderData","flattedData","useMemo","flattenTreeData","useSearch","inSearch","matchedNodes","inputProps","isEmpty","renderTitleWithSearch","useCallback","option","title","searchValue","found","React","cx","getNodeAncestors","map","item","id","raw","key","index","indexOf","beforeStr","substr","afterStr","length","reverse","cls","Input","appearance","prefix","SearchOutlined","CheckCascaderMenus","onChangeData","__DEV__","displayName"],"mappings":"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"}
|
package/lib/cjs/TagInput.js
DELETED
@@ -1,182 +0,0 @@
|
|
1
|
-
/** @LICENSE
|
2
|
-
* @hi-ui/check-cascader
|
3
|
-
* https://github.com/XiaoMi/hiui/tree/master/packages/ui/check-cascader#readme
|
4
|
-
*
|
5
|
-
* Copyright (c) HIUI <mi-hiui@xiaomi.com>.
|
6
|
-
*
|
7
|
-
* This source code is licensed under the MIT license found in the
|
8
|
-
* LICENSE file in the root directory of this source tree.
|
9
|
-
*/
|
10
|
-
'use strict';
|
11
|
-
|
12
|
-
var _typeof = require("@babel/runtime/helpers/typeof");
|
13
|
-
|
14
|
-
Object.defineProperty(exports, '__esModule', {
|
15
|
-
value: true
|
16
|
-
});
|
17
|
-
|
18
|
-
var tslib = require('tslib');
|
19
|
-
|
20
|
-
var React = require('react');
|
21
|
-
|
22
|
-
var classname = require('@hi-ui/classname');
|
23
|
-
|
24
|
-
var env = require('@hi-ui/env');
|
25
|
-
|
26
|
-
var useUncontrolledState = require('@hi-ui/use-uncontrolled-state');
|
27
|
-
|
28
|
-
var times = require('@hi-ui/times');
|
29
|
-
|
30
|
-
var icons = require('@hi-ui/icons');
|
31
|
-
|
32
|
-
var useMergeRefs = require('@hi-ui/use-merge-refs');
|
33
|
-
|
34
|
-
require('@hi-ui/use-latest');
|
35
|
-
|
36
|
-
require('@hi-ui/use-check');
|
37
|
-
|
38
|
-
var useTagInput = require('./hooks/use-tag-input.js');
|
39
|
-
|
40
|
-
require('@babel/runtime/regenerator');
|
41
|
-
|
42
|
-
require('@hi-ui/tree-utils');
|
43
|
-
|
44
|
-
var index = require('./utils/index.js');
|
45
|
-
|
46
|
-
function _interopDefaultLegacy(e) {
|
47
|
-
return e && _typeof(e) === 'object' && 'default' in e ? e : {
|
48
|
-
'default': e
|
49
|
-
};
|
50
|
-
}
|
51
|
-
|
52
|
-
var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
|
53
|
-
|
54
|
-
var _role = 'tag-input';
|
55
|
-
|
56
|
-
var _prefix = classname.getPrefixCls(_role);
|
57
|
-
|
58
|
-
var NOOP_ARRAY = [];
|
59
|
-
/**
|
60
|
-
* TODO: What is TagInput
|
61
|
-
*/
|
62
|
-
|
63
|
-
var TagInput = /*#__PURE__*/React.forwardRef(function (_a, ref) {
|
64
|
-
var _a$prefixCls = _a.prefixCls,
|
65
|
-
prefixCls = _a$prefixCls === void 0 ? _prefix : _a$prefixCls,
|
66
|
-
_a$role = _a.role,
|
67
|
-
role = _a$role === void 0 ? _role : _a$role,
|
68
|
-
className = _a.className,
|
69
|
-
_a$defaultValue = _a.defaultValue,
|
70
|
-
defaultValue = _a$defaultValue === void 0 ? NOOP_ARRAY : _a$defaultValue,
|
71
|
-
valueProp = _a.value,
|
72
|
-
onChange = _a.onChange,
|
73
|
-
placeholder = _a.placeholder,
|
74
|
-
data = _a.data,
|
75
|
-
_a$wrap = _a.wrap,
|
76
|
-
wrap = _a$wrap === void 0 ? true : _a$wrap,
|
77
|
-
_a$clearable = _a.clearable,
|
78
|
-
clearable = _a$clearable === void 0 ? false : _a$clearable,
|
79
|
-
_a$disabled = _a.disabled,
|
80
|
-
disabled = _a$disabled === void 0 ? false : _a$disabled,
|
81
|
-
displayRender = _a.displayRender,
|
82
|
-
suffix = _a.suffix,
|
83
|
-
rest = tslib.__rest(_a, ["prefixCls", "role", "className", "defaultValue", "value", "onChange", "placeholder", "data", "wrap", "clearable", "disabled", "displayRender", "suffix"]);
|
84
|
-
|
85
|
-
var flattedData = React.useMemo(function () {
|
86
|
-
return index.flattenTreeData(data);
|
87
|
-
}, [data]);
|
88
|
-
|
89
|
-
var _useUncontrolledState = useUncontrolledState.useUncontrolledState(defaultValue, valueProp, onChange),
|
90
|
-
value = _useUncontrolledState[0],
|
91
|
-
tryChangeValue = _useUncontrolledState[1];
|
92
|
-
|
93
|
-
var showData = React.useMemo(function () {
|
94
|
-
return flattedData.filter(function (item) {
|
95
|
-
return item && item.checkable && value.indexOf(item.id) !== -1;
|
96
|
-
});
|
97
|
-
}, [flattedData, value]);
|
98
|
-
var tagSelector = "." + prefixCls + "__tag";
|
99
|
-
var tagInputRef = React.useRef(null);
|
100
|
-
|
101
|
-
var _useTagInput = useTagInput.useTagInput(true, tagSelector, showData, tagInputRef),
|
102
|
-
tagMaxWidth = _useTagInput[0],
|
103
|
-
showTagCount = _useTagInput[1];
|
104
|
-
|
105
|
-
var handleClear = React.useCallback(function (evt) {
|
106
|
-
if (disabled) return;
|
107
|
-
evt.stopPropagation();
|
108
|
-
tryChangeValue(NOOP_ARRAY);
|
109
|
-
}, [tryChangeValue, disabled]);
|
110
|
-
|
111
|
-
var _useState = React.useState(false),
|
112
|
-
hover = _useState[0],
|
113
|
-
setHover = _useState[1];
|
114
|
-
|
115
|
-
var trySetHover = function trySetHover(hovered) {
|
116
|
-
if (disabled) return;
|
117
|
-
setHover(hovered);
|
118
|
-
}; // 在开启 clearable 下展示 清除内容按钮,可点击进行内容清楚
|
119
|
-
|
120
|
-
|
121
|
-
var showClearableIcon = clearable && value.length > 0 && !disabled;
|
122
|
-
var cls = classname.cx(prefixCls, className, disabled && 'disabled', wrap ? prefixCls + "--wrap" : prefixCls + "--nowrap");
|
123
|
-
return /*#__PURE__*/React__default['default'].createElement("div", Object.assign({
|
124
|
-
ref: useMergeRefs.useMergeRefs(ref, tagInputRef),
|
125
|
-
role: role,
|
126
|
-
className: cls,
|
127
|
-
onMouseOver: function onMouseOver(e) {
|
128
|
-
trySetHover(true);
|
129
|
-
},
|
130
|
-
onMouseLeave: function onMouseLeave(e) {
|
131
|
-
trySetHover(false);
|
132
|
-
}
|
133
|
-
}, rest), value.length !== 0 ? /*#__PURE__*/React__default['default'].createElement("span", {
|
134
|
-
className: prefixCls + "__value"
|
135
|
-
}, /*#__PURE__*/React__default['default'].createElement("span", {
|
136
|
-
className: classname.cx(prefixCls + "__tags", wrap && prefixCls + "__tags--all")
|
137
|
-
}, times.times(showTagCount, function (index) {
|
138
|
-
var option = showData[index];
|
139
|
-
if (!option) return null;
|
140
|
-
var title = displayRender ? displayRender(option) : true;
|
141
|
-
return /*#__PURE__*/React__default['default'].createElement("span", {
|
142
|
-
className: prefixCls + "__tag",
|
143
|
-
key: option.id,
|
144
|
-
style: {
|
145
|
-
maxWidth: tagMaxWidth
|
146
|
-
}
|
147
|
-
}, /*#__PURE__*/React__default['default'].createElement("span", {
|
148
|
-
className: prefixCls + "__tag-content",
|
149
|
-
style: {
|
150
|
-
maxWidth: "calc(" + tagMaxWidth + " - 20px)"
|
151
|
-
}
|
152
|
-
}, title === true ? option.title : title), /*#__PURE__*/React__default['default'].createElement("span", {
|
153
|
-
className: prefixCls + "__tag-closed",
|
154
|
-
onClick: function onClick(evt) {
|
155
|
-
if (disabled) return;
|
156
|
-
evt.stopPropagation();
|
157
|
-
var nextValue = [].concat(value).filter(function (id) {
|
158
|
-
return id !== option.id;
|
159
|
-
});
|
160
|
-
tryChangeValue(nextValue);
|
161
|
-
}
|
162
|
-
}, /*#__PURE__*/React__default['default'].createElement(icons.CloseOutlined, null)));
|
163
|
-
}))) : /*#__PURE__*/React__default['default'].createElement("span", {
|
164
|
-
className: prefixCls + "__placeholder"
|
165
|
-
}, placeholder), suffix || showClearableIcon || !wrap && showTagCount > 0 ? /*#__PURE__*/React__default['default'].createElement("span", {
|
166
|
-
className: prefixCls + "__suffix"
|
167
|
-
}, !wrap && showTagCount > 0 ? /*#__PURE__*/React__default['default'].createElement("span", {
|
168
|
-
className: classname.cx(prefixCls + "__tag--total")
|
169
|
-
}, "" + (showTagCount > 99 ? '+99' : showTagCount)) : null, showClearableIcon && hover ? /*#__PURE__*/React__default['default'].createElement("span", {
|
170
|
-
className: prefixCls + "__clear",
|
171
|
-
role: "button",
|
172
|
-
tabIndex: -1,
|
173
|
-
onClick: handleClear
|
174
|
-
}, /*#__PURE__*/React__default['default'].createElement(icons.CloseCircleFilled, null)) : suffix) : null);
|
175
|
-
});
|
176
|
-
|
177
|
-
if (env.__DEV__) {
|
178
|
-
TagInput.displayName = 'TagInput';
|
179
|
-
}
|
180
|
-
|
181
|
-
exports.TagInput = TagInput;
|
182
|
-
//# sourceMappingURL=TagInput.js.map
|
package/lib/cjs/TagInput.js.map
DELETED
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"TagInput.js","sources":["../../src/TagInput.tsx"],"sourcesContent":[null],"names":["_role","_prefix","getPrefixCls","NOOP_ARRAY","TagInput","forwardRef","_a","ref","prefixCls","role","className","defaultValue","valueProp","value","onChange","placeholder","data","wrap","clearable","disabled","displayRender","suffix","rest","flattedData","useMemo","flattenTreeData","useUncontrolledState","tryChangeValue","showData","filter","item","checkable","indexOf","id","tagSelector","tagInputRef","useRef","useTagInput","tagMaxWidth","showTagCount","handleClear","useCallback","evt","stopPropagation","useState","hover","setHover","trySetHover","hovered","showClearableIcon","length","cls","cx","React","useMergeRefs","onMouseOver","e","onMouseLeave","times","index","option","title","key","style","maxWidth","onClick","nextValue","CloseOutlined","tabIndex","CloseCircleFilled","__DEV__","displayName"],"mappings":"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"}
|
@@ -1,122 +0,0 @@
|
|
1
|
-
/** @LICENSE
|
2
|
-
* @hi-ui/check-cascader
|
3
|
-
* https://github.com/XiaoMi/hiui/tree/master/packages/ui/check-cascader#readme
|
4
|
-
*
|
5
|
-
* Copyright (c) HIUI <mi-hiui@xiaomi.com>.
|
6
|
-
*
|
7
|
-
* This source code is licensed under the MIT license found in the
|
8
|
-
* LICENSE file in the root directory of this source tree.
|
9
|
-
*/
|
10
|
-
'use strict';
|
11
|
-
|
12
|
-
Object.defineProperty(exports, '__esModule', {
|
13
|
-
value: true
|
14
|
-
});
|
15
|
-
|
16
|
-
var React = require('react');
|
17
|
-
|
18
|
-
var index = require('../utils/index.js');
|
19
|
-
|
20
|
-
var TAG_MARGIN_RIGHT = 4; // 留给显示剩余选项的宽度:suffix + paddingLeft + paddingRight + leftCountTag (16 + 10 + + 10 + 54)
|
21
|
-
|
22
|
-
var LEFT_SPACE_WIDTH = 100 + TAG_MARGIN_RIGHT;
|
23
|
-
|
24
|
-
var useTagInput = function useTagInput(wrap, selector, tags, ref) {
|
25
|
-
var shouldCalcTagCountRef = React.useRef(false);
|
26
|
-
|
27
|
-
var _useState = React.useState(0),
|
28
|
-
showCount = _useState[0],
|
29
|
-
setShowCount = _useState[1];
|
30
|
-
|
31
|
-
var _useReducer = React.useReducer(function (v) {
|
32
|
-
return !v;
|
33
|
-
}, false),
|
34
|
-
trigger = _useReducer[0],
|
35
|
-
forceUpdate = _useReducer[1];
|
36
|
-
|
37
|
-
var inputWidth = useResizeWidth(ref);
|
38
|
-
React.useEffect(function () {
|
39
|
-
forceUpdate();
|
40
|
-
}, [inputWidth, tags]);
|
41
|
-
var calSowCount = React.useCallback(function () {
|
42
|
-
if (shouldCalcTagCountRef.current && ref.current) {
|
43
|
-
// tags 多个展示超过一行时,以数字显示
|
44
|
-
var tagElements = ref.current.querySelectorAll(selector);
|
45
|
-
var tagWrapperWidth = ref.current.getBoundingClientRect().width;
|
46
|
-
var width = 0;
|
47
|
-
|
48
|
-
for (var i = 0; i < tagElements.length; ++i) {
|
49
|
-
var tag = tagElements[i];
|
50
|
-
var tagRect = tag.getBoundingClientRect();
|
51
|
-
width += tagRect.width + TAG_MARGIN_RIGHT;
|
52
|
-
|
53
|
-
if (shouldCalcTagCountRef.current && width + LEFT_SPACE_WIDTH > tagWrapperWidth) {
|
54
|
-
shouldCalcTagCountRef.current = false; // 开始显示折行的位置,如果为 0,则必展示一个
|
55
|
-
|
56
|
-
var nextShowCount = i === 0 ? 1 : i;
|
57
|
-
setShowCount(nextShowCount);
|
58
|
-
break;
|
59
|
-
}
|
60
|
-
}
|
61
|
-
}
|
62
|
-
}, [ref, selector]);
|
63
|
-
var debouncedResizeRef = React.useRef();
|
64
|
-
React.useEffect(function () {
|
65
|
-
var _a;
|
66
|
-
|
67
|
-
(_a = debouncedResizeRef.current) === null || _a === void 0 ? void 0 : _a.cancel();
|
68
|
-
debouncedResizeRef.current = index.debounce(calSowCount, 60);
|
69
|
-
}, [calSowCount]);
|
70
|
-
React.useEffect(function () {
|
71
|
-
var _a;
|
72
|
-
|
73
|
-
setShowCount(0);
|
74
|
-
shouldCalcTagCountRef.current = true;
|
75
|
-
(_a = debouncedResizeRef.current) === null || _a === void 0 ? void 0 : _a.call(debouncedResizeRef);
|
76
|
-
return function () {
|
77
|
-
var _a;
|
78
|
-
|
79
|
-
shouldCalcTagCountRef.current = false;
|
80
|
-
(_a = debouncedResizeRef.current) === null || _a === void 0 ? void 0 : _a.cancel();
|
81
|
-
};
|
82
|
-
}, [trigger, ref]);
|
83
|
-
var showTagCount = showCount > 0 ? showCount : tags.length;
|
84
|
-
var leftTagCount = tags.length - showTagCount;
|
85
|
-
var tagMaxWidth = inputWidth ? inputWidth - (LEFT_SPACE_WIDTH + 1) : '100%';
|
86
|
-
|
87
|
-
if (wrap) {
|
88
|
-
return [tagMaxWidth, tags.length, 0];
|
89
|
-
}
|
90
|
-
|
91
|
-
return [tagMaxWidth, showTagCount, leftTagCount];
|
92
|
-
};
|
93
|
-
|
94
|
-
var useResizeWidth = function useResizeWidth(ref) {
|
95
|
-
var _useState2 = React.useState(0),
|
96
|
-
width = _useState2[0],
|
97
|
-
setWidth = _useState2[1];
|
98
|
-
|
99
|
-
var tryUpdateWidth = React.useCallback(function () {
|
100
|
-
var _a;
|
101
|
-
|
102
|
-
var nextWidth = (_a = ref.current) === null || _a === void 0 ? void 0 : _a.getBoundingClientRect().width;
|
103
|
-
setWidth(function (prev) {
|
104
|
-
return nextWidth || prev || 0;
|
105
|
-
});
|
106
|
-
}, [ref]);
|
107
|
-
React.useLayoutEffect(function () {
|
108
|
-
// init with resize
|
109
|
-
tryUpdateWidth();
|
110
|
-
var debouncedResize = index.debounce(tryUpdateWidth, 60);
|
111
|
-
window.addEventListener('resize', debouncedResize);
|
112
|
-
return function () {
|
113
|
-
window.removeEventListener('resize', debouncedResize);
|
114
|
-
debouncedResize.cancel();
|
115
|
-
};
|
116
|
-
}, [tryUpdateWidth]);
|
117
|
-
return width;
|
118
|
-
};
|
119
|
-
|
120
|
-
exports.useResizeWidth = useResizeWidth;
|
121
|
-
exports.useTagInput = useTagInput;
|
122
|
-
//# sourceMappingURL=use-tag-input.js.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"use-tag-input.js","sources":["../../../src/hooks/use-tag-input.ts"],"sourcesContent":[null],"names":["TAG_MARGIN_RIGHT","LEFT_SPACE_WIDTH","useTagInput","wrap","selector","tags","ref","shouldCalcTagCountRef","useRef","useState","showCount","setShowCount","useReducer","v","trigger","forceUpdate","inputWidth","useResizeWidth","useEffect","calSowCount","useCallback","current","tagElements","querySelectorAll","tagWrapperWidth","getBoundingClientRect","width","i","length","tag","tagRect","nextShowCount","debouncedResizeRef","cancel","debounce","showTagCount","leftTagCount","tagMaxWidth","setWidth","tryUpdateWidth","nextWidth","prev","useLayoutEffect","debouncedResize","window","addEventListener","removeEventListener"],"mappings":"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"}
|