rsuite 5.2.2 → 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/CHANGELOG.md +12 -0
- package/cjs/CheckboxGroup/CheckboxGroup.js +2 -2
- package/cjs/InputPicker/InputPicker.js +1 -1
- package/cjs/Menu/Menu.js +46 -34
- package/cjs/Menu/MenuItem.js +16 -12
- package/cjs/Picker/PickerToggle.js +5 -3
- package/cjs/RadioGroup/RadioGroup.js +2 -2
- package/cjs/Rate/Rate.js +3 -1
- package/cjs/utils/useElementResize.js +6 -3
- package/dist/rsuite.js +35 -13
- package/dist/rsuite.js.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/CheckboxGroup/CheckboxGroup.js +2 -2
- package/esm/InputPicker/InputPicker.js +1 -1
- package/esm/Menu/Menu.js +46 -36
- package/esm/Menu/MenuItem.js +16 -12
- package/esm/Picker/PickerToggle.js +5 -3
- package/esm/RadioGroup/RadioGroup.js +2 -2
- package/esm/Rate/Rate.js +2 -1
- package/esm/utils/useElementResize.js +6 -3
- package/package.json +2 -2
|
@@ -65,10 +65,10 @@ var CheckboxGroup = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
65
65
|
}, [disabled, handleChange, inline, isControlled, name, plaintext, readOnly, value]);
|
|
66
66
|
return /*#__PURE__*/React.createElement(CheckboxGroupContext.Provider, {
|
|
67
67
|
value: contextValue
|
|
68
|
-
}, plaintext ? /*#__PURE__*/React.createElement(Plaintext, {
|
|
68
|
+
}, plaintext ? /*#__PURE__*/React.createElement(Plaintext, _extends({
|
|
69
69
|
ref: ref,
|
|
70
70
|
localeKey: "notSelected"
|
|
71
|
-
}, value !== null && value !== void 0 && value.length ? children : null) : /*#__PURE__*/React.createElement(Component, _extends({}, rest, {
|
|
71
|
+
}, rest), value !== null && value !== void 0 && value.length ? children : null) : /*#__PURE__*/React.createElement(Component, _extends({}, rest, {
|
|
72
72
|
ref: ref,
|
|
73
73
|
role: "group",
|
|
74
74
|
className: classes
|
|
@@ -666,7 +666,7 @@ var InputPicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
666
666
|
var plaintextProps = {}; // TagPicker has -6px margin-left on the plaintext wrapper
|
|
667
667
|
// for fixing margin-left on tags from 2nd line on
|
|
668
668
|
|
|
669
|
-
if (multi) {
|
|
669
|
+
if (multi && hasValue) {
|
|
670
670
|
plaintextProps.style = {
|
|
671
671
|
marginLeft: -6
|
|
672
672
|
};
|
package/esm/Menu/Menu.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
2
|
-
import React, { useCallback, useContext, useRef } from 'react';
|
|
2
|
+
import React, { useCallback, useContext, useRef, useMemo } from 'react';
|
|
3
3
|
import PropTypes from 'prop-types';
|
|
4
4
|
import MenuContext, { MenuActionTypes, MoveFocusTo } from './MenuContext';
|
|
5
5
|
import { KEY_VALUES, useCustom } from '../utils';
|
|
@@ -40,7 +40,10 @@ function Menu(props) {
|
|
|
40
40
|
rtl = _useCustom.rtl;
|
|
41
41
|
|
|
42
42
|
var activeItem = (_items$activeItemInde = items[activeItemIndex]) === null || _items$activeItemInde === void 0 ? void 0 : _items$activeItemInde.element;
|
|
43
|
-
|
|
43
|
+
|
|
44
|
+
var _useFocus = useFocus(menuElementRef),
|
|
45
|
+
grabFocus = _useFocus.grab;
|
|
46
|
+
|
|
44
47
|
var openMenu = useCallback(function (event) {
|
|
45
48
|
dispatch({
|
|
46
49
|
type: MenuActionTypes.OpenMenu
|
|
@@ -54,8 +57,8 @@ function Menu(props) {
|
|
|
54
57
|
}
|
|
55
58
|
|
|
56
59
|
onToggleMenu === null || onToggleMenu === void 0 ? void 0 : onToggleMenu(true, event);
|
|
57
|
-
|
|
58
|
-
}, [dispatch, onToggleMenu,
|
|
60
|
+
grabFocus();
|
|
61
|
+
}, [dispatch, onToggleMenu, grabFocus]);
|
|
59
62
|
var closeMenu = useCallback(function (event, returnFocusToButton) {
|
|
60
63
|
if (returnFocusToButton === void 0) {
|
|
61
64
|
returnFocusToButton = true;
|
|
@@ -150,41 +153,48 @@ function Menu(props) {
|
|
|
150
153
|
if (disabled) return;
|
|
151
154
|
openMenu(event);
|
|
152
155
|
}, [open, disabled, openMenu]);
|
|
153
|
-
var buttonEventHandlers = {
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
156
|
+
var buttonEventHandlers = useMemo(function () {
|
|
157
|
+
var buttonEventHandlers = {
|
|
158
|
+
onKeyDown: handleButtonKeydown
|
|
159
|
+
};
|
|
160
|
+
/**
|
|
161
|
+
* Bind event of trigger,
|
|
162
|
+
* not used in in the expanded state of '<Sidenav>'
|
|
163
|
+
*/
|
|
164
|
+
|
|
165
|
+
if (openMenuOn !== null && openMenuOn !== void 0 && openMenuOn.includes('click')) {
|
|
166
|
+
buttonEventHandlers.onClick = handleButtonClick;
|
|
167
|
+
}
|
|
164
168
|
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
169
|
+
if (openMenuOn !== null && openMenuOn !== void 0 && openMenuOn.includes('contextmenu')) {
|
|
170
|
+
buttonEventHandlers.onContextMenu = handleButtonContextMenu;
|
|
171
|
+
}
|
|
168
172
|
|
|
173
|
+
return buttonEventHandlers;
|
|
174
|
+
}, [openMenuOn, handleButtonKeydown, handleButtonClick, handleButtonContextMenu]);
|
|
169
175
|
var buttonId = useUniqueId('menubutton-');
|
|
170
|
-
var menuId = useUniqueId('menu-');
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
176
|
+
var menuId = useUniqueId('menu-');
|
|
177
|
+
var buttonAriaAttributes = useMemo(function () {
|
|
178
|
+
// Ref: https://www.w3.org/TR/wai-aria-practices-1.2/#wai-aria-roles-states-and-properties-14
|
|
179
|
+
return {
|
|
180
|
+
role: 'button',
|
|
181
|
+
'aria-haspopup': 'menu',
|
|
182
|
+
'aria-expanded': open || undefined,
|
|
183
|
+
// it's recommend to remove aria-expanded when menu is hidden
|
|
184
|
+
'aria-controls': menuId
|
|
185
|
+
};
|
|
186
|
+
}, [open, menuId]);
|
|
187
|
+
var buttonProps = useMemo(function () {
|
|
188
|
+
return _extends({
|
|
189
|
+
id: buttonId
|
|
190
|
+
}, buttonAriaAttributes, buttonEventHandlers, {
|
|
191
|
+
// render props
|
|
192
|
+
open: open
|
|
193
|
+
});
|
|
194
|
+
}, [buttonId, buttonAriaAttributes, buttonEventHandlers, open]);
|
|
195
|
+
var customMenuButton = useMemo(function () {
|
|
196
|
+
return renderMenuButton === null || renderMenuButton === void 0 ? void 0 : renderMenuButton(buttonProps, buttonElementRef);
|
|
197
|
+
}, [renderMenuButton, buttonProps, buttonElementRef]);
|
|
188
198
|
var buttonElement = customMenuButton !== null && customMenuButton !== void 0 ? customMenuButton : /*#__PURE__*/React.createElement("button", _extends({
|
|
189
199
|
ref: buttonElementRef
|
|
190
200
|
}, buttonProps), menuButtonText);
|
package/esm/Menu/MenuItem.js
CHANGED
|
@@ -32,20 +32,24 @@ function MenuItem(props) {
|
|
|
32
32
|
}, [disabled, onActivate]); // Gain/release focus on mousedown in `menubar`
|
|
33
33
|
|
|
34
34
|
var handleMouseDown = useCallback(function () {
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
35
|
+
if (!hasFocus) {
|
|
36
|
+
dispatch({
|
|
37
|
+
type: MenuActionTypes.MoveFocus,
|
|
38
|
+
to: MoveFocusTo.Specific,
|
|
39
|
+
id: menuitemRef.current.id
|
|
40
|
+
});
|
|
41
|
+
}
|
|
42
|
+
}, [hasFocus, dispatch]); // Gain/release focus on mouseenter/mouseleave in `menu`
|
|
41
43
|
|
|
42
44
|
var handleMouseMove = useCallback(function () {
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
45
|
+
if (!hasFocus) {
|
|
46
|
+
dispatch({
|
|
47
|
+
type: MenuActionTypes.MoveFocus,
|
|
48
|
+
to: MoveFocusTo.Specific,
|
|
49
|
+
id: menuitemRef.current.id
|
|
50
|
+
});
|
|
51
|
+
}
|
|
52
|
+
}, [hasFocus, dispatch]);
|
|
49
53
|
var handleMouseLeave = useCallback(function () {
|
|
50
54
|
dispatch({
|
|
51
55
|
type: MenuActionTypes.MoveFocus,
|
|
@@ -83,15 +83,17 @@ var PickerToggle = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
83
83
|
onFocus === null || onFocus === void 0 ? void 0 : onFocus(event);
|
|
84
84
|
|
|
85
85
|
if (input) {
|
|
86
|
-
|
|
86
|
+
var _inputRef$current;
|
|
87
|
+
|
|
88
|
+
(_inputRef$current = inputRef.current) === null || _inputRef$current === void 0 ? void 0 : _inputRef$current.focus();
|
|
87
89
|
}
|
|
88
90
|
}, [input, onFocus]);
|
|
89
91
|
var handleBlur = useCallback(function (event) {
|
|
90
92
|
if (document.activeElement !== inputRef.current) {
|
|
91
|
-
var _inputRef$
|
|
93
|
+
var _inputRef$current2;
|
|
92
94
|
|
|
93
95
|
setActive(false);
|
|
94
|
-
(_inputRef$
|
|
96
|
+
(_inputRef$current2 = inputRef.current) === null || _inputRef$current2 === void 0 ? void 0 : _inputRef$current2.blur();
|
|
95
97
|
}
|
|
96
98
|
|
|
97
99
|
onBlur === null || onBlur === void 0 ? void 0 : onBlur(event);
|
|
@@ -55,10 +55,10 @@ var RadioGroup = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
55
55
|
}, [disabled, handleChange, inline, isControlled, name, plaintext, readOnly, value]);
|
|
56
56
|
return /*#__PURE__*/React.createElement(RadioContext.Provider, {
|
|
57
57
|
value: contextValue
|
|
58
|
-
}, plaintext ? /*#__PURE__*/React.createElement(Plaintext, {
|
|
58
|
+
}, plaintext ? /*#__PURE__*/React.createElement(Plaintext, _extends({
|
|
59
59
|
ref: ref,
|
|
60
60
|
localeKey: "notSelected"
|
|
61
|
-
}, value ? children : null) : /*#__PURE__*/React.createElement(Component, _extends({
|
|
61
|
+
}, rest), value ? children : null) : /*#__PURE__*/React.createElement(Component, _extends({
|
|
62
62
|
role: "radiogroup"
|
|
63
63
|
}, rest, {
|
|
64
64
|
ref: ref,
|
package/esm/Rate/Rate.js
CHANGED
|
@@ -2,6 +2,7 @@ import _extends from "@babel/runtime/helpers/esm/extends";
|
|
|
2
2
|
import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
|
|
3
3
|
import React, { useCallback, useEffect, useState } from 'react';
|
|
4
4
|
import PropTypes from 'prop-types';
|
|
5
|
+
import isNil from 'lodash/isNil';
|
|
5
6
|
import Star from '@rsuite/icons/legacy/Star';
|
|
6
7
|
import { useClassNames, useControlled, shallowEqualArray, SIZE, KEY_VALUES } from '../utils';
|
|
7
8
|
import { transformValueToCharacterMap, transformCharacterMapToValue } from './utils';
|
|
@@ -120,7 +121,7 @@ var Rate = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
120
121
|
return /*#__PURE__*/React.createElement(Plaintext, {
|
|
121
122
|
localeKey: "notSelected",
|
|
122
123
|
className: className
|
|
123
|
-
}, value + "(" + max + ")");
|
|
124
|
+
}, !isNil(value) ? value + "(" + max + ")" : null);
|
|
124
125
|
}
|
|
125
126
|
|
|
126
127
|
return /*#__PURE__*/React.createElement(Component, _extends({
|
|
@@ -11,9 +11,12 @@ import { ResizeObserver } from '@juggle/resize-observer';
|
|
|
11
11
|
export default function useElementResize(eventTarget, listener) {
|
|
12
12
|
var resizeObserver = useRef();
|
|
13
13
|
useEffect(function () {
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
14
|
+
if (!resizeObserver.current) {
|
|
15
|
+
var target = typeof eventTarget === 'function' ? eventTarget() : eventTarget;
|
|
16
|
+
resizeObserver.current = new ResizeObserver(listener);
|
|
17
|
+
resizeObserver.current.observe(target);
|
|
18
|
+
}
|
|
19
|
+
|
|
17
20
|
return function () {
|
|
18
21
|
var _resizeObserver$curre;
|
|
19
22
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "rsuite",
|
|
3
|
-
"version": "5.2.
|
|
3
|
+
"version": "5.2.3",
|
|
4
4
|
"description": "A suite of react components",
|
|
5
5
|
"main": "cjs/index.js",
|
|
6
6
|
"module": "esm/index.js",
|
|
@@ -37,7 +37,7 @@
|
|
|
37
37
|
"lodash": "^4.17.11",
|
|
38
38
|
"prop-types": "^15.7.2",
|
|
39
39
|
"react-virtualized": "^9.22.3",
|
|
40
|
-
"rsuite-table": "^5.2.
|
|
40
|
+
"rsuite-table": "^5.2.1",
|
|
41
41
|
"schema-typed": "^2.0.2"
|
|
42
42
|
},
|
|
43
43
|
"peerDependencies": {
|