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.
- package/CHANGELOG.md +15 -0
- package/cjs/Affix/Affix.d.ts +5 -3
- package/cjs/Affix/Affix.js +33 -11
- package/cjs/Calendar/CalendarHeader.js +12 -3
- package/cjs/Cascader/Cascader.js +1 -1
- package/cjs/DatePicker/DatePicker.d.ts +34 -3
- package/cjs/DatePicker/DatePicker.js +38 -16
- package/cjs/DateRangePicker/DateRangePicker.d.ts +9 -1
- package/cjs/DateRangePicker/DateRangePicker.js +58 -39
- package/cjs/DateRangePicker/DateRangePickerContext.d.ts +7 -0
- package/cjs/DateRangePicker/DateRangePickerContext.js +19 -0
- package/cjs/Overlay/Modal.js +5 -5
- package/cjs/Overlay/OverlayTrigger.js +3 -2
- package/cjs/utils/dateUtils.d.ts +1 -0
- package/cjs/utils/dateUtils.js +10 -3
- package/cjs/utils/deprecatePropType.d.ts +5 -0
- package/cjs/utils/deprecatePropType.js +5 -0
- package/cjs/utils/usePortal.js +9 -12
- package/dist/rsuite-no-reset-rtl.css +16690 -0
- package/dist/rsuite-no-reset-rtl.min.css +2 -0
- package/dist/rsuite-no-reset-rtl.min.css.map +1 -0
- package/dist/rsuite-no-reset.css +16714 -0
- package/dist/rsuite-no-reset.min.css +2 -0
- package/dist/rsuite-no-reset.min.css.map +1 -0
- package/dist/rsuite.js +21 -10
- package/dist/rsuite.js.map +1 -1
- package/dist/rsuite.min.js +1 -1
- package/dist/rsuite.min.js.map +1 -1
- package/esm/Affix/Affix.d.ts +5 -3
- package/esm/Affix/Affix.js +32 -11
- package/esm/Calendar/CalendarHeader.js +11 -3
- package/esm/Cascader/Cascader.js +1 -1
- package/esm/DatePicker/DatePicker.d.ts +34 -3
- package/esm/DatePicker/DatePicker.js +37 -16
- package/esm/DateRangePicker/DateRangePicker.d.ts +9 -1
- package/esm/DateRangePicker/DateRangePicker.js +56 -39
- package/esm/DateRangePicker/DateRangePickerContext.d.ts +7 -0
- package/esm/DateRangePicker/DateRangePickerContext.js +6 -0
- package/esm/Overlay/Modal.js +5 -4
- package/esm/Overlay/OverlayTrigger.js +3 -2
- package/esm/utils/dateUtils.d.ts +1 -0
- package/esm/utils/dateUtils.js +10 -3
- package/esm/utils/deprecatePropType.d.ts +5 -0
- package/esm/utils/deprecatePropType.js +5 -0
- package/esm/utils/usePortal.js +10 -13
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,18 @@
|
|
|
1
|
+
# [5.30.0](https://github.com/rsuite/rsuite/compare/v5.29.0...v5.30.0) (2023-03-31)
|
|
2
|
+
|
|
3
|
+
### Bug Fixes
|
|
4
|
+
|
|
5
|
+
- **Cascader:** fix infinite load state on inline mode and fix typo ([#3131](https://github.com/rsuite/rsuite/issues/3131)) ([faa05f0](https://github.com/rsuite/rsuite/commit/faa05f03df1ab890f0bcf13ebd173e52129400df))
|
|
6
|
+
- **DatePicker:** fix abnormal time display in the calendar header ([#3136](https://github.com/rsuite/rsuite/issues/3136)) ([860df1a](https://github.com/rsuite/rsuite/commit/860df1a7bd03b40371ac6891e45f3295b9edc72f))
|
|
7
|
+
- **DateRangePicker:** fix the error of invalid time during date selection ([#3135](https://github.com/rsuite/rsuite/issues/3135)) ([adeafdc](https://github.com/rsuite/rsuite/commit/adeafdc44162fd2ef9e2470094a52cb17b5cddb3))
|
|
8
|
+
|
|
9
|
+
# [5.29.0](https://github.com/rsuite/rsuite/compare/v5.28.3...v5.29.0) (2023-03-24)
|
|
10
|
+
|
|
11
|
+
### Bug Fixes
|
|
12
|
+
|
|
13
|
+
- **Affix:** fix misalignment due to DOM content updates ([#3124](https://github.com/rsuite/rsuite/issues/3124)) ([76d21e9](https://github.com/rsuite/rsuite/commit/76d21e9e950da8c2df52d1fbc96abcada633d908))
|
|
14
|
+
- **Picker:** fix async container update cause offset error ([#3126](https://github.com/rsuite/rsuite/issues/3126)) ([c3e15c5](https://github.com/rsuite/rsuite/commit/c3e15c512319b0240236e35a5b28432bea1d25f3))
|
|
15
|
+
|
|
1
16
|
## [5.28.3](https://github.com/rsuite/rsuite/compare/v5.28.2...v5.28.3) (2023-03-17)
|
|
2
17
|
|
|
3
18
|
### Bug Fixes
|
package/cjs/Affix/Affix.d.ts
CHANGED
|
@@ -1,11 +1,13 @@
|
|
|
1
|
-
import { RsRefForwardingComponent, WithAsProps } from '../@types/common';
|
|
1
|
+
import { Offset, RsRefForwardingComponent, WithAsProps } from '../@types/common';
|
|
2
2
|
export interface AffixProps extends WithAsProps {
|
|
3
|
+
/** Specify the container. */
|
|
4
|
+
container?: HTMLElement | (() => HTMLElement);
|
|
3
5
|
/** Distance from top */
|
|
4
6
|
top?: number;
|
|
5
7
|
/** Callback after the state changes. */
|
|
6
8
|
onChange?: (fixed?: boolean) => void;
|
|
7
|
-
/**
|
|
8
|
-
|
|
9
|
+
/** Callback after the offset changes. */
|
|
10
|
+
onOffsetChange?: (offset?: Offset) => void;
|
|
9
11
|
}
|
|
10
12
|
declare const Affix: RsRefForwardingComponent<'div', AffixProps>;
|
|
11
13
|
export default Affix;
|
package/cjs/Affix/Affix.js
CHANGED
|
@@ -15,6 +15,8 @@ var _react = _interopRequireWildcard(require("react"));
|
|
|
15
15
|
|
|
16
16
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
17
17
|
|
|
18
|
+
var _debounce = _interopRequireDefault(require("lodash/debounce"));
|
|
19
|
+
|
|
18
20
|
var _getOffset = _interopRequireDefault(require("dom-lib/getOffset"));
|
|
19
21
|
|
|
20
22
|
var _utils = require("../utils");
|
|
@@ -22,14 +24,26 @@ var _utils = require("../utils");
|
|
|
22
24
|
/**
|
|
23
25
|
* Get the layout size and offset of the mount element
|
|
24
26
|
*/
|
|
25
|
-
function useOffset(mountRef) {
|
|
27
|
+
function useOffset(mountRef, onOffsetChange) {
|
|
26
28
|
var _useState = (0, _react.useState)(null),
|
|
27
29
|
offset = _useState[0],
|
|
28
30
|
setOffset = _useState[1];
|
|
29
31
|
|
|
30
32
|
var updateOffset = (0, _react.useCallback)(function () {
|
|
31
|
-
|
|
32
|
-
|
|
33
|
+
if (!mountRef.current) {
|
|
34
|
+
return;
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
var newOffset = (0, _getOffset.default)(mountRef.current);
|
|
38
|
+
|
|
39
|
+
if ((newOffset === null || newOffset === void 0 ? void 0 : newOffset.height) !== (offset === null || offset === void 0 ? void 0 : offset.height) || (newOffset === null || newOffset === void 0 ? void 0 : newOffset.width) !== (offset === null || offset === void 0 ? void 0 : offset.width) || (newOffset === null || newOffset === void 0 ? void 0 : newOffset.top) !== (offset === null || offset === void 0 ? void 0 : offset.top) || (newOffset === null || newOffset === void 0 ? void 0 : newOffset.left) !== (offset === null || offset === void 0 ? void 0 : offset.left)) {
|
|
40
|
+
setOffset(newOffset);
|
|
41
|
+
|
|
42
|
+
if (offset !== null && newOffset !== null) {
|
|
43
|
+
onOffsetChange === null || onOffsetChange === void 0 ? void 0 : onOffsetChange(newOffset);
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
}, [mountRef, offset, onOffsetChange]); // Update after the element size changes
|
|
33
47
|
|
|
34
48
|
(0, _utils.useElementResize)(function () {
|
|
35
49
|
return mountRef.current;
|
|
@@ -37,7 +51,9 @@ function useOffset(mountRef) {
|
|
|
37
51
|
|
|
38
52
|
(0, _utils.useMount)(updateOffset); // Update after window size changes
|
|
39
53
|
|
|
40
|
-
(0, _utils.useEventListener)(window, 'resize', updateOffset, false);
|
|
54
|
+
(0, _utils.useEventListener)(window, 'resize', updateOffset, false); // Update after window scroll
|
|
55
|
+
|
|
56
|
+
(0, _utils.useEventListener)(window, 'scroll', (0, _debounce.default)(updateOffset, 100), false);
|
|
41
57
|
return offset;
|
|
42
58
|
}
|
|
43
59
|
/**
|
|
@@ -80,7 +96,7 @@ function useFixed(offset, containerOffset, props) {
|
|
|
80
96
|
|
|
81
97
|
var scrollY = window.scrollY || window.pageYOffset; // When the scroll distance exceeds the element's top value, it is fixed.
|
|
82
98
|
|
|
83
|
-
var nextFixed = scrollY - (Number(offset.top) - Number(top)) >= 0; // If the current element is specified in the container,
|
|
99
|
+
var nextFixed = scrollY - (Number(offset === null || offset === void 0 ? void 0 : offset.top) - Number(top)) >= 0; // If the current element is specified in the container,
|
|
84
100
|
// add to determine whether the current container is in the window range.
|
|
85
101
|
|
|
86
102
|
if (containerOffset) {
|
|
@@ -91,7 +107,7 @@ function useFixed(offset, containerOffset, props) {
|
|
|
91
107
|
setFixed(nextFixed);
|
|
92
108
|
onChange === null || onChange === void 0 ? void 0 : onChange(nextFixed);
|
|
93
109
|
}
|
|
94
|
-
}, [
|
|
110
|
+
}, [offset, top, containerOffset, fixed, onChange]); // Add scroll event to window
|
|
95
111
|
|
|
96
112
|
(0, _utils.useEventListener)(window, 'scroll', handleScroll, false);
|
|
97
113
|
return fixed;
|
|
@@ -110,9 +126,10 @@ var Affix = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
|
|
|
110
126
|
_props$top = props.top,
|
|
111
127
|
top = _props$top === void 0 ? 0 : _props$top,
|
|
112
128
|
onChange = props.onChange,
|
|
113
|
-
|
|
129
|
+
onOffsetChange = props.onOffsetChange,
|
|
130
|
+
rest = (0, _objectWithoutPropertiesLoose2.default)(props, ["as", "classPrefix", "className", "children", "container", "top", "onChange", "onOffsetChange"]);
|
|
114
131
|
var mountRef = (0, _react.useRef)(null);
|
|
115
|
-
var offset = useOffset(mountRef);
|
|
132
|
+
var offset = useOffset(mountRef, onOffsetChange);
|
|
116
133
|
var containerOffset = useContainerOffset(container);
|
|
117
134
|
var fixed = useFixed(offset, containerOffset, {
|
|
118
135
|
top: top,
|
|
@@ -124,14 +141,19 @@ var Affix = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
|
|
|
124
141
|
merge = _useClassNames.merge;
|
|
125
142
|
|
|
126
143
|
var classes = merge(className, (_merge = {}, _merge[withClassPrefix()] = fixed, _merge));
|
|
144
|
+
|
|
145
|
+
var _ref = offset || {},
|
|
146
|
+
width = _ref.width,
|
|
147
|
+
height = _ref.height;
|
|
148
|
+
|
|
127
149
|
var placeholderStyles = fixed ? {
|
|
128
|
-
width:
|
|
129
|
-
height:
|
|
150
|
+
width: width,
|
|
151
|
+
height: height
|
|
130
152
|
} : undefined;
|
|
131
153
|
var fixedStyles = {
|
|
132
154
|
position: 'fixed',
|
|
133
155
|
top: top,
|
|
134
|
-
width:
|
|
156
|
+
width: width,
|
|
135
157
|
zIndex: 10
|
|
136
158
|
};
|
|
137
159
|
var affixStyles = fixed ? fixedStyles : undefined;
|
|
@@ -29,6 +29,8 @@ var _CustomProvider = require("../CustomProvider");
|
|
|
29
29
|
|
|
30
30
|
var _CalendarContext = require("./CalendarContext");
|
|
31
31
|
|
|
32
|
+
var _DateRangePickerContext = require("../DateRangePicker/DateRangePickerContext");
|
|
33
|
+
|
|
32
34
|
var CalendarHeader = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
|
|
33
35
|
var _props$as = props.as,
|
|
34
36
|
Component = _props$as === void 0 ? 'div' : _props$as,
|
|
@@ -59,6 +61,9 @@ var CalendarHeader = /*#__PURE__*/_react.default.forwardRef(function (props, ref
|
|
|
59
61
|
inline = _useCalendarContext.inline,
|
|
60
62
|
disabledDate = _useCalendarContext.disabledDate;
|
|
61
63
|
|
|
64
|
+
var _useDateRangePickerCo = (0, _DateRangePickerContext.useDateRangePickerContext)(),
|
|
65
|
+
isSelectedIdle = _useDateRangePickerCo.isSelectedIdle;
|
|
66
|
+
|
|
62
67
|
var _useClassNames = (0, _utils.useClassNames)(classPrefix),
|
|
63
68
|
prefix = _useClassNames.prefix,
|
|
64
69
|
withClassPrefix = _useClassNames.withClassPrefix,
|
|
@@ -136,7 +141,9 @@ var CalendarHeader = /*#__PURE__*/_react.default.forwardRef(function (props, ref
|
|
|
136
141
|
var classes = merge(className, withClassPrefix({
|
|
137
142
|
'has-month': hasMonth,
|
|
138
143
|
'has-time': showTime
|
|
139
|
-
}));
|
|
144
|
+
})); // If the date is not selected, the time cannot be selected (it only works in DateRangePicker).
|
|
145
|
+
|
|
146
|
+
var disableSelectTime = typeof isSelectedIdle === 'undefined' ? false : !isSelectedIdle;
|
|
140
147
|
return /*#__PURE__*/_react.default.createElement(Component, (0, _extends2.default)({}, rest, {
|
|
141
148
|
ref: ref,
|
|
142
149
|
className: classes
|
|
@@ -144,13 +151,15 @@ var CalendarHeader = /*#__PURE__*/_react.default.forwardRef(function (props, ref
|
|
|
144
151
|
className: prefix('time-toolbar')
|
|
145
152
|
}, /*#__PURE__*/_react.default.createElement(_Button.default, (0, _extends2.default)({}, btnProps, {
|
|
146
153
|
className: timeTitleClasses,
|
|
147
|
-
onClick: onToggleTimeDropdown
|
|
154
|
+
onClick: onToggleTimeDropdown,
|
|
155
|
+
disabled: disableSelectTime
|
|
148
156
|
}), date && /*#__PURE__*/_react.default.createElement(_CustomProvider.FormattedDate, {
|
|
149
157
|
date: date,
|
|
150
158
|
formatStr: getTimeFormat()
|
|
151
159
|
})), showMeridian && /*#__PURE__*/_react.default.createElement(_Button.default, (0, _extends2.default)({}, btnProps, {
|
|
152
160
|
className: prefix('meridian'),
|
|
153
|
-
onClick: onToggleMeridian
|
|
161
|
+
onClick: onToggleMeridian,
|
|
162
|
+
disabled: disableSelectTime
|
|
154
163
|
}), date && /*#__PURE__*/_react.default.createElement(_CustomProvider.FormattedDate, {
|
|
155
164
|
date: date,
|
|
156
165
|
formatStr: "a"
|
package/cjs/Cascader/Cascader.js
CHANGED
|
@@ -295,7 +295,7 @@ var Cascader = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
|
|
|
295
295
|
node.loading = false;
|
|
296
296
|
node[childrenKey] = data;
|
|
297
297
|
|
|
298
|
-
if (targetRef.current) {
|
|
298
|
+
if (targetRef.current || inline) {
|
|
299
299
|
addColumn(data, columnIndex);
|
|
300
300
|
}
|
|
301
301
|
});
|
|
@@ -33,14 +33,45 @@ export interface DatePickerProps extends PickerBaseProps<DatePickerLocale>, Form
|
|
|
33
33
|
* Whether to disable a date on the calendar view
|
|
34
34
|
*
|
|
35
35
|
* @returns date should be disabled (not selectable)
|
|
36
|
+
* @deprecated Use {@link shouldDisableDate} instead
|
|
36
37
|
*/
|
|
37
38
|
disabledDate?: (date?: Date) => boolean;
|
|
38
|
-
/**
|
|
39
|
+
/**
|
|
40
|
+
* Disabled hours
|
|
41
|
+
*
|
|
42
|
+
* @deprecated Use {@link shouldDisableHour} instead
|
|
43
|
+
*/
|
|
39
44
|
disabledHours?: (hour: number, date: Date) => boolean;
|
|
40
|
-
/**
|
|
45
|
+
/**
|
|
46
|
+
* Disabled minutes
|
|
47
|
+
*
|
|
48
|
+
* @deprecated Use {@link shouldDisableMinute} instead
|
|
49
|
+
*/
|
|
41
50
|
disabledMinutes?: (minute: number, date: Date) => boolean;
|
|
42
|
-
/**
|
|
51
|
+
/**
|
|
52
|
+
* Disabled seconds
|
|
53
|
+
*
|
|
54
|
+
* @deprecated Use {@link shouldDisableSecond} instead
|
|
55
|
+
*/
|
|
43
56
|
disabledSeconds?: (second: number, date: Date) => boolean;
|
|
57
|
+
/**
|
|
58
|
+
* Whether a date on the calendar view should be disabled
|
|
59
|
+
*
|
|
60
|
+
* @returns date should be disabled (not selectable)
|
|
61
|
+
*/
|
|
62
|
+
shouldDisableDate?: (date: Date) => boolean;
|
|
63
|
+
/**
|
|
64
|
+
* Disabled hours
|
|
65
|
+
*/
|
|
66
|
+
shouldDisableHour?: (hour: number, date: Date) => boolean;
|
|
67
|
+
/**
|
|
68
|
+
* Disabled minutes
|
|
69
|
+
*/
|
|
70
|
+
shouldDisableMinute?: (minute: number, date: Date) => boolean;
|
|
71
|
+
/**
|
|
72
|
+
* Disabled seconds
|
|
73
|
+
*/
|
|
74
|
+
shouldDisableSecond?: (second: number, date: Date) => boolean;
|
|
44
75
|
/** Hidden hours */
|
|
45
76
|
hideHours?: (hour: number, date: Date) => boolean;
|
|
46
77
|
/** Hidden minutes */
|
|
@@ -43,6 +43,8 @@ var _Picker = require("../Picker");
|
|
|
43
43
|
|
|
44
44
|
var _OverlayTrigger = require("../Overlay/OverlayTrigger");
|
|
45
45
|
|
|
46
|
+
var _deprecatePropType = require("../utils/deprecatePropType");
|
|
47
|
+
|
|
46
48
|
var DatePicker = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
|
|
47
49
|
var _props$as = props.as,
|
|
48
50
|
Component = _props$as === void 0 ? 'div' : _props$as,
|
|
@@ -77,7 +79,14 @@ var DatePicker = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
|
|
|
77
79
|
style = props.style,
|
|
78
80
|
toggleAs = props.toggleAs,
|
|
79
81
|
caretAsProp = props.caretAs,
|
|
80
|
-
|
|
82
|
+
DEPRECATED_disabledDate = props.disabledDate,
|
|
83
|
+
DEPRECATED_disabledHours = props.disabledHours,
|
|
84
|
+
DEPRECATED_disabledMinutes = props.disabledMinutes,
|
|
85
|
+
DEPRECATED_disabledSeconds = props.disabledSeconds,
|
|
86
|
+
shouldDisableDate = props.shouldDisableDate,
|
|
87
|
+
shouldDisableHour = props.shouldDisableHour,
|
|
88
|
+
shouldDisableMinute = props.shouldDisableMinute,
|
|
89
|
+
shouldDisableSecond = props.shouldDisableSecond,
|
|
81
90
|
renderValue = props.renderValue,
|
|
82
91
|
onChange = props.onChange,
|
|
83
92
|
onChangeCalendarDate = props.onChangeCalendarDate,
|
|
@@ -92,7 +101,7 @@ var DatePicker = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
|
|
|
92
101
|
onSelect = props.onSelect,
|
|
93
102
|
onToggleMonthDropdown = props.onToggleMonthDropdown,
|
|
94
103
|
onToggleTimeDropdown = props.onToggleTimeDropdown,
|
|
95
|
-
rest = (0, _objectWithoutPropertiesLoose2.default)(props, ["as", "className", "classPrefix", "calendarDefaultDate", "cleanable", "editable", "defaultValue", "disabled", "format", "isoWeek", "limitEndYear", "locale", "menuClassName", "appearance", "placement", "oneTap", "placeholder", "ranges", "value", "showMeridian", "showWeekNumbers", "style", "toggleAs", "caretAs", "disabledDate", "renderValue", "onChange", "onChangeCalendarDate", "onClean", "onClose", "onEntered", "onExited", "onNextMonth", "onOk", "onOpen", "onPrevMonth", "onSelect", "onToggleMonthDropdown", "onToggleTimeDropdown"]);
|
|
104
|
+
rest = (0, _objectWithoutPropertiesLoose2.default)(props, ["as", "className", "classPrefix", "calendarDefaultDate", "cleanable", "editable", "defaultValue", "disabled", "format", "isoWeek", "limitEndYear", "locale", "menuClassName", "appearance", "placement", "oneTap", "placeholder", "ranges", "value", "showMeridian", "showWeekNumbers", "style", "toggleAs", "caretAs", "disabledDate", "disabledHours", "disabledMinutes", "disabledSeconds", "shouldDisableDate", "shouldDisableHour", "shouldDisableMinute", "shouldDisableSecond", "renderValue", "onChange", "onChangeCalendarDate", "onClean", "onClose", "onEntered", "onExited", "onNextMonth", "onOk", "onOpen", "onPrevMonth", "onSelect", "onToggleMonthDropdown", "onToggleTimeDropdown"]);
|
|
96
105
|
|
|
97
106
|
var _useCustom = (0, _utils.useCustom)('DatePicker', overrideLocale),
|
|
98
107
|
locale = _useCustom.locale,
|
|
@@ -271,11 +280,17 @@ var DatePicker = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
|
|
|
271
280
|
updateValue(event, nextPageDate);
|
|
272
281
|
}
|
|
273
282
|
}, [formatStr, handleDateChange, oneTap, setCalendarDate, updateValue]);
|
|
274
|
-
var
|
|
275
|
-
|
|
283
|
+
var isDateDisabled = (0, _react.useCallback)(function (date) {
|
|
284
|
+
if (typeof shouldDisableDate === 'function') {
|
|
285
|
+
return shouldDisableDate(date);
|
|
286
|
+
}
|
|
287
|
+
|
|
288
|
+
if (typeof DEPRECATED_disabledDate === 'function') {
|
|
289
|
+
return DEPRECATED_disabledDate(date);
|
|
290
|
+
}
|
|
276
291
|
|
|
277
|
-
return
|
|
278
|
-
}, [
|
|
292
|
+
return false;
|
|
293
|
+
}, [DEPRECATED_disabledDate, shouldDisableDate]);
|
|
279
294
|
/**
|
|
280
295
|
* Callback after the input box value is changed.
|
|
281
296
|
*/
|
|
@@ -302,13 +317,13 @@ var DatePicker = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
|
|
|
302
317
|
return;
|
|
303
318
|
}
|
|
304
319
|
|
|
305
|
-
if (
|
|
320
|
+
if (isDateDisabled(date)) {
|
|
306
321
|
setInputState('Error');
|
|
307
322
|
return;
|
|
308
323
|
}
|
|
309
324
|
|
|
310
325
|
handleSelect(date, event, false);
|
|
311
|
-
}, [formatStr, locale, parseDate,
|
|
326
|
+
}, [formatStr, locale, parseDate, isDateDisabled, handleSelect]);
|
|
312
327
|
/**
|
|
313
328
|
* The callback after the enter key is triggered on the input
|
|
314
329
|
*/
|
|
@@ -330,14 +345,14 @@ var DatePicker = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
|
|
|
330
345
|
}, [onClose]); // Check whether the time is within the time range of the shortcut option in the toolbar.
|
|
331
346
|
|
|
332
347
|
var disabledToolbarHandle = (0, _react.useCallback)(function (date) {
|
|
333
|
-
var
|
|
348
|
+
var _DEPRECATED_disabledD;
|
|
334
349
|
|
|
335
|
-
var allowDate = (
|
|
350
|
+
var allowDate = (_DEPRECATED_disabledD = DEPRECATED_disabledDate === null || DEPRECATED_disabledDate === void 0 ? void 0 : DEPRECATED_disabledDate(date)) !== null && _DEPRECATED_disabledD !== void 0 ? _DEPRECATED_disabledD : false;
|
|
336
351
|
|
|
337
352
|
var allowTime = _utils.DateUtils.disabledTime(props, date);
|
|
338
353
|
|
|
339
354
|
return allowDate || allowTime;
|
|
340
|
-
}, [
|
|
355
|
+
}, [DEPRECATED_disabledDate, props]);
|
|
341
356
|
/**
|
|
342
357
|
* Whether "OK" button is disabled
|
|
343
358
|
*
|
|
@@ -369,7 +384,10 @@ var DatePicker = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
|
|
|
369
384
|
locale: locale,
|
|
370
385
|
showWeekNumbers: showWeekNumbers,
|
|
371
386
|
showMeridian: showMeridian,
|
|
372
|
-
disabledDate:
|
|
387
|
+
disabledDate: isDateDisabled,
|
|
388
|
+
disabledHours: shouldDisableHour !== null && shouldDisableHour !== void 0 ? shouldDisableHour : DEPRECATED_disabledHours,
|
|
389
|
+
disabledMinutes: shouldDisableMinute !== null && shouldDisableMinute !== void 0 ? shouldDisableMinute : DEPRECATED_disabledMinutes,
|
|
390
|
+
disabledSeconds: shouldDisableSecond !== null && shouldDisableSecond !== void 0 ? shouldDisableSecond : DEPRECATED_disabledSeconds,
|
|
373
391
|
limitEndYear: limitEndYear,
|
|
374
392
|
format: formatStr,
|
|
375
393
|
isoWeek: isoWeek,
|
|
@@ -503,10 +521,14 @@ DatePicker.displayName = 'DatePicker';
|
|
|
503
521
|
DatePicker.propTypes = (0, _extends2.default)({}, _Picker.pickerPropTypes, {
|
|
504
522
|
calendarDefaultDate: _propTypes.default.instanceOf(Date),
|
|
505
523
|
defaultValue: _propTypes.default.instanceOf(Date),
|
|
506
|
-
disabledDate: _propTypes.default.func,
|
|
507
|
-
disabledHours: _propTypes.default.func,
|
|
508
|
-
disabledMinutes: _propTypes.default.func,
|
|
509
|
-
disabledSeconds: _propTypes.default.func,
|
|
524
|
+
disabledDate: (0, _deprecatePropType.deprecatePropTypeNew)(_propTypes.default.func, 'Use "shouldDisableDate" property instead.'),
|
|
525
|
+
disabledHours: (0, _deprecatePropType.deprecatePropTypeNew)(_propTypes.default.func, 'Use "shouldDisableHour" property instead.'),
|
|
526
|
+
disabledMinutes: (0, _deprecatePropType.deprecatePropTypeNew)(_propTypes.default.func, 'Use "shouldDisableMinute" property instead.'),
|
|
527
|
+
disabledSeconds: (0, _deprecatePropType.deprecatePropTypeNew)(_propTypes.default.func, 'Use "shouldDisableSecond" property instead.'),
|
|
528
|
+
shouldDisableDate: _propTypes.default.func,
|
|
529
|
+
shouldDisableHour: _propTypes.default.func,
|
|
530
|
+
shouldDisableMinute: _propTypes.default.func,
|
|
531
|
+
shouldDisableSecond: _propTypes.default.func,
|
|
510
532
|
format: _propTypes.default.string,
|
|
511
533
|
hideHours: _propTypes.default.func,
|
|
512
534
|
hideMinutes: _propTypes.default.func,
|
|
@@ -27,8 +27,16 @@ export interface DateRangePickerProps extends PickerBaseProps, FormControlBasePr
|
|
|
27
27
|
defaultCalendarValue?: DateRange;
|
|
28
28
|
/** The character that separates two dates */
|
|
29
29
|
character?: string;
|
|
30
|
-
/**
|
|
30
|
+
/**
|
|
31
|
+
* Disabled date
|
|
32
|
+
*
|
|
33
|
+
* @deprecated Use {@link shouldDisableDate} instead
|
|
34
|
+
*/
|
|
31
35
|
disabledDate?: DisabledDateFunction;
|
|
36
|
+
/**
|
|
37
|
+
* Whether a date cell is disabled
|
|
38
|
+
*/
|
|
39
|
+
shouldDisableDate?: DisabledDateFunction;
|
|
32
40
|
/** Called when the option is selected */
|
|
33
41
|
onSelect?: (date: Date, event?: React.SyntheticEvent) => void;
|
|
34
42
|
/** Called after clicking the OK button */
|
|
@@ -45,6 +45,10 @@ var disabledDateUtils = _interopRequireWildcard(require("./disabledDateUtils"));
|
|
|
45
45
|
|
|
46
46
|
var _utils2 = require("./utils");
|
|
47
47
|
|
|
48
|
+
var _deprecatePropType = require("../utils/deprecatePropType");
|
|
49
|
+
|
|
50
|
+
var _DateRangePickerContext = _interopRequireDefault(require("./DateRangePickerContext"));
|
|
51
|
+
|
|
48
52
|
var DateRangePicker = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
|
|
49
53
|
var _ref, _ref2, _merge;
|
|
50
54
|
|
|
@@ -64,7 +68,8 @@ var DateRangePicker = /*#__PURE__*/_react.default.forwardRef(function (props, re
|
|
|
64
68
|
defaultCalendarValue = props.defaultCalendarValue,
|
|
65
69
|
defaultValue = props.defaultValue,
|
|
66
70
|
disabled = props.disabled,
|
|
67
|
-
|
|
71
|
+
DEPRECATED_disabledDateProp = props.disabledDate,
|
|
72
|
+
shouldDisableDate = props.shouldDisableDate,
|
|
68
73
|
_props$format = props.format,
|
|
69
74
|
formatStr = _props$format === void 0 ? 'yyyy-MM-dd' : _props$format,
|
|
70
75
|
hoverRange = props.hoverRange,
|
|
@@ -100,7 +105,7 @@ var DateRangePicker = /*#__PURE__*/_react.default.forwardRef(function (props, re
|
|
|
100
105
|
onOpen = props.onOpen,
|
|
101
106
|
onSelect = props.onSelect,
|
|
102
107
|
renderTitle = props.renderTitle,
|
|
103
|
-
rest = (0, _objectWithoutPropertiesLoose2.default)(props, ["as", "classPrefix", "className", "appearance", "editable", "cleanable", "character", "defaultCalendarValue", "defaultValue", "disabled", "disabledDate", "format", "hoverRange", "isoWeek", "limitEndYear", "locale", "menuClassName", "menuStyle", "oneTap", "placeholder", "placement", "ranges", "renderValue", "showOneCalendar", "showWeekNumbers", "showMeridian", "style", "toggleAs", "caretAs", "value", "onChange", "onClean", "onClose", "onEnter", "onEntered", "onExited", "onOk", "onOpen", "onSelect", "renderTitle"]);
|
|
108
|
+
rest = (0, _objectWithoutPropertiesLoose2.default)(props, ["as", "classPrefix", "className", "appearance", "editable", "cleanable", "character", "defaultCalendarValue", "defaultValue", "disabled", "disabledDate", "shouldDisableDate", "format", "hoverRange", "isoWeek", "limitEndYear", "locale", "menuClassName", "menuStyle", "oneTap", "placeholder", "placement", "ranges", "renderValue", "showOneCalendar", "showWeekNumbers", "showMeridian", "style", "toggleAs", "caretAs", "value", "onChange", "onClean", "onClose", "onEnter", "onEntered", "onExited", "onOk", "onOpen", "onSelect", "renderTitle"]);
|
|
104
109
|
|
|
105
110
|
var _useClassNames = (0, _utils.useClassNames)(classPrefix),
|
|
106
111
|
merge = _useClassNames.merge,
|
|
@@ -124,7 +129,9 @@ var DateRangePicker = /*#__PURE__*/_react.default.forwardRef(function (props, re
|
|
|
124
129
|
*/
|
|
125
130
|
|
|
126
131
|
|
|
127
|
-
var
|
|
132
|
+
var _useState = (0, _react.useState)(true),
|
|
133
|
+
isSelectedIdle = _useState[0],
|
|
134
|
+
setSelectedIdle = _useState[1];
|
|
128
135
|
/**
|
|
129
136
|
* The currently selected date range.
|
|
130
137
|
*
|
|
@@ -134,25 +141,26 @@ var DateRangePicker = /*#__PURE__*/_react.default.forwardRef(function (props, re
|
|
|
134
141
|
*
|
|
135
142
|
*/
|
|
136
143
|
|
|
137
|
-
var _useState = (0, _react.useState)((_ref = valueProp !== null && valueProp !== void 0 ? valueProp : defaultValue) !== null && _ref !== void 0 ? _ref : []),
|
|
138
|
-
selectedDates = _useState[0],
|
|
139
|
-
setSelectedDates = _useState[1]; // The date of the current hover, used to reduce the calculation of `handleMouseMove`
|
|
140
144
|
|
|
145
|
+
var _useState2 = (0, _react.useState)((_ref = valueProp !== null && valueProp !== void 0 ? valueProp : defaultValue) !== null && _ref !== void 0 ? _ref : []),
|
|
146
|
+
selectedDates = _useState2[0],
|
|
147
|
+
setSelectedDates = _useState2[1]; // The date of the current hover, used to reduce the calculation of `handleMouseMove`
|
|
141
148
|
|
|
142
|
-
var _useState2 = (0, _react.useState)(null),
|
|
143
|
-
hoverDateRange = _useState2[0],
|
|
144
|
-
setHoverDateRange = _useState2[1]; // The displayed calendar panel is rendered based on this value.
|
|
145
149
|
|
|
150
|
+
var _useState3 = (0, _react.useState)(null),
|
|
151
|
+
hoverDateRange = _useState3[0],
|
|
152
|
+
setHoverDateRange = _useState3[1]; // The displayed calendar panel is rendered based on this value.
|
|
146
153
|
|
|
147
|
-
|
|
154
|
+
|
|
155
|
+
var _useState4 = (0, _react.useState)((0, _utils2.getSafeCalendarDate)({
|
|
148
156
|
value: (_ref2 = value !== null && value !== void 0 ? value : defaultCalendarValue) !== null && _ref2 !== void 0 ? _ref2 : null
|
|
149
157
|
})),
|
|
150
|
-
calendarDate =
|
|
151
|
-
setCalendarDate =
|
|
158
|
+
calendarDate = _useState4[0],
|
|
159
|
+
setCalendarDate = _useState4[1];
|
|
152
160
|
|
|
153
|
-
var
|
|
154
|
-
inputState =
|
|
155
|
-
setInputState =
|
|
161
|
+
var _useState5 = (0, _react.useState)(),
|
|
162
|
+
inputState = _useState5[0],
|
|
163
|
+
setInputState = _useState5[1];
|
|
156
164
|
/**
|
|
157
165
|
* When hoverRange is set, `selectValue` will be updated during the hover process,
|
|
158
166
|
* which will cause the `selectValue` to be updated after the first click,
|
|
@@ -208,9 +216,9 @@ var DateRangePicker = /*#__PURE__*/_react.default.forwardRef(function (props, re
|
|
|
208
216
|
setHoverDateRange(valueProp !== null && valueProp !== void 0 ? valueProp : null);
|
|
209
217
|
}, [valueProp]);
|
|
210
218
|
|
|
211
|
-
var
|
|
212
|
-
isPickerToggleActive =
|
|
213
|
-
setPickerToggleActive =
|
|
219
|
+
var _useState6 = (0, _react.useState)(false),
|
|
220
|
+
isPickerToggleActive = _useState6[0],
|
|
221
|
+
setPickerToggleActive = _useState6[1];
|
|
214
222
|
|
|
215
223
|
var rootRef = (0, _react.useRef)(null);
|
|
216
224
|
var overlayRef = (0, _react.useRef)(null);
|
|
@@ -313,7 +321,7 @@ var DateRangePicker = /*#__PURE__*/_react.default.forwardRef(function (props, re
|
|
|
313
321
|
// it means there's already one selected date
|
|
314
322
|
// and waiting for user to select the second date to complete the selection.
|
|
315
323
|
|
|
316
|
-
if (!
|
|
324
|
+
if (!isSelectedIdle) {
|
|
317
325
|
// If `hoverRange` is set, you need to change the value of hoverDateRange according to the rules
|
|
318
326
|
if (!(0, _isNil.default)(nextHoverDateRange) && !(0, _isNil.default)(selectRangeValueRef.current)) {
|
|
319
327
|
var nextSelectedDates = [selectRangeValueRef.current[0], nextHoverDateRange[1]];
|
|
@@ -332,7 +340,7 @@ var DateRangePicker = /*#__PURE__*/_react.default.forwardRef(function (props, re
|
|
|
332
340
|
} else if (!(0, _isNil.default)(nextHoverDateRange)) {
|
|
333
341
|
setHoverDateRange(nextHoverDateRange);
|
|
334
342
|
}
|
|
335
|
-
}, [getHoverRangeValue]);
|
|
343
|
+
}, [getHoverRangeValue, isSelectedIdle]);
|
|
336
344
|
/**
|
|
337
345
|
* Callback for selecting a date cell in the calendar grid
|
|
338
346
|
*/
|
|
@@ -343,23 +351,23 @@ var DateRangePicker = /*#__PURE__*/_react.default.forwardRef(function (props, re
|
|
|
343
351
|
var hoverRangeValue = getHoverRangeValue(date);
|
|
344
352
|
var noHoverRangeValid = (0, _isNil.default)(hoverRangeValue); // in `oneTap` mode
|
|
345
353
|
|
|
346
|
-
if (
|
|
354
|
+
if (isSelectedIdle && oneTap) {
|
|
347
355
|
handleValueUpdate(event, noHoverRangeValid ? [(0, _dateUtils.startOfDay)(date), (0, _dateUtils.endOfDay)(date)] : hoverRangeValue);
|
|
348
|
-
|
|
356
|
+
setSelectedIdle(false);
|
|
349
357
|
return;
|
|
350
358
|
} // no preset hover range can use
|
|
351
359
|
|
|
352
360
|
|
|
353
361
|
if (noHoverRangeValid) {
|
|
354
362
|
// start select
|
|
355
|
-
if (
|
|
363
|
+
if (isSelectedIdle) {
|
|
356
364
|
nextSelectDates = [date];
|
|
357
365
|
} else {
|
|
358
366
|
// finish select
|
|
359
367
|
nextSelectDates[1] = date;
|
|
360
368
|
}
|
|
361
369
|
} else {
|
|
362
|
-
if (!
|
|
370
|
+
if (!isSelectedIdle) {
|
|
363
371
|
nextSelectDates = selectedDates;
|
|
364
372
|
selectRangeValueRef.current = null;
|
|
365
373
|
} else {
|
|
@@ -396,8 +404,8 @@ var DateRangePicker = /*#__PURE__*/_react.default.forwardRef(function (props, re
|
|
|
396
404
|
eventName: 'changeDate'
|
|
397
405
|
});
|
|
398
406
|
onSelect === null || onSelect === void 0 ? void 0 : onSelect(date, event);
|
|
399
|
-
|
|
400
|
-
}, [formatStr, getCalendarDatetime, getHoverRangeValue, handleValueUpdate, hoverDateRange, onSelect, oneTap, selectedDates, updateCalendarDateRange]);
|
|
407
|
+
setSelectedIdle(!isSelectedIdle);
|
|
408
|
+
}, [formatStr, getCalendarDatetime, getHoverRangeValue, handleValueUpdate, hoverDateRange, isSelectedIdle, onSelect, oneTap, selectedDates, updateCalendarDateRange]);
|
|
401
409
|
/**
|
|
402
410
|
* If `selectValue` changed, there will be the following effects.
|
|
403
411
|
* 1. Check if the selection is completed.
|
|
@@ -473,7 +481,7 @@ var DateRangePicker = /*#__PURE__*/_react.default.forwardRef(function (props, re
|
|
|
473
481
|
} // End unfinished selections.
|
|
474
482
|
|
|
475
483
|
|
|
476
|
-
|
|
484
|
+
setSelectedIdle(true);
|
|
477
485
|
}, [handleValueUpdate, updateCalendarDateRange]);
|
|
478
486
|
var handleOK = (0, _react.useCallback)(function (event) {
|
|
479
487
|
handleValueUpdate(event, selectedDates);
|
|
@@ -560,19 +568,25 @@ var DateRangePicker = /*#__PURE__*/_react.default.forwardRef(function (props, re
|
|
|
560
568
|
}, [onOpen]);
|
|
561
569
|
var handleExited = (0, _react.useCallback)(function () {
|
|
562
570
|
setPickerToggleActive(false);
|
|
563
|
-
|
|
571
|
+
setSelectedIdle(true);
|
|
564
572
|
onClose === null || onClose === void 0 ? void 0 : onClose();
|
|
565
573
|
}, [onClose]);
|
|
566
574
|
var isDateDisabled = (0, _react.useCallback)(function (date, selectDate, selectedDone, target) {
|
|
567
|
-
|
|
575
|
+
if (typeof shouldDisableDate === 'function') {
|
|
576
|
+
return shouldDisableDate(date, selectDate, selectedDone, target);
|
|
577
|
+
}
|
|
568
578
|
|
|
569
|
-
|
|
570
|
-
|
|
579
|
+
if (typeof DEPRECATED_disabledDateProp === 'function') {
|
|
580
|
+
return DEPRECATED_disabledDateProp(date, selectDate, selectedDone, target);
|
|
581
|
+
}
|
|
582
|
+
|
|
583
|
+
return false;
|
|
584
|
+
}, [DEPRECATED_disabledDateProp, shouldDisableDate]);
|
|
571
585
|
var disabledByBetween = (0, _react.useCallback)(function (start, end, type) {
|
|
572
586
|
// If the date is between the start and the end
|
|
573
587
|
// the button is disabled
|
|
574
588
|
while (_utils.DateUtils.isBefore(start, end) || _utils.DateUtils.isSameDay(start, end)) {
|
|
575
|
-
if (isDateDisabled(start, selectedDates,
|
|
589
|
+
if (isDateDisabled(start, selectedDates, isSelectedIdle, type)) {
|
|
576
590
|
return true;
|
|
577
591
|
}
|
|
578
592
|
|
|
@@ -580,17 +594,17 @@ var DateRangePicker = /*#__PURE__*/_react.default.forwardRef(function (props, re
|
|
|
580
594
|
}
|
|
581
595
|
|
|
582
596
|
return false;
|
|
583
|
-
}, [isDateDisabled, selectedDates]);
|
|
597
|
+
}, [isDateDisabled, isSelectedIdle, selectedDates]);
|
|
584
598
|
var disabledOkButton = (0, _react.useCallback)(function () {
|
|
585
599
|
var start = selectedDates[0],
|
|
586
600
|
end = selectedDates[1];
|
|
587
601
|
|
|
588
|
-
if (!start || !end || !
|
|
602
|
+
if (!start || !end || !isSelectedIdle) {
|
|
589
603
|
return true;
|
|
590
604
|
}
|
|
591
605
|
|
|
592
606
|
return disabledByBetween(start, end, _utils.DATERANGE_DISABLED_TARGET.TOOLBAR_BUTTON_OK);
|
|
593
|
-
}, [disabledByBetween, selectedDates]);
|
|
607
|
+
}, [disabledByBetween, isSelectedIdle, selectedDates]);
|
|
594
608
|
var disabledShortcutButton = (0, _react.useCallback)(function (value) {
|
|
595
609
|
if (value === void 0) {
|
|
596
610
|
value = [];
|
|
@@ -607,8 +621,8 @@ var DateRangePicker = /*#__PURE__*/_react.default.forwardRef(function (props, re
|
|
|
607
621
|
return disabledByBetween(start, end, _utils.DATERANGE_DISABLED_TARGET.TOOLBAR_SHORTCUT);
|
|
608
622
|
}, [disabledByBetween]);
|
|
609
623
|
var handleDisabledDate = (0, _react.useCallback)(function (date, values, type) {
|
|
610
|
-
return isDateDisabled(date, values,
|
|
611
|
-
}, [isDateDisabled]);
|
|
624
|
+
return isDateDisabled(date, values, isSelectedIdle, type);
|
|
625
|
+
}, [isDateDisabled, isSelectedIdle]);
|
|
612
626
|
var onPickerKeyDown = (0, _Picker.useToggleKeyDownEvent)((0, _extends2.default)({
|
|
613
627
|
triggerRef: triggerRef,
|
|
614
628
|
targetRef: targetRef,
|
|
@@ -677,11 +691,15 @@ var DateRangePicker = /*#__PURE__*/_react.default.forwardRef(function (props, re
|
|
|
677
691
|
className: prefix('daterange-header')
|
|
678
692
|
}, getDisplayString(selectedDates)), /*#__PURE__*/_react.default.createElement("div", {
|
|
679
693
|
className: prefix("daterange-calendar-" + (showOneCalendar ? 'single' : 'group'))
|
|
694
|
+
}, /*#__PURE__*/_react.default.createElement(_DateRangePickerContext.default.Provider, {
|
|
695
|
+
value: {
|
|
696
|
+
isSelectedIdle: isSelectedIdle
|
|
697
|
+
}
|
|
680
698
|
}, /*#__PURE__*/_react.default.createElement(_Calendar2.default, (0, _extends2.default)({
|
|
681
699
|
index: 0
|
|
682
700
|
}, calendarProps)), !showOneCalendar && /*#__PURE__*/_react.default.createElement(_Calendar2.default, (0, _extends2.default)({
|
|
683
701
|
index: 1
|
|
684
|
-
}, calendarProps)))), /*#__PURE__*/_react.default.createElement(_Toolbar.default, {
|
|
702
|
+
}, calendarProps))))), /*#__PURE__*/_react.default.createElement(_Toolbar.default, {
|
|
685
703
|
locale: locale,
|
|
686
704
|
calendarDate: selectedDates,
|
|
687
705
|
disabledOkBtn: disabledOkButton,
|
|
@@ -760,7 +778,8 @@ DateRangePicker.propTypes = (0, _extends2.default)({}, _Picker.pickerPropTypes,
|
|
|
760
778
|
limitEndYear: _propTypes.default.number,
|
|
761
779
|
onChange: _propTypes.default.func,
|
|
762
780
|
onOk: _propTypes.default.func,
|
|
763
|
-
disabledDate: _propTypes.default.func,
|
|
781
|
+
disabledDate: (0, _deprecatePropType.deprecatePropTypeNew)(_propTypes.default.func, 'Use "shouldDisableDate" property instead.'),
|
|
782
|
+
shouldDisableDate: _propTypes.default.func,
|
|
764
783
|
onSelect: _propTypes.default.func,
|
|
765
784
|
showWeekNumbers: _propTypes.default.bool,
|
|
766
785
|
showMeridian: _propTypes.default.bool,
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
interface DateRangePickerContextValue {
|
|
3
|
+
isSelectedIdle?: boolean;
|
|
4
|
+
}
|
|
5
|
+
declare const DateRangePickerContext: React.Context<DateRangePickerContextValue>;
|
|
6
|
+
export default DateRangePickerContext;
|
|
7
|
+
export declare const useDateRangePickerContext: () => DateRangePickerContextValue;
|