rsuite 5.55.1 → 5.57.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/AutoComplete/styles/index.css +3 -3
- package/CHANGELOG.md +33 -0
- package/CascadeTree/package.json +7 -0
- package/CascadeTree/styles/index.css +273 -0
- package/CascadeTree/styles/index.less +77 -0
- package/CascadeTree/styles/search.less +45 -0
- package/Cascader/styles/index.css +190 -195
- package/Cascader/styles/index.less +1 -122
- package/CheckPicker/styles/index.css +142 -40
- package/CheckPicker/styles/index.less +1 -1
- package/CheckTree/styles/index.css +143 -41
- package/CheckTreePicker/styles/index.css +143 -41
- package/CheckTreePicker/styles/index.less +2 -2
- package/Checkbox/styles/index.css +159 -36
- package/Checkbox/styles/index.less +32 -13
- package/DatePicker/styles/index.css +3 -3
- package/DateRangePicker/styles/index.css +3 -3
- package/InputPicker/styles/index.css +3 -3
- package/MultiCascadeTree/package.json +7 -0
- package/MultiCascadeTree/styles/index.css +3701 -0
- package/MultiCascadeTree/styles/index.less +37 -0
- package/MultiCascader/styles/index.css +213 -108
- package/MultiCascader/styles/index.less +11 -31
- package/Pagination/styles/index.css +3 -3
- package/Radio/styles/index.css +133 -19
- package/Radio/styles/index.less +28 -12
- package/RadioGroup/styles/index.css +1 -1
- package/RadioGroup/styles/index.less +1 -1
- package/SelectPicker/styles/index.css +3 -3
- package/TagGroup/styles/index.css +1 -1
- package/TagGroup/styles/index.less +1 -1
- package/TagInput/styles/index.css +141 -39
- package/TagPicker/styles/index.css +141 -39
- package/cjs/@types/common.d.ts +12 -14
- package/cjs/CascadeTree/CascadeTree.d.ts +16 -0
- package/cjs/CascadeTree/CascadeTree.js +174 -0
- package/cjs/CascadeTree/SearchView.d.ts +17 -0
- package/cjs/CascadeTree/SearchView.js +106 -0
- package/cjs/CascadeTree/TreeView.d.ts +20 -0
- package/cjs/{Cascader → CascadeTree}/TreeView.js +42 -33
- package/cjs/CascadeTree/hooks/index.d.ts +3 -0
- package/cjs/CascadeTree/hooks/index.js +12 -0
- package/cjs/{Cascader/utils.d.ts → CascadeTree/hooks/usePaths.d.ts} +3 -25
- package/cjs/CascadeTree/hooks/usePaths.js +42 -0
- package/cjs/CascadeTree/hooks/useSearch.d.ts +17 -0
- package/cjs/CascadeTree/hooks/useSearch.js +59 -0
- package/cjs/CascadeTree/hooks/useSelect.d.ts +23 -0
- package/cjs/CascadeTree/hooks/useSelect.js +64 -0
- package/cjs/CascadeTree/index.d.ts +4 -0
- package/cjs/CascadeTree/index.js +9 -0
- package/cjs/CascadeTree/types.d.ts +66 -0
- package/cjs/CascadeTree/types.js +2 -0
- package/cjs/CascadeTree/utils.d.ts +32 -0
- package/cjs/CascadeTree/utils.js +66 -0
- package/cjs/Cascader/Cascader.d.ts +57 -26
- package/cjs/Cascader/Cascader.js +180 -247
- package/cjs/Cascader/useActive.d.ts +15 -0
- package/cjs/Cascader/useActive.js +43 -0
- package/cjs/Checkbox/Checkbox.d.ts +67 -25
- package/cjs/Checkbox/Checkbox.js +36 -26
- package/cjs/InlineEdit/InlineEdit.d.ts +1 -1
- package/cjs/InputPicker/InputPicker.js +2 -2
- package/cjs/InputPicker/InputPickerContext.d.ts +1 -1
- package/cjs/Loader/Loader.js +5 -4
- package/cjs/MultiCascadeTree/MultiCascadeTree.d.ts +9 -0
- package/cjs/MultiCascadeTree/MultiCascadeTree.js +131 -0
- package/cjs/MultiCascadeTree/SearchView.d.ts +17 -0
- package/cjs/MultiCascadeTree/SearchView.js +117 -0
- package/cjs/MultiCascadeTree/TreeView.d.ts +22 -0
- package/cjs/{MultiCascader → MultiCascadeTree}/TreeView.js +22 -21
- package/cjs/MultiCascadeTree/hooks/index.d.ts +5 -0
- package/cjs/MultiCascadeTree/hooks/index.js +16 -0
- package/cjs/MultiCascadeTree/hooks/useCascadeValue.d.ts +18 -0
- package/cjs/MultiCascadeTree/hooks/useCascadeValue.js +202 -0
- package/cjs/MultiCascadeTree/hooks/useColumnData.d.ts +16 -0
- package/cjs/MultiCascadeTree/hooks/useColumnData.js +52 -0
- package/cjs/MultiCascadeTree/hooks/useFlattenData.d.ts +9 -0
- package/cjs/MultiCascadeTree/hooks/useFlattenData.js +33 -0
- package/cjs/MultiCascadeTree/hooks/useSearch.d.ts +17 -0
- package/cjs/MultiCascadeTree/hooks/useSearch.js +52 -0
- package/cjs/MultiCascadeTree/hooks/useSelect.d.ts +19 -0
- package/cjs/MultiCascadeTree/hooks/useSelect.js +83 -0
- package/cjs/MultiCascadeTree/index.d.ts +4 -0
- package/cjs/MultiCascadeTree/index.js +9 -0
- package/cjs/MultiCascadeTree/types.d.ts +26 -0
- package/cjs/MultiCascadeTree/types.js +2 -0
- package/cjs/MultiCascadeTree/utils.d.ts +37 -0
- package/cjs/MultiCascadeTree/utils.js +140 -0
- package/cjs/MultiCascader/MultiCascader.d.ts +57 -29
- package/cjs/MultiCascader/MultiCascader.js +175 -287
- package/cjs/Radio/Radio.d.ts +42 -16
- package/cjs/Radio/Radio.js +42 -37
- package/cjs/RadioGroup/RadioGroup.d.ts +1 -1
- package/cjs/RadioGroup/RadioGroup.js +3 -3
- package/cjs/TagPicker/index.js +1 -1
- package/cjs/Tree/Tree.d.ts +4 -4
- package/cjs/index.d.ts +6 -1
- package/cjs/index.js +8 -3
- package/cjs/internals/Picker/ListCheckItem.d.ts +2 -11
- package/cjs/internals/Picker/ListCheckItem.js +8 -6
- package/cjs/internals/Picker/PickerToggle.d.ts +4 -5
- package/cjs/toaster/ToastContainer.d.ts +9 -2
- package/cjs/toaster/index.d.ts +0 -1
- package/cjs/toaster/index.js +1 -3
- package/cjs/useToaster/index.d.ts +2 -0
- package/cjs/useToaster/index.js +9 -0
- package/cjs/{toaster → useToaster}/useToaster.d.ts +4 -4
- package/cjs/{toaster → useToaster}/useToaster.js +4 -4
- package/cjs/utils/index.d.ts +1 -0
- package/cjs/utils/index.js +5 -2
- package/dist/rsuite-no-reset-rtl.css +322 -124
- package/dist/rsuite-no-reset-rtl.min.css +1 -1
- package/dist/rsuite-no-reset-rtl.min.css.map +1 -1
- package/dist/rsuite-no-reset.css +322 -124
- package/dist/rsuite-no-reset.min.css +1 -1
- package/dist/rsuite-no-reset.min.css.map +1 -1
- package/dist/rsuite-rtl.css +322 -124
- package/dist/rsuite-rtl.min.css +1 -1
- package/dist/rsuite-rtl.min.css.map +1 -1
- package/dist/rsuite.css +322 -124
- package/dist/rsuite.js +248 -50
- package/dist/rsuite.js.map +1 -1
- package/dist/rsuite.min.css +1 -1
- package/dist/rsuite.min.css.map +1 -1
- package/dist/rsuite.min.js +1 -1
- package/dist/rsuite.min.js.map +1 -1
- package/esm/@types/common.d.ts +12 -14
- package/esm/CascadeTree/CascadeTree.d.ts +16 -0
- package/esm/CascadeTree/CascadeTree.js +167 -0
- package/esm/CascadeTree/SearchView.d.ts +17 -0
- package/esm/CascadeTree/SearchView.js +100 -0
- package/esm/CascadeTree/TreeView.d.ts +20 -0
- package/esm/{Cascader → CascadeTree}/TreeView.js +42 -33
- package/esm/CascadeTree/hooks/index.d.ts +3 -0
- package/esm/CascadeTree/hooks/index.js +4 -0
- package/esm/{Cascader/utils.d.ts → CascadeTree/hooks/usePaths.d.ts} +3 -25
- package/esm/CascadeTree/hooks/usePaths.js +36 -0
- package/esm/CascadeTree/hooks/useSearch.d.ts +17 -0
- package/esm/CascadeTree/hooks/useSearch.js +54 -0
- package/esm/CascadeTree/hooks/useSelect.d.ts +23 -0
- package/esm/CascadeTree/hooks/useSelect.js +59 -0
- package/esm/CascadeTree/index.d.ts +4 -0
- package/esm/CascadeTree/index.js +3 -0
- package/esm/CascadeTree/types.d.ts +66 -0
- package/esm/CascadeTree/types.js +1 -0
- package/esm/CascadeTree/utils.d.ts +32 -0
- package/esm/CascadeTree/utils.js +61 -0
- package/esm/Cascader/Cascader.d.ts +57 -26
- package/esm/Cascader/Cascader.js +167 -233
- package/esm/Cascader/useActive.d.ts +15 -0
- package/esm/Cascader/useActive.js +37 -0
- package/esm/Checkbox/Checkbox.d.ts +67 -25
- package/esm/Checkbox/Checkbox.js +38 -28
- package/esm/InlineEdit/InlineEdit.d.ts +1 -1
- package/esm/InputPicker/InputPicker.js +2 -2
- package/esm/InputPicker/InputPickerContext.d.ts +1 -1
- package/esm/Loader/Loader.js +6 -5
- package/esm/MultiCascadeTree/MultiCascadeTree.d.ts +9 -0
- package/esm/MultiCascadeTree/MultiCascadeTree.js +125 -0
- package/esm/MultiCascadeTree/SearchView.d.ts +17 -0
- package/esm/MultiCascadeTree/SearchView.js +111 -0
- package/esm/MultiCascadeTree/TreeView.d.ts +22 -0
- package/esm/{MultiCascader → MultiCascadeTree}/TreeView.js +22 -21
- package/esm/MultiCascadeTree/hooks/index.d.ts +5 -0
- package/esm/MultiCascadeTree/hooks/index.js +6 -0
- package/esm/MultiCascadeTree/hooks/useCascadeValue.d.ts +18 -0
- package/esm/MultiCascadeTree/hooks/useCascadeValue.js +197 -0
- package/esm/MultiCascadeTree/hooks/useColumnData.d.ts +16 -0
- package/esm/MultiCascadeTree/hooks/useColumnData.js +46 -0
- package/esm/MultiCascadeTree/hooks/useFlattenData.d.ts +9 -0
- package/esm/MultiCascadeTree/hooks/useFlattenData.js +28 -0
- package/esm/MultiCascadeTree/hooks/useSearch.d.ts +17 -0
- package/esm/MultiCascadeTree/hooks/useSearch.js +47 -0
- package/esm/MultiCascadeTree/hooks/useSelect.d.ts +19 -0
- package/esm/MultiCascadeTree/hooks/useSelect.js +77 -0
- package/esm/MultiCascadeTree/index.d.ts +4 -0
- package/esm/MultiCascadeTree/index.js +3 -0
- package/esm/MultiCascadeTree/types.d.ts +26 -0
- package/esm/MultiCascadeTree/types.js +1 -0
- package/esm/MultiCascadeTree/utils.d.ts +37 -0
- package/esm/MultiCascadeTree/utils.js +130 -0
- package/esm/MultiCascader/MultiCascader.d.ts +57 -29
- package/esm/MultiCascader/MultiCascader.js +168 -279
- package/esm/Radio/Radio.d.ts +42 -16
- package/esm/Radio/Radio.js +43 -38
- package/esm/RadioGroup/RadioGroup.d.ts +1 -1
- package/esm/RadioGroup/RadioGroup.js +5 -5
- package/esm/TagPicker/index.js +1 -1
- package/esm/Tree/Tree.d.ts +4 -4
- package/esm/index.d.ts +6 -1
- package/esm/index.js +5 -1
- package/esm/internals/Picker/ListCheckItem.d.ts +2 -11
- package/esm/internals/Picker/ListCheckItem.js +8 -6
- package/esm/internals/Picker/PickerToggle.d.ts +4 -5
- package/esm/toaster/ToastContainer.d.ts +9 -2
- package/esm/toaster/index.d.ts +0 -1
- package/esm/toaster/index.js +0 -1
- package/esm/useToaster/index.d.ts +2 -0
- package/esm/useToaster/index.js +3 -0
- package/esm/{toaster → useToaster}/useToaster.d.ts +4 -4
- package/esm/{toaster → useToaster}/useToaster.js +4 -4
- package/esm/utils/index.d.ts +1 -0
- package/esm/utils/index.js +2 -1
- package/internals/Picker/styles/index.less +1 -1
- package/package.json +1 -1
- package/styles/index.less +2 -0
- package/useToaster/package.json +7 -0
- package/useToaster/styles/index.css +239 -0
- package/useToaster/styles/index.less +1 -0
- package/cjs/Cascader/DropdownMenu.d.ts +0 -24
- package/cjs/Cascader/DropdownMenu.js +0 -175
- package/cjs/Cascader/TreeView.d.ts +0 -24
- package/cjs/Cascader/utils.js +0 -79
- package/cjs/MultiCascader/TreeView.d.ts +0 -25
- package/cjs/MultiCascader/utils.d.ts +0 -71
- package/cjs/MultiCascader/utils.js +0 -382
- package/esm/Cascader/DropdownMenu.d.ts +0 -24
- package/esm/Cascader/DropdownMenu.js +0 -168
- package/esm/Cascader/TreeView.d.ts +0 -24
- package/esm/Cascader/utils.js +0 -74
- package/esm/MultiCascader/TreeView.d.ts +0 -25
- package/esm/MultiCascader/utils.d.ts +0 -71
- package/esm/MultiCascader/utils.js +0 -369
package/cjs/Cascader/Cascader.js
CHANGED
|
@@ -5,24 +5,23 @@ var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWild
|
|
|
5
5
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
6
6
|
exports.__esModule = true;
|
|
7
7
|
exports.default = void 0;
|
|
8
|
-
var
|
|
8
|
+
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
9
9
|
var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));
|
|
10
10
|
var _react = _interopRequireWildcard(require("react"));
|
|
11
|
-
var _reactUseSet = require("react-use-set");
|
|
12
11
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
13
12
|
var _omit = _interopRequireDefault(require("lodash/omit"));
|
|
14
13
|
var _pick = _interopRequireDefault(require("lodash/pick"));
|
|
15
14
|
var _isNil = _interopRequireDefault(require("lodash/isNil"));
|
|
16
15
|
var _isFunction = _interopRequireDefault(require("lodash/isFunction"));
|
|
17
|
-
var
|
|
18
|
-
var
|
|
16
|
+
var _TreeView = _interopRequireDefault(require("../CascadeTree/TreeView"));
|
|
17
|
+
var _SearchView = _interopRequireDefault(require("../CascadeTree/SearchView"));
|
|
18
|
+
var _hooks = require("../CascadeTree/hooks");
|
|
19
19
|
var _treeUtils = require("../utils/treeUtils");
|
|
20
|
-
var
|
|
21
|
-
var
|
|
20
|
+
var _propTypes2 = require("../internals/propTypes");
|
|
21
|
+
var _utils = require("../utils");
|
|
22
22
|
var _Picker = require("../internals/Picker");
|
|
23
|
-
var _SearchBox = _interopRequireDefault(require("../internals/SearchBox"));
|
|
24
23
|
var _useMap = require("../utils/useMap");
|
|
25
|
-
var
|
|
24
|
+
var _useActive2 = _interopRequireDefault(require("./useActive"));
|
|
26
25
|
var emptyArray = [];
|
|
27
26
|
|
|
28
27
|
/**
|
|
@@ -55,23 +54,22 @@ var Cascader = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
|
|
|
55
54
|
toggleAs = props.toggleAs,
|
|
56
55
|
style = props.style,
|
|
57
56
|
valueProp = props.value,
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
menuHeight = props.menuHeight,
|
|
57
|
+
popupClassName = props.popupClassName,
|
|
58
|
+
popupStyle = props.popupStyle,
|
|
59
|
+
columnHeight = props.columnHeight,
|
|
60
|
+
columnWidth = props.columnWidth,
|
|
63
61
|
_props$searchable = props.searchable,
|
|
64
62
|
searchable = _props$searchable === void 0 ? true : _props$searchable,
|
|
65
63
|
parentSelectable = props.parentSelectable,
|
|
66
64
|
_props$placement = props.placement,
|
|
67
65
|
placement = _props$placement === void 0 ? 'bottomStart' : _props$placement,
|
|
68
66
|
id = props.id,
|
|
69
|
-
|
|
67
|
+
renderColumn = props.renderColumn,
|
|
68
|
+
renderTreeNode = props.renderTreeNode,
|
|
70
69
|
renderSearchItem = props.renderSearchItem,
|
|
71
70
|
renderValue = props.renderValue,
|
|
72
|
-
renderMenu = props.renderMenu,
|
|
73
71
|
renderExtraFooter = props.renderExtraFooter,
|
|
74
|
-
|
|
72
|
+
onEntered = props.onEntered,
|
|
75
73
|
onExited = props.onExited,
|
|
76
74
|
onClean = props.onClean,
|
|
77
75
|
onChange = props.onChange,
|
|
@@ -80,57 +78,99 @@ var Cascader = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
|
|
|
80
78
|
onClose = props.onClose,
|
|
81
79
|
onOpen = props.onOpen,
|
|
82
80
|
getChildren = props.getChildren,
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
81
|
+
DEPRECATED_menuClassName = props.menuClassName,
|
|
82
|
+
DEPRECATED_menuStyle = props.menuStyle,
|
|
83
|
+
DEPRECATED_menuWidth = props.menuWidth,
|
|
84
|
+
DEPRECATED_menuHeight = props.menuHeight,
|
|
85
|
+
DEPRECATED_renderMenuItem = props.renderMenuItem,
|
|
86
|
+
DEPRECATED_renderMenu = props.renderMenu,
|
|
87
|
+
rest = (0, _objectWithoutPropertiesLoose2.default)(props, ["as", "data", "classPrefix", "childrenKey", "valueKey", "labelKey", "defaultValue", "placeholder", "disabled", "disabledItemValues", "appearance", "cleanable", "locale", "toggleAs", "style", "value", "popupClassName", "popupStyle", "columnHeight", "columnWidth", "searchable", "parentSelectable", "placement", "id", "renderColumn", "renderTreeNode", "renderSearchItem", "renderValue", "renderExtraFooter", "onEntered", "onExited", "onClean", "onChange", "onSelect", "onSearch", "onClose", "onOpen", "getChildren", "menuClassName", "menuStyle", "menuWidth", "menuHeight", "renderMenuItem", "renderMenu"]);
|
|
87
88
|
var _usePickerRef = (0, _Picker.usePickerRef)(ref),
|
|
88
89
|
trigger = _usePickerRef.trigger,
|
|
89
90
|
root = _usePickerRef.root,
|
|
90
91
|
target = _usePickerRef.target,
|
|
91
92
|
overlay = _usePickerRef.overlay,
|
|
92
93
|
searchInput = _usePickerRef.searchInput;
|
|
93
|
-
var _ref = (0,
|
|
94
|
+
var _ref = (0, _utils.useControlled)(valueProp, defaultValue),
|
|
94
95
|
value = _ref[0],
|
|
95
|
-
setValue = _ref[1];
|
|
96
|
-
var
|
|
97
|
-
|
|
98
|
-
|
|
96
|
+
setValue = _ref[1]; // Store the children of each node
|
|
97
|
+
var childrenMap = (0, _useMap.useMap)();
|
|
98
|
+
|
|
99
|
+
// Store the parent of each node
|
|
99
100
|
var parentMap = (0, _react.useMemo)(function () {
|
|
100
101
|
return (0, _treeUtils.getParentMap)(data, function (item) {
|
|
101
|
-
var
|
|
102
|
-
return (
|
|
102
|
+
var _childrenMap$get;
|
|
103
|
+
return (_childrenMap$get = childrenMap.get(item)) !== null && _childrenMap$get !== void 0 ? _childrenMap$get : item[childrenKey];
|
|
103
104
|
});
|
|
104
|
-
}, [
|
|
105
|
+
}, [childrenMap, childrenKey, data]);
|
|
106
|
+
|
|
107
|
+
// Flatten the tree data
|
|
105
108
|
var flattenedData = (0, _react.useMemo)(function () {
|
|
106
109
|
return (0, _treeUtils.flattenTree)(data, function (item) {
|
|
107
|
-
var
|
|
108
|
-
return (
|
|
110
|
+
var _childrenMap$get2;
|
|
111
|
+
return (_childrenMap$get2 = childrenMap.get(item)) !== null && _childrenMap$get2 !== void 0 ? _childrenMap$get2 : item[childrenKey];
|
|
109
112
|
});
|
|
110
|
-
}, [
|
|
113
|
+
}, [childrenMap, childrenKey, data]);
|
|
114
|
+
|
|
115
|
+
// The selected item
|
|
116
|
+
var selectedItem = flattenedData.find(function (item) {
|
|
117
|
+
return item[valueKey] === value;
|
|
118
|
+
});
|
|
111
119
|
|
|
112
|
-
//
|
|
113
|
-
var
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
120
|
+
// Callback function after selecting the node
|
|
121
|
+
var onSelectCallback = function onSelectCallback(node, event) {
|
|
122
|
+
var _trigger$current;
|
|
123
|
+
var isLeafNode = node.isLeafNode,
|
|
124
|
+
cascadePaths = node.cascadePaths,
|
|
125
|
+
itemData = node.itemData;
|
|
126
|
+
onSelect === null || onSelect === void 0 ? void 0 : onSelect(itemData, cascadePaths, event);
|
|
127
|
+
var nextValue = itemData[valueKey];
|
|
128
|
+
if (isLeafNode) {
|
|
129
|
+
// Determines whether the option is a leaf node, and if so, closes the picker.
|
|
130
|
+
handleClose();
|
|
131
|
+
setValue(nextValue);
|
|
132
|
+
return;
|
|
133
|
+
}
|
|
134
|
+
|
|
135
|
+
// When the parent is optional, the value and the displayed path are updated.
|
|
136
|
+
if (parentSelectable && !(0, _utils.shallowEqual)(value, nextValue)) {
|
|
137
|
+
setValue(nextValue);
|
|
138
|
+
onChange === null || onChange === void 0 ? void 0 : onChange(nextValue, event);
|
|
139
|
+
}
|
|
140
|
+
|
|
141
|
+
// Update menu position
|
|
142
|
+
(_trigger$current = trigger.current) === null || _trigger$current === void 0 ? void 0 : _trigger$current.updatePosition();
|
|
143
|
+
};
|
|
144
|
+
var _useSelect = (0, _hooks.useSelect)({
|
|
145
|
+
value: value,
|
|
146
|
+
valueKey: valueKey,
|
|
147
|
+
childrenKey: childrenKey,
|
|
148
|
+
childrenMap: childrenMap,
|
|
149
|
+
selectedItem: selectedItem,
|
|
150
|
+
getChildren: getChildren,
|
|
151
|
+
onChange: onChange,
|
|
152
|
+
onSelect: onSelectCallback
|
|
153
|
+
}),
|
|
154
|
+
activeItem = _useSelect.activeItem,
|
|
155
|
+
setActiveItem = _useSelect.setActiveItem,
|
|
156
|
+
loadingItemsSet = _useSelect.loadingItemsSet,
|
|
157
|
+
handleSelect = _useSelect.handleSelect;
|
|
158
|
+
var _usePaths = (0, _hooks.usePaths)({
|
|
117
159
|
data: data,
|
|
118
160
|
activeItem: activeItem,
|
|
119
|
-
selectedItem:
|
|
120
|
-
return item[valueKey] === value;
|
|
121
|
-
}),
|
|
161
|
+
selectedItem: selectedItem,
|
|
122
162
|
getParent: function getParent(item) {
|
|
123
163
|
return parentMap.get(item);
|
|
124
164
|
},
|
|
125
165
|
getChildren: function getChildren(item) {
|
|
126
|
-
var
|
|
127
|
-
return (
|
|
166
|
+
var _childrenMap$get3;
|
|
167
|
+
return (_childrenMap$get3 = childrenMap.get(item)) !== null && _childrenMap$get3 !== void 0 ? _childrenMap$get3 : item[childrenKey];
|
|
128
168
|
}
|
|
129
169
|
}),
|
|
130
|
-
|
|
170
|
+
columns = _usePaths.columns,
|
|
131
171
|
pathTowardsActiveItem = _usePaths.pathTowardsActiveItem,
|
|
132
172
|
pathTowardsSelectedItem = _usePaths.pathTowardsSelectedItem;
|
|
133
|
-
var _useCustom = (0,
|
|
173
|
+
var _useCustom = (0, _utils.useCustom)('Picker', overrideLocale),
|
|
134
174
|
locale = _useCustom.locale,
|
|
135
175
|
rtl = _useCustom.rtl;
|
|
136
176
|
/**
|
|
@@ -138,40 +178,14 @@ var Cascader = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
|
|
|
138
178
|
* 2.Regardless of whether the value is valid, as long as renderValue is set, it is judged to have a value.
|
|
139
179
|
*/
|
|
140
180
|
var hasValue = pathTowardsSelectedItem.length > 0 || !(0, _isNil.default)(value) && (0, _isFunction.default)(renderValue);
|
|
141
|
-
var _useClassNames = (0,
|
|
181
|
+
var _useClassNames = (0, _utils.useClassNames)(classPrefix),
|
|
142
182
|
prefix = _useClassNames.prefix,
|
|
143
183
|
merge = _useClassNames.merge;
|
|
144
|
-
var
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
return true;
|
|
150
|
-
}
|
|
151
|
-
var parent = parentMap.get(item);
|
|
152
|
-
if (parent && someKeyword(parent)) {
|
|
153
|
-
return true;
|
|
154
|
-
}
|
|
155
|
-
return false;
|
|
156
|
-
};
|
|
157
|
-
var getSearchResult = function getSearchResult(keyword) {
|
|
158
|
-
var items = [];
|
|
159
|
-
var result = flattenedData.filter(function (item) {
|
|
160
|
-
if (!parentSelectable && item[childrenKey]) {
|
|
161
|
-
return false;
|
|
162
|
-
}
|
|
163
|
-
return someKeyword(item, keyword);
|
|
164
|
-
});
|
|
165
|
-
for (var i = 0; i < result.length; i++) {
|
|
166
|
-
items.push(result[i]);
|
|
167
|
-
|
|
168
|
-
// A maximum of 100 search results are returned.
|
|
169
|
-
if (i === 99) {
|
|
170
|
-
return items;
|
|
171
|
-
}
|
|
172
|
-
}
|
|
173
|
-
return items;
|
|
174
|
-
};
|
|
184
|
+
var onFocusItemCallback = (0, _react.useCallback)(function (value) {
|
|
185
|
+
setActiveItem(flattenedData.find(function (item) {
|
|
186
|
+
return item[valueKey] === value;
|
|
187
|
+
}));
|
|
188
|
+
}, [flattenedData, setActiveItem, valueKey]);
|
|
175
189
|
|
|
176
190
|
// Used to hover the focuse item when trigger `onKeydown`
|
|
177
191
|
var _useFocusItemValue = (0, _Picker.useFocusItemValue)(value, {
|
|
@@ -185,20 +199,14 @@ var Cascader = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
|
|
|
185
199
|
getParent: function getParent(item) {
|
|
186
200
|
return parentMap.get(item);
|
|
187
201
|
},
|
|
188
|
-
callback:
|
|
189
|
-
setActiveItem(flattenedData.find(function (item) {
|
|
190
|
-
return item[valueKey] === value;
|
|
191
|
-
}));
|
|
192
|
-
}, [flattenedData, setActiveItem, valueKey])
|
|
202
|
+
callback: onFocusItemCallback
|
|
193
203
|
}),
|
|
194
204
|
focusItemValue = _useFocusItemValue.focusItemValue,
|
|
195
205
|
setFocusItemValue = _useFocusItemValue.setFocusItemValue,
|
|
196
206
|
setLayer = _useFocusItemValue.setLayer,
|
|
197
207
|
setKeys = _useFocusItemValue.setKeys,
|
|
198
208
|
onFocusItem = _useFocusItemValue.onKeyDown;
|
|
199
|
-
var
|
|
200
|
-
var items = getSearchResult(value);
|
|
201
|
-
setSearchKeyword(value);
|
|
209
|
+
var onSearchCallback = function onSearchCallback(value, items, event) {
|
|
202
210
|
onSearch === null || onSearch === void 0 ? void 0 : onSearch(value, event);
|
|
203
211
|
if (!value || items.length === 0) {
|
|
204
212
|
setFocusItemValue(undefined);
|
|
@@ -209,37 +217,45 @@ var Cascader = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
|
|
|
209
217
|
setLayer(0);
|
|
210
218
|
setKeys([]);
|
|
211
219
|
}
|
|
212
|
-
}
|
|
213
|
-
var
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
220
|
+
};
|
|
221
|
+
var _useSearch = (0, _hooks.useSearch)({
|
|
222
|
+
labelKey: labelKey,
|
|
223
|
+
childrenKey: childrenKey,
|
|
224
|
+
parentMap: parentMap,
|
|
225
|
+
flattenedData: flattenedData,
|
|
226
|
+
parentSelectable: parentSelectable,
|
|
227
|
+
onSearch: onSearchCallback
|
|
228
|
+
}),
|
|
229
|
+
items = _useSearch.items,
|
|
230
|
+
searchKeyword = _useSearch.searchKeyword,
|
|
231
|
+
setSearchKeyword = _useSearch.setSearchKeyword,
|
|
232
|
+
handleSearch = _useSearch.handleSearch;
|
|
233
|
+
var _useActive = (0, _useActive2.default)({
|
|
234
|
+
onOpen: onOpen,
|
|
235
|
+
onClose: onClose,
|
|
236
|
+
onEntered: onEntered,
|
|
237
|
+
onExited: onExited,
|
|
238
|
+
target: target,
|
|
239
|
+
setSearchKeyword: setSearchKeyword
|
|
240
|
+
}),
|
|
241
|
+
active = _useActive.active,
|
|
242
|
+
handleEntered = _useActive.handleEntered,
|
|
243
|
+
handleExited = _useActive.handleExited;
|
|
244
|
+
var handleClose = (0, _utils.useEventCallback)(function () {
|
|
245
|
+
var _trigger$current2, _target$current, _target$current$focus;
|
|
246
|
+
(_trigger$current2 = trigger.current) === null || _trigger$current2 === void 0 ? void 0 : _trigger$current2.close();
|
|
231
247
|
|
|
232
248
|
// The focus is on the trigger button after closing
|
|
233
249
|
(_target$current = target.current) === null || _target$current === void 0 ? void 0 : (_target$current$focus = _target$current.focus) === null || _target$current$focus === void 0 ? void 0 : _target$current$focus.call(_target$current);
|
|
234
250
|
});
|
|
235
|
-
var handleClean = (0,
|
|
251
|
+
var handleClean = (0, _utils.useEventCallback)(function (event) {
|
|
236
252
|
if (disabled || !target.current) {
|
|
237
253
|
return;
|
|
238
254
|
}
|
|
239
255
|
setValue(null);
|
|
240
256
|
onChange === null || onChange === void 0 ? void 0 : onChange(null, event);
|
|
241
257
|
});
|
|
242
|
-
var handleMenuPressEnter = (0,
|
|
258
|
+
var handleMenuPressEnter = (0, _utils.useEventCallback)(function (event) {
|
|
243
259
|
var focusItem = (0, _treeUtils.findNodeOfTree)(data, function (item) {
|
|
244
260
|
return item[valueKey] === focusItemValue;
|
|
245
261
|
});
|
|
@@ -249,14 +265,14 @@ var Cascader = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
|
|
|
249
265
|
if (pathTowardsActiveItem.length) {
|
|
250
266
|
setLayer(pathTowardsActiveItem.length - 1);
|
|
251
267
|
}
|
|
252
|
-
if (!(0,
|
|
268
|
+
if (!(0, _utils.shallowEqual)(value, focusItemValue)) {
|
|
253
269
|
onSelect === null || onSelect === void 0 ? void 0 : onSelect(focusItem, pathTowardsActiveItem, event);
|
|
254
270
|
onChange === null || onChange === void 0 ? void 0 : onChange(focusItemValue !== null && focusItemValue !== void 0 ? focusItemValue : null, event);
|
|
255
271
|
}
|
|
256
272
|
handleClose();
|
|
257
273
|
}
|
|
258
274
|
});
|
|
259
|
-
var onPickerKeyDown = (0, _Picker.useToggleKeyDownEvent)((0,
|
|
275
|
+
var onPickerKeyDown = (0, _Picker.useToggleKeyDownEvent)((0, _extends2.default)({
|
|
260
276
|
toggle: !focusItemValue || !active,
|
|
261
277
|
trigger: trigger,
|
|
262
278
|
target: target,
|
|
@@ -267,162 +283,79 @@ var Cascader = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
|
|
|
267
283
|
onMenuKeyDown: onFocusItem,
|
|
268
284
|
onMenuPressEnter: handleMenuPressEnter
|
|
269
285
|
}, rest));
|
|
270
|
-
var handleSelect = (0, _utils2.useEventCallback)(function (node, cascadePaths, isLeafNode, event) {
|
|
271
|
-
var _node$childrenKey, _trigger$current2;
|
|
272
|
-
onSelect === null || onSelect === void 0 ? void 0 : onSelect(node, cascadePaths, event);
|
|
273
|
-
setActiveItem(node);
|
|
274
|
-
var nextValue = node[valueKey];
|
|
275
|
-
|
|
276
|
-
// Lazy load node's children
|
|
277
|
-
if (typeof getChildren === 'function' && ((_node$childrenKey = node[childrenKey]) === null || _node$childrenKey === void 0 ? void 0 : _node$childrenKey.length) === 0 && !asyncChildrenMap.has(node)) {
|
|
278
|
-
loadingItemsSet.add(node);
|
|
279
|
-
var children = getChildren(node);
|
|
280
|
-
if (children instanceof Promise) {
|
|
281
|
-
children.then(function (data) {
|
|
282
|
-
if (isMounted()) {
|
|
283
|
-
loadingItemsSet.delete(node);
|
|
284
|
-
asyncChildrenMap.set(node, data);
|
|
285
|
-
}
|
|
286
|
-
});
|
|
287
|
-
} else {
|
|
288
|
-
loadingItemsSet.delete(node);
|
|
289
|
-
asyncChildrenMap.set(node, children);
|
|
290
|
-
}
|
|
291
|
-
}
|
|
292
|
-
if (isLeafNode) {
|
|
293
|
-
// Determines whether the option is a leaf node, and if so, closes the picker.
|
|
294
|
-
handleClose();
|
|
295
|
-
setValue(nextValue);
|
|
296
|
-
if (!(0, _shallowEqual.default)(value, nextValue)) {
|
|
297
|
-
onChange === null || onChange === void 0 ? void 0 : onChange(nextValue, event);
|
|
298
|
-
}
|
|
299
|
-
return;
|
|
300
|
-
}
|
|
301
|
-
|
|
302
|
-
/** When the parent is optional, the value and the displayed path are updated. */
|
|
303
|
-
if (parentSelectable && !(0, _shallowEqual.default)(value, nextValue)) {
|
|
304
|
-
setValue(nextValue);
|
|
305
|
-
onChange === null || onChange === void 0 ? void 0 : onChange(nextValue, event);
|
|
306
|
-
}
|
|
307
|
-
|
|
308
|
-
// Update menu position
|
|
309
|
-
(_trigger$current2 = trigger.current) === null || _trigger$current2 === void 0 ? void 0 : _trigger$current2.updatePosition();
|
|
310
|
-
});
|
|
311
286
|
|
|
312
287
|
/**
|
|
313
288
|
* The search structure option is processed after being selected.
|
|
314
289
|
*/
|
|
315
|
-
var handleSearchRowSelect = (0,
|
|
316
|
-
var nextValue =
|
|
290
|
+
var handleSearchRowSelect = (0, _utils.useEventCallback)(function (itemData, nodes, event) {
|
|
291
|
+
var nextValue = itemData[valueKey];
|
|
317
292
|
handleClose();
|
|
318
293
|
setSearchKeyword('');
|
|
319
294
|
setValue(nextValue);
|
|
320
|
-
onSelect === null || onSelect === void 0 ? void 0 : onSelect(
|
|
295
|
+
onSelect === null || onSelect === void 0 ? void 0 : onSelect(itemData, nodes, event);
|
|
321
296
|
onChange === null || onChange === void 0 ? void 0 : onChange(nextValue, event);
|
|
322
297
|
});
|
|
323
|
-
var
|
|
324
|
-
var
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
for (var i = 0; i < a.length; i++) {
|
|
334
|
-
labelElements.push(a[i]);
|
|
335
|
-
if (b && b[i]) {
|
|
336
|
-
labelElements.push( /*#__PURE__*/_react.default.createElement("span", {
|
|
337
|
-
key: i,
|
|
338
|
-
className: prefix('cascader-search-match')
|
|
339
|
-
}, b[i]));
|
|
340
|
-
}
|
|
341
|
-
}
|
|
342
|
-
return (0, _extends3.default)({}, node, (_extends2 = {}, _extends2[labelKey] = labelElements, _extends2));
|
|
343
|
-
});
|
|
344
|
-
var disabled = disabledItemValues.some(function (value) {
|
|
345
|
-
return formattedNodes.some(function (node) {
|
|
346
|
-
return node[valueKey] === value;
|
|
347
|
-
});
|
|
348
|
-
});
|
|
349
|
-
var itemClasses = prefix('cascader-row', {
|
|
350
|
-
'cascader-row-disabled': disabled,
|
|
351
|
-
'cascader-row-focus': item[valueKey] === focusItemValue
|
|
352
|
-
});
|
|
353
|
-
var label = formattedNodes.map(function (node, index) {
|
|
354
|
-
return /*#__PURE__*/_react.default.createElement("span", {
|
|
355
|
-
key: "col-" + index,
|
|
356
|
-
className: prefix('cascader-col')
|
|
357
|
-
}, node[labelKey]);
|
|
358
|
-
});
|
|
359
|
-
return /*#__PURE__*/_react.default.createElement("div", {
|
|
360
|
-
role: "treeitem",
|
|
361
|
-
key: key,
|
|
362
|
-
"aria-disabled": disabled,
|
|
363
|
-
"data-key": item[valueKey],
|
|
364
|
-
className: itemClasses,
|
|
365
|
-
tabIndex: -1,
|
|
366
|
-
onClick: function onClick(event) {
|
|
367
|
-
if (!disabled) {
|
|
368
|
-
handleSearchRowSelect(item, nodes, event);
|
|
369
|
-
}
|
|
370
|
-
}
|
|
371
|
-
}, renderSearchItem ? renderSearchItem(label, nodes) : label);
|
|
298
|
+
var renderCascadeColumn = function renderCascadeColumn(childNodes, column) {
|
|
299
|
+
var items = column.items,
|
|
300
|
+
parentItem = column.parentItem,
|
|
301
|
+
layer = column.layer;
|
|
302
|
+
if (typeof renderColumn === 'function') {
|
|
303
|
+
return renderColumn(childNodes, column);
|
|
304
|
+
} else if (typeof DEPRECATED_renderMenu === 'function') {
|
|
305
|
+
return DEPRECATED_renderMenu(items, childNodes, parentItem, layer);
|
|
306
|
+
}
|
|
307
|
+
return childNodes;
|
|
372
308
|
};
|
|
373
|
-
var
|
|
374
|
-
|
|
375
|
-
|
|
309
|
+
var renderCascadeTreeNode = function renderCascadeTreeNode(node, itemData) {
|
|
310
|
+
var render = typeof renderTreeNode === 'function' ? renderTreeNode : DEPRECATED_renderMenuItem;
|
|
311
|
+
if (typeof render === 'function') {
|
|
312
|
+
return render(node, itemData);
|
|
376
313
|
}
|
|
377
|
-
|
|
378
|
-
return /*#__PURE__*/_react.default.createElement("div", {
|
|
379
|
-
className: prefix('cascader-search-panel'),
|
|
380
|
-
"data-layer": 0,
|
|
381
|
-
role: "tree"
|
|
382
|
-
}, items.length ? items.map(renderSearchRow) : /*#__PURE__*/_react.default.createElement("div", {
|
|
383
|
-
className: prefix('none')
|
|
384
|
-
}, locale.noResultsText));
|
|
314
|
+
return node;
|
|
385
315
|
};
|
|
386
316
|
var renderTreeView = function renderTreeView(positionProps, speakerRef) {
|
|
387
317
|
var _ref2 = positionProps || {},
|
|
388
318
|
left = _ref2.left,
|
|
389
319
|
top = _ref2.top,
|
|
390
320
|
className = _ref2.className;
|
|
391
|
-
var styles = (0,
|
|
321
|
+
var styles = (0, _extends2.default)({}, DEPRECATED_menuStyle, popupStyle, {
|
|
392
322
|
left: left,
|
|
393
323
|
top: top
|
|
394
324
|
});
|
|
395
|
-
var classes = merge(className,
|
|
396
|
-
inline: inline
|
|
397
|
-
}));
|
|
325
|
+
var classes = merge(className, DEPRECATED_menuClassName, popupClassName, prefix('popup-cascader'));
|
|
398
326
|
return /*#__PURE__*/_react.default.createElement(_Picker.PickerPopup, {
|
|
399
|
-
ref: (0,
|
|
327
|
+
ref: (0, _utils.mergeRefs)(overlay, speakerRef),
|
|
400
328
|
className: classes,
|
|
401
329
|
style: styles,
|
|
402
330
|
target: trigger,
|
|
403
331
|
onKeyDown: onPickerKeyDown
|
|
404
|
-
}, searchable && /*#__PURE__*/_react.default.createElement(
|
|
405
|
-
|
|
406
|
-
|
|
407
|
-
|
|
408
|
-
|
|
409
|
-
|
|
410
|
-
|
|
411
|
-
|
|
332
|
+
}, searchable && /*#__PURE__*/_react.default.createElement(_SearchView.default, {
|
|
333
|
+
data: items,
|
|
334
|
+
searchKeyword: searchKeyword,
|
|
335
|
+
valueKey: valueKey,
|
|
336
|
+
labelKey: labelKey,
|
|
337
|
+
parentMap: parentMap,
|
|
338
|
+
disabledItemValues: disabledItemValues,
|
|
339
|
+
focusItemValue: focusItemValue,
|
|
340
|
+
inputRef: searchInput,
|
|
341
|
+
renderSearchItem: renderSearchItem,
|
|
342
|
+
onSelect: handleSearchRowSelect,
|
|
343
|
+
onSearch: handleSearch
|
|
344
|
+
}), searchKeyword === '' && /*#__PURE__*/_react.default.createElement(_TreeView.default, {
|
|
345
|
+
columnWidth: columnWidth !== null && columnWidth !== void 0 ? columnWidth : DEPRECATED_menuWidth,
|
|
346
|
+
columnHeight: columnHeight !== null && columnHeight !== void 0 ? columnHeight : DEPRECATED_menuHeight,
|
|
412
347
|
disabledItemValues: disabledItemValues,
|
|
413
348
|
loadingItemsSet: loadingItemsSet,
|
|
414
349
|
valueKey: valueKey,
|
|
415
350
|
labelKey: labelKey,
|
|
416
351
|
childrenKey: childrenKey,
|
|
417
|
-
classPrefix: '
|
|
418
|
-
|
|
352
|
+
classPrefix: 'cascade-tree',
|
|
353
|
+
data: columns,
|
|
419
354
|
cascadePaths: pathTowardsActiveItem,
|
|
420
|
-
activeItemValue: value
|
|
421
|
-
// FIXME make onSelect generic
|
|
422
|
-
,
|
|
355
|
+
activeItemValue: value,
|
|
423
356
|
onSelect: handleSelect,
|
|
424
|
-
|
|
425
|
-
|
|
357
|
+
renderColumn: renderCascadeColumn,
|
|
358
|
+
renderTreeNode: renderCascadeTreeNode
|
|
426
359
|
}), renderExtraFooter === null || renderExtraFooter === void 0 ? void 0 : renderExtraFooter());
|
|
427
360
|
};
|
|
428
361
|
var selectedElement = placeholder;
|
|
@@ -448,7 +381,7 @@ var Cascader = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
|
|
|
448
381
|
hasValue = false;
|
|
449
382
|
}
|
|
450
383
|
}
|
|
451
|
-
var _usePickerClassName = (0, _Picker.usePickerClassName)((0,
|
|
384
|
+
var _usePickerClassName = (0, _Picker.usePickerClassName)((0, _extends2.default)({}, props, {
|
|
452
385
|
classPrefix: classPrefix,
|
|
453
386
|
hasValue: hasValue,
|
|
454
387
|
name: 'cascader',
|
|
@@ -456,30 +389,26 @@ var Cascader = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
|
|
|
456
389
|
cleanable: cleanable
|
|
457
390
|
})),
|
|
458
391
|
classes = _usePickerClassName[0],
|
|
459
|
-
usedClassNamePropKeys = _usePickerClassName[1];
|
|
460
|
-
// consider an isolated Menu component
|
|
461
|
-
if (inline) {
|
|
462
|
-
return renderTreeView();
|
|
463
|
-
}
|
|
392
|
+
usedClassNamePropKeys = _usePickerClassName[1];
|
|
464
393
|
return /*#__PURE__*/_react.default.createElement(_Picker.PickerToggleTrigger, {
|
|
465
394
|
id: id,
|
|
466
395
|
popupType: "tree",
|
|
467
396
|
pickerProps: (0, _pick.default)(props, _Picker.pickTriggerPropKeys),
|
|
468
397
|
ref: trigger,
|
|
469
398
|
placement: placement,
|
|
470
|
-
onEntered:
|
|
471
|
-
onExited:
|
|
399
|
+
onEntered: handleEntered,
|
|
400
|
+
onExited: handleExited,
|
|
472
401
|
speaker: renderTreeView
|
|
473
402
|
}, /*#__PURE__*/_react.default.createElement(Component, {
|
|
474
403
|
className: classes,
|
|
475
404
|
style: style,
|
|
476
405
|
ref: root
|
|
477
|
-
}, /*#__PURE__*/_react.default.createElement(_Picker.PickerToggle, (0,
|
|
406
|
+
}, /*#__PURE__*/_react.default.createElement(_Picker.PickerToggle, (0, _extends2.default)({}, (0, _omit.default)(rest, [].concat(_Picker.omitTriggerPropKeys, usedClassNamePropKeys)), {
|
|
478
407
|
ref: target,
|
|
479
408
|
as: toggleAs,
|
|
480
409
|
appearance: appearance,
|
|
481
410
|
disabled: disabled,
|
|
482
|
-
onClean: (0,
|
|
411
|
+
onClean: (0, _utils.createChainedFunction)(handleClean, onClean),
|
|
483
412
|
onKeyDown: onPickerKeyDown,
|
|
484
413
|
cleanable: cleanable && !disabled,
|
|
485
414
|
hasValue: hasValue,
|
|
@@ -490,21 +419,25 @@ var Cascader = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
|
|
|
490
419
|
}), selectedElement || (locale === null || locale === void 0 ? void 0 : locale.placeholder))));
|
|
491
420
|
});
|
|
492
421
|
Cascader.displayName = 'Cascader';
|
|
493
|
-
Cascader.propTypes = (0,
|
|
422
|
+
Cascader.propTypes = (0, _extends2.default)({}, _Picker.listPickerPropTypes, {
|
|
494
423
|
disabledItemValues: _propTypes.default.array,
|
|
495
424
|
locale: _propTypes.default.any,
|
|
496
425
|
appearance: (0, _propTypes2.oneOf)(['default', 'subtle']),
|
|
497
|
-
renderMenu: _propTypes.default.func,
|
|
498
426
|
onSelect: _propTypes.default.func,
|
|
499
427
|
onSearch: _propTypes.default.func,
|
|
500
428
|
cleanable: _propTypes.default.bool,
|
|
501
|
-
|
|
429
|
+
renderColumn: _propTypes.default.func,
|
|
430
|
+
renderTreeNode: _propTypes.default.func,
|
|
502
431
|
renderSearchItem: _propTypes.default.func,
|
|
503
|
-
|
|
504
|
-
|
|
432
|
+
columnWidth: _propTypes.default.number,
|
|
433
|
+
columnHeight: _propTypes.default.number,
|
|
505
434
|
searchable: _propTypes.default.bool,
|
|
506
|
-
|
|
507
|
-
|
|
435
|
+
parentSelectable: _propTypes.default.bool,
|
|
436
|
+
inline: (0, _propTypes2.deprecatePropTypeNew)(_propTypes.default.bool, 'Use `<CascadeTree>` instead.'),
|
|
437
|
+
renderMenu: (0, _propTypes2.deprecatePropTypeNew)(_propTypes.default.func, 'Use "renderColumn" property instead.'),
|
|
438
|
+
renderMenuItem: (0, _propTypes2.deprecatePropTypeNew)(_propTypes.default.func, 'Use "renderTreeNode" property instead.'),
|
|
439
|
+
menuWidth: (0, _propTypes2.deprecatePropTypeNew)(_propTypes.default.number, 'Use "columnWidth" property instead.'),
|
|
440
|
+
menuHeight: (0, _propTypes2.deprecatePropTypeNew)(_propTypes.default.number, 'Use "columnHeight" property instead.')
|
|
508
441
|
});
|
|
509
442
|
var _default = Cascader;
|
|
510
443
|
exports.default = _default;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
interface UseActiveProps {
|
|
3
|
+
target: React.RefObject<HTMLElement>;
|
|
4
|
+
onOpen?: () => void;
|
|
5
|
+
onClose?: () => void;
|
|
6
|
+
onEntered?: (node: HTMLElement) => void;
|
|
7
|
+
onExited?: (node: HTMLElement) => void;
|
|
8
|
+
setSearchKeyword: (keyword: string) => void;
|
|
9
|
+
}
|
|
10
|
+
declare const useActive: (props: UseActiveProps) => {
|
|
11
|
+
active: boolean;
|
|
12
|
+
handleEntered: (...args: any[]) => any;
|
|
13
|
+
handleExited: (...args: any[]) => any;
|
|
14
|
+
};
|
|
15
|
+
export default useActive;
|