rsuite 5.48.1 → 5.50.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 +27 -0
- package/Cascader/styles/index.less +5 -4
- package/DatePicker/styles/index.less +18 -11
- package/DateRangeInput/package.json +7 -0
- package/DateRangePicker/styles/index.less +20 -0
- package/Dropdown/styles/index.less +5 -4
- package/Dropdown/styles/mixin.less +0 -11
- package/InputGroup/styles/index.less +1 -0
- package/Picker/styles/index.less +51 -24
- package/Picker/styles/mixin.less +17 -13
- package/README.md +34 -24
- package/Sidenav/styles/index.less +2 -0
- package/TagInput/styles/index.less +1 -1
- package/cjs/AutoComplete/AutoComplete.js +25 -26
- package/cjs/Calendar/Calendar.d.ts +5 -1
- package/cjs/Calendar/CalendarContainer.d.ts +7 -1
- package/cjs/Calendar/CalendarContainer.js +11 -4
- package/cjs/Calendar/CalendarHeader.js +2 -0
- package/cjs/Calendar/MonthDropdown.js +7 -2
- package/cjs/Calendar/MonthDropdownItem.js +2 -2
- package/cjs/Calendar/Table.js +6 -1
- package/cjs/Calendar/TimeDropdown.js +17 -10
- package/cjs/Calendar/types.d.ts +1 -0
- package/cjs/Cascader/Cascader.js +46 -48
- package/cjs/CheckPicker/CheckPicker.d.ts +2 -2
- package/cjs/CheckPicker/CheckPicker.js +33 -36
- package/cjs/CheckTreePicker/CheckTreePicker.js +61 -64
- package/cjs/CustomProvider/CustomProvider.d.ts +13 -0
- package/cjs/CustomProvider/CustomProvider.js +2 -2
- package/cjs/DateInput/DateField.d.ts +9 -31
- package/cjs/DateInput/DateField.js +61 -12
- package/cjs/DateInput/DateInput.d.ts +7 -2
- package/cjs/DateInput/DateInput.js +74 -92
- package/cjs/DateInput/index.d.ts +4 -0
- package/cjs/DateInput/index.js +19 -1
- package/cjs/DateInput/useDateInputState.d.ts +7 -31
- package/cjs/DateInput/useDateInputState.js +39 -15
- package/cjs/DateInput/useIsFocused.d.ts +7 -0
- package/cjs/DateInput/useIsFocused.js +28 -0
- package/cjs/DateInput/useKeyboardInputEvent.d.ts +10 -0
- package/cjs/DateInput/useKeyboardInputEvent.js +44 -0
- package/cjs/DateInput/utils.d.ts +23 -1
- package/cjs/DateInput/utils.js +155 -51
- package/cjs/DatePicker/DatePicker.d.ts +25 -8
- package/cjs/DatePicker/DatePicker.js +208 -241
- package/cjs/DatePicker/Toolbar.js +5 -22
- package/cjs/DatePicker/utils.d.ts +5 -1
- package/cjs/DatePicker/utils.js +17 -1
- package/cjs/DateRangeInput/DateRangeInput.d.ts +29 -0
- package/cjs/DateRangeInput/DateRangeInput.js +244 -0
- package/cjs/DateRangeInput/index.d.ts +3 -0
- package/cjs/DateRangeInput/index.js +9 -0
- package/cjs/DateRangeInput/utils.d.ts +61 -0
- package/cjs/DateRangeInput/utils.js +146 -0
- package/cjs/DateRangePicker/Calendar.js +24 -23
- package/cjs/DateRangePicker/DateRangePicker.d.ts +18 -4
- package/cjs/DateRangePicker/DateRangePicker.js +251 -203
- package/cjs/DateRangePicker/types.d.ts +11 -3
- package/cjs/DateRangePicker/utils.d.ts +2 -1
- package/cjs/DateRangePicker/utils.js +7 -5
- package/cjs/FormControl/FormControl.d.ts +11 -1
- package/cjs/FormControl/FormControl.js +6 -5
- package/cjs/Input/Input.d.ts +11 -0
- package/cjs/Input/Input.js +11 -8
- package/cjs/InputPicker/InputPicker.js +62 -63
- package/cjs/MultiCascader/MultiCascader.js +40 -42
- package/cjs/Overlay/OverlayTrigger.d.ts +3 -0
- package/cjs/Overlay/OverlayTrigger.js +5 -0
- package/cjs/Picker/PickerIndicator.d.ts +10 -0
- package/cjs/Picker/PickerIndicator.js +49 -0
- package/cjs/Picker/PickerLabel.d.ts +9 -0
- package/cjs/Picker/PickerLabel.js +23 -0
- package/cjs/Picker/PickerToggle.d.ts +17 -22
- package/cjs/Picker/PickerToggle.js +52 -177
- package/cjs/Picker/index.d.ts +3 -0
- package/cjs/Picker/index.js +10 -1
- package/cjs/Picker/usePickerRef.d.ts +19 -0
- package/cjs/Picker/usePickerRef.js +88 -0
- package/cjs/Picker/utils.d.ts +5 -9
- package/cjs/Picker/utils.js +22 -89
- package/cjs/SelectPicker/SelectPicker.d.ts +2 -2
- package/cjs/SelectPicker/SelectPicker.js +39 -42
- package/cjs/TreePicker/TreePicker.js +72 -75
- package/cjs/index.d.ts +2 -0
- package/cjs/index.js +3 -1
- package/cjs/locales/index.d.ts +2 -2
- package/cjs/utils/constants.d.ts +2 -1
- package/cjs/utils/constants.js +1 -0
- package/cjs/utils/dateUtils.d.ts +0 -1
- package/cjs/utils/dateUtils.js +0 -6
- package/cjs/utils/getStringLength.d.ts +2 -0
- package/cjs/utils/getStringLength.js +18 -0
- package/cjs/utils/index.d.ts +3 -0
- package/cjs/utils/index.js +11 -2
- package/cjs/utils/useCustom.js +1 -1
- package/cjs/utils/useIsomorphicLayoutEffect.d.ts +3 -0
- package/cjs/utils/useIsomorphicLayoutEffect.js +9 -0
- package/dist/rsuite-no-reset-rtl.css +140 -207
- 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 +140 -207
- package/dist/rsuite-no-reset.min.css +1 -1
- package/dist/rsuite-no-reset.min.css.map +1 -1
- package/dist/rsuite-rtl.css +140 -75
- package/dist/rsuite-rtl.min.css +1 -1
- package/dist/rsuite-rtl.min.css.map +1 -1
- package/dist/rsuite.css +140 -75
- package/dist/rsuite.js +4833 -258
- 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/AutoComplete/AutoComplete.js +28 -29
- package/esm/Calendar/Calendar.d.ts +5 -1
- package/esm/Calendar/CalendarContainer.d.ts +7 -1
- package/esm/Calendar/CalendarContainer.js +12 -5
- package/esm/Calendar/CalendarHeader.js +2 -0
- package/esm/Calendar/MonthDropdown.js +7 -2
- package/esm/Calendar/MonthDropdownItem.js +2 -2
- package/esm/Calendar/Table.js +6 -1
- package/esm/Calendar/TimeDropdown.js +17 -10
- package/esm/Calendar/types.d.ts +1 -0
- package/esm/Cascader/Cascader.js +49 -51
- package/esm/CheckPicker/CheckPicker.d.ts +2 -2
- package/esm/CheckPicker/CheckPicker.js +36 -39
- package/esm/CheckTreePicker/CheckTreePicker.js +64 -67
- package/esm/CustomProvider/CustomProvider.d.ts +13 -0
- package/esm/CustomProvider/CustomProvider.js +3 -3
- package/esm/DateInput/DateField.d.ts +9 -31
- package/esm/DateInput/DateField.js +61 -12
- package/esm/DateInput/DateInput.d.ts +7 -2
- package/esm/DateInput/DateInput.js +77 -95
- package/esm/DateInput/index.d.ts +4 -0
- package/esm/DateInput/index.js +4 -0
- package/esm/DateInput/useDateInputState.d.ts +7 -31
- package/esm/DateInput/useDateInputState.js +41 -18
- package/esm/DateInput/useIsFocused.d.ts +7 -0
- package/esm/DateInput/useIsFocused.js +22 -0
- package/esm/DateInput/useKeyboardInputEvent.d.ts +10 -0
- package/esm/DateInput/useKeyboardInputEvent.js +38 -0
- package/esm/DateInput/utils.d.ts +23 -1
- package/esm/DateInput/utils.js +150 -51
- package/esm/DatePicker/DatePicker.d.ts +25 -8
- package/esm/DatePicker/DatePicker.js +211 -244
- package/esm/DatePicker/Toolbar.js +5 -22
- package/esm/DatePicker/utils.d.ts +5 -1
- package/esm/DatePicker/utils.js +16 -1
- package/esm/DateRangeInput/DateRangeInput.d.ts +29 -0
- package/esm/DateRangeInput/DateRangeInput.js +237 -0
- package/esm/DateRangeInput/index.d.ts +3 -0
- package/esm/DateRangeInput/index.js +3 -0
- package/esm/DateRangeInput/utils.d.ts +61 -0
- package/esm/DateRangeInput/utils.js +137 -0
- package/esm/DateRangePicker/Calendar.js +25 -23
- package/esm/DateRangePicker/DateRangePicker.d.ts +18 -4
- package/esm/DateRangePicker/DateRangePicker.js +253 -205
- package/esm/DateRangePicker/types.d.ts +11 -3
- package/esm/DateRangePicker/utils.d.ts +2 -1
- package/esm/DateRangePicker/utils.js +7 -5
- package/esm/FormControl/FormControl.d.ts +11 -1
- package/esm/FormControl/FormControl.js +4 -3
- package/esm/Input/Input.d.ts +11 -0
- package/esm/Input/Input.js +12 -9
- package/esm/InputPicker/InputPicker.js +64 -65
- package/esm/MultiCascader/MultiCascader.js +43 -45
- package/esm/Overlay/OverlayTrigger.d.ts +3 -0
- package/esm/Overlay/OverlayTrigger.js +5 -0
- package/esm/Picker/PickerIndicator.d.ts +10 -0
- package/esm/Picker/PickerIndicator.js +43 -0
- package/esm/Picker/PickerLabel.d.ts +9 -0
- package/esm/Picker/PickerLabel.js +17 -0
- package/esm/Picker/PickerToggle.d.ts +17 -22
- package/esm/Picker/PickerToggle.js +54 -179
- package/esm/Picker/index.d.ts +3 -0
- package/esm/Picker/index.js +3 -0
- package/esm/Picker/usePickerRef.d.ts +19 -0
- package/esm/Picker/usePickerRef.js +82 -0
- package/esm/Picker/utils.d.ts +5 -9
- package/esm/Picker/utils.js +24 -90
- package/esm/SelectPicker/SelectPicker.d.ts +2 -2
- package/esm/SelectPicker/SelectPicker.js +42 -45
- package/esm/TreePicker/TreePicker.js +75 -78
- package/esm/index.d.ts +2 -0
- package/esm/index.js +1 -0
- package/esm/locales/index.d.ts +2 -2
- package/esm/utils/constants.d.ts +2 -1
- package/esm/utils/constants.js +1 -0
- package/esm/utils/dateUtils.d.ts +0 -1
- package/esm/utils/dateUtils.js +0 -5
- package/esm/utils/getStringLength.d.ts +2 -0
- package/esm/utils/getStringLength.js +13 -0
- package/esm/utils/index.d.ts +3 -0
- package/esm/utils/index.js +4 -1
- package/esm/utils/useCustom.js +2 -2
- package/esm/utils/useIsomorphicLayoutEffect.d.ts +3 -0
- package/esm/utils/useIsomorphicLayoutEffect.js +4 -0
- package/package.json +1 -1
- package/styles/color-modes/dark.less +1 -0
- package/styles/color-modes/high-contrast.less +1 -0
- package/styles/color-modes/light.less +1 -0
- package/styles/mixins/combobox.less +10 -0
- package/styles/normalize.less +230 -231
|
@@ -1,7 +1,7 @@
|
|
|
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, { useState,
|
|
4
|
+
import React, { useState, useCallback } from 'react';
|
|
5
5
|
import PropTypes from 'prop-types';
|
|
6
6
|
import pick from 'lodash/pick';
|
|
7
7
|
import omit from 'lodash/omit';
|
|
@@ -12,8 +12,8 @@ import Checkbox from '../Checkbox';
|
|
|
12
12
|
import { useCascadeValue, useColumnData, useFlattenData, isSomeChildChecked } from './utils';
|
|
13
13
|
import { getNodeParents, findNodeOfTree } from '../utils/treeUtils';
|
|
14
14
|
import { getColumnsAndPaths } from '../Cascader/utils';
|
|
15
|
-
import { createChainedFunction, mergeRefs, getSafeRegExpString, useClassNames, useCustom, useUpdateEffect, useControlled } from '../utils';
|
|
16
|
-
import { PickerToggle, PickerOverlay, SearchBar, SelectedElement, PickerToggleTrigger, usePickerClassName,
|
|
15
|
+
import { createChainedFunction, mergeRefs, getSafeRegExpString, useClassNames, useCustom, useUpdateEffect, useControlled, useEventCallback } from '../utils';
|
|
16
|
+
import { PickerToggle, PickerOverlay, SearchBar, SelectedElement, PickerToggleTrigger, usePickerClassName, usePickerRef, useToggleKeyDownEvent, useFocusItemValue, pickTriggerPropKeys, omitTriggerPropKeys, listPickerPropTypes } from '../Picker';
|
|
17
17
|
var emptyArray = [];
|
|
18
18
|
|
|
19
19
|
/**
|
|
@@ -114,15 +114,12 @@ var MultiCascader = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
114
114
|
var _useState2 = useState(),
|
|
115
115
|
selectedPaths = _useState2[0],
|
|
116
116
|
setSelectedPaths = _useState2[1];
|
|
117
|
-
var
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
overlayRef: overlayRef,
|
|
124
|
-
targetRef: targetRef
|
|
125
|
-
});
|
|
117
|
+
var _usePickerRef = usePickerRef(ref),
|
|
118
|
+
trigger = _usePickerRef.trigger,
|
|
119
|
+
root = _usePickerRef.root,
|
|
120
|
+
target = _usePickerRef.target,
|
|
121
|
+
overlay = _usePickerRef.overlay,
|
|
122
|
+
searchInput = _usePickerRef.searchInput;
|
|
126
123
|
var _useCustom = useCustom('Picker', overrideLocale),
|
|
127
124
|
locale = _useCustom.locale,
|
|
128
125
|
rtl = _useCustom.rtl;
|
|
@@ -139,7 +136,7 @@ var MultiCascader = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
139
136
|
valueKey: valueKey,
|
|
140
137
|
defaultLayer: selectedPaths !== null && selectedPaths !== void 0 && selectedPaths.length ? selectedPaths.length - 1 : 0,
|
|
141
138
|
target: function target() {
|
|
142
|
-
return
|
|
139
|
+
return overlay.current;
|
|
143
140
|
},
|
|
144
141
|
callback: useCallback(function (value) {
|
|
145
142
|
var _getColumnsAndPaths = getColumnsAndPaths(data, flattenData.find(function (item) {
|
|
@@ -173,16 +170,16 @@ var MultiCascader = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
173
170
|
var _useState3 = useState(''),
|
|
174
171
|
searchKeyword = _useState3[0],
|
|
175
172
|
setSearchKeyword = _useState3[1];
|
|
176
|
-
var handleEntered =
|
|
173
|
+
var handleEntered = useEventCallback(function () {
|
|
177
174
|
onOpen === null || onOpen === void 0 ? void 0 : onOpen();
|
|
178
175
|
setActive(true);
|
|
179
|
-
}
|
|
180
|
-
var handleExited =
|
|
176
|
+
});
|
|
177
|
+
var handleExited = useEventCallback(function () {
|
|
181
178
|
setActive(false);
|
|
182
179
|
setSearchKeyword('');
|
|
183
|
-
}
|
|
184
|
-
var handleSelect =
|
|
185
|
-
var _node$childrenKey, _node$childrenKey2,
|
|
180
|
+
});
|
|
181
|
+
var handleSelect = useEventCallback(function (node, cascadePaths, event) {
|
|
182
|
+
var _node$childrenKey, _node$childrenKey2, _trigger$current, _trigger$current$upda;
|
|
186
183
|
setSelectedPaths(cascadePaths);
|
|
187
184
|
onSelect === null || onSelect === void 0 ? void 0 : onSelect(node, cascadePaths, event);
|
|
188
185
|
var columnIndex = cascadePaths.length;
|
|
@@ -195,7 +192,7 @@ var MultiCascader = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
195
192
|
children.then(function (data) {
|
|
196
193
|
node.loading = false;
|
|
197
194
|
node[childrenKey] = data;
|
|
198
|
-
if (
|
|
195
|
+
if (target.current || inline) {
|
|
199
196
|
addFlattenData(data, node);
|
|
200
197
|
addColumn(data, columnIndex);
|
|
201
198
|
}
|
|
@@ -212,9 +209,9 @@ var MultiCascader = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
212
209
|
// Removes subsequent columns of the current column when the clicked node is a leaf node.
|
|
213
210
|
removeColumnByIndex(columnIndex);
|
|
214
211
|
}
|
|
215
|
-
(
|
|
216
|
-
}
|
|
217
|
-
var handleCheck =
|
|
212
|
+
(_trigger$current = trigger.current) === null || _trigger$current === void 0 ? void 0 : (_trigger$current$upda = _trigger$current.updatePosition) === null || _trigger$current$upda === void 0 ? void 0 : _trigger$current$upda.call(_trigger$current);
|
|
213
|
+
});
|
|
214
|
+
var handleCheck = useEventCallback(function (node, event, checked) {
|
|
218
215
|
var nodeValue = node[valueKey];
|
|
219
216
|
var nextValue = [];
|
|
220
217
|
if (cascade) {
|
|
@@ -232,38 +229,38 @@ var MultiCascader = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
232
229
|
setValue(nextValue);
|
|
233
230
|
onChange === null || onChange === void 0 ? void 0 : onChange(nextValue, event);
|
|
234
231
|
onCheck === null || onCheck === void 0 ? void 0 : onCheck(nextValue, node, checked, event);
|
|
235
|
-
}
|
|
236
|
-
var handleClean =
|
|
237
|
-
if (disabled || !
|
|
232
|
+
});
|
|
233
|
+
var handleClean = useEventCallback(function (event) {
|
|
234
|
+
if (disabled || !target.current) {
|
|
238
235
|
return;
|
|
239
236
|
}
|
|
240
237
|
setSelectedPaths([]);
|
|
241
238
|
setValue([]);
|
|
242
239
|
setColumnData([data]);
|
|
243
240
|
onChange === null || onChange === void 0 ? void 0 : onChange([], event);
|
|
244
|
-
}
|
|
245
|
-
var handleMenuPressEnter =
|
|
246
|
-
var
|
|
241
|
+
});
|
|
242
|
+
var handleMenuPressEnter = useEventCallback(function (event) {
|
|
243
|
+
var _overlay$current;
|
|
247
244
|
var focusItem = findNodeOfTree(data, function (item) {
|
|
248
245
|
return item[valueKey] === focusItemValue;
|
|
249
246
|
});
|
|
250
|
-
var checkbox = (
|
|
247
|
+
var checkbox = (_overlay$current = overlay.current) === null || _overlay$current === void 0 ? void 0 : _overlay$current.querySelector("[data-key=\"" + focusItemValue + "\"] [type=\"checkbox\"]");
|
|
251
248
|
if (checkbox) {
|
|
252
249
|
handleCheck(focusItem, event, (checkbox === null || checkbox === void 0 ? void 0 : checkbox.getAttribute('aria-checked')) !== 'true');
|
|
253
250
|
}
|
|
254
|
-
}
|
|
251
|
+
});
|
|
255
252
|
var onPickerKeyDown = useToggleKeyDownEvent(_extends({
|
|
256
253
|
toggle: !focusItemValue || !active,
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
254
|
+
trigger: trigger,
|
|
255
|
+
target: target,
|
|
256
|
+
overlay: overlay,
|
|
257
|
+
searchInput: searchInput,
|
|
261
258
|
active: active,
|
|
262
259
|
onExit: handleClean,
|
|
263
260
|
onMenuKeyDown: onFocusItem,
|
|
264
261
|
onMenuPressEnter: handleMenuPressEnter
|
|
265
262
|
}, rest));
|
|
266
|
-
var handleSearch =
|
|
263
|
+
var handleSearch = useEventCallback(function (value, event) {
|
|
267
264
|
setSearchKeyword(value);
|
|
268
265
|
onSearch === null || onSearch === void 0 ? void 0 : onSearch(value, event);
|
|
269
266
|
if (value) {
|
|
@@ -272,8 +269,8 @@ var MultiCascader = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
272
269
|
setLayer(selectedPaths.length - 1);
|
|
273
270
|
}
|
|
274
271
|
setKeys([]);
|
|
275
|
-
}
|
|
276
|
-
var getSearchResult =
|
|
272
|
+
});
|
|
273
|
+
var getSearchResult = function getSearchResult() {
|
|
277
274
|
var items = [];
|
|
278
275
|
var result = flattenData.filter(function (item) {
|
|
279
276
|
if (uncheckableItemValues.some(function (value) {
|
|
@@ -295,7 +292,7 @@ var MultiCascader = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
295
292
|
}
|
|
296
293
|
}
|
|
297
294
|
return items;
|
|
298
|
-
}
|
|
295
|
+
};
|
|
299
296
|
var renderSearchRow = function renderSearchRow(item, key) {
|
|
300
297
|
var _extends2;
|
|
301
298
|
var nodes = getNodeParents(item);
|
|
@@ -380,16 +377,16 @@ var MultiCascader = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
380
377
|
inline: inline
|
|
381
378
|
}));
|
|
382
379
|
return /*#__PURE__*/React.createElement(PickerOverlay, {
|
|
383
|
-
ref: mergeRefs(
|
|
380
|
+
ref: mergeRefs(overlay, speakerRef),
|
|
384
381
|
className: classes,
|
|
385
382
|
style: styles,
|
|
386
|
-
target:
|
|
383
|
+
target: trigger,
|
|
387
384
|
onKeyDown: onPickerKeyDown
|
|
388
385
|
}, searchable && /*#__PURE__*/React.createElement(SearchBar, {
|
|
389
386
|
placeholder: locale === null || locale === void 0 ? void 0 : locale.searchPlaceholder,
|
|
390
387
|
onChange: handleSearch,
|
|
391
388
|
value: searchKeyword,
|
|
392
|
-
inputRef:
|
|
389
|
+
inputRef: searchInput
|
|
393
390
|
}), renderSearchResultPanel(), searchKeyword === '' && /*#__PURE__*/React.createElement(DropdownMenu, {
|
|
394
391
|
id: id ? id + "-listbox" : undefined,
|
|
395
392
|
cascade: cascade,
|
|
@@ -445,7 +442,7 @@ var MultiCascader = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
445
442
|
}
|
|
446
443
|
return /*#__PURE__*/React.createElement(PickerToggleTrigger, {
|
|
447
444
|
pickerProps: pick(props, pickTriggerPropKeys),
|
|
448
|
-
ref:
|
|
445
|
+
ref: trigger,
|
|
449
446
|
placement: placement,
|
|
450
447
|
onEnter: createChainedFunction(handleEntered, onEnter),
|
|
451
448
|
onExited: createChainedFunction(handleExited, onExited),
|
|
@@ -453,13 +450,14 @@ var MultiCascader = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
453
450
|
speaker: renderDropdownMenu
|
|
454
451
|
}, /*#__PURE__*/React.createElement(Component, {
|
|
455
452
|
className: classes,
|
|
456
|
-
style: style
|
|
453
|
+
style: style,
|
|
454
|
+
ref: root
|
|
457
455
|
}, /*#__PURE__*/React.createElement(PickerToggle, _extends({}, omit(rest, [].concat(omitTriggerPropKeys, usedClassNamePropKeys)), {
|
|
458
456
|
id: id,
|
|
459
457
|
as: toggleAs,
|
|
460
458
|
appearance: appearance,
|
|
461
459
|
disabled: disabled,
|
|
462
|
-
ref:
|
|
460
|
+
ref: target,
|
|
463
461
|
onClean: createChainedFunction(handleClean, onClean),
|
|
464
462
|
onKeyDown: onPickerKeyDown,
|
|
465
463
|
cleanable: cleanable && !disabled,
|
|
@@ -77,6 +77,9 @@ export interface OverlayTriggerHandle {
|
|
|
77
77
|
updatePosition: () => void;
|
|
78
78
|
open: (delay?: number) => void;
|
|
79
79
|
close: (delay?: number) => void;
|
|
80
|
+
getState: () => {
|
|
81
|
+
open?: boolean;
|
|
82
|
+
};
|
|
80
83
|
}
|
|
81
84
|
/**
|
|
82
85
|
* OverlayTrigger is used to display floating elements on another component.
|
|
@@ -165,6 +165,11 @@ var OverlayTrigger = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
165
165
|
var _overlayRef$current;
|
|
166
166
|
return (_overlayRef$current = overlayRef.current) === null || _overlayRef$current === void 0 ? void 0 : _overlayRef$current.child;
|
|
167
167
|
},
|
|
168
|
+
getState: function getState() {
|
|
169
|
+
return {
|
|
170
|
+
open: open
|
|
171
|
+
};
|
|
172
|
+
},
|
|
168
173
|
open: handleOpen,
|
|
169
174
|
close: function close(delay) {
|
|
170
175
|
return handleClose(delay, function () {
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
interface PickerIndicatorProps {
|
|
3
|
+
loading?: boolean;
|
|
4
|
+
caretAs?: React.ElementType | null;
|
|
5
|
+
onClose?: (event: React.MouseEvent<HTMLElement>) => void;
|
|
6
|
+
showCleanButton?: boolean;
|
|
7
|
+
as?: React.ElementType;
|
|
8
|
+
}
|
|
9
|
+
declare const PickerIndicator: ({ loading, caretAs, onClose, showCleanButton, as: Component }: PickerIndicatorProps) => JSX.Element;
|
|
10
|
+
export default PickerIndicator;
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
import React from 'react';
|
|
3
|
+
import { Icon } from '@rsuite/icons';
|
|
4
|
+
import { useCustom, useClassNames } from '../utils';
|
|
5
|
+
import InputGroup from '../InputGroup';
|
|
6
|
+
import CloseButton from '../CloseButton';
|
|
7
|
+
import Loader from '../Loader';
|
|
8
|
+
var PickerIndicator = function PickerIndicator(_ref) {
|
|
9
|
+
var loading = _ref.loading,
|
|
10
|
+
caretAs = _ref.caretAs,
|
|
11
|
+
onClose = _ref.onClose,
|
|
12
|
+
showCleanButton = _ref.showCleanButton,
|
|
13
|
+
_ref$as = _ref.as,
|
|
14
|
+
Component = _ref$as === void 0 ? InputGroup.Addon : _ref$as;
|
|
15
|
+
var _useCustom = useCustom(),
|
|
16
|
+
locale = _useCustom.locale;
|
|
17
|
+
var _useClassNames = useClassNames('picker'),
|
|
18
|
+
prefix = _useClassNames.prefix;
|
|
19
|
+
var addon = function addon() {
|
|
20
|
+
if (loading) {
|
|
21
|
+
return /*#__PURE__*/React.createElement(Loader, {
|
|
22
|
+
className: prefix('loader'),
|
|
23
|
+
"data-testid": "spinner"
|
|
24
|
+
});
|
|
25
|
+
}
|
|
26
|
+
if (showCleanButton) {
|
|
27
|
+
return /*#__PURE__*/React.createElement(CloseButton, {
|
|
28
|
+
className: prefix('clean'),
|
|
29
|
+
tabIndex: -1,
|
|
30
|
+
locale: {
|
|
31
|
+
closeLabel: locale === null || locale === void 0 ? void 0 : locale.clear
|
|
32
|
+
},
|
|
33
|
+
onClick: onClose
|
|
34
|
+
});
|
|
35
|
+
}
|
|
36
|
+
return caretAs && /*#__PURE__*/React.createElement(Icon, {
|
|
37
|
+
as: caretAs,
|
|
38
|
+
className: prefix('caret-icon')
|
|
39
|
+
});
|
|
40
|
+
};
|
|
41
|
+
return /*#__PURE__*/React.createElement(Component, null, addon());
|
|
42
|
+
};
|
|
43
|
+
export default PickerIndicator;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
interface PickerLabelProps {
|
|
3
|
+
id?: string;
|
|
4
|
+
className?: string;
|
|
5
|
+
children?: React.ReactNode;
|
|
6
|
+
as?: React.ElementType;
|
|
7
|
+
}
|
|
8
|
+
declare const PickerLabel: ({ children, className, as: Component, ...rest }: PickerLabelProps) => JSX.Element | null;
|
|
9
|
+
export default PickerLabel;
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
3
|
+
import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
|
|
4
|
+
import React from 'react';
|
|
5
|
+
import InputGroup from '../InputGroup';
|
|
6
|
+
var PickerLabel = function PickerLabel(_ref) {
|
|
7
|
+
var children = _ref.children,
|
|
8
|
+
className = _ref.className,
|
|
9
|
+
_ref$as = _ref.as,
|
|
10
|
+
Component = _ref$as === void 0 ? InputGroup.Addon : _ref$as,
|
|
11
|
+
rest = _objectWithoutPropertiesLoose(_ref, ["children", "className", "as"]);
|
|
12
|
+
return children ? /*#__PURE__*/React.createElement(Component, _extends({
|
|
13
|
+
"data-testid": "picker-label",
|
|
14
|
+
className: className
|
|
15
|
+
}, rest), children) : null;
|
|
16
|
+
};
|
|
17
|
+
export default PickerLabel;
|
|
@@ -4,38 +4,33 @@ import { RsRefForwardingComponent, TypeAttributes } from '../@types/common';
|
|
|
4
4
|
import { IconProps } from '@rsuite/icons/lib/Icon';
|
|
5
5
|
declare type ValueType = string | number;
|
|
6
6
|
export interface PickerToggleProps extends ToggleButtonProps {
|
|
7
|
-
|
|
8
|
-
inputValue?: ValueType | ValueType[];
|
|
9
|
-
id?: string;
|
|
7
|
+
active?: boolean;
|
|
10
8
|
hasValue?: boolean;
|
|
11
9
|
cleanable?: boolean;
|
|
12
10
|
caret?: boolean;
|
|
13
|
-
active?: boolean;
|
|
14
|
-
disabled?: boolean;
|
|
15
|
-
readOnly?: boolean;
|
|
16
|
-
plaintext?: boolean;
|
|
17
|
-
tabIndex?: number;
|
|
18
|
-
/** Whether to display an loading indicator on toggle button */
|
|
19
|
-
loading?: boolean;
|
|
20
|
-
editable?: boolean;
|
|
21
|
-
name?: string;
|
|
22
|
-
inputPlaceholder?: string;
|
|
23
|
-
inputMask?: (string | RegExp)[];
|
|
24
|
-
onInputChange?: (value: string, event: React.ChangeEvent) => void;
|
|
25
|
-
onInputPressEnter?: (event: React.KeyboardEvent<HTMLInputElement>) => void;
|
|
26
|
-
onInputBackspace?: (event: React.KeyboardEvent<HTMLInputElement>) => void;
|
|
27
|
-
onInputBlur?: (event: React.FocusEvent<HTMLElement>) => void;
|
|
28
|
-
onInputFocus?: (event: React.FocusEvent<HTMLElement>) => void;
|
|
29
|
-
placement?: TypeAttributes.Placement;
|
|
30
11
|
/**
|
|
31
12
|
* Custom caret component
|
|
32
13
|
* @deprecated Use `caretAs` instead
|
|
33
14
|
*/
|
|
34
15
|
caretComponent?: React.FC<IconProps>;
|
|
35
|
-
/**
|
|
16
|
+
/**
|
|
17
|
+
* Custom caret component
|
|
18
|
+
*/
|
|
36
19
|
caretAs?: React.ElementType;
|
|
37
|
-
|
|
20
|
+
disabled?: boolean;
|
|
21
|
+
placement?: TypeAttributes.Placement;
|
|
22
|
+
readOnly?: boolean;
|
|
23
|
+
plaintext?: boolean;
|
|
24
|
+
tabIndex?: number;
|
|
25
|
+
/**
|
|
26
|
+
* Whether to display an loading indicator on toggle button
|
|
27
|
+
*/
|
|
28
|
+
loading?: boolean;
|
|
38
29
|
label?: React.ReactNode;
|
|
30
|
+
name?: string;
|
|
31
|
+
id?: string;
|
|
32
|
+
inputValue?: ValueType | ValueType[];
|
|
33
|
+
onClean?: (event: React.MouseEvent) => void;
|
|
39
34
|
}
|
|
40
35
|
declare const PickerToggle: RsRefForwardingComponent<typeof ToggleButton, PickerToggleProps>;
|
|
41
36
|
export default PickerToggle;
|