rsuite 5.43.0 → 5.45.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/Button/styles/index.less +1 -1
- package/CHANGELOG.md +24 -0
- package/Drawer/styles/index.less +1 -1
- package/Modal/styles/index.less +24 -2
- package/Picker/styles/index.less +0 -4
- package/cjs/Cascader/Cascader.d.ts +2 -2
- package/cjs/CheckPicker/CheckPicker.d.ts +1 -1
- package/cjs/CheckTreePicker/CheckTreePicker.d.ts +1 -1
- package/cjs/CheckTreePicker/CheckTreePicker.js +2 -2
- package/cjs/DatePicker/DatePicker.d.ts +3 -1
- package/cjs/DatePicker/DatePicker.js +18 -5
- package/cjs/DatePicker/PredefinedRanges.d.ts +2 -2
- package/cjs/DatePicker/PredefinedRanges.js +8 -8
- package/cjs/DatePicker/Toolbar.js +4 -4
- package/cjs/DateRangePicker/DateRangePicker.d.ts +3 -1
- package/cjs/DateRangePicker/DateRangePicker.js +18 -5
- package/cjs/DateRangePicker/types.d.ts +2 -2
- package/cjs/Drawer/Drawer.d.ts +2 -0
- package/cjs/Drawer/Drawer.js +16 -5
- package/cjs/Drawer/DrawerContext.d.ts +9 -0
- package/cjs/Drawer/DrawerContext.js +10 -0
- package/cjs/FormControl/FormControl.js +1 -1
- package/cjs/InputPicker/InputPicker.d.ts +1 -1
- package/cjs/InputPicker/InputPicker.js +1 -1
- package/cjs/Modal/Modal.d.ts +2 -4
- package/cjs/Modal/Modal.js +24 -13
- package/cjs/Modal/ModalBody.js +14 -8
- package/cjs/Modal/ModalContext.d.ts +1 -3
- package/cjs/Modal/ModalHeader.js +9 -6
- package/cjs/Modal/index.d.ts +1 -0
- package/cjs/Modal/utils.d.ts +4 -1
- package/cjs/Modal/utils.js +9 -4
- package/cjs/MultiCascader/MultiCascader.d.ts +2 -2
- package/cjs/Picker/PickerToggle.d.ts +2 -0
- package/cjs/Picker/PickerToggle.js +10 -4
- package/cjs/Picker/utils.js +3 -2
- package/cjs/SelectPicker/SelectPicker.d.ts +1 -3
- package/cjs/TreePicker/TreePicker.d.ts +1 -1
- package/cjs/toaster/useToaster.js +22 -19
- package/dist/rsuite-no-reset-rtl.css +33 -7
- 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 +33 -7
- package/dist/rsuite-no-reset.min.css +1 -1
- package/dist/rsuite-no-reset.min.css.map +1 -1
- package/dist/rsuite-rtl.css +33 -7
- package/dist/rsuite-rtl.min.css +1 -1
- package/dist/rsuite-rtl.min.css.map +1 -1
- package/dist/rsuite.css +33 -7
- package/dist/rsuite.js +45 -23
- 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/Cascader/Cascader.d.ts +2 -2
- package/esm/CheckPicker/CheckPicker.d.ts +1 -1
- package/esm/CheckTreePicker/CheckTreePicker.d.ts +1 -1
- package/esm/CheckTreePicker/CheckTreePicker.js +2 -2
- package/esm/DatePicker/DatePicker.d.ts +3 -1
- package/esm/DatePicker/DatePicker.js +18 -5
- package/esm/DatePicker/PredefinedRanges.d.ts +2 -2
- package/esm/DatePicker/PredefinedRanges.js +8 -8
- package/esm/DatePicker/Toolbar.js +4 -4
- package/esm/DateRangePicker/DateRangePicker.d.ts +3 -1
- package/esm/DateRangePicker/DateRangePicker.js +18 -5
- package/esm/DateRangePicker/types.d.ts +2 -2
- package/esm/Drawer/Drawer.d.ts +2 -0
- package/esm/Drawer/Drawer.js +15 -5
- package/esm/Drawer/DrawerContext.d.ts +9 -0
- package/esm/Drawer/DrawerContext.js +4 -0
- package/esm/FormControl/FormControl.js +1 -1
- package/esm/InputPicker/InputPicker.d.ts +1 -1
- package/esm/InputPicker/InputPicker.js +1 -1
- package/esm/Modal/Modal.d.ts +2 -4
- package/esm/Modal/Modal.js +25 -14
- package/esm/Modal/ModalBody.js +14 -8
- package/esm/Modal/ModalContext.d.ts +1 -3
- package/esm/Modal/ModalHeader.js +9 -6
- package/esm/Modal/index.d.ts +1 -0
- package/esm/Modal/utils.d.ts +4 -1
- package/esm/Modal/utils.js +9 -4
- package/esm/MultiCascader/MultiCascader.d.ts +2 -2
- package/esm/Picker/PickerToggle.d.ts +2 -0
- package/esm/Picker/PickerToggle.js +10 -4
- package/esm/Picker/utils.js +3 -2
- package/esm/SelectPicker/SelectPicker.d.ts +1 -3
- package/esm/TreePicker/TreePicker.d.ts +1 -1
- package/esm/toaster/useToaster.js +22 -19
- package/package.json +2 -2
package/esm/Modal/ModalBody.js
CHANGED
|
@@ -7,8 +7,9 @@ import { useClassNames } from '../utils';
|
|
|
7
7
|
import { ModalContext } from './ModalContext';
|
|
8
8
|
import IconButton from '../IconButton';
|
|
9
9
|
import Close from '@rsuite/icons/Close';
|
|
10
|
+
import DrawerContext from '../Drawer/DrawerContext';
|
|
10
11
|
var ModalBody = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
11
|
-
var _context$getBodyStyle;
|
|
12
|
+
var _context$getBodyStyle, _useContext;
|
|
12
13
|
var _props$as = props.as,
|
|
13
14
|
Component = _props$as === void 0 ? 'div' : _props$as,
|
|
14
15
|
_props$classPrefix = props.classPrefix,
|
|
@@ -24,17 +25,22 @@ var ModalBody = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
24
25
|
var classes = merge(className, withClassPrefix());
|
|
25
26
|
var context = useContext(ModalContext);
|
|
26
27
|
var bodyStyles = context === null || context === void 0 ? void 0 : (_context$getBodyStyle = context.getBodyStyles) === null || _context$getBodyStyle === void 0 ? void 0 : _context$getBodyStyle.call(context);
|
|
28
|
+
var closeButton = (_useContext = useContext(DrawerContext)) === null || _useContext === void 0 ? void 0 : _useContext.closeButton;
|
|
29
|
+
var buttonElement = null;
|
|
30
|
+
if (closeButton) {
|
|
31
|
+
buttonElement = typeof closeButton === 'boolean' ? /*#__PURE__*/React.createElement(IconButton, {
|
|
32
|
+
icon: /*#__PURE__*/React.createElement(Close, null),
|
|
33
|
+
appearance: "subtle",
|
|
34
|
+
size: "sm",
|
|
35
|
+
className: prefix('close'),
|
|
36
|
+
onClick: context === null || context === void 0 ? void 0 : context.onModalClose
|
|
37
|
+
}) : closeButton;
|
|
38
|
+
}
|
|
27
39
|
return /*#__PURE__*/React.createElement(Component, _extends({}, rest, {
|
|
28
40
|
ref: ref,
|
|
29
41
|
style: _extends({}, bodyStyles, style),
|
|
30
42
|
className: classes
|
|
31
|
-
}),
|
|
32
|
-
icon: /*#__PURE__*/React.createElement(Close, null),
|
|
33
|
-
appearance: "subtle",
|
|
34
|
-
size: "sm",
|
|
35
|
-
className: prefix('close'),
|
|
36
|
-
onClick: context === null || context === void 0 ? void 0 : context.onModalClose
|
|
37
|
-
}), children);
|
|
43
|
+
}), buttonElement, children);
|
|
38
44
|
});
|
|
39
45
|
ModalBody.displayName = 'ModalBody';
|
|
40
46
|
ModalBody.propTypes = {
|
|
@@ -5,8 +5,6 @@ export interface ModalContextProps {
|
|
|
5
5
|
/** Pass the close event callback to the header close button. */
|
|
6
6
|
onModalClose?: (event: React.MouseEvent<Element, MouseEvent>) => void;
|
|
7
7
|
/** Pass the latest style to body. */
|
|
8
|
-
getBodyStyles?: () => React.CSSProperties;
|
|
9
|
-
/** Whether this Modal is a Drawer */
|
|
10
|
-
isDrawer: boolean;
|
|
8
|
+
getBodyStyles?: () => React.CSSProperties | null;
|
|
11
9
|
}
|
|
12
10
|
export declare const ModalContext: React.Context<ModalContextProps | null>;
|
package/esm/Modal/ModalHeader.js
CHANGED
|
@@ -8,7 +8,9 @@ import { ModalContext } from './ModalContext';
|
|
|
8
8
|
import CloseButton from '../CloseButton';
|
|
9
9
|
import Close from '@rsuite/icons/Close';
|
|
10
10
|
import IconButton from '../IconButton';
|
|
11
|
+
import DrawerContext from '../Drawer/DrawerContext';
|
|
11
12
|
var ModalHeader = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
13
|
+
var _useContext, _useContext2;
|
|
12
14
|
var _props$as = props.as,
|
|
13
15
|
Component = _props$as === void 0 ? 'div' : _props$as,
|
|
14
16
|
_props$classPrefix = props.classPrefix,
|
|
@@ -24,16 +26,17 @@ var ModalHeader = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
24
26
|
withClassPrefix = _useClassNames.withClassPrefix,
|
|
25
27
|
prefix = _useClassNames.prefix;
|
|
26
28
|
var classes = merge(className, withClassPrefix());
|
|
27
|
-
var
|
|
28
|
-
var
|
|
29
|
-
|
|
30
|
-
onClick: createChainedFunction(onClose, context === null || context === void 0 ? void 0 : context.onModalClose)
|
|
31
|
-
}) : /*#__PURE__*/React.createElement(IconButton, {
|
|
29
|
+
var onModalClose = (_useContext = useContext(ModalContext)) === null || _useContext === void 0 ? void 0 : _useContext.onModalClose;
|
|
30
|
+
var isDrawer = (_useContext2 = useContext(DrawerContext)) === null || _useContext2 === void 0 ? void 0 : _useContext2.isDrawer;
|
|
31
|
+
var buttonElement = isDrawer ? /*#__PURE__*/React.createElement(IconButton, {
|
|
32
32
|
icon: /*#__PURE__*/React.createElement(Close, null),
|
|
33
33
|
appearance: "subtle",
|
|
34
34
|
size: "sm",
|
|
35
35
|
className: prefix('close'),
|
|
36
|
-
onClick: createChainedFunction(onClose,
|
|
36
|
+
onClick: createChainedFunction(onClose, onModalClose)
|
|
37
|
+
}) : /*#__PURE__*/React.createElement(CloseButton, {
|
|
38
|
+
className: prefix('close'),
|
|
39
|
+
onClick: createChainedFunction(onClose, onModalClose)
|
|
37
40
|
});
|
|
38
41
|
return /*#__PURE__*/React.createElement(Component, _extends({}, rest, {
|
|
39
42
|
ref: ref,
|
package/esm/Modal/index.d.ts
CHANGED
|
@@ -5,4 +5,5 @@ export type { ModalDialogProps } from './ModalDialog';
|
|
|
5
5
|
export type { ModalFooterProps } from './ModalFooter';
|
|
6
6
|
export type { ModalHeaderProps } from './ModalHeader';
|
|
7
7
|
export type { ModalTitleProps } from './ModalTitle';
|
|
8
|
+
export type { ModalSize } from './utils';
|
|
8
9
|
export default Modal;
|
package/esm/Modal/utils.d.ts
CHANGED
|
@@ -1,6 +1,9 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
|
+
import { TypeAttributes } from '../@types/common';
|
|
3
|
+
export declare type ModalSize = TypeAttributes.Size | 'full' | number | string;
|
|
2
4
|
export declare const useBodyStyles: (ref: React.RefObject<HTMLElement>, options: {
|
|
3
5
|
overflow: boolean;
|
|
4
6
|
drawer: boolean;
|
|
7
|
+
size?: ModalSize | undefined;
|
|
5
8
|
prefix: (...classes: any) => string;
|
|
6
|
-
}) => [import("react").CSSProperties, (entering?: boolean) => void, () => void];
|
|
9
|
+
}) => [import("react").CSSProperties | null, (entering?: boolean) => void, () => void];
|
package/esm/Modal/utils.js
CHANGED
|
@@ -9,7 +9,8 @@ export var useBodyStyles = function useBodyStyles(ref, options) {
|
|
|
9
9
|
setBodyStyles = _useState[1];
|
|
10
10
|
var overflow = options.overflow,
|
|
11
11
|
drawer = options.drawer,
|
|
12
|
-
prefix = options.prefix
|
|
12
|
+
prefix = options.prefix,
|
|
13
|
+
size = options.size;
|
|
13
14
|
var windowResizeListener = useRef();
|
|
14
15
|
var contentElement = useRef(null);
|
|
15
16
|
var contentElementResizeObserver = useRef();
|
|
@@ -46,7 +47,11 @@ export var useBodyStyles = function useBodyStyles(ref, options) {
|
|
|
46
47
|
contentElementResizeObserver.current = null;
|
|
47
48
|
}, []);
|
|
48
49
|
var onChangeBodyStyles = useCallback(function (entering) {
|
|
49
|
-
if (
|
|
50
|
+
if (drawer || size === 'full') {
|
|
51
|
+
setBodyStyles(null);
|
|
52
|
+
return;
|
|
53
|
+
}
|
|
54
|
+
if (overflow && ref.current) {
|
|
50
55
|
updateBodyStyles(undefined, entering);
|
|
51
56
|
contentElement.current = ref.current.querySelector("." + prefix('content'));
|
|
52
57
|
if (!windowResizeListener.current) {
|
|
@@ -59,10 +64,10 @@ export var useBodyStyles = function useBodyStyles(ref, options) {
|
|
|
59
64
|
contentElementResizeObserver.current.observe(contentElement.current);
|
|
60
65
|
}
|
|
61
66
|
}
|
|
62
|
-
}, [drawer, overflow, prefix, ref, updateBodyStyles]);
|
|
67
|
+
}, [drawer, overflow, prefix, ref, size, updateBodyStyles]);
|
|
63
68
|
useEffect(function () {
|
|
64
69
|
return onDestroyEvents;
|
|
65
70
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
66
71
|
}, []);
|
|
67
|
-
return [overflow ? bodyStyles :
|
|
72
|
+
return [overflow ? bodyStyles : null, onChangeBodyStyles, onDestroyEvents];
|
|
68
73
|
};
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import { PickerLocale } from '../locales';
|
|
3
|
-
import { PickerComponent } from '../Picker';
|
|
3
|
+
import { PickerComponent, PickerToggleProps } from '../Picker';
|
|
4
4
|
import { FormControlPickerProps, ItemDataType } from '../@types/common';
|
|
5
5
|
export declare type ValueType = (number | string)[];
|
|
6
|
-
export interface MultiCascaderProps<T = ValueType> extends FormControlPickerProps<T, PickerLocale, ItemDataType> {
|
|
6
|
+
export interface MultiCascaderProps<T = ValueType> extends FormControlPickerProps<T, PickerLocale, ItemDataType>, Pick<PickerToggleProps, 'loading'> {
|
|
7
7
|
cascade?: boolean;
|
|
8
8
|
/** A picker that can be counted */
|
|
9
9
|
countable?: boolean;
|
|
@@ -15,6 +15,7 @@ export interface PickerToggleProps extends ToggleButtonProps {
|
|
|
15
15
|
readOnly?: boolean;
|
|
16
16
|
plaintext?: boolean;
|
|
17
17
|
tabIndex?: number;
|
|
18
|
+
/** Whether to display an loading indicator on toggle button */
|
|
18
19
|
loading?: boolean;
|
|
19
20
|
editable?: boolean;
|
|
20
21
|
name?: string;
|
|
@@ -22,6 +23,7 @@ export interface PickerToggleProps extends ToggleButtonProps {
|
|
|
22
23
|
inputMask?: (string | RegExp)[];
|
|
23
24
|
onInputChange?: (value: string, event: React.ChangeEvent) => void;
|
|
24
25
|
onInputPressEnter?: (event: React.KeyboardEvent<HTMLInputElement>) => void;
|
|
26
|
+
onInputBackspace?: (event: React.KeyboardEvent<HTMLInputElement>) => void;
|
|
25
27
|
onInputBlur?: (event: React.FocusEvent<HTMLElement>) => void;
|
|
26
28
|
onInputFocus?: (event: React.FocusEvent<HTMLElement>) => void;
|
|
27
29
|
placement?: TypeAttributes.Placement;
|
|
@@ -44,6 +44,7 @@ var PickerToggle = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
44
44
|
inputMask = _props$inputMask === void 0 ? defaultInputMask : _props$inputMask,
|
|
45
45
|
onInputChange = props.onInputChange,
|
|
46
46
|
onInputPressEnter = props.onInputPressEnter,
|
|
47
|
+
onInputBackspace = props.onInputBackspace,
|
|
47
48
|
onInputBlur = props.onInputBlur,
|
|
48
49
|
onInputFocus = props.onInputFocus,
|
|
49
50
|
onClean = props.onClean,
|
|
@@ -56,7 +57,7 @@ var PickerToggle = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
56
57
|
caretAs = _props$caretAs === void 0 ? caretComponent : _props$caretAs,
|
|
57
58
|
label = props.label,
|
|
58
59
|
name = props.name,
|
|
59
|
-
rest = _objectWithoutPropertiesLoose(props, ["active", "as", "classPrefix", "children", "caret", "className", "disabled", "readOnly", "plaintext", "hasValue", "editable", "loading", "cleanable", "tabIndex", "id", "value", "inputPlaceholder", "inputValue", "inputMask", "onInputChange", "onInputPressEnter", "onInputBlur", "onInputFocus", "onClean", "onFocus", "onBlur", "placement", "caretComponent", "caretAs", "label", "name"]);
|
|
60
|
+
rest = _objectWithoutPropertiesLoose(props, ["active", "as", "classPrefix", "children", "caret", "className", "disabled", "readOnly", "plaintext", "hasValue", "editable", "loading", "cleanable", "tabIndex", "id", "value", "inputPlaceholder", "inputValue", "inputMask", "onInputChange", "onInputPressEnter", "onInputBackspace", "onInputBlur", "onInputFocus", "onClean", "onFocus", "onBlur", "placement", "caretComponent", "caretAs", "label", "name"]);
|
|
60
61
|
var inputRef = useRef(null);
|
|
61
62
|
var comboboxRef = useRef(null);
|
|
62
63
|
var _useState = useState(false),
|
|
@@ -130,10 +131,15 @@ var PickerToggle = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
130
131
|
onInputChange === null || onInputChange === void 0 ? void 0 : onInputChange(value, event);
|
|
131
132
|
}, [onInputChange]);
|
|
132
133
|
var handleInputKeyDown = useCallback(function (event) {
|
|
133
|
-
if (editable
|
|
134
|
-
|
|
134
|
+
if (editable) {
|
|
135
|
+
if (event.key === KEY_VALUES.ENTER) {
|
|
136
|
+
onInputPressEnter === null || onInputPressEnter === void 0 ? void 0 : onInputPressEnter(event);
|
|
137
|
+
}
|
|
138
|
+
if (event.key === KEY_VALUES.BACKSPACE) {
|
|
139
|
+
onInputBackspace === null || onInputBackspace === void 0 ? void 0 : onInputBackspace(event);
|
|
140
|
+
}
|
|
135
141
|
}
|
|
136
|
-
}, [onInputPressEnter,
|
|
142
|
+
}, [editable, onInputPressEnter, onInputBackspace]);
|
|
137
143
|
var renderInput = useCallback(function (ref, props) {
|
|
138
144
|
return /*#__PURE__*/React.createElement("input", _extends({
|
|
139
145
|
ref: mergeRefs(inputRef, ref),
|
package/esm/Picker/utils.js
CHANGED
|
@@ -354,6 +354,7 @@ export var useToggleKeyDownEvent = function useToggleKeyDownEvent(props) {
|
|
|
354
354
|
active = props.active,
|
|
355
355
|
readOnly = props.readOnly,
|
|
356
356
|
disabled = props.disabled,
|
|
357
|
+
loading = props.loading,
|
|
357
358
|
onExit = props.onExit,
|
|
358
359
|
onOpen = props.onOpen,
|
|
359
360
|
onClose = props.onClose,
|
|
@@ -380,7 +381,7 @@ export var useToggleKeyDownEvent = function useToggleKeyDownEvent(props) {
|
|
|
380
381
|
}, [active, handleOpen, handleClose]);
|
|
381
382
|
var onToggle = useCallback(function (event) {
|
|
382
383
|
// Keyboard events should not be processed when readOnly and disabled are set.
|
|
383
|
-
if (readOnly || disabled) {
|
|
384
|
+
if (readOnly || disabled || loading) {
|
|
384
385
|
return;
|
|
385
386
|
}
|
|
386
387
|
if (event.target === (targetRef === null || targetRef === void 0 ? void 0 : targetRef.current)) {
|
|
@@ -426,7 +427,7 @@ export var useToggleKeyDownEvent = function useToggleKeyDownEvent(props) {
|
|
|
426
427
|
|
|
427
428
|
// Native event callback
|
|
428
429
|
onKeyDown === null || onKeyDown === void 0 ? void 0 : onKeyDown(event);
|
|
429
|
-
}, [readOnly, disabled, targetRef, overlayRef, onKeyDown, toggle, handleToggleDropdown, onExit, onMenuKeyDown, searchInputRef, onMenuPressEnter, onMenuPressBackspace, handleClose]);
|
|
430
|
+
}, [readOnly, disabled, loading, targetRef, overlayRef, onKeyDown, toggle, handleToggleDropdown, onExit, onMenuKeyDown, searchInputRef, onMenuPressEnter, onMenuPressBackspace, handleClose]);
|
|
430
431
|
return onToggle;
|
|
431
432
|
};
|
|
432
433
|
/**
|
|
@@ -6,8 +6,6 @@ import { FormControlPickerProps, ItemDataType } from '../@types/common';
|
|
|
6
6
|
export interface SelectProps<T> {
|
|
7
7
|
/** Set group condition key in data */
|
|
8
8
|
groupBy?: string;
|
|
9
|
-
/** Whether to display an loading indicator on toggle button */
|
|
10
|
-
loading?: boolean;
|
|
11
9
|
/** Whether dispaly search input box */
|
|
12
10
|
searchable?: boolean;
|
|
13
11
|
/** Whether using virtualized list */
|
|
@@ -41,7 +39,7 @@ export interface MultipleSelectProps<T> extends Omit<SelectProps<T>, 'renderValu
|
|
|
41
39
|
/** Custom render selected items */
|
|
42
40
|
renderValue?: (value: T[], item: ItemDataType<T>[], selectedElement: React.ReactNode) => React.ReactNode;
|
|
43
41
|
}
|
|
44
|
-
export interface SelectPickerProps<T> extends Omit<FormControlPickerProps<T, PickerLocale, ItemDataType<T>>, 'value' | 'defaultValue' | 'onChange'>, SelectProps<T>, Pick<PickerToggleProps, 'caretAs' | 'label'> {
|
|
42
|
+
export interface SelectPickerProps<T> extends Omit<FormControlPickerProps<T, PickerLocale, ItemDataType<T>>, 'value' | 'defaultValue' | 'onChange'>, SelectProps<T>, Pick<PickerToggleProps, 'caretAs' | 'label' | 'loading'> {
|
|
45
43
|
/** Initial value */
|
|
46
44
|
defaultValue?: T;
|
|
47
45
|
/** Current value of the component. Creates a controlled component */
|
|
@@ -3,7 +3,7 @@ import { PickerLocale } from '../locales';
|
|
|
3
3
|
import { PickerComponent, PickerToggleProps } from '../Picker';
|
|
4
4
|
import { TreeDragProps, TreeBaseProps } from '../Tree/Tree';
|
|
5
5
|
import { FormControlPickerProps, ItemDataType } from '../@types/common';
|
|
6
|
-
export interface TreePickerProps<T = number | string> extends TreeBaseProps<T, ItemDataType>, TreeDragProps, FormControlPickerProps<T, PickerLocale, ItemDataType>, Pick<PickerToggleProps, 'caretAs'> {
|
|
6
|
+
export interface TreePickerProps<T = number | string> extends TreeBaseProps<T, ItemDataType>, TreeDragProps, FormControlPickerProps<T, PickerLocale, ItemDataType>, Pick<PickerToggleProps, 'caretAs' | 'loading'> {
|
|
7
7
|
/** The height of Dropdown */
|
|
8
8
|
height?: number;
|
|
9
9
|
/** Tree node cascade */
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
'use client';
|
|
2
|
+
import { useMemo } from 'react';
|
|
2
3
|
import toaster from './toaster';
|
|
3
4
|
import { useCustom } from '../utils';
|
|
4
5
|
|
|
@@ -9,24 +10,26 @@ import { useCustom } from '../utils';
|
|
|
9
10
|
var useToaster = function useToaster() {
|
|
10
11
|
var _useCustom = useCustom(),
|
|
11
12
|
toasters = _useCustom.toasters;
|
|
12
|
-
return {
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
13
|
+
return useMemo(function () {
|
|
14
|
+
return {
|
|
15
|
+
push: function push(message, options) {
|
|
16
|
+
var _toasters$current;
|
|
17
|
+
var customToaster = toasters === null || toasters === void 0 ? void 0 : (_toasters$current = toasters.current) === null || _toasters$current === void 0 ? void 0 : _toasters$current.get((options === null || options === void 0 ? void 0 : options.placement) || 'topCenter');
|
|
18
|
+
return customToaster ? customToaster.push(message, options) : toaster.push(message, options);
|
|
19
|
+
},
|
|
20
|
+
remove: function remove(key) {
|
|
21
|
+
toasters ? Array.from(toasters.current).forEach(function (_ref) {
|
|
22
|
+
var c = _ref[1];
|
|
23
|
+
return c === null || c === void 0 ? void 0 : c.remove(key);
|
|
24
|
+
}) : toaster.remove(key);
|
|
25
|
+
},
|
|
26
|
+
clear: function clear() {
|
|
27
|
+
toasters ? Array.from(toasters.current).forEach(function (_ref2) {
|
|
28
|
+
var c = _ref2[1];
|
|
29
|
+
return c === null || c === void 0 ? void 0 : c.clear();
|
|
30
|
+
}) : toaster.clear();
|
|
31
|
+
}
|
|
32
|
+
};
|
|
33
|
+
}, [toasters]);
|
|
31
34
|
};
|
|
32
35
|
export default useToaster;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "rsuite",
|
|
3
|
-
"version": "5.
|
|
3
|
+
"version": "5.45.0",
|
|
4
4
|
"description": "A suite of react components",
|
|
5
5
|
"main": "cjs/index.js",
|
|
6
6
|
"module": "esm/index.js",
|
|
@@ -38,7 +38,7 @@
|
|
|
38
38
|
"prop-types": "^15.8.1",
|
|
39
39
|
"react-use-set": "^1.0.0",
|
|
40
40
|
"react-window": "^1.8.8",
|
|
41
|
-
"rsuite-table": "^5.
|
|
41
|
+
"rsuite-table": "^5.17.0",
|
|
42
42
|
"schema-typed": "^2.1.3"
|
|
43
43
|
},
|
|
44
44
|
"peerDependencies": {
|