rsuite 5.76.3 → 5.77.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +15 -0
- package/cjs/DateRangePicker/DateRangePicker.d.ts +6 -0
- package/cjs/DateRangePicker/DateRangePicker.js +4 -2
- package/cjs/FormControl/utils.d.ts +8 -0
- package/cjs/FormControl/utils.js +44 -1
- package/cjs/InputPicker/InputPicker.js +7 -1
- package/dist/rsuite.js +5 -5
- package/dist/rsuite.min.js +1 -1
- package/dist/rsuite.min.js.map +1 -1
- package/esm/DateRangePicker/DateRangePicker.d.ts +6 -0
- package/esm/DateRangePicker/DateRangePicker.js +4 -2
- package/esm/FormControl/utils.d.ts +8 -0
- package/esm/FormControl/utils.js +44 -1
- package/esm/InputPicker/InputPicker.js +7 -1
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,18 @@
|
|
|
1
|
+
# [5.77.0](https://github.com/rsuite/rsuite/compare/v5.76.3...v5.77.0) (2025-01-21)
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
### Bug Fixes
|
|
5
|
+
|
|
6
|
+
* **Form:** support deeply nested object validation ([#4125](https://github.com/rsuite/rsuite/issues/4125)) ([2de3f90](https://github.com/rsuite/rsuite/commit/2de3f901970d982ac4a0a2329fd4e6af83962804))
|
|
7
|
+
* **InputPicker:** do not trigger clean when clicking delete with search keyword ([#4124](https://github.com/rsuite/rsuite/issues/4124)) ([98a0019](https://github.com/rsuite/rsuite/commit/98a001908df884c8cd5a87959a9b9608d6bba37c))
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
### Features
|
|
11
|
+
|
|
12
|
+
* **DateRangePicker:** support custom render calendar cell content ([#4126](https://github.com/rsuite/rsuite/issues/4126)) ([74171d1](https://github.com/rsuite/rsuite/commit/74171d17f36aa611009e0048c1f490b6ac31fcea))
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
|
|
1
16
|
## [5.76.3](https://github.com/rsuite/rsuite/compare/v5.76.2...v5.76.3) (2025-01-10)
|
|
2
17
|
|
|
3
18
|
|
|
@@ -159,6 +159,12 @@ export interface DateRangePickerProps extends PickerBaseProps<DateRangePickerLoc
|
|
|
159
159
|
* Custom render for calendar title
|
|
160
160
|
*/
|
|
161
161
|
renderTitle?: (date: Date) => React.ReactNode;
|
|
162
|
+
/**
|
|
163
|
+
* Custom rendering calendar cell content.
|
|
164
|
+
*
|
|
165
|
+
* @version 5.77.0
|
|
166
|
+
*/
|
|
167
|
+
renderCell?: (date: Date) => React.ReactNode;
|
|
162
168
|
}
|
|
163
169
|
export interface DateRangePickerComponent extends PickerComponent<DateRangePickerProps> {
|
|
164
170
|
/** Allow the maximum number of days specified, other dates are disabled */
|
|
@@ -33,7 +33,7 @@ var _utils2 = require("../internals/utils");
|
|
|
33
33
|
var _date = require("../internals/utils/date");
|
|
34
34
|
var _CustomProvider = require("../CustomProvider");
|
|
35
35
|
var _templateObject, _templateObject2;
|
|
36
|
-
var _excluded = ["as", "classPrefix", "className", "appearance", "editable", "cleanable", "character", "calendarSnapping", "defaultCalendarValue", "defaultValue", "plaintext", "disabled", "disabledDate", "shouldDisableDate", "shouldDisableHour", "shouldDisableMinute", "shouldDisableSecond", "format", "hoverRange", "id", "isoWeek", "weekStart", "limitEndYear", "limitStartYear", "locale", "loading", "label", "menuClassName", "menuStyle", "oneTap", "placeholder", "placement", "ranges", "readOnly", "showOneCalendar", "showWeekNumbers", "showMeridian", "showMeridiem", "showHeader", "style", "size", "caretAs", "value", "monthDropdownProps", "hideHours", "hideMinutes", "hideSeconds", "onChange", "onClean", "onEnter", "onExit", "onOk", "onSelect", "onShortcutClick", "renderTitle", "renderValue"];
|
|
36
|
+
var _excluded = ["as", "classPrefix", "className", "appearance", "editable", "cleanable", "character", "calendarSnapping", "defaultCalendarValue", "defaultValue", "plaintext", "disabled", "disabledDate", "shouldDisableDate", "shouldDisableHour", "shouldDisableMinute", "shouldDisableSecond", "format", "hoverRange", "id", "isoWeek", "weekStart", "limitEndYear", "limitStartYear", "locale", "loading", "label", "menuClassName", "menuStyle", "oneTap", "placeholder", "placement", "ranges", "readOnly", "showOneCalendar", "showWeekNumbers", "showMeridian", "showMeridiem", "showHeader", "style", "size", "caretAs", "value", "monthDropdownProps", "hideHours", "hideMinutes", "hideSeconds", "onChange", "onClean", "onEnter", "onExit", "onOk", "onSelect", "onShortcutClick", "renderTitle", "renderValue", "renderCell"];
|
|
37
37
|
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
|
|
38
38
|
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
39
39
|
/**
|
|
@@ -116,6 +116,7 @@ var DateRangePicker = /*#__PURE__*/_react.default.forwardRef(function (props, re
|
|
|
116
116
|
onShortcutClick = propsWithDefaults.onShortcutClick,
|
|
117
117
|
renderTitle = propsWithDefaults.renderTitle,
|
|
118
118
|
renderValue = propsWithDefaults.renderValue,
|
|
119
|
+
renderCell = propsWithDefaults.renderCell,
|
|
119
120
|
restProps = (0, _objectWithoutPropertiesLoose2.default)(propsWithDefaults, _excluded);
|
|
120
121
|
var id = (0, _hooks.useUniqueId)('rs-', idProp);
|
|
121
122
|
var _usePickerRef = (0, _Picker.usePickerRef)(ref),
|
|
@@ -673,7 +674,8 @@ var DateRangePicker = /*#__PURE__*/_react.default.forwardRef(function (props, re
|
|
|
673
674
|
onChangeCalendarMonth: onChangeCalendarMonth,
|
|
674
675
|
onChangeCalendarTime: onChangeCalendarTime,
|
|
675
676
|
onMouseMove: onMouseMove,
|
|
676
|
-
renderTitle: renderTitle
|
|
677
|
+
renderTitle: renderTitle,
|
|
678
|
+
renderCellOnPicker: renderCell
|
|
677
679
|
};
|
|
678
680
|
var getCalendars = function getCalendars() {
|
|
679
681
|
if (showOneCalendar) {
|
|
@@ -1 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Converts a field name to a path that can be used in a nested object.
|
|
3
|
+
* @example
|
|
4
|
+
* nameToPath('a.b.c') // 'a.object.b.object.c'
|
|
5
|
+
* nameToPath('items[0].name') // 'items.array[0].object.name'
|
|
6
|
+
* @param name the field name to convert
|
|
7
|
+
* @returns the converted path
|
|
8
|
+
*/
|
|
1
9
|
export declare function nameToPath(name: string): string;
|
package/cjs/FormControl/utils.js
CHANGED
|
@@ -3,6 +3,49 @@
|
|
|
3
3
|
|
|
4
4
|
exports.__esModule = true;
|
|
5
5
|
exports.nameToPath = nameToPath;
|
|
6
|
+
/**
|
|
7
|
+
* Converts a field name to a path that can be used in a nested object.
|
|
8
|
+
* @example
|
|
9
|
+
* nameToPath('a.b.c') // 'a.object.b.object.c'
|
|
10
|
+
* nameToPath('items[0].name') // 'items.array[0].object.name'
|
|
11
|
+
* @param name the field name to convert
|
|
12
|
+
* @returns the converted path
|
|
13
|
+
*/
|
|
6
14
|
function nameToPath(name) {
|
|
7
|
-
|
|
15
|
+
if (!name.includes('.') && !name.includes('[')) {
|
|
16
|
+
return name;
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
// Split the path by dots and array accessors
|
|
20
|
+
var parts = name.split(/\.|\[|\]\.?/).filter(Boolean);
|
|
21
|
+
var result = [];
|
|
22
|
+
for (var i = 0; i < parts.length; i++) {
|
|
23
|
+
var part = parts[i];
|
|
24
|
+
var isLast = i === parts.length - 1;
|
|
25
|
+
if (part.match(/^\d+$/)) {
|
|
26
|
+
// If it's a number (array index), add array accessor
|
|
27
|
+
result.push("array[" + part + "]");
|
|
28
|
+
// If there's a next part and it's not an array index, add .object
|
|
29
|
+
if (!isLast && !parts[i + 1].match(/^\d+$/)) {
|
|
30
|
+
result.push('object');
|
|
31
|
+
}
|
|
32
|
+
} else {
|
|
33
|
+
// For regular property names
|
|
34
|
+
if (!isLast) {
|
|
35
|
+
// Not the last part, add .object unless next part is array index
|
|
36
|
+
var nextPart = parts[i + 1];
|
|
37
|
+
if (nextPart && nextPart.match(/^\d+$/)) {
|
|
38
|
+
// Next part is array index
|
|
39
|
+
result.push(part);
|
|
40
|
+
} else {
|
|
41
|
+
// Next part is object property
|
|
42
|
+
result.push(part + ".object");
|
|
43
|
+
}
|
|
44
|
+
} else {
|
|
45
|
+
// Last part, just add the name
|
|
46
|
+
result.push(part);
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
return result.join('.');
|
|
8
51
|
}
|
|
@@ -396,7 +396,13 @@ var InputPicker = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
|
|
|
396
396
|
handleChange(val, event);
|
|
397
397
|
});
|
|
398
398
|
var handleClean = (0, _hooks.useEventCallback)(function (event) {
|
|
399
|
-
if (disabled
|
|
399
|
+
if (disabled) {
|
|
400
|
+
return;
|
|
401
|
+
}
|
|
402
|
+
|
|
403
|
+
// When there is a value in the search box and the user presses the delete key on the keyboard,
|
|
404
|
+
// do not trigger clearing
|
|
405
|
+
if (inputRef.current === event.target && searchKeyword !== '') {
|
|
400
406
|
return;
|
|
401
407
|
}
|
|
402
408
|
setValue(null);
|
package/dist/rsuite.js
CHANGED
|
@@ -2578,7 +2578,7 @@ eval("\n\nvar _interopRequireDefault = __webpack_require__(/*! @babel/runtime/he
|
|
|
2578
2578
|
/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
|
|
2579
2579
|
|
|
2580
2580
|
"use strict";
|
|
2581
|
-
eval("\n\nvar _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ \"./node_modules/@babel/runtime/helpers/interopRequireDefault.js\");\nexports.__esModule = true;\nexports[\"default\"] = void 0;\nvar _taggedTemplateLiteralLoose2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/taggedTemplateLiteralLoose */ \"./node_modules/@babel/runtime/helpers/taggedTemplateLiteralLoose.js\"));\nvar _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ \"./node_modules/@babel/runtime/helpers/extends.js\"));\nvar _objectWithoutPropertiesLoose2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/objectWithoutPropertiesLoose */ \"./node_modules/@babel/runtime/helpers/objectWithoutPropertiesLoose.js\"));\nvar _react = _interopRequireWildcard(__webpack_require__(/*! react */ \"react\"));\nvar _isNil = _interopRequireDefault(__webpack_require__(/*! lodash/isNil */ \"./node_modules/lodash/isNil.js\"));\nvar _omit = _interopRequireDefault(__webpack_require__(/*! lodash/omit */ \"./node_modules/lodash/omit.js\"));\nvar _pick = _interopRequireDefault(__webpack_require__(/*! lodash/pick */ \"./node_modules/lodash/pick.js\"));\nvar _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ \"./node_modules/prop-types/index.js\"));\nvar _Calendar = _interopRequireDefault(__webpack_require__(/*! @rsuite/icons/Calendar */ \"./node_modules/@rsuite/icons/esm/react/Calendar.js\"));\nvar _Time = _interopRequireDefault(__webpack_require__(/*! @rsuite/icons/Time */ \"./node_modules/@rsuite/icons/esm/react/Time.js\"));\nvar _Toolbar = _interopRequireDefault(__webpack_require__(/*! ../DatePicker/Toolbar */ \"./src/DatePicker/Toolbar.tsx\"));\nvar _PredefinedRanges = _interopRequireDefault(__webpack_require__(/*! ../DatePicker/PredefinedRanges */ \"./src/DatePicker/PredefinedRanges.tsx\"));\nvar _Stack = _interopRequireDefault(__webpack_require__(/*! ../Stack */ \"./src/Stack/index.tsx\"));\nvar _DateRangePickerProvider = __webpack_require__(/*! ./DateRangePickerProvider */ \"./src/DateRangePicker/DateRangePickerProvider.ts\");\nvar _DateRangeInput = _interopRequireDefault(__webpack_require__(/*! ../DateRangeInput */ \"./src/DateRangeInput/index.tsx\"));\nvar _InputGroup = _interopRequireDefault(__webpack_require__(/*! ../InputGroup */ \"./src/InputGroup/index.tsx\"));\nvar _Header = _interopRequireDefault(__webpack_require__(/*! ./Header */ \"./src/DateRangePicker/Header.tsx\"));\nvar _useDateDisabled = _interopRequireDefault(__webpack_require__(/*! ./hooks/useDateDisabled */ \"./src/DateRangePicker/hooks/useDateDisabled.ts\"));\nvar _useCustomizedInput2 = _interopRequireDefault(__webpack_require__(/*! ../DatePicker/hooks/useCustomizedInput */ \"./src/DatePicker/hooks/useCustomizedInput.ts\"));\nvar _Calendar2 = _interopRequireDefault(__webpack_require__(/*! ./Calendar */ \"./src/DateRangePicker/Calendar.tsx\"));\nvar _utils = __webpack_require__(/*! ./utils */ \"./src/DateRangePicker/utils.ts\");\nvar _propTypes2 = __webpack_require__(/*! ../internals/propTypes */ \"./src/internals/propTypes/index.ts\");\nvar _constants = __webpack_require__(/*! ../internals/constants */ \"./src/internals/constants/index.ts\");\nvar _hooks = __webpack_require__(/*! ../internals/hooks */ \"./src/internals/hooks/index.ts\");\nvar _Picker = __webpack_require__(/*! ../internals/Picker */ \"./src/internals/Picker/index.ts\");\nvar _utils2 = __webpack_require__(/*! ../internals/utils */ \"./src/internals/utils/index.ts\");\nvar _date = __webpack_require__(/*! ../internals/utils/date */ \"./src/internals/utils/date/index.ts\");\nvar _CustomProvider = __webpack_require__(/*! ../CustomProvider */ \"./src/CustomProvider/index.tsx\");\nvar _excluded = [\"as\", \"classPrefix\", \"className\", \"appearance\", \"editable\", \"cleanable\", \"character\", \"calendarSnapping\", \"defaultCalendarValue\", \"defaultValue\", \"plaintext\", \"disabled\", \"disabledDate\", \"shouldDisableDate\", \"shouldDisableHour\", \"shouldDisableMinute\", \"shouldDisableSecond\", \"format\", \"hoverRange\", \"id\", \"isoWeek\", \"weekStart\", \"limitEndYear\", \"limitStartYear\", \"locale\", \"loading\", \"label\", \"menuClassName\", \"menuStyle\", \"oneTap\", \"placeholder\", \"placement\", \"ranges\", \"readOnly\", \"showOneCalendar\", \"showWeekNumbers\", \"showMeridian\", \"showMeridiem\", \"showHeader\", \"style\", \"size\", \"caretAs\", \"value\", \"monthDropdownProps\", \"hideHours\", \"hideMinutes\", \"hideSeconds\", \"onChange\", \"onClean\", \"onEnter\", \"onExit\", \"onOk\", \"onSelect\", \"onShortcutClick\", \"renderTitle\", \"renderValue\"];\nvar _jsxFileName = \"/home/runner/work/rsuite/rsuite/src/DateRangePicker/DateRangePicker.tsx\",\n _this = void 0,\n _templateObject,\n _templateObject2;\nfunction _getRequireWildcardCache(e) { if (\"function\" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }\nfunction _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || \"object\" != typeof e && \"function\" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if (\"default\" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }\n/**\n * A date range picker allows you to select a date range from a calendar.\n *\n * @see https://rsuitejs.com/components/date-range-picker\n */\nvar DateRangePicker = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {\n var _ref, _ref2, _merge;\n var _useCustom = (0, _CustomProvider.useCustom)('DateRangePicker', props),\n formatDate = _useCustom.formatDate,\n propsWithDefaults = _useCustom.propsWithDefaults;\n var _propsWithDefaults$as = propsWithDefaults.as,\n Component = _propsWithDefaults$as === void 0 ? 'div' : _propsWithDefaults$as,\n _propsWithDefaults$cl = propsWithDefaults.classPrefix,\n classPrefix = _propsWithDefaults$cl === void 0 ? 'picker' : _propsWithDefaults$cl,\n className = propsWithDefaults.className,\n _propsWithDefaults$ap = propsWithDefaults.appearance,\n appearance = _propsWithDefaults$ap === void 0 ? 'default' : _propsWithDefaults$ap,\n _propsWithDefaults$ed = propsWithDefaults.editable,\n editable = _propsWithDefaults$ed === void 0 ? true : _propsWithDefaults$ed,\n _propsWithDefaults$cl2 = propsWithDefaults.cleanable,\n cleanable = _propsWithDefaults$cl2 === void 0 ? true : _propsWithDefaults$cl2,\n _propsWithDefaults$ch = propsWithDefaults.character,\n character = _propsWithDefaults$ch === void 0 ? ' ~ ' : _propsWithDefaults$ch,\n calendarSnapping = propsWithDefaults.calendarSnapping,\n defaultCalendarValue = propsWithDefaults.defaultCalendarValue,\n defaultValue = propsWithDefaults.defaultValue,\n plaintext = propsWithDefaults.plaintext,\n disabled = propsWithDefaults.disabled,\n DEPRECATED_disabledDate = propsWithDefaults.disabledDate,\n shouldDisableDate = propsWithDefaults.shouldDisableDate,\n shouldDisableHour = propsWithDefaults.shouldDisableHour,\n shouldDisableMinute = propsWithDefaults.shouldDisableMinute,\n shouldDisableSecond = propsWithDefaults.shouldDisableSecond,\n format = propsWithDefaults.format,\n hoverRange = propsWithDefaults.hoverRange,\n idProp = propsWithDefaults.id,\n _propsWithDefaults$is = propsWithDefaults.isoWeek,\n isoWeek = _propsWithDefaults$is === void 0 ? false : _propsWithDefaults$is,\n _propsWithDefaults$we = propsWithDefaults.weekStart,\n weekStart = _propsWithDefaults$we === void 0 ? 0 : _propsWithDefaults$we,\n _propsWithDefaults$li = propsWithDefaults.limitEndYear,\n limitEndYear = _propsWithDefaults$li === void 0 ? 1000 : _propsWithDefaults$li,\n limitStartYear = propsWithDefaults.limitStartYear,\n locale = propsWithDefaults.locale,\n loading = propsWithDefaults.loading,\n label = propsWithDefaults.label,\n menuClassName = propsWithDefaults.menuClassName,\n menuStyle = propsWithDefaults.menuStyle,\n oneTap = propsWithDefaults.oneTap,\n _propsWithDefaults$pl = propsWithDefaults.placeholder,\n placeholder = _propsWithDefaults$pl === void 0 ? '' : _propsWithDefaults$pl,\n _propsWithDefaults$pl2 = propsWithDefaults.placement,\n placement = _propsWithDefaults$pl2 === void 0 ? 'bottomStart' : _propsWithDefaults$pl2,\n ranges = propsWithDefaults.ranges,\n readOnly = propsWithDefaults.readOnly,\n _propsWithDefaults$sh = propsWithDefaults.showOneCalendar,\n showOneCalendar = _propsWithDefaults$sh === void 0 ? false : _propsWithDefaults$sh,\n showWeekNumbers = propsWithDefaults.showWeekNumbers,\n DEPRECATED_showMeridian = propsWithDefaults.showMeridian,\n _propsWithDefaults$sh2 = propsWithDefaults.showMeridiem,\n showMeridiem = _propsWithDefaults$sh2 === void 0 ? DEPRECATED_showMeridian : _propsWithDefaults$sh2,\n _propsWithDefaults$sh3 = propsWithDefaults.showHeader,\n showHeader = _propsWithDefaults$sh3 === void 0 ? true : _propsWithDefaults$sh3,\n style = propsWithDefaults.style,\n size = propsWithDefaults.size,\n caretAsProp = propsWithDefaults.caretAs,\n valueProp = propsWithDefaults.value,\n monthDropdownProps = propsWithDefaults.monthDropdownProps,\n hideHours = propsWithDefaults.hideHours,\n hideMinutes = propsWithDefaults.hideMinutes,\n hideSeconds = propsWithDefaults.hideSeconds,\n onChange = propsWithDefaults.onChange,\n onClean = propsWithDefaults.onClean,\n onEnter = propsWithDefaults.onEnter,\n onExit = propsWithDefaults.onExit,\n onOk = propsWithDefaults.onOk,\n onSelect = propsWithDefaults.onSelect,\n onShortcutClick = propsWithDefaults.onShortcutClick,\n renderTitle = propsWithDefaults.renderTitle,\n renderValue = propsWithDefaults.renderValue,\n restProps = (0, _objectWithoutPropertiesLoose2.default)(propsWithDefaults, _excluded);\n var id = (0, _hooks.useUniqueId)('rs-', idProp);\n var _usePickerRef = (0, _Picker.usePickerRef)(ref),\n trigger = _usePickerRef.trigger,\n root = _usePickerRef.root,\n target = _usePickerRef.target,\n overlay = _usePickerRef.overlay;\n var _useClassNames = (0, _hooks.useClassNames)(classPrefix),\n merge = _useClassNames.merge,\n prefix = _useClassNames.prefix;\n var formatStr = format || (locale === null || locale === void 0 ? void 0 : locale.shortDateFormat) || 'yyyy-MM-dd';\n var rangeFormatStr = \"\" + formatStr + character + formatStr;\n var _useControlled = (0, _hooks.useControlled)(valueProp, defaultValue !== null && defaultValue !== void 0 ? defaultValue : null),\n value = _useControlled[0],\n setValue = _useControlled[1];\n var _useDateMode = (0, _date.useDateMode)(formatStr),\n mode = _useDateMode.mode,\n has = _useDateMode.has;\n\n // Show only the calendar month panel. formatStr = 'yyyy-MM'\n var onlyShowMonth = mode === _date.DateMode.Month;\n\n // Only show the time panel. formatStr = 'HH:mm:ss'\n var onlyShowTime = mode === _date.DateMode.Time;\n\n // Allows two calendar panels to display the same month.\n var allowSameMonth = onlyShowMonth || showOneCalendar || onlyShowTime;\n\n // Default gap between two calendars, if `showOneCalendar` is set, the gap is 0\n var calendarGap = allowSameMonth ? 0 : 1;\n\n /**\n * Whether to complete the selection.\n * Everytime selection will change this value. If the value is false, it means that the selection has not been completed.\n *\n * In `oneTap` mode, select action will not change this value, its value should be true always.\n */\n var _useState = (0, _react.useState)(true),\n isSelectedIdle = _useState[0],\n setSelectedIdle = _useState[1];\n\n /**\n * The currently selected date range.\n *\n * The time range is selected by two clicks. After the first click,\n * the cursor will store a temporary event date in the process until\n * the second click to determine the end date of the date range.\n *\n */\n var _useState2 = (0, _react.useState)((_ref = valueProp !== null && valueProp !== void 0 ? valueProp : defaultValue) !== null && _ref !== void 0 ? _ref : []),\n selectedDates = _useState2[0],\n setSelectedDates = _useState2[1];\n\n // The date of the current hover, used to reduce the calculation of `handleMouseMove`\n var _useState3 = (0, _react.useState)(value),\n hoverDateRange = _useState3[0],\n setHoverDateRange = _useState3[1];\n\n // The displayed calendar panel is rendered based on this value.\n var _useState4 = (0, _react.useState)((0, _utils.getSafeCalendarDate)({\n value: (_ref2 = value !== null && value !== void 0 ? value : defaultCalendarValue) !== null && _ref2 !== void 0 ? _ref2 : null,\n allowSameMonth: allowSameMonth\n })),\n calendarDateRange = _useState4[0],\n setCalendarDateRangeValue = _useState4[1];\n\n /**\n * When hoverRange is set, `selectValue` will be updated during the hover process,\n * which will cause the `selectValue` to be updated after the first click,\n * so declare a Ref to temporarily store the `selectValue` of the first click.\n */\n var selectRangeValueRef = (0, _react.useRef)(null);\n\n /**\n *\n * The key of the currently active calendar panel.\n * Used to switch when only one calendar panel is displayed.\n */\n var _useState5 = (0, _react.useState)(),\n activeCalendarKey = _useState5[0],\n setActiveCalendarKey = _useState5[1];\n\n /**\n * Get the time on the calendar.\n */\n var getCalendarDatetime = function getCalendarDatetime(calendarKey) {\n var index = calendarKey === 'start' ? 0 : 1;\n return (calendarDateRange === null || calendarDateRange === void 0 ? void 0 : calendarDateRange[index]) || (defaultCalendarValue === null || defaultCalendarValue === void 0 ? void 0 : defaultCalendarValue[index]);\n };\n\n /**\n * Call this function to update the calendar panel rendering benchmark value.\n * If params `value` is not passed, it defaults to [new Date(), addMonth(new Date(), 1)].\n */\n var setCalendarDateRange = function setCalendarDateRange(_ref3) {\n var dateRange = _ref3.dateRange,\n calendarKey = _ref3.calendarKey,\n eventName = _ref3.eventName;\n var nextValue = dateRange;\n\n // The time should remain the same when the dates in the date range are changed.\n if (has('time') && dateRange !== null && dateRange !== void 0 && dateRange.length && (eventName === 'changeDate' || eventName === 'changeMonth')) {\n var startDate = (0, _date.copyTime)({\n from: getCalendarDatetime('start'),\n to: dateRange[0]\n });\n var endDate = (0, _date.copyTime)({\n from: getCalendarDatetime('end'),\n to: dateRange.length === 1 ? (0, _date.addMonths)(startDate, calendarGap) : dateRange[1]\n });\n nextValue = [startDate, endDate];\n } else if (dateRange === null && typeof defaultCalendarValue !== 'undefined') {\n // Make the calendar render the value of defaultCalendarValue after clearing the value.\n nextValue = defaultCalendarValue;\n }\n var nextCalendarDate = (0, _utils.getSafeCalendarDate)({\n value: nextValue,\n calendarKey: calendarKey,\n allowSameMonth: allowSameMonth\n });\n setCalendarDateRangeValue(nextCalendarDate);\n if (onlyShowMonth && eventName === 'changeMonth') {\n setSelectedDates(nextCalendarDate);\n }\n };\n (0, _react.useEffect)(function () {\n // If value changes, update the selected and hover date values on the calendar panel.\n setSelectedDates(valueProp !== null && valueProp !== void 0 ? valueProp : []);\n setHoverDateRange(valueProp !== null && valueProp !== void 0 ? valueProp : null);\n }, [valueProp]);\n var getInputHtmlSize = function getInputHtmlSize() {\n var padding = 4;\n var strings = rangeFormatStr;\n if (value) {\n var startDate = value[0],\n endDate = value[1];\n strings = \"\" + formatDate(startDate, formatStr) + character + formatDate(endDate, formatStr);\n }\n return (0, _utils2.getStringLength)(strings) + padding;\n };\n\n /**\n * preset hover range\n */\n var getHoverRangeValue = function getHoverRangeValue(date) {\n function getHoverRangeFunc() {\n if (hoverRange === 'week') {\n return function (date) {\n return (0, _utils.getWeekHoverRange)(date, {\n isoWeek: isoWeek,\n weekStart: weekStart,\n locale: locale === null || locale === void 0 ? void 0 : locale.dateLocale\n });\n };\n } else if (hoverRange === 'month') {\n return _utils.getMonthHoverRange;\n }\n return hoverRange;\n }\n var hoverRangeFunc = getHoverRangeFunc();\n if ((0, _isNil.default)(hoverRangeFunc)) {\n return null;\n }\n var hoverValues = hoverRangeFunc(date);\n var isHoverRangeValid = hoverValues instanceof Array && hoverValues.length === 2;\n if (!isHoverRangeValid) {\n return null;\n }\n if ((0, _date.isAfter)(hoverValues[0], hoverValues[1])) {\n hoverValues = (0, _date.reverseDateRangeOmitTime)(hoverValues);\n }\n return hoverValues;\n };\n var setDateRange = function setDateRange(event, nextValue, closeOverlay) {\n if (closeOverlay === void 0) {\n closeOverlay = true;\n }\n // If nextValue is null, it means that the user is erasing the selected dates.\n setSelectedDates(nextValue !== null && nextValue !== void 0 ? nextValue : []);\n setValue(nextValue);\n if (!(0, _utils.isSameRange)(nextValue, value, formatStr)) {\n onChange === null || onChange === void 0 || onChange(nextValue, event);\n }\n\n // `closeOverlay` default value is `true`\n if (closeOverlay !== false) {\n handleClose();\n }\n };\n\n /**\n * Select the date range. If oneTap is not set, you need to click twice to select the start time and end time.\n * The MouseMove event is called between the first click and the second click to update the selection state.\n */\n var onMouseMove = (0, _hooks.useEventCallback)(function (date) {\n var nextHoverDateRange = getHoverRangeValue(date);\n\n // If hasDoneSelect is false,\n // it means there's already one selected date\n // and waiting for user to select the second date to complete the selection.\n if (!isSelectedIdle) {\n // If `hoverRange` is set, you need to change the value of hoverDateRange according to the rules\n if (!(0, _isNil.default)(nextHoverDateRange) && !(0, _isNil.default)(selectRangeValueRef.current)) {\n var nextSelectedDates = [selectRangeValueRef.current[0], nextHoverDateRange[1]];\n if ((0, _date.isBefore)(nextHoverDateRange[0], selectRangeValueRef.current[0])) {\n nextSelectedDates = [nextHoverDateRange[0], selectRangeValueRef.current[1]];\n }\n setSelectedDates(nextSelectedDates);\n } else {\n setHoverDateRange(function (prevHoverValue) {\n return (0, _isNil.default)(prevHoverValue) ? null : [prevHoverValue[0], date];\n });\n }\n\n // Before the first click, if nextHoverDateRange has a value, hoverDateRange needs to be updated\n } else if (!(0, _isNil.default)(nextHoverDateRange)) {\n setHoverDateRange(nextHoverDateRange);\n }\n });\n\n /**\n * Callback for selecting a date cell in the calendar grid\n */\n var handleSelectDate = (0, _hooks.useEventCallback)(function (index, date, event) {\n var calendarKey = index === 0 ? 'start' : 'end';\n var nextSelectDates = hoverDateRange !== null && hoverDateRange !== void 0 ? hoverDateRange : [];\n var hoverRangeValue = getHoverRangeValue(date);\n var noHoverRangeValid = (0, _isNil.default)(hoverRangeValue);\n\n // in `oneTap` mode\n if (oneTap) {\n setDateRange(event, noHoverRangeValid ? [(0, _date.startOfDay)(date), (0, _date.endOfDay)(date)] : hoverRangeValue);\n onSelect === null || onSelect === void 0 || onSelect(date, event);\n return;\n }\n\n // no preset hover range can use\n if (noHoverRangeValid) {\n // start select\n if (isSelectedIdle) {\n nextSelectDates = [date];\n } else {\n // finish select\n nextSelectDates[1] = date;\n }\n } else {\n if (!isSelectedIdle) {\n nextSelectDates = selectedDates;\n selectRangeValueRef.current = null;\n } else {\n nextSelectDates = hoverRangeValue;\n selectRangeValueRef.current = hoverRangeValue;\n }\n }\n if (nextSelectDates.length === 2) {\n // If user have completed the selection, then sort the selected dates.\n if ((0, _date.isAfter)(nextSelectDates[0], nextSelectDates[1])) {\n nextSelectDates = (0, _date.reverseDateRangeOmitTime)(nextSelectDates);\n }\n if (has('time')) {\n nextSelectDates = [(0, _date.copyTime)({\n from: getCalendarDatetime('start'),\n to: nextSelectDates[0]\n }), (0, _date.copyTime)({\n from: getCalendarDatetime('end'),\n to: nextSelectDates[1]\n })];\n }\n setHoverDateRange(nextSelectDates);\n } else {\n setHoverDateRange([nextSelectDates[0], nextSelectDates[0]]);\n }\n if (isSelectedIdle) {\n setActiveCalendarKey('end');\n } else {\n setActiveCalendarKey('start');\n }\n setSelectedDates(nextSelectDates);\n if (!(0, _date.isSameMonth)(calendarDateRange[index], date) || calendarSnapping) {\n setCalendarDateRange({\n dateRange: nextSelectDates,\n calendarKey: calendarKey,\n eventName: 'changeDate'\n });\n }\n onSelect === null || onSelect === void 0 || onSelect(date, event);\n setSelectedIdle(!isSelectedIdle);\n });\n\n /**\n * If `selectValue` changed, there will be the following effects.\n * 1. Check if the selection is completed.\n * 2. if the selection is completed, set the temporary `hoverValue` empty.\n */\n (0, _react.useEffect)(function () {\n var selectValueLength = selectedDates.length;\n var doneSelected = selectValueLength === 0 || selectValueLength === 2;\n doneSelected && setHoverDateRange(null);\n }, [selectedDates]);\n var onChangeCalendarMonth = (0, _hooks.useEventCallback)(function (index, date) {\n var calendarKey = index === 0 ? 'start' : 'end';\n var nextCalendarDate = Array.from(calendarDateRange);\n nextCalendarDate[index] = date;\n setCalendarDateRange({\n dateRange: nextCalendarDate,\n calendarKey: calendarKey,\n eventName: 'changeMonth'\n });\n });\n var onChangeCalendarTime = (0, _hooks.useEventCallback)(function (index, date) {\n var calendarKey = index === 0 ? 'start' : 'end';\n var nextCalendarDate = Array.from(calendarDateRange);\n nextCalendarDate[index] = date;\n setCalendarDateRange({\n dateRange: nextCalendarDate,\n calendarKey: calendarKey,\n eventName: 'changeTime'\n });\n setSelectedDates(function (prev) {\n var next = [].concat(prev);\n\n // if next[index] is not empty, only update the time after aligning the year, month and day\n next[index] = next[index] ? (0, _date.copyTime)({\n from: date,\n to: next[index]\n }) : new Date(date.valueOf());\n return next;\n });\n });\n var handleEnter = (0, _hooks.useEventCallback)(function () {\n var nextCalendarDate;\n if (value && value.length) {\n var startDate = value[0],\n endData = value[1];\n nextCalendarDate = [startDate, (0, _date.isSameMonth)(startDate, endData) ? (0, _date.addMonths)(endData, calendarGap) : endData];\n } else {\n // Reset the date on the calendar to the default date\n nextCalendarDate = (0, _utils.getSafeCalendarDate)({\n value: defaultCalendarValue !== null && defaultCalendarValue !== void 0 ? defaultCalendarValue : null,\n allowSameMonth: allowSameMonth\n });\n }\n setSelectedDates(value !== null && value !== void 0 ? value : []);\n setCalendarDateRange({\n dateRange: nextCalendarDate\n });\n });\n var handleExit = (0, _hooks.useEventCallback)(function () {\n setSelectedIdle(true);\n });\n\n /**\n * Toolbar operation callback function\n */\n var handleShortcutPageDate = (0, _hooks.useEventCallback)(function (range, closeOverlay, event) {\n if (closeOverlay === void 0) {\n closeOverlay = false;\n }\n var value = range.value;\n setCalendarDateRange({\n dateRange: value,\n eventName: 'shortcutSelection'\n });\n if (closeOverlay) {\n setDateRange(event, value, closeOverlay);\n } else {\n setSelectedDates(value !== null && value !== void 0 ? value : []);\n }\n onShortcutClick === null || onShortcutClick === void 0 || onShortcutClick(range, event);\n\n // End unfinished selections.\n setSelectedIdle(true);\n });\n var calculateDateRange = function calculateDateRange() {\n var _selectedDates$ = selectedDates[0],\n start = _selectedDates$ === void 0 ? calendarDateRange[0] : _selectedDates$,\n _selectedDates$2 = selectedDates[1],\n end = _selectedDates$2 === void 0 ? calendarDateRange[1] : _selectedDates$2;\n if (onlyShowTime) {\n return [start, end];\n }\n return selectedDates;\n };\n var handleClickOK = (0, _hooks.useEventCallback)(function (event) {\n var nextValue = calculateDateRange();\n setDateRange(event, nextValue);\n onOk === null || onOk === void 0 || onOk(nextValue, event);\n });\n var handleClean = (0, _hooks.useEventCallback)(function (event) {\n setCalendarDateRange({\n dateRange: null\n });\n setDateRange(event, null);\n onClean === null || onClean === void 0 || onClean(event);\n event.stopPropagation();\n });\n\n /**\n * Callback after the input box value is changed.\n */\n var handleInputChange = (0, _hooks.useEventCallback)(function (value, event) {\n if (!value) {\n return;\n }\n var startDate = value[0],\n endDate = value[1];\n var selectValue = [startDate, endDate];\n setHoverDateRange(selectValue);\n setSelectedDates(selectValue);\n setCalendarDateRange({\n dateRange: selectValue\n });\n setDateRange(event, selectValue, false);\n });\n\n /**\n * Check if the date is disabled\n */\n var isDateDisabled = (0, _useDateDisabled.default)({\n shouldDisableDate: shouldDisableDate,\n DEPRECATED_disabledDate: DEPRECATED_disabledDate\n });\n\n /**\n * Check if a date range is disabled\n */\n var isRangeDisabled = function isRangeDisabled(start, end, target) {\n if (isDateDisabled) {\n // If the date is between the start and the end the button is disabled\n while ((0, _date.isBefore)(start, end) || (0, _date.isSameDay)(start, end)) {\n if (isDateDisabled(start, {\n selectDate: selectedDates,\n selectedDone: isSelectedIdle,\n target: target\n })) {\n return true;\n }\n start = (0, _date.addDays)(start, 1);\n }\n }\n return false;\n };\n\n /**\n * Determine if the OK button should be disabled\n */\n var shouldDisableOkButton = function shouldDisableOkButton() {\n var _calculateDateRange = calculateDateRange(),\n startDate = _calculateDateRange[0],\n endDate = _calculateDateRange[1];\n\n // Check if start or end dates are missing\n if (!startDate || !endDate) {\n return true;\n }\n\n // Additional condition if only showing time\n if (!onlyShowTime && !isSelectedIdle) {\n return true;\n }\n\n // Check if there is any error in the selected date range\n if (isErrorValue([startDate, endDate])) {\n return true;\n }\n return false;\n };\n\n /**\n * Check if a shortcut is disabled based on the selected date range\n */\n var shouldDisableShortcut = function shouldDisableShortcut(selectedDates) {\n if (selectedDates === void 0) {\n selectedDates = [];\n }\n var _selectedDates = selectedDates,\n startDate = _selectedDates[0],\n endDate = _selectedDates[1];\n\n // Disable if either start or end date is missing\n if (!startDate || !endDate) {\n return true;\n }\n\n // Check if the date range is disabled for the shortcut\n return isRangeDisabled(startDate, endDate, _constants.DATERANGE_DISABLED_TARGET.TOOLBAR_SHORTCUT);\n };\n var handleClose = (0, _hooks.useEventCallback)(function () {\n var _trigger$current, _trigger$current$clos;\n (_trigger$current = trigger.current) === null || _trigger$current === void 0 || (_trigger$current$clos = _trigger$current.close) === null || _trigger$current$clos === void 0 || _trigger$current$clos.call(_trigger$current);\n });\n var handleInputKeyDown = (0, _hooks.useEventCallback)(function (event) {\n (0, _Picker.onMenuKeyDown)(event, {\n esc: handleClose,\n enter: function enter() {\n var _trigger$current2;\n var _ref4 = ((_trigger$current2 = trigger.current) === null || _trigger$current2 === void 0 ? void 0 : _trigger$current2.getState()) || {},\n open = _ref4.open;\n if (!open) {\n var _trigger$current3;\n (_trigger$current3 = trigger.current) === null || _trigger$current3 === void 0 || _trigger$current3.open();\n }\n }\n });\n });\n var disableCalendarDate = isDateDisabled ? function (date, values, type) {\n return isDateDisabled(date, {\n selectDate: values,\n selectedDone: isSelectedIdle,\n target: type\n });\n } : undefined;\n var renderCalendarOverlay = function renderCalendarOverlay(positionProps, speakerRef) {\n var left = positionProps.left,\n top = positionProps.top,\n className = positionProps.className;\n var classes = merge(className, menuClassName, prefix('popup-daterange'));\n var panelClasses = prefix('daterange-panel', {\n 'daterange-panel-show-one-calendar': showOneCalendar,\n 'daterange-panel-only-time': onlyShowTime\n });\n\n /**\n * Set a min-width (528px) when there are two calendars\n * @see https://github.com/rsuite/rsuite/issues/3522\n */\n var panelStyles = {\n minWidth: showOneCalendar || onlyShowTime ? 'auto' : 528\n };\n var styles = (0, _extends2.default)({}, menuStyle, {\n left: left,\n top: top\n });\n var calendarProps = {\n locale: locale,\n isoWeek: isoWeek,\n weekStart: weekStart,\n limitEndYear: limitEndYear,\n showMeridiem: showMeridiem,\n calendarDateRange: calendarDateRange,\n limitStartYear: limitStartYear,\n showWeekNumbers: showWeekNumbers,\n format: formatStr,\n value: selectedDates,\n monthDropdownProps: monthDropdownProps,\n hoverRangeValue: hoverDateRange !== null && hoverDateRange !== void 0 ? hoverDateRange : undefined,\n hideHours: hideHours,\n hideMinutes: hideMinutes,\n hideSeconds: hideSeconds,\n disabledHours: shouldDisableHour,\n disabledMinutes: shouldDisableMinute,\n disabledSeconds: shouldDisableSecond,\n disabledDate: disableCalendarDate,\n onSelect: handleSelectDate,\n onChangeCalendarMonth: onChangeCalendarMonth,\n onChangeCalendarTime: onChangeCalendarTime,\n onMouseMove: onMouseMove,\n renderTitle: renderTitle\n };\n var getCalendars = function getCalendars() {\n if (showOneCalendar) {\n return /*#__PURE__*/_react.default.createElement(_Calendar2.default, (0, _extends2.default)({\n index: activeCalendarKey === 'end' ? 1 : 0\n }, calendarProps, {\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 930,\n columnNumber: 18\n }\n }));\n }\n return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_Calendar2.default, (0, _extends2.default)({\n index: 0\n }, calendarProps, {\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 935,\n columnNumber: 13\n }\n })), /*#__PURE__*/_react.default.createElement(_Calendar2.default, (0, _extends2.default)({\n index: 1\n }, calendarProps, {\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 936,\n columnNumber: 13\n }\n })));\n };\n var sideRanges = (ranges === null || ranges === void 0 ? void 0 : ranges.filter(function (range) {\n return (range === null || range === void 0 ? void 0 : range.placement) === 'left';\n })) || [];\n var bottomRanges = ranges === null || ranges === void 0 ? void 0 : ranges.filter(function (range) {\n return (range === null || range === void 0 ? void 0 : range.placement) === 'bottom' || (range === null || range === void 0 ? void 0 : range.placement) === undefined;\n });\n return /*#__PURE__*/_react.default.createElement(_Picker.PickerPopup, {\n role: \"dialog\",\n \"aria-labelledby\": label ? id + \"-label\" : undefined,\n tabIndex: -1,\n className: classes,\n ref: (0, _utils2.mergeRefs)(overlay, speakerRef),\n target: trigger,\n style: styles,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 947,\n columnNumber: 9\n }\n }, /*#__PURE__*/_react.default.createElement(\"div\", {\n className: panelClasses,\n style: panelStyles,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 956,\n columnNumber: 11\n }\n }, /*#__PURE__*/_react.default.createElement(_Stack.default, {\n alignItems: \"flex-start\",\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 957,\n columnNumber: 13\n }\n }, sideRanges.length > 0 && /*#__PURE__*/_react.default.createElement(_PredefinedRanges.default, {\n direction: \"column\",\n spacing: 0,\n className: prefix('daterange-predefined'),\n ranges: sideRanges,\n calendarDate: calendarDateRange,\n locale: locale,\n disableShortcut: shouldDisableShortcut,\n onShortcutClick: handleShortcutPageDate,\n \"data-testid\": \"daterange-predefined-side\",\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 959,\n columnNumber: 17\n }\n }), /*#__PURE__*/_react.default.createElement(_Stack.default.Item, {\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 972,\n columnNumber: 15\n }\n }, /*#__PURE__*/_react.default.createElement(\"div\", {\n className: prefix('daterange-content'),\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 973,\n columnNumber: 17\n }\n }, showHeader && /*#__PURE__*/_react.default.createElement(_Header.default, {\n value: isSelectedIdle ? selectedDates : hoverDateRange,\n formatStr: formatStr,\n character: character,\n clickable: showOneCalendar,\n activeKey: activeCalendarKey,\n onSelect: setActiveCalendarKey,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 975,\n columnNumber: 21\n }\n }), /*#__PURE__*/_react.default.createElement(\"div\", {\n className: prefix(\"daterange-calendar-\" + (showOneCalendar ? 'single' : 'group')),\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 985,\n columnNumber: 19\n }\n }, /*#__PURE__*/_react.default.createElement(_DateRangePickerProvider.DateRangePickerProvider, {\n value: {\n isSelectedIdle: isSelectedIdle\n },\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 988,\n columnNumber: 21\n }\n }, getCalendars()))), /*#__PURE__*/_react.default.createElement(_Toolbar.default, {\n locale: locale,\n calendarDate: selectedDates,\n disableOkBtn: shouldDisableOkButton,\n disableShortcut: shouldDisableShortcut,\n hideOkBtn: oneTap,\n onOk: handleClickOK,\n onShortcutClick: handleShortcutPageDate,\n ranges: bottomRanges,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 993,\n columnNumber: 17\n }\n })))));\n };\n var hasValue = !(0, _isNil.default)(value) && value.length > 1;\n var _usePickerClassName = (0, _Picker.usePickerClassName)((0, _extends2.default)({}, props, {\n classPrefix: classPrefix,\n name: 'daterange',\n appearance: appearance,\n hasValue: hasValue,\n cleanable: cleanable\n })),\n classes = _usePickerClassName[0],\n usedClassNamePropKeys = _usePickerClassName[1];\n var caretAs = (0, _react.useMemo)(function () {\n if (caretAsProp === null) {\n return null;\n }\n return caretAsProp || (onlyShowTime ? _Time.default : _Calendar.default);\n }, [caretAsProp, onlyShowTime]);\n var isErrorValue = function isErrorValue(value) {\n if (!value) {\n return false;\n }\n\n // If the value is an empty array, it is not an error value.\n if (Array.isArray(value) && value.length === 0) {\n return false;\n }\n var startDate = value[0],\n endDate = value[1];\n if (!(0, _date.isValid)(startDate) || !(0, _date.isValid)(endDate)) {\n return true;\n }\n if ((0, _date.isBefore)(endDate, startDate)) {\n return true;\n }\n var disabledOptions = {\n selectDate: value,\n selectedDone: isSelectedIdle,\n target: _constants.DATERANGE_DISABLED_TARGET.INPUT\n };\n if (isDateDisabled !== null && isDateDisabled !== void 0 && isDateDisabled(startDate, disabledOptions) || isDateDisabled !== null && isDateDisabled !== void 0 && isDateDisabled(endDate, disabledOptions)) {\n return true;\n }\n return false;\n };\n var _partitionHTMLProps = (0, _utils2.partitionHTMLProps)(restProps, {\n htmlProps: [],\n includeAria: true\n }),\n ariaProps = _partitionHTMLProps[0],\n rest = _partitionHTMLProps[1];\n var showCleanButton = cleanable && hasValue && !readOnly;\n var invalidValue = value && isErrorValue(value);\n var _useCustomizedInput = (0, _useCustomizedInput2.default)({\n mode: 'dateRange',\n value: value,\n formatStr: formatStr,\n renderValue: renderValue,\n readOnly: readOnly,\n editable: editable,\n loading: loading\n }),\n customValue = _useCustomizedInput.customValue,\n inputReadOnly = _useCustomizedInput.inputReadOnly,\n Input = _useCustomizedInput.Input,\n events = _useCustomizedInput.events;\n return /*#__PURE__*/_react.default.createElement(_Picker.PickerToggleTrigger, {\n trigger: \"active\",\n ref: trigger,\n pickerProps: (0, _pick.default)(props, _Picker.pickTriggerPropKeys),\n placement: placement,\n onEnter: (0, _utils2.createChainedFunction)(events.onActive, handleEnter, onEnter),\n onExit: (0, _utils2.createChainedFunction)(events.onInactive, handleExit, onExit),\n speaker: renderCalendarOverlay,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 1078,\n columnNumber: 7\n }\n }, /*#__PURE__*/_react.default.createElement(Component, {\n ref: root,\n className: merge(className, classes, (_merge = {}, _merge[prefix('error')] = invalidValue, _merge)),\n style: style,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 1087,\n columnNumber: 9\n }\n }, plaintext ? /*#__PURE__*/_react.default.createElement(_DateRangeInput.default, {\n value: value,\n format: formatStr,\n plaintext: plaintext,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 1093,\n columnNumber: 13\n }\n }) : /*#__PURE__*/_react.default.createElement(_InputGroup.default, (0, _extends2.default)({}, (0, _omit.default)(rest, [].concat(_Picker.omitTriggerPropKeys, usedClassNamePropKeys, _date.calendarOnlyProps)), {\n inside: true,\n className: prefix(_templateObject || (_templateObject = (0, _taggedTemplateLiteralLoose2.default)([\"input-group\"]))),\n disabled: disabled,\n size: size,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 1095,\n columnNumber: 13\n }\n }), /*#__PURE__*/_react.default.createElement(_Picker.PickerLabel, {\n className: prefix(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteralLoose2.default)([\"label\"]))),\n id: id + \"-label\",\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 1106,\n columnNumber: 15\n }\n }, label), /*#__PURE__*/_react.default.createElement(Input, (0, _extends2.default)({\n \"aria-haspopup\": \"dialog\",\n \"aria-invalid\": invalidValue,\n \"aria-labelledby\": label ? id + \"-label\" : undefined\n }, ariaProps, {\n ref: target,\n id: id,\n value: customValue || value,\n character: character,\n format: formatStr,\n placeholder: placeholder ? placeholder : rangeFormatStr,\n disabled: disabled,\n readOnly: inputReadOnly,\n htmlSize: getInputHtmlSize(),\n onChange: handleInputChange,\n onKeyDown: handleInputKeyDown,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 1109,\n columnNumber: 15\n }\n })), /*#__PURE__*/_react.default.createElement(_Picker.PickerIndicator, {\n loading: loading,\n caretAs: caretAs,\n onClose: handleClean,\n showCleanButton: showCleanButton,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 1126,\n columnNumber: 15\n }\n }))));\n});\nDateRangePicker.displayName = 'DateRangePicker';\nDateRangePicker.propTypes = (0, _extends2.default)({}, _Picker.pickerPropTypes, {\n ranges: _propTypes.default.array,\n value: _propTypes.default.arrayOf(_propTypes.default.instanceOf(Date)),\n defaultValue: _propTypes.default.arrayOf(_propTypes.default.instanceOf(Date)),\n defaultCalendarValue: _propTypes.default.arrayOf(_propTypes.default.instanceOf(Date)),\n hoverRange: _propTypes.default.oneOfType([(0, _propTypes2.oneOf)(['week', 'month']), _propTypes.default.func]),\n format: _propTypes.default.string,\n hideHours: _propTypes.default.func,\n hideMinutes: _propTypes.default.func,\n hideSeconds: _propTypes.default.func,\n isoWeek: _propTypes.default.bool,\n weekStart: _propTypes.default.oneOf([0, 1, 2, 3, 4, 5, 6]),\n oneTap: _propTypes.default.bool,\n limitEndYear: _propTypes.default.number,\n limitStartYear: _propTypes.default.number,\n onChange: _propTypes.default.func,\n onOk: _propTypes.default.func,\n disabledDate: (0, _propTypes2.deprecatePropTypeNew)(_propTypes.default.func, 'Use \"shouldDisableDate\" property instead.'),\n shouldDisableDate: _propTypes.default.func,\n onSelect: _propTypes.default.func,\n showWeekNumbers: _propTypes.default.bool,\n showMeridiem: _propTypes.default.bool,\n showOneCalendar: _propTypes.default.bool\n});\nvar _default = exports[\"default\"] = DateRangePicker;\n\n//# sourceURL=webpack://rsuite/./src/DateRangePicker/DateRangePicker.tsx?");
|
|
2581
|
+
eval("\n\nvar _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ \"./node_modules/@babel/runtime/helpers/interopRequireDefault.js\");\nexports.__esModule = true;\nexports[\"default\"] = void 0;\nvar _taggedTemplateLiteralLoose2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/taggedTemplateLiteralLoose */ \"./node_modules/@babel/runtime/helpers/taggedTemplateLiteralLoose.js\"));\nvar _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ \"./node_modules/@babel/runtime/helpers/extends.js\"));\nvar _objectWithoutPropertiesLoose2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/objectWithoutPropertiesLoose */ \"./node_modules/@babel/runtime/helpers/objectWithoutPropertiesLoose.js\"));\nvar _react = _interopRequireWildcard(__webpack_require__(/*! react */ \"react\"));\nvar _isNil = _interopRequireDefault(__webpack_require__(/*! lodash/isNil */ \"./node_modules/lodash/isNil.js\"));\nvar _omit = _interopRequireDefault(__webpack_require__(/*! lodash/omit */ \"./node_modules/lodash/omit.js\"));\nvar _pick = _interopRequireDefault(__webpack_require__(/*! lodash/pick */ \"./node_modules/lodash/pick.js\"));\nvar _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ \"./node_modules/prop-types/index.js\"));\nvar _Calendar = _interopRequireDefault(__webpack_require__(/*! @rsuite/icons/Calendar */ \"./node_modules/@rsuite/icons/esm/react/Calendar.js\"));\nvar _Time = _interopRequireDefault(__webpack_require__(/*! @rsuite/icons/Time */ \"./node_modules/@rsuite/icons/esm/react/Time.js\"));\nvar _Toolbar = _interopRequireDefault(__webpack_require__(/*! ../DatePicker/Toolbar */ \"./src/DatePicker/Toolbar.tsx\"));\nvar _PredefinedRanges = _interopRequireDefault(__webpack_require__(/*! ../DatePicker/PredefinedRanges */ \"./src/DatePicker/PredefinedRanges.tsx\"));\nvar _Stack = _interopRequireDefault(__webpack_require__(/*! ../Stack */ \"./src/Stack/index.tsx\"));\nvar _DateRangePickerProvider = __webpack_require__(/*! ./DateRangePickerProvider */ \"./src/DateRangePicker/DateRangePickerProvider.ts\");\nvar _DateRangeInput = _interopRequireDefault(__webpack_require__(/*! ../DateRangeInput */ \"./src/DateRangeInput/index.tsx\"));\nvar _InputGroup = _interopRequireDefault(__webpack_require__(/*! ../InputGroup */ \"./src/InputGroup/index.tsx\"));\nvar _Header = _interopRequireDefault(__webpack_require__(/*! ./Header */ \"./src/DateRangePicker/Header.tsx\"));\nvar _useDateDisabled = _interopRequireDefault(__webpack_require__(/*! ./hooks/useDateDisabled */ \"./src/DateRangePicker/hooks/useDateDisabled.ts\"));\nvar _useCustomizedInput2 = _interopRequireDefault(__webpack_require__(/*! ../DatePicker/hooks/useCustomizedInput */ \"./src/DatePicker/hooks/useCustomizedInput.ts\"));\nvar _Calendar2 = _interopRequireDefault(__webpack_require__(/*! ./Calendar */ \"./src/DateRangePicker/Calendar.tsx\"));\nvar _utils = __webpack_require__(/*! ./utils */ \"./src/DateRangePicker/utils.ts\");\nvar _propTypes2 = __webpack_require__(/*! ../internals/propTypes */ \"./src/internals/propTypes/index.ts\");\nvar _constants = __webpack_require__(/*! ../internals/constants */ \"./src/internals/constants/index.ts\");\nvar _hooks = __webpack_require__(/*! ../internals/hooks */ \"./src/internals/hooks/index.ts\");\nvar _Picker = __webpack_require__(/*! ../internals/Picker */ \"./src/internals/Picker/index.ts\");\nvar _utils2 = __webpack_require__(/*! ../internals/utils */ \"./src/internals/utils/index.ts\");\nvar _date = __webpack_require__(/*! ../internals/utils/date */ \"./src/internals/utils/date/index.ts\");\nvar _CustomProvider = __webpack_require__(/*! ../CustomProvider */ \"./src/CustomProvider/index.tsx\");\nvar _excluded = [\"as\", \"classPrefix\", \"className\", \"appearance\", \"editable\", \"cleanable\", \"character\", \"calendarSnapping\", \"defaultCalendarValue\", \"defaultValue\", \"plaintext\", \"disabled\", \"disabledDate\", \"shouldDisableDate\", \"shouldDisableHour\", \"shouldDisableMinute\", \"shouldDisableSecond\", \"format\", \"hoverRange\", \"id\", \"isoWeek\", \"weekStart\", \"limitEndYear\", \"limitStartYear\", \"locale\", \"loading\", \"label\", \"menuClassName\", \"menuStyle\", \"oneTap\", \"placeholder\", \"placement\", \"ranges\", \"readOnly\", \"showOneCalendar\", \"showWeekNumbers\", \"showMeridian\", \"showMeridiem\", \"showHeader\", \"style\", \"size\", \"caretAs\", \"value\", \"monthDropdownProps\", \"hideHours\", \"hideMinutes\", \"hideSeconds\", \"onChange\", \"onClean\", \"onEnter\", \"onExit\", \"onOk\", \"onSelect\", \"onShortcutClick\", \"renderTitle\", \"renderValue\", \"renderCell\"];\nvar _jsxFileName = \"/home/runner/work/rsuite/rsuite/src/DateRangePicker/DateRangePicker.tsx\",\n _this = void 0,\n _templateObject,\n _templateObject2;\nfunction _getRequireWildcardCache(e) { if (\"function\" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }\nfunction _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || \"object\" != typeof e && \"function\" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if (\"default\" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }\n/**\n * A date range picker allows you to select a date range from a calendar.\n *\n * @see https://rsuitejs.com/components/date-range-picker\n */\nvar DateRangePicker = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {\n var _ref, _ref2, _merge;\n var _useCustom = (0, _CustomProvider.useCustom)('DateRangePicker', props),\n formatDate = _useCustom.formatDate,\n propsWithDefaults = _useCustom.propsWithDefaults;\n var _propsWithDefaults$as = propsWithDefaults.as,\n Component = _propsWithDefaults$as === void 0 ? 'div' : _propsWithDefaults$as,\n _propsWithDefaults$cl = propsWithDefaults.classPrefix,\n classPrefix = _propsWithDefaults$cl === void 0 ? 'picker' : _propsWithDefaults$cl,\n className = propsWithDefaults.className,\n _propsWithDefaults$ap = propsWithDefaults.appearance,\n appearance = _propsWithDefaults$ap === void 0 ? 'default' : _propsWithDefaults$ap,\n _propsWithDefaults$ed = propsWithDefaults.editable,\n editable = _propsWithDefaults$ed === void 0 ? true : _propsWithDefaults$ed,\n _propsWithDefaults$cl2 = propsWithDefaults.cleanable,\n cleanable = _propsWithDefaults$cl2 === void 0 ? true : _propsWithDefaults$cl2,\n _propsWithDefaults$ch = propsWithDefaults.character,\n character = _propsWithDefaults$ch === void 0 ? ' ~ ' : _propsWithDefaults$ch,\n calendarSnapping = propsWithDefaults.calendarSnapping,\n defaultCalendarValue = propsWithDefaults.defaultCalendarValue,\n defaultValue = propsWithDefaults.defaultValue,\n plaintext = propsWithDefaults.plaintext,\n disabled = propsWithDefaults.disabled,\n DEPRECATED_disabledDate = propsWithDefaults.disabledDate,\n shouldDisableDate = propsWithDefaults.shouldDisableDate,\n shouldDisableHour = propsWithDefaults.shouldDisableHour,\n shouldDisableMinute = propsWithDefaults.shouldDisableMinute,\n shouldDisableSecond = propsWithDefaults.shouldDisableSecond,\n format = propsWithDefaults.format,\n hoverRange = propsWithDefaults.hoverRange,\n idProp = propsWithDefaults.id,\n _propsWithDefaults$is = propsWithDefaults.isoWeek,\n isoWeek = _propsWithDefaults$is === void 0 ? false : _propsWithDefaults$is,\n _propsWithDefaults$we = propsWithDefaults.weekStart,\n weekStart = _propsWithDefaults$we === void 0 ? 0 : _propsWithDefaults$we,\n _propsWithDefaults$li = propsWithDefaults.limitEndYear,\n limitEndYear = _propsWithDefaults$li === void 0 ? 1000 : _propsWithDefaults$li,\n limitStartYear = propsWithDefaults.limitStartYear,\n locale = propsWithDefaults.locale,\n loading = propsWithDefaults.loading,\n label = propsWithDefaults.label,\n menuClassName = propsWithDefaults.menuClassName,\n menuStyle = propsWithDefaults.menuStyle,\n oneTap = propsWithDefaults.oneTap,\n _propsWithDefaults$pl = propsWithDefaults.placeholder,\n placeholder = _propsWithDefaults$pl === void 0 ? '' : _propsWithDefaults$pl,\n _propsWithDefaults$pl2 = propsWithDefaults.placement,\n placement = _propsWithDefaults$pl2 === void 0 ? 'bottomStart' : _propsWithDefaults$pl2,\n ranges = propsWithDefaults.ranges,\n readOnly = propsWithDefaults.readOnly,\n _propsWithDefaults$sh = propsWithDefaults.showOneCalendar,\n showOneCalendar = _propsWithDefaults$sh === void 0 ? false : _propsWithDefaults$sh,\n showWeekNumbers = propsWithDefaults.showWeekNumbers,\n DEPRECATED_showMeridian = propsWithDefaults.showMeridian,\n _propsWithDefaults$sh2 = propsWithDefaults.showMeridiem,\n showMeridiem = _propsWithDefaults$sh2 === void 0 ? DEPRECATED_showMeridian : _propsWithDefaults$sh2,\n _propsWithDefaults$sh3 = propsWithDefaults.showHeader,\n showHeader = _propsWithDefaults$sh3 === void 0 ? true : _propsWithDefaults$sh3,\n style = propsWithDefaults.style,\n size = propsWithDefaults.size,\n caretAsProp = propsWithDefaults.caretAs,\n valueProp = propsWithDefaults.value,\n monthDropdownProps = propsWithDefaults.monthDropdownProps,\n hideHours = propsWithDefaults.hideHours,\n hideMinutes = propsWithDefaults.hideMinutes,\n hideSeconds = propsWithDefaults.hideSeconds,\n onChange = propsWithDefaults.onChange,\n onClean = propsWithDefaults.onClean,\n onEnter = propsWithDefaults.onEnter,\n onExit = propsWithDefaults.onExit,\n onOk = propsWithDefaults.onOk,\n onSelect = propsWithDefaults.onSelect,\n onShortcutClick = propsWithDefaults.onShortcutClick,\n renderTitle = propsWithDefaults.renderTitle,\n renderValue = propsWithDefaults.renderValue,\n renderCell = propsWithDefaults.renderCell,\n restProps = (0, _objectWithoutPropertiesLoose2.default)(propsWithDefaults, _excluded);\n var id = (0, _hooks.useUniqueId)('rs-', idProp);\n var _usePickerRef = (0, _Picker.usePickerRef)(ref),\n trigger = _usePickerRef.trigger,\n root = _usePickerRef.root,\n target = _usePickerRef.target,\n overlay = _usePickerRef.overlay;\n var _useClassNames = (0, _hooks.useClassNames)(classPrefix),\n merge = _useClassNames.merge,\n prefix = _useClassNames.prefix;\n var formatStr = format || (locale === null || locale === void 0 ? void 0 : locale.shortDateFormat) || 'yyyy-MM-dd';\n var rangeFormatStr = \"\" + formatStr + character + formatStr;\n var _useControlled = (0, _hooks.useControlled)(valueProp, defaultValue !== null && defaultValue !== void 0 ? defaultValue : null),\n value = _useControlled[0],\n setValue = _useControlled[1];\n var _useDateMode = (0, _date.useDateMode)(formatStr),\n mode = _useDateMode.mode,\n has = _useDateMode.has;\n\n // Show only the calendar month panel. formatStr = 'yyyy-MM'\n var onlyShowMonth = mode === _date.DateMode.Month;\n\n // Only show the time panel. formatStr = 'HH:mm:ss'\n var onlyShowTime = mode === _date.DateMode.Time;\n\n // Allows two calendar panels to display the same month.\n var allowSameMonth = onlyShowMonth || showOneCalendar || onlyShowTime;\n\n // Default gap between two calendars, if `showOneCalendar` is set, the gap is 0\n var calendarGap = allowSameMonth ? 0 : 1;\n\n /**\n * Whether to complete the selection.\n * Everytime selection will change this value. If the value is false, it means that the selection has not been completed.\n *\n * In `oneTap` mode, select action will not change this value, its value should be true always.\n */\n var _useState = (0, _react.useState)(true),\n isSelectedIdle = _useState[0],\n setSelectedIdle = _useState[1];\n\n /**\n * The currently selected date range.\n *\n * The time range is selected by two clicks. After the first click,\n * the cursor will store a temporary event date in the process until\n * the second click to determine the end date of the date range.\n *\n */\n var _useState2 = (0, _react.useState)((_ref = valueProp !== null && valueProp !== void 0 ? valueProp : defaultValue) !== null && _ref !== void 0 ? _ref : []),\n selectedDates = _useState2[0],\n setSelectedDates = _useState2[1];\n\n // The date of the current hover, used to reduce the calculation of `handleMouseMove`\n var _useState3 = (0, _react.useState)(value),\n hoverDateRange = _useState3[0],\n setHoverDateRange = _useState3[1];\n\n // The displayed calendar panel is rendered based on this value.\n var _useState4 = (0, _react.useState)((0, _utils.getSafeCalendarDate)({\n value: (_ref2 = value !== null && value !== void 0 ? value : defaultCalendarValue) !== null && _ref2 !== void 0 ? _ref2 : null,\n allowSameMonth: allowSameMonth\n })),\n calendarDateRange = _useState4[0],\n setCalendarDateRangeValue = _useState4[1];\n\n /**\n * When hoverRange is set, `selectValue` will be updated during the hover process,\n * which will cause the `selectValue` to be updated after the first click,\n * so declare a Ref to temporarily store the `selectValue` of the first click.\n */\n var selectRangeValueRef = (0, _react.useRef)(null);\n\n /**\n *\n * The key of the currently active calendar panel.\n * Used to switch when only one calendar panel is displayed.\n */\n var _useState5 = (0, _react.useState)(),\n activeCalendarKey = _useState5[0],\n setActiveCalendarKey = _useState5[1];\n\n /**\n * Get the time on the calendar.\n */\n var getCalendarDatetime = function getCalendarDatetime(calendarKey) {\n var index = calendarKey === 'start' ? 0 : 1;\n return (calendarDateRange === null || calendarDateRange === void 0 ? void 0 : calendarDateRange[index]) || (defaultCalendarValue === null || defaultCalendarValue === void 0 ? void 0 : defaultCalendarValue[index]);\n };\n\n /**\n * Call this function to update the calendar panel rendering benchmark value.\n * If params `value` is not passed, it defaults to [new Date(), addMonth(new Date(), 1)].\n */\n var setCalendarDateRange = function setCalendarDateRange(_ref3) {\n var dateRange = _ref3.dateRange,\n calendarKey = _ref3.calendarKey,\n eventName = _ref3.eventName;\n var nextValue = dateRange;\n\n // The time should remain the same when the dates in the date range are changed.\n if (has('time') && dateRange !== null && dateRange !== void 0 && dateRange.length && (eventName === 'changeDate' || eventName === 'changeMonth')) {\n var startDate = (0, _date.copyTime)({\n from: getCalendarDatetime('start'),\n to: dateRange[0]\n });\n var endDate = (0, _date.copyTime)({\n from: getCalendarDatetime('end'),\n to: dateRange.length === 1 ? (0, _date.addMonths)(startDate, calendarGap) : dateRange[1]\n });\n nextValue = [startDate, endDate];\n } else if (dateRange === null && typeof defaultCalendarValue !== 'undefined') {\n // Make the calendar render the value of defaultCalendarValue after clearing the value.\n nextValue = defaultCalendarValue;\n }\n var nextCalendarDate = (0, _utils.getSafeCalendarDate)({\n value: nextValue,\n calendarKey: calendarKey,\n allowSameMonth: allowSameMonth\n });\n setCalendarDateRangeValue(nextCalendarDate);\n if (onlyShowMonth && eventName === 'changeMonth') {\n setSelectedDates(nextCalendarDate);\n }\n };\n (0, _react.useEffect)(function () {\n // If value changes, update the selected and hover date values on the calendar panel.\n setSelectedDates(valueProp !== null && valueProp !== void 0 ? valueProp : []);\n setHoverDateRange(valueProp !== null && valueProp !== void 0 ? valueProp : null);\n }, [valueProp]);\n var getInputHtmlSize = function getInputHtmlSize() {\n var padding = 4;\n var strings = rangeFormatStr;\n if (value) {\n var startDate = value[0],\n endDate = value[1];\n strings = \"\" + formatDate(startDate, formatStr) + character + formatDate(endDate, formatStr);\n }\n return (0, _utils2.getStringLength)(strings) + padding;\n };\n\n /**\n * preset hover range\n */\n var getHoverRangeValue = function getHoverRangeValue(date) {\n function getHoverRangeFunc() {\n if (hoverRange === 'week') {\n return function (date) {\n return (0, _utils.getWeekHoverRange)(date, {\n isoWeek: isoWeek,\n weekStart: weekStart,\n locale: locale === null || locale === void 0 ? void 0 : locale.dateLocale\n });\n };\n } else if (hoverRange === 'month') {\n return _utils.getMonthHoverRange;\n }\n return hoverRange;\n }\n var hoverRangeFunc = getHoverRangeFunc();\n if ((0, _isNil.default)(hoverRangeFunc)) {\n return null;\n }\n var hoverValues = hoverRangeFunc(date);\n var isHoverRangeValid = hoverValues instanceof Array && hoverValues.length === 2;\n if (!isHoverRangeValid) {\n return null;\n }\n if ((0, _date.isAfter)(hoverValues[0], hoverValues[1])) {\n hoverValues = (0, _date.reverseDateRangeOmitTime)(hoverValues);\n }\n return hoverValues;\n };\n var setDateRange = function setDateRange(event, nextValue, closeOverlay) {\n if (closeOverlay === void 0) {\n closeOverlay = true;\n }\n // If nextValue is null, it means that the user is erasing the selected dates.\n setSelectedDates(nextValue !== null && nextValue !== void 0 ? nextValue : []);\n setValue(nextValue);\n if (!(0, _utils.isSameRange)(nextValue, value, formatStr)) {\n onChange === null || onChange === void 0 || onChange(nextValue, event);\n }\n\n // `closeOverlay` default value is `true`\n if (closeOverlay !== false) {\n handleClose();\n }\n };\n\n /**\n * Select the date range. If oneTap is not set, you need to click twice to select the start time and end time.\n * The MouseMove event is called between the first click and the second click to update the selection state.\n */\n var onMouseMove = (0, _hooks.useEventCallback)(function (date) {\n var nextHoverDateRange = getHoverRangeValue(date);\n\n // If hasDoneSelect is false,\n // it means there's already one selected date\n // and waiting for user to select the second date to complete the selection.\n if (!isSelectedIdle) {\n // If `hoverRange` is set, you need to change the value of hoverDateRange according to the rules\n if (!(0, _isNil.default)(nextHoverDateRange) && !(0, _isNil.default)(selectRangeValueRef.current)) {\n var nextSelectedDates = [selectRangeValueRef.current[0], nextHoverDateRange[1]];\n if ((0, _date.isBefore)(nextHoverDateRange[0], selectRangeValueRef.current[0])) {\n nextSelectedDates = [nextHoverDateRange[0], selectRangeValueRef.current[1]];\n }\n setSelectedDates(nextSelectedDates);\n } else {\n setHoverDateRange(function (prevHoverValue) {\n return (0, _isNil.default)(prevHoverValue) ? null : [prevHoverValue[0], date];\n });\n }\n\n // Before the first click, if nextHoverDateRange has a value, hoverDateRange needs to be updated\n } else if (!(0, _isNil.default)(nextHoverDateRange)) {\n setHoverDateRange(nextHoverDateRange);\n }\n });\n\n /**\n * Callback for selecting a date cell in the calendar grid\n */\n var handleSelectDate = (0, _hooks.useEventCallback)(function (index, date, event) {\n var calendarKey = index === 0 ? 'start' : 'end';\n var nextSelectDates = hoverDateRange !== null && hoverDateRange !== void 0 ? hoverDateRange : [];\n var hoverRangeValue = getHoverRangeValue(date);\n var noHoverRangeValid = (0, _isNil.default)(hoverRangeValue);\n\n // in `oneTap` mode\n if (oneTap) {\n setDateRange(event, noHoverRangeValid ? [(0, _date.startOfDay)(date), (0, _date.endOfDay)(date)] : hoverRangeValue);\n onSelect === null || onSelect === void 0 || onSelect(date, event);\n return;\n }\n\n // no preset hover range can use\n if (noHoverRangeValid) {\n // start select\n if (isSelectedIdle) {\n nextSelectDates = [date];\n } else {\n // finish select\n nextSelectDates[1] = date;\n }\n } else {\n if (!isSelectedIdle) {\n nextSelectDates = selectedDates;\n selectRangeValueRef.current = null;\n } else {\n nextSelectDates = hoverRangeValue;\n selectRangeValueRef.current = hoverRangeValue;\n }\n }\n if (nextSelectDates.length === 2) {\n // If user have completed the selection, then sort the selected dates.\n if ((0, _date.isAfter)(nextSelectDates[0], nextSelectDates[1])) {\n nextSelectDates = (0, _date.reverseDateRangeOmitTime)(nextSelectDates);\n }\n if (has('time')) {\n nextSelectDates = [(0, _date.copyTime)({\n from: getCalendarDatetime('start'),\n to: nextSelectDates[0]\n }), (0, _date.copyTime)({\n from: getCalendarDatetime('end'),\n to: nextSelectDates[1]\n })];\n }\n setHoverDateRange(nextSelectDates);\n } else {\n setHoverDateRange([nextSelectDates[0], nextSelectDates[0]]);\n }\n if (isSelectedIdle) {\n setActiveCalendarKey('end');\n } else {\n setActiveCalendarKey('start');\n }\n setSelectedDates(nextSelectDates);\n if (!(0, _date.isSameMonth)(calendarDateRange[index], date) || calendarSnapping) {\n setCalendarDateRange({\n dateRange: nextSelectDates,\n calendarKey: calendarKey,\n eventName: 'changeDate'\n });\n }\n onSelect === null || onSelect === void 0 || onSelect(date, event);\n setSelectedIdle(!isSelectedIdle);\n });\n\n /**\n * If `selectValue` changed, there will be the following effects.\n * 1. Check if the selection is completed.\n * 2. if the selection is completed, set the temporary `hoverValue` empty.\n */\n (0, _react.useEffect)(function () {\n var selectValueLength = selectedDates.length;\n var doneSelected = selectValueLength === 0 || selectValueLength === 2;\n doneSelected && setHoverDateRange(null);\n }, [selectedDates]);\n var onChangeCalendarMonth = (0, _hooks.useEventCallback)(function (index, date) {\n var calendarKey = index === 0 ? 'start' : 'end';\n var nextCalendarDate = Array.from(calendarDateRange);\n nextCalendarDate[index] = date;\n setCalendarDateRange({\n dateRange: nextCalendarDate,\n calendarKey: calendarKey,\n eventName: 'changeMonth'\n });\n });\n var onChangeCalendarTime = (0, _hooks.useEventCallback)(function (index, date) {\n var calendarKey = index === 0 ? 'start' : 'end';\n var nextCalendarDate = Array.from(calendarDateRange);\n nextCalendarDate[index] = date;\n setCalendarDateRange({\n dateRange: nextCalendarDate,\n calendarKey: calendarKey,\n eventName: 'changeTime'\n });\n setSelectedDates(function (prev) {\n var next = [].concat(prev);\n\n // if next[index] is not empty, only update the time after aligning the year, month and day\n next[index] = next[index] ? (0, _date.copyTime)({\n from: date,\n to: next[index]\n }) : new Date(date.valueOf());\n return next;\n });\n });\n var handleEnter = (0, _hooks.useEventCallback)(function () {\n var nextCalendarDate;\n if (value && value.length) {\n var startDate = value[0],\n endData = value[1];\n nextCalendarDate = [startDate, (0, _date.isSameMonth)(startDate, endData) ? (0, _date.addMonths)(endData, calendarGap) : endData];\n } else {\n // Reset the date on the calendar to the default date\n nextCalendarDate = (0, _utils.getSafeCalendarDate)({\n value: defaultCalendarValue !== null && defaultCalendarValue !== void 0 ? defaultCalendarValue : null,\n allowSameMonth: allowSameMonth\n });\n }\n setSelectedDates(value !== null && value !== void 0 ? value : []);\n setCalendarDateRange({\n dateRange: nextCalendarDate\n });\n });\n var handleExit = (0, _hooks.useEventCallback)(function () {\n setSelectedIdle(true);\n });\n\n /**\n * Toolbar operation callback function\n */\n var handleShortcutPageDate = (0, _hooks.useEventCallback)(function (range, closeOverlay, event) {\n if (closeOverlay === void 0) {\n closeOverlay = false;\n }\n var value = range.value;\n setCalendarDateRange({\n dateRange: value,\n eventName: 'shortcutSelection'\n });\n if (closeOverlay) {\n setDateRange(event, value, closeOverlay);\n } else {\n setSelectedDates(value !== null && value !== void 0 ? value : []);\n }\n onShortcutClick === null || onShortcutClick === void 0 || onShortcutClick(range, event);\n\n // End unfinished selections.\n setSelectedIdle(true);\n });\n var calculateDateRange = function calculateDateRange() {\n var _selectedDates$ = selectedDates[0],\n start = _selectedDates$ === void 0 ? calendarDateRange[0] : _selectedDates$,\n _selectedDates$2 = selectedDates[1],\n end = _selectedDates$2 === void 0 ? calendarDateRange[1] : _selectedDates$2;\n if (onlyShowTime) {\n return [start, end];\n }\n return selectedDates;\n };\n var handleClickOK = (0, _hooks.useEventCallback)(function (event) {\n var nextValue = calculateDateRange();\n setDateRange(event, nextValue);\n onOk === null || onOk === void 0 || onOk(nextValue, event);\n });\n var handleClean = (0, _hooks.useEventCallback)(function (event) {\n setCalendarDateRange({\n dateRange: null\n });\n setDateRange(event, null);\n onClean === null || onClean === void 0 || onClean(event);\n event.stopPropagation();\n });\n\n /**\n * Callback after the input box value is changed.\n */\n var handleInputChange = (0, _hooks.useEventCallback)(function (value, event) {\n if (!value) {\n return;\n }\n var startDate = value[0],\n endDate = value[1];\n var selectValue = [startDate, endDate];\n setHoverDateRange(selectValue);\n setSelectedDates(selectValue);\n setCalendarDateRange({\n dateRange: selectValue\n });\n setDateRange(event, selectValue, false);\n });\n\n /**\n * Check if the date is disabled\n */\n var isDateDisabled = (0, _useDateDisabled.default)({\n shouldDisableDate: shouldDisableDate,\n DEPRECATED_disabledDate: DEPRECATED_disabledDate\n });\n\n /**\n * Check if a date range is disabled\n */\n var isRangeDisabled = function isRangeDisabled(start, end, target) {\n if (isDateDisabled) {\n // If the date is between the start and the end the button is disabled\n while ((0, _date.isBefore)(start, end) || (0, _date.isSameDay)(start, end)) {\n if (isDateDisabled(start, {\n selectDate: selectedDates,\n selectedDone: isSelectedIdle,\n target: target\n })) {\n return true;\n }\n start = (0, _date.addDays)(start, 1);\n }\n }\n return false;\n };\n\n /**\n * Determine if the OK button should be disabled\n */\n var shouldDisableOkButton = function shouldDisableOkButton() {\n var _calculateDateRange = calculateDateRange(),\n startDate = _calculateDateRange[0],\n endDate = _calculateDateRange[1];\n\n // Check if start or end dates are missing\n if (!startDate || !endDate) {\n return true;\n }\n\n // Additional condition if only showing time\n if (!onlyShowTime && !isSelectedIdle) {\n return true;\n }\n\n // Check if there is any error in the selected date range\n if (isErrorValue([startDate, endDate])) {\n return true;\n }\n return false;\n };\n\n /**\n * Check if a shortcut is disabled based on the selected date range\n */\n var shouldDisableShortcut = function shouldDisableShortcut(selectedDates) {\n if (selectedDates === void 0) {\n selectedDates = [];\n }\n var _selectedDates = selectedDates,\n startDate = _selectedDates[0],\n endDate = _selectedDates[1];\n\n // Disable if either start or end date is missing\n if (!startDate || !endDate) {\n return true;\n }\n\n // Check if the date range is disabled for the shortcut\n return isRangeDisabled(startDate, endDate, _constants.DATERANGE_DISABLED_TARGET.TOOLBAR_SHORTCUT);\n };\n var handleClose = (0, _hooks.useEventCallback)(function () {\n var _trigger$current, _trigger$current$clos;\n (_trigger$current = trigger.current) === null || _trigger$current === void 0 || (_trigger$current$clos = _trigger$current.close) === null || _trigger$current$clos === void 0 || _trigger$current$clos.call(_trigger$current);\n });\n var handleInputKeyDown = (0, _hooks.useEventCallback)(function (event) {\n (0, _Picker.onMenuKeyDown)(event, {\n esc: handleClose,\n enter: function enter() {\n var _trigger$current2;\n var _ref4 = ((_trigger$current2 = trigger.current) === null || _trigger$current2 === void 0 ? void 0 : _trigger$current2.getState()) || {},\n open = _ref4.open;\n if (!open) {\n var _trigger$current3;\n (_trigger$current3 = trigger.current) === null || _trigger$current3 === void 0 || _trigger$current3.open();\n }\n }\n });\n });\n var disableCalendarDate = isDateDisabled ? function (date, values, type) {\n return isDateDisabled(date, {\n selectDate: values,\n selectedDone: isSelectedIdle,\n target: type\n });\n } : undefined;\n var renderCalendarOverlay = function renderCalendarOverlay(positionProps, speakerRef) {\n var left = positionProps.left,\n top = positionProps.top,\n className = positionProps.className;\n var classes = merge(className, menuClassName, prefix('popup-daterange'));\n var panelClasses = prefix('daterange-panel', {\n 'daterange-panel-show-one-calendar': showOneCalendar,\n 'daterange-panel-only-time': onlyShowTime\n });\n\n /**\n * Set a min-width (528px) when there are two calendars\n * @see https://github.com/rsuite/rsuite/issues/3522\n */\n var panelStyles = {\n minWidth: showOneCalendar || onlyShowTime ? 'auto' : 528\n };\n var styles = (0, _extends2.default)({}, menuStyle, {\n left: left,\n top: top\n });\n var calendarProps = {\n locale: locale,\n isoWeek: isoWeek,\n weekStart: weekStart,\n limitEndYear: limitEndYear,\n showMeridiem: showMeridiem,\n calendarDateRange: calendarDateRange,\n limitStartYear: limitStartYear,\n showWeekNumbers: showWeekNumbers,\n format: formatStr,\n value: selectedDates,\n monthDropdownProps: monthDropdownProps,\n hoverRangeValue: hoverDateRange !== null && hoverDateRange !== void 0 ? hoverDateRange : undefined,\n hideHours: hideHours,\n hideMinutes: hideMinutes,\n hideSeconds: hideSeconds,\n disabledHours: shouldDisableHour,\n disabledMinutes: shouldDisableMinute,\n disabledSeconds: shouldDisableSecond,\n disabledDate: disableCalendarDate,\n onSelect: handleSelectDate,\n onChangeCalendarMonth: onChangeCalendarMonth,\n onChangeCalendarTime: onChangeCalendarTime,\n onMouseMove: onMouseMove,\n renderTitle: renderTitle,\n renderCellOnPicker: renderCell\n };\n var getCalendars = function getCalendars() {\n if (showOneCalendar) {\n return /*#__PURE__*/_react.default.createElement(_Calendar2.default, (0, _extends2.default)({\n index: activeCalendarKey === 'end' ? 1 : 0\n }, calendarProps, {\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 939,\n columnNumber: 18\n }\n }));\n }\n return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_Calendar2.default, (0, _extends2.default)({\n index: 0\n }, calendarProps, {\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 944,\n columnNumber: 13\n }\n })), /*#__PURE__*/_react.default.createElement(_Calendar2.default, (0, _extends2.default)({\n index: 1\n }, calendarProps, {\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 945,\n columnNumber: 13\n }\n })));\n };\n var sideRanges = (ranges === null || ranges === void 0 ? void 0 : ranges.filter(function (range) {\n return (range === null || range === void 0 ? void 0 : range.placement) === 'left';\n })) || [];\n var bottomRanges = ranges === null || ranges === void 0 ? void 0 : ranges.filter(function (range) {\n return (range === null || range === void 0 ? void 0 : range.placement) === 'bottom' || (range === null || range === void 0 ? void 0 : range.placement) === undefined;\n });\n return /*#__PURE__*/_react.default.createElement(_Picker.PickerPopup, {\n role: \"dialog\",\n \"aria-labelledby\": label ? id + \"-label\" : undefined,\n tabIndex: -1,\n className: classes,\n ref: (0, _utils2.mergeRefs)(overlay, speakerRef),\n target: trigger,\n style: styles,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 956,\n columnNumber: 9\n }\n }, /*#__PURE__*/_react.default.createElement(\"div\", {\n className: panelClasses,\n style: panelStyles,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 965,\n columnNumber: 11\n }\n }, /*#__PURE__*/_react.default.createElement(_Stack.default, {\n alignItems: \"flex-start\",\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 966,\n columnNumber: 13\n }\n }, sideRanges.length > 0 && /*#__PURE__*/_react.default.createElement(_PredefinedRanges.default, {\n direction: \"column\",\n spacing: 0,\n className: prefix('daterange-predefined'),\n ranges: sideRanges,\n calendarDate: calendarDateRange,\n locale: locale,\n disableShortcut: shouldDisableShortcut,\n onShortcutClick: handleShortcutPageDate,\n \"data-testid\": \"daterange-predefined-side\",\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 968,\n columnNumber: 17\n }\n }), /*#__PURE__*/_react.default.createElement(_Stack.default.Item, {\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 981,\n columnNumber: 15\n }\n }, /*#__PURE__*/_react.default.createElement(\"div\", {\n className: prefix('daterange-content'),\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 982,\n columnNumber: 17\n }\n }, showHeader && /*#__PURE__*/_react.default.createElement(_Header.default, {\n value: isSelectedIdle ? selectedDates : hoverDateRange,\n formatStr: formatStr,\n character: character,\n clickable: showOneCalendar,\n activeKey: activeCalendarKey,\n onSelect: setActiveCalendarKey,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 984,\n columnNumber: 21\n }\n }), /*#__PURE__*/_react.default.createElement(\"div\", {\n className: prefix(\"daterange-calendar-\" + (showOneCalendar ? 'single' : 'group')),\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 994,\n columnNumber: 19\n }\n }, /*#__PURE__*/_react.default.createElement(_DateRangePickerProvider.DateRangePickerProvider, {\n value: {\n isSelectedIdle: isSelectedIdle\n },\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 997,\n columnNumber: 21\n }\n }, getCalendars()))), /*#__PURE__*/_react.default.createElement(_Toolbar.default, {\n locale: locale,\n calendarDate: selectedDates,\n disableOkBtn: shouldDisableOkButton,\n disableShortcut: shouldDisableShortcut,\n hideOkBtn: oneTap,\n onOk: handleClickOK,\n onShortcutClick: handleShortcutPageDate,\n ranges: bottomRanges,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 1002,\n columnNumber: 17\n }\n })))));\n };\n var hasValue = !(0, _isNil.default)(value) && value.length > 1;\n var _usePickerClassName = (0, _Picker.usePickerClassName)((0, _extends2.default)({}, props, {\n classPrefix: classPrefix,\n name: 'daterange',\n appearance: appearance,\n hasValue: hasValue,\n cleanable: cleanable\n })),\n classes = _usePickerClassName[0],\n usedClassNamePropKeys = _usePickerClassName[1];\n var caretAs = (0, _react.useMemo)(function () {\n if (caretAsProp === null) {\n return null;\n }\n return caretAsProp || (onlyShowTime ? _Time.default : _Calendar.default);\n }, [caretAsProp, onlyShowTime]);\n var isErrorValue = function isErrorValue(value) {\n if (!value) {\n return false;\n }\n\n // If the value is an empty array, it is not an error value.\n if (Array.isArray(value) && value.length === 0) {\n return false;\n }\n var startDate = value[0],\n endDate = value[1];\n if (!(0, _date.isValid)(startDate) || !(0, _date.isValid)(endDate)) {\n return true;\n }\n if ((0, _date.isBefore)(endDate, startDate)) {\n return true;\n }\n var disabledOptions = {\n selectDate: value,\n selectedDone: isSelectedIdle,\n target: _constants.DATERANGE_DISABLED_TARGET.INPUT\n };\n if (isDateDisabled !== null && isDateDisabled !== void 0 && isDateDisabled(startDate, disabledOptions) || isDateDisabled !== null && isDateDisabled !== void 0 && isDateDisabled(endDate, disabledOptions)) {\n return true;\n }\n return false;\n };\n var _partitionHTMLProps = (0, _utils2.partitionHTMLProps)(restProps, {\n htmlProps: [],\n includeAria: true\n }),\n ariaProps = _partitionHTMLProps[0],\n rest = _partitionHTMLProps[1];\n var showCleanButton = cleanable && hasValue && !readOnly;\n var invalidValue = value && isErrorValue(value);\n var _useCustomizedInput = (0, _useCustomizedInput2.default)({\n mode: 'dateRange',\n value: value,\n formatStr: formatStr,\n renderValue: renderValue,\n readOnly: readOnly,\n editable: editable,\n loading: loading\n }),\n customValue = _useCustomizedInput.customValue,\n inputReadOnly = _useCustomizedInput.inputReadOnly,\n Input = _useCustomizedInput.Input,\n events = _useCustomizedInput.events;\n return /*#__PURE__*/_react.default.createElement(_Picker.PickerToggleTrigger, {\n trigger: \"active\",\n ref: trigger,\n pickerProps: (0, _pick.default)(props, _Picker.pickTriggerPropKeys),\n placement: placement,\n onEnter: (0, _utils2.createChainedFunction)(events.onActive, handleEnter, onEnter),\n onExit: (0, _utils2.createChainedFunction)(events.onInactive, handleExit, onExit),\n speaker: renderCalendarOverlay,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 1087,\n columnNumber: 7\n }\n }, /*#__PURE__*/_react.default.createElement(Component, {\n ref: root,\n className: merge(className, classes, (_merge = {}, _merge[prefix('error')] = invalidValue, _merge)),\n style: style,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 1096,\n columnNumber: 9\n }\n }, plaintext ? /*#__PURE__*/_react.default.createElement(_DateRangeInput.default, {\n value: value,\n format: formatStr,\n plaintext: plaintext,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 1102,\n columnNumber: 13\n }\n }) : /*#__PURE__*/_react.default.createElement(_InputGroup.default, (0, _extends2.default)({}, (0, _omit.default)(rest, [].concat(_Picker.omitTriggerPropKeys, usedClassNamePropKeys, _date.calendarOnlyProps)), {\n inside: true,\n className: prefix(_templateObject || (_templateObject = (0, _taggedTemplateLiteralLoose2.default)([\"input-group\"]))),\n disabled: disabled,\n size: size,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 1104,\n columnNumber: 13\n }\n }), /*#__PURE__*/_react.default.createElement(_Picker.PickerLabel, {\n className: prefix(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteralLoose2.default)([\"label\"]))),\n id: id + \"-label\",\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 1115,\n columnNumber: 15\n }\n }, label), /*#__PURE__*/_react.default.createElement(Input, (0, _extends2.default)({\n \"aria-haspopup\": \"dialog\",\n \"aria-invalid\": invalidValue,\n \"aria-labelledby\": label ? id + \"-label\" : undefined\n }, ariaProps, {\n ref: target,\n id: id,\n value: customValue || value,\n character: character,\n format: formatStr,\n placeholder: placeholder ? placeholder : rangeFormatStr,\n disabled: disabled,\n readOnly: inputReadOnly,\n htmlSize: getInputHtmlSize(),\n onChange: handleInputChange,\n onKeyDown: handleInputKeyDown,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 1118,\n columnNumber: 15\n }\n })), /*#__PURE__*/_react.default.createElement(_Picker.PickerIndicator, {\n loading: loading,\n caretAs: caretAs,\n onClose: handleClean,\n showCleanButton: showCleanButton,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 1135,\n columnNumber: 15\n }\n }))));\n});\nDateRangePicker.displayName = 'DateRangePicker';\nDateRangePicker.propTypes = (0, _extends2.default)({}, _Picker.pickerPropTypes, {\n ranges: _propTypes.default.array,\n value: _propTypes.default.arrayOf(_propTypes.default.instanceOf(Date)),\n defaultValue: _propTypes.default.arrayOf(_propTypes.default.instanceOf(Date)),\n defaultCalendarValue: _propTypes.default.arrayOf(_propTypes.default.instanceOf(Date)),\n hoverRange: _propTypes.default.oneOfType([(0, _propTypes2.oneOf)(['week', 'month']), _propTypes.default.func]),\n format: _propTypes.default.string,\n hideHours: _propTypes.default.func,\n hideMinutes: _propTypes.default.func,\n hideSeconds: _propTypes.default.func,\n isoWeek: _propTypes.default.bool,\n weekStart: _propTypes.default.oneOf([0, 1, 2, 3, 4, 5, 6]),\n oneTap: _propTypes.default.bool,\n limitEndYear: _propTypes.default.number,\n limitStartYear: _propTypes.default.number,\n onChange: _propTypes.default.func,\n onOk: _propTypes.default.func,\n disabledDate: (0, _propTypes2.deprecatePropTypeNew)(_propTypes.default.func, 'Use \"shouldDisableDate\" property instead.'),\n shouldDisableDate: _propTypes.default.func,\n onSelect: _propTypes.default.func,\n showWeekNumbers: _propTypes.default.bool,\n showMeridiem: _propTypes.default.bool,\n showOneCalendar: _propTypes.default.bool\n});\nvar _default = exports[\"default\"] = DateRangePicker;\n\n//# sourceURL=webpack://rsuite/./src/DateRangePicker/DateRangePicker.tsx?");
|
|
2582
2582
|
|
|
2583
2583
|
/***/ }),
|
|
2584
2584
|
|
|
@@ -3073,7 +3073,7 @@ eval("\n\nvar _interopRequireDefault = __webpack_require__(/*! @babel/runtime/he
|
|
|
3073
3073
|
/***/ (function(__unused_webpack_module, exports) {
|
|
3074
3074
|
|
|
3075
3075
|
"use strict";
|
|
3076
|
-
eval("\n\nexports.__esModule = true;\nexports.nameToPath = nameToPath;\nfunction nameToPath(name) {\n
|
|
3076
|
+
eval("\n\nexports.__esModule = true;\nexports.nameToPath = nameToPath;\n/**\n * Converts a field name to a path that can be used in a nested object.\n * @example\n * nameToPath('a.b.c') // 'a.object.b.object.c'\n * nameToPath('items[0].name') // 'items.array[0].object.name'\n * @param name the field name to convert\n * @returns the converted path\n */\nfunction nameToPath(name) {\n if (!name.includes('.') && !name.includes('[')) {\n return name;\n }\n\n // Split the path by dots and array accessors\n var parts = name.split(/\\.|\\[|\\]\\.?/).filter(Boolean);\n var result = [];\n for (var i = 0; i < parts.length; i++) {\n var part = parts[i];\n var isLast = i === parts.length - 1;\n if (part.match(/^\\d+$/)) {\n // If it's a number (array index), add array accessor\n result.push(\"array[\" + part + \"]\");\n // If there's a next part and it's not an array index, add .object\n if (!isLast && !parts[i + 1].match(/^\\d+$/)) {\n result.push('object');\n }\n } else {\n // For regular property names\n if (!isLast) {\n // Not the last part, add .object unless next part is array index\n var nextPart = parts[i + 1];\n if (nextPart && nextPart.match(/^\\d+$/)) {\n // Next part is array index\n result.push(part);\n } else {\n // Next part is object property\n result.push(part + \".object\");\n }\n } else {\n // Last part, just add the name\n result.push(part);\n }\n }\n }\n return result.join('.');\n}\n\n//# sourceURL=webpack://rsuite/./src/FormControl/utils.ts?");
|
|
3077
3077
|
|
|
3078
3078
|
/***/ }),
|
|
3079
3079
|
|
|
@@ -3524,7 +3524,7 @@ eval("\n\nvar _interopRequireDefault = __webpack_require__(/*! @babel/runtime/he
|
|
|
3524
3524
|
/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
|
|
3525
3525
|
|
|
3526
3526
|
"use strict";
|
|
3527
|
-
eval("\n\nvar _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ \"./node_modules/@babel/runtime/helpers/interopRequireDefault.js\");\nexports.__esModule = true;\nexports[\"default\"] = void 0;\nvar _taggedTemplateLiteralLoose2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/taggedTemplateLiteralLoose */ \"./node_modules/@babel/runtime/helpers/taggedTemplateLiteralLoose.js\"));\nvar _extends3 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ \"./node_modules/@babel/runtime/helpers/extends.js\"));\nvar _objectWithoutPropertiesLoose2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/objectWithoutPropertiesLoose */ \"./node_modules/@babel/runtime/helpers/objectWithoutPropertiesLoose.js\"));\nvar _react = _interopRequireWildcard(__webpack_require__(/*! react */ \"react\"));\nvar _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ \"./node_modules/prop-types/index.js\"));\nvar _isNil = _interopRequireDefault(__webpack_require__(/*! lodash/isNil */ \"./node_modules/lodash/isNil.js\"));\nvar _isFunction = _interopRequireDefault(__webpack_require__(/*! lodash/isFunction */ \"./node_modules/lodash/isFunction.js\"));\nvar _remove = _interopRequireDefault(__webpack_require__(/*! lodash/remove */ \"./node_modules/lodash/remove.js\"));\nvar _clone = _interopRequireDefault(__webpack_require__(/*! lodash/clone */ \"./node_modules/lodash/clone.js\"));\nvar _isArray = _interopRequireDefault(__webpack_require__(/*! lodash/isArray */ \"./node_modules/lodash/isArray.js\"));\nvar _omit = _interopRequireDefault(__webpack_require__(/*! lodash/omit */ \"./node_modules/lodash/omit.js\"));\nvar _pick = _interopRequireDefault(__webpack_require__(/*! lodash/pick */ \"./node_modules/lodash/pick.js\"));\nvar _utils = __webpack_require__(/*! ../internals/utils */ \"./src/internals/utils/index.ts\");\nvar _utils2 = __webpack_require__(/*! ../internals/Tree/utils */ \"./src/internals/Tree/utils/index.ts\");\nvar _Plaintext = _interopRequireDefault(__webpack_require__(/*! ../internals/Plaintext */ \"./src/internals/Plaintext/index.tsx\"));\nvar _hooks = __webpack_require__(/*! ../internals/hooks */ \"./src/internals/hooks/index.ts\");\nvar _constants = __webpack_require__(/*! ../internals/constants */ \"./src/internals/constants/index.ts\");\nvar _propTypes2 = __webpack_require__(/*! ../internals/propTypes */ \"./src/internals/propTypes/index.ts\");\nvar _Picker = __webpack_require__(/*! ../internals/Picker */ \"./src/internals/Picker/index.ts\");\nvar _Tag = _interopRequireDefault(__webpack_require__(/*! ../Tag */ \"./src/Tag/index.tsx\"));\nvar _TextBox = _interopRequireDefault(__webpack_require__(/*! ./TextBox */ \"./src/InputPicker/TextBox.tsx\"));\nvar _Stack = _interopRequireDefault(__webpack_require__(/*! ../Stack */ \"./src/Stack/index.tsx\"));\nvar _useInput2 = _interopRequireDefault(__webpack_require__(/*! ./hooks/useInput */ \"./src/InputPicker/hooks/useInput.ts\"));\nvar _useData2 = _interopRequireDefault(__webpack_require__(/*! ./hooks/useData */ \"./src/InputPicker/hooks/useData.ts\"));\nvar _InputPickerContext = __webpack_require__(/*! ./InputPickerContext */ \"./src/InputPicker/InputPickerContext.tsx\");\nvar _utils3 = __webpack_require__(/*! ./utils */ \"./src/InputPicker/utils.ts\");\nvar _CustomProvider = __webpack_require__(/*! ../CustomProvider */ \"./src/CustomProvider/index.tsx\");\nvar _excluded = [\"as\", \"appearance\", \"cleanable\", \"cacheData\", \"classPrefix\", \"data\", \"disabled\", \"readOnly\", \"plaintext\", \"defaultValue\", \"defaultOpen\", \"disabledItemValues\", \"locale\", \"toggleAs\", \"style\", \"size\", \"searchable\", \"open\", \"placeholder\", \"placement\", \"groupBy\", \"menuClassName\", \"menuStyle\", \"menuAutoWidth\", \"menuMaxHeight\", \"creatable\", \"shouldDisplayCreateOption\", \"value\", \"valueKey\", \"virtualized\", \"labelKey\", \"listProps\", \"id\", \"tabIndex\", \"sort\", \"renderMenu\", \"renderExtraFooter\", \"renderValue\", \"renderMenuItem\", \"renderMenuGroup\", \"onEnter\", \"onEntered\", \"onExit\", \"onExited\", \"onChange\", \"onClean\", \"onCreate\", \"onSearch\", \"onSelect\", \"onBlur\", \"onFocus\", \"searchBy\"],\n _excluded2 = [\"closable\", \"onClose\"];\nvar _jsxFileName = \"/home/runner/work/rsuite/rsuite/src/InputPicker/InputPicker.tsx\",\n _this = void 0,\n _templateObject,\n _templateObject2,\n _templateObject3,\n _templateObject4;\nfunction _getRequireWildcardCache(e) { if (\"function\" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }\nfunction _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || \"object\" != typeof e && \"function\" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if (\"default\" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }\n/**\n * Single item selector with text box input.\n *\n * @see https://rsuitejs.com/components/input-picker\n */\nvar InputPicker = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {\n var _merge;\n var _useCustom = (0, _CustomProvider.useCustom)('InputPicker', props),\n propsWithDefaults = _useCustom.propsWithDefaults;\n var _propsWithDefaults$as = propsWithDefaults.as,\n Component = _propsWithDefaults$as === void 0 ? 'div' : _propsWithDefaults$as,\n _propsWithDefaults$ap = propsWithDefaults.appearance,\n appearance = _propsWithDefaults$ap === void 0 ? 'default' : _propsWithDefaults$ap,\n _propsWithDefaults$cl = propsWithDefaults.cleanable,\n cleanable = _propsWithDefaults$cl === void 0 ? true : _propsWithDefaults$cl,\n _propsWithDefaults$ca = propsWithDefaults.cacheData,\n cacheData = _propsWithDefaults$ca === void 0 ? [] : _propsWithDefaults$ca,\n _propsWithDefaults$cl2 = propsWithDefaults.classPrefix,\n classPrefix = _propsWithDefaults$cl2 === void 0 ? 'picker' : _propsWithDefaults$cl2,\n _propsWithDefaults$da = propsWithDefaults.data,\n controlledData = _propsWithDefaults$da === void 0 ? [] : _propsWithDefaults$da,\n disabled = propsWithDefaults.disabled,\n readOnly = propsWithDefaults.readOnly,\n plaintext = propsWithDefaults.plaintext,\n defaultValue = propsWithDefaults.defaultValue,\n _propsWithDefaults$de = propsWithDefaults.defaultOpen,\n defaultOpen = _propsWithDefaults$de === void 0 ? false : _propsWithDefaults$de,\n _propsWithDefaults$di = propsWithDefaults.disabledItemValues,\n disabledItemValues = _propsWithDefaults$di === void 0 ? [] : _propsWithDefaults$di,\n locale = propsWithDefaults.locale,\n toggleAs = propsWithDefaults.toggleAs,\n style = propsWithDefaults.style,\n size = propsWithDefaults.size,\n _propsWithDefaults$se = propsWithDefaults.searchable,\n searchable = _propsWithDefaults$se === void 0 ? true : _propsWithDefaults$se,\n controlledOpen = propsWithDefaults.open,\n placeholder = propsWithDefaults.placeholder,\n _propsWithDefaults$pl = propsWithDefaults.placement,\n placement = _propsWithDefaults$pl === void 0 ? 'bottomStart' : _propsWithDefaults$pl,\n groupBy = propsWithDefaults.groupBy,\n menuClassName = propsWithDefaults.menuClassName,\n menuStyle = propsWithDefaults.menuStyle,\n _propsWithDefaults$me = propsWithDefaults.menuAutoWidth,\n menuAutoWidth = _propsWithDefaults$me === void 0 ? true : _propsWithDefaults$me,\n _propsWithDefaults$me2 = propsWithDefaults.menuMaxHeight,\n menuMaxHeight = _propsWithDefaults$me2 === void 0 ? 320 : _propsWithDefaults$me2,\n creatable = propsWithDefaults.creatable,\n shouldDisplayCreateOption = propsWithDefaults.shouldDisplayCreateOption,\n valueProp = propsWithDefaults.value,\n _propsWithDefaults$va = propsWithDefaults.valueKey,\n valueKey = _propsWithDefaults$va === void 0 ? 'value' : _propsWithDefaults$va,\n virtualized = propsWithDefaults.virtualized,\n _propsWithDefaults$la = propsWithDefaults.labelKey,\n labelKey = _propsWithDefaults$la === void 0 ? 'label' : _propsWithDefaults$la,\n listProps = propsWithDefaults.listProps,\n id = propsWithDefaults.id,\n tabIndex = propsWithDefaults.tabIndex,\n sort = propsWithDefaults.sort,\n renderMenu = propsWithDefaults.renderMenu,\n renderExtraFooter = propsWithDefaults.renderExtraFooter,\n renderValue = propsWithDefaults.renderValue,\n renderMenuItem = propsWithDefaults.renderMenuItem,\n renderMenuGroup = propsWithDefaults.renderMenuGroup,\n onEnter = propsWithDefaults.onEnter,\n onEntered = propsWithDefaults.onEntered,\n onExit = propsWithDefaults.onExit,\n onExited = propsWithDefaults.onExited,\n onChange = propsWithDefaults.onChange,\n onClean = propsWithDefaults.onClean,\n onCreate = propsWithDefaults.onCreate,\n onSearch = propsWithDefaults.onSearch,\n onSelect = propsWithDefaults.onSelect,\n onBlur = propsWithDefaults.onBlur,\n onFocus = propsWithDefaults.onFocus,\n searchBy = propsWithDefaults.searchBy,\n rest = (0, _objectWithoutPropertiesLoose2.default)(propsWithDefaults, _excluded);\n var _useTagContext = (0, _InputPickerContext.useTagContext)(),\n multi = _useTagContext.multi,\n tagProps = _useTagContext.tagProps,\n trigger = _useTagContext.trigger,\n disabledOptions = _useTagContext.disabledOptions,\n onTagRemove = _useTagContext.onTagRemove,\n renderCheckbox = _useTagContext.renderCheckbox;\n if (groupBy === valueKey || groupBy === labelKey) {\n throw Error('`groupBy` can not be equal to `valueKey` and `labelKey`');\n }\n var _usePickerRef = (0, _Picker.usePickerRef)(ref),\n triggerRef = _usePickerRef.trigger,\n root = _usePickerRef.root,\n target = _usePickerRef.target,\n overlay = _usePickerRef.overlay,\n list = _usePickerRef.list;\n var _useClassNames = (0, _hooks.useClassNames)(classPrefix),\n prefix = _useClassNames.prefix,\n merge = _useClassNames.merge;\n var _useControlled = (0, _hooks.useControlled)(controlledOpen, defaultOpen),\n open = _useControlled[0],\n setOpen = _useControlled[1];\n var _useInput = (0, _useInput2.default)({\n multi: multi,\n triggerRef: triggerRef\n }),\n inputRef = _useInput.inputRef,\n inputProps = _useInput.inputProps,\n focus = _useInput.focus,\n blur = _useInput.blur;\n var handleDataChange = function handleDataChange(data) {\n var _data$;\n setFocusItemValue(data === null || data === void 0 || (_data$ = data[0]) === null || _data$ === void 0 ? void 0 : _data$[valueKey]);\n };\n var _useData = (0, _useData2.default)({\n controlledData: controlledData,\n cacheData: cacheData,\n onChange: handleDataChange\n }),\n data = _useData.data,\n dataWithCache = _useData.dataWithCache,\n newData = _useData.newData,\n setNewData = _useData.setNewData;\n var _useControlled2 = (0, _hooks.useControlled)(valueProp, multi ? defaultValue || [] : defaultValue),\n value = _useControlled2[0],\n setValue = _useControlled2[1],\n isControlled = _useControlled2[2];\n var cloneValue = function cloneValue() {\n return multi ? (0, _clone.default)(value) || [] : value;\n };\n var handleClose = (0, _hooks.useEventCallback)(function () {\n var _triggerRef$current, _target$current, _target$current$focus;\n triggerRef === null || triggerRef === void 0 || (_triggerRef$current = triggerRef.current) === null || _triggerRef$current === void 0 || _triggerRef$current.close();\n\n // The focus is on the trigger button after closing\n (_target$current = target.current) === null || _target$current === void 0 || (_target$current$focus = _target$current.focus) === null || _target$current$focus === void 0 || _target$current$focus.call(_target$current);\n });\n var focusItemValueOptions = {\n data: dataWithCache,\n valueKey: valueKey,\n target: function target() {\n return overlay.current;\n }\n };\n\n // Used to hover the focuse item when trigger `onKeydown`\n var _useFocusItemValue = (0, _Picker.useFocusItemValue)(multi ? value === null || value === void 0 ? void 0 : value[0] : value, focusItemValueOptions),\n focusItemValue = _useFocusItemValue.focusItemValue,\n setFocusItemValue = _useFocusItemValue.setFocusItemValue,\n onKeyDown = _useFocusItemValue.onKeyDown;\n var onSearchCallback = (0, _hooks.useEventCallback)(function (searchKeyword, filteredData, event) {\n if (!disabledOptions) {\n var _filteredData$;\n // The first option after filtering is the focus.\n var firstItemValue = filteredData === null || filteredData === void 0 || (_filteredData$ = filteredData[0]) === null || _filteredData$ === void 0 ? void 0 : _filteredData$[valueKey];\n\n // If there is no value in the option and new options are supported, the search keyword is the first option\n if (!firstItemValue && creatable) {\n firstItemValue = searchKeyword;\n }\n setFocusItemValue(firstItemValue);\n }\n onSearch === null || onSearch === void 0 || onSearch(searchKeyword, event);\n });\n var searchOptions = {\n labelKey: labelKey,\n searchBy: searchBy,\n callback: onSearchCallback\n };\n\n // Use search keywords to filter options.\n var _useSearch = (0, _Picker.useSearch)(data, searchOptions),\n searchKeyword = _useSearch.searchKeyword,\n resetSearch = _useSearch.resetSearch,\n checkShouldDisplay = _useSearch.checkShouldDisplay,\n handleSearch = _useSearch.handleSearch;\n\n // Update the position of the menu when the search keyword and value change\n (0, _react.useEffect)(function () {\n var _triggerRef$current2, _triggerRef$current2$;\n (_triggerRef$current2 = triggerRef.current) === null || _triggerRef$current2 === void 0 || (_triggerRef$current2$ = _triggerRef$current2.updatePosition) === null || _triggerRef$current2$ === void 0 || _triggerRef$current2$.call(_triggerRef$current2);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [searchKeyword, value]);\n var getDataItem = function getDataItem(value) {\n // Find active `MenuItem` by `value`\n var activeItem = dataWithCache.find(function (item) {\n return (0, _utils.shallowEqual)(item[valueKey], value);\n });\n var itemNode = placeholder;\n if (activeItem !== null && activeItem !== void 0 && activeItem[labelKey]) {\n itemNode = activeItem === null || activeItem === void 0 ? void 0 : activeItem[labelKey];\n }\n return {\n isValid: !!activeItem,\n activeItem: activeItem,\n itemNode: itemNode\n };\n };\n\n /**\n * Convert the string of the newly created option into an object.\n */\n var createOption = function createOption(value) {\n var _option;\n var option = (_option = {\n create: true\n }, _option[valueKey] = value, _option[labelKey] = value, _option);\n if (groupBy) {\n var _extends2;\n return (0, _extends3.default)((_extends2 = {}, _extends2[groupBy] = locale === null || locale === void 0 ? void 0 : locale.newItem, _extends2), option);\n }\n return option;\n };\n var handleChange = (0, _hooks.useEventCallback)(function (value, event) {\n onChange === null || onChange === void 0 || onChange(value, event);\n });\n var handleRemoveItemByTag = (0, _hooks.useEventCallback)(function (tag, event) {\n event.stopPropagation();\n var val = cloneValue();\n (0, _remove.default)(val, function (itemVal) {\n return (0, _utils.shallowEqual)(itemVal, tag);\n });\n setValue(val);\n handleChange(val, event);\n onTagRemove === null || onTagRemove === void 0 || onTagRemove(tag, event);\n });\n var handleSelect = (0, _hooks.useEventCallback)(function (value, item, event) {\n onSelect === null || onSelect === void 0 || onSelect(value, item, event);\n if (creatable && item.create) {\n delete item.create;\n onCreate === null || onCreate === void 0 || onCreate(value, item, event);\n setNewData(newData.concat(item));\n }\n });\n\n /**\n * Callback triggered by single selection\n * @param value\n * @param item\n * @param event\n */\n var handleSelectItem = (0, _hooks.useEventCallback)(function (value, item, event) {\n setValue(value);\n setFocusItemValue(value);\n resetSearch();\n handleSelect(value, item, event);\n handleChange(value, event);\n handleClose();\n });\n\n /**\n * Callback triggered by multiple selection\n * @param nextItemValue\n * @param item\n * @param event\n * @param checked\n */\n var handleCheckTag = (0, _hooks.useEventCallback)(function (nextItemValue, item, event, checked) {\n var val = cloneValue();\n if (checked) {\n val.push(nextItemValue);\n } else {\n (0, _remove.default)(val, function (itemVal) {\n return (0, _utils.shallowEqual)(itemVal, nextItemValue);\n });\n }\n setValue(val);\n resetSearch();\n setFocusItemValue(nextItemValue);\n handleSelect(val, item, event);\n handleChange(val, event);\n focus();\n });\n var handleTagKeyPress = (0, _hooks.useEventCallback)(function (event) {\n // When composing, ignore the keypress event.\n if (event.nativeEvent.isComposing) {\n return;\n }\n var val = cloneValue();\n var newItemValue = focusItemValue || '';\n\n // In TagInput\n if (multi && disabledOptions) {\n newItemValue = searchKeyword;\n }\n if (!newItemValue || !data) {\n return;\n }\n\n // If the value is disabled in this option, it is returned.\n if (disabledItemValues !== null && disabledItemValues !== void 0 && disabledItemValues.some(function (item) {\n return item === newItemValue;\n })) {\n return;\n }\n if (!val.some(function (v) {\n return (0, _utils.shallowEqual)(v, newItemValue);\n })) {\n val.push(newItemValue);\n } else if (!disabledOptions) {\n (0, _remove.default)(val, function (itemVal) {\n return (0, _utils.shallowEqual)(itemVal, newItemValue);\n });\n }\n var focusItem = data.find(function (item) {\n return (0, _utils.shallowEqual)(item === null || item === void 0 ? void 0 : item[valueKey], newItemValue);\n });\n if (!focusItem) {\n focusItem = createOption(newItemValue);\n }\n setValue(val);\n resetSearch();\n handleSelect(val, focusItem, event);\n handleChange(val, event);\n });\n var handleMenuItemKeyPress = (0, _hooks.useEventCallback)(function (event) {\n if (!focusItemValue || !controlledData) {\n return;\n }\n\n // If the value is disabled in this option, it is returned.\n if (disabledItemValues !== null && disabledItemValues !== void 0 && disabledItemValues.some(function (item) {\n return item === focusItemValue;\n })) {\n return;\n }\n\n // Find active `MenuItem` by `value`\n var focusItem = data.find(function (item) {\n return (0, _utils.shallowEqual)(item[valueKey], focusItemValue);\n });\n\n // FIXME Bad state flow\n if (!focusItem && focusItemValue === searchKeyword) {\n focusItem = createOption(searchKeyword);\n }\n setValue(focusItemValue);\n resetSearch();\n if (focusItem) {\n handleSelect(focusItemValue, focusItem, event);\n }\n handleChange(focusItemValue, event);\n handleClose();\n });\n\n /**\n * Remove the last item, after pressing the back key on the keyboard.\n * @param event\n */\n var removeLastItem = (0, _hooks.useEventCallback)(function (event) {\n var target = event === null || event === void 0 ? void 0 : event.target;\n if ((target === null || target === void 0 ? void 0 : target.tagName) !== 'INPUT') {\n focus();\n return;\n }\n if ((target === null || target === void 0 ? void 0 : target.tagName) === 'INPUT' && target !== null && target !== void 0 && target.value) {\n return;\n }\n var val = cloneValue();\n val.pop();\n setValue(val);\n handleChange(val, event);\n });\n var handleClean = (0, _hooks.useEventCallback)(function (event) {\n if (disabled || searchKeyword !== '') {\n return;\n }\n setValue(null);\n setFocusItemValue(null);\n resetSearch();\n if (multi) {\n handleChange([], event);\n } else {\n handleChange(null, event);\n }\n onClean === null || onClean === void 0 || onClean(event);\n });\n var events = {\n onMenuPressBackspace: multi ? removeLastItem : handleClean,\n onMenuKeyDown: onKeyDown,\n onMenuPressEnter: undefined,\n onKeyDown: undefined\n };\n var handleKeyPress = (0, _hooks.useEventCallback)(function (event) {\n // When typing a space, create a tag.\n if ((0, _utils.isOneOf)('Space', trigger) && event.key === _constants.KEY_VALUES.SPACE) {\n handleTagKeyPress(event);\n event.preventDefault();\n }\n\n // When typing a comma, create a tag.\n if ((0, _utils.isOneOf)('Comma', trigger) && event.key === _constants.KEY_VALUES.COMMA) {\n handleTagKeyPress(event);\n event.preventDefault();\n }\n });\n if (multi) {\n if ((0, _utils.isOneOf)('Enter', trigger)) {\n events.onMenuPressEnter = handleTagKeyPress;\n }\n if (creatable) {\n events.onKeyDown = handleKeyPress;\n }\n } else {\n events.onMenuPressEnter = handleMenuItemKeyPress;\n }\n var onPickerKeyDown = (0, _Picker.useToggleKeyDownEvent)((0, _extends3.default)({\n trigger: triggerRef,\n target: target,\n overlay: overlay\n }, events, rest));\n var handleExited = (0, _hooks.useEventCallback)(function () {\n setFocusItemValue(multi ? value === null || value === void 0 ? void 0 : value[0] : value);\n resetSearch();\n });\n var handleFocus = (0, _hooks.useEventCallback)(function (event) {\n if (!readOnly) {\n var _triggerRef$current3;\n setOpen(true);\n (_triggerRef$current3 = triggerRef.current) === null || _triggerRef$current3 === void 0 || _triggerRef$current3.open();\n }\n onFocus === null || onFocus === void 0 || onFocus(event);\n });\n var handleEnter = (0, _hooks.useEventCallback)(function () {\n focus();\n setOpen(true);\n });\n var handleExit = (0, _hooks.useEventCallback)(function () {\n blur();\n setOpen(false);\n });\n var renderListItem = function renderListItem(label, item) {\n // 'Create option \"{0}\"' => Create option \"xxxxx\"\n var newLabel = item.create ? /*#__PURE__*/_react.default.createElement(\"span\", {\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 501,\n columnNumber: 9\n }\n }, (0, _utils.tplTransform)((locale === null || locale === void 0 ? void 0 : locale.createOption) || '', label)) : label;\n return renderMenuItem ? renderMenuItem(newLabel, item) : newLabel;\n };\n var checkValue = function checkValue() {\n if (multi) {\n return {\n isValid: false,\n itemNode: null\n };\n }\n var dataItem = getDataItem(value);\n var itemNode = dataItem.itemNode;\n if (!(0, _isNil.default)(value) && (0, _isFunction.default)(renderValue)) {\n itemNode = renderValue(value, dataItem.activeItem, itemNode);\n }\n return {\n isValid: dataItem.isValid,\n itemNode: itemNode\n };\n };\n var renderMultiValue = function renderMultiValue() {\n if (!multi) {\n return null;\n }\n var _tagProps$closable = tagProps.closable,\n closable = _tagProps$closable === void 0 ? true : _tagProps$closable,\n onClose = tagProps.onClose,\n tagRest = (0, _objectWithoutPropertiesLoose2.default)(tagProps, _excluded2);\n var tags = value || [];\n var items = [];\n var tagElements = tags.map(function (tag) {\n var _getDataItem = getDataItem(tag),\n isValid = _getDataItem.isValid,\n itemNode = _getDataItem.itemNode,\n activeItem = _getDataItem.activeItem;\n items.push(activeItem);\n if (!isValid) {\n return null;\n }\n return /*#__PURE__*/_react.default.createElement(_Tag.default, (0, _extends3.default)({\n role: \"option\"\n }, tagRest, {\n key: tag,\n size: (0, _utils3.convertSize)(size),\n closable: !disabled && closable && !readOnly && !plaintext,\n title: typeof itemNode === 'string' ? itemNode : undefined,\n onClose: (0, _utils.createChainedFunction)(handleRemoveItemByTag.bind(null, tag), onClose),\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 546,\n columnNumber: 13\n }\n }), itemNode);\n }).filter(function (item) {\n return item !== null;\n });\n if ((tags.length > 0 || isControlled) && (0, _isFunction.default)(renderValue)) {\n return renderValue(value, items, tagElements);\n }\n return tagElements;\n };\n var renderPopup = function renderPopup(positionProps, speakerRef) {\n var left = positionProps.left,\n top = positionProps.top,\n className = positionProps.className;\n var menuClassPrefix = multi ? 'picker-check-menu' : 'picker-select-menu';\n var classes = merge(className, menuClassName, prefix(multi ? 'check-menu' : 'select-menu'));\n var styles = (0, _extends3.default)({}, menuStyle, {\n left: left,\n top: top\n });\n var items = (0, _utils2.filterNodesOfTree)(data, checkShouldDisplay);\n if (creatable && (typeof shouldDisplayCreateOption === 'function' ? shouldDisplayCreateOption(searchKeyword, items) : searchKeyword && !items.find(function (item) {\n return item[valueKey] === searchKeyword;\n }))) {\n items = [].concat(items, [createOption(searchKeyword)]);\n }\n\n // Create a tree structure data when set `groupBy`\n if (groupBy) {\n items = (0, _utils.getDataGroupBy)(items, groupBy, sort);\n } else if (typeof sort === 'function') {\n items = items.sort(sort(false));\n }\n if (disabledOptions) {\n return /*#__PURE__*/_react.default.createElement(_Picker.PickerPopup, {\n ref: (0, _utils.mergeRefs)(overlay, speakerRef),\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 593,\n columnNumber: 16\n }\n });\n }\n var menu = items.length ? /*#__PURE__*/_react.default.createElement(_Picker.Listbox, {\n listProps: listProps,\n listRef: list,\n disabledItemValues: disabledItemValues,\n valueKey: valueKey,\n labelKey: labelKey,\n classPrefix: menuClassPrefix,\n listItemClassPrefix: multi ? undefined : menuClassPrefix + \"-item\",\n listItemAs: multi ? _Picker.ListCheckItem : _Picker.ListItem,\n listItemProps: {\n renderCheckbox: renderCheckbox\n },\n activeItemValues: multi ? value : [value],\n focusItemValue: focusItemValue,\n maxHeight: menuMaxHeight,\n data: items,\n query: searchKeyword,\n groupBy: groupBy,\n onSelect: multi ? handleCheckTag : handleSelectItem,\n renderMenuGroup: renderMenuGroup,\n renderMenuItem: renderListItem,\n virtualized: virtualized,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 597,\n columnNumber: 9\n }\n }) : /*#__PURE__*/_react.default.createElement(\"div\", {\n className: prefix(_templateObject || (_templateObject = (0, _taggedTemplateLiteralLoose2.default)([\"none\"]))),\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 619,\n columnNumber: 9\n }\n }, locale === null || locale === void 0 ? void 0 : locale.noResultsText);\n return /*#__PURE__*/_react.default.createElement(_Picker.PickerPopup, {\n ref: (0, _utils.mergeRefs)(overlay, speakerRef),\n autoWidth: menuAutoWidth,\n className: classes,\n style: styles,\n target: triggerRef,\n onKeyDown: onPickerKeyDown,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 623,\n columnNumber: 9\n }\n }, renderMenu ? renderMenu(menu) : menu, renderExtraFooter === null || renderExtraFooter === void 0 ? void 0 : renderExtraFooter());\n };\n var _checkValue = checkValue(),\n isValid = _checkValue.isValid,\n itemNode = _checkValue.itemNode;\n var tagElements = renderMultiValue();\n\n /**\n * 1.Have a value and the value is valid.\n * 2.Regardless of whether the value is valid, as long as renderValue is set, it is judged to have a value.\n * 3.If renderValue returns null or undefined, hasValue is false.\n */\n var hasSingleValue = !(0, _isNil.default)(value) && (0, _isFunction.default)(renderValue) && !(0, _isNil.default)(itemNode);\n var hasMultiValue = (0, _isArray.default)(value) && value.length > 0 && (0, _isFunction.default)(renderValue) && !(0, _isNil.default)(tagElements);\n var hasValue = multi ? !!(tagElements !== null && tagElements !== void 0 && tagElements.length) || hasMultiValue : isValid || hasSingleValue;\n var _usePickerClassName = (0, _Picker.usePickerClassName)((0, _extends3.default)({}, props, {\n classPrefix: classPrefix,\n appearance: appearance,\n hasValue: hasValue,\n name: 'input',\n cleanable: cleanable\n })),\n pickerClasses = _usePickerClassName[0],\n usedClassNamePropKeys = _usePickerClassName[1];\n var classes = merge(pickerClasses, (_merge = {}, _merge[prefix(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteralLoose2.default)([\"tag\"])))] = multi, _merge[prefix((multi ? 'tag' : 'input') + \"-\" + size)] = size, _merge[prefix(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteralLoose2.default)([\"focused\"])))] = open, _merge[prefix(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteralLoose2.default)([\"disabled-options\"])))] = disabledOptions, _merge));\n var searching = !!searchKeyword && open;\n var editable = searchable && !disabled && !rest.loading;\n if (plaintext) {\n var plaintextProps = {};\n\n // When multiple selection, the tag is displayed in a stack layout.\n if (multi && hasValue) {\n plaintextProps.as = _Stack.default;\n plaintextProps.spacing = 6;\n plaintextProps.wrap = true;\n plaintextProps.childrenRenderMode = 'clone';\n }\n return /*#__PURE__*/_react.default.createElement(_Plaintext.default, (0, _extends3.default)({\n localeKey: \"notSelected\",\n ref: target\n }, plaintextProps, {\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 680,\n columnNumber: 9\n }\n }), itemNode || (tagElements !== null && tagElements !== void 0 && tagElements.length ? tagElements : null) || placeholder);\n }\n var placeholderNode = placeholder || (disabledOptions ? null : locale === null || locale === void 0 ? void 0 : locale.placeholder);\n return /*#__PURE__*/_react.default.createElement(_Picker.PickerToggleTrigger, {\n id: id,\n multiple: multi,\n pickerProps: (0, _pick.default)(props, _Picker.pickTriggerPropKeys),\n ref: triggerRef,\n trigger: \"active\",\n onEnter: (0, _utils.createChainedFunction)(handleEnter, onEnter),\n onEntered: onEntered,\n onExit: (0, _utils.createChainedFunction)(handleExit, onExit),\n onExited: (0, _utils.createChainedFunction)(handleExited, onExited),\n speaker: renderPopup,\n placement: placement,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 689,\n columnNumber: 7\n }\n }, /*#__PURE__*/_react.default.createElement(Component, {\n className: classes,\n style: style,\n onClick: focus,\n onKeyDown: onPickerKeyDown,\n ref: root,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 702,\n columnNumber: 9\n }\n }, /*#__PURE__*/_react.default.createElement(_Picker.PickerToggle, (0, _extends3.default)({}, (0, _omit.default)(rest, [].concat(_Picker.omitTriggerPropKeys, usedClassNamePropKeys)), {\n appearance: appearance,\n readOnly: readOnly,\n plaintext: plaintext,\n ref: target,\n as: toggleAs,\n tabIndex: tabIndex,\n onClean: handleClean,\n cleanable: cleanable && !disabled,\n hasValue: hasValue,\n active: open,\n disabled: disabled,\n placement: placement,\n inputValue: value,\n focusItemValue: focusItemValue,\n caret: !disabledOptions,\n size: size,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 709,\n columnNumber: 11\n }\n }), searching || multi && hasValue ? null : itemNode || placeholderNode), /*#__PURE__*/_react.default.createElement(_TextBox.default, {\n showTagList: hasValue && multi,\n inputRef: inputRef,\n inputValue: open ? searchKeyword : '',\n inputProps: inputProps,\n tags: tagElements,\n editable: editable,\n readOnly: readOnly,\n disabled: disabled,\n multiple: multi,\n onBlur: onBlur,\n onFocus: handleFocus,\n onChange: handleSearch,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 730,\n columnNumber: 11\n }\n })));\n});\nInputPicker.displayName = 'InputPicker';\nInputPicker.propTypes = (0, _extends3.default)({}, _Picker.listPickerPropTypes, {\n locale: _propTypes.default.any,\n appearance: (0, _propTypes2.oneOf)(['default', 'subtle']),\n cacheData: _propTypes.default.array,\n menuAutoWidth: _propTypes.default.bool,\n menuMaxHeight: _propTypes.default.number,\n searchable: _propTypes.default.bool,\n creatable: _propTypes.default.bool,\n groupBy: _propTypes.default.any,\n sort: _propTypes.default.func,\n renderMenu: _propTypes.default.func,\n renderMenuItem: _propTypes.default.func,\n renderMenuGroup: _propTypes.default.func,\n onCreate: _propTypes.default.func,\n onSelect: _propTypes.default.func,\n onGroupTitleClick: _propTypes.default.func,\n onSearch: _propTypes.default.func,\n virtualized: _propTypes.default.bool,\n searchBy: _propTypes.default.func\n});\nvar _default = exports[\"default\"] = InputPicker;\n\n//# sourceURL=webpack://rsuite/./src/InputPicker/InputPicker.tsx?");
|
|
3527
|
+
eval("\n\nvar _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ \"./node_modules/@babel/runtime/helpers/interopRequireDefault.js\");\nexports.__esModule = true;\nexports[\"default\"] = void 0;\nvar _taggedTemplateLiteralLoose2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/taggedTemplateLiteralLoose */ \"./node_modules/@babel/runtime/helpers/taggedTemplateLiteralLoose.js\"));\nvar _extends3 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ \"./node_modules/@babel/runtime/helpers/extends.js\"));\nvar _objectWithoutPropertiesLoose2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/objectWithoutPropertiesLoose */ \"./node_modules/@babel/runtime/helpers/objectWithoutPropertiesLoose.js\"));\nvar _react = _interopRequireWildcard(__webpack_require__(/*! react */ \"react\"));\nvar _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ \"./node_modules/prop-types/index.js\"));\nvar _isNil = _interopRequireDefault(__webpack_require__(/*! lodash/isNil */ \"./node_modules/lodash/isNil.js\"));\nvar _isFunction = _interopRequireDefault(__webpack_require__(/*! lodash/isFunction */ \"./node_modules/lodash/isFunction.js\"));\nvar _remove = _interopRequireDefault(__webpack_require__(/*! lodash/remove */ \"./node_modules/lodash/remove.js\"));\nvar _clone = _interopRequireDefault(__webpack_require__(/*! lodash/clone */ \"./node_modules/lodash/clone.js\"));\nvar _isArray = _interopRequireDefault(__webpack_require__(/*! lodash/isArray */ \"./node_modules/lodash/isArray.js\"));\nvar _omit = _interopRequireDefault(__webpack_require__(/*! lodash/omit */ \"./node_modules/lodash/omit.js\"));\nvar _pick = _interopRequireDefault(__webpack_require__(/*! lodash/pick */ \"./node_modules/lodash/pick.js\"));\nvar _utils = __webpack_require__(/*! ../internals/utils */ \"./src/internals/utils/index.ts\");\nvar _utils2 = __webpack_require__(/*! ../internals/Tree/utils */ \"./src/internals/Tree/utils/index.ts\");\nvar _Plaintext = _interopRequireDefault(__webpack_require__(/*! ../internals/Plaintext */ \"./src/internals/Plaintext/index.tsx\"));\nvar _hooks = __webpack_require__(/*! ../internals/hooks */ \"./src/internals/hooks/index.ts\");\nvar _constants = __webpack_require__(/*! ../internals/constants */ \"./src/internals/constants/index.ts\");\nvar _propTypes2 = __webpack_require__(/*! ../internals/propTypes */ \"./src/internals/propTypes/index.ts\");\nvar _Picker = __webpack_require__(/*! ../internals/Picker */ \"./src/internals/Picker/index.ts\");\nvar _Tag = _interopRequireDefault(__webpack_require__(/*! ../Tag */ \"./src/Tag/index.tsx\"));\nvar _TextBox = _interopRequireDefault(__webpack_require__(/*! ./TextBox */ \"./src/InputPicker/TextBox.tsx\"));\nvar _Stack = _interopRequireDefault(__webpack_require__(/*! ../Stack */ \"./src/Stack/index.tsx\"));\nvar _useInput2 = _interopRequireDefault(__webpack_require__(/*! ./hooks/useInput */ \"./src/InputPicker/hooks/useInput.ts\"));\nvar _useData2 = _interopRequireDefault(__webpack_require__(/*! ./hooks/useData */ \"./src/InputPicker/hooks/useData.ts\"));\nvar _InputPickerContext = __webpack_require__(/*! ./InputPickerContext */ \"./src/InputPicker/InputPickerContext.tsx\");\nvar _utils3 = __webpack_require__(/*! ./utils */ \"./src/InputPicker/utils.ts\");\nvar _CustomProvider = __webpack_require__(/*! ../CustomProvider */ \"./src/CustomProvider/index.tsx\");\nvar _excluded = [\"as\", \"appearance\", \"cleanable\", \"cacheData\", \"classPrefix\", \"data\", \"disabled\", \"readOnly\", \"plaintext\", \"defaultValue\", \"defaultOpen\", \"disabledItemValues\", \"locale\", \"toggleAs\", \"style\", \"size\", \"searchable\", \"open\", \"placeholder\", \"placement\", \"groupBy\", \"menuClassName\", \"menuStyle\", \"menuAutoWidth\", \"menuMaxHeight\", \"creatable\", \"shouldDisplayCreateOption\", \"value\", \"valueKey\", \"virtualized\", \"labelKey\", \"listProps\", \"id\", \"tabIndex\", \"sort\", \"renderMenu\", \"renderExtraFooter\", \"renderValue\", \"renderMenuItem\", \"renderMenuGroup\", \"onEnter\", \"onEntered\", \"onExit\", \"onExited\", \"onChange\", \"onClean\", \"onCreate\", \"onSearch\", \"onSelect\", \"onBlur\", \"onFocus\", \"searchBy\"],\n _excluded2 = [\"closable\", \"onClose\"];\nvar _jsxFileName = \"/home/runner/work/rsuite/rsuite/src/InputPicker/InputPicker.tsx\",\n _this = void 0,\n _templateObject,\n _templateObject2,\n _templateObject3,\n _templateObject4;\nfunction _getRequireWildcardCache(e) { if (\"function\" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }\nfunction _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || \"object\" != typeof e && \"function\" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if (\"default\" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }\n/**\n * Single item selector with text box input.\n *\n * @see https://rsuitejs.com/components/input-picker\n */\nvar InputPicker = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {\n var _merge;\n var _useCustom = (0, _CustomProvider.useCustom)('InputPicker', props),\n propsWithDefaults = _useCustom.propsWithDefaults;\n var _propsWithDefaults$as = propsWithDefaults.as,\n Component = _propsWithDefaults$as === void 0 ? 'div' : _propsWithDefaults$as,\n _propsWithDefaults$ap = propsWithDefaults.appearance,\n appearance = _propsWithDefaults$ap === void 0 ? 'default' : _propsWithDefaults$ap,\n _propsWithDefaults$cl = propsWithDefaults.cleanable,\n cleanable = _propsWithDefaults$cl === void 0 ? true : _propsWithDefaults$cl,\n _propsWithDefaults$ca = propsWithDefaults.cacheData,\n cacheData = _propsWithDefaults$ca === void 0 ? [] : _propsWithDefaults$ca,\n _propsWithDefaults$cl2 = propsWithDefaults.classPrefix,\n classPrefix = _propsWithDefaults$cl2 === void 0 ? 'picker' : _propsWithDefaults$cl2,\n _propsWithDefaults$da = propsWithDefaults.data,\n controlledData = _propsWithDefaults$da === void 0 ? [] : _propsWithDefaults$da,\n disabled = propsWithDefaults.disabled,\n readOnly = propsWithDefaults.readOnly,\n plaintext = propsWithDefaults.plaintext,\n defaultValue = propsWithDefaults.defaultValue,\n _propsWithDefaults$de = propsWithDefaults.defaultOpen,\n defaultOpen = _propsWithDefaults$de === void 0 ? false : _propsWithDefaults$de,\n _propsWithDefaults$di = propsWithDefaults.disabledItemValues,\n disabledItemValues = _propsWithDefaults$di === void 0 ? [] : _propsWithDefaults$di,\n locale = propsWithDefaults.locale,\n toggleAs = propsWithDefaults.toggleAs,\n style = propsWithDefaults.style,\n size = propsWithDefaults.size,\n _propsWithDefaults$se = propsWithDefaults.searchable,\n searchable = _propsWithDefaults$se === void 0 ? true : _propsWithDefaults$se,\n controlledOpen = propsWithDefaults.open,\n placeholder = propsWithDefaults.placeholder,\n _propsWithDefaults$pl = propsWithDefaults.placement,\n placement = _propsWithDefaults$pl === void 0 ? 'bottomStart' : _propsWithDefaults$pl,\n groupBy = propsWithDefaults.groupBy,\n menuClassName = propsWithDefaults.menuClassName,\n menuStyle = propsWithDefaults.menuStyle,\n _propsWithDefaults$me = propsWithDefaults.menuAutoWidth,\n menuAutoWidth = _propsWithDefaults$me === void 0 ? true : _propsWithDefaults$me,\n _propsWithDefaults$me2 = propsWithDefaults.menuMaxHeight,\n menuMaxHeight = _propsWithDefaults$me2 === void 0 ? 320 : _propsWithDefaults$me2,\n creatable = propsWithDefaults.creatable,\n shouldDisplayCreateOption = propsWithDefaults.shouldDisplayCreateOption,\n valueProp = propsWithDefaults.value,\n _propsWithDefaults$va = propsWithDefaults.valueKey,\n valueKey = _propsWithDefaults$va === void 0 ? 'value' : _propsWithDefaults$va,\n virtualized = propsWithDefaults.virtualized,\n _propsWithDefaults$la = propsWithDefaults.labelKey,\n labelKey = _propsWithDefaults$la === void 0 ? 'label' : _propsWithDefaults$la,\n listProps = propsWithDefaults.listProps,\n id = propsWithDefaults.id,\n tabIndex = propsWithDefaults.tabIndex,\n sort = propsWithDefaults.sort,\n renderMenu = propsWithDefaults.renderMenu,\n renderExtraFooter = propsWithDefaults.renderExtraFooter,\n renderValue = propsWithDefaults.renderValue,\n renderMenuItem = propsWithDefaults.renderMenuItem,\n renderMenuGroup = propsWithDefaults.renderMenuGroup,\n onEnter = propsWithDefaults.onEnter,\n onEntered = propsWithDefaults.onEntered,\n onExit = propsWithDefaults.onExit,\n onExited = propsWithDefaults.onExited,\n onChange = propsWithDefaults.onChange,\n onClean = propsWithDefaults.onClean,\n onCreate = propsWithDefaults.onCreate,\n onSearch = propsWithDefaults.onSearch,\n onSelect = propsWithDefaults.onSelect,\n onBlur = propsWithDefaults.onBlur,\n onFocus = propsWithDefaults.onFocus,\n searchBy = propsWithDefaults.searchBy,\n rest = (0, _objectWithoutPropertiesLoose2.default)(propsWithDefaults, _excluded);\n var _useTagContext = (0, _InputPickerContext.useTagContext)(),\n multi = _useTagContext.multi,\n tagProps = _useTagContext.tagProps,\n trigger = _useTagContext.trigger,\n disabledOptions = _useTagContext.disabledOptions,\n onTagRemove = _useTagContext.onTagRemove,\n renderCheckbox = _useTagContext.renderCheckbox;\n if (groupBy === valueKey || groupBy === labelKey) {\n throw Error('`groupBy` can not be equal to `valueKey` and `labelKey`');\n }\n var _usePickerRef = (0, _Picker.usePickerRef)(ref),\n triggerRef = _usePickerRef.trigger,\n root = _usePickerRef.root,\n target = _usePickerRef.target,\n overlay = _usePickerRef.overlay,\n list = _usePickerRef.list;\n var _useClassNames = (0, _hooks.useClassNames)(classPrefix),\n prefix = _useClassNames.prefix,\n merge = _useClassNames.merge;\n var _useControlled = (0, _hooks.useControlled)(controlledOpen, defaultOpen),\n open = _useControlled[0],\n setOpen = _useControlled[1];\n var _useInput = (0, _useInput2.default)({\n multi: multi,\n triggerRef: triggerRef\n }),\n inputRef = _useInput.inputRef,\n inputProps = _useInput.inputProps,\n focus = _useInput.focus,\n blur = _useInput.blur;\n var handleDataChange = function handleDataChange(data) {\n var _data$;\n setFocusItemValue(data === null || data === void 0 || (_data$ = data[0]) === null || _data$ === void 0 ? void 0 : _data$[valueKey]);\n };\n var _useData = (0, _useData2.default)({\n controlledData: controlledData,\n cacheData: cacheData,\n onChange: handleDataChange\n }),\n data = _useData.data,\n dataWithCache = _useData.dataWithCache,\n newData = _useData.newData,\n setNewData = _useData.setNewData;\n var _useControlled2 = (0, _hooks.useControlled)(valueProp, multi ? defaultValue || [] : defaultValue),\n value = _useControlled2[0],\n setValue = _useControlled2[1],\n isControlled = _useControlled2[2];\n var cloneValue = function cloneValue() {\n return multi ? (0, _clone.default)(value) || [] : value;\n };\n var handleClose = (0, _hooks.useEventCallback)(function () {\n var _triggerRef$current, _target$current, _target$current$focus;\n triggerRef === null || triggerRef === void 0 || (_triggerRef$current = triggerRef.current) === null || _triggerRef$current === void 0 || _triggerRef$current.close();\n\n // The focus is on the trigger button after closing\n (_target$current = target.current) === null || _target$current === void 0 || (_target$current$focus = _target$current.focus) === null || _target$current$focus === void 0 || _target$current$focus.call(_target$current);\n });\n var focusItemValueOptions = {\n data: dataWithCache,\n valueKey: valueKey,\n target: function target() {\n return overlay.current;\n }\n };\n\n // Used to hover the focuse item when trigger `onKeydown`\n var _useFocusItemValue = (0, _Picker.useFocusItemValue)(multi ? value === null || value === void 0 ? void 0 : value[0] : value, focusItemValueOptions),\n focusItemValue = _useFocusItemValue.focusItemValue,\n setFocusItemValue = _useFocusItemValue.setFocusItemValue,\n onKeyDown = _useFocusItemValue.onKeyDown;\n var onSearchCallback = (0, _hooks.useEventCallback)(function (searchKeyword, filteredData, event) {\n if (!disabledOptions) {\n var _filteredData$;\n // The first option after filtering is the focus.\n var firstItemValue = filteredData === null || filteredData === void 0 || (_filteredData$ = filteredData[0]) === null || _filteredData$ === void 0 ? void 0 : _filteredData$[valueKey];\n\n // If there is no value in the option and new options are supported, the search keyword is the first option\n if (!firstItemValue && creatable) {\n firstItemValue = searchKeyword;\n }\n setFocusItemValue(firstItemValue);\n }\n onSearch === null || onSearch === void 0 || onSearch(searchKeyword, event);\n });\n var searchOptions = {\n labelKey: labelKey,\n searchBy: searchBy,\n callback: onSearchCallback\n };\n\n // Use search keywords to filter options.\n var _useSearch = (0, _Picker.useSearch)(data, searchOptions),\n searchKeyword = _useSearch.searchKeyword,\n resetSearch = _useSearch.resetSearch,\n checkShouldDisplay = _useSearch.checkShouldDisplay,\n handleSearch = _useSearch.handleSearch;\n\n // Update the position of the menu when the search keyword and value change\n (0, _react.useEffect)(function () {\n var _triggerRef$current2, _triggerRef$current2$;\n (_triggerRef$current2 = triggerRef.current) === null || _triggerRef$current2 === void 0 || (_triggerRef$current2$ = _triggerRef$current2.updatePosition) === null || _triggerRef$current2$ === void 0 || _triggerRef$current2$.call(_triggerRef$current2);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [searchKeyword, value]);\n var getDataItem = function getDataItem(value) {\n // Find active `MenuItem` by `value`\n var activeItem = dataWithCache.find(function (item) {\n return (0, _utils.shallowEqual)(item[valueKey], value);\n });\n var itemNode = placeholder;\n if (activeItem !== null && activeItem !== void 0 && activeItem[labelKey]) {\n itemNode = activeItem === null || activeItem === void 0 ? void 0 : activeItem[labelKey];\n }\n return {\n isValid: !!activeItem,\n activeItem: activeItem,\n itemNode: itemNode\n };\n };\n\n /**\n * Convert the string of the newly created option into an object.\n */\n var createOption = function createOption(value) {\n var _option;\n var option = (_option = {\n create: true\n }, _option[valueKey] = value, _option[labelKey] = value, _option);\n if (groupBy) {\n var _extends2;\n return (0, _extends3.default)((_extends2 = {}, _extends2[groupBy] = locale === null || locale === void 0 ? void 0 : locale.newItem, _extends2), option);\n }\n return option;\n };\n var handleChange = (0, _hooks.useEventCallback)(function (value, event) {\n onChange === null || onChange === void 0 || onChange(value, event);\n });\n var handleRemoveItemByTag = (0, _hooks.useEventCallback)(function (tag, event) {\n event.stopPropagation();\n var val = cloneValue();\n (0, _remove.default)(val, function (itemVal) {\n return (0, _utils.shallowEqual)(itemVal, tag);\n });\n setValue(val);\n handleChange(val, event);\n onTagRemove === null || onTagRemove === void 0 || onTagRemove(tag, event);\n });\n var handleSelect = (0, _hooks.useEventCallback)(function (value, item, event) {\n onSelect === null || onSelect === void 0 || onSelect(value, item, event);\n if (creatable && item.create) {\n delete item.create;\n onCreate === null || onCreate === void 0 || onCreate(value, item, event);\n setNewData(newData.concat(item));\n }\n });\n\n /**\n * Callback triggered by single selection\n * @param value\n * @param item\n * @param event\n */\n var handleSelectItem = (0, _hooks.useEventCallback)(function (value, item, event) {\n setValue(value);\n setFocusItemValue(value);\n resetSearch();\n handleSelect(value, item, event);\n handleChange(value, event);\n handleClose();\n });\n\n /**\n * Callback triggered by multiple selection\n * @param nextItemValue\n * @param item\n * @param event\n * @param checked\n */\n var handleCheckTag = (0, _hooks.useEventCallback)(function (nextItemValue, item, event, checked) {\n var val = cloneValue();\n if (checked) {\n val.push(nextItemValue);\n } else {\n (0, _remove.default)(val, function (itemVal) {\n return (0, _utils.shallowEqual)(itemVal, nextItemValue);\n });\n }\n setValue(val);\n resetSearch();\n setFocusItemValue(nextItemValue);\n handleSelect(val, item, event);\n handleChange(val, event);\n focus();\n });\n var handleTagKeyPress = (0, _hooks.useEventCallback)(function (event) {\n // When composing, ignore the keypress event.\n if (event.nativeEvent.isComposing) {\n return;\n }\n var val = cloneValue();\n var newItemValue = focusItemValue || '';\n\n // In TagInput\n if (multi && disabledOptions) {\n newItemValue = searchKeyword;\n }\n if (!newItemValue || !data) {\n return;\n }\n\n // If the value is disabled in this option, it is returned.\n if (disabledItemValues !== null && disabledItemValues !== void 0 && disabledItemValues.some(function (item) {\n return item === newItemValue;\n })) {\n return;\n }\n if (!val.some(function (v) {\n return (0, _utils.shallowEqual)(v, newItemValue);\n })) {\n val.push(newItemValue);\n } else if (!disabledOptions) {\n (0, _remove.default)(val, function (itemVal) {\n return (0, _utils.shallowEqual)(itemVal, newItemValue);\n });\n }\n var focusItem = data.find(function (item) {\n return (0, _utils.shallowEqual)(item === null || item === void 0 ? void 0 : item[valueKey], newItemValue);\n });\n if (!focusItem) {\n focusItem = createOption(newItemValue);\n }\n setValue(val);\n resetSearch();\n handleSelect(val, focusItem, event);\n handleChange(val, event);\n });\n var handleMenuItemKeyPress = (0, _hooks.useEventCallback)(function (event) {\n if (!focusItemValue || !controlledData) {\n return;\n }\n\n // If the value is disabled in this option, it is returned.\n if (disabledItemValues !== null && disabledItemValues !== void 0 && disabledItemValues.some(function (item) {\n return item === focusItemValue;\n })) {\n return;\n }\n\n // Find active `MenuItem` by `value`\n var focusItem = data.find(function (item) {\n return (0, _utils.shallowEqual)(item[valueKey], focusItemValue);\n });\n\n // FIXME Bad state flow\n if (!focusItem && focusItemValue === searchKeyword) {\n focusItem = createOption(searchKeyword);\n }\n setValue(focusItemValue);\n resetSearch();\n if (focusItem) {\n handleSelect(focusItemValue, focusItem, event);\n }\n handleChange(focusItemValue, event);\n handleClose();\n });\n\n /**\n * Remove the last item, after pressing the back key on the keyboard.\n * @param event\n */\n var removeLastItem = (0, _hooks.useEventCallback)(function (event) {\n var target = event === null || event === void 0 ? void 0 : event.target;\n if ((target === null || target === void 0 ? void 0 : target.tagName) !== 'INPUT') {\n focus();\n return;\n }\n if ((target === null || target === void 0 ? void 0 : target.tagName) === 'INPUT' && target !== null && target !== void 0 && target.value) {\n return;\n }\n var val = cloneValue();\n val.pop();\n setValue(val);\n handleChange(val, event);\n });\n var handleClean = (0, _hooks.useEventCallback)(function (event) {\n if (disabled) {\n return;\n }\n\n // When there is a value in the search box and the user presses the delete key on the keyboard,\n // do not trigger clearing\n if (inputRef.current === event.target && searchKeyword !== '') {\n return;\n }\n setValue(null);\n setFocusItemValue(null);\n resetSearch();\n if (multi) {\n handleChange([], event);\n } else {\n handleChange(null, event);\n }\n onClean === null || onClean === void 0 || onClean(event);\n });\n var events = {\n onMenuPressBackspace: multi ? removeLastItem : handleClean,\n onMenuKeyDown: onKeyDown,\n onMenuPressEnter: undefined,\n onKeyDown: undefined\n };\n var handleKeyPress = (0, _hooks.useEventCallback)(function (event) {\n // When typing a space, create a tag.\n if ((0, _utils.isOneOf)('Space', trigger) && event.key === _constants.KEY_VALUES.SPACE) {\n handleTagKeyPress(event);\n event.preventDefault();\n }\n\n // When typing a comma, create a tag.\n if ((0, _utils.isOneOf)('Comma', trigger) && event.key === _constants.KEY_VALUES.COMMA) {\n handleTagKeyPress(event);\n event.preventDefault();\n }\n });\n if (multi) {\n if ((0, _utils.isOneOf)('Enter', trigger)) {\n events.onMenuPressEnter = handleTagKeyPress;\n }\n if (creatable) {\n events.onKeyDown = handleKeyPress;\n }\n } else {\n events.onMenuPressEnter = handleMenuItemKeyPress;\n }\n var onPickerKeyDown = (0, _Picker.useToggleKeyDownEvent)((0, _extends3.default)({\n trigger: triggerRef,\n target: target,\n overlay: overlay\n }, events, rest));\n var handleExited = (0, _hooks.useEventCallback)(function () {\n setFocusItemValue(multi ? value === null || value === void 0 ? void 0 : value[0] : value);\n resetSearch();\n });\n var handleFocus = (0, _hooks.useEventCallback)(function (event) {\n if (!readOnly) {\n var _triggerRef$current3;\n setOpen(true);\n (_triggerRef$current3 = triggerRef.current) === null || _triggerRef$current3 === void 0 || _triggerRef$current3.open();\n }\n onFocus === null || onFocus === void 0 || onFocus(event);\n });\n var handleEnter = (0, _hooks.useEventCallback)(function () {\n focus();\n setOpen(true);\n });\n var handleExit = (0, _hooks.useEventCallback)(function () {\n blur();\n setOpen(false);\n });\n var renderListItem = function renderListItem(label, item) {\n // 'Create option \"{0}\"' => Create option \"xxxxx\"\n var newLabel = item.create ? /*#__PURE__*/_react.default.createElement(\"span\", {\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 508,\n columnNumber: 9\n }\n }, (0, _utils.tplTransform)((locale === null || locale === void 0 ? void 0 : locale.createOption) || '', label)) : label;\n return renderMenuItem ? renderMenuItem(newLabel, item) : newLabel;\n };\n var checkValue = function checkValue() {\n if (multi) {\n return {\n isValid: false,\n itemNode: null\n };\n }\n var dataItem = getDataItem(value);\n var itemNode = dataItem.itemNode;\n if (!(0, _isNil.default)(value) && (0, _isFunction.default)(renderValue)) {\n itemNode = renderValue(value, dataItem.activeItem, itemNode);\n }\n return {\n isValid: dataItem.isValid,\n itemNode: itemNode\n };\n };\n var renderMultiValue = function renderMultiValue() {\n if (!multi) {\n return null;\n }\n var _tagProps$closable = tagProps.closable,\n closable = _tagProps$closable === void 0 ? true : _tagProps$closable,\n onClose = tagProps.onClose,\n tagRest = (0, _objectWithoutPropertiesLoose2.default)(tagProps, _excluded2);\n var tags = value || [];\n var items = [];\n var tagElements = tags.map(function (tag) {\n var _getDataItem = getDataItem(tag),\n isValid = _getDataItem.isValid,\n itemNode = _getDataItem.itemNode,\n activeItem = _getDataItem.activeItem;\n items.push(activeItem);\n if (!isValid) {\n return null;\n }\n return /*#__PURE__*/_react.default.createElement(_Tag.default, (0, _extends3.default)({\n role: \"option\"\n }, tagRest, {\n key: tag,\n size: (0, _utils3.convertSize)(size),\n closable: !disabled && closable && !readOnly && !plaintext,\n title: typeof itemNode === 'string' ? itemNode : undefined,\n onClose: (0, _utils.createChainedFunction)(handleRemoveItemByTag.bind(null, tag), onClose),\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 553,\n columnNumber: 13\n }\n }), itemNode);\n }).filter(function (item) {\n return item !== null;\n });\n if ((tags.length > 0 || isControlled) && (0, _isFunction.default)(renderValue)) {\n return renderValue(value, items, tagElements);\n }\n return tagElements;\n };\n var renderPopup = function renderPopup(positionProps, speakerRef) {\n var left = positionProps.left,\n top = positionProps.top,\n className = positionProps.className;\n var menuClassPrefix = multi ? 'picker-check-menu' : 'picker-select-menu';\n var classes = merge(className, menuClassName, prefix(multi ? 'check-menu' : 'select-menu'));\n var styles = (0, _extends3.default)({}, menuStyle, {\n left: left,\n top: top\n });\n var items = (0, _utils2.filterNodesOfTree)(data, checkShouldDisplay);\n if (creatable && (typeof shouldDisplayCreateOption === 'function' ? shouldDisplayCreateOption(searchKeyword, items) : searchKeyword && !items.find(function (item) {\n return item[valueKey] === searchKeyword;\n }))) {\n items = [].concat(items, [createOption(searchKeyword)]);\n }\n\n // Create a tree structure data when set `groupBy`\n if (groupBy) {\n items = (0, _utils.getDataGroupBy)(items, groupBy, sort);\n } else if (typeof sort === 'function') {\n items = items.sort(sort(false));\n }\n if (disabledOptions) {\n return /*#__PURE__*/_react.default.createElement(_Picker.PickerPopup, {\n ref: (0, _utils.mergeRefs)(overlay, speakerRef),\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 600,\n columnNumber: 16\n }\n });\n }\n var menu = items.length ? /*#__PURE__*/_react.default.createElement(_Picker.Listbox, {\n listProps: listProps,\n listRef: list,\n disabledItemValues: disabledItemValues,\n valueKey: valueKey,\n labelKey: labelKey,\n classPrefix: menuClassPrefix,\n listItemClassPrefix: multi ? undefined : menuClassPrefix + \"-item\",\n listItemAs: multi ? _Picker.ListCheckItem : _Picker.ListItem,\n listItemProps: {\n renderCheckbox: renderCheckbox\n },\n activeItemValues: multi ? value : [value],\n focusItemValue: focusItemValue,\n maxHeight: menuMaxHeight,\n data: items,\n query: searchKeyword,\n groupBy: groupBy,\n onSelect: multi ? handleCheckTag : handleSelectItem,\n renderMenuGroup: renderMenuGroup,\n renderMenuItem: renderListItem,\n virtualized: virtualized,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 604,\n columnNumber: 9\n }\n }) : /*#__PURE__*/_react.default.createElement(\"div\", {\n className: prefix(_templateObject || (_templateObject = (0, _taggedTemplateLiteralLoose2.default)([\"none\"]))),\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 626,\n columnNumber: 9\n }\n }, locale === null || locale === void 0 ? void 0 : locale.noResultsText);\n return /*#__PURE__*/_react.default.createElement(_Picker.PickerPopup, {\n ref: (0, _utils.mergeRefs)(overlay, speakerRef),\n autoWidth: menuAutoWidth,\n className: classes,\n style: styles,\n target: triggerRef,\n onKeyDown: onPickerKeyDown,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 630,\n columnNumber: 9\n }\n }, renderMenu ? renderMenu(menu) : menu, renderExtraFooter === null || renderExtraFooter === void 0 ? void 0 : renderExtraFooter());\n };\n var _checkValue = checkValue(),\n isValid = _checkValue.isValid,\n itemNode = _checkValue.itemNode;\n var tagElements = renderMultiValue();\n\n /**\n * 1.Have a value and the value is valid.\n * 2.Regardless of whether the value is valid, as long as renderValue is set, it is judged to have a value.\n * 3.If renderValue returns null or undefined, hasValue is false.\n */\n var hasSingleValue = !(0, _isNil.default)(value) && (0, _isFunction.default)(renderValue) && !(0, _isNil.default)(itemNode);\n var hasMultiValue = (0, _isArray.default)(value) && value.length > 0 && (0, _isFunction.default)(renderValue) && !(0, _isNil.default)(tagElements);\n var hasValue = multi ? !!(tagElements !== null && tagElements !== void 0 && tagElements.length) || hasMultiValue : isValid || hasSingleValue;\n var _usePickerClassName = (0, _Picker.usePickerClassName)((0, _extends3.default)({}, props, {\n classPrefix: classPrefix,\n appearance: appearance,\n hasValue: hasValue,\n name: 'input',\n cleanable: cleanable\n })),\n pickerClasses = _usePickerClassName[0],\n usedClassNamePropKeys = _usePickerClassName[1];\n var classes = merge(pickerClasses, (_merge = {}, _merge[prefix(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteralLoose2.default)([\"tag\"])))] = multi, _merge[prefix((multi ? 'tag' : 'input') + \"-\" + size)] = size, _merge[prefix(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteralLoose2.default)([\"focused\"])))] = open, _merge[prefix(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteralLoose2.default)([\"disabled-options\"])))] = disabledOptions, _merge));\n var searching = !!searchKeyword && open;\n var editable = searchable && !disabled && !rest.loading;\n if (plaintext) {\n var plaintextProps = {};\n\n // When multiple selection, the tag is displayed in a stack layout.\n if (multi && hasValue) {\n plaintextProps.as = _Stack.default;\n plaintextProps.spacing = 6;\n plaintextProps.wrap = true;\n plaintextProps.childrenRenderMode = 'clone';\n }\n return /*#__PURE__*/_react.default.createElement(_Plaintext.default, (0, _extends3.default)({\n localeKey: \"notSelected\",\n ref: target\n }, plaintextProps, {\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 687,\n columnNumber: 9\n }\n }), itemNode || (tagElements !== null && tagElements !== void 0 && tagElements.length ? tagElements : null) || placeholder);\n }\n var placeholderNode = placeholder || (disabledOptions ? null : locale === null || locale === void 0 ? void 0 : locale.placeholder);\n return /*#__PURE__*/_react.default.createElement(_Picker.PickerToggleTrigger, {\n id: id,\n multiple: multi,\n pickerProps: (0, _pick.default)(props, _Picker.pickTriggerPropKeys),\n ref: triggerRef,\n trigger: \"active\",\n onEnter: (0, _utils.createChainedFunction)(handleEnter, onEnter),\n onEntered: onEntered,\n onExit: (0, _utils.createChainedFunction)(handleExit, onExit),\n onExited: (0, _utils.createChainedFunction)(handleExited, onExited),\n speaker: renderPopup,\n placement: placement,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 696,\n columnNumber: 7\n }\n }, /*#__PURE__*/_react.default.createElement(Component, {\n className: classes,\n style: style,\n onClick: focus,\n onKeyDown: onPickerKeyDown,\n ref: root,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 709,\n columnNumber: 9\n }\n }, /*#__PURE__*/_react.default.createElement(_Picker.PickerToggle, (0, _extends3.default)({}, (0, _omit.default)(rest, [].concat(_Picker.omitTriggerPropKeys, usedClassNamePropKeys)), {\n appearance: appearance,\n readOnly: readOnly,\n plaintext: plaintext,\n ref: target,\n as: toggleAs,\n tabIndex: tabIndex,\n onClean: handleClean,\n cleanable: cleanable && !disabled,\n hasValue: hasValue,\n active: open,\n disabled: disabled,\n placement: placement,\n inputValue: value,\n focusItemValue: focusItemValue,\n caret: !disabledOptions,\n size: size,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 716,\n columnNumber: 11\n }\n }), searching || multi && hasValue ? null : itemNode || placeholderNode), /*#__PURE__*/_react.default.createElement(_TextBox.default, {\n showTagList: hasValue && multi,\n inputRef: inputRef,\n inputValue: open ? searchKeyword : '',\n inputProps: inputProps,\n tags: tagElements,\n editable: editable,\n readOnly: readOnly,\n disabled: disabled,\n multiple: multi,\n onBlur: onBlur,\n onFocus: handleFocus,\n onChange: handleSearch,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 737,\n columnNumber: 11\n }\n })));\n});\nInputPicker.displayName = 'InputPicker';\nInputPicker.propTypes = (0, _extends3.default)({}, _Picker.listPickerPropTypes, {\n locale: _propTypes.default.any,\n appearance: (0, _propTypes2.oneOf)(['default', 'subtle']),\n cacheData: _propTypes.default.array,\n menuAutoWidth: _propTypes.default.bool,\n menuMaxHeight: _propTypes.default.number,\n searchable: _propTypes.default.bool,\n creatable: _propTypes.default.bool,\n groupBy: _propTypes.default.any,\n sort: _propTypes.default.func,\n renderMenu: _propTypes.default.func,\n renderMenuItem: _propTypes.default.func,\n renderMenuGroup: _propTypes.default.func,\n onCreate: _propTypes.default.func,\n onSelect: _propTypes.default.func,\n onGroupTitleClick: _propTypes.default.func,\n onSearch: _propTypes.default.func,\n virtualized: _propTypes.default.bool,\n searchBy: _propTypes.default.func\n});\nvar _default = exports[\"default\"] = InputPicker;\n\n//# sourceURL=webpack://rsuite/./src/InputPicker/InputPicker.tsx?");
|
|
3528
3528
|
|
|
3529
3529
|
/***/ }),
|
|
3530
3530
|
|
|
@@ -10785,9 +10785,9 @@ eval("var memoizeCapped = __webpack_require__(/*! ./_memoizeCapped */ \"./node_m
|
|
|
10785
10785
|
/*!***************************************!*\
|
|
10786
10786
|
!*** ./node_modules/lodash/_toKey.js ***!
|
|
10787
10787
|
\***************************************/
|
|
10788
|
-
/***/ (function(module) {
|
|
10788
|
+
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
|
|
10789
10789
|
|
|
10790
|
-
eval("
|
|
10790
|
+
eval("var isSymbol = __webpack_require__(/*! ./isSymbol */ \"./node_modules/lodash/isSymbol.js\");\n\n/** Used as references for various `Number` constants. */\nvar INFINITY = 1 / 0;\n\n/**\n * Converts `value` to a string key if it's not a string or symbol.\n *\n * @private\n * @param {*} value The value to inspect.\n * @returns {string|symbol} Returns the key.\n */\nfunction toKey(value) {\n if (typeof value == 'string' || isSymbol(value)) {\n return value;\n }\n var result = (value + '');\n return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result;\n}\n\nmodule.exports = toKey;\n\n\n//# sourceURL=webpack://rsuite/./node_modules/lodash/_toKey.js?");
|
|
10791
10791
|
|
|
10792
10792
|
/***/ }),
|
|
10793
10793
|
|