rsuite 5.58.0 → 5.59.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/Avatar/styles/index.css +74 -3
- package/Avatar/styles/index.less +25 -1
- package/Avatar/styles/mixin.less +8 -0
- package/CHANGELOG.md +24 -0
- package/Drawer/styles/index.css +4 -0
- package/Drawer/styles/index.less +5 -0
- package/cjs/Avatar/Avatar.d.ts +30 -5
- package/cjs/Avatar/Avatar.js +47 -21
- package/cjs/Avatar/AvatarIcon.d.ts +3 -0
- package/cjs/Avatar/AvatarIcon.js +24 -0
- package/cjs/Avatar/useImage.d.ts +39 -0
- package/cjs/Avatar/useImage.js +75 -0
- package/cjs/AvatarGroup/AvatarGroup.d.ts +14 -6
- package/cjs/DateInput/DateField.js +5 -0
- package/cjs/Heading/index.d.ts +1 -1
- package/cjs/Heading/index.js +3 -4
- package/cjs/Modal/Modal.js +36 -21
- package/cjs/Text/index.d.ts +1 -1
- package/cjs/Text/index.js +3 -4
- package/cjs/internals/Overlay/Modal.js +2 -1
- package/dist/rsuite-no-reset-rtl.css +75 -3
- 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 +75 -3
- package/dist/rsuite-no-reset.min.css +1 -1
- package/dist/rsuite-no-reset.min.css.map +1 -1
- package/dist/rsuite-rtl.css +75 -3
- package/dist/rsuite-rtl.min.css +1 -1
- package/dist/rsuite-rtl.min.css.map +1 -1
- package/dist/rsuite.css +75 -3
- package/dist/rsuite.js +29 -7
- 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/Avatar/Avatar.d.ts +30 -5
- package/esm/Avatar/Avatar.js +48 -22
- package/esm/Avatar/AvatarIcon.d.ts +3 -0
- package/esm/Avatar/AvatarIcon.js +18 -0
- package/esm/Avatar/useImage.d.ts +39 -0
- package/esm/Avatar/useImage.js +70 -0
- package/esm/AvatarGroup/AvatarGroup.d.ts +14 -6
- package/esm/DateInput/DateField.js +5 -0
- package/esm/Heading/index.d.ts +1 -1
- package/esm/Heading/index.js +0 -1
- package/esm/Modal/Modal.js +36 -21
- package/esm/Text/index.d.ts +1 -1
- package/esm/Text/index.js +0 -1
- package/esm/internals/Overlay/Modal.js +2 -1
- package/package.json +1 -1
- package/styles/color-modes/dark.less +2 -0
- package/styles/color-modes/high-contrast.less +2 -0
- package/styles/color-modes/light.less +2 -0
- package/styles/variables.less +12 -20
package/cjs/Modal/Modal.js
CHANGED
|
@@ -26,46 +26,47 @@ var _utils2 = require("./utils");
|
|
|
26
26
|
var _useUniqueId = _interopRequireDefault(require("../utils/useUniqueId"));
|
|
27
27
|
var _propTypes2 = require("../internals/propTypes");
|
|
28
28
|
var _DrawerContext = _interopRequireDefault(require("../Drawer/DrawerContext"));
|
|
29
|
-
var _templateObject, _templateObject2;
|
|
29
|
+
var _templateObject, _templateObject2, _templateObject3;
|
|
30
30
|
var modalSizes = ['xs', 'sm', 'md', 'lg', 'full'];
|
|
31
31
|
/**
|
|
32
32
|
* The `Modal` component is used to show content in a layer above the app.
|
|
33
33
|
* @see https://rsuitejs.com/components/modal
|
|
34
34
|
*/
|
|
35
35
|
var Modal = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
|
|
36
|
-
var _prefix;
|
|
37
|
-
var
|
|
36
|
+
var _prefix, _merge;
|
|
37
|
+
var _props$animation = props.animation,
|
|
38
|
+
animation = _props$animation === void 0 ? _Bounce.default : _props$animation,
|
|
39
|
+
animationProps = props.animationProps,
|
|
40
|
+
_props$animationTimeo = props.animationTimeout,
|
|
41
|
+
animationTimeout = _props$animationTimeo === void 0 ? 300 : _props$animationTimeo,
|
|
42
|
+
ariaLabelledby = props['aria-labelledby'],
|
|
43
|
+
ariaDescribedby = props['aria-describedby'],
|
|
44
|
+
backdropClassName = props.backdropClassName,
|
|
45
|
+
_props$backdrop = props.backdrop,
|
|
46
|
+
backdrop = _props$backdrop === void 0 ? true : _props$backdrop,
|
|
47
|
+
className = props.className,
|
|
38
48
|
children = props.children,
|
|
39
49
|
_props$classPrefix = props.classPrefix,
|
|
40
50
|
classPrefix = _props$classPrefix === void 0 ? 'modal' : _props$classPrefix,
|
|
41
51
|
dialogClassName = props.dialogClassName,
|
|
42
|
-
backdropClassName = props.backdropClassName,
|
|
43
|
-
_props$backdrop = props.backdrop,
|
|
44
|
-
backdrop = _props$backdrop === void 0 ? true : _props$backdrop,
|
|
45
52
|
dialogStyle = props.dialogStyle,
|
|
46
|
-
_props$animation = props.animation,
|
|
47
|
-
animation = _props$animation === void 0 ? _Bounce.default : _props$animation,
|
|
48
|
-
open = props.open,
|
|
49
|
-
_props$size = props.size,
|
|
50
|
-
size = _props$size === void 0 ? 'sm' : _props$size,
|
|
51
|
-
full = props.full,
|
|
52
53
|
_props$dialogAs = props.dialogAs,
|
|
53
54
|
Dialog = _props$dialogAs === void 0 ? _ModalDialog.default : _props$dialogAs,
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
animationTimeout = _props$animationTimeo === void 0 ? 300 : _props$animationTimeo,
|
|
55
|
+
enforceFocusProp = props.enforceFocus,
|
|
56
|
+
full = props.full,
|
|
57
57
|
_props$overflow = props.overflow,
|
|
58
58
|
overflow = _props$overflow === void 0 ? true : _props$overflow,
|
|
59
|
+
open = props.open,
|
|
59
60
|
onClose = props.onClose,
|
|
60
61
|
onEntered = props.onEntered,
|
|
61
62
|
onEntering = props.onEntering,
|
|
62
63
|
onExited = props.onExited,
|
|
63
64
|
_props$role = props.role,
|
|
64
65
|
role = _props$role === void 0 ? 'dialog' : _props$role,
|
|
66
|
+
_props$size = props.size,
|
|
67
|
+
size = _props$size === void 0 ? 'sm' : _props$size,
|
|
65
68
|
idProp = props.id,
|
|
66
|
-
|
|
67
|
-
ariaDescribedby = props['aria-describedby'],
|
|
68
|
-
rest = (0, _objectWithoutPropertiesLoose2.default)(props, ["className", "children", "classPrefix", "dialogClassName", "backdropClassName", "backdrop", "dialogStyle", "animation", "open", "size", "full", "dialogAs", "animationProps", "animationTimeout", "overflow", "onClose", "onEntered", "onEntering", "onExited", "role", "id", "aria-labelledby", "aria-describedby"]);
|
|
69
|
+
rest = (0, _objectWithoutPropertiesLoose2.default)(props, ["animation", "animationProps", "animationTimeout", "aria-labelledby", "aria-describedby", "backdropClassName", "backdrop", "className", "children", "classPrefix", "dialogClassName", "dialogStyle", "dialogAs", "enforceFocus", "full", "overflow", "open", "onClose", "onEntered", "onEntering", "onExited", "role", "size", "id"]);
|
|
69
70
|
var inClass = {
|
|
70
71
|
in: open && !animation
|
|
71
72
|
};
|
|
@@ -163,18 +164,32 @@ var Modal = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
|
|
|
163
164
|
placement = _ref2.placement; // The width or height of the drawer depends on the placement.
|
|
164
165
|
sizeKey = placement === 'top' || placement === 'bottom' ? 'height' : 'width';
|
|
165
166
|
}
|
|
167
|
+
var enforceFocus = (0, _react.useMemo)(function () {
|
|
168
|
+
if (typeof enforceFocusProp === 'boolean') {
|
|
169
|
+
return enforceFocusProp;
|
|
170
|
+
}
|
|
171
|
+
|
|
172
|
+
// When the Drawer is displayed and the backdrop is not displayed, the focus is not restricted.
|
|
173
|
+
if (isDrawer && backdrop === false) {
|
|
174
|
+
return false;
|
|
175
|
+
}
|
|
176
|
+
}, [backdrop, enforceFocusProp, isDrawer]);
|
|
177
|
+
var wrapperClassName = merge(prefix(_templateObject || (_templateObject = (0, _taggedTemplateLiteralLoose2.default)(["wrapper"]))), (_merge = {}, _merge[prefix(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteralLoose2.default)(["no-backdrop"])))] = backdrop === false, _merge));
|
|
166
178
|
return /*#__PURE__*/_react.default.createElement(_ModalContext.ModalContext.Provider, {
|
|
167
179
|
value: modalContextValue
|
|
168
|
-
}, /*#__PURE__*/_react.default.createElement(_Modal.default, (0, _extends2.default)({
|
|
180
|
+
}, /*#__PURE__*/_react.default.createElement(_Modal.default, (0, _extends2.default)({
|
|
181
|
+
"data-testid": isDrawer ? 'drawer-wrapper' : 'modal-wrapper'
|
|
182
|
+
}, rest, {
|
|
169
183
|
ref: ref,
|
|
170
184
|
backdrop: backdrop,
|
|
185
|
+
enforceFocus: enforceFocus,
|
|
171
186
|
open: open,
|
|
172
187
|
onClose: onClose,
|
|
173
|
-
className:
|
|
188
|
+
className: wrapperClassName,
|
|
174
189
|
onEntered: handleEntered,
|
|
175
190
|
onEntering: handleEntering,
|
|
176
191
|
onExited: handleExited,
|
|
177
|
-
backdropClassName: merge(prefix(
|
|
192
|
+
backdropClassName: merge(prefix(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteralLoose2.default)(["backdrop"]))), backdropClassName, inClass),
|
|
178
193
|
containerClassName: prefix({
|
|
179
194
|
open: open,
|
|
180
195
|
'has-backdrop': backdrop
|
package/cjs/Text/index.d.ts
CHANGED
package/cjs/Text/index.js
CHANGED
|
@@ -1,10 +1,9 @@
|
|
|
1
1
|
'use client';
|
|
2
2
|
"use strict";
|
|
3
3
|
|
|
4
|
-
var
|
|
4
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
5
5
|
exports.__esModule = true;
|
|
6
|
-
exports.default =
|
|
7
|
-
var _Text =
|
|
8
|
-
exports.TextProps = _Text.TextProps;
|
|
6
|
+
exports.default = void 0;
|
|
7
|
+
var _Text = _interopRequireDefault(require("./Text"));
|
|
9
8
|
var _default = _Text.default;
|
|
10
9
|
exports.default = _default;
|
|
@@ -198,7 +198,8 @@ var Modal = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
|
|
|
198
198
|
var className = fadeProps.className,
|
|
199
199
|
rest = (0, _objectWithoutPropertiesLoose2.default)(fadeProps, ["className"]);
|
|
200
200
|
return /*#__PURE__*/_react.default.createElement("div", (0, _extends2.default)({
|
|
201
|
-
"aria-hidden": true
|
|
201
|
+
"aria-hidden": true,
|
|
202
|
+
"data-testid": "backdrop"
|
|
202
203
|
}, rest, {
|
|
203
204
|
style: backdropStyle,
|
|
204
205
|
ref: (0, _utils2.mergeRefs)(modal.setBackdropRef, ref),
|
|
@@ -320,6 +320,8 @@
|
|
|
320
320
|
--rs-uploader-dnd-hover-border: var(--rs-primary-500);
|
|
321
321
|
--rs-avatar-bg: var(--rs-gray-300);
|
|
322
322
|
--rs-avatar-text: var(--rs-gray-0);
|
|
323
|
+
--rs-avatar-offset-color: var(--rs-gray-0);
|
|
324
|
+
--rs-avatar-ring-color: var(--rs-avatar-bg);
|
|
323
325
|
--rs-badge-bg: var(--rs-color-red);
|
|
324
326
|
--rs-badge-text: var(--rs-gray-0);
|
|
325
327
|
--rs-close-button-hover-color: var(--rs-color-red);
|
|
@@ -688,6 +690,8 @@
|
|
|
688
690
|
--rs-uploader-dnd-hover-border: var(--rs-primary-500);
|
|
689
691
|
--rs-avatar-bg: var(--rs-gray-400);
|
|
690
692
|
--rs-avatar-text: var(--rs-gray-0);
|
|
693
|
+
--rs-avatar-offset-color: var(--rs-gray-900);
|
|
694
|
+
--rs-avatar-ring-color: var(--rs-avatar-bg);
|
|
691
695
|
--rs-badge-bg: var(--rs-color-red);
|
|
692
696
|
--rs-badge-text: var(--rs-gray-0);
|
|
693
697
|
--rs-close-button-hover-color: var(--rs-color-red);
|
|
@@ -1055,6 +1059,8 @@
|
|
|
1055
1059
|
--rs-uploader-dnd-hover-border: var(--rs-primary-500);
|
|
1056
1060
|
--rs-avatar-bg: var(--rs-gray-400);
|
|
1057
1061
|
--rs-avatar-text: var(--rs-gray-0);
|
|
1062
|
+
--rs-avatar-offset-color: var(--rs-gray-900);
|
|
1063
|
+
--rs-avatar-ring-color: var(--rs-avatar-bg);
|
|
1058
1064
|
--rs-badge-bg: var(--rs-red-500);
|
|
1059
1065
|
--rs-badge-text: var(--rs-gray-0);
|
|
1060
1066
|
--rs-close-button-hover-color: var(--rs-color-red);
|
|
@@ -1554,13 +1560,47 @@ tbody.rs-anim-collapse.rs-anim-in {
|
|
|
1554
1560
|
background: var(--rs-avatar-bg);
|
|
1555
1561
|
text-align: center;
|
|
1556
1562
|
padding: 0 2px;
|
|
1557
|
-
|
|
1558
|
-
|
|
1559
|
-
|
|
1563
|
+
}
|
|
1564
|
+
.rs-avatar-icon {
|
|
1565
|
+
position: absolute;
|
|
1566
|
+
}
|
|
1567
|
+
.rs-avatar-bordered {
|
|
1568
|
+
--rs-ring-offset-shadow: var(--rs-avatar-offset-color) 0 0 0 2px;
|
|
1569
|
+
--rs-ring-shadow: var(--rs-avatar-ring-color) 0 0 0 4px;
|
|
1570
|
+
-webkit-box-shadow: var(--rs-ring-offset-shadow), var(--rs-ring-shadow), 0 0 #0000;
|
|
1571
|
+
box-shadow: var(--rs-ring-offset-shadow), var(--rs-ring-shadow), 0 0 #0000;
|
|
1560
1572
|
}
|
|
1561
1573
|
.rs-avatar-circle {
|
|
1562
1574
|
border-radius: 50%;
|
|
1563
1575
|
}
|
|
1576
|
+
.rs-avatar-xxl {
|
|
1577
|
+
width: 120px;
|
|
1578
|
+
height: 120px;
|
|
1579
|
+
font-size: 48px;
|
|
1580
|
+
}
|
|
1581
|
+
.rs-avatar-xxl > .rs-icon {
|
|
1582
|
+
font-size: 84px;
|
|
1583
|
+
height: 84px;
|
|
1584
|
+
}
|
|
1585
|
+
.rs-avatar-xxl > .rs-avatar-image {
|
|
1586
|
+
width: 120px;
|
|
1587
|
+
height: 120px;
|
|
1588
|
+
line-height: 120px;
|
|
1589
|
+
}
|
|
1590
|
+
.rs-avatar-xl {
|
|
1591
|
+
width: 90px;
|
|
1592
|
+
height: 90px;
|
|
1593
|
+
font-size: 36px;
|
|
1594
|
+
}
|
|
1595
|
+
.rs-avatar-xl > .rs-icon {
|
|
1596
|
+
font-size: 63px;
|
|
1597
|
+
height: 63px;
|
|
1598
|
+
}
|
|
1599
|
+
.rs-avatar-xl > .rs-avatar-image {
|
|
1600
|
+
width: 90px;
|
|
1601
|
+
height: 90px;
|
|
1602
|
+
line-height: 90px;
|
|
1603
|
+
}
|
|
1564
1604
|
.rs-avatar-lg {
|
|
1565
1605
|
width: 60px;
|
|
1566
1606
|
height: 60px;
|
|
@@ -1603,6 +1643,34 @@ tbody.rs-anim-collapse.rs-anim-in {
|
|
|
1603
1643
|
height: 20px;
|
|
1604
1644
|
line-height: 20px;
|
|
1605
1645
|
}
|
|
1646
|
+
.rs-avatar-red {
|
|
1647
|
+
--rs-avatar-bg: var(--rs-red-500);
|
|
1648
|
+
--rs-avatar-ring-color: var(--rs-red-500);
|
|
1649
|
+
}
|
|
1650
|
+
.rs-avatar-orange {
|
|
1651
|
+
--rs-avatar-bg: var(--rs-orange-500);
|
|
1652
|
+
--rs-avatar-ring-color: var(--rs-orange-500);
|
|
1653
|
+
}
|
|
1654
|
+
.rs-avatar-yellow {
|
|
1655
|
+
--rs-avatar-bg: var(--rs-yellow-500);
|
|
1656
|
+
--rs-avatar-ring-color: var(--rs-yellow-500);
|
|
1657
|
+
}
|
|
1658
|
+
.rs-avatar-green {
|
|
1659
|
+
--rs-avatar-bg: var(--rs-green-500);
|
|
1660
|
+
--rs-avatar-ring-color: var(--rs-green-500);
|
|
1661
|
+
}
|
|
1662
|
+
.rs-avatar-cyan {
|
|
1663
|
+
--rs-avatar-bg: var(--rs-cyan-500);
|
|
1664
|
+
--rs-avatar-ring-color: var(--rs-cyan-500);
|
|
1665
|
+
}
|
|
1666
|
+
.rs-avatar-blue {
|
|
1667
|
+
--rs-avatar-bg: var(--rs-blue-500);
|
|
1668
|
+
--rs-avatar-ring-color: var(--rs-blue-500);
|
|
1669
|
+
}
|
|
1670
|
+
.rs-avatar-violet {
|
|
1671
|
+
--rs-avatar-bg: var(--rs-violet-500);
|
|
1672
|
+
--rs-avatar-ring-color: var(--rs-violet-500);
|
|
1673
|
+
}
|
|
1606
1674
|
.rs-avatar-group {
|
|
1607
1675
|
display: -webkit-box;
|
|
1608
1676
|
display: -ms-flexbox;
|
|
@@ -4705,6 +4773,9 @@ label:hover .rs-checkbox-control .rs-checkbox-inner::before {
|
|
|
4705
4773
|
width: 100%;
|
|
4706
4774
|
height: 100%;
|
|
4707
4775
|
}
|
|
4776
|
+
.rs-drawer-wrapper.rs-drawer-no-backdrop {
|
|
4777
|
+
pointer-events: none;
|
|
4778
|
+
}
|
|
4708
4779
|
.rs-drawer {
|
|
4709
4780
|
display: none;
|
|
4710
4781
|
overflow: hidden;
|
|
@@ -4714,6 +4785,7 @@ label:hover .rs-checkbox-control .rs-checkbox-inner::before {
|
|
|
4714
4785
|
-webkit-box-shadow: var(--rs-drawer-shadow);
|
|
4715
4786
|
box-shadow: 0 4px 4px rgba(0, 0, 0, 0.12), 0 0 10px rgba(0, 0, 0, 0.06);
|
|
4716
4787
|
box-shadow: var(--rs-drawer-shadow);
|
|
4788
|
+
pointer-events: auto;
|
|
4717
4789
|
outline: 0;
|
|
4718
4790
|
}
|
|
4719
4791
|
.rs-drawer-open.rs-drawer-has-backdrop {
|