rsuite 5.2.1 → 5.2.2
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 +6 -0
- package/CHANGELOG.md +12 -0
- package/PanelGroup/styles/index.less +12 -12
- package/cjs/Dropdown/DropdownItem.js +2 -1
- 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/Modal/utils.js +9 -10
- package/cjs/Overlay/Position.js +7 -4
- package/cjs/Picker/PickerToggle.js +2 -2
- package/cjs/utils/useElementResize.d.ts +1 -1
- package/cjs/utils/useElementResize.js +7 -5
- package/dist/rsuite-rtl.css +45 -3
- package/dist/rsuite-rtl.min.css +1 -1
- package/dist/rsuite-rtl.min.css.map +1 -1
- package/dist/rsuite.css +45 -3
- package/dist/rsuite.js +311 -354
- 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/Dropdown/DropdownItem.js +2 -1
- 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/Modal/utils.js +8 -7
- package/esm/Overlay/Position.js +6 -3
- package/esm/Picker/PickerToggle.js +2 -2
- package/esm/utils/useElementResize.d.ts +1 -1
- package/esm/utils/useElementResize.js +8 -4
- package/package.json +3 -3
package/Button/styles/index.less
CHANGED
|
@@ -180,6 +180,9 @@ each(@spectrum, .(@color) {
|
|
|
180
180
|
--rs-btn-link-text: @C700;
|
|
181
181
|
--rs-btn-link-hover-text: @C800;
|
|
182
182
|
--rs-btn-link-active-text: @C900;
|
|
183
|
+
--rs-iconbtn-primary-addon: @C600;
|
|
184
|
+
--rs-iconbtn-primary-activated-addon: @C700;
|
|
185
|
+
--rs-iconbtn-primary-pressed-addon: @C800;
|
|
183
186
|
|
|
184
187
|
.dark-mode({
|
|
185
188
|
--rs-btn-primary-bg: @C700;
|
|
@@ -198,6 +201,9 @@ each(@spectrum, .(@color) {
|
|
|
198
201
|
--rs-btn-link-text: @C500;
|
|
199
202
|
--rs-btn-link-hover-text: @C400;
|
|
200
203
|
--rs-btn-link-active-text: @C200;
|
|
204
|
+
--rs-iconbtn-primary-addon: @C600;
|
|
205
|
+
--rs-iconbtn-primary-activated-addon: @C500;
|
|
206
|
+
--rs-iconbtn-primary-pressed-addon: @C400;
|
|
201
207
|
});
|
|
202
208
|
|
|
203
209
|
.high-contrast-mode({
|
package/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,15 @@
|
|
|
1
|
+
## [5.2.2](https://github.com/rsuite/rsuite/compare/v5.2.1...v5.2.2) (2021-11-19)
|
|
2
|
+
|
|
3
|
+
### Bug Fixes
|
|
4
|
+
|
|
5
|
+
- **Dropdown:** dropdown item panel not rendering content ([#2128](https://github.com/rsuite/rsuite/issues/2128)) ([6631500](https://github.com/rsuite/rsuite/commit/6631500c74b0305026931a6379980fda9b587c6e))
|
|
6
|
+
- **IconButton:** primary icon button with text wrong bg ([#2141](https://github.com/rsuite/rsuite/issues/2141)) ([fde0cd4](https://github.com/rsuite/rsuite/commit/fde0cd4bce84c8f5d054d1722e9dfa61de49a7fa))
|
|
7
|
+
- **PanelGroup:** missing border for nested panels ([#2142](https://github.com/rsuite/rsuite/issues/2142)) ([225821f](https://github.com/rsuite/rsuite/commit/225821f2cdeba8637d70f4626f02ae1acd93eb24))
|
|
8
|
+
|
|
9
|
+
### Performance Improvements
|
|
10
|
+
|
|
11
|
+
- **resize:** improve the rerender performance of components after resize ([#2135](https://github.com/rsuite/rsuite/issues/2135)) ([71648ab](https://github.com/rsuite/rsuite/commit/71648ab061f7b4057675de2d0a6e08f2f8a70a61))
|
|
12
|
+
|
|
1
13
|
## [5.2.1](https://github.com/rsuite/rsuite/compare/v5.2.0...v5.2.1) (2021-11-12)
|
|
2
14
|
|
|
3
15
|
### Bug Fixes
|
|
@@ -14,21 +14,21 @@
|
|
|
14
14
|
}
|
|
15
15
|
|
|
16
16
|
// Panel in Panel group haven't border.
|
|
17
|
-
.rs-panel {
|
|
17
|
+
> .rs-panel {
|
|
18
18
|
border: none;
|
|
19
|
-
}
|
|
20
19
|
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
20
|
+
// Draw a split line for panel
|
|
21
|
+
& + .rs-panel {
|
|
22
|
+
position: relative;
|
|
24
23
|
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
24
|
+
&::before {
|
|
25
|
+
content: '';
|
|
26
|
+
position: absolute;
|
|
27
|
+
top: 0;
|
|
28
|
+
border-top: 1px solid var(--rs-border-primary);
|
|
29
|
+
left: 20px;
|
|
30
|
+
right: 20px;
|
|
31
|
+
}
|
|
32
32
|
}
|
|
33
33
|
}
|
|
34
34
|
}
|
|
@@ -133,7 +133,8 @@ var DropdownItem = /*#__PURE__*/_react.default.forwardRef(function (props, ref)
|
|
|
133
133
|
if (panel) {
|
|
134
134
|
return renderDropdownItem((0, _extends2.default)({
|
|
135
135
|
ref: ref,
|
|
136
|
-
className: merge(prefix('panel'), className)
|
|
136
|
+
className: merge(prefix('panel'), className),
|
|
137
|
+
children: children
|
|
137
138
|
}, restProps));
|
|
138
139
|
}
|
|
139
140
|
|
|
@@ -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/Modal/utils.js
CHANGED
|
@@ -2,19 +2,17 @@
|
|
|
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 _elementResizeEvent = _interopRequireWildcard(require("element-resize-event"));
|
|
13
|
-
|
|
14
10
|
var _getHeight = _interopRequireDefault(require("dom-lib/getHeight"));
|
|
15
11
|
|
|
16
12
|
var _on = _interopRequireDefault(require("dom-lib/on"));
|
|
17
13
|
|
|
14
|
+
var _resizeObserver = require("@juggle/resize-observer");
|
|
15
|
+
|
|
18
16
|
var useBodyStyles = function useBodyStyles(ref, options) {
|
|
19
17
|
var _useState = (0, _react.useState)({}),
|
|
20
18
|
bodyStyles = _useState[0],
|
|
@@ -25,6 +23,7 @@ var useBodyStyles = function useBodyStyles(ref, options) {
|
|
|
25
23
|
prefix = options.prefix;
|
|
26
24
|
var windowResizeListener = (0, _react.useRef)();
|
|
27
25
|
var contentElement = (0, _react.useRef)();
|
|
26
|
+
var contentElementResizeObserver = (0, _react.useRef)();
|
|
28
27
|
var updateBodyStyles = (0, _react.useCallback)(function (_event, entering) {
|
|
29
28
|
var dialog = ref.current;
|
|
30
29
|
var scrollHeight = dialog ? dialog.scrollHeight : 0;
|
|
@@ -53,13 +52,10 @@ var useBodyStyles = function useBodyStyles(ref, options) {
|
|
|
53
52
|
setBodyStyles(styles);
|
|
54
53
|
}, [prefix, ref]);
|
|
55
54
|
var onDestroyEvents = (0, _react.useCallback)(function () {
|
|
56
|
-
var _windowResizeListener, _windowResizeListener2;
|
|
55
|
+
var _windowResizeListener, _windowResizeListener2, _contentElementResize;
|
|
57
56
|
|
|
58
57
|
(_windowResizeListener = windowResizeListener.current) === null || _windowResizeListener === void 0 ? void 0 : (_windowResizeListener2 = _windowResizeListener.off) === null || _windowResizeListener2 === void 0 ? void 0 : _windowResizeListener2.call(_windowResizeListener);
|
|
59
|
-
|
|
60
|
-
if (contentElement.current) {
|
|
61
|
-
(0, _elementResizeEvent.unbind)(contentElement.current);
|
|
62
|
-
}
|
|
58
|
+
(_contentElementResize = contentElementResizeObserver.current) === null || _contentElementResize === void 0 ? void 0 : _contentElementResize.disconnect();
|
|
63
59
|
}, []);
|
|
64
60
|
var onChangeBodyStyles = (0, _react.useCallback)(function (entering) {
|
|
65
61
|
if (overflow && !drawer) {
|
|
@@ -68,7 +64,10 @@ var useBodyStyles = function useBodyStyles(ref, options) {
|
|
|
68
64
|
updateBodyStyles(null, entering);
|
|
69
65
|
contentElement.current = (_ref$current = ref.current) === null || _ref$current === void 0 ? void 0 : _ref$current.querySelector("." + prefix('content'));
|
|
70
66
|
windowResizeListener.current = (0, _on.default)(window, 'resize', updateBodyStyles);
|
|
71
|
-
|
|
67
|
+
contentElementResizeObserver.current = new _resizeObserver.ResizeObserver(function () {
|
|
68
|
+
return updateBodyStyles();
|
|
69
|
+
});
|
|
70
|
+
contentElementResizeObserver.current.observe(contentElement.current);
|
|
72
71
|
}
|
|
73
72
|
}, [drawer, overflow, prefix, ref, updateBodyStyles]);
|
|
74
73
|
(0, _react.useEffect)(function () {
|
package/cjs/Overlay/Position.js
CHANGED
|
@@ -9,8 +9,6 @@ exports.default = void 0;
|
|
|
9
9
|
|
|
10
10
|
var _react = _interopRequireWildcard(require("react"));
|
|
11
11
|
|
|
12
|
-
var _elementResizeEvent = _interopRequireDefault(require("element-resize-event"));
|
|
13
|
-
|
|
14
12
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
15
13
|
|
|
16
14
|
var _classnames = _interopRequireDefault(require("classnames"));
|
|
@@ -27,6 +25,8 @@ var _addClass = _interopRequireDefault(require("dom-lib/addClass"));
|
|
|
27
25
|
|
|
28
26
|
var _addStyle = _interopRequireDefault(require("dom-lib/addStyle"));
|
|
29
27
|
|
|
28
|
+
var _resizeObserver = require("@juggle/resize-observer");
|
|
29
|
+
|
|
30
30
|
var _isElement = _interopRequireDefault(require("../DOMHelper/isElement"));
|
|
31
31
|
|
|
32
32
|
var _positionUtils = _interopRequireDefault(require("./positionUtils"));
|
|
@@ -43,6 +43,7 @@ var usePosition = function usePosition(props, ref) {
|
|
|
43
43
|
triggerTarget = props.triggerTarget;
|
|
44
44
|
var containerRef = (0, _react.useRef)();
|
|
45
45
|
var lastTargetRef = (0, _react.useRef)();
|
|
46
|
+
var overlayResizeObserver = (0, _react.useRef)();
|
|
46
47
|
var defaultPosition = {
|
|
47
48
|
positionLeft: 0,
|
|
48
49
|
positionTop: 0,
|
|
@@ -129,17 +130,19 @@ var usePosition = function usePosition(props, ref) {
|
|
|
129
130
|
|
|
130
131
|
if (overlay) {
|
|
131
132
|
// Update the position when the size of the overlay changes
|
|
132
|
-
|
|
133
|
+
overlayResizeObserver.current = new _resizeObserver.ResizeObserver(function () {
|
|
133
134
|
return updatePosition(true, true);
|
|
134
135
|
});
|
|
136
|
+
overlayResizeObserver.current.observe(overlay);
|
|
135
137
|
}
|
|
136
138
|
|
|
137
139
|
return function () {
|
|
138
|
-
var _containerScrollListe;
|
|
140
|
+
var _containerScrollListe, _overlayResizeObserve;
|
|
139
141
|
|
|
140
142
|
lastTargetRef.current = null;
|
|
141
143
|
(_containerScrollListe = containerScrollListener) === null || _containerScrollListe === void 0 ? void 0 : _containerScrollListe.off();
|
|
142
144
|
resizeListener === null || resizeListener === void 0 ? void 0 : resizeListener.off();
|
|
145
|
+
(_overlayResizeObserve = overlayResizeObserver.current) === null || _overlayResizeObserve === void 0 ? void 0 : _overlayResizeObserve.disconnect();
|
|
143
146
|
};
|
|
144
147
|
}, [preventOverflow, ref, updatePosition]);
|
|
145
148
|
(0, _utils.useUpdateEffect)(function () {
|
|
@@ -29,7 +29,7 @@ var _Plaintext = _interopRequireDefault(require("../Plaintext"));
|
|
|
29
29
|
|
|
30
30
|
var _useToggleCaret = _interopRequireDefault(require("../utils/useToggleCaret"));
|
|
31
31
|
|
|
32
|
-
var
|
|
32
|
+
var _TextMask = _interopRequireDefault(require("../MaskedInput/TextMask"));
|
|
33
33
|
|
|
34
34
|
var _deprecatePropType = _interopRequireDefault(require("../utils/deprecatePropType"));
|
|
35
35
|
|
|
@@ -167,7 +167,7 @@ var PickerToggle = /*#__PURE__*/_react.default.forwardRef(function (props, ref)
|
|
|
167
167
|
onFocus: !disabled ? handleFocus : null // The debounce is set to 200 to solve the flicker caused by the switch between input and div.
|
|
168
168
|
,
|
|
169
169
|
onBlur: !disabled ? (0, _debounce.default)(handleBlur, 200) : null
|
|
170
|
-
}), /*#__PURE__*/_react.default.createElement(
|
|
170
|
+
}), /*#__PURE__*/_react.default.createElement(_TextMask.default, {
|
|
171
171
|
mask: inputMask,
|
|
172
172
|
value: Array.isArray(inputValue) ? inputValue.toString() : inputValue,
|
|
173
173
|
onBlur: handleInputBlur,
|
|
@@ -5,4 +5,4 @@
|
|
|
5
5
|
* @param eventTarget The target to listen for events on
|
|
6
6
|
* @param listener An event handler
|
|
7
7
|
*/
|
|
8
|
-
export default function useElementResize(eventTarget:
|
|
8
|
+
export default function useElementResize(eventTarget: Element | (() => Element), listener: ResizeObserverCallback): void;
|
|
@@ -1,13 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard");
|
|
4
|
-
|
|
5
3
|
exports.__esModule = true;
|
|
6
4
|
exports.default = useElementResize;
|
|
7
5
|
|
|
8
6
|
var _react = require("react");
|
|
9
7
|
|
|
10
|
-
var
|
|
8
|
+
var _resizeObserver = require("@juggle/resize-observer");
|
|
11
9
|
|
|
12
10
|
/**
|
|
13
11
|
* Attach the event handler directly to the specified DOM element,
|
|
@@ -17,11 +15,15 @@ var _elementResizeEvent = _interopRequireWildcard(require("element-resize-event"
|
|
|
17
15
|
* @param listener An event handler
|
|
18
16
|
*/
|
|
19
17
|
function useElementResize(eventTarget, listener) {
|
|
18
|
+
var resizeObserver = (0, _react.useRef)();
|
|
20
19
|
(0, _react.useEffect)(function () {
|
|
21
20
|
var target = typeof eventTarget === 'function' ? eventTarget() : eventTarget;
|
|
22
|
-
|
|
21
|
+
resizeObserver.current = new _resizeObserver.ResizeObserver(listener);
|
|
22
|
+
resizeObserver.current.observe(target);
|
|
23
23
|
return function () {
|
|
24
|
-
|
|
24
|
+
var _resizeObserver$curre;
|
|
25
|
+
|
|
26
|
+
(_resizeObserver$curre = resizeObserver.current) === null || _resizeObserver$curre === void 0 ? void 0 : _resizeObserver$curre.disconnect();
|
|
25
27
|
};
|
|
26
28
|
}, [eventTarget, listener]);
|
|
27
29
|
}
|
package/dist/rsuite-rtl.css
CHANGED
|
@@ -2057,6 +2057,9 @@ tbody.rs-anim-collapse.rs-anim-in {
|
|
|
2057
2057
|
--rs-btn-link-text: var(--rs-red-700);
|
|
2058
2058
|
--rs-btn-link-hover-text: var(--rs-red-800);
|
|
2059
2059
|
--rs-btn-link-active-text: var(--rs-red-900);
|
|
2060
|
+
--rs-iconbtn-primary-addon: var(--rs-red-600);
|
|
2061
|
+
--rs-iconbtn-primary-activated-addon: var(--rs-red-700);
|
|
2062
|
+
--rs-iconbtn-primary-pressed-addon: var(--rs-red-800);
|
|
2060
2063
|
}
|
|
2061
2064
|
.rs-theme-dark .rs-btn-red {
|
|
2062
2065
|
--rs-btn-primary-bg: var(--rs-red-700);
|
|
@@ -2075,6 +2078,9 @@ tbody.rs-anim-collapse.rs-anim-in {
|
|
|
2075
2078
|
--rs-btn-link-text: var(--rs-red-500);
|
|
2076
2079
|
--rs-btn-link-hover-text: var(--rs-red-400);
|
|
2077
2080
|
--rs-btn-link-active-text: var(--rs-red-200);
|
|
2081
|
+
--rs-iconbtn-primary-addon: var(--rs-red-600);
|
|
2082
|
+
--rs-iconbtn-primary-activated-addon: var(--rs-red-500);
|
|
2083
|
+
--rs-iconbtn-primary-pressed-addon: var(--rs-red-400);
|
|
2078
2084
|
}
|
|
2079
2085
|
.rs-theme-high-contrast .rs-btn-red {
|
|
2080
2086
|
--rs-btn-primary-bg: var(--rs-red-700);
|
|
@@ -2111,6 +2117,9 @@ tbody.rs-anim-collapse.rs-anim-in {
|
|
|
2111
2117
|
--rs-btn-link-text: var(--rs-orange-700);
|
|
2112
2118
|
--rs-btn-link-hover-text: var(--rs-orange-800);
|
|
2113
2119
|
--rs-btn-link-active-text: var(--rs-orange-900);
|
|
2120
|
+
--rs-iconbtn-primary-addon: var(--rs-orange-600);
|
|
2121
|
+
--rs-iconbtn-primary-activated-addon: var(--rs-orange-700);
|
|
2122
|
+
--rs-iconbtn-primary-pressed-addon: var(--rs-orange-800);
|
|
2114
2123
|
}
|
|
2115
2124
|
.rs-theme-dark .rs-btn-orange {
|
|
2116
2125
|
--rs-btn-primary-bg: var(--rs-orange-700);
|
|
@@ -2129,6 +2138,9 @@ tbody.rs-anim-collapse.rs-anim-in {
|
|
|
2129
2138
|
--rs-btn-link-text: var(--rs-orange-500);
|
|
2130
2139
|
--rs-btn-link-hover-text: var(--rs-orange-400);
|
|
2131
2140
|
--rs-btn-link-active-text: var(--rs-orange-200);
|
|
2141
|
+
--rs-iconbtn-primary-addon: var(--rs-orange-600);
|
|
2142
|
+
--rs-iconbtn-primary-activated-addon: var(--rs-orange-500);
|
|
2143
|
+
--rs-iconbtn-primary-pressed-addon: var(--rs-orange-400);
|
|
2132
2144
|
}
|
|
2133
2145
|
.rs-theme-high-contrast .rs-btn-orange {
|
|
2134
2146
|
--rs-btn-primary-bg: var(--rs-orange-700);
|
|
@@ -2165,6 +2177,9 @@ tbody.rs-anim-collapse.rs-anim-in {
|
|
|
2165
2177
|
--rs-btn-link-text: var(--rs-yellow-700);
|
|
2166
2178
|
--rs-btn-link-hover-text: var(--rs-yellow-800);
|
|
2167
2179
|
--rs-btn-link-active-text: var(--rs-yellow-900);
|
|
2180
|
+
--rs-iconbtn-primary-addon: var(--rs-yellow-600);
|
|
2181
|
+
--rs-iconbtn-primary-activated-addon: var(--rs-yellow-700);
|
|
2182
|
+
--rs-iconbtn-primary-pressed-addon: var(--rs-yellow-800);
|
|
2168
2183
|
}
|
|
2169
2184
|
.rs-theme-dark .rs-btn-yellow {
|
|
2170
2185
|
--rs-btn-primary-bg: var(--rs-yellow-700);
|
|
@@ -2183,6 +2198,9 @@ tbody.rs-anim-collapse.rs-anim-in {
|
|
|
2183
2198
|
--rs-btn-link-text: var(--rs-yellow-500);
|
|
2184
2199
|
--rs-btn-link-hover-text: var(--rs-yellow-400);
|
|
2185
2200
|
--rs-btn-link-active-text: var(--rs-yellow-200);
|
|
2201
|
+
--rs-iconbtn-primary-addon: var(--rs-yellow-600);
|
|
2202
|
+
--rs-iconbtn-primary-activated-addon: var(--rs-yellow-500);
|
|
2203
|
+
--rs-iconbtn-primary-pressed-addon: var(--rs-yellow-400);
|
|
2186
2204
|
}
|
|
2187
2205
|
.rs-theme-high-contrast .rs-btn-yellow {
|
|
2188
2206
|
--rs-btn-primary-bg: var(--rs-yellow-700);
|
|
@@ -2219,6 +2237,9 @@ tbody.rs-anim-collapse.rs-anim-in {
|
|
|
2219
2237
|
--rs-btn-link-text: var(--rs-green-700);
|
|
2220
2238
|
--rs-btn-link-hover-text: var(--rs-green-800);
|
|
2221
2239
|
--rs-btn-link-active-text: var(--rs-green-900);
|
|
2240
|
+
--rs-iconbtn-primary-addon: var(--rs-green-600);
|
|
2241
|
+
--rs-iconbtn-primary-activated-addon: var(--rs-green-700);
|
|
2242
|
+
--rs-iconbtn-primary-pressed-addon: var(--rs-green-800);
|
|
2222
2243
|
}
|
|
2223
2244
|
.rs-theme-dark .rs-btn-green {
|
|
2224
2245
|
--rs-btn-primary-bg: var(--rs-green-700);
|
|
@@ -2237,6 +2258,9 @@ tbody.rs-anim-collapse.rs-anim-in {
|
|
|
2237
2258
|
--rs-btn-link-text: var(--rs-green-500);
|
|
2238
2259
|
--rs-btn-link-hover-text: var(--rs-green-400);
|
|
2239
2260
|
--rs-btn-link-active-text: var(--rs-green-200);
|
|
2261
|
+
--rs-iconbtn-primary-addon: var(--rs-green-600);
|
|
2262
|
+
--rs-iconbtn-primary-activated-addon: var(--rs-green-500);
|
|
2263
|
+
--rs-iconbtn-primary-pressed-addon: var(--rs-green-400);
|
|
2240
2264
|
}
|
|
2241
2265
|
.rs-theme-high-contrast .rs-btn-green {
|
|
2242
2266
|
--rs-btn-primary-bg: var(--rs-green-700);
|
|
@@ -2273,6 +2297,9 @@ tbody.rs-anim-collapse.rs-anim-in {
|
|
|
2273
2297
|
--rs-btn-link-text: var(--rs-cyan-700);
|
|
2274
2298
|
--rs-btn-link-hover-text: var(--rs-cyan-800);
|
|
2275
2299
|
--rs-btn-link-active-text: var(--rs-cyan-900);
|
|
2300
|
+
--rs-iconbtn-primary-addon: var(--rs-cyan-600);
|
|
2301
|
+
--rs-iconbtn-primary-activated-addon: var(--rs-cyan-700);
|
|
2302
|
+
--rs-iconbtn-primary-pressed-addon: var(--rs-cyan-800);
|
|
2276
2303
|
}
|
|
2277
2304
|
.rs-theme-dark .rs-btn-cyan {
|
|
2278
2305
|
--rs-btn-primary-bg: var(--rs-cyan-700);
|
|
@@ -2291,6 +2318,9 @@ tbody.rs-anim-collapse.rs-anim-in {
|
|
|
2291
2318
|
--rs-btn-link-text: var(--rs-cyan-500);
|
|
2292
2319
|
--rs-btn-link-hover-text: var(--rs-cyan-400);
|
|
2293
2320
|
--rs-btn-link-active-text: var(--rs-cyan-200);
|
|
2321
|
+
--rs-iconbtn-primary-addon: var(--rs-cyan-600);
|
|
2322
|
+
--rs-iconbtn-primary-activated-addon: var(--rs-cyan-500);
|
|
2323
|
+
--rs-iconbtn-primary-pressed-addon: var(--rs-cyan-400);
|
|
2294
2324
|
}
|
|
2295
2325
|
.rs-theme-high-contrast .rs-btn-cyan {
|
|
2296
2326
|
--rs-btn-primary-bg: var(--rs-cyan-700);
|
|
@@ -2327,6 +2357,9 @@ tbody.rs-anim-collapse.rs-anim-in {
|
|
|
2327
2357
|
--rs-btn-link-text: var(--rs-blue-700);
|
|
2328
2358
|
--rs-btn-link-hover-text: var(--rs-blue-800);
|
|
2329
2359
|
--rs-btn-link-active-text: var(--rs-blue-900);
|
|
2360
|
+
--rs-iconbtn-primary-addon: var(--rs-blue-600);
|
|
2361
|
+
--rs-iconbtn-primary-activated-addon: var(--rs-blue-700);
|
|
2362
|
+
--rs-iconbtn-primary-pressed-addon: var(--rs-blue-800);
|
|
2330
2363
|
}
|
|
2331
2364
|
.rs-theme-dark .rs-btn-blue {
|
|
2332
2365
|
--rs-btn-primary-bg: var(--rs-blue-700);
|
|
@@ -2345,6 +2378,9 @@ tbody.rs-anim-collapse.rs-anim-in {
|
|
|
2345
2378
|
--rs-btn-link-text: var(--rs-blue-500);
|
|
2346
2379
|
--rs-btn-link-hover-text: var(--rs-blue-400);
|
|
2347
2380
|
--rs-btn-link-active-text: var(--rs-blue-200);
|
|
2381
|
+
--rs-iconbtn-primary-addon: var(--rs-blue-600);
|
|
2382
|
+
--rs-iconbtn-primary-activated-addon: var(--rs-blue-500);
|
|
2383
|
+
--rs-iconbtn-primary-pressed-addon: var(--rs-blue-400);
|
|
2348
2384
|
}
|
|
2349
2385
|
.rs-theme-high-contrast .rs-btn-blue {
|
|
2350
2386
|
--rs-btn-primary-bg: var(--rs-blue-700);
|
|
@@ -2381,6 +2417,9 @@ tbody.rs-anim-collapse.rs-anim-in {
|
|
|
2381
2417
|
--rs-btn-link-text: var(--rs-violet-700);
|
|
2382
2418
|
--rs-btn-link-hover-text: var(--rs-violet-800);
|
|
2383
2419
|
--rs-btn-link-active-text: var(--rs-violet-900);
|
|
2420
|
+
--rs-iconbtn-primary-addon: var(--rs-violet-600);
|
|
2421
|
+
--rs-iconbtn-primary-activated-addon: var(--rs-violet-700);
|
|
2422
|
+
--rs-iconbtn-primary-pressed-addon: var(--rs-violet-800);
|
|
2384
2423
|
}
|
|
2385
2424
|
.rs-theme-dark .rs-btn-violet {
|
|
2386
2425
|
--rs-btn-primary-bg: var(--rs-violet-700);
|
|
@@ -2399,6 +2438,9 @@ tbody.rs-anim-collapse.rs-anim-in {
|
|
|
2399
2438
|
--rs-btn-link-text: var(--rs-violet-500);
|
|
2400
2439
|
--rs-btn-link-hover-text: var(--rs-violet-400);
|
|
2401
2440
|
--rs-btn-link-active-text: var(--rs-violet-200);
|
|
2441
|
+
--rs-iconbtn-primary-addon: var(--rs-violet-600);
|
|
2442
|
+
--rs-iconbtn-primary-activated-addon: var(--rs-violet-500);
|
|
2443
|
+
--rs-iconbtn-primary-pressed-addon: var(--rs-violet-400);
|
|
2402
2444
|
}
|
|
2403
2445
|
.rs-theme-high-contrast .rs-btn-violet {
|
|
2404
2446
|
--rs-btn-primary-bg: var(--rs-violet-700);
|
|
@@ -10021,13 +10063,13 @@ textarea.rs-picker-search-input {
|
|
|
10021
10063
|
border: 1px solid #e5e5ea;
|
|
10022
10064
|
border: 1px solid var(--rs-border-primary);
|
|
10023
10065
|
}
|
|
10024
|
-
.rs-panel-group .rs-panel {
|
|
10066
|
+
.rs-panel-group > .rs-panel {
|
|
10025
10067
|
border: none;
|
|
10026
10068
|
}
|
|
10027
|
-
.rs-panel-group .rs-panel + .rs-panel {
|
|
10069
|
+
.rs-panel-group > .rs-panel + .rs-panel {
|
|
10028
10070
|
position: relative;
|
|
10029
10071
|
}
|
|
10030
|
-
.rs-panel-group .rs-panel + .rs-panel::before {
|
|
10072
|
+
.rs-panel-group > .rs-panel + .rs-panel::before {
|
|
10031
10073
|
content: '';
|
|
10032
10074
|
position: absolute;
|
|
10033
10075
|
top: 0;
|