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