rsuite 5.1.0 → 5.2.3
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 +7 -1
- package/CHANGELOG.md +45 -0
- package/PanelGroup/styles/index.less +12 -12
- package/README.md +3 -45
- package/Sidenav/styles/index.less +4 -0
- package/Slider/styles/index.less +20 -14
- package/Toggle/styles/index.less +48 -27
- package/Toggle/styles/mixin.less +16 -14
- package/cjs/@types/common.d.ts +8 -2
- package/cjs/Affix/Affix.js +3 -3
- package/cjs/Animation/Collapse.js +9 -7
- package/cjs/Animation/Transition.js +4 -2
- package/cjs/AutoComplete/AutoComplete.d.ts +2 -2
- package/cjs/AutoComplete/AutoComplete.js +7 -4
- package/cjs/Calendar/TimeDropdown.js +5 -3
- package/cjs/Cascader/Cascader.d.ts +1 -1
- package/cjs/Cascader/DropdownMenu.js +6 -5
- package/cjs/CheckTreePicker/CheckTreeNode.d.ts +1 -1
- package/cjs/CheckTreePicker/CheckTreePicker.d.ts +1 -1
- package/cjs/CheckTreePicker/utils.d.ts +1 -1
- package/cjs/CheckTreePicker/utils.js +7 -6
- package/cjs/Checkbox/Checkbox.d.ts +3 -3
- package/cjs/CheckboxGroup/CheckboxGroup.js +2 -2
- package/cjs/CheckboxGroup/CheckboxGroupContext.d.ts +1 -1
- package/cjs/DOMHelper/index.d.ts +12 -27
- package/cjs/DOMHelper/index.js +4 -3
- package/cjs/DOMHelper/isElement.d.ts +2 -0
- package/cjs/DOMHelper/isElement.js +11 -0
- package/cjs/DatePicker/DatePicker.d.ts +3 -3
- package/cjs/DateRangePicker/Calendar.d.ts +1 -1
- package/cjs/DateRangePicker/DateRangePicker.d.ts +2 -2
- package/cjs/Disclosure/Disclosure.d.ts +1 -1
- package/cjs/Disclosure/DisclosureContext.d.ts +1 -1
- package/cjs/Dropdown/DropdownItem.d.ts +1 -1
- package/cjs/Dropdown/DropdownItem.js +16 -19
- package/cjs/Dropdown/DropdownMenu.d.ts +2 -2
- package/cjs/Dropdown/useRenderDropdownItem.d.ts +2 -0
- package/cjs/Dropdown/useRenderDropdownItem.js +26 -0
- package/cjs/Form/Form.d.ts +1 -1
- package/cjs/FormControl/FormControl.d.ts +9 -3
- package/cjs/Input/Input.d.ts +2 -1
- package/cjs/InputNumber/InputNumber.js +2 -2
- package/cjs/InputPicker/InputPicker.js +3 -3
- package/cjs/List/helper/useSortHelper.js +11 -6
- package/cjs/MaskedInput/MaskedInput.d.ts +5 -42
- package/cjs/MaskedInput/MaskedInput.js +9 -63
- package/cjs/MaskedInput/TextMask.d.ts +43 -0
- package/cjs/MaskedInput/TextMask.js +80 -0
- package/cjs/Menu/Menu.js +46 -34
- package/cjs/Menu/MenuItem.d.ts +1 -1
- package/cjs/Menu/MenuItem.js +16 -12
- package/cjs/Menu/Menubar.d.ts +1 -1
- package/cjs/Message/Message.js +13 -11
- package/cjs/Modal/Modal.js +5 -3
- package/cjs/Modal/utils.js +15 -14
- package/cjs/Notification/Notification.js +6 -3
- package/cjs/Overlay/Modal.js +14 -11
- package/cjs/Overlay/ModalManager.js +19 -7
- package/cjs/Overlay/OverlayTrigger.js +2 -2
- package/cjs/Overlay/Position.js +27 -17
- package/cjs/Overlay/positionUtils.js +16 -8
- package/cjs/Panel/Panel.d.ts +1 -1
- package/cjs/Picker/DropdownMenu.js +10 -6
- package/cjs/Picker/DropdownMenuCheckItem.d.ts +3 -3
- package/cjs/Picker/PickerOverlay.js +5 -3
- package/cjs/Picker/PickerToggle.d.ts +6 -0
- package/cjs/Picker/PickerToggle.js +16 -8
- package/cjs/Picker/SearchBar.d.ts +1 -1
- package/cjs/Picker/utils.d.ts +2 -2
- package/cjs/Radio/Radio.d.ts +1 -1
- package/cjs/RadioGroup/RadioGroup.d.ts +1 -1
- package/cjs/RadioGroup/RadioGroup.js +2 -2
- package/cjs/RangeSlider/RangeSlider.js +9 -5
- package/cjs/Rate/Character.js +2 -2
- package/cjs/Rate/Rate.js +3 -1
- package/cjs/Ripple/Ripple.js +6 -7
- package/cjs/Sidenav/SidenavDropdownItem.d.ts +1 -1
- package/cjs/Sidenav/SidenavDropdownItem.js +17 -10
- package/cjs/Sidenav/SidenavDropdownMenu.d.ts +1 -1
- package/cjs/Slider/Graduated.js +1 -1
- package/cjs/Slider/Handle.js +10 -5
- package/cjs/Slider/ProgressBar.js +1 -1
- package/cjs/Slider/Slider.js +9 -5
- package/cjs/Toggle/Toggle.d.ts +3 -6
- package/cjs/Toggle/Toggle.js +32 -27
- package/cjs/Tree/Tree.d.ts +3 -3
- package/cjs/TreePicker/TreeNode.d.ts +1 -1
- package/cjs/TreePicker/TreeNode.js +2 -2
- package/cjs/TreePicker/TreePicker.d.ts +1 -1
- package/cjs/Uploader/Uploader.d.ts +4 -4
- package/cjs/locales/fa_IR.js +8 -8
- package/cjs/utils/BrowserDetection.js +1 -1
- package/cjs/utils/index.d.ts +1 -0
- package/cjs/utils/index.js +7 -2
- package/cjs/utils/scrollTopAnimation.js +5 -5
- package/cjs/utils/treeUtils.d.ts +2 -2
- package/cjs/utils/useElementResize.d.ts +1 -1
- package/cjs/utils/useElementResize.js +11 -6
- package/cjs/utils/useEventListener.js +4 -2
- package/cjs/utils/useIsMounted.d.ts +2 -0
- package/cjs/utils/useIsMounted.js +22 -0
- package/cjs/utils/usePortal.js +2 -2
- package/cjs/utils/useRootClose.js +10 -10
- package/dist/rsuite-rtl.css +194 -119
- package/dist/rsuite-rtl.min.css +1 -1
- package/dist/rsuite-rtl.min.css.map +1 -1
- package/dist/rsuite.css +194 -119
- package/dist/rsuite.js +703 -504
- 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.LICENSE.txt +9 -0
- package/dist/rsuite.min.js.map +1 -1
- package/esm/@types/common.d.ts +8 -2
- package/esm/Affix/Affix.js +1 -1
- package/esm/Animation/Collapse.js +2 -1
- package/esm/Animation/Transition.js +3 -2
- package/esm/AutoComplete/AutoComplete.d.ts +2 -2
- package/esm/AutoComplete/AutoComplete.js +8 -5
- package/esm/Calendar/TimeDropdown.js +2 -1
- package/esm/Cascader/Cascader.d.ts +1 -1
- package/esm/Cascader/DropdownMenu.js +4 -3
- package/esm/CheckTreePicker/CheckTreeNode.d.ts +1 -1
- package/esm/CheckTreePicker/CheckTreePicker.d.ts +1 -1
- package/esm/CheckTreePicker/utils.d.ts +1 -1
- package/esm/CheckTreePicker/utils.js +7 -6
- package/esm/Checkbox/Checkbox.d.ts +3 -3
- package/esm/CheckboxGroup/CheckboxGroup.js +2 -2
- package/esm/CheckboxGroup/CheckboxGroupContext.d.ts +1 -1
- package/esm/DOMHelper/index.d.ts +12 -27
- package/esm/DOMHelper/index.js +2 -3
- package/esm/DOMHelper/isElement.d.ts +2 -0
- package/esm/DOMHelper/isElement.js +5 -0
- package/esm/DatePicker/DatePicker.d.ts +3 -3
- package/esm/DateRangePicker/Calendar.d.ts +1 -1
- package/esm/DateRangePicker/DateRangePicker.d.ts +2 -2
- package/esm/Disclosure/Disclosure.d.ts +1 -1
- package/esm/Disclosure/DisclosureContext.d.ts +1 -1
- package/esm/Dropdown/DropdownItem.d.ts +1 -1
- package/esm/Dropdown/DropdownItem.js +15 -19
- package/esm/Dropdown/DropdownMenu.d.ts +2 -2
- package/esm/Dropdown/useRenderDropdownItem.d.ts +2 -0
- package/esm/Dropdown/useRenderDropdownItem.js +18 -0
- package/esm/Form/Form.d.ts +1 -1
- package/esm/FormControl/FormControl.d.ts +9 -3
- package/esm/Input/Input.d.ts +2 -1
- package/esm/InputNumber/InputNumber.js +2 -2
- package/esm/InputPicker/InputPicker.js +2 -2
- package/esm/List/helper/useSortHelper.js +8 -4
- package/esm/MaskedInput/MaskedInput.d.ts +5 -42
- package/esm/MaskedInput/MaskedInput.js +9 -63
- package/esm/MaskedInput/TextMask.d.ts +43 -0
- package/esm/MaskedInput/TextMask.js +67 -0
- package/esm/Menu/Menu.js +46 -36
- package/esm/Menu/MenuItem.d.ts +1 -1
- package/esm/Menu/MenuItem.js +16 -12
- package/esm/Menu/Menubar.d.ts +1 -1
- package/esm/Message/Message.js +15 -13
- package/esm/Modal/Modal.js +3 -2
- package/esm/Modal/utils.js +14 -12
- package/esm/Notification/Notification.js +7 -4
- package/esm/Overlay/Modal.js +11 -8
- package/esm/Overlay/ModalManager.js +6 -1
- package/esm/Overlay/OverlayTrigger.js +1 -1
- package/esm/Overlay/Position.js +20 -11
- package/esm/Overlay/positionUtils.js +5 -1
- package/esm/Panel/Panel.d.ts +1 -1
- package/esm/Picker/DropdownMenu.js +3 -1
- package/esm/Picker/DropdownMenuCheckItem.d.ts +3 -3
- package/esm/Picker/PickerOverlay.js +2 -1
- package/esm/Picker/PickerToggle.d.ts +6 -0
- package/esm/Picker/PickerToggle.js +15 -8
- package/esm/Picker/SearchBar.d.ts +1 -1
- package/esm/Picker/utils.d.ts +2 -2
- package/esm/Radio/Radio.d.ts +1 -1
- package/esm/RadioGroup/RadioGroup.d.ts +1 -1
- package/esm/RadioGroup/RadioGroup.js +2 -2
- package/esm/RangeSlider/RangeSlider.js +4 -2
- package/esm/Rate/Character.js +2 -2
- package/esm/Rate/Rate.js +2 -1
- package/esm/Ripple/Ripple.js +4 -3
- package/esm/Sidenav/SidenavDropdownItem.d.ts +1 -1
- package/esm/Sidenav/SidenavDropdownItem.js +16 -10
- package/esm/Sidenav/SidenavDropdownMenu.d.ts +1 -1
- package/esm/Slider/Graduated.js +1 -1
- package/esm/Slider/Handle.js +5 -2
- package/esm/Slider/ProgressBar.js +1 -1
- package/esm/Slider/Slider.js +4 -2
- package/esm/Toggle/Toggle.d.ts +3 -6
- package/esm/Toggle/Toggle.js +34 -29
- package/esm/Tree/Tree.d.ts +3 -3
- package/esm/TreePicker/TreeNode.d.ts +1 -1
- package/esm/TreePicker/TreeNode.js +1 -1
- package/esm/TreePicker/TreePicker.d.ts +1 -1
- package/esm/Uploader/Uploader.d.ts +4 -4
- package/esm/locales/fa_IR.js +8 -8
- package/esm/utils/BrowserDetection.js +1 -1
- package/esm/utils/index.d.ts +1 -0
- package/esm/utils/index.js +2 -1
- package/esm/utils/scrollTopAnimation.js +2 -2
- package/esm/utils/treeUtils.d.ts +2 -2
- package/esm/utils/useElementResize.d.ts +1 -1
- package/esm/utils/useElementResize.js +12 -5
- package/esm/utils/useEventListener.js +1 -1
- package/esm/utils/useIsMounted.d.ts +2 -0
- package/esm/utils/useIsMounted.js +16 -0
- package/esm/utils/usePortal.js +2 -2
- package/esm/utils/useRootClose.js +8 -6
- package/package.json +5 -5
- package/styles/plugins/palette.js +10 -1
|
@@ -1,43 +1,6 @@
|
|
|
1
|
-
import
|
|
2
|
-
import {
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
interface TextMaskProps {
|
|
7
|
-
/**
|
|
8
|
-
* `guide` is a boolean that tells the component whether to be in guide or no guide mode.
|
|
9
|
-
*/
|
|
10
|
-
guide?: boolean;
|
|
11
|
-
/**
|
|
12
|
-
* `mask` is an array or a function that defines how the user input is going to be masked.
|
|
13
|
-
*/
|
|
14
|
-
mask?: MaskType | MaskFunctionType | boolean;
|
|
15
|
-
/**
|
|
16
|
-
* `showMask` is a boolean that tells the Text Mask component to display the mask as a placeholder
|
|
17
|
-
* in place of the regular placeholder when the input element value is empty.
|
|
18
|
-
*/
|
|
19
|
-
showMask?: boolean;
|
|
20
|
-
/** The placeholder character represents the fillable spot in the mask. The default placeholder character is underscore, _. */
|
|
21
|
-
placeholderChar?: string;
|
|
22
|
-
/** `keepCharPositions` changes the general behavior of the Text Mask component. */
|
|
23
|
-
keepCharPositions?: boolean;
|
|
24
|
-
/** You can provide a `pipe` function that will give you the opportunity to modify the conformed value before it is displayed on the screen. */
|
|
25
|
-
pipe?: (conformedValue: string, config: ConfigType) => string;
|
|
26
|
-
}
|
|
27
|
-
export declare type MaskedInputProps = TextMaskProps & React.HTMLAttributes<HTMLInputElement> & {
|
|
28
|
-
/** Custom rendering DOM */
|
|
29
|
-
render?: (ref: React.Ref<HTMLInputElement>, props: React.HTMLAttributes<HTMLInputElement>) => any;
|
|
30
|
-
onChange?: (event: React.ChangeEvent<HTMLInputElement>) => void;
|
|
31
|
-
value?: string | number;
|
|
32
|
-
readOnly?: boolean;
|
|
33
|
-
disabled?: boolean;
|
|
34
|
-
};
|
|
35
|
-
declare const MaskedInput: React.ForwardRefExoticComponent<TextMaskProps & React.HTMLAttributes<HTMLInputElement> & {
|
|
36
|
-
/** Custom rendering DOM */
|
|
37
|
-
render?: (ref: React.Ref<HTMLInputElement>, props: React.HTMLAttributes<HTMLInputElement>) => any;
|
|
38
|
-
onChange?: (event: React.ChangeEvent<HTMLInputElement>) => void;
|
|
39
|
-
value?: string | number;
|
|
40
|
-
readOnly?: boolean;
|
|
41
|
-
disabled?: boolean;
|
|
42
|
-
} & React.RefAttributes<HTMLInputElement>>;
|
|
1
|
+
import { InputProps } from '../Input';
|
|
2
|
+
import type { TextMaskProps } from './TextMask';
|
|
3
|
+
import { RsRefForwardingComponent } from '../@types/common';
|
|
4
|
+
export declare type MaskedInputProps = Omit<TextMaskProps, 'onChange'> & Omit<InputProps, 'type'>;
|
|
5
|
+
declare const MaskedInput: RsRefForwardingComponent<'input', MaskedInputProps>;
|
|
43
6
|
export default MaskedInput;
|
|
@@ -1,80 +1,26 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard");
|
|
4
|
-
|
|
5
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
6
4
|
|
|
7
5
|
exports.__esModule = true;
|
|
8
6
|
exports.default = void 0;
|
|
9
7
|
|
|
10
|
-
var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));
|
|
11
|
-
|
|
12
8
|
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
13
9
|
|
|
14
|
-
var _react =
|
|
15
|
-
|
|
16
|
-
var _omit = _interopRequireDefault(require("lodash/omit"));
|
|
10
|
+
var _react = _interopRequireDefault(require("react"));
|
|
17
11
|
|
|
18
|
-
var
|
|
12
|
+
var _TextMask = _interopRequireDefault(require("./TextMask"));
|
|
19
13
|
|
|
20
|
-
var
|
|
21
|
-
|
|
22
|
-
var _utils = require("../utils");
|
|
23
|
-
|
|
24
|
-
var defaultRender = function defaultRender(ref, props) {
|
|
25
|
-
return /*#__PURE__*/_react.default.createElement("input", (0, _extends2.default)({
|
|
26
|
-
ref: ref
|
|
27
|
-
}, props));
|
|
28
|
-
};
|
|
14
|
+
var _Input = _interopRequireDefault(require("../Input"));
|
|
29
15
|
|
|
30
16
|
var MaskedInput = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
|
|
31
|
-
var
|
|
32
|
-
_props$
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
pipe = props.pipe,
|
|
38
|
-
_props$render = props.render,
|
|
39
|
-
render = _props$render === void 0 ? defaultRender : _props$render,
|
|
40
|
-
onChange = props.onChange,
|
|
41
|
-
rest = (0, _objectWithoutPropertiesLoose2.default)(props, ["mask", "guide", "placeholderChar", "value", "showMask", "pipe", "render", "onChange"]);
|
|
42
|
-
var inputRef = (0, _react.useRef)(null);
|
|
43
|
-
var textMaskInputElement = (0, _react.useRef)();
|
|
44
|
-
var initTextMask = (0, _react.useCallback)(function () {
|
|
45
|
-
var _textMaskInputElement;
|
|
46
|
-
|
|
47
|
-
textMaskInputElement.current = (0, _createTextMaskInputElement.default)((0, _extends2.default)({
|
|
48
|
-
inputElement: inputRef.current
|
|
49
|
-
}, props));
|
|
50
|
-
(_textMaskInputElement = textMaskInputElement.current) === null || _textMaskInputElement === void 0 ? void 0 : _textMaskInputElement.update(value);
|
|
51
|
-
}, [props, value]);
|
|
52
|
-
var handleChange = (0, _react.useCallback)(function (event) {
|
|
53
|
-
var _textMaskInputElement2;
|
|
54
|
-
|
|
55
|
-
(_textMaskInputElement2 = textMaskInputElement.current) === null || _textMaskInputElement2 === void 0 ? void 0 : _textMaskInputElement2.update();
|
|
56
|
-
onChange === null || onChange === void 0 ? void 0 : onChange(event);
|
|
57
|
-
}, [onChange]);
|
|
58
|
-
(0, _react.useEffect)(function () {
|
|
59
|
-
initTextMask();
|
|
60
|
-
}, [guide, placeholderChar, showMask, pipe, mask, value, initTextMask]);
|
|
61
|
-
return render((0, _utils.mergeRefs)(inputRef, ref), (0, _extends2.default)({
|
|
62
|
-
onChange: handleChange,
|
|
63
|
-
defaultValue: value
|
|
64
|
-
}, (0, _omit.default)(rest, ['keepCharPositions'])));
|
|
17
|
+
var _props$as = props.as,
|
|
18
|
+
inputAs = _props$as === void 0 ? _TextMask.default : _props$as;
|
|
19
|
+
return /*#__PURE__*/_react.default.createElement(_Input.default, (0, _extends2.default)({}, props, {
|
|
20
|
+
as: inputAs,
|
|
21
|
+
ref: ref
|
|
22
|
+
}));
|
|
65
23
|
});
|
|
66
24
|
|
|
67
|
-
MaskedInput.displayName = 'MaskedInput';
|
|
68
|
-
MaskedInput.propTypes = {
|
|
69
|
-
render: _propTypes.default.func,
|
|
70
|
-
onChange: _propTypes.default.func,
|
|
71
|
-
mask: _propTypes.default.oneOfType([_propTypes.default.array, _propTypes.default.func, _propTypes.default.bool]).isRequired,
|
|
72
|
-
guide: _propTypes.default.bool,
|
|
73
|
-
value: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.number]),
|
|
74
|
-
pipe: _propTypes.default.func,
|
|
75
|
-
placeholderChar: _propTypes.default.string,
|
|
76
|
-
keepCharPositions: _propTypes.default.bool,
|
|
77
|
-
showMask: _propTypes.default.bool
|
|
78
|
-
};
|
|
79
25
|
var _default = MaskedInput;
|
|
80
26
|
exports.default = _default;
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { MaskType, MaskFunctionType, ConfigType } from './types';
|
|
3
|
+
/**
|
|
4
|
+
* https://github.com/text-mask/text-mask/blob/master/componentDocumentation.md#guide
|
|
5
|
+
*/
|
|
6
|
+
interface TextMaskBaseProps {
|
|
7
|
+
/**
|
|
8
|
+
* `guide` is a boolean that tells the component whether to be in guide or no guide mode.
|
|
9
|
+
*/
|
|
10
|
+
guide?: boolean;
|
|
11
|
+
/**
|
|
12
|
+
* `mask` is an array or a function that defines how the user input is going to be masked.
|
|
13
|
+
*/
|
|
14
|
+
mask?: MaskType | MaskFunctionType | boolean;
|
|
15
|
+
/**
|
|
16
|
+
* `showMask` is a boolean that tells the Text Mask component to display the mask as a placeholder
|
|
17
|
+
* in place of the regular placeholder when the input element value is empty.
|
|
18
|
+
*/
|
|
19
|
+
showMask?: boolean;
|
|
20
|
+
/** The placeholder character represents the fillable spot in the mask. The default placeholder character is underscore, _. */
|
|
21
|
+
placeholderChar?: string;
|
|
22
|
+
/** `keepCharPositions` changes the general behavior of the Text Mask component. */
|
|
23
|
+
keepCharPositions?: boolean;
|
|
24
|
+
/** You can provide a `pipe` function that will give you the opportunity to modify the conformed value before it is displayed on the screen. */
|
|
25
|
+
pipe?: (conformedValue: string, config: ConfigType) => string;
|
|
26
|
+
}
|
|
27
|
+
export declare type TextMaskProps = TextMaskBaseProps & React.HTMLAttributes<HTMLInputElement> & {
|
|
28
|
+
/** Custom rendering DOM */
|
|
29
|
+
render?: (ref: React.Ref<HTMLInputElement>, props: React.HTMLAttributes<HTMLInputElement>) => any;
|
|
30
|
+
onChange?: (event: React.ChangeEvent<HTMLInputElement>) => void;
|
|
31
|
+
value?: string | number;
|
|
32
|
+
readOnly?: boolean;
|
|
33
|
+
disabled?: boolean;
|
|
34
|
+
};
|
|
35
|
+
declare const TextMask: React.ForwardRefExoticComponent<TextMaskBaseProps & React.HTMLAttributes<HTMLInputElement> & {
|
|
36
|
+
/** Custom rendering DOM */
|
|
37
|
+
render?: (ref: React.Ref<HTMLInputElement>, props: React.HTMLAttributes<HTMLInputElement>) => any;
|
|
38
|
+
onChange?: (event: React.ChangeEvent<HTMLInputElement>) => void;
|
|
39
|
+
value?: string | number;
|
|
40
|
+
readOnly?: boolean;
|
|
41
|
+
disabled?: boolean;
|
|
42
|
+
} & React.RefAttributes<HTMLInputElement>>;
|
|
43
|
+
export default TextMask;
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard");
|
|
4
|
+
|
|
5
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
6
|
+
|
|
7
|
+
exports.__esModule = true;
|
|
8
|
+
exports.default = void 0;
|
|
9
|
+
|
|
10
|
+
var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));
|
|
11
|
+
|
|
12
|
+
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
13
|
+
|
|
14
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
15
|
+
|
|
16
|
+
var _omit = _interopRequireDefault(require("lodash/omit"));
|
|
17
|
+
|
|
18
|
+
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
19
|
+
|
|
20
|
+
var _createTextMaskInputElement = _interopRequireDefault(require("./createTextMaskInputElement"));
|
|
21
|
+
|
|
22
|
+
var _utils = require("../utils");
|
|
23
|
+
|
|
24
|
+
var defaultRender = function defaultRender(ref, props) {
|
|
25
|
+
return /*#__PURE__*/_react.default.createElement("input", (0, _extends2.default)({
|
|
26
|
+
ref: ref
|
|
27
|
+
}, props));
|
|
28
|
+
};
|
|
29
|
+
|
|
30
|
+
var TextMask = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
|
|
31
|
+
var mask = props.mask,
|
|
32
|
+
_props$guide = props.guide,
|
|
33
|
+
guide = _props$guide === void 0 ? true : _props$guide,
|
|
34
|
+
placeholderChar = props.placeholderChar,
|
|
35
|
+
value = props.value,
|
|
36
|
+
showMask = props.showMask,
|
|
37
|
+
pipe = props.pipe,
|
|
38
|
+
_props$render = props.render,
|
|
39
|
+
render = _props$render === void 0 ? defaultRender : _props$render,
|
|
40
|
+
onChange = props.onChange,
|
|
41
|
+
rest = (0, _objectWithoutPropertiesLoose2.default)(props, ["mask", "guide", "placeholderChar", "value", "showMask", "pipe", "render", "onChange"]);
|
|
42
|
+
var inputRef = (0, _react.useRef)(null);
|
|
43
|
+
var textMaskInputElement = (0, _react.useRef)();
|
|
44
|
+
var initTextMask = (0, _react.useCallback)(function () {
|
|
45
|
+
var _textMaskInputElement;
|
|
46
|
+
|
|
47
|
+
textMaskInputElement.current = (0, _createTextMaskInputElement.default)((0, _extends2.default)({
|
|
48
|
+
inputElement: inputRef.current
|
|
49
|
+
}, props));
|
|
50
|
+
(_textMaskInputElement = textMaskInputElement.current) === null || _textMaskInputElement === void 0 ? void 0 : _textMaskInputElement.update(value);
|
|
51
|
+
}, [props, value]);
|
|
52
|
+
var handleChange = (0, _react.useCallback)(function (event) {
|
|
53
|
+
var _textMaskInputElement2;
|
|
54
|
+
|
|
55
|
+
(_textMaskInputElement2 = textMaskInputElement.current) === null || _textMaskInputElement2 === void 0 ? void 0 : _textMaskInputElement2.update();
|
|
56
|
+
onChange === null || onChange === void 0 ? void 0 : onChange(event);
|
|
57
|
+
}, [onChange]);
|
|
58
|
+
(0, _react.useEffect)(function () {
|
|
59
|
+
initTextMask();
|
|
60
|
+
}, [guide, placeholderChar, showMask, pipe, mask, value, initTextMask]);
|
|
61
|
+
return render((0, _utils.mergeRefs)(inputRef, ref), (0, _extends2.default)({
|
|
62
|
+
onChange: handleChange,
|
|
63
|
+
defaultValue: value
|
|
64
|
+
}, (0, _omit.default)(rest, ['keepCharPositions'])));
|
|
65
|
+
});
|
|
66
|
+
|
|
67
|
+
TextMask.displayName = 'TextMask';
|
|
68
|
+
TextMask.propTypes = {
|
|
69
|
+
render: _propTypes.default.func,
|
|
70
|
+
onChange: _propTypes.default.func,
|
|
71
|
+
mask: _propTypes.default.oneOfType([_propTypes.default.array, _propTypes.default.func, _propTypes.default.bool]).isRequired,
|
|
72
|
+
guide: _propTypes.default.bool,
|
|
73
|
+
value: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.number]),
|
|
74
|
+
pipe: _propTypes.default.func,
|
|
75
|
+
placeholderChar: _propTypes.default.string,
|
|
76
|
+
keepCharPositions: _propTypes.default.bool,
|
|
77
|
+
showMask: _propTypes.default.bool
|
|
78
|
+
};
|
|
79
|
+
var _default = TextMask;
|
|
80
|
+
exports.default = _default;
|
package/cjs/Menu/Menu.js
CHANGED
|
@@ -21,7 +21,7 @@ var _useUniqueId = _interopRequireDefault(require("../utils/useUniqueId"));
|
|
|
21
21
|
|
|
22
22
|
var _useMenu = _interopRequireDefault(require("./useMenu"));
|
|
23
23
|
|
|
24
|
-
var
|
|
24
|
+
var _useFocus2 = _interopRequireDefault(require("../utils/useFocus"));
|
|
25
25
|
|
|
26
26
|
var _useClickOutside = _interopRequireDefault(require("../utils/useClickOutside"));
|
|
27
27
|
|
|
@@ -60,7 +60,10 @@ function Menu(props) {
|
|
|
60
60
|
rtl = _useCustom.rtl;
|
|
61
61
|
|
|
62
62
|
var activeItem = (_items$activeItemInde = items[activeItemIndex]) === null || _items$activeItemInde === void 0 ? void 0 : _items$activeItemInde.element;
|
|
63
|
-
|
|
63
|
+
|
|
64
|
+
var _useFocus = (0, _useFocus2.default)(menuElementRef),
|
|
65
|
+
grabFocus = _useFocus.grab;
|
|
66
|
+
|
|
64
67
|
var openMenu = (0, _react.useCallback)(function (event) {
|
|
65
68
|
dispatch({
|
|
66
69
|
type: _MenuContext.MenuActionTypes.OpenMenu
|
|
@@ -74,8 +77,8 @@ function Menu(props) {
|
|
|
74
77
|
}
|
|
75
78
|
|
|
76
79
|
onToggleMenu === null || onToggleMenu === void 0 ? void 0 : onToggleMenu(true, event);
|
|
77
|
-
|
|
78
|
-
}, [dispatch, onToggleMenu,
|
|
80
|
+
grabFocus();
|
|
81
|
+
}, [dispatch, onToggleMenu, grabFocus]);
|
|
79
82
|
var closeMenu = (0, _react.useCallback)(function (event, returnFocusToButton) {
|
|
80
83
|
if (returnFocusToButton === void 0) {
|
|
81
84
|
returnFocusToButton = true;
|
|
@@ -170,39 +173,48 @@ function Menu(props) {
|
|
|
170
173
|
if (disabled) return;
|
|
171
174
|
openMenu(event);
|
|
172
175
|
}, [open, disabled, openMenu]);
|
|
173
|
-
var buttonEventHandlers = {
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
176
|
+
var buttonEventHandlers = (0, _react.useMemo)(function () {
|
|
177
|
+
var buttonEventHandlers = {
|
|
178
|
+
onKeyDown: handleButtonKeydown
|
|
179
|
+
};
|
|
180
|
+
/**
|
|
181
|
+
* Bind event of trigger,
|
|
182
|
+
* not used in in the expanded state of '<Sidenav>'
|
|
183
|
+
*/
|
|
184
|
+
|
|
185
|
+
if (openMenuOn !== null && openMenuOn !== void 0 && openMenuOn.includes('click')) {
|
|
186
|
+
buttonEventHandlers.onClick = handleButtonClick;
|
|
187
|
+
}
|
|
184
188
|
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
189
|
+
if (openMenuOn !== null && openMenuOn !== void 0 && openMenuOn.includes('contextmenu')) {
|
|
190
|
+
buttonEventHandlers.onContextMenu = handleButtonContextMenu;
|
|
191
|
+
}
|
|
188
192
|
|
|
193
|
+
return buttonEventHandlers;
|
|
194
|
+
}, [openMenuOn, handleButtonKeydown, handleButtonClick, handleButtonContextMenu]);
|
|
189
195
|
var buttonId = (0, _useUniqueId.default)('menubutton-');
|
|
190
|
-
var menuId = (0, _useUniqueId.default)('menu-');
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
196
|
+
var menuId = (0, _useUniqueId.default)('menu-');
|
|
197
|
+
var buttonAriaAttributes = (0, _react.useMemo)(function () {
|
|
198
|
+
// Ref: https://www.w3.org/TR/wai-aria-practices-1.2/#wai-aria-roles-states-and-properties-14
|
|
199
|
+
return {
|
|
200
|
+
role: 'button',
|
|
201
|
+
'aria-haspopup': 'menu',
|
|
202
|
+
'aria-expanded': open || undefined,
|
|
203
|
+
// it's recommend to remove aria-expanded when menu is hidden
|
|
204
|
+
'aria-controls': menuId
|
|
205
|
+
};
|
|
206
|
+
}, [open, menuId]);
|
|
207
|
+
var buttonProps = (0, _react.useMemo)(function () {
|
|
208
|
+
return (0, _extends2.default)({
|
|
209
|
+
id: buttonId
|
|
210
|
+
}, buttonAriaAttributes, buttonEventHandlers, {
|
|
211
|
+
// render props
|
|
212
|
+
open: open
|
|
213
|
+
});
|
|
214
|
+
}, [buttonId, buttonAriaAttributes, buttonEventHandlers, open]);
|
|
215
|
+
var customMenuButton = (0, _react.useMemo)(function () {
|
|
216
|
+
return renderMenuButton === null || renderMenuButton === void 0 ? void 0 : renderMenuButton(buttonProps, buttonElementRef);
|
|
217
|
+
}, [renderMenuButton, buttonProps, buttonElementRef]);
|
|
206
218
|
var buttonElement = customMenuButton !== null && customMenuButton !== void 0 ? customMenuButton : /*#__PURE__*/_react.default.createElement("button", (0, _extends2.default)({
|
|
207
219
|
ref: buttonElementRef
|
|
208
220
|
}, buttonProps), menuButtonText);
|
package/cjs/Menu/MenuItem.d.ts
CHANGED
|
@@ -8,7 +8,7 @@ export interface MenuItemProps {
|
|
|
8
8
|
/** Render prop */
|
|
9
9
|
children: (menuitem: React.LiHTMLAttributes<HTMLLIElement> & MenuitemRenderProps, ref: React.Ref<HTMLLIElement>) => React.ReactElement;
|
|
10
10
|
/** Callback when menuitem is being activated */
|
|
11
|
-
onActivate?: (event: React.SyntheticEvent
|
|
11
|
+
onActivate?: (event: React.SyntheticEvent) => void;
|
|
12
12
|
}
|
|
13
13
|
export interface MenuitemRenderProps {
|
|
14
14
|
selected: boolean;
|
package/cjs/Menu/MenuItem.js
CHANGED
|
@@ -44,20 +44,24 @@ function MenuItem(props) {
|
|
|
44
44
|
}, [disabled, onActivate]); // Gain/release focus on mousedown in `menubar`
|
|
45
45
|
|
|
46
46
|
var handleMouseDown = (0, _react.useCallback)(function () {
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
47
|
+
if (!hasFocus) {
|
|
48
|
+
dispatch({
|
|
49
|
+
type: _MenuContext.MenuActionTypes.MoveFocus,
|
|
50
|
+
to: _MenuContext.MoveFocusTo.Specific,
|
|
51
|
+
id: menuitemRef.current.id
|
|
52
|
+
});
|
|
53
|
+
}
|
|
54
|
+
}, [hasFocus, dispatch]); // Gain/release focus on mouseenter/mouseleave in `menu`
|
|
53
55
|
|
|
54
56
|
var handleMouseMove = (0, _react.useCallback)(function () {
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
57
|
+
if (!hasFocus) {
|
|
58
|
+
dispatch({
|
|
59
|
+
type: _MenuContext.MenuActionTypes.MoveFocus,
|
|
60
|
+
to: _MenuContext.MoveFocusTo.Specific,
|
|
61
|
+
id: menuitemRef.current.id
|
|
62
|
+
});
|
|
63
|
+
}
|
|
64
|
+
}, [hasFocus, dispatch]);
|
|
61
65
|
var handleMouseLeave = (0, _react.useCallback)(function () {
|
|
62
66
|
dispatch({
|
|
63
67
|
type: _MenuContext.MenuActionTypes.MoveFocus,
|
package/cjs/Menu/Menubar.d.ts
CHANGED
|
@@ -5,6 +5,6 @@ export interface MenubarProps {
|
|
|
5
5
|
/** Render prop */
|
|
6
6
|
children: (menubar: React.HTMLAttributes<HTMLUListElement>, ref: React.Ref<HTMLUListElement>) => React.ReactElement;
|
|
7
7
|
/** Callback triggered when an item is being activated */
|
|
8
|
-
onActivateItem?: (event: React.SyntheticEvent
|
|
8
|
+
onActivateItem?: (event: React.SyntheticEvent) => void;
|
|
9
9
|
}
|
|
10
10
|
export default function Menubar({ vertical, children, onActivateItem }: MenubarProps): JSX.Element;
|
package/cjs/Message/Message.js
CHANGED
|
@@ -50,12 +50,24 @@ var Message = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
|
|
|
50
50
|
var _useClassNames = (0, _utils.useClassNames)(classPrefix),
|
|
51
51
|
withClassPrefix = _useClassNames.withClassPrefix,
|
|
52
52
|
merge = _useClassNames.merge,
|
|
53
|
-
prefix = _useClassNames.prefix;
|
|
53
|
+
prefix = _useClassNames.prefix;
|
|
54
54
|
|
|
55
|
+
var isMounted = (0, _utils.useIsMounted)(); // Timed close message
|
|
55
56
|
|
|
56
57
|
var _useTimeout = (0, _utils.useTimeout)(onClose, duration, duration > 0),
|
|
57
58
|
clear = _useTimeout.clear;
|
|
58
59
|
|
|
60
|
+
var handleClose = (0, _react.useCallback)(function (event) {
|
|
61
|
+
setDisplay('hiding');
|
|
62
|
+
onClose === null || onClose === void 0 ? void 0 : onClose(event);
|
|
63
|
+
clear();
|
|
64
|
+
setTimeout(function () {
|
|
65
|
+
if (isMounted()) {
|
|
66
|
+
setDisplay('hide');
|
|
67
|
+
}
|
|
68
|
+
}, 1000);
|
|
69
|
+
}, [clear, isMounted, onClose]);
|
|
70
|
+
|
|
59
71
|
if (display === 'hide') {
|
|
60
72
|
return null;
|
|
61
73
|
}
|
|
@@ -63,16 +75,6 @@ var Message = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
|
|
|
63
75
|
var classes = merge(className, withClassPrefix(type, display, (_withClassPrefix = {
|
|
64
76
|
full: full
|
|
65
77
|
}, _withClassPrefix['has-title'] = header, _withClassPrefix['has-icon'] = showIcon, _withClassPrefix)));
|
|
66
|
-
|
|
67
|
-
var handleClose = function handleClose(event) {
|
|
68
|
-
setDisplay('hiding');
|
|
69
|
-
onClose === null || onClose === void 0 ? void 0 : onClose(event);
|
|
70
|
-
clear();
|
|
71
|
-
setTimeout(function () {
|
|
72
|
-
setDisplay('hide');
|
|
73
|
-
}, 1000);
|
|
74
|
-
};
|
|
75
|
-
|
|
76
78
|
return /*#__PURE__*/_react.default.createElement(Component, (0, _extends2.default)({
|
|
77
79
|
role: "alert"
|
|
78
80
|
}, rest, {
|
package/cjs/Modal/Modal.js
CHANGED
|
@@ -19,6 +19,10 @@ var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
|
19
19
|
|
|
20
20
|
var _pick = _interopRequireDefault(require("lodash/pick"));
|
|
21
21
|
|
|
22
|
+
var _on = _interopRequireDefault(require("dom-lib/on"));
|
|
23
|
+
|
|
24
|
+
var _getTransitionEnd = _interopRequireDefault(require("dom-lib/getTransitionEnd"));
|
|
25
|
+
|
|
22
26
|
var _Modal = _interopRequireWildcard(require("../Overlay/Modal"));
|
|
23
27
|
|
|
24
28
|
var _Bounce = _interopRequireDefault(require("../Animation/Bounce"));
|
|
@@ -37,8 +41,6 @@ var _ModalTitle = _interopRequireDefault(require("./ModalTitle"));
|
|
|
37
41
|
|
|
38
42
|
var _ModalFooter = _interopRequireDefault(require("./ModalFooter"));
|
|
39
43
|
|
|
40
|
-
var _DOMHelper = _interopRequireDefault(require("../DOMHelper"));
|
|
41
|
-
|
|
42
44
|
var _utils2 = require("./utils");
|
|
43
45
|
|
|
44
46
|
var _useUniqueId = _interopRequireDefault(require("../utils/useUniqueId"));
|
|
@@ -122,7 +124,7 @@ var Modal = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
|
|
|
122
124
|
// When the value of `backdrop` is `static`, a jitter animation will be added to the dialog when clicked.
|
|
123
125
|
if (backdrop === 'static') {
|
|
124
126
|
setShake(true);
|
|
125
|
-
transitionEndListener.current =
|
|
127
|
+
transitionEndListener.current = (0, _on.default)(dialogRef.current, (0, _getTransitionEnd.default)(), function () {
|
|
126
128
|
setShake(false);
|
|
127
129
|
});
|
|
128
130
|
}
|
package/cjs/Modal/utils.js
CHANGED
|
@@ -2,16 +2,16 @@
|
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
4
|
|
|
5
|
-
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard");
|
|
6
|
-
|
|
7
5
|
exports.__esModule = true;
|
|
8
6
|
exports.useBodyStyles = void 0;
|
|
9
7
|
|
|
10
8
|
var _react = require("react");
|
|
11
9
|
|
|
12
|
-
var
|
|
10
|
+
var _getHeight = _interopRequireDefault(require("dom-lib/getHeight"));
|
|
11
|
+
|
|
12
|
+
var _on = _interopRequireDefault(require("dom-lib/on"));
|
|
13
13
|
|
|
14
|
-
var
|
|
14
|
+
var _resizeObserver = require("@juggle/resize-observer");
|
|
15
15
|
|
|
16
16
|
var useBodyStyles = function useBodyStyles(ref, options) {
|
|
17
17
|
var _useState = (0, _react.useState)({}),
|
|
@@ -23,6 +23,7 @@ var useBodyStyles = function useBodyStyles(ref, options) {
|
|
|
23
23
|
prefix = options.prefix;
|
|
24
24
|
var windowResizeListener = (0, _react.useRef)();
|
|
25
25
|
var contentElement = (0, _react.useRef)();
|
|
26
|
+
var contentElementResizeObserver = (0, _react.useRef)();
|
|
26
27
|
var updateBodyStyles = (0, _react.useCallback)(function (_event, entering) {
|
|
27
28
|
var dialog = ref.current;
|
|
28
29
|
var scrollHeight = dialog ? dialog.scrollHeight : 0;
|
|
@@ -36,14 +37,14 @@ var useBodyStyles = function useBodyStyles(ref, options) {
|
|
|
36
37
|
var footerHeight = 46;
|
|
37
38
|
var headerDOM = dialog.querySelector("." + prefix('header'));
|
|
38
39
|
var footerDOM = dialog.querySelector("." + prefix('footer'));
|
|
39
|
-
headerHeight = headerDOM ?
|
|
40
|
-
footerHeight = footerDOM ?
|
|
40
|
+
headerHeight = headerDOM ? (0, _getHeight.default)(headerDOM) + headerHeight : headerHeight;
|
|
41
|
+
footerHeight = footerDOM ? (0, _getHeight.default)(footerDOM) + footerHeight : footerHeight;
|
|
41
42
|
/**
|
|
42
43
|
* Header height + Footer height + Dialog margin
|
|
43
44
|
*/
|
|
44
45
|
|
|
45
46
|
var excludeHeight = headerHeight + footerHeight + (entering ? 70 : 60);
|
|
46
|
-
var bodyHeight =
|
|
47
|
+
var bodyHeight = (0, _getHeight.default)(window) - excludeHeight;
|
|
47
48
|
var maxHeight = scrollHeight >= bodyHeight ? bodyHeight : scrollHeight;
|
|
48
49
|
styles.maxHeight = maxHeight;
|
|
49
50
|
}
|
|
@@ -51,13 +52,10 @@ var useBodyStyles = function useBodyStyles(ref, options) {
|
|
|
51
52
|
setBodyStyles(styles);
|
|
52
53
|
}, [prefix, ref]);
|
|
53
54
|
var onDestroyEvents = (0, _react.useCallback)(function () {
|
|
54
|
-
var _windowResizeListener, _windowResizeListener2;
|
|
55
|
+
var _windowResizeListener, _windowResizeListener2, _contentElementResize;
|
|
55
56
|
|
|
56
57
|
(_windowResizeListener = windowResizeListener.current) === null || _windowResizeListener === void 0 ? void 0 : (_windowResizeListener2 = _windowResizeListener.off) === null || _windowResizeListener2 === void 0 ? void 0 : _windowResizeListener2.call(_windowResizeListener);
|
|
57
|
-
|
|
58
|
-
if (contentElement.current) {
|
|
59
|
-
(0, _elementResizeEvent.unbind)(contentElement.current);
|
|
60
|
-
}
|
|
58
|
+
(_contentElementResize = contentElementResizeObserver.current) === null || _contentElementResize === void 0 ? void 0 : _contentElementResize.disconnect();
|
|
61
59
|
}, []);
|
|
62
60
|
var onChangeBodyStyles = (0, _react.useCallback)(function (entering) {
|
|
63
61
|
if (overflow && !drawer) {
|
|
@@ -65,8 +63,11 @@ var useBodyStyles = function useBodyStyles(ref, options) {
|
|
|
65
63
|
|
|
66
64
|
updateBodyStyles(null, entering);
|
|
67
65
|
contentElement.current = (_ref$current = ref.current) === null || _ref$current === void 0 ? void 0 : _ref$current.querySelector("." + prefix('content'));
|
|
68
|
-
windowResizeListener.current =
|
|
69
|
-
|
|
66
|
+
windowResizeListener.current = (0, _on.default)(window, 'resize', updateBodyStyles);
|
|
67
|
+
contentElementResizeObserver.current = new _resizeObserver.ResizeObserver(function () {
|
|
68
|
+
return updateBodyStyles();
|
|
69
|
+
});
|
|
70
|
+
contentElementResizeObserver.current.observe(contentElement.current);
|
|
70
71
|
}
|
|
71
72
|
}, [drawer, overflow, prefix, ref, updateBodyStyles]);
|
|
72
73
|
(0, _react.useEffect)(function () {
|
|
@@ -45,8 +45,9 @@ var Notification = /*#__PURE__*/_react.default.forwardRef(function (props, ref)
|
|
|
45
45
|
var _useClassNames = (0, _utils.useClassNames)(classPrefix),
|
|
46
46
|
withClassPrefix = _useClassNames.withClassPrefix,
|
|
47
47
|
merge = _useClassNames.merge,
|
|
48
|
-
prefix = _useClassNames.prefix;
|
|
48
|
+
prefix = _useClassNames.prefix;
|
|
49
49
|
|
|
50
|
+
var isMounted = (0, _utils.useIsMounted)(); // Timed close message
|
|
50
51
|
|
|
51
52
|
var _useTimeout = (0, _utils.useTimeout)(onClose, duration, duration > 0),
|
|
52
53
|
clear = _useTimeout.clear; // Click to trigger to close the message
|
|
@@ -57,9 +58,11 @@ var Notification = /*#__PURE__*/_react.default.forwardRef(function (props, ref)
|
|
|
57
58
|
onClose === null || onClose === void 0 ? void 0 : onClose(event);
|
|
58
59
|
clear();
|
|
59
60
|
setTimeout(function () {
|
|
60
|
-
|
|
61
|
+
if (isMounted()) {
|
|
62
|
+
setDisplay('hide');
|
|
63
|
+
}
|
|
61
64
|
}, 1000);
|
|
62
|
-
}, [onClose, clear]);
|
|
65
|
+
}, [onClose, clear, isMounted]);
|
|
63
66
|
var renderHeader = (0, _react.useCallback)(function () {
|
|
64
67
|
if (!header) {
|
|
65
68
|
return null;
|