rsuite 5.72.0 → 5.73.1

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.
Files changed (177) hide show
  1. package/CHANGELOG.md +33 -0
  2. package/Calendar/styles/index.css +28 -31
  3. package/Calendar/styles/index.less +21 -27
  4. package/CheckPicker/styles/index.css +0 -1
  5. package/CheckTree/styles/index.css +0 -1
  6. package/CheckTree/styles/index.less +0 -1
  7. package/CheckTreePicker/styles/index.css +0 -1
  8. package/Checkbox/styles/mixin.less +1 -1
  9. package/DatePicker/styles/index.css +28 -34
  10. package/DatePicker/styles/index.less +0 -4
  11. package/DateRangePicker/styles/index.css +28 -37
  12. package/DateRangePicker/styles/index.less +0 -4
  13. package/InputPicker/styles/index.css +0 -1
  14. package/Pagination/styles/index.css +0 -1
  15. package/RadioTile/styles/index.css +69 -0
  16. package/RadioTile/styles/index.less +3 -1
  17. package/Rate/styles/index.less +1 -1
  18. package/SelectPicker/styles/index.css +0 -1
  19. package/Slider/styles/index.less +1 -1
  20. package/TagInput/styles/index.css +0 -4
  21. package/TagPicker/styles/index.css +0 -4
  22. package/TagPicker/styles/index.less +0 -2
  23. package/TimePicker/styles/index.css +28 -34
  24. package/TimeRangePicker/styles/index.css +28 -37
  25. package/Tree/styles/index.css +0 -3
  26. package/Tree/styles/index.less +0 -6
  27. package/TreePicker/styles/index.css +0 -3
  28. package/cjs/Calendar/CalendarHeader.js +4 -4
  29. package/cjs/Calendar/{MonthDropdown.d.ts → MonthDropdown/MonthDropdown.d.ts} +1 -2
  30. package/cjs/Calendar/{MonthDropdown.js → MonthDropdown/MonthDropdown.js} +14 -20
  31. package/{esm/Calendar → cjs/Calendar/MonthDropdown}/MonthDropdownItem.d.ts +1 -1
  32. package/cjs/Calendar/{MonthDropdownItem.js → MonthDropdown/MonthDropdownItem.js} +6 -6
  33. package/cjs/Calendar/MonthDropdown/index.d.ts +2 -0
  34. package/cjs/Calendar/MonthDropdown/index.js +8 -0
  35. package/cjs/Calendar/hooks/useCalendarState.d.ts +1 -1
  36. package/cjs/Calendar/hooks/useCalendarState.js +15 -8
  37. package/cjs/Calendar/utils/index.d.ts +1 -0
  38. package/cjs/Calendar/utils/index.js +4 -2
  39. package/cjs/Calendar/utils/isEveryDateInMonth.d.ts +1 -0
  40. package/cjs/Calendar/utils/isEveryDateInMonth.js +15 -0
  41. package/cjs/CascadeTree/TreeView.js +3 -3
  42. package/cjs/CustomProvider/CustomProvider.d.ts +31 -13
  43. package/cjs/CustomProvider/CustomProvider.js +20 -6
  44. package/cjs/DatePicker/DatePicker.js +12 -12
  45. package/cjs/DateRangePicker/DateRangePicker.js +1 -1
  46. package/cjs/Drawer/Drawer.js +6 -15
  47. package/cjs/Dropdown/Dropdown.d.ts +1 -1
  48. package/cjs/Dropdown/DropdownItem.d.ts +1 -1
  49. package/cjs/Dropdown/DropdownMenu.d.ts +1 -1
  50. package/cjs/Dropdown/DropdownMenu.js +3 -3
  51. package/cjs/Dropdown/DropdownToggle.d.ts +1 -1
  52. package/cjs/FormControl/hooks/useField.js +3 -0
  53. package/cjs/FormHelpText/FormHelpText.js +2 -2
  54. package/cjs/IconButton/IconButton.d.ts +1 -1
  55. package/cjs/Modal/Modal.d.ts +4 -0
  56. package/cjs/Modal/Modal.js +12 -13
  57. package/cjs/Modal/ModalBody.js +6 -5
  58. package/cjs/Modal/ModalContext.d.ts +4 -0
  59. package/cjs/Modal/ModalHeader.js +4 -4
  60. package/cjs/MultiCascadeTree/TreeView.js +3 -3
  61. package/cjs/Nav/NavDropdownItem.d.ts +1 -1
  62. package/cjs/Nav/NavDropdownMenu.d.ts +1 -1
  63. package/cjs/Nav/NavDropdownMenu.js +3 -3
  64. package/cjs/Nav/NavItem.d.ts +1 -1
  65. package/cjs/Navbar/NavbarDropdown.d.ts +1 -1
  66. package/cjs/Navbar/NavbarDropdownItem.d.ts +1 -1
  67. package/cjs/Navbar/NavbarDropdownMenu.d.ts +1 -1
  68. package/cjs/Navbar/NavbarDropdownMenu.js +3 -3
  69. package/cjs/Navbar/NavbarItem.d.ts +1 -1
  70. package/cjs/Pagination/Pagination.js +5 -5
  71. package/cjs/Panel/AccordionButton.js +2 -2
  72. package/cjs/Sidenav/ExpandedSidenavDropdown.d.ts +1 -1
  73. package/cjs/Sidenav/ExpandedSidenavDropdownItem.d.ts +1 -1
  74. package/cjs/Sidenav/ExpandedSidenavDropdownMenu.d.ts +1 -1
  75. package/cjs/Sidenav/SidenavDropdown.d.ts +1 -1
  76. package/cjs/Sidenav/SidenavDropdownItem.d.ts +1 -1
  77. package/cjs/Sidenav/SidenavDropdownMenu.d.ts +1 -1
  78. package/cjs/Sidenav/SidenavItem.d.ts +1 -1
  79. package/cjs/Sidenav/SidenavToggle.js +3 -3
  80. package/cjs/Steps/StepItem.d.ts +1 -1
  81. package/cjs/internals/Picker/ListItemGroup.js +1 -1
  82. package/cjs/internals/Picker/PickerIndicator.js +2 -2
  83. package/cjs/internals/Picker/PickerToggle.d.ts +1 -1
  84. package/cjs/internals/SearchBox/SearchBox.js +1 -1
  85. package/cjs/internals/constants/statusIcons.js +7 -7
  86. package/cjs/internals/hooks/useFocusVirtualListItem.d.ts +5 -2
  87. package/cjs/internals/hooks/useFocusVirtualListItem.js +23 -7
  88. package/cjs/internals/hooks/useToggleCaret.d.ts +1 -1
  89. package/cjs/locales/hu_HU.d.ts +2 -0
  90. package/cjs/locales/hu_HU.js +3 -1
  91. package/dist/rsuite-no-reset-rtl.css +28 -46
  92. package/dist/rsuite-no-reset-rtl.min.css +1 -1
  93. package/dist/rsuite-no-reset-rtl.min.css.map +1 -1
  94. package/dist/rsuite-no-reset.css +28 -46
  95. package/dist/rsuite-no-reset.min.css +1 -1
  96. package/dist/rsuite-no-reset.min.css.map +1 -1
  97. package/dist/rsuite-rtl.css +28 -46
  98. package/dist/rsuite-rtl.min.css +1 -1
  99. package/dist/rsuite-rtl.min.css.map +1 -1
  100. package/dist/rsuite.css +28 -46
  101. package/dist/rsuite.js +450 -5234
  102. package/dist/rsuite.js.map +1 -1
  103. package/dist/rsuite.min.css +1 -1
  104. package/dist/rsuite.min.css.map +1 -1
  105. package/dist/rsuite.min.js +1 -1
  106. package/dist/rsuite.min.js.map +1 -1
  107. package/esm/Calendar/CalendarContainer.js +1 -1
  108. package/esm/Calendar/CalendarHeader.js +4 -4
  109. package/esm/Calendar/{MonthDropdown.d.ts → MonthDropdown/MonthDropdown.d.ts} +1 -2
  110. package/esm/Calendar/{MonthDropdown.js → MonthDropdown/MonthDropdown.js} +13 -18
  111. package/{cjs/Calendar → esm/Calendar/MonthDropdown}/MonthDropdownItem.d.ts +1 -1
  112. package/esm/Calendar/{MonthDropdownItem.js → MonthDropdown/MonthDropdownItem.js} +6 -6
  113. package/esm/Calendar/MonthDropdown/index.d.ts +2 -0
  114. package/esm/Calendar/MonthDropdown/index.js +3 -0
  115. package/esm/Calendar/hooks/useCalendarState.d.ts +1 -1
  116. package/esm/Calendar/hooks/useCalendarState.js +16 -9
  117. package/esm/Calendar/utils/index.d.ts +1 -0
  118. package/esm/Calendar/utils/index.js +2 -1
  119. package/esm/Calendar/utils/isEveryDateInMonth.d.ts +1 -0
  120. package/esm/Calendar/utils/isEveryDateInMonth.js +11 -0
  121. package/esm/CascadeTree/TreeView.js +3 -3
  122. package/esm/CustomProvider/CustomProvider.d.ts +31 -13
  123. package/esm/CustomProvider/CustomProvider.js +20 -6
  124. package/esm/DatePicker/DatePicker.js +3 -3
  125. package/esm/DateRangePicker/DateRangePicker.js +2 -2
  126. package/esm/Drawer/Drawer.js +6 -13
  127. package/esm/Dropdown/Dropdown.d.ts +1 -1
  128. package/esm/Dropdown/DropdownItem.d.ts +1 -1
  129. package/esm/Dropdown/DropdownMenu.d.ts +1 -1
  130. package/esm/Dropdown/DropdownMenu.js +3 -3
  131. package/esm/Dropdown/DropdownToggle.d.ts +1 -1
  132. package/esm/FormControl/hooks/useField.js +4 -1
  133. package/esm/FormHelpText/FormHelpText.js +2 -2
  134. package/esm/IconButton/IconButton.d.ts +1 -1
  135. package/esm/Modal/Modal.d.ts +4 -0
  136. package/esm/Modal/Modal.js +13 -14
  137. package/esm/Modal/ModalBody.js +6 -5
  138. package/esm/Modal/ModalContext.d.ts +4 -0
  139. package/esm/Modal/ModalHeader.js +4 -4
  140. package/esm/MultiCascadeTree/TreeView.js +3 -3
  141. package/esm/Nav/NavDropdownItem.d.ts +1 -1
  142. package/esm/Nav/NavDropdownMenu.d.ts +1 -1
  143. package/esm/Nav/NavDropdownMenu.js +3 -3
  144. package/esm/Nav/NavItem.d.ts +1 -1
  145. package/esm/Navbar/NavbarDropdown.d.ts +1 -1
  146. package/esm/Navbar/NavbarDropdownItem.d.ts +1 -1
  147. package/esm/Navbar/NavbarDropdownMenu.d.ts +1 -1
  148. package/esm/Navbar/NavbarDropdownMenu.js +3 -3
  149. package/esm/Navbar/NavbarItem.d.ts +1 -1
  150. package/esm/Pagination/Pagination.js +10 -10
  151. package/esm/Panel/AccordionButton.js +1 -1
  152. package/esm/Sidenav/ExpandedSidenavDropdown.d.ts +1 -1
  153. package/esm/Sidenav/ExpandedSidenavDropdownItem.d.ts +1 -1
  154. package/esm/Sidenav/ExpandedSidenavDropdownMenu.d.ts +1 -1
  155. package/esm/Sidenav/SidenavDropdown.d.ts +1 -1
  156. package/esm/Sidenav/SidenavDropdownItem.d.ts +1 -1
  157. package/esm/Sidenav/SidenavDropdownMenu.d.ts +1 -1
  158. package/esm/Sidenav/SidenavItem.d.ts +1 -1
  159. package/esm/Sidenav/SidenavToggle.js +3 -3
  160. package/esm/Steps/StepItem.d.ts +1 -1
  161. package/esm/internals/Picker/ListItemGroup.js +2 -2
  162. package/esm/internals/Picker/PickerIndicator.js +1 -1
  163. package/esm/internals/Picker/PickerToggle.d.ts +1 -1
  164. package/esm/internals/SearchBox/SearchBox.js +2 -2
  165. package/esm/internals/constants/statusIcons.js +7 -7
  166. package/esm/internals/hooks/useFocusVirtualListItem.d.ts +5 -2
  167. package/esm/internals/hooks/useFocusVirtualListItem.js +23 -7
  168. package/esm/internals/hooks/useToggleCaret.d.ts +1 -1
  169. package/esm/locales/hu_HU.d.ts +2 -0
  170. package/esm/locales/hu_HU.js +3 -1
  171. package/internals/Picker/styles/mixin.less +0 -1
  172. package/package.json +2 -2
  173. package/styles/variables.less +1 -1
  174. package/cjs/Drawer/DrawerContext.d.ts +0 -9
  175. package/cjs/Drawer/DrawerContext.js +0 -9
  176. package/esm/Drawer/DrawerContext.d.ts +0 -9
  177. package/esm/Drawer/DrawerContext.js +0 -4
@@ -15,9 +15,16 @@ var useCalendarState = exports.useCalendarState = function useCalendarState(prop
15
15
  var _useState = (0, _react.useState)(props.defaultState),
16
16
  calendarState = _useState[0],
17
17
  setCalendarState = _useState[1];
18
- var reset = (0, _react.useCallback)(function () {
18
+ var reset = (0, _hooks.useEventCallback)(function () {
19
19
  setCalendarState(undefined);
20
- }, []);
20
+ if (calendarState === CalendarState.TIME) {
21
+ var _props$onToggleTimeDr;
22
+ (_props$onToggleTimeDr = props.onToggleTimeDropdown) === null || _props$onToggleTimeDr === void 0 ? void 0 : _props$onToggleTimeDr.call(props, false);
23
+ } else if (calendarState === CalendarState.MONTH) {
24
+ var _props$onToggleMonthD;
25
+ (_props$onToggleMonthD = props.onToggleMonthDropdown) === null || _props$onToggleMonthD === void 0 ? void 0 : _props$onToggleMonthD.call(props, false);
26
+ }
27
+ });
21
28
  var onMoveForward = (0, _hooks.useEventCallback)(function () {
22
29
  var _props$onMoveForward;
23
30
  (_props$onMoveForward = props.onMoveForward) === null || _props$onMoveForward === void 0 ? void 0 : _props$onMoveForward.call(props, (0, _date.addMonths)(props.calendarDate, 1));
@@ -27,22 +34,22 @@ var useCalendarState = exports.useCalendarState = function useCalendarState(prop
27
34
  (_props$onMoveBackward = props.onMoveBackward) === null || _props$onMoveBackward === void 0 ? void 0 : _props$onMoveBackward.call(props, (0, _date.addMonths)(props.calendarDate, -1));
28
35
  });
29
36
  var onToggleTimeDropdown = (0, _hooks.useEventCallback)(function () {
30
- var _props$onToggleTimeDr;
37
+ var _props$onToggleTimeDr2;
31
38
  if (calendarState === CalendarState.TIME) {
32
- reset();
39
+ setCalendarState(undefined);
33
40
  } else {
34
41
  setCalendarState(CalendarState.TIME);
35
42
  }
36
- (_props$onToggleTimeDr = props.onToggleTimeDropdown) === null || _props$onToggleTimeDr === void 0 ? void 0 : _props$onToggleTimeDr.call(props, calendarState !== CalendarState.TIME);
43
+ (_props$onToggleTimeDr2 = props.onToggleTimeDropdown) === null || _props$onToggleTimeDr2 === void 0 ? void 0 : _props$onToggleTimeDr2.call(props, calendarState !== CalendarState.TIME);
37
44
  });
38
45
  var onToggleMonthDropdown = (0, _hooks.useEventCallback)(function () {
39
- var _props$onToggleMonthD;
46
+ var _props$onToggleMonthD2;
40
47
  if (calendarState === CalendarState.MONTH) {
41
- reset();
48
+ setCalendarState(undefined);
42
49
  } else {
43
50
  setCalendarState(CalendarState.MONTH);
44
51
  }
45
- (_props$onToggleMonthD = props.onToggleMonthDropdown) === null || _props$onToggleMonthD === void 0 ? void 0 : _props$onToggleMonthD.call(props, calendarState !== CalendarState.MONTH);
52
+ (_props$onToggleMonthD2 = props.onToggleMonthDropdown) === null || _props$onToggleMonthD2 === void 0 ? void 0 : _props$onToggleMonthD2.call(props, calendarState !== CalendarState.MONTH);
46
53
  });
47
54
  var handlers = (0, _react.useMemo)(function () {
48
55
  return {
@@ -1 +1,2 @@
1
1
  export { getAriaLabel } from './getAriaLabel';
2
+ export { isEveryDateInMonth } from './isEveryDateInMonth';
@@ -2,6 +2,8 @@
2
2
  "use strict";
3
3
 
4
4
  exports.__esModule = true;
5
- exports.getAriaLabel = void 0;
5
+ exports.isEveryDateInMonth = exports.getAriaLabel = void 0;
6
6
  var _getAriaLabel = require("./getAriaLabel");
7
- exports.getAriaLabel = _getAriaLabel.getAriaLabel;
7
+ exports.getAriaLabel = _getAriaLabel.getAriaLabel;
8
+ var _isEveryDateInMonth = require("./isEveryDateInMonth");
9
+ exports.isEveryDateInMonth = _isEveryDateInMonth.isEveryDateInMonth;
@@ -0,0 +1 @@
1
+ export declare function isEveryDateInMonth(year: number, month: number, predicate: (date: Date) => boolean): boolean;
@@ -0,0 +1,15 @@
1
+ 'use client';
2
+ "use strict";
3
+
4
+ exports.__esModule = true;
5
+ exports.isEveryDateInMonth = isEveryDateInMonth;
6
+ var _date = require("../../internals/utils/date");
7
+ function isEveryDateInMonth(year, month, predicate) {
8
+ var days = (0, _date.getDaysInMonth)(new Date(year, month));
9
+ for (var i = 1; i <= days; i++) {
10
+ if (!predicate(new Date(year, month, i))) {
11
+ return false;
12
+ }
13
+ }
14
+ return true;
15
+ }
@@ -13,8 +13,8 @@ var _isNil = _interopRequireDefault(require("lodash/isNil"));
13
13
  var _utils = require("../internals/utils");
14
14
  var _hooks = require("../internals/hooks");
15
15
  var _Picker = require("../internals/Picker");
16
- var _AngleLeft = _interopRequireDefault(require("@rsuite/icons/legacy/AngleLeft"));
17
- var _AngleRight = _interopRequireDefault(require("@rsuite/icons/legacy/AngleRight"));
16
+ var _PagePrevious = _interopRequireDefault(require("@rsuite/icons/PagePrevious"));
17
+ var _PageNext = _interopRequireDefault(require("@rsuite/icons/PageNext"));
18
18
  var _getPosition = _interopRequireDefault(require("dom-lib/getPosition"));
19
19
  var _scrollTop = _interopRequireDefault(require("dom-lib/scrollTop"));
20
20
  var _excluded = ["as", "activeItemValue", "classPrefix", "className", "childrenKey", "disabledItemValues", "columnWidth", "columnHeight", "valueKey", "data", "cascadePaths", "loadingItemsSet", "labelKey", "style", "renderColumn", "renderTreeNode", "onSelect"];
@@ -117,7 +117,7 @@ var TreeView = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
117
117
 
118
118
  // Use `value` in keys when If `value` is string or number
119
119
  var onlyKey = typeof value === 'number' || typeof value === 'string' ? value : index;
120
- var Icon = loading ? _Spinner.default : rtl ? _AngleLeft.default : _AngleRight.default;
120
+ var Icon = loading ? _Spinner.default : rtl ? _PagePrevious.default : _PageNext.default;
121
121
  return /*#__PURE__*/_react.default.createElement(_Picker.ListItem, {
122
122
  as: 'li',
123
123
  role: "treeitem",
@@ -102,14 +102,38 @@ export interface CustomValue<T = Locale> {
102
102
  disableRipple?: boolean;
103
103
  }
104
104
  export interface CustomProviderProps<T = Locale> extends Partial<CustomValue<T>> {
105
- /** Supported themes */
105
+ /**
106
+ * Supported themes
107
+ */
106
108
  theme?: 'light' | 'dark' | 'high-contrast';
107
- /** The prefix of the component CSS class */
109
+ /**
110
+ * The prefix of the component CSS class
111
+ */
108
112
  classPrefix?: string;
109
- /** Primary content */
113
+ /**
114
+ * The prefix of the icon CSS class
115
+ */
116
+ iconClassPrefix?: string;
117
+ /**
118
+ * Primary content
119
+ */
110
120
  children?: React.ReactNode;
111
- /** Sets a container for toast rendering */
121
+ /**
122
+ * Sets a container for toast rendering
123
+ */
112
124
  toastContainer?: HTMLElement | (() => HTMLElement | null) | null;
125
+ csp?: {
126
+ /**
127
+ * Content Security Policy nonce
128
+ * https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/nonce
129
+ */
130
+ nonce?: string;
131
+ };
132
+ /**
133
+ * Disable inline styles
134
+ * @default false
135
+ */
136
+ disableInlineStyles?: boolean;
113
137
  }
114
138
  declare const CustomContext: React.Context<CustomProviderProps<{
115
139
  code?: string | undefined;
@@ -149,9 +173,7 @@ declare const CustomContext: React.Context<CustomProviderProps<{
149
173
  hours: string;
150
174
  minutes: string;
151
175
  seconds: string;
152
- formattedMonthPattern: string; /**
153
- * The locale object that contains the language and formatting rules for the date.
154
- */
176
+ formattedMonthPattern: string;
155
177
  formattedDayPattern: string;
156
178
  shortDateFormat: string;
157
179
  shortTimeFormat: string;
@@ -172,9 +194,7 @@ declare const CustomContext: React.Context<CustomProviderProps<{
172
194
  hours: string;
173
195
  minutes: string;
174
196
  seconds: string;
175
- formattedMonthPattern: string; /**
176
- * The locale object that contains the language and formatting rules for the date.
177
- */
197
+ formattedMonthPattern: string;
178
198
  formattedDayPattern: string;
179
199
  shortDateFormat: string;
180
200
  shortTimeFormat: string;
@@ -196,9 +216,7 @@ declare const CustomContext: React.Context<CustomProviderProps<{
196
216
  hours: string;
197
217
  minutes: string;
198
218
  seconds: string;
199
- formattedMonthPattern: string; /**
200
- * The locale object that contains the language and formatting rules for the date.
201
- */
219
+ formattedMonthPattern: string;
202
220
  formattedDayPattern: string;
203
221
  shortDateFormat: string;
204
222
  shortTimeFormat: string;
@@ -6,12 +6,13 @@ exports.__esModule = true;
6
6
  exports.default = exports.CustomContext = void 0;
7
7
  var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
8
8
  var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));
9
- var _react = _interopRequireDefault(require("react"));
9
+ var _react = _interopRequireWildcard(require("react"));
10
+ var _IconProvider = _interopRequireDefault(require("@rsuite/icons/IconProvider"));
10
11
  var _hooks = require("../internals/hooks");
11
12
  var _prefix = require("../internals/utils/prefix");
12
13
  var _DOMHelper = require("../DOMHelper");
13
14
  var _ToastContainer = _interopRequireWildcard(require("../toaster/ToastContainer"));
14
- var _excluded = ["children", "classPrefix", "theme", "toastContainer", "disableRipple"];
15
+ var _excluded = ["children", "classPrefix", "iconClassPrefix", "theme", "toastContainer", "disableRipple", "csp", "disableInlineStyles"];
15
16
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
16
17
  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
17
18
  var CustomContext = exports.CustomContext = /*#__PURE__*/_react.default.createContext({});
@@ -26,17 +27,21 @@ var CustomProvider = function CustomProvider(props) {
26
27
  var children = props.children,
27
28
  _props$classPrefix = props.classPrefix,
28
29
  classPrefix = _props$classPrefix === void 0 ? (0, _prefix.getClassNamePrefix)() : _props$classPrefix,
30
+ _props$iconClassPrefi = props.iconClassPrefix,
31
+ iconClassPrefix = _props$iconClassPrefi === void 0 ? classPrefix : _props$iconClassPrefi,
29
32
  theme = props.theme,
30
33
  container = props.toastContainer,
31
34
  disableRipple = props.disableRipple,
35
+ csp = props.csp,
36
+ disableInlineStyles = props.disableInlineStyles,
32
37
  rest = (0, _objectWithoutPropertiesLoose2.default)(props, _excluded);
33
- var toasters = _react.default.useRef(new Map());
38
+ var toasters = (0, _react.useRef)(new Map());
34
39
  var _usePortal = (0, _hooks.usePortal)({
35
40
  container: container,
36
41
  waitMount: true
37
42
  }),
38
43
  Portal = _usePortal.Portal;
39
- var value = _react.default.useMemo(function () {
44
+ var value = (0, _react.useMemo)(function () {
40
45
  return (0, _extends2.default)({
41
46
  classPrefix: classPrefix,
42
47
  theme: theme,
@@ -44,6 +49,13 @@ var CustomProvider = function CustomProvider(props) {
44
49
  disableRipple: disableRipple
45
50
  }, rest);
46
51
  }, [classPrefix, theme, disableRipple, rest]);
52
+ var iconContext = (0, _react.useMemo)(function () {
53
+ return {
54
+ classPrefix: iconClassPrefix,
55
+ csp: csp,
56
+ disableInlineStyles: disableInlineStyles
57
+ };
58
+ }, [iconClassPrefix, csp, disableInlineStyles]);
47
59
  (0, _hooks.useIsomorphicLayoutEffect)(function () {
48
60
  if (_DOMHelper.canUseDOM && theme) {
49
61
  (0, _DOMHelper.addClass)(document.body, (0, _prefix.prefix)(classPrefix, "theme-" + theme));
@@ -58,8 +70,10 @@ var CustomProvider = function CustomProvider(props) {
58
70
  }, [classPrefix, theme]);
59
71
  return /*#__PURE__*/_react.default.createElement(CustomContext.Provider, {
60
72
  value: value
73
+ }, /*#__PURE__*/_react.default.createElement(_IconProvider.default, {
74
+ value: iconContext
61
75
  }, children, /*#__PURE__*/_react.default.createElement(Portal, null, /*#__PURE__*/_react.default.createElement("div", {
62
- className: "rs-toast-provider"
76
+ className: classPrefix + "toast-provider"
63
77
  }, _ToastContainer.toastPlacements.map(function (placement) {
64
78
  return /*#__PURE__*/_react.default.createElement(_ToastContainer.default, {
65
79
  key: placement,
@@ -68,6 +82,6 @@ var CustomProvider = function CustomProvider(props) {
68
82
  toasters.current.set(placement, _ref);
69
83
  }
70
84
  });
71
- }))));
85
+ })))));
72
86
  };
73
87
  var _default = exports.default = CustomProvider;
@@ -11,10 +11,11 @@ var _react = _interopRequireWildcard(require("react"));
11
11
  var _propTypes = _interopRequireDefault(require("prop-types"));
12
12
  var _mapValues = _interopRequireDefault(require("lodash/mapValues"));
13
13
  var _pick = _interopRequireDefault(require("lodash/pick"));
14
- var _Calendar = _interopRequireDefault(require("@rsuite/icons/legacy/Calendar"));
14
+ var _Calendar = _interopRequireDefault(require("@rsuite/icons/Calendar"));
15
15
  var _Time = _interopRequireDefault(require("@rsuite/icons/Time"));
16
16
  var _CalendarContainer = _interopRequireDefault(require("../Calendar/CalendarContainer"));
17
17
  var _hooks = require("../Calendar/hooks");
18
+ var _utils = require("../Calendar/utils");
18
19
  var _Toolbar = _interopRequireDefault(require("./Toolbar"));
19
20
  var _Stack = _interopRequireDefault(require("../Stack"));
20
21
  var _PredefinedRanges = _interopRequireDefault(require("./PredefinedRanges"));
@@ -23,13 +24,12 @@ var _InputGroup = _interopRequireDefault(require("../InputGroup"));
23
24
  var _useMonthView2 = _interopRequireDefault(require("./hooks/useMonthView"));
24
25
  var _useFocus2 = _interopRequireDefault(require("./hooks/useFocus"));
25
26
  var _useCustomizedInput2 = _interopRequireDefault(require("./hooks/useCustomizedInput"));
26
- var _MonthDropdown = require("../Calendar/MonthDropdown");
27
- var _utils = require("../internals/utils");
27
+ var _utils2 = require("../internals/utils");
28
28
  var _hooks2 = require("../internals/hooks");
29
29
  var _date = require("../internals/utils/date");
30
30
  var _Picker = require("../internals/Picker");
31
31
  var _OverlayTrigger = require("../internals/Overlay/OverlayTrigger");
32
- var _utils2 = require("./utils");
32
+ var _utils3 = require("./utils");
33
33
  var _templateObject, _templateObject2;
34
34
  var _excluded = ["as", "className", "classPrefix", "calendarDefaultDate", "cleanable", "caretAs", "editable", "defaultValue", "disabled", "readOnly", "plaintext", "format", "id", "isoWeek", "weekStart", "limitEndYear", "limitStartYear", "locale", "loading", "label", "menuClassName", "menuStyle", "appearance", "placement", "oneTap", "placeholder", "ranges", "value", "showMeridian", "showMeridiem", "showWeekNumbers", "style", "size", "monthDropdownProps", "shouldDisableDate", "shouldDisableHour", "shouldDisableMinute", "shouldDisableSecond", "onChange", "onChangeCalendarDate", "onClean", "onEnter", "onExit", "onNextMonth", "onOk", "onPrevMonth", "onSelect", "onToggleMonthDropdown", "onToggleTimeDropdown", "onShortcutClick", "renderCell", "renderValue", "disabledDate", "disabledHours", "disabledMinutes", "disabledSeconds"];
35
35
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
@@ -173,7 +173,7 @@ var DatePicker = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
173
173
  * If any day in the month is disabled, the entire month is disabled
174
174
  */
175
175
  var isMonthDisabled = function isMonthDisabled(date) {
176
- return (0, _MonthDropdown.isEveryDateInMonth)(date.getFullYear(), date.getMonth(), isDateDisabled);
176
+ return (0, _utils.isEveryDateInMonth)(date.getFullYear(), date.getMonth(), isDateDisabled);
177
177
  };
178
178
 
179
179
  /**
@@ -366,7 +366,7 @@ var DatePicker = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
366
366
  return (_func = func === null || func === void 0 ? void 0 : func(next, date)) !== null && _func !== void 0 ? _func : false;
367
367
  };
368
368
  });
369
- var _splitRanges = (0, _utils2.splitRanges)(ranges),
369
+ var _splitRanges = (0, _utils3.splitRanges)(ranges),
370
370
  sideRanges = _splitRanges.sideRanges,
371
371
  bottomRanges = _splitRanges.bottomRanges;
372
372
  var renderCalendarOverlay = function renderCalendarOverlay(positionProps, speakerRef) {
@@ -383,7 +383,7 @@ var DatePicker = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
383
383
  "aria-labelledby": label ? id + "-label" : undefined,
384
384
  tabIndex: -1,
385
385
  className: classes,
386
- ref: (0, _utils.mergeRefs)(overlay, speakerRef),
386
+ ref: (0, _utils2.mergeRefs)(overlay, speakerRef),
387
387
  style: styles,
388
388
  target: trigger,
389
389
  onKeyDown: handlePickerPopupKeyDown
@@ -460,7 +460,7 @@ var DatePicker = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
460
460
  (_props$onClose = props.onClose) === null || _props$onClose === void 0 ? void 0 : _props$onClose.call(props);
461
461
  });
462
462
  var showCleanButton = cleanable && hasValue && !readOnly;
463
- var _partitionHTMLProps = (0, _utils.partitionHTMLProps)(restProps, {
463
+ var _partitionHTMLProps = (0, _utils2.partitionHTMLProps)(restProps, {
464
464
  htmlProps: [],
465
465
  includeAria: true
466
466
  }),
@@ -486,8 +486,8 @@ var DatePicker = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
486
486
  ref: trigger,
487
487
  placement: placement,
488
488
  onClose: handleTriggerClose,
489
- onEnter: (0, _utils.createChainedFunction)(events.onActive, onEnter),
490
- onExit: (0, _utils.createChainedFunction)(events.onInactive, onExit),
489
+ onEnter: (0, _utils2.createChainedFunction)(events.onActive, onEnter),
490
+ onExit: (0, _utils2.createChainedFunction)(events.onInactive, onExit),
491
491
  speaker: renderCalendarOverlay
492
492
  }, /*#__PURE__*/_react.default.createElement(Component, {
493
493
  className: merge(className, classes, (_merge = {}, _merge[prefix('error')] = invalidValue, _merge)),
@@ -497,7 +497,7 @@ var DatePicker = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
497
497
  value: value,
498
498
  format: formatStr,
499
499
  plaintext: plaintext
500
- }) : /*#__PURE__*/_react.default.createElement(_InputGroup.default, (0, _extends2.default)({}, (0, _utils2.getRestProps)(rest, usedClassNamePropKeys), {
500
+ }) : /*#__PURE__*/_react.default.createElement(_InputGroup.default, (0, _extends2.default)({}, (0, _utils3.getRestProps)(rest, usedClassNamePropKeys), {
501
501
  inside: true,
502
502
  size: size,
503
503
  disabled: disabled,
@@ -528,7 +528,7 @@ var DatePicker = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
528
528
  }))));
529
529
  });
530
530
  DatePicker.displayName = 'DatePicker';
531
- DatePicker.propTypes = (0, _extends2.default)({}, _Picker.pickerPropTypes, _utils2.deprecatedPropTypes, {
531
+ DatePicker.propTypes = (0, _extends2.default)({}, _Picker.pickerPropTypes, _utils3.deprecatedPropTypes, {
532
532
  calendarDefaultDate: _propTypes.default.instanceOf(Date),
533
533
  defaultValue: _propTypes.default.instanceOf(Date),
534
534
  shouldDisableDate: _propTypes.default.func,
@@ -12,7 +12,7 @@ var _isNil = _interopRequireDefault(require("lodash/isNil"));
12
12
  var _omit = _interopRequireDefault(require("lodash/omit"));
13
13
  var _pick = _interopRequireDefault(require("lodash/pick"));
14
14
  var _propTypes = _interopRequireDefault(require("prop-types"));
15
- var _Calendar = _interopRequireDefault(require("@rsuite/icons/legacy/Calendar"));
15
+ var _Calendar = _interopRequireDefault(require("@rsuite/icons/Calendar"));
16
16
  var _Time = _interopRequireDefault(require("@rsuite/icons/Time"));
17
17
  var _Toolbar = _interopRequireDefault(require("../DatePicker/Toolbar"));
18
18
  var _PredefinedRanges = _interopRequireDefault(require("../DatePicker/PredefinedRanges"));
@@ -6,13 +6,12 @@ exports.__esModule = true;
6
6
  exports.default = void 0;
7
7
  var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
8
8
  var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));
9
- var _react = _interopRequireWildcard(require("react"));
9
+ var _react = _interopRequireDefault(require("react"));
10
10
  var _propTypes = _interopRequireDefault(require("prop-types"));
11
11
  var _Slide = _interopRequireDefault(require("../Animation/Slide"));
12
12
  var _Modal = _interopRequireDefault(require("../Modal"));
13
13
  var _hooks = require("../internals/hooks");
14
14
  var _utils = require("../internals/utils");
15
- var _DrawerContext = _interopRequireDefault(require("./DrawerContext"));
16
15
  var _propTypes2 = require("../internals/propTypes");
17
16
  var _DrawerBody = _interopRequireDefault(require("./DrawerBody"));
18
17
  var _DrawerHeader = _interopRequireDefault(require("./DrawerHeader"));
@@ -20,8 +19,6 @@ var _DrawerActions = _interopRequireDefault(require("./DrawerActions"));
20
19
  var _DrawerFooter = _interopRequireDefault(require("./DrawerFooter"));
21
20
  var _DrawerTitle = _interopRequireDefault(require("./DrawerTitle"));
22
21
  var _excluded = ["className", "placement", "classPrefix", "animation", "closeButton"];
23
- function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
24
- function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
25
22
  /**
26
23
  * The Drawer component is used to display extra content from a main content.
27
24
  * @see https://rsuitejs.com/components/drawer
@@ -44,22 +41,16 @@ var Drawer = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
44
41
  var animationProps = {
45
42
  placement: placement
46
43
  };
47
- var contextValue = (0, _react.useMemo)(function () {
48
- return {
49
- closeButton: closeButton,
50
- isDrawer: true
51
- };
52
- }, [closeButton]);
53
- return /*#__PURE__*/_react.default.createElement(_DrawerContext.default.Provider, {
54
- value: contextValue
55
- }, /*#__PURE__*/_react.default.createElement(_Modal.default, (0, _extends2.default)({}, rest, {
44
+ return /*#__PURE__*/_react.default.createElement(_Modal.default, (0, _extends2.default)({}, rest, {
56
45
  ref: ref,
57
46
  overflow: false,
58
47
  classPrefix: classPrefix,
59
48
  className: classes,
60
49
  animation: animation,
61
- animationProps: animationProps
62
- })));
50
+ animationProps: animationProps,
51
+ isDrawer: true,
52
+ closeButton: closeButton
53
+ }));
63
54
  });
64
55
  _DrawerBody.default.displayName = 'DrawerBody';
65
56
  _DrawerHeader.default.displayName = 'DrawerHeader';
@@ -1,7 +1,7 @@
1
1
  import React from 'react';
2
2
  import DropdownMenu from './DropdownMenu';
3
3
  import { TypeAttributes, WithAsProps, RsRefForwardingComponent } from '../internals/types';
4
- import { IconProps } from '@rsuite/icons/lib/Icon';
4
+ import { IconProps } from '@rsuite/icons/Icon';
5
5
  import DropdownItem from './DropdownItem';
6
6
  import Button from '../Button';
7
7
  import DropdownSeparator from './DropdownSeparator';
@@ -1,5 +1,5 @@
1
1
  import React from 'react';
2
- import { IconProps } from '@rsuite/icons/lib/Icon';
2
+ import { IconProps } from '@rsuite/icons/Icon';
3
3
  import type { RsRefForwardingComponent, WithAsProps } from '../internals/types';
4
4
  export interface DropdownMenuItemProps<T = any> extends WithAsProps, Omit<React.HTMLAttributes<HTMLElement>, 'onSelect'> {
5
5
  /** Active the current option */
@@ -1,6 +1,6 @@
1
1
  import React from 'react';
2
2
  import { StandardProps } from '../internals/types';
3
- import { IconProps } from '@rsuite/icons/lib/Icon';
3
+ import { IconProps } from '@rsuite/icons/Icon';
4
4
  export interface DropdownMenuProps<T = string> extends StandardProps {
5
5
  /** Define the title as a submenu */
6
6
  title?: React.ReactNode;
@@ -16,8 +16,8 @@ var _propTypes = require("../internals/propTypes");
16
16
  var _hooks = require("../internals/hooks");
17
17
  var _utils = require("../internals/utils");
18
18
  var _propTypes2 = _interopRequireDefault(require("prop-types"));
19
- var _AngleLeft = _interopRequireDefault(require("@rsuite/icons/legacy/AngleLeft"));
20
- var _AngleRight = _interopRequireDefault(require("@rsuite/icons/legacy/AngleRight"));
19
+ var _PagePrevious = _interopRequireDefault(require("@rsuite/icons/PagePrevious"));
20
+ var _PageNext = _interopRequireDefault(require("@rsuite/icons/PageNext"));
21
21
  var _DropdownContext = _interopRequireDefault(require("./DropdownContext"));
22
22
  var _Nav = _interopRequireDefault(require("../Nav"));
23
23
  var _NavContext = _interopRequireDefault(require("../Nav/NavContext"));
@@ -115,7 +115,7 @@ var DropdownMenu = /*#__PURE__*/_react.default.forwardRef(function (props, ref)
115
115
  icon = _omit.icon,
116
116
  disabled = _omit.disabled,
117
117
  menuProps = (0, _objectWithoutPropertiesLoose2.default)(_omit, _excluded2);
118
- var Icon = rtl ? _AngleLeft.default : _AngleRight.default;
118
+ var Icon = rtl ? _PagePrevious.default : _PageNext.default;
119
119
  return /*#__PURE__*/_react.default.createElement(_Menu.default, {
120
120
  openMenuOn: ['mouseover', 'click'],
121
121
  renderMenuButton: function renderMenuButton(_ref, buttonRef) {
@@ -1,6 +1,6 @@
1
1
  import React from 'react';
2
2
  import Button from '../Button';
3
- import { IconProps } from '@rsuite/icons/lib/Icon';
3
+ import { IconProps } from '@rsuite/icons/Icon';
4
4
  import { WithAsProps, RsRefForwardingComponent, TypeAttributes } from '../internals/types';
5
5
  export interface DropdownToggleProps extends WithAsProps {
6
6
  icon?: React.ReactElement<IconProps>;
@@ -22,6 +22,9 @@ function getErrorMessage(error) {
22
22
  if (error !== null && error !== void 0 && error.array && ((_error$array = error.array) === null || _error$array === void 0 ? void 0 : _error$array.length) > 0) {
23
23
  return error.array[0].errorMessage;
24
24
  }
25
+ if ( /*#__PURE__*/(0, _react.isValidElement)(error)) {
26
+ return error;
27
+ }
25
28
  return error === null || error === void 0 ? void 0 : error.errorMessage;
26
29
  }
27
30
  function useField(props) {
@@ -12,7 +12,7 @@ var _Tooltip = _interopRequireDefault(require("../Tooltip"));
12
12
  var _Whisper = _interopRequireDefault(require("../Whisper"));
13
13
  var _hooks = require("../internals/hooks");
14
14
  var _FormGroup = require("../FormGroup");
15
- var _HelpO = _interopRequireDefault(require("@rsuite/icons/legacy/HelpO"));
15
+ var _HelpOutline = _interopRequireDefault(require("@rsuite/icons/HelpOutline"));
16
16
  var _excluded = ["as", "classPrefix", "className", "tooltip", "children", "id"];
17
17
  /**
18
18
  * The `<Form.HelpText>` component is used to display help information in the form.
@@ -48,7 +48,7 @@ var FormHelpText = /*#__PURE__*/_react.default.forwardRef(function (props, ref)
48
48
  role: "img",
49
49
  "aria-label": "help",
50
50
  className: classes
51
- }, /*#__PURE__*/_react.default.createElement(_HelpO.default, {
51
+ }, /*#__PURE__*/_react.default.createElement(_HelpOutline.default, {
52
52
  "aria-hidden": true
53
53
  })));
54
54
  }
@@ -1,5 +1,5 @@
1
1
  import React from 'react';
2
- import { IconProps } from '@rsuite/icons/lib/Icon';
2
+ import { IconProps } from '@rsuite/icons/Icon';
3
3
  import { RsRefForwardingComponent } from '../internals/types';
4
4
  import Button, { ButtonProps } from '../Button';
5
5
  export interface IconButtonProps extends ButtonProps {
@@ -27,6 +27,10 @@ export interface ModalProps extends BaseModalProps, Pick<React.HTMLAttributes<HT
27
27
  dialogAs?: React.ElementType;
28
28
  /** Automatically sets the height when the body content is too long. */
29
29
  overflow?: boolean;
30
+ /** Indicates if the component should be displayed as a drawer */
31
+ isDrawer?: boolean;
32
+ /** Custom close button, used when rendered as a Drawer */
33
+ closeButton?: React.ReactNode | boolean;
30
34
  }
31
35
  interface ModalComponent extends RsRefForwardingComponent<'div', ModalProps> {
32
36
  Body: typeof ModalBody;
@@ -24,9 +24,8 @@ var _ModalTitle = _interopRequireDefault(require("./ModalTitle"));
24
24
  var _ModalFooter = _interopRequireDefault(require("./ModalFooter"));
25
25
  var _utils2 = require("./utils");
26
26
  var _propTypes2 = require("../internals/propTypes");
27
- var _DrawerContext = _interopRequireDefault(require("../Drawer/DrawerContext"));
28
27
  var _templateObject, _templateObject2, _templateObject3;
29
- var _excluded = ["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"],
28
+ var _excluded = ["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", "isDrawer", "closeButton"],
30
29
  _excluded2 = ["className"];
31
30
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
32
31
  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
@@ -69,6 +68,9 @@ var Modal = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
69
68
  _props$size = props.size,
70
69
  size = _props$size === void 0 ? 'sm' : _props$size,
71
70
  idProp = props.id,
71
+ _props$isDrawer = props.isDrawer,
72
+ isDrawer = _props$isDrawer === void 0 ? false : _props$isDrawer,
73
+ closeButton = props.closeButton,
72
74
  rest = (0, _objectWithoutPropertiesLoose2.default)(props, _excluded);
73
75
  var inClass = {
74
76
  in: open && !animation
@@ -85,11 +87,6 @@ var Modal = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
85
87
  var dialogRef = (0, _react.useRef)(null);
86
88
  var transitionEndListener = (0, _react.useRef)();
87
89
 
88
- // Render Modal as Drawer
89
- var _ref = (0, _react.useContext)(_DrawerContext.default) || {},
90
- _ref$isDrawer = _ref.isDrawer,
91
- isDrawer = _ref$isDrawer === void 0 ? false : _ref$isDrawer;
92
-
93
90
  // The style of the Modal body will be updated with the size of the window or container.
94
91
  var _useBodyStyles = (0, _utils2.useBodyStyles)(dialogRef, {
95
92
  overflow: overflow,
@@ -106,9 +103,11 @@ var Modal = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
106
103
  onModalClose: onClose,
107
104
  getBodyStyles: function getBodyStyles() {
108
105
  return bodyStyles;
109
- }
106
+ },
107
+ closeButton: closeButton,
108
+ isDrawer: isDrawer
110
109
  };
111
- }, [dialogId, onClose, bodyStyles]);
110
+ }, [dialogId, onClose, closeButton, isDrawer, bodyStyles]);
112
111
  var handleExited = (0, _react.useCallback)(function (node) {
113
112
  var _transitionEndListene;
114
113
  onExited === null || onExited === void 0 ? void 0 : onExited(node);
@@ -164,8 +163,8 @@ var Modal = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
164
163
  });
165
164
  var sizeKey = 'width';
166
165
  if (isDrawer) {
167
- var _ref2 = animationProps || {},
168
- placement = _ref2.placement;
166
+ var _ref = animationProps || {},
167
+ placement = _ref.placement;
169
168
  // The width or height of the drawer depends on the placement.
170
169
  sizeKey = placement === 'top' || placement === 'bottom' ? 'height' : 'width';
171
170
  }
@@ -206,7 +205,7 @@ var Modal = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
206
205
  onClick: backdrop ? handleBackdropClick : undefined,
207
206
  onMouseDown: handleMouseDown
208
207
  }), function (transitionProps, transitionRef) {
209
- var _ref3;
208
+ var _ref2;
210
209
  var transitionClassName = transitionProps.className,
211
210
  transitionRest = (0, _objectWithoutPropertiesLoose2.default)(transitionProps, _excluded2);
212
211
  return /*#__PURE__*/_react.default.createElement(Dialog, (0, _extends2.default)({
@@ -214,7 +213,7 @@ var Modal = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
214
213
  id: dialogId,
215
214
  "aria-labelledby": ariaLabelledby !== null && ariaLabelledby !== void 0 ? ariaLabelledby : dialogId + "-title",
216
215
  "aria-describedby": ariaDescribedby,
217
- style: (_ref3 = {}, _ref3[sizeKey] = modalSizes.includes(size) ? undefined : size, _ref3)
216
+ style: (_ref2 = {}, _ref2[sizeKey] = modalSizes.includes(size) ? undefined : size, _ref2)
218
217
  }, transitionRest, (0, _pick.default)(rest, Object.keys(_ModalDialog.modalDialogPropTypes)), {
219
218
  ref: (0, _utils.mergeRefs)(dialogRef, transitionRef),
220
219
  classPrefix: classPrefix,
@@ -12,12 +12,10 @@ var _hooks = require("../internals/hooks");
12
12
  var _ModalContext = require("./ModalContext");
13
13
  var _IconButton = _interopRequireDefault(require("../IconButton"));
14
14
  var _Close = _interopRequireDefault(require("@rsuite/icons/Close"));
15
- var _DrawerContext = _interopRequireDefault(require("../Drawer/DrawerContext"));
16
15
  var _excluded = ["as", "classPrefix", "className", "style", "children"];
17
16
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
18
17
  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
19
18
  var ModalBody = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
20
- var _context$getBodyStyle, _useContext;
21
19
  var _props$as = props.as,
22
20
  Component = _props$as === void 0 ? 'div' : _props$as,
23
21
  _props$classPrefix = props.classPrefix,
@@ -32,8 +30,11 @@ var ModalBody = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
32
30
  prefix = _useClassNames.prefix;
33
31
  var classes = merge(className, withClassPrefix());
34
32
  var context = (0, _react.useContext)(_ModalContext.ModalContext);
35
- var bodyStyles = context === null || context === void 0 ? void 0 : (_context$getBodyStyle = context.getBodyStyles) === null || _context$getBodyStyle === void 0 ? void 0 : _context$getBodyStyle.call(context);
36
- var closeButton = (_useContext = (0, _react.useContext)(_DrawerContext.default)) === null || _useContext === void 0 ? void 0 : _useContext.closeButton;
33
+ var _ref = context || {},
34
+ getBodyStyles = _ref.getBodyStyles,
35
+ closeButton = _ref.closeButton,
36
+ onModalClose = _ref.onModalClose;
37
+ var bodyStyles = getBodyStyles === null || getBodyStyles === void 0 ? void 0 : getBodyStyles();
37
38
  var buttonElement = null;
38
39
  if (closeButton) {
39
40
  buttonElement = typeof closeButton === 'boolean' ? /*#__PURE__*/_react.default.createElement(_IconButton.default, {
@@ -41,7 +42,7 @@ var ModalBody = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
41
42
  appearance: "subtle",
42
43
  size: "sm",
43
44
  className: prefix('close'),
44
- onClick: context === null || context === void 0 ? void 0 : context.onModalClose
45
+ onClick: onModalClose
45
46
  }) : closeButton;
46
47
  }
47
48
  return /*#__PURE__*/_react.default.createElement(Component, (0, _extends2.default)({}, rest, {