rsuite 5.60.0 → 5.60.2
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 +25 -2
- package/DatePicker/styles/index.css +1 -0
- package/DatePicker/styles/index.less +1 -0
- package/DateRangePicker/styles/index.css +4 -3
- package/DateRangePicker/styles/index.less +7 -5
- package/LICENSE +1 -1
- package/README.md +70 -89
- package/RangeSlider/styles/index.css +1 -1
- package/Slider/styles/index.css +1 -1
- package/Slider/styles/index.less +1 -1
- package/Toggle/styles/index.css +8 -2
- package/Toggle/styles/index.less +4 -2
- package/cjs/DateInput/DateField.js +3 -1
- package/cjs/DateInput/DateInput.js +17 -16
- package/cjs/DateInput/{useDateInputState.d.ts → hooks/useDateInputState.d.ts} +1 -1
- package/cjs/DateInput/{useDateInputState.js → hooks/useDateInputState.js} +2 -2
- package/cjs/DateInput/hooks/useFieldCursor.d.ts +6 -0
- package/cjs/DateInput/hooks/useFieldCursor.js +56 -0
- package/cjs/DateInput/hooks/useSelectedState.d.ts +14 -0
- package/cjs/DateInput/hooks/useSelectedState.js +23 -0
- package/cjs/DateInput/index.d.ts +5 -3
- package/cjs/DateInput/index.js +11 -5
- package/cjs/DateInput/utils.d.ts +0 -1
- package/cjs/DateInput/utils.js +2 -24
- package/cjs/DateRangeInput/DateRangeInput.js +16 -17
- package/cjs/DateRangePicker/DateRangePicker.js +17 -9
- package/cjs/DateRangePicker/utils.d.ts +2 -2
- package/cjs/DateRangePicker/utils.js +2 -2
- package/dist/rsuite-no-reset-rtl.css +13 -6
- package/dist/rsuite-no-reset-rtl.min.css +1 -1
- package/dist/rsuite-no-reset-rtl.min.css.map +1 -1
- package/dist/rsuite-no-reset.css +13 -6
- package/dist/rsuite-no-reset.min.css +1 -1
- package/dist/rsuite-no-reset.min.css.map +1 -1
- package/dist/rsuite-rtl.css +13 -6
- package/dist/rsuite-rtl.min.css +1 -1
- package/dist/rsuite-rtl.min.css.map +1 -1
- package/dist/rsuite.css +13 -6
- package/dist/rsuite.js +48 -26
- 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/DateInput/DateField.js +3 -1
- package/esm/DateInput/DateInput.js +19 -18
- package/esm/DateInput/{useDateInputState.d.ts → hooks/useDateInputState.d.ts} +1 -1
- package/esm/DateInput/{useDateInputState.js → hooks/useDateInputState.js} +2 -2
- package/esm/DateInput/hooks/useFieldCursor.d.ts +6 -0
- package/esm/DateInput/hooks/useFieldCursor.js +49 -0
- package/esm/DateInput/hooks/useSelectedState.d.ts +14 -0
- package/esm/DateInput/hooks/useSelectedState.js +17 -0
- package/esm/DateInput/index.d.ts +5 -3
- package/esm/DateInput/index.js +5 -3
- package/esm/DateInput/utils.d.ts +0 -1
- package/esm/DateInput/utils.js +2 -23
- package/esm/DateRangeInput/DateRangeInput.js +17 -18
- package/esm/DateRangePicker/DateRangePicker.js +17 -9
- package/esm/DateRangePicker/utils.d.ts +2 -2
- package/esm/DateRangePicker/utils.js +2 -2
- package/package.json +2 -2
- package/styles/variables.less +0 -1
- /package/cjs/DateInput/{useIsFocused.d.ts → hooks/useIsFocused.d.ts} +0 -0
- /package/cjs/DateInput/{useIsFocused.js → hooks/useIsFocused.js} +0 -0
- /package/cjs/DateInput/{useKeyboardInputEvent.d.ts → hooks/useKeyboardInputEvent.d.ts} +0 -0
- /package/cjs/DateInput/{useKeyboardInputEvent.js → hooks/useKeyboardInputEvent.js} +0 -0
- /package/esm/DateInput/{useIsFocused.d.ts → hooks/useIsFocused.d.ts} +0 -0
- /package/esm/DateInput/{useIsFocused.js → hooks/useIsFocused.js} +0 -0
- /package/esm/DateInput/{useKeyboardInputEvent.d.ts → hooks/useKeyboardInputEvent.d.ts} +0 -0
- /package/esm/DateInput/{useKeyboardInputEvent.js → hooks/useKeyboardInputEvent.js} +0 -0
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
export declare function useSelectedState(): {
|
|
3
|
+
selectedState: {
|
|
4
|
+
selectedPattern: string;
|
|
5
|
+
selectionStart: number;
|
|
6
|
+
selectionEnd: number;
|
|
7
|
+
};
|
|
8
|
+
setSelectedState: import("react").Dispatch<import("react").SetStateAction<{
|
|
9
|
+
selectedPattern: string;
|
|
10
|
+
selectionStart: number;
|
|
11
|
+
selectionEnd: number;
|
|
12
|
+
}>>;
|
|
13
|
+
};
|
|
14
|
+
export default useSelectedState;
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
"use strict";
|
|
3
|
+
|
|
4
|
+
exports.__esModule = true;
|
|
5
|
+
exports.useSelectedState = useSelectedState;
|
|
6
|
+
exports.default = void 0;
|
|
7
|
+
var _react = require("react");
|
|
8
|
+
var defaultSelectedState = {
|
|
9
|
+
selectedPattern: 'y',
|
|
10
|
+
selectionStart: 0,
|
|
11
|
+
selectionEnd: 0
|
|
12
|
+
};
|
|
13
|
+
function useSelectedState() {
|
|
14
|
+
var _useState = (0, _react.useState)(defaultSelectedState),
|
|
15
|
+
selectedState = _useState[0],
|
|
16
|
+
setSelectedState = _useState[1];
|
|
17
|
+
return {
|
|
18
|
+
selectedState: selectedState,
|
|
19
|
+
setSelectedState: setSelectedState
|
|
20
|
+
};
|
|
21
|
+
}
|
|
22
|
+
var _default = useSelectedState;
|
|
23
|
+
exports.default = _default;
|
package/cjs/DateInput/index.d.ts
CHANGED
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
import DateInput from './DateInput';
|
|
2
|
-
export { useDateInputState } from './useDateInputState';
|
|
3
|
-
export { useKeyboardInputEvent } from './useKeyboardInputEvent';
|
|
4
|
-
export { useIsFocused } from './useIsFocused';
|
|
2
|
+
export { useDateInputState } from './hooks/useDateInputState';
|
|
3
|
+
export { useKeyboardInputEvent } from './hooks/useKeyboardInputEvent';
|
|
4
|
+
export { useIsFocused } from './hooks/useIsFocused';
|
|
5
|
+
export { useSelectedState } from './hooks/useSelectedState';
|
|
6
|
+
export { useFieldCursor } from './hooks/useFieldCursor';
|
|
5
7
|
export * from './utils';
|
|
6
8
|
export type { DateInputProps } from './DateInput';
|
|
7
9
|
export default DateInput;
|
package/cjs/DateInput/index.js
CHANGED
|
@@ -6,16 +6,22 @@ exports.__esModule = true;
|
|
|
6
6
|
var _exportNames = {
|
|
7
7
|
useDateInputState: true,
|
|
8
8
|
useKeyboardInputEvent: true,
|
|
9
|
-
useIsFocused: true
|
|
9
|
+
useIsFocused: true,
|
|
10
|
+
useSelectedState: true,
|
|
11
|
+
useFieldCursor: true
|
|
10
12
|
};
|
|
11
|
-
exports.default = exports.useIsFocused = exports.useKeyboardInputEvent = exports.useDateInputState = void 0;
|
|
13
|
+
exports.default = exports.useFieldCursor = exports.useSelectedState = exports.useIsFocused = exports.useKeyboardInputEvent = exports.useDateInputState = void 0;
|
|
12
14
|
var _DateInput = _interopRequireDefault(require("./DateInput"));
|
|
13
|
-
var _useDateInputState = require("./useDateInputState");
|
|
15
|
+
var _useDateInputState = require("./hooks/useDateInputState");
|
|
14
16
|
exports.useDateInputState = _useDateInputState.useDateInputState;
|
|
15
|
-
var _useKeyboardInputEvent = require("./useKeyboardInputEvent");
|
|
17
|
+
var _useKeyboardInputEvent = require("./hooks/useKeyboardInputEvent");
|
|
16
18
|
exports.useKeyboardInputEvent = _useKeyboardInputEvent.useKeyboardInputEvent;
|
|
17
|
-
var _useIsFocused = require("./useIsFocused");
|
|
19
|
+
var _useIsFocused = require("./hooks/useIsFocused");
|
|
18
20
|
exports.useIsFocused = _useIsFocused.useIsFocused;
|
|
21
|
+
var _useSelectedState = require("./hooks/useSelectedState");
|
|
22
|
+
exports.useSelectedState = _useSelectedState.useSelectedState;
|
|
23
|
+
var _useFieldCursor = require("./hooks/useFieldCursor");
|
|
24
|
+
exports.useFieldCursor = _useFieldCursor.useFieldCursor;
|
|
19
25
|
var _utils = require("./utils");
|
|
20
26
|
Object.keys(_utils).forEach(function (key) {
|
|
21
27
|
if (key === "default" || key === "__esModule") return;
|
package/cjs/DateInput/utils.d.ts
CHANGED
|
@@ -58,6 +58,5 @@ export declare function getInputSelectedState(options: SelectedStateOptions): {
|
|
|
58
58
|
};
|
|
59
59
|
export declare function validateDateTime(type: string, value: number): boolean;
|
|
60
60
|
export declare function modifyDate(date: Date, type: string, value: number): Date;
|
|
61
|
-
export declare function isFieldFullValue(formatStr: string, value: number, pattern: string): boolean;
|
|
62
61
|
export declare function useInputSelection(input: React.RefObject<any>): (selectionStart: number, selectionEnd: number) => void;
|
|
63
62
|
export {};
|
package/cjs/DateInput/utils.js
CHANGED
|
@@ -10,7 +10,6 @@ exports.isCursorAfterMonth = isCursorAfterMonth;
|
|
|
10
10
|
exports.getInputSelectedState = getInputSelectedState;
|
|
11
11
|
exports.validateDateTime = validateDateTime;
|
|
12
12
|
exports.modifyDate = modifyDate;
|
|
13
|
-
exports.isFieldFullValue = isFieldFullValue;
|
|
14
13
|
exports.useInputSelection = useInputSelection;
|
|
15
14
|
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
16
15
|
var _dateUtils = require("../utils/dateUtils");
|
|
@@ -228,31 +227,10 @@ function modifyDate(date, type, value) {
|
|
|
228
227
|
}
|
|
229
228
|
return date;
|
|
230
229
|
}
|
|
231
|
-
function isFieldFullValue(formatStr, value, pattern) {
|
|
232
|
-
var patternGroup = getPatternGroups(formatStr, pattern);
|
|
233
|
-
if (value.toString().length === patternGroup.length) {
|
|
234
|
-
return true;
|
|
235
|
-
}
|
|
236
|
-
switch (pattern) {
|
|
237
|
-
case 'M':
|
|
238
|
-
return parseInt(value + "0") > 12;
|
|
239
|
-
case 'd':
|
|
240
|
-
return parseInt(value + "0") > 31;
|
|
241
|
-
case 'H':
|
|
242
|
-
return parseInt(value + "0") > 23;
|
|
243
|
-
case 'h':
|
|
244
|
-
return parseInt(value + "0") > 12;
|
|
245
|
-
case 'm':
|
|
246
|
-
case 's':
|
|
247
|
-
return parseInt(value + "0") > 59;
|
|
248
|
-
default:
|
|
249
|
-
return false;
|
|
250
|
-
}
|
|
251
|
-
}
|
|
252
|
-
var isTestEnvironment = typeof process !== 'undefined' && undefined === 'test';
|
|
253
230
|
function useInputSelection(input) {
|
|
254
231
|
return function setSelectionRange(selectionStart, selectionEnd) {
|
|
255
|
-
|
|
232
|
+
var isTest = input.current.dataset.test === 'true';
|
|
233
|
+
if (isTest) {
|
|
256
234
|
(0, _utils.safeSetSelection)(input.current, selectionStart, selectionEnd);
|
|
257
235
|
return;
|
|
258
236
|
}
|
|
@@ -40,13 +40,9 @@ var DateRangeInput = /*#__PURE__*/_react.default.forwardRef(function (props, ref
|
|
|
40
40
|
merge = _useClassNames.merge;
|
|
41
41
|
var classes = merge(className, withClassPrefix());
|
|
42
42
|
var inputRef = (0, _react.useRef)();
|
|
43
|
-
var
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
selectionEnd: 0
|
|
47
|
-
}),
|
|
48
|
-
selectedState = _useState[0],
|
|
49
|
-
setSelectedState = _useState[1];
|
|
43
|
+
var _useSelectedState = (0, _DateInput.useSelectedState)(),
|
|
44
|
+
selectedState = _useSelectedState.selectedState,
|
|
45
|
+
setSelectedState = _useSelectedState.setSelectedState;
|
|
50
46
|
var _useCustom = (0, _utils.useCustom)('Calendar'),
|
|
51
47
|
locale = _useCustom.locale;
|
|
52
48
|
var rangeFormatStr = "" + formatStr + character + formatStr;
|
|
@@ -55,9 +51,9 @@ var DateRangeInput = /*#__PURE__*/_react.default.forwardRef(function (props, ref
|
|
|
55
51
|
value = _useControlled[0],
|
|
56
52
|
setValue = _useControlled[1],
|
|
57
53
|
isControlled = _useControlled[2];
|
|
58
|
-
var
|
|
59
|
-
dateType =
|
|
60
|
-
setDateType =
|
|
54
|
+
var _useState = (0, _react.useState)(_utils2.DateType.Start),
|
|
55
|
+
dateType = _useState[0],
|
|
56
|
+
setDateType = _useState[1];
|
|
61
57
|
var dateInputOptions = {
|
|
62
58
|
formatStr: formatStr,
|
|
63
59
|
locale: dateLocale,
|
|
@@ -69,6 +65,10 @@ var DateRangeInput = /*#__PURE__*/_react.default.forwardRef(function (props, ref
|
|
|
69
65
|
var endDateState = (0, _DateInput.useDateInputState)((0, _extends2.default)({}, dateInputOptions, {
|
|
70
66
|
date: (value === null || value === void 0 ? void 0 : value[1]) || null
|
|
71
67
|
}));
|
|
68
|
+
var _useFieldCursor = (0, _DateInput.useFieldCursor)(formatStr, valueProp),
|
|
69
|
+
isMoveCursor = _useFieldCursor.isMoveCursor,
|
|
70
|
+
increment = _useFieldCursor.increment,
|
|
71
|
+
reset = _useFieldCursor.reset;
|
|
72
72
|
var getActiveState = function getActiveState(type) {
|
|
73
73
|
if (type === void 0) {
|
|
74
74
|
type = dateType;
|
|
@@ -122,8 +122,9 @@ var DateRangeInput = /*#__PURE__*/_react.default.forwardRef(function (props, ref
|
|
|
122
122
|
input: input,
|
|
123
123
|
direction: direction
|
|
124
124
|
}));
|
|
125
|
-
setSelectionRange(state.selectionStart, state.selectionEnd);
|
|
126
125
|
setSelectedState(state);
|
|
126
|
+
setSelectionRange(state.selectionStart, state.selectionEnd);
|
|
127
|
+
reset();
|
|
127
128
|
});
|
|
128
129
|
var onSegmentValueChange = (0, _utils.useEventCallback)(function (event) {
|
|
129
130
|
var input = event.target;
|
|
@@ -146,6 +147,7 @@ var DateRangeInput = /*#__PURE__*/_react.default.forwardRef(function (props, ref
|
|
|
146
147
|
if (!pattern) {
|
|
147
148
|
return;
|
|
148
149
|
}
|
|
150
|
+
increment();
|
|
149
151
|
var field = getActiveState().getDateField(pattern);
|
|
150
152
|
var value = parseInt(key, 10);
|
|
151
153
|
var padValue = parseInt("" + (field.value || '') + key, 10);
|
|
@@ -155,10 +157,6 @@ var DateRangeInput = /*#__PURE__*/_react.default.forwardRef(function (props, ref
|
|
|
155
157
|
if ((0, _DateInput.validateDateTime)(field.name, padValue)) {
|
|
156
158
|
newValue = padValue;
|
|
157
159
|
}
|
|
158
|
-
if (pattern === 'M') {
|
|
159
|
-
// Month cannot be less than 1.
|
|
160
|
-
newValue = Math.max(1, newValue);
|
|
161
|
-
}
|
|
162
160
|
getActiveState().setDateField(pattern, newValue, function (date) {
|
|
163
161
|
return handleChange(date, event);
|
|
164
162
|
});
|
|
@@ -174,7 +172,7 @@ var DateRangeInput = /*#__PURE__*/_react.default.forwardRef(function (props, ref
|
|
|
174
172
|
setSelectionRange(nextState.selectionStart, nextState.selectionEnd);
|
|
175
173
|
|
|
176
174
|
// If the field is full value, move the cursor to the next field
|
|
177
|
-
if ((
|
|
175
|
+
if (isMoveCursor(newValue, pattern) && input.selectionEnd !== input.value.length) {
|
|
178
176
|
onSegmentChange(event, 'right');
|
|
179
177
|
}
|
|
180
178
|
});
|
|
@@ -190,6 +188,7 @@ var DateRangeInput = /*#__PURE__*/_react.default.forwardRef(function (props, ref
|
|
|
190
188
|
getActiveState().setDateField(selectedState.selectedPattern, null, function (date) {
|
|
191
189
|
return handleChange(date, event);
|
|
192
190
|
});
|
|
191
|
+
reset();
|
|
193
192
|
}
|
|
194
193
|
});
|
|
195
194
|
var handleClick = (0, _utils.useEventCallback)(function (event) {
|
|
@@ -198,7 +197,7 @@ var DateRangeInput = /*#__PURE__*/_react.default.forwardRef(function (props, ref
|
|
|
198
197
|
return;
|
|
199
198
|
}
|
|
200
199
|
var cursorIndex = input.selectionStart === renderedValue.length ? 0 : input.selectionStart;
|
|
201
|
-
var dateType = (0, _utils2.getDateType)(renderedValue, character, cursorIndex);
|
|
200
|
+
var dateType = (0, _utils2.getDateType)(renderedValue || rangeFormatStr, character, cursorIndex);
|
|
202
201
|
var state = (0, _utils2.getInputSelectedState)((0, _extends2.default)({}, keyPressOptions, {
|
|
203
202
|
dateType: dateType,
|
|
204
203
|
selectedMonth: getActiveState(dateType).dateField.month,
|
|
@@ -108,7 +108,8 @@ var DateRangePicker = /*#__PURE__*/_react.default.forwardRef(function (props, re
|
|
|
108
108
|
prefix = _useClassNames.prefix;
|
|
109
109
|
var _useCustom = (0, _utils.useCustom)('DateRangePicker', overrideLocale),
|
|
110
110
|
locale = _useCustom.locale,
|
|
111
|
-
formatDate = _useCustom.formatDate;
|
|
111
|
+
formatDate = _useCustom.formatDate; // Default gap between two calendars, if `showOneCalendar` is set, the gap is 0
|
|
112
|
+
var calendarGap = showOneCalendar ? 0 : 1;
|
|
112
113
|
var rangeFormatStr = "" + formatStr + character + formatStr;
|
|
113
114
|
var _useControlled = (0, _utils.useControlled)(valueProp, defaultValue !== null && defaultValue !== void 0 ? defaultValue : null),
|
|
114
115
|
value = _useControlled[0],
|
|
@@ -135,7 +136,7 @@ var DateRangePicker = /*#__PURE__*/_react.default.forwardRef(function (props, re
|
|
|
135
136
|
var _useState2 = (0, _react.useState)((_ref = valueProp !== null && valueProp !== void 0 ? valueProp : defaultValue) !== null && _ref !== void 0 ? _ref : []),
|
|
136
137
|
selectedDates = _useState2[0],
|
|
137
138
|
setSelectedDates = _useState2[1]; // The date of the current hover, used to reduce the calculation of `handleMouseMove`
|
|
138
|
-
var _useState3 = (0, _react.useState)(
|
|
139
|
+
var _useState3 = (0, _react.useState)(value),
|
|
139
140
|
hoverDateRange = _useState3[0],
|
|
140
141
|
setHoverDateRange = _useState3[1]; // The displayed calendar panel is rendered based on this value.
|
|
141
142
|
var _useState4 = (0, _react.useState)((0, _utils2.getSafeCalendarDate)({
|
|
@@ -171,14 +172,14 @@ var DateRangePicker = /*#__PURE__*/_react.default.forwardRef(function (props, re
|
|
|
171
172
|
var nextValue = dateRange;
|
|
172
173
|
|
|
173
174
|
// The time should remain the same when the dates in the date range are changed.
|
|
174
|
-
if ((0, _dateUtils.shouldRenderTime)(formatStr) && dateRange !== null && dateRange !== void 0 && dateRange.length && eventName
|
|
175
|
+
if ((0, _dateUtils.shouldRenderTime)(formatStr) && dateRange !== null && dateRange !== void 0 && dateRange.length && (eventName === 'changeDate' || eventName === 'changeMonth')) {
|
|
175
176
|
var _startDate = (0, _dateUtils.copyTime)({
|
|
176
177
|
from: getCalendarDatetime('start'),
|
|
177
178
|
to: dateRange[0]
|
|
178
179
|
});
|
|
179
180
|
var _endDate = (0, _dateUtils.copyTime)({
|
|
180
181
|
from: getCalendarDatetime('end'),
|
|
181
|
-
to: dateRange.length === 1 ? (0, _dateUtils.addMonths)(_startDate,
|
|
182
|
+
to: dateRange.length === 1 ? (0, _dateUtils.addMonths)(_startDate, calendarGap) : dateRange[1]
|
|
182
183
|
});
|
|
183
184
|
nextValue = [_startDate, _endDate];
|
|
184
185
|
} else if (dateRange === null && typeof defaultCalendarValue !== 'undefined') {
|
|
@@ -188,7 +189,9 @@ var DateRangePicker = /*#__PURE__*/_react.default.forwardRef(function (props, re
|
|
|
188
189
|
var nextCalendarDate = (0, _utils2.getSafeCalendarDate)({
|
|
189
190
|
value: nextValue,
|
|
190
191
|
calendarKey: calendarKey,
|
|
191
|
-
|
|
192
|
+
// When only the month is displayed and only one calendar is displayed,
|
|
193
|
+
// there is no need to add a month and two calendar panels are allowed to display the same month
|
|
194
|
+
allowSameMonth: onlyShowMonth || showOneCalendar
|
|
192
195
|
});
|
|
193
196
|
setCalendarDate(nextCalendarDate);
|
|
194
197
|
if (onlyShowMonth && eventName === 'changeMonth') {
|
|
@@ -337,6 +340,11 @@ var DateRangePicker = /*#__PURE__*/_react.default.forwardRef(function (props, re
|
|
|
337
340
|
} else {
|
|
338
341
|
setHoverDateRange([nextSelectDates[0], nextSelectDates[0]]);
|
|
339
342
|
}
|
|
343
|
+
if (isSelectedIdle) {
|
|
344
|
+
setActiveCalendarKey('end');
|
|
345
|
+
} else {
|
|
346
|
+
setActiveCalendarKey('start');
|
|
347
|
+
}
|
|
340
348
|
setSelectedDates(nextSelectDates);
|
|
341
349
|
setCalendarDateRange({
|
|
342
350
|
dateRange: nextSelectDates,
|
|
@@ -408,7 +416,7 @@ var DateRangePicker = /*#__PURE__*/_react.default.forwardRef(function (props, re
|
|
|
408
416
|
if (value && value.length) {
|
|
409
417
|
var _startDate3 = value[0],
|
|
410
418
|
endData = value[1];
|
|
411
|
-
nextCalendarDate = [_startDate3, (0, _dateUtils.isSameMonth)(_startDate3, endData) ? (0, _dateUtils.addMonths)(endData,
|
|
419
|
+
nextCalendarDate = [_startDate3, (0, _dateUtils.isSameMonth)(_startDate3, endData) ? (0, _dateUtils.addMonths)(endData, calendarGap) : endData];
|
|
412
420
|
} else {
|
|
413
421
|
// Reset the date on the calendar to the default date
|
|
414
422
|
nextCalendarDate = (0, _utils2.getSafeCalendarDate)({
|
|
@@ -737,11 +745,11 @@ var DateRangePicker = /*#__PURE__*/_react.default.forwardRef(function (props, re
|
|
|
737
745
|
format: formatStr,
|
|
738
746
|
placeholder: placeholder ? placeholder : rangeFormatStr,
|
|
739
747
|
disabled: disabled,
|
|
740
|
-
onChange: handleInputChange,
|
|
741
748
|
readOnly: readOnly || !editable || loading,
|
|
742
749
|
plaintext: plaintext,
|
|
743
|
-
|
|
744
|
-
|
|
750
|
+
htmlSize: getInputHtmlSize(),
|
|
751
|
+
onChange: handleInputChange,
|
|
752
|
+
onKeyDown: handleInputKeyDown
|
|
745
753
|
})), /*#__PURE__*/_react.default.createElement(_Picker.PickerIndicator, {
|
|
746
754
|
loading: loading,
|
|
747
755
|
caretAs: caretAs,
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { DateRange } from './types';
|
|
2
|
-
export declare function getSafeCalendarDate({ value, calendarKey,
|
|
2
|
+
export declare function getSafeCalendarDate({ value, calendarKey, allowSameMonth }: {
|
|
3
3
|
value: [] | [Date] | [Date, Date] | null;
|
|
4
4
|
calendarKey?: 'start' | 'end';
|
|
5
|
-
|
|
5
|
+
allowSameMonth?: boolean;
|
|
6
6
|
}): DateRange;
|
|
7
7
|
export declare const isSameRange: (source: DateRange | null, dest: DateRange | null, format: string) => boolean;
|
|
8
8
|
export declare const getMonthHoverRange: (date: Date) => DateRange;
|
|
@@ -10,10 +10,10 @@ function getSafeCalendarDate(_ref) {
|
|
|
10
10
|
var value = _ref.value,
|
|
11
11
|
_ref$calendarKey = _ref.calendarKey,
|
|
12
12
|
calendarKey = _ref$calendarKey === void 0 ? 'start' : _ref$calendarKey,
|
|
13
|
-
|
|
13
|
+
allowSameMonth = _ref.allowSameMonth;
|
|
14
14
|
// Update calendarDate if the value is not null
|
|
15
15
|
value = (_value = value) !== null && _value !== void 0 ? _value : [];
|
|
16
|
-
var gap =
|
|
16
|
+
var gap = allowSameMonth ? 0 : 1;
|
|
17
17
|
if (value[0] && value[1]) {
|
|
18
18
|
var diffMonth = (0, _dateUtils.differenceInCalendarMonths)(value[1], value[0]);
|
|
19
19
|
if (calendarKey === 'start') {
|
|
@@ -4487,6 +4487,7 @@ label:hover .rs-checkbox-control .rs-checkbox-inner::before {
|
|
|
4487
4487
|
.rs-picker-date .rs-input-group-addon {
|
|
4488
4488
|
color: #8e8e93;
|
|
4489
4489
|
color: var(--rs-text-secondary);
|
|
4490
|
+
cursor: pointer;
|
|
4490
4491
|
}
|
|
4491
4492
|
.rs-picker-date .rs-input-group-addon .rs-btn-close {
|
|
4492
4493
|
padding: 0;
|
|
@@ -4627,6 +4628,7 @@ label:hover .rs-checkbox-control .rs-checkbox-inner::before {
|
|
|
4627
4628
|
.rs-picker-daterange .rs-input-group-addon {
|
|
4628
4629
|
color: #8e8e93;
|
|
4629
4630
|
color: var(--rs-text-secondary);
|
|
4631
|
+
cursor: pointer;
|
|
4630
4632
|
}
|
|
4631
4633
|
.rs-picker-daterange .rs-input-group-addon .rs-btn-close {
|
|
4632
4634
|
padding: 0;
|
|
@@ -4662,9 +4664,6 @@ label:hover .rs-checkbox-control .rs-checkbox-inner::before {
|
|
|
4662
4664
|
.rs-picker-popup .rs-calendar-month-dropdown-list {
|
|
4663
4665
|
width: 185px;
|
|
4664
4666
|
}
|
|
4665
|
-
.rs-picker-popup .rs-picker-daterange-panel-show-one-calendar .rs-picker-toolbar {
|
|
4666
|
-
max-width: 255px;
|
|
4667
|
-
}
|
|
4668
4667
|
.rs-picker-popup .rs-picker-daterange-panel-show-one-calendar .rs-picker-toolbar-ranges {
|
|
4669
4668
|
width: 190px;
|
|
4670
4669
|
}
|
|
@@ -4703,6 +4702,8 @@ label:hover .rs-checkbox-control .rs-checkbox-inner::before {
|
|
|
4703
4702
|
bottom: -1px;
|
|
4704
4703
|
border-bottom: 2px solid #3498ff;
|
|
4705
4704
|
right: 0;
|
|
4705
|
+
-webkit-transition: right 0.3s;
|
|
4706
|
+
transition: right 0.3s;
|
|
4706
4707
|
}
|
|
4707
4708
|
.rs-picker-daterange-header.rs-picker-tab-active-end::after {
|
|
4708
4709
|
right: 50%;
|
|
@@ -13191,7 +13192,7 @@ textarea.rs-inline-edit-sm .rs-plaintext {
|
|
|
13191
13192
|
}
|
|
13192
13193
|
.rs-slider-disabled .rs-slider-bar,
|
|
13193
13194
|
.rs-slider-disabled .rs-slider-handle::before {
|
|
13194
|
-
|
|
13195
|
+
pointer-events: none;
|
|
13195
13196
|
}
|
|
13196
13197
|
.rs-slider-with-mark:not(.rs-slider-vertical) {
|
|
13197
13198
|
margin-bottom: 29px;
|
|
@@ -14471,6 +14472,7 @@ textarea.rs-inline-edit-sm .rs-plaintext {
|
|
|
14471
14472
|
}
|
|
14472
14473
|
.rs-toggle {
|
|
14473
14474
|
position: relative;
|
|
14475
|
+
display: inline-block;
|
|
14474
14476
|
}
|
|
14475
14477
|
.rs-toggle .rs-toggle-loader {
|
|
14476
14478
|
width: 18px;
|
|
@@ -14596,7 +14598,7 @@ textarea.rs-inline-edit-sm .rs-plaintext {
|
|
|
14596
14598
|
-webkit-box-shadow: inset 0 0 0 1px var(--rs-toggle-disabled-thumb);
|
|
14597
14599
|
box-shadow: inset 0 0 0 1px #fff;
|
|
14598
14600
|
box-shadow: inset 0 0 0 1px var(--rs-toggle-disabled-thumb);
|
|
14599
|
-
|
|
14601
|
+
pointer-events: none;
|
|
14600
14602
|
}
|
|
14601
14603
|
.rs-toggle-checked .rs-toggle-presentation {
|
|
14602
14604
|
background-color: #3498ff;
|
|
@@ -14620,7 +14622,12 @@ textarea.rs-inline-edit-sm .rs-plaintext {
|
|
|
14620
14622
|
display: none;
|
|
14621
14623
|
}
|
|
14622
14624
|
.rs-toggle-inner {
|
|
14623
|
-
display:
|
|
14625
|
+
display: -webkit-box;
|
|
14626
|
+
display: -ms-flexbox;
|
|
14627
|
+
display: flex;
|
|
14628
|
+
-webkit-box-align: center;
|
|
14629
|
+
-ms-flex-align: center;
|
|
14630
|
+
align-items: center;
|
|
14624
14631
|
-webkit-transition: margin 0.15s ease-out;
|
|
14625
14632
|
transition: margin 0.15s ease-out;
|
|
14626
14633
|
}
|