rsuite 5.49.0 → 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 +13 -0
- package/Cascader/styles/index.less +4 -4
- package/DateRangePicker/styles/index.less +15 -5
- package/Dropdown/styles/index.less +5 -4
- package/Dropdown/styles/mixin.less +0 -11
- package/Picker/styles/index.less +31 -24
- package/Picker/styles/mixin.less +17 -13
- package/README.md +4 -4
- 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 +5 -1
- 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/DatePicker/DatePicker.d.ts +5 -1
- package/cjs/DatePicker/DatePicker.js +2 -4
- package/cjs/DatePicker/Toolbar.js +2 -1
- package/cjs/DateRangeInput/DateRangeInput.js +2 -2
- package/cjs/DateRangePicker/Calendar.js +24 -23
- package/cjs/DateRangePicker/DateRangePicker.d.ts +18 -4
- package/cjs/DateRangePicker/DateRangePicker.js +239 -201
- 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/InputPicker/InputPicker.js +62 -63
- package/cjs/MultiCascader/MultiCascader.js +40 -42
- package/cjs/{DatePicker → Picker}/PickerIndicator.d.ts +1 -1
- package/cjs/{DatePicker → Picker}/PickerIndicator.js +2 -1
- package/cjs/{DatePicker → Picker}/PickerLabel.d.ts +1 -1
- 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 +3 -1
- package/cjs/Picker/usePickerRef.js +13 -7
- 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/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 +1 -0
- package/cjs/utils/index.js +4 -1
- package/dist/rsuite-no-reset-rtl.css +92 -69
- 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 +92 -69
- package/dist/rsuite-no-reset.min.css +1 -1
- package/dist/rsuite-no-reset.min.css.map +1 -1
- package/dist/rsuite-rtl.css +92 -69
- package/dist/rsuite-rtl.min.css +1 -1
- package/dist/rsuite-rtl.min.css.map +1 -1
- package/dist/rsuite.css +92 -69
- package/dist/rsuite.js +67 -46
- 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 +5 -1
- 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/DatePicker/DatePicker.d.ts +5 -1
- package/esm/DatePicker/DatePicker.js +1 -3
- package/esm/DatePicker/Toolbar.js +2 -1
- package/esm/DateRangeInput/DateRangeInput.js +2 -2
- package/esm/DateRangePicker/Calendar.js +25 -23
- package/esm/DateRangePicker/DateRangePicker.d.ts +18 -4
- package/esm/DateRangePicker/DateRangePicker.js +241 -203
- 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/InputPicker/InputPicker.js +64 -65
- package/esm/MultiCascader/MultiCascader.js +43 -45
- package/esm/{DatePicker → Picker}/PickerIndicator.d.ts +1 -1
- package/esm/{DatePicker → Picker}/PickerIndicator.js +2 -1
- package/esm/{DatePicker → Picker}/PickerLabel.d.ts +1 -1
- 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 +3 -1
- package/esm/Picker/usePickerRef.js +13 -8
- 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/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 +1 -0
- package/esm/utils/index.js +1 -0
- package/package.json +1 -1
- package/styles/mixins/combobox.less +10 -0
- /package/cjs/{DatePicker → Picker}/PickerLabel.js +0 -0
- /package/esm/{DatePicker → Picker}/PickerLabel.js +0 -0
|
@@ -1,9 +1,11 @@
|
|
|
1
1
|
'use client';
|
|
2
2
|
"use strict";
|
|
3
3
|
|
|
4
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
5
|
exports.__esModule = true;
|
|
5
6
|
exports.default = void 0;
|
|
6
7
|
var _react = require("react");
|
|
8
|
+
var _useEventCallback = _interopRequireDefault(require("../utils/useEventCallback"));
|
|
7
9
|
/**
|
|
8
10
|
* A hook of the exposed method of Picker
|
|
9
11
|
*/
|
|
@@ -13,20 +15,22 @@ function usePickerRef(ref, parmas) {
|
|
|
13
15
|
var target = (0, _react.useRef)(null);
|
|
14
16
|
var overlay = (0, _react.useRef)(null);
|
|
15
17
|
var list = (0, _react.useRef)(null);
|
|
18
|
+
var searchInput = (0, _react.useRef)(null);
|
|
19
|
+
var treeView = (0, _react.useRef)(null);
|
|
16
20
|
var _ref = parmas || {},
|
|
17
21
|
inline = _ref.inline;
|
|
18
|
-
var handleOpen = (0,
|
|
22
|
+
var handleOpen = (0, _useEventCallback.default)(function () {
|
|
19
23
|
var _trigger$current;
|
|
20
24
|
trigger === null || trigger === void 0 ? void 0 : (_trigger$current = trigger.current) === null || _trigger$current === void 0 ? void 0 : _trigger$current.open();
|
|
21
|
-
}
|
|
22
|
-
var handleClose = (0,
|
|
25
|
+
});
|
|
26
|
+
var handleClose = (0, _useEventCallback.default)(function () {
|
|
23
27
|
var _trigger$current2;
|
|
24
28
|
trigger === null || trigger === void 0 ? void 0 : (_trigger$current2 = trigger.current) === null || _trigger$current2 === void 0 ? void 0 : _trigger$current2.close();
|
|
25
|
-
}
|
|
26
|
-
var handleUpdatePosition = (0,
|
|
29
|
+
});
|
|
30
|
+
var handleUpdatePosition = (0, _useEventCallback.default)(function () {
|
|
27
31
|
var _trigger$current3;
|
|
28
32
|
trigger === null || trigger === void 0 ? void 0 : (_trigger$current3 = trigger.current) === null || _trigger$current3 === void 0 ? void 0 : _trigger$current3.updatePosition();
|
|
29
|
-
}
|
|
33
|
+
});
|
|
30
34
|
(0, _react.useImperativeHandle)(ref, function () {
|
|
31
35
|
// Tree and CheckTree
|
|
32
36
|
if (inline) {
|
|
@@ -75,7 +79,9 @@ function usePickerRef(ref, parmas) {
|
|
|
75
79
|
root: root,
|
|
76
80
|
overlay: overlay,
|
|
77
81
|
target: target,
|
|
78
|
-
list: list
|
|
82
|
+
list: list,
|
|
83
|
+
searchInput: searchInput,
|
|
84
|
+
treeView: treeView
|
|
79
85
|
};
|
|
80
86
|
}
|
|
81
87
|
var _default = usePickerRef;
|
package/cjs/Picker/utils.d.ts
CHANGED
|
@@ -68,10 +68,10 @@ export declare const useFocusItemValue: <T, D>(defaultFocusItemValue: T | null |
|
|
|
68
68
|
};
|
|
69
69
|
export interface ToggleKeyDownEventProps {
|
|
70
70
|
toggle?: boolean;
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
71
|
+
trigger: React.RefObject<any>;
|
|
72
|
+
target: React.RefObject<any>;
|
|
73
|
+
overlay?: React.RefObject<any>;
|
|
74
|
+
searchInput?: React.RefObject<any>;
|
|
75
75
|
active?: boolean;
|
|
76
76
|
readOnly?: boolean;
|
|
77
77
|
disabled?: boolean;
|
|
@@ -88,7 +88,7 @@ export interface ToggleKeyDownEventProps {
|
|
|
88
88
|
* A hook to control the toggle keyboard operation
|
|
89
89
|
* @param props
|
|
90
90
|
*/
|
|
91
|
-
export declare const useToggleKeyDownEvent: (props: ToggleKeyDownEventProps) => (
|
|
91
|
+
export declare const useToggleKeyDownEvent: (props: ToggleKeyDownEventProps) => (...args: any[]) => any;
|
|
92
92
|
interface SearchOptions<T> {
|
|
93
93
|
labelKey: string;
|
|
94
94
|
searchBy?: (keyword: string, label: any, item: T) => boolean;
|
|
@@ -113,8 +113,4 @@ export interface PickerDependentParameters {
|
|
|
113
113
|
listRef?: React.RefObject<ListHandle>;
|
|
114
114
|
inline?: boolean;
|
|
115
115
|
}
|
|
116
|
-
/**
|
|
117
|
-
* A hook of the exposed method of Picker
|
|
118
|
-
*/
|
|
119
|
-
export declare function usePublicMethods(ref: any, parmas: PickerDependentParameters): void;
|
|
120
116
|
export {};
|
package/cjs/Picker/utils.js
CHANGED
|
@@ -9,7 +9,6 @@ exports.shouldDisplay = shouldDisplay;
|
|
|
9
9
|
exports.usePickerClassName = usePickerClassName;
|
|
10
10
|
exports.onMenuKeyDown = onMenuKeyDown;
|
|
11
11
|
exports.useSearch = useSearch;
|
|
12
|
-
exports.usePublicMethods = usePublicMethods;
|
|
13
12
|
exports.useToggleKeyDownEvent = exports.useFocusItemValue = void 0;
|
|
14
13
|
var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));
|
|
15
14
|
var _react = _interopRequireWildcard(require("react"));
|
|
@@ -366,10 +365,10 @@ exports.useFocusItemValue = useFocusItemValue;
|
|
|
366
365
|
var useToggleKeyDownEvent = function useToggleKeyDownEvent(props) {
|
|
367
366
|
var _props$toggle = props.toggle,
|
|
368
367
|
toggle = _props$toggle === void 0 ? true : _props$toggle,
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
|
|
368
|
+
trigger = props.trigger,
|
|
369
|
+
target = props.target,
|
|
370
|
+
overlay = props.overlay,
|
|
371
|
+
searchInput = props.searchInput,
|
|
373
372
|
active = props.active,
|
|
374
373
|
readOnly = props.readOnly,
|
|
375
374
|
disabled = props.disabled,
|
|
@@ -381,32 +380,32 @@ var useToggleKeyDownEvent = function useToggleKeyDownEvent(props) {
|
|
|
381
380
|
onMenuKeyDown = props.onMenuKeyDown,
|
|
382
381
|
onMenuPressEnter = props.onMenuPressEnter,
|
|
383
382
|
onMenuPressBackspace = props.onMenuPressBackspace;
|
|
384
|
-
var handleClose = (0,
|
|
385
|
-
var
|
|
386
|
-
(
|
|
383
|
+
var handleClose = (0, _utils.useEventCallback)(function () {
|
|
384
|
+
var _trigger$current, _trigger$current$clos, _trigger$current2, _trigger$current2$foc;
|
|
385
|
+
(_trigger$current = trigger.current) === null || _trigger$current === void 0 ? void 0 : (_trigger$current$clos = _trigger$current.close) === null || _trigger$current$clos === void 0 ? void 0 : _trigger$current$clos.call(_trigger$current);
|
|
387
386
|
|
|
388
387
|
// The focus is on the trigger button after closing
|
|
389
|
-
(
|
|
388
|
+
(_trigger$current2 = trigger.current) === null || _trigger$current2 === void 0 ? void 0 : (_trigger$current2$foc = _trigger$current2.focus) === null || _trigger$current2$foc === void 0 ? void 0 : _trigger$current2$foc.call(_trigger$current2);
|
|
390
389
|
onClose === null || onClose === void 0 ? void 0 : onClose();
|
|
391
|
-
}
|
|
392
|
-
var handleOpen = (0,
|
|
393
|
-
var
|
|
394
|
-
(
|
|
390
|
+
});
|
|
391
|
+
var handleOpen = (0, _utils.useEventCallback)(function () {
|
|
392
|
+
var _trigger$current3, _trigger$current3$ope;
|
|
393
|
+
(_trigger$current3 = trigger.current) === null || _trigger$current3 === void 0 ? void 0 : (_trigger$current3$ope = _trigger$current3.open) === null || _trigger$current3$ope === void 0 ? void 0 : _trigger$current3$ope.call(_trigger$current3);
|
|
395
394
|
onOpen === null || onOpen === void 0 ? void 0 : onOpen();
|
|
396
|
-
}
|
|
397
|
-
var handleToggleDropdown = (0,
|
|
395
|
+
});
|
|
396
|
+
var handleToggleDropdown = (0, _utils.useEventCallback)(function () {
|
|
398
397
|
if (active) {
|
|
399
398
|
handleClose();
|
|
400
399
|
return;
|
|
401
400
|
}
|
|
402
401
|
handleOpen();
|
|
403
|
-
}
|
|
404
|
-
var onToggle = (0,
|
|
402
|
+
});
|
|
403
|
+
var onToggle = (0, _utils.useEventCallback)(function (event) {
|
|
405
404
|
// Keyboard events should not be processed when readOnly and disabled are set.
|
|
406
405
|
if (readOnly || disabled || loading) {
|
|
407
406
|
return;
|
|
408
407
|
}
|
|
409
|
-
if (event.target === (
|
|
408
|
+
if (event.target === (target === null || target === void 0 ? void 0 : target.current)) {
|
|
410
409
|
// enter
|
|
411
410
|
if (toggle && event.key === _utils.KEY_VALUES.ENTER) {
|
|
412
411
|
handleToggleDropdown();
|
|
@@ -417,7 +416,7 @@ var useToggleKeyDownEvent = function useToggleKeyDownEvent(props) {
|
|
|
417
416
|
onExit === null || onExit === void 0 ? void 0 : onExit(event);
|
|
418
417
|
}
|
|
419
418
|
}
|
|
420
|
-
if (
|
|
419
|
+
if (overlay !== null && overlay !== void 0 && overlay.current) {
|
|
421
420
|
// The keyboard operation callback on the menu.
|
|
422
421
|
onMenuKeyDown === null || onMenuKeyDown === void 0 ? void 0 : onMenuKeyDown(event);
|
|
423
422
|
if (event.key === _utils.KEY_VALUES.ENTER) {
|
|
@@ -428,7 +427,7 @@ var useToggleKeyDownEvent = function useToggleKeyDownEvent(props) {
|
|
|
428
427
|
* There is no callback when typing the Backspace key in the search box.
|
|
429
428
|
* The default is to remove search keywords
|
|
430
429
|
*/
|
|
431
|
-
if (event.key === _utils.KEY_VALUES.BACKSPACE && event.target !== (
|
|
430
|
+
if (event.key === _utils.KEY_VALUES.BACKSPACE && event.target !== (searchInput === null || searchInput === void 0 ? void 0 : searchInput.current)) {
|
|
432
431
|
onMenuPressBackspace === null || onMenuPressBackspace === void 0 ? void 0 : onMenuPressBackspace(event);
|
|
433
432
|
}
|
|
434
433
|
|
|
@@ -438,8 +437,8 @@ var useToggleKeyDownEvent = function useToggleKeyDownEvent(props) {
|
|
|
438
437
|
// Exclude Input
|
|
439
438
|
// eg: <SelectPicker renderExtraFooter={() => <Input />} />
|
|
440
439
|
if (((_event$target = event.target) === null || _event$target === void 0 ? void 0 : _event$target.tagName) !== 'INPUT') {
|
|
441
|
-
var
|
|
442
|
-
|
|
440
|
+
var _searchInput$current;
|
|
441
|
+
searchInput === null || searchInput === void 0 ? void 0 : (_searchInput$current = searchInput.current) === null || _searchInput$current === void 0 ? void 0 : _searchInput$current.focus();
|
|
443
442
|
}
|
|
444
443
|
}
|
|
445
444
|
}
|
|
@@ -449,7 +448,7 @@ var useToggleKeyDownEvent = function useToggleKeyDownEvent(props) {
|
|
|
449
448
|
|
|
450
449
|
// Native event callback
|
|
451
450
|
onKeyDown === null || onKeyDown === void 0 ? void 0 : onKeyDown(event);
|
|
452
|
-
}
|
|
451
|
+
});
|
|
453
452
|
return onToggle;
|
|
454
453
|
};
|
|
455
454
|
exports.useToggleKeyDownEvent = useToggleKeyDownEvent;
|
|
@@ -498,70 +497,4 @@ function useSearch(data, props) {
|
|
|
498
497
|
handleSearch: handleSearch,
|
|
499
498
|
resetSearch: resetSearch
|
|
500
499
|
};
|
|
501
|
-
}
|
|
502
|
-
/**
|
|
503
|
-
* A hook of the exposed method of Picker
|
|
504
|
-
*/
|
|
505
|
-
function usePublicMethods(ref, parmas) {
|
|
506
|
-
var triggerRef = parmas.triggerRef,
|
|
507
|
-
overlayRef = parmas.overlayRef,
|
|
508
|
-
targetRef = parmas.targetRef,
|
|
509
|
-
rootRef = parmas.rootRef,
|
|
510
|
-
listRef = parmas.listRef,
|
|
511
|
-
inline = parmas.inline;
|
|
512
|
-
var handleOpen = (0, _react.useCallback)(function () {
|
|
513
|
-
var _triggerRef$current3;
|
|
514
|
-
triggerRef === null || triggerRef === void 0 ? void 0 : (_triggerRef$current3 = triggerRef.current) === null || _triggerRef$current3 === void 0 ? void 0 : _triggerRef$current3.open();
|
|
515
|
-
}, [triggerRef]);
|
|
516
|
-
var handleClose = (0, _react.useCallback)(function () {
|
|
517
|
-
var _triggerRef$current4;
|
|
518
|
-
triggerRef === null || triggerRef === void 0 ? void 0 : (_triggerRef$current4 = triggerRef.current) === null || _triggerRef$current4 === void 0 ? void 0 : _triggerRef$current4.close();
|
|
519
|
-
}, [triggerRef]);
|
|
520
|
-
var handleUpdatePosition = (0, _react.useCallback)(function () {
|
|
521
|
-
var _triggerRef$current5;
|
|
522
|
-
triggerRef === null || triggerRef === void 0 ? void 0 : (_triggerRef$current5 = triggerRef.current) === null || _triggerRef$current5 === void 0 ? void 0 : _triggerRef$current5.updatePosition();
|
|
523
|
-
}, [triggerRef]);
|
|
524
|
-
(0, _react.useImperativeHandle)(ref, function () {
|
|
525
|
-
// Tree and CheckTree
|
|
526
|
-
if (inline) {
|
|
527
|
-
return {
|
|
528
|
-
get root() {
|
|
529
|
-
var _triggerRef$current$r, _triggerRef$current6;
|
|
530
|
-
return rootRef !== null && rootRef !== void 0 && rootRef.current ? rootRef === null || rootRef === void 0 ? void 0 : rootRef.current : (_triggerRef$current$r = triggerRef === null || triggerRef === void 0 ? void 0 : (_triggerRef$current6 = triggerRef.current) === null || _triggerRef$current6 === void 0 ? void 0 : _triggerRef$current6.root) !== null && _triggerRef$current$r !== void 0 ? _triggerRef$current$r : null;
|
|
531
|
-
},
|
|
532
|
-
get list() {
|
|
533
|
-
if (!(listRef !== null && listRef !== void 0 && listRef.current)) {
|
|
534
|
-
throw new Error('The list is not found, please set `virtualized` for the component.');
|
|
535
|
-
}
|
|
536
|
-
return listRef === null || listRef === void 0 ? void 0 : listRef.current;
|
|
537
|
-
}
|
|
538
|
-
};
|
|
539
|
-
}
|
|
540
|
-
return {
|
|
541
|
-
get root() {
|
|
542
|
-
var _ref, _triggerRef$current7;
|
|
543
|
-
return (_ref = (rootRef === null || rootRef === void 0 ? void 0 : rootRef.current) || (triggerRef === null || triggerRef === void 0 ? void 0 : (_triggerRef$current7 = triggerRef.current) === null || _triggerRef$current7 === void 0 ? void 0 : _triggerRef$current7.root)) !== null && _ref !== void 0 ? _ref : null;
|
|
544
|
-
},
|
|
545
|
-
get overlay() {
|
|
546
|
-
var _overlayRef$current;
|
|
547
|
-
if (!(overlayRef !== null && overlayRef !== void 0 && overlayRef.current)) {
|
|
548
|
-
throw new Error('The overlay is not found. Please confirm whether the picker is open.');
|
|
549
|
-
}
|
|
550
|
-
return (_overlayRef$current = overlayRef === null || overlayRef === void 0 ? void 0 : overlayRef.current) !== null && _overlayRef$current !== void 0 ? _overlayRef$current : null;
|
|
551
|
-
},
|
|
552
|
-
get target() {
|
|
553
|
-
var _targetRef$current2;
|
|
554
|
-
return (_targetRef$current2 = targetRef === null || targetRef === void 0 ? void 0 : targetRef.current) !== null && _targetRef$current2 !== void 0 ? _targetRef$current2 : null;
|
|
555
|
-
},
|
|
556
|
-
get list() {
|
|
557
|
-
if (!(listRef !== null && listRef !== void 0 && listRef.current)) {
|
|
558
|
-
throw new Error("\n The list is not found.\n 1.Please set virtualized for the component.\n 2.Please confirm whether the picker is open.\n ");
|
|
559
|
-
}
|
|
560
|
-
return listRef === null || listRef === void 0 ? void 0 : listRef.current;
|
|
561
|
-
},
|
|
562
|
-
updatePosition: handleUpdatePosition,
|
|
563
|
-
open: handleOpen,
|
|
564
|
-
close: handleClose
|
|
565
|
-
};
|
|
566
|
-
});
|
|
567
500
|
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import React
|
|
1
|
+
import React from 'react';
|
|
2
2
|
import { PickerLocale } from '../locales';
|
|
3
3
|
import { PickerHandle, PickerToggleProps } from '../Picker';
|
|
4
4
|
import { ListProps } from '../Windowing';
|
|
@@ -49,7 +49,7 @@ export interface SelectPickerProps<T> extends Omit<FormControlPickerProps<T, Pic
|
|
|
49
49
|
}
|
|
50
50
|
export interface SelectPickerComponent {
|
|
51
51
|
<T>(props: SelectPickerProps<T> & {
|
|
52
|
-
ref?: Ref<PickerHandle>;
|
|
52
|
+
ref?: React.Ref<PickerHandle>;
|
|
53
53
|
}): JSX.Element | null;
|
|
54
54
|
displayName?: string;
|
|
55
55
|
propTypes?: React.WeakValidationMap<SelectPickerProps<any>>;
|
|
@@ -79,11 +79,13 @@ var SelectPicker = /*#__PURE__*/_react.default.forwardRef(function (props, ref)
|
|
|
79
79
|
renderMenuItem = props.renderMenuItem,
|
|
80
80
|
renderExtraFooter = props.renderExtraFooter,
|
|
81
81
|
rest = (0, _objectWithoutPropertiesLoose2.default)(props, ["as", "appearance", "data", "valueKey", "labelKey", "value", "classPrefix", "placeholder", "defaultValue", "disabled", "cleanable", "placement", "menuClassName", "menuAutoWidth", "menuMaxHeight", "menuStyle", "groupBy", "locale", "toggleAs", "style", "searchable", "disabledItemValues", "virtualized", "listProps", "id", "onGroupTitleClick", "searchBy", "onEntered", "onExited", "onClean", "onChange", "onSelect", "onSearch", "onClose", "onOpen", "sort", "renderValue", "renderMenu", "renderMenuGroup", "renderMenuItem", "renderExtraFooter"]);
|
|
82
|
-
var
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
82
|
+
var _usePickerRef = (0, _Picker.usePickerRef)(ref),
|
|
83
|
+
trigger = _usePickerRef.trigger,
|
|
84
|
+
root = _usePickerRef.root,
|
|
85
|
+
target = _usePickerRef.target,
|
|
86
|
+
overlay = _usePickerRef.overlay,
|
|
87
|
+
list = _usePickerRef.list,
|
|
88
|
+
searchInput = _usePickerRef.searchInput;
|
|
87
89
|
var _useCustom = (0, _utils.useCustom)('Picker', overrideLocale),
|
|
88
90
|
locale = _useCustom.locale;
|
|
89
91
|
var _ref = (0, _utils.useControlled)(valueProp, defaultValue),
|
|
@@ -93,7 +95,7 @@ var SelectPicker = /*#__PURE__*/_react.default.forwardRef(function (props, ref)
|
|
|
93
95
|
data: data,
|
|
94
96
|
valueKey: valueKey,
|
|
95
97
|
target: function target() {
|
|
96
|
-
return
|
|
98
|
+
return overlay.current;
|
|
97
99
|
}
|
|
98
100
|
}),
|
|
99
101
|
focusItemValue = _useFocusItemValue.focusItemValue,
|
|
@@ -116,19 +118,19 @@ var SelectPicker = /*#__PURE__*/_react.default.forwardRef(function (props, ref)
|
|
|
116
118
|
var _useState = (0, _react.useState)(false),
|
|
117
119
|
active = _useState[0],
|
|
118
120
|
setActive = _useState[1];
|
|
119
|
-
var handleClose = (0,
|
|
120
|
-
var
|
|
121
|
-
(
|
|
122
|
-
}
|
|
123
|
-
var handleSelect = (0,
|
|
124
|
-
var
|
|
121
|
+
var handleClose = (0, _utils.useEventCallback)(function () {
|
|
122
|
+
var _trigger$current, _trigger$current$clos;
|
|
123
|
+
(_trigger$current = trigger.current) === null || _trigger$current === void 0 ? void 0 : (_trigger$current$clos = _trigger$current.close) === null || _trigger$current$clos === void 0 ? void 0 : _trigger$current$clos.call(_trigger$current);
|
|
124
|
+
});
|
|
125
|
+
var handleSelect = (0, _utils.useEventCallback)(function (value, item, event) {
|
|
126
|
+
var _target$current;
|
|
125
127
|
onSelect === null || onSelect === void 0 ? void 0 : onSelect(value, item, event);
|
|
126
|
-
(
|
|
127
|
-
}
|
|
128
|
-
var handleChangeValue = (0,
|
|
128
|
+
(_target$current = target.current) === null || _target$current === void 0 ? void 0 : _target$current.focus();
|
|
129
|
+
});
|
|
130
|
+
var handleChangeValue = (0, _utils.useEventCallback)(function (value, event) {
|
|
129
131
|
onChange === null || onChange === void 0 ? void 0 : onChange(value, event);
|
|
130
|
-
}
|
|
131
|
-
var handleMenuPressEnter = (0,
|
|
132
|
+
});
|
|
133
|
+
var handleMenuPressEnter = (0, _utils.useEventCallback)(function (event) {
|
|
132
134
|
if (!focusItemValue) {
|
|
133
135
|
return;
|
|
134
136
|
}
|
|
@@ -141,28 +143,28 @@ var SelectPicker = /*#__PURE__*/_react.default.forwardRef(function (props, ref)
|
|
|
141
143
|
handleSelect(focusItemValue, focusItem, event);
|
|
142
144
|
handleChangeValue(focusItemValue, event);
|
|
143
145
|
handleClose();
|
|
144
|
-
}
|
|
145
|
-
var handleItemSelect = (0,
|
|
146
|
+
});
|
|
147
|
+
var handleItemSelect = (0, _utils.useEventCallback)(function (value, item, event) {
|
|
146
148
|
setValue(value);
|
|
147
149
|
setFocusItemValue(value);
|
|
148
150
|
handleSelect(value, item, event);
|
|
149
151
|
handleChangeValue(value, event);
|
|
150
152
|
handleClose();
|
|
151
|
-
}
|
|
152
|
-
var handleClean = (0,
|
|
153
|
+
});
|
|
154
|
+
var handleClean = (0, _utils.useEventCallback)(function (event) {
|
|
153
155
|
if (disabled || !cleanable) {
|
|
154
156
|
return;
|
|
155
157
|
}
|
|
156
158
|
setValue(null);
|
|
157
159
|
setFocusItemValue(value);
|
|
158
160
|
handleChangeValue(null, event);
|
|
159
|
-
}
|
|
161
|
+
});
|
|
160
162
|
var onPickerKeyDown = (0, _Picker.useToggleKeyDownEvent)((0, _extends2.default)({
|
|
161
163
|
toggle: !focusItemValue || !active,
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
164
|
+
trigger: trigger,
|
|
165
|
+
target: target,
|
|
166
|
+
overlay: overlay,
|
|
167
|
+
searchInput: searchInput,
|
|
166
168
|
active: active,
|
|
167
169
|
onExit: handleClean,
|
|
168
170
|
onMenuKeyDown: onFocusItem,
|
|
@@ -171,22 +173,16 @@ var SelectPicker = /*#__PURE__*/_react.default.forwardRef(function (props, ref)
|
|
|
171
173
|
setFocusItemValue(null);
|
|
172
174
|
}
|
|
173
175
|
}, rest));
|
|
174
|
-
var handleExited = (0,
|
|
176
|
+
var handleExited = (0, _utils.useEventCallback)(function () {
|
|
175
177
|
resetSearch();
|
|
176
178
|
setActive(false);
|
|
177
179
|
onSearch === null || onSearch === void 0 ? void 0 : onSearch('');
|
|
178
180
|
onClose === null || onClose === void 0 ? void 0 : onClose();
|
|
179
|
-
}
|
|
180
|
-
var handleEntered = (0,
|
|
181
|
+
});
|
|
182
|
+
var handleEntered = (0, _utils.useEventCallback)(function () {
|
|
181
183
|
setActive(true);
|
|
182
184
|
setFocusItemValue(value);
|
|
183
185
|
onOpen === null || onOpen === void 0 ? void 0 : onOpen();
|
|
184
|
-
}, [onOpen, setFocusItemValue, value]);
|
|
185
|
-
(0, _Picker.usePublicMethods)(ref, {
|
|
186
|
-
triggerRef: triggerRef,
|
|
187
|
-
overlayRef: overlayRef,
|
|
188
|
-
targetRef: targetRef,
|
|
189
|
-
listRef: listRef
|
|
190
186
|
});
|
|
191
187
|
|
|
192
188
|
// Find active `MenuItem` by `value`
|
|
@@ -233,7 +229,7 @@ var SelectPicker = /*#__PURE__*/_react.default.forwardRef(function (props, ref)
|
|
|
233
229
|
var menu = items.length ? /*#__PURE__*/_react.default.createElement(_Picker.DropdownMenu, {
|
|
234
230
|
id: id ? id + "-listbox" : undefined,
|
|
235
231
|
listProps: listProps,
|
|
236
|
-
listRef:
|
|
232
|
+
listRef: list,
|
|
237
233
|
disabledItemValues: disabledItemValues,
|
|
238
234
|
valueKey: valueKey,
|
|
239
235
|
labelKey: labelKey,
|
|
@@ -258,17 +254,17 @@ var SelectPicker = /*#__PURE__*/_react.default.forwardRef(function (props, ref)
|
|
|
258
254
|
className: prefix(_templateObject || (_templateObject = (0, _taggedTemplateLiteralLoose2.default)(["none"])))
|
|
259
255
|
}, locale === null || locale === void 0 ? void 0 : locale.noResultsText);
|
|
260
256
|
return /*#__PURE__*/_react.default.createElement(_Picker.PickerOverlay, {
|
|
261
|
-
ref: (0, _utils.mergeRefs)(
|
|
257
|
+
ref: (0, _utils.mergeRefs)(overlay, speakerRef),
|
|
262
258
|
autoWidth: menuAutoWidth,
|
|
263
259
|
className: classes,
|
|
264
260
|
style: styles,
|
|
265
261
|
onKeyDown: onPickerKeyDown,
|
|
266
|
-
target:
|
|
262
|
+
target: trigger
|
|
267
263
|
}, searchable && /*#__PURE__*/_react.default.createElement(_Picker.SearchBar, {
|
|
268
264
|
placeholder: locale === null || locale === void 0 ? void 0 : locale.searchPlaceholder,
|
|
269
265
|
onChange: handleSearch,
|
|
270
266
|
value: searchKeyword,
|
|
271
|
-
inputRef:
|
|
267
|
+
inputRef: searchInput
|
|
272
268
|
}), renderMenu ? renderMenu(menu) : menu, renderExtraFooter === null || renderExtraFooter === void 0 ? void 0 : renderExtraFooter());
|
|
273
269
|
};
|
|
274
270
|
var _usePickerClassName = (0, _Picker.usePickerClassName)((0, _extends2.default)({}, props, {
|
|
@@ -282,17 +278,18 @@ var SelectPicker = /*#__PURE__*/_react.default.forwardRef(function (props, ref)
|
|
|
282
278
|
usedClassNamePropKeys = _usePickerClassName[1];
|
|
283
279
|
return /*#__PURE__*/_react.default.createElement(_Picker.PickerToggleTrigger, {
|
|
284
280
|
pickerProps: (0, _pick.default)(props, _Picker.pickTriggerPropKeys),
|
|
285
|
-
ref:
|
|
281
|
+
ref: trigger,
|
|
286
282
|
placement: placement,
|
|
287
283
|
onEntered: (0, _utils.createChainedFunction)(handleEntered, onEntered),
|
|
288
284
|
onExited: (0, _utils.createChainedFunction)(handleExited, onExited),
|
|
289
285
|
speaker: renderDropdownMenu
|
|
290
286
|
}, /*#__PURE__*/_react.default.createElement(Component, {
|
|
291
287
|
className: classes,
|
|
292
|
-
style: style
|
|
288
|
+
style: style,
|
|
289
|
+
ref: root
|
|
293
290
|
}, /*#__PURE__*/_react.default.createElement(_Picker.PickerToggle, (0, _extends2.default)({}, (0, _omit.default)(rest, [].concat(_Picker.omitTriggerPropKeys, usedClassNamePropKeys)), {
|
|
294
291
|
id: id,
|
|
295
|
-
ref:
|
|
292
|
+
ref: target,
|
|
296
293
|
appearance: appearance,
|
|
297
294
|
onClean: (0, _utils.createChainedFunction)(handleClean, onClean),
|
|
298
295
|
onKeyDown: onPickerKeyDown,
|