rsuite 5.76.2 → 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/AutoComplete/styles/index.css +20 -0
- package/CHANGELOG.md +26 -0
- package/Cascader/styles/index.css +20 -0
- package/CheckPicker/styles/index.css +20 -0
- package/CheckTree/styles/index.css +20 -0
- package/CheckTreePicker/styles/index.css +20 -0
- package/DatePicker/styles/index.css +20 -0
- package/DateRangePicker/styles/index.css +20 -0
- package/InputPicker/styles/index.css +20 -0
- package/MultiCascadeTree/styles/index.css +20 -0
- package/MultiCascader/styles/index.css +20 -0
- package/Pagination/styles/index.css +20 -0
- package/SelectPicker/styles/index.css +20 -0
- package/TagInput/styles/index.css +20 -0
- package/TagPicker/styles/index.css +20 -0
- package/Text/styles/index.css +1 -1
- package/TimePicker/styles/index.css +20 -0
- package/TimeRangePicker/styles/index.css +20 -0
- package/cjs/DateRangePicker/DateRangePicker.d.ts +6 -0
- package/cjs/DateRangePicker/DateRangePicker.js +4 -2
- package/cjs/FormControl/hooks/useField.js +4 -1
- 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-no-reset-rtl.css +21 -1
- package/dist/rsuite-no-reset-rtl.min.css +1 -1
- package/dist/rsuite-no-reset-rtl.min.css.map +1 -1
- package/dist/rsuite-no-reset.css +21 -1
- package/dist/rsuite-no-reset.min.css +1 -1
- package/dist/rsuite-no-reset.min.css.map +1 -1
- package/dist/rsuite-rtl.css +22 -6
- package/dist/rsuite-rtl.min.css +1 -1
- package/dist/rsuite-rtl.min.css.map +1 -1
- package/dist/rsuite.css +22 -6
- package/dist/rsuite.js +6 -6
- package/dist/rsuite.min.css +1 -1
- package/dist/rsuite.min.css.map +1 -1
- package/dist/rsuite.min.js +1 -1
- package/dist/rsuite.min.js.map +1 -1
- package/esm/DateRangePicker/DateRangePicker.d.ts +6 -0
- package/esm/DateRangePicker/DateRangePicker.js +4 -2
- package/esm/FormControl/hooks/useField.js +4 -1
- package/esm/FormControl/utils.d.ts +8 -0
- package/esm/FormControl/utils.js +44 -1
- package/esm/InputPicker/InputPicker.js +7 -1
- package/internals/Picker/styles/mixin.less +5 -0
- package/package.json +1 -1
- package/styles/typography.less +0 -5
- package/styles/variables.less +1 -1
package/dist/rsuite.css
CHANGED
|
@@ -1315,7 +1315,7 @@ html {
|
|
|
1315
1315
|
-webkit-tap-highlight-color: rgba(0, 0, 0, 0);
|
|
1316
1316
|
}
|
|
1317
1317
|
body {
|
|
1318
|
-
font-family:
|
|
1318
|
+
font-family: -apple-system, BlinkMacSystemFont, Arial, Helvetica, 'PingFang SC', 'Hiragino Sans GB', 'Microsoft YaHei', STXihei, sans-serif;
|
|
1319
1319
|
font-size: 14px;
|
|
1320
1320
|
line-height: 1.42857143;
|
|
1321
1321
|
color: #343434;
|
|
@@ -1439,10 +1439,6 @@ dd {
|
|
|
1439
1439
|
margin-left: 0;
|
|
1440
1440
|
margin-bottom: 10px;
|
|
1441
1441
|
}
|
|
1442
|
-
@font-face {
|
|
1443
|
-
font-family: Apple-System;
|
|
1444
|
-
src: local(-apple-system), local(BlinkMacSystemFont), local(system-ui);
|
|
1445
|
-
}
|
|
1446
1442
|
:root {
|
|
1447
1443
|
--rs-anim-fade-duration: 0.15s;
|
|
1448
1444
|
--rs-anim-collapse-duration: 0.35s;
|
|
@@ -17025,7 +17021,7 @@ textarea.rs-inline-edit-sm .rs-plaintext {
|
|
|
17025
17021
|
white-space: nowrap;
|
|
17026
17022
|
}
|
|
17027
17023
|
.rs-text {
|
|
17028
|
-
font-family:
|
|
17024
|
+
font-family: -apple-system, BlinkMacSystemFont, Arial, Helvetica, 'PingFang SC', 'Hiragino Sans GB', 'Microsoft YaHei', STXihei, sans-serif;
|
|
17029
17025
|
line-height: 1.42857143;
|
|
17030
17026
|
color: #343434;
|
|
17031
17027
|
color: var(--rs-text-primary);
|
|
@@ -17561,6 +17557,10 @@ kbd.rs-text {
|
|
|
17561
17557
|
.rs-picker-default .rs-picker-toggle.rs-btn .rs-picker-toggle-indicator .rs-picker-clean {
|
|
17562
17558
|
top: 7px;
|
|
17563
17559
|
}
|
|
17560
|
+
.rs-picker-toggle.rs-btn .rs-picker-toggle-indicator .rs-picker-loader {
|
|
17561
|
+
top: 8px;
|
|
17562
|
+
right: 12px;
|
|
17563
|
+
}
|
|
17564
17564
|
.rs-picker-date .rs-picker-toggle.rs-btn,
|
|
17565
17565
|
.rs-picker-daterange .rs-picker-toggle.rs-btn {
|
|
17566
17566
|
padding-right: 36px;
|
|
@@ -17602,6 +17602,10 @@ kbd.rs-text {
|
|
|
17602
17602
|
.rs-picker-default .rs-picker-toggle.rs-btn-lg .rs-picker-toggle-indicator .rs-picker-clean {
|
|
17603
17603
|
top: 9px;
|
|
17604
17604
|
}
|
|
17605
|
+
.rs-picker-toggle.rs-btn-lg .rs-picker-toggle-indicator .rs-picker-loader {
|
|
17606
|
+
top: 10px;
|
|
17607
|
+
right: 16px;
|
|
17608
|
+
}
|
|
17605
17609
|
.rs-picker-default .rs-picker-toggle.rs-btn-lg {
|
|
17606
17610
|
padding-left: 15px;
|
|
17607
17611
|
}
|
|
@@ -17678,6 +17682,10 @@ kbd.rs-text {
|
|
|
17678
17682
|
.rs-picker-default .rs-picker-toggle.rs-btn-md .rs-picker-toggle-indicator .rs-picker-clean {
|
|
17679
17683
|
top: 7px;
|
|
17680
17684
|
}
|
|
17685
|
+
.rs-picker-toggle.rs-btn-md .rs-picker-toggle-indicator .rs-picker-loader {
|
|
17686
|
+
top: 8px;
|
|
17687
|
+
right: 12px;
|
|
17688
|
+
}
|
|
17681
17689
|
.rs-picker-default .rs-picker-toggle.rs-btn-md {
|
|
17682
17690
|
padding-left: 11px;
|
|
17683
17691
|
}
|
|
@@ -17756,6 +17764,10 @@ kbd.rs-text {
|
|
|
17756
17764
|
.rs-picker-default .rs-picker-toggle.rs-btn-sm .rs-picker-toggle-indicator .rs-picker-clean {
|
|
17757
17765
|
top: 4px;
|
|
17758
17766
|
}
|
|
17767
|
+
.rs-picker-toggle.rs-btn-sm .rs-picker-toggle-indicator .rs-picker-loader {
|
|
17768
|
+
top: 5px;
|
|
17769
|
+
right: 10px;
|
|
17770
|
+
}
|
|
17759
17771
|
.rs-picker-default .rs-picker-toggle.rs-btn-sm {
|
|
17760
17772
|
padding-left: 9px;
|
|
17761
17773
|
}
|
|
@@ -17834,6 +17846,10 @@ kbd.rs-text {
|
|
|
17834
17846
|
.rs-picker-default .rs-picker-toggle.rs-btn-xs .rs-picker-toggle-indicator .rs-picker-clean {
|
|
17835
17847
|
top: 1px;
|
|
17836
17848
|
}
|
|
17849
|
+
.rs-picker-toggle.rs-btn-xs .rs-picker-toggle-indicator .rs-picker-loader {
|
|
17850
|
+
top: 2px;
|
|
17851
|
+
right: 8px;
|
|
17852
|
+
}
|
|
17837
17853
|
.rs-picker-default .rs-picker-toggle.rs-btn-xs {
|
|
17838
17854
|
padding-left: 7px;
|
|
17839
17855
|
}
|
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
|
|
|
@@ -3040,7 +3040,7 @@ eval("\n\nvar _interopRequireDefault = __webpack_require__(/*! @babel/runtime/he
|
|
|
3040
3040
|
/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
|
|
3041
3041
|
|
|
3042
3042
|
"use strict";
|
|
3043
|
-
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 _extends3 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ \"./node_modules/@babel/runtime/helpers/extends.js\"));\nvar _react = __webpack_require__(/*! react */ \"react\");\nvar _get = _interopRequireDefault(__webpack_require__(/*! lodash/get */ \"./node_modules/lodash/get.js\"));\nvar _set = _interopRequireDefault(__webpack_require__(/*! lodash/set */ \"./node_modules/lodash/set.js\"));\nvar _utils = __webpack_require__(/*! ../utils */ \"./src/FormControl/utils.ts\");\nfunction getErrorMessage(error) {\n var _error$array;\n if (typeof error === 'string') {\n return error;\n }\n\n /**\n * When using some components as the field, such as TagInput, and using `ArrayType().of` as the validation rule,\n * the error object won't contain the errorMessage directly. @see https://github.com/rsuite/rsuite/issues/3866\n */\n if (error !== null && error !== void 0 && error.array && ((_error$array = error.array) === null || _error$array === void 0 ? void 0 : _error$array.length) > 0) {\n return error.array
|
|
3043
|
+
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 _extends3 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ \"./node_modules/@babel/runtime/helpers/extends.js\"));\nvar _react = __webpack_require__(/*! react */ \"react\");\nvar _get = _interopRequireDefault(__webpack_require__(/*! lodash/get */ \"./node_modules/lodash/get.js\"));\nvar _set = _interopRequireDefault(__webpack_require__(/*! lodash/set */ \"./node_modules/lodash/set.js\"));\nvar _utils = __webpack_require__(/*! ../utils */ \"./src/FormControl/utils.ts\");\nfunction getErrorMessage(error) {\n var _error$array;\n if (typeof error === 'string') {\n return error;\n }\n\n /**\n * When using some components as the field, such as TagInput, and using `ArrayType().of` as the validation rule,\n * the error object won't contain the errorMessage directly. @see https://github.com/rsuite/rsuite/issues/3866\n */\n if (error !== null && error !== void 0 && error.array && ((_error$array = error.array) === null || _error$array === void 0 ? void 0 : _error$array.length) > 0) {\n var _error$array$find;\n return (_error$array$find = error.array.find(function (item) {\n return item.hasError;\n })) === null || _error$array$find === void 0 ? void 0 : _error$array$find.errorMessage;\n }\n if (/*#__PURE__*/(0, _react.isValidElement)(error)) {\n return error;\n }\n return error === null || error === void 0 ? void 0 : error.errorMessage;\n}\nfunction useField(props) {\n var name = props.name,\n formValue = props.formValue,\n formError = props.formError,\n value = props.value,\n nestedField = props.nestedField,\n errorMessage = props.errorMessage,\n errorFromContext = props.errorFromContext;\n var fieldValue = (0, _react.useMemo)(function () {\n if (typeof value !== 'undefined') {\n return value;\n }\n return nestedField ? (0, _get.default)(formValue, name) : formValue === null || formValue === void 0 ? void 0 : formValue[name];\n }, [formValue, name, nestedField, value]);\n var fieldError = (0, _react.useMemo)(function () {\n if (typeof errorMessage !== 'undefined' || !errorFromContext) {\n return errorMessage;\n }\n if (nestedField) {\n return getErrorMessage((0, _get.default)(formError, (0, _utils.nameToPath)(name)));\n }\n var fieldError = formError === null || formError === void 0 ? void 0 : formError[name];\n if (typeof fieldError === 'string') {\n return fieldError;\n }\n return getErrorMessage(fieldError);\n }, [errorFromContext, errorMessage, formError, name, nestedField]);\n var setFieldValue = (0, _react.useCallback)(function (fieldName, fieldValue) {\n var _extends2;\n if (nestedField) {\n return (0, _set.default)((0, _extends3.default)({}, formValue), fieldName, fieldValue);\n }\n return (0, _extends3.default)({}, formValue, (_extends2 = {}, _extends2[fieldName] = fieldValue, _extends2));\n }, [formValue, nestedField]);\n return {\n fieldValue: fieldValue,\n fieldError: fieldError,\n setFieldValue: setFieldValue\n };\n}\nvar _default = exports[\"default\"] = useField;\n\n//# sourceURL=webpack://rsuite/./src/FormControl/hooks/useField.ts?");
|
|
3044
3044
|
|
|
3045
3045
|
/***/ }),
|
|
3046
3046
|
|
|
@@ -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
|
|