@hi-ui/cascader 4.0.0-alpha.26 → 4.0.0-alpha.30
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 +42 -46
- package/lib/cjs/Cascader.js +103 -146
- package/lib/cjs/Cascader.js.map +1 -1
- package/lib/cjs/context.js.map +1 -1
- package/lib/cjs/hooks/use-async-switch.js +10 -34
- package/lib/cjs/hooks/use-async-switch.js.map +1 -1
- package/lib/cjs/hooks/use-select.js +3 -1
- package/lib/cjs/hooks/use-select.js.map +1 -1
- package/lib/cjs/index.js +0 -4
- package/lib/cjs/index.js.map +1 -1
- package/lib/cjs/styles/index.scss.js +1 -1
- package/lib/cjs/use-cascader.js +31 -72
- package/lib/cjs/use-cascader.js.map +1 -1
- package/lib/cjs/utils/index.js +35 -27
- package/lib/cjs/utils/index.js.map +1 -1
- package/lib/esm/Cascader.js +109 -147
- package/lib/esm/Cascader.js.map +1 -1
- package/lib/esm/context.js.map +1 -1
- package/lib/esm/hooks/use-async-switch.js +11 -36
- package/lib/esm/hooks/use-async-switch.js.map +1 -1
- package/lib/esm/hooks/use-select.js +2 -1
- package/lib/esm/hooks/use-select.js.map +1 -1
- package/lib/esm/index.js +1 -2
- package/lib/esm/index.js.map +1 -1
- package/lib/esm/styles/index.scss.js +1 -1
- package/lib/esm/use-cascader.js +28 -68
- package/lib/esm/use-cascader.js.map +1 -1
- package/lib/esm/utils/index.js +33 -25
- package/lib/esm/utils/index.js.map +1 -1
- package/lib/types/Cascader.d.ts +13 -61
- package/lib/types/context.d.ts +27 -588
- package/lib/types/hooks/index.d.ts +0 -2
- package/lib/types/hooks/use-async-switch.d.ts +1 -1
- package/lib/types/hooks/use-select.d.ts +1 -1
- package/lib/types/index.d.ts +0 -1
- package/lib/types/types.d.ts +11 -7
- package/lib/types/use-cascader.d.ts +53 -295
- package/lib/types/utils/index.d.ts +3 -6
- package/package.json +16 -15
- package/lib/cjs/CascaderPanel.js +0 -81
- package/lib/cjs/CascaderPanel.js.map +0 -1
- package/lib/cjs/hooks/use-cache.js +0 -37
- package/lib/cjs/hooks/use-cache.js.map +0 -1
- package/lib/cjs/hooks/use-search.js +0 -116
- package/lib/cjs/hooks/use-search.js.map +0 -1
- package/lib/esm/CascaderPanel.js +0 -58
- package/lib/esm/CascaderPanel.js.map +0 -1
- package/lib/esm/hooks/use-cache.js +0 -30
- package/lib/esm/hooks/use-cache.js.map +0 -1
- package/lib/esm/hooks/use-search.js +0 -107
- package/lib/esm/hooks/use-search.js.map +0 -1
- package/lib/types/CascaderPanel.d.ts +0 -142
- package/lib/types/hooks/use-cache.d.ts +0 -8
- package/lib/types/hooks/use-search.d.ts +0 -9
@@ -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-cascader__popper .hi-v4-picker__body {\n padding-left: 0;\n padding-right: 0; }\n.hi-v4-cascader-panel {\n white-space: nowrap;\n -webkit-box-sizing: border-box;\n box-sizing: border-box;\n font-size: 0.875rem;\n font-size: var(--hi-v4-text-size-normal, 0.875rem);\n color: #1f2733;\n color: var(--hi-v4-color-gray-700, #1f2733); }\n.hi-v4-cascader-search {\n -webkit-box-sizing: border-box;\n box-sizing: border-box;\n padding: 0 10px 10px;\n position: relative; }\n.hi-v4-cascader-search .hi-v4-input__prefix {\n font-size: 16px;\n padding-left: 0; }\n.hi-v4-cascader-search__empty {\n display: inline-block;\n margin-top: 20px;\n font-size: 14px;\n font-weight: 400;\n color: #999;\n line-height: 20px; }\n.hi-v4-cascader-menu-list {\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -webkit-box-sizing: border-box;\n box-sizing: border-box;\n overflow-x: auto; }\n.hi-v4-cascader-menu-list--flatted .hi-v4-cascader-menu {\n -ms-flex-preferred-size: 100%;\n flex-basis: 100%; }\n.hi-v4-cascader-menu {\n -webkit-box-sizing: border-box;\n box-sizing: border-box;\n margin: 0;\n padding: 0;\n border: none;\n outline: none;\n font-size: 0.875rem;\n font-size: var(--hi-v4-text-size-normal, 0.875rem);\n vertical-align: middle;\n list-style: none;\n width: auto;\n box-sizing: border-box;\n -ms-flex-negative: 0;\n flex-shrink: 0;\n display: inline-block;\n min-width: 140px;\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-cascader__popper .hi-v4-picker__body {\n padding-left: 0;\n padding-right: 0; }\n.hi-v4-cascader-panel {\n white-space: nowrap;\n -webkit-box-sizing: border-box;\n box-sizing: border-box;\n font-size: 0.875rem;\n font-size: var(--hi-v4-text-size-normal, 0.875rem);\n color: #1f2733;\n color: var(--hi-v4-color-gray-700, #1f2733); }\n.hi-v4-cascader-search {\n -webkit-box-sizing: border-box;\n box-sizing: border-box;\n padding: 0 10px 10px;\n position: relative; }\n.hi-v4-cascader-search .hi-v4-input__prefix {\n font-size: 16px;\n padding-left: 0; }\n.hi-v4-cascader-search__empty {\n display: inline-block;\n margin-top: 20px;\n font-size: 14px;\n font-weight: 400;\n color: #999;\n line-height: 20px; }\n.hi-v4-cascader-menu-list {\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -webkit-box-sizing: border-box;\n box-sizing: border-box;\n overflow-x: auto; }\n.hi-v4-cascader-menu-list--flatted .hi-v4-cascader-menu {\n -ms-flex-preferred-size: 100%;\n flex-basis: 100%; }\n.hi-v4-cascader-menu {\n -webkit-box-sizing: border-box;\n box-sizing: border-box;\n margin: 0;\n padding: 0;\n border: none;\n outline: none;\n font-size: 0.875rem;\n font-size: var(--hi-v4-text-size-normal, 0.875rem);\n vertical-align: middle;\n list-style: none;\n width: auto;\n box-sizing: border-box;\n -ms-flex-negative: 0;\n flex-shrink: 0;\n display: inline-block;\n min-width: 140px;\n max-height: 260px;\n overflow: auto;\n padding: 4px 8px;\n border-right: 1px solid #ebedf0;\n border-right: var(--hi-v4-border-size-normal, 1px solid) var(--hi-v4-color-gray-200, #ebedf0); }\n.hi-v4-cascader-menu:last-of-type {\n border: none; }\n.hi-v4-cascader-menu-item {\n width: 100%;\n padding: 4px 0;\n padding: var(--hi-v4-spacing-2, 4px) 0;\n position: relative;\n cursor: pointer;\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex; }\n.hi-v4-cascader-menu-option {\n padding: 0 8px;\n padding: 0 var(--hi-v4-spacing-4, 8px);\n -webkit-box-sizing: border-box;\n box-sizing: border-box;\n height: 32px;\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 -webkit-box-pack: justify;\n -ms-flex-pack: justify;\n justify-content: space-between;\n border-radius: 4px;\n border-radius: var(--hi-v4-border-radius-normal, 4px); }\n.hi-v4-cascader-menu-option:hover {\n background-color: #f2f4f7;\n background-color: var(--hi-v4-color-gray-100, #f2f4f7); }\n.hi-v4-cascader-menu-option.hi-v4-cascader-menu-option--selected {\n background-color: #e2f3fe;\n background-color: var(--hi-v4-color-brandblue-50, #e2f3fe);\n color: #237ffa;\n color: var(--hi-v4-color-brandblue-500, #237ffa); }\n.hi-v4-cascader-menu-option.hi-v4-cascader-menu-option--selected .hi-v4-cascader-menu-switcher {\n color: #237ffa;\n color: var(--hi-v4-color-brandblue-500, #237ffa); }\n.hi-v4-cascader-menu-option--focused {\n background-color: #e2f3fe;\n background-color: var(--hi-v4-color-brandblue-50, #e2f3fe); }\n.hi-v4-cascader-menu-option--checked {\n font-weight: 700; }\n.hi-v4-cascader-menu-option.hi-v4-cascader-menu-option--disabled {\n cursor: not-allowed;\n color: #929aa6;\n color: var(--hi-v4-color-gray-500, #929aa6);\n background: transparent; }\n.hi-v4-cascader-menu-option.hi-v4-cascader-menu-option--disabled .hi-v4-cascader-menu-switcher {\n color: #c9ced6;\n color: var(--hi-v4-color-gray-400, #c9ced6); }\n.hi-v4-cascader-menu .title__text {\n -webkit-box-flex: 1;\n -ms-flex: 1 1;\n flex: 1 1; }\n.hi-v4-cascader-menu .title__text--cols {\n display: block;\n width: 100%;\n -webkit-box-sizing: border-box;\n box-sizing: border-box;\n margin: 0;\n padding: 0;\n border: none;\n outline: none;\n font-size: 0.875rem;\n font-size: var(--hi-v4-text-size-normal, 0.875rem);\n vertical-align: middle;\n list-style: none; }\n.hi-v4-cascader-menu .title__text--col {\n display: inline-block; }\n.hi-v4-cascader-menu .title__text--col::after {\n content: '\\00a0/\\00a0'; }\n.hi-v4-cascader-menu .title__text--col:last-child::after {\n content: none; }\n.hi-v4-cascader-menu .title__text--matched {\n color: #237ffa;\n color: var(--hi-v4-color-brandblue-500, #237ffa); }\n.hi-v4-cascader-menu-switcher {\n -ms-flex-negative: 0;\n flex-shrink: 0;\n font-size: 16px;\n color: #929aa6;\n color: var(--hi-v4-color-gray-500, #929aa6); }\n.hi-v4-cascader-menu-switcher--loading {\n color: #237ffa;\n color: var(--hi-v4-color-brandblue-500, #237ffa); }\n.hi-v4-cascader-menu-switcher--arrow {\n -webkit-transform: rotate(-90deg);\n transform: rotate(-90deg); }\n.hi-v4-cascader__icon--loading {\n display: inline-block;\n width: 1em;\n height: 1em;\n stroke: none;\n cursor: default;\n fill: currentColor; }\n.hi-v4-cascader__icon--loading svg {\n -webkit-animation-name: hi-rotate;\n animation-name: hi-rotate;\n -webkit-animation-duration: 2s;\n animation-duration: 2s;\n -webkit-animation-iteration-count: infinite;\n animation-iteration-count: infinite; }\n@-webkit-keyframes rotate {\n to {\n -webkit-transform: rotate(360deg);\n transform: rotate(360deg); } }\n@keyframes rotate {\n to {\n -webkit-transform: rotate(360deg);\n transform: rotate(360deg); } }\n";
|
11
11
|
|
12
12
|
var __styleInject__ = require('style-inject/dist/style-inject.es.js')["default"];
|
13
13
|
|
package/lib/esm/use-cascader.js
CHANGED
@@ -10,13 +10,12 @@
|
|
10
10
|
import { __rest } from 'tslib';
|
11
11
|
import { useMemo, useCallback } from 'react';
|
12
12
|
import { useUncontrolledState } from '@hi-ui/use-uncontrolled-state';
|
13
|
+
import { useCache } from './hooks/use-cache/lib/esm/index.js';
|
13
14
|
import { flattenTreeData, getActiveNodePaths, checkCanLoadChildren, getFlattedMenus, getActiveMenus } from './utils/index.js';
|
14
|
-
import { useSearch } from './hooks/use-search.js';
|
15
15
|
import { useSelect } from './hooks/use-select.js';
|
16
|
-
import { useCache } from './hooks/use-cache.js';
|
17
16
|
import { useAsyncSwitch } from './hooks/use-async-switch.js';
|
18
17
|
var NOOP_ARRAY = [];
|
19
|
-
var NOOP_VALUE =
|
18
|
+
var NOOP_VALUE = [];
|
20
19
|
|
21
20
|
var useCascader = function useCascader(_a) {
|
22
21
|
var _a$defaultValue = _a.defaultValue,
|
@@ -30,25 +29,14 @@ var useCascader = function useCascader(_a) {
|
|
30
29
|
_a$changeOnSelect = _a.changeOnSelect,
|
31
30
|
changeOnSelect = _a$changeOnSelect === void 0 ? false : _a$changeOnSelect,
|
32
31
|
_a$flatted = _a.flatted,
|
33
|
-
|
34
|
-
|
35
|
-
upMatch = _a$upMatch === void 0 ? false : _a$upMatch,
|
36
|
-
_a$expandTrigger = _a.expandTrigger,
|
37
|
-
expandTrigger = _a$expandTrigger === void 0 ? 'click' : _a$expandTrigger,
|
38
|
-
_a$emptyContent = _a.emptyContent,
|
39
|
-
emptyContent = _a$emptyContent === void 0 ? '无匹配选项' : _a$emptyContent,
|
40
|
-
placeholder = _a.placeholder,
|
41
|
-
searchPlaceholder = _a.searchPlaceholder,
|
42
|
-
onSelect = _a.onSelect,
|
43
|
-
titleRender = _a.titleRender,
|
44
|
-
displayRender = _a.displayRender,
|
32
|
+
flatted = _a$flatted === void 0 ? false : _a$flatted,
|
33
|
+
onSelectProp = _a.onSelect,
|
45
34
|
onLoadChildren = _a.onLoadChildren,
|
46
35
|
cascaderDataProp = _a.cascaderData,
|
47
36
|
setCascaderDataProp = _a.setCascaderData,
|
48
37
|
flattedDataProp = _a.flattedData,
|
49
|
-
|
50
|
-
|
51
|
-
rest = __rest(_a, ["defaultValue", "value", "onChange", "data", "disabled", "changeOnSelect", "flatted", "upMatch", "expandTrigger", "emptyContent", "placeholder", "searchPlaceholder", "onSelect", "titleRender", "displayRender", "onLoadChildren", "cascaderData", "setCascaderData", "flattedData", "matchedItems", "inSearch"]);
|
38
|
+
fieldNames = _a.fieldNames,
|
39
|
+
rest = __rest(_a, ["defaultValue", "value", "onChange", "data", "disabled", "changeOnSelect", "flatted", "onSelect", "onLoadChildren", "cascaderData", "setCascaderData", "flattedData", "fieldNames"]);
|
52
40
|
|
53
41
|
var _useCache = useCache(data),
|
54
42
|
cacheData = _useCache[0],
|
@@ -57,27 +45,31 @@ var useCascader = function useCascader(_a) {
|
|
57
45
|
var cascaderData = cascaderDataProp !== null && cascaderDataProp !== void 0 ? cascaderDataProp : cacheData;
|
58
46
|
var setCascaderData = setCascaderDataProp !== null && setCascaderDataProp !== void 0 ? setCascaderDataProp : setCacheData;
|
59
47
|
var flattedData = useMemo(function () {
|
60
|
-
return flattedDataProp !== null && flattedDataProp !== void 0 ? flattedDataProp : flattenTreeData(cascaderData);
|
61
|
-
}, [cascaderData, flattedDataProp]);
|
48
|
+
return flattedDataProp !== null && flattedDataProp !== void 0 ? flattedDataProp : flattenTreeData(cascaderData, fieldNames);
|
49
|
+
}, [cascaderData, flattedDataProp, fieldNames]);
|
62
50
|
|
63
51
|
var _useUncontrolledState = useUncontrolledState(defaultValue, valueProp, onChangeProp),
|
64
52
|
value = _useUncontrolledState[0],
|
65
53
|
tryChangeValue = _useUncontrolledState[1];
|
66
54
|
|
67
|
-
var
|
68
|
-
tryChangeValue(
|
69
|
-
|
70
|
-
|
55
|
+
var onSelect = function onSelect(value, item, itemPaths) {
|
56
|
+
tryChangeValue(itemPaths.map(function (_ref) {
|
57
|
+
var id = _ref.id;
|
58
|
+
return id;
|
59
|
+
}));
|
60
|
+
onSelectProp === null || onSelectProp === void 0 ? void 0 : onSelectProp(value, item, itemPaths);
|
61
|
+
}; // 单击选中某项
|
62
|
+
|
71
63
|
|
72
|
-
var _useSelect = useSelect(disabled,
|
64
|
+
var _useSelect = useSelect(disabled, onSelect, changeOnSelect, onLoadChildren),
|
73
65
|
selectedId = _useSelect[0],
|
74
66
|
onOptionSelect = _useSelect[1],
|
75
67
|
setSelectedId = _useSelect[2]; // 选中 id 路径
|
76
68
|
|
77
69
|
|
78
70
|
var selectedIds = useMemo(function () {
|
79
|
-
return getActiveNodePaths(flattedData, selectedId).map(function (
|
80
|
-
var id =
|
71
|
+
return getActiveNodePaths(flattedData, selectedId).map(function (_ref2) {
|
72
|
+
var id = _ref2.id;
|
81
73
|
return id;
|
82
74
|
});
|
83
75
|
}, [flattedData, selectedId]); // 存在异步加载数据的情况时,单击选中时需要控制异步加载状态
|
@@ -93,28 +85,12 @@ var useCascader = function useCascader(_a) {
|
|
93
85
|
var isCanLoadChildren = useCallback(function (option) {
|
94
86
|
return checkCanLoadChildren(option, onLoadChildren);
|
95
87
|
}, [onLoadChildren]);
|
96
|
-
|
97
|
-
var _useSearch = useSearch(flattedData, upMatch, isCanLoadChildren),
|
98
|
-
inSearchInner = _useSearch[0],
|
99
|
-
matchedItemsInner = _useSearch[1],
|
100
|
-
inputProps = _useSearch[2],
|
101
|
-
isEmpty = _useSearch[3],
|
102
|
-
resetSearch = _useSearch[4];
|
103
|
-
|
104
|
-
var inSearch = inSearchProp !== null && inSearchProp !== void 0 ? inSearchProp : inSearchInner;
|
105
|
-
var matchedItems = matchedItemsProp !== null && matchedItemsProp !== void 0 ? matchedItemsProp : matchedItemsInner;
|
106
88
|
var menuList = useMemo(function () {
|
107
|
-
|
108
|
-
|
109
|
-
|
110
|
-
|
111
|
-
|
112
|
-
}, [inSearch, flattedProp, matchedItems, flattedData, selectedId, isCanLoadChildren]); // 搜索的结果列表也采用 flatted 模式进行展示
|
113
|
-
|
114
|
-
var flatted = flattedProp || inSearch;
|
115
|
-
var getCascaderItemRequiredProps = useCallback(function (_ref2) {
|
116
|
-
var id = _ref2.id,
|
117
|
-
depth = _ref2.depth;
|
89
|
+
return flatted ? getFlattedMenus(flattedData, isCanLoadChildren) : getActiveMenus(flattedData, selectedId);
|
90
|
+
}, [flatted, flattedData, selectedId, isCanLoadChildren]);
|
91
|
+
var getItemRequiredProps = useCallback(function (_ref3) {
|
92
|
+
var id = _ref3.id,
|
93
|
+
depth = _ref3.depth;
|
118
94
|
return {
|
119
95
|
selected: flatted ? selectedId === id : selectedIds[depth] === id,
|
120
96
|
loading: isLoadingId(id),
|
@@ -122,39 +98,23 @@ var useCascader = function useCascader(_a) {
|
|
122
98
|
focused: false
|
123
99
|
};
|
124
100
|
}, [flatted, selectedId, selectedIds, isLoadingId]);
|
125
|
-
var getSearchInputProps = useCallback(function () {
|
126
|
-
return {
|
127
|
-
placeholder: searchPlaceholder,
|
128
|
-
value: inputProps.value,
|
129
|
-
onChange: inputProps.onChange
|
130
|
-
};
|
131
|
-
}, [searchPlaceholder, inputProps]);
|
132
101
|
var reset = useCallback(function () {
|
133
|
-
|
134
|
-
|
135
|
-
}, [setSelectedId, value, resetSearch]);
|
102
|
+
setSelectedId(value[value.length - 1]);
|
103
|
+
}, [setSelectedId, value]);
|
136
104
|
return {
|
137
105
|
rootProps: rest,
|
138
106
|
reset: reset,
|
139
107
|
flattedData: flattedData,
|
140
108
|
value: value,
|
141
109
|
tryChangeValue: tryChangeValue,
|
142
|
-
|
143
|
-
expandTrigger: expandTrigger,
|
110
|
+
getItemRequiredProps: getItemRequiredProps,
|
144
111
|
flatted: flatted,
|
145
112
|
onItemClick: onItemExpand,
|
146
113
|
onItemHover: onItemHover,
|
147
114
|
changeOnSelect: changeOnSelect,
|
148
115
|
onLoadChildren: onLoadChildren,
|
149
|
-
keyword: inputProps.value,
|
150
116
|
disabled: disabled,
|
151
|
-
menuList: menuList
|
152
|
-
isEmpty: isEmpty,
|
153
|
-
placeholder: placeholder,
|
154
|
-
displayRender: displayRender,
|
155
|
-
titleRender: titleRender,
|
156
|
-
emptyContent: emptyContent,
|
157
|
-
getSearchInputProps: getSearchInputProps
|
117
|
+
menuList: menuList
|
158
118
|
};
|
159
119
|
};
|
160
120
|
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"use-cascader.js","sources":["../../src/use-cascader.ts"],"sourcesContent":[null],"names":["NOOP_ARRAY","NOOP_VALUE","useCascader","_a","defaultValue","valueProp","value","onChangeProp","onChange","data","disabled","changeOnSelect","flatted","
|
1
|
+
{"version":3,"file":"use-cascader.js","sources":["../../src/use-cascader.ts"],"sourcesContent":[null],"names":["NOOP_ARRAY","NOOP_VALUE","useCascader","_a","defaultValue","valueProp","value","onChangeProp","onChange","data","disabled","changeOnSelect","flatted","onSelectProp","onSelect","onLoadChildren","cascaderDataProp","cascaderData","setCascaderDataProp","setCascaderData","flattedDataProp","flattedData","fieldNames","rest","useCache","cacheData","setCacheData","useMemo","flattenTreeData","useUncontrolledState","tryChangeValue","item","itemPaths","map","id","useSelect","selectedId","onOptionSelect","setSelectedId","selectedIds","getActiveNodePaths","useAsyncSwitch","isLoadingId","onItemExpand","onItemHover","useCallback","option","isCanLoadChildren","checkCanLoadChildren","menuList","getFlattedMenus","getActiveMenus","getItemRequiredProps","depth","selected","loading","focused","reset","length","rootProps","onItemClick"],"mappings":"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"}
|
package/lib/esm/utils/index.js
CHANGED
@@ -7,33 +7,41 @@
|
|
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
|
-
import {
|
10
|
+
import { baseFlattenTree, getTopDownAncestors } from '@hi-ui/tree-utils';
|
11
|
+
import { isArrayNonEmpty } from '@hi-ui/type-assertion';
|
11
12
|
/**
|
12
13
|
* 扁平化树数据结构,基于前序遍历
|
13
14
|
*/
|
14
15
|
|
15
|
-
var flattenTreeData = function flattenTreeData(treeData) {
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
flattedNode.disabled = disabled;
|
27
|
-
return flattedNode;
|
28
|
-
});
|
29
|
-
};
|
30
|
-
/**
|
31
|
-
* 获取自顶向下的祖先节点,包括自己
|
32
|
-
*/
|
16
|
+
var flattenTreeData = function flattenTreeData(treeData, fieldNames) {
|
17
|
+
/**
|
18
|
+
* 转换对象
|
19
|
+
*/
|
20
|
+
var getKeyFields = function getKeyFields(node, key) {
|
21
|
+
if (fieldNames) {
|
22
|
+
return node[fieldNames[key] || key];
|
23
|
+
}
|
24
|
+
|
25
|
+
return node[key];
|
26
|
+
};
|
33
27
|
|
28
|
+
return baseFlattenTree({
|
29
|
+
tree: treeData,
|
30
|
+
childrenFieldName: function childrenFieldName(node) {
|
31
|
+
return getKeyFields(node, 'children');
|
32
|
+
},
|
33
|
+
transform: function transform(node) {
|
34
|
+
var _a, _b;
|
34
35
|
|
35
|
-
var
|
36
|
-
|
36
|
+
var flattedNode = node;
|
37
|
+
var raw = node.raw;
|
38
|
+
flattedNode.id = getKeyFields(raw, 'id');
|
39
|
+
flattedNode.title = getKeyFields(raw, 'title');
|
40
|
+
flattedNode.disabled = (_a = getKeyFields(raw, 'disabled')) !== null && _a !== void 0 ? _a : false;
|
41
|
+
flattedNode.isLeaf = (_b = getKeyFields(raw, 'isLeaf')) !== null && _b !== void 0 ? _b : false;
|
42
|
+
return flattedNode;
|
43
|
+
}
|
44
|
+
});
|
37
45
|
};
|
38
46
|
/**
|
39
47
|
* 获取选中节点的节点路径,包含选中节点
|
@@ -86,13 +94,13 @@ var getFlattedMenus = function getFlattedMenus(data, filter) {
|
|
86
94
|
};
|
87
95
|
|
88
96
|
var checkCanLoadChildren = function checkCanLoadChildren(node, onLoadChildren) {
|
89
|
-
var hasChildren = node.children
|
90
|
-
return hasChildren || onLoadChildren && !node.
|
97
|
+
var hasChildren = isArrayNonEmpty(node.children);
|
98
|
+
return hasChildren || onLoadChildren && !node.isLeaf && !node.children;
|
91
99
|
};
|
92
100
|
|
93
|
-
function
|
101
|
+
function getItemEventData(node, requiredProps) {
|
94
102
|
return Object.assign(Object.assign({}, node), requiredProps);
|
95
103
|
}
|
96
104
|
|
97
|
-
export { checkCanLoadChildren, flattenTreeData, getActiveMenus, getActiveNodePaths,
|
105
|
+
export { checkCanLoadChildren, flattenTreeData, getActiveMenus, getActiveNodePaths, getFlattedMenus, getItemEventData };
|
98
106
|
//# sourceMappingURL=index.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../src/utils/index.ts"],"sourcesContent":[null],"names":["flattenTreeData","treeData","
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../src/utils/index.ts"],"sourcesContent":[null],"names":["flattenTreeData","treeData","fieldNames","getKeyFields","node","key","baseFlattenTree","tree","childrenFieldName","transform","flattedNode","raw","id","title","disabled","isLeaf","getActiveNodePaths","flattedData","selectedId","length","selectedOption","find","getTopDownAncestors","getActiveMenus","root","parent","menu","children","push","reverse","getFlattedMenus","data","filter","item","checkCanLoadChildren","onLoadChildren","hasChildren","isArrayNonEmpty","getItemEventData","requiredProps"],"mappings":"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"}
|
package/lib/types/Cascader.d.ts
CHANGED
@@ -1,36 +1,15 @@
|
|
1
1
|
import React from 'react';
|
2
|
-
import type { HiBaseHTMLProps } from '@hi-ui/core';
|
3
|
-
import {
|
4
|
-
import {
|
2
|
+
import type { HiBaseHTMLProps, HiBaseAppearanceEnum } from '@hi-ui/core';
|
3
|
+
import { UseCascaderProps } from './use-cascader';
|
4
|
+
import type { PopperOverlayProps } from '@hi-ui/popper';
|
5
|
+
import { ExpandTrigger, FlattedCascaderItem, CascaderItemEventData } from './types';
|
5
6
|
import { PickerProps } from '@hi-ui/picker';
|
6
|
-
import { UseDataSource } from '@hi-ui/use-data-source';
|
7
7
|
/**
|
8
8
|
* TODO: What is Cascader
|
9
9
|
* Trigger + MenuList + Search
|
10
10
|
*/
|
11
11
|
export declare const Cascader: React.ForwardRefExoticComponent<CascaderProps & React.RefAttributes<HTMLDivElement | null>>;
|
12
|
-
export interface CascaderProps extends Omit<PickerProps, 'data' | 'onChange' | 'trigger'
|
13
|
-
/**
|
14
|
-
* 设置选择项数据源
|
15
|
-
*/
|
16
|
-
data: CascaderItem[];
|
17
|
-
/**
|
18
|
-
* 设置当前选中值
|
19
|
-
*/
|
20
|
-
value?: React.ReactText;
|
21
|
-
/**
|
22
|
-
* 设置当前选中值默认值
|
23
|
-
*/
|
24
|
-
defaultValue?: React.ReactText;
|
25
|
-
/**
|
26
|
-
* 选中值改变时的回调
|
27
|
-
*/
|
28
|
-
onChange?: (value: React.ReactText, targetOption?: CascaderItemEventData, optionPaths?: FlattedCascaderItem[]) => void;
|
29
|
-
/**
|
30
|
-
* 选中选项时触发,仅供内部使用
|
31
|
-
* @private
|
32
|
-
*/
|
33
|
-
onSelect?: (value: React.ReactText, targetOption: CascaderItemEventData, optionPaths: FlattedCascaderItem[]) => void;
|
12
|
+
export interface CascaderProps extends Omit<PickerProps, 'data' | 'onChange' | 'trigger'>, UseCascaderProps {
|
34
13
|
/**
|
35
14
|
* 次级菜单的展开方式
|
36
15
|
*/
|
@@ -43,34 +22,18 @@ export interface CascaderProps extends Omit<PickerProps, 'data' | 'onChange' | '
|
|
43
22
|
* 是否可清空
|
44
23
|
*/
|
45
24
|
clearable?: boolean;
|
46
|
-
/**
|
47
|
-
* 是否禁止使用
|
48
|
-
*/
|
49
|
-
disabled?: boolean;
|
50
25
|
/**
|
51
26
|
* 设置选项为空时展示的内容
|
52
27
|
*/
|
53
28
|
emptyContent?: React.ReactNode;
|
54
|
-
/**
|
55
|
-
* 是否启用选择即改变功能
|
56
|
-
*/
|
57
|
-
changeOnSelect?: boolean;
|
58
29
|
/**
|
59
30
|
* 自定义渲染节点的 title 内容
|
60
31
|
*/
|
61
|
-
|
32
|
+
render?: (item: CascaderItemEventData, keyword?: string) => React.ReactNode;
|
62
33
|
/**
|
63
34
|
* 自定义选择后触发器所展示的内容,只在 title 为字符串时有效
|
64
35
|
*/
|
65
|
-
displayRender?: (checkedOption:
|
66
|
-
/**
|
67
|
-
* 将选项拍平展示,不支持 `onLoadChildren` 异步加载交互
|
68
|
-
*/
|
69
|
-
flatted?: boolean;
|
70
|
-
/**
|
71
|
-
* 开启全量搜索,默认只对开启 checkable 的选项进行搜索,不向上查找路径
|
72
|
-
*/
|
73
|
-
upMatch?: boolean;
|
36
|
+
displayRender?: (checkedOption: CascaderItemEventData, checkedOptionPaths: CascaderItemEventData[]) => React.ReactNode;
|
74
37
|
/**
|
75
38
|
* 触发器输入框占位符
|
76
39
|
*/
|
@@ -79,18 +42,6 @@ export interface CascaderProps extends Omit<PickerProps, 'data' | 'onChange' | '
|
|
79
42
|
* 搜索输入框占位符
|
80
43
|
*/
|
81
44
|
searchPlaceholder?: string;
|
82
|
-
/**
|
83
|
-
* 异步请求更新数据
|
84
|
-
*/
|
85
|
-
onLoadChildren?: (item: CascaderItemEventData) => Promise<CascaderItem[] | void> | void;
|
86
|
-
/**
|
87
|
-
* 自定义控制 popper 行为
|
88
|
-
*/
|
89
|
-
popper?: PopperProps;
|
90
|
-
/**
|
91
|
-
* 设置展现形式
|
92
|
-
*/
|
93
|
-
appearance?: 'outline' | 'unset' | 'filled';
|
94
45
|
/**
|
95
46
|
* 自定义搜索过滤器,仅在 searchable 为 true 时有效
|
96
47
|
* 第一个参数为输入的关键字,
|
@@ -98,12 +49,13 @@ export interface CascaderProps extends Omit<PickerProps, 'data' | 'onChange' | '
|
|
98
49
|
*/
|
99
50
|
filterOption?: (keyword: string, item: CascaderItemEventData) => boolean;
|
100
51
|
/**
|
101
|
-
*
|
52
|
+
* 自定义控制 popper 行为
|
53
|
+
*/
|
54
|
+
overlay?: PopperOverlayProps;
|
55
|
+
/**
|
56
|
+
* 设置展现形式
|
102
57
|
*/
|
103
|
-
|
104
|
-
}
|
105
|
-
export declare const CascaderSearch: React.ForwardRefExoticComponent<Pick<CascaderSearchProps, string | number> & React.RefAttributes<HTMLInputElement | null>>;
|
106
|
-
export interface CascaderSearchProps extends HiBaseHTMLProps {
|
58
|
+
appearance?: HiBaseAppearanceEnum;
|
107
59
|
}
|
108
60
|
export declare const CascaderMenuList: React.ForwardRefExoticComponent<Pick<CascaderMenuListProps, string | number> & React.RefAttributes<HTMLDivElement | null>>;
|
109
61
|
export interface CascaderMenuListProps extends HiBaseHTMLProps {
|