@hi-ui/check-cascader 4.0.0-beta.3 → 4.0.0-beta.32
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/CheckCascader.js +63 -69
- package/lib/cjs/CheckCascaderMenu.js +13 -12
- package/lib/cjs/{CheckCascaderMenus.js → CheckCascaderMenuList.js} +18 -24
- package/lib/cjs/context.js +0 -1
- package/lib/cjs/hooks/use-async-switch.js +4 -5
- package/lib/cjs/hooks/{use-cache.js → use-cache/lib/esm/index.js} +11 -5
- package/lib/cjs/hooks/use-check.js +15 -6
- package/lib/cjs/hooks/use-select.js +0 -1
- package/lib/cjs/icons/index.js +3 -4
- package/lib/cjs/index.js +0 -1
- package/lib/cjs/styles/index.scss.js +2 -3
- package/lib/cjs/utils/index.js +176 -67
- package/lib/esm/CheckCascader.js +52 -55
- package/lib/esm/CheckCascaderMenu.js +3 -3
- package/lib/esm/{CheckCascaderMenus.js → CheckCascaderMenuList.js} +15 -21
- package/lib/esm/context.js +0 -1
- package/lib/esm/hooks/use-async-switch.js +0 -1
- package/lib/esm/hooks/{use-cache.js → use-cache/lib/esm/index.js} +11 -5
- package/lib/esm/hooks/use-check.js +14 -6
- package/lib/esm/hooks/use-select.js +0 -1
- package/lib/esm/icons/index.js +0 -1
- package/lib/esm/index.js +0 -1
- package/lib/esm/styles/index.scss.js +3 -5
- package/lib/esm/utils/index.js +174 -69
- package/lib/types/CheckCascader.d.ts +15 -13
- package/lib/types/CheckCascaderMenu.d.ts +4 -4
- package/lib/types/{CheckCascaderMenus.d.ts → CheckCascaderMenuList.d.ts} +20 -12
- package/lib/types/context.d.ts +7 -7
- package/lib/types/hooks/index.d.ts +0 -2
- package/lib/types/hooks/use-async-switch.d.ts +2 -2
- package/lib/types/hooks/use-check.d.ts +3 -3
- package/lib/types/hooks/use-select.d.ts +2 -2
- package/lib/types/types.d.ts +13 -18
- package/lib/types/utils/index.d.ts +17 -13
- package/package.json +27 -27
- package/lib/cjs/CheckCascader.js.map +0 -1
- package/lib/cjs/CheckCascaderMenu.js.map +0 -1
- package/lib/cjs/CheckCascaderMenus.js.map +0 -1
- package/lib/cjs/context.js.map +0 -1
- package/lib/cjs/hooks/use-async-switch.js.map +0 -1
- package/lib/cjs/hooks/use-cache.js.map +0 -1
- package/lib/cjs/hooks/use-check.js.map +0 -1
- package/lib/cjs/hooks/use-search.js +0 -40
- package/lib/cjs/hooks/use-search.js.map +0 -1
- package/lib/cjs/hooks/use-select.js.map +0 -1
- package/lib/cjs/icons/index.js.map +0 -1
- package/lib/cjs/index.js.map +0 -1
- package/lib/cjs/styles/index.scss.js.map +0 -1
- package/lib/cjs/utils/index.js.map +0 -1
- package/lib/esm/CheckCascader.js.map +0 -1
- package/lib/esm/CheckCascaderMenu.js.map +0 -1
- package/lib/esm/CheckCascaderMenus.js.map +0 -1
- package/lib/esm/context.js.map +0 -1
- package/lib/esm/hooks/use-async-switch.js.map +0 -1
- package/lib/esm/hooks/use-cache.js.map +0 -1
- package/lib/esm/hooks/use-check.js.map +0 -1
- package/lib/esm/hooks/use-search.js +0 -31
- package/lib/esm/hooks/use-search.js.map +0 -1
- package/lib/esm/hooks/use-select.js.map +0 -1
- package/lib/esm/icons/index.js.map +0 -1
- package/lib/esm/index.js.map +0 -1
- package/lib/esm/styles/index.scss.js.map +0 -1
- package/lib/esm/utils/index.js.map +0 -1
- package/lib/types/hooks/use-cache.d.ts +0 -8
- package/lib/types/hooks/use-search.d.ts +0 -13
package/lib/cjs/CheckCascader.js
CHANGED
@@ -29,34 +29,28 @@ var useUncontrolledState = require('@hi-ui/use-uncontrolled-state');
|
|
29
29
|
|
30
30
|
var icons = require('@hi-ui/icons');
|
31
31
|
|
32
|
-
var
|
33
|
-
|
34
|
-
require('@hi-ui/use-check');
|
35
|
-
|
36
|
-
var useCache = require('./hooks/use-cache.js');
|
37
|
-
|
38
|
-
require('@babel/runtime/regenerator');
|
39
|
-
|
40
|
-
var useLatest = require('@hi-ui/use-latest');
|
41
|
-
|
42
|
-
var treeUtils = require('@hi-ui/tree-utils');
|
32
|
+
var index = require('./hooks/use-cache/lib/esm/index.js');
|
43
33
|
|
44
34
|
var picker = require('@hi-ui/picker');
|
45
35
|
|
46
36
|
var tagInput = require('@hi-ui/tag-input');
|
47
37
|
|
48
|
-
var
|
49
|
-
|
50
|
-
var CheckCascaderMenus = require('./CheckCascaderMenus.js');
|
38
|
+
var CheckCascaderMenuList = require('./CheckCascaderMenuList.js');
|
51
39
|
|
52
40
|
var useSearchMode = require('@hi-ui/use-search-mode');
|
53
41
|
|
54
|
-
var index = require('./utils/index.js');
|
42
|
+
var index$1 = require('./utils/index.js');
|
43
|
+
|
44
|
+
var treeUtils = require('@hi-ui/tree-utils');
|
45
|
+
|
46
|
+
var useLatest = require('@hi-ui/use-latest');
|
55
47
|
|
56
48
|
var typeAssertion = require('@hi-ui/type-assertion');
|
57
49
|
|
58
50
|
var localeContext = require('@hi-ui/locale-context');
|
59
51
|
|
52
|
+
var funcUtils = require('@hi-ui/func-utils');
|
53
|
+
|
60
54
|
function _interopDefaultLegacy(e) {
|
61
55
|
return e && _typeof(e) === 'object' && 'default' in e ? e : {
|
62
56
|
'default': e
|
@@ -86,7 +80,8 @@ var CheckCascader = /*#__PURE__*/React.forwardRef(function (_a, ref) {
|
|
86
80
|
clearable = _a.clearable,
|
87
81
|
onSelect = _a.onSelect,
|
88
82
|
expandTrigger = _a.expandTrigger,
|
89
|
-
disabled = _a.disabled,
|
83
|
+
_a$disabled = _a.disabled,
|
84
|
+
disabled = _a$disabled === void 0 ? false : _a$disabled,
|
90
85
|
changeOnSelect = _a.changeOnSelect,
|
91
86
|
titleRender = _a.render,
|
92
87
|
displayRender = _a.displayRender,
|
@@ -96,56 +91,69 @@ var CheckCascader = /*#__PURE__*/React.forwardRef(function (_a, ref) {
|
|
96
91
|
invalid = _a.invalid,
|
97
92
|
filterOption = _a.filterOption,
|
98
93
|
searchableProp = _a.searchable,
|
94
|
+
onSearchProp = _a.onSearch,
|
99
95
|
overlayClassName = _a.overlayClassName,
|
100
96
|
_a$type = _a.type,
|
101
97
|
type = _a$type === void 0 ? 'tree' : _a$type,
|
102
|
-
|
98
|
+
checkedMode = _a.checkedMode,
|
99
|
+
onOpen = _a.onOpen,
|
100
|
+
onClose = _a.onClose,
|
101
|
+
rest = tslib.__rest(_a, ["prefixCls", "className", "defaultValue", "value", "onChange", "data", "placeholder", "clearable", "onSelect", "expandTrigger", "disabled", "emptyContent", "changeOnSelect", "render", "displayRender", "checkCascaded", "searchPlaceholder", "onLoadChildren", "appearance", "invalid", "filterOption", "searchable", "onSearch", "overlayClassName", "type", "checkedMode", "onOpen", "onClose"]);
|
103
102
|
|
104
103
|
var i18n = localeContext.useLocaleContext();
|
105
104
|
var placeholder = typeAssertion.isUndef(placeholderProp) ? i18n.get('checkCascader.placeholder') : placeholderProp;
|
106
105
|
var flatted = type === 'flatted';
|
107
106
|
|
108
|
-
var
|
109
|
-
|
110
|
-
|
107
|
+
var _useUncontrolledToggl = useToggle.useUncontrolledToggle({
|
108
|
+
disabled: disabled,
|
109
|
+
onOpen: onOpen,
|
110
|
+
onClose: onClose
|
111
|
+
}),
|
112
|
+
menuVisible = _useUncontrolledToggl[0],
|
113
|
+
menuVisibleAction = _useUncontrolledToggl[1];
|
111
114
|
|
112
|
-
var _useCache =
|
115
|
+
var _useCache = index.useCache(data),
|
113
116
|
cascaderData = _useCache[0],
|
114
117
|
setCascaderData = _useCache[1];
|
115
118
|
|
116
119
|
var flattedData = React.useMemo(function () {
|
117
|
-
return index.flattenTreeData(cascaderData);
|
120
|
+
return index$1.flattenTreeData(cascaderData);
|
118
121
|
}, [cascaderData]);
|
119
122
|
|
120
123
|
var _useUncontrolledState = useUncontrolledState.useUncontrolledState(defaultValue, valueProp, onChange),
|
121
124
|
_value = _useUncontrolledState[0],
|
122
|
-
tryChangeValue = _useUncontrolledState[1];
|
125
|
+
tryChangeValue = _useUncontrolledState[1]; // 内部实现使用尾部 id
|
126
|
+
|
123
127
|
|
124
128
|
var value = _value.map(function (path) {
|
125
129
|
return path[path.length - 1];
|
126
130
|
});
|
127
131
|
|
128
|
-
var flattedDataLatestRef = useLatest.useLatestRef(flattedData);
|
129
132
|
var proxyOnChange = useLatest.useLatestCallback(function (value, item, shouldChecked) {
|
130
|
-
var flattedItems =
|
131
|
-
|
132
|
-
|
133
|
-
|
134
|
-
|
135
|
-
var id = _ref.id;
|
136
|
-
return id;
|
133
|
+
var flattedItems = flattedData;
|
134
|
+
console.log(item);
|
135
|
+
var itemsPaths = value.map(function (lastId) {
|
136
|
+
var item = flattedItems.find(function (item) {
|
137
|
+
return item.id === lastId;
|
137
138
|
});
|
138
|
-
}); // TODO: 找到所有 id 的祖先节点路径
|
139
139
|
|
140
|
-
|
140
|
+
if (item) {
|
141
|
+
return treeUtils.getTopDownAncestors(item).map(function (_ref) {
|
142
|
+
var id = _ref.id;
|
143
|
+
return id;
|
144
|
+
});
|
145
|
+
} // 对于传入的数据未匹配到,保持不变吐出去
|
146
|
+
|
141
147
|
|
142
|
-
|
143
|
-
|
144
|
-
setSelectedItems(function (prev) {
|
145
|
-
return [].concat(prev, [item]);
|
148
|
+
var idPaths = _value.find(function (item) {
|
149
|
+
return item[item.length - 1] === lastId;
|
146
150
|
});
|
147
|
-
|
148
|
-
|
151
|
+
|
152
|
+
return idPaths || [lastId];
|
153
|
+
});
|
154
|
+
tryChangeValue(itemsPaths);
|
155
|
+
}); // ************************** 搜索 ************************* //
|
156
|
+
// 无法做异步搜索,因为下拉菜单不能合并(因为树形数据,不知道是第几级)
|
149
157
|
|
150
158
|
var customSearchStrategy = useSearchMode.useTreeCustomSearch({
|
151
159
|
data: flattedData,
|
@@ -181,50 +189,40 @@ var CheckCascader = /*#__PURE__*/React.forwardRef(function (_a, ref) {
|
|
181
189
|
|
182
190
|
var highlight = !!searchValue && searchMode === 'upMatch';
|
183
191
|
var found = false;
|
184
|
-
var ret = highlight ? /*#__PURE__*/React__default[
|
192
|
+
var ret = highlight ? /*#__PURE__*/React__default["default"].createElement("span", {
|
185
193
|
className: classname.cx("title__text", "title__text--cols")
|
186
194
|
}, treeUtils.getNodeAncestorsWithMe(node).map(function (item) {
|
187
195
|
var title = item.title,
|
188
196
|
id = item.id;
|
189
|
-
var raw = /*#__PURE__*/React__default[
|
197
|
+
var raw = /*#__PURE__*/React__default["default"].createElement("span", {
|
190
198
|
className: "title__text--col",
|
191
199
|
key: id
|
192
200
|
}, title);
|
193
201
|
if (typeof title !== 'string') return raw;
|
194
202
|
if (found) return raw;
|
195
|
-
var index =
|
203
|
+
var index = useSearchMode.matchStrategy(title, searchValue);
|
196
204
|
if (index === -1) return raw;
|
197
205
|
found = true;
|
198
206
|
var resultLength = searchValue.length;
|
199
207
|
var beforeStr = title.substr(0, index);
|
200
208
|
var resultStr = title.substr(index, searchValue.length);
|
201
209
|
var afterStr = title.substr(index + resultLength);
|
202
|
-
return /*#__PURE__*/React__default[
|
210
|
+
return /*#__PURE__*/React__default["default"].createElement("span", {
|
203
211
|
className: "title__text--col",
|
204
212
|
key: id
|
205
|
-
}, beforeStr, /*#__PURE__*/React__default[
|
213
|
+
}, beforeStr, /*#__PURE__*/React__default["default"].createElement("span", {
|
206
214
|
className: "title__text--matched"
|
207
215
|
}, resultStr), afterStr);
|
208
216
|
}).reverse()) : true;
|
209
217
|
return ret;
|
210
|
-
}, [titleRender, searchValue, searchMode]);
|
211
|
-
|
212
|
-
var _useState = React.useState([]),
|
213
|
-
selectedItems = _useState[0],
|
214
|
-
setSelectedItems = _useState[1];
|
215
|
-
|
218
|
+
}, [titleRender, searchValue, searchMode]);
|
216
219
|
var shouldUseSearch = !!searchValue;
|
217
220
|
var selectProps = {
|
218
221
|
data: shouldUseSearch ? stateInSearch.data : flattedData,
|
219
222
|
titleRender: proxyTitleRender
|
220
|
-
};
|
221
|
-
|
222
|
-
var mergedData = React.useMemo(function () {
|
223
|
-
var nextData = selectedItems.concat(flattedData);
|
224
|
-
return lodash.uniqBy(nextData, 'id');
|
225
|
-
}, [selectedItems, flattedData]);
|
223
|
+
};
|
226
224
|
var cls = classname.cx(prefixCls, className, prefixCls + "--" + (menuVisible ? 'open' : 'closed'));
|
227
|
-
return /*#__PURE__*/React__default[
|
225
|
+
return /*#__PURE__*/React__default["default"].createElement(picker.Picker, Object.assign({
|
228
226
|
ref: ref,
|
229
227
|
className: cls,
|
230
228
|
overlayClassName: classname.cx(prefixCls + "__popper", overlayClassName)
|
@@ -241,26 +239,22 @@ var CheckCascader = /*#__PURE__*/React.forwardRef(function (_a, ref) {
|
|
241
239
|
disabled: disabled,
|
242
240
|
onClose: menuVisibleAction.off,
|
243
241
|
searchable: searchable,
|
244
|
-
onSearch: onSearch,
|
245
|
-
trigger: /*#__PURE__*/React__default[
|
242
|
+
onSearch: funcUtils.callAllFuncs(onSearchProp, onSearch),
|
243
|
+
trigger: /*#__PURE__*/React__default["default"].createElement(tagInput.TagInputMock, {
|
246
244
|
clearable: clearable,
|
247
245
|
placeholder: placeholder,
|
248
246
|
// @ts-ignore
|
249
247
|
displayRender: displayRender,
|
250
|
-
suffix: menuVisible ? /*#__PURE__*/React__default[
|
248
|
+
suffix: menuVisible ? /*#__PURE__*/React__default["default"].createElement(icons.UpOutlined, null) : /*#__PURE__*/React__default["default"].createElement(icons.DownOutlined, null),
|
251
249
|
focused: menuVisible,
|
252
250
|
appearance: appearance,
|
253
251
|
value: value,
|
254
252
|
// @ts-ignore
|
255
253
|
onChange: proxyOnChange,
|
256
|
-
data:
|
257
|
-
invalid: invalid
|
258
|
-
onExpand: function onExpand() {
|
259
|
-
// setViewSelected(true)
|
260
|
-
menuVisibleAction.on();
|
261
|
-
}
|
254
|
+
data: flattedData,
|
255
|
+
invalid: invalid
|
262
256
|
})
|
263
|
-
}), typeAssertion.isArrayNonEmpty(selectProps.data) ? /*#__PURE__*/React__default[
|
257
|
+
}), typeAssertion.isArrayNonEmpty(selectProps.data) ? /*#__PURE__*/React__default["default"].createElement(CheckCascaderMenuList.CheckCascaderMenuList, {
|
264
258
|
disabled: disabled,
|
265
259
|
value: value,
|
266
260
|
// @ts-ignore
|
@@ -275,7 +269,8 @@ var CheckCascader = /*#__PURE__*/React.forwardRef(function (_a, ref) {
|
|
275
269
|
// @ts-ignore
|
276
270
|
flattedData: selectProps.data,
|
277
271
|
data: cascaderData,
|
278
|
-
onChangeData: setCascaderData
|
272
|
+
onChangeData: setCascaderData,
|
273
|
+
checkedMode: checkedMode
|
279
274
|
}) : null);
|
280
275
|
});
|
281
276
|
|
@@ -284,4 +279,3 @@ if (env.__DEV__) {
|
|
284
279
|
}
|
285
280
|
|
286
281
|
exports.CheckCascader = CheckCascader;
|
287
|
-
//# sourceMappingURL=CheckCascader.js.map
|
@@ -27,6 +27,8 @@ var context = require('./context.js');
|
|
27
27
|
|
28
28
|
var index = require('./utils/index.js');
|
29
29
|
|
30
|
+
var treeUtils = require('@hi-ui/tree-utils');
|
31
|
+
|
30
32
|
function _interopDefaultLegacy(e) {
|
31
33
|
return e && _typeof(e) === 'object' && 'default' in e ? e : {
|
32
34
|
'default': e
|
@@ -71,14 +73,14 @@ var CheckCascaderMenu = function CheckCascaderMenu(_ref) {
|
|
71
73
|
return title;
|
72
74
|
}
|
73
75
|
|
74
|
-
return flatted ? /*#__PURE__*/React__default[
|
76
|
+
return flatted ? /*#__PURE__*/React__default["default"].createElement("span", {
|
75
77
|
className: classname.cx("title__text", "title__text--cols")
|
76
|
-
},
|
77
|
-
return /*#__PURE__*/React__default[
|
78
|
+
}, treeUtils.getNodeAncestorsWithMe(option).reverse().map(function (item, index) {
|
79
|
+
return /*#__PURE__*/React__default["default"].createElement("span", {
|
78
80
|
className: "title__text--col",
|
79
81
|
key: item.id
|
80
82
|
}, item.title);
|
81
|
-
})) : /*#__PURE__*/React__default[
|
83
|
+
})) : /*#__PURE__*/React__default["default"].createElement("span", {
|
82
84
|
className: "title__text"
|
83
85
|
}, option.title);
|
84
86
|
}, [titleRender, flatted]);
|
@@ -87,7 +89,7 @@ var CheckCascaderMenu = function CheckCascaderMenu(_ref) {
|
|
87
89
|
return checkable;
|
88
90
|
});
|
89
91
|
var cls = classname.cx(prefixCls, className, isCheckableMenu && prefixCls + "--checkable");
|
90
|
-
return /*#__PURE__*/React__default[
|
92
|
+
return /*#__PURE__*/React__default["default"].createElement("ul", {
|
91
93
|
className: cls,
|
92
94
|
role: role
|
93
95
|
}, menu.map(function (option) {
|
@@ -103,11 +105,11 @@ var CheckCascaderMenu = function CheckCascaderMenu(_ref) {
|
|
103
105
|
// 如果存在子节点,则可以展现选择态
|
104
106
|
// 不存在子节点,如不是可勾选item,则可以展现勾选态
|
105
107
|
selected && (((_a = option.children) === null || _a === void 0 ? void 0 : _a.length) || !option.checkable) && prefixCls + "-option--selected", loading && prefixCls + "-option--loading", disabled && prefixCls + "-option--disabled");
|
106
|
-
return /*#__PURE__*/React__default[
|
108
|
+
return /*#__PURE__*/React__default["default"].createElement("li", {
|
107
109
|
role: "menu-item",
|
108
110
|
className: prefixCls + "-item",
|
109
111
|
key: option.id
|
110
|
-
}, /*#__PURE__*/React__default[
|
112
|
+
}, /*#__PURE__*/React__default["default"].createElement("div", {
|
111
113
|
className: optionCls,
|
112
114
|
onClick: function onClick(evt) {
|
113
115
|
if (disabled) return;
|
@@ -122,7 +124,7 @@ var CheckCascaderMenu = function CheckCascaderMenu(_ref) {
|
|
122
124
|
onSelect === null || onSelect === void 0 ? void 0 : onSelect(eventOption);
|
123
125
|
}
|
124
126
|
}
|
125
|
-
}, option.checkable ? /*#__PURE__*/React__default[
|
127
|
+
}, option.checkable ? /*#__PURE__*/React__default["default"].createElement(Checkbox__default["default"], {
|
126
128
|
className: prefixCls + "-checkbox",
|
127
129
|
indeterminate: semiChecked,
|
128
130
|
checked: checked,
|
@@ -146,7 +148,7 @@ var CheckCascaderMenu = function CheckCascaderMenu(_ref) {
|
|
146
148
|
|
147
149
|
var renderSuffix = function renderSuffix(prefixCls, node, loading, onLoadChildren) {
|
148
150
|
if (loading) {
|
149
|
-
return /*#__PURE__*/React__default[
|
151
|
+
return /*#__PURE__*/React__default["default"].createElement("span", {
|
150
152
|
className: classname.cx(prefixCls + "-switcher", prefixCls + "-switcher--loading")
|
151
153
|
}, index$1.defaultLoadingIcon);
|
152
154
|
}
|
@@ -155,7 +157,7 @@ var renderSuffix = function renderSuffix(prefixCls, node, loading, onLoadChildre
|
|
155
157
|
var canLoadChildren = onLoadChildren && !node.children && !node.isLeaf;
|
156
158
|
|
157
159
|
if (hasChildren || canLoadChildren) {
|
158
|
-
return /*#__PURE__*/React__default[
|
160
|
+
return /*#__PURE__*/React__default["default"].createElement("span", {
|
159
161
|
className: classname.cx(prefixCls + "-switcher"),
|
160
162
|
style: {
|
161
163
|
transform: "rotate(-90deg)"
|
@@ -163,10 +165,9 @@ var renderSuffix = function renderSuffix(prefixCls, node, loading, onLoadChildre
|
|
163
165
|
}, index$1.defaultSuffixIcon);
|
164
166
|
}
|
165
167
|
|
166
|
-
return /*#__PURE__*/React__default[
|
168
|
+
return /*#__PURE__*/React__default["default"].createElement("span", {
|
167
169
|
className: classname.cx(prefixCls + "-switcher", prefixCls + "-switcher--noop")
|
168
170
|
}, index$1.defaultLeafIcon);
|
169
171
|
};
|
170
172
|
|
171
173
|
exports.CheckCascaderMenu = CheckCascaderMenu;
|
172
|
-
//# sourceMappingURL=CheckCascaderMenu.js.map
|
@@ -50,11 +50,7 @@ var _role = 'check-cascader-menus';
|
|
50
50
|
var _prefix = classname.getPrefixCls(_role);
|
51
51
|
|
52
52
|
var NOOP_ARRAY = [];
|
53
|
-
|
54
|
-
* TODO: What is CheckCascaderMenus
|
55
|
-
*/
|
56
|
-
|
57
|
-
var CheckCascaderMenus = /*#__PURE__*/React.forwardRef(function (_a, ref) {
|
53
|
+
var CheckCascaderMenuList = /*#__PURE__*/React.forwardRef(function (_a, ref) {
|
58
54
|
var _a$prefixCls = _a.prefixCls,
|
59
55
|
prefixCls = _a$prefixCls === void 0 ? _prefix : _a$prefixCls,
|
60
56
|
_a$role = _a.role,
|
@@ -77,7 +73,13 @@ var CheckCascaderMenus = /*#__PURE__*/React.forwardRef(function (_a, ref) {
|
|
77
73
|
onChange = _a.onChange,
|
78
74
|
titleRender = _a.titleRender,
|
79
75
|
flatted = _a.flatted,
|
80
|
-
|
76
|
+
_a$checkedMode = _a.checkedMode,
|
77
|
+
checkedMode = _a$checkedMode === void 0 ? 'ALL' : _a$checkedMode,
|
78
|
+
rest = tslib.__rest(_a, ["prefixCls", "role", "className", "children", "data", "flattedData", "onChangeData", "value", "defaultValue", "disabled", "expandTrigger", "changeOnSelect", "checkCascaded", "onLoadChildren", "onChange", "onSelect", "titleRender", "flatted", "checkedMode"]);
|
79
|
+
|
80
|
+
if (checkCascaded === false) {
|
81
|
+
checkedMode = 'SEPARATE';
|
82
|
+
}
|
81
83
|
|
82
84
|
var _useSelect = useSelect.useSelect(disabled),
|
83
85
|
selectedId = _useSelect[0],
|
@@ -89,17 +91,10 @@ var CheckCascaderMenus = /*#__PURE__*/React.forwardRef(function (_a, ref) {
|
|
89
91
|
isLoadingId = _useAsyncSwitch[0],
|
90
92
|
onItemExpand = _useAsyncSwitch[1];
|
91
93
|
|
92
|
-
var _useCheck = useCheck.useCheck(
|
93
|
-
var checkedIds = _ref.checkedIds
|
94
|
-
semiCheckedIds = _ref.semiCheckedIds; // @ts-ignore
|
94
|
+
var _useCheck = useCheck.useCheck(checkedMode, disabled, flattedData, defaultValue, valueProp, function (_ref, target, shouldChecked) {
|
95
|
+
var checkedIds = _ref.checkedIds; // @ts-ignore
|
95
96
|
|
96
|
-
onChange === null || onChange === void 0 ? void 0 : onChange(checkedIds,
|
97
|
-
trigger: 'checkbox',
|
98
|
-
target: target,
|
99
|
-
shouldChecked: shouldChecked,
|
100
|
-
semiCheckedIds: semiCheckedIds // checkedItems: fFindNodesByIds(flattedData, checkedIds),
|
101
|
-
|
102
|
-
});
|
97
|
+
onChange === null || onChange === void 0 ? void 0 : onChange(checkedIds, target, shouldChecked);
|
103
98
|
}),
|
104
99
|
onOptionCheck = _useCheck[0],
|
105
100
|
isCheckedId = _useCheck[1],
|
@@ -112,8 +107,8 @@ var CheckCascaderMenus = /*#__PURE__*/React.forwardRef(function (_a, ref) {
|
|
112
107
|
selected: flatted ? selectedId === id : selectedIds[depth] === id,
|
113
108
|
checked: isCheckedId(id),
|
114
109
|
loading: isLoadingId(id),
|
115
|
-
semiChecked: isSemiCheckedId(id),
|
116
|
-
|
110
|
+
semiChecked: isSemiCheckedId(id) // focused: false,
|
111
|
+
|
117
112
|
};
|
118
113
|
});
|
119
114
|
var providedValue = React.useMemo(function () {
|
@@ -130,14 +125,14 @@ var CheckCascaderMenus = /*#__PURE__*/React.forwardRef(function (_a, ref) {
|
|
130
125
|
}, [changeOnSelect, expandTrigger, onOptionCheck, onItemExpand, flatted, titleRender, onLoadChildren, disabled]);
|
131
126
|
var menus = flatted ? index.getFlattedMenus(flattedData) : index.getActiveMenus(flattedData, selectedId);
|
132
127
|
var cls = classname.cx(prefixCls, className, flatted && prefixCls + "--flatted", changeOnSelect && prefixCls + "--selectchange");
|
133
|
-
return /*#__PURE__*/React__default[
|
128
|
+
return /*#__PURE__*/React__default["default"].createElement(context.CheckCascaderProvider, {
|
134
129
|
value: providedValue
|
135
|
-
}, /*#__PURE__*/React__default[
|
130
|
+
}, /*#__PURE__*/React__default["default"].createElement("div", Object.assign({
|
136
131
|
ref: ref,
|
137
132
|
role: role,
|
138
133
|
className: cls
|
139
134
|
}, rest), menus.map(function (menu, menuIndex) {
|
140
|
-
return menu.length > 0 ? /*#__PURE__*/React__default[
|
135
|
+
return menu.length > 0 ? /*#__PURE__*/React__default["default"].createElement(CheckCascaderMenu.CheckCascaderMenu, {
|
141
136
|
key: menuIndex,
|
142
137
|
data: menu,
|
143
138
|
getCascaderItemRequiredProps: getCascaderItemRequiredProps
|
@@ -146,8 +141,7 @@ var CheckCascaderMenus = /*#__PURE__*/React.forwardRef(function (_a, ref) {
|
|
146
141
|
});
|
147
142
|
|
148
143
|
if (env.__DEV__) {
|
149
|
-
|
144
|
+
CheckCascaderMenuList.displayName = 'CheckCascaderMenuList';
|
150
145
|
}
|
151
146
|
|
152
|
-
exports.
|
153
|
-
//# sourceMappingURL=CheckCascaderMenus.js.map
|
147
|
+
exports.CheckCascaderMenuList = CheckCascaderMenuList;
|
package/lib/cjs/context.js
CHANGED
@@ -41,9 +41,9 @@ var useAsyncSwitch = function useAsyncSwitch(setCascaderData, onExpand, onLoadCh
|
|
41
41
|
|
42
42
|
|
43
43
|
var loadChildren = React.useCallback(function (node) {
|
44
|
-
return tslib.__awaiter(void 0, void 0, void 0, /*#__PURE__*/_regeneratorRuntime__default[
|
44
|
+
return tslib.__awaiter(void 0, void 0, void 0, /*#__PURE__*/_regeneratorRuntime__default["default"].mark(function _callee() {
|
45
45
|
var childrenNodes;
|
46
|
-
return _regeneratorRuntime__default[
|
46
|
+
return _regeneratorRuntime__default["default"].wrap(function _callee$(_context) {
|
47
47
|
while (1) {
|
48
48
|
switch (_context.prev = _context.next) {
|
49
49
|
case 0:
|
@@ -82,9 +82,9 @@ var useAsyncSwitch = function useAsyncSwitch(setCascaderData, onExpand, onLoadCh
|
|
82
82
|
}, [onLoadChildren, setCascaderData]);
|
83
83
|
var onExpandLatest = useLatest.useLatestCallback(onExpand);
|
84
84
|
var onNodeSwitch = React.useCallback(function (node) {
|
85
|
-
return tslib.__awaiter(void 0, void 0, void 0, /*#__PURE__*/_regeneratorRuntime__default[
|
85
|
+
return tslib.__awaiter(void 0, void 0, void 0, /*#__PURE__*/_regeneratorRuntime__default["default"].mark(function _callee2() {
|
86
86
|
var id, children, isLeaf;
|
87
|
-
return _regeneratorRuntime__default[
|
87
|
+
return _regeneratorRuntime__default["default"].wrap(function _callee2$(_context2) {
|
88
88
|
while (1) {
|
89
89
|
switch (_context2.prev = _context2.next) {
|
90
90
|
case 0:
|
@@ -168,4 +168,3 @@ var useList = function useList(initialValue) {
|
|
168
168
|
};
|
169
169
|
|
170
170
|
exports.useAsyncSwitch = useAsyncSwitch;
|
171
|
-
//# sourceMappingURL=use-async-switch.js.map
|
@@ -14,11 +14,18 @@ Object.defineProperty(exports, '__esModule', {
|
|
14
14
|
});
|
15
15
|
|
16
16
|
var React = require('react');
|
17
|
-
/**
|
18
|
-
*
|
17
|
+
/** @LICENSE
|
18
|
+
* @hi-ui/use-cache
|
19
|
+
* https://github.com/XiaoMi/hiui/tree/master/packages/hooks/use-cache#readme
|
19
20
|
*
|
20
|
-
* @
|
21
|
-
*
|
21
|
+
* Copyright (c) HIUI <mi-hiui@xiaomi.com>.
|
22
|
+
*
|
23
|
+
* This source code is licensed under the MIT license found in the
|
24
|
+
* LICENSE file in the root directory of this source tree.
|
25
|
+
*/
|
26
|
+
|
27
|
+
/**
|
28
|
+
* A hook using for data cache that compatible with the controlled and uncontrolled modes coexist.
|
22
29
|
*/
|
23
30
|
|
24
31
|
|
@@ -34,4 +41,3 @@ var useCache = function useCache(data) {
|
|
34
41
|
};
|
35
42
|
|
36
43
|
exports.useCache = useCache;
|
37
|
-
//# sourceMappingURL=use-cache.js.map
|
@@ -13,32 +13,42 @@ Object.defineProperty(exports, '__esModule', {
|
|
13
13
|
value: true
|
14
14
|
});
|
15
15
|
|
16
|
+
var useUncontrolledState = require('@hi-ui/use-uncontrolled-state');
|
17
|
+
|
16
18
|
var useCheck$1 = require('@hi-ui/use-check');
|
17
19
|
|
18
|
-
var
|
20
|
+
var index = require('../utils/index.js');
|
19
21
|
|
20
22
|
var NOOP_ARRAY = [];
|
21
23
|
|
22
|
-
var useCheck = function useCheck(
|
24
|
+
var useCheck = function useCheck(checkedMode, disabled, flattedData, defaultCheckedIds, checkedIdsProp, onCheck) {
|
23
25
|
if (defaultCheckedIds === void 0) {
|
24
26
|
defaultCheckedIds = NOOP_ARRAY;
|
25
27
|
}
|
26
28
|
|
27
29
|
var _useUncontrolledState = useUncontrolledState.useUncontrolledState(defaultCheckedIds, checkedIdsProp, function (checkedIds, checkedNode, shouldChecked, semiCheckedIds) {
|
30
|
+
// 出口数据处理
|
28
31
|
onCheck === null || onCheck === void 0 ? void 0 : onCheck({
|
29
32
|
checkedIds: checkedIds,
|
30
33
|
semiCheckedIds: semiCheckedIds
|
31
34
|
}, checkedNode, shouldChecked);
|
32
35
|
}),
|
33
36
|
checkedIds = _useUncontrolledState[0],
|
34
|
-
trySetCheckedIds = _useUncontrolledState[1];
|
37
|
+
trySetCheckedIds = _useUncontrolledState[1]; // 入口数据处理
|
38
|
+
|
35
39
|
|
40
|
+
var parsedCheckedIds = index.parseCheckDataDirty(checkedMode, checkedIds, flattedData, allowCheck);
|
41
|
+
var cascaded = checkedMode !== 'SEPARATE';
|
36
42
|
return useCheck$1.useCascadeCheck({
|
37
43
|
cascaded: cascaded,
|
38
44
|
disabled: disabled,
|
39
45
|
flattedData: flattedData,
|
40
|
-
checkedIds:
|
41
|
-
onCheck:
|
46
|
+
checkedIds: parsedCheckedIds,
|
47
|
+
onCheck: function onCheck(checkedIds, checkedNode, shouldChecked, semiCheckedIds) {
|
48
|
+
// 出口数据处理
|
49
|
+
var processedIds = index.processCheckedIds(checkedMode, checkedIds, flattedData, allowCheck);
|
50
|
+
trySetCheckedIds(processedIds, checkedNode, shouldChecked, semiCheckedIds);
|
51
|
+
},
|
42
52
|
allowCheck: allowCheck
|
43
53
|
});
|
44
54
|
};
|
@@ -52,4 +62,3 @@ var allowCheck = function allowCheck(targetItem) {
|
|
52
62
|
};
|
53
63
|
|
54
64
|
exports.useCheck = useCheck;
|
55
|
-
//# sourceMappingURL=use-check.js.map
|
package/lib/cjs/icons/index.js
CHANGED
@@ -29,15 +29,14 @@ function _interopDefaultLegacy(e) {
|
|
29
29
|
|
30
30
|
var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
|
31
31
|
|
32
|
-
var defaultSuffixIcon = /*#__PURE__*/React__default[
|
33
|
-
var defaultLeafIcon = /*#__PURE__*/React__default[
|
32
|
+
var defaultSuffixIcon = /*#__PURE__*/React__default["default"].createElement(icons.DownOutlined, null);
|
33
|
+
var defaultLeafIcon = /*#__PURE__*/React__default["default"].createElement("span", {
|
34
34
|
style: {
|
35
35
|
display: 'inline-block',
|
36
36
|
width: 16
|
37
37
|
}
|
38
38
|
});
|
39
|
-
var defaultLoadingIcon = /*#__PURE__*/React__default[
|
39
|
+
var defaultLoadingIcon = /*#__PURE__*/React__default["default"].createElement(spinner.Spinner, null);
|
40
40
|
exports.defaultLeafIcon = defaultLeafIcon;
|
41
41
|
exports.defaultLoadingIcon = defaultLoadingIcon;
|
42
42
|
exports.defaultSuffixIcon = defaultSuffixIcon;
|
43
|
-
//# sourceMappingURL=index.js.map
|
package/lib/cjs/index.js
CHANGED
@@ -12,11 +12,10 @@
|
|
12
12
|
Object.defineProperty(exports, '__esModule', {
|
13
13
|
value: true
|
14
14
|
});
|
15
|
-
var css_248z = "
|
15
|
+
var css_248z = ".hi-v4-check-cascader__popper .hi-v4-picker__body {padding-left: 0;padding-right: 0;overflow-y: hidden; }.hi-v4-check-cascader__popper .hi-v4-picker__loading, .hi-v4-check-cascader__popper .hi-v4-picker__empty {padding: var(--hi-v4-spacing-5, 10px) var(--hi-v4-spacing-8, 16px); }.hi-v4-check-cascader-panel {white-space: nowrap;-webkit-box-sizing: border-box;box-sizing: border-box; }.hi-v4-check-cascader-panel-search {-webkit-box-sizing: border-box;box-sizing: border-box;padding: 0 10px 10px;position: relative; }.hi-v4-check-cascader-panel-search .hi-v4-input__prefix {font-size: 16px;padding-left: 0; }.hi-v4-check-cascader-panel-search__empty {display: inline-block;margin-top: 20px;font-size: 14px;font-weight: 400;color: #999;line-height: 20px; }.hi-v4-check-cascader-menus {display: -webkit-box;display: -ms-flexbox;display: flex;-webkit-box-sizing: border-box;box-sizing: border-box;overflow-x: auto; }.hi-v4-check-cascader-menus--flatted .hi-v4-check-cascader-menu {-ms-flex-preferred-size: 100%;flex-basis: 100%; }.hi-v4-check-cascader-menu {-webkit-box-sizing: border-box;box-sizing: border-box;margin: 0;padding: 0;border: none;outline: none;font-size: var(--hi-v4-text-size-md, 0.875rem);vertical-align: middle;list-style: none;width: auto;box-sizing: border-box;-ms-flex-negative: 0;flex-shrink: 0;display: inline-block;min-width: 140px;max-height: 256px;overflow: auto;padding: 0 var(--hi-v4-spacing-4, 8px);border-right: var(--hi-v4-border-size-normal, 1px solid) var(--hi-v4-color-gray-200, #ebedf0); }.hi-v4-check-cascader-menu:last-of-type {border: none; }.hi-v4-check-cascader-menu--checkable .hi-v4-check-cascader-menu-checkbox + .title__text {padding-left: 8px; }.hi-v4-check-cascader-menu-item {width: 100%;padding: var(--hi-v4-spacing-2, 4px) 0;position: relative;cursor: pointer;display: -webkit-box;display: -ms-flexbox;display: flex; }.hi-v4-check-cascader-menu-checkbox {position: relative; }.hi-v4-check-cascader-menu-checkbox::after {right: 0;top: -8px;bottom: -8px;left: -8px;content: '';position: absolute;display: block; }.hi-v4-check-cascader-menu-option {padding: 0 var(--hi-v4-spacing-4, 8px);-webkit-box-sizing: border-box;box-sizing: border-box;height: 32px;width: 100%;display: -webkit-box;display: -ms-flexbox;display: flex;-webkit-box-align: center;-ms-flex-align: center;align-items: center;position: relative;-webkit-box-pack: justify;-ms-flex-pack: justify;justify-content: space-between;border-radius: var(--hi-v4-border-radius-md, 4px); }.hi-v4-check-cascader-menu-option:hover {background-color: var(--hi-v4-color-gray-100, #f2f4f7); }.hi-v4-check-cascader-menus--selectchange .hi-v4-check-cascader-menu-option:hover .hi-v4-checkbox__icon {border-color: var(--hi-v4-color-primary-500, var(--hi-v4-color-brandblue-500, #237ffa)); }.hi-v4-check-cascader-menu-option.hi-v4-check-cascader-menu-option--selected {background: var(--hi-v4-color-primary-50, var(--hi-v4-color-brandblue-50, #e2f3fe));color: var(--hi-v4-color-primary-500, var(--hi-v4-color-brandblue-500, #237ffa)); }.hi-v4-check-cascader-menu-option.hi-v4-check-cascader-menu-option--selected .hi-v4-check-cascader-menu-switcher {color: var(--hi-v4-color-primary-500, var(--hi-v4-color-brandblue-500, #237ffa)); }.hi-v4-check-cascader-menu-option--focused {background-color: var(--hi-v4-color-primary-50, var(--hi-v4-color-brandblue-50, #e2f3fe)); }.hi-v4-check-cascader-menu-option--disabled {cursor: not-allowed;color: var(--hi-v4-color-gray-500, #929aa6);background: transparent; }.hi-v4-check-cascader-menu-option--disabled .hi-v4-check-cascader-menu-switcher {color: var(--hi-v4-color-gray-400, #c9ced6); }.hi-v4-check-cascader-menu .title__text {-webkit-box-flex: 1;-ms-flex: 1 1;flex: 1 1; }.hi-v4-check-cascader-menu .title__text--cols {display: block;width: 100%;-webkit-box-sizing: border-box;box-sizing: border-box;margin: 0;padding: 0;border: none;outline: none;font-size: var(--hi-v4-text-size-md, 0.875rem);vertical-align: middle;list-style: none; }.hi-v4-check-cascader-menu .title__text--col {display: inline-block; }.hi-v4-check-cascader-menu .title__text--col::after {content: '\\00a0/\\00a0'; }.hi-v4-check-cascader-menu .title__text--col:last-child::after {content: none; }.hi-v4-check-cascader-menu .title__text--matched {color: var(--hi-v4-color-primary-500, var(--hi-v4-color-brandblue-500, #237ffa)); }.hi-v4-check-cascader-menu-switcher {-ms-flex-negative: 0;flex-shrink: 0;font-size: 16px;color: var(--hi-v4-color-gray-500, #929aa6); }.hi-v4-check-cascader-menu-switcher--loading {color: var(--hi-v4-color-primary-500, var(--hi-v4-color-brandblue-500, #237ffa)); }.hi-v4-tree--icon-loading {-webkit-animation-name: hi-rotate;animation-name: hi-rotate;-webkit-animation-duration: 2s;animation-duration: 2s;-webkit-animation-iteration-count: infinite;animation-iteration-count: infinite; }@-webkit-keyframes hi-rotate {from {-webkit-transform: rotate(0);transform: rotate(0); }to {-webkit-transform: rotate(360deg);transform: rotate(360deg); } }@keyframes hi-rotate {from {-webkit-transform: rotate(0);transform: rotate(0); }to {-webkit-transform: rotate(360deg);transform: rotate(360deg); } }";
|
16
16
|
|
17
|
-
var __styleInject__ = require('
|
17
|
+
var __styleInject__ = require('inject-head-style')["default"];
|
18
18
|
|
19
19
|
__styleInject__(css_248z);
|
20
20
|
|
21
21
|
exports["default"] = css_248z;
|
22
|
-
//# sourceMappingURL=index.scss.js.map
|