rsuite 5.28.3 → 5.30.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.
Files changed (46) hide show
  1. package/CHANGELOG.md +15 -0
  2. package/cjs/Affix/Affix.d.ts +5 -3
  3. package/cjs/Affix/Affix.js +33 -11
  4. package/cjs/Calendar/CalendarHeader.js +12 -3
  5. package/cjs/Cascader/Cascader.js +1 -1
  6. package/cjs/DatePicker/DatePicker.d.ts +34 -3
  7. package/cjs/DatePicker/DatePicker.js +38 -16
  8. package/cjs/DateRangePicker/DateRangePicker.d.ts +9 -1
  9. package/cjs/DateRangePicker/DateRangePicker.js +58 -39
  10. package/cjs/DateRangePicker/DateRangePickerContext.d.ts +7 -0
  11. package/cjs/DateRangePicker/DateRangePickerContext.js +19 -0
  12. package/cjs/Overlay/Modal.js +5 -5
  13. package/cjs/Overlay/OverlayTrigger.js +3 -2
  14. package/cjs/utils/dateUtils.d.ts +1 -0
  15. package/cjs/utils/dateUtils.js +10 -3
  16. package/cjs/utils/deprecatePropType.d.ts +5 -0
  17. package/cjs/utils/deprecatePropType.js +5 -0
  18. package/cjs/utils/usePortal.js +9 -12
  19. package/dist/rsuite-no-reset-rtl.css +16690 -0
  20. package/dist/rsuite-no-reset-rtl.min.css +2 -0
  21. package/dist/rsuite-no-reset-rtl.min.css.map +1 -0
  22. package/dist/rsuite-no-reset.css +16714 -0
  23. package/dist/rsuite-no-reset.min.css +2 -0
  24. package/dist/rsuite-no-reset.min.css.map +1 -0
  25. package/dist/rsuite.js +21 -10
  26. package/dist/rsuite.js.map +1 -1
  27. package/dist/rsuite.min.js +1 -1
  28. package/dist/rsuite.min.js.map +1 -1
  29. package/esm/Affix/Affix.d.ts +5 -3
  30. package/esm/Affix/Affix.js +32 -11
  31. package/esm/Calendar/CalendarHeader.js +11 -3
  32. package/esm/Cascader/Cascader.js +1 -1
  33. package/esm/DatePicker/DatePicker.d.ts +34 -3
  34. package/esm/DatePicker/DatePicker.js +37 -16
  35. package/esm/DateRangePicker/DateRangePicker.d.ts +9 -1
  36. package/esm/DateRangePicker/DateRangePicker.js +56 -39
  37. package/esm/DateRangePicker/DateRangePickerContext.d.ts +7 -0
  38. package/esm/DateRangePicker/DateRangePickerContext.js +6 -0
  39. package/esm/Overlay/Modal.js +5 -4
  40. package/esm/Overlay/OverlayTrigger.js +3 -2
  41. package/esm/utils/dateUtils.d.ts +1 -0
  42. package/esm/utils/dateUtils.js +10 -3
  43. package/esm/utils/deprecatePropType.d.ts +5 -0
  44. package/esm/utils/deprecatePropType.js +5 -0
  45. package/esm/utils/usePortal.js +10 -13
  46. package/package.json +1 -1
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+
3
+ var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard");
4
+
5
+ exports.__esModule = true;
6
+ exports.useDateRangePickerContext = exports.default = void 0;
7
+
8
+ var _react = _interopRequireWildcard(require("react"));
9
+
10
+ var DateRangePickerContext = /*#__PURE__*/_react.default.createContext({});
11
+
12
+ var _default = DateRangePickerContext;
13
+ exports.default = _default;
14
+
15
+ var useDateRangePickerContext = function useDateRangePickerContext() {
16
+ return (0, _react.useContext)(DateRangePickerContext) || {};
17
+ };
18
+
19
+ exports.useDateRangePickerContext = useDateRangePickerContext;
@@ -19,8 +19,6 @@ var _classnames = _interopRequireDefault(require("classnames"));
19
19
 
20
20
  var _contains = _interopRequireDefault(require("dom-lib/contains"));
21
21
 
22
- var _getContainer = _interopRequireDefault(require("dom-lib/getContainer"));
23
-
24
22
  var _on = _interopRequireDefault(require("dom-lib/on"));
25
23
 
26
24
  var _ModalManager = _interopRequireDefault(require("./ModalManager"));
@@ -112,7 +110,8 @@ var Modal = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
112
110
  var _usePortal = (0, _utils2.usePortal)({
113
111
  container: container
114
112
  }),
115
- Portal = _usePortal.Portal;
113
+ Portal = _usePortal.Portal,
114
+ containerElement = _usePortal.target;
116
115
 
117
116
  var modal = useModalManager();
118
117
 
@@ -163,8 +162,9 @@ var Modal = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
163
162
  var documentKeyDownListener = (0, _react.useRef)();
164
163
  var documentFocusListener = (0, _react.useRef)();
165
164
  var handleOpen = (0, _utils2.useEventCallback)(function () {
166
- var containerElement = (0, _getContainer.default)(container, document.body);
167
- modal.add(containerElement, containerClassName);
165
+ if (containerElement) {
166
+ modal.add(containerElement, containerClassName);
167
+ }
168
168
 
169
169
  if (!documentKeyDownListener.current) {
170
170
  documentKeyDownListener.current = (0, _on.default)(document, 'keydown', handleDocumentKeyDown);
@@ -120,7 +120,8 @@ var OverlayTrigger = /*#__PURE__*/_react.default.forwardRef(function (props, ref
120
120
  var _usePortal = (0, _utils.usePortal)({
121
121
  container: container
122
122
  }),
123
- Portal = _usePortal.Portal;
123
+ Portal = _usePortal.Portal,
124
+ containerElement = _usePortal.target;
124
125
 
125
126
  var triggerRef = (0, _react.useRef)();
126
127
  var overlayRef = (0, _react.useRef)();
@@ -367,7 +368,7 @@ var OverlayTrigger = /*#__PURE__*/_react.default.forwardRef(function (props, ref
367
368
  }) : undefined,
368
369
  onExited: (0, _utils.createChainedFunction)(followCursor ? handleExited : undefined, onExited),
369
370
  placement: placement,
370
- container: container,
371
+ container: containerElement,
371
372
  open: open
372
373
  });
373
374
  var speakerProps = {
@@ -41,6 +41,7 @@ export declare type CalendarOnlyPropsType = 'disabledHours' | 'disabledMinutes'
41
41
  export declare const calendarOnlyProps: CalendarOnlyPropsType[];
42
42
  /**
43
43
  * Verify that the time is valid.
44
+ *
44
45
  * @param props
45
46
  * @param date
46
47
  */
@@ -181,15 +181,21 @@ function validTime(calendarProps, date) {
181
181
 
182
182
  return Object.keys(calendarProps).some(function (key) {
183
183
  if (/(Hours)/.test(key)) {
184
- return calendarProps[key]((0, _getHours.default)(date), date);
184
+ var _calendarProps$key;
185
+
186
+ return (_calendarProps$key = calendarProps[key]) === null || _calendarProps$key === void 0 ? void 0 : _calendarProps$key.call(calendarProps, (0, _getHours.default)(date), date);
185
187
  }
186
188
 
187
189
  if (/(Minutes)/.test(key)) {
188
- return calendarProps[key]((0, _getMinutes.default)(date), date);
190
+ var _calendarProps$key2;
191
+
192
+ return (_calendarProps$key2 = calendarProps[key]) === null || _calendarProps$key2 === void 0 ? void 0 : _calendarProps$key2.call(calendarProps, (0, _getMinutes.default)(date), date);
189
193
  }
190
194
 
191
195
  if (/(Seconds)/.test(key)) {
192
- return calendarProps[key]((0, _getSeconds.default)(date), date);
196
+ var _calendarProps$key3;
197
+
198
+ return (_calendarProps$key3 = calendarProps[key]) === null || _calendarProps$key3 === void 0 ? void 0 : _calendarProps$key3.call(calendarProps, (0, _getSeconds.default)(date), date);
193
199
  }
194
200
 
195
201
  return false;
@@ -197,6 +203,7 @@ function validTime(calendarProps, date) {
197
203
  }
198
204
  /**
199
205
  * Verify that the time is valid.
206
+ *
200
207
  * @param props
201
208
  * @param date
202
209
  */
@@ -7,5 +7,10 @@ import * as PropTypes from 'prop-types';
7
7
  export default function deprecatePropType<T extends PropTypes.Validator<any>>(propType: T, explanation?: string): typeof propType;
8
8
  /**
9
9
  * Prints deprecation message when user uses a deprecated prop
10
+ *
11
+ * @example
12
+ *
13
+ * deprecatePropTypeNew(PropTypes.bool, 'Use Dropdown.Separator component instead.')
14
+ *
10
15
  */
11
16
  export declare function deprecatePropTypeNew<T extends PropTypes.Validator<any>>(propType: T, explanation?: string): typeof propType;
@@ -32,6 +32,11 @@ function deprecatePropType(propType, explanation) {
32
32
  }
33
33
  /**
34
34
  * Prints deprecation message when user uses a deprecated prop
35
+ *
36
+ * @example
37
+ *
38
+ * deprecatePropTypeNew(PropTypes.bool, 'Use Dropdown.Separator component instead.')
39
+ *
35
40
  */
36
41
 
37
42
 
@@ -43,24 +43,21 @@ function usePortal(props) {
43
43
  container = _props.container,
44
44
  _props$waitMount = _props.waitMount,
45
45
  waitMount = _props$waitMount === void 0 ? false : _props$waitMount;
46
- var rootElemRef = (0, _react.useRef)(_canUseDOM.default ? document.body : null);
47
- (0, _react.useEffect)(function () {
48
- var containerElement = typeof container === 'function' ? container() : container; // Parent is either a new root or the existing dom element
49
-
50
- var parentElement = containerElement || document.body;
51
- rootElemRef.current = parentElement;
52
- }, [rootElemRef, container]);
46
+ var containerElement = typeof container === 'function' ? container() : container;
47
+ var rootElement = (0, _react.useMemo)(function () {
48
+ return _canUseDOM.default ? containerElement || document.body : null;
49
+ }, [containerElement]);
53
50
  var Portal = (0, _react.useCallback)(function (_ref2) {
54
51
  var children = _ref2.children;
55
- return rootElemRef.current != null ? /*#__PURE__*/(0, _reactDom.createPortal)(children, rootElemRef.current) : null;
56
- }, []);
52
+ return rootElement != null ? /*#__PURE__*/(0, _reactDom.createPortal)(children, rootElement) : null;
53
+ }, [rootElement]);
57
54
  var WaitMountPortal = (0, _react.useCallback)(function (props) {
58
55
  return /*#__PURE__*/_react.default.createElement(MountedPortal, (0, _extends2.default)({
59
- container: rootElemRef.current
56
+ container: rootElement
60
57
  }, props));
61
- }, []);
58
+ }, [rootElement]);
62
59
  return {
63
- target: rootElemRef.current,
60
+ target: rootElement,
64
61
  Portal: waitMount ? WaitMountPortal : Portal
65
62
  };
66
63
  }