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
|
@@ -120,15 +120,12 @@ var MultiCascader = /*#__PURE__*/_react.default.forwardRef(function (props, ref)
|
|
|
120
120
|
var _useState2 = (0, _react.useState)(),
|
|
121
121
|
selectedPaths = _useState2[0],
|
|
122
122
|
setSelectedPaths = _useState2[1];
|
|
123
|
-
var
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
overlayRef: overlayRef,
|
|
130
|
-
targetRef: targetRef
|
|
131
|
-
});
|
|
123
|
+
var _usePickerRef = (0, _Picker.usePickerRef)(ref),
|
|
124
|
+
trigger = _usePickerRef.trigger,
|
|
125
|
+
root = _usePickerRef.root,
|
|
126
|
+
target = _usePickerRef.target,
|
|
127
|
+
overlay = _usePickerRef.overlay,
|
|
128
|
+
searchInput = _usePickerRef.searchInput;
|
|
132
129
|
var _useCustom = (0, _utils3.useCustom)('Picker', overrideLocale),
|
|
133
130
|
locale = _useCustom.locale,
|
|
134
131
|
rtl = _useCustom.rtl;
|
|
@@ -145,7 +142,7 @@ var MultiCascader = /*#__PURE__*/_react.default.forwardRef(function (props, ref)
|
|
|
145
142
|
valueKey: valueKey,
|
|
146
143
|
defaultLayer: selectedPaths !== null && selectedPaths !== void 0 && selectedPaths.length ? selectedPaths.length - 1 : 0,
|
|
147
144
|
target: function target() {
|
|
148
|
-
return
|
|
145
|
+
return overlay.current;
|
|
149
146
|
},
|
|
150
147
|
callback: (0, _react.useCallback)(function (value) {
|
|
151
148
|
var _getColumnsAndPaths = (0, _utils2.getColumnsAndPaths)(data, flattenData.find(function (item) {
|
|
@@ -179,16 +176,16 @@ var MultiCascader = /*#__PURE__*/_react.default.forwardRef(function (props, ref)
|
|
|
179
176
|
var _useState3 = (0, _react.useState)(''),
|
|
180
177
|
searchKeyword = _useState3[0],
|
|
181
178
|
setSearchKeyword = _useState3[1];
|
|
182
|
-
var handleEntered = (0,
|
|
179
|
+
var handleEntered = (0, _utils3.useEventCallback)(function () {
|
|
183
180
|
onOpen === null || onOpen === void 0 ? void 0 : onOpen();
|
|
184
181
|
setActive(true);
|
|
185
|
-
}
|
|
186
|
-
var handleExited = (0,
|
|
182
|
+
});
|
|
183
|
+
var handleExited = (0, _utils3.useEventCallback)(function () {
|
|
187
184
|
setActive(false);
|
|
188
185
|
setSearchKeyword('');
|
|
189
|
-
}
|
|
190
|
-
var handleSelect = (0,
|
|
191
|
-
var _node$childrenKey, _node$childrenKey2,
|
|
186
|
+
});
|
|
187
|
+
var handleSelect = (0, _utils3.useEventCallback)(function (node, cascadePaths, event) {
|
|
188
|
+
var _node$childrenKey, _node$childrenKey2, _trigger$current, _trigger$current$upda;
|
|
192
189
|
setSelectedPaths(cascadePaths);
|
|
193
190
|
onSelect === null || onSelect === void 0 ? void 0 : onSelect(node, cascadePaths, event);
|
|
194
191
|
var columnIndex = cascadePaths.length;
|
|
@@ -201,7 +198,7 @@ var MultiCascader = /*#__PURE__*/_react.default.forwardRef(function (props, ref)
|
|
|
201
198
|
children.then(function (data) {
|
|
202
199
|
node.loading = false;
|
|
203
200
|
node[childrenKey] = data;
|
|
204
|
-
if (
|
|
201
|
+
if (target.current || inline) {
|
|
205
202
|
addFlattenData(data, node);
|
|
206
203
|
addColumn(data, columnIndex);
|
|
207
204
|
}
|
|
@@ -218,9 +215,9 @@ var MultiCascader = /*#__PURE__*/_react.default.forwardRef(function (props, ref)
|
|
|
218
215
|
// Removes subsequent columns of the current column when the clicked node is a leaf node.
|
|
219
216
|
removeColumnByIndex(columnIndex);
|
|
220
217
|
}
|
|
221
|
-
(
|
|
222
|
-
}
|
|
223
|
-
var handleCheck = (0,
|
|
218
|
+
(_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);
|
|
219
|
+
});
|
|
220
|
+
var handleCheck = (0, _utils3.useEventCallback)(function (node, event, checked) {
|
|
224
221
|
var nodeValue = node[valueKey];
|
|
225
222
|
var nextValue = [];
|
|
226
223
|
if (cascade) {
|
|
@@ -238,38 +235,38 @@ var MultiCascader = /*#__PURE__*/_react.default.forwardRef(function (props, ref)
|
|
|
238
235
|
setValue(nextValue);
|
|
239
236
|
onChange === null || onChange === void 0 ? void 0 : onChange(nextValue, event);
|
|
240
237
|
onCheck === null || onCheck === void 0 ? void 0 : onCheck(nextValue, node, checked, event);
|
|
241
|
-
}
|
|
242
|
-
var handleClean = (0,
|
|
243
|
-
if (disabled || !
|
|
238
|
+
});
|
|
239
|
+
var handleClean = (0, _utils3.useEventCallback)(function (event) {
|
|
240
|
+
if (disabled || !target.current) {
|
|
244
241
|
return;
|
|
245
242
|
}
|
|
246
243
|
setSelectedPaths([]);
|
|
247
244
|
setValue([]);
|
|
248
245
|
setColumnData([data]);
|
|
249
246
|
onChange === null || onChange === void 0 ? void 0 : onChange([], event);
|
|
250
|
-
}
|
|
251
|
-
var handleMenuPressEnter = (0,
|
|
252
|
-
var
|
|
247
|
+
});
|
|
248
|
+
var handleMenuPressEnter = (0, _utils3.useEventCallback)(function (event) {
|
|
249
|
+
var _overlay$current;
|
|
253
250
|
var focusItem = (0, _treeUtils.findNodeOfTree)(data, function (item) {
|
|
254
251
|
return item[valueKey] === focusItemValue;
|
|
255
252
|
});
|
|
256
|
-
var checkbox = (
|
|
253
|
+
var checkbox = (_overlay$current = overlay.current) === null || _overlay$current === void 0 ? void 0 : _overlay$current.querySelector("[data-key=\"" + focusItemValue + "\"] [type=\"checkbox\"]");
|
|
257
254
|
if (checkbox) {
|
|
258
255
|
handleCheck(focusItem, event, (checkbox === null || checkbox === void 0 ? void 0 : checkbox.getAttribute('aria-checked')) !== 'true');
|
|
259
256
|
}
|
|
260
|
-
}
|
|
257
|
+
});
|
|
261
258
|
var onPickerKeyDown = (0, _Picker.useToggleKeyDownEvent)((0, _extends3.default)({
|
|
262
259
|
toggle: !focusItemValue || !active,
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
260
|
+
trigger: trigger,
|
|
261
|
+
target: target,
|
|
262
|
+
overlay: overlay,
|
|
263
|
+
searchInput: searchInput,
|
|
267
264
|
active: active,
|
|
268
265
|
onExit: handleClean,
|
|
269
266
|
onMenuKeyDown: onFocusItem,
|
|
270
267
|
onMenuPressEnter: handleMenuPressEnter
|
|
271
268
|
}, rest));
|
|
272
|
-
var handleSearch = (0,
|
|
269
|
+
var handleSearch = (0, _utils3.useEventCallback)(function (value, event) {
|
|
273
270
|
setSearchKeyword(value);
|
|
274
271
|
onSearch === null || onSearch === void 0 ? void 0 : onSearch(value, event);
|
|
275
272
|
if (value) {
|
|
@@ -278,8 +275,8 @@ var MultiCascader = /*#__PURE__*/_react.default.forwardRef(function (props, ref)
|
|
|
278
275
|
setLayer(selectedPaths.length - 1);
|
|
279
276
|
}
|
|
280
277
|
setKeys([]);
|
|
281
|
-
}
|
|
282
|
-
var getSearchResult =
|
|
278
|
+
});
|
|
279
|
+
var getSearchResult = function getSearchResult() {
|
|
283
280
|
var items = [];
|
|
284
281
|
var result = flattenData.filter(function (item) {
|
|
285
282
|
if (uncheckableItemValues.some(function (value) {
|
|
@@ -301,7 +298,7 @@ var MultiCascader = /*#__PURE__*/_react.default.forwardRef(function (props, ref)
|
|
|
301
298
|
}
|
|
302
299
|
}
|
|
303
300
|
return items;
|
|
304
|
-
}
|
|
301
|
+
};
|
|
305
302
|
var renderSearchRow = function renderSearchRow(item, key) {
|
|
306
303
|
var _extends2;
|
|
307
304
|
var nodes = (0, _treeUtils.getNodeParents)(item);
|
|
@@ -386,16 +383,16 @@ var MultiCascader = /*#__PURE__*/_react.default.forwardRef(function (props, ref)
|
|
|
386
383
|
inline: inline
|
|
387
384
|
}));
|
|
388
385
|
return /*#__PURE__*/_react.default.createElement(_Picker.PickerOverlay, {
|
|
389
|
-
ref: (0, _utils3.mergeRefs)(
|
|
386
|
+
ref: (0, _utils3.mergeRefs)(overlay, speakerRef),
|
|
390
387
|
className: classes,
|
|
391
388
|
style: styles,
|
|
392
|
-
target:
|
|
389
|
+
target: trigger,
|
|
393
390
|
onKeyDown: onPickerKeyDown
|
|
394
391
|
}, searchable && /*#__PURE__*/_react.default.createElement(_Picker.SearchBar, {
|
|
395
392
|
placeholder: locale === null || locale === void 0 ? void 0 : locale.searchPlaceholder,
|
|
396
393
|
onChange: handleSearch,
|
|
397
394
|
value: searchKeyword,
|
|
398
|
-
inputRef:
|
|
395
|
+
inputRef: searchInput
|
|
399
396
|
}), renderSearchResultPanel(), searchKeyword === '' && /*#__PURE__*/_react.default.createElement(_DropdownMenu.default, {
|
|
400
397
|
id: id ? id + "-listbox" : undefined,
|
|
401
398
|
cascade: cascade,
|
|
@@ -451,7 +448,7 @@ var MultiCascader = /*#__PURE__*/_react.default.forwardRef(function (props, ref)
|
|
|
451
448
|
}
|
|
452
449
|
return /*#__PURE__*/_react.default.createElement(_Picker.PickerToggleTrigger, {
|
|
453
450
|
pickerProps: (0, _pick.default)(props, _Picker.pickTriggerPropKeys),
|
|
454
|
-
ref:
|
|
451
|
+
ref: trigger,
|
|
455
452
|
placement: placement,
|
|
456
453
|
onEnter: (0, _utils3.createChainedFunction)(handleEntered, onEnter),
|
|
457
454
|
onExited: (0, _utils3.createChainedFunction)(handleExited, onExited),
|
|
@@ -459,13 +456,14 @@ var MultiCascader = /*#__PURE__*/_react.default.forwardRef(function (props, ref)
|
|
|
459
456
|
speaker: renderDropdownMenu
|
|
460
457
|
}, /*#__PURE__*/_react.default.createElement(Component, {
|
|
461
458
|
className: classes,
|
|
462
|
-
style: style
|
|
459
|
+
style: style,
|
|
460
|
+
ref: root
|
|
463
461
|
}, /*#__PURE__*/_react.default.createElement(_Picker.PickerToggle, (0, _extends3.default)({}, (0, _omit.default)(rest, [].concat(_Picker.omitTriggerPropKeys, usedClassNamePropKeys)), {
|
|
464
462
|
id: id,
|
|
465
463
|
as: toggleAs,
|
|
466
464
|
appearance: appearance,
|
|
467
465
|
disabled: disabled,
|
|
468
|
-
ref:
|
|
466
|
+
ref: target,
|
|
469
467
|
onClean: (0, _utils3.createChainedFunction)(handleClean, onClean),
|
|
470
468
|
onKeyDown: onPickerKeyDown,
|
|
471
469
|
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.
|
|
@@ -171,6 +171,11 @@ var OverlayTrigger = /*#__PURE__*/_react.default.forwardRef(function (props, ref
|
|
|
171
171
|
var _overlayRef$current;
|
|
172
172
|
return (_overlayRef$current = overlayRef.current) === null || _overlayRef$current === void 0 ? void 0 : _overlayRef$current.child;
|
|
173
173
|
},
|
|
174
|
+
getState: function getState() {
|
|
175
|
+
return {
|
|
176
|
+
open: open
|
|
177
|
+
};
|
|
178
|
+
},
|
|
174
179
|
open: handleOpen,
|
|
175
180
|
close: function close(delay) {
|
|
176
181
|
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,49 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
"use strict";
|
|
3
|
+
|
|
4
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
5
|
+
exports.__esModule = true;
|
|
6
|
+
exports.default = void 0;
|
|
7
|
+
var _react = _interopRequireDefault(require("react"));
|
|
8
|
+
var _icons = require("@rsuite/icons");
|
|
9
|
+
var _utils = require("../utils");
|
|
10
|
+
var _InputGroup = _interopRequireDefault(require("../InputGroup"));
|
|
11
|
+
var _CloseButton = _interopRequireDefault(require("../CloseButton"));
|
|
12
|
+
var _Loader = _interopRequireDefault(require("../Loader"));
|
|
13
|
+
var PickerIndicator = function PickerIndicator(_ref) {
|
|
14
|
+
var loading = _ref.loading,
|
|
15
|
+
caretAs = _ref.caretAs,
|
|
16
|
+
onClose = _ref.onClose,
|
|
17
|
+
showCleanButton = _ref.showCleanButton,
|
|
18
|
+
_ref$as = _ref.as,
|
|
19
|
+
Component = _ref$as === void 0 ? _InputGroup.default.Addon : _ref$as;
|
|
20
|
+
var _useCustom = (0, _utils.useCustom)(),
|
|
21
|
+
locale = _useCustom.locale;
|
|
22
|
+
var _useClassNames = (0, _utils.useClassNames)('picker'),
|
|
23
|
+
prefix = _useClassNames.prefix;
|
|
24
|
+
var addon = function addon() {
|
|
25
|
+
if (loading) {
|
|
26
|
+
return /*#__PURE__*/_react.default.createElement(_Loader.default, {
|
|
27
|
+
className: prefix('loader'),
|
|
28
|
+
"data-testid": "spinner"
|
|
29
|
+
});
|
|
30
|
+
}
|
|
31
|
+
if (showCleanButton) {
|
|
32
|
+
return /*#__PURE__*/_react.default.createElement(_CloseButton.default, {
|
|
33
|
+
className: prefix('clean'),
|
|
34
|
+
tabIndex: -1,
|
|
35
|
+
locale: {
|
|
36
|
+
closeLabel: locale === null || locale === void 0 ? void 0 : locale.clear
|
|
37
|
+
},
|
|
38
|
+
onClick: onClose
|
|
39
|
+
});
|
|
40
|
+
}
|
|
41
|
+
return caretAs && /*#__PURE__*/_react.default.createElement(_icons.Icon, {
|
|
42
|
+
as: caretAs,
|
|
43
|
+
className: prefix('caret-icon')
|
|
44
|
+
});
|
|
45
|
+
};
|
|
46
|
+
return /*#__PURE__*/_react.default.createElement(Component, null, addon());
|
|
47
|
+
};
|
|
48
|
+
var _default = PickerIndicator;
|
|
49
|
+
exports.default = _default;
|
|
@@ -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,23 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
"use strict";
|
|
3
|
+
|
|
4
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
5
|
+
exports.__esModule = true;
|
|
6
|
+
exports.default = void 0;
|
|
7
|
+
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
8
|
+
var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));
|
|
9
|
+
var _react = _interopRequireDefault(require("react"));
|
|
10
|
+
var _InputGroup = _interopRequireDefault(require("../InputGroup"));
|
|
11
|
+
var PickerLabel = function PickerLabel(_ref) {
|
|
12
|
+
var children = _ref.children,
|
|
13
|
+
className = _ref.className,
|
|
14
|
+
_ref$as = _ref.as,
|
|
15
|
+
Component = _ref$as === void 0 ? _InputGroup.default.Addon : _ref$as,
|
|
16
|
+
rest = (0, _objectWithoutPropertiesLoose2.default)(_ref, ["children", "className", "as"]);
|
|
17
|
+
return children ? /*#__PURE__*/_react.default.createElement(Component, (0, _extends2.default)({
|
|
18
|
+
"data-testid": "picker-label",
|
|
19
|
+
className: className
|
|
20
|
+
}, rest), children) : null;
|
|
21
|
+
};
|
|
22
|
+
var _default = PickerLabel;
|
|
23
|
+
exports.default = _default;
|
|
@@ -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;
|