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.
Files changed (63) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/DatePicker/styles/index.css +1 -0
  3. package/DatePicker/styles/index.less +1 -0
  4. package/DateRangePicker/styles/index.css +2 -0
  5. package/DateRangePicker/styles/index.less +1 -0
  6. package/LICENSE +1 -1
  7. package/README.md +70 -89
  8. package/RangeSlider/styles/index.css +1 -1
  9. package/Slider/styles/index.css +1 -1
  10. package/Slider/styles/index.less +1 -1
  11. package/Toggle/styles/index.css +6 -1
  12. package/Toggle/styles/index.less +2 -1
  13. package/cjs/DateInput/DateField.js +3 -1
  14. package/cjs/DateInput/DateInput.js +17 -16
  15. package/cjs/DateInput/{useDateInputState.d.ts → hooks/useDateInputState.d.ts} +1 -1
  16. package/cjs/DateInput/{useDateInputState.js → hooks/useDateInputState.js} +2 -2
  17. package/cjs/DateInput/hooks/useFieldCursor.d.ts +6 -0
  18. package/cjs/DateInput/hooks/useFieldCursor.js +56 -0
  19. package/cjs/DateInput/hooks/useSelectedState.d.ts +14 -0
  20. package/cjs/DateInput/hooks/useSelectedState.js +23 -0
  21. package/cjs/DateInput/index.d.ts +5 -3
  22. package/cjs/DateInput/index.js +11 -5
  23. package/cjs/DateInput/utils.d.ts +0 -1
  24. package/cjs/DateInput/utils.js +2 -24
  25. package/cjs/DateRangeInput/DateRangeInput.js +16 -17
  26. package/dist/rsuite-no-reset-rtl.css +9 -2
  27. package/dist/rsuite-no-reset-rtl.min.css +1 -1
  28. package/dist/rsuite-no-reset-rtl.min.css.map +1 -1
  29. package/dist/rsuite-no-reset.css +9 -2
  30. package/dist/rsuite-no-reset.min.css +1 -1
  31. package/dist/rsuite-no-reset.min.css.map +1 -1
  32. package/dist/rsuite-rtl.css +9 -2
  33. package/dist/rsuite-rtl.min.css +1 -1
  34. package/dist/rsuite-rtl.min.css.map +1 -1
  35. package/dist/rsuite.css +9 -2
  36. package/dist/rsuite.js +46 -24
  37. package/dist/rsuite.js.map +1 -1
  38. package/dist/rsuite.min.css +1 -1
  39. package/dist/rsuite.min.css.map +1 -1
  40. package/dist/rsuite.min.js +1 -1
  41. package/dist/rsuite.min.js.map +1 -1
  42. package/esm/DateInput/DateField.js +3 -1
  43. package/esm/DateInput/DateInput.js +19 -18
  44. package/esm/DateInput/{useDateInputState.d.ts → hooks/useDateInputState.d.ts} +1 -1
  45. package/esm/DateInput/{useDateInputState.js → hooks/useDateInputState.js} +2 -2
  46. package/esm/DateInput/hooks/useFieldCursor.d.ts +6 -0
  47. package/esm/DateInput/hooks/useFieldCursor.js +49 -0
  48. package/esm/DateInput/hooks/useSelectedState.d.ts +14 -0
  49. package/esm/DateInput/hooks/useSelectedState.js +17 -0
  50. package/esm/DateInput/index.d.ts +5 -3
  51. package/esm/DateInput/index.js +5 -3
  52. package/esm/DateInput/utils.d.ts +0 -1
  53. package/esm/DateInput/utils.js +2 -23
  54. package/esm/DateRangeInput/DateRangeInput.js +17 -18
  55. package/package.json +2 -2
  56. /package/cjs/DateInput/{useIsFocused.d.ts → hooks/useIsFocused.d.ts} +0 -0
  57. /package/cjs/DateInput/{useIsFocused.js → hooks/useIsFocused.js} +0 -0
  58. /package/cjs/DateInput/{useKeyboardInputEvent.d.ts → hooks/useKeyboardInputEvent.d.ts} +0 -0
  59. /package/cjs/DateInput/{useKeyboardInputEvent.js → hooks/useKeyboardInputEvent.js} +0 -0
  60. /package/esm/DateInput/{useIsFocused.d.ts → hooks/useIsFocused.d.ts} +0 -0
  61. /package/esm/DateInput/{useIsFocused.js → hooks/useIsFocused.js} +0 -0
  62. /package/esm/DateInput/{useKeyboardInputEvent.d.ts → hooks/useKeyboardInputEvent.d.ts} +0 -0
  63. /package/esm/DateInput/{useKeyboardInputEvent.js → hooks/useKeyboardInputEvent.js} +0 -0
@@ -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
- if (isTestEnvironment) {
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 _useState = (0, _react.useState)({
44
- selectedPattern: 'y',
45
- selectionStart: 0,
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 _useState2 = (0, _react.useState)(_utils2.DateType.Start),
59
- dateType = _useState2[0],
60
- setDateType = _useState2[1];
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 ((0, _DateInput.isFieldFullValue)(formatStr, newValue, pattern) && input.selectionEnd !== input.value.length) {
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,
@@ -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;
@@ -13190,7 +13192,7 @@ textarea.rs-inline-edit-sm .rs-plaintext {
13190
13192
  }
13191
13193
  .rs-slider-disabled .rs-slider-bar,
13192
13194
  .rs-slider-disabled .rs-slider-handle::before {
13193
- cursor: not-allowed;
13195
+ pointer-events: none;
13194
13196
  }
13195
13197
  .rs-slider-with-mark:not(.rs-slider-vertical) {
13196
13198
  margin-bottom: 29px;
@@ -14620,7 +14622,12 @@ textarea.rs-inline-edit-sm .rs-plaintext {
14620
14622
  display: none;
14621
14623
  }
14622
14624
  .rs-toggle-inner {
14623
- display: block;
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
  }