rsuite 5.60.1 → 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 +12 -0
- package/DatePicker/styles/index.css +1 -0
- package/DatePicker/styles/index.less +1 -0
- package/DateRangePicker/styles/index.css +2 -0
- package/DateRangePicker/styles/index.less +1 -0
- 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 +6 -1
- package/Toggle/styles/index.less +2 -1
- 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/dist/rsuite-no-reset-rtl.css +9 -2
- 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 +9 -2
- package/dist/rsuite-no-reset.min.css +1 -1
- package/dist/rsuite-no-reset.min.css.map +1 -1
- package/dist/rsuite-rtl.css +9 -2
- package/dist/rsuite-rtl.min.css +1 -1
- package/dist/rsuite-rtl.min.css.map +1 -1
- package/dist/rsuite.css +9 -2
- package/dist/rsuite.js +46 -24
- 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/package.json +2 -2
- /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
|
@@ -126,7 +126,9 @@ export var useDateField = function useDateField(format, localize, date) {
|
|
|
126
126
|
if (typeof value === 'number') {
|
|
127
127
|
value = padNumber(value, pattern.length);
|
|
128
128
|
}
|
|
129
|
-
|
|
129
|
+
if (typeof value !== 'undefined') {
|
|
130
|
+
str = str.replace(pattern, value);
|
|
131
|
+
}
|
|
130
132
|
}
|
|
131
133
|
});
|
|
132
134
|
return str;
|
|
@@ -1,14 +1,16 @@
|
|
|
1
1
|
'use client';
|
|
2
2
|
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
3
3
|
import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
|
|
4
|
-
import React, {
|
|
4
|
+
import React, { useRef, useMemo } from 'react';
|
|
5
5
|
import PropTypes from 'prop-types';
|
|
6
6
|
import Input from '../Input';
|
|
7
7
|
import { mergeRefs, useCustom, useControlled, useEventCallback } from '../utils';
|
|
8
|
-
import { getInputSelectedState, validateDateTime,
|
|
9
|
-
import useDateInputState from './useDateInputState';
|
|
10
|
-
import useKeyboardInputEvent from './useKeyboardInputEvent';
|
|
11
|
-
import useIsFocused from './useIsFocused';
|
|
8
|
+
import { getInputSelectedState, validateDateTime, useInputSelection } from './utils';
|
|
9
|
+
import useDateInputState from './hooks/useDateInputState';
|
|
10
|
+
import useKeyboardInputEvent from './hooks/useKeyboardInputEvent';
|
|
11
|
+
import useIsFocused from './hooks/useIsFocused';
|
|
12
|
+
import useFieldCursor from './hooks/useFieldCursor';
|
|
13
|
+
import useSelectedState from './hooks/useSelectedState';
|
|
12
14
|
/**
|
|
13
15
|
* The DateInput component lets users select a date with the keyboard.
|
|
14
16
|
* @version 5.58.0
|
|
@@ -26,13 +28,9 @@ var DateInput = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
26
28
|
onFocus = props.onFocus,
|
|
27
29
|
rest = _objectWithoutPropertiesLoose(props, ["format", "value", "defaultValue", "placeholder", "onChange", "onKeyDown", "onBlur", "onFocus"]);
|
|
28
30
|
var inputRef = useRef();
|
|
29
|
-
var
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
selectionEnd: 0
|
|
33
|
-
}),
|
|
34
|
-
selectedState = _useState[0],
|
|
35
|
-
setSelectedState = _useState[1];
|
|
31
|
+
var _useSelectedState = useSelectedState(),
|
|
32
|
+
selectedState = _useSelectedState.selectedState,
|
|
33
|
+
setSelectedState = _useSelectedState.setSelectedState;
|
|
36
34
|
var _useCustom = useCustom('Calendar'),
|
|
37
35
|
locale = _useCustom.locale;
|
|
38
36
|
var dateLocale = locale.dateLocale;
|
|
@@ -52,6 +50,10 @@ var DateInput = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
52
50
|
getDateField = _useDateInputState.getDateField,
|
|
53
51
|
toDateString = _useDateInputState.toDateString,
|
|
54
52
|
isEmptyValue = _useDateInputState.isEmptyValue;
|
|
53
|
+
var _useFieldCursor = useFieldCursor(formatStr, valueProp),
|
|
54
|
+
isMoveCursor = _useFieldCursor.isMoveCursor,
|
|
55
|
+
increment = _useFieldCursor.increment,
|
|
56
|
+
reset = _useFieldCursor.reset;
|
|
55
57
|
var dateString = toDateString();
|
|
56
58
|
var keyPressOptions = useMemo(function () {
|
|
57
59
|
return {
|
|
@@ -74,8 +76,9 @@ var DateInput = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
74
76
|
input: input,
|
|
75
77
|
direction: direction
|
|
76
78
|
}));
|
|
77
|
-
setSelectionRange(state.selectionStart, state.selectionEnd);
|
|
78
79
|
setSelectedState(state);
|
|
80
|
+
setSelectionRange(state.selectionStart, state.selectionEnd);
|
|
81
|
+
reset();
|
|
79
82
|
});
|
|
80
83
|
var onSegmentValueChange = useEventCallback(function (event) {
|
|
81
84
|
var input = event.target;
|
|
@@ -98,6 +101,7 @@ var DateInput = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
98
101
|
if (!pattern) {
|
|
99
102
|
return;
|
|
100
103
|
}
|
|
104
|
+
increment();
|
|
101
105
|
var field = getDateField(pattern);
|
|
102
106
|
var value = parseInt(key, 10);
|
|
103
107
|
var padValue = parseInt("" + (field.value || '') + key, 10);
|
|
@@ -107,10 +111,6 @@ var DateInput = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
107
111
|
if (validateDateTime(field.name, padValue)) {
|
|
108
112
|
newValue = padValue;
|
|
109
113
|
}
|
|
110
|
-
if (pattern === 'M') {
|
|
111
|
-
// Month cannot be less than 1.
|
|
112
|
-
newValue = Math.max(1, newValue);
|
|
113
|
-
}
|
|
114
114
|
setDateField(pattern, newValue, function (date) {
|
|
115
115
|
return handleChange(date, event);
|
|
116
116
|
});
|
|
@@ -126,7 +126,7 @@ var DateInput = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
126
126
|
setSelectionRange(nextState.selectionStart, nextState.selectionEnd);
|
|
127
127
|
|
|
128
128
|
// If the field is full value, move the cursor to the next field
|
|
129
|
-
if (
|
|
129
|
+
if (isMoveCursor(newValue, pattern) && input.selectionEnd !== input.value.length) {
|
|
130
130
|
onSegmentChange(event, 'right');
|
|
131
131
|
}
|
|
132
132
|
});
|
|
@@ -142,6 +142,7 @@ var DateInput = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
142
142
|
setDateField(selectedState.selectedPattern, null, function (date) {
|
|
143
143
|
return handleChange(date, event);
|
|
144
144
|
});
|
|
145
|
+
reset();
|
|
145
146
|
}
|
|
146
147
|
});
|
|
147
148
|
var handleClick = useEventCallback(function (event) {
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
'use client';
|
|
2
2
|
import { useEffect } from 'react';
|
|
3
3
|
import startCase from 'lodash/startCase';
|
|
4
|
-
import { addDays, addMonths, addYears, addHours, addMinutes, addSeconds, format, isLastDayOfMonth, lastDayOfMonth, isValid } from '
|
|
5
|
-
import { useDateField, patternMap } from '
|
|
4
|
+
import { addDays, addMonths, addYears, addHours, addMinutes, addSeconds, format, isLastDayOfMonth, lastDayOfMonth, isValid } from '../../utils/dateUtils';
|
|
5
|
+
import { useDateField, patternMap } from '../DateField';
|
|
6
6
|
export function useDateInputState(_ref) {
|
|
7
7
|
var formatStr = _ref.formatStr,
|
|
8
8
|
locale = _ref.locale,
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
import { useCallback, useRef } from 'react';
|
|
3
|
+
import { getPatternGroups } from '../utils';
|
|
4
|
+
import useUpdateEffect from '../../utils/useUpdateEffect';
|
|
5
|
+
export function useFieldCursor(format, value) {
|
|
6
|
+
var typeCount = useRef(0);
|
|
7
|
+
var increment = function increment() {
|
|
8
|
+
typeCount.current += 1;
|
|
9
|
+
};
|
|
10
|
+
var reset = function reset() {
|
|
11
|
+
typeCount.current = 0;
|
|
12
|
+
};
|
|
13
|
+
var isMoveCursor = useCallback(function (value, pattern) {
|
|
14
|
+
var patternGroup = getPatternGroups(format, pattern);
|
|
15
|
+
if (value.toString().length === patternGroup.length) {
|
|
16
|
+
return true;
|
|
17
|
+
} else if (pattern === 'y' && typeCount.current === 4) {
|
|
18
|
+
return true;
|
|
19
|
+
} else if (pattern !== 'y' && typeCount.current === 2) {
|
|
20
|
+
return true;
|
|
21
|
+
}
|
|
22
|
+
switch (pattern) {
|
|
23
|
+
case 'M':
|
|
24
|
+
return parseInt(value + "0") > 12;
|
|
25
|
+
case 'd':
|
|
26
|
+
return parseInt(value + "0") > 31;
|
|
27
|
+
case 'H':
|
|
28
|
+
return parseInt(value + "0") > 23;
|
|
29
|
+
case 'h':
|
|
30
|
+
return parseInt(value + "0") > 12;
|
|
31
|
+
case 'm':
|
|
32
|
+
case 's':
|
|
33
|
+
return parseInt(value + "0") > 59;
|
|
34
|
+
default:
|
|
35
|
+
return false;
|
|
36
|
+
}
|
|
37
|
+
}, [format]);
|
|
38
|
+
useUpdateEffect(function () {
|
|
39
|
+
if (!value) {
|
|
40
|
+
reset();
|
|
41
|
+
}
|
|
42
|
+
}, [value]);
|
|
43
|
+
return {
|
|
44
|
+
increment: increment,
|
|
45
|
+
reset: reset,
|
|
46
|
+
isMoveCursor: isMoveCursor
|
|
47
|
+
};
|
|
48
|
+
}
|
|
49
|
+
export default useFieldCursor;
|
|
@@ -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,17 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
import { useState } from 'react';
|
|
3
|
+
var defaultSelectedState = {
|
|
4
|
+
selectedPattern: 'y',
|
|
5
|
+
selectionStart: 0,
|
|
6
|
+
selectionEnd: 0
|
|
7
|
+
};
|
|
8
|
+
export function useSelectedState() {
|
|
9
|
+
var _useState = useState(defaultSelectedState),
|
|
10
|
+
selectedState = _useState[0],
|
|
11
|
+
setSelectedState = _useState[1];
|
|
12
|
+
return {
|
|
13
|
+
selectedState: selectedState,
|
|
14
|
+
setSelectedState: setSelectedState
|
|
15
|
+
};
|
|
16
|
+
}
|
|
17
|
+
export default useSelectedState;
|
package/esm/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/esm/DateInput/index.js
CHANGED
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
'use client';
|
|
2
2
|
import DateInput from './DateInput';
|
|
3
|
-
export { useDateInputState } from './useDateInputState';
|
|
4
|
-
export { useKeyboardInputEvent } from './useKeyboardInputEvent';
|
|
5
|
-
export { useIsFocused } from './useIsFocused';
|
|
3
|
+
export { useDateInputState } from './hooks/useDateInputState';
|
|
4
|
+
export { useKeyboardInputEvent } from './hooks/useKeyboardInputEvent';
|
|
5
|
+
export { useIsFocused } from './hooks/useIsFocused';
|
|
6
|
+
export { useSelectedState } from './hooks/useSelectedState';
|
|
7
|
+
export { useFieldCursor } from './hooks/useFieldCursor';
|
|
6
8
|
export * from './utils';
|
|
7
9
|
export default DateInput;
|
package/esm/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/esm/DateInput/utils.js
CHANGED
|
@@ -215,31 +215,10 @@ export function modifyDate(date, type, value) {
|
|
|
215
215
|
}
|
|
216
216
|
return date;
|
|
217
217
|
}
|
|
218
|
-
export function isFieldFullValue(formatStr, value, pattern) {
|
|
219
|
-
var patternGroup = getPatternGroups(formatStr, pattern);
|
|
220
|
-
if (value.toString().length === patternGroup.length) {
|
|
221
|
-
return true;
|
|
222
|
-
}
|
|
223
|
-
switch (pattern) {
|
|
224
|
-
case 'M':
|
|
225
|
-
return parseInt(value + "0") > 12;
|
|
226
|
-
case 'd':
|
|
227
|
-
return parseInt(value + "0") > 31;
|
|
228
|
-
case 'H':
|
|
229
|
-
return parseInt(value + "0") > 23;
|
|
230
|
-
case 'h':
|
|
231
|
-
return parseInt(value + "0") > 12;
|
|
232
|
-
case 'm':
|
|
233
|
-
case 's':
|
|
234
|
-
return parseInt(value + "0") > 59;
|
|
235
|
-
default:
|
|
236
|
-
return false;
|
|
237
|
-
}
|
|
238
|
-
}
|
|
239
|
-
var isTestEnvironment = typeof process !== 'undefined' && undefined === 'test';
|
|
240
218
|
export function useInputSelection(input) {
|
|
241
219
|
return function setSelectionRange(selectionStart, selectionEnd) {
|
|
242
|
-
|
|
220
|
+
var isTest = input.current.dataset.test === 'true';
|
|
221
|
+
if (isTest) {
|
|
243
222
|
safeSetSelection(input.current, selectionStart, selectionEnd);
|
|
244
223
|
return;
|
|
245
224
|
}
|
|
@@ -5,7 +5,7 @@ import React, { useState, useRef, useMemo } from 'react';
|
|
|
5
5
|
import PropTypes from 'prop-types';
|
|
6
6
|
import Input from '../Input';
|
|
7
7
|
import { mergeRefs, useClassNames, useCustom, useControlled, useEventCallback } from '../utils';
|
|
8
|
-
import { validateDateTime,
|
|
8
|
+
import { validateDateTime, useDateInputState, useInputSelection, useKeyboardInputEvent, useIsFocused, useSelectedState, useFieldCursor } from '../DateInput';
|
|
9
9
|
import { getInputSelectedState, DateType, getDateType, isSwitchDateType } from './utils';
|
|
10
10
|
/**
|
|
11
11
|
* The DateRangeInput component lets users select a date with the keyboard.
|
|
@@ -34,13 +34,9 @@ var DateRangeInput = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
34
34
|
merge = _useClassNames.merge;
|
|
35
35
|
var classes = merge(className, withClassPrefix());
|
|
36
36
|
var inputRef = useRef();
|
|
37
|
-
var
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
selectionEnd: 0
|
|
41
|
-
}),
|
|
42
|
-
selectedState = _useState[0],
|
|
43
|
-
setSelectedState = _useState[1];
|
|
37
|
+
var _useSelectedState = useSelectedState(),
|
|
38
|
+
selectedState = _useSelectedState.selectedState,
|
|
39
|
+
setSelectedState = _useSelectedState.setSelectedState;
|
|
44
40
|
var _useCustom = useCustom('Calendar'),
|
|
45
41
|
locale = _useCustom.locale;
|
|
46
42
|
var rangeFormatStr = "" + formatStr + character + formatStr;
|
|
@@ -49,9 +45,9 @@ var DateRangeInput = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
49
45
|
value = _useControlled[0],
|
|
50
46
|
setValue = _useControlled[1],
|
|
51
47
|
isControlled = _useControlled[2];
|
|
52
|
-
var
|
|
53
|
-
dateType =
|
|
54
|
-
setDateType =
|
|
48
|
+
var _useState = useState(DateType.Start),
|
|
49
|
+
dateType = _useState[0],
|
|
50
|
+
setDateType = _useState[1];
|
|
55
51
|
var dateInputOptions = {
|
|
56
52
|
formatStr: formatStr,
|
|
57
53
|
locale: dateLocale,
|
|
@@ -63,6 +59,10 @@ var DateRangeInput = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
63
59
|
var endDateState = useDateInputState(_extends({}, dateInputOptions, {
|
|
64
60
|
date: (value === null || value === void 0 ? void 0 : value[1]) || null
|
|
65
61
|
}));
|
|
62
|
+
var _useFieldCursor = useFieldCursor(formatStr, valueProp),
|
|
63
|
+
isMoveCursor = _useFieldCursor.isMoveCursor,
|
|
64
|
+
increment = _useFieldCursor.increment,
|
|
65
|
+
reset = _useFieldCursor.reset;
|
|
66
66
|
var getActiveState = function getActiveState(type) {
|
|
67
67
|
if (type === void 0) {
|
|
68
68
|
type = dateType;
|
|
@@ -116,8 +116,9 @@ var DateRangeInput = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
116
116
|
input: input,
|
|
117
117
|
direction: direction
|
|
118
118
|
}));
|
|
119
|
-
setSelectionRange(state.selectionStart, state.selectionEnd);
|
|
120
119
|
setSelectedState(state);
|
|
120
|
+
setSelectionRange(state.selectionStart, state.selectionEnd);
|
|
121
|
+
reset();
|
|
121
122
|
});
|
|
122
123
|
var onSegmentValueChange = useEventCallback(function (event) {
|
|
123
124
|
var input = event.target;
|
|
@@ -140,6 +141,7 @@ var DateRangeInput = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
140
141
|
if (!pattern) {
|
|
141
142
|
return;
|
|
142
143
|
}
|
|
144
|
+
increment();
|
|
143
145
|
var field = getActiveState().getDateField(pattern);
|
|
144
146
|
var value = parseInt(key, 10);
|
|
145
147
|
var padValue = parseInt("" + (field.value || '') + key, 10);
|
|
@@ -149,10 +151,6 @@ var DateRangeInput = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
149
151
|
if (validateDateTime(field.name, padValue)) {
|
|
150
152
|
newValue = padValue;
|
|
151
153
|
}
|
|
152
|
-
if (pattern === 'M') {
|
|
153
|
-
// Month cannot be less than 1.
|
|
154
|
-
newValue = Math.max(1, newValue);
|
|
155
|
-
}
|
|
156
154
|
getActiveState().setDateField(pattern, newValue, function (date) {
|
|
157
155
|
return handleChange(date, event);
|
|
158
156
|
});
|
|
@@ -168,7 +166,7 @@ var DateRangeInput = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
168
166
|
setSelectionRange(nextState.selectionStart, nextState.selectionEnd);
|
|
169
167
|
|
|
170
168
|
// If the field is full value, move the cursor to the next field
|
|
171
|
-
if (
|
|
169
|
+
if (isMoveCursor(newValue, pattern) && input.selectionEnd !== input.value.length) {
|
|
172
170
|
onSegmentChange(event, 'right');
|
|
173
171
|
}
|
|
174
172
|
});
|
|
@@ -184,6 +182,7 @@ var DateRangeInput = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
184
182
|
getActiveState().setDateField(selectedState.selectedPattern, null, function (date) {
|
|
185
183
|
return handleChange(date, event);
|
|
186
184
|
});
|
|
185
|
+
reset();
|
|
187
186
|
}
|
|
188
187
|
});
|
|
189
188
|
var handleClick = useEventCallback(function (event) {
|
|
@@ -192,7 +191,7 @@ var DateRangeInput = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
192
191
|
return;
|
|
193
192
|
}
|
|
194
193
|
var cursorIndex = input.selectionStart === renderedValue.length ? 0 : input.selectionStart;
|
|
195
|
-
var dateType = getDateType(renderedValue, character, cursorIndex);
|
|
194
|
+
var dateType = getDateType(renderedValue || rangeFormatStr, character, cursorIndex);
|
|
196
195
|
var state = getInputSelectedState(_extends({}, keyPressOptions, {
|
|
197
196
|
dateType: dateType,
|
|
198
197
|
selectedMonth: getActiveState(dateType).dateField.month,
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "rsuite",
|
|
3
|
-
"version": "5.60.
|
|
3
|
+
"version": "5.60.2",
|
|
4
4
|
"description": "A suite of react components",
|
|
5
5
|
"main": "cjs/index.js",
|
|
6
6
|
"module": "esm/index.js",
|
|
@@ -17,7 +17,7 @@
|
|
|
17
17
|
"component",
|
|
18
18
|
"react-component"
|
|
19
19
|
],
|
|
20
|
-
"author": "
|
|
20
|
+
"author": "React Suite Team",
|
|
21
21
|
"license": "MIT",
|
|
22
22
|
"repository": {
|
|
23
23
|
"type": "git",
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|