rsuite 5.28.3 → 5.29.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +7 -0
- package/cjs/Affix/Affix.d.ts +5 -3
- package/cjs/Affix/Affix.js +33 -11
- package/cjs/DatePicker/DatePicker.d.ts +34 -3
- package/cjs/DatePicker/DatePicker.js +38 -16
- package/cjs/DateRangePicker/DateRangePicker.d.ts +9 -1
- package/cjs/DateRangePicker/DateRangePicker.js +16 -6
- package/cjs/Overlay/Modal.js +5 -5
- package/cjs/Overlay/OverlayTrigger.js +3 -2
- package/cjs/utils/dateUtils.d.ts +1 -0
- package/cjs/utils/dateUtils.js +10 -3
- package/cjs/utils/deprecatePropType.d.ts +5 -0
- package/cjs/utils/deprecatePropType.js +5 -0
- package/cjs/utils/usePortal.js +9 -12
- package/dist/rsuite.js +8 -8
- package/dist/rsuite.min.js +1 -1
- package/dist/rsuite.min.js.map +1 -1
- package/esm/Affix/Affix.d.ts +5 -3
- package/esm/Affix/Affix.js +32 -11
- package/esm/DatePicker/DatePicker.d.ts +34 -3
- package/esm/DatePicker/DatePicker.js +37 -16
- package/esm/DateRangePicker/DateRangePicker.d.ts +9 -1
- package/esm/DateRangePicker/DateRangePicker.js +15 -6
- package/esm/Overlay/Modal.js +5 -4
- package/esm/Overlay/OverlayTrigger.js +3 -2
- package/esm/utils/dateUtils.d.ts +1 -0
- package/esm/utils/dateUtils.js +10 -3
- package/esm/utils/deprecatePropType.d.ts +5 -0
- package/esm/utils/deprecatePropType.js +5 -0
- package/esm/utils/usePortal.js +10 -13
- package/package.json +1 -1
package/dist/rsuite.js
CHANGED
|
@@ -1423,7 +1423,7 @@ eval("\n\nexports.__esModule = true;\nexports[\"default\"] = void 0;\n\nvar _ins
|
|
|
1423
1423
|
/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
|
|
1424
1424
|
|
|
1425
1425
|
"use strict";
|
|
1426
|
-
eval("\n\nvar _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ \"./node_modules/@babel/runtime/helpers/interopRequireDefault.js\");\n\nvar _interopRequireWildcard = __webpack_require__(/*! @babel/runtime/helpers/interopRequireWildcard */ \"./node_modules/@babel/runtime/helpers/interopRequireWildcard.js\");\n\nexports.__esModule = true;\nexports[\"default\"] = void 0;\n\nvar _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ \"./node_modules/@babel/runtime/helpers/extends.js\"));\n\nvar _objectWithoutPropertiesLoose2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/objectWithoutPropertiesLoose */ \"./node_modules/@babel/runtime/helpers/objectWithoutPropertiesLoose.js\"));\n\nvar _react = _interopRequireWildcard(__webpack_require__(/*! react */ \"react\"));\n\nvar _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ \"./node_modules/prop-types/index.js\"));\n\nvar _getOffset = _interopRequireDefault(__webpack_require__(/*! dom-lib/getOffset */ \"./node_modules/dom-lib/esm/getOffset.js\"));\n\nvar _utils = __webpack_require__(/*! ../utils */ \"./src/utils/index.ts\");\n\nvar _jsxFileName = \"/home/runner/work/rsuite/rsuite/src/Affix/Affix.tsx\",\n _this = void 0;\n\n/**\n * Get the layout size and offset of the mount element\n */\nfunction useOffset(mountRef) {\n var _useState = (0, _react.useState)(null),\n offset = _useState[0],\n setOffset = _useState[1];\n\n var updateOffset = (0, _react.useCallback)(function () {\n
|
|
1426
|
+
eval("\n\nvar _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ \"./node_modules/@babel/runtime/helpers/interopRequireDefault.js\");\n\nvar _interopRequireWildcard = __webpack_require__(/*! @babel/runtime/helpers/interopRequireWildcard */ \"./node_modules/@babel/runtime/helpers/interopRequireWildcard.js\");\n\nexports.__esModule = true;\nexports[\"default\"] = void 0;\n\nvar _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ \"./node_modules/@babel/runtime/helpers/extends.js\"));\n\nvar _objectWithoutPropertiesLoose2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/objectWithoutPropertiesLoose */ \"./node_modules/@babel/runtime/helpers/objectWithoutPropertiesLoose.js\"));\n\nvar _react = _interopRequireWildcard(__webpack_require__(/*! react */ \"react\"));\n\nvar _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ \"./node_modules/prop-types/index.js\"));\n\nvar _debounce = _interopRequireDefault(__webpack_require__(/*! lodash/debounce */ \"./node_modules/lodash/debounce.js\"));\n\nvar _getOffset = _interopRequireDefault(__webpack_require__(/*! dom-lib/getOffset */ \"./node_modules/dom-lib/esm/getOffset.js\"));\n\nvar _utils = __webpack_require__(/*! ../utils */ \"./src/utils/index.ts\");\n\nvar _jsxFileName = \"/home/runner/work/rsuite/rsuite/src/Affix/Affix.tsx\",\n _this = void 0;\n\n/**\n * Get the layout size and offset of the mount element\n */\nfunction useOffset(mountRef, onOffsetChange) {\n var _useState = (0, _react.useState)(null),\n offset = _useState[0],\n setOffset = _useState[1];\n\n var updateOffset = (0, _react.useCallback)(function () {\n if (!mountRef.current) {\n return;\n }\n\n var newOffset = (0, _getOffset.default)(mountRef.current);\n\n if ((newOffset === null || newOffset === void 0 ? void 0 : newOffset.height) !== (offset === null || offset === void 0 ? void 0 : offset.height) || (newOffset === null || newOffset === void 0 ? void 0 : newOffset.width) !== (offset === null || offset === void 0 ? void 0 : offset.width) || (newOffset === null || newOffset === void 0 ? void 0 : newOffset.top) !== (offset === null || offset === void 0 ? void 0 : offset.top) || (newOffset === null || newOffset === void 0 ? void 0 : newOffset.left) !== (offset === null || offset === void 0 ? void 0 : offset.left)) {\n setOffset(newOffset);\n\n if (offset !== null && newOffset !== null) {\n onOffsetChange === null || onOffsetChange === void 0 ? void 0 : onOffsetChange(newOffset);\n }\n }\n }, [mountRef, offset, onOffsetChange]); // Update after the element size changes\n\n (0, _utils.useElementResize)(function () {\n return mountRef.current;\n }, updateOffset); // Initialize after the first render\n\n (0, _utils.useMount)(updateOffset); // Update after window size changes\n\n (0, _utils.useEventListener)(window, 'resize', updateOffset, false); // Update after window scroll\n\n (0, _utils.useEventListener)(window, 'scroll', (0, _debounce.default)(updateOffset, 100), false);\n return offset;\n}\n/**\n * Get the layout size and offset of the container element\n * @param container\n */\n\n\nfunction useContainerOffset(container) {\n var _useState2 = (0, _react.useState)(null),\n offset = _useState2[0],\n setOffset = _useState2[1];\n\n (0, _react.useEffect)(function () {\n var node = typeof container === 'function' ? container() : container;\n setOffset(node ? (0, _getOffset.default)(node) : null);\n }, [container]);\n return offset;\n}\n/**\n * Check whether the current element should be in a fixed state.\n * @param offset\n * @param containerOffset\n * @param props\n */\n\n\nfunction useFixed(offset, containerOffset, props) {\n var top = props.top,\n onChange = props.onChange;\n\n var _useState3 = (0, _react.useState)(false),\n fixed = _useState3[0],\n setFixed = _useState3[1];\n\n var handleScroll = (0, _react.useCallback)(function () {\n if (!offset) {\n return;\n }\n\n var scrollY = window.scrollY || window.pageYOffset; // When the scroll distance exceeds the element's top value, it is fixed.\n\n var nextFixed = scrollY - (Number(offset === null || offset === void 0 ? void 0 : offset.top) - Number(top)) >= 0; // If the current element is specified in the container,\n // add to determine whether the current container is in the window range.\n\n if (containerOffset) {\n nextFixed = nextFixed && scrollY < Number(containerOffset.top) + Number(containerOffset.height);\n }\n\n if (nextFixed !== fixed) {\n setFixed(nextFixed);\n onChange === null || onChange === void 0 ? void 0 : onChange(nextFixed);\n }\n }, [offset, top, containerOffset, fixed, onChange]); // Add scroll event to window\n\n (0, _utils.useEventListener)(window, 'scroll', handleScroll, false);\n return fixed;\n}\n\nvar Affix = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {\n var _merge;\n\n var _props$as = props.as,\n Component = _props$as === void 0 ? 'div' : _props$as,\n _props$classPrefix = props.classPrefix,\n classPrefix = _props$classPrefix === void 0 ? 'affix' : _props$classPrefix,\n className = props.className,\n children = props.children,\n container = props.container,\n _props$top = props.top,\n top = _props$top === void 0 ? 0 : _props$top,\n onChange = props.onChange,\n onOffsetChange = props.onOffsetChange,\n rest = (0, _objectWithoutPropertiesLoose2.default)(props, [\"as\", \"classPrefix\", \"className\", \"children\", \"container\", \"top\", \"onChange\", \"onOffsetChange\"]);\n var mountRef = (0, _react.useRef)(null);\n var offset = useOffset(mountRef, onOffsetChange);\n var containerOffset = useContainerOffset(container);\n var fixed = useFixed(offset, containerOffset, {\n top: top,\n onChange: onChange\n });\n\n var _useClassNames = (0, _utils.useClassNames)(classPrefix),\n withClassPrefix = _useClassNames.withClassPrefix,\n merge = _useClassNames.merge;\n\n var classes = merge(className, (_merge = {}, _merge[withClassPrefix()] = fixed, _merge));\n\n var _ref = offset || {},\n width = _ref.width,\n height = _ref.height;\n\n var placeholderStyles = fixed ? {\n width: width,\n height: height\n } : undefined;\n var fixedStyles = {\n position: 'fixed',\n top: top,\n width: width,\n zIndex: 10\n };\n var affixStyles = fixed ? fixedStyles : undefined;\n return /*#__PURE__*/_react.default.createElement(Component, (0, _extends2.default)({}, rest, {\n ref: (0, _utils.mergeRefs)(mountRef, ref),\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 157,\n columnNumber: 7\n }\n }), /*#__PURE__*/_react.default.createElement(\"div\", {\n className: classes,\n style: affixStyles,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 158,\n columnNumber: 9\n }\n }, children), fixed && /*#__PURE__*/_react.default.createElement(\"div\", {\n \"aria-hidden\": true,\n style: placeholderStyles,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 161,\n columnNumber: 19\n }\n }));\n});\n\nAffix.displayName = 'Affix';\nAffix.propTypes = {\n top: _propTypes.default.number,\n onChange: _propTypes.default.func,\n container: _propTypes.default.oneOfType([_propTypes.default.any, _propTypes.default.func])\n};\nvar _default = Affix;\nexports[\"default\"] = _default;\n\n//# sourceURL=webpack://rsuite/./src/Affix/Affix.tsx?");
|
|
1427
1427
|
|
|
1428
1428
|
/***/ }),
|
|
1429
1429
|
|
|
@@ -2226,7 +2226,7 @@ eval("\n\nexports.__esModule = true;\nexports[\"default\"] = void 0;\n\nvar isEl
|
|
|
2226
2226
|
/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
|
|
2227
2227
|
|
|
2228
2228
|
"use strict";
|
|
2229
|
-
eval("\n\nvar _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ \"./node_modules/@babel/runtime/helpers/interopRequireDefault.js\");\n\nvar _interopRequireWildcard = __webpack_require__(/*! @babel/runtime/helpers/interopRequireWildcard */ \"./node_modules/@babel/runtime/helpers/interopRequireWildcard.js\");\n\nexports.__esModule = true;\nexports[\"default\"] = void 0;\n\nvar _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ \"./node_modules/@babel/runtime/helpers/extends.js\"));\n\nvar _objectWithoutPropertiesLoose2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/objectWithoutPropertiesLoose */ \"./node_modules/@babel/runtime/helpers/objectWithoutPropertiesLoose.js\"));\n\nvar _react = _interopRequireWildcard(__webpack_require__(/*! react */ \"react\"));\n\nvar _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ \"./node_modules/prop-types/index.js\"));\n\nvar _mapValues = _interopRequireDefault(__webpack_require__(/*! lodash/mapValues */ \"./node_modules/lodash/mapValues.js\"));\n\nvar _pick = _interopRequireDefault(__webpack_require__(/*! lodash/pick */ \"./node_modules/lodash/pick.js\"));\n\nvar _omit = _interopRequireDefault(__webpack_require__(/*! lodash/omit */ \"./node_modules/lodash/omit.js\"));\n\nvar _Calendar = _interopRequireDefault(__webpack_require__(/*! @rsuite/icons/legacy/Calendar */ \"./node_modules/@rsuite/icons/legacy/Calendar.js\"));\n\nvar _ClockO = _interopRequireDefault(__webpack_require__(/*! @rsuite/icons/legacy/ClockO */ \"./node_modules/@rsuite/icons/legacy/ClockO.js\"));\n\nvar _CalendarContainer = _interopRequireDefault(__webpack_require__(/*! ../Calendar/CalendarContainer */ \"./src/Calendar/CalendarContainer.tsx\"));\n\nvar _useCalendarDate2 = _interopRequireDefault(__webpack_require__(/*! ../Calendar/useCalendarDate */ \"./src/Calendar/useCalendarDate.ts\"));\n\nvar _MonthDropdown = __webpack_require__(/*! ../Calendar/MonthDropdown */ \"./src/Calendar/MonthDropdown.tsx\");\n\nvar _Toolbar = _interopRequireDefault(__webpack_require__(/*! ./Toolbar */ \"./src/DatePicker/Toolbar.tsx\"));\n\nvar _Stack = _interopRequireDefault(__webpack_require__(/*! ../Stack */ \"./src/Stack/index.tsx\"));\n\nvar _PredefinedRanges = _interopRequireDefault(__webpack_require__(/*! ./PredefinedRanges */ \"./src/DatePicker/PredefinedRanges.tsx\"));\n\nvar _utils = __webpack_require__(/*! ../utils */ \"./src/utils/index.ts\");\n\nvar _Picker = __webpack_require__(/*! ../Picker */ \"./src/Picker/index.ts\");\n\nvar _OverlayTrigger = __webpack_require__(/*! ../Overlay/OverlayTrigger */ \"./src/Overlay/OverlayTrigger.tsx\");\n\nvar _jsxFileName = \"/home/runner/work/rsuite/rsuite/src/DatePicker/DatePicker.tsx\",\n _this = void 0;\n\nvar DatePicker = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {\n var _props$as = props.as,\n Component = _props$as === void 0 ? 'div' : _props$as,\n className = props.className,\n _props$classPrefix = props.classPrefix,\n classPrefix = _props$classPrefix === void 0 ? 'picker' : _props$classPrefix,\n calendarDefaultDate = props.calendarDefaultDate,\n _props$cleanable = props.cleanable,\n cleanable = _props$cleanable === void 0 ? true : _props$cleanable,\n _props$editable = props.editable,\n editable = _props$editable === void 0 ? true : _props$editable,\n defaultValue = props.defaultValue,\n disabled = props.disabled,\n _props$format = props.format,\n formatStr = _props$format === void 0 ? 'yyyy-MM-dd' : _props$format,\n isoWeek = props.isoWeek,\n _props$limitEndYear = props.limitEndYear,\n limitEndYear = _props$limitEndYear === void 0 ? 1000 : _props$limitEndYear,\n overrideLocale = props.locale,\n menuClassName = props.menuClassName,\n _props$appearance = props.appearance,\n appearance = _props$appearance === void 0 ? 'default' : _props$appearance,\n _props$placement = props.placement,\n placement = _props$placement === void 0 ? 'bottomStart' : _props$placement,\n oneTap = props.oneTap,\n _props$placeholder = props.placeholder,\n placeholder = _props$placeholder === void 0 ? '' : _props$placeholder,\n ranges = props.ranges,\n valueProp = props.value,\n showMeridian = props.showMeridian,\n showWeekNumbers = props.showWeekNumbers,\n style = props.style,\n toggleAs = props.toggleAs,\n caretAsProp = props.caretAs,\n disabledDateProp = props.disabledDate,\n renderValue = props.renderValue,\n onChange = props.onChange,\n onChangeCalendarDate = props.onChangeCalendarDate,\n onClean = props.onClean,\n onClose = props.onClose,\n onEntered = props.onEntered,\n onExited = props.onExited,\n onNextMonth = props.onNextMonth,\n onOk = props.onOk,\n onOpen = props.onOpen,\n onPrevMonth = props.onPrevMonth,\n onSelect = props.onSelect,\n onToggleMonthDropdown = props.onToggleMonthDropdown,\n onToggleTimeDropdown = props.onToggleTimeDropdown,\n rest = (0, _objectWithoutPropertiesLoose2.default)(props, [\"as\", \"className\", \"classPrefix\", \"calendarDefaultDate\", \"cleanable\", \"editable\", \"defaultValue\", \"disabled\", \"format\", \"isoWeek\", \"limitEndYear\", \"locale\", \"menuClassName\", \"appearance\", \"placement\", \"oneTap\", \"placeholder\", \"ranges\", \"value\", \"showMeridian\", \"showWeekNumbers\", \"style\", \"toggleAs\", \"caretAs\", \"disabledDate\", \"renderValue\", \"onChange\", \"onChangeCalendarDate\", \"onClean\", \"onClose\", \"onEntered\", \"onExited\", \"onNextMonth\", \"onOk\", \"onOpen\", \"onPrevMonth\", \"onSelect\", \"onToggleMonthDropdown\", \"onToggleTimeDropdown\"]);\n\n var _useCustom = (0, _utils.useCustom)('DatePicker', overrideLocale),\n locale = _useCustom.locale,\n formatDate = _useCustom.formatDate,\n parseDate = _useCustom.parseDate;\n\n var _useClassNames = (0, _utils.useClassNames)(classPrefix),\n merge = _useClassNames.merge,\n prefix = _useClassNames.prefix;\n\n var _useControlled = (0, _utils.useControlled)(valueProp, defaultValue),\n value = _useControlled[0],\n setValue = _useControlled[1];\n\n var _useCalendarDate = (0, _useCalendarDate2.default)(valueProp, calendarDefaultDate),\n calendarDate = _useCalendarDate.calendarDate,\n setCalendarDate = _useCalendarDate.setCalendarDate,\n resetCalendarDate = _useCalendarDate.resetCalendarDate;\n\n var _useState = (0, _react.useState)(),\n inputState = _useState[0],\n setInputState = _useState[1];\n\n var _useState2 = (0, _react.useState)(false),\n active = _useState2[0],\n setActive = _useState2[1];\n\n var triggerRef = (0, _react.useRef)(null);\n var rootRef = (0, _react.useRef)(null);\n var targetRef = (0, _react.useRef)(null);\n var overlayRef = (0, _react.useRef)(null);\n (0, _Picker.usePublicMethods)(ref, {\n rootRef: rootRef,\n triggerRef: triggerRef,\n overlayRef: overlayRef,\n targetRef: targetRef\n });\n /**\n * Switch to the callback triggered after the next month.\n */\n\n var handleMoveForward = (0, _react.useCallback)(function (nextPageDate) {\n setCalendarDate(nextPageDate);\n onNextMonth === null || onNextMonth === void 0 ? void 0 : onNextMonth(nextPageDate);\n onChangeCalendarDate === null || onChangeCalendarDate === void 0 ? void 0 : onChangeCalendarDate(nextPageDate);\n }, [onChangeCalendarDate, onNextMonth, setCalendarDate]);\n /**\n * Switch to the callback triggered after the previous month.\n */\n\n var handleMoveBackward = (0, _react.useCallback)(function (nextPageDate) {\n setCalendarDate(nextPageDate);\n onPrevMonth === null || onPrevMonth === void 0 ? void 0 : onPrevMonth(nextPageDate);\n onChangeCalendarDate === null || onChangeCalendarDate === void 0 ? void 0 : onChangeCalendarDate(nextPageDate);\n }, [onChangeCalendarDate, onPrevMonth, setCalendarDate]);\n /**\n * The callback triggered when the date changes.\n */\n\n var handleDateChange = (0, _react.useCallback)(function (nextValue, event) {\n onSelect === null || onSelect === void 0 ? void 0 : onSelect(nextValue, event);\n onChangeCalendarDate === null || onChangeCalendarDate === void 0 ? void 0 : onChangeCalendarDate(nextValue, event);\n }, [onChangeCalendarDate, onSelect]);\n /**\n * A callback triggered when the time on the calendar changes.\n */\n\n var handleChangeTime = (0, _react.useCallback)(function (nextPageTime) {\n setCalendarDate(nextPageTime);\n handleDateChange(nextPageTime);\n }, [handleDateChange, setCalendarDate]);\n var handleClose = (0, _react.useCallback)(function () {\n var _triggerRef$current, _triggerRef$current$c;\n\n (_triggerRef$current = triggerRef.current) === null || _triggerRef$current === void 0 ? void 0 : (_triggerRef$current$c = _triggerRef$current.close) === null || _triggerRef$current$c === void 0 ? void 0 : _triggerRef$current$c.call(_triggerRef$current);\n }, []);\n /**\n * The callback triggered when PM/AM is switched.\n */\n\n var handleToggleMeridian = (0, _react.useCallback)(function () {\n var hours = _utils.DateUtils.getHours(calendarDate);\n\n var nextHours = hours >= 12 ? hours - 12 : hours + 12;\n\n var nextDate = _utils.DateUtils.setHours(calendarDate, nextHours);\n\n handleChangeTime(nextDate);\n }, [calendarDate, handleChangeTime]);\n var updateValue = (0, _react.useCallback)(function (event, nextPageDate, closeOverlay) {\n if (closeOverlay === void 0) {\n closeOverlay = true;\n }\n\n var nextValue = typeof nextPageDate !== 'undefined' ? nextPageDate : calendarDate;\n setCalendarDate(nextValue || new Date());\n setValue(nextValue);\n\n if (nextValue !== value) {\n onChange === null || onChange === void 0 ? void 0 : onChange(nextValue, event);\n } // `closeOverlay` default value is `true`\n\n\n if (closeOverlay !== false) {\n handleClose();\n }\n }, [handleClose, onChange, calendarDate, setCalendarDate, setValue, value]);\n /**\n * The callback triggered after the date in the shortcut area is clicked.\n */\n\n var handleShortcutPageDate = (0, _react.useCallback)(function (value, closeOverlay, event) {\n updateValue(event, value, closeOverlay);\n handleDateChange(value, event);\n }, [handleDateChange, updateValue]);\n /**\n * The callback triggered after clicking the OK button.\n */\n\n var handleOK = (0, _react.useCallback)(function (event) {\n updateValue(event);\n onOk === null || onOk === void 0 ? void 0 : onOk(calendarDate, event);\n }, [updateValue, onOk, calendarDate]);\n /**\n * Callback after clicking the clear button.\n */\n\n var handleClean = (0, _react.useCallback)(function (event) {\n updateValue(event, null);\n resetCalendarDate(null);\n }, [resetCalendarDate, updateValue]);\n /**\n * Handle keyboard events.\n */\n\n var onPickerKeyDown = (0, _Picker.useToggleKeyDownEvent)((0, _extends2.default)({\n triggerRef: triggerRef,\n targetRef: targetRef,\n active: active,\n onExit: handleClean\n }, rest));\n /**\n * Callback after the date is selected.\n */\n\n var handleSelect = (0, _react.useCallback)(function (nextValue, event, updatableValue) {\n if (updatableValue === void 0) {\n updatableValue = true;\n }\n\n setCalendarDate( // Determine whether the current value contains time, if not, use calendarDate.\n _utils.DateUtils.shouldRenderTime(formatStr) ? nextValue : (0, _utils.composeFunctions)(function (d) {\n return _utils.DateUtils.setHours(d, _utils.DateUtils.getHours(calendarDate));\n }, function (d) {\n return _utils.DateUtils.setMinutes(d, _utils.DateUtils.getMinutes(calendarDate));\n }, function (d) {\n return _utils.DateUtils.setSeconds(d, _utils.DateUtils.getSeconds(calendarDate));\n })(nextValue));\n handleDateChange(nextValue);\n\n if (oneTap && updatableValue) {\n updateValue(event, nextValue);\n }\n }, [formatStr, handleDateChange, oneTap, calendarDate, setCalendarDate, updateValue]);\n /**\n * A callback triggered when the date on the calendar changes.\n */\n\n var handleChangeMonth = (0, _react.useCallback)(function (nextPageDate, event) {\n setCalendarDate(nextPageDate);\n handleDateChange(nextPageDate); // Show only the calendar month panel. formatStr = 'yyyy-MM'\n\n var onlyShowMonth = _utils.DateUtils.shouldRenderMonth(formatStr) && !_utils.DateUtils.shouldRenderDate(formatStr);\n\n if (oneTap && onlyShowMonth) {\n updateValue(event, nextPageDate);\n }\n }, [formatStr, handleDateChange, oneTap, setCalendarDate, updateValue]);\n var disabledDate = (0, _react.useCallback)(function (date) {\n var _disabledDateProp;\n\n return (_disabledDateProp = disabledDateProp === null || disabledDateProp === void 0 ? void 0 : disabledDateProp(date)) !== null && _disabledDateProp !== void 0 ? _disabledDateProp : false;\n }, [disabledDateProp]);\n /**\n * Callback after the input box value is changed.\n */\n\n var handleInputChange = (0, _react.useCallback)(function (value, event) {\n setInputState('Typing'); // isMatch('01/11/2020', 'MM/dd/yyyy') ==> true\n // isMatch('2020-11-01', 'MM/dd/yyyy') ==> false\n\n if (!_utils.DateUtils.isMatch(value, formatStr, {\n locale: locale.dateLocale\n })) {\n setInputState('Error');\n return;\n }\n\n var date = parseDate(value, formatStr); // If only the time is included in the characters, it will default to today.\n\n if (_utils.DateUtils.shouldOnlyRenderTime(formatStr)) {\n date = new Date(_utils.DateUtils.format(new Date(), 'yyyy-MM-dd') + \" \" + value);\n }\n\n if (!_utils.DateUtils.isValid(date)) {\n setInputState('Error');\n return;\n }\n\n if (disabledDate(date)) {\n setInputState('Error');\n return;\n }\n\n handleSelect(date, event, false);\n }, [formatStr, locale, parseDate, disabledDate, handleSelect]);\n /**\n * The callback after the enter key is triggered on the input\n */\n\n var handleInputPressEnd = (0, _react.useCallback)(function (event) {\n if (inputState === 'Typing') {\n updateValue(event, calendarDate);\n }\n\n setInputState('Initial');\n }, [inputState, calendarDate, updateValue]);\n var handleEntered = (0, _react.useCallback)(function () {\n onOpen === null || onOpen === void 0 ? void 0 : onOpen();\n setActive(true);\n }, [onOpen]);\n var handleExited = (0, _react.useCallback)(function () {\n onClose === null || onClose === void 0 ? void 0 : onClose();\n setActive(false);\n }, [onClose]); // Check whether the time is within the time range of the shortcut option in the toolbar.\n\n var disabledToolbarHandle = (0, _react.useCallback)(function (date) {\n var _disabledDateProp2;\n\n var allowDate = (_disabledDateProp2 = disabledDateProp === null || disabledDateProp === void 0 ? void 0 : disabledDateProp(date)) !== null && _disabledDateProp2 !== void 0 ? _disabledDateProp2 : false;\n\n var allowTime = _utils.DateUtils.disabledTime(props, date);\n\n return allowDate || allowTime;\n }, [disabledDateProp, props]);\n /**\n * Whether \"OK\" button is disabled\n *\n * - If format is date, disable ok button if selected date is disabled\n * - If format is month, disable ok button if all dates in the month of selected date are disabled\n */\n\n var isOKButtonDisabled = (0, _react.useCallback)(function (selectedDate) {\n if (_utils.DateUtils.shouldRenderMonth(formatStr) && !_utils.DateUtils.shouldRenderDate(formatStr)) {\n return (0, _MonthDropdown.isEveryDateInMonth)(selectedDate.getFullYear(), selectedDate.getMonth(), disabledToolbarHandle);\n }\n\n return disabledToolbarHandle(selectedDate);\n }, [disabledToolbarHandle, formatStr]);\n var calendarProps = (0, _react.useMemo)(function () {\n return (0, _mapValues.default)((0, _pick.default)(props, _utils.DateUtils.calendarOnlyProps), function (disabledOrHiddenTimeFunc) {\n return function (next, date) {\n var _disabledOrHiddenTime;\n\n return (_disabledOrHiddenTime = disabledOrHiddenTimeFunc === null || disabledOrHiddenTimeFunc === void 0 ? void 0 : disabledOrHiddenTimeFunc(next, date)) !== null && _disabledOrHiddenTime !== void 0 ? _disabledOrHiddenTime : false;\n };\n });\n }, [props]);\n var inSameMonth = (0, _react.useCallback)(function (date) {\n return _utils.DateUtils.isSameMonth(date, calendarDate);\n }, [calendarDate]);\n\n var calendar = /*#__PURE__*/_react.default.createElement(_CalendarContainer.default, (0, _extends2.default)({}, calendarProps, {\n locale: locale,\n showWeekNumbers: showWeekNumbers,\n showMeridian: showMeridian,\n disabledDate: disabledDate,\n limitEndYear: limitEndYear,\n format: formatStr,\n isoWeek: isoWeek,\n inSameMonth: inSameMonth,\n calendarDate: calendarDate,\n onMoveForward: handleMoveForward,\n onMoveBackward: handleMoveBackward,\n onSelect: handleSelect,\n onToggleMonthDropdown: onToggleMonthDropdown,\n onToggleTimeDropdown: onToggleTimeDropdown,\n onChangeMonth: handleChangeMonth,\n onChangeTime: handleChangeTime,\n onToggleMeridian: handleToggleMeridian,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 492,\n columnNumber: 7\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\n var renderDropdownMenu = function renderDropdownMenu(positionProps, speakerRef) {\n var left = positionProps.left,\n top = positionProps.top,\n className = positionProps.className;\n var classes = merge(menuClassName, className, prefix('date-menu'));\n var styles = {\n left: left,\n top: top\n };\n return /*#__PURE__*/_react.default.createElement(_Picker.PickerOverlay, {\n role: \"dialog\",\n className: classes,\n ref: (0, _utils.mergeRefs)(overlayRef, speakerRef),\n style: styles,\n target: triggerRef,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 524,\n columnNumber: 9\n }\n }, /*#__PURE__*/_react.default.createElement(_Stack.default, {\n alignItems: \"flex-start\",\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 531,\n columnNumber: 11\n }\n }, sideRanges.length > 0 && /*#__PURE__*/_react.default.createElement(_PredefinedRanges.default, {\n direction: \"column\",\n spacing: 0,\n className: prefix('date-predefined'),\n ranges: sideRanges,\n calendarDate: calendarDate,\n locale: locale,\n disabledShortcut: disabledToolbarHandle,\n onClickShortcut: handleShortcutPageDate,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 533,\n columnNumber: 15\n }\n }), /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, calendar, /*#__PURE__*/_react.default.createElement(_Toolbar.default, {\n locale: locale,\n ranges: bottomRanges,\n calendarDate: calendarDate,\n disabledOkBtn: isOKButtonDisabled,\n disabledShortcut: disabledToolbarHandle,\n onClickShortcut: handleShortcutPageDate,\n onOk: handleOK,\n hideOkBtn: oneTap,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 547,\n columnNumber: 15\n }\n }))));\n };\n\n var hasValue = !!value;\n\n var _usePickerClassName = (0, _Picker.usePickerClassName)((0, _extends2.default)({}, props, {\n classPrefix: classPrefix,\n name: 'date',\n appearance: appearance,\n hasValue: hasValue,\n cleanable: cleanable\n })),\n classes = _usePickerClassName[0],\n usedClassNamePropKeys = _usePickerClassName[1];\n\n var renderDate = (0, _react.useCallback)(function () {\n var _renderValue;\n\n if (!value) {\n return placeholder || formatStr;\n }\n\n return (_renderValue = renderValue === null || renderValue === void 0 ? void 0 : renderValue(value, formatStr)) !== null && _renderValue !== void 0 ? _renderValue : formatDate(value, formatStr);\n }, [formatStr, formatDate, placeholder, renderValue, value]);\n var caretAs = (0, _react.useMemo)(function () {\n return caretAsProp || (_utils.DateUtils.shouldOnlyRenderTime(formatStr) ? _ClockO.default : _Calendar.default);\n }, [caretAsProp, formatStr]);\n return /*#__PURE__*/_react.default.createElement(_Picker.PickerToggleTrigger, {\n trigger: \"active\",\n pickerProps: (0, _pick.default)(props, _Picker.pickTriggerPropKeys),\n ref: triggerRef,\n placement: placement,\n onClose: function onClose(cause) {\n // Unless overlay is closing on user clicking \"OK\" button,\n // reset the selected date on calendar panel\n if (cause !== _OverlayTrigger.OverlayCloseCause.ImperativeHandle) {\n resetCalendarDate();\n }\n },\n onEntered: (0, _utils.createChainedFunction)(handleEntered, onEntered),\n onExited: (0, _utils.createChainedFunction)(handleExited, onExited),\n speaker: renderDropdownMenu,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 588,\n columnNumber: 7\n }\n }, /*#__PURE__*/_react.default.createElement(Component, {\n className: merge(className, classes),\n style: style,\n ref: rootRef,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 604,\n columnNumber: 9\n }\n }, /*#__PURE__*/_react.default.createElement(_Picker.PickerToggle, (0, _extends2.default)({}, (0, _omit.default)(rest, [].concat(_Picker.omitTriggerPropKeys, usedClassNamePropKeys, _utils.DateUtils.calendarOnlyProps)), {\n className: prefix({\n error: inputState === 'Error'\n }),\n as: toggleAs,\n ref: targetRef,\n appearance: appearance,\n editable: editable,\n inputValue: value ? formatDate(value, formatStr) : '',\n inputPlaceholder: typeof placeholder === 'string' && placeholder ? placeholder : formatStr,\n inputMask: _utils.DateUtils.getDateMask(formatStr),\n onInputChange: handleInputChange,\n onInputBlur: handleInputPressEnd,\n onInputPressEnter: handleInputPressEnd,\n onKeyDown: onPickerKeyDown,\n onClean: (0, _utils.createChainedFunction)(handleClean, onClean),\n cleanable: cleanable && !disabled,\n hasValue: hasValue,\n active: active,\n placement: placement,\n disabled: disabled,\n caretAs: caretAs,\n \"aria-haspopup\": \"dialog\",\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 605,\n columnNumber: 11\n }\n }), renderDate())));\n});\n\nDatePicker.displayName = 'DatePicker';\nDatePicker.propTypes = (0, _extends2.default)({}, _Picker.pickerPropTypes, {\n calendarDefaultDate: _propTypes.default.instanceOf(Date),\n defaultValue: _propTypes.default.instanceOf(Date),\n disabledDate: _propTypes.default.func,\n disabledHours: _propTypes.default.func,\n disabledMinutes: _propTypes.default.func,\n disabledSeconds: _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 limitEndYear: _propTypes.default.number,\n onChange: _propTypes.default.func,\n onChangeCalendarDate: _propTypes.default.func,\n onNextMonth: _propTypes.default.func,\n onOk: _propTypes.default.func,\n onPrevMonth: _propTypes.default.func,\n onSelect: _propTypes.default.func,\n onToggleMonthDropdown: _propTypes.default.func,\n onToggleTimeDropdown: _propTypes.default.func,\n oneTap: _propTypes.default.bool,\n panelContainerRef: _propTypes.default.any,\n ranges: _propTypes.default.array,\n showMeridian: _propTypes.default.bool,\n showWeekNumbers: _propTypes.default.bool,\n value: _propTypes.default.instanceOf(Date)\n});\nvar _default = DatePicker;\nexports[\"default\"] = _default;\n\n//# sourceURL=webpack://rsuite/./src/DatePicker/DatePicker.tsx?");
|
|
2229
|
+
eval("\n\nvar _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ \"./node_modules/@babel/runtime/helpers/interopRequireDefault.js\");\n\nvar _interopRequireWildcard = __webpack_require__(/*! @babel/runtime/helpers/interopRequireWildcard */ \"./node_modules/@babel/runtime/helpers/interopRequireWildcard.js\");\n\nexports.__esModule = true;\nexports[\"default\"] = void 0;\n\nvar _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ \"./node_modules/@babel/runtime/helpers/extends.js\"));\n\nvar _objectWithoutPropertiesLoose2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/objectWithoutPropertiesLoose */ \"./node_modules/@babel/runtime/helpers/objectWithoutPropertiesLoose.js\"));\n\nvar _react = _interopRequireWildcard(__webpack_require__(/*! react */ \"react\"));\n\nvar _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ \"./node_modules/prop-types/index.js\"));\n\nvar _mapValues = _interopRequireDefault(__webpack_require__(/*! lodash/mapValues */ \"./node_modules/lodash/mapValues.js\"));\n\nvar _pick = _interopRequireDefault(__webpack_require__(/*! lodash/pick */ \"./node_modules/lodash/pick.js\"));\n\nvar _omit = _interopRequireDefault(__webpack_require__(/*! lodash/omit */ \"./node_modules/lodash/omit.js\"));\n\nvar _Calendar = _interopRequireDefault(__webpack_require__(/*! @rsuite/icons/legacy/Calendar */ \"./node_modules/@rsuite/icons/legacy/Calendar.js\"));\n\nvar _ClockO = _interopRequireDefault(__webpack_require__(/*! @rsuite/icons/legacy/ClockO */ \"./node_modules/@rsuite/icons/legacy/ClockO.js\"));\n\nvar _CalendarContainer = _interopRequireDefault(__webpack_require__(/*! ../Calendar/CalendarContainer */ \"./src/Calendar/CalendarContainer.tsx\"));\n\nvar _useCalendarDate2 = _interopRequireDefault(__webpack_require__(/*! ../Calendar/useCalendarDate */ \"./src/Calendar/useCalendarDate.ts\"));\n\nvar _MonthDropdown = __webpack_require__(/*! ../Calendar/MonthDropdown */ \"./src/Calendar/MonthDropdown.tsx\");\n\nvar _Toolbar = _interopRequireDefault(__webpack_require__(/*! ./Toolbar */ \"./src/DatePicker/Toolbar.tsx\"));\n\nvar _Stack = _interopRequireDefault(__webpack_require__(/*! ../Stack */ \"./src/Stack/index.tsx\"));\n\nvar _PredefinedRanges = _interopRequireDefault(__webpack_require__(/*! ./PredefinedRanges */ \"./src/DatePicker/PredefinedRanges.tsx\"));\n\nvar _utils = __webpack_require__(/*! ../utils */ \"./src/utils/index.ts\");\n\nvar _Picker = __webpack_require__(/*! ../Picker */ \"./src/Picker/index.ts\");\n\nvar _OverlayTrigger = __webpack_require__(/*! ../Overlay/OverlayTrigger */ \"./src/Overlay/OverlayTrigger.tsx\");\n\nvar _deprecatePropType = __webpack_require__(/*! ../utils/deprecatePropType */ \"./src/utils/deprecatePropType.ts\");\n\nvar _jsxFileName = \"/home/runner/work/rsuite/rsuite/src/DatePicker/DatePicker.tsx\",\n _this = void 0;\n\nvar DatePicker = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {\n var _props$as = props.as,\n Component = _props$as === void 0 ? 'div' : _props$as,\n className = props.className,\n _props$classPrefix = props.classPrefix,\n classPrefix = _props$classPrefix === void 0 ? 'picker' : _props$classPrefix,\n calendarDefaultDate = props.calendarDefaultDate,\n _props$cleanable = props.cleanable,\n cleanable = _props$cleanable === void 0 ? true : _props$cleanable,\n _props$editable = props.editable,\n editable = _props$editable === void 0 ? true : _props$editable,\n defaultValue = props.defaultValue,\n disabled = props.disabled,\n _props$format = props.format,\n formatStr = _props$format === void 0 ? 'yyyy-MM-dd' : _props$format,\n isoWeek = props.isoWeek,\n _props$limitEndYear = props.limitEndYear,\n limitEndYear = _props$limitEndYear === void 0 ? 1000 : _props$limitEndYear,\n overrideLocale = props.locale,\n menuClassName = props.menuClassName,\n _props$appearance = props.appearance,\n appearance = _props$appearance === void 0 ? 'default' : _props$appearance,\n _props$placement = props.placement,\n placement = _props$placement === void 0 ? 'bottomStart' : _props$placement,\n oneTap = props.oneTap,\n _props$placeholder = props.placeholder,\n placeholder = _props$placeholder === void 0 ? '' : _props$placeholder,\n ranges = props.ranges,\n valueProp = props.value,\n showMeridian = props.showMeridian,\n showWeekNumbers = props.showWeekNumbers,\n style = props.style,\n toggleAs = props.toggleAs,\n caretAsProp = props.caretAs,\n DEPRECATED_disabledDate = props.disabledDate,\n DEPRECATED_disabledHours = props.disabledHours,\n DEPRECATED_disabledMinutes = props.disabledMinutes,\n DEPRECATED_disabledSeconds = props.disabledSeconds,\n shouldDisableDate = props.shouldDisableDate,\n shouldDisableHour = props.shouldDisableHour,\n shouldDisableMinute = props.shouldDisableMinute,\n shouldDisableSecond = props.shouldDisableSecond,\n renderValue = props.renderValue,\n onChange = props.onChange,\n onChangeCalendarDate = props.onChangeCalendarDate,\n onClean = props.onClean,\n onClose = props.onClose,\n onEntered = props.onEntered,\n onExited = props.onExited,\n onNextMonth = props.onNextMonth,\n onOk = props.onOk,\n onOpen = props.onOpen,\n onPrevMonth = props.onPrevMonth,\n onSelect = props.onSelect,\n onToggleMonthDropdown = props.onToggleMonthDropdown,\n onToggleTimeDropdown = props.onToggleTimeDropdown,\n rest = (0, _objectWithoutPropertiesLoose2.default)(props, [\"as\", \"className\", \"classPrefix\", \"calendarDefaultDate\", \"cleanable\", \"editable\", \"defaultValue\", \"disabled\", \"format\", \"isoWeek\", \"limitEndYear\", \"locale\", \"menuClassName\", \"appearance\", \"placement\", \"oneTap\", \"placeholder\", \"ranges\", \"value\", \"showMeridian\", \"showWeekNumbers\", \"style\", \"toggleAs\", \"caretAs\", \"disabledDate\", \"disabledHours\", \"disabledMinutes\", \"disabledSeconds\", \"shouldDisableDate\", \"shouldDisableHour\", \"shouldDisableMinute\", \"shouldDisableSecond\", \"renderValue\", \"onChange\", \"onChangeCalendarDate\", \"onClean\", \"onClose\", \"onEntered\", \"onExited\", \"onNextMonth\", \"onOk\", \"onOpen\", \"onPrevMonth\", \"onSelect\", \"onToggleMonthDropdown\", \"onToggleTimeDropdown\"]);\n\n var _useCustom = (0, _utils.useCustom)('DatePicker', overrideLocale),\n locale = _useCustom.locale,\n formatDate = _useCustom.formatDate,\n parseDate = _useCustom.parseDate;\n\n var _useClassNames = (0, _utils.useClassNames)(classPrefix),\n merge = _useClassNames.merge,\n prefix = _useClassNames.prefix;\n\n var _useControlled = (0, _utils.useControlled)(valueProp, defaultValue),\n value = _useControlled[0],\n setValue = _useControlled[1];\n\n var _useCalendarDate = (0, _useCalendarDate2.default)(valueProp, calendarDefaultDate),\n calendarDate = _useCalendarDate.calendarDate,\n setCalendarDate = _useCalendarDate.setCalendarDate,\n resetCalendarDate = _useCalendarDate.resetCalendarDate;\n\n var _useState = (0, _react.useState)(),\n inputState = _useState[0],\n setInputState = _useState[1];\n\n var _useState2 = (0, _react.useState)(false),\n active = _useState2[0],\n setActive = _useState2[1];\n\n var triggerRef = (0, _react.useRef)(null);\n var rootRef = (0, _react.useRef)(null);\n var targetRef = (0, _react.useRef)(null);\n var overlayRef = (0, _react.useRef)(null);\n (0, _Picker.usePublicMethods)(ref, {\n rootRef: rootRef,\n triggerRef: triggerRef,\n overlayRef: overlayRef,\n targetRef: targetRef\n });\n /**\n * Switch to the callback triggered after the next month.\n */\n\n var handleMoveForward = (0, _react.useCallback)(function (nextPageDate) {\n setCalendarDate(nextPageDate);\n onNextMonth === null || onNextMonth === void 0 ? void 0 : onNextMonth(nextPageDate);\n onChangeCalendarDate === null || onChangeCalendarDate === void 0 ? void 0 : onChangeCalendarDate(nextPageDate);\n }, [onChangeCalendarDate, onNextMonth, setCalendarDate]);\n /**\n * Switch to the callback triggered after the previous month.\n */\n\n var handleMoveBackward = (0, _react.useCallback)(function (nextPageDate) {\n setCalendarDate(nextPageDate);\n onPrevMonth === null || onPrevMonth === void 0 ? void 0 : onPrevMonth(nextPageDate);\n onChangeCalendarDate === null || onChangeCalendarDate === void 0 ? void 0 : onChangeCalendarDate(nextPageDate);\n }, [onChangeCalendarDate, onPrevMonth, setCalendarDate]);\n /**\n * The callback triggered when the date changes.\n */\n\n var handleDateChange = (0, _react.useCallback)(function (nextValue, event) {\n onSelect === null || onSelect === void 0 ? void 0 : onSelect(nextValue, event);\n onChangeCalendarDate === null || onChangeCalendarDate === void 0 ? void 0 : onChangeCalendarDate(nextValue, event);\n }, [onChangeCalendarDate, onSelect]);\n /**\n * A callback triggered when the time on the calendar changes.\n */\n\n var handleChangeTime = (0, _react.useCallback)(function (nextPageTime) {\n setCalendarDate(nextPageTime);\n handleDateChange(nextPageTime);\n }, [handleDateChange, setCalendarDate]);\n var handleClose = (0, _react.useCallback)(function () {\n var _triggerRef$current, _triggerRef$current$c;\n\n (_triggerRef$current = triggerRef.current) === null || _triggerRef$current === void 0 ? void 0 : (_triggerRef$current$c = _triggerRef$current.close) === null || _triggerRef$current$c === void 0 ? void 0 : _triggerRef$current$c.call(_triggerRef$current);\n }, []);\n /**\n * The callback triggered when PM/AM is switched.\n */\n\n var handleToggleMeridian = (0, _react.useCallback)(function () {\n var hours = _utils.DateUtils.getHours(calendarDate);\n\n var nextHours = hours >= 12 ? hours - 12 : hours + 12;\n\n var nextDate = _utils.DateUtils.setHours(calendarDate, nextHours);\n\n handleChangeTime(nextDate);\n }, [calendarDate, handleChangeTime]);\n var updateValue = (0, _react.useCallback)(function (event, nextPageDate, closeOverlay) {\n if (closeOverlay === void 0) {\n closeOverlay = true;\n }\n\n var nextValue = typeof nextPageDate !== 'undefined' ? nextPageDate : calendarDate;\n setCalendarDate(nextValue || new Date());\n setValue(nextValue);\n\n if (nextValue !== value) {\n onChange === null || onChange === void 0 ? void 0 : onChange(nextValue, event);\n } // `closeOverlay` default value is `true`\n\n\n if (closeOverlay !== false) {\n handleClose();\n }\n }, [handleClose, onChange, calendarDate, setCalendarDate, setValue, value]);\n /**\n * The callback triggered after the date in the shortcut area is clicked.\n */\n\n var handleShortcutPageDate = (0, _react.useCallback)(function (value, closeOverlay, event) {\n updateValue(event, value, closeOverlay);\n handleDateChange(value, event);\n }, [handleDateChange, updateValue]);\n /**\n * The callback triggered after clicking the OK button.\n */\n\n var handleOK = (0, _react.useCallback)(function (event) {\n updateValue(event);\n onOk === null || onOk === void 0 ? void 0 : onOk(calendarDate, event);\n }, [updateValue, onOk, calendarDate]);\n /**\n * Callback after clicking the clear button.\n */\n\n var handleClean = (0, _react.useCallback)(function (event) {\n updateValue(event, null);\n resetCalendarDate(null);\n }, [resetCalendarDate, updateValue]);\n /**\n * Handle keyboard events.\n */\n\n var onPickerKeyDown = (0, _Picker.useToggleKeyDownEvent)((0, _extends2.default)({\n triggerRef: triggerRef,\n targetRef: targetRef,\n active: active,\n onExit: handleClean\n }, rest));\n /**\n * Callback after the date is selected.\n */\n\n var handleSelect = (0, _react.useCallback)(function (nextValue, event, updatableValue) {\n if (updatableValue === void 0) {\n updatableValue = true;\n }\n\n setCalendarDate( // Determine whether the current value contains time, if not, use calendarDate.\n _utils.DateUtils.shouldRenderTime(formatStr) ? nextValue : (0, _utils.composeFunctions)(function (d) {\n return _utils.DateUtils.setHours(d, _utils.DateUtils.getHours(calendarDate));\n }, function (d) {\n return _utils.DateUtils.setMinutes(d, _utils.DateUtils.getMinutes(calendarDate));\n }, function (d) {\n return _utils.DateUtils.setSeconds(d, _utils.DateUtils.getSeconds(calendarDate));\n })(nextValue));\n handleDateChange(nextValue);\n\n if (oneTap && updatableValue) {\n updateValue(event, nextValue);\n }\n }, [formatStr, handleDateChange, oneTap, calendarDate, setCalendarDate, updateValue]);\n /**\n * A callback triggered when the date on the calendar changes.\n */\n\n var handleChangeMonth = (0, _react.useCallback)(function (nextPageDate, event) {\n setCalendarDate(nextPageDate);\n handleDateChange(nextPageDate); // Show only the calendar month panel. formatStr = 'yyyy-MM'\n\n var onlyShowMonth = _utils.DateUtils.shouldRenderMonth(formatStr) && !_utils.DateUtils.shouldRenderDate(formatStr);\n\n if (oneTap && onlyShowMonth) {\n updateValue(event, nextPageDate);\n }\n }, [formatStr, handleDateChange, oneTap, setCalendarDate, updateValue]);\n var isDateDisabled = (0, _react.useCallback)(function (date) {\n if (typeof shouldDisableDate === 'function') {\n return shouldDisableDate(date);\n }\n\n if (typeof DEPRECATED_disabledDate === 'function') {\n return DEPRECATED_disabledDate(date);\n }\n\n return false;\n }, [DEPRECATED_disabledDate, shouldDisableDate]);\n /**\n * Callback after the input box value is changed.\n */\n\n var handleInputChange = (0, _react.useCallback)(function (value, event) {\n setInputState('Typing'); // isMatch('01/11/2020', 'MM/dd/yyyy') ==> true\n // isMatch('2020-11-01', 'MM/dd/yyyy') ==> false\n\n if (!_utils.DateUtils.isMatch(value, formatStr, {\n locale: locale.dateLocale\n })) {\n setInputState('Error');\n return;\n }\n\n var date = parseDate(value, formatStr); // If only the time is included in the characters, it will default to today.\n\n if (_utils.DateUtils.shouldOnlyRenderTime(formatStr)) {\n date = new Date(_utils.DateUtils.format(new Date(), 'yyyy-MM-dd') + \" \" + value);\n }\n\n if (!_utils.DateUtils.isValid(date)) {\n setInputState('Error');\n return;\n }\n\n if (isDateDisabled(date)) {\n setInputState('Error');\n return;\n }\n\n handleSelect(date, event, false);\n }, [formatStr, locale, parseDate, isDateDisabled, handleSelect]);\n /**\n * The callback after the enter key is triggered on the input\n */\n\n var handleInputPressEnd = (0, _react.useCallback)(function (event) {\n if (inputState === 'Typing') {\n updateValue(event, calendarDate);\n }\n\n setInputState('Initial');\n }, [inputState, calendarDate, updateValue]);\n var handleEntered = (0, _react.useCallback)(function () {\n onOpen === null || onOpen === void 0 ? void 0 : onOpen();\n setActive(true);\n }, [onOpen]);\n var handleExited = (0, _react.useCallback)(function () {\n onClose === null || onClose === void 0 ? void 0 : onClose();\n setActive(false);\n }, [onClose]); // Check whether the time is within the time range of the shortcut option in the toolbar.\n\n var disabledToolbarHandle = (0, _react.useCallback)(function (date) {\n var _DEPRECATED_disabledD;\n\n var allowDate = (_DEPRECATED_disabledD = DEPRECATED_disabledDate === null || DEPRECATED_disabledDate === void 0 ? void 0 : DEPRECATED_disabledDate(date)) !== null && _DEPRECATED_disabledD !== void 0 ? _DEPRECATED_disabledD : false;\n\n var allowTime = _utils.DateUtils.disabledTime(props, date);\n\n return allowDate || allowTime;\n }, [DEPRECATED_disabledDate, props]);\n /**\n * Whether \"OK\" button is disabled\n *\n * - If format is date, disable ok button if selected date is disabled\n * - If format is month, disable ok button if all dates in the month of selected date are disabled\n */\n\n var isOKButtonDisabled = (0, _react.useCallback)(function (selectedDate) {\n if (_utils.DateUtils.shouldRenderMonth(formatStr) && !_utils.DateUtils.shouldRenderDate(formatStr)) {\n return (0, _MonthDropdown.isEveryDateInMonth)(selectedDate.getFullYear(), selectedDate.getMonth(), disabledToolbarHandle);\n }\n\n return disabledToolbarHandle(selectedDate);\n }, [disabledToolbarHandle, formatStr]);\n var calendarProps = (0, _react.useMemo)(function () {\n return (0, _mapValues.default)((0, _pick.default)(props, _utils.DateUtils.calendarOnlyProps), function (disabledOrHiddenTimeFunc) {\n return function (next, date) {\n var _disabledOrHiddenTime;\n\n return (_disabledOrHiddenTime = disabledOrHiddenTimeFunc === null || disabledOrHiddenTimeFunc === void 0 ? void 0 : disabledOrHiddenTimeFunc(next, date)) !== null && _disabledOrHiddenTime !== void 0 ? _disabledOrHiddenTime : false;\n };\n });\n }, [props]);\n var inSameMonth = (0, _react.useCallback)(function (date) {\n return _utils.DateUtils.isSameMonth(date, calendarDate);\n }, [calendarDate]);\n\n var calendar = /*#__PURE__*/_react.default.createElement(_CalendarContainer.default, (0, _extends2.default)({}, calendarProps, {\n locale: locale,\n showWeekNumbers: showWeekNumbers,\n showMeridian: showMeridian,\n disabledDate: isDateDisabled,\n disabledHours: shouldDisableHour !== null && shouldDisableHour !== void 0 ? shouldDisableHour : DEPRECATED_disabledHours,\n disabledMinutes: shouldDisableMinute !== null && shouldDisableMinute !== void 0 ? shouldDisableMinute : DEPRECATED_disabledMinutes,\n disabledSeconds: shouldDisableSecond !== null && shouldDisableSecond !== void 0 ? shouldDisableSecond : DEPRECATED_disabledSeconds,\n limitEndYear: limitEndYear,\n format: formatStr,\n isoWeek: isoWeek,\n inSameMonth: inSameMonth,\n calendarDate: calendarDate,\n onMoveForward: handleMoveForward,\n onMoveBackward: handleMoveBackward,\n onSelect: handleSelect,\n onToggleMonthDropdown: onToggleMonthDropdown,\n onToggleTimeDropdown: onToggleTimeDropdown,\n onChangeMonth: handleChangeMonth,\n onChangeTime: handleChangeTime,\n onToggleMeridian: handleToggleMeridian,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 545,\n columnNumber: 7\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\n var renderDropdownMenu = function renderDropdownMenu(positionProps, speakerRef) {\n var left = positionProps.left,\n top = positionProps.top,\n className = positionProps.className;\n var classes = merge(menuClassName, className, prefix('date-menu'));\n var styles = {\n left: left,\n top: top\n };\n return /*#__PURE__*/_react.default.createElement(_Picker.PickerOverlay, {\n role: \"dialog\",\n className: classes,\n ref: (0, _utils.mergeRefs)(overlayRef, speakerRef),\n style: styles,\n target: triggerRef,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 580,\n columnNumber: 9\n }\n }, /*#__PURE__*/_react.default.createElement(_Stack.default, {\n alignItems: \"flex-start\",\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 587,\n columnNumber: 11\n }\n }, sideRanges.length > 0 && /*#__PURE__*/_react.default.createElement(_PredefinedRanges.default, {\n direction: \"column\",\n spacing: 0,\n className: prefix('date-predefined'),\n ranges: sideRanges,\n calendarDate: calendarDate,\n locale: locale,\n disabledShortcut: disabledToolbarHandle,\n onClickShortcut: handleShortcutPageDate,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 589,\n columnNumber: 15\n }\n }), /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, calendar, /*#__PURE__*/_react.default.createElement(_Toolbar.default, {\n locale: locale,\n ranges: bottomRanges,\n calendarDate: calendarDate,\n disabledOkBtn: isOKButtonDisabled,\n disabledShortcut: disabledToolbarHandle,\n onClickShortcut: handleShortcutPageDate,\n onOk: handleOK,\n hideOkBtn: oneTap,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 603,\n columnNumber: 15\n }\n }))));\n };\n\n var hasValue = !!value;\n\n var _usePickerClassName = (0, _Picker.usePickerClassName)((0, _extends2.default)({}, props, {\n classPrefix: classPrefix,\n name: 'date',\n appearance: appearance,\n hasValue: hasValue,\n cleanable: cleanable\n })),\n classes = _usePickerClassName[0],\n usedClassNamePropKeys = _usePickerClassName[1];\n\n var renderDate = (0, _react.useCallback)(function () {\n var _renderValue;\n\n if (!value) {\n return placeholder || formatStr;\n }\n\n return (_renderValue = renderValue === null || renderValue === void 0 ? void 0 : renderValue(value, formatStr)) !== null && _renderValue !== void 0 ? _renderValue : formatDate(value, formatStr);\n }, [formatStr, formatDate, placeholder, renderValue, value]);\n var caretAs = (0, _react.useMemo)(function () {\n return caretAsProp || (_utils.DateUtils.shouldOnlyRenderTime(formatStr) ? _ClockO.default : _Calendar.default);\n }, [caretAsProp, formatStr]);\n return /*#__PURE__*/_react.default.createElement(_Picker.PickerToggleTrigger, {\n trigger: \"active\",\n pickerProps: (0, _pick.default)(props, _Picker.pickTriggerPropKeys),\n ref: triggerRef,\n placement: placement,\n onClose: function onClose(cause) {\n // Unless overlay is closing on user clicking \"OK\" button,\n // reset the selected date on calendar panel\n if (cause !== _OverlayTrigger.OverlayCloseCause.ImperativeHandle) {\n resetCalendarDate();\n }\n },\n onEntered: (0, _utils.createChainedFunction)(handleEntered, onEntered),\n onExited: (0, _utils.createChainedFunction)(handleExited, onExited),\n speaker: renderDropdownMenu,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 644,\n columnNumber: 7\n }\n }, /*#__PURE__*/_react.default.createElement(Component, {\n className: merge(className, classes),\n style: style,\n ref: rootRef,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 660,\n columnNumber: 9\n }\n }, /*#__PURE__*/_react.default.createElement(_Picker.PickerToggle, (0, _extends2.default)({}, (0, _omit.default)(rest, [].concat(_Picker.omitTriggerPropKeys, usedClassNamePropKeys, _utils.DateUtils.calendarOnlyProps)), {\n className: prefix({\n error: inputState === 'Error'\n }),\n as: toggleAs,\n ref: targetRef,\n appearance: appearance,\n editable: editable,\n inputValue: value ? formatDate(value, formatStr) : '',\n inputPlaceholder: typeof placeholder === 'string' && placeholder ? placeholder : formatStr,\n inputMask: _utils.DateUtils.getDateMask(formatStr),\n onInputChange: handleInputChange,\n onInputBlur: handleInputPressEnd,\n onInputPressEnter: handleInputPressEnd,\n onKeyDown: onPickerKeyDown,\n onClean: (0, _utils.createChainedFunction)(handleClean, onClean),\n cleanable: cleanable && !disabled,\n hasValue: hasValue,\n active: active,\n placement: placement,\n disabled: disabled,\n caretAs: caretAs,\n \"aria-haspopup\": \"dialog\",\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 661,\n columnNumber: 11\n }\n }), renderDate())));\n});\n\nDatePicker.displayName = 'DatePicker';\nDatePicker.propTypes = (0, _extends2.default)({}, _Picker.pickerPropTypes, {\n calendarDefaultDate: _propTypes.default.instanceOf(Date),\n defaultValue: _propTypes.default.instanceOf(Date),\n disabledDate: (0, _deprecatePropType.deprecatePropTypeNew)(_propTypes.default.func, 'Use \"shouldDisableDate\" property instead.'),\n disabledHours: (0, _deprecatePropType.deprecatePropTypeNew)(_propTypes.default.func, 'Use \"shouldDisableHour\" property instead.'),\n disabledMinutes: (0, _deprecatePropType.deprecatePropTypeNew)(_propTypes.default.func, 'Use \"shouldDisableMinute\" property instead.'),\n disabledSeconds: (0, _deprecatePropType.deprecatePropTypeNew)(_propTypes.default.func, 'Use \"shouldDisableSecond\" property instead.'),\n shouldDisableDate: _propTypes.default.func,\n shouldDisableHour: _propTypes.default.func,\n shouldDisableMinute: _propTypes.default.func,\n shouldDisableSecond: _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 limitEndYear: _propTypes.default.number,\n onChange: _propTypes.default.func,\n onChangeCalendarDate: _propTypes.default.func,\n onNextMonth: _propTypes.default.func,\n onOk: _propTypes.default.func,\n onPrevMonth: _propTypes.default.func,\n onSelect: _propTypes.default.func,\n onToggleMonthDropdown: _propTypes.default.func,\n onToggleTimeDropdown: _propTypes.default.func,\n oneTap: _propTypes.default.bool,\n panelContainerRef: _propTypes.default.any,\n ranges: _propTypes.default.array,\n showMeridian: _propTypes.default.bool,\n showWeekNumbers: _propTypes.default.bool,\n value: _propTypes.default.instanceOf(Date)\n});\nvar _default = DatePicker;\nexports[\"default\"] = _default;\n\n//# sourceURL=webpack://rsuite/./src/DatePicker/DatePicker.tsx?");
|
|
2230
2230
|
|
|
2231
2231
|
/***/ }),
|
|
2232
2232
|
|
|
@@ -2292,7 +2292,7 @@ eval("\n\nvar _interopRequireDefault = __webpack_require__(/*! @babel/runtime/he
|
|
|
2292
2292
|
/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
|
|
2293
2293
|
|
|
2294
2294
|
"use strict";
|
|
2295
|
-
eval("\n\nvar _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ \"./node_modules/@babel/runtime/helpers/interopRequireDefault.js\");\n\nvar _interopRequireWildcard = __webpack_require__(/*! @babel/runtime/helpers/interopRequireWildcard */ \"./node_modules/@babel/runtime/helpers/interopRequireWildcard.js\");\n\nexports.__esModule = true;\nexports[\"default\"] = void 0;\n\nvar _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ \"./node_modules/@babel/runtime/helpers/extends.js\"));\n\nvar _objectWithoutPropertiesLoose2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/objectWithoutPropertiesLoose */ \"./node_modules/@babel/runtime/helpers/objectWithoutPropertiesLoose.js\"));\n\nvar _Calendar = _interopRequireDefault(__webpack_require__(/*! @rsuite/icons/legacy/Calendar */ \"./node_modules/@rsuite/icons/legacy/Calendar.js\"));\n\nvar _isNil = _interopRequireDefault(__webpack_require__(/*! lodash/isNil */ \"./node_modules/lodash/isNil.js\"));\n\nvar _omit = _interopRequireDefault(__webpack_require__(/*! lodash/omit */ \"./node_modules/lodash/omit.js\"));\n\nvar _partial = _interopRequireDefault(__webpack_require__(/*! lodash/partial */ \"./node_modules/lodash/partial.js\"));\n\nvar _pick = _interopRequireDefault(__webpack_require__(/*! lodash/pick */ \"./node_modules/lodash/pick.js\"));\n\nvar _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ \"./node_modules/prop-types/index.js\"));\n\nvar _react = _interopRequireWildcard(__webpack_require__(/*! react */ \"react\"));\n\nvar _CustomProvider = __webpack_require__(/*! ../CustomProvider */ \"./src/CustomProvider/index.tsx\");\n\nvar _Toolbar = _interopRequireDefault(__webpack_require__(/*! ../DatePicker/Toolbar */ \"./src/DatePicker/Toolbar.tsx\"));\n\nvar _PredefinedRanges = _interopRequireDefault(__webpack_require__(/*! ../DatePicker/PredefinedRanges */ \"./src/DatePicker/PredefinedRanges.tsx\"));\n\nvar _Stack = _interopRequireDefault(__webpack_require__(/*! ../Stack */ \"./src/Stack/index.tsx\"));\n\nvar _Picker = __webpack_require__(/*! ../Picker */ \"./src/Picker/index.ts\");\n\nvar _utils = __webpack_require__(/*! ../utils */ \"./src/utils/index.ts\");\n\nvar _dateUtils = __webpack_require__(/*! ../utils/dateUtils */ \"./src/utils/dateUtils.ts\");\n\nvar _Calendar2 = _interopRequireDefault(__webpack_require__(/*! ./Calendar */ \"./src/DateRangePicker/Calendar.tsx\"));\n\nvar disabledDateUtils = _interopRequireWildcard(__webpack_require__(/*! ./disabledDateUtils */ \"./src/DateRangePicker/disabledDateUtils.ts\"));\n\nvar _utils2 = __webpack_require__(/*! ./utils */ \"./src/DateRangePicker/utils.ts\");\n\nvar _jsxFileName = \"/home/runner/work/rsuite/rsuite/src/DateRangePicker/DateRangePicker.tsx\",\n _this = void 0;\n\nvar DateRangePicker = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {\n var _ref, _ref2, _merge;\n\n var _props$as = props.as,\n Component = _props$as === void 0 ? 'div' : _props$as,\n _props$classPrefix = props.classPrefix,\n classPrefix = _props$classPrefix === void 0 ? 'picker' : _props$classPrefix,\n className = props.className,\n _props$appearance = props.appearance,\n appearance = _props$appearance === void 0 ? 'default' : _props$appearance,\n _props$editable = props.editable,\n editable = _props$editable === void 0 ? true : _props$editable,\n _props$cleanable = props.cleanable,\n cleanable = _props$cleanable === void 0 ? true : _props$cleanable,\n _props$character = props.character,\n character = _props$character === void 0 ? ' ~ ' : _props$character,\n defaultCalendarValue = props.defaultCalendarValue,\n defaultValue = props.defaultValue,\n disabled = props.disabled,\n disabledDateProp = props.disabledDate,\n _props$format = props.format,\n formatStr = _props$format === void 0 ? 'yyyy-MM-dd' : _props$format,\n hoverRange = props.hoverRange,\n _props$isoWeek = props.isoWeek,\n isoWeek = _props$isoWeek === void 0 ? false : _props$isoWeek,\n _props$limitEndYear = props.limitEndYear,\n limitEndYear = _props$limitEndYear === void 0 ? 1000 : _props$limitEndYear,\n overrideLocale = props.locale,\n menuClassName = props.menuClassName,\n menuStyle = props.menuStyle,\n oneTap = props.oneTap,\n _props$placeholder = props.placeholder,\n placeholder = _props$placeholder === void 0 ? '' : _props$placeholder,\n _props$placement = props.placement,\n placement = _props$placement === void 0 ? 'bottomStart' : _props$placement,\n ranges = props.ranges,\n renderValue = props.renderValue,\n _props$showOneCalenda = props.showOneCalendar,\n showOneCalendar = _props$showOneCalenda === void 0 ? false : _props$showOneCalenda,\n showWeekNumbers = props.showWeekNumbers,\n showMeridian = props.showMeridian,\n style = props.style,\n toggleAs = props.toggleAs,\n caretAs = props.caretAs,\n valueProp = props.value,\n onChange = props.onChange,\n onClean = props.onClean,\n onClose = props.onClose,\n onEnter = props.onEnter,\n onEntered = props.onEntered,\n onExited = props.onExited,\n onOk = props.onOk,\n onOpen = props.onOpen,\n onSelect = props.onSelect,\n renderTitle = props.renderTitle,\n rest = (0, _objectWithoutPropertiesLoose2.default)(props, [\"as\", \"classPrefix\", \"className\", \"appearance\", \"editable\", \"cleanable\", \"character\", \"defaultCalendarValue\", \"defaultValue\", \"disabled\", \"disabledDate\", \"format\", \"hoverRange\", \"isoWeek\", \"limitEndYear\", \"locale\", \"menuClassName\", \"menuStyle\", \"oneTap\", \"placeholder\", \"placement\", \"ranges\", \"renderValue\", \"showOneCalendar\", \"showWeekNumbers\", \"showMeridian\", \"style\", \"toggleAs\", \"caretAs\", \"value\", \"onChange\", \"onClean\", \"onClose\", \"onEnter\", \"onEntered\", \"onExited\", \"onOk\", \"onOpen\", \"onSelect\", \"renderTitle\"]);\n\n var _useClassNames = (0, _utils.useClassNames)(classPrefix),\n merge = _useClassNames.merge,\n prefix = _useClassNames.prefix;\n\n var _useCustom = (0, _utils.useCustom)('DateRangePicker', overrideLocale),\n locale = _useCustom.locale,\n formatDate = _useCustom.formatDate,\n parseDate = _useCustom.parseDate;\n\n var rangeFormatStr = \"\" + formatStr + character + formatStr;\n\n var _useControlled = (0, _utils.useControlled)(valueProp, defaultValue !== null && defaultValue !== void 0 ? defaultValue : null),\n value = _useControlled[0],\n setValue = _useControlled[1];\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\n\n var hasDoneSelect = (0, _react.useRef)(true);\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\n var _useState = (0, _react.useState)((_ref = valueProp !== null && valueProp !== void 0 ? valueProp : defaultValue) !== null && _ref !== void 0 ? _ref : []),\n selectedDates = _useState[0],\n setSelectedDates = _useState[1]; // The date of the current hover, used to reduce the calculation of `handleMouseMove`\n\n\n var _useState2 = (0, _react.useState)(null),\n hoverDateRange = _useState2[0],\n setHoverDateRange = _useState2[1]; // The displayed calendar panel is rendered based on this value.\n\n\n var _useState3 = (0, _react.useState)((0, _utils2.getSafeCalendarDate)({\n value: (_ref2 = value !== null && value !== void 0 ? value : defaultCalendarValue) !== null && _ref2 !== void 0 ? _ref2 : null\n })),\n calendarDate = _useState3[0],\n setCalendarDate = _useState3[1];\n\n var _useState4 = (0, _react.useState)(),\n inputState = _useState4[0],\n setInputState = _useState4[1];\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\n\n var selectRangeValueRef = (0, _react.useRef)(null);\n /**\n * Get the time on the calendar.\n */\n\n var getCalendarDatetime = (0, _react.useCallback)(function (calendarKey) {\n var index = calendarKey === 'start' ? 0 : 1;\n return (calendarDate === null || calendarDate === void 0 ? void 0 : calendarDate[index]) || (defaultCalendarValue === null || defaultCalendarValue === void 0 ? void 0 : defaultCalendarValue[index]);\n }, [calendarDate, defaultCalendarValue]);\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\n var updateCalendarDateRange = (0, _react.useCallback)(function (_ref3) {\n var dateRange = _ref3.dateRange,\n calendarKey = _ref3.calendarKey,\n eventName = _ref3.eventName;\n var nextValue = dateRange; // The time should remain the same when the dates in the date range are changed.\n\n if ((0, _dateUtils.shouldRenderTime)(formatStr) && dateRange !== null && dateRange !== void 0 && dateRange.length && eventName !== 'changeTime') {\n var _startDate = (0, _dateUtils.copyTime)({\n from: getCalendarDatetime('start'),\n to: dateRange[0]\n });\n\n var _endDate = (0, _dateUtils.copyTime)({\n from: getCalendarDatetime('end'),\n to: dateRange.length === 1 ? (0, _dateUtils.addMonths)(_startDate, 1) : dateRange[1]\n });\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\n setCalendarDate((0, _utils2.getSafeCalendarDate)({\n value: nextValue,\n calendarKey: calendarKey\n }));\n }, [formatStr, defaultCalendarValue, getCalendarDatetime]); // if valueProp changed then update selectValue/hoverValue\n\n (0, _react.useEffect)(function () {\n setSelectedDates(valueProp !== null && valueProp !== void 0 ? valueProp : []);\n setHoverDateRange(valueProp !== null && valueProp !== void 0 ? valueProp : null);\n }, [valueProp]);\n\n var _useState5 = (0, _react.useState)(false),\n isPickerToggleActive = _useState5[0],\n setPickerToggleActive = _useState5[1];\n\n var rootRef = (0, _react.useRef)(null);\n var overlayRef = (0, _react.useRef)(null);\n var targetRef = (0, _react.useRef)(null);\n var triggerRef = (0, _react.useRef)(null);\n var handleCloseDropdown = (0, _react.useCallback)(function () {\n var _triggerRef$current, _triggerRef$current$c;\n\n (_triggerRef$current = triggerRef.current) === null || _triggerRef$current === void 0 ? void 0 : (_triggerRef$current$c = _triggerRef$current.close) === null || _triggerRef$current$c === void 0 ? void 0 : _triggerRef$current$c.call(_triggerRef$current);\n }, []);\n (0, _Picker.usePublicMethods)(ref, {\n triggerRef: triggerRef,\n overlayRef: overlayRef,\n targetRef: targetRef,\n rootRef: rootRef\n });\n var getDisplayString = (0, _react.useCallback)(function (nextValue, isPlaintext) {\n var _nextValue$, _nextValue$2;\n\n var startDate = (_nextValue$ = nextValue === null || nextValue === void 0 ? void 0 : nextValue[0]) !== null && _nextValue$ !== void 0 ? _nextValue$ : null;\n var endDate = (_nextValue$2 = nextValue === null || nextValue === void 0 ? void 0 : nextValue[1]) !== null && _nextValue$2 !== void 0 ? _nextValue$2 : null;\n\n if (startDate && endDate) {\n var displayValue = [startDate, endDate].sort(_dateUtils.compareAsc);\n\n if (isPlaintext) {\n return formatDate(displayValue[0], formatStr) + character + formatDate(displayValue[1], formatStr);\n }\n\n return renderValue ? renderValue(displayValue, formatStr) : /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_CustomProvider.FormattedDate, {\n date: displayValue[0],\n formatStr: formatStr,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 325,\n columnNumber: 13\n }\n }), character, /*#__PURE__*/_react.default.createElement(_CustomProvider.FormattedDate, {\n date: displayValue[1],\n formatStr: formatStr,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 327,\n columnNumber: 13\n }\n }));\n }\n\n return isPlaintext ? '' : placeholder || rangeFormatStr;\n }, [character, formatDate, formatStr, placeholder, rangeFormatStr, renderValue]);\n /**\n * preset hover range\n */\n\n var getHoverRangeValue = (0, _react.useCallback)(function (date) {\n function getHoverRangeFunc() {\n if (hoverRange === 'week') {\n return (0, _partial.default)(_utils2.getWeekHoverRange, isoWeek);\n } else if (hoverRange === 'month') {\n return _utils2.getMonthHoverRange;\n }\n\n return hoverRange;\n }\n\n var hoverRangeFunc = getHoverRangeFunc();\n\n if ((0, _isNil.default)(hoverRangeFunc)) {\n return null;\n }\n\n var hoverValues = hoverRangeFunc(date);\n var isHoverRangeValid = hoverValues instanceof Array && hoverValues.length === 2;\n\n if (!isHoverRangeValid) {\n return null;\n }\n\n if ((0, _dateUtils.isAfter)(hoverValues[0], hoverValues[1])) {\n hoverValues = (0, _dateUtils.reverseDateRangeOmitTime)(hoverValues);\n }\n\n return hoverValues;\n }, [hoverRange, isoWeek]);\n var handleValueUpdate = (0, _react.useCallback)(function (event, nextValue, closeOverlay) {\n if (closeOverlay === void 0) {\n closeOverlay = true;\n }\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\n if (!(0, _utils2.isSameRange)(nextValue, value, formatStr)) {\n setValue(nextValue);\n onChange === null || onChange === void 0 ? void 0 : onChange(nextValue, event);\n } // `closeOverlay` default value is `true`\n\n\n if (closeOverlay !== false) {\n handleCloseDropdown();\n }\n }, [formatStr, handleCloseDropdown, onChange, setValue, value]);\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\n var handleMouseMove = (0, _react.useCallback)(function (date) {\n var nextHoverDateRange = getHoverRangeValue(date); // 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\n if (!hasDoneSelect.current) {\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\n if (_utils.DateUtils.isBefore(nextHoverDateRange[0], selectRangeValueRef.current[0])) {\n nextSelectedDates = [nextHoverDateRange[0], selectRangeValueRef.current[1]];\n }\n\n setSelectedDates(nextSelectedDates);\n } else {\n setHoverDateRange(function (prevHoverValue) {\n return (0, _isNil.default)(prevHoverValue) ? null : [prevHoverValue[0], date];\n });\n } // Before the first click, if nextHoverDateRange has a value, hoverDateRange needs to be updated\n\n } else if (!(0, _isNil.default)(nextHoverDateRange)) {\n setHoverDateRange(nextHoverDateRange);\n }\n }, [getHoverRangeValue]);\n /**\n * Callback for selecting a date cell in the calendar grid\n */\n\n var handleSelectDate = (0, _react.useCallback)(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); // in `oneTap` mode\n\n if (hasDoneSelect.current && oneTap) {\n handleValueUpdate(event, noHoverRangeValid ? [(0, _dateUtils.startOfDay)(date), (0, _dateUtils.endOfDay)(date)] : hoverRangeValue);\n hasDoneSelect.current = false;\n return;\n } // no preset hover range can use\n\n\n if (noHoverRangeValid) {\n // start select\n if (hasDoneSelect.current) {\n nextSelectDates = [date];\n } else {\n // finish select\n nextSelectDates[1] = date;\n }\n } else {\n if (!hasDoneSelect.current) {\n nextSelectDates = selectedDates;\n selectRangeValueRef.current = null;\n } else {\n nextSelectDates = hoverRangeValue;\n selectRangeValueRef.current = hoverRangeValue;\n }\n }\n\n if (nextSelectDates.length === 2) {\n // If user have completed the selection, then sort the selected dates.\n if ((0, _dateUtils.isAfter)(nextSelectDates[0], nextSelectDates[1])) {\n nextSelectDates = (0, _dateUtils.reverseDateRangeOmitTime)(nextSelectDates);\n }\n\n if ((0, _dateUtils.shouldRenderTime)(formatStr)) {\n nextSelectDates = [(0, _dateUtils.copyTime)({\n from: getCalendarDatetime('start'),\n to: nextSelectDates[0]\n }), (0, _dateUtils.copyTime)({\n from: getCalendarDatetime('end'),\n to: nextSelectDates[1]\n })];\n }\n\n setHoverDateRange(nextSelectDates);\n } else {\n setHoverDateRange([nextSelectDates[0], nextSelectDates[0]]);\n }\n\n setSelectedDates(nextSelectDates);\n updateCalendarDateRange({\n dateRange: nextSelectDates,\n calendarKey: calendarKey,\n eventName: 'changeDate'\n });\n onSelect === null || onSelect === void 0 ? void 0 : onSelect(date, event);\n hasDoneSelect.current = !hasDoneSelect.current;\n }, [formatStr, getCalendarDatetime, getHoverRangeValue, handleValueUpdate, hoverDateRange, onSelect, oneTap, selectedDates, updateCalendarDateRange]);\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\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 updateSingleCalendarMonth = (0, _react.useCallback)(function (index, date) {\n var calendarKey = index === 0 ? 'start' : 'end';\n var nextCalendarDate = Array.from(calendarDate);\n nextCalendarDate[index] = date;\n updateCalendarDateRange({\n dateRange: nextCalendarDate,\n calendarKey: calendarKey,\n eventName: 'changeMonth'\n });\n }, [calendarDate, updateCalendarDateRange]);\n var updateSingleCalendarTime = (0, _react.useCallback)(function (index, date) {\n var calendarKey = index === 0 ? 'start' : 'end';\n var nextCalendarDate = Array.from(calendarDate);\n nextCalendarDate[index] = date;\n updateCalendarDateRange({\n dateRange: nextCalendarDate,\n calendarKey: calendarKey,\n eventName: 'changeTime'\n });\n setSelectedDates(function (prev) {\n var next = [].concat(prev); // if next[index] is not empty, only update the time after aligning the year, month and day\n\n next[index] = next[index] ? (0, _dateUtils.copyTime)({\n from: date,\n to: next[index]\n }) : new Date(date.valueOf());\n return next;\n });\n }, [calendarDate, updateCalendarDateRange]);\n /**\n * The callback triggered when PM/AM is switched.\n */\n\n var handleToggleMeridian = (0, _react.useCallback)(function (index) {\n var nextCalendarDate = Array.from(calendarDate);\n nextCalendarDate[index] = (0, _dateUtils.getReversedTimeMeridian)(nextCalendarDate[index]);\n setCalendarDate(nextCalendarDate); // If the value already exists, update the value again.\n\n if (selectedDates.length === 2) {\n var nextSelectedDates = Array.from(selectedDates);\n nextSelectedDates[index] = (0, _dateUtils.getReversedTimeMeridian)(nextSelectedDates[index]);\n setSelectedDates(nextSelectedDates);\n }\n }, [calendarDate, selectedDates]);\n /**\n * Toolbar operation callback function\n */\n\n var handleShortcutPageDate = (0, _react.useCallback)(function (value, closeOverlay, event) {\n if (closeOverlay === void 0) {\n closeOverlay = false;\n }\n\n updateCalendarDateRange({\n dateRange: value\n });\n\n if (closeOverlay) {\n handleValueUpdate(event, value, closeOverlay);\n } else {\n setSelectedDates(value !== null && value !== void 0 ? value : []);\n } // End unfinished selections.\n\n\n hasDoneSelect.current = true;\n }, [handleValueUpdate, updateCalendarDateRange]);\n var handleOK = (0, _react.useCallback)(function (event) {\n handleValueUpdate(event, selectedDates);\n onOk === null || onOk === void 0 ? void 0 : onOk(selectedDates, event);\n }, [handleValueUpdate, onOk, selectedDates]);\n var handleClean = (0, _react.useCallback)(function (event) {\n updateCalendarDateRange({\n dateRange: null\n });\n handleValueUpdate(event, null);\n }, [handleValueUpdate, updateCalendarDateRange]);\n /**\n * Callback after the input box value is changed.\n */\n\n var handleInputChange = (0, _react.useCallback)(function (value) {\n setInputState('Typing');\n var rangeValue = value.split(character); // isMatch('01/11/2020', 'MM/dd/yyyy') ==> true\n // isMatch('2020-11-01', 'MM/dd/yyyy') ==> false\n\n if (!_utils.DateUtils.isMatch(rangeValue[0], formatStr, {\n locale: locale.dateLocale\n }) || !_utils.DateUtils.isMatch(rangeValue[1], formatStr, {\n locale: locale.dateLocale\n })) {\n setInputState('Error');\n return;\n }\n\n var startDate = parseDate(rangeValue[0], formatStr);\n var endDate = parseDate(rangeValue[1], formatStr);\n var selectValue = [startDate, endDate];\n\n if (!_utils.DateUtils.isValid(startDate) || !_utils.DateUtils.isValid(endDate)) {\n setInputState('Error');\n return;\n }\n\n if (isDateDisabled(startDate, selectValue, true, _utils.DATERANGE_DISABLED_TARGET.CALENDAR)) {\n setInputState('Error');\n return;\n }\n\n setHoverDateRange(selectValue);\n setSelectedDates(selectValue);\n updateCalendarDateRange({\n dateRange: selectValue\n });\n }, // eslint-disable-next-line react-hooks/exhaustive-deps\n [character, rangeFormatStr, updateCalendarDateRange]);\n /**\n * The callback after the enter key is triggered on the input\n */\n\n var handleInputPressEnd = (0, _react.useCallback)(function (event) {\n if (inputState === 'Typing') {\n handleValueUpdate(event, selectedDates.length === 2 ? selectedDates : null);\n }\n\n setInputState('Initial');\n }, [handleValueUpdate, selectedDates, inputState]);\n var handleEnter = (0, _react.useCallback)(function () {\n var nextCalendarDate;\n\n if (value && value.length) {\n var _startDate2 = value[0],\n endData = value[1];\n nextCalendarDate = [_startDate2, (0, _dateUtils.isSameMonth)(_startDate2, endData) ? (0, _dateUtils.addMonths)(endData, 1) : endData];\n } else {\n // Reset the date on the calendar to the default date\n nextCalendarDate = (0, _utils2.getSafeCalendarDate)({\n value: defaultCalendarValue !== null && defaultCalendarValue !== void 0 ? defaultCalendarValue : null\n });\n }\n\n setSelectedDates(value !== null && value !== void 0 ? value : []);\n updateCalendarDateRange({\n dateRange: nextCalendarDate\n });\n }, [defaultCalendarValue, updateCalendarDateRange, setSelectedDates, value]);\n var handleEntered = (0, _react.useCallback)(function () {\n onOpen === null || onOpen === void 0 ? void 0 : onOpen();\n setPickerToggleActive(true);\n }, [onOpen]);\n var handleExited = (0, _react.useCallback)(function () {\n setPickerToggleActive(false);\n hasDoneSelect.current = true;\n onClose === null || onClose === void 0 ? void 0 : onClose();\n }, [onClose]);\n var isDateDisabled = (0, _react.useCallback)(function (date, selectDate, selectedDone, target) {\n var _disabledDateProp;\n\n return (_disabledDateProp = disabledDateProp === null || disabledDateProp === void 0 ? void 0 : disabledDateProp(date, selectDate, selectedDone, target)) !== null && _disabledDateProp !== void 0 ? _disabledDateProp : false;\n }, [disabledDateProp]);\n var disabledByBetween = (0, _react.useCallback)(function (start, end, type) {\n // If the date is between the start and the end\n // the button is disabled\n while (_utils.DateUtils.isBefore(start, end) || _utils.DateUtils.isSameDay(start, end)) {\n if (isDateDisabled(start, selectedDates, hasDoneSelect.current, type)) {\n return true;\n }\n\n start = _utils.DateUtils.addDays(start, 1);\n }\n\n return false;\n }, [isDateDisabled, selectedDates]);\n var disabledOkButton = (0, _react.useCallback)(function () {\n var start = selectedDates[0],\n end = selectedDates[1];\n\n if (!start || !end || !hasDoneSelect.current) {\n return true;\n }\n\n return disabledByBetween(start, end, _utils.DATERANGE_DISABLED_TARGET.TOOLBAR_BUTTON_OK);\n }, [disabledByBetween, selectedDates]);\n var disabledShortcutButton = (0, _react.useCallback)(function (value) {\n if (value === void 0) {\n value = [];\n }\n\n var _value = value,\n start = _value[0],\n end = _value[1];\n\n if (!start || !end) {\n return true;\n }\n\n return disabledByBetween(start, end, _utils.DATERANGE_DISABLED_TARGET.TOOLBAR_SHORTCUT);\n }, [disabledByBetween]);\n var handleDisabledDate = (0, _react.useCallback)(function (date, values, type) {\n return isDateDisabled(date, values, hasDoneSelect.current, type);\n }, [isDateDisabled]);\n var onPickerKeyDown = (0, _Picker.useToggleKeyDownEvent)((0, _extends2.default)({\n triggerRef: triggerRef,\n targetRef: targetRef,\n active: isPickerToggleActive,\n onExit: handleClean\n }, rest));\n\n var renderDropdownMenu = function renderDropdownMenu(positionProps, speakerRef) {\n var left = positionProps.left,\n top = positionProps.top,\n className = positionProps.className;\n var classes = merge(className, menuClassName, prefix('daterange-menu'));\n var panelClasses = prefix('daterange-panel', {\n 'daterange-panel-show-one-calendar': showOneCalendar\n });\n var styles = (0, _extends2.default)({}, menuStyle, {\n left: left,\n top: top\n });\n var calendarProps = {\n calendarDate: calendarDate,\n disabledDate: handleDisabledDate,\n format: formatStr,\n hoverRangeValue: hoverDateRange !== null && hoverDateRange !== void 0 ? hoverDateRange : undefined,\n isoWeek: isoWeek,\n limitEndYear: limitEndYear,\n locale: locale,\n showWeekNumbers: showWeekNumbers,\n value: selectedDates,\n showMeridian: showMeridian,\n onChangeCalendarMonth: updateSingleCalendarMonth,\n onChangeCalendarTime: updateSingleCalendarTime,\n onMouseMove: handleMouseMove,\n onSelect: handleSelectDate,\n onToggleMeridian: handleToggleMeridian,\n renderTitle: renderTitle\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.PickerOverlay, {\n role: \"dialog\",\n className: classes,\n ref: (0, _utils.mergeRefs)(overlayRef, speakerRef),\n target: triggerRef,\n style: styles,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 792,\n columnNumber: 7\n }\n }, /*#__PURE__*/_react.default.createElement(\"div\", {\n className: panelClasses,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 799,\n columnNumber: 9\n }\n }, /*#__PURE__*/_react.default.createElement(_Stack.default, {\n alignItems: \"flex-start\",\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 800,\n columnNumber: 11\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: calendarDate,\n locale: locale,\n disabledShortcut: disabledShortcutButton,\n onClickShortcut: handleShortcutPageDate,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 802,\n columnNumber: 15\n }\n }), /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(\"div\", {\n className: prefix('daterange-content'),\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 815,\n columnNumber: 15\n }\n }, /*#__PURE__*/_react.default.createElement(\"div\", {\n className: prefix('daterange-header'),\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 816,\n columnNumber: 17\n }\n }, getDisplayString(selectedDates)), /*#__PURE__*/_react.default.createElement(\"div\", {\n className: prefix(\"daterange-calendar-\" + (showOneCalendar ? 'single' : 'group')),\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 817,\n columnNumber: 17\n }\n }, /*#__PURE__*/_react.default.createElement(_Calendar2.default, (0, _extends2.default)({\n index: 0\n }, calendarProps, {\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 820,\n columnNumber: 19\n }\n })), !showOneCalendar && /*#__PURE__*/_react.default.createElement(_Calendar2.default, (0, _extends2.default)({\n index: 1\n }, calendarProps, {\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 821,\n columnNumber: 40\n }\n })))), /*#__PURE__*/_react.default.createElement(_Toolbar.default, {\n locale: locale,\n calendarDate: selectedDates,\n disabledOkBtn: disabledOkButton,\n disabledShortcut: disabledShortcutButton,\n hideOkBtn: oneTap,\n onOk: handleOK,\n onClickShortcut: handleShortcutPageDate,\n ranges: bottomRanges,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 824,\n columnNumber: 15\n }\n })))));\n };\n\n var hasValue = !(0, _isNil.default)(value) && value.length > 1;\n\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\n return /*#__PURE__*/_react.default.createElement(_Picker.PickerToggleTrigger, {\n pickerProps: (0, _pick.default)(props, _Picker.pickTriggerPropKeys),\n ref: triggerRef,\n placement: placement,\n onEnter: (0, _utils.createChainedFunction)(handleEnter, onEnter),\n onEntered: (0, _utils.createChainedFunction)(handleEntered, onEntered),\n onExited: (0, _utils.createChainedFunction)(handleExited, onExited),\n speaker: renderDropdownMenu,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 852,\n columnNumber: 5\n }\n }, /*#__PURE__*/_react.default.createElement(Component, {\n ref: rootRef,\n className: merge(className, classes, (_merge = {}, _merge[prefix('error')] = inputState === 'Error', _merge)),\n style: style,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 861,\n columnNumber: 7\n }\n }, /*#__PURE__*/_react.default.createElement(_Picker.PickerToggle, (0, _extends2.default)({}, (0, _omit.default)(rest, [].concat(_Picker.omitTriggerPropKeys, usedClassNamePropKeys, _utils.DateUtils.calendarOnlyProps)), {\n as: toggleAs,\n ref: targetRef,\n appearance: appearance,\n editable: editable,\n inputMask: _utils.DateUtils.getDateMask(rangeFormatStr),\n inputValue: value ? getDisplayString(value, true) : '',\n inputPlaceholder: typeof placeholder === 'string' && placeholder ? placeholder : rangeFormatStr,\n onInputChange: handleInputChange,\n onInputBlur: handleInputPressEnd,\n onInputPressEnter: handleInputPressEnd,\n onKeyDown: onPickerKeyDown,\n onClean: (0, _utils.createChainedFunction)(handleClean, onClean),\n cleanable: cleanable && !disabled,\n hasValue: hasValue,\n active: isPickerToggleActive,\n placement: placement,\n disabled: disabled,\n caretAs: caretAs || _Calendar.default,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 868,\n columnNumber: 9\n }\n }), getDisplayString(value))));\n});\n\nDateRangePicker.after = disabledDateUtils.after;\nDateRangePicker.afterToday = disabledDateUtils.afterToday;\nDateRangePicker.allowedDays = disabledDateUtils.allowedDays;\nDateRangePicker.allowedMaxDays = disabledDateUtils.allowedMaxDays;\nDateRangePicker.allowedRange = disabledDateUtils.allowedRange;\nDateRangePicker.before = disabledDateUtils.before;\nDateRangePicker.beforeToday = disabledDateUtils.beforeToday;\nDateRangePicker.combine = disabledDateUtils.combine;\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([_propTypes.default.oneOf(['week', 'month']), _propTypes.default.func]),\n format: _propTypes.default.string,\n isoWeek: _propTypes.default.bool,\n oneTap: _propTypes.default.bool,\n limitEndYear: _propTypes.default.number,\n onChange: _propTypes.default.func,\n onOk: _propTypes.default.func,\n disabledDate: _propTypes.default.func,\n onSelect: _propTypes.default.func,\n showWeekNumbers: _propTypes.default.bool,\n showMeridian: _propTypes.default.bool,\n showOneCalendar: _propTypes.default.bool\n});\nvar _default = DateRangePicker;\nexports[\"default\"] = _default;\n\n//# sourceURL=webpack://rsuite/./src/DateRangePicker/DateRangePicker.tsx?");
|
|
2295
|
+
eval("\n\nvar _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ \"./node_modules/@babel/runtime/helpers/interopRequireDefault.js\");\n\nvar _interopRequireWildcard = __webpack_require__(/*! @babel/runtime/helpers/interopRequireWildcard */ \"./node_modules/@babel/runtime/helpers/interopRequireWildcard.js\");\n\nexports.__esModule = true;\nexports[\"default\"] = void 0;\n\nvar _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ \"./node_modules/@babel/runtime/helpers/extends.js\"));\n\nvar _objectWithoutPropertiesLoose2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/objectWithoutPropertiesLoose */ \"./node_modules/@babel/runtime/helpers/objectWithoutPropertiesLoose.js\"));\n\nvar _Calendar = _interopRequireDefault(__webpack_require__(/*! @rsuite/icons/legacy/Calendar */ \"./node_modules/@rsuite/icons/legacy/Calendar.js\"));\n\nvar _isNil = _interopRequireDefault(__webpack_require__(/*! lodash/isNil */ \"./node_modules/lodash/isNil.js\"));\n\nvar _omit = _interopRequireDefault(__webpack_require__(/*! lodash/omit */ \"./node_modules/lodash/omit.js\"));\n\nvar _partial = _interopRequireDefault(__webpack_require__(/*! lodash/partial */ \"./node_modules/lodash/partial.js\"));\n\nvar _pick = _interopRequireDefault(__webpack_require__(/*! lodash/pick */ \"./node_modules/lodash/pick.js\"));\n\nvar _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ \"./node_modules/prop-types/index.js\"));\n\nvar _react = _interopRequireWildcard(__webpack_require__(/*! react */ \"react\"));\n\nvar _CustomProvider = __webpack_require__(/*! ../CustomProvider */ \"./src/CustomProvider/index.tsx\");\n\nvar _Toolbar = _interopRequireDefault(__webpack_require__(/*! ../DatePicker/Toolbar */ \"./src/DatePicker/Toolbar.tsx\"));\n\nvar _PredefinedRanges = _interopRequireDefault(__webpack_require__(/*! ../DatePicker/PredefinedRanges */ \"./src/DatePicker/PredefinedRanges.tsx\"));\n\nvar _Stack = _interopRequireDefault(__webpack_require__(/*! ../Stack */ \"./src/Stack/index.tsx\"));\n\nvar _Picker = __webpack_require__(/*! ../Picker */ \"./src/Picker/index.ts\");\n\nvar _utils = __webpack_require__(/*! ../utils */ \"./src/utils/index.ts\");\n\nvar _dateUtils = __webpack_require__(/*! ../utils/dateUtils */ \"./src/utils/dateUtils.ts\");\n\nvar _Calendar2 = _interopRequireDefault(__webpack_require__(/*! ./Calendar */ \"./src/DateRangePicker/Calendar.tsx\"));\n\nvar disabledDateUtils = _interopRequireWildcard(__webpack_require__(/*! ./disabledDateUtils */ \"./src/DateRangePicker/disabledDateUtils.ts\"));\n\nvar _utils2 = __webpack_require__(/*! ./utils */ \"./src/DateRangePicker/utils.ts\");\n\nvar _deprecatePropType = __webpack_require__(/*! ../utils/deprecatePropType */ \"./src/utils/deprecatePropType.ts\");\n\nvar _jsxFileName = \"/home/runner/work/rsuite/rsuite/src/DateRangePicker/DateRangePicker.tsx\",\n _this = void 0;\n\nvar DateRangePicker = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {\n var _ref, _ref2, _merge;\n\n var _props$as = props.as,\n Component = _props$as === void 0 ? 'div' : _props$as,\n _props$classPrefix = props.classPrefix,\n classPrefix = _props$classPrefix === void 0 ? 'picker' : _props$classPrefix,\n className = props.className,\n _props$appearance = props.appearance,\n appearance = _props$appearance === void 0 ? 'default' : _props$appearance,\n _props$editable = props.editable,\n editable = _props$editable === void 0 ? true : _props$editable,\n _props$cleanable = props.cleanable,\n cleanable = _props$cleanable === void 0 ? true : _props$cleanable,\n _props$character = props.character,\n character = _props$character === void 0 ? ' ~ ' : _props$character,\n defaultCalendarValue = props.defaultCalendarValue,\n defaultValue = props.defaultValue,\n disabled = props.disabled,\n DEPRECATED_disabledDateProp = props.disabledDate,\n shouldDisableDate = props.shouldDisableDate,\n _props$format = props.format,\n formatStr = _props$format === void 0 ? 'yyyy-MM-dd' : _props$format,\n hoverRange = props.hoverRange,\n _props$isoWeek = props.isoWeek,\n isoWeek = _props$isoWeek === void 0 ? false : _props$isoWeek,\n _props$limitEndYear = props.limitEndYear,\n limitEndYear = _props$limitEndYear === void 0 ? 1000 : _props$limitEndYear,\n overrideLocale = props.locale,\n menuClassName = props.menuClassName,\n menuStyle = props.menuStyle,\n oneTap = props.oneTap,\n _props$placeholder = props.placeholder,\n placeholder = _props$placeholder === void 0 ? '' : _props$placeholder,\n _props$placement = props.placement,\n placement = _props$placement === void 0 ? 'bottomStart' : _props$placement,\n ranges = props.ranges,\n renderValue = props.renderValue,\n _props$showOneCalenda = props.showOneCalendar,\n showOneCalendar = _props$showOneCalenda === void 0 ? false : _props$showOneCalenda,\n showWeekNumbers = props.showWeekNumbers,\n showMeridian = props.showMeridian,\n style = props.style,\n toggleAs = props.toggleAs,\n caretAs = props.caretAs,\n valueProp = props.value,\n onChange = props.onChange,\n onClean = props.onClean,\n onClose = props.onClose,\n onEnter = props.onEnter,\n onEntered = props.onEntered,\n onExited = props.onExited,\n onOk = props.onOk,\n onOpen = props.onOpen,\n onSelect = props.onSelect,\n renderTitle = props.renderTitle,\n rest = (0, _objectWithoutPropertiesLoose2.default)(props, [\"as\", \"classPrefix\", \"className\", \"appearance\", \"editable\", \"cleanable\", \"character\", \"defaultCalendarValue\", \"defaultValue\", \"disabled\", \"disabledDate\", \"shouldDisableDate\", \"format\", \"hoverRange\", \"isoWeek\", \"limitEndYear\", \"locale\", \"menuClassName\", \"menuStyle\", \"oneTap\", \"placeholder\", \"placement\", \"ranges\", \"renderValue\", \"showOneCalendar\", \"showWeekNumbers\", \"showMeridian\", \"style\", \"toggleAs\", \"caretAs\", \"value\", \"onChange\", \"onClean\", \"onClose\", \"onEnter\", \"onEntered\", \"onExited\", \"onOk\", \"onOpen\", \"onSelect\", \"renderTitle\"]);\n\n var _useClassNames = (0, _utils.useClassNames)(classPrefix),\n merge = _useClassNames.merge,\n prefix = _useClassNames.prefix;\n\n var _useCustom = (0, _utils.useCustom)('DateRangePicker', overrideLocale),\n locale = _useCustom.locale,\n formatDate = _useCustom.formatDate,\n parseDate = _useCustom.parseDate;\n\n var rangeFormatStr = \"\" + formatStr + character + formatStr;\n\n var _useControlled = (0, _utils.useControlled)(valueProp, defaultValue !== null && defaultValue !== void 0 ? defaultValue : null),\n value = _useControlled[0],\n setValue = _useControlled[1];\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\n\n var hasDoneSelect = (0, _react.useRef)(true);\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\n var _useState = (0, _react.useState)((_ref = valueProp !== null && valueProp !== void 0 ? valueProp : defaultValue) !== null && _ref !== void 0 ? _ref : []),\n selectedDates = _useState[0],\n setSelectedDates = _useState[1]; // The date of the current hover, used to reduce the calculation of `handleMouseMove`\n\n\n var _useState2 = (0, _react.useState)(null),\n hoverDateRange = _useState2[0],\n setHoverDateRange = _useState2[1]; // The displayed calendar panel is rendered based on this value.\n\n\n var _useState3 = (0, _react.useState)((0, _utils2.getSafeCalendarDate)({\n value: (_ref2 = value !== null && value !== void 0 ? value : defaultCalendarValue) !== null && _ref2 !== void 0 ? _ref2 : null\n })),\n calendarDate = _useState3[0],\n setCalendarDate = _useState3[1];\n\n var _useState4 = (0, _react.useState)(),\n inputState = _useState4[0],\n setInputState = _useState4[1];\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\n\n var selectRangeValueRef = (0, _react.useRef)(null);\n /**\n * Get the time on the calendar.\n */\n\n var getCalendarDatetime = (0, _react.useCallback)(function (calendarKey) {\n var index = calendarKey === 'start' ? 0 : 1;\n return (calendarDate === null || calendarDate === void 0 ? void 0 : calendarDate[index]) || (defaultCalendarValue === null || defaultCalendarValue === void 0 ? void 0 : defaultCalendarValue[index]);\n }, [calendarDate, defaultCalendarValue]);\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\n var updateCalendarDateRange = (0, _react.useCallback)(function (_ref3) {\n var dateRange = _ref3.dateRange,\n calendarKey = _ref3.calendarKey,\n eventName = _ref3.eventName;\n var nextValue = dateRange; // The time should remain the same when the dates in the date range are changed.\n\n if ((0, _dateUtils.shouldRenderTime)(formatStr) && dateRange !== null && dateRange !== void 0 && dateRange.length && eventName !== 'changeTime') {\n var _startDate = (0, _dateUtils.copyTime)({\n from: getCalendarDatetime('start'),\n to: dateRange[0]\n });\n\n var _endDate = (0, _dateUtils.copyTime)({\n from: getCalendarDatetime('end'),\n to: dateRange.length === 1 ? (0, _dateUtils.addMonths)(_startDate, 1) : dateRange[1]\n });\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\n setCalendarDate((0, _utils2.getSafeCalendarDate)({\n value: nextValue,\n calendarKey: calendarKey\n }));\n }, [formatStr, defaultCalendarValue, getCalendarDatetime]); // if valueProp changed then update selectValue/hoverValue\n\n (0, _react.useEffect)(function () {\n setSelectedDates(valueProp !== null && valueProp !== void 0 ? valueProp : []);\n setHoverDateRange(valueProp !== null && valueProp !== void 0 ? valueProp : null);\n }, [valueProp]);\n\n var _useState5 = (0, _react.useState)(false),\n isPickerToggleActive = _useState5[0],\n setPickerToggleActive = _useState5[1];\n\n var rootRef = (0, _react.useRef)(null);\n var overlayRef = (0, _react.useRef)(null);\n var targetRef = (0, _react.useRef)(null);\n var triggerRef = (0, _react.useRef)(null);\n var handleCloseDropdown = (0, _react.useCallback)(function () {\n var _triggerRef$current, _triggerRef$current$c;\n\n (_triggerRef$current = triggerRef.current) === null || _triggerRef$current === void 0 ? void 0 : (_triggerRef$current$c = _triggerRef$current.close) === null || _triggerRef$current$c === void 0 ? void 0 : _triggerRef$current$c.call(_triggerRef$current);\n }, []);\n (0, _Picker.usePublicMethods)(ref, {\n triggerRef: triggerRef,\n overlayRef: overlayRef,\n targetRef: targetRef,\n rootRef: rootRef\n });\n var getDisplayString = (0, _react.useCallback)(function (nextValue, isPlaintext) {\n var _nextValue$, _nextValue$2;\n\n var startDate = (_nextValue$ = nextValue === null || nextValue === void 0 ? void 0 : nextValue[0]) !== null && _nextValue$ !== void 0 ? _nextValue$ : null;\n var endDate = (_nextValue$2 = nextValue === null || nextValue === void 0 ? void 0 : nextValue[1]) !== null && _nextValue$2 !== void 0 ? _nextValue$2 : null;\n\n if (startDate && endDate) {\n var displayValue = [startDate, endDate].sort(_dateUtils.compareAsc);\n\n if (isPlaintext) {\n return formatDate(displayValue[0], formatStr) + character + formatDate(displayValue[1], formatStr);\n }\n\n return renderValue ? renderValue(displayValue, formatStr) : /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_CustomProvider.FormattedDate, {\n date: displayValue[0],\n formatStr: formatStr,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 336,\n columnNumber: 13\n }\n }), character, /*#__PURE__*/_react.default.createElement(_CustomProvider.FormattedDate, {\n date: displayValue[1],\n formatStr: formatStr,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 338,\n columnNumber: 13\n }\n }));\n }\n\n return isPlaintext ? '' : placeholder || rangeFormatStr;\n }, [character, formatDate, formatStr, placeholder, rangeFormatStr, renderValue]);\n /**\n * preset hover range\n */\n\n var getHoverRangeValue = (0, _react.useCallback)(function (date) {\n function getHoverRangeFunc() {\n if (hoverRange === 'week') {\n return (0, _partial.default)(_utils2.getWeekHoverRange, isoWeek);\n } else if (hoverRange === 'month') {\n return _utils2.getMonthHoverRange;\n }\n\n return hoverRange;\n }\n\n var hoverRangeFunc = getHoverRangeFunc();\n\n if ((0, _isNil.default)(hoverRangeFunc)) {\n return null;\n }\n\n var hoverValues = hoverRangeFunc(date);\n var isHoverRangeValid = hoverValues instanceof Array && hoverValues.length === 2;\n\n if (!isHoverRangeValid) {\n return null;\n }\n\n if ((0, _dateUtils.isAfter)(hoverValues[0], hoverValues[1])) {\n hoverValues = (0, _dateUtils.reverseDateRangeOmitTime)(hoverValues);\n }\n\n return hoverValues;\n }, [hoverRange, isoWeek]);\n var handleValueUpdate = (0, _react.useCallback)(function (event, nextValue, closeOverlay) {\n if (closeOverlay === void 0) {\n closeOverlay = true;\n }\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\n if (!(0, _utils2.isSameRange)(nextValue, value, formatStr)) {\n setValue(nextValue);\n onChange === null || onChange === void 0 ? void 0 : onChange(nextValue, event);\n } // `closeOverlay` default value is `true`\n\n\n if (closeOverlay !== false) {\n handleCloseDropdown();\n }\n }, [formatStr, handleCloseDropdown, onChange, setValue, value]);\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\n var handleMouseMove = (0, _react.useCallback)(function (date) {\n var nextHoverDateRange = getHoverRangeValue(date); // 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\n if (!hasDoneSelect.current) {\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\n if (_utils.DateUtils.isBefore(nextHoverDateRange[0], selectRangeValueRef.current[0])) {\n nextSelectedDates = [nextHoverDateRange[0], selectRangeValueRef.current[1]];\n }\n\n setSelectedDates(nextSelectedDates);\n } else {\n setHoverDateRange(function (prevHoverValue) {\n return (0, _isNil.default)(prevHoverValue) ? null : [prevHoverValue[0], date];\n });\n } // Before the first click, if nextHoverDateRange has a value, hoverDateRange needs to be updated\n\n } else if (!(0, _isNil.default)(nextHoverDateRange)) {\n setHoverDateRange(nextHoverDateRange);\n }\n }, [getHoverRangeValue]);\n /**\n * Callback for selecting a date cell in the calendar grid\n */\n\n var handleSelectDate = (0, _react.useCallback)(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); // in `oneTap` mode\n\n if (hasDoneSelect.current && oneTap) {\n handleValueUpdate(event, noHoverRangeValid ? [(0, _dateUtils.startOfDay)(date), (0, _dateUtils.endOfDay)(date)] : hoverRangeValue);\n hasDoneSelect.current = false;\n return;\n } // no preset hover range can use\n\n\n if (noHoverRangeValid) {\n // start select\n if (hasDoneSelect.current) {\n nextSelectDates = [date];\n } else {\n // finish select\n nextSelectDates[1] = date;\n }\n } else {\n if (!hasDoneSelect.current) {\n nextSelectDates = selectedDates;\n selectRangeValueRef.current = null;\n } else {\n nextSelectDates = hoverRangeValue;\n selectRangeValueRef.current = hoverRangeValue;\n }\n }\n\n if (nextSelectDates.length === 2) {\n // If user have completed the selection, then sort the selected dates.\n if ((0, _dateUtils.isAfter)(nextSelectDates[0], nextSelectDates[1])) {\n nextSelectDates = (0, _dateUtils.reverseDateRangeOmitTime)(nextSelectDates);\n }\n\n if ((0, _dateUtils.shouldRenderTime)(formatStr)) {\n nextSelectDates = [(0, _dateUtils.copyTime)({\n from: getCalendarDatetime('start'),\n to: nextSelectDates[0]\n }), (0, _dateUtils.copyTime)({\n from: getCalendarDatetime('end'),\n to: nextSelectDates[1]\n })];\n }\n\n setHoverDateRange(nextSelectDates);\n } else {\n setHoverDateRange([nextSelectDates[0], nextSelectDates[0]]);\n }\n\n setSelectedDates(nextSelectDates);\n updateCalendarDateRange({\n dateRange: nextSelectDates,\n calendarKey: calendarKey,\n eventName: 'changeDate'\n });\n onSelect === null || onSelect === void 0 ? void 0 : onSelect(date, event);\n hasDoneSelect.current = !hasDoneSelect.current;\n }, [formatStr, getCalendarDatetime, getHoverRangeValue, handleValueUpdate, hoverDateRange, onSelect, oneTap, selectedDates, updateCalendarDateRange]);\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\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 updateSingleCalendarMonth = (0, _react.useCallback)(function (index, date) {\n var calendarKey = index === 0 ? 'start' : 'end';\n var nextCalendarDate = Array.from(calendarDate);\n nextCalendarDate[index] = date;\n updateCalendarDateRange({\n dateRange: nextCalendarDate,\n calendarKey: calendarKey,\n eventName: 'changeMonth'\n });\n }, [calendarDate, updateCalendarDateRange]);\n var updateSingleCalendarTime = (0, _react.useCallback)(function (index, date) {\n var calendarKey = index === 0 ? 'start' : 'end';\n var nextCalendarDate = Array.from(calendarDate);\n nextCalendarDate[index] = date;\n updateCalendarDateRange({\n dateRange: nextCalendarDate,\n calendarKey: calendarKey,\n eventName: 'changeTime'\n });\n setSelectedDates(function (prev) {\n var next = [].concat(prev); // if next[index] is not empty, only update the time after aligning the year, month and day\n\n next[index] = next[index] ? (0, _dateUtils.copyTime)({\n from: date,\n to: next[index]\n }) : new Date(date.valueOf());\n return next;\n });\n }, [calendarDate, updateCalendarDateRange]);\n /**\n * The callback triggered when PM/AM is switched.\n */\n\n var handleToggleMeridian = (0, _react.useCallback)(function (index) {\n var nextCalendarDate = Array.from(calendarDate);\n nextCalendarDate[index] = (0, _dateUtils.getReversedTimeMeridian)(nextCalendarDate[index]);\n setCalendarDate(nextCalendarDate); // If the value already exists, update the value again.\n\n if (selectedDates.length === 2) {\n var nextSelectedDates = Array.from(selectedDates);\n nextSelectedDates[index] = (0, _dateUtils.getReversedTimeMeridian)(nextSelectedDates[index]);\n setSelectedDates(nextSelectedDates);\n }\n }, [calendarDate, selectedDates]);\n /**\n * Toolbar operation callback function\n */\n\n var handleShortcutPageDate = (0, _react.useCallback)(function (value, closeOverlay, event) {\n if (closeOverlay === void 0) {\n closeOverlay = false;\n }\n\n updateCalendarDateRange({\n dateRange: value\n });\n\n if (closeOverlay) {\n handleValueUpdate(event, value, closeOverlay);\n } else {\n setSelectedDates(value !== null && value !== void 0 ? value : []);\n } // End unfinished selections.\n\n\n hasDoneSelect.current = true;\n }, [handleValueUpdate, updateCalendarDateRange]);\n var handleOK = (0, _react.useCallback)(function (event) {\n handleValueUpdate(event, selectedDates);\n onOk === null || onOk === void 0 ? void 0 : onOk(selectedDates, event);\n }, [handleValueUpdate, onOk, selectedDates]);\n var handleClean = (0, _react.useCallback)(function (event) {\n updateCalendarDateRange({\n dateRange: null\n });\n handleValueUpdate(event, null);\n }, [handleValueUpdate, updateCalendarDateRange]);\n /**\n * Callback after the input box value is changed.\n */\n\n var handleInputChange = (0, _react.useCallback)(function (value) {\n setInputState('Typing');\n var rangeValue = value.split(character); // isMatch('01/11/2020', 'MM/dd/yyyy') ==> true\n // isMatch('2020-11-01', 'MM/dd/yyyy') ==> false\n\n if (!_utils.DateUtils.isMatch(rangeValue[0], formatStr, {\n locale: locale.dateLocale\n }) || !_utils.DateUtils.isMatch(rangeValue[1], formatStr, {\n locale: locale.dateLocale\n })) {\n setInputState('Error');\n return;\n }\n\n var startDate = parseDate(rangeValue[0], formatStr);\n var endDate = parseDate(rangeValue[1], formatStr);\n var selectValue = [startDate, endDate];\n\n if (!_utils.DateUtils.isValid(startDate) || !_utils.DateUtils.isValid(endDate)) {\n setInputState('Error');\n return;\n }\n\n if (isDateDisabled(startDate, selectValue, true, _utils.DATERANGE_DISABLED_TARGET.CALENDAR)) {\n setInputState('Error');\n return;\n }\n\n setHoverDateRange(selectValue);\n setSelectedDates(selectValue);\n updateCalendarDateRange({\n dateRange: selectValue\n });\n }, // eslint-disable-next-line react-hooks/exhaustive-deps\n [character, rangeFormatStr, updateCalendarDateRange]);\n /**\n * The callback after the enter key is triggered on the input\n */\n\n var handleInputPressEnd = (0, _react.useCallback)(function (event) {\n if (inputState === 'Typing') {\n handleValueUpdate(event, selectedDates.length === 2 ? selectedDates : null);\n }\n\n setInputState('Initial');\n }, [handleValueUpdate, selectedDates, inputState]);\n var handleEnter = (0, _react.useCallback)(function () {\n var nextCalendarDate;\n\n if (value && value.length) {\n var _startDate2 = value[0],\n endData = value[1];\n nextCalendarDate = [_startDate2, (0, _dateUtils.isSameMonth)(_startDate2, endData) ? (0, _dateUtils.addMonths)(endData, 1) : endData];\n } else {\n // Reset the date on the calendar to the default date\n nextCalendarDate = (0, _utils2.getSafeCalendarDate)({\n value: defaultCalendarValue !== null && defaultCalendarValue !== void 0 ? defaultCalendarValue : null\n });\n }\n\n setSelectedDates(value !== null && value !== void 0 ? value : []);\n updateCalendarDateRange({\n dateRange: nextCalendarDate\n });\n }, [defaultCalendarValue, updateCalendarDateRange, setSelectedDates, value]);\n var handleEntered = (0, _react.useCallback)(function () {\n onOpen === null || onOpen === void 0 ? void 0 : onOpen();\n setPickerToggleActive(true);\n }, [onOpen]);\n var handleExited = (0, _react.useCallback)(function () {\n setPickerToggleActive(false);\n hasDoneSelect.current = true;\n onClose === null || onClose === void 0 ? void 0 : onClose();\n }, [onClose]);\n var isDateDisabled = (0, _react.useCallback)(function (date, selectDate, selectedDone, target) {\n if (typeof shouldDisableDate === 'function') {\n return shouldDisableDate(date, selectDate, selectedDone, target);\n }\n\n if (typeof DEPRECATED_disabledDateProp === 'function') {\n return DEPRECATED_disabledDateProp(date, selectDate, selectedDone, target);\n }\n\n return false;\n }, [DEPRECATED_disabledDateProp, shouldDisableDate]);\n var disabledByBetween = (0, _react.useCallback)(function (start, end, type) {\n // If the date is between the start and the end\n // the button is disabled\n while (_utils.DateUtils.isBefore(start, end) || _utils.DateUtils.isSameDay(start, end)) {\n if (isDateDisabled(start, selectedDates, hasDoneSelect.current, type)) {\n return true;\n }\n\n start = _utils.DateUtils.addDays(start, 1);\n }\n\n return false;\n }, [isDateDisabled, selectedDates]);\n var disabledOkButton = (0, _react.useCallback)(function () {\n var start = selectedDates[0],\n end = selectedDates[1];\n\n if (!start || !end || !hasDoneSelect.current) {\n return true;\n }\n\n return disabledByBetween(start, end, _utils.DATERANGE_DISABLED_TARGET.TOOLBAR_BUTTON_OK);\n }, [disabledByBetween, selectedDates]);\n var disabledShortcutButton = (0, _react.useCallback)(function (value) {\n if (value === void 0) {\n value = [];\n }\n\n var _value = value,\n start = _value[0],\n end = _value[1];\n\n if (!start || !end) {\n return true;\n }\n\n return disabledByBetween(start, end, _utils.DATERANGE_DISABLED_TARGET.TOOLBAR_SHORTCUT);\n }, [disabledByBetween]);\n var handleDisabledDate = (0, _react.useCallback)(function (date, values, type) {\n return isDateDisabled(date, values, hasDoneSelect.current, type);\n }, [isDateDisabled]);\n var onPickerKeyDown = (0, _Picker.useToggleKeyDownEvent)((0, _extends2.default)({\n triggerRef: triggerRef,\n targetRef: targetRef,\n active: isPickerToggleActive,\n onExit: handleClean\n }, rest));\n\n var renderDropdownMenu = function renderDropdownMenu(positionProps, speakerRef) {\n var left = positionProps.left,\n top = positionProps.top,\n className = positionProps.className;\n var classes = merge(className, menuClassName, prefix('daterange-menu'));\n var panelClasses = prefix('daterange-panel', {\n 'daterange-panel-show-one-calendar': showOneCalendar\n });\n var styles = (0, _extends2.default)({}, menuStyle, {\n left: left,\n top: top\n });\n var calendarProps = {\n calendarDate: calendarDate,\n disabledDate: handleDisabledDate,\n format: formatStr,\n hoverRangeValue: hoverDateRange !== null && hoverDateRange !== void 0 ? hoverDateRange : undefined,\n isoWeek: isoWeek,\n limitEndYear: limitEndYear,\n locale: locale,\n showWeekNumbers: showWeekNumbers,\n value: selectedDates,\n showMeridian: showMeridian,\n onChangeCalendarMonth: updateSingleCalendarMonth,\n onChangeCalendarTime: updateSingleCalendarTime,\n onMouseMove: handleMouseMove,\n onSelect: handleSelectDate,\n onToggleMeridian: handleToggleMeridian,\n renderTitle: renderTitle\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.PickerOverlay, {\n role: \"dialog\",\n className: classes,\n ref: (0, _utils.mergeRefs)(overlayRef, speakerRef),\n target: triggerRef,\n style: styles,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 809,\n columnNumber: 7\n }\n }, /*#__PURE__*/_react.default.createElement(\"div\", {\n className: panelClasses,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 816,\n columnNumber: 9\n }\n }, /*#__PURE__*/_react.default.createElement(_Stack.default, {\n alignItems: \"flex-start\",\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 817,\n columnNumber: 11\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: calendarDate,\n locale: locale,\n disabledShortcut: disabledShortcutButton,\n onClickShortcut: handleShortcutPageDate,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 819,\n columnNumber: 15\n }\n }), /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(\"div\", {\n className: prefix('daterange-content'),\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 832,\n columnNumber: 15\n }\n }, /*#__PURE__*/_react.default.createElement(\"div\", {\n className: prefix('daterange-header'),\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 833,\n columnNumber: 17\n }\n }, getDisplayString(selectedDates)), /*#__PURE__*/_react.default.createElement(\"div\", {\n className: prefix(\"daterange-calendar-\" + (showOneCalendar ? 'single' : 'group')),\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 834,\n columnNumber: 17\n }\n }, /*#__PURE__*/_react.default.createElement(_Calendar2.default, (0, _extends2.default)({\n index: 0\n }, calendarProps, {\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 837,\n columnNumber: 19\n }\n })), !showOneCalendar && /*#__PURE__*/_react.default.createElement(_Calendar2.default, (0, _extends2.default)({\n index: 1\n }, calendarProps, {\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 838,\n columnNumber: 40\n }\n })))), /*#__PURE__*/_react.default.createElement(_Toolbar.default, {\n locale: locale,\n calendarDate: selectedDates,\n disabledOkBtn: disabledOkButton,\n disabledShortcut: disabledShortcutButton,\n hideOkBtn: oneTap,\n onOk: handleOK,\n onClickShortcut: handleShortcutPageDate,\n ranges: bottomRanges,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 841,\n columnNumber: 15\n }\n })))));\n };\n\n var hasValue = !(0, _isNil.default)(value) && value.length > 1;\n\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\n return /*#__PURE__*/_react.default.createElement(_Picker.PickerToggleTrigger, {\n pickerProps: (0, _pick.default)(props, _Picker.pickTriggerPropKeys),\n ref: triggerRef,\n placement: placement,\n onEnter: (0, _utils.createChainedFunction)(handleEnter, onEnter),\n onEntered: (0, _utils.createChainedFunction)(handleEntered, onEntered),\n onExited: (0, _utils.createChainedFunction)(handleExited, onExited),\n speaker: renderDropdownMenu,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 869,\n columnNumber: 5\n }\n }, /*#__PURE__*/_react.default.createElement(Component, {\n ref: rootRef,\n className: merge(className, classes, (_merge = {}, _merge[prefix('error')] = inputState === 'Error', _merge)),\n style: style,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 878,\n columnNumber: 7\n }\n }, /*#__PURE__*/_react.default.createElement(_Picker.PickerToggle, (0, _extends2.default)({}, (0, _omit.default)(rest, [].concat(_Picker.omitTriggerPropKeys, usedClassNamePropKeys, _utils.DateUtils.calendarOnlyProps)), {\n as: toggleAs,\n ref: targetRef,\n appearance: appearance,\n editable: editable,\n inputMask: _utils.DateUtils.getDateMask(rangeFormatStr),\n inputValue: value ? getDisplayString(value, true) : '',\n inputPlaceholder: typeof placeholder === 'string' && placeholder ? placeholder : rangeFormatStr,\n onInputChange: handleInputChange,\n onInputBlur: handleInputPressEnd,\n onInputPressEnter: handleInputPressEnd,\n onKeyDown: onPickerKeyDown,\n onClean: (0, _utils.createChainedFunction)(handleClean, onClean),\n cleanable: cleanable && !disabled,\n hasValue: hasValue,\n active: isPickerToggleActive,\n placement: placement,\n disabled: disabled,\n caretAs: caretAs || _Calendar.default,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 885,\n columnNumber: 9\n }\n }), getDisplayString(value))));\n});\n\nDateRangePicker.after = disabledDateUtils.after;\nDateRangePicker.afterToday = disabledDateUtils.afterToday;\nDateRangePicker.allowedDays = disabledDateUtils.allowedDays;\nDateRangePicker.allowedMaxDays = disabledDateUtils.allowedMaxDays;\nDateRangePicker.allowedRange = disabledDateUtils.allowedRange;\nDateRangePicker.before = disabledDateUtils.before;\nDateRangePicker.beforeToday = disabledDateUtils.beforeToday;\nDateRangePicker.combine = disabledDateUtils.combine;\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([_propTypes.default.oneOf(['week', 'month']), _propTypes.default.func]),\n format: _propTypes.default.string,\n isoWeek: _propTypes.default.bool,\n oneTap: _propTypes.default.bool,\n limitEndYear: _propTypes.default.number,\n onChange: _propTypes.default.func,\n onOk: _propTypes.default.func,\n disabledDate: (0, _deprecatePropType.deprecatePropTypeNew)(_propTypes.default.func, 'Use \"shouldDisableDate\" property instead.'),\n shouldDisableDate: _propTypes.default.func,\n onSelect: _propTypes.default.func,\n showWeekNumbers: _propTypes.default.bool,\n showMeridian: _propTypes.default.bool,\n showOneCalendar: _propTypes.default.bool\n});\nvar _default = DateRangePicker;\nexports[\"default\"] = _default;\n\n//# sourceURL=webpack://rsuite/./src/DateRangePicker/DateRangePicker.tsx?");
|
|
2296
2296
|
|
|
2297
2297
|
/***/ }),
|
|
2298
2298
|
|
|
@@ -3612,7 +3612,7 @@ eval("\n\nvar _interopRequireDefault = __webpack_require__(/*! @babel/runtime/he
|
|
|
3612
3612
|
/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
|
|
3613
3613
|
|
|
3614
3614
|
"use strict";
|
|
3615
|
-
eval("\n\nvar _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ \"./node_modules/@babel/runtime/helpers/interopRequireDefault.js\");\n\nvar _interopRequireWildcard = __webpack_require__(/*! @babel/runtime/helpers/interopRequireWildcard */ \"./node_modules/@babel/runtime/helpers/interopRequireWildcard.js\");\n\nexports.__esModule = true;\nexports[\"default\"] = exports.modalPropTypes = void 0;\n\nvar _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ \"./node_modules/@babel/runtime/helpers/extends.js\"));\n\nvar _objectWithoutPropertiesLoose2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/objectWithoutPropertiesLoose */ \"./node_modules/@babel/runtime/helpers/objectWithoutPropertiesLoose.js\"));\n\nvar _react = _interopRequireWildcard(__webpack_require__(/*! react */ \"react\"));\n\nvar _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ \"./node_modules/prop-types/index.js\"));\n\nvar _classnames = _interopRequireDefault(__webpack_require__(/*! classnames */ \"./node_modules/classnames/index.js\"));\n\nvar _contains = _interopRequireDefault(__webpack_require__(/*! dom-lib/contains */ \"./node_modules/dom-lib/esm/contains.js\"));\n\nvar _getContainer = _interopRequireDefault(__webpack_require__(/*! dom-lib/getContainer */ \"./node_modules/dom-lib/esm/getContainer.js\"));\n\nvar _on = _interopRequireDefault(__webpack_require__(/*! dom-lib/on */ \"./node_modules/dom-lib/esm/on.js\"));\n\nvar _ModalManager = _interopRequireDefault(__webpack_require__(/*! ./ModalManager */ \"./src/Overlay/ModalManager.ts\"));\n\nvar _Fade = _interopRequireDefault(__webpack_require__(/*! ../Animation/Fade */ \"./src/Animation/Fade.tsx\"));\n\nvar _utils = __webpack_require__(/*! ../Animation/utils */ \"./src/Animation/utils.ts\");\n\nvar _utils2 = __webpack_require__(/*! ../utils */ \"./src/utils/index.ts\");\n\nvar _OverlayContext = _interopRequireDefault(__webpack_require__(/*! ./OverlayContext */ \"./src/Overlay/OverlayContext.ts\"));\n\nvar _jsxFileName = \"/home/runner/work/rsuite/rsuite/src/Overlay/Modal.tsx\",\n _this = void 0;\n\nvar manager;\n\nfunction getManager() {\n if (!manager) manager = new _ModalManager.default();\n return manager;\n}\n\nvar useModalManager = function useModalManager() {\n var modalManager = getManager();\n var modal = (0, _react.useRef)({\n dialog: null,\n backdrop: null\n });\n return {\n get dialog() {\n var _modal$current;\n\n return (_modal$current = modal.current) === null || _modal$current === void 0 ? void 0 : _modal$current.dialog;\n },\n\n add: function add(containerElement, containerClassName) {\n return modalManager.add(modal.current, containerElement, containerClassName);\n },\n remove: function remove() {\n return modalManager.remove(modal.current);\n },\n isTopModal: function isTopModal() {\n return modalManager.isTopModal(modal.current);\n },\n setDialogRef: (0, _react.useCallback)(function (ref) {\n modal.current.dialog = ref;\n }, []),\n setBackdropRef: (0, _react.useCallback)(function (ref) {\n modal.current.backdrop = ref;\n }, [])\n };\n};\n\nvar Modal = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {\n var _props$as = props.as,\n Component = _props$as === void 0 ? 'div' : _props$as,\n children = props.children,\n Transition = props.transition,\n dialogTransitionTimeout = props.dialogTransitionTimeout,\n style = props.style,\n className = props.className,\n container = props.container,\n animationProps = props.animationProps,\n containerClassName = props.containerClassName,\n _props$keyboard = props.keyboard,\n keyboard = _props$keyboard === void 0 ? true : _props$keyboard,\n _props$enforceFocus = props.enforceFocus,\n enforceFocus = _props$enforceFocus === void 0 ? true : _props$enforceFocus,\n _props$backdrop = props.backdrop,\n backdrop = _props$backdrop === void 0 ? true : _props$backdrop,\n backdropTransitionTimeout = props.backdropTransitionTimeout,\n backdropStyle = props.backdropStyle,\n backdropClassName = props.backdropClassName,\n open = props.open,\n _props$autoFocus = props.autoFocus,\n autoFocus = _props$autoFocus === void 0 ? true : _props$autoFocus,\n onEsc = props.onEsc,\n onExit = props.onExit,\n onExiting = props.onExiting,\n onExited = props.onExited,\n onEnter = props.onEnter,\n onEntering = props.onEntering,\n onEntered = props.onEntered,\n onClose = props.onClose,\n onOpen = props.onOpen,\n rest = (0, _objectWithoutPropertiesLoose2.default)(props, [\"as\", \"children\", \"transition\", \"dialogTransitionTimeout\", \"style\", \"className\", \"container\", \"animationProps\", \"containerClassName\", \"keyboard\", \"enforceFocus\", \"backdrop\", \"backdropTransitionTimeout\", \"backdropStyle\", \"backdropClassName\", \"open\", \"autoFocus\", \"onEsc\", \"onExit\", \"onExiting\", \"onExited\", \"onEnter\", \"onEntering\", \"onEntered\", \"onClose\", \"onOpen\"]);\n\n var _useState = (0, _react.useState)(!open),\n exited = _useState[0],\n setExited = _useState[1];\n\n var _usePortal = (0, _utils2.usePortal)({\n container: container\n }),\n Portal = _usePortal.Portal;\n\n var modal = useModalManager();\n\n if (open) {\n if (exited) setExited(false);\n } else if (!Transition && !exited) {\n setExited(true);\n }\n\n var mountModal = open || Transition && !exited;\n var lastFocus = (0, _react.useRef)(null);\n var handleDocumentKeyDown = (0, _utils2.useEventCallback)(function (event) {\n if (keyboard && event.key === _utils2.KEY_VALUES.ESC && modal.isTopModal()) {\n onEsc === null || onEsc === void 0 ? void 0 : onEsc(event);\n onClose === null || onClose === void 0 ? void 0 : onClose(event);\n }\n });\n var restoreLastFocus = (0, _react.useCallback)(function () {\n if (lastFocus.current) {\n var _lastFocus$current$fo, _lastFocus$current;\n\n (_lastFocus$current$fo = (_lastFocus$current = lastFocus.current).focus) === null || _lastFocus$current$fo === void 0 ? void 0 : _lastFocus$current$fo.call(_lastFocus$current);\n lastFocus.current = null;\n }\n }, []);\n /**\n * Determines if the currently focused element is inside the dialog,\n * and if not, returns the focus to the dialog.\n *\n */\n\n var handleFocusDialog = (0, _utils2.useEventCallback)(function (onBeforeFocusCallback) {\n var currentActiveElement = document.activeElement;\n var dialog = modal.dialog;\n\n if (dialog && currentActiveElement && !(0, _contains.default)(dialog, currentActiveElement)) {\n onBeforeFocusCallback === null || onBeforeFocusCallback === void 0 ? void 0 : onBeforeFocusCallback();\n dialog.focus();\n }\n });\n var handleEnforceFocus = (0, _utils2.useEventCallback)(function () {\n if (!enforceFocus || !modal.isTopModal()) {\n return;\n }\n\n handleFocusDialog();\n });\n var documentKeyDownListener = (0, _react.useRef)();\n var documentFocusListener = (0, _react.useRef)();\n var handleOpen = (0, _utils2.useEventCallback)(function () {\n var containerElement = (0, _getContainer.default)(container, document.body);\n modal.add(containerElement, containerClassName);\n\n if (!documentKeyDownListener.current) {\n documentKeyDownListener.current = (0, _on.default)(document, 'keydown', handleDocumentKeyDown);\n }\n\n if (!documentFocusListener.current) {\n documentFocusListener.current = (0, _on.default)(document, 'focus', handleEnforceFocus, true);\n }\n\n if (autoFocus) {\n handleFocusDialog(function () {\n lastFocus.current = document.activeElement;\n });\n }\n\n onOpen === null || onOpen === void 0 ? void 0 : onOpen();\n });\n var handleClose = (0, _utils2.useEventCallback)(function () {\n var _documentKeyDownListe, _documentFocusListene;\n\n modal.remove();\n (_documentKeyDownListe = documentKeyDownListener.current) === null || _documentKeyDownListe === void 0 ? void 0 : _documentKeyDownListe.off();\n documentKeyDownListener.current = null;\n (_documentFocusListene = documentFocusListener.current) === null || _documentFocusListene === void 0 ? void 0 : _documentFocusListene.off();\n documentFocusListener.current = null;\n restoreLastFocus();\n });\n (0, _react.useEffect)(function () {\n if (!open) {\n return;\n }\n\n handleOpen();\n }, [open, handleOpen]);\n (0, _react.useEffect)(function () {\n if (!exited) {\n return;\n }\n\n handleClose();\n }, [exited, handleClose]);\n (0, _utils2.useWillUnmount)(function () {\n handleClose();\n });\n var handleExited = (0, _react.useCallback)(function () {\n setExited(true);\n }, []);\n var contextValue = (0, _react.useMemo)(function () {\n return {\n overlayContainer: function overlayContainer() {\n return modal.dialog;\n }\n };\n }, [modal.dialog]);\n\n if (!mountModal) {\n return null;\n }\n\n var renderBackdrop = function renderBackdrop() {\n if (Transition) {\n return /*#__PURE__*/_react.default.createElement(_Fade.default, {\n transitionAppear: true,\n in: open,\n timeout: backdropTransitionTimeout,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 266,\n columnNumber: 9\n }\n }, function (fadeProps, ref) {\n var className = fadeProps.className,\n rest = (0, _objectWithoutPropertiesLoose2.default)(fadeProps, [\"className\"]);\n return /*#__PURE__*/_react.default.createElement(\"div\", (0, _extends2.default)({\n \"aria-hidden\": true\n }, rest, {\n style: backdropStyle,\n ref: (0, _utils2.mergeRefs)(modal.setBackdropRef, ref),\n className: (0, _classnames.default)(backdropClassName, className),\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 270,\n columnNumber: 15\n }\n }));\n });\n }\n\n return /*#__PURE__*/_react.default.createElement(\"div\", {\n \"aria-hidden\": true,\n style: backdropStyle,\n className: backdropClassName,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 283,\n columnNumber: 12\n }\n });\n };\n\n var dialogElement = Transition ? /*#__PURE__*/_react.default.createElement(Transition, (0, _extends2.default)({}, animationProps, {\n transitionAppear: true,\n unmountOnExit: true,\n in: open,\n timeout: dialogTransitionTimeout,\n onExit: onExit,\n onExiting: onExiting,\n onExited: (0, _utils2.createChainedFunction)(handleExited, onExited),\n onEnter: onEnter,\n onEntering: onEntering,\n onEntered: onEntered,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 287,\n columnNumber: 5\n }\n }), children) : children;\n return /*#__PURE__*/_react.default.createElement(_OverlayContext.default.Provider, {\n value: contextValue,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 307,\n columnNumber: 5\n }\n }, /*#__PURE__*/_react.default.createElement(Portal, {\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 308,\n columnNumber: 7\n }\n }, backdrop && renderBackdrop(), /*#__PURE__*/_react.default.createElement(Component, (0, _extends2.default)({}, rest, {\n ref: (0, _utils2.mergeRefs)(modal.setDialogRef, ref),\n style: style,\n className: className,\n tabIndex: -1,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 310,\n columnNumber: 9\n }\n }), dialogElement)));\n});\n\nvar modalPropTypes = {\n as: _propTypes.default.elementType,\n className: _propTypes.default.string,\n backdropClassName: _propTypes.default.string,\n style: _propTypes.default.object,\n backdropStyle: _propTypes.default.object,\n open: _propTypes.default.bool,\n backdrop: _propTypes.default.oneOfType([_propTypes.default.bool, _propTypes.default.string]),\n keyboard: _propTypes.default.bool,\n autoFocus: _propTypes.default.bool,\n enforceFocus: _propTypes.default.bool,\n animationProps: _propTypes.default.object,\n onOpen: _propTypes.default.func,\n onClose: _propTypes.default.func\n};\nexports.modalPropTypes = modalPropTypes;\nModal.displayName = 'OverlayModal';\nModal.propTypes = (0, _extends2.default)({}, _utils.animationPropTypes, modalPropTypes, {\n children: _propTypes.default.func,\n container: _propTypes.default.any,\n containerClassName: _propTypes.default.string,\n dialogTransitionTimeout: _propTypes.default.number,\n backdropTransitionTimeout: _propTypes.default.number,\n transition: _propTypes.default.any,\n onEsc: _propTypes.default.func\n});\nvar _default = Modal;\nexports[\"default\"] = _default;\n\n//# sourceURL=webpack://rsuite/./src/Overlay/Modal.tsx?");
|
|
3615
|
+
eval("\n\nvar _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ \"./node_modules/@babel/runtime/helpers/interopRequireDefault.js\");\n\nvar _interopRequireWildcard = __webpack_require__(/*! @babel/runtime/helpers/interopRequireWildcard */ \"./node_modules/@babel/runtime/helpers/interopRequireWildcard.js\");\n\nexports.__esModule = true;\nexports[\"default\"] = exports.modalPropTypes = void 0;\n\nvar _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ \"./node_modules/@babel/runtime/helpers/extends.js\"));\n\nvar _objectWithoutPropertiesLoose2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/objectWithoutPropertiesLoose */ \"./node_modules/@babel/runtime/helpers/objectWithoutPropertiesLoose.js\"));\n\nvar _react = _interopRequireWildcard(__webpack_require__(/*! react */ \"react\"));\n\nvar _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ \"./node_modules/prop-types/index.js\"));\n\nvar _classnames = _interopRequireDefault(__webpack_require__(/*! classnames */ \"./node_modules/classnames/index.js\"));\n\nvar _contains = _interopRequireDefault(__webpack_require__(/*! dom-lib/contains */ \"./node_modules/dom-lib/esm/contains.js\"));\n\nvar _on = _interopRequireDefault(__webpack_require__(/*! dom-lib/on */ \"./node_modules/dom-lib/esm/on.js\"));\n\nvar _ModalManager = _interopRequireDefault(__webpack_require__(/*! ./ModalManager */ \"./src/Overlay/ModalManager.ts\"));\n\nvar _Fade = _interopRequireDefault(__webpack_require__(/*! ../Animation/Fade */ \"./src/Animation/Fade.tsx\"));\n\nvar _utils = __webpack_require__(/*! ../Animation/utils */ \"./src/Animation/utils.ts\");\n\nvar _utils2 = __webpack_require__(/*! ../utils */ \"./src/utils/index.ts\");\n\nvar _OverlayContext = _interopRequireDefault(__webpack_require__(/*! ./OverlayContext */ \"./src/Overlay/OverlayContext.ts\"));\n\nvar _jsxFileName = \"/home/runner/work/rsuite/rsuite/src/Overlay/Modal.tsx\",\n _this = void 0;\n\nvar manager;\n\nfunction getManager() {\n if (!manager) manager = new _ModalManager.default();\n return manager;\n}\n\nvar useModalManager = function useModalManager() {\n var modalManager = getManager();\n var modal = (0, _react.useRef)({\n dialog: null,\n backdrop: null\n });\n return {\n get dialog() {\n var _modal$current;\n\n return (_modal$current = modal.current) === null || _modal$current === void 0 ? void 0 : _modal$current.dialog;\n },\n\n add: function add(containerElement, containerClassName) {\n return modalManager.add(modal.current, containerElement, containerClassName);\n },\n remove: function remove() {\n return modalManager.remove(modal.current);\n },\n isTopModal: function isTopModal() {\n return modalManager.isTopModal(modal.current);\n },\n setDialogRef: (0, _react.useCallback)(function (ref) {\n modal.current.dialog = ref;\n }, []),\n setBackdropRef: (0, _react.useCallback)(function (ref) {\n modal.current.backdrop = ref;\n }, [])\n };\n};\n\nvar Modal = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {\n var _props$as = props.as,\n Component = _props$as === void 0 ? 'div' : _props$as,\n children = props.children,\n Transition = props.transition,\n dialogTransitionTimeout = props.dialogTransitionTimeout,\n style = props.style,\n className = props.className,\n container = props.container,\n animationProps = props.animationProps,\n containerClassName = props.containerClassName,\n _props$keyboard = props.keyboard,\n keyboard = _props$keyboard === void 0 ? true : _props$keyboard,\n _props$enforceFocus = props.enforceFocus,\n enforceFocus = _props$enforceFocus === void 0 ? true : _props$enforceFocus,\n _props$backdrop = props.backdrop,\n backdrop = _props$backdrop === void 0 ? true : _props$backdrop,\n backdropTransitionTimeout = props.backdropTransitionTimeout,\n backdropStyle = props.backdropStyle,\n backdropClassName = props.backdropClassName,\n open = props.open,\n _props$autoFocus = props.autoFocus,\n autoFocus = _props$autoFocus === void 0 ? true : _props$autoFocus,\n onEsc = props.onEsc,\n onExit = props.onExit,\n onExiting = props.onExiting,\n onExited = props.onExited,\n onEnter = props.onEnter,\n onEntering = props.onEntering,\n onEntered = props.onEntered,\n onClose = props.onClose,\n onOpen = props.onOpen,\n rest = (0, _objectWithoutPropertiesLoose2.default)(props, [\"as\", \"children\", \"transition\", \"dialogTransitionTimeout\", \"style\", \"className\", \"container\", \"animationProps\", \"containerClassName\", \"keyboard\", \"enforceFocus\", \"backdrop\", \"backdropTransitionTimeout\", \"backdropStyle\", \"backdropClassName\", \"open\", \"autoFocus\", \"onEsc\", \"onExit\", \"onExiting\", \"onExited\", \"onEnter\", \"onEntering\", \"onEntered\", \"onClose\", \"onOpen\"]);\n\n var _useState = (0, _react.useState)(!open),\n exited = _useState[0],\n setExited = _useState[1];\n\n var _usePortal = (0, _utils2.usePortal)({\n container: container\n }),\n Portal = _usePortal.Portal,\n containerElement = _usePortal.target;\n\n var modal = useModalManager();\n\n if (open) {\n if (exited) setExited(false);\n } else if (!Transition && !exited) {\n setExited(true);\n }\n\n var mountModal = open || Transition && !exited;\n var lastFocus = (0, _react.useRef)(null);\n var handleDocumentKeyDown = (0, _utils2.useEventCallback)(function (event) {\n if (keyboard && event.key === _utils2.KEY_VALUES.ESC && modal.isTopModal()) {\n onEsc === null || onEsc === void 0 ? void 0 : onEsc(event);\n onClose === null || onClose === void 0 ? void 0 : onClose(event);\n }\n });\n var restoreLastFocus = (0, _react.useCallback)(function () {\n if (lastFocus.current) {\n var _lastFocus$current$fo, _lastFocus$current;\n\n (_lastFocus$current$fo = (_lastFocus$current = lastFocus.current).focus) === null || _lastFocus$current$fo === void 0 ? void 0 : _lastFocus$current$fo.call(_lastFocus$current);\n lastFocus.current = null;\n }\n }, []);\n /**\n * Determines if the currently focused element is inside the dialog,\n * and if not, returns the focus to the dialog.\n *\n */\n\n var handleFocusDialog = (0, _utils2.useEventCallback)(function (onBeforeFocusCallback) {\n var currentActiveElement = document.activeElement;\n var dialog = modal.dialog;\n\n if (dialog && currentActiveElement && !(0, _contains.default)(dialog, currentActiveElement)) {\n onBeforeFocusCallback === null || onBeforeFocusCallback === void 0 ? void 0 : onBeforeFocusCallback();\n dialog.focus();\n }\n });\n var handleEnforceFocus = (0, _utils2.useEventCallback)(function () {\n if (!enforceFocus || !modal.isTopModal()) {\n return;\n }\n\n handleFocusDialog();\n });\n var documentKeyDownListener = (0, _react.useRef)();\n var documentFocusListener = (0, _react.useRef)();\n var handleOpen = (0, _utils2.useEventCallback)(function () {\n if (containerElement) {\n modal.add(containerElement, containerClassName);\n }\n\n if (!documentKeyDownListener.current) {\n documentKeyDownListener.current = (0, _on.default)(document, 'keydown', handleDocumentKeyDown);\n }\n\n if (!documentFocusListener.current) {\n documentFocusListener.current = (0, _on.default)(document, 'focus', handleEnforceFocus, true);\n }\n\n if (autoFocus) {\n handleFocusDialog(function () {\n lastFocus.current = document.activeElement;\n });\n }\n\n onOpen === null || onOpen === void 0 ? void 0 : onOpen();\n });\n var handleClose = (0, _utils2.useEventCallback)(function () {\n var _documentKeyDownListe, _documentFocusListene;\n\n modal.remove();\n (_documentKeyDownListe = documentKeyDownListener.current) === null || _documentKeyDownListe === void 0 ? void 0 : _documentKeyDownListe.off();\n documentKeyDownListener.current = null;\n (_documentFocusListene = documentFocusListener.current) === null || _documentFocusListene === void 0 ? void 0 : _documentFocusListene.off();\n documentFocusListener.current = null;\n restoreLastFocus();\n });\n (0, _react.useEffect)(function () {\n if (!open) {\n return;\n }\n\n handleOpen();\n }, [open, handleOpen]);\n (0, _react.useEffect)(function () {\n if (!exited) {\n return;\n }\n\n handleClose();\n }, [exited, handleClose]);\n (0, _utils2.useWillUnmount)(function () {\n handleClose();\n });\n var handleExited = (0, _react.useCallback)(function () {\n setExited(true);\n }, []);\n var contextValue = (0, _react.useMemo)(function () {\n return {\n overlayContainer: function overlayContainer() {\n return modal.dialog;\n }\n };\n }, [modal.dialog]);\n\n if (!mountModal) {\n return null;\n }\n\n var renderBackdrop = function renderBackdrop() {\n if (Transition) {\n return /*#__PURE__*/_react.default.createElement(_Fade.default, {\n transitionAppear: true,\n in: open,\n timeout: backdropTransitionTimeout,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 263,\n columnNumber: 9\n }\n }, function (fadeProps, ref) {\n var className = fadeProps.className,\n rest = (0, _objectWithoutPropertiesLoose2.default)(fadeProps, [\"className\"]);\n return /*#__PURE__*/_react.default.createElement(\"div\", (0, _extends2.default)({\n \"aria-hidden\": true\n }, rest, {\n style: backdropStyle,\n ref: (0, _utils2.mergeRefs)(modal.setBackdropRef, ref),\n className: (0, _classnames.default)(backdropClassName, className),\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 267,\n columnNumber: 15\n }\n }));\n });\n }\n\n return /*#__PURE__*/_react.default.createElement(\"div\", {\n \"aria-hidden\": true,\n style: backdropStyle,\n className: backdropClassName,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 280,\n columnNumber: 12\n }\n });\n };\n\n var dialogElement = Transition ? /*#__PURE__*/_react.default.createElement(Transition, (0, _extends2.default)({}, animationProps, {\n transitionAppear: true,\n unmountOnExit: true,\n in: open,\n timeout: dialogTransitionTimeout,\n onExit: onExit,\n onExiting: onExiting,\n onExited: (0, _utils2.createChainedFunction)(handleExited, onExited),\n onEnter: onEnter,\n onEntering: onEntering,\n onEntered: onEntered,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 284,\n columnNumber: 5\n }\n }), children) : children;\n return /*#__PURE__*/_react.default.createElement(_OverlayContext.default.Provider, {\n value: contextValue,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 304,\n columnNumber: 5\n }\n }, /*#__PURE__*/_react.default.createElement(Portal, {\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 305,\n columnNumber: 7\n }\n }, backdrop && renderBackdrop(), /*#__PURE__*/_react.default.createElement(Component, (0, _extends2.default)({}, rest, {\n ref: (0, _utils2.mergeRefs)(modal.setDialogRef, ref),\n style: style,\n className: className,\n tabIndex: -1,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 307,\n columnNumber: 9\n }\n }), dialogElement)));\n});\n\nvar modalPropTypes = {\n as: _propTypes.default.elementType,\n className: _propTypes.default.string,\n backdropClassName: _propTypes.default.string,\n style: _propTypes.default.object,\n backdropStyle: _propTypes.default.object,\n open: _propTypes.default.bool,\n backdrop: _propTypes.default.oneOfType([_propTypes.default.bool, _propTypes.default.string]),\n keyboard: _propTypes.default.bool,\n autoFocus: _propTypes.default.bool,\n enforceFocus: _propTypes.default.bool,\n animationProps: _propTypes.default.object,\n onOpen: _propTypes.default.func,\n onClose: _propTypes.default.func\n};\nexports.modalPropTypes = modalPropTypes;\nModal.displayName = 'OverlayModal';\nModal.propTypes = (0, _extends2.default)({}, _utils.animationPropTypes, modalPropTypes, {\n children: _propTypes.default.func,\n container: _propTypes.default.any,\n containerClassName: _propTypes.default.string,\n dialogTransitionTimeout: _propTypes.default.number,\n backdropTransitionTimeout: _propTypes.default.number,\n transition: _propTypes.default.any,\n onEsc: _propTypes.default.func\n});\nvar _default = Modal;\nexports[\"default\"] = _default;\n\n//# sourceURL=webpack://rsuite/./src/Overlay/Modal.tsx?");
|
|
3616
3616
|
|
|
3617
3617
|
/***/ }),
|
|
3618
3618
|
|
|
@@ -3656,7 +3656,7 @@ eval("\n\nvar _interopRequireDefault = __webpack_require__(/*! @babel/runtime/he
|
|
|
3656
3656
|
/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
|
|
3657
3657
|
|
|
3658
3658
|
"use strict";
|
|
3659
|
-
eval("\n\nvar _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ \"./node_modules/@babel/runtime/helpers/interopRequireDefault.js\");\n\nvar _interopRequireWildcard = __webpack_require__(/*! @babel/runtime/helpers/interopRequireWildcard */ \"./node_modules/@babel/runtime/helpers/interopRequireWildcard.js\");\n\nexports.__esModule = true;\nexports[\"default\"] = exports.OverlayCloseCause = void 0;\n\nvar _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ \"./node_modules/@babel/runtime/helpers/extends.js\"));\n\nvar _objectWithoutPropertiesLoose2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/objectWithoutPropertiesLoose */ \"./node_modules/@babel/runtime/helpers/objectWithoutPropertiesLoose.js\"));\n\nvar _isUndefined2 = _interopRequireDefault(__webpack_require__(/*! lodash/isUndefined */ \"./node_modules/lodash/isUndefined.js\"));\n\nvar _react = _interopRequireWildcard(__webpack_require__(/*! react */ \"react\"));\n\nvar _get = _interopRequireDefault(__webpack_require__(/*! lodash/get */ \"./node_modules/lodash/get.js\"));\n\nvar _isNil = _interopRequireDefault(__webpack_require__(/*! lodash/isNil */ \"./node_modules/lodash/isNil.js\"));\n\nvar _contains = _interopRequireDefault(__webpack_require__(/*! dom-lib/contains */ \"./node_modules/dom-lib/esm/contains.js\"));\n\nvar _Overlay = _interopRequireDefault(__webpack_require__(/*! ./Overlay */ \"./src/Overlay/Overlay.tsx\"));\n\nvar _utils = __webpack_require__(/*! ../utils */ \"./src/utils/index.ts\");\n\nvar _isOneOf = _interopRequireDefault(__webpack_require__(/*! ../utils/isOneOf */ \"./src/utils/isOneOf.ts\"));\n\nvar _OverlayContext = _interopRequireDefault(__webpack_require__(/*! ./OverlayContext */ \"./src/Overlay/OverlayContext.ts\"));\n\nvar _jsxFileName = \"/home/runner/work/rsuite/rsuite/src/Overlay/OverlayTrigger.tsx\",\n _this = void 0;\n\nfunction mergeEvents(events, props) {\n if (events === void 0) {\n events = {};\n }\n\n if (props === void 0) {\n props = {};\n }\n\n var nextEvents = {};\n Object.keys(events).forEach(function (eventName) {\n if (events[eventName]) {\n var _props;\n\n nextEvents[eventName] = (0, _utils.createChainedFunction)(events[eventName], (_props = props) === null || _props === void 0 ? void 0 : _props[eventName]);\n }\n });\n return nextEvents;\n}\n\n/**\n * The reason that triggers closing of an overlay\n * - Clicking outside of the overlay\n * - Direct invocation of triggerRef.current.close()\n */\nvar OverlayCloseCause;\n/**\n * Useful for mouseover and mouseout.\n * In order to resolve the node entering the mouseover element, a mouseout event and a mouseover event will be triggered.\n * https://javascript.info/mousemove-mouseover-mouseout-mouseenter-mouseleave\n * @param handler\n * @param event\n */\n\nexports.OverlayCloseCause = OverlayCloseCause;\n\n(function (OverlayCloseCause) {\n OverlayCloseCause[OverlayCloseCause[\"ClickOutside\"] = 0] = \"ClickOutside\";\n OverlayCloseCause[OverlayCloseCause[\"ImperativeHandle\"] = 1] = \"ImperativeHandle\";\n})(OverlayCloseCause || (exports.OverlayCloseCause = OverlayCloseCause = {}));\n\nfunction onMouseEventHandler(handler, event, delay) {\n var target = event.currentTarget;\n var related = event.relatedTarget || (0, _get.default)(event, ['nativeEvent', 'toElement']);\n\n if ((!related || related !== target) && !(0, _contains.default)(target, related)) {\n handler(event, delay);\n }\n}\n\nvar defaultTrigger = ['hover', 'focus'];\n\nvar OverlayTrigger = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {\n var _useContext = (0, _react.useContext)(_OverlayContext.default),\n overlayContainer = _useContext.overlayContainer;\n\n var children = props.children,\n _props$container = props.container,\n container = _props$container === void 0 ? overlayContainer : _props$container,\n controlId = props.controlId,\n defaultOpen = props.defaultOpen,\n _props$trigger = props.trigger,\n trigger = _props$trigger === void 0 ? defaultTrigger : _props$trigger,\n disabled = props.disabled,\n followCursor = props.followCursor,\n readOnly = props.readOnly,\n plaintext = props.plaintext,\n openProp = props.open,\n delay = props.delay,\n delayOpenProp = props.delayOpen,\n delayCloseProp = props.delayClose,\n enterable = props.enterable,\n _props$placement = props.placement,\n placement = _props$placement === void 0 ? 'bottomStart' : _props$placement,\n speaker = props.speaker,\n _props$rootClose = props.rootClose,\n rootClose = _props$rootClose === void 0 ? true : _props$rootClose,\n onClick = props.onClick,\n onMouseOver = props.onMouseOver,\n onMouseMove = props.onMouseMove,\n onMouseOut = props.onMouseOut,\n onContextMenu = props.onContextMenu,\n onFocus = props.onFocus,\n onBlur = props.onBlur,\n onClose = props.onClose,\n onExited = props.onExited,\n rest = (0, _objectWithoutPropertiesLoose2.default)(props, [\"children\", \"container\", \"controlId\", \"defaultOpen\", \"trigger\", \"disabled\", \"followCursor\", \"readOnly\", \"plaintext\", \"open\", \"delay\", \"delayOpen\", \"delayClose\", \"enterable\", \"placement\", \"speaker\", \"rootClose\", \"onClick\", \"onMouseOver\", \"onMouseMove\", \"onMouseOut\", \"onContextMenu\", \"onFocus\", \"onBlur\", \"onClose\", \"onExited\"]);\n\n var _usePortal = (0, _utils.usePortal)({\n container: container\n }),\n Portal = _usePortal.Portal;\n\n var triggerRef = (0, _react.useRef)();\n var overlayRef = (0, _react.useRef)();\n\n var _useControlled = (0, _utils.useControlled)(openProp, defaultOpen),\n open = _useControlled[0],\n setOpen = _useControlled[1];\n\n var _useState = (0, _react.useState)(null),\n cursorPosition = _useState[0],\n setCursorPosition = _useState[1]; // Delay the timer to close/open the overlay\n // When the cursor moves from the trigger to the overlay, the overlay will be closed.\n // In order to keep the overlay open, a timer is used to delay the closing.\n\n\n var delayOpenTimer = (0, _react.useRef)(null);\n var delayCloseTimer = (0, _react.useRef)(null);\n var delayOpen = (0, _isNil.default)(delayOpenProp) ? delay : delayOpenProp;\n var delayClose = (0, _isNil.default)(delayCloseProp) ? delay : delayCloseProp; // Whether the cursor is on the overlay\n\n var isOnOverlay = (0, _react.useRef)(false); // Whether the cursor is on the trigger\n\n var isOnTrigger = (0, _react.useRef)(false);\n (0, _react.useEffect)(function () {\n return function () {\n if (!(0, _isNil.default)(delayOpenTimer.current)) {\n clearTimeout(delayOpenTimer.current);\n }\n\n if (!(0, _isNil.default)(delayCloseTimer.current)) {\n clearTimeout(delayCloseTimer.current);\n }\n };\n }, []);\n var handleOpen = (0, _react.useCallback)(function (delay) {\n var ms = (0, _isUndefined2.default)(delay) ? delayOpen : delay;\n\n if (ms && typeof ms === 'number') {\n return delayOpenTimer.current = setTimeout(function () {\n delayOpenTimer.current = null;\n setOpen(true);\n }, ms);\n }\n\n setOpen(true);\n }, [delayOpen, setOpen]);\n var handleClose = (0, _react.useCallback)(function (delay, callback) {\n var ms = (0, _isUndefined2.default)(delay) ? delayClose : delay;\n\n if (ms && typeof ms === 'number') {\n return delayCloseTimer.current = setTimeout(function () {\n delayCloseTimer.current = null;\n setOpen(false);\n callback === null || callback === void 0 ? void 0 : callback();\n }, ms);\n }\n\n setOpen(false);\n callback === null || callback === void 0 ? void 0 : callback();\n }, [delayClose, setOpen]);\n var handleExited = (0, _react.useCallback)(function () {\n setCursorPosition(null);\n }, []);\n (0, _react.useImperativeHandle)(ref, function () {\n return {\n get root() {\n return triggerRef.current;\n },\n\n get overlay() {\n var _overlayRef$current;\n\n return (_overlayRef$current = overlayRef.current) === null || _overlayRef$current === void 0 ? void 0 : _overlayRef$current.child;\n },\n\n open: handleOpen,\n close: function close(delay) {\n return handleClose(delay, function () {\n return onClose === null || onClose === void 0 ? void 0 : onClose(OverlayCloseCause.ImperativeHandle);\n });\n },\n updatePosition: function updatePosition() {\n var _overlayRef$current2, _overlayRef$current2$;\n\n (_overlayRef$current2 = overlayRef.current) === null || _overlayRef$current2 === void 0 ? void 0 : (_overlayRef$current2$ = _overlayRef$current2.updatePosition) === null || _overlayRef$current2$ === void 0 ? void 0 : _overlayRef$current2$.call(_overlayRef$current2);\n }\n };\n });\n /**\n * Close after the cursor leaves.\n */\n\n var handleCloseWhenLeave = (0, _react.useCallback)(function () {\n // When the cursor is not on the overlay and not on the trigger, it is closed.\n if (!isOnOverlay.current && !isOnTrigger.current) {\n handleClose();\n }\n }, [handleClose]);\n /**\n * Toggle open and closed state.\n */\n\n var handleOpenState = (0, _react.useCallback)(function () {\n if (open) {\n handleCloseWhenLeave();\n } else {\n handleOpen();\n }\n }, [open, handleCloseWhenLeave, handleOpen]);\n var handleDelayedOpen = (0, _react.useCallback)(function () {\n if (!enterable) {\n return handleOpen();\n }\n\n isOnTrigger.current = true;\n\n if (!(0, _isNil.default)(delayCloseTimer.current)) {\n clearTimeout(delayCloseTimer.current);\n delayCloseTimer.current = null;\n return handleOpen();\n }\n\n if (open) {\n return;\n }\n\n handleOpen();\n }, [enterable, open, handleOpen]);\n var handleDelayedClose = (0, _react.useCallback)(function () {\n if (!enterable) {\n handleClose();\n }\n\n isOnTrigger.current = false;\n\n if (!(0, _isNil.default)(delayOpenTimer.current)) {\n clearTimeout(delayOpenTimer.current);\n delayOpenTimer.current = null;\n return;\n }\n\n if (!open || !(0, _isNil.default)(delayCloseTimer.current)) {\n return;\n }\n\n delayCloseTimer.current = setTimeout(function () {\n if (!(0, _isNil.default)(delayCloseTimer.current)) {\n clearTimeout(delayCloseTimer.current);\n delayCloseTimer.current = null;\n }\n\n handleCloseWhenLeave();\n }, 200);\n }, [enterable, open, handleClose, handleCloseWhenLeave]);\n var handleSpeakerMouseEnter = (0, _react.useCallback)(function () {\n isOnOverlay.current = true;\n }, []);\n var handleSpeakerMouseLeave = (0, _react.useCallback)(function () {\n isOnOverlay.current = false;\n\n if (!(0, _isOneOf.default)('click', trigger) && !(0, _isOneOf.default)('contextMenu', trigger) && !(0, _isOneOf.default)('active', trigger)) {\n handleCloseWhenLeave();\n }\n }, [handleCloseWhenLeave, trigger]);\n var handledMoveOverlay = (0, _react.useCallback)(function (event) {\n setCursorPosition(function () {\n return {\n top: event.pageY,\n left: event.pageX,\n clientTop: event.clientX,\n clientLeft: event.clientY\n };\n });\n }, []);\n var preventDefault = (0, _react.useCallback)(function (event) {\n event.preventDefault();\n }, []);\n var triggerEvents = (0, _react.useMemo)(function () {\n // Pass events by props\n var events = {\n onClick: onClick,\n onContextMenu: onContextMenu,\n onMouseOver: onMouseOver,\n onMouseOut: onMouseOut,\n onFocus: onFocus,\n onBlur: onBlur,\n onMouseMove: onMouseMove\n }; // When trigger is disabled, no predefined event listeners are added.\n\n if (disabled || readOnly || plaintext || trigger === 'none') {\n return events;\n } // Get the cursor position through onMouseMove.\n // https://rsuitejs.com/components/tooltip/#follow-cursor\n\n\n if (followCursor) {\n events.onMouseMove = (0, _utils.createChainedFunction)(handledMoveOverlay, onMouseMove);\n } // The `click` event is usually used in `toggle` scenarios.\n // The first click will open and the second click will close.\n\n\n if ((0, _isOneOf.default)('click', trigger)) {\n events.onClick = (0, _utils.createChainedFunction)(handleOpenState, events.onClick);\n return events;\n } // The difference between it and the click event is that it does not trigger the close.\n\n\n if ((0, _isOneOf.default)('active', trigger)) {\n events.onClick = (0, _utils.createChainedFunction)(handleDelayedOpen, events.onClick);\n return events;\n }\n\n if ((0, _isOneOf.default)('hover', trigger)) {\n var onMouseOverListener = function onMouseOverListener(e) {\n return onMouseEventHandler(handleDelayedOpen, e);\n };\n\n var onMouseOutListener = function onMouseOutListener(e) {\n return onMouseEventHandler(handleDelayedClose, e);\n };\n\n events.onMouseOver = (0, _utils.createChainedFunction)(onMouseOverListener, events.onMouseOver);\n events.onMouseOut = (0, _utils.createChainedFunction)(onMouseOutListener, events.onMouseOut);\n }\n\n if ((0, _isOneOf.default)('focus', trigger)) {\n events.onFocus = (0, _utils.createChainedFunction)(handleDelayedOpen, events.onFocus);\n events.onBlur = (0, _utils.createChainedFunction)(handleDelayedClose, events.onBlur);\n }\n\n if ((0, _isOneOf.default)('contextMenu', trigger)) {\n events.onContextMenu = (0, _utils.createChainedFunction)(preventDefault, handleOpenState, events.onContextMenu);\n }\n\n return events;\n }, [disabled, followCursor, handleDelayedClose, handleDelayedOpen, handleOpenState, handledMoveOverlay, onBlur, onClick, onContextMenu, onFocus, onMouseMove, onMouseOut, onMouseOver, plaintext, preventDefault, readOnly, trigger]);\n\n var renderOverlay = function renderOverlay() {\n var overlayProps = (0, _extends2.default)({}, rest, {\n rootClose: rootClose,\n triggerTarget: triggerRef,\n onClose: trigger !== 'none' ? (0, _utils.createChainedFunction)(handleClose, function () {\n return onClose === null || onClose === void 0 ? void 0 : onClose(OverlayCloseCause.ClickOutside);\n }) : undefined,\n onExited: (0, _utils.createChainedFunction)(followCursor ? handleExited : undefined, onExited),\n placement: placement,\n container: container,\n open: open\n });\n var speakerProps = {\n id: controlId\n }; // The purpose of adding mouse entry and exit events to the Overlay is to record whether the current cursor is on the Overlay.\n // When `trigger` is equal to `hover`, if the cursor leaves the `triggerTarget` and stays on the Overlay,\n // the Overlay will continue to remain open.\n\n if (trigger !== 'none' && enterable) {\n speakerProps.onMouseEnter = handleSpeakerMouseEnter;\n speakerProps.onMouseLeave = handleSpeakerMouseLeave;\n }\n\n return /*#__PURE__*/_react.default.createElement(_Overlay.default, (0, _extends2.default)({}, overlayProps, {\n ref: overlayRef,\n childrenProps: speakerProps,\n followCursor: followCursor,\n cursorPosition: cursorPosition,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 493,\n columnNumber: 9\n }\n }), typeof speaker === 'function' ? function (props, ref) {\n return speaker((0, _extends2.default)({}, props, {\n onClose: handleClose\n }), ref);\n } : speaker);\n };\n\n if (typeof children === 'object' && children.type === _react.default.Fragment || typeof children === 'string') {\n console.error('[rsuite] The OverlayTrigger component does not accept strings or Fragments as child.');\n }\n\n return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, typeof children === 'function' ? children(triggerEvents, triggerRef) : /*#__PURE__*/_react.default.cloneElement(children, (0, _extends2.default)({\n ref: triggerRef,\n 'aria-describedby': controlId\n }, mergeEvents(triggerEvents, children.props))), /*#__PURE__*/_react.default.createElement(Portal, {\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 526,\n columnNumber: 9\n }\n }, renderOverlay()));\n});\n\nOverlayTrigger.displayName = 'OverlayTrigger';\nvar _default = OverlayTrigger;\nexports[\"default\"] = _default;\n\n//# sourceURL=webpack://rsuite/./src/Overlay/OverlayTrigger.tsx?");
|
|
3659
|
+
eval("\n\nvar _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ \"./node_modules/@babel/runtime/helpers/interopRequireDefault.js\");\n\nvar _interopRequireWildcard = __webpack_require__(/*! @babel/runtime/helpers/interopRequireWildcard */ \"./node_modules/@babel/runtime/helpers/interopRequireWildcard.js\");\n\nexports.__esModule = true;\nexports[\"default\"] = exports.OverlayCloseCause = void 0;\n\nvar _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ \"./node_modules/@babel/runtime/helpers/extends.js\"));\n\nvar _objectWithoutPropertiesLoose2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/objectWithoutPropertiesLoose */ \"./node_modules/@babel/runtime/helpers/objectWithoutPropertiesLoose.js\"));\n\nvar _isUndefined2 = _interopRequireDefault(__webpack_require__(/*! lodash/isUndefined */ \"./node_modules/lodash/isUndefined.js\"));\n\nvar _react = _interopRequireWildcard(__webpack_require__(/*! react */ \"react\"));\n\nvar _get = _interopRequireDefault(__webpack_require__(/*! lodash/get */ \"./node_modules/lodash/get.js\"));\n\nvar _isNil = _interopRequireDefault(__webpack_require__(/*! lodash/isNil */ \"./node_modules/lodash/isNil.js\"));\n\nvar _contains = _interopRequireDefault(__webpack_require__(/*! dom-lib/contains */ \"./node_modules/dom-lib/esm/contains.js\"));\n\nvar _Overlay = _interopRequireDefault(__webpack_require__(/*! ./Overlay */ \"./src/Overlay/Overlay.tsx\"));\n\nvar _utils = __webpack_require__(/*! ../utils */ \"./src/utils/index.ts\");\n\nvar _isOneOf = _interopRequireDefault(__webpack_require__(/*! ../utils/isOneOf */ \"./src/utils/isOneOf.ts\"));\n\nvar _OverlayContext = _interopRequireDefault(__webpack_require__(/*! ./OverlayContext */ \"./src/Overlay/OverlayContext.ts\"));\n\nvar _jsxFileName = \"/home/runner/work/rsuite/rsuite/src/Overlay/OverlayTrigger.tsx\",\n _this = void 0;\n\nfunction mergeEvents(events, props) {\n if (events === void 0) {\n events = {};\n }\n\n if (props === void 0) {\n props = {};\n }\n\n var nextEvents = {};\n Object.keys(events).forEach(function (eventName) {\n if (events[eventName]) {\n var _props;\n\n nextEvents[eventName] = (0, _utils.createChainedFunction)(events[eventName], (_props = props) === null || _props === void 0 ? void 0 : _props[eventName]);\n }\n });\n return nextEvents;\n}\n\n/**\n * The reason that triggers closing of an overlay\n * - Clicking outside of the overlay\n * - Direct invocation of triggerRef.current.close()\n */\nvar OverlayCloseCause;\n/**\n * Useful for mouseover and mouseout.\n * In order to resolve the node entering the mouseover element, a mouseout event and a mouseover event will be triggered.\n * https://javascript.info/mousemove-mouseover-mouseout-mouseenter-mouseleave\n * @param handler\n * @param event\n */\n\nexports.OverlayCloseCause = OverlayCloseCause;\n\n(function (OverlayCloseCause) {\n OverlayCloseCause[OverlayCloseCause[\"ClickOutside\"] = 0] = \"ClickOutside\";\n OverlayCloseCause[OverlayCloseCause[\"ImperativeHandle\"] = 1] = \"ImperativeHandle\";\n})(OverlayCloseCause || (exports.OverlayCloseCause = OverlayCloseCause = {}));\n\nfunction onMouseEventHandler(handler, event, delay) {\n var target = event.currentTarget;\n var related = event.relatedTarget || (0, _get.default)(event, ['nativeEvent', 'toElement']);\n\n if ((!related || related !== target) && !(0, _contains.default)(target, related)) {\n handler(event, delay);\n }\n}\n\nvar defaultTrigger = ['hover', 'focus'];\n\nvar OverlayTrigger = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {\n var _useContext = (0, _react.useContext)(_OverlayContext.default),\n overlayContainer = _useContext.overlayContainer;\n\n var children = props.children,\n _props$container = props.container,\n container = _props$container === void 0 ? overlayContainer : _props$container,\n controlId = props.controlId,\n defaultOpen = props.defaultOpen,\n _props$trigger = props.trigger,\n trigger = _props$trigger === void 0 ? defaultTrigger : _props$trigger,\n disabled = props.disabled,\n followCursor = props.followCursor,\n readOnly = props.readOnly,\n plaintext = props.plaintext,\n openProp = props.open,\n delay = props.delay,\n delayOpenProp = props.delayOpen,\n delayCloseProp = props.delayClose,\n enterable = props.enterable,\n _props$placement = props.placement,\n placement = _props$placement === void 0 ? 'bottomStart' : _props$placement,\n speaker = props.speaker,\n _props$rootClose = props.rootClose,\n rootClose = _props$rootClose === void 0 ? true : _props$rootClose,\n onClick = props.onClick,\n onMouseOver = props.onMouseOver,\n onMouseMove = props.onMouseMove,\n onMouseOut = props.onMouseOut,\n onContextMenu = props.onContextMenu,\n onFocus = props.onFocus,\n onBlur = props.onBlur,\n onClose = props.onClose,\n onExited = props.onExited,\n rest = (0, _objectWithoutPropertiesLoose2.default)(props, [\"children\", \"container\", \"controlId\", \"defaultOpen\", \"trigger\", \"disabled\", \"followCursor\", \"readOnly\", \"plaintext\", \"open\", \"delay\", \"delayOpen\", \"delayClose\", \"enterable\", \"placement\", \"speaker\", \"rootClose\", \"onClick\", \"onMouseOver\", \"onMouseMove\", \"onMouseOut\", \"onContextMenu\", \"onFocus\", \"onBlur\", \"onClose\", \"onExited\"]);\n\n var _usePortal = (0, _utils.usePortal)({\n container: container\n }),\n Portal = _usePortal.Portal,\n containerElement = _usePortal.target;\n\n var triggerRef = (0, _react.useRef)();\n var overlayRef = (0, _react.useRef)();\n\n var _useControlled = (0, _utils.useControlled)(openProp, defaultOpen),\n open = _useControlled[0],\n setOpen = _useControlled[1];\n\n var _useState = (0, _react.useState)(null),\n cursorPosition = _useState[0],\n setCursorPosition = _useState[1]; // Delay the timer to close/open the overlay\n // When the cursor moves from the trigger to the overlay, the overlay will be closed.\n // In order to keep the overlay open, a timer is used to delay the closing.\n\n\n var delayOpenTimer = (0, _react.useRef)(null);\n var delayCloseTimer = (0, _react.useRef)(null);\n var delayOpen = (0, _isNil.default)(delayOpenProp) ? delay : delayOpenProp;\n var delayClose = (0, _isNil.default)(delayCloseProp) ? delay : delayCloseProp; // Whether the cursor is on the overlay\n\n var isOnOverlay = (0, _react.useRef)(false); // Whether the cursor is on the trigger\n\n var isOnTrigger = (0, _react.useRef)(false);\n (0, _react.useEffect)(function () {\n return function () {\n if (!(0, _isNil.default)(delayOpenTimer.current)) {\n clearTimeout(delayOpenTimer.current);\n }\n\n if (!(0, _isNil.default)(delayCloseTimer.current)) {\n clearTimeout(delayCloseTimer.current);\n }\n };\n }, []);\n var handleOpen = (0, _react.useCallback)(function (delay) {\n var ms = (0, _isUndefined2.default)(delay) ? delayOpen : delay;\n\n if (ms && typeof ms === 'number') {\n return delayOpenTimer.current = setTimeout(function () {\n delayOpenTimer.current = null;\n setOpen(true);\n }, ms);\n }\n\n setOpen(true);\n }, [delayOpen, setOpen]);\n var handleClose = (0, _react.useCallback)(function (delay, callback) {\n var ms = (0, _isUndefined2.default)(delay) ? delayClose : delay;\n\n if (ms && typeof ms === 'number') {\n return delayCloseTimer.current = setTimeout(function () {\n delayCloseTimer.current = null;\n setOpen(false);\n callback === null || callback === void 0 ? void 0 : callback();\n }, ms);\n }\n\n setOpen(false);\n callback === null || callback === void 0 ? void 0 : callback();\n }, [delayClose, setOpen]);\n var handleExited = (0, _react.useCallback)(function () {\n setCursorPosition(null);\n }, []);\n (0, _react.useImperativeHandle)(ref, function () {\n return {\n get root() {\n return triggerRef.current;\n },\n\n get overlay() {\n var _overlayRef$current;\n\n return (_overlayRef$current = overlayRef.current) === null || _overlayRef$current === void 0 ? void 0 : _overlayRef$current.child;\n },\n\n open: handleOpen,\n close: function close(delay) {\n return handleClose(delay, function () {\n return onClose === null || onClose === void 0 ? void 0 : onClose(OverlayCloseCause.ImperativeHandle);\n });\n },\n updatePosition: function updatePosition() {\n var _overlayRef$current2, _overlayRef$current2$;\n\n (_overlayRef$current2 = overlayRef.current) === null || _overlayRef$current2 === void 0 ? void 0 : (_overlayRef$current2$ = _overlayRef$current2.updatePosition) === null || _overlayRef$current2$ === void 0 ? void 0 : _overlayRef$current2$.call(_overlayRef$current2);\n }\n };\n });\n /**\n * Close after the cursor leaves.\n */\n\n var handleCloseWhenLeave = (0, _react.useCallback)(function () {\n // When the cursor is not on the overlay and not on the trigger, it is closed.\n if (!isOnOverlay.current && !isOnTrigger.current) {\n handleClose();\n }\n }, [handleClose]);\n /**\n * Toggle open and closed state.\n */\n\n var handleOpenState = (0, _react.useCallback)(function () {\n if (open) {\n handleCloseWhenLeave();\n } else {\n handleOpen();\n }\n }, [open, handleCloseWhenLeave, handleOpen]);\n var handleDelayedOpen = (0, _react.useCallback)(function () {\n if (!enterable) {\n return handleOpen();\n }\n\n isOnTrigger.current = true;\n\n if (!(0, _isNil.default)(delayCloseTimer.current)) {\n clearTimeout(delayCloseTimer.current);\n delayCloseTimer.current = null;\n return handleOpen();\n }\n\n if (open) {\n return;\n }\n\n handleOpen();\n }, [enterable, open, handleOpen]);\n var handleDelayedClose = (0, _react.useCallback)(function () {\n if (!enterable) {\n handleClose();\n }\n\n isOnTrigger.current = false;\n\n if (!(0, _isNil.default)(delayOpenTimer.current)) {\n clearTimeout(delayOpenTimer.current);\n delayOpenTimer.current = null;\n return;\n }\n\n if (!open || !(0, _isNil.default)(delayCloseTimer.current)) {\n return;\n }\n\n delayCloseTimer.current = setTimeout(function () {\n if (!(0, _isNil.default)(delayCloseTimer.current)) {\n clearTimeout(delayCloseTimer.current);\n delayCloseTimer.current = null;\n }\n\n handleCloseWhenLeave();\n }, 200);\n }, [enterable, open, handleClose, handleCloseWhenLeave]);\n var handleSpeakerMouseEnter = (0, _react.useCallback)(function () {\n isOnOverlay.current = true;\n }, []);\n var handleSpeakerMouseLeave = (0, _react.useCallback)(function () {\n isOnOverlay.current = false;\n\n if (!(0, _isOneOf.default)('click', trigger) && !(0, _isOneOf.default)('contextMenu', trigger) && !(0, _isOneOf.default)('active', trigger)) {\n handleCloseWhenLeave();\n }\n }, [handleCloseWhenLeave, trigger]);\n var handledMoveOverlay = (0, _react.useCallback)(function (event) {\n setCursorPosition(function () {\n return {\n top: event.pageY,\n left: event.pageX,\n clientTop: event.clientX,\n clientLeft: event.clientY\n };\n });\n }, []);\n var preventDefault = (0, _react.useCallback)(function (event) {\n event.preventDefault();\n }, []);\n var triggerEvents = (0, _react.useMemo)(function () {\n // Pass events by props\n var events = {\n onClick: onClick,\n onContextMenu: onContextMenu,\n onMouseOver: onMouseOver,\n onMouseOut: onMouseOut,\n onFocus: onFocus,\n onBlur: onBlur,\n onMouseMove: onMouseMove\n }; // When trigger is disabled, no predefined event listeners are added.\n\n if (disabled || readOnly || plaintext || trigger === 'none') {\n return events;\n } // Get the cursor position through onMouseMove.\n // https://rsuitejs.com/components/tooltip/#follow-cursor\n\n\n if (followCursor) {\n events.onMouseMove = (0, _utils.createChainedFunction)(handledMoveOverlay, onMouseMove);\n } // The `click` event is usually used in `toggle` scenarios.\n // The first click will open and the second click will close.\n\n\n if ((0, _isOneOf.default)('click', trigger)) {\n events.onClick = (0, _utils.createChainedFunction)(handleOpenState, events.onClick);\n return events;\n } // The difference between it and the click event is that it does not trigger the close.\n\n\n if ((0, _isOneOf.default)('active', trigger)) {\n events.onClick = (0, _utils.createChainedFunction)(handleDelayedOpen, events.onClick);\n return events;\n }\n\n if ((0, _isOneOf.default)('hover', trigger)) {\n var onMouseOverListener = function onMouseOverListener(e) {\n return onMouseEventHandler(handleDelayedOpen, e);\n };\n\n var onMouseOutListener = function onMouseOutListener(e) {\n return onMouseEventHandler(handleDelayedClose, e);\n };\n\n events.onMouseOver = (0, _utils.createChainedFunction)(onMouseOverListener, events.onMouseOver);\n events.onMouseOut = (0, _utils.createChainedFunction)(onMouseOutListener, events.onMouseOut);\n }\n\n if ((0, _isOneOf.default)('focus', trigger)) {\n events.onFocus = (0, _utils.createChainedFunction)(handleDelayedOpen, events.onFocus);\n events.onBlur = (0, _utils.createChainedFunction)(handleDelayedClose, events.onBlur);\n }\n\n if ((0, _isOneOf.default)('contextMenu', trigger)) {\n events.onContextMenu = (0, _utils.createChainedFunction)(preventDefault, handleOpenState, events.onContextMenu);\n }\n\n return events;\n }, [disabled, followCursor, handleDelayedClose, handleDelayedOpen, handleOpenState, handledMoveOverlay, onBlur, onClick, onContextMenu, onFocus, onMouseMove, onMouseOut, onMouseOver, plaintext, preventDefault, readOnly, trigger]);\n\n var renderOverlay = function renderOverlay() {\n var overlayProps = (0, _extends2.default)({}, rest, {\n rootClose: rootClose,\n triggerTarget: triggerRef,\n onClose: trigger !== 'none' ? (0, _utils.createChainedFunction)(handleClose, function () {\n return onClose === null || onClose === void 0 ? void 0 : onClose(OverlayCloseCause.ClickOutside);\n }) : undefined,\n onExited: (0, _utils.createChainedFunction)(followCursor ? handleExited : undefined, onExited),\n placement: placement,\n container: containerElement,\n open: open\n });\n var speakerProps = {\n id: controlId\n }; // The purpose of adding mouse entry and exit events to the Overlay is to record whether the current cursor is on the Overlay.\n // When `trigger` is equal to `hover`, if the cursor leaves the `triggerTarget` and stays on the Overlay,\n // the Overlay will continue to remain open.\n\n if (trigger !== 'none' && enterable) {\n speakerProps.onMouseEnter = handleSpeakerMouseEnter;\n speakerProps.onMouseLeave = handleSpeakerMouseLeave;\n }\n\n return /*#__PURE__*/_react.default.createElement(_Overlay.default, (0, _extends2.default)({}, overlayProps, {\n ref: overlayRef,\n childrenProps: speakerProps,\n followCursor: followCursor,\n cursorPosition: cursorPosition,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 493,\n columnNumber: 9\n }\n }), typeof speaker === 'function' ? function (props, ref) {\n return speaker((0, _extends2.default)({}, props, {\n onClose: handleClose\n }), ref);\n } : speaker);\n };\n\n if (typeof children === 'object' && children.type === _react.default.Fragment || typeof children === 'string') {\n console.error('[rsuite] The OverlayTrigger component does not accept strings or Fragments as child.');\n }\n\n return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, typeof children === 'function' ? children(triggerEvents, triggerRef) : /*#__PURE__*/_react.default.cloneElement(children, (0, _extends2.default)({\n ref: triggerRef,\n 'aria-describedby': controlId\n }, mergeEvents(triggerEvents, children.props))), /*#__PURE__*/_react.default.createElement(Portal, {\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 526,\n columnNumber: 9\n }\n }, renderOverlay()));\n});\n\nOverlayTrigger.displayName = 'OverlayTrigger';\nvar _default = OverlayTrigger;\nexports[\"default\"] = _default;\n\n//# sourceURL=webpack://rsuite/./src/Overlay/OverlayTrigger.tsx?");
|
|
3660
3660
|
|
|
3661
3661
|
/***/ }),
|
|
3662
3662
|
|
|
@@ -5130,7 +5130,7 @@ eval("\n\nvar _interopRequireDefault = __webpack_require__(/*! @babel/runtime/he
|
|
|
5130
5130
|
/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
|
|
5131
5131
|
|
|
5132
5132
|
"use strict";
|
|
5133
|
-
eval("\n\nvar _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ \"./node_modules/@babel/runtime/helpers/interopRequireDefault.js\");\n\nexports.__esModule = true;\nexports.disabledTime = disabledTime;\nexports.getMonthView = getMonthView;\nexports.getDateMask = getDateMask;\nexports.copyTime = copyTime;\nexports.reverseDateRangeOmitTime = reverseDateRangeOmitTime;\nexports.getReversedTimeMeridian = exports.shouldOnlyRenderTime = exports.shouldRenderDate = exports.shouldRenderMonth = exports.shouldRenderTime = exports.omitHideDisabledProps = exports.calendarOnlyProps = exports.differenceInCalendarMonths = exports.set = exports.isValid = exports.isMatch = exports.subDays = exports.startOfWeek = exports.startOfMonth = exports.startOfISOWeek = exports.startOfDay = exports.setYear = exports.setSeconds = exports.setMonth = exports.setMinutes = exports.setHours = exports.setDate = exports.parseISO = exports.parse = exports.isSameSecond = exports.isSameMonth = exports.isSameDay = exports.isEqual = exports.isBefore = exports.isAfter = exports.getYear = exports.getSeconds = exports.getMonth = exports.getMinutes = exports.getHours = exports.getDaysInMonth = exports.getDay = exports.getDate = exports.format = exports.endOfWeek = exports.endOfMonth = exports.endOfISOWeek = exports.endOfDay = exports.compareAsc = exports.addMonths = exports.addDays = void 0;\n\nvar _pick = _interopRequireDefault(__webpack_require__(/*! lodash/pick */ \"./node_modules/lodash/pick.js\"));\n\nvar _omitBy = _interopRequireDefault(__webpack_require__(/*! lodash/omitBy */ \"./node_modules/lodash/omitBy.js\"));\n\nvar _getHours = _interopRequireDefault(__webpack_require__(/*! date-fns/getHours */ \"./node_modules/date-fns/esm/getHours/index.js\"));\n\nexports.getHours = _getHours.default;\n\nvar _setHours = _interopRequireDefault(__webpack_require__(/*! date-fns/setHours */ \"./node_modules/date-fns/esm/setHours/index.js\"));\n\nexports.setHours = _setHours.default;\n\nvar _getDay = _interopRequireDefault(__webpack_require__(/*! date-fns/getDay */ \"./node_modules/date-fns/esm/getDay/index.js\"));\n\nexports.getDay = _getDay.default;\n\nvar _getMinutes = _interopRequireDefault(__webpack_require__(/*! date-fns/getMinutes */ \"./node_modules/date-fns/esm/getMinutes/index.js\"));\n\nexports.getMinutes = _getMinutes.default;\n\nvar _getSeconds = _interopRequireDefault(__webpack_require__(/*! date-fns/getSeconds */ \"./node_modules/date-fns/esm/getSeconds/index.js\"));\n\nexports.getSeconds = _getSeconds.default;\n\nvar _addDays = _interopRequireDefault(__webpack_require__(/*! date-fns/addDays */ \"./node_modules/date-fns/esm/addDays/index.js\"));\n\nexports.addDays = _addDays.default;\n\nvar _set = _interopRequireDefault(__webpack_require__(/*! date-fns/set */ \"./node_modules/date-fns/esm/set/index.js\"));\n\nexports.set = _set.default;\n\nvar _addMonths = _interopRequireDefault(__webpack_require__(/*! date-fns/addMonths */ \"./node_modules/date-fns/esm/addMonths/index.js\"));\n\nexports.addMonths = _addMonths.default;\n\nvar _compareAsc = _interopRequireDefault(__webpack_require__(/*! date-fns/compareAsc */ \"./node_modules/date-fns/esm/compareAsc/index.js\"));\n\nexports.compareAsc = _compareAsc.default;\n\nvar _endOfDay = _interopRequireDefault(__webpack_require__(/*! date-fns/endOfDay */ \"./node_modules/date-fns/esm/endOfDay/index.js\"));\n\nexports.endOfDay = _endOfDay.default;\n\nvar _endOfISOWeek = _interopRequireDefault(__webpack_require__(/*! date-fns/endOfISOWeek */ \"./node_modules/date-fns/esm/endOfISOWeek/index.js\"));\n\nexports.endOfISOWeek = _endOfISOWeek.default;\n\nvar _endOfMonth = _interopRequireDefault(__webpack_require__(/*! date-fns/endOfMonth */ \"./node_modules/date-fns/esm/endOfMonth/index.js\"));\n\nexports.endOfMonth = _endOfMonth.default;\n\nvar _endOfWeek = _interopRequireDefault(__webpack_require__(/*! date-fns/endOfWeek */ \"./node_modules/date-fns/esm/endOfWeek/index.js\"));\n\nexports.endOfWeek = _endOfWeek.default;\n\nvar _format = _interopRequireDefault(__webpack_require__(/*! date-fns/format */ \"./node_modules/date-fns/esm/format/index.js\"));\n\nexports.format = _format.default;\n\nvar _getDate = _interopRequireDefault(__webpack_require__(/*! date-fns/getDate */ \"./node_modules/date-fns/esm/getDate/index.js\"));\n\nexports.getDate = _getDate.default;\n\nvar _getDaysInMonth = _interopRequireDefault(__webpack_require__(/*! date-fns/getDaysInMonth */ \"./node_modules/date-fns/esm/getDaysInMonth/index.js\"));\n\nexports.getDaysInMonth = _getDaysInMonth.default;\n\nvar _getMonth = _interopRequireDefault(__webpack_require__(/*! date-fns/getMonth */ \"./node_modules/date-fns/esm/getMonth/index.js\"));\n\nexports.getMonth = _getMonth.default;\n\nvar _getYear = _interopRequireDefault(__webpack_require__(/*! date-fns/getYear */ \"./node_modules/date-fns/esm/getYear/index.js\"));\n\nexports.getYear = _getYear.default;\n\nvar _isAfter = _interopRequireDefault(__webpack_require__(/*! date-fns/isAfter */ \"./node_modules/date-fns/esm/isAfter/index.js\"));\n\nexports.isAfter = _isAfter.default;\n\nvar _isBefore = _interopRequireDefault(__webpack_require__(/*! date-fns/isBefore */ \"./node_modules/date-fns/esm/isBefore/index.js\"));\n\nexports.isBefore = _isBefore.default;\n\nvar _isEqual = _interopRequireDefault(__webpack_require__(/*! date-fns/isEqual */ \"./node_modules/date-fns/esm/isEqual/index.js\"));\n\nexports.isEqual = _isEqual.default;\n\nvar _isSameDay = _interopRequireDefault(__webpack_require__(/*! date-fns/isSameDay */ \"./node_modules/date-fns/esm/isSameDay/index.js\"));\n\nexports.isSameDay = _isSameDay.default;\n\nvar _isSameMonth = _interopRequireDefault(__webpack_require__(/*! date-fns/isSameMonth */ \"./node_modules/date-fns/esm/isSameMonth/index.js\"));\n\nexports.isSameMonth = _isSameMonth.default;\n\nvar _isSameSecond = _interopRequireDefault(__webpack_require__(/*! date-fns/isSameSecond */ \"./node_modules/date-fns/esm/isSameSecond/index.js\"));\n\nexports.isSameSecond = _isSameSecond.default;\n\nvar _parse = _interopRequireDefault(__webpack_require__(/*! date-fns/parse */ \"./node_modules/date-fns/esm/parse/index.js\"));\n\nexports.parse = _parse.default;\n\nvar _parseISO = _interopRequireDefault(__webpack_require__(/*! date-fns/parseISO */ \"./node_modules/date-fns/esm/parseISO/index.js\"));\n\nexports.parseISO = _parseISO.default;\n\nvar _setDate = _interopRequireDefault(__webpack_require__(/*! date-fns/setDate */ \"./node_modules/date-fns/esm/setDate/index.js\"));\n\nexports.setDate = _setDate.default;\n\nvar _setMinutes = _interopRequireDefault(__webpack_require__(/*! date-fns/setMinutes */ \"./node_modules/date-fns/esm/setMinutes/index.js\"));\n\nexports.setMinutes = _setMinutes.default;\n\nvar _setMonth = _interopRequireDefault(__webpack_require__(/*! date-fns/setMonth */ \"./node_modules/date-fns/esm/setMonth/index.js\"));\n\nexports.setMonth = _setMonth.default;\n\nvar _setSeconds = _interopRequireDefault(__webpack_require__(/*! date-fns/setSeconds */ \"./node_modules/date-fns/esm/setSeconds/index.js\"));\n\nexports.setSeconds = _setSeconds.default;\n\nvar _setYear = _interopRequireDefault(__webpack_require__(/*! date-fns/setYear */ \"./node_modules/date-fns/esm/setYear/index.js\"));\n\nexports.setYear = _setYear.default;\n\nvar _startOfDay = _interopRequireDefault(__webpack_require__(/*! date-fns/startOfDay */ \"./node_modules/date-fns/esm/startOfDay/index.js\"));\n\nexports.startOfDay = _startOfDay.default;\n\nvar _startOfISOWeek = _interopRequireDefault(__webpack_require__(/*! date-fns/startOfISOWeek */ \"./node_modules/date-fns/esm/startOfISOWeek/index.js\"));\n\nexports.startOfISOWeek = _startOfISOWeek.default;\n\nvar _startOfMonth = _interopRequireDefault(__webpack_require__(/*! date-fns/startOfMonth */ \"./node_modules/date-fns/esm/startOfMonth/index.js\"));\n\nexports.startOfMonth = _startOfMonth.default;\n\nvar _startOfWeek = _interopRequireDefault(__webpack_require__(/*! date-fns/startOfWeek */ \"./node_modules/date-fns/esm/startOfWeek/index.js\"));\n\nexports.startOfWeek = _startOfWeek.default;\n\nvar _subDays = _interopRequireDefault(__webpack_require__(/*! date-fns/subDays */ \"./node_modules/date-fns/esm/subDays/index.js\"));\n\nexports.subDays = _subDays.default;\n\nvar _isMatch = _interopRequireDefault(__webpack_require__(/*! date-fns/isMatch */ \"./node_modules/date-fns/esm/isMatch/index.js\"));\n\nexports.isMatch = _isMatch.default;\n\nvar _isValid = _interopRequireDefault(__webpack_require__(/*! date-fns/isValid */ \"./node_modules/date-fns/esm/isValid/index.js\"));\n\nexports.isValid = _isValid.default;\n\nvar _differenceInCalendarMonths = _interopRequireDefault(__webpack_require__(/*! date-fns/differenceInCalendarMonths */ \"./node_modules/date-fns/esm/differenceInCalendarMonths/index.js\"));\n\nexports.differenceInCalendarMonths = _differenceInCalendarMonths.default;\nvar disabledTimeProps = ['disabledHours', 'disabledMinutes', 'disabledSeconds'];\nvar hideTimeProps = ['hideHours', 'hideMinutes', 'hideSeconds'];\nvar calendarOnlyProps = disabledTimeProps.concat(hideTimeProps);\nexports.calendarOnlyProps = calendarOnlyProps;\n\nfunction validTime(calendarProps, date) {\n if (!date) {\n return false;\n }\n\n return Object.keys(calendarProps).some(function (key) {\n if (/(Hours)/.test(key)) {\n return calendarProps[key]((0, _getHours.default)(date), date);\n }\n\n if (/(Minutes)/.test(key)) {\n return calendarProps[key]((0, _getMinutes.default)(date), date);\n }\n\n if (/(Seconds)/.test(key)) {\n return calendarProps[key]((0, _getSeconds.default)(date), date);\n }\n\n return false;\n });\n}\n/**\n * Verify that the time is valid.\n * @param props\n * @param date\n */\n\n\nfunction disabledTime(props, date) {\n var calendarProps = (0, _pick.default)(props, disabledTimeProps);\n return validTime(calendarProps, date);\n}\n\nvar omitHideDisabledProps = function omitHideDisabledProps(props) {\n return (0, _omitBy.default)(props, function (_val, key) {\n return key.startsWith('disabled') || key.startsWith('hide');\n });\n};\n\nexports.omitHideDisabledProps = omitHideDisabledProps;\n\nvar shouldRenderTime = function shouldRenderTime(format) {\n return /([Hhms])/.test(format);\n};\n\nexports.shouldRenderTime = shouldRenderTime;\n\nvar shouldRenderMonth = function shouldRenderMonth(format) {\n return /[Yy]/.test(format) && /[ML]/.test(format);\n};\n\nexports.shouldRenderMonth = shouldRenderMonth;\n\nvar shouldRenderDate = function shouldRenderDate(format) {\n return /[Yy]/.test(format) && /[ML]/.test(format) && /[Dd]/.test(format);\n}; // for date-fns v1 and v2\n\n\nexports.shouldRenderDate = shouldRenderDate;\n\nvar shouldOnlyRenderTime = function shouldOnlyRenderTime(format) {\n return /([Hhms])/.test(format) && !/([YyMDd])/.test(format);\n}; // for date-fns v1 and v2\n\n/**\n * Get all weeks of this month\n * @params monthDate\n * @return date[]\n */\n\n\nexports.shouldOnlyRenderTime = shouldOnlyRenderTime;\n\nfunction getMonthView(monthDate, isoWeek) {\n var firstDayOfMonth = (0, _getDay.default)(monthDate);\n var distance = 0 - firstDayOfMonth;\n\n if (isoWeek) {\n distance = 1 - firstDayOfMonth;\n\n if (firstDayOfMonth === 0) {\n distance = -6;\n }\n }\n\n var firstWeekendDate = (0, _addDays.default)(monthDate, distance);\n var weeks = [firstWeekendDate];\n var nextWeekendDate = (0, _addDays.default)(firstWeekendDate, 7);\n weeks.push(nextWeekendDate);\n\n while (weeks.length < 6) {\n nextWeekendDate = (0, _addDays.default)(nextWeekendDate, 7);\n weeks.push(nextWeekendDate);\n }\n\n return weeks;\n}\n\nfunction getDateMask(formatStr) {\n return Array.from(formatStr).map(function (i) {\n return i.match(/[A-Za-z]/) ? /[\\d|A-Za-z]/ : i;\n });\n}\n/**\n * Copy the time of one date to another\n */\n\n\nfunction copyTime(_ref) {\n var from = _ref.from,\n to = _ref.to;\n return (0, _set.default)(to, {\n hours: (0, _getHours.default)(from),\n minutes: (0, _getMinutes.default)(from),\n seconds: (0, _getSeconds.default)(from)\n });\n}\n/**\n * Swap two dates without swapping the time.\n */\n\n\nfunction reverseDateRangeOmitTime(dateRange) {\n var start = dateRange[0],\n end = dateRange[1];\n\n if (start && end) {\n return [copyTime({\n from: start,\n to: end\n }), copyTime({\n from: end,\n to: start\n })];\n }\n\n return dateRange;\n}\n/**\n * Get the time with AM and PM reversed.\n */\n\n\nvar getReversedTimeMeridian = function getReversedTimeMeridian(date) {\n var clonedDate = new Date(date.valueOf());\n var hours = (0, _getHours.default)(clonedDate);\n var nextHours = hours >= 12 ? hours - 12 : hours + 12;\n return (0, _setHours.default)(clonedDate, nextHours);\n};\n\nexports.getReversedTimeMeridian = getReversedTimeMeridian;\n\n//# sourceURL=webpack://rsuite/./src/utils/dateUtils.ts?");
|
|
5133
|
+
eval("\n\nvar _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ \"./node_modules/@babel/runtime/helpers/interopRequireDefault.js\");\n\nexports.__esModule = true;\nexports.disabledTime = disabledTime;\nexports.getMonthView = getMonthView;\nexports.getDateMask = getDateMask;\nexports.copyTime = copyTime;\nexports.reverseDateRangeOmitTime = reverseDateRangeOmitTime;\nexports.getReversedTimeMeridian = exports.shouldOnlyRenderTime = exports.shouldRenderDate = exports.shouldRenderMonth = exports.shouldRenderTime = exports.omitHideDisabledProps = exports.calendarOnlyProps = exports.differenceInCalendarMonths = exports.set = exports.isValid = exports.isMatch = exports.subDays = exports.startOfWeek = exports.startOfMonth = exports.startOfISOWeek = exports.startOfDay = exports.setYear = exports.setSeconds = exports.setMonth = exports.setMinutes = exports.setHours = exports.setDate = exports.parseISO = exports.parse = exports.isSameSecond = exports.isSameMonth = exports.isSameDay = exports.isEqual = exports.isBefore = exports.isAfter = exports.getYear = exports.getSeconds = exports.getMonth = exports.getMinutes = exports.getHours = exports.getDaysInMonth = exports.getDay = exports.getDate = exports.format = exports.endOfWeek = exports.endOfMonth = exports.endOfISOWeek = exports.endOfDay = exports.compareAsc = exports.addMonths = exports.addDays = void 0;\n\nvar _pick = _interopRequireDefault(__webpack_require__(/*! lodash/pick */ \"./node_modules/lodash/pick.js\"));\n\nvar _omitBy = _interopRequireDefault(__webpack_require__(/*! lodash/omitBy */ \"./node_modules/lodash/omitBy.js\"));\n\nvar _getHours = _interopRequireDefault(__webpack_require__(/*! date-fns/getHours */ \"./node_modules/date-fns/esm/getHours/index.js\"));\n\nexports.getHours = _getHours.default;\n\nvar _setHours = _interopRequireDefault(__webpack_require__(/*! date-fns/setHours */ \"./node_modules/date-fns/esm/setHours/index.js\"));\n\nexports.setHours = _setHours.default;\n\nvar _getDay = _interopRequireDefault(__webpack_require__(/*! date-fns/getDay */ \"./node_modules/date-fns/esm/getDay/index.js\"));\n\nexports.getDay = _getDay.default;\n\nvar _getMinutes = _interopRequireDefault(__webpack_require__(/*! date-fns/getMinutes */ \"./node_modules/date-fns/esm/getMinutes/index.js\"));\n\nexports.getMinutes = _getMinutes.default;\n\nvar _getSeconds = _interopRequireDefault(__webpack_require__(/*! date-fns/getSeconds */ \"./node_modules/date-fns/esm/getSeconds/index.js\"));\n\nexports.getSeconds = _getSeconds.default;\n\nvar _addDays = _interopRequireDefault(__webpack_require__(/*! date-fns/addDays */ \"./node_modules/date-fns/esm/addDays/index.js\"));\n\nexports.addDays = _addDays.default;\n\nvar _set = _interopRequireDefault(__webpack_require__(/*! date-fns/set */ \"./node_modules/date-fns/esm/set/index.js\"));\n\nexports.set = _set.default;\n\nvar _addMonths = _interopRequireDefault(__webpack_require__(/*! date-fns/addMonths */ \"./node_modules/date-fns/esm/addMonths/index.js\"));\n\nexports.addMonths = _addMonths.default;\n\nvar _compareAsc = _interopRequireDefault(__webpack_require__(/*! date-fns/compareAsc */ \"./node_modules/date-fns/esm/compareAsc/index.js\"));\n\nexports.compareAsc = _compareAsc.default;\n\nvar _endOfDay = _interopRequireDefault(__webpack_require__(/*! date-fns/endOfDay */ \"./node_modules/date-fns/esm/endOfDay/index.js\"));\n\nexports.endOfDay = _endOfDay.default;\n\nvar _endOfISOWeek = _interopRequireDefault(__webpack_require__(/*! date-fns/endOfISOWeek */ \"./node_modules/date-fns/esm/endOfISOWeek/index.js\"));\n\nexports.endOfISOWeek = _endOfISOWeek.default;\n\nvar _endOfMonth = _interopRequireDefault(__webpack_require__(/*! date-fns/endOfMonth */ \"./node_modules/date-fns/esm/endOfMonth/index.js\"));\n\nexports.endOfMonth = _endOfMonth.default;\n\nvar _endOfWeek = _interopRequireDefault(__webpack_require__(/*! date-fns/endOfWeek */ \"./node_modules/date-fns/esm/endOfWeek/index.js\"));\n\nexports.endOfWeek = _endOfWeek.default;\n\nvar _format = _interopRequireDefault(__webpack_require__(/*! date-fns/format */ \"./node_modules/date-fns/esm/format/index.js\"));\n\nexports.format = _format.default;\n\nvar _getDate = _interopRequireDefault(__webpack_require__(/*! date-fns/getDate */ \"./node_modules/date-fns/esm/getDate/index.js\"));\n\nexports.getDate = _getDate.default;\n\nvar _getDaysInMonth = _interopRequireDefault(__webpack_require__(/*! date-fns/getDaysInMonth */ \"./node_modules/date-fns/esm/getDaysInMonth/index.js\"));\n\nexports.getDaysInMonth = _getDaysInMonth.default;\n\nvar _getMonth = _interopRequireDefault(__webpack_require__(/*! date-fns/getMonth */ \"./node_modules/date-fns/esm/getMonth/index.js\"));\n\nexports.getMonth = _getMonth.default;\n\nvar _getYear = _interopRequireDefault(__webpack_require__(/*! date-fns/getYear */ \"./node_modules/date-fns/esm/getYear/index.js\"));\n\nexports.getYear = _getYear.default;\n\nvar _isAfter = _interopRequireDefault(__webpack_require__(/*! date-fns/isAfter */ \"./node_modules/date-fns/esm/isAfter/index.js\"));\n\nexports.isAfter = _isAfter.default;\n\nvar _isBefore = _interopRequireDefault(__webpack_require__(/*! date-fns/isBefore */ \"./node_modules/date-fns/esm/isBefore/index.js\"));\n\nexports.isBefore = _isBefore.default;\n\nvar _isEqual = _interopRequireDefault(__webpack_require__(/*! date-fns/isEqual */ \"./node_modules/date-fns/esm/isEqual/index.js\"));\n\nexports.isEqual = _isEqual.default;\n\nvar _isSameDay = _interopRequireDefault(__webpack_require__(/*! date-fns/isSameDay */ \"./node_modules/date-fns/esm/isSameDay/index.js\"));\n\nexports.isSameDay = _isSameDay.default;\n\nvar _isSameMonth = _interopRequireDefault(__webpack_require__(/*! date-fns/isSameMonth */ \"./node_modules/date-fns/esm/isSameMonth/index.js\"));\n\nexports.isSameMonth = _isSameMonth.default;\n\nvar _isSameSecond = _interopRequireDefault(__webpack_require__(/*! date-fns/isSameSecond */ \"./node_modules/date-fns/esm/isSameSecond/index.js\"));\n\nexports.isSameSecond = _isSameSecond.default;\n\nvar _parse = _interopRequireDefault(__webpack_require__(/*! date-fns/parse */ \"./node_modules/date-fns/esm/parse/index.js\"));\n\nexports.parse = _parse.default;\n\nvar _parseISO = _interopRequireDefault(__webpack_require__(/*! date-fns/parseISO */ \"./node_modules/date-fns/esm/parseISO/index.js\"));\n\nexports.parseISO = _parseISO.default;\n\nvar _setDate = _interopRequireDefault(__webpack_require__(/*! date-fns/setDate */ \"./node_modules/date-fns/esm/setDate/index.js\"));\n\nexports.setDate = _setDate.default;\n\nvar _setMinutes = _interopRequireDefault(__webpack_require__(/*! date-fns/setMinutes */ \"./node_modules/date-fns/esm/setMinutes/index.js\"));\n\nexports.setMinutes = _setMinutes.default;\n\nvar _setMonth = _interopRequireDefault(__webpack_require__(/*! date-fns/setMonth */ \"./node_modules/date-fns/esm/setMonth/index.js\"));\n\nexports.setMonth = _setMonth.default;\n\nvar _setSeconds = _interopRequireDefault(__webpack_require__(/*! date-fns/setSeconds */ \"./node_modules/date-fns/esm/setSeconds/index.js\"));\n\nexports.setSeconds = _setSeconds.default;\n\nvar _setYear = _interopRequireDefault(__webpack_require__(/*! date-fns/setYear */ \"./node_modules/date-fns/esm/setYear/index.js\"));\n\nexports.setYear = _setYear.default;\n\nvar _startOfDay = _interopRequireDefault(__webpack_require__(/*! date-fns/startOfDay */ \"./node_modules/date-fns/esm/startOfDay/index.js\"));\n\nexports.startOfDay = _startOfDay.default;\n\nvar _startOfISOWeek = _interopRequireDefault(__webpack_require__(/*! date-fns/startOfISOWeek */ \"./node_modules/date-fns/esm/startOfISOWeek/index.js\"));\n\nexports.startOfISOWeek = _startOfISOWeek.default;\n\nvar _startOfMonth = _interopRequireDefault(__webpack_require__(/*! date-fns/startOfMonth */ \"./node_modules/date-fns/esm/startOfMonth/index.js\"));\n\nexports.startOfMonth = _startOfMonth.default;\n\nvar _startOfWeek = _interopRequireDefault(__webpack_require__(/*! date-fns/startOfWeek */ \"./node_modules/date-fns/esm/startOfWeek/index.js\"));\n\nexports.startOfWeek = _startOfWeek.default;\n\nvar _subDays = _interopRequireDefault(__webpack_require__(/*! date-fns/subDays */ \"./node_modules/date-fns/esm/subDays/index.js\"));\n\nexports.subDays = _subDays.default;\n\nvar _isMatch = _interopRequireDefault(__webpack_require__(/*! date-fns/isMatch */ \"./node_modules/date-fns/esm/isMatch/index.js\"));\n\nexports.isMatch = _isMatch.default;\n\nvar _isValid = _interopRequireDefault(__webpack_require__(/*! date-fns/isValid */ \"./node_modules/date-fns/esm/isValid/index.js\"));\n\nexports.isValid = _isValid.default;\n\nvar _differenceInCalendarMonths = _interopRequireDefault(__webpack_require__(/*! date-fns/differenceInCalendarMonths */ \"./node_modules/date-fns/esm/differenceInCalendarMonths/index.js\"));\n\nexports.differenceInCalendarMonths = _differenceInCalendarMonths.default;\nvar disabledTimeProps = ['disabledHours', 'disabledMinutes', 'disabledSeconds'];\nvar hideTimeProps = ['hideHours', 'hideMinutes', 'hideSeconds'];\nvar calendarOnlyProps = disabledTimeProps.concat(hideTimeProps);\nexports.calendarOnlyProps = calendarOnlyProps;\n\nfunction validTime(calendarProps, date) {\n if (!date) {\n return false;\n }\n\n return Object.keys(calendarProps).some(function (key) {\n if (/(Hours)/.test(key)) {\n var _calendarProps$key, _calendarProps$key2;\n\n return (_calendarProps$key = (_calendarProps$key2 = calendarProps[key]) === null || _calendarProps$key2 === void 0 ? void 0 : _calendarProps$key2.call(calendarProps, (0, _getHours.default)(date), date)) !== null && _calendarProps$key !== void 0 ? _calendarProps$key : true;\n }\n\n if (/(Minutes)/.test(key)) {\n var _calendarProps$key3, _calendarProps$key4;\n\n return (_calendarProps$key3 = (_calendarProps$key4 = calendarProps[key]) === null || _calendarProps$key4 === void 0 ? void 0 : _calendarProps$key4.call(calendarProps, (0, _getMinutes.default)(date), date)) !== null && _calendarProps$key3 !== void 0 ? _calendarProps$key3 : true;\n }\n\n if (/(Seconds)/.test(key)) {\n var _calendarProps$key5, _calendarProps$key6;\n\n return (_calendarProps$key5 = (_calendarProps$key6 = calendarProps[key]) === null || _calendarProps$key6 === void 0 ? void 0 : _calendarProps$key6.call(calendarProps, (0, _getSeconds.default)(date), date)) !== null && _calendarProps$key5 !== void 0 ? _calendarProps$key5 : true;\n }\n\n return false;\n });\n}\n/**\n * Verify that the time is valid.\n *\n * @param props\n * @param date\n */\n\n\nfunction disabledTime(props, date) {\n var calendarProps = (0, _pick.default)(props, disabledTimeProps);\n return validTime(calendarProps, date);\n}\n\nvar omitHideDisabledProps = function omitHideDisabledProps(props) {\n return (0, _omitBy.default)(props, function (_val, key) {\n return key.startsWith('disabled') || key.startsWith('hide');\n });\n};\n\nexports.omitHideDisabledProps = omitHideDisabledProps;\n\nvar shouldRenderTime = function shouldRenderTime(format) {\n return /([Hhms])/.test(format);\n};\n\nexports.shouldRenderTime = shouldRenderTime;\n\nvar shouldRenderMonth = function shouldRenderMonth(format) {\n return /[Yy]/.test(format) && /[ML]/.test(format);\n};\n\nexports.shouldRenderMonth = shouldRenderMonth;\n\nvar shouldRenderDate = function shouldRenderDate(format) {\n return /[Yy]/.test(format) && /[ML]/.test(format) && /[Dd]/.test(format);\n}; // for date-fns v1 and v2\n\n\nexports.shouldRenderDate = shouldRenderDate;\n\nvar shouldOnlyRenderTime = function shouldOnlyRenderTime(format) {\n return /([Hhms])/.test(format) && !/([YyMDd])/.test(format);\n}; // for date-fns v1 and v2\n\n/**\n * Get all weeks of this month\n * @params monthDate\n * @return date[]\n */\n\n\nexports.shouldOnlyRenderTime = shouldOnlyRenderTime;\n\nfunction getMonthView(monthDate, isoWeek) {\n var firstDayOfMonth = (0, _getDay.default)(monthDate);\n var distance = 0 - firstDayOfMonth;\n\n if (isoWeek) {\n distance = 1 - firstDayOfMonth;\n\n if (firstDayOfMonth === 0) {\n distance = -6;\n }\n }\n\n var firstWeekendDate = (0, _addDays.default)(monthDate, distance);\n var weeks = [firstWeekendDate];\n var nextWeekendDate = (0, _addDays.default)(firstWeekendDate, 7);\n weeks.push(nextWeekendDate);\n\n while (weeks.length < 6) {\n nextWeekendDate = (0, _addDays.default)(nextWeekendDate, 7);\n weeks.push(nextWeekendDate);\n }\n\n return weeks;\n}\n\nfunction getDateMask(formatStr) {\n return Array.from(formatStr).map(function (i) {\n return i.match(/[A-Za-z]/) ? /[\\d|A-Za-z]/ : i;\n });\n}\n/**\n * Copy the time of one date to another\n */\n\n\nfunction copyTime(_ref) {\n var from = _ref.from,\n to = _ref.to;\n return (0, _set.default)(to, {\n hours: (0, _getHours.default)(from),\n minutes: (0, _getMinutes.default)(from),\n seconds: (0, _getSeconds.default)(from)\n });\n}\n/**\n * Swap two dates without swapping the time.\n */\n\n\nfunction reverseDateRangeOmitTime(dateRange) {\n var start = dateRange[0],\n end = dateRange[1];\n\n if (start && end) {\n return [copyTime({\n from: start,\n to: end\n }), copyTime({\n from: end,\n to: start\n })];\n }\n\n return dateRange;\n}\n/**\n * Get the time with AM and PM reversed.\n */\n\n\nvar getReversedTimeMeridian = function getReversedTimeMeridian(date) {\n var clonedDate = new Date(date.valueOf());\n var hours = (0, _getHours.default)(clonedDate);\n var nextHours = hours >= 12 ? hours - 12 : hours + 12;\n return (0, _setHours.default)(clonedDate, nextHours);\n};\n\nexports.getReversedTimeMeridian = getReversedTimeMeridian;\n\n//# sourceURL=webpack://rsuite/./src/utils/dateUtils.ts?");
|
|
5134
5134
|
|
|
5135
5135
|
/***/ }),
|
|
5136
5136
|
|
|
@@ -5152,7 +5152,7 @@ eval("\n\nvar _interopRequireDefault = __webpack_require__(/*! @babel/runtime/he
|
|
|
5152
5152
|
/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
|
|
5153
5153
|
|
|
5154
5154
|
"use strict";
|
|
5155
|
-
eval("\n\nvar _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ \"./node_modules/@babel/runtime/helpers/interopRequireDefault.js\");\n\nexports.__esModule = true;\nexports[\"default\"] = deprecatePropType;\nexports.deprecatePropTypeNew = deprecatePropTypeNew;\n\nvar _warnOnce = _interopRequireDefault(__webpack_require__(/*! ./warnOnce */ \"./src/utils/warnOnce.ts\"));\n\n// Ref: https://github.com/thefrontside/deprecated-prop-type/blob/master/deprecated.js\n\n/**\n * Prints deprecation message when user uses a deprecated prop\n *\n * @deprecated Use {@link deprecatePropTypeNew} which prints clearer messages.\n */\nfunction deprecatePropType(propType, explanation) {\n return function validate(props, propName, componentName) {\n // Note ...rest here\n if (props[propName] != null) {\n var message = \"\\\"\" + propName + \"\\\" property of \\\"\" + componentName + \"\\\" has been deprecated.\\n\" + explanation;\n (0, _warnOnce.default)(message);\n }\n\n for (var _len = arguments.length, rest = new Array(_len > 3 ? _len - 3 : 0), _key = 3; _key < _len; _key++) {\n rest[_key - 3] = arguments[_key];\n }\n\n return propType.apply(void 0, [props, propName, componentName].concat(rest)); // and here\n };\n}\n/**\n * Prints deprecation message when user uses a deprecated prop\n */\n\n\nfunction deprecatePropTypeNew(propType, explanation) {\n return function validate(props, propName, componentName) {\n // Note ...rest here\n if (props[propName] != null) {\n var message = \"[rsuite] \\\"\" + propName + \"\\\" property of \" + componentName + \" component has been deprecated.\\n\" + explanation;\n (0, _warnOnce.default)(message);\n }\n\n for (var _len2 = arguments.length, rest = new Array(_len2 > 3 ? _len2 - 3 : 0), _key2 = 3; _key2 < _len2; _key2++) {\n rest[_key2 - 3] = arguments[_key2];\n }\n\n return propType.apply(void 0, [props, propName, componentName].concat(rest)); // and here\n };\n}\n\n//# sourceURL=webpack://rsuite/./src/utils/deprecatePropType.ts?");
|
|
5155
|
+
eval("\n\nvar _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ \"./node_modules/@babel/runtime/helpers/interopRequireDefault.js\");\n\nexports.__esModule = true;\nexports[\"default\"] = deprecatePropType;\nexports.deprecatePropTypeNew = deprecatePropTypeNew;\n\nvar _warnOnce = _interopRequireDefault(__webpack_require__(/*! ./warnOnce */ \"./src/utils/warnOnce.ts\"));\n\n// Ref: https://github.com/thefrontside/deprecated-prop-type/blob/master/deprecated.js\n\n/**\n * Prints deprecation message when user uses a deprecated prop\n *\n * @deprecated Use {@link deprecatePropTypeNew} which prints clearer messages.\n */\nfunction deprecatePropType(propType, explanation) {\n return function validate(props, propName, componentName) {\n // Note ...rest here\n if (props[propName] != null) {\n var message = \"\\\"\" + propName + \"\\\" property of \\\"\" + componentName + \"\\\" has been deprecated.\\n\" + explanation;\n (0, _warnOnce.default)(message);\n }\n\n for (var _len = arguments.length, rest = new Array(_len > 3 ? _len - 3 : 0), _key = 3; _key < _len; _key++) {\n rest[_key - 3] = arguments[_key];\n }\n\n return propType.apply(void 0, [props, propName, componentName].concat(rest)); // and here\n };\n}\n/**\n * Prints deprecation message when user uses a deprecated prop\n *\n * @example\n *\n * deprecatePropTypeNew(PropTypes.bool, 'Use Dropdown.Separator component instead.')\n *\n */\n\n\nfunction deprecatePropTypeNew(propType, explanation) {\n return function validate(props, propName, componentName) {\n // Note ...rest here\n if (props[propName] != null) {\n var message = \"[rsuite] \\\"\" + propName + \"\\\" property of \" + componentName + \" component has been deprecated.\\n\" + explanation;\n (0, _warnOnce.default)(message);\n }\n\n for (var _len2 = arguments.length, rest = new Array(_len2 > 3 ? _len2 - 3 : 0), _key2 = 3; _key2 < _len2; _key2++) {\n rest[_key2 - 3] = arguments[_key2];\n }\n\n return propType.apply(void 0, [props, propName, componentName].concat(rest)); // and here\n };\n}\n\n//# sourceURL=webpack://rsuite/./src/utils/deprecatePropType.ts?");
|
|
5156
5156
|
|
|
5157
5157
|
/***/ }),
|
|
5158
5158
|
|
|
@@ -5548,7 +5548,7 @@ eval("\n\nexports.__esModule = true;\nexports[\"default\"] = void 0;\n\nvar _rea
|
|
|
5548
5548
|
/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
|
|
5549
5549
|
|
|
5550
5550
|
"use strict";
|
|
5551
|
-
eval("\n\nvar _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ \"./node_modules/@babel/runtime/helpers/interopRequireDefault.js\");\n\nvar _interopRequireWildcard = __webpack_require__(/*! @babel/runtime/helpers/interopRequireWildcard */ \"./node_modules/@babel/runtime/helpers/interopRequireWildcard.js\");\n\nexports.__esModule = true;\nexports[\"default\"] = void 0;\n\nvar _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ \"./node_modules/@babel/runtime/helpers/extends.js\"));\n\nvar _react = _interopRequireWildcard(__webpack_require__(/*! react */ \"react\"));\n\nvar _reactDom = __webpack_require__(/*! react-dom */ \"react-dom\");\n\nvar _canUseDOM = _interopRequireDefault(__webpack_require__(/*! dom-lib/canUseDOM */ \"./node_modules/dom-lib/esm/canUseDOM.js\"));\n\nvar _jsxFileName = \"/home/runner/work/rsuite/rsuite/src/utils/usePortal.tsx\";\n\nvar MountedPortal = /*#__PURE__*/_react.default.memo(function (_ref) {\n var children = _ref.children,\n container = _ref.container;\n\n var _useState = (0, _react.useState)(false),\n mounted = _useState[0],\n setMounted = _useState[1];\n\n (0, _react.useEffect)(function () {\n return setMounted(true);\n }, []);\n\n if (container && mounted) {\n return /*#__PURE__*/(0, _reactDom.createPortal)(children, container);\n }\n\n return null;\n});\n\nfunction usePortal(props) {\n var _this = this;\n\n if (props === void 0) {\n props = {};\n }\n\n var _props = props,\n container = _props.container,\n _props$waitMount = _props.waitMount,\n waitMount = _props$waitMount === void 0 ? false : _props$waitMount;\n var
|
|
5551
|
+
eval("\n\nvar _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ \"./node_modules/@babel/runtime/helpers/interopRequireDefault.js\");\n\nvar _interopRequireWildcard = __webpack_require__(/*! @babel/runtime/helpers/interopRequireWildcard */ \"./node_modules/@babel/runtime/helpers/interopRequireWildcard.js\");\n\nexports.__esModule = true;\nexports[\"default\"] = void 0;\n\nvar _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ \"./node_modules/@babel/runtime/helpers/extends.js\"));\n\nvar _react = _interopRequireWildcard(__webpack_require__(/*! react */ \"react\"));\n\nvar _reactDom = __webpack_require__(/*! react-dom */ \"react-dom\");\n\nvar _canUseDOM = _interopRequireDefault(__webpack_require__(/*! dom-lib/canUseDOM */ \"./node_modules/dom-lib/esm/canUseDOM.js\"));\n\nvar _jsxFileName = \"/home/runner/work/rsuite/rsuite/src/utils/usePortal.tsx\";\n\nvar MountedPortal = /*#__PURE__*/_react.default.memo(function (_ref) {\n var children = _ref.children,\n container = _ref.container;\n\n var _useState = (0, _react.useState)(false),\n mounted = _useState[0],\n setMounted = _useState[1];\n\n (0, _react.useEffect)(function () {\n return setMounted(true);\n }, []);\n\n if (container && mounted) {\n return /*#__PURE__*/(0, _reactDom.createPortal)(children, container);\n }\n\n return null;\n});\n\nfunction usePortal(props) {\n var _this = this;\n\n if (props === void 0) {\n props = {};\n }\n\n var _props = props,\n container = _props.container,\n _props$waitMount = _props.waitMount,\n waitMount = _props$waitMount === void 0 ? false : _props$waitMount;\n var containerElement = typeof container === 'function' ? container() : container;\n var rootElement = (0, _react.useMemo)(function () {\n return _canUseDOM.default ? containerElement || document.body : null;\n }, [containerElement]);\n var Portal = (0, _react.useCallback)(function (_ref2) {\n var children = _ref2.children;\n return rootElement != null ? /*#__PURE__*/(0, _reactDom.createPortal)(children, rootElement) : null;\n }, [rootElement]);\n var WaitMountPortal = (0, _react.useCallback)(function (props) {\n return /*#__PURE__*/_react.default.createElement(MountedPortal, (0, _extends2.default)({\n container: rootElement\n }, props, {\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 41,\n columnNumber: 14\n }\n }));\n }, [rootElement]);\n return {\n target: rootElement,\n Portal: waitMount ? WaitMountPortal : Portal\n };\n}\n\nvar _default = usePortal;\nexports[\"default\"] = _default;\n\n//# sourceURL=webpack://rsuite/./src/utils/usePortal.tsx?");
|
|
5552
5552
|
|
|
5553
5553
|
/***/ }),
|
|
5554
5554
|
|