rsuite 5.49.0 → 5.50.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.
Files changed (115) hide show
  1. package/CHANGELOG.md +13 -0
  2. package/Cascader/styles/index.less +4 -4
  3. package/DateRangePicker/styles/index.less +15 -5
  4. package/Dropdown/styles/index.less +5 -4
  5. package/Dropdown/styles/mixin.less +0 -11
  6. package/Picker/styles/index.less +31 -24
  7. package/Picker/styles/mixin.less +17 -13
  8. package/README.md +4 -4
  9. package/TagInput/styles/index.less +1 -1
  10. package/cjs/AutoComplete/AutoComplete.js +25 -26
  11. package/cjs/Calendar/Calendar.d.ts +5 -1
  12. package/cjs/Calendar/CalendarContainer.d.ts +5 -1
  13. package/cjs/Cascader/Cascader.js +46 -48
  14. package/cjs/CheckPicker/CheckPicker.d.ts +2 -2
  15. package/cjs/CheckPicker/CheckPicker.js +33 -36
  16. package/cjs/CheckTreePicker/CheckTreePicker.js +61 -64
  17. package/cjs/DatePicker/DatePicker.d.ts +5 -1
  18. package/cjs/DatePicker/DatePicker.js +2 -4
  19. package/cjs/DatePicker/Toolbar.js +2 -1
  20. package/cjs/DateRangeInput/DateRangeInput.js +2 -2
  21. package/cjs/DateRangePicker/Calendar.js +24 -23
  22. package/cjs/DateRangePicker/DateRangePicker.d.ts +18 -4
  23. package/cjs/DateRangePicker/DateRangePicker.js +239 -201
  24. package/cjs/DateRangePicker/types.d.ts +11 -3
  25. package/cjs/DateRangePicker/utils.d.ts +2 -1
  26. package/cjs/DateRangePicker/utils.js +7 -5
  27. package/cjs/FormControl/FormControl.d.ts +11 -1
  28. package/cjs/FormControl/FormControl.js +6 -5
  29. package/cjs/InputPicker/InputPicker.js +62 -63
  30. package/cjs/MultiCascader/MultiCascader.js +40 -42
  31. package/cjs/{DatePicker → Picker}/PickerIndicator.d.ts +1 -1
  32. package/cjs/{DatePicker → Picker}/PickerIndicator.js +2 -1
  33. package/cjs/{DatePicker → Picker}/PickerLabel.d.ts +1 -1
  34. package/cjs/Picker/PickerToggle.d.ts +17 -22
  35. package/cjs/Picker/PickerToggle.js +52 -177
  36. package/cjs/Picker/index.d.ts +3 -0
  37. package/cjs/Picker/index.js +10 -1
  38. package/cjs/Picker/usePickerRef.d.ts +3 -1
  39. package/cjs/Picker/usePickerRef.js +13 -7
  40. package/cjs/Picker/utils.d.ts +5 -9
  41. package/cjs/Picker/utils.js +22 -89
  42. package/cjs/SelectPicker/SelectPicker.d.ts +2 -2
  43. package/cjs/SelectPicker/SelectPicker.js +39 -42
  44. package/cjs/TreePicker/TreePicker.js +72 -75
  45. package/cjs/utils/constants.d.ts +2 -1
  46. package/cjs/utils/constants.js +1 -0
  47. package/cjs/utils/dateUtils.d.ts +0 -1
  48. package/cjs/utils/dateUtils.js +0 -6
  49. package/cjs/utils/getStringLength.d.ts +2 -0
  50. package/cjs/utils/getStringLength.js +18 -0
  51. package/cjs/utils/index.d.ts +1 -0
  52. package/cjs/utils/index.js +4 -1
  53. package/dist/rsuite-no-reset-rtl.css +92 -69
  54. package/dist/rsuite-no-reset-rtl.min.css +1 -1
  55. package/dist/rsuite-no-reset-rtl.min.css.map +1 -1
  56. package/dist/rsuite-no-reset.css +92 -69
  57. package/dist/rsuite-no-reset.min.css +1 -1
  58. package/dist/rsuite-no-reset.min.css.map +1 -1
  59. package/dist/rsuite-rtl.css +92 -69
  60. package/dist/rsuite-rtl.min.css +1 -1
  61. package/dist/rsuite-rtl.min.css.map +1 -1
  62. package/dist/rsuite.css +92 -69
  63. package/dist/rsuite.js +67 -46
  64. package/dist/rsuite.js.map +1 -1
  65. package/dist/rsuite.min.css +1 -1
  66. package/dist/rsuite.min.css.map +1 -1
  67. package/dist/rsuite.min.js +1 -1
  68. package/dist/rsuite.min.js.map +1 -1
  69. package/esm/AutoComplete/AutoComplete.js +28 -29
  70. package/esm/Calendar/Calendar.d.ts +5 -1
  71. package/esm/Calendar/CalendarContainer.d.ts +5 -1
  72. package/esm/Cascader/Cascader.js +49 -51
  73. package/esm/CheckPicker/CheckPicker.d.ts +2 -2
  74. package/esm/CheckPicker/CheckPicker.js +36 -39
  75. package/esm/CheckTreePicker/CheckTreePicker.js +64 -67
  76. package/esm/DatePicker/DatePicker.d.ts +5 -1
  77. package/esm/DatePicker/DatePicker.js +1 -3
  78. package/esm/DatePicker/Toolbar.js +2 -1
  79. package/esm/DateRangeInput/DateRangeInput.js +2 -2
  80. package/esm/DateRangePicker/Calendar.js +25 -23
  81. package/esm/DateRangePicker/DateRangePicker.d.ts +18 -4
  82. package/esm/DateRangePicker/DateRangePicker.js +241 -203
  83. package/esm/DateRangePicker/types.d.ts +11 -3
  84. package/esm/DateRangePicker/utils.d.ts +2 -1
  85. package/esm/DateRangePicker/utils.js +7 -5
  86. package/esm/FormControl/FormControl.d.ts +11 -1
  87. package/esm/FormControl/FormControl.js +4 -3
  88. package/esm/InputPicker/InputPicker.js +64 -65
  89. package/esm/MultiCascader/MultiCascader.js +43 -45
  90. package/esm/{DatePicker → Picker}/PickerIndicator.d.ts +1 -1
  91. package/esm/{DatePicker → Picker}/PickerIndicator.js +2 -1
  92. package/esm/{DatePicker → Picker}/PickerLabel.d.ts +1 -1
  93. package/esm/Picker/PickerToggle.d.ts +17 -22
  94. package/esm/Picker/PickerToggle.js +54 -179
  95. package/esm/Picker/index.d.ts +3 -0
  96. package/esm/Picker/index.js +3 -0
  97. package/esm/Picker/usePickerRef.d.ts +3 -1
  98. package/esm/Picker/usePickerRef.js +13 -8
  99. package/esm/Picker/utils.d.ts +5 -9
  100. package/esm/Picker/utils.js +24 -90
  101. package/esm/SelectPicker/SelectPicker.d.ts +2 -2
  102. package/esm/SelectPicker/SelectPicker.js +42 -45
  103. package/esm/TreePicker/TreePicker.js +75 -78
  104. package/esm/utils/constants.d.ts +2 -1
  105. package/esm/utils/constants.js +1 -0
  106. package/esm/utils/dateUtils.d.ts +0 -1
  107. package/esm/utils/dateUtils.js +0 -5
  108. package/esm/utils/getStringLength.d.ts +2 -0
  109. package/esm/utils/getStringLength.js +13 -0
  110. package/esm/utils/index.d.ts +1 -0
  111. package/esm/utils/index.js +1 -0
  112. package/package.json +1 -1
  113. package/styles/mixins/combobox.less +10 -0
  114. /package/cjs/{DatePicker → Picker}/PickerLabel.js +0 -0
  115. /package/esm/{DatePicker → Picker}/PickerLabel.js +0 -0
@@ -1,20 +1,21 @@
1
1
  'use client';
2
2
  "use strict";
3
3
 
4
- var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard");
5
4
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
5
+ var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard");
6
6
  exports.__esModule = true;
7
7
  exports.default = void 0;
8
+ var _taggedTemplateLiteralLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteralLoose"));
8
9
  var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
9
10
  var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));
10
- var _Calendar = _interopRequireDefault(require("@rsuite/icons/legacy/Calendar"));
11
+ var _react = _interopRequireWildcard(require("react"));
11
12
  var _isNil = _interopRequireDefault(require("lodash/isNil"));
12
13
  var _omit = _interopRequireDefault(require("lodash/omit"));
13
14
  var _partial = _interopRequireDefault(require("lodash/partial"));
14
15
  var _pick = _interopRequireDefault(require("lodash/pick"));
15
- var _debounce = _interopRequireDefault(require("lodash/debounce"));
16
16
  var _propTypes = _interopRequireDefault(require("prop-types"));
17
- var _react = _interopRequireWildcard(require("react"));
17
+ var _Calendar = _interopRequireDefault(require("@rsuite/icons/legacy/Calendar"));
18
+ var _ClockO = _interopRequireDefault(require("@rsuite/icons/legacy/ClockO"));
18
19
  var _CustomProvider = require("../CustomProvider");
19
20
  var _Toolbar = _interopRequireDefault(require("../DatePicker/Toolbar"));
20
21
  var _PredefinedRanges = _interopRequireDefault(require("../DatePicker/PredefinedRanges"));
@@ -27,6 +28,10 @@ var disabledDateUtils = _interopRequireWildcard(require("./disabledDateUtils"));
27
28
  var _utils2 = require("./utils");
28
29
  var _deprecatePropType = require("../utils/deprecatePropType");
29
30
  var _DateRangePickerContext = _interopRequireDefault(require("./DateRangePickerContext"));
31
+ var _DateRangeInput = _interopRequireDefault(require("../DateRangeInput"));
32
+ var _InputGroup = _interopRequireDefault(require("../InputGroup"));
33
+ var _usePickerRef2 = _interopRequireDefault(require("../Picker/usePickerRef"));
34
+ var _templateObject;
30
35
  /**
31
36
  * A date range picker allows you to select a date range from a calendar.
32
37
  *
@@ -49,18 +54,22 @@ var DateRangePicker = /*#__PURE__*/_react.default.forwardRef(function (props, re
49
54
  character = _props$character === void 0 ? ' ~ ' : _props$character,
50
55
  defaultCalendarValue = props.defaultCalendarValue,
51
56
  defaultValue = props.defaultValue,
57
+ plaintext = props.plaintext,
52
58
  disabled = props.disabled,
53
59
  DEPRECATED_disabledDateProp = props.disabledDate,
54
60
  shouldDisableDate = props.shouldDisableDate,
55
61
  _props$format = props.format,
56
62
  formatStr = _props$format === void 0 ? 'yyyy-MM-dd' : _props$format,
57
63
  hoverRange = props.hoverRange,
64
+ idProp = props.id,
58
65
  _props$isoWeek = props.isoWeek,
59
66
  isoWeek = _props$isoWeek === void 0 ? false : _props$isoWeek,
60
67
  _props$limitEndYear = props.limitEndYear,
61
68
  limitEndYear = _props$limitEndYear === void 0 ? 1000 : _props$limitEndYear,
62
69
  limitStartYear = props.limitStartYear,
63
70
  overrideLocale = props.locale,
71
+ loading = props.loading,
72
+ label = props.label,
64
73
  menuClassName = props.menuClassName,
65
74
  menuStyle = props.menuStyle,
66
75
  oneTap = props.oneTap,
@@ -69,14 +78,14 @@ var DateRangePicker = /*#__PURE__*/_react.default.forwardRef(function (props, re
69
78
  _props$placement = props.placement,
70
79
  placement = _props$placement === void 0 ? 'bottomStart' : _props$placement,
71
80
  ranges = props.ranges,
72
- renderValue = props.renderValue,
81
+ readOnly = props.readOnly,
73
82
  _props$showOneCalenda = props.showOneCalendar,
74
83
  showOneCalendar = _props$showOneCalenda === void 0 ? false : _props$showOneCalenda,
75
84
  showWeekNumbers = props.showWeekNumbers,
76
85
  showMeridian = props.showMeridian,
77
86
  style = props.style,
78
- toggleAs = props.toggleAs,
79
- caretAs = props.caretAs,
87
+ size = props.size,
88
+ caretAsProp = props.caretAs,
80
89
  valueProp = props.value,
81
90
  onChange = props.onChange,
82
91
  onClean = props.onClean,
@@ -89,18 +98,25 @@ var DateRangePicker = /*#__PURE__*/_react.default.forwardRef(function (props, re
89
98
  onSelect = props.onSelect,
90
99
  onShortcutClick = props.onShortcutClick,
91
100
  renderTitle = props.renderTitle,
92
- rest = (0, _objectWithoutPropertiesLoose2.default)(props, ["as", "classPrefix", "className", "appearance", "editable", "cleanable", "character", "defaultCalendarValue", "defaultValue", "disabled", "disabledDate", "shouldDisableDate", "format", "hoverRange", "isoWeek", "limitEndYear", "limitStartYear", "locale", "menuClassName", "menuStyle", "oneTap", "placeholder", "placement", "ranges", "renderValue", "showOneCalendar", "showWeekNumbers", "showMeridian", "style", "toggleAs", "caretAs", "value", "onChange", "onClean", "onClose", "onEnter", "onEntered", "onExited", "onOk", "onOpen", "onSelect", "onShortcutClick", "renderTitle"]);
101
+ restProps = (0, _objectWithoutPropertiesLoose2.default)(props, ["as", "classPrefix", "className", "appearance", "editable", "cleanable", "character", "defaultCalendarValue", "defaultValue", "plaintext", "disabled", "disabledDate", "shouldDisableDate", "format", "hoverRange", "id", "isoWeek", "limitEndYear", "limitStartYear", "locale", "loading", "label", "menuClassName", "menuStyle", "oneTap", "placeholder", "placement", "ranges", "readOnly", "showOneCalendar", "showWeekNumbers", "showMeridian", "style", "size", "caretAs", "value", "onChange", "onClean", "onClose", "onEnter", "onEntered", "onExited", "onOk", "onOpen", "onSelect", "onShortcutClick", "renderTitle"]);
102
+ var id = (0, _utils.useUniqueId)(classPrefix + "-", idProp);
103
+ var _usePickerRef = (0, _usePickerRef2.default)(ref),
104
+ trigger = _usePickerRef.trigger,
105
+ root = _usePickerRef.root,
106
+ target = _usePickerRef.target,
107
+ overlay = _usePickerRef.overlay;
93
108
  var _useClassNames = (0, _utils.useClassNames)(classPrefix),
94
109
  merge = _useClassNames.merge,
95
110
  prefix = _useClassNames.prefix;
96
111
  var _useCustom = (0, _utils.useCustom)('DateRangePicker', overrideLocale),
97
112
  locale = _useCustom.locale,
98
- formatDate = _useCustom.formatDate,
99
- parseDate = _useCustom.parseDate;
113
+ formatDate = _useCustom.formatDate;
100
114
  var rangeFormatStr = "" + formatStr + character + formatStr;
101
115
  var _useControlled = (0, _utils.useControlled)(valueProp, defaultValue !== null && defaultValue !== void 0 ? defaultValue : null),
102
116
  value = _useControlled[0],
103
- setValue = _useControlled[1];
117
+ setValue = _useControlled[1]; // Show only the calendar month panel. formatStr = 'yyyy-MM'
118
+ var onlyShowMonth = (0, _dateUtils.shouldRenderMonth)(formatStr) && !(0, _dateUtils.shouldRenderDate)(formatStr);
119
+
104
120
  /**
105
121
  * Whether to complete the selection.
106
122
  * Everytime selection will change this value. If the value is false, it means that the selection has not been completed.
@@ -129,9 +145,6 @@ var DateRangePicker = /*#__PURE__*/_react.default.forwardRef(function (props, re
129
145
  })),
130
146
  calendarDate = _useState4[0],
131
147
  setCalendarDate = _useState4[1];
132
- var _useState5 = (0, _react.useState)(),
133
- inputState = _useState5[0],
134
- setInputState = _useState5[1];
135
148
  /**
136
149
  * When hoverRange is set, `selectValue` will be updated during the hover process,
137
150
  * which will cause the `selectValue` to be updated after the first click,
@@ -142,16 +155,16 @@ var DateRangePicker = /*#__PURE__*/_react.default.forwardRef(function (props, re
142
155
  /**
143
156
  * Get the time on the calendar.
144
157
  */
145
- var getCalendarDatetime = (0, _react.useCallback)(function (calendarKey) {
158
+ var getCalendarDatetime = function getCalendarDatetime(calendarKey) {
146
159
  var index = calendarKey === 'start' ? 0 : 1;
147
160
  return (calendarDate === null || calendarDate === void 0 ? void 0 : calendarDate[index]) || (defaultCalendarValue === null || defaultCalendarValue === void 0 ? void 0 : defaultCalendarValue[index]);
148
- }, [calendarDate, defaultCalendarValue]);
161
+ };
149
162
 
150
163
  /**
151
164
  * Call this function to update the calendar panel rendering benchmark value.
152
165
  * If params `value` is not passed, it defaults to [new Date(), addMonth(new Date(), 1)].
153
166
  */
154
- var updateCalendarDateRange = (0, _react.useCallback)(function (_ref3) {
167
+ var setCalendarDateRange = function setCalendarDateRange(_ref3) {
155
168
  var dateRange = _ref3.dateRange,
156
169
  calendarKey = _ref3.calendarKey,
157
170
  eventName = _ref3.eventName;
@@ -172,44 +185,29 @@ var DateRangePicker = /*#__PURE__*/_react.default.forwardRef(function (props, re
172
185
  // Make the calendar render the value of defaultCalendarValue after clearing the value.
173
186
  nextValue = defaultCalendarValue;
174
187
  }
175
- setCalendarDate((0, _utils2.getSafeCalendarDate)({
188
+ var nextCalendarDate = (0, _utils2.getSafeCalendarDate)({
176
189
  value: nextValue,
177
- calendarKey: calendarKey
178
- }));
179
- }, [formatStr, defaultCalendarValue, getCalendarDatetime]);
190
+ calendarKey: calendarKey,
191
+ allowAameMonth: onlyShowMonth
192
+ });
193
+ setCalendarDate(nextCalendarDate);
194
+ if (onlyShowMonth && eventName === 'changeMonth') {
195
+ setSelectedDates(nextCalendarDate);
196
+ }
197
+ };
180
198
 
181
199
  // if valueProp changed then update selectValue/hoverValue
182
200
  (0, _react.useEffect)(function () {
183
201
  setSelectedDates(valueProp !== null && valueProp !== void 0 ? valueProp : []);
184
202
  setHoverDateRange(valueProp !== null && valueProp !== void 0 ? valueProp : null);
185
203
  }, [valueProp]);
186
- var _useState6 = (0, _react.useState)(false),
187
- isPickerToggleActive = _useState6[0],
188
- setPickerToggleActive = _useState6[1];
189
- var rootRef = (0, _react.useRef)(null);
190
- var overlayRef = (0, _react.useRef)(null);
191
- var targetRef = (0, _react.useRef)(null);
192
- var triggerRef = (0, _react.useRef)(null);
193
- var handleCloseDropdown = (0, _react.useCallback)(function () {
194
- var _triggerRef$current, _triggerRef$current$c;
195
- (_triggerRef$current = triggerRef.current) === null || _triggerRef$current === void 0 ? void 0 : (_triggerRef$current$c = _triggerRef$current.close) === null || _triggerRef$current$c === void 0 ? void 0 : _triggerRef$current$c.call(_triggerRef$current);
196
- }, []);
197
- (0, _Picker.usePublicMethods)(ref, {
198
- triggerRef: triggerRef,
199
- overlayRef: overlayRef,
200
- targetRef: targetRef,
201
- rootRef: rootRef
202
- });
203
- var getDisplayString = (0, _react.useCallback)(function (nextValue, isPlaintext) {
204
+ var getDateRangeString = function getDateRangeString(nextValue) {
204
205
  var _nextValue$, _nextValue$2;
205
206
  var startDate = (_nextValue$ = nextValue === null || nextValue === void 0 ? void 0 : nextValue[0]) !== null && _nextValue$ !== void 0 ? _nextValue$ : null;
206
207
  var endDate = (_nextValue$2 = nextValue === null || nextValue === void 0 ? void 0 : nextValue[1]) !== null && _nextValue$2 !== void 0 ? _nextValue$2 : null;
207
208
  if (startDate && endDate) {
208
209
  var displayValue = [startDate, endDate].sort(_dateUtils.compareAsc);
209
- if (isPlaintext) {
210
- return formatDate(displayValue[0], formatStr) + character + formatDate(displayValue[1], formatStr);
211
- }
212
- return renderValue ? renderValue(displayValue, formatStr) : /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_CustomProvider.FormattedDate, {
210
+ return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_CustomProvider.FormattedDate, {
213
211
  date: displayValue[0],
214
212
  formatStr: formatStr
215
213
  }), character, /*#__PURE__*/_react.default.createElement(_CustomProvider.FormattedDate, {
@@ -217,13 +215,23 @@ var DateRangePicker = /*#__PURE__*/_react.default.forwardRef(function (props, re
217
215
  formatStr: formatStr
218
216
  }));
219
217
  }
220
- return isPlaintext ? '' : placeholder || rangeFormatStr;
221
- }, [character, formatDate, formatStr, placeholder, rangeFormatStr, renderValue]);
218
+ return rangeFormatStr;
219
+ };
220
+ var getInputHtmlSize = function getInputHtmlSize() {
221
+ var padding = 4;
222
+ var strings = rangeFormatStr;
223
+ if (value) {
224
+ var _startDate2 = value[0],
225
+ _endDate2 = value[1];
226
+ strings = "" + formatDate(_startDate2, formatStr) + character + formatDate(_endDate2, formatStr);
227
+ }
228
+ return (0, _utils.getStringLength)(strings) + padding;
229
+ };
222
230
 
223
231
  /**
224
232
  * preset hover range
225
233
  */
226
- var getHoverRangeValue = (0, _react.useCallback)(function (date) {
234
+ var getHoverRangeValue = function getHoverRangeValue(date) {
227
235
  function getHoverRangeFunc() {
228
236
  if (hoverRange === 'week') {
229
237
  return (0, _partial.default)(_utils2.getWeekHoverRange, isoWeek);
@@ -245,29 +253,29 @@ var DateRangePicker = /*#__PURE__*/_react.default.forwardRef(function (props, re
245
253
  hoverValues = (0, _dateUtils.reverseDateRangeOmitTime)(hoverValues);
246
254
  }
247
255
  return hoverValues;
248
- }, [hoverRange, isoWeek]);
249
- var handleValueUpdate = (0, _react.useCallback)(function (event, nextValue, closeOverlay) {
256
+ };
257
+ var setDateRange = function setDateRange(event, nextValue, closeOverlay) {
250
258
  if (closeOverlay === void 0) {
251
259
  closeOverlay = true;
252
260
  }
253
261
  // If nextValue is null, it means that the user is erasing the selected dates.
254
262
  setSelectedDates(nextValue !== null && nextValue !== void 0 ? nextValue : []);
263
+ setValue(nextValue);
255
264
  if (!(0, _utils2.isSameRange)(nextValue, value, formatStr)) {
256
- setValue(nextValue);
257
265
  onChange === null || onChange === void 0 ? void 0 : onChange(nextValue, event);
258
266
  }
259
267
 
260
268
  // `closeOverlay` default value is `true`
261
269
  if (closeOverlay !== false) {
262
- handleCloseDropdown();
270
+ handleClose();
263
271
  }
264
- }, [formatStr, handleCloseDropdown, onChange, setValue, value]);
272
+ };
265
273
 
266
274
  /**
267
275
  * Select the date range. If oneTap is not set, you need to click twice to select the start time and end time.
268
276
  * The MouseMove event is called between the first click and the second click to update the selection state.
269
277
  */
270
- var handleMouseMove = (0, _react.useCallback)(function (date) {
278
+ var handleMouseMove = (0, _utils.useEventCallback)(function (date) {
271
279
  var nextHoverDateRange = getHoverRangeValue(date);
272
280
 
273
281
  // If hasDoneSelect is false,
@@ -277,7 +285,7 @@ var DateRangePicker = /*#__PURE__*/_react.default.forwardRef(function (props, re
277
285
  // If `hoverRange` is set, you need to change the value of hoverDateRange according to the rules
278
286
  if (!(0, _isNil.default)(nextHoverDateRange) && !(0, _isNil.default)(selectRangeValueRef.current)) {
279
287
  var nextSelectedDates = [selectRangeValueRef.current[0], nextHoverDateRange[1]];
280
- if (_utils.DateUtils.isBefore(nextHoverDateRange[0], selectRangeValueRef.current[0])) {
288
+ if ((0, _dateUtils.isBefore)(nextHoverDateRange[0], selectRangeValueRef.current[0])) {
281
289
  nextSelectedDates = [nextHoverDateRange[0], selectRangeValueRef.current[1]];
282
290
  }
283
291
  setSelectedDates(nextSelectedDates);
@@ -291,12 +299,12 @@ var DateRangePicker = /*#__PURE__*/_react.default.forwardRef(function (props, re
291
299
  } else if (!(0, _isNil.default)(nextHoverDateRange)) {
292
300
  setHoverDateRange(nextHoverDateRange);
293
301
  }
294
- }, [getHoverRangeValue, isSelectedIdle]);
302
+ });
295
303
 
296
304
  /**
297
305
  * Callback for selecting a date cell in the calendar grid
298
306
  */
299
- var handleSelectDate = (0, _react.useCallback)(function (index, date, event) {
307
+ var handleSelectDate = (0, _utils.useEventCallback)(function (index, date, event) {
300
308
  var calendarKey = index === 0 ? 'start' : 'end';
301
309
  var nextSelectDates = hoverDateRange !== null && hoverDateRange !== void 0 ? hoverDateRange : [];
302
310
  var hoverRangeValue = getHoverRangeValue(date);
@@ -304,7 +312,7 @@ var DateRangePicker = /*#__PURE__*/_react.default.forwardRef(function (props, re
304
312
 
305
313
  // in `oneTap` mode
306
314
  if (isSelectedIdle && oneTap) {
307
- handleValueUpdate(event, noHoverRangeValid ? [(0, _dateUtils.startOfDay)(date), (0, _dateUtils.endOfDay)(date)] : hoverRangeValue);
315
+ setDateRange(event, noHoverRangeValid ? [(0, _dateUtils.startOfDay)(date), (0, _dateUtils.endOfDay)(date)] : hoverRangeValue);
308
316
  setSelectedIdle(false);
309
317
  return;
310
318
  }
@@ -346,14 +354,14 @@ var DateRangePicker = /*#__PURE__*/_react.default.forwardRef(function (props, re
346
354
  setHoverDateRange([nextSelectDates[0], nextSelectDates[0]]);
347
355
  }
348
356
  setSelectedDates(nextSelectDates);
349
- updateCalendarDateRange({
357
+ setCalendarDateRange({
350
358
  dateRange: nextSelectDates,
351
359
  calendarKey: calendarKey,
352
360
  eventName: 'changeDate'
353
361
  });
354
362
  onSelect === null || onSelect === void 0 ? void 0 : onSelect(date, event);
355
363
  setSelectedIdle(!isSelectedIdle);
356
- }, [formatStr, getCalendarDatetime, getHoverRangeValue, handleValueUpdate, hoverDateRange, isSelectedIdle, onSelect, oneTap, selectedDates, updateCalendarDateRange]);
364
+ });
357
365
 
358
366
  /**
359
367
  * If `selectValue` changed, there will be the following effects.
@@ -365,21 +373,21 @@ var DateRangePicker = /*#__PURE__*/_react.default.forwardRef(function (props, re
365
373
  var doneSelected = selectValueLength === 0 || selectValueLength === 2;
366
374
  doneSelected && setHoverDateRange(null);
367
375
  }, [selectedDates]);
368
- var updateSingleCalendarMonth = (0, _react.useCallback)(function (index, date) {
376
+ var handleSingleCalendarMonth = (0, _utils.useEventCallback)(function (index, date) {
369
377
  var calendarKey = index === 0 ? 'start' : 'end';
370
378
  var nextCalendarDate = Array.from(calendarDate);
371
379
  nextCalendarDate[index] = date;
372
- updateCalendarDateRange({
380
+ setCalendarDateRange({
373
381
  dateRange: nextCalendarDate,
374
382
  calendarKey: calendarKey,
375
383
  eventName: 'changeMonth'
376
384
  });
377
- }, [calendarDate, updateCalendarDateRange]);
378
- var updateSingleCalendarTime = (0, _react.useCallback)(function (index, date) {
385
+ });
386
+ var handleSingleCalendarTime = (0, _utils.useEventCallback)(function (index, date) {
379
387
  var calendarKey = index === 0 ? 'start' : 'end';
380
388
  var nextCalendarDate = Array.from(calendarDate);
381
389
  nextCalendarDate[index] = date;
382
- updateCalendarDateRange({
390
+ setCalendarDateRange({
383
391
  dateRange: nextCalendarDate,
384
392
  calendarKey: calendarKey,
385
393
  eventName: 'changeTime'
@@ -394,12 +402,12 @@ var DateRangePicker = /*#__PURE__*/_react.default.forwardRef(function (props, re
394
402
  }) : new Date(date.valueOf());
395
403
  return next;
396
404
  });
397
- }, [calendarDate, updateCalendarDateRange]);
405
+ });
398
406
 
399
407
  /**
400
408
  * The callback triggered when PM/AM is switched.
401
409
  */
402
- var handleToggleMeridian = (0, _react.useCallback)(function (index) {
410
+ var handleToggleMeridian = (0, _utils.useEventCallback)(function (index) {
403
411
  var nextCalendarDate = Array.from(calendarDate);
404
412
  nextCalendarDate[index] = (0, _dateUtils.getReversedTimeMeridian)(nextCalendarDate[index]);
405
413
  setCalendarDate(nextCalendarDate);
@@ -410,21 +418,38 @@ var DateRangePicker = /*#__PURE__*/_react.default.forwardRef(function (props, re
410
418
  nextSelectedDates[index] = (0, _dateUtils.getReversedTimeMeridian)(nextSelectedDates[index]);
411
419
  setSelectedDates(nextSelectedDates);
412
420
  }
413
- }, [calendarDate, selectedDates]);
421
+ });
422
+ var handleEnter = (0, _utils.useEventCallback)(function () {
423
+ var nextCalendarDate;
424
+ if (value && value.length) {
425
+ var _startDate3 = value[0],
426
+ endData = value[1];
427
+ nextCalendarDate = [_startDate3, (0, _dateUtils.isSameMonth)(_startDate3, endData) ? (0, _dateUtils.addMonths)(endData, 1) : endData];
428
+ } else {
429
+ // Reset the date on the calendar to the default date
430
+ nextCalendarDate = (0, _utils2.getSafeCalendarDate)({
431
+ value: defaultCalendarValue !== null && defaultCalendarValue !== void 0 ? defaultCalendarValue : null
432
+ });
433
+ }
434
+ setSelectedDates(value !== null && value !== void 0 ? value : []);
435
+ setCalendarDateRange({
436
+ dateRange: nextCalendarDate
437
+ });
438
+ });
414
439
 
415
440
  /**
416
441
  * Toolbar operation callback function
417
442
  */
418
- var handleShortcutPageDate = (0, _react.useCallback)(function (range, closeOverlay, event) {
443
+ var handleShortcutPageDate = (0, _utils.useEventCallback)(function (range, closeOverlay, event) {
419
444
  if (closeOverlay === void 0) {
420
445
  closeOverlay = false;
421
446
  }
422
447
  var value = range.value;
423
- updateCalendarDateRange({
448
+ setCalendarDateRange({
424
449
  dateRange: value
425
450
  });
426
451
  if (closeOverlay) {
427
- handleValueUpdate(event, value, closeOverlay);
452
+ setDateRange(event, value, closeOverlay);
428
453
  } else {
429
454
  setSelectedDates(value !== null && value !== void 0 ? value : []);
430
455
  }
@@ -432,99 +457,41 @@ var DateRangePicker = /*#__PURE__*/_react.default.forwardRef(function (props, re
432
457
 
433
458
  // End unfinished selections.
434
459
  setSelectedIdle(true);
435
- }, [handleValueUpdate, onShortcutClick, updateCalendarDateRange]);
436
- var handleOK = (0, _react.useCallback)(function (event) {
437
- handleValueUpdate(event, selectedDates);
460
+ });
461
+ var handleOK = (0, _utils.useEventCallback)(function (event) {
462
+ setDateRange(event, selectedDates);
438
463
  onOk === null || onOk === void 0 ? void 0 : onOk(selectedDates, event);
439
- }, [handleValueUpdate, onOk, selectedDates]);
440
- var handleClean = (0, _react.useCallback)(function (event) {
441
- updateCalendarDateRange({
464
+ });
465
+ var handleClean = (0, _utils.useEventCallback)(function (event) {
466
+ setCalendarDateRange({
442
467
  dateRange: null
443
468
  });
444
- handleValueUpdate(event, null);
445
- }, [handleValueUpdate, updateCalendarDateRange]);
469
+ setDateRange(event, null);
470
+ onClean === null || onClean === void 0 ? void 0 : onClean(event);
471
+ event.stopPropagation();
472
+ });
446
473
 
447
474
  /**
448
475
  * Callback after the input box value is changed.
449
476
  */
450
- var handleInputChange = (0, _react.useCallback)(function (value) {
451
- setInputState('Typing');
452
- var rangeValue = value.split(character);
453
-
454
- // isMatch('01/11/2020', 'MM/dd/yyyy') ==> true
455
- // isMatch('2020-11-01', 'MM/dd/yyyy') ==> false
456
- if (!_utils.DateUtils.isMatch(rangeValue[0], formatStr, {
457
- locale: locale.dateLocale
458
- }) || !_utils.DateUtils.isMatch(rangeValue[1], formatStr, {
459
- locale: locale.dateLocale
460
- })) {
461
- setInputState('Error');
477
+ var handleInputChange = (0, _utils.useEventCallback)(function (value, event) {
478
+ if (!value) {
462
479
  return;
463
480
  }
464
- var startDate = parseDate(rangeValue[0], formatStr);
465
- var endDate = parseDate(rangeValue[1], formatStr);
481
+ var startDate = value[0],
482
+ endDate = value[1];
466
483
  var selectValue = [startDate, endDate];
467
- if (!_utils.DateUtils.isValid(startDate) || !_utils.DateUtils.isValid(endDate)) {
468
- setInputState('Error');
469
- return;
470
- }
471
- if (isDateDisabled(startDate, selectValue, true, _utils.DATERANGE_DISABLED_TARGET.CALENDAR)) {
472
- setInputState('Error');
473
- return;
474
- }
475
484
  setHoverDateRange(selectValue);
476
485
  setSelectedDates(selectValue);
477
- updateCalendarDateRange({
486
+ setCalendarDateRange({
478
487
  dateRange: selectValue
479
488
  });
480
- },
481
- // eslint-disable-next-line react-hooks/exhaustive-deps
482
- [character, rangeFormatStr, updateCalendarDateRange]);
483
-
484
- /**
485
- * The callback after the enter key is triggered on the input
486
- */
487
- var handleInputPressEnd = (0, _react.useCallback)(function (event) {
488
- if (inputState === 'Typing') {
489
- handleValueUpdate(event, selectedDates.length === 2 ? selectedDates : null);
490
- }
491
- setInputState('Initial');
492
- }, [handleValueUpdate, selectedDates, inputState]);
493
- var handleInputBackspace = (0, _react.useCallback)(function (event) {
494
- var value = event.target.value;
495
-
496
- // When the input box is empty, the date is cleared.
497
- if (value === '') {
498
- handleClean(event);
499
- }
500
- }, [handleClean]);
501
- var handleEnter = (0, _react.useCallback)(function () {
502
- var nextCalendarDate;
503
- if (value && value.length) {
504
- var _startDate2 = value[0],
505
- endData = value[1];
506
- nextCalendarDate = [_startDate2, (0, _dateUtils.isSameMonth)(_startDate2, endData) ? (0, _dateUtils.addMonths)(endData, 1) : endData];
507
- } else {
508
- // Reset the date on the calendar to the default date
509
- nextCalendarDate = (0, _utils2.getSafeCalendarDate)({
510
- value: defaultCalendarValue !== null && defaultCalendarValue !== void 0 ? defaultCalendarValue : null
511
- });
512
- }
513
- setSelectedDates(value !== null && value !== void 0 ? value : []);
514
- updateCalendarDateRange({
515
- dateRange: nextCalendarDate
516
- });
517
- }, [defaultCalendarValue, updateCalendarDateRange, setSelectedDates, value]);
518
- var handleEntered = (0, _react.useCallback)(function () {
519
- onOpen === null || onOpen === void 0 ? void 0 : onOpen();
520
- setPickerToggleActive(true);
521
- }, [onOpen]);
522
- var handleExited = (0, _react.useCallback)(function () {
523
- setPickerToggleActive(false);
524
- setSelectedIdle(true);
525
- onClose === null || onClose === void 0 ? void 0 : onClose();
526
- }, [onClose]);
527
- var isDateDisabled = (0, _react.useCallback)(function (date, selectDate, selectedDone, target) {
489
+ setDateRange(event, selectValue);
490
+ });
491
+ var isDateDisabled = function isDateDisabled(date, options) {
492
+ var selectDate = options.selectDate,
493
+ selectedDone = options.selectedDone,
494
+ target = options.target;
528
495
  if (typeof shouldDisableDate === 'function') {
529
496
  return shouldDisableDate(date, selectDate, selectedDone, target);
530
497
  }
@@ -532,27 +499,31 @@ var DateRangePicker = /*#__PURE__*/_react.default.forwardRef(function (props, re
532
499
  return DEPRECATED_disabledDateProp(date, selectDate, selectedDone, target);
533
500
  }
534
501
  return false;
535
- }, [DEPRECATED_disabledDateProp, shouldDisableDate]);
536
- var disabledByBetween = (0, _react.useCallback)(function (start, end, type) {
502
+ };
503
+ var disabledByBetween = function disabledByBetween(start, end, type) {
537
504
  // If the date is between the start and the end
538
505
  // the button is disabled
539
- while (_utils.DateUtils.isBefore(start, end) || _utils.DateUtils.isSameDay(start, end)) {
540
- if (isDateDisabled(start, selectedDates, isSelectedIdle, type)) {
506
+ while ((0, _dateUtils.isBefore)(start, end) || (0, _dateUtils.isSameDay)(start, end)) {
507
+ if (isDateDisabled(start, {
508
+ selectDate: selectedDates,
509
+ selectedDone: isSelectedIdle,
510
+ target: type
511
+ })) {
541
512
  return true;
542
513
  }
543
- start = _utils.DateUtils.addDays(start, 1);
514
+ start = (0, _dateUtils.addDays)(start, 1);
544
515
  }
545
516
  return false;
546
- }, [isDateDisabled, isSelectedIdle, selectedDates]);
547
- var disabledOkButton = (0, _react.useCallback)(function () {
517
+ };
518
+ var disabledOkButton = function disabledOkButton() {
548
519
  var start = selectedDates[0],
549
520
  end = selectedDates[1];
550
521
  if (!start || !end || !isSelectedIdle) {
551
522
  return true;
552
523
  }
553
524
  return disabledByBetween(start, end, _utils.DATERANGE_DISABLED_TARGET.TOOLBAR_BUTTON_OK);
554
- }, [disabledByBetween, isSelectedIdle, selectedDates]);
555
- var disabledShortcutButton = (0, _react.useCallback)(function (value) {
525
+ };
526
+ var disabledShortcutButton = function disabledShortcutButton(value) {
556
527
  if (value === void 0) {
557
528
  value = [];
558
529
  }
@@ -563,17 +534,26 @@ var DateRangePicker = /*#__PURE__*/_react.default.forwardRef(function (props, re
563
534
  return true;
564
535
  }
565
536
  return disabledByBetween(start, end, _utils.DATERANGE_DISABLED_TARGET.TOOLBAR_SHORTCUT);
566
- }, [disabledByBetween]);
567
- var handleDisabledDate = (0, _react.useCallback)(function (date, values, type) {
568
- return isDateDisabled(date, values, isSelectedIdle, type);
569
- }, [isDateDisabled, isSelectedIdle]);
570
- var onPickerKeyDown = (0, _Picker.useToggleKeyDownEvent)((0, _extends2.default)({
571
- triggerRef: triggerRef,
572
- targetRef: targetRef,
573
- active: isPickerToggleActive,
574
- onExit: handleClean
575
- }, rest));
576
- var renderDropdownMenu = function renderDropdownMenu(positionProps, speakerRef) {
537
+ };
538
+ var handleClose = (0, _utils.useEventCallback)(function () {
539
+ var _trigger$current, _trigger$current$clos;
540
+ (_trigger$current = trigger.current) === null || _trigger$current === void 0 ? void 0 : (_trigger$current$clos = _trigger$current.close) === null || _trigger$current$clos === void 0 ? void 0 : _trigger$current$clos.call(_trigger$current);
541
+ });
542
+ var handleInputKeyDown = (0, _utils.useEventCallback)(function (event) {
543
+ (0, _Picker.onMenuKeyDown)(event, {
544
+ esc: handleClose,
545
+ enter: function enter() {
546
+ var _trigger$current2;
547
+ var _ref4 = ((_trigger$current2 = trigger.current) === null || _trigger$current2 === void 0 ? void 0 : _trigger$current2.getState()) || {},
548
+ open = _ref4.open;
549
+ if (!open) {
550
+ var _trigger$current3;
551
+ (_trigger$current3 = trigger.current) === null || _trigger$current3 === void 0 ? void 0 : _trigger$current3.open();
552
+ }
553
+ }
554
+ });
555
+ });
556
+ var renderCalendarOverlay = function renderCalendarOverlay(positionProps, speakerRef) {
577
557
  var left = positionProps.left,
578
558
  top = positionProps.top,
579
559
  className = positionProps.className;
@@ -595,7 +575,13 @@ var DateRangePicker = /*#__PURE__*/_react.default.forwardRef(function (props, re
595
575
  });
596
576
  var calendarProps = {
597
577
  calendarDate: calendarDate,
598
- disabledDate: handleDisabledDate,
578
+ disabledDate: function disabledDate(date, values, type) {
579
+ return isDateDisabled(date, {
580
+ selectDate: values,
581
+ selectedDone: isSelectedIdle,
582
+ target: type
583
+ });
584
+ },
599
585
  format: formatStr,
600
586
  hoverRangeValue: hoverDateRange !== null && hoverDateRange !== void 0 ? hoverDateRange : undefined,
601
587
  isoWeek: isoWeek,
@@ -605,8 +591,8 @@ var DateRangePicker = /*#__PURE__*/_react.default.forwardRef(function (props, re
605
591
  showWeekNumbers: showWeekNumbers,
606
592
  value: selectedDates,
607
593
  showMeridian: showMeridian,
608
- onChangeCalendarMonth: updateSingleCalendarMonth,
609
- onChangeCalendarTime: updateSingleCalendarTime,
594
+ onChangeCalendarMonth: handleSingleCalendarMonth,
595
+ onChangeCalendarTime: handleSingleCalendarTime,
610
596
  onMouseMove: handleMouseMove,
611
597
  onSelect: handleSelectDate,
612
598
  onToggleMeridian: handleToggleMeridian,
@@ -620,9 +606,11 @@ var DateRangePicker = /*#__PURE__*/_react.default.forwardRef(function (props, re
620
606
  });
621
607
  return /*#__PURE__*/_react.default.createElement(_Picker.PickerOverlay, {
622
608
  role: "dialog",
609
+ "aria-labelledby": label ? id + "-label" : undefined,
610
+ tabIndex: -1,
623
611
  className: classes,
624
- ref: (0, _utils.mergeRefs)(overlayRef, speakerRef),
625
- target: triggerRef,
612
+ ref: (0, _utils.mergeRefs)(overlay, speakerRef),
613
+ target: trigger,
626
614
  style: styles
627
615
  }, /*#__PURE__*/_react.default.createElement("div", {
628
616
  className: panelClasses,
@@ -637,13 +625,14 @@ var DateRangePicker = /*#__PURE__*/_react.default.forwardRef(function (props, re
637
625
  calendarDate: calendarDate,
638
626
  locale: locale,
639
627
  disabledShortcut: disabledShortcutButton,
640
- onShortcutClick: handleShortcutPageDate
628
+ onShortcutClick: handleShortcutPageDate,
629
+ "data-testid": "daterange-predefined-side"
641
630
  }), /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement("div", {
642
631
  className: prefix('daterange-content')
643
632
  }, /*#__PURE__*/_react.default.createElement("div", {
644
633
  className: prefix('daterange-header'),
645
634
  "data-testid": "daterange-header"
646
- }, getDisplayString(selectedDates)), /*#__PURE__*/_react.default.createElement("div", {
635
+ }, getDateRangeString(selectedDates)), /*#__PURE__*/_react.default.createElement("div", {
647
636
  className: prefix("daterange-calendar-" + (showOneCalendar ? 'single' : 'group'))
648
637
  }, /*#__PURE__*/_react.default.createElement(_DateRangePickerContext.default.Provider, {
649
638
  value: {
@@ -674,39 +663,88 @@ var DateRangePicker = /*#__PURE__*/_react.default.forwardRef(function (props, re
674
663
  })),
675
664
  classes = _usePickerClassName[0],
676
665
  usedClassNamePropKeys = _usePickerClassName[1];
666
+ var caretAs = (0, _react.useMemo)(function () {
667
+ if (caretAsProp === null) {
668
+ return null;
669
+ }
670
+ return caretAsProp || ((0, _dateUtils.shouldOnlyRenderTime)(formatStr) ? _ClockO.default : _Calendar.default);
671
+ }, [caretAsProp, formatStr]);
672
+ var isErrorValue = function isErrorValue(value) {
673
+ if (!value) {
674
+ return false;
675
+ }
676
+ var startDate = value[0],
677
+ endDate = value[1];
678
+ if (!(0, _dateUtils.isValid)(startDate) || !(0, _dateUtils.isValid)(endDate)) {
679
+ return true;
680
+ }
681
+ if ((0, _dateUtils.isBefore)(endDate, startDate)) {
682
+ return true;
683
+ }
684
+ var disabledOptions = {
685
+ selectDate: value,
686
+ selectedDone: isSelectedIdle,
687
+ target: _utils.DATERANGE_DISABLED_TARGET.INPUT
688
+ };
689
+ if (isDateDisabled(startDate, disabledOptions) || isDateDisabled(endDate, disabledOptions)) {
690
+ return true;
691
+ }
692
+ return false;
693
+ };
694
+ var _partitionHTMLProps = (0, _utils.partitionHTMLProps)(restProps, {
695
+ htmlProps: [],
696
+ includeAria: true
697
+ }),
698
+ ariaProps = _partitionHTMLProps[0],
699
+ rest = _partitionHTMLProps[1];
700
+ var showCleanButton = cleanable && hasValue && !readOnly;
701
+ var invalidValue = value && isErrorValue(value);
677
702
  return /*#__PURE__*/_react.default.createElement(_Picker.PickerToggleTrigger, {
703
+ trigger: "active",
704
+ ref: trigger,
678
705
  pickerProps: (0, _pick.default)(props, _Picker.pickTriggerPropKeys),
679
- ref: triggerRef,
680
706
  placement: placement,
681
707
  onEnter: (0, _utils.createChainedFunction)(handleEnter, onEnter),
682
- onEntered: (0, _utils.createChainedFunction)(handleEntered, onEntered),
683
- onExited: (0, _utils.createChainedFunction)(handleExited, onExited),
684
- speaker: renderDropdownMenu
708
+ onEntered: (0, _utils.createChainedFunction)(onOpen, onEntered),
709
+ onExited: (0, _utils.createChainedFunction)(onClose, onExited),
710
+ speaker: renderCalendarOverlay
685
711
  }, /*#__PURE__*/_react.default.createElement(Component, {
686
- ref: rootRef,
687
- className: merge(className, classes, (_merge = {}, _merge[prefix('error')] = inputState === 'Error', _merge)),
712
+ ref: root,
713
+ className: merge(className, classes, (_merge = {}, _merge[prefix('error')] = invalidValue, _merge)),
688
714
  style: style
689
- }, /*#__PURE__*/_react.default.createElement(_Picker.PickerToggle, (0, _extends2.default)({}, (0, _omit.default)(rest, [].concat(_Picker.omitTriggerPropKeys, usedClassNamePropKeys, _utils.DateUtils.calendarOnlyProps)), {
690
- as: toggleAs,
691
- ref: targetRef,
692
- appearance: appearance,
693
- editable: editable,
694
- inputMask: _utils.DateUtils.getDateMask(rangeFormatStr),
695
- inputValue: value ? getDisplayString(value, true) : '',
696
- inputPlaceholder: typeof placeholder === 'string' && placeholder ? placeholder : rangeFormatStr,
697
- onInputChange: handleInputChange,
698
- onInputBlur: handleInputPressEnd,
699
- onInputPressEnter: handleInputPressEnd,
700
- onInputBackspace: (0, _debounce.default)(handleInputBackspace, 10),
701
- onKeyDown: onPickerKeyDown,
702
- onClean: (0, _utils.createChainedFunction)(handleClean, onClean),
703
- cleanable: cleanable && !disabled,
704
- hasValue: hasValue,
705
- active: isPickerToggleActive,
706
- placement: placement,
715
+ }, plaintext ? /*#__PURE__*/_react.default.createElement(_DateRangeInput.default, {
716
+ value: value,
717
+ format: formatStr,
718
+ plaintext: plaintext
719
+ }) : /*#__PURE__*/_react.default.createElement(_InputGroup.default, (0, _extends2.default)({}, (0, _omit.default)(rest, [].concat(_Picker.omitTriggerPropKeys, usedClassNamePropKeys, _dateUtils.calendarOnlyProps)), {
720
+ inside: true,
721
+ size: size
722
+ }), /*#__PURE__*/_react.default.createElement(_Picker.PickerLabel, {
723
+ className: prefix(_templateObject || (_templateObject = (0, _taggedTemplateLiteralLoose2.default)(["label"]))),
724
+ id: id + "-label"
725
+ }, label), /*#__PURE__*/_react.default.createElement(_DateRangeInput.default, (0, _extends2.default)({
726
+ "aria-haspopup": "dialog",
727
+ "aria-invalid": invalidValue,
728
+ "aria-labelledby": label ? id + "-label" : undefined
729
+ }, ariaProps, {
730
+ ref: target,
731
+ id: id,
732
+ value: value,
733
+ character: character,
734
+ format: formatStr,
735
+ placeholder: placeholder ? placeholder : rangeFormatStr,
707
736
  disabled: disabled,
708
- caretAs: caretAs || _Calendar.default
709
- }), getDisplayString(value))));
737
+ onChange: handleInputChange,
738
+ readOnly: readOnly || !editable || loading,
739
+ plaintext: plaintext,
740
+ onKeyDown: handleInputKeyDown,
741
+ htmlSize: getInputHtmlSize()
742
+ })), /*#__PURE__*/_react.default.createElement(_Picker.PickerIndicator, {
743
+ loading: loading,
744
+ caretAs: caretAs,
745
+ onClose: handleClean,
746
+ showCleanButton: showCleanButton
747
+ }))));
710
748
  });
711
749
  DateRangePicker.after = disabledDateUtils.after;
712
750
  DateRangePicker.afterToday = disabledDateUtils.afterToday;