rsuite 5.28.3 → 5.30.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +15 -0
- package/cjs/Affix/Affix.d.ts +5 -3
- package/cjs/Affix/Affix.js +33 -11
- package/cjs/Calendar/CalendarHeader.js +12 -3
- package/cjs/Cascader/Cascader.js +1 -1
- 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 +58 -39
- package/cjs/DateRangePicker/DateRangePickerContext.d.ts +7 -0
- package/cjs/DateRangePicker/DateRangePickerContext.js +19 -0
- 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-no-reset-rtl.css +16690 -0
- package/dist/rsuite-no-reset-rtl.min.css +2 -0
- package/dist/rsuite-no-reset-rtl.min.css.map +1 -0
- package/dist/rsuite-no-reset.css +16714 -0
- package/dist/rsuite-no-reset.min.css +2 -0
- package/dist/rsuite-no-reset.min.css.map +1 -0
- package/dist/rsuite.js +21 -10
- package/dist/rsuite.js.map +1 -1
- 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/Calendar/CalendarHeader.js +11 -3
- package/esm/Cascader/Cascader.js +1 -1
- 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 +56 -39
- package/esm/DateRangePicker/DateRangePickerContext.d.ts +7 -0
- package/esm/DateRangePicker/DateRangePickerContext.js +6 -0
- 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
|
|
|
@@ -1775,7 +1775,7 @@ eval("\n\nvar _interopRequireWildcard = __webpack_require__(/*! @babel/runtime/h
|
|
|
1775
1775
|
/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
|
|
1776
1776
|
|
|
1777
1777
|
"use strict";
|
|
1778
|
-
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 _AngleLeft = _interopRequireDefault(__webpack_require__(/*! @rsuite/icons/legacy/AngleLeft */ \"./node_modules/@rsuite/icons/legacy/AngleLeft.js\"));\n\nvar _AngleRight = _interopRequireDefault(__webpack_require__(/*! @rsuite/icons/legacy/AngleRight */ \"./node_modules/@rsuite/icons/legacy/AngleRight.js\"));\n\nvar _IconButton = _interopRequireDefault(__webpack_require__(/*! ../IconButton */ \"./src/IconButton/index.tsx\"));\n\nvar _Button = _interopRequireDefault(__webpack_require__(/*! ../Button */ \"./src/Button/index.tsx\"));\n\nvar _utils = __webpack_require__(/*! ../utils */ \"./src/utils/index.ts\");\n\nvar _CustomProvider = __webpack_require__(/*! ../CustomProvider */ \"./src/CustomProvider/index.tsx\");\n\nvar _CalendarContext = __webpack_require__(/*! ./CalendarContext */ \"./src/Calendar/CalendarContext.ts\");\n\nvar _jsxFileName = \"/home/runner/work/rsuite/rsuite/src/Calendar/CalendarHeader.tsx\",\n _this = void 0;\n\nvar CalendarHeader = /*#__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 ? 'calendar-header' : _props$classPrefix,\n disabledBackward = props.disabledBackward,\n disabledForward = props.disabledForward,\n showDate = props.showDate,\n showMeridian = props.showMeridian,\n showMonth = props.showMonth,\n showTime = props.showTime,\n disabledTime = props.disabledTime,\n onMoveBackward = props.onMoveBackward,\n onMoveForward = props.onMoveForward,\n onToggleMeridian = props.onToggleMeridian,\n onToggleMonthDropdown = props.onToggleMonthDropdown,\n onToggleTimeDropdown = props.onToggleTimeDropdown,\n renderTitleProp = props.renderTitle,\n renderToolbar = props.renderToolbar,\n rest = (0, _objectWithoutPropertiesLoose2.default)(props, [\"as\", \"className\", \"classPrefix\", \"disabledBackward\", \"disabledForward\", \"showDate\", \"showMeridian\", \"showMonth\", \"showTime\", \"disabledTime\", \"onMoveBackward\", \"onMoveForward\", \"onToggleMeridian\", \"onToggleMonthDropdown\", \"onToggleTimeDropdown\", \"renderTitle\", \"renderToolbar\"]);\n\n var _useCalendarContext = (0, _CalendarContext.useCalendarContext)(),\n locale = _useCalendarContext.locale,\n _useCalendarContext$d = _useCalendarContext.date,\n date = _useCalendarContext$d === void 0 ? new Date() : _useCalendarContext$d,\n format = _useCalendarContext.format,\n inline = _useCalendarContext.inline,\n disabledDate = _useCalendarContext.disabledDate;\n\n var _useClassNames = (0, _utils.useClassNames)(classPrefix),\n prefix = _useClassNames.prefix,\n withClassPrefix = _useClassNames.withClassPrefix,\n merge = _useClassNames.merge;\n\n var btnProps = {\n appearance: 'subtle',\n size: inline ? 'sm' : 'xs'\n };\n var getTimeFormat = (0, _react.useCallback)(function () {\n var timeFormat = [];\n\n if (!format) {\n return '';\n }\n\n if (/([Hh])/.test(format)) {\n timeFormat.push(showMeridian ? 'hh' : 'HH');\n }\n\n if (/m/.test(format)) {\n timeFormat.push('mm');\n }\n\n if (/s/.test(format)) {\n timeFormat.push('ss');\n }\n\n return timeFormat.join(':');\n }, [format, showMeridian]);\n var getDateFormat = (0, _react.useCallback)(function () {\n if (showMonth) {\n return (locale === null || locale === void 0 ? void 0 : locale.formattedMonthPattern) || 'yyyy-MM';\n }\n\n return 'yyyy';\n }, [locale, showMonth]);\n var renderTitle = (0, _react.useCallback)(function () {\n var _renderTitleProp;\n\n return (_renderTitleProp = renderTitleProp === null || renderTitleProp === void 0 ? void 0 : renderTitleProp(date)) !== null && _renderTitleProp !== void 0 ? _renderTitleProp : date && /*#__PURE__*/_react.default.createElement(_CustomProvider.FormattedDate, {\n date: date,\n formatStr: getDateFormat(),\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 93,\n columnNumber: 18\n }\n });\n }, [date, getDateFormat, renderTitleProp]);\n var dateTitleClasses = prefix('title', 'title-date', {\n error: disabledDate === null || disabledDate === void 0 ? void 0 : disabledDate(date)\n });\n var timeTitleClasses = prefix('title', 'title-time', {\n error: disabledTime === null || disabledTime === void 0 ? void 0 : disabledTime(date)\n });\n var backwardClass = prefix('backward', {\n 'btn-disabled': disabledBackward\n });\n var forwardClass = prefix('forward', {\n 'btn-disabled': disabledForward\n });\n\n var monthToolbar = /*#__PURE__*/_react.default.createElement(\"div\", {\n className: prefix('month-toolbar'),\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 103,\n columnNumber: 7\n }\n }, /*#__PURE__*/_react.default.createElement(_IconButton.default, (0, _extends2.default)({}, btnProps, {\n className: backwardClass,\n onClick: disabledBackward ? undefined : onMoveBackward,\n icon: /*#__PURE__*/_react.default.createElement(_AngleLeft.default, {\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 108,\n columnNumber: 17\n }\n }),\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 104,\n columnNumber: 9\n }\n })), /*#__PURE__*/_react.default.createElement(_Button.default, (0, _extends2.default)({}, btnProps, {\n className: dateTitleClasses,\n onClick: onToggleMonthDropdown,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 110,\n columnNumber: 9\n }\n }), renderTitle()), /*#__PURE__*/_react.default.createElement(_IconButton.default, (0, _extends2.default)({}, btnProps, {\n className: forwardClass,\n onClick: disabledForward ? undefined : onMoveForward,\n icon: /*#__PURE__*/_react.default.createElement(_AngleRight.default, {\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 117,\n columnNumber: 17\n }\n }),\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 113,\n columnNumber: 9\n }\n })));\n\n var hasMonth = showDate || showMonth;\n var classes = merge(className, withClassPrefix({\n 'has-month': hasMonth,\n 'has-time': showTime\n }));\n return /*#__PURE__*/_react.default.createElement(Component, (0, _extends2.default)({}, rest, {\n ref: ref,\n className: classes,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 129,\n columnNumber: 7\n }\n }), hasMonth && monthToolbar, showTime && /*#__PURE__*/_react.default.createElement(\"div\", {\n className: prefix('time-toolbar'),\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 132,\n columnNumber: 11\n }\n }, /*#__PURE__*/_react.default.createElement(_Button.default, (0, _extends2.default)({}, btnProps, {\n className: timeTitleClasses,\n onClick: onToggleTimeDropdown,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 133,\n columnNumber: 13\n }\n }), date && /*#__PURE__*/_react.default.createElement(_CustomProvider.FormattedDate, {\n date: date,\n formatStr: getTimeFormat(),\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 134,\n columnNumber: 24\n }\n })), showMeridian && /*#__PURE__*/_react.default.createElement(_Button.default, (0, _extends2.default)({}, btnProps, {\n className: prefix('meridian'),\n onClick: onToggleMeridian,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 138,\n columnNumber: 15\n }\n }), date && /*#__PURE__*/_react.default.createElement(_CustomProvider.FormattedDate, {\n date: date,\n formatStr: \"a\",\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 139,\n columnNumber: 26\n }\n }))), renderToolbar === null || renderToolbar === void 0 ? void 0 : renderToolbar(date));\n});\n\nCalendarHeader.displayName = 'CalendarHeader';\nCalendarHeader.propTypes = {\n className: _propTypes.default.string,\n classPrefix: _propTypes.default.string,\n disabledBackward: _propTypes.default.bool,\n disabledForward: _propTypes.default.bool,\n disabledTime: _propTypes.default.func,\n onMoveBackward: _propTypes.default.func,\n onMoveForward: _propTypes.default.func,\n onToggleMeridian: _propTypes.default.func,\n onToggleMonthDropdown: _propTypes.default.func,\n onToggleTimeDropdown: _propTypes.default.func,\n renderTitle: _propTypes.default.func,\n renderToolbar: _propTypes.default.func,\n showDate: _propTypes.default.bool,\n showMeridian: _propTypes.default.bool,\n showMonth: _propTypes.default.bool,\n showTime: _propTypes.default.bool\n};\nvar _default = CalendarHeader;\nexports[\"default\"] = _default;\n\n//# sourceURL=webpack://rsuite/./src/Calendar/CalendarHeader.tsx?");
|
|
1778
|
+
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 _AngleLeft = _interopRequireDefault(__webpack_require__(/*! @rsuite/icons/legacy/AngleLeft */ \"./node_modules/@rsuite/icons/legacy/AngleLeft.js\"));\n\nvar _AngleRight = _interopRequireDefault(__webpack_require__(/*! @rsuite/icons/legacy/AngleRight */ \"./node_modules/@rsuite/icons/legacy/AngleRight.js\"));\n\nvar _IconButton = _interopRequireDefault(__webpack_require__(/*! ../IconButton */ \"./src/IconButton/index.tsx\"));\n\nvar _Button = _interopRequireDefault(__webpack_require__(/*! ../Button */ \"./src/Button/index.tsx\"));\n\nvar _utils = __webpack_require__(/*! ../utils */ \"./src/utils/index.ts\");\n\nvar _CustomProvider = __webpack_require__(/*! ../CustomProvider */ \"./src/CustomProvider/index.tsx\");\n\nvar _CalendarContext = __webpack_require__(/*! ./CalendarContext */ \"./src/Calendar/CalendarContext.ts\");\n\nvar _DateRangePickerContext = __webpack_require__(/*! ../DateRangePicker/DateRangePickerContext */ \"./src/DateRangePicker/DateRangePickerContext.ts\");\n\nvar _jsxFileName = \"/home/runner/work/rsuite/rsuite/src/Calendar/CalendarHeader.tsx\",\n _this = void 0;\n\nvar CalendarHeader = /*#__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 ? 'calendar-header' : _props$classPrefix,\n disabledBackward = props.disabledBackward,\n disabledForward = props.disabledForward,\n showDate = props.showDate,\n showMeridian = props.showMeridian,\n showMonth = props.showMonth,\n showTime = props.showTime,\n disabledTime = props.disabledTime,\n onMoveBackward = props.onMoveBackward,\n onMoveForward = props.onMoveForward,\n onToggleMeridian = props.onToggleMeridian,\n onToggleMonthDropdown = props.onToggleMonthDropdown,\n onToggleTimeDropdown = props.onToggleTimeDropdown,\n renderTitleProp = props.renderTitle,\n renderToolbar = props.renderToolbar,\n rest = (0, _objectWithoutPropertiesLoose2.default)(props, [\"as\", \"className\", \"classPrefix\", \"disabledBackward\", \"disabledForward\", \"showDate\", \"showMeridian\", \"showMonth\", \"showTime\", \"disabledTime\", \"onMoveBackward\", \"onMoveForward\", \"onToggleMeridian\", \"onToggleMonthDropdown\", \"onToggleTimeDropdown\", \"renderTitle\", \"renderToolbar\"]);\n\n var _useCalendarContext = (0, _CalendarContext.useCalendarContext)(),\n locale = _useCalendarContext.locale,\n _useCalendarContext$d = _useCalendarContext.date,\n date = _useCalendarContext$d === void 0 ? new Date() : _useCalendarContext$d,\n format = _useCalendarContext.format,\n inline = _useCalendarContext.inline,\n disabledDate = _useCalendarContext.disabledDate;\n\n var _useDateRangePickerCo = (0, _DateRangePickerContext.useDateRangePickerContext)(),\n isSelectedIdle = _useDateRangePickerCo.isSelectedIdle;\n\n var _useClassNames = (0, _utils.useClassNames)(classPrefix),\n prefix = _useClassNames.prefix,\n withClassPrefix = _useClassNames.withClassPrefix,\n merge = _useClassNames.merge;\n\n var btnProps = {\n appearance: 'subtle',\n size: inline ? 'sm' : 'xs'\n };\n var getTimeFormat = (0, _react.useCallback)(function () {\n var timeFormat = [];\n\n if (!format) {\n return '';\n }\n\n if (/([Hh])/.test(format)) {\n timeFormat.push(showMeridian ? 'hh' : 'HH');\n }\n\n if (/m/.test(format)) {\n timeFormat.push('mm');\n }\n\n if (/s/.test(format)) {\n timeFormat.push('ss');\n }\n\n return timeFormat.join(':');\n }, [format, showMeridian]);\n var getDateFormat = (0, _react.useCallback)(function () {\n if (showMonth) {\n return (locale === null || locale === void 0 ? void 0 : locale.formattedMonthPattern) || 'yyyy-MM';\n }\n\n return 'yyyy';\n }, [locale, showMonth]);\n var renderTitle = (0, _react.useCallback)(function () {\n var _renderTitleProp;\n\n return (_renderTitleProp = renderTitleProp === null || renderTitleProp === void 0 ? void 0 : renderTitleProp(date)) !== null && _renderTitleProp !== void 0 ? _renderTitleProp : date && /*#__PURE__*/_react.default.createElement(_CustomProvider.FormattedDate, {\n date: date,\n formatStr: getDateFormat(),\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 95,\n columnNumber: 18\n }\n });\n }, [date, getDateFormat, renderTitleProp]);\n var dateTitleClasses = prefix('title', 'title-date', {\n error: disabledDate === null || disabledDate === void 0 ? void 0 : disabledDate(date)\n });\n var timeTitleClasses = prefix('title', 'title-time', {\n error: disabledTime === null || disabledTime === void 0 ? void 0 : disabledTime(date)\n });\n var backwardClass = prefix('backward', {\n 'btn-disabled': disabledBackward\n });\n var forwardClass = prefix('forward', {\n 'btn-disabled': disabledForward\n });\n\n var monthToolbar = /*#__PURE__*/_react.default.createElement(\"div\", {\n className: prefix('month-toolbar'),\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 105,\n columnNumber: 7\n }\n }, /*#__PURE__*/_react.default.createElement(_IconButton.default, (0, _extends2.default)({}, btnProps, {\n className: backwardClass,\n onClick: disabledBackward ? undefined : onMoveBackward,\n icon: /*#__PURE__*/_react.default.createElement(_AngleLeft.default, {\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 110,\n columnNumber: 17\n }\n }),\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 106,\n columnNumber: 9\n }\n })), /*#__PURE__*/_react.default.createElement(_Button.default, (0, _extends2.default)({}, btnProps, {\n className: dateTitleClasses,\n onClick: onToggleMonthDropdown,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 112,\n columnNumber: 9\n }\n }), renderTitle()), /*#__PURE__*/_react.default.createElement(_IconButton.default, (0, _extends2.default)({}, btnProps, {\n className: forwardClass,\n onClick: disabledForward ? undefined : onMoveForward,\n icon: /*#__PURE__*/_react.default.createElement(_AngleRight.default, {\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 119,\n columnNumber: 17\n }\n }),\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 115,\n columnNumber: 9\n }\n })));\n\n var hasMonth = showDate || showMonth;\n var classes = merge(className, withClassPrefix({\n 'has-month': hasMonth,\n 'has-time': showTime\n })); // If the date is not selected, the time cannot be selected (it only works in DateRangePicker).\n\n var disableSelectTime = typeof isSelectedIdle === 'undefined' ? false : !isSelectedIdle;\n return /*#__PURE__*/_react.default.createElement(Component, (0, _extends2.default)({}, rest, {\n ref: ref,\n className: classes,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 134,\n columnNumber: 7\n }\n }), hasMonth && monthToolbar, showTime && /*#__PURE__*/_react.default.createElement(\"div\", {\n className: prefix('time-toolbar'),\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 137,\n columnNumber: 11\n }\n }, /*#__PURE__*/_react.default.createElement(_Button.default, (0, _extends2.default)({}, btnProps, {\n className: timeTitleClasses,\n onClick: onToggleTimeDropdown,\n disabled: disableSelectTime,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 138,\n columnNumber: 13\n }\n }), date && /*#__PURE__*/_react.default.createElement(_CustomProvider.FormattedDate, {\n date: date,\n formatStr: getTimeFormat(),\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 144,\n columnNumber: 24\n }\n })), showMeridian && /*#__PURE__*/_react.default.createElement(_Button.default, (0, _extends2.default)({}, btnProps, {\n className: prefix('meridian'),\n onClick: onToggleMeridian,\n disabled: disableSelectTime,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 148,\n columnNumber: 15\n }\n }), date && /*#__PURE__*/_react.default.createElement(_CustomProvider.FormattedDate, {\n date: date,\n formatStr: \"a\",\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 154,\n columnNumber: 26\n }\n }))), renderToolbar === null || renderToolbar === void 0 ? void 0 : renderToolbar(date));\n});\n\nCalendarHeader.displayName = 'CalendarHeader';\nCalendarHeader.propTypes = {\n className: _propTypes.default.string,\n classPrefix: _propTypes.default.string,\n disabledBackward: _propTypes.default.bool,\n disabledForward: _propTypes.default.bool,\n disabledTime: _propTypes.default.func,\n onMoveBackward: _propTypes.default.func,\n onMoveForward: _propTypes.default.func,\n onToggleMeridian: _propTypes.default.func,\n onToggleMonthDropdown: _propTypes.default.func,\n onToggleTimeDropdown: _propTypes.default.func,\n renderTitle: _propTypes.default.func,\n renderToolbar: _propTypes.default.func,\n showDate: _propTypes.default.bool,\n showMeridian: _propTypes.default.bool,\n showMonth: _propTypes.default.bool,\n showTime: _propTypes.default.bool\n};\nvar _default = CalendarHeader;\nexports[\"default\"] = _default;\n\n//# sourceURL=webpack://rsuite/./src/Calendar/CalendarHeader.tsx?");
|
|
1779
1779
|
|
|
1780
1780
|
/***/ }),
|
|
1781
1781
|
|
|
@@ -1907,7 +1907,7 @@ eval("\n\nvar _interopRequireDefault = __webpack_require__(/*! @babel/runtime/he
|
|
|
1907
1907
|
/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
|
|
1908
1908
|
|
|
1909
1909
|
"use strict";
|
|
1910
|
-
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 _extends3 = _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 _omit = _interopRequireDefault(__webpack_require__(/*! lodash/omit */ \"./node_modules/lodash/omit.js\"));\n\nvar _pick = _interopRequireDefault(__webpack_require__(/*! lodash/pick */ \"./node_modules/lodash/pick.js\"));\n\nvar _isNil = _interopRequireDefault(__webpack_require__(/*! lodash/isNil */ \"./node_modules/lodash/isNil.js\"));\n\nvar _isFunction = _interopRequireDefault(__webpack_require__(/*! lodash/isFunction */ \"./node_modules/lodash/isFunction.js\"));\n\nvar _shallowEqual = _interopRequireDefault(__webpack_require__(/*! ../utils/shallowEqual */ \"./src/utils/shallowEqual.ts\"));\n\nvar _DropdownMenu = _interopRequireDefault(__webpack_require__(/*! ./DropdownMenu */ \"./src/Cascader/DropdownMenu.tsx\"));\n\nvar _treeUtils = __webpack_require__(/*! ../utils/treeUtils */ \"./src/utils/treeUtils.ts\");\n\nvar _utils = __webpack_require__(/*! ./utils */ \"./src/Cascader/utils.ts\");\n\nvar _utils2 = __webpack_require__(/*! ../utils */ \"./src/utils/index.ts\");\n\nvar _Picker = __webpack_require__(/*! ../Picker */ \"./src/Picker/index.ts\");\n\nvar _jsxFileName = \"/home/runner/work/rsuite/rsuite/src/Cascader/Cascader.tsx\",\n _this = void 0;\n\nvar emptyArray = [];\n\nvar Cascader = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {\n var _props$as = props.as,\n Component = _props$as === void 0 ? 'div' : _props$as,\n _props$data = props.data,\n data = _props$data === void 0 ? emptyArray : _props$data,\n _props$classPrefix = props.classPrefix,\n classPrefix = _props$classPrefix === void 0 ? 'picker' : _props$classPrefix,\n _props$childrenKey = props.childrenKey,\n childrenKey = _props$childrenKey === void 0 ? 'children' : _props$childrenKey,\n _props$valueKey = props.valueKey,\n valueKey = _props$valueKey === void 0 ? 'value' : _props$valueKey,\n _props$labelKey = props.labelKey,\n labelKey = _props$labelKey === void 0 ? 'label' : _props$labelKey,\n defaultValue = props.defaultValue,\n placeholder = props.placeholder,\n disabled = props.disabled,\n _props$disabledItemVa = props.disabledItemValues,\n disabledItemValues = _props$disabledItemVa === void 0 ? emptyArray : _props$disabledItemVa,\n _props$appearance = props.appearance,\n appearance = _props$appearance === void 0 ? 'default' : _props$appearance,\n _props$cleanable = props.cleanable,\n cleanable = _props$cleanable === void 0 ? true : _props$cleanable,\n overrideLocale = props.locale,\n toggleAs = props.toggleAs,\n style = props.style,\n valueProp = props.value,\n inline = props.inline,\n menuClassName = props.menuClassName,\n menuStyle = props.menuStyle,\n menuWidth = props.menuWidth,\n menuHeight = props.menuHeight,\n _props$searchable = props.searchable,\n searchable = _props$searchable === void 0 ? true : _props$searchable,\n parentSelectable = props.parentSelectable,\n _props$placement = props.placement,\n placement = _props$placement === void 0 ? 'bottomStart' : _props$placement,\n id = props.id,\n renderMenuItem = props.renderMenuItem,\n renderSearchItem = props.renderSearchItem,\n renderValue = props.renderValue,\n renderMenu = props.renderMenu,\n renderExtraFooter = props.renderExtraFooter,\n onEnter = props.onEnter,\n onExited = props.onExited,\n onClean = props.onClean,\n onChange = props.onChange,\n onSelect = props.onSelect,\n onSearch = props.onSearch,\n onClose = props.onClose,\n onOpen = props.onOpen,\n getChildren = props.getChildren,\n rest = (0, _objectWithoutPropertiesLoose2.default)(props, [\"as\", \"data\", \"classPrefix\", \"childrenKey\", \"valueKey\", \"labelKey\", \"defaultValue\", \"placeholder\", \"disabled\", \"disabledItemValues\", \"appearance\", \"cleanable\", \"locale\", \"toggleAs\", \"style\", \"value\", \"inline\", \"menuClassName\", \"menuStyle\", \"menuWidth\", \"menuHeight\", \"searchable\", \"parentSelectable\", \"placement\", \"id\", \"renderMenuItem\", \"renderSearchItem\", \"renderValue\", \"renderMenu\", \"renderExtraFooter\", \"onEnter\", \"onExited\", \"onClean\", \"onChange\", \"onSelect\", \"onSearch\", \"onClose\", \"onOpen\", \"getChildren\"]); // Use component active state to support keyboard events.\n\n var _useState = (0, _react.useState)(false),\n active = _useState[0],\n setActive = _useState[1];\n\n var _useState2 = (0, _react.useState)((0, _treeUtils.flattenTree)(data, childrenKey)),\n flattenData = _useState2[0],\n setFlattenData = _useState2[1];\n\n var triggerRef = (0, _react.useRef)(null);\n var overlayRef = (0, _react.useRef)(null);\n var targetRef = (0, _react.useRef)(null);\n var searchInputRef = (0, _react.useRef)(null);\n\n var _ref = (0, _utils2.useControlled)(valueProp, defaultValue),\n value = _ref[0],\n setValue = _ref[1];\n\n var _usePaths = (0, _utils.usePaths)({\n data: data,\n valueKey: valueKey,\n childrenKey: childrenKey,\n value: value\n }),\n selectedPaths = _usePaths.selectedPaths,\n valueToPaths = _usePaths.valueToPaths,\n columnData = _usePaths.columnData,\n addColumn = _usePaths.addColumn,\n removeColumnByIndex = _usePaths.removeColumnByIndex,\n setValueToPaths = _usePaths.setValueToPaths,\n setColumnData = _usePaths.setColumnData,\n setSelectedPaths = _usePaths.setSelectedPaths,\n enforceUpdate = _usePaths.enforceUpdate;\n\n (0, _react.useEffect)(function () {\n setFlattenData((0, _treeUtils.flattenTree)(data, childrenKey));\n }, [data, childrenKey]);\n (0, _Picker.usePublicMethods)(ref, {\n triggerRef: triggerRef,\n overlayRef: overlayRef,\n targetRef: targetRef\n });\n\n var _useCustom = (0, _utils2.useCustom)('Picker', overrideLocale),\n locale = _useCustom.locale,\n rtl = _useCustom.rtl;\n /**\n * 1.Have a value and the value is valid.\n * 2.Regardless of whether the value is valid, as long as renderValue is set, it is judged to have a value.\n */\n\n\n var hasValue = valueToPaths.length > 0 || !(0, _isNil.default)(value) && (0, _isFunction.default)(renderValue);\n\n var _useClassNames = (0, _utils2.useClassNames)(classPrefix),\n prefix = _useClassNames.prefix,\n merge = _useClassNames.merge;\n\n var _useState3 = (0, _react.useState)(''),\n searchKeyword = _useState3[0],\n setSearchKeyword = _useState3[1];\n\n var someKeyword = (0, _react.useCallback)(function (item, keyword) {\n if (item[labelKey].match(new RegExp((0, _utils2.getSafeRegExpString)(keyword || searchKeyword), 'i'))) {\n return true;\n }\n\n if (item.parent && someKeyword(item.parent)) {\n return true;\n }\n\n return false;\n }, [labelKey, searchKeyword]);\n var getSearchResult = (0, _react.useCallback)(function (keyword) {\n var items = [];\n var result = flattenData.filter(function (item) {\n if (!parentSelectable && item[childrenKey]) {\n return false;\n }\n\n return someKeyword(item, keyword);\n });\n\n for (var i = 0; i < result.length; i++) {\n items.push(result[i]); // A maximum of 100 search results are returned.\n\n if (i === 99) {\n return items;\n }\n }\n\n return items;\n }, [childrenKey, flattenData, someKeyword, parentSelectable]); // Used to hover the focuse item when trigger `onKeydown`\n\n var _useFocusItemValue = (0, _Picker.useFocusItemValue)(value, {\n rtl: rtl,\n data: flattenData,\n valueKey: valueKey,\n defaultLayer: valueToPaths !== null && valueToPaths !== void 0 && valueToPaths.length ? valueToPaths.length - 1 : 0,\n target: function target() {\n return overlayRef.current;\n },\n callback: (0, _react.useCallback)(function (value) {\n enforceUpdate(value, true);\n }, [enforceUpdate])\n }),\n focusItemValue = _useFocusItemValue.focusItemValue,\n setFocusItemValue = _useFocusItemValue.setFocusItemValue,\n setLayer = _useFocusItemValue.setLayer,\n setKeys = _useFocusItemValue.setKeys,\n onFocusItem = _useFocusItemValue.onKeyDown;\n\n var handleSearch = (0, _react.useCallback)(function (value, event) {\n var items = getSearchResult(value);\n setSearchKeyword(value);\n onSearch === null || onSearch === void 0 ? void 0 : onSearch(value, event);\n\n if (items.length > 0) {\n setFocusItemValue(items[0][valueKey]);\n setLayer(0);\n setKeys([]);\n }\n }, [getSearchResult, onSearch, setFocusItemValue, setKeys, setLayer, valueKey]);\n var handleEntered = (0, _react.useCallback)(function () {\n if (!targetRef.current) {\n return;\n }\n\n onOpen === null || onOpen === void 0 ? void 0 : onOpen();\n setActive(true);\n }, [onOpen]);\n var handleExited = (0, _react.useCallback)(function () {\n if (!targetRef.current) {\n return;\n }\n\n onClose === null || onClose === void 0 ? void 0 : onClose();\n setActive(false);\n setSearchKeyword('');\n }, [onClose]);\n var handleClose = (0, _react.useCallback)(function () {\n var _triggerRef$current;\n\n (_triggerRef$current = triggerRef.current) === null || _triggerRef$current === void 0 ? void 0 : _triggerRef$current.close();\n }, [triggerRef]);\n var handleClean = (0, _react.useCallback)(function (event) {\n if (disabled || !targetRef.current) {\n return;\n }\n\n setColumnData([data]);\n setValue(null);\n setSelectedPaths([]);\n setValueToPaths([]);\n onChange === null || onChange === void 0 ? void 0 : onChange(null, event);\n }, [data, disabled, onChange, setSelectedPaths, setColumnData, setValueToPaths, setValue]);\n var handleMenuPressEnter = (0, _react.useCallback)(function (event) {\n var focusItem = (0, _treeUtils.findNodeOfTree)(data, function (item) {\n return item[valueKey] === focusItemValue;\n });\n var isLeafNode = focusItem && !focusItem[childrenKey];\n\n if (isLeafNode) {\n setValue(focusItemValue);\n setValueToPaths(selectedPaths);\n\n if (selectedPaths.length) {\n setLayer(selectedPaths.length - 1);\n }\n\n if (!(0, _shallowEqual.default)(value, focusItemValue)) {\n onChange === null || onChange === void 0 ? void 0 : onChange(focusItemValue !== null && focusItemValue !== void 0 ? focusItemValue : null, event);\n }\n\n handleClose();\n }\n }, [childrenKey, data, focusItemValue, handleClose, onChange, selectedPaths, setLayer, setValue, setValueToPaths, value, valueKey]);\n var onPickerKeyDown = (0, _Picker.useToggleKeyDownEvent)((0, _extends3.default)({\n toggle: !focusItemValue || !active,\n triggerRef: triggerRef,\n targetRef: targetRef,\n overlayRef: overlayRef,\n searchInputRef: searchInputRef,\n active: active,\n onExit: handleClean,\n onMenuKeyDown: onFocusItem,\n onMenuPressEnter: handleMenuPressEnter\n }, rest));\n\n var handleSelect = function handleSelect(node, cascadePaths, isLeafNode, event) {\n var _node$childrenKey, _node$childrenKey2, _triggerRef$current2;\n\n onSelect === null || onSelect === void 0 ? void 0 : onSelect(node, cascadePaths, event);\n setSelectedPaths(cascadePaths);\n var nextValue = node[valueKey];\n var columnIndex = cascadePaths.length; // Lazy load node's children\n\n if (typeof getChildren === 'function' && ((_node$childrenKey = node[childrenKey]) === null || _node$childrenKey === void 0 ? void 0 : _node$childrenKey.length) === 0) {\n node.loading = true;\n var children = getChildren(node);\n\n if (children instanceof Promise) {\n children.then(function (data) {\n node.loading = false;\n node[childrenKey] = data;\n\n if (targetRef.current) {\n addColumn(data, columnIndex);\n }\n });\n } else {\n node.loading = false;\n node[childrenKey] = children;\n addColumn(children, columnIndex);\n }\n } else if ((_node$childrenKey2 = node[childrenKey]) !== null && _node$childrenKey2 !== void 0 && _node$childrenKey2.length) {\n addColumn(node[childrenKey], columnIndex);\n } else {\n // Removes subsequent columns of the current column when the clicked node is a leaf node.\n removeColumnByIndex(columnIndex);\n }\n\n if (isLeafNode) {\n // Determines whether the option is a leaf node, and if so, closes the picker.\n handleClose(); // Update the selected path to the value path.\n // That is, the selected path will be displayed on the button after clicking the child node.\n\n setValueToPaths(cascadePaths);\n setValue(nextValue);\n\n if (!(0, _shallowEqual.default)(value, nextValue)) {\n onChange === null || onChange === void 0 ? void 0 : onChange(nextValue, event);\n }\n\n return;\n }\n /** When the parent is optional, the value and the displayed path are updated. */\n\n\n if (parentSelectable && !(0, _shallowEqual.default)(value, nextValue)) {\n setValue(nextValue);\n onChange === null || onChange === void 0 ? void 0 : onChange(nextValue, event);\n setValueToPaths(cascadePaths);\n } // Update menu position\n\n\n (_triggerRef$current2 = triggerRef.current) === null || _triggerRef$current2 === void 0 ? void 0 : _triggerRef$current2.updatePosition();\n };\n /**\n * The search structure option is processed after being selected.\n */\n\n\n var handleSearchRowSelect = function handleSearchRowSelect(node, nodes, event) {\n var nextValue = node[valueKey];\n handleClose();\n setSearchKeyword('');\n setValue(nextValue);\n setValueToPaths(nodes);\n enforceUpdate(nextValue);\n onSelect === null || onSelect === void 0 ? void 0 : onSelect(node, nodes, event);\n onChange === null || onChange === void 0 ? void 0 : onChange(nextValue, event);\n };\n\n var renderSearchRow = function renderSearchRow(item, key) {\n var regx = new RegExp((0, _utils2.getSafeRegExpString)(searchKeyword), 'ig');\n var nodes = (0, _treeUtils.getNodeParents)(item);\n nodes.push(item);\n var formattedNodes = nodes.map(function (node) {\n var _extends2;\n\n var labelElements = [];\n var a = node[labelKey].split(regx);\n var b = node[labelKey].match(regx);\n\n for (var i = 0; i < a.length; i++) {\n labelElements.push(a[i]);\n\n if (b && b[i]) {\n labelElements.push( /*#__PURE__*/_react.default.createElement(\"span\", {\n key: i,\n className: prefix('cascader-search-match'),\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 456,\n columnNumber: 13\n }\n }, b[i]));\n }\n }\n\n return (0, _extends3.default)({}, node, (_extends2 = {}, _extends2[labelKey] = labelElements, _extends2));\n });\n var disabled = disabledItemValues.some(function (value) {\n return formattedNodes.some(function (node) {\n return node[valueKey] === value;\n });\n });\n var itemClasses = prefix('cascader-row', {\n 'cascader-row-disabled': disabled,\n 'cascader-row-focus': item[valueKey] === focusItemValue\n });\n var label = formattedNodes.map(function (node, index) {\n return /*#__PURE__*/_react.default.createElement(\"span\", {\n key: \"col-\" + index,\n className: prefix('cascader-col'),\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 477,\n columnNumber: 7\n }\n }, node[labelKey]);\n });\n return /*#__PURE__*/_react.default.createElement(\"div\", {\n key: key,\n \"aria-disabled\": disabled,\n \"data-key\": item[valueKey],\n className: itemClasses,\n onClick: function onClick(event) {\n if (!disabled) {\n handleSearchRowSelect(item, nodes, event);\n }\n },\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 483,\n columnNumber: 7\n }\n }, renderSearchItem ? renderSearchItem(label, nodes) : label);\n };\n\n var renderSearchResultPanel = function renderSearchResultPanel() {\n if (searchKeyword === '') {\n return null;\n }\n\n var items = getSearchResult();\n return /*#__PURE__*/_react.default.createElement(\"div\", {\n className: prefix('cascader-search-panel'),\n \"data-layer\": 0,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 506,\n columnNumber: 7\n }\n }, items.length ? items.map(renderSearchRow) : /*#__PURE__*/_react.default.createElement(\"div\", {\n className: prefix('none'),\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 510,\n columnNumber: 11\n }\n }, locale.noResultsText));\n };\n\n var renderDropdownMenu = function renderDropdownMenu(positionProps, speakerRef) {\n var _ref2 = positionProps || {},\n left = _ref2.left,\n top = _ref2.top,\n className = _ref2.className;\n\n var styles = (0, _extends3.default)({}, menuStyle, {\n left: left,\n top: top\n });\n var classes = merge(className, menuClassName, prefix('cascader-menu', {\n inline: inline\n }));\n return /*#__PURE__*/_react.default.createElement(_Picker.PickerOverlay, {\n ref: (0, _utils2.mergeRefs)(overlayRef, speakerRef),\n className: classes,\n style: styles,\n target: triggerRef,\n onKeyDown: onPickerKeyDown,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 522,\n columnNumber: 7\n }\n }, searchable && /*#__PURE__*/_react.default.createElement(_Picker.SearchBar, {\n placeholder: locale === null || locale === void 0 ? void 0 : locale.searchPlaceholder,\n onChange: handleSearch,\n value: searchKeyword,\n inputRef: searchInputRef,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 530,\n columnNumber: 11\n }\n }), renderSearchResultPanel(), searchKeyword === '' && /*#__PURE__*/_react.default.createElement(_DropdownMenu.default, {\n id: id ? id + \"-listbox\" : undefined,\n menuWidth: menuWidth,\n menuHeight: menuHeight,\n disabledItemValues: disabledItemValues,\n valueKey: valueKey,\n labelKey: labelKey,\n childrenKey: childrenKey,\n classPrefix: 'picker-cascader-menu',\n cascadeData: columnData,\n cascadePaths: selectedPaths,\n activeItemValue: value // FIXME make onSelect generic\n ,\n onSelect: handleSelect,\n renderMenu: renderMenu,\n renderMenuItem: renderMenuItem,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 540,\n columnNumber: 11\n }\n }), renderExtraFooter === null || renderExtraFooter === void 0 ? void 0 : renderExtraFooter());\n };\n\n var selectedElement = placeholder;\n\n if (valueToPaths.length > 0) {\n selectedElement = [];\n valueToPaths.forEach(function (item, index) {\n var key = item[valueKey] || item[labelKey];\n selectedElement.push( /*#__PURE__*/_react.default.createElement(\"span\", {\n key: key,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 570,\n columnNumber: 28\n }\n }, item[labelKey]));\n\n if (index < valueToPaths.length - 1) {\n selectedElement.push( /*#__PURE__*/_react.default.createElement(\"span\", {\n className: \"separator\",\n key: key + \"-separator\",\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 573,\n columnNumber: 11\n }\n }, ' / '));\n }\n });\n }\n\n if (!(0, _isNil.default)(value) && (0, _isFunction.default)(renderValue)) {\n selectedElement = renderValue(value, valueToPaths, selectedElement); // If renderValue returns null or undefined, hasValue is false.\n\n if ((0, _isNil.default)(selectedElement)) {\n hasValue = false;\n }\n }\n\n var _usePickerClassName = (0, _Picker.usePickerClassName)((0, _extends3.default)({}, props, {\n classPrefix: classPrefix,\n hasValue: hasValue,\n name: 'cascader',\n appearance: appearance,\n cleanable: cleanable\n })),\n classes = _usePickerClassName[0],\n usedClassNamePropKeys = _usePickerClassName[1]; // TODO: bad api design\n // consider an isolated Menu component\n\n\n if (inline) {\n return renderDropdownMenu();\n }\n\n return /*#__PURE__*/_react.default.createElement(_Picker.PickerToggleTrigger, {\n pickerProps: (0, _pick.default)(props, _Picker.pickTriggerPropKeys),\n ref: triggerRef,\n placement: placement,\n onEntered: (0, _utils2.createChainedFunction)(handleEntered, onEnter),\n onExited: (0, _utils2.createChainedFunction)(handleExited, onExited),\n speaker: renderDropdownMenu,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 605,\n columnNumber: 5\n }\n }, /*#__PURE__*/_react.default.createElement(Component, {\n className: classes,\n style: style,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 613,\n columnNumber: 7\n }\n }, /*#__PURE__*/_react.default.createElement(_Picker.PickerToggle, (0, _extends3.default)({}, (0, _omit.default)(rest, [].concat(_Picker.omitTriggerPropKeys, usedClassNamePropKeys)), {\n id: id,\n ref: targetRef,\n as: toggleAs,\n appearance: appearance,\n disabled: disabled,\n onClean: (0, _utils2.createChainedFunction)(handleClean, onClean),\n onKeyDown: onPickerKeyDown,\n cleanable: cleanable && !disabled,\n hasValue: hasValue,\n active: active,\n placement: placement,\n inputValue: value !== null && value !== void 0 ? value : '',\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 614,\n columnNumber: 9\n }\n }), selectedElement || (locale === null || locale === void 0 ? void 0 : locale.placeholder))));\n});\n\nCascader.displayName = 'Cascader';\nCascader.propTypes = (0, _extends3.default)({}, _Picker.listPickerPropTypes, {\n disabledItemValues: _propTypes.default.array,\n locale: _propTypes.default.any,\n appearance: _propTypes.default.oneOf(['default', 'subtle']),\n renderMenu: _propTypes.default.func,\n onSelect: _propTypes.default.func,\n onSearch: _propTypes.default.func,\n cleanable: _propTypes.default.bool,\n renderMenuItem: _propTypes.default.func,\n renderSearchItem: _propTypes.default.func,\n menuWidth: _propTypes.default.number,\n menuHeight: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.string]),\n searchable: _propTypes.default.bool,\n inline: _propTypes.default.bool,\n parentSelectable: _propTypes.default.bool\n});\nvar _default = Cascader;\nexports[\"default\"] = _default;\n\n//# sourceURL=webpack://rsuite/./src/Cascader/Cascader.tsx?");
|
|
1910
|
+
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 _extends3 = _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 _omit = _interopRequireDefault(__webpack_require__(/*! lodash/omit */ \"./node_modules/lodash/omit.js\"));\n\nvar _pick = _interopRequireDefault(__webpack_require__(/*! lodash/pick */ \"./node_modules/lodash/pick.js\"));\n\nvar _isNil = _interopRequireDefault(__webpack_require__(/*! lodash/isNil */ \"./node_modules/lodash/isNil.js\"));\n\nvar _isFunction = _interopRequireDefault(__webpack_require__(/*! lodash/isFunction */ \"./node_modules/lodash/isFunction.js\"));\n\nvar _shallowEqual = _interopRequireDefault(__webpack_require__(/*! ../utils/shallowEqual */ \"./src/utils/shallowEqual.ts\"));\n\nvar _DropdownMenu = _interopRequireDefault(__webpack_require__(/*! ./DropdownMenu */ \"./src/Cascader/DropdownMenu.tsx\"));\n\nvar _treeUtils = __webpack_require__(/*! ../utils/treeUtils */ \"./src/utils/treeUtils.ts\");\n\nvar _utils = __webpack_require__(/*! ./utils */ \"./src/Cascader/utils.ts\");\n\nvar _utils2 = __webpack_require__(/*! ../utils */ \"./src/utils/index.ts\");\n\nvar _Picker = __webpack_require__(/*! ../Picker */ \"./src/Picker/index.ts\");\n\nvar _jsxFileName = \"/home/runner/work/rsuite/rsuite/src/Cascader/Cascader.tsx\",\n _this = void 0;\n\nvar emptyArray = [];\n\nvar Cascader = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {\n var _props$as = props.as,\n Component = _props$as === void 0 ? 'div' : _props$as,\n _props$data = props.data,\n data = _props$data === void 0 ? emptyArray : _props$data,\n _props$classPrefix = props.classPrefix,\n classPrefix = _props$classPrefix === void 0 ? 'picker' : _props$classPrefix,\n _props$childrenKey = props.childrenKey,\n childrenKey = _props$childrenKey === void 0 ? 'children' : _props$childrenKey,\n _props$valueKey = props.valueKey,\n valueKey = _props$valueKey === void 0 ? 'value' : _props$valueKey,\n _props$labelKey = props.labelKey,\n labelKey = _props$labelKey === void 0 ? 'label' : _props$labelKey,\n defaultValue = props.defaultValue,\n placeholder = props.placeholder,\n disabled = props.disabled,\n _props$disabledItemVa = props.disabledItemValues,\n disabledItemValues = _props$disabledItemVa === void 0 ? emptyArray : _props$disabledItemVa,\n _props$appearance = props.appearance,\n appearance = _props$appearance === void 0 ? 'default' : _props$appearance,\n _props$cleanable = props.cleanable,\n cleanable = _props$cleanable === void 0 ? true : _props$cleanable,\n overrideLocale = props.locale,\n toggleAs = props.toggleAs,\n style = props.style,\n valueProp = props.value,\n inline = props.inline,\n menuClassName = props.menuClassName,\n menuStyle = props.menuStyle,\n menuWidth = props.menuWidth,\n menuHeight = props.menuHeight,\n _props$searchable = props.searchable,\n searchable = _props$searchable === void 0 ? true : _props$searchable,\n parentSelectable = props.parentSelectable,\n _props$placement = props.placement,\n placement = _props$placement === void 0 ? 'bottomStart' : _props$placement,\n id = props.id,\n renderMenuItem = props.renderMenuItem,\n renderSearchItem = props.renderSearchItem,\n renderValue = props.renderValue,\n renderMenu = props.renderMenu,\n renderExtraFooter = props.renderExtraFooter,\n onEnter = props.onEnter,\n onExited = props.onExited,\n onClean = props.onClean,\n onChange = props.onChange,\n onSelect = props.onSelect,\n onSearch = props.onSearch,\n onClose = props.onClose,\n onOpen = props.onOpen,\n getChildren = props.getChildren,\n rest = (0, _objectWithoutPropertiesLoose2.default)(props, [\"as\", \"data\", \"classPrefix\", \"childrenKey\", \"valueKey\", \"labelKey\", \"defaultValue\", \"placeholder\", \"disabled\", \"disabledItemValues\", \"appearance\", \"cleanable\", \"locale\", \"toggleAs\", \"style\", \"value\", \"inline\", \"menuClassName\", \"menuStyle\", \"menuWidth\", \"menuHeight\", \"searchable\", \"parentSelectable\", \"placement\", \"id\", \"renderMenuItem\", \"renderSearchItem\", \"renderValue\", \"renderMenu\", \"renderExtraFooter\", \"onEnter\", \"onExited\", \"onClean\", \"onChange\", \"onSelect\", \"onSearch\", \"onClose\", \"onOpen\", \"getChildren\"]); // Use component active state to support keyboard events.\n\n var _useState = (0, _react.useState)(false),\n active = _useState[0],\n setActive = _useState[1];\n\n var _useState2 = (0, _react.useState)((0, _treeUtils.flattenTree)(data, childrenKey)),\n flattenData = _useState2[0],\n setFlattenData = _useState2[1];\n\n var triggerRef = (0, _react.useRef)(null);\n var overlayRef = (0, _react.useRef)(null);\n var targetRef = (0, _react.useRef)(null);\n var searchInputRef = (0, _react.useRef)(null);\n\n var _ref = (0, _utils2.useControlled)(valueProp, defaultValue),\n value = _ref[0],\n setValue = _ref[1];\n\n var _usePaths = (0, _utils.usePaths)({\n data: data,\n valueKey: valueKey,\n childrenKey: childrenKey,\n value: value\n }),\n selectedPaths = _usePaths.selectedPaths,\n valueToPaths = _usePaths.valueToPaths,\n columnData = _usePaths.columnData,\n addColumn = _usePaths.addColumn,\n removeColumnByIndex = _usePaths.removeColumnByIndex,\n setValueToPaths = _usePaths.setValueToPaths,\n setColumnData = _usePaths.setColumnData,\n setSelectedPaths = _usePaths.setSelectedPaths,\n enforceUpdate = _usePaths.enforceUpdate;\n\n (0, _react.useEffect)(function () {\n setFlattenData((0, _treeUtils.flattenTree)(data, childrenKey));\n }, [data, childrenKey]);\n (0, _Picker.usePublicMethods)(ref, {\n triggerRef: triggerRef,\n overlayRef: overlayRef,\n targetRef: targetRef\n });\n\n var _useCustom = (0, _utils2.useCustom)('Picker', overrideLocale),\n locale = _useCustom.locale,\n rtl = _useCustom.rtl;\n /**\n * 1.Have a value and the value is valid.\n * 2.Regardless of whether the value is valid, as long as renderValue is set, it is judged to have a value.\n */\n\n\n var hasValue = valueToPaths.length > 0 || !(0, _isNil.default)(value) && (0, _isFunction.default)(renderValue);\n\n var _useClassNames = (0, _utils2.useClassNames)(classPrefix),\n prefix = _useClassNames.prefix,\n merge = _useClassNames.merge;\n\n var _useState3 = (0, _react.useState)(''),\n searchKeyword = _useState3[0],\n setSearchKeyword = _useState3[1];\n\n var someKeyword = (0, _react.useCallback)(function (item, keyword) {\n if (item[labelKey].match(new RegExp((0, _utils2.getSafeRegExpString)(keyword || searchKeyword), 'i'))) {\n return true;\n }\n\n if (item.parent && someKeyword(item.parent)) {\n return true;\n }\n\n return false;\n }, [labelKey, searchKeyword]);\n var getSearchResult = (0, _react.useCallback)(function (keyword) {\n var items = [];\n var result = flattenData.filter(function (item) {\n if (!parentSelectable && item[childrenKey]) {\n return false;\n }\n\n return someKeyword(item, keyword);\n });\n\n for (var i = 0; i < result.length; i++) {\n items.push(result[i]); // A maximum of 100 search results are returned.\n\n if (i === 99) {\n return items;\n }\n }\n\n return items;\n }, [childrenKey, flattenData, someKeyword, parentSelectable]); // Used to hover the focuse item when trigger `onKeydown`\n\n var _useFocusItemValue = (0, _Picker.useFocusItemValue)(value, {\n rtl: rtl,\n data: flattenData,\n valueKey: valueKey,\n defaultLayer: valueToPaths !== null && valueToPaths !== void 0 && valueToPaths.length ? valueToPaths.length - 1 : 0,\n target: function target() {\n return overlayRef.current;\n },\n callback: (0, _react.useCallback)(function (value) {\n enforceUpdate(value, true);\n }, [enforceUpdate])\n }),\n focusItemValue = _useFocusItemValue.focusItemValue,\n setFocusItemValue = _useFocusItemValue.setFocusItemValue,\n setLayer = _useFocusItemValue.setLayer,\n setKeys = _useFocusItemValue.setKeys,\n onFocusItem = _useFocusItemValue.onKeyDown;\n\n var handleSearch = (0, _react.useCallback)(function (value, event) {\n var items = getSearchResult(value);\n setSearchKeyword(value);\n onSearch === null || onSearch === void 0 ? void 0 : onSearch(value, event);\n\n if (items.length > 0) {\n setFocusItemValue(items[0][valueKey]);\n setLayer(0);\n setKeys([]);\n }\n }, [getSearchResult, onSearch, setFocusItemValue, setKeys, setLayer, valueKey]);\n var handleEntered = (0, _react.useCallback)(function () {\n if (!targetRef.current) {\n return;\n }\n\n onOpen === null || onOpen === void 0 ? void 0 : onOpen();\n setActive(true);\n }, [onOpen]);\n var handleExited = (0, _react.useCallback)(function () {\n if (!targetRef.current) {\n return;\n }\n\n onClose === null || onClose === void 0 ? void 0 : onClose();\n setActive(false);\n setSearchKeyword('');\n }, [onClose]);\n var handleClose = (0, _react.useCallback)(function () {\n var _triggerRef$current;\n\n (_triggerRef$current = triggerRef.current) === null || _triggerRef$current === void 0 ? void 0 : _triggerRef$current.close();\n }, [triggerRef]);\n var handleClean = (0, _react.useCallback)(function (event) {\n if (disabled || !targetRef.current) {\n return;\n }\n\n setColumnData([data]);\n setValue(null);\n setSelectedPaths([]);\n setValueToPaths([]);\n onChange === null || onChange === void 0 ? void 0 : onChange(null, event);\n }, [data, disabled, onChange, setSelectedPaths, setColumnData, setValueToPaths, setValue]);\n var handleMenuPressEnter = (0, _react.useCallback)(function (event) {\n var focusItem = (0, _treeUtils.findNodeOfTree)(data, function (item) {\n return item[valueKey] === focusItemValue;\n });\n var isLeafNode = focusItem && !focusItem[childrenKey];\n\n if (isLeafNode) {\n setValue(focusItemValue);\n setValueToPaths(selectedPaths);\n\n if (selectedPaths.length) {\n setLayer(selectedPaths.length - 1);\n }\n\n if (!(0, _shallowEqual.default)(value, focusItemValue)) {\n onChange === null || onChange === void 0 ? void 0 : onChange(focusItemValue !== null && focusItemValue !== void 0 ? focusItemValue : null, event);\n }\n\n handleClose();\n }\n }, [childrenKey, data, focusItemValue, handleClose, onChange, selectedPaths, setLayer, setValue, setValueToPaths, value, valueKey]);\n var onPickerKeyDown = (0, _Picker.useToggleKeyDownEvent)((0, _extends3.default)({\n toggle: !focusItemValue || !active,\n triggerRef: triggerRef,\n targetRef: targetRef,\n overlayRef: overlayRef,\n searchInputRef: searchInputRef,\n active: active,\n onExit: handleClean,\n onMenuKeyDown: onFocusItem,\n onMenuPressEnter: handleMenuPressEnter\n }, rest));\n\n var handleSelect = function handleSelect(node, cascadePaths, isLeafNode, event) {\n var _node$childrenKey, _node$childrenKey2, _triggerRef$current2;\n\n onSelect === null || onSelect === void 0 ? void 0 : onSelect(node, cascadePaths, event);\n setSelectedPaths(cascadePaths);\n var nextValue = node[valueKey];\n var columnIndex = cascadePaths.length; // Lazy load node's children\n\n if (typeof getChildren === 'function' && ((_node$childrenKey = node[childrenKey]) === null || _node$childrenKey === void 0 ? void 0 : _node$childrenKey.length) === 0) {\n node.loading = true;\n var children = getChildren(node);\n\n if (children instanceof Promise) {\n children.then(function (data) {\n node.loading = false;\n node[childrenKey] = data;\n\n if (targetRef.current || inline) {\n addColumn(data, columnIndex);\n }\n });\n } else {\n node.loading = false;\n node[childrenKey] = children;\n addColumn(children, columnIndex);\n }\n } else if ((_node$childrenKey2 = node[childrenKey]) !== null && _node$childrenKey2 !== void 0 && _node$childrenKey2.length) {\n addColumn(node[childrenKey], columnIndex);\n } else {\n // Removes subsequent columns of the current column when the clicked node is a leaf node.\n removeColumnByIndex(columnIndex);\n }\n\n if (isLeafNode) {\n // Determines whether the option is a leaf node, and if so, closes the picker.\n handleClose(); // Update the selected path to the value path.\n // That is, the selected path will be displayed on the button after clicking the child node.\n\n setValueToPaths(cascadePaths);\n setValue(nextValue);\n\n if (!(0, _shallowEqual.default)(value, nextValue)) {\n onChange === null || onChange === void 0 ? void 0 : onChange(nextValue, event);\n }\n\n return;\n }\n /** When the parent is optional, the value and the displayed path are updated. */\n\n\n if (parentSelectable && !(0, _shallowEqual.default)(value, nextValue)) {\n setValue(nextValue);\n onChange === null || onChange === void 0 ? void 0 : onChange(nextValue, event);\n setValueToPaths(cascadePaths);\n } // Update menu position\n\n\n (_triggerRef$current2 = triggerRef.current) === null || _triggerRef$current2 === void 0 ? void 0 : _triggerRef$current2.updatePosition();\n };\n /**\n * The search structure option is processed after being selected.\n */\n\n\n var handleSearchRowSelect = function handleSearchRowSelect(node, nodes, event) {\n var nextValue = node[valueKey];\n handleClose();\n setSearchKeyword('');\n setValue(nextValue);\n setValueToPaths(nodes);\n enforceUpdate(nextValue);\n onSelect === null || onSelect === void 0 ? void 0 : onSelect(node, nodes, event);\n onChange === null || onChange === void 0 ? void 0 : onChange(nextValue, event);\n };\n\n var renderSearchRow = function renderSearchRow(item, key) {\n var regx = new RegExp((0, _utils2.getSafeRegExpString)(searchKeyword), 'ig');\n var nodes = (0, _treeUtils.getNodeParents)(item);\n nodes.push(item);\n var formattedNodes = nodes.map(function (node) {\n var _extends2;\n\n var labelElements = [];\n var a = node[labelKey].split(regx);\n var b = node[labelKey].match(regx);\n\n for (var i = 0; i < a.length; i++) {\n labelElements.push(a[i]);\n\n if (b && b[i]) {\n labelElements.push( /*#__PURE__*/_react.default.createElement(\"span\", {\n key: i,\n className: prefix('cascader-search-match'),\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 456,\n columnNumber: 13\n }\n }, b[i]));\n }\n }\n\n return (0, _extends3.default)({}, node, (_extends2 = {}, _extends2[labelKey] = labelElements, _extends2));\n });\n var disabled = disabledItemValues.some(function (value) {\n return formattedNodes.some(function (node) {\n return node[valueKey] === value;\n });\n });\n var itemClasses = prefix('cascader-row', {\n 'cascader-row-disabled': disabled,\n 'cascader-row-focus': item[valueKey] === focusItemValue\n });\n var label = formattedNodes.map(function (node, index) {\n return /*#__PURE__*/_react.default.createElement(\"span\", {\n key: \"col-\" + index,\n className: prefix('cascader-col'),\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 477,\n columnNumber: 7\n }\n }, node[labelKey]);\n });\n return /*#__PURE__*/_react.default.createElement(\"div\", {\n key: key,\n \"aria-disabled\": disabled,\n \"data-key\": item[valueKey],\n className: itemClasses,\n onClick: function onClick(event) {\n if (!disabled) {\n handleSearchRowSelect(item, nodes, event);\n }\n },\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 483,\n columnNumber: 7\n }\n }, renderSearchItem ? renderSearchItem(label, nodes) : label);\n };\n\n var renderSearchResultPanel = function renderSearchResultPanel() {\n if (searchKeyword === '') {\n return null;\n }\n\n var items = getSearchResult();\n return /*#__PURE__*/_react.default.createElement(\"div\", {\n className: prefix('cascader-search-panel'),\n \"data-layer\": 0,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 506,\n columnNumber: 7\n }\n }, items.length ? items.map(renderSearchRow) : /*#__PURE__*/_react.default.createElement(\"div\", {\n className: prefix('none'),\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 510,\n columnNumber: 11\n }\n }, locale.noResultsText));\n };\n\n var renderDropdownMenu = function renderDropdownMenu(positionProps, speakerRef) {\n var _ref2 = positionProps || {},\n left = _ref2.left,\n top = _ref2.top,\n className = _ref2.className;\n\n var styles = (0, _extends3.default)({}, menuStyle, {\n left: left,\n top: top\n });\n var classes = merge(className, menuClassName, prefix('cascader-menu', {\n inline: inline\n }));\n return /*#__PURE__*/_react.default.createElement(_Picker.PickerOverlay, {\n ref: (0, _utils2.mergeRefs)(overlayRef, speakerRef),\n className: classes,\n style: styles,\n target: triggerRef,\n onKeyDown: onPickerKeyDown,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 522,\n columnNumber: 7\n }\n }, searchable && /*#__PURE__*/_react.default.createElement(_Picker.SearchBar, {\n placeholder: locale === null || locale === void 0 ? void 0 : locale.searchPlaceholder,\n onChange: handleSearch,\n value: searchKeyword,\n inputRef: searchInputRef,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 530,\n columnNumber: 11\n }\n }), renderSearchResultPanel(), searchKeyword === '' && /*#__PURE__*/_react.default.createElement(_DropdownMenu.default, {\n id: id ? id + \"-listbox\" : undefined,\n menuWidth: menuWidth,\n menuHeight: menuHeight,\n disabledItemValues: disabledItemValues,\n valueKey: valueKey,\n labelKey: labelKey,\n childrenKey: childrenKey,\n classPrefix: 'picker-cascader-menu',\n cascadeData: columnData,\n cascadePaths: selectedPaths,\n activeItemValue: value // FIXME make onSelect generic\n ,\n onSelect: handleSelect,\n renderMenu: renderMenu,\n renderMenuItem: renderMenuItem,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 540,\n columnNumber: 11\n }\n }), renderExtraFooter === null || renderExtraFooter === void 0 ? void 0 : renderExtraFooter());\n };\n\n var selectedElement = placeholder;\n\n if (valueToPaths.length > 0) {\n selectedElement = [];\n valueToPaths.forEach(function (item, index) {\n var key = item[valueKey] || item[labelKey];\n selectedElement.push( /*#__PURE__*/_react.default.createElement(\"span\", {\n key: key,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 570,\n columnNumber: 28\n }\n }, item[labelKey]));\n\n if (index < valueToPaths.length - 1) {\n selectedElement.push( /*#__PURE__*/_react.default.createElement(\"span\", {\n className: \"separator\",\n key: key + \"-separator\",\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 573,\n columnNumber: 11\n }\n }, ' / '));\n }\n });\n }\n\n if (!(0, _isNil.default)(value) && (0, _isFunction.default)(renderValue)) {\n selectedElement = renderValue(value, valueToPaths, selectedElement); // If renderValue returns null or undefined, hasValue is false.\n\n if ((0, _isNil.default)(selectedElement)) {\n hasValue = false;\n }\n }\n\n var _usePickerClassName = (0, _Picker.usePickerClassName)((0, _extends3.default)({}, props, {\n classPrefix: classPrefix,\n hasValue: hasValue,\n name: 'cascader',\n appearance: appearance,\n cleanable: cleanable\n })),\n classes = _usePickerClassName[0],\n usedClassNamePropKeys = _usePickerClassName[1]; // TODO: bad api design\n // consider an isolated Menu component\n\n\n if (inline) {\n return renderDropdownMenu();\n }\n\n return /*#__PURE__*/_react.default.createElement(_Picker.PickerToggleTrigger, {\n pickerProps: (0, _pick.default)(props, _Picker.pickTriggerPropKeys),\n ref: triggerRef,\n placement: placement,\n onEntered: (0, _utils2.createChainedFunction)(handleEntered, onEnter),\n onExited: (0, _utils2.createChainedFunction)(handleExited, onExited),\n speaker: renderDropdownMenu,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 605,\n columnNumber: 5\n }\n }, /*#__PURE__*/_react.default.createElement(Component, {\n className: classes,\n style: style,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 613,\n columnNumber: 7\n }\n }, /*#__PURE__*/_react.default.createElement(_Picker.PickerToggle, (0, _extends3.default)({}, (0, _omit.default)(rest, [].concat(_Picker.omitTriggerPropKeys, usedClassNamePropKeys)), {\n id: id,\n ref: targetRef,\n as: toggleAs,\n appearance: appearance,\n disabled: disabled,\n onClean: (0, _utils2.createChainedFunction)(handleClean, onClean),\n onKeyDown: onPickerKeyDown,\n cleanable: cleanable && !disabled,\n hasValue: hasValue,\n active: active,\n placement: placement,\n inputValue: value !== null && value !== void 0 ? value : '',\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 614,\n columnNumber: 9\n }\n }), selectedElement || (locale === null || locale === void 0 ? void 0 : locale.placeholder))));\n});\n\nCascader.displayName = 'Cascader';\nCascader.propTypes = (0, _extends3.default)({}, _Picker.listPickerPropTypes, {\n disabledItemValues: _propTypes.default.array,\n locale: _propTypes.default.any,\n appearance: _propTypes.default.oneOf(['default', 'subtle']),\n renderMenu: _propTypes.default.func,\n onSelect: _propTypes.default.func,\n onSearch: _propTypes.default.func,\n cleanable: _propTypes.default.bool,\n renderMenuItem: _propTypes.default.func,\n renderSearchItem: _propTypes.default.func,\n menuWidth: _propTypes.default.number,\n menuHeight: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.string]),\n searchable: _propTypes.default.bool,\n inline: _propTypes.default.bool,\n parentSelectable: _propTypes.default.bool\n});\nvar _default = Cascader;\nexports[\"default\"] = _default;\n\n//# sourceURL=webpack://rsuite/./src/Cascader/Cascader.tsx?");
|
|
1911
1911
|
|
|
1912
1912
|
/***/ }),
|
|
1913
1913
|
|
|
@@ -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,18 @@ 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 _DateRangePickerContext = _interopRequireDefault(__webpack_require__(/*! ./DateRangePickerContext */ \"./src/DateRangePicker/DateRangePickerContext.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 _useState = (0, _react.useState)(true),\n isSelectedIdle = _useState[0],\n setSelectedIdle = _useState[1];\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\n var _useState2 = (0, _react.useState)((_ref = valueProp !== null && valueProp !== void 0 ? valueProp : defaultValue) !== null && _ref !== void 0 ? _ref : []),\n selectedDates = _useState2[0],\n setSelectedDates = _useState2[1]; // The date of the current hover, used to reduce the calculation of `handleMouseMove`\n\n\n var _useState3 = (0, _react.useState)(null),\n hoverDateRange = _useState3[0],\n setHoverDateRange = _useState3[1]; // The displayed calendar panel is rendered based on this value.\n\n\n var _useState4 = (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 = _useState4[0],\n setCalendarDate = _useState4[1];\n\n var _useState5 = (0, _react.useState)(),\n inputState = _useState5[0],\n setInputState = _useState5[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 _useState6 = (0, _react.useState)(false),\n isPickerToggleActive = _useState6[0],\n setPickerToggleActive = _useState6[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: 337,\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: 339,\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 (!isSelectedIdle) {\n // If `hoverRange` is set, you need to change the value of hoverDateRange according to the rules\n if (!(0, _isNil.default)(nextHoverDateRange) && !(0, _isNil.default)(selectRangeValueRef.current)) {\n var nextSelectedDates = [selectRangeValueRef.current[0], nextHoverDateRange[1]];\n\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, isSelectedIdle]);\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 (isSelectedIdle && oneTap) {\n handleValueUpdate(event, noHoverRangeValid ? [(0, _dateUtils.startOfDay)(date), (0, _dateUtils.endOfDay)(date)] : hoverRangeValue);\n setSelectedIdle(false);\n return;\n } // no preset hover range can use\n\n\n if (noHoverRangeValid) {\n // start select\n if (isSelectedIdle) {\n nextSelectDates = [date];\n } else {\n // finish select\n nextSelectDates[1] = date;\n }\n } else {\n if (!isSelectedIdle) {\n nextSelectDates = selectedDates;\n selectRangeValueRef.current = null;\n } else {\n nextSelectDates = hoverRangeValue;\n selectRangeValueRef.current = hoverRangeValue;\n }\n }\n\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 setSelectedIdle(!isSelectedIdle);\n }, [formatStr, getCalendarDatetime, getHoverRangeValue, handleValueUpdate, hoverDateRange, isSelectedIdle, 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 setSelectedIdle(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 setSelectedIdle(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, isSelectedIdle, type)) {\n return true;\n }\n\n start = _utils.DateUtils.addDays(start, 1);\n }\n\n return false;\n }, [isDateDisabled, isSelectedIdle, selectedDates]);\n var disabledOkButton = (0, _react.useCallback)(function () {\n var start = selectedDates[0],\n end = selectedDates[1];\n\n if (!start || !end || !isSelectedIdle) {\n return true;\n }\n\n return disabledByBetween(start, end, _utils.DATERANGE_DISABLED_TARGET.TOOLBAR_BUTTON_OK);\n }, [disabledByBetween, isSelectedIdle, 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, isSelectedIdle, type);\n }, [isDateDisabled, isSelectedIdle]);\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: 811,\n columnNumber: 7\n }\n }, /*#__PURE__*/_react.default.createElement(\"div\", {\n className: panelClasses,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 818,\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: 819,\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: 821,\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: 834,\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: 835,\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: 836,\n columnNumber: 17\n }\n }, /*#__PURE__*/_react.default.createElement(_DateRangePickerContext.default.Provider, {\n value: {\n isSelectedIdle: isSelectedIdle\n },\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 839,\n columnNumber: 19\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: 840,\n columnNumber: 21\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: 841,\n columnNumber: 42\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: 845,\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: 873,\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: 882,\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: 889,\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
|
+
|
|
2297
|
+
/***/ }),
|
|
2298
|
+
|
|
2299
|
+
/***/ "./src/DateRangePicker/DateRangePickerContext.ts":
|
|
2300
|
+
/*!*******************************************************!*\
|
|
2301
|
+
!*** ./src/DateRangePicker/DateRangePickerContext.ts ***!
|
|
2302
|
+
\*******************************************************/
|
|
2303
|
+
/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
|
|
2304
|
+
|
|
2305
|
+
"use strict";
|
|
2306
|
+
eval("\n\nvar _interopRequireWildcard = __webpack_require__(/*! @babel/runtime/helpers/interopRequireWildcard */ \"./node_modules/@babel/runtime/helpers/interopRequireWildcard.js\");\n\nexports.__esModule = true;\nexports.useDateRangePickerContext = exports[\"default\"] = void 0;\n\nvar _react = _interopRequireWildcard(__webpack_require__(/*! react */ \"react\"));\n\nvar DateRangePickerContext = /*#__PURE__*/_react.default.createContext({});\n\nvar _default = DateRangePickerContext;\nexports[\"default\"] = _default;\n\nvar useDateRangePickerContext = function useDateRangePickerContext() {\n return (0, _react.useContext)(DateRangePickerContext) || {};\n};\n\nexports.useDateRangePickerContext = useDateRangePickerContext;\n\n//# sourceURL=webpack://rsuite/./src/DateRangePicker/DateRangePickerContext.ts?");
|
|
2296
2307
|
|
|
2297
2308
|
/***/ }),
|
|
2298
2309
|
|
|
@@ -3612,7 +3623,7 @@ eval("\n\nvar _interopRequireDefault = __webpack_require__(/*! @babel/runtime/he
|
|
|
3612
3623
|
/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
|
|
3613
3624
|
|
|
3614
3625
|
"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?");
|
|
3626
|
+
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
3627
|
|
|
3617
3628
|
/***/ }),
|
|
3618
3629
|
|
|
@@ -3656,7 +3667,7 @@ eval("\n\nvar _interopRequireDefault = __webpack_require__(/*! @babel/runtime/he
|
|
|
3656
3667
|
/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
|
|
3657
3668
|
|
|
3658
3669
|
"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?");
|
|
3670
|
+
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
3671
|
|
|
3661
3672
|
/***/ }),
|
|
3662
3673
|
|
|
@@ -5130,7 +5141,7 @@ eval("\n\nvar _interopRequireDefault = __webpack_require__(/*! @babel/runtime/he
|
|
|
5130
5141
|
/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
|
|
5131
5142
|
|
|
5132
5143
|
"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?");
|
|
5144
|
+
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;\n\n return (_calendarProps$key = calendarProps[key]) === null || _calendarProps$key === void 0 ? void 0 : _calendarProps$key.call(calendarProps, (0, _getHours.default)(date), date);\n }\n\n if (/(Minutes)/.test(key)) {\n var _calendarProps$key2;\n\n return (_calendarProps$key2 = calendarProps[key]) === null || _calendarProps$key2 === void 0 ? void 0 : _calendarProps$key2.call(calendarProps, (0, _getMinutes.default)(date), date);\n }\n\n if (/(Seconds)/.test(key)) {\n var _calendarProps$key3;\n\n return (_calendarProps$key3 = calendarProps[key]) === null || _calendarProps$key3 === void 0 ? void 0 : _calendarProps$key3.call(calendarProps, (0, _getSeconds.default)(date), date);\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
5145
|
|
|
5135
5146
|
/***/ }),
|
|
5136
5147
|
|
|
@@ -5152,7 +5163,7 @@ eval("\n\nvar _interopRequireDefault = __webpack_require__(/*! @babel/runtime/he
|
|
|
5152
5163
|
/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
|
|
5153
5164
|
|
|
5154
5165
|
"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?");
|
|
5166
|
+
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
5167
|
|
|
5157
5168
|
/***/ }),
|
|
5158
5169
|
|
|
@@ -5548,7 +5559,7 @@ eval("\n\nexports.__esModule = true;\nexports[\"default\"] = void 0;\n\nvar _rea
|
|
|
5548
5559
|
/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
|
|
5549
5560
|
|
|
5550
5561
|
"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
|
|
5562
|
+
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
5563
|
|
|
5553
5564
|
/***/ }),
|
|
5554
5565
|
|