rsuite 5.29.0 → 5.31.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 +18 -0
- package/cjs/Calendar/Calendar.d.ts +2 -0
- package/cjs/Calendar/Calendar.js +15 -5
- package/cjs/Calendar/CalendarHeader.js +16 -3
- package/cjs/Cascader/Cascader.js +1 -1
- package/cjs/DateRangePicker/DateRangePicker.js +42 -33
- package/cjs/DateRangePicker/DateRangePickerContext.d.ts +7 -0
- package/cjs/DateRangePicker/DateRangePickerContext.js +19 -0
- package/cjs/Table/Table.d.ts +1 -1
- package/cjs/utils/dateUtils.js +6 -6
- package/dist/rsuite-no-reset-rtl.css +16689 -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 +16713 -0
- package/dist/rsuite-no-reset.min.css +2 -0
- package/dist/rsuite-no-reset.min.css.map +1 -0
- package/dist/rsuite-rtl.css +0 -1
- package/dist/rsuite-rtl.min.css +1 -1
- package/dist/rsuite-rtl.min.css.map +1 -1
- package/dist/rsuite.css +0 -1
- package/dist/rsuite.js +19 -8
- package/dist/rsuite.js.map +1 -1
- package/dist/rsuite.min.css +1 -1
- package/dist/rsuite.min.css.map +1 -1
- package/dist/rsuite.min.js +1 -1
- package/dist/rsuite.min.js.map +1 -1
- package/esm/Calendar/Calendar.d.ts +2 -0
- package/esm/Calendar/Calendar.js +14 -5
- package/esm/Calendar/CalendarHeader.js +15 -3
- package/esm/Cascader/Cascader.js +1 -1
- package/esm/DateRangePicker/DateRangePicker.js +41 -33
- package/esm/DateRangePicker/DateRangePickerContext.d.ts +7 -0
- package/esm/DateRangePicker/DateRangePickerContext.js +6 -0
- package/esm/Table/Table.d.ts +1 -1
- package/esm/utils/dateUtils.js +6 -6
- package/package.json +2 -2
- package/toaster/styles/index.less +0 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,21 @@
|
|
|
1
|
+
# [5.31.0](https://github.com/rsuite/rsuite/compare/v5.30.0...v5.31.0) (2023-04-07)
|
|
2
|
+
|
|
3
|
+
### Bug Fixes
|
|
4
|
+
|
|
5
|
+
- **toaster:** fix style when message at the left ([#3138](https://github.com/rsuite/rsuite/issues/3138)) ([6084c2a](https://github.com/rsuite/rsuite/commit/6084c2a35cdd32db1e9a4ec560e9bfaadb7a173c))
|
|
6
|
+
|
|
7
|
+
### Features
|
|
8
|
+
|
|
9
|
+
- **Calendar:** add support for `onMonthChange` on `<Calendar>` ([#3150](https://github.com/rsuite/rsuite/issues/3150)) ([8dfe9d6](https://github.com/rsuite/rsuite/commit/8dfe9d6da95a55277d78f712b1d91ea56a70b9bb))
|
|
10
|
+
|
|
11
|
+
# [5.30.0](https://github.com/rsuite/rsuite/compare/v5.29.0...v5.30.0) (2023-03-31)
|
|
12
|
+
|
|
13
|
+
### Bug Fixes
|
|
14
|
+
|
|
15
|
+
- **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))
|
|
16
|
+
- **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))
|
|
17
|
+
- **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))
|
|
18
|
+
|
|
1
19
|
# [5.29.0](https://github.com/rsuite/rsuite/compare/v5.28.3...v5.29.0) (2023-03-24)
|
|
2
20
|
|
|
3
21
|
### Bug Fixes
|
|
@@ -17,6 +17,8 @@ export interface CalendarProps extends WithAsProps {
|
|
|
17
17
|
locale?: CalendarLocale;
|
|
18
18
|
/** Callback fired before the value changed */
|
|
19
19
|
onChange?: (date: Date) => void;
|
|
20
|
+
/** Callback fired before the month changed */
|
|
21
|
+
onMonthChange?: (date: Date) => void;
|
|
20
22
|
/** Callback fired before the date selected */
|
|
21
23
|
onSelect?: (date: Date) => void;
|
|
22
24
|
/** Custom render calendar cells */
|
package/cjs/Calendar/Calendar.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 _isSameMonth = _interopRequireDefault(require("date-fns/isSameMonth"));
|
|
19
|
+
|
|
18
20
|
var _CalendarContainer = _interopRequireDefault(require("./CalendarContainer"));
|
|
19
21
|
|
|
20
22
|
var _Button = _interopRequireDefault(require("../Button"));
|
|
@@ -38,10 +40,11 @@ var CalendarPanel = /*#__PURE__*/_react.default.forwardRef(function (props, ref)
|
|
|
38
40
|
isoWeek = props.isoWeek,
|
|
39
41
|
overrideLocale = props.locale,
|
|
40
42
|
onChange = props.onChange,
|
|
43
|
+
onMonthChange = props.onMonthChange,
|
|
41
44
|
onSelect = props.onSelect,
|
|
42
45
|
renderCell = props.renderCell,
|
|
43
46
|
value = props.value,
|
|
44
|
-
rest = (0, _objectWithoutPropertiesLoose2.default)(props, ["as", "bordered", "className", "classPrefix", "compact", "defaultValue", "isoWeek", "locale", "onChange", "onSelect", "renderCell", "value"]);
|
|
47
|
+
rest = (0, _objectWithoutPropertiesLoose2.default)(props, ["as", "bordered", "className", "classPrefix", "compact", "defaultValue", "isoWeek", "locale", "onChange", "onMonthChange", "onSelect", "renderCell", "value"]);
|
|
45
48
|
|
|
46
49
|
var _useCalendarDate = (0, _useCalendarDate2.default)(value, defaultValue),
|
|
47
50
|
calendarDate = _useCalendarDate.calendarDate,
|
|
@@ -60,7 +63,14 @@ var CalendarPanel = /*#__PURE__*/_react.default.forwardRef(function (props, ref)
|
|
|
60
63
|
var handleSelect = (0, _react.useCallback)(function (nextValue) {
|
|
61
64
|
onSelect === null || onSelect === void 0 ? void 0 : onSelect(nextValue);
|
|
62
65
|
handleChange(nextValue);
|
|
63
|
-
}, [handleChange, onSelect]);
|
|
66
|
+
}, [handleChange, onSelect]); // Trigger onMonthChange when the month changes
|
|
67
|
+
|
|
68
|
+
var handleMonthChange = (0, _react.useCallback)(function (nextValue) {
|
|
69
|
+
if (!(0, _isSameMonth.default)(nextValue, calendarDate)) {
|
|
70
|
+
handleChange(nextValue);
|
|
71
|
+
onMonthChange === null || onMonthChange === void 0 ? void 0 : onMonthChange(nextValue);
|
|
72
|
+
}
|
|
73
|
+
}, [calendarDate, handleChange, onMonthChange]);
|
|
64
74
|
|
|
65
75
|
var _useClassNames = (0, _utils.useClassNames)(classPrefix),
|
|
66
76
|
prefix = _useClassNames.prefix,
|
|
@@ -98,9 +108,9 @@ var CalendarPanel = /*#__PURE__*/_react.default.forwardRef(function (props, ref)
|
|
|
98
108
|
},
|
|
99
109
|
renderToolbar: renderToolbar,
|
|
100
110
|
renderCell: customRenderCell,
|
|
101
|
-
onMoveForward:
|
|
102
|
-
onMoveBackward:
|
|
103
|
-
onChangeMonth:
|
|
111
|
+
onMoveForward: handleMonthChange,
|
|
112
|
+
onMoveBackward: handleMonthChange,
|
|
113
|
+
onChangeMonth: handleMonthChange,
|
|
104
114
|
onSelect: handleSelect
|
|
105
115
|
}));
|
|
106
116
|
});
|
|
@@ -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,
|
|
@@ -120,13 +125,17 @@ var CalendarHeader = /*#__PURE__*/_react.default.forwardRef(function (props, ref
|
|
|
120
125
|
var monthToolbar = /*#__PURE__*/_react.default.createElement("div", {
|
|
121
126
|
className: prefix('month-toolbar')
|
|
122
127
|
}, /*#__PURE__*/_react.default.createElement(_IconButton.default, (0, _extends2.default)({}, btnProps, {
|
|
128
|
+
// TODO: aria-label should be translated by i18n
|
|
129
|
+
"aria-label": "Previous month",
|
|
123
130
|
className: backwardClass,
|
|
124
131
|
onClick: disabledBackward ? undefined : onMoveBackward,
|
|
125
132
|
icon: /*#__PURE__*/_react.default.createElement(_AngleLeft.default, null)
|
|
126
133
|
})), /*#__PURE__*/_react.default.createElement(_Button.default, (0, _extends2.default)({}, btnProps, {
|
|
134
|
+
"aria-label": "Select month",
|
|
127
135
|
className: dateTitleClasses,
|
|
128
136
|
onClick: onToggleMonthDropdown
|
|
129
137
|
}), renderTitle()), /*#__PURE__*/_react.default.createElement(_IconButton.default, (0, _extends2.default)({}, btnProps, {
|
|
138
|
+
"aria-label": "Next month",
|
|
130
139
|
className: forwardClass,
|
|
131
140
|
onClick: disabledForward ? undefined : onMoveForward,
|
|
132
141
|
icon: /*#__PURE__*/_react.default.createElement(_AngleRight.default, null)
|
|
@@ -136,7 +145,9 @@ var CalendarHeader = /*#__PURE__*/_react.default.forwardRef(function (props, ref
|
|
|
136
145
|
var classes = merge(className, withClassPrefix({
|
|
137
146
|
'has-month': hasMonth,
|
|
138
147
|
'has-time': showTime
|
|
139
|
-
}));
|
|
148
|
+
})); // If the date is not selected, the time cannot be selected (it only works in DateRangePicker).
|
|
149
|
+
|
|
150
|
+
var disableSelectTime = typeof isSelectedIdle === 'undefined' ? false : !isSelectedIdle;
|
|
140
151
|
return /*#__PURE__*/_react.default.createElement(Component, (0, _extends2.default)({}, rest, {
|
|
141
152
|
ref: ref,
|
|
142
153
|
className: classes
|
|
@@ -144,13 +155,15 @@ var CalendarHeader = /*#__PURE__*/_react.default.forwardRef(function (props, ref
|
|
|
144
155
|
className: prefix('time-toolbar')
|
|
145
156
|
}, /*#__PURE__*/_react.default.createElement(_Button.default, (0, _extends2.default)({}, btnProps, {
|
|
146
157
|
className: timeTitleClasses,
|
|
147
|
-
onClick: onToggleTimeDropdown
|
|
158
|
+
onClick: onToggleTimeDropdown,
|
|
159
|
+
disabled: disableSelectTime
|
|
148
160
|
}), date && /*#__PURE__*/_react.default.createElement(_CustomProvider.FormattedDate, {
|
|
149
161
|
date: date,
|
|
150
162
|
formatStr: getTimeFormat()
|
|
151
163
|
})), showMeridian && /*#__PURE__*/_react.default.createElement(_Button.default, (0, _extends2.default)({}, btnProps, {
|
|
152
164
|
className: prefix('meridian'),
|
|
153
|
-
onClick: onToggleMeridian
|
|
165
|
+
onClick: onToggleMeridian,
|
|
166
|
+
disabled: disableSelectTime
|
|
154
167
|
}), date && /*#__PURE__*/_react.default.createElement(_CustomProvider.FormattedDate, {
|
|
155
168
|
date: date,
|
|
156
169
|
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
|
});
|
|
@@ -47,6 +47,8 @@ var _utils2 = require("./utils");
|
|
|
47
47
|
|
|
48
48
|
var _deprecatePropType = require("../utils/deprecatePropType");
|
|
49
49
|
|
|
50
|
+
var _DateRangePickerContext = _interopRequireDefault(require("./DateRangePickerContext"));
|
|
51
|
+
|
|
50
52
|
var DateRangePicker = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
|
|
51
53
|
var _ref, _ref2, _merge;
|
|
52
54
|
|
|
@@ -127,7 +129,9 @@ var DateRangePicker = /*#__PURE__*/_react.default.forwardRef(function (props, re
|
|
|
127
129
|
*/
|
|
128
130
|
|
|
129
131
|
|
|
130
|
-
var
|
|
132
|
+
var _useState = (0, _react.useState)(true),
|
|
133
|
+
isSelectedIdle = _useState[0],
|
|
134
|
+
setSelectedIdle = _useState[1];
|
|
131
135
|
/**
|
|
132
136
|
* The currently selected date range.
|
|
133
137
|
*
|
|
@@ -137,25 +141,26 @@ var DateRangePicker = /*#__PURE__*/_react.default.forwardRef(function (props, re
|
|
|
137
141
|
*
|
|
138
142
|
*/
|
|
139
143
|
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
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`
|
|
143
148
|
|
|
144
149
|
|
|
145
|
-
var
|
|
146
|
-
hoverDateRange =
|
|
147
|
-
setHoverDateRange =
|
|
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.
|
|
148
153
|
|
|
149
154
|
|
|
150
|
-
var
|
|
155
|
+
var _useState4 = (0, _react.useState)((0, _utils2.getSafeCalendarDate)({
|
|
151
156
|
value: (_ref2 = value !== null && value !== void 0 ? value : defaultCalendarValue) !== null && _ref2 !== void 0 ? _ref2 : null
|
|
152
157
|
})),
|
|
153
|
-
calendarDate =
|
|
154
|
-
setCalendarDate =
|
|
158
|
+
calendarDate = _useState4[0],
|
|
159
|
+
setCalendarDate = _useState4[1];
|
|
155
160
|
|
|
156
|
-
var
|
|
157
|
-
inputState =
|
|
158
|
-
setInputState =
|
|
161
|
+
var _useState5 = (0, _react.useState)(),
|
|
162
|
+
inputState = _useState5[0],
|
|
163
|
+
setInputState = _useState5[1];
|
|
159
164
|
/**
|
|
160
165
|
* When hoverRange is set, `selectValue` will be updated during the hover process,
|
|
161
166
|
* which will cause the `selectValue` to be updated after the first click,
|
|
@@ -211,9 +216,9 @@ var DateRangePicker = /*#__PURE__*/_react.default.forwardRef(function (props, re
|
|
|
211
216
|
setHoverDateRange(valueProp !== null && valueProp !== void 0 ? valueProp : null);
|
|
212
217
|
}, [valueProp]);
|
|
213
218
|
|
|
214
|
-
var
|
|
215
|
-
isPickerToggleActive =
|
|
216
|
-
setPickerToggleActive =
|
|
219
|
+
var _useState6 = (0, _react.useState)(false),
|
|
220
|
+
isPickerToggleActive = _useState6[0],
|
|
221
|
+
setPickerToggleActive = _useState6[1];
|
|
217
222
|
|
|
218
223
|
var rootRef = (0, _react.useRef)(null);
|
|
219
224
|
var overlayRef = (0, _react.useRef)(null);
|
|
@@ -316,7 +321,7 @@ var DateRangePicker = /*#__PURE__*/_react.default.forwardRef(function (props, re
|
|
|
316
321
|
// it means there's already one selected date
|
|
317
322
|
// and waiting for user to select the second date to complete the selection.
|
|
318
323
|
|
|
319
|
-
if (!
|
|
324
|
+
if (!isSelectedIdle) {
|
|
320
325
|
// If `hoverRange` is set, you need to change the value of hoverDateRange according to the rules
|
|
321
326
|
if (!(0, _isNil.default)(nextHoverDateRange) && !(0, _isNil.default)(selectRangeValueRef.current)) {
|
|
322
327
|
var nextSelectedDates = [selectRangeValueRef.current[0], nextHoverDateRange[1]];
|
|
@@ -335,7 +340,7 @@ var DateRangePicker = /*#__PURE__*/_react.default.forwardRef(function (props, re
|
|
|
335
340
|
} else if (!(0, _isNil.default)(nextHoverDateRange)) {
|
|
336
341
|
setHoverDateRange(nextHoverDateRange);
|
|
337
342
|
}
|
|
338
|
-
}, [getHoverRangeValue]);
|
|
343
|
+
}, [getHoverRangeValue, isSelectedIdle]);
|
|
339
344
|
/**
|
|
340
345
|
* Callback for selecting a date cell in the calendar grid
|
|
341
346
|
*/
|
|
@@ -346,23 +351,23 @@ var DateRangePicker = /*#__PURE__*/_react.default.forwardRef(function (props, re
|
|
|
346
351
|
var hoverRangeValue = getHoverRangeValue(date);
|
|
347
352
|
var noHoverRangeValid = (0, _isNil.default)(hoverRangeValue); // in `oneTap` mode
|
|
348
353
|
|
|
349
|
-
if (
|
|
354
|
+
if (isSelectedIdle && oneTap) {
|
|
350
355
|
handleValueUpdate(event, noHoverRangeValid ? [(0, _dateUtils.startOfDay)(date), (0, _dateUtils.endOfDay)(date)] : hoverRangeValue);
|
|
351
|
-
|
|
356
|
+
setSelectedIdle(false);
|
|
352
357
|
return;
|
|
353
358
|
} // no preset hover range can use
|
|
354
359
|
|
|
355
360
|
|
|
356
361
|
if (noHoverRangeValid) {
|
|
357
362
|
// start select
|
|
358
|
-
if (
|
|
363
|
+
if (isSelectedIdle) {
|
|
359
364
|
nextSelectDates = [date];
|
|
360
365
|
} else {
|
|
361
366
|
// finish select
|
|
362
367
|
nextSelectDates[1] = date;
|
|
363
368
|
}
|
|
364
369
|
} else {
|
|
365
|
-
if (!
|
|
370
|
+
if (!isSelectedIdle) {
|
|
366
371
|
nextSelectDates = selectedDates;
|
|
367
372
|
selectRangeValueRef.current = null;
|
|
368
373
|
} else {
|
|
@@ -399,8 +404,8 @@ var DateRangePicker = /*#__PURE__*/_react.default.forwardRef(function (props, re
|
|
|
399
404
|
eventName: 'changeDate'
|
|
400
405
|
});
|
|
401
406
|
onSelect === null || onSelect === void 0 ? void 0 : onSelect(date, event);
|
|
402
|
-
|
|
403
|
-
}, [formatStr, getCalendarDatetime, getHoverRangeValue, handleValueUpdate, hoverDateRange, onSelect, oneTap, selectedDates, updateCalendarDateRange]);
|
|
407
|
+
setSelectedIdle(!isSelectedIdle);
|
|
408
|
+
}, [formatStr, getCalendarDatetime, getHoverRangeValue, handleValueUpdate, hoverDateRange, isSelectedIdle, onSelect, oneTap, selectedDates, updateCalendarDateRange]);
|
|
404
409
|
/**
|
|
405
410
|
* If `selectValue` changed, there will be the following effects.
|
|
406
411
|
* 1. Check if the selection is completed.
|
|
@@ -476,7 +481,7 @@ var DateRangePicker = /*#__PURE__*/_react.default.forwardRef(function (props, re
|
|
|
476
481
|
} // End unfinished selections.
|
|
477
482
|
|
|
478
483
|
|
|
479
|
-
|
|
484
|
+
setSelectedIdle(true);
|
|
480
485
|
}, [handleValueUpdate, updateCalendarDateRange]);
|
|
481
486
|
var handleOK = (0, _react.useCallback)(function (event) {
|
|
482
487
|
handleValueUpdate(event, selectedDates);
|
|
@@ -563,7 +568,7 @@ var DateRangePicker = /*#__PURE__*/_react.default.forwardRef(function (props, re
|
|
|
563
568
|
}, [onOpen]);
|
|
564
569
|
var handleExited = (0, _react.useCallback)(function () {
|
|
565
570
|
setPickerToggleActive(false);
|
|
566
|
-
|
|
571
|
+
setSelectedIdle(true);
|
|
567
572
|
onClose === null || onClose === void 0 ? void 0 : onClose();
|
|
568
573
|
}, [onClose]);
|
|
569
574
|
var isDateDisabled = (0, _react.useCallback)(function (date, selectDate, selectedDone, target) {
|
|
@@ -581,7 +586,7 @@ var DateRangePicker = /*#__PURE__*/_react.default.forwardRef(function (props, re
|
|
|
581
586
|
// If the date is between the start and the end
|
|
582
587
|
// the button is disabled
|
|
583
588
|
while (_utils.DateUtils.isBefore(start, end) || _utils.DateUtils.isSameDay(start, end)) {
|
|
584
|
-
if (isDateDisabled(start, selectedDates,
|
|
589
|
+
if (isDateDisabled(start, selectedDates, isSelectedIdle, type)) {
|
|
585
590
|
return true;
|
|
586
591
|
}
|
|
587
592
|
|
|
@@ -589,17 +594,17 @@ var DateRangePicker = /*#__PURE__*/_react.default.forwardRef(function (props, re
|
|
|
589
594
|
}
|
|
590
595
|
|
|
591
596
|
return false;
|
|
592
|
-
}, [isDateDisabled, selectedDates]);
|
|
597
|
+
}, [isDateDisabled, isSelectedIdle, selectedDates]);
|
|
593
598
|
var disabledOkButton = (0, _react.useCallback)(function () {
|
|
594
599
|
var start = selectedDates[0],
|
|
595
600
|
end = selectedDates[1];
|
|
596
601
|
|
|
597
|
-
if (!start || !end || !
|
|
602
|
+
if (!start || !end || !isSelectedIdle) {
|
|
598
603
|
return true;
|
|
599
604
|
}
|
|
600
605
|
|
|
601
606
|
return disabledByBetween(start, end, _utils.DATERANGE_DISABLED_TARGET.TOOLBAR_BUTTON_OK);
|
|
602
|
-
}, [disabledByBetween, selectedDates]);
|
|
607
|
+
}, [disabledByBetween, isSelectedIdle, selectedDates]);
|
|
603
608
|
var disabledShortcutButton = (0, _react.useCallback)(function (value) {
|
|
604
609
|
if (value === void 0) {
|
|
605
610
|
value = [];
|
|
@@ -616,8 +621,8 @@ var DateRangePicker = /*#__PURE__*/_react.default.forwardRef(function (props, re
|
|
|
616
621
|
return disabledByBetween(start, end, _utils.DATERANGE_DISABLED_TARGET.TOOLBAR_SHORTCUT);
|
|
617
622
|
}, [disabledByBetween]);
|
|
618
623
|
var handleDisabledDate = (0, _react.useCallback)(function (date, values, type) {
|
|
619
|
-
return isDateDisabled(date, values,
|
|
620
|
-
}, [isDateDisabled]);
|
|
624
|
+
return isDateDisabled(date, values, isSelectedIdle, type);
|
|
625
|
+
}, [isDateDisabled, isSelectedIdle]);
|
|
621
626
|
var onPickerKeyDown = (0, _Picker.useToggleKeyDownEvent)((0, _extends2.default)({
|
|
622
627
|
triggerRef: triggerRef,
|
|
623
628
|
targetRef: targetRef,
|
|
@@ -686,11 +691,15 @@ var DateRangePicker = /*#__PURE__*/_react.default.forwardRef(function (props, re
|
|
|
686
691
|
className: prefix('daterange-header')
|
|
687
692
|
}, getDisplayString(selectedDates)), /*#__PURE__*/_react.default.createElement("div", {
|
|
688
693
|
className: prefix("daterange-calendar-" + (showOneCalendar ? 'single' : 'group'))
|
|
694
|
+
}, /*#__PURE__*/_react.default.createElement(_DateRangePickerContext.default.Provider, {
|
|
695
|
+
value: {
|
|
696
|
+
isSelectedIdle: isSelectedIdle
|
|
697
|
+
}
|
|
689
698
|
}, /*#__PURE__*/_react.default.createElement(_Calendar2.default, (0, _extends2.default)({
|
|
690
699
|
index: 0
|
|
691
700
|
}, calendarProps)), !showOneCalendar && /*#__PURE__*/_react.default.createElement(_Calendar2.default, (0, _extends2.default)({
|
|
692
701
|
index: 1
|
|
693
|
-
}, calendarProps)))), /*#__PURE__*/_react.default.createElement(_Toolbar.default, {
|
|
702
|
+
}, calendarProps))))), /*#__PURE__*/_react.default.createElement(_Toolbar.default, {
|
|
694
703
|
locale: locale,
|
|
695
704
|
calendarDate: selectedDates,
|
|
696
705
|
disabledOkBtn: disabledOkButton,
|
|
@@ -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;
|
|
@@ -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;
|
package/cjs/Table/Table.d.ts
CHANGED
|
@@ -6,7 +6,7 @@ export interface CellProps<T = any> extends Omit<TableCellProps, 'rowData' | 'da
|
|
|
6
6
|
/** Row Data */
|
|
7
7
|
rowData?: T;
|
|
8
8
|
}
|
|
9
|
-
declare const _default: (<Row extends RowDataType
|
|
9
|
+
declare const _default: (<Row extends RowDataType<never>, Key>(props: TableProps<Row, Key> & React.RefAttributes<TableInstance<Row, Key>>) => React.ReactElement<any, string | React.JSXElementConstructor<any>>) & {
|
|
10
10
|
Cell: React.ForwardRefExoticComponent<import("rsuite-table/lib/Cell").InnerCellProps & React.RefAttributes<HTMLDivElement>>;
|
|
11
11
|
Column: typeof Column;
|
|
12
12
|
HeaderCell: React.ForwardRefExoticComponent<import("rsuite-table").HeaderCellProps & React.RefAttributes<HTMLDivElement>>;
|
package/cjs/utils/dateUtils.js
CHANGED
|
@@ -181,21 +181,21 @@ function validTime(calendarProps, date) {
|
|
|
181
181
|
|
|
182
182
|
return Object.keys(calendarProps).some(function (key) {
|
|
183
183
|
if (/(Hours)/.test(key)) {
|
|
184
|
-
var _calendarProps$key
|
|
184
|
+
var _calendarProps$key;
|
|
185
185
|
|
|
186
|
-
return (_calendarProps$key =
|
|
186
|
+
return (_calendarProps$key = calendarProps[key]) === null || _calendarProps$key === void 0 ? void 0 : _calendarProps$key.call(calendarProps, (0, _getHours.default)(date), date);
|
|
187
187
|
}
|
|
188
188
|
|
|
189
189
|
if (/(Minutes)/.test(key)) {
|
|
190
|
-
var _calendarProps$
|
|
190
|
+
var _calendarProps$key2;
|
|
191
191
|
|
|
192
|
-
return (_calendarProps$
|
|
192
|
+
return (_calendarProps$key2 = calendarProps[key]) === null || _calendarProps$key2 === void 0 ? void 0 : _calendarProps$key2.call(calendarProps, (0, _getMinutes.default)(date), date);
|
|
193
193
|
}
|
|
194
194
|
|
|
195
195
|
if (/(Seconds)/.test(key)) {
|
|
196
|
-
var _calendarProps$
|
|
196
|
+
var _calendarProps$key3;
|
|
197
197
|
|
|
198
|
-
return (_calendarProps$
|
|
198
|
+
return (_calendarProps$key3 = calendarProps[key]) === null || _calendarProps$key3 === void 0 ? void 0 : _calendarProps$key3.call(calendarProps, (0, _getSeconds.default)(date), date);
|
|
199
199
|
}
|
|
200
200
|
|
|
201
201
|
return false;
|