rsuite 5.4.1 → 5.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (129) hide show
  1. package/Button/styles/index.less +1 -5
  2. package/CHANGELOG.md +42 -0
  3. package/CheckTreePicker/styles/index.less +48 -47
  4. package/Drawer/styles/index.less +3 -0
  5. package/Dropdown/styles/index.less +3 -19
  6. package/Dropdown/styles/mixin.less +0 -2
  7. package/Modal/styles/index.less +23 -22
  8. package/Navbar/styles/index.less +20 -8
  9. package/Picker/styles/mixin.less +3 -2
  10. package/README.md +1 -1
  11. package/Sidenav/styles/index.less +58 -57
  12. package/TreePicker/styles/index.less +3 -3
  13. package/cjs/Affix/Affix.js +3 -1
  14. package/cjs/Calendar/useCalendarDate.d.ts +1 -1
  15. package/cjs/Calendar/useCalendarDate.js +1 -1
  16. package/cjs/Carousel/Carousel.js +7 -1
  17. package/cjs/Cascader/Cascader.js +13 -2
  18. package/cjs/CheckPicker/CheckPicker.d.ts +5 -2
  19. package/cjs/CheckPicker/test/CheckPicker.test.js +8 -0
  20. package/cjs/CheckTreePicker/CheckTreePicker.js +1 -1
  21. package/cjs/CheckTreePicker/utils.js +1 -1
  22. package/cjs/CustomProvider/CustomProvider.d.ts +14 -14
  23. package/cjs/CustomProvider/CustomProvider.js +4 -3
  24. package/cjs/DatePicker/DatePicker.d.ts +1 -1
  25. package/cjs/DatePicker/DatePicker.js +2 -4
  26. package/cjs/Disclosure/Disclosure.d.ts +8 -5
  27. package/cjs/Disclosure/Disclosure.js +49 -9
  28. package/cjs/Disclosure/DisclosureButton.d.ts +2 -2
  29. package/cjs/Disclosure/DisclosureContext.d.ts +6 -1
  30. package/cjs/Dropdown/Dropdown.d.ts +5 -0
  31. package/cjs/Dropdown/Dropdown.js +1 -1
  32. package/cjs/Dropdown/DropdownItem.js +9 -10
  33. package/cjs/Dropdown/DropdownMenu.js +69 -20
  34. package/cjs/Dropdown/test/Dropdown.test.d.ts +1 -0
  35. package/cjs/Dropdown/test/Dropdown.test.js +30 -0
  36. package/cjs/InputNumber/InputNumber.d.ts +1 -1
  37. package/cjs/InputNumber/InputNumber.js +36 -6
  38. package/cjs/InputNumber/test/InputNumber.test.d.ts +1 -0
  39. package/cjs/InputNumber/test/InputNumber.test.js +14 -0
  40. package/cjs/Modal/Modal.js +34 -22
  41. package/cjs/Modal/utils.js +16 -8
  42. package/cjs/MultiCascader/MultiCascader.js +7 -3
  43. package/cjs/Nav/NavItem.js +3 -1
  44. package/cjs/Navbar/index.d.ts +1 -0
  45. package/cjs/Navbar/index.js +4 -3
  46. package/cjs/Overlay/Modal.js +10 -27
  47. package/cjs/Picker/DropdownMenu.js +5 -0
  48. package/cjs/Picker/PickerToggle.js +2 -4
  49. package/cjs/RangeSlider/RangeSlider.d.ts +12 -2
  50. package/cjs/RangeSlider/RangeSlider.js +35 -12
  51. package/cjs/SelectPicker/SelectPicker.d.ts +5 -2
  52. package/cjs/SelectPicker/test/SelectPicker.test.js +8 -0
  53. package/cjs/Uploader/UploadFileItem.d.ts +1 -1
  54. package/cjs/Uploader/UploadFileItem.js +1 -1
  55. package/cjs/Uploader/Uploader.js +3 -0
  56. package/cjs/utils/index.d.ts +1 -0
  57. package/cjs/utils/index.js +7 -2
  58. package/cjs/utils/propTypeChecker.d.ts +2 -6
  59. package/cjs/utils/propTypeChecker.js +7 -59
  60. package/cjs/utils/treeUtils.js +4 -3
  61. package/cjs/utils/useClickOutside.js +6 -2
  62. package/cjs/utils/useMount.d.ts +2 -0
  63. package/cjs/utils/useMount.js +19 -0
  64. package/dist/rsuite-rtl.css +416 -264
  65. package/dist/rsuite-rtl.min.css +1 -1
  66. package/dist/rsuite-rtl.min.css.map +1 -1
  67. package/dist/rsuite.css +416 -264
  68. package/dist/rsuite.js +55 -33
  69. package/dist/rsuite.js.map +1 -1
  70. package/dist/rsuite.min.css +1 -1
  71. package/dist/rsuite.min.css.map +1 -1
  72. package/dist/rsuite.min.js +1 -1
  73. package/dist/rsuite.min.js.map +1 -1
  74. package/esm/Affix/Affix.js +4 -2
  75. package/esm/Calendar/useCalendarDate.d.ts +1 -1
  76. package/esm/Calendar/useCalendarDate.js +1 -1
  77. package/esm/Carousel/Carousel.js +9 -3
  78. package/esm/Cascader/Cascader.js +13 -2
  79. package/esm/CheckPicker/CheckPicker.d.ts +5 -2
  80. package/esm/CheckPicker/test/CheckPicker.test.js +7 -0
  81. package/esm/CheckTreePicker/CheckTreePicker.js +1 -1
  82. package/esm/CheckTreePicker/utils.js +1 -1
  83. package/esm/CustomProvider/CustomProvider.d.ts +14 -14
  84. package/esm/CustomProvider/CustomProvider.js +2 -2
  85. package/esm/DatePicker/DatePicker.d.ts +1 -1
  86. package/esm/DatePicker/DatePicker.js +2 -3
  87. package/esm/Disclosure/Disclosure.d.ts +8 -5
  88. package/esm/Disclosure/Disclosure.js +50 -11
  89. package/esm/Disclosure/DisclosureButton.d.ts +2 -2
  90. package/esm/Disclosure/DisclosureContext.d.ts +6 -1
  91. package/esm/Dropdown/Dropdown.d.ts +5 -0
  92. package/esm/Dropdown/Dropdown.js +1 -1
  93. package/esm/Dropdown/DropdownItem.js +9 -9
  94. package/esm/Dropdown/DropdownMenu.js +69 -20
  95. package/esm/Dropdown/test/Dropdown.test.d.ts +1 -0
  96. package/esm/Dropdown/test/Dropdown.test.js +22 -0
  97. package/esm/InputNumber/InputNumber.d.ts +1 -1
  98. package/esm/InputNumber/InputNumber.js +38 -7
  99. package/esm/InputNumber/test/InputNumber.test.d.ts +1 -0
  100. package/esm/InputNumber/test/InputNumber.test.js +7 -0
  101. package/esm/Modal/Modal.js +36 -24
  102. package/esm/Modal/utils.js +16 -8
  103. package/esm/MultiCascader/MultiCascader.js +7 -3
  104. package/esm/Nav/NavItem.js +3 -1
  105. package/esm/Navbar/index.d.ts +1 -0
  106. package/esm/Navbar/index.js +1 -0
  107. package/esm/Overlay/Modal.js +10 -27
  108. package/esm/Picker/DropdownMenu.js +5 -0
  109. package/esm/Picker/PickerToggle.js +2 -4
  110. package/esm/RangeSlider/RangeSlider.d.ts +12 -2
  111. package/esm/RangeSlider/RangeSlider.js +35 -12
  112. package/esm/SelectPicker/SelectPicker.d.ts +5 -2
  113. package/esm/SelectPicker/test/SelectPicker.test.js +7 -0
  114. package/esm/Uploader/UploadFileItem.d.ts +1 -1
  115. package/esm/Uploader/UploadFileItem.js +1 -1
  116. package/esm/Uploader/Uploader.js +4 -1
  117. package/esm/utils/index.d.ts +1 -0
  118. package/esm/utils/index.js +2 -1
  119. package/esm/utils/propTypeChecker.d.ts +2 -6
  120. package/esm/utils/propTypeChecker.js +7 -59
  121. package/esm/utils/treeUtils.js +6 -3
  122. package/esm/utils/useClickOutside.js +6 -2
  123. package/esm/utils/useMount.d.ts +2 -0
  124. package/esm/utils/useMount.js +13 -0
  125. package/package.json +2 -2
  126. package/styles/color-modes/dark.less +1 -0
  127. package/styles/color-modes/high-contrast.less +1 -0
  128. package/styles/color-modes/light.less +1 -0
  129. package/styles/mixins/utilities.less +17 -5
package/dist/rsuite.js CHANGED
@@ -1506,7 +1506,7 @@ eval("\n\nexports.__esModule = true;\nexports.default = void 0;\n\nvar _insertCs
1506
1506
  /***/ (function(__unused_webpack_module, exports, __webpack_require__) {
1507
1507
 
1508
1508
  "use strict";
1509
- 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 setOffset((0, _getOffset.default)(mountRef.current));\n }, [mountRef]); // 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, _react.useEffect)(updateOffset, [updateOffset]);\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.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 }, [fixed, offset, containerOffset, onChange, top]); // 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 rest = (0, _objectWithoutPropertiesLoose2.default)(props, [\"as\", \"classPrefix\", \"className\", \"children\", \"container\", \"top\", \"onChange\"]);\n var mountRef = (0, _react.useRef)(null);\n var offset = useOffset(mountRef);\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 var placeholderStyles = fixed ? {\n width: offset === null || offset === void 0 ? void 0 : offset.width,\n height: offset === null || offset === void 0 ? void 0 : offset.height\n } : undefined;\n var fixedStyles = {\n position: 'fixed',\n top: top,\n left: offset === null || offset === void 0 ? void 0 : offset.left,\n width: offset === null || offset === void 0 ? void 0 : offset.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: 124,\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: 125,\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: 128,\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?");
1509
+ 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 setOffset((0, _getOffset.default)(mountRef.current));\n }, [mountRef]); // 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);\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.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 }, [fixed, offset, containerOffset, onChange, top]); // 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 rest = (0, _objectWithoutPropertiesLoose2.default)(props, [\"as\", \"classPrefix\", \"className\", \"children\", \"container\", \"top\", \"onChange\"]);\n var mountRef = (0, _react.useRef)(null);\n var offset = useOffset(mountRef);\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 var placeholderStyles = fixed ? {\n width: offset === null || offset === void 0 ? void 0 : offset.width,\n height: offset === null || offset === void 0 ? void 0 : offset.height\n } : undefined;\n var fixedStyles = {\n position: 'fixed',\n top: top,\n left: offset === null || offset === void 0 ? void 0 : offset.left,\n width: offset === null || offset === void 0 ? void 0 : offset.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: 128,\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: 129,\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: 132,\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?");
1510
1510
 
1511
1511
  /***/ }),
1512
1512
 
@@ -1946,7 +1946,7 @@ eval("\n\nvar _interopRequireWildcard = __webpack_require__(/*! @babel/runtime/h
1946
1946
  /***/ (function(__unused_webpack_module, exports, __webpack_require__) {
1947
1947
 
1948
1948
  "use strict";
1949
- eval("\n\nexports.__esModule = true;\nexports.default = void 0;\n\nvar _react = __webpack_require__(/*! react */ \"react\");\n\nvar _utils = __webpack_require__(/*! ../utils */ \"./src/utils/index.ts\");\n\nvar useCalendarDate = function useCalendarDate(value, defaultDate) {\n var _ref;\n\n var valueRef = (0, _react.useRef)(value);\n\n var _useState = (0, _react.useState)((_ref = value !== null && value !== void 0 ? value : defaultDate) !== null && _ref !== void 0 ? _ref : new Date()),\n calendarDate = _useState[0],\n setValue = _useState[1];\n\n var setCalendarDate = (0, _react.useCallback)(function (date) {\n if (date && (date === null || date === void 0 ? void 0 : date.valueOf()) !== (calendarDate === null || calendarDate === void 0 ? void 0 : calendarDate.valueOf())) {\n setValue(date);\n }\n }, [calendarDate]);\n (0, _utils.useUpdateEffect)(function () {\n var _valueRef$current;\n\n if ((value === null || value === void 0 ? void 0 : value.valueOf()) !== ((_valueRef$current = valueRef.current) === null || _valueRef$current === void 0 ? void 0 : _valueRef$current.valueOf())) {\n setCalendarDate(value);\n valueRef.current = value;\n }\n }, [value]);\n return {\n calendarDate: calendarDate,\n setCalendarDate: setCalendarDate\n };\n};\n\nvar _default = useCalendarDate;\nexports.default = _default;\n\n//# sourceURL=webpack://rsuite/./src/Calendar/useCalendarDate.ts?");
1949
+ eval("\n\nexports.__esModule = true;\nexports.default = void 0;\n\nvar _react = __webpack_require__(/*! react */ \"react\");\n\nvar _utils = __webpack_require__(/*! ../utils */ \"./src/utils/index.ts\");\n\nvar useCalendarDate = function useCalendarDate(value, defaultDate) {\n var _ref;\n\n var valueRef = (0, _react.useRef)(value);\n\n var _useState = (0, _react.useState)((_ref = value !== null && value !== void 0 ? value : defaultDate) !== null && _ref !== void 0 ? _ref : new Date()),\n calendarDate = _useState[0],\n setValue = _useState[1];\n\n var setCalendarDate = (0, _react.useCallback)(function (date) {\n if (date && (date === null || date === void 0 ? void 0 : date.valueOf()) !== (calendarDate === null || calendarDate === void 0 ? void 0 : calendarDate.valueOf())) {\n setValue(date);\n }\n }, [calendarDate]);\n (0, _utils.useUpdateEffect)(function () {\n var _valueRef$current;\n\n if ((value === null || value === void 0 ? void 0 : value.valueOf()) !== ((_valueRef$current = valueRef.current) === null || _valueRef$current === void 0 ? void 0 : _valueRef$current.valueOf())) {\n setCalendarDate(value !== null && value !== void 0 ? value : new Date());\n valueRef.current = value;\n }\n }, [value]);\n return {\n calendarDate: calendarDate,\n setCalendarDate: setCalendarDate\n };\n};\n\nvar _default = useCalendarDate;\nexports.default = _default;\n\n//# sourceURL=webpack://rsuite/./src/Calendar/useCalendarDate.ts?");
1950
1950
 
1951
1951
  /***/ }),
1952
1952
 
@@ -1957,7 +1957,7 @@ eval("\n\nexports.__esModule = true;\nexports.default = void 0;\n\nvar _react =
1957
1957
  /***/ (function(__unused_webpack_module, exports, __webpack_require__) {
1958
1958
 
1959
1959
  "use strict";
1960
- 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 _extends4 = _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 _utils = __webpack_require__(/*! ../utils */ \"./src/utils/index.ts\");\n\nvar _jsxFileName = \"/home/runner/work/rsuite/rsuite/src/Carousel/Carousel.tsx\",\n _this = void 0;\n\nvar Carousel = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {\n var _sliderStyles, _ref;\n\n var _props$as = props.as,\n Component = _props$as === void 0 ? 'div' : _props$as,\n children = props.children,\n _props$classPrefix = props.classPrefix,\n classPrefix = _props$classPrefix === void 0 ? 'carousel' : _props$classPrefix,\n className = props.className,\n _props$placement = props.placement,\n placement = _props$placement === void 0 ? 'bottom' : _props$placement,\n _props$shape = props.shape,\n shape = _props$shape === void 0 ? 'dot' : _props$shape,\n autoplay = props.autoplay,\n _props$autoplayInterv = props.autoplayInterval,\n autoplayInterval = _props$autoplayInterv === void 0 ? 4000 : _props$autoplayInterv,\n onSelect = props.onSelect,\n onSlideStart = props.onSlideStart,\n onSlideEnd = props.onSlideEnd,\n rest = (0, _objectWithoutPropertiesLoose2.default)(props, [\"as\", \"children\", \"classPrefix\", \"className\", \"placement\", \"shape\", \"autoplay\", \"autoplayInterval\", \"onSelect\", \"onSlideStart\", \"onSlideEnd\"]);\n\n var _useCustom = (0, _utils.useCustom)('Carousel'),\n rtl = _useCustom.rtl;\n\n var _useClassNames = (0, _utils.useClassNames)(classPrefix),\n prefix = _useClassNames.prefix,\n merge = _useClassNames.merge,\n withClassPrefix = _useClassNames.withClassPrefix;\n\n var count = _utils.ReactChildren.count(children);\n\n var labels = [];\n var vertical = placement === 'left' || placement === 'right';\n var lengthKey = vertical ? 'height' : 'width';\n\n var _useState = (0, _react.useState)(0),\n activeIndex = _useState[0],\n setActiveIndex = _useState[1];\n\n var _useState2 = (0, _react.useState)(0),\n lastIndex = _useState2[0],\n setLastIndex = _useState2[1];\n\n var handleSlide = function handleSlide(nextActiveIndex, event) {\n clear();\n var index = nextActiveIndex !== null && nextActiveIndex !== void 0 ? nextActiveIndex : activeIndex + 1; // When index is greater than count, start from 1 again.\n\n var nextIndex = index % count;\n setActiveIndex(nextIndex);\n onSlideStart === null || onSlideStart === void 0 ? void 0 : onSlideStart(nextIndex, event);\n setLastIndex(nextActiveIndex == null ? activeIndex : nextIndex);\n reset();\n };\n\n var handleChange = function handleChange(event) {\n var activeIndex = +event.target.value;\n handleSlide(activeIndex, event);\n onSelect === null || onSelect === void 0 ? void 0 : onSelect(activeIndex, event);\n };\n\n var handleTransitionEnd = (0, _react.useCallback)(function (event) {\n onSlideEnd === null || onSlideEnd === void 0 ? void 0 : onSlideEnd(activeIndex, event);\n }, [activeIndex, onSlideEnd]); // Set a timer for automatic playback.\n // `autoplay` needs to be cast to boolean type to avoid undefined parameters.\n\n var _useTimeout = (0, _utils.useTimeout)(handleSlide, autoplayInterval, !!autoplay && count > 1),\n clear = _useTimeout.clear,\n reset = _useTimeout.reset;\n\n var uniqueId = (0, _react.useMemo)(function () {\n return (0, _utils.guid)();\n }, []);\n\n var items = _react.default.Children.map(children, function (child, index) {\n var _extends2;\n\n if (!child) {\n return;\n }\n\n var inputKey = \"indicator_\" + uniqueId + \"_\" + index;\n labels.push( /*#__PURE__*/_react.default.createElement(\"li\", {\n key: \"label\" + index,\n className: prefix('label-wrapper'),\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 96,\n columnNumber: 11\n }\n }, /*#__PURE__*/_react.default.createElement(\"input\", {\n name: inputKey,\n id: inputKey,\n type: \"radio\",\n onChange: handleChange,\n value: index,\n checked: activeIndex === index,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 97,\n columnNumber: 13\n }\n }), /*#__PURE__*/_react.default.createElement(\"label\", {\n htmlFor: inputKey,\n className: prefix('label'),\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 105,\n columnNumber: 13\n }\n })));\n return /*#__PURE__*/_react.default.cloneElement(child, {\n key: \"slider-item\" + index,\n 'aria-hidden': activeIndex !== index,\n style: (0, _extends4.default)({}, child.props.style, (_extends2 = {}, _extends2[lengthKey] = 100 / count + \"%\", _extends2)),\n className: (0, _classnames.default)(prefix('slider-item'), child.props.className)\n });\n });\n\n var classes = merge(className, withClassPrefix(\"placement-\" + placement, \"shape-\" + shape));\n var positiveOrder = vertical || !rtl;\n var sign = positiveOrder ? '-' : '';\n var activeRatio = \"\" + sign + 100 / count * activeIndex + \"%\";\n var sliderStyles = (_sliderStyles = {}, _sliderStyles[lengthKey] = count * 100 + \"%\", _sliderStyles.transform = vertical ? \"translate3d(0, \" + activeRatio + \" ,0)\" : \"translate3d(\" + activeRatio + \", 0 ,0)\", _sliderStyles);\n var showMask = count > 1 && activeIndex === 0 && activeIndex !== lastIndex;\n return /*#__PURE__*/_react.default.createElement(Component, (0, _extends4.default)({}, rest, {\n ref: ref,\n className: classes,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 132,\n columnNumber: 7\n }\n }), /*#__PURE__*/_react.default.createElement(\"div\", {\n className: prefix('content'),\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 133,\n columnNumber: 9\n }\n }, /*#__PURE__*/_react.default.createElement(\"div\", {\n className: prefix('slider'),\n style: sliderStyles,\n onTransitionEnd: handleTransitionEnd,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 134,\n columnNumber: 11\n }\n }, items), showMask && /*#__PURE__*/_react.default.createElement(\"div\", {\n className: prefix('slider-after', {\n 'slider-after-vertical': vertical\n }),\n style: (_ref = {}, _ref[lengthKey] = '200%', _ref),\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 142,\n columnNumber: 13\n }\n }, [items[items.length - 1], items[0]].map(function (node) {\n var _extends3;\n\n return /*#__PURE__*/_react.default.cloneElement(node, {\n key: node.key,\n style: (0, _extends4.default)({}, node.props.style, (_extends3 = {}, _extends3[lengthKey] = '50%', _extends3))\n });\n }))), /*#__PURE__*/_react.default.createElement(\"div\", {\n className: prefix('toolbar'),\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 155,\n columnNumber: 9\n }\n }, /*#__PURE__*/_react.default.createElement(\"ul\", {\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 156,\n columnNumber: 11\n }\n }, labels)));\n});\n\nCarousel.displayName = 'Carousel';\nCarousel.propTypes = {\n as: _propTypes.default.elementType,\n className: _propTypes.default.string,\n classPrefix: _propTypes.default.string,\n autoplay: _propTypes.default.bool,\n autoplayInterval: _propTypes.default.number,\n placement: _propTypes.default.oneOf(['top', 'bottom', 'left', 'right']),\n shape: _propTypes.default.oneOf(['dot', 'bar']),\n onSelect: _propTypes.default.func,\n onSlideStart: _propTypes.default.func,\n onSlideEnd: _propTypes.default.func\n};\nvar _default = Carousel;\nexports.default = _default;\n\n//# sourceURL=webpack://rsuite/./src/Carousel/Carousel.tsx?");
1960
+ 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 _extends4 = _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 _utils = __webpack_require__(/*! ../utils */ \"./src/utils/index.ts\");\n\nvar _jsxFileName = \"/home/runner/work/rsuite/rsuite/src/Carousel/Carousel.tsx\",\n _this = void 0;\n\nvar Carousel = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {\n var _sliderStyles, _ref;\n\n var _props$as = props.as,\n Component = _props$as === void 0 ? 'div' : _props$as,\n children = props.children,\n _props$classPrefix = props.classPrefix,\n classPrefix = _props$classPrefix === void 0 ? 'carousel' : _props$classPrefix,\n className = props.className,\n _props$placement = props.placement,\n placement = _props$placement === void 0 ? 'bottom' : _props$placement,\n _props$shape = props.shape,\n shape = _props$shape === void 0 ? 'dot' : _props$shape,\n autoplay = props.autoplay,\n _props$autoplayInterv = props.autoplayInterval,\n autoplayInterval = _props$autoplayInterv === void 0 ? 4000 : _props$autoplayInterv,\n onSelect = props.onSelect,\n onSlideStart = props.onSlideStart,\n onSlideEnd = props.onSlideEnd,\n rest = (0, _objectWithoutPropertiesLoose2.default)(props, [\"as\", \"children\", \"classPrefix\", \"className\", \"placement\", \"shape\", \"autoplay\", \"autoplayInterval\", \"onSelect\", \"onSlideStart\", \"onSlideEnd\"]);\n\n var _useCustom = (0, _utils.useCustom)('Carousel'),\n rtl = _useCustom.rtl;\n\n var _useClassNames = (0, _utils.useClassNames)(classPrefix),\n prefix = _useClassNames.prefix,\n merge = _useClassNames.merge,\n withClassPrefix = _useClassNames.withClassPrefix;\n\n var count = _utils.ReactChildren.count(children);\n\n var labels = [];\n var vertical = placement === 'left' || placement === 'right';\n var lengthKey = vertical ? 'height' : 'width';\n\n var _useState = (0, _react.useState)(0),\n activeIndex = _useState[0],\n setActiveIndex = _useState[1];\n\n var _useState2 = (0, _react.useState)(0),\n lastIndex = _useState2[0],\n setLastIndex = _useState2[1];\n\n var rootRef = (0, _react.useRef)(null);\n\n var handleSlide = function handleSlide(nextActiveIndex, event) {\n if (!rootRef.current) {\n return;\n }\n\n clear();\n var index = nextActiveIndex !== null && nextActiveIndex !== void 0 ? nextActiveIndex : activeIndex + 1; // When index is greater than count, start from 1 again.\n\n var nextIndex = index % count;\n setActiveIndex(nextIndex);\n onSlideStart === null || onSlideStart === void 0 ? void 0 : onSlideStart(nextIndex, event);\n setLastIndex(nextActiveIndex == null ? activeIndex : nextIndex);\n reset();\n };\n\n var handleChange = function handleChange(event) {\n var activeIndex = +event.target.value;\n handleSlide(activeIndex, event);\n onSelect === null || onSelect === void 0 ? void 0 : onSelect(activeIndex, event);\n };\n\n var handleTransitionEnd = (0, _react.useCallback)(function (event) {\n onSlideEnd === null || onSlideEnd === void 0 ? void 0 : onSlideEnd(activeIndex, event);\n }, [activeIndex, onSlideEnd]); // Set a timer for automatic playback.\n // `autoplay` needs to be cast to boolean type to avoid undefined parameters.\n\n var _useTimeout = (0, _utils.useTimeout)(handleSlide, autoplayInterval, !!autoplay && count > 1),\n clear = _useTimeout.clear,\n reset = _useTimeout.reset;\n\n var uniqueId = (0, _react.useMemo)(function () {\n return (0, _utils.guid)();\n }, []);\n\n var items = _react.default.Children.map(children, function (child, index) {\n var _extends2;\n\n if (!child) {\n return;\n }\n\n var inputKey = \"indicator_\" + uniqueId + \"_\" + index;\n labels.push( /*#__PURE__*/_react.default.createElement(\"li\", {\n key: \"label\" + index,\n className: prefix('label-wrapper'),\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 101,\n columnNumber: 11\n }\n }, /*#__PURE__*/_react.default.createElement(\"input\", {\n name: inputKey,\n id: inputKey,\n type: \"radio\",\n onChange: handleChange,\n value: index,\n checked: activeIndex === index,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 102,\n columnNumber: 13\n }\n }), /*#__PURE__*/_react.default.createElement(\"label\", {\n htmlFor: inputKey,\n className: prefix('label'),\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 110,\n columnNumber: 13\n }\n })));\n return /*#__PURE__*/_react.default.cloneElement(child, {\n key: \"slider-item\" + index,\n 'aria-hidden': activeIndex !== index,\n style: (0, _extends4.default)({}, child.props.style, (_extends2 = {}, _extends2[lengthKey] = 100 / count + \"%\", _extends2)),\n className: (0, _classnames.default)(prefix('slider-item'), child.props.className)\n });\n });\n\n var classes = merge(className, withClassPrefix(\"placement-\" + placement, \"shape-\" + shape));\n var positiveOrder = vertical || !rtl;\n var sign = positiveOrder ? '-' : '';\n var activeRatio = \"\" + sign + 100 / count * activeIndex + \"%\";\n var sliderStyles = (_sliderStyles = {}, _sliderStyles[lengthKey] = count * 100 + \"%\", _sliderStyles.transform = vertical ? \"translate3d(0, \" + activeRatio + \" ,0)\" : \"translate3d(\" + activeRatio + \", 0 ,0)\", _sliderStyles);\n var showMask = count > 1 && activeIndex === 0 && activeIndex !== lastIndex;\n return /*#__PURE__*/_react.default.createElement(Component, (0, _extends4.default)({}, rest, {\n ref: (0, _utils.mergeRefs)(ref, rootRef),\n className: classes,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 137,\n columnNumber: 7\n }\n }), /*#__PURE__*/_react.default.createElement(\"div\", {\n className: prefix('content'),\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 138,\n columnNumber: 9\n }\n }, /*#__PURE__*/_react.default.createElement(\"div\", {\n className: prefix('slider'),\n style: sliderStyles,\n onTransitionEnd: handleTransitionEnd,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 139,\n columnNumber: 11\n }\n }, items), showMask && /*#__PURE__*/_react.default.createElement(\"div\", {\n className: prefix('slider-after', {\n 'slider-after-vertical': vertical\n }),\n style: (_ref = {}, _ref[lengthKey] = '200%', _ref),\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 147,\n columnNumber: 13\n }\n }, [items[items.length - 1], items[0]].map(function (node) {\n var _extends3;\n\n return /*#__PURE__*/_react.default.cloneElement(node, {\n key: node.key,\n style: (0, _extends4.default)({}, node.props.style, (_extends3 = {}, _extends3[lengthKey] = '50%', _extends3))\n });\n }))), /*#__PURE__*/_react.default.createElement(\"div\", {\n className: prefix('toolbar'),\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 160,\n columnNumber: 9\n }\n }, /*#__PURE__*/_react.default.createElement(\"ul\", {\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 161,\n columnNumber: 11\n }\n }, labels)));\n});\n\nCarousel.displayName = 'Carousel';\nCarousel.propTypes = {\n as: _propTypes.default.elementType,\n className: _propTypes.default.string,\n classPrefix: _propTypes.default.string,\n autoplay: _propTypes.default.bool,\n autoplayInterval: _propTypes.default.number,\n placement: _propTypes.default.oneOf(['top', 'bottom', 'left', 'right']),\n shape: _propTypes.default.oneOf(['dot', 'bar']),\n onSelect: _propTypes.default.func,\n onSlideStart: _propTypes.default.func,\n onSlideEnd: _propTypes.default.func\n};\nvar _default = Carousel;\nexports.default = _default;\n\n//# sourceURL=webpack://rsuite/./src/Carousel/Carousel.tsx?");
1961
1961
 
1962
1962
  /***/ }),
1963
1963
 
@@ -1979,7 +1979,7 @@ eval("\n\nvar _interopRequireDefault = __webpack_require__(/*! @babel/runtime/he
1979
1979
  /***/ (function(__unused_webpack_module, exports, __webpack_require__) {
1980
1980
 
1981
1981
  "use strict";
1982
- 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 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\", \"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 _useControlled = (0, _utils2.useControlled)(valueProp, defaultValue),\n value = _useControlled[0],\n setValue = _useControlled[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 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 (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]); // 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 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 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) {\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 var nextValue = node[valueKey];\n onSelect === null || onSelect === void 0 ? void 0 : onSelect(node, cascadePaths, event);\n setSelectedPaths(cascadePaths); // 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 addColumn(data, cascadePaths.length);\n });\n } else {\n node.loading = false;\n node[childrenKey] = children;\n addColumn(children, cascadePaths.length);\n }\n } else if ((_node$childrenKey2 = node[childrenKey]) !== null && _node$childrenKey2 !== void 0 && _node$childrenKey2.length) {\n addColumn(node[childrenKey], cascadePaths.length);\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: 423,\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 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: 441,\n columnNumber: 7\n }\n }, 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: 453,\n columnNumber: 11\n }\n }, node[labelKey]);\n }));\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: 468,\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: 472,\n columnNumber: 11\n }\n }, locale.noResultsText));\n };\n\n var renderDropdownMenu = function renderDropdownMenu(positionProps, speakerRef) {\n var _ref = positionProps || {},\n left = _ref.left,\n top = _ref.top,\n className = _ref.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: 484,\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: 492,\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,\n onSelect: handleSelect,\n renderMenu: renderMenu,\n renderMenuItem: renderMenuItem,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 502,\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: 531,\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: 534,\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: 566,\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: 574,\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: 575,\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 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?");
1982
+ 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 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\", \"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 _useControlled = (0, _utils2.useControlled)(valueProp, defaultValue),\n value = _useControlled[0],\n setValue = _useControlled[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 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 (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]); // 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 var nextValue = node[valueKey];\n onSelect === null || onSelect === void 0 ? void 0 : onSelect(node, cascadePaths, event);\n setSelectedPaths(cascadePaths); // 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, cascadePaths.length);\n }\n });\n } else {\n node.loading = false;\n node[childrenKey] = children;\n addColumn(children, cascadePaths.length);\n }\n } else if ((_node$childrenKey2 = node[childrenKey]) !== null && _node$childrenKey2 !== void 0 && _node$childrenKey2.length) {\n addColumn(node[childrenKey], cascadePaths.length);\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: 433,\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 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: 451,\n columnNumber: 7\n }\n }, 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: 463,\n columnNumber: 11\n }\n }, node[labelKey]);\n }));\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: 478,\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: 482,\n columnNumber: 11\n }\n }, locale.noResultsText));\n };\n\n var renderDropdownMenu = function renderDropdownMenu(positionProps, speakerRef) {\n var _ref = positionProps || {},\n left = _ref.left,\n top = _ref.top,\n className = _ref.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: 494,\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: 502,\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,\n onSelect: handleSelect,\n renderMenu: renderMenu,\n renderMenuItem: renderMenuItem,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 512,\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: 541,\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: 544,\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: 576,\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: 584,\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: 585,\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 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?");
1983
1983
 
1984
1984
  /***/ }),
1985
1985
 
@@ -2023,7 +2023,7 @@ eval("\n\nvar _interopRequireDefault = __webpack_require__(/*! @babel/runtime/he
2023
2023
  /***/ (function(__unused_webpack_module, exports, __webpack_require__) {
2024
2024
 
2025
2025
  "use strict";
2026
- 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 _taggedTemplateLiteralLoose2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/taggedTemplateLiteralLoose */ \"./node_modules/@babel/runtime/helpers/taggedTemplateLiteralLoose.js\"));\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 _clone = _interopRequireDefault(__webpack_require__(/*! lodash/clone */ \"./node_modules/lodash/clone.js\"));\n\nvar _isUndefined = _interopRequireDefault(__webpack_require__(/*! lodash/isUndefined */ \"./node_modules/lodash/isUndefined.js\"));\n\nvar _isFunction = _interopRequireDefault(__webpack_require__(/*! lodash/isFunction */ \"./node_modules/lodash/isFunction.js\"));\n\nvar _remove = _interopRequireDefault(__webpack_require__(/*! lodash/remove */ \"./node_modules/lodash/remove.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 _treeUtils = __webpack_require__(/*! ../utils/treeUtils */ \"./src/utils/treeUtils.ts\");\n\nvar _utils = __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/CheckPicker/CheckPicker.tsx\",\n _this = void 0,\n _templateObject;\n\nvar emptyArray = [];\n\nvar CheckPicker = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {\n var _props$as = props.as,\n Component = _props$as === void 0 ? 'div' : _props$as,\n _props$appearance = props.appearance,\n appearance = _props$appearance === void 0 ? 'default' : _props$appearance,\n _props$classPrefix = props.classPrefix,\n classPrefix = _props$classPrefix === void 0 ? 'picker' : _props$classPrefix,\n _props$countable = props.countable,\n countable = _props$countable === void 0 ? true : _props$countable,\n _props$data = props.data,\n data = _props$data === void 0 ? emptyArray : _props$data,\n _props$disabledItemVa = props.disabledItemValues,\n disabledItemValues = _props$disabledItemVa === void 0 ? emptyArray : _props$disabledItemVa,\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 _props$searchable = props.searchable,\n searchable = _props$searchable === void 0 ? true : _props$searchable,\n virtualized = props.virtualized,\n _props$cleanable = props.cleanable,\n cleanable = _props$cleanable === void 0 ? true : _props$cleanable,\n _props$placement = props.placement,\n placement = _props$placement === void 0 ? 'bottomStart' : _props$placement,\n _props$menuAutoWidth = props.menuAutoWidth,\n menuAutoWidth = _props$menuAutoWidth === void 0 ? true : _props$menuAutoWidth,\n _props$menuMaxHeight = props.menuMaxHeight,\n menuMaxHeight = _props$menuMaxHeight === void 0 ? 320 : _props$menuMaxHeight,\n menuClassName = props.menuClassName,\n menuStyle = props.menuStyle,\n overrideLocale = props.locale,\n placeholder = props.placeholder,\n disabled = props.disabled,\n toggleAs = props.toggleAs,\n style = props.style,\n sticky = props.sticky,\n valueProp = props.value,\n defaultValue = props.defaultValue,\n groupBy = props.groupBy,\n listProps = props.listProps,\n id = props.id,\n sort = props.sort,\n searchBy = props.searchBy,\n renderMenuItem = props.renderMenuItem,\n renderMenuGroup = props.renderMenuGroup,\n renderValue = props.renderValue,\n renderExtraFooter = props.renderExtraFooter,\n renderMenu = props.renderMenu,\n onGroupTitleClick = props.onGroupTitleClick,\n onSearch = props.onSearch,\n onEnter = props.onEnter,\n onEntered = props.onEntered,\n onExited = props.onExited,\n onClean = props.onClean,\n onChange = props.onChange,\n onSelect = props.onSelect,\n onClose = props.onClose,\n onOpen = props.onOpen,\n rest = (0, _objectWithoutPropertiesLoose2.default)(props, [\"as\", \"appearance\", \"classPrefix\", \"countable\", \"data\", \"disabledItemValues\", \"valueKey\", \"labelKey\", \"searchable\", \"virtualized\", \"cleanable\", \"placement\", \"menuAutoWidth\", \"menuMaxHeight\", \"menuClassName\", \"menuStyle\", \"locale\", \"placeholder\", \"disabled\", \"toggleAs\", \"style\", \"sticky\", \"value\", \"defaultValue\", \"groupBy\", \"listProps\", \"id\", \"sort\", \"searchBy\", \"renderMenuItem\", \"renderMenuGroup\", \"renderValue\", \"renderExtraFooter\", \"renderMenu\", \"onGroupTitleClick\", \"onSearch\", \"onEnter\", \"onEntered\", \"onExited\", \"onClean\", \"onChange\", \"onSelect\", \"onClose\", \"onOpen\"]);\n var triggerRef = (0, _react.useRef)(null);\n var targetRef = (0, _react.useRef)(null);\n var overlayRef = (0, _react.useRef)(null);\n var searchInputRef = (0, _react.useRef)(null);\n\n var _useCustom = (0, _utils.useCustom)('Picker', overrideLocale),\n locale = _useCustom.locale;\n\n var _useControlled = (0, _utils.useControlled)(valueProp, defaultValue || []),\n value = _useControlled[0],\n setValue = _useControlled[1]; // Used to hover the focuse item when trigger `onKeydown`\n\n\n var _useFocusItemValue = (0, _Picker.useFocusItemValue)(value === null || value === void 0 ? void 0 : value[0], {\n data: data,\n valueKey: valueKey,\n target: function target() {\n return overlayRef.current;\n }\n }),\n focusItemValue = _useFocusItemValue.focusItemValue,\n setFocusItemValue = _useFocusItemValue.setFocusItemValue,\n onFocusItem = _useFocusItemValue.onKeyDown;\n\n var handleSearchCallback = (0, _react.useCallback)(function (searchKeyword, filteredData, event) {\n var _filteredData$;\n\n // The first option after filtering is the focus.\n setFocusItemValue(filteredData === null || filteredData === void 0 ? void 0 : (_filteredData$ = filteredData[0]) === null || _filteredData$ === void 0 ? void 0 : _filteredData$[valueKey]);\n onSearch === null || onSearch === void 0 ? void 0 : onSearch(searchKeyword, event);\n }, [setFocusItemValue, onSearch, valueKey]); // Use search keywords to filter options.\n\n var _useSearch = (0, _Picker.useSearch)({\n labelKey: labelKey,\n data: data,\n searchBy: searchBy,\n callback: handleSearchCallback\n }),\n searchKeyword = _useSearch.searchKeyword,\n filteredData = _useSearch.filteredData,\n setSearchKeyword = _useSearch.setSearchKeyword,\n handleSearch = _useSearch.handleSearch,\n checkShouldDisplay = _useSearch.checkShouldDisplay; // Use component active state to support keyboard events.\n\n\n var _useState = (0, _react.useState)(false),\n active = _useState[0],\n setActive = _useState[1]; // A list of shortcut options.\n // when opened again, the selected options are displayed at the top.\n\n\n var _useState2 = (0, _react.useState)([]),\n stickyItems = _useState2[0],\n setStickyItems = _useState2[1];\n\n var initStickyItems = function initStickyItems() {\n if (!sticky) {\n return;\n }\n\n var nextStickyItems = [];\n\n if (data && value.length) {\n nextStickyItems = data.filter(function (item) {\n return value.some(function (v) {\n return v === item[valueKey];\n });\n });\n }\n\n setStickyItems(nextStickyItems);\n };\n\n var handleChangeValue = (0, _react.useCallback)(function (value, event) {\n onChange === null || onChange === void 0 ? void 0 : onChange(value, event);\n }, [onChange]);\n var handleClean = (0, _react.useCallback)(function (event) {\n if (disabled || !cleanable) {\n return;\n }\n\n setValue([]);\n onClean === null || onClean === void 0 ? void 0 : onClean(event);\n handleChangeValue([], event);\n }, [disabled, cleanable, setValue, onClean, handleChangeValue]);\n\n var handleMenuPressEnter = function handleMenuPressEnter(event) {\n var nextValue = (0, _clone.default)(value);\n\n if (!focusItemValue) {\n return;\n }\n\n if (!nextValue.some(function (v) {\n return (0, _utils.shallowEqual)(v, focusItemValue);\n })) {\n nextValue.push(focusItemValue);\n } else {\n (0, _remove.default)(nextValue, function (itemVal) {\n return (0, _utils.shallowEqual)(itemVal, focusItemValue);\n });\n }\n\n var focusItem = data.find(function (item) {\n return (0, _utils.shallowEqual)(item === null || item === void 0 ? void 0 : item[valueKey], focusItemValue);\n });\n setValue(nextValue);\n handleSelect(nextValue, focusItem, event);\n handleChangeValue(nextValue, event);\n };\n\n var onPickerKeyDown = (0, _Picker.useToggleKeyDownEvent)((0, _extends2.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 onMenuPressBackspace: handleClean,\n onClose: function onClose() {\n setFocusItemValue(null);\n }\n }, rest));\n var handleSelect = (0, _react.useCallback)(function (nextItemValue, item, event) {\n onSelect === null || onSelect === void 0 ? void 0 : onSelect(nextItemValue, item, event);\n }, [onSelect]);\n var handleItemSelect = (0, _react.useCallback)(function (nextItemValue, item, event, checked) {\n var nextValue = (0, _clone.default)(value);\n\n if (checked) {\n nextValue.push(nextItemValue);\n } else {\n (0, _remove.default)(nextValue, function (itemVal) {\n return (0, _utils.shallowEqual)(itemVal, nextItemValue);\n });\n }\n\n setValue(nextValue);\n setFocusItemValue(nextItemValue);\n handleSelect(nextValue, item, event);\n handleChangeValue(nextValue, event);\n }, [value, setValue, handleSelect, handleChangeValue, setFocusItemValue]);\n var handleEntered = (0, _react.useCallback)(function () {\n setActive(true);\n onOpen === null || onOpen === void 0 ? void 0 : onOpen();\n }, [onOpen]);\n var handleExited = (0, _react.useCallback)(function () {\n setSearchKeyword('');\n setFocusItemValue(null);\n setActive(false);\n onClose === null || onClose === void 0 ? void 0 : onClose();\n }, [onClose, setFocusItemValue, setSearchKeyword]);\n (0, _Picker.usePublicMethods)(ref, {\n triggerRef: triggerRef,\n overlayRef: overlayRef,\n targetRef: targetRef\n });\n var selectedItems = data.filter(function (item) {\n return value === null || value === void 0 ? void 0 : value.some(function (val) {\n return (0, _utils.shallowEqual)(item[valueKey], val);\n });\n }) || [];\n /**\n * 1.Have a value and the value is valid.\n * 2.Regardless of whether the value is valid, as long as renderValue is set, it is judged to have a value.\n */\n\n var hasValue = selectedItems.length > 0 || (value === null || value === void 0 ? void 0 : value.length) > 0 && (0, _isFunction.default)(renderValue);\n\n var _useClassNames = (0, _utils.useClassNames)(classPrefix),\n prefix = _useClassNames.prefix,\n merge = _useClassNames.merge;\n\n var selectedElement = placeholder;\n\n if (selectedItems.length > 0) {\n selectedElement = /*#__PURE__*/_react.default.createElement(_Picker.SelectedElement, {\n selectedItems: selectedItems,\n countable: countable,\n valueKey: valueKey,\n labelKey: labelKey,\n prefix: prefix,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 285,\n columnNumber: 9\n }\n });\n }\n\n if ((value === null || value === void 0 ? void 0 : value.length) > 0 && (0, _isFunction.default)(renderValue)) {\n selectedElement = renderValue(value, selectedItems, 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 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('check-menu'));\n var styles = (0, _extends2.default)({}, menuStyle, {\n left: left,\n top: top\n });\n var items = filteredData;\n var filteredStickyItems = [];\n\n if (stickyItems) {\n filteredStickyItems = (0, _treeUtils.filterNodesOfTree)(stickyItems, function (item) {\n return checkShouldDisplay(item);\n });\n items = (0, _treeUtils.filterNodesOfTree)(data, function (item) {\n return checkShouldDisplay(item) && !stickyItems.some(function (v) {\n return v[valueKey] === item[valueKey];\n });\n });\n } // Create a tree structure data when set `groupBy`\n\n\n if (groupBy) {\n items = (0, _utils.getDataGroupBy)(items, groupBy, sort);\n } else if (typeof sort === 'function') {\n items = items.sort(sort(false));\n }\n\n var menu = items.length || filteredStickyItems.length ? /*#__PURE__*/_react.default.createElement(_Picker.DropdownMenu, {\n id: id ? id + \"-listbox\" : undefined,\n listProps: listProps,\n disabledItemValues: disabledItemValues,\n valueKey: valueKey,\n labelKey: labelKey,\n renderMenuGroup: renderMenuGroup,\n renderMenuItem: renderMenuItem,\n maxHeight: menuMaxHeight,\n classPrefix: 'picker-check-menu',\n dropdownMenuItemAs: _Picker.DropdownMenuCheckItem,\n activeItemValues: value,\n focusItemValue: focusItemValue,\n data: [].concat(filteredStickyItems, items),\n group: !(0, _isUndefined.default)(groupBy),\n onSelect: handleItemSelect,\n onGroupTitleClick: onGroupTitleClick,\n virtualized: virtualized,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 326,\n columnNumber: 11\n }\n }) : /*#__PURE__*/_react.default.createElement(\"div\", {\n className: prefix(_templateObject || (_templateObject = (0, _taggedTemplateLiteralLoose2.default)([\"none\"]))),\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 346,\n columnNumber: 11\n }\n }, locale === null || locale === void 0 ? void 0 : locale.noResultsText);\n return /*#__PURE__*/_react.default.createElement(_Picker.PickerOverlay, {\n ref: (0, _utils.mergeRefs)(overlayRef, speakerRef),\n autoWidth: menuAutoWidth,\n className: classes,\n style: styles,\n onKeyDown: onPickerKeyDown,\n target: triggerRef,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 350,\n columnNumber: 9\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: 359,\n columnNumber: 13\n }\n }), renderMenu ? renderMenu(menu) : menu, renderExtraFooter === null || renderExtraFooter === void 0 ? void 0 : renderExtraFooter());\n };\n\n var _usePickerClassName = (0, _Picker.usePickerClassName)((0, _extends2.default)({}, props, {\n appearance: appearance,\n classPrefix: classPrefix,\n cleanable: cleanable,\n countable: countable,\n hasValue: hasValue,\n name: 'check'\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)(initStickyItems, 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: 383,\n columnNumber: 7\n }\n }, /*#__PURE__*/_react.default.createElement(Component, {\n className: classes,\n style: style,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 392,\n columnNumber: 9\n }\n }, /*#__PURE__*/_react.default.createElement(_Picker.PickerToggle, (0, _extends2.default)({}, (0, _omit.default)(rest, [].concat(_Picker.omitTriggerPropKeys, usedClassNamePropKeys)), {\n id: id,\n ref: targetRef,\n appearance: appearance,\n disabled: disabled,\n onClean: handleClean,\n onKeyDown: onPickerKeyDown,\n as: toggleAs,\n cleanable: cleanable && !disabled,\n hasValue: hasValue,\n active: active,\n placement: placement,\n inputValue: value,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 393,\n columnNumber: 11\n }\n }), selectedElement || (locale === null || locale === void 0 ? void 0 : locale.placeholder))));\n});\n\nCheckPicker.displayName = 'CheckPicker';\nCheckPicker.propTypes = (0, _extends2.default)({}, _Picker.listPickerPropTypes, {\n locale: _propTypes.default.any,\n appearance: _propTypes.default.oneOf(['default', 'subtle']),\n menuAutoWidth: _propTypes.default.bool,\n menuMaxHeight: _propTypes.default.number,\n renderMenu: _propTypes.default.func,\n renderMenuItem: _propTypes.default.func,\n renderMenuGroup: _propTypes.default.func,\n onSelect: _propTypes.default.func,\n onGroupTitleClick: _propTypes.default.func,\n onSearch: _propTypes.default.func,\n groupBy: _propTypes.default.any,\n sort: _propTypes.default.func,\n searchable: _propTypes.default.bool,\n countable: _propTypes.default.bool,\n sticky: _propTypes.default.bool,\n virtualized: _propTypes.default.bool,\n searchBy: _propTypes.default.func\n});\nvar _default = CheckPicker;\nexports.default = _default;\n\n//# sourceURL=webpack://rsuite/./src/CheckPicker/CheckPicker.tsx?");
2026
+ 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 _taggedTemplateLiteralLoose2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/taggedTemplateLiteralLoose */ \"./node_modules/@babel/runtime/helpers/taggedTemplateLiteralLoose.js\"));\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 _clone = _interopRequireDefault(__webpack_require__(/*! lodash/clone */ \"./node_modules/lodash/clone.js\"));\n\nvar _isUndefined = _interopRequireDefault(__webpack_require__(/*! lodash/isUndefined */ \"./node_modules/lodash/isUndefined.js\"));\n\nvar _isFunction = _interopRequireDefault(__webpack_require__(/*! lodash/isFunction */ \"./node_modules/lodash/isFunction.js\"));\n\nvar _remove = _interopRequireDefault(__webpack_require__(/*! lodash/remove */ \"./node_modules/lodash/remove.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 _treeUtils = __webpack_require__(/*! ../utils/treeUtils */ \"./src/utils/treeUtils.ts\");\n\nvar _utils = __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/CheckPicker/CheckPicker.tsx\",\n _this = void 0,\n _templateObject;\n\nvar emptyArray = [];\n\nvar CheckPicker = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {\n var _props$as = props.as,\n Component = _props$as === void 0 ? 'div' : _props$as,\n _props$appearance = props.appearance,\n appearance = _props$appearance === void 0 ? 'default' : _props$appearance,\n _props$classPrefix = props.classPrefix,\n classPrefix = _props$classPrefix === void 0 ? 'picker' : _props$classPrefix,\n _props$countable = props.countable,\n countable = _props$countable === void 0 ? true : _props$countable,\n _props$data = props.data,\n data = _props$data === void 0 ? emptyArray : _props$data,\n _props$disabledItemVa = props.disabledItemValues,\n disabledItemValues = _props$disabledItemVa === void 0 ? emptyArray : _props$disabledItemVa,\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 _props$searchable = props.searchable,\n searchable = _props$searchable === void 0 ? true : _props$searchable,\n virtualized = props.virtualized,\n _props$cleanable = props.cleanable,\n cleanable = _props$cleanable === void 0 ? true : _props$cleanable,\n _props$placement = props.placement,\n placement = _props$placement === void 0 ? 'bottomStart' : _props$placement,\n _props$menuAutoWidth = props.menuAutoWidth,\n menuAutoWidth = _props$menuAutoWidth === void 0 ? true : _props$menuAutoWidth,\n _props$menuMaxHeight = props.menuMaxHeight,\n menuMaxHeight = _props$menuMaxHeight === void 0 ? 320 : _props$menuMaxHeight,\n menuClassName = props.menuClassName,\n menuStyle = props.menuStyle,\n overrideLocale = props.locale,\n placeholder = props.placeholder,\n disabled = props.disabled,\n toggleAs = props.toggleAs,\n style = props.style,\n sticky = props.sticky,\n valueProp = props.value,\n defaultValue = props.defaultValue,\n groupBy = props.groupBy,\n listProps = props.listProps,\n id = props.id,\n sort = props.sort,\n searchBy = props.searchBy,\n renderMenuItem = props.renderMenuItem,\n renderMenuGroup = props.renderMenuGroup,\n renderValue = props.renderValue,\n renderExtraFooter = props.renderExtraFooter,\n renderMenu = props.renderMenu,\n onGroupTitleClick = props.onGroupTitleClick,\n onSearch = props.onSearch,\n onEnter = props.onEnter,\n onEntered = props.onEntered,\n onExited = props.onExited,\n onClean = props.onClean,\n onChange = props.onChange,\n onSelect = props.onSelect,\n onClose = props.onClose,\n onOpen = props.onOpen,\n rest = (0, _objectWithoutPropertiesLoose2.default)(props, [\"as\", \"appearance\", \"classPrefix\", \"countable\", \"data\", \"disabledItemValues\", \"valueKey\", \"labelKey\", \"searchable\", \"virtualized\", \"cleanable\", \"placement\", \"menuAutoWidth\", \"menuMaxHeight\", \"menuClassName\", \"menuStyle\", \"locale\", \"placeholder\", \"disabled\", \"toggleAs\", \"style\", \"sticky\", \"value\", \"defaultValue\", \"groupBy\", \"listProps\", \"id\", \"sort\", \"searchBy\", \"renderMenuItem\", \"renderMenuGroup\", \"renderValue\", \"renderExtraFooter\", \"renderMenu\", \"onGroupTitleClick\", \"onSearch\", \"onEnter\", \"onEntered\", \"onExited\", \"onClean\", \"onChange\", \"onSelect\", \"onClose\", \"onOpen\"]);\n var triggerRef = (0, _react.useRef)(null);\n var targetRef = (0, _react.useRef)(null);\n var overlayRef = (0, _react.useRef)(null);\n var searchInputRef = (0, _react.useRef)(null);\n\n var _useCustom = (0, _utils.useCustom)('Picker', overrideLocale),\n locale = _useCustom.locale;\n\n var _useControlled = (0, _utils.useControlled)(valueProp, defaultValue || []),\n value = _useControlled[0],\n setValue = _useControlled[1]; // Used to hover the focuse item when trigger `onKeydown`\n\n\n var _useFocusItemValue = (0, _Picker.useFocusItemValue)(value === null || value === void 0 ? void 0 : value[0], {\n data: data,\n valueKey: valueKey,\n target: function target() {\n return overlayRef.current;\n }\n }),\n focusItemValue = _useFocusItemValue.focusItemValue,\n setFocusItemValue = _useFocusItemValue.setFocusItemValue,\n onFocusItem = _useFocusItemValue.onKeyDown;\n\n var handleSearchCallback = (0, _react.useCallback)(function (searchKeyword, filteredData, event) {\n var _filteredData$;\n\n // The first option after filtering is the focus.\n setFocusItemValue(filteredData === null || filteredData === void 0 ? void 0 : (_filteredData$ = filteredData[0]) === null || _filteredData$ === void 0 ? void 0 : _filteredData$[valueKey]);\n onSearch === null || onSearch === void 0 ? void 0 : onSearch(searchKeyword, event);\n }, [setFocusItemValue, onSearch, valueKey]); // Use search keywords to filter options.\n\n var _useSearch = (0, _Picker.useSearch)({\n labelKey: labelKey,\n data: data,\n searchBy: searchBy,\n callback: handleSearchCallback\n }),\n searchKeyword = _useSearch.searchKeyword,\n filteredData = _useSearch.filteredData,\n setSearchKeyword = _useSearch.setSearchKeyword,\n handleSearch = _useSearch.handleSearch,\n checkShouldDisplay = _useSearch.checkShouldDisplay; // Use component active state to support keyboard events.\n\n\n var _useState = (0, _react.useState)(false),\n active = _useState[0],\n setActive = _useState[1]; // A list of shortcut options.\n // when opened again, the selected options are displayed at the top.\n\n\n var _useState2 = (0, _react.useState)([]),\n stickyItems = _useState2[0],\n setStickyItems = _useState2[1];\n\n var initStickyItems = function initStickyItems() {\n if (!sticky) {\n return;\n }\n\n var nextStickyItems = [];\n\n if (data && value.length) {\n nextStickyItems = data.filter(function (item) {\n return value.some(function (v) {\n return v === item[valueKey];\n });\n });\n }\n\n setStickyItems(nextStickyItems);\n };\n\n var handleChangeValue = (0, _react.useCallback)(function (value, event) {\n onChange === null || onChange === void 0 ? void 0 : onChange(value, event);\n }, [onChange]);\n var handleClean = (0, _react.useCallback)(function (event) {\n if (disabled || !cleanable) {\n return;\n }\n\n setValue([]);\n onClean === null || onClean === void 0 ? void 0 : onClean(event);\n handleChangeValue([], event);\n }, [disabled, cleanable, setValue, onClean, handleChangeValue]);\n\n var handleMenuPressEnter = function handleMenuPressEnter(event) {\n var nextValue = (0, _clone.default)(value);\n\n if (!focusItemValue) {\n return;\n }\n\n if (!nextValue.some(function (v) {\n return (0, _utils.shallowEqual)(v, focusItemValue);\n })) {\n nextValue.push(focusItemValue);\n } else {\n (0, _remove.default)(nextValue, function (itemVal) {\n return (0, _utils.shallowEqual)(itemVal, focusItemValue);\n });\n }\n\n var focusItem = data.find(function (item) {\n return (0, _utils.shallowEqual)(item === null || item === void 0 ? void 0 : item[valueKey], focusItemValue);\n });\n setValue(nextValue);\n handleSelect(nextValue, focusItem, event);\n handleChangeValue(nextValue, event);\n };\n\n var onPickerKeyDown = (0, _Picker.useToggleKeyDownEvent)((0, _extends2.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 onMenuPressBackspace: handleClean,\n onClose: function onClose() {\n setFocusItemValue(null);\n }\n }, rest));\n var handleSelect = (0, _react.useCallback)(function (nextItemValue, item, event) {\n onSelect === null || onSelect === void 0 ? void 0 : onSelect(nextItemValue, item, event);\n }, [onSelect]);\n var handleItemSelect = (0, _react.useCallback)(function (nextItemValue, item, event, checked) {\n var nextValue = (0, _clone.default)(value);\n\n if (checked) {\n nextValue.push(nextItemValue);\n } else {\n (0, _remove.default)(nextValue, function (itemVal) {\n return (0, _utils.shallowEqual)(itemVal, nextItemValue);\n });\n }\n\n setValue(nextValue);\n setFocusItemValue(nextItemValue);\n handleSelect(nextValue, item, event);\n handleChangeValue(nextValue, event);\n }, [value, setValue, handleSelect, handleChangeValue, setFocusItemValue]);\n var handleEntered = (0, _react.useCallback)(function () {\n setActive(true);\n onOpen === null || onOpen === void 0 ? void 0 : onOpen();\n }, [onOpen]);\n var handleExited = (0, _react.useCallback)(function () {\n setSearchKeyword('');\n setFocusItemValue(null);\n setActive(false);\n onClose === null || onClose === void 0 ? void 0 : onClose();\n }, [onClose, setFocusItemValue, setSearchKeyword]);\n (0, _Picker.usePublicMethods)(ref, {\n triggerRef: triggerRef,\n overlayRef: overlayRef,\n targetRef: targetRef\n });\n var selectedItems = data.filter(function (item) {\n return value === null || value === void 0 ? void 0 : value.some(function (val) {\n return (0, _utils.shallowEqual)(item[valueKey], val);\n });\n }) || [];\n /**\n * 1.Have a value and the value is valid.\n * 2.Regardless of whether the value is valid, as long as renderValue is set, it is judged to have a value.\n */\n\n var hasValue = selectedItems.length > 0 || (value === null || value === void 0 ? void 0 : value.length) > 0 && (0, _isFunction.default)(renderValue);\n\n var _useClassNames = (0, _utils.useClassNames)(classPrefix),\n prefix = _useClassNames.prefix,\n merge = _useClassNames.merge;\n\n var selectedElement = placeholder;\n\n if (selectedItems.length > 0) {\n selectedElement = /*#__PURE__*/_react.default.createElement(_Picker.SelectedElement, {\n selectedItems: selectedItems,\n countable: countable,\n valueKey: valueKey,\n labelKey: labelKey,\n prefix: prefix,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 289,\n columnNumber: 9\n }\n });\n }\n\n if ((value === null || value === void 0 ? void 0 : value.length) > 0 && (0, _isFunction.default)(renderValue)) {\n selectedElement = renderValue(value, selectedItems, 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 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('check-menu'));\n var styles = (0, _extends2.default)({}, menuStyle, {\n left: left,\n top: top\n });\n var items = filteredData;\n var filteredStickyItems = [];\n\n if (stickyItems) {\n filteredStickyItems = (0, _treeUtils.filterNodesOfTree)(stickyItems, function (item) {\n return checkShouldDisplay(item);\n });\n items = (0, _treeUtils.filterNodesOfTree)(data, function (item) {\n return checkShouldDisplay(item) && !stickyItems.some(function (v) {\n return v[valueKey] === item[valueKey];\n });\n });\n } // Create a tree structure data when set `groupBy`\n\n\n if (groupBy) {\n items = (0, _utils.getDataGroupBy)(items, groupBy, sort);\n } else if (typeof sort === 'function') {\n items = items.sort(sort(false));\n }\n\n var menu = items.length || filteredStickyItems.length ? /*#__PURE__*/_react.default.createElement(_Picker.DropdownMenu, {\n id: id ? id + \"-listbox\" : undefined,\n listProps: listProps,\n disabledItemValues: disabledItemValues,\n valueKey: valueKey,\n labelKey: labelKey,\n renderMenuGroup: renderMenuGroup,\n renderMenuItem: renderMenuItem,\n maxHeight: menuMaxHeight,\n classPrefix: 'picker-check-menu',\n dropdownMenuItemAs: _Picker.DropdownMenuCheckItem,\n activeItemValues: value,\n focusItemValue: focusItemValue,\n data: [].concat(filteredStickyItems, items),\n group: !(0, _isUndefined.default)(groupBy),\n onSelect: handleItemSelect,\n onGroupTitleClick: onGroupTitleClick,\n virtualized: virtualized,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 330,\n columnNumber: 11\n }\n }) : /*#__PURE__*/_react.default.createElement(\"div\", {\n className: prefix(_templateObject || (_templateObject = (0, _taggedTemplateLiteralLoose2.default)([\"none\"]))),\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 350,\n columnNumber: 11\n }\n }, locale === null || locale === void 0 ? void 0 : locale.noResultsText);\n return /*#__PURE__*/_react.default.createElement(_Picker.PickerOverlay, {\n ref: (0, _utils.mergeRefs)(overlayRef, speakerRef),\n autoWidth: menuAutoWidth,\n className: classes,\n style: styles,\n onKeyDown: onPickerKeyDown,\n target: triggerRef,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 354,\n columnNumber: 9\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: 363,\n columnNumber: 13\n }\n }), renderMenu ? renderMenu(menu) : menu, renderExtraFooter === null || renderExtraFooter === void 0 ? void 0 : renderExtraFooter());\n };\n\n var _usePickerClassName = (0, _Picker.usePickerClassName)((0, _extends2.default)({}, props, {\n appearance: appearance,\n classPrefix: classPrefix,\n cleanable: cleanable,\n countable: countable,\n hasValue: hasValue,\n name: 'check'\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)(initStickyItems, 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: 387,\n columnNumber: 7\n }\n }, /*#__PURE__*/_react.default.createElement(Component, {\n className: classes,\n style: style,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 396,\n columnNumber: 9\n }\n }, /*#__PURE__*/_react.default.createElement(_Picker.PickerToggle, (0, _extends2.default)({}, (0, _omit.default)(rest, [].concat(_Picker.omitTriggerPropKeys, usedClassNamePropKeys)), {\n id: id,\n ref: targetRef,\n appearance: appearance,\n disabled: disabled,\n onClean: handleClean,\n onKeyDown: onPickerKeyDown,\n as: toggleAs,\n cleanable: cleanable && !disabled,\n hasValue: hasValue,\n active: active,\n placement: placement,\n inputValue: value,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 397,\n columnNumber: 11\n }\n }), selectedElement || (locale === null || locale === void 0 ? void 0 : locale.placeholder))));\n});\n\nCheckPicker.displayName = 'CheckPicker';\nCheckPicker.propTypes = (0, _extends2.default)({}, _Picker.listPickerPropTypes, {\n locale: _propTypes.default.any,\n appearance: _propTypes.default.oneOf(['default', 'subtle']),\n menuAutoWidth: _propTypes.default.bool,\n menuMaxHeight: _propTypes.default.number,\n renderMenu: _propTypes.default.func,\n renderMenuItem: _propTypes.default.func,\n renderMenuGroup: _propTypes.default.func,\n onSelect: _propTypes.default.func,\n onGroupTitleClick: _propTypes.default.func,\n onSearch: _propTypes.default.func,\n groupBy: _propTypes.default.any,\n sort: _propTypes.default.func,\n searchable: _propTypes.default.bool,\n countable: _propTypes.default.bool,\n sticky: _propTypes.default.bool,\n virtualized: _propTypes.default.bool,\n searchBy: _propTypes.default.func\n});\nvar _default = CheckPicker;\nexports.default = _default;\n\n//# sourceURL=webpack://rsuite/./src/CheckPicker/CheckPicker.tsx?");
2027
2027
 
2028
2028
  /***/ }),
2029
2029
 
@@ -2067,7 +2067,7 @@ eval("\n\nvar _interopRequireDefault = __webpack_require__(/*! @babel/runtime/he
2067
2067
  /***/ (function(__unused_webpack_module, exports, __webpack_require__) {
2068
2068
 
2069
2069
  "use strict";
2070
- 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 _isUndefined2 = _interopRequireDefault(__webpack_require__(/*! lodash/isUndefined */ \"./node_modules/lodash/isUndefined.js\"));\n\nvar _cloneDeep2 = _interopRequireDefault(__webpack_require__(/*! lodash/cloneDeep */ \"./node_modules/lodash/cloneDeep.js\"));\n\nvar _omit2 = _interopRequireDefault(__webpack_require__(/*! lodash/omit */ \"./node_modules/lodash/omit.js\"));\n\nvar _isFunction2 = _interopRequireDefault(__webpack_require__(/*! lodash/isFunction */ \"./node_modules/lodash/isFunction.js\"));\n\nvar _pick2 = _interopRequireDefault(__webpack_require__(/*! lodash/pick */ \"./node_modules/lodash/pick.js\"));\n\nvar _isNil2 = _interopRequireDefault(__webpack_require__(/*! lodash/isNil */ \"./node_modules/lodash/isNil.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 _VirtualizedList = __webpack_require__(/*! ../Picker/VirtualizedList */ \"./src/Picker/VirtualizedList.tsx\");\n\nvar _CheckTreeNode = _interopRequireDefault(__webpack_require__(/*! ./CheckTreeNode */ \"./src/CheckTreePicker/CheckTreeNode.tsx\"));\n\nvar _TreeContext = _interopRequireDefault(__webpack_require__(/*! ../Tree/TreeContext */ \"./src/Tree/TreeContext.ts\"));\n\nvar _treeUtils = __webpack_require__(/*! ../utils/treeUtils */ \"./src/utils/treeUtils.ts\");\n\nvar _utils = __webpack_require__(/*! ../utils */ \"./src/utils/index.ts\");\n\nvar _Picker = __webpack_require__(/*! ../Picker */ \"./src/Picker/index.ts\");\n\nvar _utils2 = __webpack_require__(/*! ./utils */ \"./src/CheckTreePicker/utils.ts\");\n\nvar _TreePicker = __webpack_require__(/*! ../TreePicker/TreePicker */ \"./src/TreePicker/TreePicker.tsx\");\n\nvar _jsxFileName = \"/home/runner/work/rsuite/rsuite/src/CheckTreePicker/CheckTreePicker.tsx\",\n _this = void 0;\n\nvar emptyArray = [];\n\nvar CheckTreePicker = /*#__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 style = props.style,\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 _props$countable = props.countable,\n countable = _props$countable === void 0 ? true : _props$countable,\n searchBy = props.searchBy,\n toggleAs = props.toggleAs,\n searchKeyword = props.searchKeyword,\n showIndentLine = props.showIndentLine,\n overrideLocale = props.locale,\n _props$cascade = props.cascade,\n cascade = _props$cascade === void 0 ? true : _props$cascade,\n disabled = props.disabled,\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 _props$placement = props.placement,\n placement = _props$placement === void 0 ? 'bottomStart' : _props$placement,\n _props$childrenKey = props.childrenKey,\n childrenKey = _props$childrenKey === void 0 ? 'children' : _props$childrenKey,\n placeholder = props.placeholder,\n controlledValue = props.value,\n _props$defaultValue = props.defaultValue,\n defaultValue = _props$defaultValue === void 0 ? emptyArray : _props$defaultValue,\n defaultExpandAll = props.defaultExpandAll,\n _props$disabledItemVa = props.disabledItemValues,\n disabledItemValues = _props$disabledItemVa === void 0 ? emptyArray : _props$disabledItemVa,\n controlledExpandItemValues = props.expandItemValues,\n defaultExpandItemValues = props.defaultExpandItemValues,\n _props$height = props.height,\n height = _props$height === void 0 ? 360 : _props$height,\n menuStyle = props.menuStyle,\n _props$searchable = props.searchable,\n searchable = _props$searchable === void 0 ? true : _props$searchable,\n virtualized = props.virtualized,\n className = props.className,\n _props$classPrefix = props.classPrefix,\n classPrefix = _props$classPrefix === void 0 ? 'picker' : _props$classPrefix,\n menuClassName = props.menuClassName,\n _props$menuAutoWidth = props.menuAutoWidth,\n menuAutoWidth = _props$menuAutoWidth === void 0 ? true : _props$menuAutoWidth,\n _props$uncheckableIte = props.uncheckableItemValues,\n uncheckableItemValues = _props$uncheckableIte === void 0 ? emptyArray : _props$uncheckableIte,\n id = props.id,\n listProps = props.listProps,\n renderMenu = props.renderMenu,\n getChildren = props.getChildren,\n renderExtraFooter = props.renderExtraFooter,\n onEntered = props.onEntered,\n onChange = props.onChange,\n onClean = props.onClean,\n onClose = props.onClose,\n onExited = props.onExited,\n onSearch = props.onSearch,\n onSelect = props.onSelect,\n onOpen = props.onOpen,\n onScroll = props.onScroll,\n onExpand = props.onExpand,\n renderValue = props.renderValue,\n renderTreeIcon = props.renderTreeIcon,\n renderTreeNode = props.renderTreeNode,\n rest = (0, _objectWithoutPropertiesLoose2.default)(props, [\"as\", \"data\", \"style\", \"appearance\", \"cleanable\", \"countable\", \"searchBy\", \"toggleAs\", \"searchKeyword\", \"showIndentLine\", \"locale\", \"cascade\", \"disabled\", \"valueKey\", \"labelKey\", \"placement\", \"childrenKey\", \"placeholder\", \"value\", \"defaultValue\", \"defaultExpandAll\", \"disabledItemValues\", \"expandItemValues\", \"defaultExpandItemValues\", \"height\", \"menuStyle\", \"searchable\", \"virtualized\", \"className\", \"classPrefix\", \"menuClassName\", \"menuAutoWidth\", \"uncheckableItemValues\", \"id\", \"listProps\", \"renderMenu\", \"getChildren\", \"renderExtraFooter\", \"onEntered\", \"onChange\", \"onClean\", \"onClose\", \"onExited\", \"onSearch\", \"onSelect\", \"onOpen\", \"onScroll\", \"onExpand\", \"renderValue\", \"renderTreeIcon\", \"renderTreeNode\"]);\n\n var _useContext = (0, _react.useContext)(_TreeContext.default),\n inline = _useContext.inline;\n\n var triggerRef = (0, _react.useRef)(null);\n var targetRef = (0, _react.useRef)(null);\n var listRef = (0, _react.useRef)(null);\n var overlayRef = (0, _react.useRef)(null);\n var searchInputRef = (0, _react.useRef)(null);\n var treeViewRef = (0, _react.useRef)(null);\n\n var _useCustom = (0, _utils.useCustom)('Picker', overrideLocale),\n rtl = _useCustom.rtl,\n locale = _useCustom.locale;\n\n var _useState = (0, _react.useState)(false),\n active = _useState[0],\n setActive = _useState[1];\n\n var _useState2 = (0, _react.useState)(null),\n activeNode = _useState2[0],\n setActiveNode = _useState2[1];\n\n var _useClassNames = (0, _utils.useClassNames)(classPrefix),\n prefix = _useClassNames.prefix,\n merge = _useClassNames.merge;\n\n var _useClassNames2 = (0, _utils.useClassNames)('check-tree'),\n checkTreePrefix = _useClassNames2.prefix,\n withCheckTreeClassPrefix = _useClassNames2.withClassPrefix;\n\n var _useControlled = (0, _utils.useControlled)(controlledValue, defaultValue),\n value = _useControlled[0],\n setValue = _useControlled[1],\n isControlled = _useControlled[2];\n\n var _useGetTreeNodeChildr = (0, _treeUtils.useGetTreeNodeChildren)(data, valueKey, childrenKey),\n treeData = _useGetTreeNodeChildr.data,\n setTreeData = _useGetTreeNodeChildr.setData,\n loadingNodeValues = _useGetTreeNodeChildr.loadingNodeValues,\n loadChildren = _useGetTreeNodeChildr.loadChildren;\n\n var _useControlled2 = (0, _utils.useControlled)(controlledExpandItemValues, (0, _treeUtils.getDefaultExpandItemValues)(treeData, {\n defaultExpandAll: defaultExpandAll,\n valueKey: valueKey,\n childrenKey: childrenKey,\n defaultExpandItemValues: defaultExpandItemValues\n })),\n expandItemValues = _useControlled2[0],\n setExpandItemValues = _useControlled2[1];\n\n var _useState3 = (0, _react.useState)(null),\n focusItemValue = _useState3[0],\n setFocusItemValue = _useState3[1];\n\n var _useFlattenTreeData = (0, _treeUtils.useFlattenTreeData)({\n data: treeData,\n labelKey: labelKey,\n valueKey: valueKey,\n childrenKey: childrenKey,\n uncheckableItemValues: uncheckableItemValues,\n callback: function callback(nodes) {\n // after flattenData, always unSerialize check property value\n unSerializeList({\n nodes: nodes,\n key: 'check',\n value: value,\n cascade: cascade,\n uncheckableItemValues: uncheckableItemValues\n });\n forceUpdate();\n }\n }),\n flattenNodes = _useFlattenTreeData.flattenNodes,\n forceUpdate = _useFlattenTreeData.forceUpdate,\n formatVirtualizedTreeData = _useFlattenTreeData.formatVirtualizedTreeData,\n serializeListOnlyParent = _useFlattenTreeData.serializeListOnlyParent,\n unSerializeList = _useFlattenTreeData.unSerializeList;\n\n var _useTreeSearch = (0, _treeUtils.useTreeSearch)({\n labelKey: labelKey,\n childrenKey: childrenKey,\n searchKeyword: searchKeyword,\n data: treeData,\n searchBy: searchBy,\n callback: function callback(searchKeyword, _filterData, event) {\n onSearch === null || onSearch === void 0 ? void 0 : onSearch(searchKeyword, event);\n }\n }),\n filteredData = _useTreeSearch.filteredData,\n searchKeywordState = _useTreeSearch.searchKeywordState,\n setSearchKeyword = _useTreeSearch.setSearchKeyword,\n handleSearch = _useTreeSearch.handleSearch,\n setFilteredData = _useTreeSearch.setFilteredData;\n\n var _useTreeNodeRefs = (0, _treeUtils.useTreeNodeRefs)(),\n treeNodesRefs = _useTreeNodeRefs.treeNodesRefs,\n saveTreeNodeRef = _useTreeNodeRefs.saveTreeNodeRef;\n /**\n * get formatted nodes for render tree\n * @params render - renderNode function. only used when virtualized setting false\n */\n\n\n var getFormattedNodes = (0, _react.useCallback)(function (render) {\n if (virtualized) {\n return formatVirtualizedTreeData(flattenNodes, filteredData, expandItemValues, {\n cascade: cascade,\n searchKeyword: searchKeywordState\n }).filter(function (item) {\n return item.visible;\n });\n }\n\n return (0, _utils2.getFormattedTree)(filteredData, flattenNodes, {\n childrenKey: childrenKey,\n cascade: cascade\n }).map(function (node) {\n return render === null || render === void 0 ? void 0 : render(node, 1);\n });\n }, [searchKeywordState, expandItemValues, filteredData, flattenNodes, formatVirtualizedTreeData, virtualized, childrenKey, cascade]);\n\n var getTreeNodeProps = function getTreeNodeProps(node, layer) {\n return {\n as: Component,\n rtl: rtl,\n value: node[valueKey],\n label: node[labelKey],\n layer: layer,\n focus: (0, _utils.shallowEqual)(focusItemValue, node[valueKey]),\n expand: node.expand,\n visible: node.visible,\n loading: loadingNodeValues.some(function (item) {\n return (0, _utils.shallowEqual)(item, node[valueKey]);\n }),\n disabled: (0, _utils2.getDisabledState)(flattenNodes, node, {\n disabledItemValues: disabledItemValues,\n valueKey: valueKey\n }),\n nodeData: node,\n checkState: node.checkState,\n uncheckable: (0, _utils2.isNodeUncheckable)(node, {\n uncheckableItemValues: uncheckableItemValues,\n valueKey: valueKey\n }),\n allUncheckable: (0, _utils2.isAllSiblingNodeUncheckable)(node, flattenNodes, uncheckableItemValues, valueKey),\n onSelect: handleSelect,\n onExpand: handleExpand,\n onRenderTreeNode: renderTreeNode,\n onRenderTreeIcon: renderTreeIcon\n };\n };\n\n var focusActiveNode = (0, _react.useCallback)(function () {\n (0, _treeUtils.focusToActiveTreeNode)({\n list: listRef.current,\n valueKey: valueKey,\n selector: \".\" + checkTreePrefix('node-active'),\n activeNode: activeNode,\n virtualized: virtualized,\n container: treeViewRef.current,\n formattedNodes: getFormattedNodes()\n });\n }, [checkTreePrefix, activeNode, getFormattedNodes, valueKey, virtualized]);\n (0, _react.useEffect)(function () {\n setValue((0, _utils2.getCheckTreePickerDefaultValue)(value, uncheckableItemValues));\n }, []); // eslint-disable-line react-hooks/exhaustive-deps\n\n (0, _react.useEffect)(function () {\n setFilteredData(data, searchKeywordState);\n setTreeData(data);\n }, [data, searchKeywordState, setFilteredData, setTreeData]);\n (0, _react.useEffect)(function () {\n setFilteredData(treeData, searchKeywordState);\n }, [treeData, searchKeywordState, setFilteredData]);\n (0, _react.useEffect)(function () {\n if (Array.isArray(controlledExpandItemValues)) {\n setExpandItemValues(controlledExpandItemValues);\n }\n }, [controlledExpandItemValues, setExpandItemValues]);\n (0, _react.useEffect)(function () {\n setSearchKeyword(searchKeyword !== null && searchKeyword !== void 0 ? searchKeyword : '');\n }, [searchKeyword, setSearchKeyword]);\n (0, _react.useEffect)(function () {\n unSerializeList({\n nodes: flattenNodes,\n key: 'check',\n value: value,\n cascade: cascade,\n uncheckableItemValues: uncheckableItemValues\n });\n forceUpdate();\n }, [cascade, value, uncheckableItemValues, unSerializeList, flattenNodes, forceUpdate]);\n var toggleUpChecked = (0, _react.useCallback)(function (nodes, node, checked) {\n var currentNode = nodes[node.refKey];\n\n if (cascade) {\n if (!checked) {\n currentNode.check = checked;\n currentNode.checkAll = checked;\n } else {\n if ((0, _utils2.isEveryChildChecked)(nodes, currentNode)) {\n currentNode.check = true;\n currentNode.checkAll = true;\n } else {\n currentNode.check = false;\n currentNode.checkAll = false;\n }\n }\n\n if (currentNode.parent) {\n toggleUpChecked(nodes, currentNode.parent, checked);\n }\n }\n }, [cascade]);\n var toggleDownChecked = (0, _react.useCallback)(function (nodes, node, isChecked) {\n var currentNode = nodes[node.refKey];\n currentNode.check = isChecked;\n\n if (!currentNode[childrenKey] || !currentNode[childrenKey].length || !cascade) {\n currentNode.checkAll = false;\n } else {\n currentNode.checkAll = isChecked;\n currentNode[childrenKey].forEach(function (child) {\n toggleDownChecked(nodes, child, isChecked);\n });\n }\n }, [cascade, childrenKey]);\n var toggleChecked = (0, _react.useCallback)(function (node, isChecked) {\n var nodes = (0, _cloneDeep2.default)(flattenNodes);\n toggleDownChecked(nodes, node, isChecked);\n node.parent && toggleUpChecked(nodes, node.parent, isChecked);\n var values = serializeListOnlyParent(nodes, 'check'); // filter uncheckableItemValues\n\n return values.filter(function (v) {\n return !uncheckableItemValues.includes(v);\n });\n }, [flattenNodes, uncheckableItemValues, serializeListOnlyParent, toggleDownChecked, toggleUpChecked]);\n var handleSelect = (0, _react.useCallback)(function (node, event) {\n if (!node) {\n return;\n }\n\n var selectedValues = toggleChecked(node, !flattenNodes[node.refKey].check);\n\n if (!isControlled) {\n unSerializeList({\n nodes: flattenNodes,\n key: 'check',\n value: selectedValues,\n cascade: cascade,\n uncheckableItemValues: uncheckableItemValues\n });\n setValue(selectedValues);\n }\n\n setActiveNode(node);\n setFocusItemValue(node[valueKey]);\n onChange === null || onChange === void 0 ? void 0 : onChange(selectedValues, event);\n onSelect === null || onSelect === void 0 ? void 0 : onSelect(node, selectedValues, event);\n }, [cascade, valueKey, flattenNodes, isControlled, uncheckableItemValues, setValue, onChange, onSelect, toggleChecked, unSerializeList]);\n\n var hasValue = function hasValue() {\n var selectedValues = Object.keys(flattenNodes).map(function (refKey) {\n return flattenNodes[refKey][valueKey];\n }).filter(function (item) {\n return value.some(function (v) {\n return (0, _utils.shallowEqual)(v, item);\n });\n });\n return !!selectedValues.length;\n };\n\n var handleOpen = (0, _react.useCallback)(function () {\n var _triggerRef$current, _triggerRef$current$o;\n\n (_triggerRef$current = triggerRef.current) === null || _triggerRef$current === void 0 ? void 0 : (_triggerRef$current$o = _triggerRef$current.open) === null || _triggerRef$current$o === void 0 ? void 0 : _triggerRef$current$o.call(_triggerRef$current);\n setFocusItemValue(activeNode === null || activeNode === void 0 ? void 0 : activeNode[valueKey]);\n focusActiveNode();\n onOpen === null || onOpen === void 0 ? void 0 : onOpen();\n setActive(true);\n }, [activeNode, focusActiveNode, onOpen, valueKey]);\n var handleClose = (0, _react.useCallback)(function () {\n var _triggerRef$current2, _triggerRef$current2$, _targetRef$current;\n\n (_triggerRef$current2 = triggerRef.current) === null || _triggerRef$current2 === void 0 ? void 0 : (_triggerRef$current2$ = _triggerRef$current2.close) === null || _triggerRef$current2$ === void 0 ? void 0 : _triggerRef$current2$.call(_triggerRef$current2);\n setSearchKeyword('');\n onClose === null || onClose === void 0 ? void 0 : onClose();\n setFocusItemValue(null);\n setActive(false);\n /**\n * when using keyboard toggle picker, should refocus on PickerToggle Component after close picker menu\n */\n\n (_targetRef$current = targetRef.current) === null || _targetRef$current === void 0 ? void 0 : _targetRef$current.focus();\n }, [onClose, setSearchKeyword]);\n var handleExpand = (0, _react.useCallback)(function (node) {\n var nextExpandItemValues = (0, _treeUtils.toggleExpand)({\n node: node,\n isExpand: !node.expand,\n expandItemValues: expandItemValues,\n valueKey: valueKey\n });\n setExpandItemValues(nextExpandItemValues);\n onExpand === null || onExpand === void 0 ? void 0 : onExpand(nextExpandItemValues, node, (0, _Picker.createConcatChildrenFunction)(node, node[valueKey], {\n valueKey: valueKey,\n childrenKey: childrenKey\n }));\n\n if ((0, _isFunction2.default)(getChildren) && !node.expand && Array.isArray(node[childrenKey]) && node[childrenKey].length === 0) {\n loadChildren(node, getChildren);\n }\n }, [childrenKey, expandItemValues, getChildren, loadChildren, onExpand, setExpandItemValues, valueKey]);\n (0, _Picker.usePublicMethods)(ref, {\n rootRef: inline ? treeViewRef : undefined,\n triggerRef: triggerRef,\n overlayRef: overlayRef,\n targetRef: targetRef,\n listRef: listRef,\n inline: inline\n });\n var handleClean = (0, _react.useCallback)(function (event) {\n var target = event.target; // exclude searchBar\n\n if (target.matches('div[role=\"searchbox\"] > input')) {\n return;\n }\n\n setActiveNode(null);\n setValue([]);\n setFocusItemValue(null);\n unSerializeList({\n nodes: flattenNodes,\n key: 'check',\n value: [],\n cascade: cascade,\n uncheckableItemValues: uncheckableItemValues\n });\n onChange === null || onChange === void 0 ? void 0 : onChange([], event);\n }, [cascade, flattenNodes, onChange, setValue, unSerializeList, uncheckableItemValues]);\n var handleFocusItem = (0, _react.useCallback)(function (key) {\n var focusableItems = (0, _treeUtils.getFocusableItems)(filteredData, {\n disabledItemValues: disabledItemValues,\n valueKey: valueKey,\n childrenKey: childrenKey,\n expandItemValues: expandItemValues\n }, (0, _treeUtils.isSearching)(searchKeywordState));\n var selector = \".\" + checkTreePrefix('node-label');\n var focusProps = {\n focusItemValue: focusItemValue,\n focusableItems: focusableItems,\n treeNodesRefs: treeNodesRefs,\n selector: selector,\n valueKey: valueKey,\n callback: function callback(nextFocusItemValue) {\n setFocusItemValue(nextFocusItemValue);\n }\n };\n\n if (key === _utils.KEY_VALUES.DOWN) {\n (0, _treeUtils.focusNextItem)(focusProps);\n return;\n }\n\n if (key === _utils.KEY_VALUES.UP) {\n (0, _treeUtils.focusPreviousItem)(focusProps);\n }\n }, [searchKeywordState, checkTreePrefix, expandItemValues, filteredData, focusItemValue, treeNodesRefs, childrenKey, valueKey, disabledItemValues]);\n var handleLeftArrow = (0, _react.useCallback)(function () {\n if ((0, _isNil2.default)(focusItemValue)) return;\n var focusItem = (0, _treeUtils.getActiveItem)(focusItemValue, flattenNodes, valueKey);\n (0, _treeUtils.leftArrowHandler)({\n focusItem: focusItem,\n expand: expandItemValues.includes(focusItem === null || focusItem === void 0 ? void 0 : focusItem[valueKey]),\n onExpand: handleExpand,\n childrenKey: childrenKey,\n onFocusItem: function onFocusItem() {\n var _focusItem$parent, _focusItem$parent2;\n\n setFocusItemValue(focusItem === null || focusItem === void 0 ? void 0 : (_focusItem$parent = focusItem.parent) === null || _focusItem$parent === void 0 ? void 0 : _focusItem$parent[valueKey]);\n (0, _treeUtils.focusTreeNode)(focusItem === null || focusItem === void 0 ? void 0 : (_focusItem$parent2 = focusItem.parent) === null || _focusItem$parent2 === void 0 ? void 0 : _focusItem$parent2.refKey, treeNodesRefs, \".\" + checkTreePrefix('node-label'));\n }\n });\n }, [checkTreePrefix, expandItemValues, flattenNodes, focusItemValue, handleExpand, treeNodesRefs, valueKey, childrenKey]);\n var handleRightArrow = (0, _react.useCallback)(function () {\n if ((0, _isNil2.default)(focusItemValue)) return;\n var focusItem = (0, _treeUtils.getActiveItem)(focusItemValue, flattenNodes, valueKey);\n (0, _treeUtils.rightArrowHandler)({\n focusItem: focusItem,\n expand: expandItemValues.includes(focusItem === null || focusItem === void 0 ? void 0 : focusItem[valueKey]),\n childrenKey: childrenKey,\n onExpand: handleExpand,\n onFocusItem: function onFocusItem() {\n handleFocusItem(_utils.KEY_VALUES.DOWN);\n }\n });\n }, [focusItemValue, flattenNodes, valueKey, expandItemValues, childrenKey, handleExpand, handleFocusItem]);\n var selectActiveItem = (0, _react.useCallback)(function (event) {\n if ((0, _isNil2.default)(focusItemValue)) return;\n var activeItem = (0, _treeUtils.getActiveItem)(focusItemValue, flattenNodes, valueKey);\n\n if (!(0, _utils2.isNodeUncheckable)(activeItem, {\n uncheckableItemValues: uncheckableItemValues,\n valueKey: valueKey\n }) && activeItem !== null) {\n handleSelect(activeItem, event);\n }\n }, [flattenNodes, focusItemValue, handleSelect, uncheckableItemValues, valueKey]);\n var onPickerKeydown = (0, _Picker.useToggleKeyDownEvent)({\n toggle: !focusItemValue || !active,\n triggerRef: triggerRef,\n targetRef: targetRef,\n overlayRef: overlayRef,\n searchInputRef: searchInputRef,\n active: active,\n onExit: handleClean,\n onClose: handleClose,\n onMenuKeyDown: function onMenuKeyDown(event) {\n (0, _Picker.onMenuKeyDown)(event, {\n down: function down() {\n return handleFocusItem(_utils.KEY_VALUES.DOWN);\n },\n up: function up() {\n return handleFocusItem(_utils.KEY_VALUES.UP);\n },\n left: rtl ? handleRightArrow : handleLeftArrow,\n right: rtl ? handleLeftArrow : handleRightArrow,\n enter: selectActiveItem,\n del: handleClean\n });\n }\n });\n var handleTreeKeydown = (0, _react.useCallback)(function (event) {\n if (!treeViewRef.current) {\n return;\n }\n\n (0, _Picker.onMenuKeyDown)(event, {\n down: function down() {\n return handleFocusItem(_utils.KEY_VALUES.DOWN);\n },\n up: function up() {\n return handleFocusItem(_utils.KEY_VALUES.UP);\n },\n left: rtl ? handleRightArrow : handleLeftArrow,\n right: rtl ? handleLeftArrow : handleRightArrow,\n enter: selectActiveItem\n });\n }, [handleFocusItem, handleLeftArrow, handleRightArrow, rtl, selectActiveItem]);\n\n var renderNode = function renderNode(node, layer) {\n var visible = node.visible,\n refKey = node.refKey; // when searching, all nodes should be expand\n\n var expand = (0, _treeUtils.getExpandWhenSearching)(searchKeywordState, expandItemValues.includes(node[valueKey]));\n\n if (!visible) {\n return null;\n }\n\n var children = node[childrenKey];\n var visibleChildren = (0, _isUndefined2.default)(searchKeywordState) || searchKeywordState.length === 0 ? !!children : (0, _treeUtils.hasVisibleChildren)(node, childrenKey);\n var nodeProps = (0, _extends2.default)({}, getTreeNodeProps((0, _extends2.default)({}, node, {\n expand: expand\n }), layer), {\n hasChildren: visibleChildren\n });\n\n if (nodeProps.hasChildren) {\n var _merge;\n\n layer += 1;\n var openClass = checkTreePrefix('open');\n var childrenClass = merge(checkTreePrefix('node-children'), (_merge = {}, _merge[openClass] = expand && visibleChildren, _merge));\n var nodes = children || [];\n return /*#__PURE__*/_react.default.createElement(\"div\", {\n className: childrenClass,\n key: node[valueKey],\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 707,\n columnNumber: 9\n }\n }, /*#__PURE__*/_react.default.createElement(_CheckTreeNode.default, (0, _extends2.default)({}, nodeProps, {\n ref: function ref(_ref) {\n return saveTreeNodeRef(_ref, refKey);\n },\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 708,\n columnNumber: 11\n }\n })), /*#__PURE__*/_react.default.createElement(\"div\", {\n className: checkTreePrefix('children'),\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 709,\n columnNumber: 11\n }\n }, nodes.map(function (child) {\n return renderNode(child, layer);\n }), showIndentLine && /*#__PURE__*/_react.default.createElement(\"span\", {\n className: checkTreePrefix('indent-line'),\n style: (0, _treeUtils.getTreeNodeIndent)(rtl, layer - 1, true),\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 712,\n columnNumber: 15\n }\n })));\n }\n\n return /*#__PURE__*/_react.default.createElement(_CheckTreeNode.default, (0, _extends2.default)({\n key: node[valueKey],\n ref: function ref(_ref2) {\n return saveTreeNodeRef(_ref2, refKey);\n }\n }, nodeProps, {\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 723,\n columnNumber: 7\n }\n }));\n };\n\n var renderVirtualListNode = function renderVirtualListNode(nodes) {\n return function (_ref3) {\n var key = _ref3.key,\n index = _ref3.index,\n style = _ref3.style;\n var node = nodes[index];\n var layer = node.layer,\n refKey = node.refKey,\n visible = node.visible;\n var expand = (0, _treeUtils.getExpandWhenSearching)(searchKeywordState, expandItemValues.includes(node[valueKey]));\n var nodeProps = (0, _extends2.default)({}, getTreeNodeProps((0, _extends2.default)({}, node, {\n expand: expand\n }), layer), {\n hasChildren: node.hasChildren\n });\n return visible && /*#__PURE__*/_react.default.createElement(_CheckTreeNode.default, (0, _extends2.default)({\n style: style,\n key: key,\n ref: function ref(_ref4) {\n return saveTreeNodeRef(_ref4, refKey);\n }\n }, nodeProps, {\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 747,\n columnNumber: 11\n }\n }));\n };\n };\n\n var renderCheckTree = function renderCheckTree() {\n var _withCheckTreeClassPr, _merge2;\n\n var classes = withCheckTreeClassPrefix((_withCheckTreeClassPr = {}, _withCheckTreeClassPr[className !== null && className !== void 0 ? className : ''] = inline, _withCheckTreeClassPr['without-children'] = !_utils2.isSomeNodeHasChildren, _withCheckTreeClassPr.virtualized = virtualized, _withCheckTreeClassPr));\n var formattedNodes = getFormattedNodes(renderNode);\n\n if (!formattedNodes.some(function (v) {\n return v !== null;\n })) {\n return /*#__PURE__*/_react.default.createElement(\"div\", {\n className: prefix('none'),\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 767,\n columnNumber: 14\n }\n }, locale.noResultsText);\n }\n\n var treeNodesClass = merge(checkTreePrefix('nodes'), (_merge2 = {}, _merge2[checkTreePrefix('all-uncheckable')] = (0, _utils2.isEveryFirstLevelNodeUncheckable)(flattenNodes, uncheckableItemValues, valueKey), _merge2));\n var styles = inline ? (0, _extends2.default)({\n height: height\n }, style) : {};\n return /*#__PURE__*/_react.default.createElement(\"div\", {\n id: id ? id + \"-listbox\" : undefined,\n ref: treeViewRef,\n role: \"tree\",\n \"aria-multiselectable\": true,\n className: classes,\n style: styles,\n onScroll: onScroll,\n onKeyDown: inline ? handleTreeKeydown : undefined,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 780,\n columnNumber: 7\n }\n }, /*#__PURE__*/_react.default.createElement(\"div\", {\n className: treeNodesClass,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 790,\n columnNumber: 9\n }\n }, virtualized ? /*#__PURE__*/_react.default.createElement(_VirtualizedList.AutoSizer, {\n defaultHeight: inline ? height : _TreePicker.maxTreeHeight,\n style: {\n width: 'auto',\n height: 'auto'\n },\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 792,\n columnNumber: 13\n }\n }, function (_ref5) {\n var height = _ref5.height,\n width = _ref5.width;\n return /*#__PURE__*/_react.default.createElement(_VirtualizedList.List, (0, _extends2.default)({\n ref: listRef,\n width: width,\n height: height,\n rowHeight: 36,\n rowCount: formattedNodes.length,\n rowRenderer: renderVirtualListNode(formattedNodes),\n scrollToAlignment: \"center\"\n }, listProps, {\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 797,\n columnNumber: 17\n }\n }));\n }) : formattedNodes));\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 = (0, _classnames.default)(className, menuClassName, prefix('check-tree-menu'));\n var mergedMenuStyle = (0, _extends2.default)({}, menuStyle, {\n left: left,\n top: top\n });\n var styles = virtualized ? (0, _extends2.default)({\n height: height\n }, mergedMenuStyle) : (0, _extends2.default)({}, mergedMenuStyle);\n return /*#__PURE__*/_react.default.createElement(_Picker.PickerOverlay, {\n autoWidth: menuAutoWidth,\n className: classes,\n style: styles,\n ref: (0, _utils.mergeRefs)(overlayRef, speakerRef),\n onKeyDown: onPickerKeydown,\n target: triggerRef,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 824,\n columnNumber: 7\n }\n }, searchable ? /*#__PURE__*/_react.default.createElement(_Picker.SearchBar, {\n placeholder: locale.searchPlaceholder,\n onChange: handleSearch,\n value: searchKeywordState,\n inputRef: searchInputRef,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 833,\n columnNumber: 11\n }\n }) : null, renderMenu ? renderMenu(renderCheckTree()) : renderCheckTree(), renderExtraFooter === null || renderExtraFooter === void 0 ? void 0 : renderExtraFooter());\n };\n /**\n * 1.Have a value and the value is valid.\n * 2.Regardless of whether the value is valid, as long as renderValue is set, it is judged to have a value.\n */\n\n\n var hasValidValue = hasValue() || value.length > 0 && (0, _isFunction2.default)(renderValue);\n var selectedElement = placeholder;\n var selectedItems = (0, _utils2.getSelectedItems)(flattenNodes, value, valueKey);\n\n if (hasValidValue) {\n selectedElement = /*#__PURE__*/_react.default.createElement(_Picker.SelectedElement, {\n selectedItems: selectedItems,\n countable: countable,\n valueKey: valueKey,\n labelKey: labelKey,\n childrenKey: childrenKey,\n prefix: prefix,\n cascade: cascade,\n locale: locale,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 856,\n columnNumber: 7\n }\n });\n\n if ((0, _isFunction2.default)(renderValue)) {\n selectedElement = renderValue(value, selectedItems, selectedElement);\n\n if ((0, _isNil2.default)(selectedElement)) {\n hasValidValue = false;\n }\n }\n }\n\n var _usePickerClassName = (0, _Picker.usePickerClassName)((0, _extends2.default)({}, props, {\n classPrefix: classPrefix,\n appearance: appearance,\n countable: countable,\n cleanable: cleanable,\n disabled: disabled,\n hasValue: hasValidValue,\n name: 'check-tree'\n })),\n classes = _usePickerClassName[0],\n usedClassNamePropKeys = _usePickerClassName[1];\n\n if (inline) {\n return renderCheckTree();\n }\n\n return /*#__PURE__*/_react.default.createElement(_Picker.PickerToggleTrigger, {\n pickerProps: (0, _pick2.default)(props, _Picker.pickTriggerPropKeys),\n ref: triggerRef,\n placement: placement,\n onEnter: handleOpen,\n onEntered: onEntered,\n onExited: (0, _utils.createChainedFunction)(handleClose, onExited),\n speaker: renderDropdownMenu,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 891,\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: 900,\n columnNumber: 7\n }\n }, /*#__PURE__*/_react.default.createElement(_Picker.PickerToggle, (0, _extends2.default)({}, (0, _omit2.default)(rest, [].concat(_Picker.omitTriggerPropKeys, usedClassNamePropKeys)), {\n id: id,\n ref: targetRef,\n appearance: appearance,\n onKeyDown: onPickerKeydown,\n onClean: (0, _utils.createChainedFunction)(handleClean, onClean),\n cleanable: cleanable && !disabled,\n disabled: disabled,\n as: toggleAs,\n hasValue: hasValidValue,\n active: active,\n placement: placement,\n inputValue: value,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 901,\n columnNumber: 9\n }\n }), selectedElement || locale.placeholder)));\n});\n\nCheckTreePicker.displayName = 'CheckTreePicker';\nCheckTreePicker.propTypes = (0, _extends2.default)({}, _Picker.listPickerPropTypes, {\n height: _propTypes.default.number,\n appearance: _propTypes.default.oneOf(['default', 'subtle']),\n locale: _propTypes.default.any,\n cascade: _propTypes.default.bool,\n countable: _propTypes.default.bool,\n searchable: _propTypes.default.bool,\n virtualized: _propTypes.default.bool,\n searchKeyword: _propTypes.default.string,\n menuAutoWidth: _propTypes.default.bool,\n defaultExpandAll: _propTypes.default.bool,\n containerPadding: _propTypes.default.number,\n disabledItemValues: _propTypes.default.array,\n expandItemValues: _propTypes.default.array,\n defaultExpandItemValues: _propTypes.default.array,\n uncheckableItemValues: _propTypes.default.array,\n onSearch: _propTypes.default.func,\n onExpand: _propTypes.default.func,\n onSelect: _propTypes.default.func,\n renderMenu: _propTypes.default.func,\n renderTreeNode: _propTypes.default.func,\n renderTreeIcon: _propTypes.default.func,\n searchBy: _propTypes.default.func,\n onScroll: _propTypes.default.func\n});\nvar _default = CheckTreePicker;\nexports.default = _default;\n\n//# sourceURL=webpack://rsuite/./src/CheckTreePicker/CheckTreePicker.tsx?");
2070
+ 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 _isUndefined2 = _interopRequireDefault(__webpack_require__(/*! lodash/isUndefined */ \"./node_modules/lodash/isUndefined.js\"));\n\nvar _cloneDeep2 = _interopRequireDefault(__webpack_require__(/*! lodash/cloneDeep */ \"./node_modules/lodash/cloneDeep.js\"));\n\nvar _omit2 = _interopRequireDefault(__webpack_require__(/*! lodash/omit */ \"./node_modules/lodash/omit.js\"));\n\nvar _isFunction2 = _interopRequireDefault(__webpack_require__(/*! lodash/isFunction */ \"./node_modules/lodash/isFunction.js\"));\n\nvar _pick2 = _interopRequireDefault(__webpack_require__(/*! lodash/pick */ \"./node_modules/lodash/pick.js\"));\n\nvar _isNil2 = _interopRequireDefault(__webpack_require__(/*! lodash/isNil */ \"./node_modules/lodash/isNil.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 _VirtualizedList = __webpack_require__(/*! ../Picker/VirtualizedList */ \"./src/Picker/VirtualizedList.tsx\");\n\nvar _CheckTreeNode = _interopRequireDefault(__webpack_require__(/*! ./CheckTreeNode */ \"./src/CheckTreePicker/CheckTreeNode.tsx\"));\n\nvar _TreeContext = _interopRequireDefault(__webpack_require__(/*! ../Tree/TreeContext */ \"./src/Tree/TreeContext.ts\"));\n\nvar _treeUtils = __webpack_require__(/*! ../utils/treeUtils */ \"./src/utils/treeUtils.ts\");\n\nvar _utils = __webpack_require__(/*! ../utils */ \"./src/utils/index.ts\");\n\nvar _Picker = __webpack_require__(/*! ../Picker */ \"./src/Picker/index.ts\");\n\nvar _utils2 = __webpack_require__(/*! ./utils */ \"./src/CheckTreePicker/utils.ts\");\n\nvar _TreePicker = __webpack_require__(/*! ../TreePicker/TreePicker */ \"./src/TreePicker/TreePicker.tsx\");\n\nvar _jsxFileName = \"/home/runner/work/rsuite/rsuite/src/CheckTreePicker/CheckTreePicker.tsx\",\n _this = void 0;\n\nvar emptyArray = [];\n\nvar CheckTreePicker = /*#__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 style = props.style,\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 _props$countable = props.countable,\n countable = _props$countable === void 0 ? true : _props$countable,\n searchBy = props.searchBy,\n toggleAs = props.toggleAs,\n searchKeyword = props.searchKeyword,\n showIndentLine = props.showIndentLine,\n overrideLocale = props.locale,\n _props$cascade = props.cascade,\n cascade = _props$cascade === void 0 ? true : _props$cascade,\n disabled = props.disabled,\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 _props$placement = props.placement,\n placement = _props$placement === void 0 ? 'bottomStart' : _props$placement,\n _props$childrenKey = props.childrenKey,\n childrenKey = _props$childrenKey === void 0 ? 'children' : _props$childrenKey,\n placeholder = props.placeholder,\n controlledValue = props.value,\n _props$defaultValue = props.defaultValue,\n defaultValue = _props$defaultValue === void 0 ? emptyArray : _props$defaultValue,\n defaultExpandAll = props.defaultExpandAll,\n _props$disabledItemVa = props.disabledItemValues,\n disabledItemValues = _props$disabledItemVa === void 0 ? emptyArray : _props$disabledItemVa,\n controlledExpandItemValues = props.expandItemValues,\n defaultExpandItemValues = props.defaultExpandItemValues,\n _props$height = props.height,\n height = _props$height === void 0 ? 360 : _props$height,\n menuStyle = props.menuStyle,\n _props$searchable = props.searchable,\n searchable = _props$searchable === void 0 ? true : _props$searchable,\n virtualized = props.virtualized,\n className = props.className,\n _props$classPrefix = props.classPrefix,\n classPrefix = _props$classPrefix === void 0 ? 'picker' : _props$classPrefix,\n menuClassName = props.menuClassName,\n _props$menuAutoWidth = props.menuAutoWidth,\n menuAutoWidth = _props$menuAutoWidth === void 0 ? true : _props$menuAutoWidth,\n _props$uncheckableIte = props.uncheckableItemValues,\n uncheckableItemValues = _props$uncheckableIte === void 0 ? emptyArray : _props$uncheckableIte,\n id = props.id,\n listProps = props.listProps,\n renderMenu = props.renderMenu,\n getChildren = props.getChildren,\n renderExtraFooter = props.renderExtraFooter,\n onEntered = props.onEntered,\n onChange = props.onChange,\n onClean = props.onClean,\n onClose = props.onClose,\n onExited = props.onExited,\n onSearch = props.onSearch,\n onSelect = props.onSelect,\n onOpen = props.onOpen,\n onScroll = props.onScroll,\n onExpand = props.onExpand,\n renderValue = props.renderValue,\n renderTreeIcon = props.renderTreeIcon,\n renderTreeNode = props.renderTreeNode,\n rest = (0, _objectWithoutPropertiesLoose2.default)(props, [\"as\", \"data\", \"style\", \"appearance\", \"cleanable\", \"countable\", \"searchBy\", \"toggleAs\", \"searchKeyword\", \"showIndentLine\", \"locale\", \"cascade\", \"disabled\", \"valueKey\", \"labelKey\", \"placement\", \"childrenKey\", \"placeholder\", \"value\", \"defaultValue\", \"defaultExpandAll\", \"disabledItemValues\", \"expandItemValues\", \"defaultExpandItemValues\", \"height\", \"menuStyle\", \"searchable\", \"virtualized\", \"className\", \"classPrefix\", \"menuClassName\", \"menuAutoWidth\", \"uncheckableItemValues\", \"id\", \"listProps\", \"renderMenu\", \"getChildren\", \"renderExtraFooter\", \"onEntered\", \"onChange\", \"onClean\", \"onClose\", \"onExited\", \"onSearch\", \"onSelect\", \"onOpen\", \"onScroll\", \"onExpand\", \"renderValue\", \"renderTreeIcon\", \"renderTreeNode\"]);\n\n var _useContext = (0, _react.useContext)(_TreeContext.default),\n inline = _useContext.inline;\n\n var triggerRef = (0, _react.useRef)(null);\n var targetRef = (0, _react.useRef)(null);\n var listRef = (0, _react.useRef)(null);\n var overlayRef = (0, _react.useRef)(null);\n var searchInputRef = (0, _react.useRef)(null);\n var treeViewRef = (0, _react.useRef)(null);\n\n var _useCustom = (0, _utils.useCustom)('Picker', overrideLocale),\n rtl = _useCustom.rtl,\n locale = _useCustom.locale;\n\n var _useState = (0, _react.useState)(false),\n active = _useState[0],\n setActive = _useState[1];\n\n var _useState2 = (0, _react.useState)(null),\n activeNode = _useState2[0],\n setActiveNode = _useState2[1];\n\n var _useClassNames = (0, _utils.useClassNames)(classPrefix),\n prefix = _useClassNames.prefix,\n merge = _useClassNames.merge;\n\n var _useClassNames2 = (0, _utils.useClassNames)('check-tree'),\n checkTreePrefix = _useClassNames2.prefix,\n withCheckTreeClassPrefix = _useClassNames2.withClassPrefix;\n\n var _useControlled = (0, _utils.useControlled)(controlledValue, defaultValue),\n value = _useControlled[0],\n setValue = _useControlled[1],\n isControlled = _useControlled[2];\n\n var _useGetTreeNodeChildr = (0, _treeUtils.useGetTreeNodeChildren)(data, valueKey, childrenKey),\n treeData = _useGetTreeNodeChildr.data,\n setTreeData = _useGetTreeNodeChildr.setData,\n loadingNodeValues = _useGetTreeNodeChildr.loadingNodeValues,\n loadChildren = _useGetTreeNodeChildr.loadChildren;\n\n var _useControlled2 = (0, _utils.useControlled)(controlledExpandItemValues, (0, _treeUtils.getDefaultExpandItemValues)(treeData, {\n defaultExpandAll: defaultExpandAll,\n valueKey: valueKey,\n childrenKey: childrenKey,\n defaultExpandItemValues: defaultExpandItemValues\n })),\n expandItemValues = _useControlled2[0],\n setExpandItemValues = _useControlled2[1];\n\n var _useState3 = (0, _react.useState)(null),\n focusItemValue = _useState3[0],\n setFocusItemValue = _useState3[1];\n\n var _useFlattenTreeData = (0, _treeUtils.useFlattenTreeData)({\n data: treeData,\n labelKey: labelKey,\n valueKey: valueKey,\n childrenKey: childrenKey,\n uncheckableItemValues: uncheckableItemValues,\n callback: function callback(nodes) {\n // after flattenData, always unSerialize check property value\n unSerializeList({\n nodes: nodes,\n key: 'check',\n value: value,\n cascade: cascade,\n uncheckableItemValues: uncheckableItemValues\n });\n forceUpdate();\n }\n }),\n flattenNodes = _useFlattenTreeData.flattenNodes,\n forceUpdate = _useFlattenTreeData.forceUpdate,\n formatVirtualizedTreeData = _useFlattenTreeData.formatVirtualizedTreeData,\n serializeListOnlyParent = _useFlattenTreeData.serializeListOnlyParent,\n unSerializeList = _useFlattenTreeData.unSerializeList;\n\n var _useTreeSearch = (0, _treeUtils.useTreeSearch)({\n labelKey: labelKey,\n childrenKey: childrenKey,\n searchKeyword: searchKeyword,\n data: treeData,\n searchBy: searchBy,\n callback: function callback(searchKeyword, _filterData, event) {\n onSearch === null || onSearch === void 0 ? void 0 : onSearch(searchKeyword, event);\n }\n }),\n filteredData = _useTreeSearch.filteredData,\n searchKeywordState = _useTreeSearch.searchKeywordState,\n setSearchKeyword = _useTreeSearch.setSearchKeyword,\n handleSearch = _useTreeSearch.handleSearch,\n setFilteredData = _useTreeSearch.setFilteredData;\n\n var _useTreeNodeRefs = (0, _treeUtils.useTreeNodeRefs)(),\n treeNodesRefs = _useTreeNodeRefs.treeNodesRefs,\n saveTreeNodeRef = _useTreeNodeRefs.saveTreeNodeRef;\n /**\n * get formatted nodes for render tree\n * @params render - renderNode function. only used when virtualized setting false\n */\n\n\n var getFormattedNodes = (0, _react.useCallback)(function (render) {\n if (virtualized) {\n return formatVirtualizedTreeData(flattenNodes, filteredData, expandItemValues, {\n cascade: cascade,\n searchKeyword: searchKeywordState\n }).filter(function (item) {\n return item.visible;\n });\n }\n\n return (0, _utils2.getFormattedTree)(filteredData, flattenNodes, {\n childrenKey: childrenKey,\n cascade: cascade\n }).map(function (node) {\n return render === null || render === void 0 ? void 0 : render(node, 1);\n });\n }, [searchKeywordState, expandItemValues, filteredData, flattenNodes, formatVirtualizedTreeData, virtualized, childrenKey, cascade]);\n\n var getTreeNodeProps = function getTreeNodeProps(node, layer) {\n return {\n as: Component,\n rtl: rtl,\n value: node[valueKey],\n label: node[labelKey],\n layer: layer,\n focus: (0, _utils.shallowEqual)(focusItemValue, node[valueKey]),\n expand: node.expand,\n visible: node.visible,\n loading: loadingNodeValues.some(function (item) {\n return (0, _utils.shallowEqual)(item, node[valueKey]);\n }),\n disabled: (0, _utils2.getDisabledState)(flattenNodes, node, {\n disabledItemValues: disabledItemValues,\n valueKey: valueKey\n }),\n nodeData: node,\n checkState: node.checkState,\n uncheckable: (0, _utils2.isNodeUncheckable)(node, {\n uncheckableItemValues: uncheckableItemValues,\n valueKey: valueKey\n }),\n allUncheckable: (0, _utils2.isAllSiblingNodeUncheckable)(node, flattenNodes, uncheckableItemValues, valueKey),\n onSelect: handleSelect,\n onExpand: handleExpand,\n onRenderTreeNode: renderTreeNode,\n onRenderTreeIcon: renderTreeIcon\n };\n };\n\n var focusActiveNode = (0, _react.useCallback)(function () {\n (0, _treeUtils.focusToActiveTreeNode)({\n list: listRef.current,\n valueKey: valueKey,\n selector: \".\" + checkTreePrefix('node-active'),\n activeNode: activeNode,\n virtualized: virtualized,\n container: treeViewRef.current,\n formattedNodes: getFormattedNodes()\n });\n }, [checkTreePrefix, activeNode, getFormattedNodes, valueKey, virtualized]);\n (0, _react.useEffect)(function () {\n setValue((0, _utils2.getCheckTreePickerDefaultValue)(value, uncheckableItemValues));\n }, []); // eslint-disable-line react-hooks/exhaustive-deps\n\n (0, _react.useEffect)(function () {\n setFilteredData(data, searchKeywordState);\n setTreeData(data);\n }, [data, searchKeywordState, setFilteredData, setTreeData]);\n (0, _react.useEffect)(function () {\n setFilteredData(treeData, searchKeywordState);\n }, [treeData, searchKeywordState, setFilteredData]);\n (0, _react.useEffect)(function () {\n if (Array.isArray(controlledExpandItemValues)) {\n setExpandItemValues(controlledExpandItemValues);\n }\n }, [controlledExpandItemValues, setExpandItemValues]);\n (0, _react.useEffect)(function () {\n setSearchKeyword(searchKeyword !== null && searchKeyword !== void 0 ? searchKeyword : '');\n }, [searchKeyword, setSearchKeyword]);\n (0, _react.useEffect)(function () {\n unSerializeList({\n nodes: flattenNodes,\n key: 'check',\n value: value,\n cascade: cascade,\n uncheckableItemValues: uncheckableItemValues\n });\n forceUpdate();\n }, [cascade, value, uncheckableItemValues, unSerializeList, flattenNodes, forceUpdate]);\n var toggleUpChecked = (0, _react.useCallback)(function (nodes, node, checked) {\n var currentNode = nodes[node.refKey];\n\n if (cascade) {\n if (!checked) {\n currentNode.check = checked;\n currentNode.checkAll = checked;\n } else {\n if ((0, _utils2.isEveryChildChecked)(nodes, currentNode)) {\n currentNode.check = true;\n currentNode.checkAll = true;\n } else {\n currentNode.check = false;\n currentNode.checkAll = false;\n }\n }\n\n if (currentNode.parent) {\n toggleUpChecked(nodes, currentNode.parent, checked);\n }\n }\n }, [cascade]);\n var toggleDownChecked = (0, _react.useCallback)(function (nodes, node, isChecked) {\n var currentNode = nodes[node.refKey];\n currentNode.check = isChecked;\n\n if (!currentNode[childrenKey] || !currentNode[childrenKey].length || !cascade) {\n currentNode.checkAll = false;\n } else {\n currentNode.checkAll = isChecked;\n currentNode[childrenKey].forEach(function (child) {\n toggleDownChecked(nodes, child, isChecked);\n });\n }\n }, [cascade, childrenKey]);\n var toggleChecked = (0, _react.useCallback)(function (node, isChecked) {\n var nodes = (0, _cloneDeep2.default)(flattenNodes);\n toggleDownChecked(nodes, node, isChecked);\n node.parent && toggleUpChecked(nodes, node.parent, isChecked);\n var values = serializeListOnlyParent(nodes, 'check'); // filter uncheckableItemValues\n\n return values.filter(function (v) {\n return !uncheckableItemValues.includes(v);\n });\n }, [flattenNodes, uncheckableItemValues, serializeListOnlyParent, toggleDownChecked, toggleUpChecked]);\n var handleSelect = (0, _react.useCallback)(function (node, event) {\n if (!node) {\n return;\n }\n\n var selectedValues = toggleChecked(node, !flattenNodes[node.refKey].check);\n\n if (!isControlled) {\n unSerializeList({\n nodes: flattenNodes,\n key: 'check',\n value: selectedValues,\n cascade: cascade,\n uncheckableItemValues: uncheckableItemValues\n });\n setValue(selectedValues);\n }\n\n setActiveNode(node);\n setFocusItemValue(node[valueKey]);\n onChange === null || onChange === void 0 ? void 0 : onChange(selectedValues, event);\n onSelect === null || onSelect === void 0 ? void 0 : onSelect(node, selectedValues, event);\n }, [cascade, valueKey, flattenNodes, isControlled, uncheckableItemValues, setValue, onChange, onSelect, toggleChecked, unSerializeList]);\n\n var hasValue = function hasValue() {\n var selectedValues = Object.keys(flattenNodes).map(function (refKey) {\n return flattenNodes[refKey][valueKey];\n }).filter(function (item) {\n return value.some(function (v) {\n return (0, _utils.shallowEqual)(v, item);\n });\n });\n return !!selectedValues.length;\n };\n\n var handleOpen = (0, _react.useCallback)(function () {\n var _triggerRef$current, _triggerRef$current$o;\n\n (_triggerRef$current = triggerRef.current) === null || _triggerRef$current === void 0 ? void 0 : (_triggerRef$current$o = _triggerRef$current.open) === null || _triggerRef$current$o === void 0 ? void 0 : _triggerRef$current$o.call(_triggerRef$current);\n setFocusItemValue(activeNode === null || activeNode === void 0 ? void 0 : activeNode[valueKey]);\n focusActiveNode();\n onOpen === null || onOpen === void 0 ? void 0 : onOpen();\n setActive(true);\n }, [activeNode, focusActiveNode, onOpen, valueKey]);\n var handleClose = (0, _react.useCallback)(function () {\n var _triggerRef$current2, _triggerRef$current2$, _targetRef$current;\n\n (_triggerRef$current2 = triggerRef.current) === null || _triggerRef$current2 === void 0 ? void 0 : (_triggerRef$current2$ = _triggerRef$current2.close) === null || _triggerRef$current2$ === void 0 ? void 0 : _triggerRef$current2$.call(_triggerRef$current2);\n setSearchKeyword('');\n onClose === null || onClose === void 0 ? void 0 : onClose();\n setFocusItemValue(null);\n setActive(false);\n /**\n * when using keyboard toggle picker, should refocus on PickerToggle Component after close picker menu\n */\n\n (_targetRef$current = targetRef.current) === null || _targetRef$current === void 0 ? void 0 : _targetRef$current.focus();\n }, [onClose, setSearchKeyword]);\n var handleExpand = (0, _react.useCallback)(function (node) {\n var nextExpandItemValues = (0, _treeUtils.toggleExpand)({\n node: node,\n isExpand: !node.expand,\n expandItemValues: expandItemValues,\n valueKey: valueKey\n });\n setExpandItemValues(nextExpandItemValues);\n onExpand === null || onExpand === void 0 ? void 0 : onExpand(nextExpandItemValues, node, (0, _Picker.createConcatChildrenFunction)(node, node[valueKey], {\n valueKey: valueKey,\n childrenKey: childrenKey\n }));\n\n if ((0, _isFunction2.default)(getChildren) && !node.expand && Array.isArray(node[childrenKey]) && node[childrenKey].length === 0) {\n loadChildren(node, getChildren);\n }\n }, [childrenKey, expandItemValues, getChildren, loadChildren, onExpand, setExpandItemValues, valueKey]);\n (0, _Picker.usePublicMethods)(ref, {\n rootRef: inline ? treeViewRef : undefined,\n triggerRef: triggerRef,\n overlayRef: overlayRef,\n targetRef: targetRef,\n listRef: listRef,\n inline: inline\n });\n var handleClean = (0, _react.useCallback)(function (event) {\n var target = event.target; // exclude searchBar\n\n if (target.matches('div[role=\"searchbox\"] > input')) {\n return;\n }\n\n setActiveNode(null);\n setValue([]);\n setFocusItemValue(null);\n unSerializeList({\n nodes: flattenNodes,\n key: 'check',\n value: [],\n cascade: cascade,\n uncheckableItemValues: uncheckableItemValues\n });\n onChange === null || onChange === void 0 ? void 0 : onChange([], event);\n }, [cascade, flattenNodes, onChange, setValue, unSerializeList, uncheckableItemValues]);\n var handleFocusItem = (0, _react.useCallback)(function (key) {\n var focusableItems = (0, _treeUtils.getFocusableItems)(filteredData, {\n disabledItemValues: disabledItemValues,\n valueKey: valueKey,\n childrenKey: childrenKey,\n expandItemValues: expandItemValues\n }, (0, _treeUtils.isSearching)(searchKeywordState));\n var selector = \".\" + checkTreePrefix('node-label');\n var focusProps = {\n focusItemValue: focusItemValue,\n focusableItems: focusableItems,\n treeNodesRefs: treeNodesRefs,\n selector: selector,\n valueKey: valueKey,\n callback: function callback(nextFocusItemValue) {\n setFocusItemValue(nextFocusItemValue);\n }\n };\n\n if (key === _utils.KEY_VALUES.DOWN) {\n (0, _treeUtils.focusNextItem)(focusProps);\n return;\n }\n\n if (key === _utils.KEY_VALUES.UP) {\n (0, _treeUtils.focusPreviousItem)(focusProps);\n }\n }, [searchKeywordState, checkTreePrefix, expandItemValues, filteredData, focusItemValue, treeNodesRefs, childrenKey, valueKey, disabledItemValues]);\n var handleLeftArrow = (0, _react.useCallback)(function () {\n if ((0, _isNil2.default)(focusItemValue)) return;\n var focusItem = (0, _treeUtils.getActiveItem)(focusItemValue, flattenNodes, valueKey);\n (0, _treeUtils.leftArrowHandler)({\n focusItem: focusItem,\n expand: expandItemValues.includes(focusItem === null || focusItem === void 0 ? void 0 : focusItem[valueKey]),\n onExpand: handleExpand,\n childrenKey: childrenKey,\n onFocusItem: function onFocusItem() {\n var _focusItem$parent, _focusItem$parent2;\n\n setFocusItemValue(focusItem === null || focusItem === void 0 ? void 0 : (_focusItem$parent = focusItem.parent) === null || _focusItem$parent === void 0 ? void 0 : _focusItem$parent[valueKey]);\n (0, _treeUtils.focusTreeNode)(focusItem === null || focusItem === void 0 ? void 0 : (_focusItem$parent2 = focusItem.parent) === null || _focusItem$parent2 === void 0 ? void 0 : _focusItem$parent2.refKey, treeNodesRefs, \".\" + checkTreePrefix('node-label'));\n }\n });\n }, [checkTreePrefix, expandItemValues, flattenNodes, focusItemValue, handleExpand, treeNodesRefs, valueKey, childrenKey]);\n var handleRightArrow = (0, _react.useCallback)(function () {\n if ((0, _isNil2.default)(focusItemValue)) return;\n var focusItem = (0, _treeUtils.getActiveItem)(focusItemValue, flattenNodes, valueKey);\n (0, _treeUtils.rightArrowHandler)({\n focusItem: focusItem,\n expand: expandItemValues.includes(focusItem === null || focusItem === void 0 ? void 0 : focusItem[valueKey]),\n childrenKey: childrenKey,\n onExpand: handleExpand,\n onFocusItem: function onFocusItem() {\n handleFocusItem(_utils.KEY_VALUES.DOWN);\n }\n });\n }, [focusItemValue, flattenNodes, valueKey, expandItemValues, childrenKey, handleExpand, handleFocusItem]);\n var selectActiveItem = (0, _react.useCallback)(function (event) {\n if ((0, _isNil2.default)(focusItemValue)) return;\n var activeItem = (0, _treeUtils.getActiveItem)(focusItemValue, flattenNodes, valueKey);\n\n if (!(0, _utils2.isNodeUncheckable)(activeItem, {\n uncheckableItemValues: uncheckableItemValues,\n valueKey: valueKey\n }) && activeItem !== null) {\n handleSelect(activeItem, event);\n }\n }, [flattenNodes, focusItemValue, handleSelect, uncheckableItemValues, valueKey]);\n var onPickerKeydown = (0, _Picker.useToggleKeyDownEvent)({\n toggle: !focusItemValue || !active,\n triggerRef: triggerRef,\n targetRef: targetRef,\n overlayRef: overlayRef,\n searchInputRef: searchInputRef,\n active: active,\n onExit: handleClean,\n onClose: handleClose,\n onMenuKeyDown: function onMenuKeyDown(event) {\n (0, _Picker.onMenuKeyDown)(event, {\n down: function down() {\n return handleFocusItem(_utils.KEY_VALUES.DOWN);\n },\n up: function up() {\n return handleFocusItem(_utils.KEY_VALUES.UP);\n },\n left: rtl ? handleRightArrow : handleLeftArrow,\n right: rtl ? handleLeftArrow : handleRightArrow,\n enter: selectActiveItem,\n del: handleClean\n });\n }\n });\n var handleTreeKeydown = (0, _react.useCallback)(function (event) {\n if (!treeViewRef.current) {\n return;\n }\n\n (0, _Picker.onMenuKeyDown)(event, {\n down: function down() {\n return handleFocusItem(_utils.KEY_VALUES.DOWN);\n },\n up: function up() {\n return handleFocusItem(_utils.KEY_VALUES.UP);\n },\n left: rtl ? handleRightArrow : handleLeftArrow,\n right: rtl ? handleLeftArrow : handleRightArrow,\n enter: selectActiveItem\n });\n }, [handleFocusItem, handleLeftArrow, handleRightArrow, rtl, selectActiveItem]);\n\n var renderNode = function renderNode(node, layer) {\n var visible = node.visible,\n refKey = node.refKey; // when searching, all nodes should be expand\n\n var expand = (0, _treeUtils.getExpandWhenSearching)(searchKeywordState, expandItemValues.includes(node[valueKey]));\n\n if (!visible) {\n return null;\n }\n\n var children = node[childrenKey];\n var visibleChildren = (0, _isUndefined2.default)(searchKeywordState) || searchKeywordState.length === 0 ? !!children : (0, _treeUtils.hasVisibleChildren)(node, childrenKey);\n var nodeProps = (0, _extends2.default)({}, getTreeNodeProps((0, _extends2.default)({}, node, {\n expand: expand\n }), layer), {\n hasChildren: visibleChildren\n });\n\n if (nodeProps.hasChildren) {\n var _merge;\n\n layer += 1;\n var openClass = checkTreePrefix('open');\n var childrenClass = merge(checkTreePrefix('node-children'), (_merge = {}, _merge[openClass] = expand && visibleChildren, _merge));\n var nodes = children || [];\n return /*#__PURE__*/_react.default.createElement(\"div\", {\n className: childrenClass,\n key: node[valueKey],\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 707,\n columnNumber: 9\n }\n }, /*#__PURE__*/_react.default.createElement(_CheckTreeNode.default, (0, _extends2.default)({}, nodeProps, {\n ref: function ref(_ref) {\n return saveTreeNodeRef(_ref, refKey);\n },\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 708,\n columnNumber: 11\n }\n })), /*#__PURE__*/_react.default.createElement(\"div\", {\n className: checkTreePrefix('children'),\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 709,\n columnNumber: 11\n }\n }, nodes.map(function (child) {\n return renderNode(child, layer);\n }), showIndentLine && /*#__PURE__*/_react.default.createElement(\"span\", {\n className: checkTreePrefix('indent-line'),\n style: (0, _treeUtils.getTreeNodeIndent)(rtl, layer - 1, true),\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 712,\n columnNumber: 15\n }\n })));\n }\n\n return /*#__PURE__*/_react.default.createElement(_CheckTreeNode.default, (0, _extends2.default)({\n key: node[valueKey],\n ref: function ref(_ref2) {\n return saveTreeNodeRef(_ref2, refKey);\n }\n }, nodeProps, {\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 723,\n columnNumber: 7\n }\n }));\n };\n\n var renderVirtualListNode = function renderVirtualListNode(nodes) {\n return function (_ref3) {\n var key = _ref3.key,\n index = _ref3.index,\n style = _ref3.style;\n var node = nodes[index];\n var layer = node.layer,\n refKey = node.refKey,\n visible = node.visible;\n var expand = (0, _treeUtils.getExpandWhenSearching)(searchKeywordState, expandItemValues.includes(node[valueKey]));\n var nodeProps = (0, _extends2.default)({}, getTreeNodeProps((0, _extends2.default)({}, node, {\n expand: expand\n }), layer), {\n hasChildren: node.hasChildren\n });\n return visible && /*#__PURE__*/_react.default.createElement(_CheckTreeNode.default, (0, _extends2.default)({\n style: style,\n key: key,\n ref: function ref(_ref4) {\n return saveTreeNodeRef(_ref4, refKey);\n }\n }, nodeProps, {\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 747,\n columnNumber: 11\n }\n }));\n };\n };\n\n var renderCheckTree = function renderCheckTree() {\n var _withCheckTreeClassPr, _merge2;\n\n var classes = withCheckTreeClassPrefix((_withCheckTreeClassPr = {}, _withCheckTreeClassPr[className !== null && className !== void 0 ? className : ''] = inline, _withCheckTreeClassPr['without-children'] = !(0, _utils2.isSomeNodeHasChildren)(data, childrenKey), _withCheckTreeClassPr.virtualized = virtualized, _withCheckTreeClassPr));\n var formattedNodes = getFormattedNodes(renderNode);\n\n if (!formattedNodes.some(function (v) {\n return v !== null;\n })) {\n return /*#__PURE__*/_react.default.createElement(\"div\", {\n className: prefix('none'),\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 767,\n columnNumber: 14\n }\n }, locale.noResultsText);\n }\n\n var treeNodesClass = merge(checkTreePrefix('nodes'), (_merge2 = {}, _merge2[checkTreePrefix('all-uncheckable')] = (0, _utils2.isEveryFirstLevelNodeUncheckable)(flattenNodes, uncheckableItemValues, valueKey), _merge2));\n var styles = inline ? (0, _extends2.default)({\n height: height\n }, style) : {};\n return /*#__PURE__*/_react.default.createElement(\"div\", {\n id: id ? id + \"-listbox\" : undefined,\n ref: treeViewRef,\n role: \"tree\",\n \"aria-multiselectable\": true,\n className: classes,\n style: styles,\n onScroll: onScroll,\n onKeyDown: inline ? handleTreeKeydown : undefined,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 780,\n columnNumber: 7\n }\n }, /*#__PURE__*/_react.default.createElement(\"div\", {\n className: treeNodesClass,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 790,\n columnNumber: 9\n }\n }, virtualized ? /*#__PURE__*/_react.default.createElement(_VirtualizedList.AutoSizer, {\n defaultHeight: inline ? height : _TreePicker.maxTreeHeight,\n style: {\n width: 'auto',\n height: 'auto'\n },\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 792,\n columnNumber: 13\n }\n }, function (_ref5) {\n var height = _ref5.height,\n width = _ref5.width;\n return /*#__PURE__*/_react.default.createElement(_VirtualizedList.List, (0, _extends2.default)({\n ref: listRef,\n width: width,\n height: height,\n rowHeight: 36,\n rowCount: formattedNodes.length,\n rowRenderer: renderVirtualListNode(formattedNodes),\n scrollToAlignment: \"center\"\n }, listProps, {\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 797,\n columnNumber: 17\n }\n }));\n }) : formattedNodes));\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 = (0, _classnames.default)(className, menuClassName, prefix('check-tree-menu'));\n var mergedMenuStyle = (0, _extends2.default)({}, menuStyle, {\n left: left,\n top: top\n });\n var styles = virtualized ? (0, _extends2.default)({\n height: height\n }, mergedMenuStyle) : (0, _extends2.default)({}, mergedMenuStyle);\n return /*#__PURE__*/_react.default.createElement(_Picker.PickerOverlay, {\n autoWidth: menuAutoWidth,\n className: classes,\n style: styles,\n ref: (0, _utils.mergeRefs)(overlayRef, speakerRef),\n onKeyDown: onPickerKeydown,\n target: triggerRef,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 824,\n columnNumber: 7\n }\n }, searchable ? /*#__PURE__*/_react.default.createElement(_Picker.SearchBar, {\n placeholder: locale.searchPlaceholder,\n onChange: handleSearch,\n value: searchKeywordState,\n inputRef: searchInputRef,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 833,\n columnNumber: 11\n }\n }) : null, renderMenu ? renderMenu(renderCheckTree()) : renderCheckTree(), renderExtraFooter === null || renderExtraFooter === void 0 ? void 0 : renderExtraFooter());\n };\n /**\n * 1.Have a value and the value is valid.\n * 2.Regardless of whether the value is valid, as long as renderValue is set, it is judged to have a value.\n */\n\n\n var hasValidValue = hasValue() || value.length > 0 && (0, _isFunction2.default)(renderValue);\n var selectedElement = placeholder;\n var selectedItems = (0, _utils2.getSelectedItems)(flattenNodes, value, valueKey);\n\n if (hasValidValue) {\n selectedElement = /*#__PURE__*/_react.default.createElement(_Picker.SelectedElement, {\n selectedItems: selectedItems,\n countable: countable,\n valueKey: valueKey,\n labelKey: labelKey,\n childrenKey: childrenKey,\n prefix: prefix,\n cascade: cascade,\n locale: locale,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 856,\n columnNumber: 7\n }\n });\n\n if ((0, _isFunction2.default)(renderValue)) {\n selectedElement = renderValue(value, selectedItems, selectedElement);\n\n if ((0, _isNil2.default)(selectedElement)) {\n hasValidValue = false;\n }\n }\n }\n\n var _usePickerClassName = (0, _Picker.usePickerClassName)((0, _extends2.default)({}, props, {\n classPrefix: classPrefix,\n appearance: appearance,\n countable: countable,\n cleanable: cleanable,\n disabled: disabled,\n hasValue: hasValidValue,\n name: 'check-tree'\n })),\n classes = _usePickerClassName[0],\n usedClassNamePropKeys = _usePickerClassName[1];\n\n if (inline) {\n return renderCheckTree();\n }\n\n return /*#__PURE__*/_react.default.createElement(_Picker.PickerToggleTrigger, {\n pickerProps: (0, _pick2.default)(props, _Picker.pickTriggerPropKeys),\n ref: triggerRef,\n placement: placement,\n onEnter: handleOpen,\n onEntered: onEntered,\n onExited: (0, _utils.createChainedFunction)(handleClose, onExited),\n speaker: renderDropdownMenu,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 891,\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: 900,\n columnNumber: 7\n }\n }, /*#__PURE__*/_react.default.createElement(_Picker.PickerToggle, (0, _extends2.default)({}, (0, _omit2.default)(rest, [].concat(_Picker.omitTriggerPropKeys, usedClassNamePropKeys)), {\n id: id,\n ref: targetRef,\n appearance: appearance,\n onKeyDown: onPickerKeydown,\n onClean: (0, _utils.createChainedFunction)(handleClean, onClean),\n cleanable: cleanable && !disabled,\n disabled: disabled,\n as: toggleAs,\n hasValue: hasValidValue,\n active: active,\n placement: placement,\n inputValue: value,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 901,\n columnNumber: 9\n }\n }), selectedElement || locale.placeholder)));\n});\n\nCheckTreePicker.displayName = 'CheckTreePicker';\nCheckTreePicker.propTypes = (0, _extends2.default)({}, _Picker.listPickerPropTypes, {\n height: _propTypes.default.number,\n appearance: _propTypes.default.oneOf(['default', 'subtle']),\n locale: _propTypes.default.any,\n cascade: _propTypes.default.bool,\n countable: _propTypes.default.bool,\n searchable: _propTypes.default.bool,\n virtualized: _propTypes.default.bool,\n searchKeyword: _propTypes.default.string,\n menuAutoWidth: _propTypes.default.bool,\n defaultExpandAll: _propTypes.default.bool,\n containerPadding: _propTypes.default.number,\n disabledItemValues: _propTypes.default.array,\n expandItemValues: _propTypes.default.array,\n defaultExpandItemValues: _propTypes.default.array,\n uncheckableItemValues: _propTypes.default.array,\n onSearch: _propTypes.default.func,\n onExpand: _propTypes.default.func,\n onSelect: _propTypes.default.func,\n renderMenu: _propTypes.default.func,\n renderTreeNode: _propTypes.default.func,\n renderTreeIcon: _propTypes.default.func,\n searchBy: _propTypes.default.func,\n onScroll: _propTypes.default.func\n});\nvar _default = CheckTreePicker;\nexports.default = _default;\n\n//# sourceURL=webpack://rsuite/./src/CheckTreePicker/CheckTreePicker.tsx?");
2071
2071
 
2072
2072
  /***/ }),
2073
2073
 
@@ -2089,7 +2089,7 @@ eval("\n\nvar _interopRequireDefault = __webpack_require__(/*! @babel/runtime/he
2089
2089
  /***/ (function(__unused_webpack_module, exports, __webpack_require__) {
2090
2090
 
2091
2091
  "use strict";
2092
- eval("\n\nvar _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ \"./node_modules/@babel/runtime/helpers/interopRequireDefault.js\");\n\nexports.__esModule = true;\nexports.isEveryChildChecked = isEveryChildChecked;\nexports.isSomeChildChecked = isSomeChildChecked;\nexports.isSomeNodeHasChildren = isSomeNodeHasChildren;\nexports.isAllSiblingNodeUncheckable = isAllSiblingNodeUncheckable;\nexports.isEveryFirstLevelNodeUncheckable = isEveryFirstLevelNodeUncheckable;\nexports.isNodeUncheckable = isNodeUncheckable;\nexports.getFormattedTree = getFormattedTree;\nexports.getDisabledState = getDisabledState;\nexports.getCheckTreePickerDefaultValue = getCheckTreePickerDefaultValue;\nexports.getSelectedItems = getSelectedItems;\nexports.getNodeCheckState = getNodeCheckState;\n\nvar _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ \"./node_modules/@babel/runtime/helpers/extends.js\"));\n\nvar _isUndefined2 = _interopRequireDefault(__webpack_require__(/*! lodash/isUndefined */ \"./node_modules/lodash/isUndefined.js\"));\n\nvar _isNil2 = _interopRequireDefault(__webpack_require__(/*! lodash/isNil */ \"./node_modules/lodash/isNil.js\"));\n\nvar _utils = __webpack_require__(/*! ../utils */ \"./src/utils/index.ts\");\n\nvar _treeUtils = __webpack_require__(/*! ../utils/treeUtils */ \"./src/utils/treeUtils.ts\");\n\nfunction isEveryChildChecked(nodes, parent) {\n if ((0, _isNil2.default)(parent.refKey) || (0, _isNil2.default)(nodes[parent.refKey])) {\n return false;\n }\n\n var children = (0, _treeUtils.getChildrenByFlattenNodes)(nodes, parent);\n\n if (!children.length) {\n var _nodes$parent$refKey$;\n\n return (_nodes$parent$refKey$ = nodes[parent.refKey].check) !== null && _nodes$parent$refKey$ !== void 0 ? _nodes$parent$refKey$ : false;\n }\n\n return children.every(function (child) {\n return !(0, _isNil2.default)(child.refKey) && nodes[child.refKey].check;\n });\n}\n\nfunction isSomeChildChecked(nodes, parent, childrenKey) {\n if (!(0, _isNil2.default)(parent.refKey) && (0, _isNil2.default)(nodes[parent.refKey])) {\n return false;\n }\n\n var children = (0, _treeUtils.getChildrenByFlattenNodes)(nodes, parent);\n return children.some(function (child) {\n var _child$childrenKey;\n\n if ((child === null || child === void 0 ? void 0 : (_child$childrenKey = child[childrenKey]) === null || _child$childrenKey === void 0 ? void 0 : _child$childrenKey.length) > 0) {\n return isSomeChildChecked(nodes, child, childrenKey);\n }\n\n return !(0, _isNil2.default)(child.refKey) && nodes[child.refKey].check;\n });\n}\n\nfunction isSomeNodeHasChildren(data, childrenKey) {\n return data.some(function (node) {\n return node[childrenKey];\n });\n}\n/**\n * is all siblings nodes is uncheckable\n * @param {*} node\n */\n\n\nfunction isAllSiblingNodeUncheckable(node, nodes, uncheckableItemValues, valueKey) {\n var list = [];\n var parentNodeRefKey = node.parent ? node.parent.refKey : '';\n Object.keys(nodes).forEach(function (refKey) {\n var _curNode$parent;\n\n var curNode = nodes[refKey];\n\n if ((0, _isNil2.default)(node.parent) && (0, _isNil2.default)(curNode.parent)) {\n list.push(curNode);\n } else if (((_curNode$parent = curNode.parent) === null || _curNode$parent === void 0 ? void 0 : _curNode$parent.refKey) === parentNodeRefKey) {\n list.push(curNode);\n }\n });\n return list.every(function (node) {\n return isNodeUncheckable(node, {\n uncheckableItemValues: uncheckableItemValues,\n valueKey: valueKey\n });\n });\n}\n/**\n * get each first level node uncheckable state\n */\n\n\nfunction isEveryFirstLevelNodeUncheckable(nodes, uncheckableItemValues, valueKey) {\n var list = [];\n Object.keys(nodes).forEach(function (refKey) {\n var curNode = nodes[refKey];\n\n if (!curNode.parent) {\n list.push(curNode);\n }\n });\n return list.every(function (node) {\n return isNodeUncheckable(node, {\n uncheckableItemValues: uncheckableItemValues,\n valueKey: valueKey\n });\n });\n}\n/**\n * get node uncheckable state\n * @param {*} node\n */\n\n\nfunction isNodeUncheckable(node, props) {\n var _props$uncheckableIte = props.uncheckableItemValues,\n uncheckableItemValues = _props$uncheckableIte === void 0 ? [] : _props$uncheckableIte,\n valueKey = props.valueKey;\n return uncheckableItemValues.some(function (value) {\n return (0, _utils.shallowEqual)(node[valueKey], value);\n });\n}\n\nfunction getFormattedTree(data, nodes, props) {\n var childrenKey = props.childrenKey,\n cascade = props.cascade;\n return data.map(function (node) {\n var formatted = (0, _extends2.default)({}, node);\n var curNode = nodes[node.refKey];\n\n if (curNode) {\n var _node;\n\n var checkState = !(0, _isUndefined2.default)(cascade) ? getNodeCheckState({\n node: curNode,\n cascade: cascade,\n nodes: nodes,\n childrenKey: childrenKey\n }) : undefined;\n formatted.check = curNode.check;\n formatted.expand = curNode.expand;\n formatted.uncheckable = curNode.uncheckable;\n formatted.parent = curNode.parent;\n formatted.checkState = checkState;\n\n if (((_node = node[childrenKey]) === null || _node === void 0 ? void 0 : _node.length) > 0) {\n formatted[childrenKey] = getFormattedTree(formatted[childrenKey], nodes, props);\n }\n }\n\n return formatted;\n });\n}\n\nfunction getDisabledState(nodes, node, props) {\n var _props$disabledItemVa = props.disabledItemValues,\n disabledItemValues = _props$disabledItemVa === void 0 ? [] : _props$disabledItemVa,\n valueKey = props.valueKey;\n\n if (!(0, _isNil2.default)(node.refKey) && (0, _isNil2.default)(nodes[node.refKey])) {\n return false;\n }\n\n return disabledItemValues.some(function (value) {\n return (0, _utils.shallowEqual)(nodes[node.refKey][valueKey], value);\n });\n}\n\nfunction getCheckTreePickerDefaultValue(value, uncheckableItemValues) {\n if (Array.isArray(value)) {\n return value.filter(function (v) {\n return !uncheckableItemValues.includes(v);\n });\n }\n\n return [];\n}\n\nfunction getSelectedItems(nodes, value, valueKey) {\n var checkItems = [];\n Object.keys(nodes).map(function (refKey) {\n var node = nodes[refKey];\n\n if (value.some(function (value) {\n return (0, _utils.shallowEqual)(node[valueKey], value);\n })) {\n checkItems.push(node);\n }\n });\n return checkItems;\n}\n\nfunction getNodeCheckState(_ref) {\n var nodes = _ref.nodes,\n node = _ref.node,\n cascade = _ref.cascade,\n childrenKey = _ref.childrenKey;\n\n if ((0, _isNil2.default)(nodes[node.refKey])) {\n return _utils.CHECK_STATE.UNCHECK;\n }\n\n if (!node[childrenKey] || !node[childrenKey].length || !cascade) {\n nodes[node.refKey].checkAll = false;\n return node.check ? _utils.CHECK_STATE.CHECK : _utils.CHECK_STATE.UNCHECK;\n }\n\n if (isEveryChildChecked(nodes, node)) {\n nodes[node.refKey].checkAll = true;\n nodes[node.refKey].check = true;\n return _utils.CHECK_STATE.CHECK;\n }\n\n if (isSomeChildChecked(nodes, node, childrenKey)) {\n nodes[node.refKey].checkAll = false;\n return _utils.CHECK_STATE.INDETERMINATE;\n }\n\n return _utils.CHECK_STATE.UNCHECK;\n}\n\n//# sourceURL=webpack://rsuite/./src/CheckTreePicker/utils.ts?");
2092
+ eval("\n\nvar _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ \"./node_modules/@babel/runtime/helpers/interopRequireDefault.js\");\n\nexports.__esModule = true;\nexports.isEveryChildChecked = isEveryChildChecked;\nexports.isSomeChildChecked = isSomeChildChecked;\nexports.isSomeNodeHasChildren = isSomeNodeHasChildren;\nexports.isAllSiblingNodeUncheckable = isAllSiblingNodeUncheckable;\nexports.isEveryFirstLevelNodeUncheckable = isEveryFirstLevelNodeUncheckable;\nexports.isNodeUncheckable = isNodeUncheckable;\nexports.getFormattedTree = getFormattedTree;\nexports.getDisabledState = getDisabledState;\nexports.getCheckTreePickerDefaultValue = getCheckTreePickerDefaultValue;\nexports.getSelectedItems = getSelectedItems;\nexports.getNodeCheckState = getNodeCheckState;\n\nvar _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ \"./node_modules/@babel/runtime/helpers/extends.js\"));\n\nvar _isUndefined2 = _interopRequireDefault(__webpack_require__(/*! lodash/isUndefined */ \"./node_modules/lodash/isUndefined.js\"));\n\nvar _isNil2 = _interopRequireDefault(__webpack_require__(/*! lodash/isNil */ \"./node_modules/lodash/isNil.js\"));\n\nvar _utils = __webpack_require__(/*! ../utils */ \"./src/utils/index.ts\");\n\nvar _treeUtils = __webpack_require__(/*! ../utils/treeUtils */ \"./src/utils/treeUtils.ts\");\n\nfunction isEveryChildChecked(nodes, parent) {\n if ((0, _isNil2.default)(parent.refKey) || (0, _isNil2.default)(nodes[parent.refKey])) {\n return false;\n }\n\n var children = (0, _treeUtils.getChildrenByFlattenNodes)(nodes, parent);\n\n if (!children.length) {\n var _nodes$parent$refKey$;\n\n return (_nodes$parent$refKey$ = nodes[parent.refKey].check) !== null && _nodes$parent$refKey$ !== void 0 ? _nodes$parent$refKey$ : false;\n }\n\n return children.every(function (child) {\n return !(0, _isNil2.default)(child.refKey) && nodes[child.refKey].check;\n });\n}\n\nfunction isSomeChildChecked(nodes, parent, childrenKey) {\n if (!(0, _isNil2.default)(parent.refKey) && (0, _isNil2.default)(nodes[parent.refKey])) {\n return false;\n }\n\n var children = (0, _treeUtils.getChildrenByFlattenNodes)(nodes, parent);\n return children.some(function (child) {\n var _child$childrenKey;\n\n if ((child === null || child === void 0 ? void 0 : (_child$childrenKey = child[childrenKey]) === null || _child$childrenKey === void 0 ? void 0 : _child$childrenKey.length) > 0) {\n return isSomeChildChecked(nodes, child, childrenKey);\n }\n\n return !(0, _isNil2.default)(child.refKey) && nodes[child.refKey].check;\n });\n}\n\nfunction isSomeNodeHasChildren(data, childrenKey) {\n return data.some(function (node) {\n return Array.isArray(node[childrenKey]);\n });\n}\n/**\n * is all siblings nodes is uncheckable\n * @param {*} node\n */\n\n\nfunction isAllSiblingNodeUncheckable(node, nodes, uncheckableItemValues, valueKey) {\n var list = [];\n var parentNodeRefKey = node.parent ? node.parent.refKey : '';\n Object.keys(nodes).forEach(function (refKey) {\n var _curNode$parent;\n\n var curNode = nodes[refKey];\n\n if ((0, _isNil2.default)(node.parent) && (0, _isNil2.default)(curNode.parent)) {\n list.push(curNode);\n } else if (((_curNode$parent = curNode.parent) === null || _curNode$parent === void 0 ? void 0 : _curNode$parent.refKey) === parentNodeRefKey) {\n list.push(curNode);\n }\n });\n return list.every(function (node) {\n return isNodeUncheckable(node, {\n uncheckableItemValues: uncheckableItemValues,\n valueKey: valueKey\n });\n });\n}\n/**\n * get each first level node uncheckable state\n */\n\n\nfunction isEveryFirstLevelNodeUncheckable(nodes, uncheckableItemValues, valueKey) {\n var list = [];\n Object.keys(nodes).forEach(function (refKey) {\n var curNode = nodes[refKey];\n\n if (!curNode.parent) {\n list.push(curNode);\n }\n });\n return list.every(function (node) {\n return isNodeUncheckable(node, {\n uncheckableItemValues: uncheckableItemValues,\n valueKey: valueKey\n });\n });\n}\n/**\n * get node uncheckable state\n * @param {*} node\n */\n\n\nfunction isNodeUncheckable(node, props) {\n var _props$uncheckableIte = props.uncheckableItemValues,\n uncheckableItemValues = _props$uncheckableIte === void 0 ? [] : _props$uncheckableIte,\n valueKey = props.valueKey;\n return uncheckableItemValues.some(function (value) {\n return (0, _utils.shallowEqual)(node[valueKey], value);\n });\n}\n\nfunction getFormattedTree(data, nodes, props) {\n var childrenKey = props.childrenKey,\n cascade = props.cascade;\n return data.map(function (node) {\n var formatted = (0, _extends2.default)({}, node);\n var curNode = nodes[node.refKey];\n\n if (curNode) {\n var _node;\n\n var checkState = !(0, _isUndefined2.default)(cascade) ? getNodeCheckState({\n node: curNode,\n cascade: cascade,\n nodes: nodes,\n childrenKey: childrenKey\n }) : undefined;\n formatted.check = curNode.check;\n formatted.expand = curNode.expand;\n formatted.uncheckable = curNode.uncheckable;\n formatted.parent = curNode.parent;\n formatted.checkState = checkState;\n\n if (((_node = node[childrenKey]) === null || _node === void 0 ? void 0 : _node.length) > 0) {\n formatted[childrenKey] = getFormattedTree(formatted[childrenKey], nodes, props);\n }\n }\n\n return formatted;\n });\n}\n\nfunction getDisabledState(nodes, node, props) {\n var _props$disabledItemVa = props.disabledItemValues,\n disabledItemValues = _props$disabledItemVa === void 0 ? [] : _props$disabledItemVa,\n valueKey = props.valueKey;\n\n if (!(0, _isNil2.default)(node.refKey) && (0, _isNil2.default)(nodes[node.refKey])) {\n return false;\n }\n\n return disabledItemValues.some(function (value) {\n return (0, _utils.shallowEqual)(nodes[node.refKey][valueKey], value);\n });\n}\n\nfunction getCheckTreePickerDefaultValue(value, uncheckableItemValues) {\n if (Array.isArray(value)) {\n return value.filter(function (v) {\n return !uncheckableItemValues.includes(v);\n });\n }\n\n return [];\n}\n\nfunction getSelectedItems(nodes, value, valueKey) {\n var checkItems = [];\n Object.keys(nodes).map(function (refKey) {\n var node = nodes[refKey];\n\n if (value.some(function (value) {\n return (0, _utils.shallowEqual)(node[valueKey], value);\n })) {\n checkItems.push(node);\n }\n });\n return checkItems;\n}\n\nfunction getNodeCheckState(_ref) {\n var nodes = _ref.nodes,\n node = _ref.node,\n cascade = _ref.cascade,\n childrenKey = _ref.childrenKey;\n\n if ((0, _isNil2.default)(nodes[node.refKey])) {\n return _utils.CHECK_STATE.UNCHECK;\n }\n\n if (!node[childrenKey] || !node[childrenKey].length || !cascade) {\n nodes[node.refKey].checkAll = false;\n return node.check ? _utils.CHECK_STATE.CHECK : _utils.CHECK_STATE.UNCHECK;\n }\n\n if (isEveryChildChecked(nodes, node)) {\n nodes[node.refKey].checkAll = true;\n nodes[node.refKey].check = true;\n return _utils.CHECK_STATE.CHECK;\n }\n\n if (isSomeChildChecked(nodes, node, childrenKey)) {\n nodes[node.refKey].checkAll = false;\n return _utils.CHECK_STATE.INDETERMINATE;\n }\n\n return _utils.CHECK_STATE.UNCHECK;\n}\n\n//# sourceURL=webpack://rsuite/./src/CheckTreePicker/utils.ts?");
2093
2093
 
2094
2094
  /***/ }),
2095
2095
 
@@ -2243,7 +2243,7 @@ eval("\n\nvar _interopRequireDefault = __webpack_require__(/*! @babel/runtime/he
2243
2243
  /***/ (function(__unused_webpack_module, exports, __webpack_require__) {
2244
2244
 
2245
2245
  "use strict";
2246
- eval("\n\nvar _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ \"./node_modules/@babel/runtime/helpers/interopRequireDefault.js\");\n\nexports.__esModule = true;\nexports.default = exports.CustomConsumer = exports.CustomContext = 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 = _interopRequireDefault(__webpack_require__(/*! react */ \"react\"));\n\nvar _prefix = __webpack_require__(/*! ../utils/prefix */ \"./src/utils/prefix.ts\");\n\nvar _DOMHelper = __webpack_require__(/*! ../DOMHelper */ \"./src/DOMHelper/index.ts\");\n\nvar _jsxFileName = \"/home/runner/work/rsuite/rsuite/src/CustomProvider/CustomProvider.tsx\",\n _this = void 0;\n\nvar CustomContext = /*#__PURE__*/_react.default.createContext({});\n\nexports.CustomContext = CustomContext;\nvar Consumer = CustomContext.Consumer,\n Provider = CustomContext.Provider;\nexports.CustomConsumer = Consumer;\nvar themes = ['light', 'dark', 'high-contrast'];\n\nvar CustomProvider = function CustomProvider(props) {\n var children = props.children,\n _props$classPrefix = props.classPrefix,\n classPrefix = _props$classPrefix === void 0 ? (0, _prefix.getClassNamePrefix)() : _props$classPrefix,\n theme = props.theme,\n rest = (0, _objectWithoutPropertiesLoose2.default)(props, [\"children\", \"classPrefix\", \"theme\"]);\n\n var value = _react.default.useMemo(function () {\n return (0, _extends2.default)({\n classPrefix: classPrefix,\n theme: theme\n }, rest);\n }, [classPrefix, theme, rest]);\n\n _react.default.useEffect(function () {\n if (_DOMHelper.canUseDOM && theme) {\n (0, _DOMHelper.addClass)(document.body, (0, _prefix.prefix)(classPrefix, \"theme-\" + theme)); // Remove the className that will cause style conflicts\n\n themes.forEach(function (t) {\n if (t !== theme) {\n (0, _DOMHelper.removeClass)(document.body, (0, _prefix.prefix)(classPrefix, \"theme-\" + t));\n }\n });\n }\n }, [classPrefix, theme]);\n\n return /*#__PURE__*/_react.default.createElement(Provider, {\n value: value,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 77,\n columnNumber: 10\n }\n }, children);\n};\n\nvar _default = CustomProvider;\nexports.default = _default;\n\n//# sourceURL=webpack://rsuite/./src/CustomProvider/CustomProvider.tsx?");
2246
+ 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.CustomConsumer = exports.CustomContext = 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 _prefix = __webpack_require__(/*! ../utils/prefix */ \"./src/utils/prefix.ts\");\n\nvar _DOMHelper = __webpack_require__(/*! ../DOMHelper */ \"./src/DOMHelper/index.ts\");\n\nvar _jsxFileName = \"/home/runner/work/rsuite/rsuite/src/CustomProvider/CustomProvider.tsx\",\n _this = void 0;\n\nvar CustomContext = /*#__PURE__*/_react.default.createContext({});\n\nexports.CustomContext = CustomContext;\nvar Consumer = CustomContext.Consumer,\n Provider = CustomContext.Provider;\nexports.CustomConsumer = Consumer;\nvar themes = ['light', 'dark', 'high-contrast'];\n\nvar CustomProvider = function CustomProvider(props) {\n var children = props.children,\n _props$classPrefix = props.classPrefix,\n classPrefix = _props$classPrefix === void 0 ? (0, _prefix.getClassNamePrefix)() : _props$classPrefix,\n theme = props.theme,\n rest = (0, _objectWithoutPropertiesLoose2.default)(props, [\"children\", \"classPrefix\", \"theme\"]);\n\n var value = _react.default.useMemo(function () {\n return (0, _extends2.default)({\n classPrefix: classPrefix,\n theme: theme\n }, rest);\n }, [classPrefix, theme, rest]);\n\n (0, _react.useEffect)(function () {\n if (_DOMHelper.canUseDOM && theme) {\n (0, _DOMHelper.addClass)(document.body, (0, _prefix.prefix)(classPrefix, \"theme-\" + theme)); // Remove the className that will cause style conflicts\n\n themes.forEach(function (t) {\n if (t !== theme) {\n (0, _DOMHelper.removeClass)(document.body, (0, _prefix.prefix)(classPrefix, \"theme-\" + t));\n }\n });\n }\n }, [classPrefix, theme]);\n return /*#__PURE__*/_react.default.createElement(Provider, {\n value: value,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 77,\n columnNumber: 10\n }\n }, children);\n};\n\nvar _default = CustomProvider;\nexports.default = _default;\n\n//# sourceURL=webpack://rsuite/./src/CustomProvider/CustomProvider.tsx?");
2247
2247
 
2248
2248
  /***/ }),
2249
2249
 
@@ -2298,7 +2298,7 @@ eval("\n\nexports.__esModule = true;\nexports.default = void 0;\n\nvar isElement
2298
2298
  /***/ (function(__unused_webpack_module, exports, __webpack_require__) {
2299
2299
 
2300
2300
  "use strict";
2301
- 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 _isNil = _interopRequireDefault(__webpack_require__(/*! lodash/isNil */ \"./node_modules/lodash/isNil.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 _Calendar2 = __webpack_require__(/*! ../Calendar */ \"./src/Calendar/index.tsx\");\n\nvar _useCalendarDate2 = _interopRequireDefault(__webpack_require__(/*! ../Calendar/useCalendarDate */ \"./src/Calendar/useCalendarDate.ts\"));\n\nvar _Toolbar = _interopRequireDefault(__webpack_require__(/*! ./Toolbar */ \"./src/DatePicker/Toolbar.tsx\"));\n\nvar _utils = __webpack_require__(/*! ../utils */ \"./src/utils/index.ts\");\n\nvar _Picker = __webpack_require__(/*! ../Picker */ \"./src/Picker/index.ts\");\n\nvar _utils2 = __webpack_require__(/*! ./utils */ \"./src/DatePicker/utils.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 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 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\", \"defaultValue\", \"disabled\", \"format\", \"isoWeek\", \"limitEndYear\", \"locale\", \"menuClassName\", \"appearance\", \"placement\", \"oneTap\", \"placeholder\", \"ranges\", \"value\", \"showMeridian\", \"showWeekNumbers\", \"style\", \"toggleAs\", \"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\n var _useState = (0, _react.useState)(),\n inputState = _useState[0],\n setInputState = _useState[1];\n\n var _useCalendarState = (0, _utils2.useCalendarState)(),\n calendarState = _useCalendarState.calendarState,\n reset = _useCalendarState.reset,\n openMonth = _useCalendarState.openMonth,\n openTime = _useCalendarState.openTime;\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 date on the calendar changes.\n */\n\n var handleChangePageDate = (0, _react.useCallback)(function (nextPageDate) {\n setCalendarDate(nextPageDate);\n reset();\n handleDateChange(nextPageDate);\n }, [handleDateChange, reset, setCalendarDate]);\n /**\n * A callback triggered when the time on the calendar changes.\n */\n\n var handleChangePageTime = (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 setCalendarDate(nextDate);\n }, [calendarDate, setCalendarDate]);\n var updateValue = (0, _react.useCallback)(function (event, nextPageDate, closeOverlay) {\n if (closeOverlay === void 0) {\n closeOverlay = true;\n }\n\n var nextValue = !(0, _isNil.default)(nextPageDate) ? nextPageDate : calendarDate;\n setCalendarDate(nextValue || new Date());\n setValue(nextValue);\n\n if (nextValue !== value || !_utils.DateUtils.isSameDay(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 * Toggle month selection panel\n */\n\n var handleMonthDropdown = (0, _react.useCallback)(function () {\n if (calendarState === _Calendar2.CalendarState.DROP_MONTH) {\n reset();\n } else {\n openMonth();\n }\n\n onToggleMonthDropdown === null || onToggleMonthDropdown === void 0 ? void 0 : onToggleMonthDropdown(calendarState !== _Calendar2.CalendarState.DROP_MONTH);\n }, [calendarState, onToggleMonthDropdown, openMonth, reset]);\n /**\n * Switch time selection panel\n */\n\n var handleTimeDropdown = (0, _react.useCallback)(function () {\n if (calendarState === _Calendar2.CalendarState.DROP_TIME) {\n reset();\n } else {\n openTime();\n }\n\n onToggleTimeDropdown === null || onToggleTimeDropdown === void 0 ? void 0 : onToggleTimeDropdown(calendarState !== _Calendar2.CalendarState.DROP_TIME);\n }, [calendarState, onToggleTimeDropdown, openTime, reset]);\n /**\n * Callback after clicking the clear button.\n */\n\n var handleClean = (0, _react.useCallback)(function (event) {\n setCalendarDate(new Date());\n updateValue(event, null);\n }, [setCalendarDate, 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.shouldTime(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 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.shouldOnlyTime(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 reset();\n setActive(false);\n }, [onClose, reset]); // 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 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(_Calendar2.Calendar, (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 calendarState: calendarState,\n calendarDate: calendarDate,\n onMoveForward: handleMoveForward,\n onMoveBackward: handleMoveBackward,\n onSelect: handleSelect,\n onToggleMonthDropdown: handleMonthDropdown,\n onToggleTimeDropdown: handleTimeDropdown,\n onChangePageDate: handleChangePageDate,\n onChangePageTime: handleChangePageTime,\n onToggleMeridian: handleToggleMeridian,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 474,\n columnNumber: 7\n }\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: 502,\n columnNumber: 9\n }\n }, calendar, /*#__PURE__*/_react.default.createElement(_Toolbar.default, {\n locale: locale,\n ranges: ranges,\n calendarDate: calendarDate,\n disabledOkBtn: disabledToolbarHandle,\n disabledShortcut: disabledToolbarHandle,\n onClickShortcut: handleShortcutPageDate,\n onOk: handleOK,\n hideOkBtn: oneTap,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 510,\n columnNumber: 11\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 _utils.DateUtils.shouldOnlyTime(formatStr) ? _ClockO.default : _Calendar.default;\n }, [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 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: 549,\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: 558,\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 input: true,\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: 559,\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?");
2301
+ 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 _Calendar2 = __webpack_require__(/*! ../Calendar */ \"./src/Calendar/index.tsx\");\n\nvar _useCalendarDate2 = _interopRequireDefault(__webpack_require__(/*! ../Calendar/useCalendarDate */ \"./src/Calendar/useCalendarDate.ts\"));\n\nvar _Toolbar = _interopRequireDefault(__webpack_require__(/*! ./Toolbar */ \"./src/DatePicker/Toolbar.tsx\"));\n\nvar _utils = __webpack_require__(/*! ../utils */ \"./src/utils/index.ts\");\n\nvar _Picker = __webpack_require__(/*! ../Picker */ \"./src/Picker/index.ts\");\n\nvar _utils2 = __webpack_require__(/*! ./utils */ \"./src/DatePicker/utils.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 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 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\", \"defaultValue\", \"disabled\", \"format\", \"isoWeek\", \"limitEndYear\", \"locale\", \"menuClassName\", \"appearance\", \"placement\", \"oneTap\", \"placeholder\", \"ranges\", \"value\", \"showMeridian\", \"showWeekNumbers\", \"style\", \"toggleAs\", \"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\n var _useState = (0, _react.useState)(),\n inputState = _useState[0],\n setInputState = _useState[1];\n\n var _useCalendarState = (0, _utils2.useCalendarState)(),\n calendarState = _useCalendarState.calendarState,\n reset = _useCalendarState.reset,\n openMonth = _useCalendarState.openMonth,\n openTime = _useCalendarState.openTime;\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 date on the calendar changes.\n */\n\n var handleChangePageDate = (0, _react.useCallback)(function (nextPageDate) {\n setCalendarDate(nextPageDate);\n reset();\n handleDateChange(nextPageDate);\n }, [handleDateChange, reset, setCalendarDate]);\n /**\n * A callback triggered when the time on the calendar changes.\n */\n\n var handleChangePageTime = (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 setCalendarDate(nextDate);\n }, [calendarDate, setCalendarDate]);\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 * Toggle month selection panel\n */\n\n var handleMonthDropdown = (0, _react.useCallback)(function () {\n if (calendarState === _Calendar2.CalendarState.DROP_MONTH) {\n reset();\n } else {\n openMonth();\n }\n\n onToggleMonthDropdown === null || onToggleMonthDropdown === void 0 ? void 0 : onToggleMonthDropdown(calendarState !== _Calendar2.CalendarState.DROP_MONTH);\n }, [calendarState, onToggleMonthDropdown, openMonth, reset]);\n /**\n * Switch time selection panel\n */\n\n var handleTimeDropdown = (0, _react.useCallback)(function () {\n if (calendarState === _Calendar2.CalendarState.DROP_TIME) {\n reset();\n } else {\n openTime();\n }\n\n onToggleTimeDropdown === null || onToggleTimeDropdown === void 0 ? void 0 : onToggleTimeDropdown(calendarState !== _Calendar2.CalendarState.DROP_TIME);\n }, [calendarState, onToggleTimeDropdown, openTime, reset]);\n /**\n * Callback after clicking the clear button.\n */\n\n var handleClean = (0, _react.useCallback)(function (event) {\n setCalendarDate(new Date());\n updateValue(event, null);\n }, [setCalendarDate, 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.shouldTime(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 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.shouldOnlyTime(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 reset();\n setActive(false);\n }, [onClose, reset]); // 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 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(_Calendar2.Calendar, (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 calendarState: calendarState,\n calendarDate: calendarDate,\n onMoveForward: handleMoveForward,\n onMoveBackward: handleMoveBackward,\n onSelect: handleSelect,\n onToggleMonthDropdown: handleMonthDropdown,\n onToggleTimeDropdown: handleTimeDropdown,\n onChangePageDate: handleChangePageDate,\n onChangePageTime: handleChangePageTime,\n onToggleMeridian: handleToggleMeridian,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 474,\n columnNumber: 7\n }\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: 502,\n columnNumber: 9\n }\n }, calendar, /*#__PURE__*/_react.default.createElement(_Toolbar.default, {\n locale: locale,\n ranges: ranges,\n calendarDate: calendarDate,\n disabledOkBtn: disabledToolbarHandle,\n disabledShortcut: disabledToolbarHandle,\n onClickShortcut: handleShortcutPageDate,\n onOk: handleOK,\n hideOkBtn: oneTap,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 510,\n columnNumber: 11\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 _utils.DateUtils.shouldOnlyTime(formatStr) ? _ClockO.default : _Calendar.default;\n }, [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 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: 549,\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: 558,\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 input: true,\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: 559,\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?");
2302
2302
 
2303
2303
  /***/ }),
2304
2304
 
@@ -2397,7 +2397,7 @@ eval("\n\nexports.__esModule = true;\nexports.getCalendarDate = getCalendarDate;
2397
2397
  /***/ (function(__unused_webpack_module, exports, __webpack_require__) {
2398
2398
 
2399
2399
  "use strict";
2400
- 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 _DisclosureContext = _interopRequireWildcard(__webpack_require__(/*! ./DisclosureContext */ \"./src/Disclosure/DisclosureContext.ts\"));\n\nvar _DisclosureButton = _interopRequireDefault(__webpack_require__(/*! ./DisclosureButton */ \"./src/Disclosure/DisclosureButton.tsx\"));\n\nvar _DisclosureContent = _interopRequireDefault(__webpack_require__(/*! ./DisclosureContent */ \"./src/Disclosure/DisclosureContent.tsx\"));\n\nvar _useClickOutside = _interopRequireDefault(__webpack_require__(/*! ../utils/useClickOutside */ \"./src/utils/useClickOutside.ts\"));\n\nvar _jsxFileName = \"/home/runner/work/rsuite/rsuite/src/Disclosure/Disclosure.tsx\";\nvar initialDisclosureState = {\n open: false\n};\n\nfunction disclosureReducer(state, action) {\n switch (action.type) {\n case _DisclosureContext.DisclosureActionTypes.Show:\n return (0, _extends2.default)({}, state, {\n open: true\n });\n\n case _DisclosureContext.DisclosureActionTypes.Hide:\n return (0, _extends2.default)({}, state, {\n open: false\n });\n }\n\n return state;\n}\n\nfunction Disclosure(props) {\n var children = props.children,\n openProp = props.open,\n _props$defaultOpen = props.defaultOpen,\n defaultOpen = _props$defaultOpen === void 0 ? false : _props$defaultOpen,\n _props$hideOnClickOut = props.hideOnClickOutside,\n hideOnClickOutside = _props$hideOnClickOut === void 0 ? false : _props$hideOnClickOut,\n onToggle = props.onToggle;\n\n var _useReducer = (0, _react.useReducer)(disclosureReducer, (0, _extends2.default)({}, initialDisclosureState, {\n open: defaultOpen\n })),\n openState = _useReducer[0].open,\n dispatch = _useReducer[1];\n\n var containerElementRef = (0, _react.useRef)(null);\n var open = openProp !== null && openProp !== void 0 ? openProp : openState;\n (0, _useClickOutside.default)({\n enabled: hideOnClickOutside,\n isOutside: function isOutside(event) {\n var _containerElementRef$;\n\n return !((_containerElementRef$ = containerElementRef.current) !== null && _containerElementRef$ !== void 0 && _containerElementRef$.contains(event.target));\n },\n handle: function handle() {\n return dispatch({\n type: _DisclosureContext.DisclosureActionTypes.Hide\n });\n }\n });\n var contextValue = (0, _react.useMemo)(function () {\n return [{\n open: open\n }, dispatch, {\n onToggle: onToggle\n }];\n }, [open, dispatch, onToggle]);\n return /*#__PURE__*/_react.default.createElement(_DisclosureContext.default.Provider, {\n value: contextValue,\n __self: this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 76,\n columnNumber: 5\n }\n }, children({\n open: open\n }, containerElementRef));\n}\n\nDisclosure.Button = _DisclosureButton.default;\nDisclosure.Content = _DisclosureContent.default;\nvar _default = Disclosure;\nexports.default = _default;\n\n//# sourceURL=webpack://rsuite/./src/Disclosure/Disclosure.tsx?");
2400
+ 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 _DisclosureContext = _interopRequireWildcard(__webpack_require__(/*! ./DisclosureContext */ \"./src/Disclosure/DisclosureContext.ts\"));\n\nvar _DisclosureButton = _interopRequireDefault(__webpack_require__(/*! ./DisclosureButton */ \"./src/Disclosure/DisclosureButton.tsx\"));\n\nvar _DisclosureContent = _interopRequireDefault(__webpack_require__(/*! ./DisclosureContent */ \"./src/Disclosure/DisclosureContent.tsx\"));\n\nvar _useClickOutside = _interopRequireDefault(__webpack_require__(/*! ../utils/useClickOutside */ \"./src/utils/useClickOutside.ts\"));\n\nvar _jsxFileName = \"/home/runner/work/rsuite/rsuite/src/Disclosure/Disclosure.tsx\",\n _this = void 0;\n\nvar initialDisclosureState = {\n open: false\n};\n\nfunction disclosureReducer(state, action) {\n switch (action.type) {\n case _DisclosureContext.DisclosureActionTypes.Show:\n return (0, _extends2.default)({}, state, {\n open: true\n });\n\n case _DisclosureContext.DisclosureActionTypes.Hide:\n return (0, _extends2.default)({}, state, {\n open: false\n });\n }\n\n return state;\n}\n\nvar Disclosure = /*#__PURE__*/_react.default.memo(function (props) {\n var children = props.children,\n openProp = props.open,\n _props$defaultOpen = props.defaultOpen,\n defaultOpen = _props$defaultOpen === void 0 ? false : _props$defaultOpen,\n _props$hideOnClickOut = props.hideOnClickOutside,\n hideOnClickOutside = _props$hideOnClickOut === void 0 ? false : _props$hideOnClickOut,\n onToggle = props.onToggle,\n _props$trigger = props.trigger,\n trigger = _props$trigger === void 0 ? ['click'] : _props$trigger;\n var parentDisclosure = (0, _react.useContext)(_DisclosureContext.default);\n\n var _useReducer = (0, _react.useReducer)(disclosureReducer, (0, _extends2.default)({}, initialDisclosureState, {\n open: defaultOpen\n })),\n openState = _useReducer[0].open,\n dispatch = _useReducer[1];\n\n var containerElementRef = (0, _react.useRef)(null);\n var open = openProp !== null && openProp !== void 0 ? openProp : openState;\n (0, _useClickOutside.default)({\n enabled: hideOnClickOutside,\n isOutside: function isOutside(event) {\n var _containerElementRef$;\n\n return !((_containerElementRef$ = containerElementRef.current) !== null && _containerElementRef$ !== void 0 && _containerElementRef$.contains(event.target));\n },\n handle: function handle() {\n return dispatch({\n type: _DisclosureContext.DisclosureActionTypes.Hide\n });\n }\n });\n var onMouseOver = (0, _react.useCallback)(function (event) {\n if (!open) {\n dispatch({\n type: _DisclosureContext.DisclosureActionTypes.Show\n });\n onToggle === null || onToggle === void 0 ? void 0 : onToggle(true, event);\n }\n }, [open, dispatch, onToggle]);\n var onMouseOut = (0, _react.useCallback)(function (event) {\n if (open) {\n dispatch({\n type: _DisclosureContext.DisclosureActionTypes.Hide\n });\n onToggle === null || onToggle === void 0 ? void 0 : onToggle(false, event);\n }\n }, [open, dispatch, onToggle]);\n var contextValue = (0, _react.useMemo)(function () {\n var cascadeDispatch = function cascadeDispatch(action) {\n var result = dispatch(action);\n\n if ('cascade' in action) {\n parentDisclosure === null || parentDisclosure === void 0 ? void 0 : parentDisclosure[1](action);\n }\n\n return result;\n };\n\n return [{\n open: open\n }, cascadeDispatch, {\n onToggle: onToggle,\n trigger: trigger\n }];\n }, [parentDisclosure, open, dispatch, onToggle, trigger]);\n var renderProps = (0, _react.useMemo)(function () {\n var renderProps = {\n open: open\n };\n\n if (trigger.includes('mouseover')) {\n renderProps.onMouseOver = onMouseOver;\n renderProps.onMouseOut = onMouseOut;\n }\n\n return renderProps;\n }, [open, trigger, onMouseOver, onMouseOut]);\n return /*#__PURE__*/_react.default.createElement(_DisclosureContext.default.Provider, {\n value: contextValue,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 127,\n columnNumber: 5\n }\n }, children(renderProps, containerElementRef));\n});\n\nDisclosure.Button = _DisclosureButton.default;\nDisclosure.Content = _DisclosureContent.default;\nvar _default = Disclosure;\nexports.default = _default;\n\n//# sourceURL=webpack://rsuite/./src/Disclosure/Disclosure.tsx?");
2401
2401
 
2402
2402
  /***/ }),
2403
2403
 
@@ -2434,6 +2434,17 @@ eval("\n\nvar _interopRequireDefault = __webpack_require__(/*! @babel/runtime/he
2434
2434
 
2435
2435
  /***/ }),
2436
2436
 
2437
+ /***/ "./src/Disclosure/index.tsx":
2438
+ /*!**********************************!*\
2439
+ !*** ./src/Disclosure/index.tsx ***!
2440
+ \**********************************/
2441
+ /***/ (function(__unused_webpack_module, exports, __webpack_require__) {
2442
+
2443
+ "use strict";
2444
+ eval("\n\nvar _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ \"./node_modules/@babel/runtime/helpers/interopRequireDefault.js\");\n\nexports.__esModule = true;\nexports.default = void 0;\n\nvar _Disclosure = _interopRequireDefault(__webpack_require__(/*! ./Disclosure */ \"./src/Disclosure/Disclosure.tsx\"));\n\nvar _default = _Disclosure.default;\nexports.default = _default;\n\n//# sourceURL=webpack://rsuite/./src/Disclosure/index.tsx?");
2445
+
2446
+ /***/ }),
2447
+
2437
2448
  /***/ "./src/Disclosure/useDisclosureContext.ts":
2438
2449
  /*!************************************************!*\
2439
2450
  !*** ./src/Disclosure/useDisclosureContext.ts ***!
@@ -2496,7 +2507,7 @@ eval("\n\nvar _interopRequireDefault = __webpack_require__(/*! @babel/runtime/he
2496
2507
  /***/ (function(__unused_webpack_module, exports, __webpack_require__) {
2497
2508
 
2498
2509
  "use strict";
2499
- 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 _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 _DropdownMenu = _interopRequireDefault(__webpack_require__(/*! ./DropdownMenu */ \"./src/Dropdown/DropdownMenu.tsx\"));\n\nvar _utils = __webpack_require__(/*! ../utils */ \"./src/utils/index.ts\");\n\nvar _Sidenav = __webpack_require__(/*! ../Sidenav/Sidenav */ \"./src/Sidenav/Sidenav.tsx\");\n\nvar _deprecatePropType = _interopRequireDefault(__webpack_require__(/*! ../utils/deprecatePropType */ \"./src/utils/deprecatePropType.ts\"));\n\nvar _DropdownItem = _interopRequireDefault(__webpack_require__(/*! ./DropdownItem */ \"./src/Dropdown/DropdownItem.tsx\"));\n\nvar _DropdownContext = _interopRequireDefault(__webpack_require__(/*! ./DropdownContext */ \"./src/Dropdown/DropdownContext.ts\"));\n\nvar _Menu = _interopRequireDefault(__webpack_require__(/*! ../Menu/Menu */ \"./src/Menu/Menu.tsx\"));\n\nvar _DropdownToggle = _interopRequireDefault(__webpack_require__(/*! ./DropdownToggle */ \"./src/Dropdown/DropdownToggle.tsx\"));\n\nvar _MenuContext = _interopRequireDefault(__webpack_require__(/*! ../Menu/MenuContext */ \"./src/Menu/MenuContext.ts\"));\n\nvar _MenuItem = _interopRequireDefault(__webpack_require__(/*! ../Menu/MenuItem */ \"./src/Menu/MenuItem.tsx\"));\n\nvar _kebabCase = _interopRequireDefault(__webpack_require__(/*! lodash/kebabCase */ \"./node_modules/lodash/kebabCase.js\"));\n\nvar _Navbar = __webpack_require__(/*! ../Navbar/Navbar */ \"./src/Navbar/Navbar.tsx\");\n\nvar _Disclosure = _interopRequireDefault(__webpack_require__(/*! ../Disclosure/Disclosure */ \"./src/Disclosure/Disclosure.tsx\"));\n\nvar _SidenavDropdown = _interopRequireDefault(__webpack_require__(/*! ../Sidenav/SidenavDropdown */ \"./src/Sidenav/SidenavDropdown.tsx\"));\n\nvar _NavContext = _interopRequireDefault(__webpack_require__(/*! ../Nav/NavContext */ \"./src/Nav/NavContext.ts\"));\n\nvar _DropdownState = __webpack_require__(/*! ./DropdownState */ \"./src/Dropdown/DropdownState.ts\");\n\nvar _jsxFileName = \"/home/runner/work/rsuite/rsuite/src/Dropdown/Dropdown.tsx\",\n _this = void 0;\n\n/**\n * The <Dropdown> API\n * When used inside <Sidenav>, renders a <TreeviewRootItem>;\n * Otherwise renders a <MenuRoot>\n */\nvar Dropdown = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {\n var activeKey = props.activeKey,\n onSelectProp = props.onSelect,\n rest = (0, _objectWithoutPropertiesLoose2.default)(props, [\"activeKey\", \"onSelect\"]);\n var _rest$as = rest.as,\n Component = _rest$as === void 0 ? 'div' : _rest$as,\n title = rest.title,\n onClose = rest.onClose,\n onOpen = rest.onOpen,\n onToggle = rest.onToggle,\n eventKey = rest.eventKey,\n _rest$trigger = rest.trigger,\n trigger = _rest$trigger === void 0 ? 'click' : _rest$trigger,\n _rest$placement = rest.placement,\n placement = _rest$placement === void 0 ? 'bottomStart' : _rest$placement,\n toggleAs = rest.toggleAs,\n toggleClassName = rest.toggleClassName,\n _rest$classPrefix = rest.classPrefix,\n classPrefix = _rest$classPrefix === void 0 ? 'dropdown' : _rest$classPrefix,\n className = rest.className,\n disabled = rest.disabled,\n children = rest.children,\n menuStyle = rest.menuStyle,\n style = rest.style,\n toggleProps = (0, _objectWithoutPropertiesLoose2.default)(rest, [\"as\", \"title\", \"onClose\", \"onOpen\", \"onToggle\", \"eventKey\", \"trigger\", \"placement\", \"toggleAs\", \"toggleClassName\", \"classPrefix\", \"className\", \"disabled\", \"children\", \"menuStyle\", \"style\"]);\n\n var _useContext = (0, _react.useContext)(_NavContext.default),\n onSelectFromNav = _useContext.onSelect;\n\n var emitSelect = (0, _react.useCallback)(function (eventKey, event) {\n onSelectProp === null || onSelectProp === void 0 ? void 0 : onSelectProp(eventKey, event); // If <Dropdown> is inside <Nav>, also trigger `onSelect` on <Nav>\n\n onSelectFromNav === null || onSelectFromNav === void 0 ? void 0 : onSelectFromNav(eventKey, event);\n }, [onSelectProp, onSelectFromNav]);\n\n var _useClassNames = (0, _utils.useClassNames)(classPrefix),\n merge = _useClassNames.merge,\n withClassPrefix = _useClassNames.withClassPrefix,\n prefix = _useClassNames.prefix;\n\n var _useClassNames2 = (0, _utils.useClassNames)('dropdown-menu'),\n withMenuClassPrefix = _useClassNames2.withClassPrefix,\n mergeMenuClassName = _useClassNames2.merge;\n\n var _useClassNames3 = (0, _utils.useClassNames)('nav-item'),\n withNavItemClassPrefix = _useClassNames3.withClassPrefix,\n mergeNavItemClassNames = _useClassNames3.merge;\n\n var menuButtonTriggers = (0, _react.useMemo)(function () {\n if (!trigger) {\n return undefined;\n }\n\n var triggerMap = {\n hover: 'mouseover',\n click: 'click',\n contextMenu: 'contextmenu'\n };\n\n if (!Array.isArray(trigger)) {\n return [triggerMap[trigger]];\n }\n\n return trigger.map(function (t) {\n return triggerMap[t];\n });\n }, [trigger]);\n var parentMenu = (0, _react.useContext)(_MenuContext.default);\n var sidenav = (0, _react.useContext)(_Sidenav.SidenavContext);\n var navbar = (0, _react.useContext)(_Navbar.NavbarContext);\n\n var _useReducer = (0, _react.useReducer)(_DropdownState.reducer, _DropdownState.initialState),\n items = _useReducer[0].items,\n dispatch = _useReducer[1];\n\n var hasSelectedItem = (0, _react.useMemo)(function () {\n return items.some(function (item) {\n return item.props.selected;\n });\n }, [items]);\n var dropdownContextValue = (0, _react.useMemo)(function () {\n return {\n activeKey: activeKey,\n onSelect: emitSelect,\n hasSelectedItem: hasSelectedItem,\n dispatch: dispatch\n };\n }, [activeKey, emitSelect, hasSelectedItem, dispatch]); // Render a disclosure when inside expanded <Sidenav>\n\n if (sidenav !== null && sidenav !== void 0 && sidenav.expanded) {\n return /*#__PURE__*/_react.default.createElement(_DropdownContext.default.Provider, {\n value: dropdownContextValue,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 177,\n columnNumber: 7\n }\n }, /*#__PURE__*/_react.default.createElement(_SidenavDropdown.default, (0, _extends2.default)({\n ref: ref\n }, rest, {\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 178,\n columnNumber: 9\n }\n })));\n } // Renders a disclosure when used inside <Navbar>\n\n\n if (navbar) {\n return /*#__PURE__*/_react.default.createElement(_DropdownContext.default.Provider, {\n value: dropdownContextValue,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 186,\n columnNumber: 7\n }\n }, /*#__PURE__*/_react.default.createElement(_Disclosure.default, {\n hideOnClickOutside: true,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 187,\n columnNumber: 9\n }\n }, function (_ref, containerRef) {\n var _withClassPrefix;\n\n var open = _ref.open;\n var classes = merge(className, withClassPrefix((_withClassPrefix = {}, _withClassPrefix[\"placement-\" + (0, _kebabCase.default)((0, _utils.placementPolyfill)(placement))] = !!placement, _withClassPrefix.disabled = disabled, _withClassPrefix.open = open, _withClassPrefix)));\n return /*#__PURE__*/_react.default.createElement(Component, {\n ref: (0, _utils.mergeRefs)(ref, containerRef),\n className: classes,\n style: style,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 199,\n columnNumber: 15\n }\n }, /*#__PURE__*/_react.default.createElement(_Disclosure.default.Button, {\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 200,\n columnNumber: 17\n }\n }, function (buttonProps, buttonRef) {\n return /*#__PURE__*/_react.default.createElement(_DropdownToggle.default, (0, _extends2.default)({\n ref: buttonRef,\n as: toggleAs,\n className: toggleClassName,\n placement: placement,\n disabled: disabled\n }, (0, _omit.default)(buttonProps, ['open']), toggleProps, {\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 202,\n columnNumber: 21\n }\n }), title);\n }), /*#__PURE__*/_react.default.createElement(_Disclosure.default.Content, {\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 215,\n columnNumber: 17\n }\n }, function (_ref2, elementRef) {\n var open = _ref2.open;\n var menuClassName = mergeMenuClassName(className, withMenuClassPrefix());\n return /*#__PURE__*/_react.default.createElement(\"ul\", {\n ref: elementRef,\n className: menuClassName,\n style: menuStyle,\n hidden: !open,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 219,\n columnNumber: 23\n }\n }, children);\n }));\n }));\n }\n\n var renderMenuButton = function renderMenuButton(menuButtonProps, menuButtonRef) {\n return /*#__PURE__*/_react.default.createElement(_DropdownToggle.default, (0, _extends2.default)({\n ref: menuButtonRef,\n as: toggleAs,\n className: toggleClassName,\n placement: placement,\n disabled: disabled\n }, (0, _omit.default)(menuButtonProps, ['open']), (0, _omit.default)(toggleProps, ['data-testid']), {\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 239,\n columnNumber: 5\n }\n }), title);\n };\n\n if (parentMenu) {\n renderMenuButton = function renderMenuButton(menuButtonProps, buttonRef) {\n return /*#__PURE__*/_react.default.createElement(_MenuItem.default, {\n disabled: disabled,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 254,\n columnNumber: 7\n }\n }, function (_ref3, menuitemRef) {\n var active = _ref3.active,\n menuitemProps = (0, _objectWithoutPropertiesLoose2.default)(_ref3, [\"active\"]);\n return /*#__PURE__*/_react.default.createElement(_DropdownToggle.default, (0, _extends2.default)({\n ref: (0, _utils.mergeRefs)(buttonRef, menuitemRef),\n as: toggleAs,\n className: mergeNavItemClassNames(toggleClassName, withNavItemClassPrefix({\n focus: active\n }))\n }, menuButtonProps, (0, _omit.default)(menuitemProps, ['onClick']), (0, _omit.default)(toggleProps, 'data-testid'), {\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 257,\n columnNumber: 13\n }\n }), title);\n });\n };\n }\n\n return /*#__PURE__*/_react.default.createElement(_DropdownContext.default.Provider, {\n value: dropdownContextValue,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 279,\n columnNumber: 5\n }\n }, /*#__PURE__*/_react.default.createElement(_Menu.default, {\n menuButtonText: title,\n renderMenuButton: renderMenuButton,\n openMenuOn: menuButtonTriggers,\n renderMenuPopup: function renderMenuPopup(_ref4, popupRef) {\n var open = _ref4.open,\n popupProps = (0, _objectWithoutPropertiesLoose2.default)(_ref4, [\"open\"]);\n var menuClassName = mergeMenuClassName(className, withMenuClassPrefix({})); // When inside a collapsed <Sidenav>, render a header in menu\n\n var showHeader = !!sidenav;\n return /*#__PURE__*/_react.default.createElement(\"ul\", (0, _extends2.default)({\n ref: popupRef,\n className: menuClassName,\n style: menuStyle,\n hidden: !open\n }, popupProps, {\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 290,\n columnNumber: 13\n }\n }), showHeader && /*#__PURE__*/_react.default.createElement(\"div\", {\n className: prefix('header'),\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 297,\n columnNumber: 30\n }\n }, title), children);\n },\n onToggleMenu: function onToggleMenu(open, event) {\n onToggle === null || onToggle === void 0 ? void 0 : onToggle(open);\n sidenav === null || sidenav === void 0 ? void 0 : sidenav.onOpenChange(eventKey, event);\n\n if (open) {\n onOpen === null || onOpen === void 0 ? void 0 : onOpen();\n } else {\n onClose === null || onClose === void 0 ? void 0 : onClose();\n }\n },\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 280,\n columnNumber: 7\n }\n }, function (_ref5, menuContainerRef) {\n var _withClassPrefix2;\n\n var open = _ref5.open,\n menuContainer = (0, _objectWithoutPropertiesLoose2.default)(_ref5, [\"open\"]);\n var classes = merge(className, withClassPrefix((_withClassPrefix2 = {}, _withClassPrefix2[\"placement-\" + (0, _kebabCase.default)((0, _utils.placementPolyfill)(placement))] = !!placement, _withClassPrefix2.disabled = disabled, _withClassPrefix2.open = open, _withClassPrefix2.submenu = !!parentMenu, _withClassPrefix2['selected-within'] = hasSelectedItem, _withClassPrefix2)));\n return /*#__PURE__*/_react.default.createElement(Component, (0, _extends2.default)({\n ref: (0, _utils.mergeRefs)(ref, menuContainerRef),\n className: classes\n }, menuContainer, (0, _pick.default)(toggleProps, ['data-testid']), {\n style: style,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 324,\n columnNumber: 13\n }\n }));\n }));\n});\n\nDropdown.Item = _DropdownItem.default;\nDropdown.Menu = _DropdownMenu.default;\nDropdown.displayName = 'Dropdown';\nDropdown.propTypes = {\n activeKey: _propTypes.default.any,\n classPrefix: _propTypes.default.string,\n trigger: _propTypes.default.oneOfType([_propTypes.default.array, _propTypes.default.oneOf(['click', 'hover', 'contextMenu'])]),\n placement: _propTypes.default.oneOf(_utils.PLACEMENT_8),\n title: _propTypes.default.node,\n disabled: _propTypes.default.bool,\n icon: _propTypes.default.node,\n menuStyle: _propTypes.default.object,\n className: _propTypes.default.string,\n toggleClassName: _propTypes.default.string,\n children: _propTypes.default.node,\n open: (0, _deprecatePropType.default)(_propTypes.default.bool),\n eventKey: _propTypes.default.any,\n as: _propTypes.default.elementType,\n toggleAs: _propTypes.default.elementType,\n noCaret: _propTypes.default.bool,\n style: _propTypes.default.object,\n onClose: _propTypes.default.func,\n onOpen: _propTypes.default.func,\n onToggle: _propTypes.default.func,\n onSelect: _propTypes.default.func,\n onMouseEnter: _propTypes.default.func,\n onMouseLeave: _propTypes.default.func,\n onContextMenu: _propTypes.default.func,\n onClick: _propTypes.default.func,\n renderToggle: _propTypes.default.func\n};\nvar _default = Dropdown;\nexports.default = _default;\n\n//# sourceURL=webpack://rsuite/./src/Dropdown/Dropdown.tsx?");
2510
+ 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 _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 _DropdownMenu = _interopRequireDefault(__webpack_require__(/*! ./DropdownMenu */ \"./src/Dropdown/DropdownMenu.tsx\"));\n\nvar _utils = __webpack_require__(/*! ../utils */ \"./src/utils/index.ts\");\n\nvar _Sidenav = __webpack_require__(/*! ../Sidenav/Sidenav */ \"./src/Sidenav/Sidenav.tsx\");\n\nvar _deprecatePropType = _interopRequireDefault(__webpack_require__(/*! ../utils/deprecatePropType */ \"./src/utils/deprecatePropType.ts\"));\n\nvar _DropdownItem = _interopRequireDefault(__webpack_require__(/*! ./DropdownItem */ \"./src/Dropdown/DropdownItem.tsx\"));\n\nvar _DropdownContext = _interopRequireDefault(__webpack_require__(/*! ./DropdownContext */ \"./src/Dropdown/DropdownContext.ts\"));\n\nvar _Menu = _interopRequireDefault(__webpack_require__(/*! ../Menu/Menu */ \"./src/Menu/Menu.tsx\"));\n\nvar _DropdownToggle = _interopRequireDefault(__webpack_require__(/*! ./DropdownToggle */ \"./src/Dropdown/DropdownToggle.tsx\"));\n\nvar _MenuContext = _interopRequireDefault(__webpack_require__(/*! ../Menu/MenuContext */ \"./src/Menu/MenuContext.ts\"));\n\nvar _MenuItem = _interopRequireDefault(__webpack_require__(/*! ../Menu/MenuItem */ \"./src/Menu/MenuItem.tsx\"));\n\nvar _kebabCase = _interopRequireDefault(__webpack_require__(/*! lodash/kebabCase */ \"./node_modules/lodash/kebabCase.js\"));\n\nvar _Navbar = __webpack_require__(/*! ../Navbar */ \"./src/Navbar/index.tsx\");\n\nvar _Disclosure = _interopRequireDefault(__webpack_require__(/*! ../Disclosure/Disclosure */ \"./src/Disclosure/Disclosure.tsx\"));\n\nvar _SidenavDropdown = _interopRequireDefault(__webpack_require__(/*! ../Sidenav/SidenavDropdown */ \"./src/Sidenav/SidenavDropdown.tsx\"));\n\nvar _NavContext = _interopRequireDefault(__webpack_require__(/*! ../Nav/NavContext */ \"./src/Nav/NavContext.ts\"));\n\nvar _DropdownState = __webpack_require__(/*! ./DropdownState */ \"./src/Dropdown/DropdownState.ts\");\n\nvar _jsxFileName = \"/home/runner/work/rsuite/rsuite/src/Dropdown/Dropdown.tsx\",\n _this = void 0;\n\n/**\n * The <Dropdown> API\n * When used inside <Sidenav>, renders a <TreeviewRootItem>;\n * Otherwise renders a <MenuRoot>\n */\nvar Dropdown = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {\n var activeKey = props.activeKey,\n onSelectProp = props.onSelect,\n rest = (0, _objectWithoutPropertiesLoose2.default)(props, [\"activeKey\", \"onSelect\"]);\n var _rest$as = rest.as,\n Component = _rest$as === void 0 ? 'div' : _rest$as,\n title = rest.title,\n onClose = rest.onClose,\n onOpen = rest.onOpen,\n onToggle = rest.onToggle,\n eventKey = rest.eventKey,\n _rest$trigger = rest.trigger,\n trigger = _rest$trigger === void 0 ? 'click' : _rest$trigger,\n _rest$placement = rest.placement,\n placement = _rest$placement === void 0 ? 'bottomStart' : _rest$placement,\n toggleAs = rest.toggleAs,\n toggleClassName = rest.toggleClassName,\n _rest$classPrefix = rest.classPrefix,\n classPrefix = _rest$classPrefix === void 0 ? 'dropdown' : _rest$classPrefix,\n className = rest.className,\n disabled = rest.disabled,\n children = rest.children,\n menuStyle = rest.menuStyle,\n style = rest.style,\n toggleProps = (0, _objectWithoutPropertiesLoose2.default)(rest, [\"as\", \"title\", \"onClose\", \"onOpen\", \"onToggle\", \"eventKey\", \"trigger\", \"placement\", \"toggleAs\", \"toggleClassName\", \"classPrefix\", \"className\", \"disabled\", \"children\", \"menuStyle\", \"style\"]);\n\n var _useContext = (0, _react.useContext)(_NavContext.default),\n onSelectFromNav = _useContext.onSelect;\n\n var emitSelect = (0, _react.useCallback)(function (eventKey, event) {\n onSelectProp === null || onSelectProp === void 0 ? void 0 : onSelectProp(eventKey, event); // If <Dropdown> is inside <Nav>, also trigger `onSelect` on <Nav>\n\n onSelectFromNav === null || onSelectFromNav === void 0 ? void 0 : onSelectFromNav(eventKey, event);\n }, [onSelectProp, onSelectFromNav]);\n\n var _useClassNames = (0, _utils.useClassNames)(classPrefix),\n merge = _useClassNames.merge,\n withClassPrefix = _useClassNames.withClassPrefix,\n prefix = _useClassNames.prefix;\n\n var _useClassNames2 = (0, _utils.useClassNames)('dropdown-menu'),\n withMenuClassPrefix = _useClassNames2.withClassPrefix,\n mergeMenuClassName = _useClassNames2.merge;\n\n var _useClassNames3 = (0, _utils.useClassNames)('nav-item'),\n withNavItemClassPrefix = _useClassNames3.withClassPrefix,\n mergeNavItemClassNames = _useClassNames3.merge;\n\n var menuButtonTriggers = (0, _react.useMemo)(function () {\n if (!trigger) {\n return undefined;\n }\n\n var triggerMap = {\n hover: 'mouseover',\n click: 'click',\n contextMenu: 'contextmenu'\n };\n\n if (!Array.isArray(trigger)) {\n return [triggerMap[trigger]];\n }\n\n return trigger.map(function (t) {\n return triggerMap[t];\n });\n }, [trigger]);\n var parentMenu = (0, _react.useContext)(_MenuContext.default);\n var sidenav = (0, _react.useContext)(_Sidenav.SidenavContext);\n var navbar = (0, _react.useContext)(_Navbar.NavbarContext);\n\n var _useReducer = (0, _react.useReducer)(_DropdownState.reducer, _DropdownState.initialState),\n items = _useReducer[0].items,\n dispatch = _useReducer[1];\n\n var hasSelectedItem = (0, _react.useMemo)(function () {\n return items.some(function (item) {\n return item.props.selected;\n });\n }, [items]);\n var dropdownContextValue = (0, _react.useMemo)(function () {\n return {\n activeKey: activeKey,\n onSelect: emitSelect,\n hasSelectedItem: hasSelectedItem,\n dispatch: dispatch\n };\n }, [activeKey, emitSelect, hasSelectedItem, dispatch]); // Render a disclosure when inside expanded <Sidenav>\n\n if (sidenav !== null && sidenav !== void 0 && sidenav.expanded) {\n return /*#__PURE__*/_react.default.createElement(_DropdownContext.default.Provider, {\n value: dropdownContextValue,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 187,\n columnNumber: 7\n }\n }, /*#__PURE__*/_react.default.createElement(_SidenavDropdown.default, (0, _extends2.default)({\n ref: ref\n }, rest, {\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 188,\n columnNumber: 9\n }\n })));\n } // Renders a disclosure when used inside <Navbar>\n\n\n if (navbar) {\n return /*#__PURE__*/_react.default.createElement(_DropdownContext.default.Provider, {\n value: dropdownContextValue,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 196,\n columnNumber: 7\n }\n }, /*#__PURE__*/_react.default.createElement(_Disclosure.default, {\n hideOnClickOutside: true,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 197,\n columnNumber: 9\n }\n }, function (_ref, containerRef) {\n var _withClassPrefix;\n\n var open = _ref.open;\n var classes = merge(className, withClassPrefix((_withClassPrefix = {}, _withClassPrefix[\"placement-\" + (0, _kebabCase.default)((0, _utils.placementPolyfill)(placement))] = !!placement, _withClassPrefix.disabled = disabled, _withClassPrefix.open = open, _withClassPrefix)));\n return /*#__PURE__*/_react.default.createElement(Component, {\n ref: (0, _utils.mergeRefs)(ref, containerRef),\n className: classes,\n style: style,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 209,\n columnNumber: 15\n }\n }, /*#__PURE__*/_react.default.createElement(_Disclosure.default.Button, {\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 210,\n columnNumber: 17\n }\n }, function (buttonProps, buttonRef) {\n return /*#__PURE__*/_react.default.createElement(_DropdownToggle.default, (0, _extends2.default)({\n ref: buttonRef,\n as: toggleAs,\n className: toggleClassName,\n placement: placement,\n disabled: disabled\n }, (0, _omit.default)(buttonProps, ['open']), toggleProps, {\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 212,\n columnNumber: 21\n }\n }), title);\n }), /*#__PURE__*/_react.default.createElement(_Disclosure.default.Content, {\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 225,\n columnNumber: 17\n }\n }, function (_ref2, elementRef) {\n var open = _ref2.open;\n var menuClassName = mergeMenuClassName(className, withMenuClassPrefix());\n return /*#__PURE__*/_react.default.createElement(\"ul\", {\n ref: elementRef,\n className: menuClassName,\n style: menuStyle,\n hidden: !open,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 229,\n columnNumber: 23\n }\n }, children);\n }));\n }));\n }\n\n var renderMenuButton = function renderMenuButton(menuButtonProps, menuButtonRef) {\n return /*#__PURE__*/_react.default.createElement(_DropdownToggle.default, (0, _extends2.default)({\n ref: menuButtonRef,\n as: toggleAs,\n className: toggleClassName,\n placement: placement,\n disabled: disabled\n }, (0, _omit.default)(menuButtonProps, ['open']), (0, _omit.default)(toggleProps, ['data-testid']), {\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 249,\n columnNumber: 5\n }\n }), title);\n };\n\n if (parentMenu) {\n renderMenuButton = function renderMenuButton(menuButtonProps, buttonRef) {\n return /*#__PURE__*/_react.default.createElement(_MenuItem.default, {\n disabled: disabled,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 264,\n columnNumber: 7\n }\n }, function (_ref3, menuitemRef) {\n var active = _ref3.active,\n menuitemProps = (0, _objectWithoutPropertiesLoose2.default)(_ref3, [\"active\"]);\n return /*#__PURE__*/_react.default.createElement(_DropdownToggle.default, (0, _extends2.default)({\n ref: (0, _utils.mergeRefs)(buttonRef, menuitemRef),\n as: toggleAs,\n className: mergeNavItemClassNames(toggleClassName, withNavItemClassPrefix({\n focus: active\n }))\n }, menuButtonProps, (0, _omit.default)(menuitemProps, ['onClick']), (0, _omit.default)(toggleProps, 'data-testid'), {\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 267,\n columnNumber: 13\n }\n }), title);\n });\n };\n }\n\n return /*#__PURE__*/_react.default.createElement(_DropdownContext.default.Provider, {\n value: dropdownContextValue,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 289,\n columnNumber: 5\n }\n }, /*#__PURE__*/_react.default.createElement(_Menu.default, {\n menuButtonText: title,\n renderMenuButton: renderMenuButton,\n openMenuOn: menuButtonTriggers,\n renderMenuPopup: function renderMenuPopup(_ref4, popupRef) {\n var open = _ref4.open,\n popupProps = (0, _objectWithoutPropertiesLoose2.default)(_ref4, [\"open\"]);\n var menuClassName = mergeMenuClassName(className, withMenuClassPrefix({})); // When inside a collapsed <Sidenav>, render a header in menu\n\n var showHeader = !!sidenav;\n return /*#__PURE__*/_react.default.createElement(\"ul\", (0, _extends2.default)({\n ref: popupRef,\n className: menuClassName,\n style: menuStyle,\n hidden: !open\n }, popupProps, {\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 300,\n columnNumber: 13\n }\n }), showHeader && /*#__PURE__*/_react.default.createElement(\"div\", {\n className: prefix('header'),\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 307,\n columnNumber: 30\n }\n }, title), children);\n },\n onToggleMenu: function onToggleMenu(open, event) {\n onToggle === null || onToggle === void 0 ? void 0 : onToggle(open);\n sidenav === null || sidenav === void 0 ? void 0 : sidenav.onOpenChange(eventKey, event);\n\n if (open) {\n onOpen === null || onOpen === void 0 ? void 0 : onOpen();\n } else {\n onClose === null || onClose === void 0 ? void 0 : onClose();\n }\n },\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 290,\n columnNumber: 7\n }\n }, function (_ref5, menuContainerRef) {\n var _withClassPrefix2;\n\n var open = _ref5.open,\n menuContainer = (0, _objectWithoutPropertiesLoose2.default)(_ref5, [\"open\"]);\n var classes = merge(className, withClassPrefix((_withClassPrefix2 = {}, _withClassPrefix2[\"placement-\" + (0, _kebabCase.default)((0, _utils.placementPolyfill)(placement))] = !!placement, _withClassPrefix2.disabled = disabled, _withClassPrefix2.open = open, _withClassPrefix2.submenu = !!parentMenu, _withClassPrefix2['selected-within'] = hasSelectedItem, _withClassPrefix2)));\n return /*#__PURE__*/_react.default.createElement(Component, (0, _extends2.default)({\n ref: (0, _utils.mergeRefs)(ref, menuContainerRef),\n className: classes\n }, menuContainer, (0, _pick.default)(toggleProps, ['data-testid']), {\n style: style,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 334,\n columnNumber: 13\n }\n }));\n }));\n});\n\nDropdown.Item = _DropdownItem.default;\nDropdown.Menu = _DropdownMenu.default;\nDropdown.displayName = 'Dropdown';\nDropdown.propTypes = {\n activeKey: _propTypes.default.any,\n classPrefix: _propTypes.default.string,\n trigger: _propTypes.default.oneOfType([_propTypes.default.array, _propTypes.default.oneOf(['click', 'hover', 'contextMenu'])]),\n placement: _propTypes.default.oneOf(_utils.PLACEMENT_8),\n title: _propTypes.default.node,\n disabled: _propTypes.default.bool,\n icon: _propTypes.default.node,\n menuStyle: _propTypes.default.object,\n className: _propTypes.default.string,\n toggleClassName: _propTypes.default.string,\n children: _propTypes.default.node,\n open: (0, _deprecatePropType.default)(_propTypes.default.bool),\n eventKey: _propTypes.default.any,\n as: _propTypes.default.elementType,\n toggleAs: _propTypes.default.elementType,\n noCaret: _propTypes.default.bool,\n style: _propTypes.default.object,\n onClose: _propTypes.default.func,\n onOpen: _propTypes.default.func,\n onToggle: _propTypes.default.func,\n onSelect: _propTypes.default.func,\n onMouseEnter: _propTypes.default.func,\n onMouseLeave: _propTypes.default.func,\n onContextMenu: _propTypes.default.func,\n onClick: _propTypes.default.func,\n renderToggle: _propTypes.default.func\n};\nvar _default = Dropdown;\nexports.default = _default;\n\n//# sourceURL=webpack://rsuite/./src/Dropdown/Dropdown.tsx?");
2500
2511
 
2501
2512
  /***/ }),
2502
2513
 
@@ -2518,7 +2529,7 @@ eval("\n\nvar _interopRequireDefault = __webpack_require__(/*! @babel/runtime/he
2518
2529
  /***/ (function(__unused_webpack_module, exports, __webpack_require__) {
2519
2530
 
2520
2531
  "use strict";
2521
- 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 _Sidenav = __webpack_require__(/*! ../Sidenav/Sidenav */ \"./src/Sidenav/Sidenav.tsx\");\n\nvar _deprecatePropType = _interopRequireDefault(__webpack_require__(/*! ../utils/deprecatePropType */ \"./src/utils/deprecatePropType.ts\"));\n\nvar _MenuItem = _interopRequireDefault(__webpack_require__(/*! ../Menu/MenuItem */ \"./src/Menu/MenuItem.tsx\"));\n\nvar _DropdownContext = _interopRequireDefault(__webpack_require__(/*! ./DropdownContext */ \"./src/Dropdown/DropdownContext.ts\"));\n\nvar _isNil = _interopRequireDefault(__webpack_require__(/*! lodash/isNil */ \"./node_modules/lodash/isNil.js\"));\n\nvar _utils = __webpack_require__(/*! ../utils */ \"./src/utils/index.ts\");\n\nvar _Navbar = __webpack_require__(/*! ../Navbar/Navbar */ \"./src/Navbar/Navbar.tsx\");\n\nvar _SidenavDropdownItem = _interopRequireDefault(__webpack_require__(/*! ../Sidenav/SidenavDropdownItem */ \"./src/Sidenav/SidenavDropdownItem.tsx\"));\n\nvar _DisclosureContext = _interopRequireWildcard(__webpack_require__(/*! ../Disclosure/DisclosureContext */ \"./src/Disclosure/DisclosureContext.ts\"));\n\nvar _SafeAnchor = _interopRequireDefault(__webpack_require__(/*! ../SafeAnchor */ \"./src/SafeAnchor/index.tsx\"));\n\nvar _NavContext = _interopRequireDefault(__webpack_require__(/*! ../Nav/NavContext */ \"./src/Nav/NavContext.ts\"));\n\nvar _useInternalId = _interopRequireDefault(__webpack_require__(/*! ../utils/useInternalId */ \"./src/utils/useInternalId.ts\"));\n\nvar _DropdownState = __webpack_require__(/*! ./DropdownState */ \"./src/Dropdown/DropdownState.ts\");\n\nvar _useRenderDropdownItem = __webpack_require__(/*! ./useRenderDropdownItem */ \"./src/Dropdown/useRenderDropdownItem.tsx\");\n\nvar _jsxFileName = \"/home/runner/work/rsuite/rsuite/src/Dropdown/DropdownItem.tsx\",\n _this = void 0;\n\n/**\n * The <Dropdown.Item> API\n * When used inside <Sidenav>, renders a <TreeviewItem>\n * Otherwise renders a <MenuItem>\n */\nvar DropdownItem = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {\n var _props$classPrefix = props.classPrefix,\n classPrefix = _props$classPrefix === void 0 ? 'dropdown-item' : _props$classPrefix,\n className = props.className,\n activeProp = props.active,\n eventKey = props.eventKey,\n onSelect = props.onSelect,\n icon = props.icon,\n _props$as = props.as,\n Component = _props$as === void 0 ? 'li' : _props$as,\n divider = props.divider,\n panel = props.panel,\n children = props.children,\n disabled = props.disabled,\n restProps = (0, _objectWithoutPropertiesLoose2.default)(props, [\"classPrefix\", \"className\", \"active\", \"eventKey\", \"onSelect\", \"icon\", \"as\", \"divider\", \"panel\", \"children\", \"disabled\"]);\n var internalId = (0, _useInternalId.default)('DropdownItem');\n var nav = (0, _react.useContext)(_NavContext.default);\n var dropdown = (0, _react.useContext)(_DropdownContext.default);\n\n var _useClassNames = (0, _utils.useClassNames)(classPrefix),\n merge = _useClassNames.merge,\n withClassPrefix = _useClassNames.withClassPrefix,\n prefix = _useClassNames.prefix;\n\n var handleSelectItem = (0, _react.useCallback)(function (event) {\n var _dropdown$onSelect;\n\n onSelect === null || onSelect === void 0 ? void 0 : onSelect(eventKey, event);\n dropdown === null || dropdown === void 0 ? void 0 : (_dropdown$onSelect = dropdown.onSelect) === null || _dropdown$onSelect === void 0 ? void 0 : _dropdown$onSelect.call(dropdown, eventKey, event);\n }, [onSelect, eventKey, dropdown]);\n var sidenav = (0, _react.useContext)(_Sidenav.SidenavContext);\n var navbar = (0, _react.useContext)(_Navbar.NavbarContext);\n var disclosure = (0, _react.useContext)(_DisclosureContext.default);\n\n var _ref = disclosure !== null && disclosure !== void 0 ? disclosure : [],\n dispatchDisclosure = _ref[1];\n\n var handleClickNavbarDropdownItem = (0, _react.useCallback)(function (event) {\n dispatchDisclosure === null || dispatchDisclosure === void 0 ? void 0 : dispatchDisclosure({\n type: _DisclosureContext.DisclosureActionTypes.Hide\n });\n handleSelectItem === null || handleSelectItem === void 0 ? void 0 : handleSelectItem(event);\n }, [dispatchDisclosure, handleSelectItem]);\n var selected = activeProp || !(0, _isNil.default)(eventKey) && ((0, _utils.shallowEqual)(dropdown === null || dropdown === void 0 ? void 0 : dropdown.activeKey, eventKey) || (0, _utils.shallowEqual)(nav === null || nav === void 0 ? void 0 : nav.activeKey, eventKey));\n var dispatch = dropdown === null || dropdown === void 0 ? void 0 : dropdown.dispatch;\n (0, _react.useEffect)(function () {\n if (dispatch) {\n dispatch({\n type: _DropdownState.DropdownActionType.RegisterItem,\n payload: {\n id: internalId,\n props: {\n selected: selected\n }\n }\n });\n return function () {\n dispatch({\n type: _DropdownState.DropdownActionType.UnregisterItem,\n payload: {\n id: internalId\n }\n });\n };\n }\n }, [internalId, selected, dispatch]);\n var renderDropdownItem = (0, _useRenderDropdownItem.useRenderDropdownItem)(Component);\n\n if (sidenav !== null && sidenav !== void 0 && sidenav.expanded) {\n return /*#__PURE__*/_react.default.createElement(_SidenavDropdownItem.default, (0, _extends2.default)({\n ref: ref\n }, props, {\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 150,\n columnNumber: 14\n }\n }));\n }\n\n if (divider) {\n return renderDropdownItem((0, _extends2.default)({\n ref: ref,\n role: 'separator',\n className: merge(prefix('divider'), className)\n }, restProps));\n }\n\n if (panel) {\n return renderDropdownItem((0, _extends2.default)({\n ref: ref,\n className: merge(prefix('panel'), className),\n children: children\n }, restProps));\n }\n\n if (navbar) {\n var classes = merge(className, withClassPrefix({\n 'with-icon': icon,\n disabled: disabled,\n divider: divider,\n panel: panel,\n active: selected\n }));\n var dataAttributes = {\n 'data-event-key': eventKey\n };\n\n if (!(0, _isNil.default)(eventKey) && typeof eventKey !== 'string') {\n dataAttributes['data-event-key-type'] = typeof eventKey;\n }\n\n return /*#__PURE__*/_react.default.createElement(\"li\", {\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 190,\n columnNumber: 9\n }\n }, /*#__PURE__*/_react.default.createElement(_SafeAnchor.default, (0, _extends2.default)({\n ref: ref,\n className: classes,\n \"aria-current\": selected || undefined\n }, dataAttributes, restProps, {\n as: Component,\n onClick: (0, _utils.createChainedFunction)(handleClickNavbarDropdownItem, restProps.onClick),\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 191,\n columnNumber: 11\n }\n }), icon && /*#__PURE__*/_react.default.cloneElement(icon, {\n className: prefix('menu-icon')\n }), children));\n }\n\n return /*#__PURE__*/_react.default.createElement(_MenuItem.default, {\n selected: selected,\n disabled: disabled,\n onActivate: handleSelectItem,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 208,\n columnNumber: 7\n }\n }, function (_ref2, menuitemRef) {\n var selected = _ref2.selected,\n active = _ref2.active,\n menuitem = (0, _objectWithoutPropertiesLoose2.default)(_ref2, [\"selected\", \"active\"]);\n var classes = merge(className, withClassPrefix({\n 'with-icon': icon,\n active: selected,\n disabled: disabled,\n focus: active,\n divider: divider,\n panel: panel\n }));\n var dataAttributes = {\n 'data-event-key': eventKey\n };\n\n if (!(0, _isNil.default)(eventKey) && typeof eventKey !== 'string') {\n dataAttributes['data-event-key-type'] = typeof eventKey;\n }\n\n return renderDropdownItem((0, _extends2.default)({\n ref: (0, _utils.mergeRefs)(ref, menuitemRef),\n className: classes\n }, menuitem, dataAttributes, restProps, {\n children: /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, icon && /*#__PURE__*/_react.default.cloneElement(icon, {\n className: prefix('menu-icon')\n }), children)\n }));\n });\n});\n\nDropdownItem.displayName = 'Dropdown.Item';\nDropdownItem.propTypes = {\n as: _propTypes.default.elementType,\n divider: _propTypes.default.bool,\n panel: _propTypes.default.bool,\n trigger: _propTypes.default.oneOfType([_propTypes.default.array, _propTypes.default.oneOf(['click', 'hover'])]),\n open: (0, _deprecatePropType.default)(_propTypes.default.bool),\n active: _propTypes.default.bool,\n disabled: _propTypes.default.bool,\n pullLeft: (0, _deprecatePropType.default)(_propTypes.default.bool),\n submenu: _propTypes.default.element,\n onSelect: _propTypes.default.func,\n onClick: _propTypes.default.func,\n icon: _propTypes.default.node,\n eventKey: _propTypes.default.any,\n className: _propTypes.default.string,\n style: _propTypes.default.object,\n children: _propTypes.default.node,\n classPrefix: _propTypes.default.string,\n tabIndex: _propTypes.default.number\n};\nvar _default = DropdownItem;\nexports.default = _default;\n\n//# sourceURL=webpack://rsuite/./src/Dropdown/DropdownItem.tsx?");
2532
+ 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 _Sidenav = __webpack_require__(/*! ../Sidenav/Sidenav */ \"./src/Sidenav/Sidenav.tsx\");\n\nvar _deprecatePropType = _interopRequireDefault(__webpack_require__(/*! ../utils/deprecatePropType */ \"./src/utils/deprecatePropType.ts\"));\n\nvar _MenuItem = _interopRequireDefault(__webpack_require__(/*! ../Menu/MenuItem */ \"./src/Menu/MenuItem.tsx\"));\n\nvar _DropdownContext = _interopRequireDefault(__webpack_require__(/*! ./DropdownContext */ \"./src/Dropdown/DropdownContext.ts\"));\n\nvar _isNil = _interopRequireDefault(__webpack_require__(/*! lodash/isNil */ \"./node_modules/lodash/isNil.js\"));\n\nvar _utils = __webpack_require__(/*! ../utils */ \"./src/utils/index.ts\");\n\nvar _Navbar = __webpack_require__(/*! ../Navbar/Navbar */ \"./src/Navbar/Navbar.tsx\");\n\nvar _SidenavDropdownItem = _interopRequireDefault(__webpack_require__(/*! ../Sidenav/SidenavDropdownItem */ \"./src/Sidenav/SidenavDropdownItem.tsx\"));\n\nvar _DisclosureContext = _interopRequireWildcard(__webpack_require__(/*! ../Disclosure/DisclosureContext */ \"./src/Disclosure/DisclosureContext.ts\"));\n\nvar _NavContext = _interopRequireDefault(__webpack_require__(/*! ../Nav/NavContext */ \"./src/Nav/NavContext.ts\"));\n\nvar _useInternalId = _interopRequireDefault(__webpack_require__(/*! ../utils/useInternalId */ \"./src/utils/useInternalId.ts\"));\n\nvar _DropdownState = __webpack_require__(/*! ./DropdownState */ \"./src/Dropdown/DropdownState.ts\");\n\nvar _useRenderDropdownItem = __webpack_require__(/*! ./useRenderDropdownItem */ \"./src/Dropdown/useRenderDropdownItem.tsx\");\n\nvar _jsxFileName = \"/home/runner/work/rsuite/rsuite/src/Dropdown/DropdownItem.tsx\",\n _this = void 0;\n\n/**\n * The <Dropdown.Item> API\n * When used inside <Sidenav>, renders a <TreeviewItem>\n * Otherwise renders a <MenuItem>\n */\nvar DropdownItem = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {\n var _props$classPrefix = props.classPrefix,\n classPrefix = _props$classPrefix === void 0 ? 'dropdown-item' : _props$classPrefix,\n className = props.className,\n activeProp = props.active,\n eventKey = props.eventKey,\n onSelect = props.onSelect,\n icon = props.icon,\n _props$as = props.as,\n Component = _props$as === void 0 ? 'li' : _props$as,\n divider = props.divider,\n panel = props.panel,\n children = props.children,\n disabled = props.disabled,\n restProps = (0, _objectWithoutPropertiesLoose2.default)(props, [\"classPrefix\", \"className\", \"active\", \"eventKey\", \"onSelect\", \"icon\", \"as\", \"divider\", \"panel\", \"children\", \"disabled\"]);\n var internalId = (0, _useInternalId.default)('DropdownItem');\n var nav = (0, _react.useContext)(_NavContext.default);\n var dropdown = (0, _react.useContext)(_DropdownContext.default);\n\n var _useClassNames = (0, _utils.useClassNames)(classPrefix),\n merge = _useClassNames.merge,\n withClassPrefix = _useClassNames.withClassPrefix,\n prefix = _useClassNames.prefix;\n\n var handleSelectItem = (0, _react.useCallback)(function (event) {\n var _dropdown$onSelect;\n\n onSelect === null || onSelect === void 0 ? void 0 : onSelect(eventKey, event);\n dropdown === null || dropdown === void 0 ? void 0 : (_dropdown$onSelect = dropdown.onSelect) === null || _dropdown$onSelect === void 0 ? void 0 : _dropdown$onSelect.call(dropdown, eventKey, event);\n }, [onSelect, eventKey, dropdown]);\n var sidenav = (0, _react.useContext)(_Sidenav.SidenavContext);\n var navbar = (0, _react.useContext)(_Navbar.NavbarContext);\n var disclosure = (0, _react.useContext)(_DisclosureContext.default);\n\n var _ref = disclosure !== null && disclosure !== void 0 ? disclosure : [],\n dispatchDisclosure = _ref[1];\n\n var handleClickNavbarDropdownItem = (0, _react.useCallback)(function (event) {\n dispatchDisclosure === null || dispatchDisclosure === void 0 ? void 0 : dispatchDisclosure({\n type: _DisclosureContext.DisclosureActionTypes.Hide,\n cascade: true\n });\n handleSelectItem === null || handleSelectItem === void 0 ? void 0 : handleSelectItem(event);\n }, [dispatchDisclosure, handleSelectItem]);\n var selected = activeProp || !(0, _isNil.default)(eventKey) && ((0, _utils.shallowEqual)(dropdown === null || dropdown === void 0 ? void 0 : dropdown.activeKey, eventKey) || (0, _utils.shallowEqual)(nav === null || nav === void 0 ? void 0 : nav.activeKey, eventKey));\n var dispatch = dropdown === null || dropdown === void 0 ? void 0 : dropdown.dispatch;\n (0, _react.useEffect)(function () {\n if (dispatch) {\n dispatch({\n type: _DropdownState.DropdownActionType.RegisterItem,\n payload: {\n id: internalId,\n props: {\n selected: selected\n }\n }\n });\n return function () {\n dispatch({\n type: _DropdownState.DropdownActionType.UnregisterItem,\n payload: {\n id: internalId\n }\n });\n };\n }\n }, [internalId, selected, dispatch]);\n var renderDropdownItem = (0, _useRenderDropdownItem.useRenderDropdownItem)(Component);\n\n if (sidenav !== null && sidenav !== void 0 && sidenav.expanded) {\n return /*#__PURE__*/_react.default.createElement(_SidenavDropdownItem.default, (0, _extends2.default)({\n ref: ref\n }, props, {\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 149,\n columnNumber: 14\n }\n }));\n }\n\n if (divider) {\n return renderDropdownItem((0, _extends2.default)({\n ref: ref,\n role: 'separator',\n className: merge(prefix('divider'), className)\n }, restProps));\n }\n\n if (panel) {\n return renderDropdownItem((0, _extends2.default)({\n ref: ref,\n className: merge(prefix('panel'), className),\n children: children\n }, restProps));\n }\n\n if (navbar) {\n var classes = merge(className, withClassPrefix({\n 'with-icon': icon,\n disabled: disabled,\n divider: divider,\n panel: panel,\n active: selected\n }));\n var dataAttributes = {\n 'data-event-key': eventKey\n };\n\n if (!(0, _isNil.default)(eventKey) && typeof eventKey !== 'string') {\n dataAttributes['data-event-key-type'] = typeof eventKey;\n }\n\n return renderDropdownItem((0, _extends2.default)({\n ref: ref,\n className: classes,\n 'aria-current': selected || undefined\n }, dataAttributes, restProps, {\n onClick: (0, _utils.createChainedFunction)(handleClickNavbarDropdownItem, restProps.onClick),\n children: /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, icon && /*#__PURE__*/_react.default.cloneElement(icon, {\n className: prefix('menu-icon')\n }), children)\n }));\n }\n\n return /*#__PURE__*/_react.default.createElement(_MenuItem.default, {\n selected: selected,\n disabled: disabled,\n onActivate: handleSelectItem,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 205,\n columnNumber: 7\n }\n }, function (_ref2, menuitemRef) {\n var selected = _ref2.selected,\n active = _ref2.active,\n menuitem = (0, _objectWithoutPropertiesLoose2.default)(_ref2, [\"selected\", \"active\"]);\n var classes = merge(className, withClassPrefix({\n 'with-icon': icon,\n active: selected,\n disabled: disabled,\n focus: active,\n divider: divider,\n panel: panel\n }));\n var dataAttributes = {\n 'data-event-key': eventKey\n };\n\n if (!(0, _isNil.default)(eventKey) && typeof eventKey !== 'string') {\n dataAttributes['data-event-key-type'] = typeof eventKey;\n }\n\n return renderDropdownItem((0, _extends2.default)({\n ref: (0, _utils.mergeRefs)(ref, menuitemRef),\n className: classes\n }, menuitem, dataAttributes, restProps, {\n children: /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, icon && /*#__PURE__*/_react.default.cloneElement(icon, {\n className: prefix('menu-icon')\n }), children)\n }));\n });\n});\n\nDropdownItem.displayName = 'Dropdown.Item';\nDropdownItem.propTypes = {\n as: _propTypes.default.elementType,\n divider: _propTypes.default.bool,\n panel: _propTypes.default.bool,\n trigger: _propTypes.default.oneOfType([_propTypes.default.array, _propTypes.default.oneOf(['click', 'hover'])]),\n open: (0, _deprecatePropType.default)(_propTypes.default.bool),\n active: _propTypes.default.bool,\n disabled: _propTypes.default.bool,\n pullLeft: (0, _deprecatePropType.default)(_propTypes.default.bool),\n submenu: _propTypes.default.element,\n onSelect: _propTypes.default.func,\n onClick: _propTypes.default.func,\n icon: _propTypes.default.node,\n eventKey: _propTypes.default.any,\n className: _propTypes.default.string,\n style: _propTypes.default.object,\n children: _propTypes.default.node,\n classPrefix: _propTypes.default.string,\n tabIndex: _propTypes.default.number\n};\nvar _default = DropdownItem;\nexports.default = _default;\n\n//# sourceURL=webpack://rsuite/./src/Dropdown/DropdownItem.tsx?");
2522
2533
 
2523
2534
  /***/ }),
2524
2535
 
@@ -2529,7 +2540,7 @@ eval("\n\nvar _interopRequireDefault = __webpack_require__(/*! @babel/runtime/he
2529
2540
  /***/ (function(__unused_webpack_module, exports, __webpack_require__) {
2530
2541
 
2531
2542
  "use strict";
2532
- 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 _taggedTemplateLiteralLoose2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/taggedTemplateLiteralLoose */ \"./node_modules/@babel/runtime/helpers/taggedTemplateLiteralLoose.js\"));\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 _omit2 = _interopRequireDefault(__webpack_require__(/*! lodash/omit */ \"./node_modules/lodash/omit.js\"));\n\nvar _Menu = _interopRequireDefault(__webpack_require__(/*! ../Menu/Menu */ \"./src/Menu/Menu.tsx\"));\n\nvar _MenuItem = _interopRequireDefault(__webpack_require__(/*! ../Menu/MenuItem */ \"./src/Menu/MenuItem.tsx\"));\n\nvar _utils = __webpack_require__(/*! ../utils */ \"./src/utils/index.ts\");\n\nvar _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ \"./node_modules/prop-types/index.js\"));\n\nvar _Sidenav = __webpack_require__(/*! ../Sidenav/Sidenav */ \"./src/Sidenav/Sidenav.tsx\");\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 _useCustom2 = _interopRequireDefault(__webpack_require__(/*! ../utils/useCustom */ \"./src/utils/useCustom.ts\"));\n\nvar _DropdownContext = _interopRequireDefault(__webpack_require__(/*! ./DropdownContext */ \"./src/Dropdown/DropdownContext.ts\"));\n\nvar _Menubar = _interopRequireDefault(__webpack_require__(/*! ../Menu/Menubar */ \"./src/Menu/Menubar.tsx\"));\n\nvar _SidenavDropdownMenu = _interopRequireDefault(__webpack_require__(/*! ../Sidenav/SidenavDropdownMenu */ \"./src/Sidenav/SidenavDropdownMenu.tsx\"));\n\nvar _jsxFileName = \"/home/runner/work/rsuite/rsuite/src/Dropdown/DropdownMenu.tsx\",\n _this = void 0,\n _templateObject,\n _templateObject2;\n\n/**\n * The <Dropdown.Menu> API\n *\n * @description\n * Note the difference between this component and <Menu> component:\n * <Menu> is used for ARIA menu control logic and is used internally only.\n * This component is only used for supporting submenu syntax and is\n * assigned to Dropdown.Menu\n *\n * @example\n *\n * <Dropdown>\n * <Dropdown.Item>Item 1</Dropdown.Item>\n * <Dropdown.Menu title=\"Submenu\">\n * <Dropdown.Item>Sub item</Dropdown.Item>\n * </Dropdown.Menu>\n * </Dropdown>\n */\nvar DropdownMenu = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {\n var onToggle = props.onToggle,\n eventKey = props.eventKey,\n title = props.title,\n activeKey = props.activeKey,\n onSelect = props.onSelect,\n _props$classPrefix = props.classPrefix,\n classPrefix = _props$classPrefix === void 0 ? 'dropdown-menu' : _props$classPrefix,\n children = props.children,\n rest = (0, _objectWithoutPropertiesLoose2.default)(props, [\"onToggle\", \"eventKey\", \"title\", \"activeKey\", \"onSelect\", \"classPrefix\", \"children\"]);\n var dropdown = (0, _react.useContext)(_DropdownContext.default);\n var sidenav = (0, _react.useContext)(_Sidenav.SidenavContext);\n\n var _useCustom = (0, _useCustom2.default)('DropdownMenu'),\n rtl = _useCustom.rtl;\n\n var handleToggleSubmenu = (0, _react.useCallback)(function (_, event) {\n onToggle === null || onToggle === void 0 ? void 0 : onToggle(eventKey, event);\n }, [eventKey, onToggle]);\n\n var _useClassNames = (0, _utils.useClassNames)(classPrefix),\n merge = _useClassNames.merge,\n prefix = _useClassNames.prefix,\n withClassPrefix = _useClassNames.withClassPrefix;\n\n var _useClassNames2 = (0, _utils.useClassNames)('dropdown-menu'),\n withMenuClassPrefix = _useClassNames2.withClassPrefix,\n mergeMenuClassName = _useClassNames2.merge;\n\n var _useClassNames3 = (0, _utils.useClassNames)('dropdown-item'),\n mergeItemClassNames = _useClassNames3.merge,\n withItemClassPrefix = _useClassNames3.withClassPrefix,\n prefixItemClassName = _useClassNames3.prefix;\n\n var contextValue = (0, _react.useMemo)(function () {\n return {\n activeKey: activeKey,\n onSelect: onSelect\n };\n }, [activeKey, onSelect]); // <Dropdown.Menu> is used outside of <Dropdown>\n // renders a vertical `menubar`\n\n if (!dropdown) {\n var classes = merge(props.className, withClassPrefix());\n return /*#__PURE__*/_react.default.createElement(_DropdownContext.default.Provider, {\n value: contextValue,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 105,\n columnNumber: 7\n }\n }, /*#__PURE__*/_react.default.createElement(_Menubar.default, {\n vertical: true,\n onActivateItem: function onActivateItem(event) {\n var _dataset = event.target.dataset,\n eventKey = _dataset.eventKey,\n eventKeyType = _dataset.eventKeyType; // Only cast number type for now\n\n var eventKeyToEmit = eventKeyType === 'number' ? Number(eventKey) : eventKey;\n onSelect === null || onSelect === void 0 ? void 0 : onSelect(eventKeyToEmit, event);\n },\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 106,\n columnNumber: 9\n }\n }, function (menubar, menubarRef) {\n return /*#__PURE__*/_react.default.createElement(\"ul\", (0, _extends2.default)({\n ref: (0, _utils.mergeRefs)(menubarRef, ref),\n className: classes\n }, menubar, rest, {\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 117,\n columnNumber: 13\n }\n }), children);\n }));\n }\n\n if (sidenav !== null && sidenav !== void 0 && sidenav.expanded) {\n return /*#__PURE__*/_react.default.createElement(_SidenavDropdownMenu.default, (0, _extends2.default)({}, (0, _omit2.default)(props, 'classPrefix'), {\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 127,\n columnNumber: 12\n }\n }));\n } // Parent menu exists. This is a submenu.\n // Should render a `menuitem` that controls this submenu.\n\n\n var _omit = (0, _omit2.default)(rest, ['trigger']),\n icon = _omit.icon,\n className = _omit.className,\n disabled = _omit.disabled,\n menuProps = (0, _objectWithoutPropertiesLoose2.default)(_omit, [\"icon\", \"className\", \"disabled\"]);\n\n var Icon = rtl ? _AngleLeft.default : _AngleRight.default;\n return /*#__PURE__*/_react.default.createElement(_Menu.default, {\n openMenuOn: ['mouseover', 'click'],\n renderMenuButton: function renderMenuButton(_ref, buttonRef) {\n var open = _ref.open,\n menuButtonProps = (0, _objectWithoutPropertiesLoose2.default)(_ref, [\"open\"]);\n return /*#__PURE__*/_react.default.createElement(_MenuItem.default, {\n disabled: disabled,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 140,\n columnNumber: 9\n }\n }, function (_ref2, menuitemRef) {\n var selected = _ref2.selected,\n active = _ref2.active,\n menuitem = (0, _objectWithoutPropertiesLoose2.default)(_ref2, [\"selected\", \"active\"]);\n var classes = mergeItemClassNames(className, prefixItemClassName(\"pull-\" + (rtl ? 'left' : 'right')), prefixItemClassName(_templateObject || (_templateObject = (0, _taggedTemplateLiteralLoose2.default)([\"toggle\"]))), // prefixItemClassName`submenu`,\n withItemClassPrefix({\n 'with-icon': icon,\n open: open,\n active: selected,\n disabled: disabled,\n focus: active\n }));\n return /*#__PURE__*/_react.default.createElement(\"div\", (0, _extends2.default)({\n ref: (0, _utils.mergeRefs)(buttonRef, menuitemRef),\n className: classes,\n \"data-event-key\": eventKey,\n \"data-event-key-type\": typeof eventKey\n }, menuitem, (0, _omit2.default)(menuButtonProps, ['role']), {\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 157,\n columnNumber: 15\n }\n }), icon && /*#__PURE__*/_react.default.cloneElement(icon, {\n className: prefix('menu-icon')\n }), title, /*#__PURE__*/_react.default.createElement(Icon, {\n className: prefix(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteralLoose2.default)([\"toggle-icon\"]))),\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 167,\n columnNumber: 17\n }\n }));\n });\n },\n renderMenuPopup: function renderMenuPopup(_ref3, popupRef) {\n var open = _ref3.open,\n popupProps = (0, _objectWithoutPropertiesLoose2.default)(_ref3, [\"open\"]);\n var menuClassName = mergeMenuClassName(className, withMenuClassPrefix());\n return /*#__PURE__*/_react.default.createElement(\"ul\", (0, _extends2.default)({\n ref: popupRef,\n className: menuClassName,\n hidden: !open\n }, popupProps, menuProps, {\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 177,\n columnNumber: 11\n }\n }), children);\n },\n onToggleMenu: handleToggleSubmenu,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 137,\n columnNumber: 5\n }\n }, function (_ref4, menuContainerRef) {\n var open = _ref4.open,\n menuContainer = (0, _objectWithoutPropertiesLoose2.default)(_ref4, [\"open\"]);\n var classes = mergeItemClassNames(className, withItemClassPrefix({\n disabled: disabled,\n open: open,\n submenu: true // focus: hasFocus\n\n }));\n return /*#__PURE__*/_react.default.createElement(\"li\", (0, _extends2.default)({\n ref: (0, _utils.mergeRefs)(ref, menuContainerRef),\n className: classes\n }, menuContainer, {\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 201,\n columnNumber: 11\n }\n }));\n });\n});\n\nDropdownMenu.displayName = 'Dropdown.Menu';\nDropdownMenu.propTypes = {\n active: _propTypes.default.bool,\n activeKey: _propTypes.default.any,\n className: _propTypes.default.string,\n children: _propTypes.default.node,\n icon: _propTypes.default.any,\n classPrefix: _propTypes.default.string,\n pullLeft: _propTypes.default.bool,\n title: _propTypes.default.node,\n open: _propTypes.default.bool,\n trigger: _propTypes.default.oneOf(['click', 'hover']),\n eventKey: _propTypes.default.any,\n expanded: _propTypes.default.bool,\n collapsible: _propTypes.default.bool,\n onSelect: _propTypes.default.func,\n onToggle: _propTypes.default.func\n};\nvar _default = DropdownMenu;\nexports.default = _default;\n\n//# sourceURL=webpack://rsuite/./src/Dropdown/DropdownMenu.tsx?");
2543
+ 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 _taggedTemplateLiteralLoose2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/taggedTemplateLiteralLoose */ \"./node_modules/@babel/runtime/helpers/taggedTemplateLiteralLoose.js\"));\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 _omit2 = _interopRequireDefault(__webpack_require__(/*! lodash/omit */ \"./node_modules/lodash/omit.js\"));\n\nvar _Menu = _interopRequireDefault(__webpack_require__(/*! ../Menu/Menu */ \"./src/Menu/Menu.tsx\"));\n\nvar _MenuItem = _interopRequireDefault(__webpack_require__(/*! ../Menu/MenuItem */ \"./src/Menu/MenuItem.tsx\"));\n\nvar _utils = __webpack_require__(/*! ../utils */ \"./src/utils/index.ts\");\n\nvar _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ \"./node_modules/prop-types/index.js\"));\n\nvar _Sidenav = __webpack_require__(/*! ../Sidenav/Sidenav */ \"./src/Sidenav/Sidenav.tsx\");\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 _useCustom2 = _interopRequireDefault(__webpack_require__(/*! ../utils/useCustom */ \"./src/utils/useCustom.ts\"));\n\nvar _DropdownContext = _interopRequireDefault(__webpack_require__(/*! ./DropdownContext */ \"./src/Dropdown/DropdownContext.ts\"));\n\nvar _Navbar = __webpack_require__(/*! ../Navbar */ \"./src/Navbar/index.tsx\");\n\nvar _Menubar = _interopRequireDefault(__webpack_require__(/*! ../Menu/Menubar */ \"./src/Menu/Menubar.tsx\"));\n\nvar _SidenavDropdownMenu = _interopRequireDefault(__webpack_require__(/*! ../Sidenav/SidenavDropdownMenu */ \"./src/Sidenav/SidenavDropdownMenu.tsx\"));\n\nvar _Disclosure = _interopRequireDefault(__webpack_require__(/*! ../Disclosure */ \"./src/Disclosure/index.tsx\"));\n\nvar _jsxFileName = \"/home/runner/work/rsuite/rsuite/src/Dropdown/DropdownMenu.tsx\",\n _this = void 0,\n _templateObject,\n _templateObject2,\n _templateObject3,\n _templateObject4;\n\n/**\n * The <Dropdown.Menu> API\n *\n * @description\n * Note the difference between this component and <Menu> component:\n * <Menu> is used for ARIA menu control logic and is used internally only.\n * This component is only used for supporting submenu syntax and is\n * assigned to Dropdown.Menu\n *\n * @example\n *\n * <Dropdown>\n * <Dropdown.Item>Item 1</Dropdown.Item>\n * <Dropdown.Menu title=\"Submenu\">\n * <Dropdown.Item>Sub item</Dropdown.Item>\n * </Dropdown.Menu>\n * </Dropdown>\n */\nvar DropdownMenu = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {\n var onToggle = props.onToggle,\n eventKey = props.eventKey,\n title = props.title,\n activeKey = props.activeKey,\n onSelect = props.onSelect,\n _props$classPrefix = props.classPrefix,\n classPrefix = _props$classPrefix === void 0 ? 'dropdown-menu' : _props$classPrefix,\n children = props.children,\n rest = (0, _objectWithoutPropertiesLoose2.default)(props, [\"onToggle\", \"eventKey\", \"title\", \"activeKey\", \"onSelect\", \"classPrefix\", \"children\"]);\n var dropdown = (0, _react.useContext)(_DropdownContext.default);\n var sidenav = (0, _react.useContext)(_Sidenav.SidenavContext);\n var withinNavbar = Boolean((0, _react.useContext)(_Navbar.NavbarContext));\n\n var _useCustom = (0, _useCustom2.default)('DropdownMenu'),\n rtl = _useCustom.rtl;\n\n var handleToggleSubmenu = (0, _react.useCallback)(function (_, event) {\n onToggle === null || onToggle === void 0 ? void 0 : onToggle(eventKey, event);\n }, [eventKey, onToggle]);\n\n var _useClassNames = (0, _utils.useClassNames)(classPrefix),\n merge = _useClassNames.merge,\n prefix = _useClassNames.prefix,\n withClassPrefix = _useClassNames.withClassPrefix;\n\n var _useClassNames2 = (0, _utils.useClassNames)('dropdown-menu'),\n withMenuClassPrefix = _useClassNames2.withClassPrefix,\n mergeMenuClassName = _useClassNames2.merge;\n\n var _useClassNames3 = (0, _utils.useClassNames)('dropdown-item'),\n mergeItemClassNames = _useClassNames3.merge,\n withItemClassPrefix = _useClassNames3.withClassPrefix,\n prefixItemClassName = _useClassNames3.prefix;\n\n var contextValue = (0, _react.useMemo)(function () {\n return {\n activeKey: activeKey,\n onSelect: onSelect\n };\n }, [activeKey, onSelect]); // <Dropdown.Menu> is used outside of <Dropdown>\n // renders a vertical `menubar`\n\n if (!dropdown) {\n var classes = merge(props.className, withClassPrefix());\n return /*#__PURE__*/_react.default.createElement(_DropdownContext.default.Provider, {\n value: contextValue,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 108,\n columnNumber: 7\n }\n }, /*#__PURE__*/_react.default.createElement(_Menubar.default, {\n vertical: true,\n onActivateItem: function onActivateItem(event) {\n var _dataset = event.target.dataset,\n eventKey = _dataset.eventKey,\n eventKeyType = _dataset.eventKeyType; // Only cast number type for now\n\n var eventKeyToEmit = eventKeyType === 'number' ? Number(eventKey) : eventKey;\n onSelect === null || onSelect === void 0 ? void 0 : onSelect(eventKeyToEmit, event);\n },\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 109,\n columnNumber: 9\n }\n }, function (menubar, menubarRef) {\n return /*#__PURE__*/_react.default.createElement(\"ul\", (0, _extends2.default)({\n ref: (0, _utils.mergeRefs)(menubarRef, ref),\n className: classes\n }, menubar, rest, {\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 120,\n columnNumber: 13\n }\n }), children);\n }));\n }\n\n if (sidenav !== null && sidenav !== void 0 && sidenav.expanded) {\n return /*#__PURE__*/_react.default.createElement(_SidenavDropdownMenu.default, (0, _extends2.default)({}, (0, _omit2.default)(props, 'classPrefix'), {\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 129,\n columnNumber: 12\n }\n }));\n } // Parent menu exists. This is a submenu.\n // Should render a `menuitem` that controls this submenu.\n\n\n var _omit = (0, _omit2.default)(rest, ['trigger']),\n icon = _omit.icon,\n className = _omit.className,\n disabled = _omit.disabled,\n menuProps = (0, _objectWithoutPropertiesLoose2.default)(_omit, [\"icon\", \"className\", \"disabled\"]);\n\n var Icon = rtl ? _AngleLeft.default : _AngleRight.default; // Renders a disclosure when used within <Navbar>\n\n if (withinNavbar) {\n return /*#__PURE__*/_react.default.createElement(_Disclosure.default, {\n hideOnClickOutside: true,\n trigger: ['click', 'mouseover'],\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 141,\n columnNumber: 7\n }\n }, function (_ref, containerRef) {\n var open = _ref.open,\n props = (0, _objectWithoutPropertiesLoose2.default)(_ref, [\"open\"]);\n var classes = mergeItemClassNames(className, withItemClassPrefix({\n disabled: disabled,\n open: open,\n submenu: true\n }));\n return /*#__PURE__*/_react.default.createElement(\"li\", (0, _extends2.default)({\n ref: (0, _utils.mergeRefs)(ref, containerRef),\n className: classes\n }, props, {\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 152,\n columnNumber: 13\n }\n }), /*#__PURE__*/_react.default.createElement(_Disclosure.default.Button, {\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 153,\n columnNumber: 15\n }\n }, function (_ref2, buttonRef) {\n var open = _ref2.open,\n buttonProps = (0, _objectWithoutPropertiesLoose2.default)(_ref2, [\"open\"]);\n var classes = mergeItemClassNames(className, prefixItemClassName(_templateObject || (_templateObject = (0, _taggedTemplateLiteralLoose2.default)([\"toggle\"]))), withItemClassPrefix({\n 'with-icon': icon,\n open: open,\n disabled: disabled\n }));\n return /*#__PURE__*/_react.default.createElement(\"div\", (0, _extends2.default)({\n ref: (0, _utils.mergeRefs)(buttonRef, buttonRef),\n className: classes,\n \"data-event-key\": eventKey,\n \"data-event-key-type\": typeof eventKey\n }, buttonProps, {\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 166,\n columnNumber: 21\n }\n }), icon && /*#__PURE__*/_react.default.cloneElement(icon, {\n className: prefix('menu-icon')\n }), title, /*#__PURE__*/_react.default.createElement(Icon, {\n className: prefix(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteralLoose2.default)([\"toggle-icon\"]))),\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 175,\n columnNumber: 23\n }\n }));\n }), /*#__PURE__*/_react.default.createElement(_Disclosure.default.Content, {\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 180,\n columnNumber: 15\n }\n }, function (_ref3, elementRef) {\n var open = _ref3.open;\n var menuClassName = mergeMenuClassName(className, withMenuClassPrefix());\n return /*#__PURE__*/_react.default.createElement(\"ul\", (0, _extends2.default)({\n ref: elementRef,\n className: menuClassName,\n hidden: !open\n }, menuProps, {\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 185,\n columnNumber: 21\n }\n }), children);\n }));\n });\n }\n\n return /*#__PURE__*/_react.default.createElement(_Menu.default, {\n openMenuOn: ['mouseover', 'click'],\n renderMenuButton: function renderMenuButton(_ref4, buttonRef) {\n var open = _ref4.open,\n menuButtonProps = (0, _objectWithoutPropertiesLoose2.default)(_ref4, [\"open\"]);\n return /*#__PURE__*/_react.default.createElement(_MenuItem.default, {\n disabled: disabled,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 207,\n columnNumber: 9\n }\n }, function (_ref5, menuitemRef) {\n var selected = _ref5.selected,\n active = _ref5.active,\n menuitem = (0, _objectWithoutPropertiesLoose2.default)(_ref5, [\"selected\", \"active\"]);\n var classes = mergeItemClassNames(className, prefixItemClassName(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteralLoose2.default)([\"toggle\"]))), withItemClassPrefix({\n 'with-icon': icon,\n open: open,\n active: selected,\n disabled: disabled,\n focus: active\n }));\n return /*#__PURE__*/_react.default.createElement(\"div\", (0, _extends2.default)({\n ref: (0, _utils.mergeRefs)(buttonRef, menuitemRef),\n className: classes,\n \"data-event-key\": eventKey,\n \"data-event-key-type\": typeof eventKey\n }, menuitem, (0, _omit2.default)(menuButtonProps, ['role']), {\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 222,\n columnNumber: 15\n }\n }), icon && /*#__PURE__*/_react.default.cloneElement(icon, {\n className: prefix('menu-icon')\n }), title, /*#__PURE__*/_react.default.createElement(Icon, {\n className: prefix(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteralLoose2.default)([\"toggle-icon\"]))),\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 232,\n columnNumber: 17\n }\n }));\n });\n },\n renderMenuPopup: function renderMenuPopup(_ref6, popupRef) {\n var open = _ref6.open,\n popupProps = (0, _objectWithoutPropertiesLoose2.default)(_ref6, [\"open\"]);\n var menuClassName = mergeMenuClassName(className, withMenuClassPrefix());\n return /*#__PURE__*/_react.default.createElement(\"ul\", (0, _extends2.default)({\n ref: popupRef,\n className: menuClassName,\n hidden: !open\n }, popupProps, menuProps, {\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 242,\n columnNumber: 11\n }\n }), children);\n },\n onToggleMenu: handleToggleSubmenu,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 204,\n columnNumber: 5\n }\n }, function (_ref7, menuContainerRef) {\n var open = _ref7.open,\n menuContainer = (0, _objectWithoutPropertiesLoose2.default)(_ref7, [\"open\"]);\n var classes = mergeItemClassNames(className, withItemClassPrefix({\n disabled: disabled,\n open: open,\n submenu: true\n }));\n return /*#__PURE__*/_react.default.createElement(\"li\", (0, _extends2.default)({\n ref: (0, _utils.mergeRefs)(ref, menuContainerRef),\n className: classes\n }, menuContainer, {\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 265,\n columnNumber: 11\n }\n }));\n });\n});\n\nDropdownMenu.displayName = 'Dropdown.Menu';\nDropdownMenu.propTypes = {\n active: _propTypes.default.bool,\n activeKey: _propTypes.default.any,\n className: _propTypes.default.string,\n children: _propTypes.default.node,\n icon: _propTypes.default.any,\n classPrefix: _propTypes.default.string,\n pullLeft: _propTypes.default.bool,\n title: _propTypes.default.node,\n open: _propTypes.default.bool,\n trigger: _propTypes.default.oneOf(['click', 'hover']),\n eventKey: _propTypes.default.any,\n expanded: _propTypes.default.bool,\n collapsible: _propTypes.default.bool,\n onSelect: _propTypes.default.func,\n onToggle: _propTypes.default.func\n};\nvar _default = DropdownMenu;\nexports.default = _default;\n\n//# sourceURL=webpack://rsuite/./src/Dropdown/DropdownMenu.tsx?");
2533
2544
 
2534
2545
  /***/ }),
2535
2546
 
@@ -2914,7 +2925,7 @@ eval("\n\nvar _interopRequireDefault = __webpack_require__(/*! @babel/runtime/he
2914
2925
  /***/ (function(__unused_webpack_module, exports, __webpack_require__) {
2915
2926
 
2916
2927
  "use strict";
2917
- 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 _isNil = _interopRequireDefault(__webpack_require__(/*! lodash/isNil */ \"./node_modules/lodash/isNil.js\"));\n\nvar _AngleUp = _interopRequireDefault(__webpack_require__(/*! @rsuite/icons/legacy/AngleUp */ \"./node_modules/@rsuite/icons/legacy/AngleUp.js\"));\n\nvar _AngleDown = _interopRequireDefault(__webpack_require__(/*! @rsuite/icons/legacy/AngleDown */ \"./node_modules/@rsuite/icons/legacy/AngleDown.js\"));\n\nvar _on = _interopRequireDefault(__webpack_require__(/*! dom-lib/on */ \"./node_modules/dom-lib/esm/on.js\"));\n\nvar _InputGroup = _interopRequireDefault(__webpack_require__(/*! ../InputGroup/InputGroup */ \"./src/InputGroup/InputGroup.tsx\"));\n\nvar _InputGroupAddon = _interopRequireDefault(__webpack_require__(/*! ../InputGroup/InputGroupAddon */ \"./src/InputGroup/InputGroupAddon.tsx\"));\n\nvar _Input = _interopRequireDefault(__webpack_require__(/*! ../Input */ \"./src/Input/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 _jsxFileName = \"/home/runner/work/rsuite/rsuite/src/InputNumber/InputNumber.tsx\",\n _this = void 0;\n\n/**\n * Check if the value is a number.\n * @param value\n */\nvar isNumber = function isNumber(value) {\n return /(^-?|^\\+?|^\\d?)\\d*\\.\\d+$/.test(value + '');\n};\n/**\n * Get the length of the decimal.\n * @param value\n */\n\n\nfunction getDecimalLength(value) {\n if (isNumber(value)) {\n return value.toString().split('.')[1].length;\n }\n\n return 0;\n}\n/**\n * Get the value after the decimal point.\n * @param values\n */\n\n\nfunction decimals() {\n for (var _len = arguments.length, values = new Array(_len), _key = 0; _key < _len; _key++) {\n values[_key] = arguments[_key];\n }\n\n var lengths = values.map(getDecimalLength);\n return Math.max.apply(Math, lengths);\n}\n/**\n * Disable the upper limit of the number.\n * @param value\n * @param max\n */\n\n\nfunction disableMaxValue(value, max) {\n if (!(0, _isNil.default)(value)) {\n return +value >= max;\n }\n\n return false;\n}\n/**\n * Disable the lower limit of the number.\n * @param value\n * @param min\n */\n\n\nfunction disableMinValue(value, min) {\n if (!(0, _isNil.default)(value)) {\n return +value <= min;\n }\n\n return false;\n}\n\nvar InputNumber = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {\n var _props$as = props.as,\n Component = _props$as === void 0 ? _InputGroup.default : _props$as,\n className = props.className,\n _props$classPrefix = props.classPrefix,\n classPrefix = _props$classPrefix === void 0 ? 'input-number' : _props$classPrefix,\n disabled = props.disabled,\n readOnly = props.readOnly,\n plaintext = props.plaintext,\n valueProp = props.value,\n defaultValue = props.defaultValue,\n size = props.size,\n prefixElement = props.prefix,\n postfix = props.postfix,\n _props$step = props.step,\n step = _props$step === void 0 ? 1 : _props$step,\n _props$buttonAppearan = props.buttonAppearance,\n buttonAppearance = _props$buttonAppearan === void 0 ? 'subtle' : _props$buttonAppearan,\n _props$min = props.min,\n min = _props$min === void 0 ? -Infinity : _props$min,\n _props$max = props.max,\n max = _props$max === void 0 ? Infinity : _props$max,\n _props$scrollable = props.scrollable,\n scrollable = _props$scrollable === void 0 ? true : _props$scrollable,\n onChange = props.onChange,\n onWheel = props.onWheel,\n restProps = (0, _objectWithoutPropertiesLoose2.default)(props, [\"as\", \"className\", \"classPrefix\", \"disabled\", \"readOnly\", \"plaintext\", \"value\", \"defaultValue\", \"size\", \"prefix\", \"postfix\", \"step\", \"buttonAppearance\", \"min\", \"max\", \"scrollable\", \"onChange\", \"onWheel\"]);\n\n var _useControlled = (0, _utils.useControlled)(valueProp, defaultValue),\n value = _useControlled[0],\n setValue = _useControlled[1];\n\n var _useState = (0, _react.useState)(function () {\n return disableMaxValue(value, max);\n }),\n disabledUpButton = _useState[0],\n setDisabledUpButton = _useState[1];\n\n var _useState2 = (0, _react.useState)(function () {\n return disableMinValue(value, min);\n }),\n disabledDownButton = _useState2[0],\n setDisabledDownButton = _useState2[1];\n\n var _useClassNames = (0, _utils.useClassNames)(classPrefix),\n withClassPrefix = _useClassNames.withClassPrefix,\n merge = _useClassNames.merge,\n prefix = _useClassNames.prefix;\n\n var classes = merge(className, withClassPrefix());\n\n var _partitionHTMLProps = (0, _utils.partitionHTMLProps)(restProps),\n htmlInputProps = _partitionHTMLProps[0],\n rest = _partitionHTMLProps[1];\n\n var inputRef = (0, _react.useRef)();\n var handleChangeValue = (0, _react.useCallback)(function (currentValue, event) {\n if (currentValue !== value) {\n // Disable the up button when the value is greater than the maximum value.\n setDisabledUpButton(disableMaxValue(currentValue, max)); // Disable the down button when the value is greater than the minimum value.\n\n setDisabledDownButton(disableMinValue(currentValue, min));\n setValue(currentValue);\n onChange === null || onChange === void 0 ? void 0 : onChange(currentValue, event);\n }\n }, [max, min, onChange, setValue, value]);\n var getSafeValue = (0, _react.useCallback)(function (value) {\n if (!Number.isNaN(value)) {\n if (+value > max) {\n value = max;\n }\n\n if (+value < min) {\n value = min;\n }\n } else {\n value = '';\n }\n\n return value.toString();\n }, [max, min]);\n var handlePlus = (0, _react.useCallback)(function (event) {\n var val = +(value || 0);\n var bit = decimals(val, step);\n handleChangeValue(getSafeValue((val + step).toFixed(bit)), event);\n }, [getSafeValue, handleChangeValue, step, value]);\n var handleMinus = (0, _react.useCallback)(function (event) {\n var val = +(value || 0);\n var bit = decimals(val, step);\n handleChangeValue(getSafeValue((val - step).toFixed(bit)), event);\n }, [getSafeValue, handleChangeValue, step, value]);\n var handleWheel = (0, _react.useCallback)(function (event) {\n if (!disabled && !readOnly && event.target === document.activeElement) {\n event.preventDefault();\n var delta = event['wheelDelta'] || -event.deltaY || -(event === null || event === void 0 ? void 0 : event.detail);\n\n if (delta > 0) {\n handleMinus(event);\n }\n\n if (delta < 0) {\n handlePlus(event);\n }\n }\n\n onWheel === null || onWheel === void 0 ? void 0 : onWheel(event);\n }, [disabled, handleMinus, handlePlus, onWheel, readOnly]);\n var handleChange = (0, _react.useCallback)(function (value, event) {\n if (!/^-?(?:\\d+)?(\\.)?\\d*$/.test(value) && value !== '') {\n return;\n }\n\n handleChangeValue(value, event);\n }, [handleChangeValue]);\n var handleBlur = (0, _react.useCallback)(function (event) {\n var _event$target;\n\n var targetValue = Number.parseFloat((_event$target = event.target) === null || _event$target === void 0 ? void 0 : _event$target.value);\n handleChangeValue(getSafeValue(targetValue), event);\n }, [getSafeValue, handleChangeValue]);\n (0, _react.useEffect)(function () {\n var wheelListener;\n\n if (inputRef.current && scrollable) {\n wheelListener = (0, _on.default)(inputRef.current, 'wheel', handleWheel, {\n passive: false\n });\n }\n\n return function () {\n var _wheelListener;\n\n (_wheelListener = wheelListener) === null || _wheelListener === void 0 ? void 0 : _wheelListener.off();\n };\n }, [handleWheel, scrollable]);\n\n var input = /*#__PURE__*/_react.default.createElement(_Input.default, (0, _extends2.default)({}, htmlInputProps, {\n type: \"text\",\n autoComplete: \"off\",\n step: step,\n inputRef: inputRef,\n onChange: handleChange,\n onBlur: (0, _utils.createChainedFunction)(handleBlur, htmlInputProps === null || htmlInputProps === void 0 ? void 0 : htmlInputProps.onBlur),\n value: (0, _isNil.default)(value) ? '' : \"\" + value,\n disabled: disabled,\n readOnly: readOnly,\n plaintext: plaintext,\n ref: plaintext ? ref : undefined,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 230,\n columnNumber: 5\n }\n }));\n\n if (plaintext) {\n return input;\n }\n\n return /*#__PURE__*/_react.default.createElement(Component, (0, _extends2.default)({}, rest, {\n ref: ref,\n className: classes,\n disabled: disabled,\n size: size,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 251,\n columnNumber: 5\n }\n }), prefixElement && /*#__PURE__*/_react.default.createElement(_InputGroupAddon.default, {\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 252,\n columnNumber: 25\n }\n }, prefixElement), input, /*#__PURE__*/_react.default.createElement(\"span\", {\n className: prefix('btn-group-vertical'),\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 254,\n columnNumber: 7\n }\n }, /*#__PURE__*/_react.default.createElement(_Button.default, {\n appearance: buttonAppearance,\n className: prefix('touchspin-up'),\n onClick: handlePlus,\n disabled: disabledUpButton || disabled || readOnly,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 255,\n columnNumber: 9\n }\n }, /*#__PURE__*/_react.default.createElement(_AngleUp.default, {\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 261,\n columnNumber: 11\n }\n })), /*#__PURE__*/_react.default.createElement(_Button.default, {\n appearance: buttonAppearance,\n className: prefix('touchspin-down'),\n onClick: handleMinus,\n disabled: disabledDownButton || disabled || readOnly,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 263,\n columnNumber: 9\n }\n }, /*#__PURE__*/_react.default.createElement(_AngleDown.default, {\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 269,\n columnNumber: 11\n }\n }))), postfix && /*#__PURE__*/_react.default.createElement(_InputGroupAddon.default, {\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 272,\n columnNumber: 19\n }\n }, postfix));\n});\n\nInputNumber.displayName = 'InputNumber';\nInputNumber.propTypes = {\n className: _propTypes.default.string,\n classPrefix: _propTypes.default.string,\n min: _propTypes.default.number,\n max: _propTypes.default.number,\n step: _propTypes.default.number,\n value: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.string]),\n defaultValue: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.string]),\n prefix: _propTypes.default.node,\n postfix: _propTypes.default.node,\n disabled: _propTypes.default.bool,\n readOnly: _propTypes.default.bool,\n plaintext: _propTypes.default.bool,\n scrollable: _propTypes.default.bool,\n size: _propTypes.default.oneOf(['lg', 'md', 'sm', 'xs']),\n buttonAppearance: _propTypes.default.oneOf(['default', 'primary', 'link', 'subtle', 'ghost']),\n onWheel: _propTypes.default.func,\n onChange: _propTypes.default.func\n};\nvar _default = InputNumber;\nexports.default = _default;\n\n//# sourceURL=webpack://rsuite/./src/InputNumber/InputNumber.tsx?");
2928
+ 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 _isNil = _interopRequireDefault(__webpack_require__(/*! lodash/isNil */ \"./node_modules/lodash/isNil.js\"));\n\nvar _AngleUp = _interopRequireDefault(__webpack_require__(/*! @rsuite/icons/legacy/AngleUp */ \"./node_modules/@rsuite/icons/legacy/AngleUp.js\"));\n\nvar _AngleDown = _interopRequireDefault(__webpack_require__(/*! @rsuite/icons/legacy/AngleDown */ \"./node_modules/@rsuite/icons/legacy/AngleDown.js\"));\n\nvar _on = _interopRequireDefault(__webpack_require__(/*! dom-lib/on */ \"./node_modules/dom-lib/esm/on.js\"));\n\nvar _InputGroup = _interopRequireDefault(__webpack_require__(/*! ../InputGroup/InputGroup */ \"./src/InputGroup/InputGroup.tsx\"));\n\nvar _InputGroupAddon = _interopRequireDefault(__webpack_require__(/*! ../InputGroup/InputGroupAddon */ \"./src/InputGroup/InputGroupAddon.tsx\"));\n\nvar _Input = _interopRequireDefault(__webpack_require__(/*! ../Input */ \"./src/Input/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 _jsxFileName = \"/home/runner/work/rsuite/rsuite/src/InputNumber/InputNumber.tsx\",\n _this = void 0;\n\n/**\n * Check if the value is a number.\n * @param value\n */\nvar isNumber = function isNumber(value) {\n return /(^-?|^\\+?|^\\d?)\\d*\\.\\d+$/.test(value + '');\n};\n/**\n * Get the length of the decimal.\n * @param value\n */\n\n\nfunction getDecimalLength(value) {\n if (isNumber(value)) {\n return value.toString().split('.')[1].length;\n }\n\n return 0;\n}\n/**\n * Get the value after the decimal point.\n * @param values\n */\n\n\nfunction decimals() {\n for (var _len = arguments.length, values = new Array(_len), _key = 0; _key < _len; _key++) {\n values[_key] = arguments[_key];\n }\n\n var lengths = values.map(getDecimalLength);\n return Math.max.apply(Math, lengths);\n}\n/**\n * Disable the upper limit of the number.\n * @param value\n * @param max\n */\n\n\nfunction disableMaxValue(value, max) {\n if (!(0, _isNil.default)(value)) {\n return +value >= max;\n }\n\n return false;\n}\n/**\n * Disable the lower limit of the number.\n * @param value\n * @param min\n */\n\n\nfunction disableMinValue(value, min) {\n if (!(0, _isNil.default)(value)) {\n return +value <= min;\n }\n\n return false;\n}\n\nvar InputNumber = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {\n var _props$as = props.as,\n Component = _props$as === void 0 ? _InputGroup.default : _props$as,\n className = props.className,\n _props$classPrefix = props.classPrefix,\n classPrefix = _props$classPrefix === void 0 ? 'input-number' : _props$classPrefix,\n disabled = props.disabled,\n readOnly = props.readOnly,\n plaintext = props.plaintext,\n valueProp = props.value,\n defaultValue = props.defaultValue,\n size = props.size,\n prefixElement = props.prefix,\n postfix = props.postfix,\n _props$step = props.step,\n step = _props$step === void 0 ? 1 : _props$step,\n _props$buttonAppearan = props.buttonAppearance,\n buttonAppearance = _props$buttonAppearan === void 0 ? 'subtle' : _props$buttonAppearan,\n minProp = props.min,\n maxProp = props.max,\n _props$scrollable = props.scrollable,\n scrollable = _props$scrollable === void 0 ? true : _props$scrollable,\n onChange = props.onChange,\n onWheel = props.onWheel,\n restProps = (0, _objectWithoutPropertiesLoose2.default)(props, [\"as\", \"className\", \"classPrefix\", \"disabled\", \"readOnly\", \"plaintext\", \"value\", \"defaultValue\", \"size\", \"prefix\", \"postfix\", \"step\", \"buttonAppearance\", \"min\", \"max\", \"scrollable\", \"onChange\", \"onWheel\"]);\n var min = minProp !== null && minProp !== void 0 ? minProp : -Infinity;\n var max = maxProp !== null && maxProp !== void 0 ? maxProp : Infinity;\n\n var _useControlled = (0, _utils.useControlled)(valueProp, defaultValue),\n value = _useControlled[0],\n setValue = _useControlled[1];\n\n var _useState = (0, _react.useState)(function () {\n return disableMaxValue(value, max);\n }),\n disabledUpButton = _useState[0],\n setDisabledUpButton = _useState[1];\n\n var _useState2 = (0, _react.useState)(function () {\n return disableMinValue(value, min);\n }),\n disabledDownButton = _useState2[0],\n setDisabledDownButton = _useState2[1];\n\n var _useClassNames = (0, _utils.useClassNames)(classPrefix),\n withClassPrefix = _useClassNames.withClassPrefix,\n merge = _useClassNames.merge,\n prefix = _useClassNames.prefix;\n\n var classes = merge(className, withClassPrefix());\n\n var _partitionHTMLProps = (0, _utils.partitionHTMLProps)(restProps),\n htmlInputProps = _partitionHTMLProps[0],\n rest = _partitionHTMLProps[1];\n\n var inputRef = (0, _react.useRef)();\n var handleChangeValue = (0, _react.useCallback)(function (currentValue, event) {\n if (currentValue !== value) {\n // Disable the up button when the value is greater than the maximum value.\n setDisabledUpButton(disableMaxValue(currentValue, max)); // Disable the down button when the value is greater than the minimum value.\n\n setDisabledDownButton(disableMinValue(currentValue, min));\n setValue(currentValue);\n onChange === null || onChange === void 0 ? void 0 : onChange(currentValue, event);\n }\n }, [max, min, onChange, setValue, value]);\n var getSafeValue = (0, _react.useCallback)(function (value) {\n if (!Number.isNaN(value)) {\n if (+value > max) {\n value = max;\n }\n\n if (+value < min) {\n value = min;\n }\n } else {\n value = '';\n }\n\n return value.toString();\n }, [max, min]);\n var handlePlus = (0, _react.useCallback)(function (event) {\n var val = +(value || 0);\n var bit = decimals(val, step);\n handleChangeValue(getSafeValue((val + step).toFixed(bit)), event);\n }, [getSafeValue, handleChangeValue, step, value]);\n var handleMinus = (0, _react.useCallback)(function (event) {\n var val = +(value || 0);\n var bit = decimals(val, step);\n handleChangeValue(getSafeValue((val - step).toFixed(bit)), event);\n }, [getSafeValue, handleChangeValue, step, value]);\n var handleKeyDown = (0, _react.useCallback)(function (event) {\n switch (event.key) {\n case _utils.KEY_VALUES.UP:\n event.preventDefault();\n handlePlus(event);\n break;\n\n case _utils.KEY_VALUES.DOWN:\n event.preventDefault();\n handleMinus(event);\n break;\n\n case _utils.KEY_VALUES.HOME:\n if (typeof minProp !== 'undefined') {\n event.preventDefault();\n handleChangeValue(getSafeValue(minProp), event);\n }\n\n break;\n\n case _utils.KEY_VALUES.END:\n if (typeof maxProp !== 'undefined') {\n event.preventDefault();\n handleChangeValue(getSafeValue(maxProp), event);\n }\n\n break;\n }\n }, [handlePlus, handleMinus, minProp, maxProp, handleChangeValue, getSafeValue]);\n var handleWheel = (0, _react.useCallback)(function (event) {\n if (!disabled && !readOnly && event.target === document.activeElement) {\n event.preventDefault();\n var delta = event['wheelDelta'] || -event.deltaY || -(event === null || event === void 0 ? void 0 : event.detail);\n\n if (delta > 0) {\n handleMinus(event);\n }\n\n if (delta < 0) {\n handlePlus(event);\n }\n }\n\n onWheel === null || onWheel === void 0 ? void 0 : onWheel(event);\n }, [disabled, handleMinus, handlePlus, onWheel, readOnly]);\n var handleChange = (0, _react.useCallback)(function (value, event) {\n if (!/^-?(?:\\d+)?(\\.)?\\d*$/.test(value) && value !== '') {\n return;\n }\n\n handleChangeValue(value, event);\n }, [handleChangeValue]);\n var handleBlur = (0, _react.useCallback)(function (event) {\n var _event$target;\n\n var targetValue = Number.parseFloat((_event$target = event.target) === null || _event$target === void 0 ? void 0 : _event$target.value);\n handleChangeValue(getSafeValue(targetValue), event);\n }, [getSafeValue, handleChangeValue]);\n (0, _react.useEffect)(function () {\n var wheelListener;\n\n if (inputRef.current && scrollable) {\n wheelListener = (0, _on.default)(inputRef.current, 'wheel', handleWheel, {\n passive: false\n });\n }\n\n return function () {\n var _wheelListener;\n\n (_wheelListener = wheelListener) === null || _wheelListener === void 0 ? void 0 : _wheelListener.off();\n };\n }, [handleWheel, scrollable]);\n\n var input = /*#__PURE__*/_react.default.createElement(_Input.default, (0, _extends2.default)({}, htmlInputProps, {\n type: \"number\",\n autoComplete: \"off\",\n step: step,\n inputRef: inputRef,\n onChange: handleChange,\n onBlur: (0, _utils.createChainedFunction)(handleBlur, htmlInputProps === null || htmlInputProps === void 0 ? void 0 : htmlInputProps.onBlur),\n value: (0, _isNil.default)(value) ? '' : \"\" + value,\n disabled: disabled,\n readOnly: readOnly,\n plaintext: plaintext,\n ref: plaintext ? ref : undefined,\n onKeyDown: handleKeyDown,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 276,\n columnNumber: 5\n }\n }));\n\n if (plaintext) {\n return input;\n }\n\n return /*#__PURE__*/_react.default.createElement(Component, (0, _extends2.default)({}, rest, {\n ref: ref,\n className: classes,\n disabled: disabled,\n size: size,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 298,\n columnNumber: 5\n }\n }), prefixElement && /*#__PURE__*/_react.default.createElement(_InputGroupAddon.default, {\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 299,\n columnNumber: 25\n }\n }, prefixElement), input, /*#__PURE__*/_react.default.createElement(\"span\", {\n className: prefix('btn-group-vertical'),\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 301,\n columnNumber: 7\n }\n }, /*#__PURE__*/_react.default.createElement(_Button.default, {\n appearance: buttonAppearance,\n className: prefix('touchspin-up'),\n onClick: handlePlus,\n disabled: disabledUpButton || disabled || readOnly,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 302,\n columnNumber: 9\n }\n }, /*#__PURE__*/_react.default.createElement(_AngleUp.default, {\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 308,\n columnNumber: 11\n }\n })), /*#__PURE__*/_react.default.createElement(_Button.default, {\n appearance: buttonAppearance,\n className: prefix('touchspin-down'),\n onClick: handleMinus,\n disabled: disabledDownButton || disabled || readOnly,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 310,\n columnNumber: 9\n }\n }, /*#__PURE__*/_react.default.createElement(_AngleDown.default, {\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 316,\n columnNumber: 11\n }\n }))), postfix && /*#__PURE__*/_react.default.createElement(_InputGroupAddon.default, {\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 319,\n columnNumber: 19\n }\n }, postfix));\n});\n\nInputNumber.displayName = 'InputNumber';\nInputNumber.propTypes = {\n className: _propTypes.default.string,\n classPrefix: _propTypes.default.string,\n min: _propTypes.default.number,\n max: _propTypes.default.number,\n step: _propTypes.default.number,\n value: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.string]),\n defaultValue: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.string]),\n prefix: _propTypes.default.node,\n postfix: _propTypes.default.node,\n disabled: _propTypes.default.bool,\n readOnly: _propTypes.default.bool,\n plaintext: _propTypes.default.bool,\n scrollable: _propTypes.default.bool,\n size: _propTypes.default.oneOf(['lg', 'md', 'sm', 'xs']),\n buttonAppearance: _propTypes.default.oneOf(['default', 'primary', 'link', 'subtle', 'ghost']),\n onWheel: _propTypes.default.func,\n onChange: _propTypes.default.func\n};\nvar _default = InputNumber;\nexports.default = _default;\n\n//# sourceURL=webpack://rsuite/./src/InputNumber/InputNumber.tsx?");
2918
2929
 
2919
2930
  /***/ }),
2920
2931
 
@@ -3244,7 +3255,7 @@ eval("\n\nvar _interopRequireDefault = __webpack_require__(/*! @babel/runtime/he
3244
3255
  /***/ (function(__unused_webpack_module, exports, __webpack_require__) {
3245
3256
 
3246
3257
  "use strict";
3247
- 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 _taggedTemplateLiteralLoose2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/taggedTemplateLiteralLoose */ \"./node_modules/@babel/runtime/helpers/taggedTemplateLiteralLoose.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 _pick = _interopRequireDefault(__webpack_require__(/*! lodash/pick */ \"./node_modules/lodash/pick.js\"));\n\nvar _on = _interopRequireDefault(__webpack_require__(/*! dom-lib/on */ \"./node_modules/dom-lib/esm/on.js\"));\n\nvar _getAnimationEnd = _interopRequireDefault(__webpack_require__(/*! dom-lib/getAnimationEnd */ \"./node_modules/dom-lib/esm/getAnimationEnd.js\"));\n\nvar _Modal = _interopRequireWildcard(__webpack_require__(/*! ../Overlay/Modal */ \"./src/Overlay/Modal.tsx\"));\n\nvar _Bounce = _interopRequireDefault(__webpack_require__(/*! ../Animation/Bounce */ \"./src/Animation/Bounce.tsx\"));\n\nvar _utils = __webpack_require__(/*! ../utils */ \"./src/utils/index.ts\");\n\nvar _ModalDialog = _interopRequireWildcard(__webpack_require__(/*! ./ModalDialog */ \"./src/Modal/ModalDialog.tsx\"));\n\nvar _ModalContext = __webpack_require__(/*! ./ModalContext */ \"./src/Modal/ModalContext.ts\");\n\nvar _ModalBody = _interopRequireDefault(__webpack_require__(/*! ./ModalBody */ \"./src/Modal/ModalBody.tsx\"));\n\nvar _ModalHeader = _interopRequireDefault(__webpack_require__(/*! ./ModalHeader */ \"./src/Modal/ModalHeader.tsx\"));\n\nvar _ModalTitle = _interopRequireDefault(__webpack_require__(/*! ./ModalTitle */ \"./src/Modal/ModalTitle.tsx\"));\n\nvar _ModalFooter = _interopRequireDefault(__webpack_require__(/*! ./ModalFooter */ \"./src/Modal/ModalFooter.tsx\"));\n\nvar _utils2 = __webpack_require__(/*! ./utils */ \"./src/Modal/utils.ts\");\n\nvar _useUniqueId = _interopRequireDefault(__webpack_require__(/*! ../utils/useUniqueId */ \"./src/utils/useUniqueId.ts\"));\n\nvar _jsxFileName = \"/home/runner/work/rsuite/rsuite/src/Modal/Modal.tsx\",\n _this = void 0,\n _templateObject,\n _templateObject2;\n\nvar Modal = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {\n var className = props.className,\n children = props.children,\n _props$classPrefix = props.classPrefix,\n classPrefix = _props$classPrefix === void 0 ? 'modal' : _props$classPrefix,\n dialogClassName = props.dialogClassName,\n backdropClassName = props.backdropClassName,\n _props$backdrop = props.backdrop,\n backdrop = _props$backdrop === void 0 ? true : _props$backdrop,\n dialogStyle = props.dialogStyle,\n _props$animation = props.animation,\n animation = _props$animation === void 0 ? _Bounce.default : _props$animation,\n open = props.open,\n _props$size = props.size,\n size = _props$size === void 0 ? 'sm' : _props$size,\n full = props.full,\n _props$dialogAs = props.dialogAs,\n Dialog = _props$dialogAs === void 0 ? _ModalDialog.default : _props$dialogAs,\n animationProps = props.animationProps,\n _props$animationTimeo = props.animationTimeout,\n animationTimeout = _props$animationTimeo === void 0 ? 300 : _props$animationTimeo,\n _props$overflow = props.overflow,\n overflow = _props$overflow === void 0 ? true : _props$overflow,\n _props$drawer = props.drawer,\n drawer = _props$drawer === void 0 ? false : _props$drawer,\n onClose = props.onClose,\n onEntered = props.onEntered,\n onEntering = props.onEntering,\n onExited = props.onExited,\n _props$role = props.role,\n role = _props$role === void 0 ? 'dialog' : _props$role,\n idProp = props.id,\n ariaLabelledby = props['aria-labelledby'],\n ariaDescribedby = props['aria-describedby'],\n rest = (0, _objectWithoutPropertiesLoose2.default)(props, [\"className\", \"children\", \"classPrefix\", \"dialogClassName\", \"backdropClassName\", \"backdrop\", \"dialogStyle\", \"animation\", \"open\", \"size\", \"full\", \"dialogAs\", \"animationProps\", \"animationTimeout\", \"overflow\", \"drawer\", \"onClose\", \"onEntered\", \"onEntering\", \"onExited\", \"role\", \"id\", \"aria-labelledby\", \"aria-describedby\"]);\n var inClass = {\n in: open && !animation\n };\n\n var _useClassNames = (0, _utils.useClassNames)(classPrefix),\n merge = _useClassNames.merge,\n prefix = _useClassNames.prefix;\n\n var classes = merge(className, prefix(size, {\n full: full\n }));\n var dialogRef = (0, _react.useRef)(null);\n var transitionEndListener = (0, _react.useRef)(); // The style of the Modal body will be updated with the size of the window or container.\n\n var _useBodyStyles = (0, _utils2.useBodyStyles)(dialogRef, {\n overflow: overflow,\n drawer: drawer,\n prefix: prefix\n }),\n bodyStyles = _useBodyStyles[0],\n onChangeBodyStyles = _useBodyStyles[1],\n onDestroyEvents = _useBodyStyles[2];\n\n var dialogId = (0, _useUniqueId.default)('dialog-', idProp);\n var modalContextValue = (0, _react.useMemo)(function () {\n return {\n dialogId: dialogId,\n onModalClose: onClose,\n getBodyStyles: function getBodyStyles() {\n return bodyStyles;\n },\n isDrawer: drawer\n };\n }, [dialogId, onClose, bodyStyles, drawer]);\n\n var _useState = (0, _react.useState)(false),\n shake = _useState[0],\n setShake = _useState[1];\n\n var handleBackdropClick = (0, _react.useCallback)(function () {\n // When the value of `backdrop` is `static`, a jitter animation will be added to the dialog when clicked.\n if (backdrop === 'static') {\n setShake(true);\n\n if (!transitionEndListener.current && dialogRef.current) {\n //fix: https://github.com/rsuite/rsuite/blob/a93d13c14fb20cc58204babe3331d3c3da3fe1fd/src/Modal/styles/index.less#L59\n transitionEndListener.current = (0, _on.default)(dialogRef.current, (0, _getAnimationEnd.default)(), function () {\n setShake(false);\n });\n }\n }\n }, [backdrop]);\n var handleExited = (0, _react.useCallback)(function (node) {\n var _transitionEndListene;\n\n onExited === null || onExited === void 0 ? void 0 : onExited(node);\n onDestroyEvents();\n (_transitionEndListene = transitionEndListener.current) === null || _transitionEndListene === void 0 ? void 0 : _transitionEndListene.off();\n transitionEndListener.current = null;\n }, [onDestroyEvents, onExited]);\n var handleEntered = (0, _react.useCallback)(function (node) {\n onEntered === null || onEntered === void 0 ? void 0 : onEntered(node);\n onChangeBodyStyles();\n }, [onChangeBodyStyles, onEntered]);\n var handleEntering = (0, _react.useCallback)(function (node) {\n onEntering === null || onEntering === void 0 ? void 0 : onEntering(node);\n onChangeBodyStyles(true);\n }, [onChangeBodyStyles, onEntering]);\n (0, _react.useEffect)(function () {\n var _transitionEndListene2;\n\n (_transitionEndListene2 = transitionEndListener.current) === null || _transitionEndListene2 === void 0 ? void 0 : _transitionEndListene2.off();\n }, []);\n return /*#__PURE__*/_react.default.createElement(_ModalContext.ModalContext.Provider, {\n value: modalContextValue,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 149,\n columnNumber: 5\n }\n }, /*#__PURE__*/_react.default.createElement(_Modal.default, (0, _extends2.default)({}, rest, {\n ref: ref,\n backdrop: backdrop,\n open: open,\n onClose: onClose,\n onBackdropClick: handleBackdropClick,\n className: prefix(_templateObject || (_templateObject = (0, _taggedTemplateLiteralLoose2.default)([\"wrapper\"]))),\n onEntered: handleEntered,\n onEntering: handleEntering,\n onExited: handleExited,\n backdropClassName: merge(prefix(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteralLoose2.default)([\"backdrop\"]))), backdropClassName, inClass),\n containerClassName: prefix({\n open: open,\n 'has-backdrop': backdrop\n }),\n transition: animation ? animation : undefined,\n animationProps: animationProps,\n dialogTransitionTimeout: animationTimeout,\n backdropTransitionTimeout: 150,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 150,\n columnNumber: 7\n }\n }), function (transitionProps, transitionRef) {\n var transitionClassName = transitionProps.className,\n transitionRest = (0, _objectWithoutPropertiesLoose2.default)(transitionProps, [\"className\"]);\n return /*#__PURE__*/_react.default.createElement(Dialog, (0, _extends2.default)({\n role: role,\n id: dialogId,\n \"aria-labelledby\": ariaLabelledby !== null && ariaLabelledby !== void 0 ? ariaLabelledby : dialogId + \"-title\",\n \"aria-describedby\": ariaDescribedby\n }, transitionRest, (0, _pick.default)(rest, Object.keys(_ModalDialog.modalDialogPropTypes)), {\n ref: (0, _utils.mergeRefs)(dialogRef, transitionRef),\n classPrefix: classPrefix,\n className: merge(classes, transitionClassName, prefix({\n shake: shake\n })),\n dialogClassName: dialogClassName,\n dialogStyle: dialogStyle,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 171,\n columnNumber: 13\n }\n }), children);\n }));\n});\n\nModal.Body = _ModalBody.default;\nModal.Header = _ModalHeader.default;\nModal.Title = _ModalTitle.default;\nModal.Footer = _ModalFooter.default;\nModal.Dialog = _ModalDialog.default;\nModal.displayName = 'Modal';\nModal.propTypes = (0, _extends2.default)({}, _Modal.modalPropTypes, {\n animation: _propTypes.default.any,\n animationTimeout: _propTypes.default.number,\n classPrefix: _propTypes.default.string,\n dialogClassName: _propTypes.default.string,\n size: _propTypes.default.oneOf(_utils.SIZE),\n dialogStyle: _propTypes.default.object,\n dialogAs: _propTypes.default.elementType,\n full: _propTypes.default.bool,\n overflow: _propTypes.default.bool,\n drawer: _propTypes.default.bool\n});\nvar _default = Modal;\nexports.default = _default;\n\n//# sourceURL=webpack://rsuite/./src/Modal/Modal.tsx?");
3258
+ 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 _taggedTemplateLiteralLoose2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/taggedTemplateLiteralLoose */ \"./node_modules/@babel/runtime/helpers/taggedTemplateLiteralLoose.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 _pick = _interopRequireDefault(__webpack_require__(/*! lodash/pick */ \"./node_modules/lodash/pick.js\"));\n\nvar _on = _interopRequireDefault(__webpack_require__(/*! dom-lib/on */ \"./node_modules/dom-lib/esm/on.js\"));\n\nvar _getAnimationEnd = _interopRequireDefault(__webpack_require__(/*! dom-lib/getAnimationEnd */ \"./node_modules/dom-lib/esm/getAnimationEnd.js\"));\n\nvar _Modal = _interopRequireWildcard(__webpack_require__(/*! ../Overlay/Modal */ \"./src/Overlay/Modal.tsx\"));\n\nvar _Bounce = _interopRequireDefault(__webpack_require__(/*! ../Animation/Bounce */ \"./src/Animation/Bounce.tsx\"));\n\nvar _utils = __webpack_require__(/*! ../utils */ \"./src/utils/index.ts\");\n\nvar _ModalDialog = _interopRequireWildcard(__webpack_require__(/*! ./ModalDialog */ \"./src/Modal/ModalDialog.tsx\"));\n\nvar _ModalContext = __webpack_require__(/*! ./ModalContext */ \"./src/Modal/ModalContext.ts\");\n\nvar _ModalBody = _interopRequireDefault(__webpack_require__(/*! ./ModalBody */ \"./src/Modal/ModalBody.tsx\"));\n\nvar _ModalHeader = _interopRequireDefault(__webpack_require__(/*! ./ModalHeader */ \"./src/Modal/ModalHeader.tsx\"));\n\nvar _ModalTitle = _interopRequireDefault(__webpack_require__(/*! ./ModalTitle */ \"./src/Modal/ModalTitle.tsx\"));\n\nvar _ModalFooter = _interopRequireDefault(__webpack_require__(/*! ./ModalFooter */ \"./src/Modal/ModalFooter.tsx\"));\n\nvar _utils2 = __webpack_require__(/*! ./utils */ \"./src/Modal/utils.ts\");\n\nvar _useUniqueId = _interopRequireDefault(__webpack_require__(/*! ../utils/useUniqueId */ \"./src/utils/useUniqueId.ts\"));\n\nvar _jsxFileName = \"/home/runner/work/rsuite/rsuite/src/Modal/Modal.tsx\",\n _this = void 0,\n _templateObject,\n _templateObject2;\n\nvar Modal = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {\n var className = props.className,\n children = props.children,\n _props$classPrefix = props.classPrefix,\n classPrefix = _props$classPrefix === void 0 ? 'modal' : _props$classPrefix,\n dialogClassName = props.dialogClassName,\n backdropClassName = props.backdropClassName,\n _props$backdrop = props.backdrop,\n backdrop = _props$backdrop === void 0 ? true : _props$backdrop,\n dialogStyle = props.dialogStyle,\n _props$animation = props.animation,\n animation = _props$animation === void 0 ? _Bounce.default : _props$animation,\n open = props.open,\n _props$size = props.size,\n size = _props$size === void 0 ? 'sm' : _props$size,\n full = props.full,\n _props$dialogAs = props.dialogAs,\n Dialog = _props$dialogAs === void 0 ? _ModalDialog.default : _props$dialogAs,\n animationProps = props.animationProps,\n _props$animationTimeo = props.animationTimeout,\n animationTimeout = _props$animationTimeo === void 0 ? 300 : _props$animationTimeo,\n _props$overflow = props.overflow,\n overflow = _props$overflow === void 0 ? true : _props$overflow,\n _props$drawer = props.drawer,\n drawer = _props$drawer === void 0 ? false : _props$drawer,\n onClose = props.onClose,\n onEntered = props.onEntered,\n onEntering = props.onEntering,\n onExited = props.onExited,\n _props$role = props.role,\n role = _props$role === void 0 ? 'dialog' : _props$role,\n idProp = props.id,\n ariaLabelledby = props['aria-labelledby'],\n ariaDescribedby = props['aria-describedby'],\n rest = (0, _objectWithoutPropertiesLoose2.default)(props, [\"className\", \"children\", \"classPrefix\", \"dialogClassName\", \"backdropClassName\", \"backdrop\", \"dialogStyle\", \"animation\", \"open\", \"size\", \"full\", \"dialogAs\", \"animationProps\", \"animationTimeout\", \"overflow\", \"drawer\", \"onClose\", \"onEntered\", \"onEntering\", \"onExited\", \"role\", \"id\", \"aria-labelledby\", \"aria-describedby\"]);\n var inClass = {\n in: open && !animation\n };\n\n var _useClassNames = (0, _utils.useClassNames)(classPrefix),\n merge = _useClassNames.merge,\n prefix = _useClassNames.prefix;\n\n var _useState = (0, _react.useState)(false),\n shake = _useState[0],\n setShake = _useState[1];\n\n var classes = merge(className, prefix(size, {\n full: full\n }));\n var dialogRef = (0, _react.useRef)(null);\n var transitionEndListener = (0, _react.useRef)(); // The style of the Modal body will be updated with the size of the window or container.\n\n var _useBodyStyles = (0, _utils2.useBodyStyles)(dialogRef, {\n overflow: overflow,\n drawer: drawer,\n prefix: prefix\n }),\n bodyStyles = _useBodyStyles[0],\n onChangeBodyStyles = _useBodyStyles[1],\n onDestroyEvents = _useBodyStyles[2];\n\n var dialogId = (0, _useUniqueId.default)('dialog-', idProp);\n var modalContextValue = (0, _react.useMemo)(function () {\n return {\n dialogId: dialogId,\n onModalClose: onClose,\n getBodyStyles: function getBodyStyles() {\n return bodyStyles;\n },\n isDrawer: drawer\n };\n }, [dialogId, onClose, bodyStyles, drawer]);\n var handleExited = (0, _react.useCallback)(function (node) {\n var _transitionEndListene;\n\n onExited === null || onExited === void 0 ? void 0 : onExited(node);\n onDestroyEvents();\n (_transitionEndListene = transitionEndListener.current) === null || _transitionEndListene === void 0 ? void 0 : _transitionEndListene.off();\n transitionEndListener.current = null;\n }, [onDestroyEvents, onExited]);\n var handleEntered = (0, _react.useCallback)(function (node) {\n onEntered === null || onEntered === void 0 ? void 0 : onEntered(node);\n onChangeBodyStyles();\n }, [onChangeBodyStyles, onEntered]);\n var handleEntering = (0, _react.useCallback)(function (node) {\n onEntering === null || onEntering === void 0 ? void 0 : onEntering(node);\n onChangeBodyStyles(true);\n }, [onChangeBodyStyles, onEntering]);\n var handleBackdropClick = (0, _react.useCallback)(function (e) {\n if (e.target !== e.currentTarget) {\n return;\n } // When the value of `backdrop` is `static`, a jitter animation will be added to the dialog when clicked.\n\n\n if (backdrop === 'static') {\n setShake(true);\n\n if (!transitionEndListener.current && dialogRef.current) {\n //fix: https://github.com/rsuite/rsuite/blob/a93d13c14fb20cc58204babe3331d3c3da3fe1fd/src/Modal/styles/index.less#L59\n transitionEndListener.current = (0, _on.default)(dialogRef.current, (0, _getAnimationEnd.default)(), function () {\n setShake(false);\n });\n }\n\n return;\n }\n\n onClose === null || onClose === void 0 ? void 0 : onClose(e);\n }, [backdrop, onClose]);\n var handleClick = (0, _react.useCallback)(function (e) {\n if (dialogRef.current && e.target !== dialogRef.current) {\n handleBackdropClick(e);\n }\n }, [handleBackdropClick]);\n (0, _utils.useWillUnmount)(function () {\n var _transitionEndListene2;\n\n (_transitionEndListene2 = transitionEndListener.current) === null || _transitionEndListene2 === void 0 ? void 0 : _transitionEndListene2.off();\n });\n return /*#__PURE__*/_react.default.createElement(_ModalContext.ModalContext.Provider, {\n value: modalContextValue,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 177,\n columnNumber: 5\n }\n }, /*#__PURE__*/_react.default.createElement(_Modal.default, (0, _extends2.default)({}, rest, {\n ref: ref,\n backdrop: backdrop,\n open: open,\n onClose: onClose,\n className: prefix(_templateObject || (_templateObject = (0, _taggedTemplateLiteralLoose2.default)([\"wrapper\"]))),\n onEntered: handleEntered,\n onEntering: handleEntering,\n onExited: handleExited,\n backdropClassName: merge(prefix(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteralLoose2.default)([\"backdrop\"]))), backdropClassName, inClass),\n containerClassName: prefix({\n open: open,\n 'has-backdrop': backdrop\n }),\n transition: animation ? animation : undefined,\n animationProps: animationProps,\n dialogTransitionTimeout: animationTimeout,\n backdropTransitionTimeout: 150,\n onClick: backdrop ? handleClick : undefined,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 178,\n columnNumber: 7\n }\n }), function (transitionProps, transitionRef) {\n var transitionClassName = transitionProps.className,\n transitionRest = (0, _objectWithoutPropertiesLoose2.default)(transitionProps, [\"className\"]);\n return /*#__PURE__*/_react.default.createElement(Dialog, (0, _extends2.default)({\n role: role,\n id: dialogId,\n \"aria-labelledby\": ariaLabelledby !== null && ariaLabelledby !== void 0 ? ariaLabelledby : dialogId + \"-title\",\n \"aria-describedby\": ariaDescribedby\n }, transitionRest, (0, _pick.default)(rest, Object.keys(_ModalDialog.modalDialogPropTypes)), {\n ref: (0, _utils.mergeRefs)(dialogRef, transitionRef),\n classPrefix: classPrefix,\n className: merge(classes, transitionClassName, prefix({\n shake: shake\n })),\n dialogClassName: dialogClassName,\n dialogStyle: dialogStyle,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 199,\n columnNumber: 13\n }\n }), children);\n }));\n});\n\nModal.Body = _ModalBody.default;\nModal.Header = _ModalHeader.default;\nModal.Title = _ModalTitle.default;\nModal.Footer = _ModalFooter.default;\nModal.Dialog = _ModalDialog.default;\nModal.displayName = 'Modal';\nModal.propTypes = (0, _extends2.default)({}, _Modal.modalPropTypes, {\n animation: _propTypes.default.any,\n animationTimeout: _propTypes.default.number,\n classPrefix: _propTypes.default.string,\n dialogClassName: _propTypes.default.string,\n size: _propTypes.default.oneOf(_utils.SIZE),\n dialogStyle: _propTypes.default.object,\n dialogAs: _propTypes.default.elementType,\n full: _propTypes.default.bool,\n overflow: _propTypes.default.bool,\n drawer: _propTypes.default.bool\n});\nvar _default = Modal;\nexports.default = _default;\n\n//# sourceURL=webpack://rsuite/./src/Modal/Modal.tsx?");
3248
3259
 
3249
3260
  /***/ }),
3250
3261
 
@@ -3332,7 +3343,7 @@ eval("\n\nvar _interopRequireDefault = __webpack_require__(/*! @babel/runtime/he
3332
3343
  /***/ (function(__unused_webpack_module, exports, __webpack_require__) {
3333
3344
 
3334
3345
  "use strict";
3335
- eval("\n\nvar _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ \"./node_modules/@babel/runtime/helpers/interopRequireDefault.js\");\n\nexports.__esModule = true;\nexports.useBodyStyles = void 0;\n\nvar _react = __webpack_require__(/*! react */ \"react\");\n\nvar _getHeight = _interopRequireDefault(__webpack_require__(/*! dom-lib/getHeight */ \"./node_modules/dom-lib/esm/getHeight.js\"));\n\nvar _on = _interopRequireDefault(__webpack_require__(/*! dom-lib/on */ \"./node_modules/dom-lib/esm/on.js\"));\n\nvar _resizeObserver = __webpack_require__(/*! @juggle/resize-observer */ \"./node_modules/@juggle/resize-observer/lib/exports/resize-observer.js\");\n\nvar useBodyStyles = function useBodyStyles(ref, options) {\n var _useState = (0, _react.useState)({}),\n bodyStyles = _useState[0],\n setBodyStyles = _useState[1];\n\n var overflow = options.overflow,\n drawer = options.drawer,\n prefix = options.prefix;\n var windowResizeListener = (0, _react.useRef)();\n var contentElement = (0, _react.useRef)(null);\n var contentElementResizeObserver = (0, _react.useRef)();\n var updateBodyStyles = (0, _react.useCallback)(function (_event, entering) {\n var dialog = ref.current;\n var scrollHeight = dialog ? dialog.scrollHeight : 0;\n var styles = {\n overflow: 'auto'\n };\n\n if (dialog) {\n // default margin\n var headerHeight = 46;\n var footerHeight = 46;\n var headerDOM = dialog.querySelector(\".\" + prefix('header'));\n var footerDOM = dialog.querySelector(\".\" + prefix('footer'));\n headerHeight = headerDOM ? (0, _getHeight.default)(headerDOM) + headerHeight : headerHeight;\n footerHeight = footerDOM ? (0, _getHeight.default)(footerDOM) + footerHeight : footerHeight;\n /**\n * Header height + Footer height + Dialog margin\n */\n\n var excludeHeight = headerHeight + footerHeight + (entering ? 70 : 60);\n var bodyHeight = (0, _getHeight.default)(window) - excludeHeight;\n var maxHeight = scrollHeight >= bodyHeight ? bodyHeight : scrollHeight;\n styles.maxHeight = maxHeight;\n }\n\n setBodyStyles(styles);\n }, [prefix, ref]);\n var onDestroyEvents = (0, _react.useCallback)(function () {\n var _windowResizeListener, _windowResizeListener2, _contentElementResize;\n\n (_windowResizeListener = windowResizeListener.current) === null || _windowResizeListener === void 0 ? void 0 : (_windowResizeListener2 = _windowResizeListener.off) === null || _windowResizeListener2 === void 0 ? void 0 : _windowResizeListener2.call(_windowResizeListener);\n (_contentElementResize = contentElementResizeObserver.current) === null || _contentElementResize === void 0 ? void 0 : _contentElementResize.disconnect();\n }, []);\n var onChangeBodyStyles = (0, _react.useCallback)(function (entering) {\n if (overflow && !drawer) {\n updateBodyStyles(undefined, entering);\n contentElement.current = ref.current.querySelector(\".\" + prefix('content'));\n windowResizeListener.current = (0, _on.default)(window, 'resize', updateBodyStyles);\n contentElementResizeObserver.current = new _resizeObserver.ResizeObserver(function () {\n return updateBodyStyles();\n });\n contentElementResizeObserver.current.observe(contentElement.current);\n }\n }, [drawer, overflow, prefix, ref, updateBodyStyles]);\n (0, _react.useEffect)(function () {\n onDestroyEvents();\n }, [onDestroyEvents]);\n return [overflow ? bodyStyles : {}, onChangeBodyStyles, onDestroyEvents];\n};\n\nexports.useBodyStyles = useBodyStyles;\n\n//# sourceURL=webpack://rsuite/./src/Modal/utils.ts?");
3346
+ eval("\n\nvar _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ \"./node_modules/@babel/runtime/helpers/interopRequireDefault.js\");\n\nexports.__esModule = true;\nexports.useBodyStyles = void 0;\n\nvar _react = __webpack_require__(/*! react */ \"react\");\n\nvar _getHeight = _interopRequireDefault(__webpack_require__(/*! dom-lib/getHeight */ \"./node_modules/dom-lib/esm/getHeight.js\"));\n\nvar _on = _interopRequireDefault(__webpack_require__(/*! dom-lib/on */ \"./node_modules/dom-lib/esm/on.js\"));\n\nvar _resizeObserver = __webpack_require__(/*! @juggle/resize-observer */ \"./node_modules/@juggle/resize-observer/lib/exports/resize-observer.js\");\n\nvar useBodyStyles = function useBodyStyles(ref, options) {\n var _useState = (0, _react.useState)({}),\n bodyStyles = _useState[0],\n setBodyStyles = _useState[1];\n\n var overflow = options.overflow,\n drawer = options.drawer,\n prefix = options.prefix;\n var windowResizeListener = (0, _react.useRef)();\n var contentElement = (0, _react.useRef)(null);\n var contentElementResizeObserver = (0, _react.useRef)();\n var updateBodyStyles = (0, _react.useCallback)(function (_event, entering) {\n var dialog = ref.current;\n var scrollHeight = dialog ? dialog.scrollHeight : 0;\n var styles = {\n overflow: 'auto'\n };\n\n if (dialog) {\n // default margin\n var headerHeight = 46;\n var footerHeight = 46;\n var headerDOM = dialog.querySelector(\".\" + prefix('header'));\n var footerDOM = dialog.querySelector(\".\" + prefix('footer'));\n headerHeight = headerDOM ? (0, _getHeight.default)(headerDOM) + headerHeight : headerHeight;\n footerHeight = footerDOM ? (0, _getHeight.default)(footerDOM) + footerHeight : footerHeight;\n /**\n * Header height + Footer height + Dialog margin\n */\n\n var excludeHeight = headerHeight + footerHeight + (entering ? 70 : 60);\n var bodyHeight = (0, _getHeight.default)(window) - excludeHeight;\n var maxHeight = scrollHeight >= bodyHeight ? bodyHeight : scrollHeight;\n styles.maxHeight = maxHeight;\n }\n\n setBodyStyles(styles);\n }, [prefix, ref]);\n var onDestroyEvents = (0, _react.useCallback)(function () {\n var _windowResizeListener, _windowResizeListener2, _contentElementResize;\n\n (_windowResizeListener = windowResizeListener.current) === null || _windowResizeListener === void 0 ? void 0 : (_windowResizeListener2 = _windowResizeListener.off) === null || _windowResizeListener2 === void 0 ? void 0 : _windowResizeListener2.call(_windowResizeListener);\n (_contentElementResize = contentElementResizeObserver.current) === null || _contentElementResize === void 0 ? void 0 : _contentElementResize.disconnect();\n windowResizeListener.current = null;\n contentElementResizeObserver.current = null;\n }, []);\n var onChangeBodyStyles = (0, _react.useCallback)(function (entering) {\n if (overflow && !drawer && ref.current) {\n updateBodyStyles(undefined, entering);\n contentElement.current = ref.current.querySelector(\".\" + prefix('content'));\n\n if (!windowResizeListener.current) {\n windowResizeListener.current = (0, _on.default)(window, 'resize', updateBodyStyles);\n }\n\n if (contentElement.current && !contentElementResizeObserver.current) {\n contentElementResizeObserver.current = new _resizeObserver.ResizeObserver(function () {\n return updateBodyStyles();\n });\n contentElementResizeObserver.current.observe(contentElement.current);\n }\n }\n }, [drawer, overflow, prefix, ref, updateBodyStyles]);\n (0, _react.useEffect)(function () {\n return onDestroyEvents; // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n return [overflow ? bodyStyles : {}, onChangeBodyStyles, onDestroyEvents];\n};\n\nexports.useBodyStyles = useBodyStyles;\n\n//# sourceURL=webpack://rsuite/./src/Modal/utils.ts?");
3336
3347
 
3337
3348
  /***/ }),
3338
3349
 
@@ -3354,7 +3365,7 @@ eval("\n\nvar _interopRequireDefault = __webpack_require__(/*! @babel/runtime/he
3354
3365
  /***/ (function(__unused_webpack_module, exports, __webpack_require__) {
3355
3366
 
3356
3367
  "use strict";
3357
- 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 _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 _isFunction = _interopRequireDefault(__webpack_require__(/*! lodash/isFunction */ \"./node_modules/lodash/isFunction.js\"));\n\nvar _isNil = _interopRequireDefault(__webpack_require__(/*! lodash/isNil */ \"./node_modules/lodash/isNil.js\"));\n\nvar _DropdownMenu = _interopRequireDefault(__webpack_require__(/*! ./DropdownMenu */ \"./src/MultiCascader/DropdownMenu.tsx\"));\n\nvar _Checkbox = _interopRequireDefault(__webpack_require__(/*! ../Checkbox */ \"./src/Checkbox/index.tsx\"));\n\nvar _utils = __webpack_require__(/*! ./utils */ \"./src/MultiCascader/utils.ts\");\n\nvar _treeUtils = __webpack_require__(/*! ../utils/treeUtils */ \"./src/utils/treeUtils.ts\");\n\nvar _utils2 = __webpack_require__(/*! ../Cascader/utils */ \"./src/Cascader/utils.ts\");\n\nvar _utils3 = __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/MultiCascader/MultiCascader.tsx\",\n _this = void 0;\n\nvar emptyArray = [];\n\nvar MultiCascader = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {\n var _selectedPaths;\n\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 defaultValue = props.defaultValue,\n valueProp = props.value,\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 _props$childrenKey = props.childrenKey,\n childrenKey = _props$childrenKey === void 0 ? 'children' : _props$childrenKey,\n disabled = props.disabled,\n _props$disabledItemVa = props.disabledItemValues,\n disabledItemValues = _props$disabledItemVa === void 0 ? emptyArray : _props$disabledItemVa,\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 _props$countable = props.countable,\n countable = _props$countable === void 0 ? true : _props$countable,\n _props$cascade = props.cascade,\n cascade = _props$cascade === void 0 ? true : _props$cascade,\n inline = props.inline,\n placeholder = props.placeholder,\n _props$placement = props.placement,\n placement = _props$placement === void 0 ? 'bottomStart' : _props$placement,\n _props$appearance = props.appearance,\n appearance = _props$appearance === void 0 ? 'default' : _props$appearance,\n menuWidth = props.menuWidth,\n menuHeight = props.menuHeight,\n menuClassName = props.menuClassName,\n menuStyle = props.menuStyle,\n _props$searchable = props.searchable,\n searchable = _props$searchable === void 0 ? true : _props$searchable,\n _props$uncheckableIte = props.uncheckableItemValues,\n uncheckableItemValues = _props$uncheckableIte === void 0 ? emptyArray : _props$uncheckableIte,\n id = props.id,\n getChildren = props.getChildren,\n renderValue = props.renderValue,\n renderMenu = props.renderMenu,\n renderMenuItem = props.renderMenuItem,\n renderExtraFooter = props.renderExtraFooter,\n onEnter = props.onEnter,\n onExit = props.onExit,\n onExited = props.onExited,\n onClean = props.onClean,\n onSearch = props.onSearch,\n onSelect = props.onSelect,\n onChange = props.onChange,\n onOpen = props.onOpen,\n onClose = props.onClose,\n onCheck = props.onCheck,\n rest = (0, _objectWithoutPropertiesLoose2.default)(props, [\"as\", \"data\", \"classPrefix\", \"defaultValue\", \"value\", \"valueKey\", \"labelKey\", \"childrenKey\", \"disabled\", \"disabledItemValues\", \"cleanable\", \"locale\", \"toggleAs\", \"style\", \"countable\", \"cascade\", \"inline\", \"placeholder\", \"placement\", \"appearance\", \"menuWidth\", \"menuHeight\", \"menuClassName\", \"menuStyle\", \"searchable\", \"uncheckableItemValues\", \"id\", \"getChildren\", \"renderValue\", \"renderMenu\", \"renderMenuItem\", \"renderExtraFooter\", \"onEnter\", \"onExit\", \"onExited\", \"onClean\", \"onSearch\", \"onSelect\", \"onChange\", \"onOpen\", \"onClose\", \"onCheck\"]);\n var itemKeys = {\n childrenKey: childrenKey,\n labelKey: labelKey,\n valueKey: valueKey\n };\n\n var _useState = (0, _react.useState)(false),\n active = _useState[0],\n setActive = _useState[1];\n\n var _useFlattenData = (0, _utils.useFlattenData)(data, itemKeys),\n flattenData = _useFlattenData.flattenData,\n addFlattenData = _useFlattenData.addFlattenData;\n\n var _useCascadeValue = (0, _utils.useCascadeValue)((0, _extends3.default)({}, itemKeys, {\n uncheckableItemValues: uncheckableItemValues,\n cascade: cascade,\n value: valueProp || defaultValue\n }), flattenData),\n value = _useCascadeValue.value,\n setValue = _useCascadeValue.setValue,\n splitValue = _useCascadeValue.splitValue; // The columns displayed in the cascading panel.\n\n\n var _useColumnData = (0, _utils.useColumnData)(flattenData),\n columnData = _useColumnData.columnData,\n setColumnData = _useColumnData.setColumnData,\n addColumn = _useColumnData.addColumn,\n enforceUpdateColumnData = _useColumnData.enforceUpdateColumnData;\n\n (0, _utils3.useUpdateEffect)(function () {\n enforceUpdateColumnData(data);\n }, [data]); // The path after cascading data selection.\n\n var _useState2 = (0, _react.useState)(),\n selectedPaths = _useState2[0],\n setSelectedPaths = _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 (0, _Picker.usePublicMethods)(ref, {\n triggerRef: triggerRef,\n overlayRef: overlayRef,\n targetRef: targetRef\n });\n\n var _useCustom = (0, _utils3.useCustom)('Picker', overrideLocale),\n locale = _useCustom.locale,\n rtl = _useCustom.rtl;\n\n var selectedItems = flattenData.filter(function (item) {\n return value.some(function (v) {\n return v === item[valueKey];\n });\n }) || []; // Used to hover the focuse item when trigger `onKeydown`\n\n var _useFocusItemValue = (0, _Picker.useFocusItemValue)(selectedPaths === null || selectedPaths === void 0 ? void 0 : (_selectedPaths = selectedPaths[selectedPaths.length - 1]) === null || _selectedPaths === void 0 ? void 0 : _selectedPaths[valueKey], {\n rtl: rtl,\n data: flattenData,\n valueKey: valueKey,\n defaultLayer: selectedPaths !== null && selectedPaths !== void 0 && selectedPaths.length ? selectedPaths.length - 1 : 0,\n target: function target() {\n return overlayRef.current;\n },\n callback: (0, _react.useCallback)(function (value) {\n var _getColumnsAndPaths = (0, _utils2.getColumnsAndPaths)(data, value, {\n valueKey: valueKey,\n childrenKey: childrenKey,\n isAttachChildren: true\n }),\n columns = _getColumnsAndPaths.columns,\n paths = _getColumnsAndPaths.paths;\n\n setColumnData(columns);\n setSelectedPaths(paths);\n }, [childrenKey, data, setColumnData, valueKey])\n }),\n focusItemValue = _useFocusItemValue.focusItemValue,\n setLayer = _useFocusItemValue.setLayer,\n setKeys = _useFocusItemValue.setKeys,\n onFocusItem = _useFocusItemValue.onKeyDown;\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 = selectedItems.length > 0 || Number(valueProp === null || valueProp === void 0 ? void 0 : valueProp.length) > 0 && (0, _isFunction.default)(renderValue);\n\n var _useClassNames = (0, _utils3.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 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 setActive(false);\n setSearchKeyword('');\n }, []);\n var handleSelect = (0, _react.useCallback)(function (node, cascadePaths, event) {\n var _node$childrenKey, _node$childrenKey2, _triggerRef$current, _triggerRef$current$u;\n\n setSelectedPaths(cascadePaths);\n onSelect === null || onSelect === void 0 ? void 0 : onSelect(node, cascadePaths, event); // 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 addFlattenData(data, node);\n addColumn(data, cascadePaths.length);\n });\n } else {\n node.loading = false;\n node[childrenKey] = children;\n addFlattenData(children, node);\n addColumn(children, cascadePaths.length);\n }\n } else if ((_node$childrenKey2 = node[childrenKey]) !== null && _node$childrenKey2 !== void 0 && _node$childrenKey2.length) {\n addColumn(node[childrenKey], cascadePaths.length);\n }\n\n (_triggerRef$current = triggerRef.current) === null || _triggerRef$current === void 0 ? void 0 : (_triggerRef$current$u = _triggerRef$current.updatePosition) === null || _triggerRef$current$u === void 0 ? void 0 : _triggerRef$current$u.call(_triggerRef$current);\n }, [onSelect, getChildren, childrenKey, addColumn, addFlattenData]);\n var handleCheck = (0, _react.useCallback)(function (node, event, checked) {\n var nodeValue = node[valueKey];\n var nextValue = [];\n\n if (cascade) {\n nextValue = splitValue(node, checked, value).value;\n } else {\n nextValue = [].concat(value);\n\n if (checked) {\n nextValue.push(nodeValue);\n } else {\n nextValue = nextValue.filter(function (n) {\n return n !== nodeValue;\n });\n }\n }\n\n setValue(nextValue);\n onChange === null || onChange === void 0 ? void 0 : onChange(nextValue, event);\n onCheck === null || onCheck === void 0 ? void 0 : onCheck(nextValue, node, checked, event);\n }, [cascade, onChange, onCheck, setValue, splitValue, value, valueKey]);\n var handleClean = (0, _react.useCallback)(function (event) {\n if (disabled) {\n return;\n }\n\n setSelectedPaths([]);\n setValue([]);\n setColumnData([data]);\n onChange === null || onChange === void 0 ? void 0 : onChange([], event);\n }, [data, disabled, onChange, setColumnData, setValue]);\n var handleMenuPressEnter = (0, _react.useCallback)(function (event) {\n var _overlayRef$current;\n\n var focusItem = (0, _treeUtils.findNodeOfTree)(data, function (item) {\n return item[valueKey] === focusItemValue;\n });\n var checkbox = (_overlayRef$current = overlayRef.current) === null || _overlayRef$current === void 0 ? void 0 : _overlayRef$current.querySelector(\"[data-key=\\\"\" + focusItemValue + \"\\\"] [type=\\\"checkbox\\\"]\");\n\n if (checkbox) {\n handleCheck(focusItem, event, (checkbox === null || checkbox === void 0 ? void 0 : checkbox.getAttribute('aria-checked')) !== 'true');\n }\n }, [data, focusItemValue, handleCheck, 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 var handleSearch = (0, _react.useCallback)(function (value, event) {\n setSearchKeyword(value);\n onSearch === null || onSearch === void 0 ? void 0 : onSearch(value, event);\n\n if (value) {\n setLayer(0);\n } else if (selectedPaths !== null && selectedPaths !== void 0 && selectedPaths.length) {\n setLayer(selectedPaths.length - 1);\n }\n\n setKeys([]);\n }, [onSearch, selectedPaths, setKeys, setLayer]);\n var getSearchResult = (0, _react.useCallback)(function () {\n var items = [];\n var result = flattenData.filter(function (item) {\n if (uncheckableItemValues.some(function (value) {\n return item[valueKey] === value;\n })) {\n return false;\n }\n\n if (item[labelKey].match(new RegExp((0, _utils3.getSafeRegExpString)(searchKeyword), 'i'))) {\n return true;\n }\n\n return false;\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 }, [flattenData, labelKey, searchKeyword, uncheckableItemValues, valueKey]);\n\n var renderSearchRow = function renderSearchRow(item, key) {\n var _extends2;\n\n var nodes = (0, _treeUtils.getNodeParents)(item);\n var regx = new RegExp((0, _utils3.getSafeRegExpString)(searchKeyword), 'ig');\n var labelElements = [];\n var a = item[labelKey].split(regx);\n var b = item[labelKey].match(regx);\n\n for (var i = 0; i < a.length; i++) {\n labelElements.push(a[i]);\n\n if (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: 386,\n columnNumber: 13\n }\n }, b[i]));\n }\n }\n\n nodes.push((0, _extends3.default)({}, item, (_extends2 = {}, _extends2[labelKey] = labelElements, _extends2)));\n var active = value.some(function (value) {\n if (cascade) {\n return nodes.some(function (node) {\n return node[valueKey] === value;\n });\n }\n\n return item[valueKey] === value;\n });\n var disabled = disabledItemValues.some(function (value) {\n return nodes.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 return /*#__PURE__*/_react.default.createElement(\"div\", {\n key: key,\n className: itemClasses,\n \"aria-disabled\": disabled,\n \"data-key\": item[valueKey],\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 411,\n columnNumber: 9\n }\n }, /*#__PURE__*/_react.default.createElement(_Checkbox.default, {\n disabled: disabled,\n checked: active,\n value: item[valueKey],\n indeterminate: cascade && !active && (0, _utils.isSomeChildChecked)(item, value, {\n valueKey: valueKey,\n childrenKey: childrenKey\n }),\n onChange: function onChange(_value, checked, event) {\n handleCheck(item, event, checked);\n },\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 412,\n columnNumber: 11\n }\n }, /*#__PURE__*/_react.default.createElement(\"span\", {\n className: prefix('cascader-cols'),\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 423,\n columnNumber: 13\n }\n }, nodes.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: 425,\n columnNumber: 17\n }\n }, node[labelKey]);\n }))));\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: 442,\n columnNumber: 9\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: 446,\n columnNumber: 13\n }\n }, locale.noResultsText));\n };\n\n var renderDropdownMenu = function renderDropdownMenu(positionProps, speakerRef) {\n var _ref = positionProps || {},\n left = _ref.left,\n top = _ref.top,\n className = _ref.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', 'multi-cascader-menu', {\n inline: inline\n }));\n return /*#__PURE__*/_react.default.createElement(_Picker.PickerOverlay, {\n ref: (0, _utils3.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: 463,\n columnNumber: 9\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: 471,\n columnNumber: 13\n }\n }), renderSearchResultPanel(), searchKeyword === '' && /*#__PURE__*/_react.default.createElement(_DropdownMenu.default, {\n id: id ? id + \"-listbox\" : undefined,\n cascade: cascade,\n menuWidth: menuWidth,\n menuHeight: menuHeight,\n uncheckableItemValues: uncheckableItemValues,\n disabledItemValues: disabledItemValues,\n valueKey: valueKey,\n labelKey: labelKey,\n childrenKey: childrenKey,\n classPrefix: 'picker-cascader-menu',\n cascadeData: columnData,\n cascadePaths: selectedPaths,\n value: value,\n onSelect: handleSelect,\n onCheck: handleCheck,\n renderMenu: renderMenu,\n renderMenuItem: renderMenuItem,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 482,\n columnNumber: 13\n }\n }), renderExtraFooter === null || renderExtraFooter === void 0 ? void 0 : renderExtraFooter());\n };\n\n var selectedElement = placeholder;\n\n if (selectedItems.length > 0) {\n selectedElement = /*#__PURE__*/_react.default.createElement(_Picker.SelectedElement, {\n selectedItems: selectedItems,\n countable: countable,\n valueKey: valueKey,\n labelKey: labelKey,\n childrenKey: childrenKey,\n prefix: prefix,\n cascade: cascade,\n locale: locale,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 512,\n columnNumber: 9\n }\n });\n }\n\n if (hasValue && (0, _isFunction.default)(renderValue)) {\n selectedElement = renderValue(value.length ? value : valueProp !== null && valueProp !== void 0 ? valueProp : [], selectedItems, 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];\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 onEnter: (0, _utils3.createChainedFunction)(handleEntered, onEnter),\n onExited: (0, _utils3.createChainedFunction)(handleExited, onExited),\n onExit: (0, _utils3.createChainedFunction)(onClose, onExit),\n speaker: renderDropdownMenu,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 551,\n columnNumber: 7\n }\n }, /*#__PURE__*/_react.default.createElement(Component, {\n className: classes,\n style: style,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 560,\n columnNumber: 9\n }\n }, /*#__PURE__*/_react.default.createElement(_Picker.PickerToggle, (0, _extends3.default)({}, (0, _omit.default)(rest, [].concat(_Picker.omitTriggerPropKeys, usedClassNamePropKeys)), {\n id: id,\n as: toggleAs,\n appearance: appearance,\n disabled: disabled,\n ref: targetRef,\n onClean: (0, _utils3.createChainedFunction)(handleClean, onClean),\n onKeyDown: onPickerKeyDown,\n cleanable: cleanable && !disabled,\n hasValue: hasValue,\n active: active,\n placement: placement,\n inputValue: value,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 561,\n columnNumber: 11\n }\n }), selectedElement || locale.placeholder)));\n});\n\nMultiCascader.displayName = 'MultiCascader';\nMultiCascader.propTypes = (0, _extends3.default)({}, _Picker.listPickerPropTypes, {\n value: _propTypes.default.array,\n disabledItemValues: _propTypes.default.array,\n locale: _propTypes.default.any,\n appearance: _propTypes.default.oneOf(['default', 'subtle']),\n cascade: _propTypes.default.bool,\n inline: _propTypes.default.bool,\n countable: _propTypes.default.bool,\n menuWidth: _propTypes.default.number,\n menuHeight: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.string]),\n uncheckableItemValues: _propTypes.default.array,\n searchable: _propTypes.default.bool,\n renderMenuItem: _propTypes.default.func,\n renderMenu: _propTypes.default.func,\n onSearch: _propTypes.default.func,\n onSelect: _propTypes.default.func,\n onCheck: _propTypes.default.func\n});\nvar _default = MultiCascader;\nexports.default = _default;\n\n//# sourceURL=webpack://rsuite/./src/MultiCascader/MultiCascader.tsx?");
3368
+ 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 _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 _isFunction = _interopRequireDefault(__webpack_require__(/*! lodash/isFunction */ \"./node_modules/lodash/isFunction.js\"));\n\nvar _isNil = _interopRequireDefault(__webpack_require__(/*! lodash/isNil */ \"./node_modules/lodash/isNil.js\"));\n\nvar _DropdownMenu = _interopRequireDefault(__webpack_require__(/*! ./DropdownMenu */ \"./src/MultiCascader/DropdownMenu.tsx\"));\n\nvar _Checkbox = _interopRequireDefault(__webpack_require__(/*! ../Checkbox */ \"./src/Checkbox/index.tsx\"));\n\nvar _utils = __webpack_require__(/*! ./utils */ \"./src/MultiCascader/utils.ts\");\n\nvar _treeUtils = __webpack_require__(/*! ../utils/treeUtils */ \"./src/utils/treeUtils.ts\");\n\nvar _utils2 = __webpack_require__(/*! ../Cascader/utils */ \"./src/Cascader/utils.ts\");\n\nvar _utils3 = __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/MultiCascader/MultiCascader.tsx\",\n _this = void 0;\n\nvar emptyArray = [];\n\nvar MultiCascader = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {\n var _selectedPaths;\n\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 defaultValue = props.defaultValue,\n valueProp = props.value,\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 _props$childrenKey = props.childrenKey,\n childrenKey = _props$childrenKey === void 0 ? 'children' : _props$childrenKey,\n disabled = props.disabled,\n _props$disabledItemVa = props.disabledItemValues,\n disabledItemValues = _props$disabledItemVa === void 0 ? emptyArray : _props$disabledItemVa,\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 _props$countable = props.countable,\n countable = _props$countable === void 0 ? true : _props$countable,\n _props$cascade = props.cascade,\n cascade = _props$cascade === void 0 ? true : _props$cascade,\n inline = props.inline,\n placeholder = props.placeholder,\n _props$placement = props.placement,\n placement = _props$placement === void 0 ? 'bottomStart' : _props$placement,\n _props$appearance = props.appearance,\n appearance = _props$appearance === void 0 ? 'default' : _props$appearance,\n menuWidth = props.menuWidth,\n menuHeight = props.menuHeight,\n menuClassName = props.menuClassName,\n menuStyle = props.menuStyle,\n _props$searchable = props.searchable,\n searchable = _props$searchable === void 0 ? true : _props$searchable,\n _props$uncheckableIte = props.uncheckableItemValues,\n uncheckableItemValues = _props$uncheckableIte === void 0 ? emptyArray : _props$uncheckableIte,\n id = props.id,\n getChildren = props.getChildren,\n renderValue = props.renderValue,\n renderMenu = props.renderMenu,\n renderMenuItem = props.renderMenuItem,\n renderExtraFooter = props.renderExtraFooter,\n onEnter = props.onEnter,\n onExit = props.onExit,\n onExited = props.onExited,\n onClean = props.onClean,\n onSearch = props.onSearch,\n onSelect = props.onSelect,\n onChange = props.onChange,\n onOpen = props.onOpen,\n onClose = props.onClose,\n onCheck = props.onCheck,\n rest = (0, _objectWithoutPropertiesLoose2.default)(props, [\"as\", \"data\", \"classPrefix\", \"defaultValue\", \"value\", \"valueKey\", \"labelKey\", \"childrenKey\", \"disabled\", \"disabledItemValues\", \"cleanable\", \"locale\", \"toggleAs\", \"style\", \"countable\", \"cascade\", \"inline\", \"placeholder\", \"placement\", \"appearance\", \"menuWidth\", \"menuHeight\", \"menuClassName\", \"menuStyle\", \"searchable\", \"uncheckableItemValues\", \"id\", \"getChildren\", \"renderValue\", \"renderMenu\", \"renderMenuItem\", \"renderExtraFooter\", \"onEnter\", \"onExit\", \"onExited\", \"onClean\", \"onSearch\", \"onSelect\", \"onChange\", \"onOpen\", \"onClose\", \"onCheck\"]);\n var itemKeys = {\n childrenKey: childrenKey,\n labelKey: labelKey,\n valueKey: valueKey\n };\n\n var _useState = (0, _react.useState)(false),\n active = _useState[0],\n setActive = _useState[1];\n\n var _useFlattenData = (0, _utils.useFlattenData)(data, itemKeys),\n flattenData = _useFlattenData.flattenData,\n addFlattenData = _useFlattenData.addFlattenData;\n\n var _useCascadeValue = (0, _utils.useCascadeValue)((0, _extends3.default)({}, itemKeys, {\n uncheckableItemValues: uncheckableItemValues,\n cascade: cascade,\n value: valueProp || defaultValue\n }), flattenData),\n value = _useCascadeValue.value,\n setValue = _useCascadeValue.setValue,\n splitValue = _useCascadeValue.splitValue; // The columns displayed in the cascading panel.\n\n\n var _useColumnData = (0, _utils.useColumnData)(flattenData),\n columnData = _useColumnData.columnData,\n setColumnData = _useColumnData.setColumnData,\n addColumn = _useColumnData.addColumn,\n enforceUpdateColumnData = _useColumnData.enforceUpdateColumnData;\n\n (0, _utils3.useUpdateEffect)(function () {\n enforceUpdateColumnData(data);\n }, [data]); // The path after cascading data selection.\n\n var _useState2 = (0, _react.useState)(),\n selectedPaths = _useState2[0],\n setSelectedPaths = _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 (0, _Picker.usePublicMethods)(ref, {\n triggerRef: triggerRef,\n overlayRef: overlayRef,\n targetRef: targetRef\n });\n\n var _useCustom = (0, _utils3.useCustom)('Picker', overrideLocale),\n locale = _useCustom.locale,\n rtl = _useCustom.rtl;\n\n var selectedItems = flattenData.filter(function (item) {\n return value.some(function (v) {\n return v === item[valueKey];\n });\n }) || []; // Used to hover the focuse item when trigger `onKeydown`\n\n var _useFocusItemValue = (0, _Picker.useFocusItemValue)(selectedPaths === null || selectedPaths === void 0 ? void 0 : (_selectedPaths = selectedPaths[selectedPaths.length - 1]) === null || _selectedPaths === void 0 ? void 0 : _selectedPaths[valueKey], {\n rtl: rtl,\n data: flattenData,\n valueKey: valueKey,\n defaultLayer: selectedPaths !== null && selectedPaths !== void 0 && selectedPaths.length ? selectedPaths.length - 1 : 0,\n target: function target() {\n return overlayRef.current;\n },\n callback: (0, _react.useCallback)(function (value) {\n var _getColumnsAndPaths = (0, _utils2.getColumnsAndPaths)(data, value, {\n valueKey: valueKey,\n childrenKey: childrenKey,\n isAttachChildren: true\n }),\n columns = _getColumnsAndPaths.columns,\n paths = _getColumnsAndPaths.paths;\n\n setColumnData(columns);\n setSelectedPaths(paths);\n }, [childrenKey, data, setColumnData, valueKey])\n }),\n focusItemValue = _useFocusItemValue.focusItemValue,\n setLayer = _useFocusItemValue.setLayer,\n setKeys = _useFocusItemValue.setKeys,\n onFocusItem = _useFocusItemValue.onKeyDown;\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 = selectedItems.length > 0 || Number(valueProp === null || valueProp === void 0 ? void 0 : valueProp.length) > 0 && (0, _isFunction.default)(renderValue);\n\n var _useClassNames = (0, _utils3.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 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 setActive(false);\n setSearchKeyword('');\n }, []);\n var handleSelect = (0, _react.useCallback)(function (node, cascadePaths, event) {\n var _node$childrenKey, _node$childrenKey2, _triggerRef$current, _triggerRef$current$u;\n\n setSelectedPaths(cascadePaths);\n onSelect === null || onSelect === void 0 ? void 0 : onSelect(node, cascadePaths, event); // 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 addFlattenData(data, node);\n addColumn(data, cascadePaths.length);\n }\n });\n } else {\n node.loading = false;\n node[childrenKey] = children;\n addFlattenData(children, node);\n addColumn(children, cascadePaths.length);\n }\n } else if ((_node$childrenKey2 = node[childrenKey]) !== null && _node$childrenKey2 !== void 0 && _node$childrenKey2.length) {\n addColumn(node[childrenKey], cascadePaths.length);\n }\n\n (_triggerRef$current = triggerRef.current) === null || _triggerRef$current === void 0 ? void 0 : (_triggerRef$current$u = _triggerRef$current.updatePosition) === null || _triggerRef$current$u === void 0 ? void 0 : _triggerRef$current$u.call(_triggerRef$current);\n }, [onSelect, getChildren, childrenKey, addColumn, addFlattenData]);\n var handleCheck = (0, _react.useCallback)(function (node, event, checked) {\n var nodeValue = node[valueKey];\n var nextValue = [];\n\n if (cascade) {\n nextValue = splitValue(node, checked, value).value;\n } else {\n nextValue = [].concat(value);\n\n if (checked) {\n nextValue.push(nodeValue);\n } else {\n nextValue = nextValue.filter(function (n) {\n return n !== nodeValue;\n });\n }\n }\n\n setValue(nextValue);\n onChange === null || onChange === void 0 ? void 0 : onChange(nextValue, event);\n onCheck === null || onCheck === void 0 ? void 0 : onCheck(nextValue, node, checked, event);\n }, [cascade, onChange, onCheck, setValue, splitValue, value, valueKey]);\n var handleClean = (0, _react.useCallback)(function (event) {\n if (disabled || !targetRef.current) {\n return;\n }\n\n setSelectedPaths([]);\n setValue([]);\n setColumnData([data]);\n onChange === null || onChange === void 0 ? void 0 : onChange([], event);\n }, [data, disabled, onChange, setColumnData, setValue]);\n var handleMenuPressEnter = (0, _react.useCallback)(function (event) {\n var _overlayRef$current;\n\n var focusItem = (0, _treeUtils.findNodeOfTree)(data, function (item) {\n return item[valueKey] === focusItemValue;\n });\n var checkbox = (_overlayRef$current = overlayRef.current) === null || _overlayRef$current === void 0 ? void 0 : _overlayRef$current.querySelector(\"[data-key=\\\"\" + focusItemValue + \"\\\"] [type=\\\"checkbox\\\"]\");\n\n if (checkbox) {\n handleCheck(focusItem, event, (checkbox === null || checkbox === void 0 ? void 0 : checkbox.getAttribute('aria-checked')) !== 'true');\n }\n }, [data, focusItemValue, handleCheck, 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 var handleSearch = (0, _react.useCallback)(function (value, event) {\n setSearchKeyword(value);\n onSearch === null || onSearch === void 0 ? void 0 : onSearch(value, event);\n\n if (value) {\n setLayer(0);\n } else if (selectedPaths !== null && selectedPaths !== void 0 && selectedPaths.length) {\n setLayer(selectedPaths.length - 1);\n }\n\n setKeys([]);\n }, [onSearch, selectedPaths, setKeys, setLayer]);\n var getSearchResult = (0, _react.useCallback)(function () {\n var items = [];\n var result = flattenData.filter(function (item) {\n if (uncheckableItemValues.some(function (value) {\n return item[valueKey] === value;\n })) {\n return false;\n }\n\n if (item[labelKey].match(new RegExp((0, _utils3.getSafeRegExpString)(searchKeyword), 'i'))) {\n return true;\n }\n\n return false;\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 }, [flattenData, labelKey, searchKeyword, uncheckableItemValues, valueKey]);\n\n var renderSearchRow = function renderSearchRow(item, key) {\n var _extends2;\n\n var nodes = (0, _treeUtils.getNodeParents)(item);\n var regx = new RegExp((0, _utils3.getSafeRegExpString)(searchKeyword), 'ig');\n var labelElements = [];\n var a = item[labelKey].split(regx);\n var b = item[labelKey].match(regx);\n\n for (var i = 0; i < a.length; i++) {\n labelElements.push(a[i]);\n\n if (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: 389,\n columnNumber: 13\n }\n }, b[i]));\n }\n }\n\n nodes.push((0, _extends3.default)({}, item, (_extends2 = {}, _extends2[labelKey] = labelElements, _extends2)));\n var active = value.some(function (value) {\n if (cascade) {\n return nodes.some(function (node) {\n return node[valueKey] === value;\n });\n }\n\n return item[valueKey] === value;\n });\n var disabled = disabledItemValues.some(function (value) {\n return nodes.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 return /*#__PURE__*/_react.default.createElement(\"div\", {\n key: key,\n className: itemClasses,\n \"aria-disabled\": disabled,\n \"data-key\": item[valueKey],\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 414,\n columnNumber: 9\n }\n }, /*#__PURE__*/_react.default.createElement(_Checkbox.default, {\n disabled: disabled,\n checked: active,\n value: item[valueKey],\n indeterminate: cascade && !active && (0, _utils.isSomeChildChecked)(item, value, {\n valueKey: valueKey,\n childrenKey: childrenKey\n }),\n onChange: function onChange(_value, checked, event) {\n handleCheck(item, event, checked);\n },\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 415,\n columnNumber: 11\n }\n }, /*#__PURE__*/_react.default.createElement(\"span\", {\n className: prefix('cascader-cols'),\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 426,\n columnNumber: 13\n }\n }, nodes.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: 428,\n columnNumber: 17\n }\n }, node[labelKey]);\n }))));\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: 445,\n columnNumber: 9\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: 449,\n columnNumber: 13\n }\n }, locale.noResultsText));\n };\n\n var renderDropdownMenu = function renderDropdownMenu(positionProps, speakerRef) {\n var _ref = positionProps || {},\n left = _ref.left,\n top = _ref.top,\n className = _ref.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', 'multi-cascader-menu', {\n inline: inline\n }));\n return /*#__PURE__*/_react.default.createElement(_Picker.PickerOverlay, {\n ref: (0, _utils3.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: 466,\n columnNumber: 9\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: 474,\n columnNumber: 13\n }\n }), renderSearchResultPanel(), searchKeyword === '' && /*#__PURE__*/_react.default.createElement(_DropdownMenu.default, {\n id: id ? id + \"-listbox\" : undefined,\n cascade: cascade,\n menuWidth: menuWidth,\n menuHeight: menuHeight,\n uncheckableItemValues: uncheckableItemValues,\n disabledItemValues: disabledItemValues,\n valueKey: valueKey,\n labelKey: labelKey,\n childrenKey: childrenKey,\n classPrefix: 'picker-cascader-menu',\n cascadeData: columnData,\n cascadePaths: selectedPaths,\n value: value,\n onSelect: handleSelect,\n onCheck: handleCheck,\n renderMenu: renderMenu,\n renderMenuItem: renderMenuItem,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 485,\n columnNumber: 13\n }\n }), renderExtraFooter === null || renderExtraFooter === void 0 ? void 0 : renderExtraFooter());\n };\n\n var selectedElement = placeholder;\n\n if (selectedItems.length > 0) {\n selectedElement = /*#__PURE__*/_react.default.createElement(_Picker.SelectedElement, {\n selectedItems: selectedItems,\n countable: countable,\n valueKey: valueKey,\n labelKey: labelKey,\n childrenKey: childrenKey,\n prefix: prefix,\n cascade: cascade,\n locale: locale,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 515,\n columnNumber: 9\n }\n });\n }\n\n if (hasValue && (0, _isFunction.default)(renderValue)) {\n selectedElement = renderValue(value.length ? value : valueProp !== null && valueProp !== void 0 ? valueProp : [], selectedItems, 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 countable: countable,\n name: 'cascader',\n appearance: appearance,\n cleanable: cleanable\n })),\n classes = _usePickerClassName[0],\n usedClassNamePropKeys = _usePickerClassName[1];\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 onEnter: (0, _utils3.createChainedFunction)(handleEntered, onEnter),\n onExited: (0, _utils3.createChainedFunction)(handleExited, onExited),\n onExit: (0, _utils3.createChainedFunction)(onClose, onExit),\n speaker: renderDropdownMenu,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 555,\n columnNumber: 7\n }\n }, /*#__PURE__*/_react.default.createElement(Component, {\n className: classes,\n style: style,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 564,\n columnNumber: 9\n }\n }, /*#__PURE__*/_react.default.createElement(_Picker.PickerToggle, (0, _extends3.default)({}, (0, _omit.default)(rest, [].concat(_Picker.omitTriggerPropKeys, usedClassNamePropKeys)), {\n id: id,\n as: toggleAs,\n appearance: appearance,\n disabled: disabled,\n ref: targetRef,\n onClean: (0, _utils3.createChainedFunction)(handleClean, onClean),\n onKeyDown: onPickerKeyDown,\n cleanable: cleanable && !disabled,\n hasValue: hasValue,\n active: active,\n placement: placement,\n inputValue: value,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 565,\n columnNumber: 11\n }\n }), selectedElement || locale.placeholder)));\n});\n\nMultiCascader.displayName = 'MultiCascader';\nMultiCascader.propTypes = (0, _extends3.default)({}, _Picker.listPickerPropTypes, {\n value: _propTypes.default.array,\n disabledItemValues: _propTypes.default.array,\n locale: _propTypes.default.any,\n appearance: _propTypes.default.oneOf(['default', 'subtle']),\n cascade: _propTypes.default.bool,\n inline: _propTypes.default.bool,\n countable: _propTypes.default.bool,\n menuWidth: _propTypes.default.number,\n menuHeight: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.string]),\n uncheckableItemValues: _propTypes.default.array,\n searchable: _propTypes.default.bool,\n renderMenuItem: _propTypes.default.func,\n renderMenu: _propTypes.default.func,\n onSearch: _propTypes.default.func,\n onSelect: _propTypes.default.func,\n onCheck: _propTypes.default.func\n});\nvar _default = MultiCascader;\nexports.default = _default;\n\n//# sourceURL=webpack://rsuite/./src/MultiCascader/MultiCascader.tsx?");
3358
3369
 
3359
3370
  /***/ }),
3360
3371
 
@@ -3409,7 +3420,7 @@ eval("\n\nvar _interopRequireDefault = __webpack_require__(/*! @babel/runtime/he
3409
3420
  /***/ (function(__unused_webpack_module, exports, __webpack_require__) {
3410
3421
 
3411
3422
  "use strict";
3412
- 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 _isNil = _interopRequireDefault(__webpack_require__(/*! lodash/isNil */ \"./node_modules/lodash/isNil.js\"));\n\nvar _Ripple = _interopRequireDefault(__webpack_require__(/*! ../Ripple */ \"./src/Ripple/index.tsx\"));\n\nvar _SafeAnchor = _interopRequireDefault(__webpack_require__(/*! ../SafeAnchor */ \"./src/SafeAnchor/index.tsx\"));\n\nvar _utils = __webpack_require__(/*! ../utils */ \"./src/utils/index.ts\");\n\nvar _Sidenav = __webpack_require__(/*! ../Sidenav/Sidenav */ \"./src/Sidenav/Sidenav.tsx\");\n\nvar _NavContext = _interopRequireDefault(__webpack_require__(/*! ./NavContext */ \"./src/Nav/NavContext.ts\"));\n\nvar _Navbar = __webpack_require__(/*! ../Navbar/Navbar */ \"./src/Navbar/Navbar.tsx\");\n\nvar _SidenavItem = _interopRequireDefault(__webpack_require__(/*! ../Sidenav/SidenavItem */ \"./src/Sidenav/SidenavItem.tsx\"));\n\nvar _NavbarItem = _interopRequireDefault(__webpack_require__(/*! ../Navbar/NavbarItem */ \"./src/Navbar/NavbarItem.tsx\"));\n\nvar _jsxFileName = \"/home/runner/work/rsuite/rsuite/src/Nav/NavItem.tsx\",\n _this = void 0;\n\n/**\n * The <Nav.Item> API\n */\nvar NavItem = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {\n var _props$as = props.as,\n Component = _props$as === void 0 ? _SafeAnchor.default : _props$as,\n activeProp = props.active,\n disabled = props.disabled,\n eventKey = props.eventKey,\n className = props.className,\n _props$classPrefix = props.classPrefix,\n classPrefix = _props$classPrefix === void 0 ? 'nav-item' : _props$classPrefix,\n style = props.style,\n children = props.children,\n icon = props.icon,\n divider = props.divider,\n panel = props.panel,\n onClick = props.onClick,\n onSelectProp = props.onSelect,\n rest = (0, _objectWithoutPropertiesLoose2.default)(props, [\"as\", \"active\", \"disabled\", \"eventKey\", \"className\", \"classPrefix\", \"style\", \"children\", \"icon\", \"divider\", \"panel\", \"onClick\", \"onSelect\"]);\n\n var _useContext = (0, _react.useContext)(_NavContext.default),\n activeKey = _useContext.activeKey,\n onSelectFromNav = _useContext.onSelect;\n\n var active = activeProp !== null && activeProp !== void 0 ? activeProp : !(0, _isNil.default)(eventKey) && (0, _utils.shallowEqual)(eventKey, activeKey);\n var emitSelect = (0, _react.useCallback)(function (event) {\n onSelectProp === null || onSelectProp === void 0 ? void 0 : onSelectProp(eventKey, event);\n onSelectFromNav === null || onSelectFromNav === void 0 ? void 0 : onSelectFromNav(eventKey, event);\n }, [eventKey, onSelectProp, onSelectFromNav]);\n var navbar = (0, _react.useContext)(_Navbar.NavbarContext);\n var sidenav = (0, _react.useContext)(_Sidenav.SidenavContext);\n\n var _useClassNames = (0, _utils.useClassNames)(classPrefix),\n withClassPrefix = _useClassNames.withClassPrefix,\n merge = _useClassNames.merge,\n prefix = _useClassNames.prefix;\n\n var classes = merge(className, withClassPrefix({\n active: active,\n disabled: disabled\n }));\n var handleClick = (0, _react.useCallback)(function (event) {\n if (!disabled) {\n emitSelect(event);\n onClick === null || onClick === void 0 ? void 0 : onClick(event);\n }\n }, [disabled, emitSelect, onClick]);\n\n if (sidenav) {\n return /*#__PURE__*/_react.default.createElement(_SidenavItem.default, (0, _extends2.default)({}, props, {\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 94,\n columnNumber: 14\n }\n }));\n }\n\n if (divider) {\n return /*#__PURE__*/_react.default.createElement(\"div\", (0, _extends2.default)({\n ref: ref,\n role: \"separator\",\n style: style,\n className: merge(className, prefix('divider'))\n }, rest, {\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 99,\n columnNumber: 9\n }\n }));\n }\n\n if (panel) {\n return /*#__PURE__*/_react.default.createElement(\"div\", (0, _extends2.default)({\n ref: ref,\n style: style,\n className: merge(className, prefix('panel'))\n }, rest, {\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 111,\n columnNumber: 9\n }\n }), children);\n }\n\n if (navbar) {\n return /*#__PURE__*/_react.default.createElement(_NavbarItem.default, (0, _extends2.default)({}, props, {\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 118,\n columnNumber: 14\n }\n }));\n }\n\n return /*#__PURE__*/_react.default.createElement(Component, (0, _extends2.default)({\n ref: ref,\n tabIndex: disabled ? -1 : undefined\n }, rest, {\n className: classes,\n onClick: handleClick,\n style: style,\n \"aria-selected\": active || undefined,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 122,\n columnNumber: 7\n }\n }), icon, children, /*#__PURE__*/_react.default.createElement(_Ripple.default, {\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 133,\n columnNumber: 9\n }\n }));\n});\n\nNavItem.displayName = 'Nav.Item';\nNavItem.propTypes = {\n as: _propTypes.default.elementType,\n active: _propTypes.default.bool,\n disabled: _propTypes.default.bool,\n className: _propTypes.default.string,\n classPrefix: _propTypes.default.string,\n divider: _propTypes.default.bool,\n panel: _propTypes.default.bool,\n onClick: _propTypes.default.func,\n style: _propTypes.default.object,\n icon: _propTypes.default.node,\n onSelect: _propTypes.default.func,\n children: _propTypes.default.node,\n eventKey: _propTypes.default.any\n};\nvar _default = NavItem;\nexports.default = _default;\n\n//# sourceURL=webpack://rsuite/./src/Nav/NavItem.tsx?");
3423
+ 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 _isNil = _interopRequireDefault(__webpack_require__(/*! lodash/isNil */ \"./node_modules/lodash/isNil.js\"));\n\nvar _Ripple = _interopRequireDefault(__webpack_require__(/*! ../Ripple */ \"./src/Ripple/index.tsx\"));\n\nvar _SafeAnchor = _interopRequireDefault(__webpack_require__(/*! ../SafeAnchor */ \"./src/SafeAnchor/index.tsx\"));\n\nvar _utils = __webpack_require__(/*! ../utils */ \"./src/utils/index.ts\");\n\nvar _Sidenav = __webpack_require__(/*! ../Sidenav/Sidenav */ \"./src/Sidenav/Sidenav.tsx\");\n\nvar _NavContext = _interopRequireDefault(__webpack_require__(/*! ./NavContext */ \"./src/Nav/NavContext.ts\"));\n\nvar _Navbar = __webpack_require__(/*! ../Navbar/Navbar */ \"./src/Navbar/Navbar.tsx\");\n\nvar _SidenavItem = _interopRequireDefault(__webpack_require__(/*! ../Sidenav/SidenavItem */ \"./src/Sidenav/SidenavItem.tsx\"));\n\nvar _NavbarItem = _interopRequireDefault(__webpack_require__(/*! ../Navbar/NavbarItem */ \"./src/Navbar/NavbarItem.tsx\"));\n\nvar _jsxFileName = \"/home/runner/work/rsuite/rsuite/src/Nav/NavItem.tsx\",\n _this = void 0;\n\n/**\n * The <Nav.Item> API\n */\nvar NavItem = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {\n var _props$as = props.as,\n Component = _props$as === void 0 ? _SafeAnchor.default : _props$as,\n activeProp = props.active,\n disabled = props.disabled,\n eventKey = props.eventKey,\n className = props.className,\n _props$classPrefix = props.classPrefix,\n classPrefix = _props$classPrefix === void 0 ? 'nav-item' : _props$classPrefix,\n style = props.style,\n children = props.children,\n icon = props.icon,\n divider = props.divider,\n panel = props.panel,\n onClick = props.onClick,\n onSelectProp = props.onSelect,\n rest = (0, _objectWithoutPropertiesLoose2.default)(props, [\"as\", \"active\", \"disabled\", \"eventKey\", \"className\", \"classPrefix\", \"style\", \"children\", \"icon\", \"divider\", \"panel\", \"onClick\", \"onSelect\"]);\n\n var _useContext = (0, _react.useContext)(_NavContext.default),\n activeKey = _useContext.activeKey,\n onSelectFromNav = _useContext.onSelect;\n\n var active = activeProp !== null && activeProp !== void 0 ? activeProp : !(0, _isNil.default)(eventKey) && (0, _utils.shallowEqual)(eventKey, activeKey);\n var emitSelect = (0, _react.useCallback)(function (event) {\n onSelectProp === null || onSelectProp === void 0 ? void 0 : onSelectProp(eventKey, event);\n onSelectFromNav === null || onSelectFromNav === void 0 ? void 0 : onSelectFromNav(eventKey, event);\n }, [eventKey, onSelectProp, onSelectFromNav]);\n var navbar = (0, _react.useContext)(_Navbar.NavbarContext);\n var sidenav = (0, _react.useContext)(_Sidenav.SidenavContext);\n\n var _useClassNames = (0, _utils.useClassNames)(classPrefix),\n withClassPrefix = _useClassNames.withClassPrefix,\n merge = _useClassNames.merge,\n prefix = _useClassNames.prefix;\n\n var classes = merge(className, withClassPrefix({\n active: active,\n disabled: disabled\n }));\n var handleClick = (0, _react.useCallback)(function (event) {\n if (!disabled) {\n emitSelect(event);\n onClick === null || onClick === void 0 ? void 0 : onClick(event);\n }\n }, [disabled, emitSelect, onClick]);\n\n if (sidenav) {\n return /*#__PURE__*/_react.default.createElement(_SidenavItem.default, (0, _extends2.default)({}, props, {\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 94,\n columnNumber: 14\n }\n }));\n }\n\n if (divider) {\n return /*#__PURE__*/_react.default.createElement(\"div\", (0, _extends2.default)({\n ref: ref,\n role: \"separator\",\n style: style,\n className: merge(className, prefix('divider'))\n }, rest, {\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 99,\n columnNumber: 9\n }\n }));\n }\n\n if (panel) {\n return /*#__PURE__*/_react.default.createElement(\"div\", (0, _extends2.default)({\n ref: ref,\n style: style,\n className: merge(className, prefix('panel'))\n }, rest, {\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 111,\n columnNumber: 9\n }\n }), children);\n }\n\n if (navbar) {\n return /*#__PURE__*/_react.default.createElement(_NavbarItem.default, (0, _extends2.default)({\n ref: ref\n }, props, {\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 118,\n columnNumber: 14\n }\n }));\n }\n\n return /*#__PURE__*/_react.default.createElement(Component, (0, _extends2.default)({\n ref: ref,\n tabIndex: disabled ? -1 : undefined\n }, rest, {\n className: classes,\n onClick: handleClick,\n style: style,\n \"aria-selected\": active || undefined,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 122,\n columnNumber: 7\n }\n }), icon, children, /*#__PURE__*/_react.default.createElement(_Ripple.default, {\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 133,\n columnNumber: 9\n }\n }));\n});\n\nNavItem.displayName = 'Nav.Item';\nNavItem.propTypes = {\n as: _propTypes.default.elementType,\n active: _propTypes.default.bool,\n disabled: _propTypes.default.bool,\n className: _propTypes.default.string,\n classPrefix: _propTypes.default.string,\n divider: _propTypes.default.bool,\n panel: _propTypes.default.bool,\n onClick: _propTypes.default.func,\n style: _propTypes.default.object,\n icon: _propTypes.default.node,\n onSelect: _propTypes.default.func,\n children: _propTypes.default.node,\n eventKey: _propTypes.default.any\n};\nvar _default = NavItem;\nexports.default = _default;\n\n//# sourceURL=webpack://rsuite/./src/Nav/NavItem.tsx?");
3413
3424
 
3414
3425
  /***/ }),
3415
3426
 
@@ -3486,7 +3497,7 @@ eval("\n\nvar _interopRequireDefault = __webpack_require__(/*! @babel/runtime/he
3486
3497
  /***/ (function(__unused_webpack_module, exports, __webpack_require__) {
3487
3498
 
3488
3499
  "use strict";
3489
- eval("\n\nvar _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ \"./node_modules/@babel/runtime/helpers/interopRequireDefault.js\");\n\nexports.__esModule = true;\nexports.default = void 0;\n\nvar _Navbar = _interopRequireDefault(__webpack_require__(/*! ./Navbar */ \"./src/Navbar/Navbar.tsx\"));\n\nvar _default = _Navbar.default;\nexports.default = _default;\n\n//# sourceURL=webpack://rsuite/./src/Navbar/index.tsx?");
3500
+ eval("\n\nvar _interopRequireWildcard = __webpack_require__(/*! @babel/runtime/helpers/interopRequireWildcard */ \"./node_modules/@babel/runtime/helpers/interopRequireWildcard.js\");\n\nexports.__esModule = true;\nexports.default = exports.NavbarContext = void 0;\n\nvar _Navbar = _interopRequireWildcard(__webpack_require__(/*! ./Navbar */ \"./src/Navbar/Navbar.tsx\"));\n\nexports.NavbarContext = _Navbar.NavbarContext;\nvar _default = _Navbar.default;\nexports.default = _default;\n\n//# sourceURL=webpack://rsuite/./src/Navbar/index.tsx?");
3490
3501
 
3491
3502
  /***/ }),
3492
3503
 
@@ -3519,7 +3530,7 @@ eval("\n\nvar _interopRequireDefault = __webpack_require__(/*! @babel/runtime/he
3519
3530
  /***/ (function(__unused_webpack_module, exports, __webpack_require__) {
3520
3531
 
3521
3532
  "use strict";
3522
- 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 onBackdropClick = props.onBackdropClick,\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\", \"onBackdropClick\", \"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 handleBackdropClick = (0, _utils2.useEventCallback)(function (event) {\n if (event.target !== event.currentTarget) {\n return;\n }\n\n onBackdropClick === null || onBackdropClick === void 0 ? void 0 : onBackdropClick(event);\n\n if (backdrop === true) {\n onClose === null || onClose === void 0 ? void 0 : onClose(event);\n }\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 var backdropPorps = {\n style: backdropStyle,\n onClick: handleBackdropClick\n };\n\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: 286,\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, backdropPorps, {\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: 290,\n columnNumber: 15\n }\n }));\n });\n }\n\n return /*#__PURE__*/_react.default.createElement(\"div\", (0, _extends2.default)({\n \"aria-hidden\": true\n }, backdropPorps, {\n className: backdropClassName,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 303,\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: 307,\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: 327,\n columnNumber: 5\n }\n }, /*#__PURE__*/_react.default.createElement(Portal, {\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 328,\n columnNumber: 7\n }\n }, /*#__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: 329,\n columnNumber: 9\n }\n }), backdrop && renderBackdrop(), 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 onBackdropClick: _propTypes.default.func\n});\nvar _default = Modal;\nexports.default = _default;\n\n//# sourceURL=webpack://rsuite/./src/Overlay/Modal.tsx?");
3533
+ 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: 270,\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: 274,\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: 287,\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: 291,\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: 311,\n columnNumber: 5\n }\n }, /*#__PURE__*/_react.default.createElement(Portal, {\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 312,\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: 314,\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?");
3523
3534
 
3524
3535
  /***/ }),
3525
3536
 
@@ -3684,7 +3695,7 @@ eval("\n\nvar _interopRequireWildcard = __webpack_require__(/*! @babel/runtime/h
3684
3695
  /***/ (function(__unused_webpack_module, exports, __webpack_require__) {
3685
3696
 
3686
3697
  "use strict";
3687
- 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.dropdownMenuPropTypes = 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 _isUndefined = _interopRequireDefault(__webpack_require__(/*! lodash/isUndefined */ \"./node_modules/lodash/isUndefined.js\"));\n\nvar _isString = _interopRequireDefault(__webpack_require__(/*! lodash/isString */ \"./node_modules/lodash/isString.js\"));\n\nvar _isNumber = _interopRequireDefault(__webpack_require__(/*! lodash/isNumber */ \"./node_modules/lodash/isNumber.js\"));\n\nvar _findIndex = _interopRequireDefault(__webpack_require__(/*! lodash/findIndex */ \"./node_modules/lodash/findIndex.js\"));\n\nvar _getPosition = _interopRequireDefault(__webpack_require__(/*! dom-lib/getPosition */ \"./node_modules/dom-lib/esm/getPosition.js\"));\n\nvar _scrollTop = _interopRequireDefault(__webpack_require__(/*! dom-lib/scrollTop */ \"./node_modules/dom-lib/esm/scrollTop.js\"));\n\nvar _getHeight = _interopRequireDefault(__webpack_require__(/*! dom-lib/getHeight */ \"./node_modules/dom-lib/esm/getHeight.js\"));\n\nvar _classnames = _interopRequireDefault(__webpack_require__(/*! classnames */ \"./node_modules/classnames/index.js\"));\n\nvar _VirtualizedList = __webpack_require__(/*! ./VirtualizedList */ \"./src/Picker/VirtualizedList.tsx\");\n\nvar _shallowEqual = _interopRequireDefault(__webpack_require__(/*! ../utils/shallowEqual */ \"./src/utils/shallowEqual.ts\"));\n\nvar _utils = __webpack_require__(/*! ../utils */ \"./src/utils/index.ts\");\n\nvar _DropdownMenuGroup = _interopRequireDefault(__webpack_require__(/*! ./DropdownMenuGroup */ \"./src/Picker/DropdownMenuGroup.tsx\"));\n\nvar _getDataGroupBy = __webpack_require__(/*! ../utils/getDataGroupBy */ \"./src/utils/getDataGroupBy.ts\");\n\nvar _jsxFileName = \"/home/runner/work/rsuite/rsuite/src/Picker/DropdownMenu.tsx\",\n _this = void 0;\n\nvar DropdownMenu = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {\n var _props$data = props.data,\n data = _props$data === void 0 ? [] : _props$data,\n group = props.group,\n _props$maxHeight = props.maxHeight,\n maxHeight = _props$maxHeight === void 0 ? 320 : _props$maxHeight,\n _props$activeItemValu = props.activeItemValues,\n activeItemValues = _props$activeItemValu === void 0 ? [] : _props$activeItemValu,\n _props$disabledItemVa = props.disabledItemValues,\n disabledItemValues = _props$disabledItemVa === void 0 ? [] : _props$disabledItemVa,\n _props$classPrefix = props.classPrefix,\n classPrefix = _props$classPrefix === void 0 ? 'dropdown-menu' : _props$classPrefix,\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 virtualized = props.virtualized,\n listProps = props.listProps,\n className = props.className,\n style = props.style,\n focusItemValue = props.focusItemValue,\n dropdownMenuItemClassPrefix = props.dropdownMenuItemClassPrefix,\n DropdownMenuItem = props.dropdownMenuItemAs,\n _props$rowHeight = props.rowHeight,\n rowHeight = _props$rowHeight === void 0 ? 36 : _props$rowHeight,\n _props$rowGroupHeight = props.rowGroupHeight,\n rowGroupHeight = _props$rowGroupHeight === void 0 ? 48 : _props$rowGroupHeight,\n renderMenuGroup = props.renderMenuGroup,\n renderMenuItem = props.renderMenuItem,\n onGroupTitleClick = props.onGroupTitleClick,\n onSelect = props.onSelect,\n rest = (0, _objectWithoutPropertiesLoose2.default)(props, [\"data\", \"group\", \"maxHeight\", \"activeItemValues\", \"disabledItemValues\", \"classPrefix\", \"valueKey\", \"labelKey\", \"virtualized\", \"listProps\", \"className\", \"style\", \"focusItemValue\", \"dropdownMenuItemClassPrefix\", \"dropdownMenuItemAs\", \"rowHeight\", \"rowGroupHeight\", \"renderMenuGroup\", \"renderMenuItem\", \"onGroupTitleClick\", \"onSelect\"]);\n\n var _useClassNames = (0, _utils.useClassNames)(classPrefix),\n withClassPrefix = _useClassNames.withClassPrefix,\n prefix = _useClassNames.prefix,\n merge = _useClassNames.merge;\n\n var classes = merge(className, withClassPrefix('items', {\n grouped: group\n }));\n var styles = (0, _extends2.default)({}, style, {\n maxHeight: maxHeight\n });\n var menuBodyContainerRef = (0, _react.useRef)(null);\n\n var _useState = (0, _react.useState)([]),\n foldedGroupKeys = _useState[0],\n setFoldedGroupKeys = _useState[1];\n\n var handleGroupTitleClick = (0, _react.useCallback)(function (key, event) {\n var nextGroupKeys = foldedGroupKeys.filter(function (item) {\n return item !== key;\n });\n\n if (nextGroupKeys.length === foldedGroupKeys.length) {\n nextGroupKeys.push(key);\n }\n\n setFoldedGroupKeys(nextGroupKeys);\n onGroupTitleClick === null || onGroupTitleClick === void 0 ? void 0 : onGroupTitleClick(event);\n }, [onGroupTitleClick, foldedGroupKeys]);\n var handleSelect = (0, _react.useCallback)(function (item, value, event, checked) {\n onSelect === null || onSelect === void 0 ? void 0 : onSelect(value, item, event, checked);\n }, [onSelect]);\n\n var getRowHeight = function getRowHeight(list, _ref) {\n var index = _ref.index;\n var item = list[index];\n\n if (group && item[_getDataGroupBy.KEY_GROUP] && index !== 0) {\n return rowGroupHeight;\n }\n\n return rowHeight;\n };\n\n (0, _react.useEffect)(function () {\n var container = menuBodyContainerRef.current;\n var activeItem = container.querySelector(\".\" + prefix('item-focus'));\n\n if (!activeItem) {\n activeItem = container.querySelector(\".\" + prefix('item-active'));\n }\n\n if (!activeItem) {\n return;\n }\n\n var position = (0, _getPosition.default)(activeItem, container);\n var sTop = (0, _scrollTop.default)(container);\n var sHeight = (0, _getHeight.default)(container);\n\n if (sTop > position.top) {\n (0, _scrollTop.default)(container, Math.max(0, position.top - 20));\n } else if (position.top > sTop + sHeight) {\n (0, _scrollTop.default)(container, Math.max(0, position.top - sHeight + 32));\n }\n }, [focusItemValue, menuBodyContainerRef, prefix]);\n\n var renderItem = function renderItem(list, _ref2) {\n var index = _ref2.index,\n style = _ref2.style;\n var item = list[index];\n var value = item[valueKey];\n var label = item[labelKey];\n\n if ((0, _isUndefined.default)(label) && !item[_getDataGroupBy.KEY_GROUP]) {\n throw Error(\"labelKey \\\"\" + labelKey + \"\\\" is not defined in \\\"data\\\" : \" + index);\n } // Use `value` in keys when If `value` is string or number\n\n\n var itemKey = (0, _isString.default)(value) || (0, _isNumber.default)(value) ? value : index;\n /**\n * Render <DropdownMenuGroup>\n * when if `group` is enabled\n */\n\n if (group && item[_getDataGroupBy.KEY_GROUP]) {\n var groupValue = item[_getDataGroupBy.KEY_GROUP_TITLE]; // TODO: grouped options should be owned by group\n\n return /*#__PURE__*/_react.default.createElement(_DropdownMenuGroup.default, {\n style: style,\n classPrefix: 'picker-menu-group',\n className: (0, _classnames.default)({\n folded: foldedGroupKeys.some(function (key) {\n return key === groupValue;\n })\n }),\n key: \"group-\" + groupValue,\n onClick: handleGroupTitleClick.bind(null, groupValue),\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 166,\n columnNumber: 9\n }\n }, renderMenuGroup ? renderMenuGroup(groupValue, item) : groupValue);\n } else if ((0, _isUndefined.default)(value) && !(0, _isUndefined.default)(item[_getDataGroupBy.KEY_GROUP])) {\n throw Error(\"valueKey \\\"\" + valueKey + \"\\\" is not defined in \\\"data\\\" : \" + index + \" \");\n }\n\n var disabled = disabledItemValues === null || disabledItemValues === void 0 ? void 0 : disabledItemValues.some(function (disabledValue) {\n return (0, _shallowEqual.default)(disabledValue, value);\n });\n var active = activeItemValues === null || activeItemValues === void 0 ? void 0 : activeItemValues.some(function (v) {\n return (0, _shallowEqual.default)(v, value);\n });\n var focus = !(0, _isUndefined.default)(focusItemValue) && (0, _shallowEqual.default)(focusItemValue, value);\n return /*#__PURE__*/_react.default.createElement(DropdownMenuItem, {\n style: style,\n key: itemKey,\n disabled: disabled,\n active: active,\n focus: focus,\n value: value,\n classPrefix: dropdownMenuItemClassPrefix,\n onSelect: handleSelect.bind(null, item),\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 187,\n columnNumber: 7\n }\n }, renderMenuItem ? renderMenuItem(label, item) : label);\n };\n\n var filteredItems = group ? data.filter(function (item) {\n return !(foldedGroupKeys !== null && foldedGroupKeys !== void 0 && foldedGroupKeys.some(function (key) {\n var _item$parent;\n\n return key === ((_item$parent = item.parent) === null || _item$parent === void 0 ? void 0 : _item$parent[_getDataGroupBy.KEY_GROUP_TITLE]);\n }));\n }) : data;\n var rowCount = filteredItems.length; // Check whether the height of the data exceeds the height of the container.\n\n var useVirtualized = virtualized && rowCount * rowHeight > maxHeight;\n return /*#__PURE__*/_react.default.createElement(\"div\", (0, _extends2.default)({\n role: !useVirtualized ? 'listbox' : undefined\n }, rest, {\n className: classes,\n ref: (0, _utils.mergeRefs)(menuBodyContainerRef, ref),\n style: styles,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 211,\n columnNumber: 5\n }\n }), useVirtualized ? /*#__PURE__*/_react.default.createElement(_VirtualizedList.AutoSizer, {\n defaultHeight: maxHeight,\n style: {\n width: 'auto',\n height: 'auto'\n },\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 219,\n columnNumber: 9\n }\n }, function (_ref3) {\n var height = _ref3.height,\n width = _ref3.width;\n return /*#__PURE__*/_react.default.createElement(_VirtualizedList.List, (0, _extends2.default)({\n role: \"listbox\",\n containerRole: '',\n \"aria-readonly\": undefined,\n width: width,\n height: height || maxHeight,\n scrollToIndex: (0, _findIndex.default)(data, function (item) {\n return item[valueKey] === (activeItemValues === null || activeItemValues === void 0 ? void 0 : activeItemValues[0]);\n }),\n rowCount: rowCount,\n rowHeight: getRowHeight.bind(_this, filteredItems),\n rowRenderer: renderItem.bind(null, filteredItems)\n }, listProps, {\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 221,\n columnNumber: 13\n }\n }));\n }) : filteredItems.map(function (_item, index) {\n return renderItem(filteredItems, {\n index: index\n });\n }));\n});\n\nvar dropdownMenuPropTypes = {\n classPrefix: _propTypes.default.string.isRequired,\n className: _propTypes.default.string,\n dropdownMenuItemAs: _propTypes.default.elementType.isRequired,\n dropdownMenuItemClassPrefix: _propTypes.default.string,\n data: _propTypes.default.array,\n group: _propTypes.default.bool,\n disabledItemValues: _propTypes.default.array,\n activeItemValues: _propTypes.default.array,\n focusItemValue: _propTypes.default.any,\n maxHeight: _propTypes.default.number,\n valueKey: _propTypes.default.string,\n labelKey: _propTypes.default.string,\n style: _propTypes.default.object,\n renderMenuItem: _propTypes.default.func,\n renderMenuGroup: _propTypes.default.func,\n onSelect: _propTypes.default.func,\n onGroupTitleClick: _propTypes.default.func,\n virtualized: _propTypes.default.bool,\n listProps: _propTypes.default.any,\n rowHeight: _propTypes.default.number,\n rowGroupHeight: _propTypes.default.number\n};\nexports.dropdownMenuPropTypes = dropdownMenuPropTypes;\nDropdownMenu.displayName = 'DropdownMenu';\nDropdownMenu.propTypes = dropdownMenuPropTypes;\nvar _default = DropdownMenu;\nexports.default = _default;\n\n//# sourceURL=webpack://rsuite/./src/Picker/DropdownMenu.tsx?");
3698
+ 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.dropdownMenuPropTypes = 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 _isUndefined = _interopRequireDefault(__webpack_require__(/*! lodash/isUndefined */ \"./node_modules/lodash/isUndefined.js\"));\n\nvar _isString = _interopRequireDefault(__webpack_require__(/*! lodash/isString */ \"./node_modules/lodash/isString.js\"));\n\nvar _isNumber = _interopRequireDefault(__webpack_require__(/*! lodash/isNumber */ \"./node_modules/lodash/isNumber.js\"));\n\nvar _findIndex = _interopRequireDefault(__webpack_require__(/*! lodash/findIndex */ \"./node_modules/lodash/findIndex.js\"));\n\nvar _getPosition = _interopRequireDefault(__webpack_require__(/*! dom-lib/getPosition */ \"./node_modules/dom-lib/esm/getPosition.js\"));\n\nvar _scrollTop = _interopRequireDefault(__webpack_require__(/*! dom-lib/scrollTop */ \"./node_modules/dom-lib/esm/scrollTop.js\"));\n\nvar _getHeight = _interopRequireDefault(__webpack_require__(/*! dom-lib/getHeight */ \"./node_modules/dom-lib/esm/getHeight.js\"));\n\nvar _classnames = _interopRequireDefault(__webpack_require__(/*! classnames */ \"./node_modules/classnames/index.js\"));\n\nvar _VirtualizedList = __webpack_require__(/*! ./VirtualizedList */ \"./src/Picker/VirtualizedList.tsx\");\n\nvar _shallowEqual = _interopRequireDefault(__webpack_require__(/*! ../utils/shallowEqual */ \"./src/utils/shallowEqual.ts\"));\n\nvar _utils = __webpack_require__(/*! ../utils */ \"./src/utils/index.ts\");\n\nvar _DropdownMenuGroup = _interopRequireDefault(__webpack_require__(/*! ./DropdownMenuGroup */ \"./src/Picker/DropdownMenuGroup.tsx\"));\n\nvar _getDataGroupBy = __webpack_require__(/*! ../utils/getDataGroupBy */ \"./src/utils/getDataGroupBy.ts\");\n\nvar _jsxFileName = \"/home/runner/work/rsuite/rsuite/src/Picker/DropdownMenu.tsx\",\n _this = void 0;\n\nvar DropdownMenu = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {\n var _props$data = props.data,\n data = _props$data === void 0 ? [] : _props$data,\n group = props.group,\n _props$maxHeight = props.maxHeight,\n maxHeight = _props$maxHeight === void 0 ? 320 : _props$maxHeight,\n _props$activeItemValu = props.activeItemValues,\n activeItemValues = _props$activeItemValu === void 0 ? [] : _props$activeItemValu,\n _props$disabledItemVa = props.disabledItemValues,\n disabledItemValues = _props$disabledItemVa === void 0 ? [] : _props$disabledItemVa,\n _props$classPrefix = props.classPrefix,\n classPrefix = _props$classPrefix === void 0 ? 'dropdown-menu' : _props$classPrefix,\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 virtualized = props.virtualized,\n listProps = props.listProps,\n className = props.className,\n style = props.style,\n focusItemValue = props.focusItemValue,\n dropdownMenuItemClassPrefix = props.dropdownMenuItemClassPrefix,\n DropdownMenuItem = props.dropdownMenuItemAs,\n _props$rowHeight = props.rowHeight,\n rowHeight = _props$rowHeight === void 0 ? 36 : _props$rowHeight,\n _props$rowGroupHeight = props.rowGroupHeight,\n rowGroupHeight = _props$rowGroupHeight === void 0 ? 48 : _props$rowGroupHeight,\n renderMenuGroup = props.renderMenuGroup,\n renderMenuItem = props.renderMenuItem,\n onGroupTitleClick = props.onGroupTitleClick,\n onSelect = props.onSelect,\n rest = (0, _objectWithoutPropertiesLoose2.default)(props, [\"data\", \"group\", \"maxHeight\", \"activeItemValues\", \"disabledItemValues\", \"classPrefix\", \"valueKey\", \"labelKey\", \"virtualized\", \"listProps\", \"className\", \"style\", \"focusItemValue\", \"dropdownMenuItemClassPrefix\", \"dropdownMenuItemAs\", \"rowHeight\", \"rowGroupHeight\", \"renderMenuGroup\", \"renderMenuItem\", \"onGroupTitleClick\", \"onSelect\"]);\n\n var _useClassNames = (0, _utils.useClassNames)(classPrefix),\n withClassPrefix = _useClassNames.withClassPrefix,\n prefix = _useClassNames.prefix,\n merge = _useClassNames.merge;\n\n var classes = merge(className, withClassPrefix('items', {\n grouped: group\n }));\n var styles = (0, _extends2.default)({}, style, {\n maxHeight: maxHeight\n });\n var menuBodyContainerRef = (0, _react.useRef)(null);\n\n var _useState = (0, _react.useState)([]),\n foldedGroupKeys = _useState[0],\n setFoldedGroupKeys = _useState[1];\n\n var handleGroupTitleClick = (0, _react.useCallback)(function (key, event) {\n var nextGroupKeys = foldedGroupKeys.filter(function (item) {\n return item !== key;\n });\n\n if (nextGroupKeys.length === foldedGroupKeys.length) {\n nextGroupKeys.push(key);\n }\n\n setFoldedGroupKeys(nextGroupKeys);\n onGroupTitleClick === null || onGroupTitleClick === void 0 ? void 0 : onGroupTitleClick(event);\n }, [onGroupTitleClick, foldedGroupKeys]);\n var handleSelect = (0, _react.useCallback)(function (item, value, event, checked) {\n onSelect === null || onSelect === void 0 ? void 0 : onSelect(value, item, event, checked);\n }, [onSelect]);\n\n var getRowHeight = function getRowHeight(list, _ref) {\n var index = _ref.index;\n var item = list[index];\n\n if (group && item[_getDataGroupBy.KEY_GROUP] && index !== 0) {\n return rowGroupHeight;\n }\n\n return rowHeight;\n };\n\n (0, _react.useEffect)(function () {\n var container = menuBodyContainerRef.current;\n\n if (!container) {\n return;\n }\n\n var activeItem = container.querySelector(\".\" + prefix('item-focus'));\n\n if (!activeItem) {\n activeItem = container.querySelector(\".\" + prefix('item-active'));\n }\n\n if (!activeItem) {\n return;\n }\n\n var position = (0, _getPosition.default)(activeItem, container);\n var sTop = (0, _scrollTop.default)(container);\n var sHeight = (0, _getHeight.default)(container);\n\n if (sTop > position.top) {\n (0, _scrollTop.default)(container, Math.max(0, position.top - 20));\n } else if (position.top > sTop + sHeight) {\n (0, _scrollTop.default)(container, Math.max(0, position.top - sHeight + 32));\n }\n }, [focusItemValue, menuBodyContainerRef, prefix]);\n\n var renderItem = function renderItem(list, _ref2) {\n var index = _ref2.index,\n style = _ref2.style;\n var item = list[index];\n var value = item[valueKey];\n var label = item[labelKey];\n\n if ((0, _isUndefined.default)(label) && !item[_getDataGroupBy.KEY_GROUP]) {\n throw Error(\"labelKey \\\"\" + labelKey + \"\\\" is not defined in \\\"data\\\" : \" + index);\n } // Use `value` in keys when If `value` is string or number\n\n\n var itemKey = (0, _isString.default)(value) || (0, _isNumber.default)(value) ? value : index;\n /**\n * Render <DropdownMenuGroup>\n * when if `group` is enabled\n */\n\n if (group && item[_getDataGroupBy.KEY_GROUP]) {\n var groupValue = item[_getDataGroupBy.KEY_GROUP_TITLE]; // TODO: grouped options should be owned by group\n\n return /*#__PURE__*/_react.default.createElement(_DropdownMenuGroup.default, {\n style: style,\n classPrefix: 'picker-menu-group',\n className: (0, _classnames.default)({\n folded: foldedGroupKeys.some(function (key) {\n return key === groupValue;\n })\n }),\n key: \"group-\" + groupValue,\n onClick: handleGroupTitleClick.bind(null, groupValue),\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 171,\n columnNumber: 9\n }\n }, renderMenuGroup ? renderMenuGroup(groupValue, item) : groupValue);\n } else if ((0, _isUndefined.default)(value) && !(0, _isUndefined.default)(item[_getDataGroupBy.KEY_GROUP])) {\n throw Error(\"valueKey \\\"\" + valueKey + \"\\\" is not defined in \\\"data\\\" : \" + index + \" \");\n }\n\n var disabled = disabledItemValues === null || disabledItemValues === void 0 ? void 0 : disabledItemValues.some(function (disabledValue) {\n return (0, _shallowEqual.default)(disabledValue, value);\n });\n var active = activeItemValues === null || activeItemValues === void 0 ? void 0 : activeItemValues.some(function (v) {\n return (0, _shallowEqual.default)(v, value);\n });\n var focus = !(0, _isUndefined.default)(focusItemValue) && (0, _shallowEqual.default)(focusItemValue, value);\n return /*#__PURE__*/_react.default.createElement(DropdownMenuItem, {\n style: style,\n key: itemKey,\n disabled: disabled,\n active: active,\n focus: focus,\n value: value,\n classPrefix: dropdownMenuItemClassPrefix,\n onSelect: handleSelect.bind(null, item),\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 192,\n columnNumber: 7\n }\n }, renderMenuItem ? renderMenuItem(label, item) : label);\n };\n\n var filteredItems = group ? data.filter(function (item) {\n return !(foldedGroupKeys !== null && foldedGroupKeys !== void 0 && foldedGroupKeys.some(function (key) {\n var _item$parent;\n\n return key === ((_item$parent = item.parent) === null || _item$parent === void 0 ? void 0 : _item$parent[_getDataGroupBy.KEY_GROUP_TITLE]);\n }));\n }) : data;\n var rowCount = filteredItems.length; // Check whether the height of the data exceeds the height of the container.\n\n var useVirtualized = virtualized && rowCount * rowHeight > maxHeight;\n return /*#__PURE__*/_react.default.createElement(\"div\", (0, _extends2.default)({\n role: !useVirtualized ? 'listbox' : undefined\n }, rest, {\n className: classes,\n ref: (0, _utils.mergeRefs)(menuBodyContainerRef, ref),\n style: styles,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 216,\n columnNumber: 5\n }\n }), useVirtualized ? /*#__PURE__*/_react.default.createElement(_VirtualizedList.AutoSizer, {\n defaultHeight: maxHeight,\n style: {\n width: 'auto',\n height: 'auto'\n },\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 224,\n columnNumber: 9\n }\n }, function (_ref3) {\n var height = _ref3.height,\n width = _ref3.width;\n return /*#__PURE__*/_react.default.createElement(_VirtualizedList.List, (0, _extends2.default)({\n role: \"listbox\",\n containerRole: '',\n \"aria-readonly\": undefined,\n width: width,\n height: height || maxHeight,\n scrollToIndex: (0, _findIndex.default)(data, function (item) {\n return item[valueKey] === (activeItemValues === null || activeItemValues === void 0 ? void 0 : activeItemValues[0]);\n }),\n rowCount: rowCount,\n rowHeight: getRowHeight.bind(_this, filteredItems),\n rowRenderer: renderItem.bind(null, filteredItems)\n }, listProps, {\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 226,\n columnNumber: 13\n }\n }));\n }) : filteredItems.map(function (_item, index) {\n return renderItem(filteredItems, {\n index: index\n });\n }));\n});\n\nvar dropdownMenuPropTypes = {\n classPrefix: _propTypes.default.string.isRequired,\n className: _propTypes.default.string,\n dropdownMenuItemAs: _propTypes.default.elementType.isRequired,\n dropdownMenuItemClassPrefix: _propTypes.default.string,\n data: _propTypes.default.array,\n group: _propTypes.default.bool,\n disabledItemValues: _propTypes.default.array,\n activeItemValues: _propTypes.default.array,\n focusItemValue: _propTypes.default.any,\n maxHeight: _propTypes.default.number,\n valueKey: _propTypes.default.string,\n labelKey: _propTypes.default.string,\n style: _propTypes.default.object,\n renderMenuItem: _propTypes.default.func,\n renderMenuGroup: _propTypes.default.func,\n onSelect: _propTypes.default.func,\n onGroupTitleClick: _propTypes.default.func,\n virtualized: _propTypes.default.bool,\n listProps: _propTypes.default.any,\n rowHeight: _propTypes.default.number,\n rowGroupHeight: _propTypes.default.number\n};\nexports.dropdownMenuPropTypes = dropdownMenuPropTypes;\nDropdownMenu.displayName = 'DropdownMenu';\nDropdownMenu.propTypes = dropdownMenuPropTypes;\nvar _default = DropdownMenu;\nexports.default = _default;\n\n//# sourceURL=webpack://rsuite/./src/Picker/DropdownMenu.tsx?");
3688
3699
 
3689
3700
  /***/ }),
3690
3701
 
@@ -3739,7 +3750,7 @@ eval("\n\nvar _interopRequireDefault = __webpack_require__(/*! @babel/runtime/he
3739
3750
  /***/ (function(__unused_webpack_module, exports, __webpack_require__) {
3740
3751
 
3741
3752
  "use strict";
3742
- 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 _taggedTemplateLiteralLoose2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/taggedTemplateLiteralLoose */ \"./node_modules/@babel/runtime/helpers/taggedTemplateLiteralLoose.js\"));\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 _ToggleButton = _interopRequireDefault(__webpack_require__(/*! ./ToggleButton */ \"./src/Picker/ToggleButton.tsx\"));\n\nvar _CloseButton = _interopRequireDefault(__webpack_require__(/*! ../CloseButton */ \"./src/CloseButton/index.tsx\"));\n\nvar _utils = __webpack_require__(/*! ../utils */ \"./src/utils/index.ts\");\n\nvar _Plaintext = _interopRequireDefault(__webpack_require__(/*! ../Plaintext */ \"./src/Plaintext/index.tsx\"));\n\nvar _useToggleCaret = _interopRequireDefault(__webpack_require__(/*! ../utils/useToggleCaret */ \"./src/utils/useToggleCaret.tsx\"));\n\nvar _TextMask = _interopRequireDefault(__webpack_require__(/*! ../MaskedInput/TextMask */ \"./src/MaskedInput/TextMask.tsx\"));\n\nvar _deprecatePropType = _interopRequireDefault(__webpack_require__(/*! ../utils/deprecatePropType */ \"./src/utils/deprecatePropType.ts\"));\n\nvar _jsxFileName = \"/home/runner/work/rsuite/rsuite/src/Picker/PickerToggle.tsx\",\n _this = void 0,\n _templateObject,\n _templateObject2;\n\nvar defaultInputMask = [];\n\nvar PickerToggle = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {\n var activeProp = props.active,\n _props$as = props.as,\n Component = _props$as === void 0 ? _ToggleButton.default : _props$as,\n _props$classPrefix = props.classPrefix,\n classPrefix = _props$classPrefix === void 0 ? 'picker-toggle' : _props$classPrefix,\n children = props.children,\n _props$caret = props.caret,\n caret = _props$caret === void 0 ? true : _props$caret,\n className = props.className,\n disabled = props.disabled,\n readOnly = props.readOnly,\n plaintext = props.plaintext,\n hasValue = props.hasValue,\n cleanableProp = props.cleanable,\n _props$tabIndex = props.tabIndex,\n tabIndex = _props$tabIndex === void 0 ? 0 : _props$tabIndex,\n id = props.id,\n value = props.value,\n input = props.input,\n inputPlaceholder = props.inputPlaceholder,\n inputValueProp = props.inputValue,\n _props$inputMask = props.inputMask,\n inputMask = _props$inputMask === void 0 ? defaultInputMask : _props$inputMask,\n onInputChange = props.onInputChange,\n onInputPressEnter = props.onInputPressEnter,\n onInputBlur = props.onInputBlur,\n onInputFocus = props.onInputFocus,\n onClean = props.onClean,\n onFocus = props.onFocus,\n onBlur = props.onBlur,\n _props$placement = props.placement,\n placement = _props$placement === void 0 ? 'bottomStart' : _props$placement,\n caretComponent = props.caretComponent,\n _props$caretAs = props.caretAs,\n caretAs = _props$caretAs === void 0 ? caretComponent : _props$caretAs,\n rest = (0, _objectWithoutPropertiesLoose2.default)(props, [\"active\", \"as\", \"classPrefix\", \"children\", \"caret\", \"className\", \"disabled\", \"readOnly\", \"plaintext\", \"hasValue\", \"cleanable\", \"tabIndex\", \"id\", \"value\", \"input\", \"inputPlaceholder\", \"inputValue\", \"inputMask\", \"onInputChange\", \"onInputPressEnter\", \"onInputBlur\", \"onInputFocus\", \"onClean\", \"onFocus\", \"onBlur\", \"placement\", \"caretComponent\", \"caretAs\"]);\n var inputRef = (0, _react.useRef)(null);\n\n var _useState = (0, _react.useState)(false),\n activeState = _useState[0],\n setActive = _useState[1];\n\n var _useClassNames = (0, _utils.useClassNames)(classPrefix),\n withClassPrefix = _useClassNames.withClassPrefix,\n merge = _useClassNames.merge,\n prefix = _useClassNames.prefix;\n\n var getInputValue = (0, _react.useCallback)(function () {\n return typeof inputValueProp === 'undefined' ? Array.isArray(value) ? value.join(',') : value : inputValueProp;\n }, [inputValueProp, value]);\n\n var _useState2 = (0, _react.useState)(getInputValue),\n inputValue = _useState2[0],\n setInputValue = _useState2[1];\n\n (0, _react.useEffect)(function () {\n var value = getInputValue();\n setInputValue(value);\n }, [getInputValue]);\n var classes = merge(className, withClassPrefix({\n active: activeProp || activeState\n }));\n var handleFocus = (0, _react.useCallback)(function (event) {\n setActive(true);\n onFocus === null || onFocus === void 0 ? void 0 : onFocus(event);\n\n if (input) {\n var _inputRef$current;\n\n (_inputRef$current = inputRef.current) === null || _inputRef$current === void 0 ? void 0 : _inputRef$current.focus();\n }\n }, [input, onFocus]);\n var handleBlur = (0, _react.useCallback)(function (event) {\n if (document.activeElement !== inputRef.current) {\n var _inputRef$current2;\n\n setActive(false);\n (_inputRef$current2 = inputRef.current) === null || _inputRef$current2 === void 0 ? void 0 : _inputRef$current2.blur();\n }\n\n onBlur === null || onBlur === void 0 ? void 0 : onBlur(event);\n }, [onBlur]);\n\n var handleInputBlur = function handleInputBlur(event) {\n setInputValue(getInputValue());\n onInputBlur === null || onInputBlur === void 0 ? void 0 : onInputBlur(event);\n };\n\n var handleClean = (0, _react.useCallback)(function (event) {\n event.stopPropagation();\n onClean === null || onClean === void 0 ? void 0 : onClean(event);\n setActive(false);\n }, [onClean]);\n var handleInputChange = (0, _react.useCallback)(function (event) {\n var _event$target;\n\n var value = (_event$target = event.target) === null || _event$target === void 0 ? void 0 : _event$target.value;\n setInputValue(value);\n onInputChange === null || onInputChange === void 0 ? void 0 : onInputChange(value, event);\n }, [onInputChange]);\n var handleInputKeyDown = (0, _react.useCallback)(function (event) {\n if (input && event.key === _utils.KEY_VALUES.ENTER) {\n onInputPressEnter === null || onInputPressEnter === void 0 ? void 0 : onInputPressEnter(event);\n }\n }, [onInputPressEnter, input]);\n var ToggleCaret = (0, _useToggleCaret.default)(placement);\n var Caret = caretAs !== null && caretAs !== void 0 ? caretAs : ToggleCaret;\n\n if (plaintext) {\n return /*#__PURE__*/_react.default.createElement(_Plaintext.default, {\n ref: ref,\n localeKey: \"notSelected\",\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 163,\n columnNumber: 9\n }\n }, hasValue ? children : null);\n }\n\n var showCleanButton = cleanableProp && hasValue && !readOnly; // When the component is read-only or disabled, the input is not interactive.\n\n var inputFocused = readOnly || disabled ? false : input && activeState;\n return /*#__PURE__*/_react.default.createElement(Component, (0, _extends2.default)({\n role: \"combobox\",\n \"aria-haspopup\": \"listbox\",\n \"aria-expanded\": activeProp,\n \"aria-disabled\": disabled,\n \"aria-owns\": id ? id + \"-listbox\" : undefined\n }, rest, {\n ref: ref,\n disabled: disabled,\n tabIndex: disabled ? undefined : tabIndex,\n className: classes,\n onFocus: !disabled ? handleFocus : null // The debounce is set to 200 to solve the flicker caused by the switch between input and div.\n ,\n onBlur: !disabled ? (0, _debounce.default)(handleBlur, 200) : null,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 175,\n columnNumber: 7\n }\n }), /*#__PURE__*/_react.default.createElement(_TextMask.default, {\n mask: inputMask,\n value: Array.isArray(inputValue) ? inputValue.toString() : inputValue,\n onBlur: handleInputBlur,\n onFocus: onInputFocus,\n onChange: handleInputChange,\n onKeyDown: handleInputKeyDown,\n id: id,\n \"aria-hidden\": !inputFocused,\n readOnly: !inputFocused,\n disabled: disabled,\n \"aria-controls\": id ? id + \"-listbox\" : undefined,\n tabIndex: -1,\n className: prefix('textbox', {\n 'read-only': !inputFocused\n }),\n placeholder: inputPlaceholder,\n render: function render(ref, props) {\n return /*#__PURE__*/_react.default.createElement(\"input\", (0, _extends2.default)({\n ref: (0, _utils.mergeRefs)(inputRef, ref)\n }, props, {\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 205,\n columnNumber: 35\n }\n }));\n },\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 190,\n columnNumber: 9\n }\n }), children ? /*#__PURE__*/_react.default.createElement(\"span\", {\n className: prefix(hasValue ? 'value' : 'placeholder'),\n \"aria-placeholder\": typeof children === 'string' ? children : undefined,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 209,\n columnNumber: 11\n }\n }, children) : null, showCleanButton && /*#__PURE__*/_react.default.createElement(_CloseButton.default, {\n className: prefix(_templateObject || (_templateObject = (0, _taggedTemplateLiteralLoose2.default)([\"clean\"]))),\n tabIndex: -1,\n locale: {\n closeLabel: 'Clear'\n },\n onClick: handleClean,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 218,\n columnNumber: 11\n }\n }), caret && /*#__PURE__*/_react.default.createElement(Caret, {\n className: prefix(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteralLoose2.default)([\"caret\"]))),\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 225,\n columnNumber: 19\n }\n }));\n});\n\nPickerToggle.displayName = 'PickerToggle';\nPickerToggle.propTypes = {\n classPrefix: _propTypes.default.string,\n hasValue: _propTypes.default.bool,\n cleanable: _propTypes.default.bool,\n className: _propTypes.default.string,\n children: _propTypes.default.node,\n caret: _propTypes.default.bool,\n as: _propTypes.default.elementType,\n onClean: _propTypes.default.func,\n active: _propTypes.default.bool,\n readOnly: _propTypes.default.bool,\n disabled: _propTypes.default.bool,\n plaintext: _propTypes.default.bool,\n caretComponent: (0, _deprecatePropType.default)(_propTypes.default.elementType, 'Use `caretAs` instead.'),\n caretAs: _propTypes.default.elementType\n};\nvar _default = PickerToggle;\nexports.default = _default;\n\n//# sourceURL=webpack://rsuite/./src/Picker/PickerToggle.tsx?");
3753
+ 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 _taggedTemplateLiteralLoose2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/taggedTemplateLiteralLoose */ \"./node_modules/@babel/runtime/helpers/taggedTemplateLiteralLoose.js\"));\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 _ToggleButton = _interopRequireDefault(__webpack_require__(/*! ./ToggleButton */ \"./src/Picker/ToggleButton.tsx\"));\n\nvar _CloseButton = _interopRequireDefault(__webpack_require__(/*! ../CloseButton */ \"./src/CloseButton/index.tsx\"));\n\nvar _utils = __webpack_require__(/*! ../utils */ \"./src/utils/index.ts\");\n\nvar _Plaintext = _interopRequireDefault(__webpack_require__(/*! ../Plaintext */ \"./src/Plaintext/index.tsx\"));\n\nvar _useToggleCaret = _interopRequireDefault(__webpack_require__(/*! ../utils/useToggleCaret */ \"./src/utils/useToggleCaret.tsx\"));\n\nvar _TextMask = _interopRequireDefault(__webpack_require__(/*! ../MaskedInput/TextMask */ \"./src/MaskedInput/TextMask.tsx\"));\n\nvar _deprecatePropType = _interopRequireDefault(__webpack_require__(/*! ../utils/deprecatePropType */ \"./src/utils/deprecatePropType.ts\"));\n\nvar _jsxFileName = \"/home/runner/work/rsuite/rsuite/src/Picker/PickerToggle.tsx\",\n _this = void 0,\n _templateObject,\n _templateObject2;\n\nvar defaultInputMask = [];\n\nvar PickerToggle = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {\n var activeProp = props.active,\n _props$as = props.as,\n Component = _props$as === void 0 ? _ToggleButton.default : _props$as,\n _props$classPrefix = props.classPrefix,\n classPrefix = _props$classPrefix === void 0 ? 'picker-toggle' : _props$classPrefix,\n children = props.children,\n _props$caret = props.caret,\n caret = _props$caret === void 0 ? true : _props$caret,\n className = props.className,\n disabled = props.disabled,\n readOnly = props.readOnly,\n plaintext = props.plaintext,\n hasValue = props.hasValue,\n cleanableProp = props.cleanable,\n _props$tabIndex = props.tabIndex,\n tabIndex = _props$tabIndex === void 0 ? 0 : _props$tabIndex,\n id = props.id,\n value = props.value,\n input = props.input,\n inputPlaceholder = props.inputPlaceholder,\n inputValueProp = props.inputValue,\n _props$inputMask = props.inputMask,\n inputMask = _props$inputMask === void 0 ? defaultInputMask : _props$inputMask,\n onInputChange = props.onInputChange,\n onInputPressEnter = props.onInputPressEnter,\n onInputBlur = props.onInputBlur,\n onInputFocus = props.onInputFocus,\n onClean = props.onClean,\n onFocus = props.onFocus,\n onBlur = props.onBlur,\n _props$placement = props.placement,\n placement = _props$placement === void 0 ? 'bottomStart' : _props$placement,\n caretComponent = props.caretComponent,\n _props$caretAs = props.caretAs,\n caretAs = _props$caretAs === void 0 ? caretComponent : _props$caretAs,\n rest = (0, _objectWithoutPropertiesLoose2.default)(props, [\"active\", \"as\", \"classPrefix\", \"children\", \"caret\", \"className\", \"disabled\", \"readOnly\", \"plaintext\", \"hasValue\", \"cleanable\", \"tabIndex\", \"id\", \"value\", \"input\", \"inputPlaceholder\", \"inputValue\", \"inputMask\", \"onInputChange\", \"onInputPressEnter\", \"onInputBlur\", \"onInputFocus\", \"onClean\", \"onFocus\", \"onBlur\", \"placement\", \"caretComponent\", \"caretAs\"]);\n var inputRef = (0, _react.useRef)(null);\n\n var _useState = (0, _react.useState)(false),\n activeState = _useState[0],\n setActive = _useState[1];\n\n var _useClassNames = (0, _utils.useClassNames)(classPrefix),\n withClassPrefix = _useClassNames.withClassPrefix,\n merge = _useClassNames.merge,\n prefix = _useClassNames.prefix;\n\n var getInputValue = (0, _react.useCallback)(function () {\n return typeof inputValueProp === 'undefined' ? Array.isArray(value) ? value.join(',') : value : inputValueProp;\n }, [inputValueProp, value]);\n\n var _useState2 = (0, _react.useState)(getInputValue),\n inputValue = _useState2[0],\n setInputValue = _useState2[1];\n\n (0, _react.useEffect)(function () {\n var value = getInputValue();\n setInputValue(value);\n }, [getInputValue]);\n var classes = merge(className, withClassPrefix({\n active: activeProp || activeState\n }));\n var handleFocus = (0, _react.useCallback)(function (event) {\n setActive(true);\n onFocus === null || onFocus === void 0 ? void 0 : onFocus(event);\n\n if (input) {\n var _inputRef$current;\n\n (_inputRef$current = inputRef.current) === null || _inputRef$current === void 0 ? void 0 : _inputRef$current.focus();\n }\n }, [input, onFocus]);\n var handleBlur = (0, _react.useCallback)(function (event) {\n if (inputRef.current && document.activeElement !== inputRef.current) {\n setActive(false);\n inputRef.current.blur();\n }\n\n onBlur === null || onBlur === void 0 ? void 0 : onBlur(event);\n }, [onBlur]);\n\n var handleInputBlur = function handleInputBlur(event) {\n setInputValue(getInputValue());\n onInputBlur === null || onInputBlur === void 0 ? void 0 : onInputBlur(event);\n };\n\n var handleClean = (0, _react.useCallback)(function (event) {\n event.stopPropagation();\n onClean === null || onClean === void 0 ? void 0 : onClean(event);\n setActive(false);\n }, [onClean]);\n var handleInputChange = (0, _react.useCallback)(function (event) {\n var _event$target;\n\n var value = (_event$target = event.target) === null || _event$target === void 0 ? void 0 : _event$target.value;\n setInputValue(value);\n onInputChange === null || onInputChange === void 0 ? void 0 : onInputChange(value, event);\n }, [onInputChange]);\n var handleInputKeyDown = (0, _react.useCallback)(function (event) {\n if (input && event.key === _utils.KEY_VALUES.ENTER) {\n onInputPressEnter === null || onInputPressEnter === void 0 ? void 0 : onInputPressEnter(event);\n }\n }, [onInputPressEnter, input]);\n var ToggleCaret = (0, _useToggleCaret.default)(placement);\n var Caret = caretAs !== null && caretAs !== void 0 ? caretAs : ToggleCaret;\n\n if (plaintext) {\n return /*#__PURE__*/_react.default.createElement(_Plaintext.default, {\n ref: ref,\n localeKey: \"notSelected\",\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 163,\n columnNumber: 9\n }\n }, hasValue ? children : null);\n }\n\n var showCleanButton = cleanableProp && hasValue && !readOnly; // When the component is read-only or disabled, the input is not interactive.\n\n var inputFocused = readOnly || disabled ? false : input && activeState;\n return /*#__PURE__*/_react.default.createElement(Component, (0, _extends2.default)({\n role: \"combobox\",\n \"aria-haspopup\": \"listbox\",\n \"aria-expanded\": activeProp,\n \"aria-disabled\": disabled,\n \"aria-owns\": id ? id + \"-listbox\" : undefined\n }, rest, {\n ref: ref,\n disabled: disabled,\n tabIndex: disabled ? undefined : tabIndex,\n className: classes,\n onFocus: !disabled ? handleFocus : null // The debounce is set to 200 to solve the flicker caused by the switch between input and div.\n ,\n onBlur: !disabled ? (0, _debounce.default)(handleBlur, 200) : null,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 175,\n columnNumber: 7\n }\n }), /*#__PURE__*/_react.default.createElement(_TextMask.default, {\n mask: inputMask,\n value: Array.isArray(inputValue) ? inputValue.toString() : inputValue,\n onBlur: handleInputBlur,\n onFocus: onInputFocus,\n onChange: handleInputChange,\n onKeyDown: handleInputKeyDown,\n id: id,\n \"aria-hidden\": !inputFocused,\n readOnly: !inputFocused,\n disabled: disabled,\n \"aria-controls\": id ? id + \"-listbox\" : undefined,\n tabIndex: -1,\n className: prefix('textbox', {\n 'read-only': !inputFocused\n }),\n placeholder: inputPlaceholder,\n render: function render(ref, props) {\n return /*#__PURE__*/_react.default.createElement(\"input\", (0, _extends2.default)({\n ref: (0, _utils.mergeRefs)(inputRef, ref)\n }, props, {\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 205,\n columnNumber: 35\n }\n }));\n },\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 190,\n columnNumber: 9\n }\n }), children ? /*#__PURE__*/_react.default.createElement(\"span\", {\n className: prefix(hasValue ? 'value' : 'placeholder'),\n \"aria-placeholder\": typeof children === 'string' ? children : undefined,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 209,\n columnNumber: 11\n }\n }, children) : null, showCleanButton && /*#__PURE__*/_react.default.createElement(_CloseButton.default, {\n className: prefix(_templateObject || (_templateObject = (0, _taggedTemplateLiteralLoose2.default)([\"clean\"]))),\n tabIndex: -1,\n locale: {\n closeLabel: 'Clear'\n },\n onClick: handleClean,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 218,\n columnNumber: 11\n }\n }), caret && /*#__PURE__*/_react.default.createElement(Caret, {\n className: prefix(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteralLoose2.default)([\"caret\"]))),\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 225,\n columnNumber: 19\n }\n }));\n});\n\nPickerToggle.displayName = 'PickerToggle';\nPickerToggle.propTypes = {\n classPrefix: _propTypes.default.string,\n hasValue: _propTypes.default.bool,\n cleanable: _propTypes.default.bool,\n className: _propTypes.default.string,\n children: _propTypes.default.node,\n caret: _propTypes.default.bool,\n as: _propTypes.default.elementType,\n onClean: _propTypes.default.func,\n active: _propTypes.default.bool,\n readOnly: _propTypes.default.bool,\n disabled: _propTypes.default.bool,\n plaintext: _propTypes.default.bool,\n caretComponent: (0, _deprecatePropType.default)(_propTypes.default.elementType, 'Use `caretAs` instead.'),\n caretAs: _propTypes.default.elementType\n};\nvar _default = PickerToggle;\nexports.default = _default;\n\n//# sourceURL=webpack://rsuite/./src/Picker/PickerToggle.tsx?");
3743
3754
 
3744
3755
  /***/ }),
3745
3756
 
@@ -4025,7 +4036,7 @@ eval("\n\nvar _interopRequireDefault = __webpack_require__(/*! @babel/runtime/he
4025
4036
  /***/ (function(__unused_webpack_module, exports, __webpack_require__) {
4026
4037
 
4027
4038
  "use strict";
4028
- 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 _getWidth = _interopRequireDefault(__webpack_require__(/*! dom-lib/getWidth */ \"./node_modules/dom-lib/esm/getWidth.js\"));\n\nvar _getHeight = _interopRequireDefault(__webpack_require__(/*! dom-lib/getHeight */ \"./node_modules/dom-lib/esm/getHeight.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 _Slider = __webpack_require__(/*! ../Slider/Slider */ \"./src/Slider/Slider.tsx\");\n\nvar _ProgressBar = _interopRequireDefault(__webpack_require__(/*! ../Slider/ProgressBar */ \"./src/Slider/ProgressBar.tsx\"));\n\nvar _Handle = _interopRequireDefault(__webpack_require__(/*! ../Slider/Handle */ \"./src/Slider/Handle.tsx\"));\n\nvar _Graduated = _interopRequireDefault(__webpack_require__(/*! ../Slider/Graduated */ \"./src/Slider/Graduated.tsx\"));\n\nvar _utils2 = __webpack_require__(/*! ../Slider/utils */ \"./src/Slider/utils.ts\");\n\nvar _propTypeChecker = __webpack_require__(/*! ../utils/propTypeChecker */ \"./src/utils/propTypeChecker.ts\");\n\nvar _jsxFileName = \"/home/runner/work/rsuite/rsuite/src/RangeSlider/RangeSlider.tsx\",\n _this = void 0;\n\nvar defaultDefaultValue = [0, 0];\n\nvar RangeSlider = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {\n var ariaLabel = props['aria-label'],\n ariaLabelledby = props['aria-labelledby'],\n ariaValuetext = props['aria-valuetext'],\n _props$as = props.as,\n Component = _props$as === void 0 ? 'div' : _props$as,\n barClassName = props.barClassName,\n className = props.className,\n _props$defaultValue = props.defaultValue,\n defaultValue = _props$defaultValue === void 0 ? defaultDefaultValue : _props$defaultValue,\n graduated = props.graduated,\n _props$progress = props.progress,\n progress = _props$progress === void 0 ? true : _props$progress,\n vertical = props.vertical,\n disabled = props.disabled,\n _props$classPrefix = props.classPrefix,\n classPrefix = _props$classPrefix === void 0 ? 'slider' : _props$classPrefix,\n _props$min = props.min,\n min = _props$min === void 0 ? 0 : _props$min,\n _props$max = props.max,\n maxProp = _props$max === void 0 ? 100 : _props$max,\n _props$step = props.step,\n step = _props$step === void 0 ? 1 : _props$step,\n valueProp = props.value,\n handleClassName = props.handleClassName,\n handleStyle = props.handleStyle,\n handleTitle = props.handleTitle,\n _props$tooltip = props.tooltip,\n tooltip = _props$tooltip === void 0 ? true : _props$tooltip,\n getAriaValueText = props.getAriaValueText,\n renderTooltip = props.renderTooltip,\n renderMark = props.renderMark,\n onChange = props.onChange,\n onChangeCommitted = props.onChangeCommitted,\n rest = (0, _objectWithoutPropertiesLoose2.default)(props, [\"aria-label\", \"aria-labelledby\", \"aria-valuetext\", \"as\", \"barClassName\", \"className\", \"defaultValue\", \"graduated\", \"progress\", \"vertical\", \"disabled\", \"classPrefix\", \"min\", \"max\", \"step\", \"value\", \"handleClassName\", \"handleStyle\", \"handleTitle\", \"tooltip\", \"getAriaValueText\", \"renderTooltip\", \"renderMark\", \"onChange\", \"onChangeCommitted\"]);\n var barRef = (0, _react.useRef)(null); // Define the parameter position of the handle\n\n var handleIndexs = (0, _react.useRef)([0, 1]);\n\n var _useClassNames = (0, _utils.useClassNames)(classPrefix),\n merge = _useClassNames.merge,\n withClassPrefix = _useClassNames.withClassPrefix,\n prefix = _useClassNames.prefix;\n\n var _useCustom = (0, _utils.useCustom)('RangeSlider'),\n rtl = _useCustom.rtl;\n\n var classes = merge(className, withClassPrefix({\n vertical: vertical,\n disabled: disabled,\n graduated: graduated,\n 'with-mark': renderMark\n }));\n var max = (0, _react.useMemo)(function () {\n return (0, _utils2.precisionMath)(Math.floor((maxProp - min) / step) * step + min);\n }, [maxProp, min, step]);\n /**\n * Returns a valid value that does not exceed the specified range of values.\n */\n\n var getValidValue = (0, _react.useCallback)(function (value) {\n if (typeof value === 'undefined') {\n return;\n }\n\n return [(0, _utils2.checkValue)(value[0], min, max), (0, _utils2.checkValue)(value[1], min, max)];\n }, [max, min]);\n\n var _useControlled = (0, _utils.useControlled)(getValidValue(valueProp), getValidValue(defaultValue)),\n value = _useControlled[0],\n setValue = _useControlled[1]; // The count of values ​​that can be entered.\n\n\n var count = (0, _react.useMemo)(function () {\n return (0, _utils2.precisionMath)((max - min) / step);\n }, [max, min, step]); // Get the height of the progress bar\n\n var getBarHeight = (0, _react.useCallback)(function () {\n return barRef.current ? (0, _getHeight.default)(barRef.current) : 0;\n }, []); // Get the width of the progress bar\n\n var getBarWidth = (0, _react.useCallback)(function () {\n return barRef.current ? (0, _getWidth.default)(barRef.current) : 0;\n }, []);\n var getValueByOffset = (0, _react.useCallback)(function (offset) {\n var val = 0;\n\n if (isNaN(offset)) {\n return val;\n }\n\n if (vertical) {\n var barHeight = getBarHeight();\n val = Math.round(offset / (barHeight / count)) * step;\n } else {\n var barWidth = getBarWidth();\n val = Math.round(offset / (barWidth / count)) * step;\n }\n\n return (0, _utils2.precisionMath)(val);\n }, [count, getBarHeight, getBarWidth, step, vertical]);\n var getValueByPosition = (0, _react.useCallback)(function (event) {\n var barOffset = (0, _getOffset.default)(barRef.current);\n var offset = vertical ? barOffset.top + barOffset.height - event.pageY : event.pageX - barOffset.left;\n var val = rtl && !vertical ? barOffset.width - offset : offset;\n return getValueByOffset(val) + min;\n }, [getValueByOffset, min, rtl, vertical]);\n var getRangeValue = (0, _react.useCallback)(function (value, key, event) {\n // Get the corresponding value according to the cursor position\n var v = getValueByPosition(event); // Judge the handle key and put the corresponding value at the start or end.\n\n if (key === 'start') {\n return [v, value[1]];\n } else if (key === 'end') {\n return [value[0], v];\n }\n\n return value;\n }, [getValueByPosition]);\n var getNextValue = (0, _react.useCallback)(function (event, dataset) {\n var eventKey = dataset.key,\n range = dataset.range;\n var value = range.split(',').map(function (i) {\n return +i;\n });\n var nextValue = getValidValue(getRangeValue(value, eventKey, event));\n\n if (nextValue[0] >= nextValue[1]) {\n /**\n * When the value of `start` is greater than the value of` end`,\n * the position of the handle is reversed.\n */\n handleIndexs.current.reverse();\n\n if (eventKey === 'start') {\n nextValue[0] = value[1];\n } else {\n nextValue[1] = value[0];\n }\n }\n\n return nextValue;\n }, [getRangeValue, getValidValue]);\n /**\n * Callback function that is fired when the mousemove is triggered\n */\n\n var handleDragMove = (0, _utils.useEventCallback)(function (event, dataset) {\n var nextValue = getNextValue(event, dataset);\n setValue(nextValue);\n onChange === null || onChange === void 0 ? void 0 : onChange(nextValue, event);\n });\n /**\n * Callback function that is fired when the mouseup is triggered\n */\n\n var handleChangeCommitted = (0, _react.useCallback)(function (event, dataset) {\n var nextValue = getNextValue(event, dataset);\n setValue(nextValue);\n onChangeCommitted === null || onChangeCommitted === void 0 ? void 0 : onChangeCommitted(nextValue, event);\n }, [getNextValue, onChangeCommitted, setValue]);\n var handleKeyDown = (0, _react.useCallback)(function (event) {\n var _event$target;\n\n var _event$target$dataset = (_event$target = event.target) === null || _event$target === void 0 ? void 0 : _event$target['dataset'],\n key = _event$target$dataset.key;\n\n var nextValue = [].concat(value);\n var increaseKey = rtl ? 'ArrowLeft' : 'ArrowRight';\n var decreaseKey = rtl ? 'ArrowRight' : 'ArrowLeft';\n var valueIndex = key === 'start' ? 0 : 1;\n\n switch (event.key) {\n case 'Home':\n nextValue[valueIndex] = min;\n break;\n\n case 'End':\n nextValue[valueIndex] = max;\n break;\n\n case increaseKey:\n case 'ArrowUp':\n nextValue[valueIndex] = Math.min(max, value[valueIndex] + step);\n break;\n\n case decreaseKey:\n case 'ArrowDown':\n nextValue[valueIndex] = Math.max(min, value[valueIndex] - step);\n break;\n\n default:\n return;\n } // When the start value is greater than the end value, let the handle and value switch positions.\n\n\n if (nextValue[0] >= nextValue[1]) {\n nextValue.reverse();\n handleIndexs.current.reverse();\n } // Prevent scroll of the page\n\n\n event.preventDefault();\n setValue(nextValue);\n onChange === null || onChange === void 0 ? void 0 : onChange(nextValue, event);\n }, [max, min, onChange, rtl, setValue, step, value]);\n var handleClick = (0, _react.useCallback)(function (event) {\n if (disabled) {\n return;\n }\n\n var start = value[0],\n end = value[1];\n var v = getValueByPosition(event); // Judging that the current click value is closer to the values ​​of `start` and` end`.\n\n if (Math.abs(start - v) < Math.abs(end - v)) {\n start = v;\n } else {\n end = v;\n }\n\n var nextValue = getValidValue([start, end].sort());\n setValue(nextValue);\n onChange === null || onChange === void 0 ? void 0 : onChange(nextValue, event);\n }, [disabled, getValidValue, getValueByPosition, onChange, setValue, value]);\n var handleProps = (0, _react.useMemo)(function () {\n return [{\n value: value[0],\n 'data-key': 'start',\n 'aria-valuenow': value[0],\n 'aria-valuetext': getAriaValueText ? getAriaValueText(value[0], 'start') : ariaValuetext,\n position: (value[0] - min) / (max - min) * 100\n }, {\n value: value[1],\n 'data-key': 'end',\n 'aria-valuenow': value[1],\n 'aria-valuetext': getAriaValueText ? getAriaValueText(value[1], 'end') : ariaValuetext,\n position: (value[1] - min) / (max - min) * 100\n }];\n }, [ariaValuetext, getAriaValueText, max, min, value]);\n var handleCommonProps = {\n rtl: rtl,\n disabled: disabled,\n vertical: vertical,\n tooltip: tooltip,\n className: handleClassName,\n style: handleStyle,\n renderTooltip: renderTooltip,\n onDragMove: handleDragMove,\n onDragEnd: handleChangeCommitted,\n onKeyDown: handleKeyDown,\n tabIndex: disabled ? undefined : 0,\n 'aria-orientation': vertical ? 'vertical' : 'horizontal',\n 'aria-disabled': disabled,\n 'aria-valuemax': max,\n 'aria-valuemin': min,\n 'aria-label': ariaLabel,\n 'aria-labelledby': ariaLabelledby\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: 303,\n columnNumber: 5\n }\n }), /*#__PURE__*/_react.default.createElement(\"div\", {\n className: merge(barClassName, prefix('bar')),\n ref: barRef,\n onClick: handleClick,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 304,\n columnNumber: 7\n }\n }, progress && /*#__PURE__*/_react.default.createElement(_ProgressBar.default, {\n rtl: rtl,\n vertical: vertical,\n start: (value[0] - min) / (max - min) * 100,\n end: (value[1] - min) / (max - min) * 100,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 306,\n columnNumber: 11\n }\n }), graduated && /*#__PURE__*/_react.default.createElement(_Graduated.default, {\n step: step,\n min: min,\n max: max,\n count: count,\n value: value,\n renderMark: renderMark,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 314,\n columnNumber: 11\n }\n })), /*#__PURE__*/_react.default.createElement(_Handle.default, (0, _extends2.default)({\n \"data-range\": value\n }, handleCommonProps, handleProps[handleIndexs.current[0]], {\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 324,\n columnNumber: 7\n }\n }), handleTitle), /*#__PURE__*/_react.default.createElement(_Handle.default, (0, _extends2.default)({\n \"data-range\": value\n }, handleCommonProps, handleProps[handleIndexs.current[1]], {\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 328,\n columnNumber: 7\n }\n }), handleTitle));\n});\n\nRangeSlider.displayName = 'RangeSlider';\nRangeSlider.propTypes = (0, _extends2.default)({}, _Slider.sliderPropTypes, {\n value: (0, _propTypeChecker.tupleType)(_propTypes.default.number.isRequired, _propTypes.default.number.isRequired),\n defaultValue: (0, _propTypeChecker.tupleType)(_propTypes.default.number.isRequired, _propTypes.default.number.isRequired)\n});\nvar _default = RangeSlider;\nexports.default = _default;\n\n//# sourceURL=webpack://rsuite/./src/RangeSlider/RangeSlider.tsx?");
4039
+ 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 _getWidth = _interopRequireDefault(__webpack_require__(/*! dom-lib/getWidth */ \"./node_modules/dom-lib/esm/getWidth.js\"));\n\nvar _getHeight = _interopRequireDefault(__webpack_require__(/*! dom-lib/getHeight */ \"./node_modules/dom-lib/esm/getHeight.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 _Slider = __webpack_require__(/*! ../Slider/Slider */ \"./src/Slider/Slider.tsx\");\n\nvar _ProgressBar = _interopRequireDefault(__webpack_require__(/*! ../Slider/ProgressBar */ \"./src/Slider/ProgressBar.tsx\"));\n\nvar _Handle = _interopRequireDefault(__webpack_require__(/*! ../Slider/Handle */ \"./src/Slider/Handle.tsx\"));\n\nvar _Graduated = _interopRequireDefault(__webpack_require__(/*! ../Slider/Graduated */ \"./src/Slider/Graduated.tsx\"));\n\nvar _utils2 = __webpack_require__(/*! ../Slider/utils */ \"./src/Slider/utils.ts\");\n\nvar _propTypeChecker = __webpack_require__(/*! ../utils/propTypeChecker */ \"./src/utils/propTypeChecker.ts\");\n\nvar _jsxFileName = \"/home/runner/work/rsuite/rsuite/src/RangeSlider/RangeSlider.tsx\",\n _this = void 0;\n\nvar defaultDefaultValue = [0, 0];\n\nvar RangeSlider = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {\n var ariaLabel = props['aria-label'],\n ariaLabelledby = props['aria-labelledby'],\n ariaValuetext = props['aria-valuetext'],\n _props$as = props.as,\n Component = _props$as === void 0 ? 'div' : _props$as,\n barClassName = props.barClassName,\n className = props.className,\n constraint = props.constraint,\n _props$defaultValue = props.defaultValue,\n defaultValue = _props$defaultValue === void 0 ? defaultDefaultValue : _props$defaultValue,\n graduated = props.graduated,\n _props$progress = props.progress,\n progress = _props$progress === void 0 ? true : _props$progress,\n vertical = props.vertical,\n disabled = props.disabled,\n _props$classPrefix = props.classPrefix,\n classPrefix = _props$classPrefix === void 0 ? 'slider' : _props$classPrefix,\n _props$min = props.min,\n min = _props$min === void 0 ? 0 : _props$min,\n _props$max = props.max,\n maxProp = _props$max === void 0 ? 100 : _props$max,\n _props$step = props.step,\n step = _props$step === void 0 ? 1 : _props$step,\n valueProp = props.value,\n handleClassName = props.handleClassName,\n handleStyle = props.handleStyle,\n handleTitle = props.handleTitle,\n _props$tooltip = props.tooltip,\n tooltip = _props$tooltip === void 0 ? true : _props$tooltip,\n getAriaValueText = props.getAriaValueText,\n renderTooltip = props.renderTooltip,\n renderMark = props.renderMark,\n onChange = props.onChange,\n onChangeCommitted = props.onChangeCommitted,\n rest = (0, _objectWithoutPropertiesLoose2.default)(props, [\"aria-label\", \"aria-labelledby\", \"aria-valuetext\", \"as\", \"barClassName\", \"className\", \"constraint\", \"defaultValue\", \"graduated\", \"progress\", \"vertical\", \"disabled\", \"classPrefix\", \"min\", \"max\", \"step\", \"value\", \"handleClassName\", \"handleStyle\", \"handleTitle\", \"tooltip\", \"getAriaValueText\", \"renderTooltip\", \"renderMark\", \"onChange\", \"onChangeCommitted\"]);\n var barRef = (0, _react.useRef)(null); // Define the parameter position of the handle\n\n var handleIndexs = (0, _react.useRef)([0, 1]);\n\n var _useClassNames = (0, _utils.useClassNames)(classPrefix),\n merge = _useClassNames.merge,\n withClassPrefix = _useClassNames.withClassPrefix,\n prefix = _useClassNames.prefix;\n\n var _useCustom = (0, _utils.useCustom)('RangeSlider'),\n rtl = _useCustom.rtl;\n\n var classes = merge(className, withClassPrefix({\n vertical: vertical,\n disabled: disabled,\n graduated: graduated,\n 'with-mark': renderMark\n }));\n var max = (0, _react.useMemo)(function () {\n return (0, _utils2.precisionMath)(Math.floor((maxProp - min) / step) * step + min);\n }, [maxProp, min, step]);\n /**\n * Returns a valid value that does not exceed the specified range of values.\n */\n\n var getValidValue = (0, _react.useCallback)(function (value) {\n if (typeof value === 'undefined') {\n return;\n }\n\n return [(0, _utils2.checkValue)(value[0], min, max), (0, _utils2.checkValue)(value[1], min, max)];\n }, [max, min]);\n\n var _useControlled = (0, _utils.useControlled)(getValidValue(valueProp), getValidValue(defaultValue)),\n value = _useControlled[0],\n setValue = _useControlled[1]; // The count of values ​​that can be entered.\n\n\n var count = (0, _react.useMemo)(function () {\n return (0, _utils2.precisionMath)((max - min) / step);\n }, [max, min, step]); // Get the height of the progress bar\n\n var getBarHeight = (0, _react.useCallback)(function () {\n return barRef.current ? (0, _getHeight.default)(barRef.current) : 0;\n }, []); // Get the width of the progress bar\n\n var getBarWidth = (0, _react.useCallback)(function () {\n return barRef.current ? (0, _getWidth.default)(barRef.current) : 0;\n }, []);\n var getValueByOffset = (0, _react.useCallback)(function (offset) {\n var val = 0;\n\n if (isNaN(offset)) {\n return val;\n }\n\n if (vertical) {\n var barHeight = getBarHeight();\n val = Math.round(offset / (barHeight / count)) * step;\n } else {\n var barWidth = getBarWidth();\n val = Math.round(offset / (barWidth / count)) * step;\n }\n\n return (0, _utils2.precisionMath)(val);\n }, [count, getBarHeight, getBarWidth, step, vertical]);\n var getValueByPosition = (0, _react.useCallback)(function (event) {\n var barOffset = (0, _getOffset.default)(barRef.current);\n var offset = vertical ? barOffset.top + barOffset.height - event.pageY : event.pageX - barOffset.left;\n var val = rtl && !vertical ? barOffset.width - offset : offset;\n return getValueByOffset(val) + min;\n }, [getValueByOffset, min, rtl, vertical]);\n var getRangeValue = (0, _react.useCallback)(function (value, key, event) {\n // Get the corresponding value according to the cursor position\n var v = getValueByPosition(event); // Judge the handle key and put the corresponding value at the start or end.\n\n if (key === 'start') {\n return [v, value[1]];\n } else if (key === 'end') {\n return [value[0], v];\n }\n\n return value;\n }, [getValueByPosition]);\n var getNextValue = (0, _react.useCallback)(function (event, dataset) {\n var eventKey = dataset.key,\n range = dataset.range;\n var value = range.split(',').map(function (i) {\n return +i;\n });\n var nextValue = getValidValue(getRangeValue(value, eventKey, event));\n\n if (nextValue[0] >= nextValue[1]) {\n /**\n * When the value of `start` is greater than the value of` end`,\n * the position of the handle is reversed.\n */\n handleIndexs.current.reverse();\n\n if (eventKey === 'start') {\n nextValue[0] = value[1];\n } else {\n nextValue[1] = value[0];\n }\n }\n\n return nextValue;\n }, [getRangeValue, getValidValue]);\n /**\n * Whether a range is valid against given constraint (if any)\n * Should check before every `setValue` calls\n */\n\n var isRangeMatchingConstraint = (0, _react.useCallback)(function (range) {\n // If no constraint is defined, any range is valid\n if (!constraint) return true;\n return constraint(range);\n }, [constraint]);\n /**\n * Callback function that is fired when the mousemove is triggered\n */\n\n var handleDragMove = (0, _utils.useEventCallback)(function (event, dataset) {\n var nextValue = getNextValue(event, dataset);\n\n if (isRangeMatchingConstraint(nextValue)) {\n setValue(nextValue);\n onChange === null || onChange === void 0 ? void 0 : onChange(nextValue, event);\n }\n });\n /**\n * Callback function that is fired when the mouseup is triggered\n */\n\n var handleChangeCommitted = (0, _react.useCallback)(function (event, dataset) {\n var nextValue = getNextValue(event, dataset);\n\n if (isRangeMatchingConstraint(nextValue)) {\n setValue(nextValue);\n onChangeCommitted === null || onChangeCommitted === void 0 ? void 0 : onChangeCommitted(nextValue, event);\n }\n }, [getNextValue, onChangeCommitted, isRangeMatchingConstraint, setValue]);\n var handleKeyDown = (0, _react.useCallback)(function (event) {\n var _event$target;\n\n var _event$target$dataset = (_event$target = event.target) === null || _event$target === void 0 ? void 0 : _event$target['dataset'],\n key = _event$target$dataset.key;\n\n var nextValue = [].concat(value);\n var increaseKey = rtl ? 'ArrowLeft' : 'ArrowRight';\n var decreaseKey = rtl ? 'ArrowRight' : 'ArrowLeft';\n var valueIndex = key === 'start' ? 0 : 1;\n\n switch (event.key) {\n case 'Home':\n nextValue[valueIndex] = min;\n break;\n\n case 'End':\n nextValue[valueIndex] = max;\n break;\n\n case increaseKey:\n case 'ArrowUp':\n nextValue[valueIndex] = Math.min(max, value[valueIndex] + step);\n break;\n\n case decreaseKey:\n case 'ArrowDown':\n nextValue[valueIndex] = Math.max(min, value[valueIndex] - step);\n break;\n\n default:\n return;\n } // When the start value is greater than the end value, let the handle and value switch positions.\n\n\n if (nextValue[0] >= nextValue[1]) {\n nextValue.reverse();\n handleIndexs.current.reverse();\n } // Prevent scroll of the page\n\n\n event.preventDefault();\n\n if (isRangeMatchingConstraint(nextValue)) {\n setValue(nextValue);\n onChange === null || onChange === void 0 ? void 0 : onChange(nextValue, event);\n }\n }, [max, min, onChange, rtl, isRangeMatchingConstraint, setValue, step, value]);\n var handleClick = (0, _react.useCallback)(function (event) {\n if (disabled) {\n return;\n }\n\n var start = value[0],\n end = value[1];\n var v = getValueByPosition(event); // Judging that the current click value is closer to the values ​​of `start` and` end`.\n\n if (Math.abs(start - v) < Math.abs(end - v)) {\n start = v;\n } else {\n end = v;\n }\n\n var nextValue = getValidValue([start, end].sort());\n\n if (isRangeMatchingConstraint(nextValue)) {\n setValue(nextValue);\n onChange === null || onChange === void 0 ? void 0 : onChange(nextValue, event);\n }\n }, [disabled, getValidValue, getValueByPosition, isRangeMatchingConstraint, onChange, setValue, value]);\n var handleProps = (0, _react.useMemo)(function () {\n return [{\n value: value[0],\n 'data-key': 'start',\n 'aria-valuenow': value[0],\n 'aria-valuetext': getAriaValueText ? getAriaValueText(value[0], 'start') : ariaValuetext,\n position: (value[0] - min) / (max - min) * 100\n }, {\n value: value[1],\n 'data-key': 'end',\n 'aria-valuenow': value[1],\n 'aria-valuetext': getAriaValueText ? getAriaValueText(value[1], 'end') : ariaValuetext,\n position: (value[1] - min) / (max - min) * 100\n }];\n }, [ariaValuetext, getAriaValueText, max, min, value]);\n var handleCommonProps = {\n rtl: rtl,\n disabled: disabled,\n vertical: vertical,\n tooltip: tooltip,\n className: handleClassName,\n style: handleStyle,\n renderTooltip: renderTooltip,\n onDragMove: handleDragMove,\n onDragEnd: handleChangeCommitted,\n onKeyDown: handleKeyDown,\n tabIndex: disabled ? undefined : 0,\n 'aria-orientation': vertical ? 'vertical' : 'horizontal',\n 'aria-disabled': disabled,\n 'aria-valuemax': max,\n 'aria-valuemin': min,\n 'aria-label': ariaLabel,\n 'aria-labelledby': ariaLabelledby\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: 341,\n columnNumber: 5\n }\n }), /*#__PURE__*/_react.default.createElement(\"div\", {\n className: merge(barClassName, prefix('bar')),\n ref: barRef,\n onClick: handleClick,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 342,\n columnNumber: 7\n }\n }, progress && /*#__PURE__*/_react.default.createElement(_ProgressBar.default, {\n rtl: rtl,\n vertical: vertical,\n start: (value[0] - min) / (max - min) * 100,\n end: (value[1] - min) / (max - min) * 100,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 344,\n columnNumber: 11\n }\n }), graduated && /*#__PURE__*/_react.default.createElement(_Graduated.default, {\n step: step,\n min: min,\n max: max,\n count: count,\n value: value,\n renderMark: renderMark,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 352,\n columnNumber: 11\n }\n })), /*#__PURE__*/_react.default.createElement(_Handle.default, (0, _extends2.default)({\n \"data-range\": value\n }, handleCommonProps, handleProps[handleIndexs.current[0]], {\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 362,\n columnNumber: 7\n }\n }), handleTitle), /*#__PURE__*/_react.default.createElement(_Handle.default, (0, _extends2.default)({\n \"data-range\": value\n }, handleCommonProps, handleProps[handleIndexs.current[1]], {\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 366,\n columnNumber: 7\n }\n }), handleTitle));\n});\n\nRangeSlider.displayName = 'RangeSlider';\nRangeSlider.propTypes = (0, _extends2.default)({}, _Slider.sliderPropTypes, {\n value: (0, _propTypeChecker.tupleType)(_propTypes.default.number.isRequired, _propTypes.default.number.isRequired),\n defaultValue: (0, _propTypeChecker.tupleType)(_propTypes.default.number.isRequired, _propTypes.default.number.isRequired)\n});\nvar _default = RangeSlider;\nexports.default = _default;\n\n//# sourceURL=webpack://rsuite/./src/RangeSlider/RangeSlider.tsx?");
4029
4040
 
4030
4041
  /***/ }),
4031
4042
 
@@ -4179,7 +4190,7 @@ eval("\n\nvar _interopRequireDefault = __webpack_require__(/*! @babel/runtime/he
4179
4190
  /***/ (function(__unused_webpack_module, exports, __webpack_require__) {
4180
4191
 
4181
4192
  "use strict";
4182
- 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 _taggedTemplateLiteralLoose2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/taggedTemplateLiteralLoose */ \"./node_modules/@babel/runtime/helpers/taggedTemplateLiteralLoose.js\"));\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 _pick = _interopRequireDefault(__webpack_require__(/*! lodash/pick */ \"./node_modules/lodash/pick.js\"));\n\nvar _isUndefined = _interopRequireDefault(__webpack_require__(/*! lodash/isUndefined */ \"./node_modules/lodash/isUndefined.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 _omit = _interopRequireDefault(__webpack_require__(/*! lodash/omit */ \"./node_modules/lodash/omit.js\"));\n\nvar _utils = __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/SelectPicker/SelectPicker.tsx\",\n _this = void 0,\n _templateObject;\n\nvar emptyArray = [];\n\nvar SelectPicker = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {\n var _props$as = props.as,\n Component = _props$as === void 0 ? 'div' : _props$as,\n _props$appearance = props.appearance,\n appearance = _props$appearance === void 0 ? 'default' : _props$appearance,\n _props$data = props.data,\n data = _props$data === void 0 ? emptyArray : _props$data,\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 valueProp = props.value,\n _props$classPrefix = props.classPrefix,\n classPrefix = _props$classPrefix === void 0 ? 'picker' : _props$classPrefix,\n placeholder = props.placeholder,\n defaultValue = props.defaultValue,\n disabled = props.disabled,\n _props$cleanable = props.cleanable,\n cleanable = _props$cleanable === void 0 ? true : _props$cleanable,\n _props$placement = props.placement,\n placement = _props$placement === void 0 ? 'bottomStart' : _props$placement,\n menuClassName = props.menuClassName,\n _props$menuAutoWidth = props.menuAutoWidth,\n menuAutoWidth = _props$menuAutoWidth === void 0 ? true : _props$menuAutoWidth,\n _props$menuMaxHeight = props.menuMaxHeight,\n menuMaxHeight = _props$menuMaxHeight === void 0 ? 320 : _props$menuMaxHeight,\n menuStyle = props.menuStyle,\n groupBy = props.groupBy,\n overrideLocale = props.locale,\n toggleAs = props.toggleAs,\n style = props.style,\n _props$searchable = props.searchable,\n searchable = _props$searchable === void 0 ? true : _props$searchable,\n _props$disabledItemVa = props.disabledItemValues,\n disabledItemValues = _props$disabledItemVa === void 0 ? emptyArray : _props$disabledItemVa,\n virtualized = props.virtualized,\n listProps = props.listProps,\n id = props.id,\n onGroupTitleClick = props.onGroupTitleClick,\n searchBy = props.searchBy,\n onEntered = props.onEntered,\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 sort = props.sort,\n renderValue = props.renderValue,\n renderMenu = props.renderMenu,\n renderMenuGroup = props.renderMenuGroup,\n renderMenuItem = props.renderMenuItem,\n renderExtraFooter = props.renderExtraFooter,\n rest = (0, _objectWithoutPropertiesLoose2.default)(props, [\"as\", \"appearance\", \"data\", \"valueKey\", \"labelKey\", \"value\", \"classPrefix\", \"placeholder\", \"defaultValue\", \"disabled\", \"cleanable\", \"placement\", \"menuClassName\", \"menuAutoWidth\", \"menuMaxHeight\", \"menuStyle\", \"groupBy\", \"locale\", \"toggleAs\", \"style\", \"searchable\", \"disabledItemValues\", \"virtualized\", \"listProps\", \"id\", \"onGroupTitleClick\", \"searchBy\", \"onEntered\", \"onExited\", \"onClean\", \"onChange\", \"onSelect\", \"onSearch\", \"onClose\", \"onOpen\", \"sort\", \"renderValue\", \"renderMenu\", \"renderMenuGroup\", \"renderMenuItem\", \"renderExtraFooter\"]);\n var triggerRef = (0, _react.useRef)(null);\n var targetRef = (0, _react.useRef)(null);\n var overlayRef = (0, _react.useRef)(null);\n var searchInputRef = (0, _react.useRef)(null);\n\n var _useCustom = (0, _utils.useCustom)('Picker', overrideLocale),\n locale = _useCustom.locale;\n\n var _ref = (0, _utils.useControlled)(valueProp, defaultValue),\n value = _ref[0],\n setValue = _ref[1]; // Used to hover the focus item when trigger `onKeydown`\n\n\n var _useFocusItemValue = (0, _Picker.useFocusItemValue)(value, {\n data: data,\n valueKey: valueKey,\n target: function target() {\n return overlayRef.current;\n }\n }),\n focusItemValue = _useFocusItemValue.focusItemValue,\n setFocusItemValue = _useFocusItemValue.setFocusItemValue,\n onFocusItem = _useFocusItemValue.onKeyDown; // Use search keywords to filter options.\n\n\n var _useSearch = (0, _Picker.useSearch)({\n labelKey: labelKey,\n data: data,\n searchBy: searchBy,\n callback: function callback(searchKeyword, filteredData, event) {\n var _filteredData$;\n\n // The first option after filtering is the focus.\n setFocusItemValue(filteredData === null || filteredData === void 0 ? void 0 : (_filteredData$ = filteredData[0]) === null || _filteredData$ === void 0 ? void 0 : _filteredData$[valueKey]);\n onSearch === null || onSearch === void 0 ? void 0 : onSearch(searchKeyword, event);\n }\n }),\n searchKeyword = _useSearch.searchKeyword,\n filteredData = _useSearch.filteredData,\n updateFilteredData = _useSearch.updateFilteredData,\n setSearchKeyword = _useSearch.setSearchKeyword,\n handleSearch = _useSearch.handleSearch;\n\n (0, _react.useEffect)(function () {\n updateFilteredData(data);\n }, [data, updateFilteredData]); // 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 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 var handleSelect = (0, _react.useCallback)(function (value, item, event) {\n var _targetRef$current;\n\n onSelect === null || onSelect === void 0 ? void 0 : onSelect(value, item, event);\n (_targetRef$current = targetRef.current) === null || _targetRef$current === void 0 ? void 0 : _targetRef$current.focus();\n }, [onSelect]);\n var handleChangeValue = (0, _react.useCallback)(function (value, event) {\n onChange === null || onChange === void 0 ? void 0 : onChange(value, event);\n }, [onChange]);\n var handleMenuPressEnter = (0, _react.useCallback)(function (event) {\n if (!focusItemValue) {\n return;\n } // Find active `MenuItem` by `value`\n\n\n var focusItem = data.find(function (item) {\n return (0, _utils.shallowEqual)(item[valueKey], focusItemValue);\n });\n setValue(focusItemValue);\n handleSelect(focusItemValue, focusItem, event);\n handleChangeValue(focusItemValue, event);\n handleClose();\n }, [data, focusItemValue, handleChangeValue, handleClose, handleSelect, setValue, valueKey]);\n var handleItemSelect = (0, _react.useCallback)(function (value, item, event) {\n setValue(value);\n setFocusItemValue(value);\n handleSelect(value, item, event);\n handleChangeValue(value, event);\n handleClose();\n }, [setValue, setFocusItemValue, handleSelect, handleChangeValue, handleClose]);\n var handleClean = (0, _react.useCallback)(function (event) {\n if (disabled || !cleanable) {\n return;\n }\n\n setValue(null);\n setFocusItemValue(value);\n handleChangeValue(null, event);\n }, [value, disabled, cleanable, setValue, handleChangeValue, setFocusItemValue]);\n var onPickerKeyDown = (0, _Picker.useToggleKeyDownEvent)((0, _extends2.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 onClose: function onClose() {\n setFocusItemValue(null);\n }\n }, rest));\n var handleExited = (0, _react.useCallback)(function () {\n setSearchKeyword('');\n setActive(false);\n onClose === null || onClose === void 0 ? void 0 : onClose();\n }, [onClose, setSearchKeyword]);\n var handleEntered = (0, _react.useCallback)(function () {\n setActive(true);\n setFocusItemValue(value);\n onOpen === null || onOpen === void 0 ? void 0 : onOpen();\n }, [onOpen, setFocusItemValue, value]);\n (0, _Picker.usePublicMethods)(ref, {\n triggerRef: triggerRef,\n overlayRef: overlayRef,\n targetRef: targetRef\n }); // Find active `MenuItem` by `value`\n\n var activeItem = data.find(function (item) {\n return (0, _utils.shallowEqual)(item[valueKey], value);\n });\n /**\n * 1.Have a value and the value is valid.\n * 2.Regardless of whether the value is valid, as long as renderValue is set, it is judged to have a value.\n */\n\n var hasValue = !!activeItem || !(0, _isNil.default)(value) && (0, _isFunction.default)(renderValue);\n\n var _useClassNames = (0, _utils.useClassNames)(classPrefix),\n prefix = _useClassNames.prefix,\n merge = _useClassNames.merge;\n\n var selectedElement = placeholder;\n\n if (activeItem !== null && activeItem !== void 0 && activeItem[labelKey]) {\n selectedElement = activeItem[labelKey];\n }\n\n if (!(0, _isNil.default)(value) && (0, _isFunction.default)(renderValue)) {\n selectedElement = renderValue(value, activeItem, 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 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('select-menu'));\n var styles = (0, _extends2.default)({}, menuStyle, {\n left: left,\n top: top\n });\n var items = filteredData; // Create a tree structure data when set `groupBy`\n\n if (groupBy) {\n items = (0, _utils.getDataGroupBy)(items, groupBy, sort);\n } else if (typeof sort === 'function') {\n items = items.sort(sort(false));\n }\n\n var menu = items.length ? /*#__PURE__*/_react.default.createElement(_Picker.DropdownMenu, {\n id: id ? id + \"-listbox\" : undefined,\n listProps: listProps,\n disabledItemValues: disabledItemValues,\n valueKey: valueKey,\n labelKey: labelKey,\n renderMenuGroup: renderMenuGroup,\n renderMenuItem: renderMenuItem,\n maxHeight: menuMaxHeight,\n classPrefix: 'picker-select-menu',\n dropdownMenuItemClassPrefix: 'picker-select-menu-item',\n dropdownMenuItemAs: _Picker.DropdownMenuItem,\n activeItemValues: [value],\n focusItemValue: focusItemValue,\n data: items,\n group: !(0, _isUndefined.default)(groupBy),\n onSelect: handleItemSelect,\n onGroupTitleClick: onGroupTitleClick,\n virtualized: virtualized,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 335,\n columnNumber: 9\n }\n }) : /*#__PURE__*/_react.default.createElement(\"div\", {\n className: prefix(_templateObject || (_templateObject = (0, _taggedTemplateLiteralLoose2.default)([\"none\"]))),\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 356,\n columnNumber: 9\n }\n }, locale === null || locale === void 0 ? void 0 : locale.noResultsText);\n return /*#__PURE__*/_react.default.createElement(_Picker.PickerOverlay, {\n ref: (0, _utils.mergeRefs)(overlayRef, speakerRef),\n autoWidth: menuAutoWidth,\n className: classes,\n style: styles,\n onKeyDown: onPickerKeyDown,\n target: triggerRef,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 360,\n columnNumber: 9\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: 369,\n columnNumber: 13\n }\n }), renderMenu ? renderMenu(menu) : menu, renderExtraFooter === null || renderExtraFooter === void 0 ? void 0 : renderExtraFooter());\n };\n\n var _usePickerClassName = (0, _Picker.usePickerClassName)((0, _extends2.default)({}, props, {\n classPrefix: classPrefix,\n appearance: appearance,\n hasValue: hasValue,\n name: 'select',\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 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: 393,\n columnNumber: 7\n }\n }, /*#__PURE__*/_react.default.createElement(Component, {\n className: classes,\n style: style,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 401,\n columnNumber: 9\n }\n }, /*#__PURE__*/_react.default.createElement(_Picker.PickerToggle, (0, _extends2.default)({}, (0, _omit.default)(rest, [].concat(_Picker.omitTriggerPropKeys, usedClassNamePropKeys)), {\n id: id,\n ref: targetRef,\n appearance: appearance,\n onClean: (0, _utils.createChainedFunction)(handleClean, onClean),\n onKeyDown: onPickerKeyDown,\n as: toggleAs,\n disabled: disabled,\n cleanable: cleanable && !disabled,\n hasValue: hasValue,\n inputValue: value !== null && value !== void 0 ? value : '',\n active: active,\n placement: placement,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 402,\n columnNumber: 11\n }\n }), selectedElement || (locale === null || locale === void 0 ? void 0 : locale.placeholder))));\n});\n\nSelectPicker.displayName = 'SelectPicker';\nSelectPicker.propTypes = (0, _extends2.default)({}, _Picker.listPickerPropTypes, {\n locale: _propTypes.default.any,\n appearance: _propTypes.default.oneOf(['default', 'subtle']),\n menuAutoWidth: _propTypes.default.bool,\n menuMaxHeight: _propTypes.default.number,\n renderMenu: _propTypes.default.func,\n renderMenuItem: _propTypes.default.func,\n renderMenuGroup: _propTypes.default.func,\n onSelect: _propTypes.default.func,\n onGroupTitleClick: _propTypes.default.func,\n onSearch: _propTypes.default.func,\n\n /**\n * group by key in `data`\n */\n groupBy: _propTypes.default.any,\n sort: _propTypes.default.func,\n searchable: _propTypes.default.bool,\n virtualized: _propTypes.default.bool,\n searchBy: _propTypes.default.func\n});\nvar _default = SelectPicker;\nexports.default = _default;\n\n//# sourceURL=webpack://rsuite/./src/SelectPicker/SelectPicker.tsx?");
4193
+ 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 _taggedTemplateLiteralLoose2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/taggedTemplateLiteralLoose */ \"./node_modules/@babel/runtime/helpers/taggedTemplateLiteralLoose.js\"));\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 _pick = _interopRequireDefault(__webpack_require__(/*! lodash/pick */ \"./node_modules/lodash/pick.js\"));\n\nvar _isUndefined = _interopRequireDefault(__webpack_require__(/*! lodash/isUndefined */ \"./node_modules/lodash/isUndefined.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 _omit = _interopRequireDefault(__webpack_require__(/*! lodash/omit */ \"./node_modules/lodash/omit.js\"));\n\nvar _utils = __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/SelectPicker/SelectPicker.tsx\",\n _this = void 0,\n _templateObject;\n\nvar emptyArray = [];\n\nvar SelectPicker = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {\n var _props$as = props.as,\n Component = _props$as === void 0 ? 'div' : _props$as,\n _props$appearance = props.appearance,\n appearance = _props$appearance === void 0 ? 'default' : _props$appearance,\n _props$data = props.data,\n data = _props$data === void 0 ? emptyArray : _props$data,\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 valueProp = props.value,\n _props$classPrefix = props.classPrefix,\n classPrefix = _props$classPrefix === void 0 ? 'picker' : _props$classPrefix,\n placeholder = props.placeholder,\n defaultValue = props.defaultValue,\n disabled = props.disabled,\n _props$cleanable = props.cleanable,\n cleanable = _props$cleanable === void 0 ? true : _props$cleanable,\n _props$placement = props.placement,\n placement = _props$placement === void 0 ? 'bottomStart' : _props$placement,\n menuClassName = props.menuClassName,\n _props$menuAutoWidth = props.menuAutoWidth,\n menuAutoWidth = _props$menuAutoWidth === void 0 ? true : _props$menuAutoWidth,\n _props$menuMaxHeight = props.menuMaxHeight,\n menuMaxHeight = _props$menuMaxHeight === void 0 ? 320 : _props$menuMaxHeight,\n menuStyle = props.menuStyle,\n groupBy = props.groupBy,\n overrideLocale = props.locale,\n toggleAs = props.toggleAs,\n style = props.style,\n _props$searchable = props.searchable,\n searchable = _props$searchable === void 0 ? true : _props$searchable,\n _props$disabledItemVa = props.disabledItemValues,\n disabledItemValues = _props$disabledItemVa === void 0 ? emptyArray : _props$disabledItemVa,\n virtualized = props.virtualized,\n listProps = props.listProps,\n id = props.id,\n onGroupTitleClick = props.onGroupTitleClick,\n searchBy = props.searchBy,\n onEntered = props.onEntered,\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 sort = props.sort,\n renderValue = props.renderValue,\n renderMenu = props.renderMenu,\n renderMenuGroup = props.renderMenuGroup,\n renderMenuItem = props.renderMenuItem,\n renderExtraFooter = props.renderExtraFooter,\n rest = (0, _objectWithoutPropertiesLoose2.default)(props, [\"as\", \"appearance\", \"data\", \"valueKey\", \"labelKey\", \"value\", \"classPrefix\", \"placeholder\", \"defaultValue\", \"disabled\", \"cleanable\", \"placement\", \"menuClassName\", \"menuAutoWidth\", \"menuMaxHeight\", \"menuStyle\", \"groupBy\", \"locale\", \"toggleAs\", \"style\", \"searchable\", \"disabledItemValues\", \"virtualized\", \"listProps\", \"id\", \"onGroupTitleClick\", \"searchBy\", \"onEntered\", \"onExited\", \"onClean\", \"onChange\", \"onSelect\", \"onSearch\", \"onClose\", \"onOpen\", \"sort\", \"renderValue\", \"renderMenu\", \"renderMenuGroup\", \"renderMenuItem\", \"renderExtraFooter\"]);\n var triggerRef = (0, _react.useRef)(null);\n var targetRef = (0, _react.useRef)(null);\n var overlayRef = (0, _react.useRef)(null);\n var searchInputRef = (0, _react.useRef)(null);\n\n var _useCustom = (0, _utils.useCustom)('Picker', overrideLocale),\n locale = _useCustom.locale;\n\n var _ref = (0, _utils.useControlled)(valueProp, defaultValue),\n value = _ref[0],\n setValue = _ref[1]; // Used to hover the focus item when trigger `onKeydown`\n\n\n var _useFocusItemValue = (0, _Picker.useFocusItemValue)(value, {\n data: data,\n valueKey: valueKey,\n target: function target() {\n return overlayRef.current;\n }\n }),\n focusItemValue = _useFocusItemValue.focusItemValue,\n setFocusItemValue = _useFocusItemValue.setFocusItemValue,\n onFocusItem = _useFocusItemValue.onKeyDown; // Use search keywords to filter options.\n\n\n var _useSearch = (0, _Picker.useSearch)({\n labelKey: labelKey,\n data: data,\n searchBy: searchBy,\n callback: function callback(searchKeyword, filteredData, event) {\n var _filteredData$;\n\n // The first option after filtering is the focus.\n setFocusItemValue(filteredData === null || filteredData === void 0 ? void 0 : (_filteredData$ = filteredData[0]) === null || _filteredData$ === void 0 ? void 0 : _filteredData$[valueKey]);\n onSearch === null || onSearch === void 0 ? void 0 : onSearch(searchKeyword, event);\n }\n }),\n searchKeyword = _useSearch.searchKeyword,\n filteredData = _useSearch.filteredData,\n updateFilteredData = _useSearch.updateFilteredData,\n setSearchKeyword = _useSearch.setSearchKeyword,\n handleSearch = _useSearch.handleSearch;\n\n (0, _react.useEffect)(function () {\n updateFilteredData(data);\n }, [data, updateFilteredData]); // 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 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 var handleSelect = (0, _react.useCallback)(function (value, item, event) {\n var _targetRef$current;\n\n onSelect === null || onSelect === void 0 ? void 0 : onSelect(value, item, event);\n (_targetRef$current = targetRef.current) === null || _targetRef$current === void 0 ? void 0 : _targetRef$current.focus();\n }, [onSelect]);\n var handleChangeValue = (0, _react.useCallback)(function (value, event) {\n onChange === null || onChange === void 0 ? void 0 : onChange(value, event);\n }, [onChange]);\n var handleMenuPressEnter = (0, _react.useCallback)(function (event) {\n if (!focusItemValue) {\n return;\n } // Find active `MenuItem` by `value`\n\n\n var focusItem = data.find(function (item) {\n return (0, _utils.shallowEqual)(item[valueKey], focusItemValue);\n });\n setValue(focusItemValue);\n handleSelect(focusItemValue, focusItem, event);\n handleChangeValue(focusItemValue, event);\n handleClose();\n }, [data, focusItemValue, handleChangeValue, handleClose, handleSelect, setValue, valueKey]);\n var handleItemSelect = (0, _react.useCallback)(function (value, item, event) {\n setValue(value);\n setFocusItemValue(value);\n handleSelect(value, item, event);\n handleChangeValue(value, event);\n handleClose();\n }, [setValue, setFocusItemValue, handleSelect, handleChangeValue, handleClose]);\n var handleClean = (0, _react.useCallback)(function (event) {\n if (disabled || !cleanable) {\n return;\n }\n\n setValue(null);\n setFocusItemValue(value);\n handleChangeValue(null, event);\n }, [value, disabled, cleanable, setValue, handleChangeValue, setFocusItemValue]);\n var onPickerKeyDown = (0, _Picker.useToggleKeyDownEvent)((0, _extends2.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 onClose: function onClose() {\n setFocusItemValue(null);\n }\n }, rest));\n var handleExited = (0, _react.useCallback)(function () {\n setSearchKeyword('');\n setActive(false);\n onClose === null || onClose === void 0 ? void 0 : onClose();\n }, [onClose, setSearchKeyword]);\n var handleEntered = (0, _react.useCallback)(function () {\n setActive(true);\n setFocusItemValue(value);\n onOpen === null || onOpen === void 0 ? void 0 : onOpen();\n }, [onOpen, setFocusItemValue, value]);\n (0, _Picker.usePublicMethods)(ref, {\n triggerRef: triggerRef,\n overlayRef: overlayRef,\n targetRef: targetRef\n }); // Find active `MenuItem` by `value`\n\n var activeItem = data.find(function (item) {\n return (0, _utils.shallowEqual)(item[valueKey], value);\n });\n /**\n * 1.Have a value and the value is valid.\n * 2.Regardless of whether the value is valid, as long as renderValue is set, it is judged to have a value.\n */\n\n var hasValue = !!activeItem || !(0, _isNil.default)(value) && (0, _isFunction.default)(renderValue);\n\n var _useClassNames = (0, _utils.useClassNames)(classPrefix),\n prefix = _useClassNames.prefix,\n merge = _useClassNames.merge;\n\n var selectedElement = placeholder;\n\n if (activeItem !== null && activeItem !== void 0 && activeItem[labelKey]) {\n selectedElement = activeItem[labelKey];\n }\n\n if (!(0, _isNil.default)(value) && (0, _isFunction.default)(renderValue)) {\n selectedElement = renderValue(value, activeItem, 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 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('select-menu'));\n var styles = (0, _extends2.default)({}, menuStyle, {\n left: left,\n top: top\n });\n var items = filteredData; // Create a tree structure data when set `groupBy`\n\n if (groupBy) {\n items = (0, _utils.getDataGroupBy)(items, groupBy, sort);\n } else if (typeof sort === 'function') {\n items = items.sort(sort(false));\n }\n\n var menu = items.length ? /*#__PURE__*/_react.default.createElement(_Picker.DropdownMenu, {\n id: id ? id + \"-listbox\" : undefined,\n listProps: listProps,\n disabledItemValues: disabledItemValues,\n valueKey: valueKey,\n labelKey: labelKey,\n renderMenuGroup: renderMenuGroup,\n renderMenuItem: renderMenuItem,\n maxHeight: menuMaxHeight,\n classPrefix: 'picker-select-menu',\n dropdownMenuItemClassPrefix: 'picker-select-menu-item',\n dropdownMenuItemAs: _Picker.DropdownMenuItem,\n activeItemValues: [value],\n focusItemValue: focusItemValue,\n data: items,\n group: !(0, _isUndefined.default)(groupBy),\n onSelect: handleItemSelect,\n onGroupTitleClick: onGroupTitleClick,\n virtualized: virtualized,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 339,\n columnNumber: 9\n }\n }) : /*#__PURE__*/_react.default.createElement(\"div\", {\n className: prefix(_templateObject || (_templateObject = (0, _taggedTemplateLiteralLoose2.default)([\"none\"]))),\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 360,\n columnNumber: 9\n }\n }, locale === null || locale === void 0 ? void 0 : locale.noResultsText);\n return /*#__PURE__*/_react.default.createElement(_Picker.PickerOverlay, {\n ref: (0, _utils.mergeRefs)(overlayRef, speakerRef),\n autoWidth: menuAutoWidth,\n className: classes,\n style: styles,\n onKeyDown: onPickerKeyDown,\n target: triggerRef,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 364,\n columnNumber: 9\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: 373,\n columnNumber: 13\n }\n }), renderMenu ? renderMenu(menu) : menu, renderExtraFooter === null || renderExtraFooter === void 0 ? void 0 : renderExtraFooter());\n };\n\n var _usePickerClassName = (0, _Picker.usePickerClassName)((0, _extends2.default)({}, props, {\n classPrefix: classPrefix,\n appearance: appearance,\n hasValue: hasValue,\n name: 'select',\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 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: 397,\n columnNumber: 7\n }\n }, /*#__PURE__*/_react.default.createElement(Component, {\n className: classes,\n style: style,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 405,\n columnNumber: 9\n }\n }, /*#__PURE__*/_react.default.createElement(_Picker.PickerToggle, (0, _extends2.default)({}, (0, _omit.default)(rest, [].concat(_Picker.omitTriggerPropKeys, usedClassNamePropKeys)), {\n id: id,\n ref: targetRef,\n appearance: appearance,\n onClean: (0, _utils.createChainedFunction)(handleClean, onClean),\n onKeyDown: onPickerKeyDown,\n as: toggleAs,\n disabled: disabled,\n cleanable: cleanable && !disabled,\n hasValue: hasValue,\n inputValue: value !== null && value !== void 0 ? value : '',\n active: active,\n placement: placement,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 406,\n columnNumber: 11\n }\n }), selectedElement || (locale === null || locale === void 0 ? void 0 : locale.placeholder))));\n});\n\nSelectPicker.displayName = 'SelectPicker';\nSelectPicker.propTypes = (0, _extends2.default)({}, _Picker.listPickerPropTypes, {\n locale: _propTypes.default.any,\n appearance: _propTypes.default.oneOf(['default', 'subtle']),\n menuAutoWidth: _propTypes.default.bool,\n menuMaxHeight: _propTypes.default.number,\n renderMenu: _propTypes.default.func,\n renderMenuItem: _propTypes.default.func,\n renderMenuGroup: _propTypes.default.func,\n onSelect: _propTypes.default.func,\n onGroupTitleClick: _propTypes.default.func,\n onSearch: _propTypes.default.func,\n\n /**\n * group by key in `data`\n */\n groupBy: _propTypes.default.any,\n sort: _propTypes.default.func,\n searchable: _propTypes.default.bool,\n virtualized: _propTypes.default.bool,\n searchBy: _propTypes.default.func\n});\nvar _default = SelectPicker;\nexports.default = _default;\n\n//# sourceURL=webpack://rsuite/./src/SelectPicker/SelectPicker.tsx?");
4183
4194
 
4184
4195
  /***/ }),
4185
4196
 
@@ -4707,7 +4718,7 @@ eval("\n\nvar _interopRequireDefault = __webpack_require__(/*! @babel/runtime/he
4707
4718
  /***/ (function(__unused_webpack_module, exports, __webpack_require__) {
4708
4719
 
4709
4720
  "use strict";
4710
- 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.formatSize = 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 _Attachment = _interopRequireDefault(__webpack_require__(/*! @rsuite/icons/legacy/Attachment */ \"./node_modules/@rsuite/icons/legacy/Attachment.js\"));\n\nvar _Reload = _interopRequireDefault(__webpack_require__(/*! @rsuite/icons/Reload */ \"./node_modules/@rsuite/icons/Reload.js\"));\n\nvar _utils = __webpack_require__(/*! ../utils */ \"./src/utils/index.ts\");\n\nvar _CloseButton = _interopRequireDefault(__webpack_require__(/*! ../CloseButton */ \"./src/CloseButton/index.tsx\"));\n\nvar _jsxFileName = \"/home/runner/work/rsuite/rsuite/src/Uploader/UploadFileItem.tsx\",\n _this = void 0;\n\n/**\n * Format display file size\n * @param size\n */\nvar formatSize = function formatSize(size) {\n if (size === void 0) {\n size = 0;\n }\n\n var K = 1024;\n var M = 1024 * 1024;\n var G = 1024 * 1024 * 1024;\n\n if (size > G) {\n return (size / G).toFixed(2) + \"GB\";\n }\n\n if (size > M) {\n return (size / M).toFixed(2) + \"MB\";\n }\n\n if (size > K) {\n return (size / K).toFixed(2) + \"KB\";\n }\n\n return size + \"B\";\n};\n\nexports.formatSize = formatSize;\n\nvar UploadFileItem = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {\n var _props$as = props.as,\n Component = _props$as === void 0 ? 'div' : _props$as,\n disabled = props.disabled,\n _props$allowReupload = props.allowReupload,\n allowReupload = _props$allowReupload === void 0 ? true : _props$allowReupload,\n file = props.file,\n _props$classPrefix = props.classPrefix,\n classPrefix = _props$classPrefix === void 0 ? 'uploader-file-item' : _props$classPrefix,\n _props$listType = props.listType,\n listType = _props$listType === void 0 ? 'text' : _props$listType,\n className = props.className,\n _props$removable = props.removable,\n removable = _props$removable === void 0 ? true : _props$removable,\n _props$maxPreviewFile = props.maxPreviewFileSize,\n maxPreviewFileSize = _props$maxPreviewFile === void 0 ? 1024 * 1024 * 5 : _props$maxPreviewFile,\n locale = props.locale,\n renderFileInfo = props.renderFileInfo,\n renderThumbnail = props.renderThumbnail,\n onPreview = props.onPreview,\n onCancel = props.onCancel,\n onReupload = props.onReupload,\n rest = (0, _objectWithoutPropertiesLoose2.default)(props, [\"as\", \"disabled\", \"allowReupload\", \"file\", \"classPrefix\", \"listType\", \"className\", \"removable\", \"maxPreviewFileSize\", \"locale\", \"renderFileInfo\", \"renderThumbnail\", \"onPreview\", \"onCancel\", \"onReupload\"]);\n\n var _useClassNames = (0, _utils.useClassNames)(classPrefix),\n merge = _useClassNames.merge,\n withClassPrefix = _useClassNames.withClassPrefix,\n prefix = _useClassNames.prefix;\n\n var classes = merge(className, withClassPrefix(listType, {\n disabled: disabled,\n 'has-error': file.status === 'error'\n }));\n\n var _useState = (0, _react.useState)(file.url ? file.url : null),\n previewImage = _useState[0],\n setPreviewImage = _useState[1];\n /**\n * Get thumbnail of image file\n */\n\n\n var getThumbnail = (0, _react.useCallback)(function (callback) {\n var _file$blobFile;\n\n if (!~['picture-text', 'picture'].indexOf(listType)) {\n return;\n } // The thumbnail file size cannot be larger than the preset value.\n\n\n if (!file.blobFile || (file === null || file === void 0 ? void 0 : (_file$blobFile = file.blobFile) === null || _file$blobFile === void 0 ? void 0 : _file$blobFile.size) > maxPreviewFileSize) {\n return;\n }\n\n (0, _utils.previewFile)(file.blobFile, callback);\n }, [file, listType, maxPreviewFileSize]);\n (0, _react.useEffect)(function () {\n if (!file.url) {\n getThumbnail(function (previewImage) {\n setPreviewImage(previewImage);\n });\n }\n }, [file.url, getThumbnail]);\n var handlePreview = (0, _react.useCallback)(function (event) {\n if (disabled) {\n return;\n }\n\n onPreview === null || onPreview === void 0 ? void 0 : onPreview(file, event);\n }, [disabled, file, onPreview]);\n var handleRemove = (0, _react.useCallback)(function (event) {\n if (disabled) {\n return;\n }\n\n onCancel === null || onCancel === void 0 ? void 0 : onCancel(file.fileKey, event);\n }, [disabled, file.fileKey, onCancel]);\n var handleReupload = (0, _react.useCallback)(function (event) {\n if (disabled) {\n return;\n }\n\n onReupload === null || onReupload === void 0 ? void 0 : onReupload(file, event);\n }, [disabled, file, onReupload]);\n /**\n * Rendering progress bar\n */\n\n var renderProgressBar = function renderProgressBar() {\n var _file$progress = file.progress,\n progress = _file$progress === void 0 ? 0 : _file$progress,\n status = file.status;\n var show = !disabled && status === 'uploading';\n var visibility = show ? 'visible' : 'hidden';\n var wrapStyle = {\n visibility: visibility\n };\n var progressbarStyle = {\n width: progress + \"%\"\n };\n return /*#__PURE__*/_react.default.createElement(\"div\", {\n className: prefix('progress'),\n style: wrapStyle,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 151,\n columnNumber: 7\n }\n }, /*#__PURE__*/_react.default.createElement(\"div\", {\n className: prefix('progress-bar'),\n style: progressbarStyle,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 152,\n columnNumber: 9\n }\n }));\n };\n\n var renderPreview = function renderPreview() {\n var thumbnail = previewImage ? /*#__PURE__*/_react.default.createElement(\"img\", {\n role: \"presentation\",\n src: previewImage,\n alt: file.name,\n onClick: handlePreview,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 159,\n columnNumber: 7\n }\n }) : /*#__PURE__*/_react.default.createElement(_Attachment.default, {\n className: prefix('icon'),\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 161,\n columnNumber: 7\n }\n });\n return /*#__PURE__*/_react.default.createElement(\"div\", {\n className: prefix('preview'),\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 165,\n columnNumber: 7\n }\n }, renderThumbnail ? renderThumbnail(file, thumbnail) : thumbnail);\n };\n /**\n * Render the loading state.\n */\n\n\n var renderIcon = function renderIcon() {\n var uploading = file.status === 'uploading';\n var classes = prefix('icon-wrapper', {\n 'icon-loading': uploading\n });\n\n if (uploading) {\n return /*#__PURE__*/_react.default.createElement(\"div\", {\n className: classes,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 180,\n columnNumber: 9\n }\n }, /*#__PURE__*/_react.default.createElement(\"i\", {\n className: prefix('icon'),\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 181,\n columnNumber: 11\n }\n }));\n }\n\n if (listType === 'picture' || listType === 'picture-text') {\n return null;\n }\n\n return /*#__PURE__*/_react.default.createElement(\"div\", {\n className: classes,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 191,\n columnNumber: 7\n }\n }, /*#__PURE__*/_react.default.createElement(_Attachment.default, {\n className: prefix('icon'),\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 192,\n columnNumber: 9\n }\n }));\n };\n /**\n * Render the remove file button.\n */\n\n\n var renderRemoveButton = function renderRemoveButton() {\n if (!removable) {\n return null;\n }\n\n return /*#__PURE__*/_react.default.createElement(_CloseButton.default, {\n className: prefix('btn-remove'),\n onClick: handleRemove,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 205,\n columnNumber: 12\n }\n });\n };\n /**\n * Render error messages.\n */\n\n\n var renderErrorStatus = function renderErrorStatus() {\n if (file.status === 'error') {\n return /*#__PURE__*/_react.default.createElement(\"div\", {\n className: prefix('status'),\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 214,\n columnNumber: 9\n }\n }, /*#__PURE__*/_react.default.createElement(\"span\", {\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 215,\n columnNumber: 12\n }\n }, locale === null || locale === void 0 ? void 0 : locale.error), allowReupload && /*#__PURE__*/_react.default.createElement(\"a\", {\n role: \"button\",\n tabIndex: -1,\n onClick: handleReupload,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 217,\n columnNumber: 13\n }\n }, /*#__PURE__*/_react.default.createElement(_Reload.default, {\n className: prefix('icon-reupload'),\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 218,\n columnNumber: 15\n }\n })));\n }\n\n return null;\n };\n /**\n * Render file size.\n */\n\n\n var renderFileSize = function renderFileSize() {\n if (file.status !== 'error' && file.blobFile) {\n var _file$blobFile2;\n\n return /*#__PURE__*/_react.default.createElement(\"span\", {\n className: prefix('size'),\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 232,\n columnNumber: 14\n }\n }, formatSize(file === null || file === void 0 ? void 0 : (_file$blobFile2 = file.blobFile) === null || _file$blobFile2 === void 0 ? void 0 : _file$blobFile2.size));\n }\n\n return null;\n };\n /**\n * Render file panel\n */\n\n\n var renderFilePanel = function renderFilePanel() {\n var fileElement = /*#__PURE__*/_react.default.createElement(\"div\", {\n className: prefix('title'),\n onClick: handlePreview,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 242,\n columnNumber: 7\n }\n }, file.name);\n\n return /*#__PURE__*/_react.default.createElement(\"div\", {\n className: prefix('panel'),\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 247,\n columnNumber: 7\n }\n }, /*#__PURE__*/_react.default.createElement(\"div\", {\n className: prefix('content'),\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 248,\n columnNumber: 9\n }\n }, renderFileInfo ? renderFileInfo(file, fileElement) : fileElement, renderErrorStatus(), renderFileSize()));\n };\n\n if (listType === 'picture') {\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: 259,\n columnNumber: 7\n }\n }), renderIcon(), renderPreview(), renderErrorStatus(), renderRemoveButton());\n }\n\n if (listType === 'picture-text') {\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: 270,\n columnNumber: 7\n }\n }), renderIcon(), renderPreview(), renderFilePanel(), renderProgressBar(), renderRemoveButton());\n }\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: 281,\n columnNumber: 5\n }\n }), renderIcon(), renderFilePanel(), renderProgressBar(), renderRemoveButton());\n});\n\nUploadFileItem.displayName = 'UploadFileItem';\nUploadFileItem.propTypes = {\n locale: _propTypes.default.any,\n file: _propTypes.default.object.isRequired,\n listType: _propTypes.default.oneOf(['text', 'picture-text', 'picture']).isRequired,\n disabled: _propTypes.default.bool,\n className: _propTypes.default.string,\n maxPreviewFileSize: _propTypes.default.number,\n classPrefix: _propTypes.default.string,\n removable: _propTypes.default.bool,\n allowReupload: _propTypes.default.bool,\n renderFileInfo: _propTypes.default.func,\n renderThumbnail: _propTypes.default.func,\n onCancel: _propTypes.default.func,\n onPreview: _propTypes.default.func,\n onReupload: _propTypes.default.func\n};\nvar _default = UploadFileItem;\nexports.default = _default;\n\n//# sourceURL=webpack://rsuite/./src/Uploader/UploadFileItem.tsx?");
4721
+ 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.formatSize = 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 _Attachment = _interopRequireDefault(__webpack_require__(/*! @rsuite/icons/legacy/Attachment */ \"./node_modules/@rsuite/icons/legacy/Attachment.js\"));\n\nvar _Reload = _interopRequireDefault(__webpack_require__(/*! @rsuite/icons/Reload */ \"./node_modules/@rsuite/icons/Reload.js\"));\n\nvar _utils = __webpack_require__(/*! ../utils */ \"./src/utils/index.ts\");\n\nvar _CloseButton = _interopRequireDefault(__webpack_require__(/*! ../CloseButton */ \"./src/CloseButton/index.tsx\"));\n\nvar _jsxFileName = \"/home/runner/work/rsuite/rsuite/src/Uploader/UploadFileItem.tsx\",\n _this = void 0;\n\n/**\n * Format display file size\n * @param size\n */\nvar formatSize = function formatSize(size) {\n if (size === void 0) {\n size = 0;\n }\n\n var K = 1024;\n var M = 1024 * 1024;\n var G = 1024 * 1024 * 1024;\n\n if (size > G) {\n return (size / G).toFixed(2) + \"GB\";\n }\n\n if (size > M) {\n return (size / M).toFixed(2) + \"MB\";\n }\n\n if (size > K) {\n return (size / K).toFixed(2) + \"KB\";\n }\n\n return size + \"B\";\n};\n\nexports.formatSize = formatSize;\n\nvar UploadFileItem = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {\n var _props$as = props.as,\n Component = _props$as === void 0 ? 'div' : _props$as,\n disabled = props.disabled,\n _props$allowReupload = props.allowReupload,\n allowReupload = _props$allowReupload === void 0 ? true : _props$allowReupload,\n file = props.file,\n _props$classPrefix = props.classPrefix,\n classPrefix = _props$classPrefix === void 0 ? 'uploader-file-item' : _props$classPrefix,\n _props$listType = props.listType,\n listType = _props$listType === void 0 ? 'text' : _props$listType,\n className = props.className,\n _props$removable = props.removable,\n removable = _props$removable === void 0 ? true : _props$removable,\n _props$maxPreviewFile = props.maxPreviewFileSize,\n maxPreviewFileSize = _props$maxPreviewFile === void 0 ? 1024 * 1024 * 5 : _props$maxPreviewFile,\n locale = props.locale,\n renderFileInfo = props.renderFileInfo,\n renderThumbnail = props.renderThumbnail,\n onPreview = props.onPreview,\n onCancel = props.onCancel,\n onReupload = props.onReupload,\n rest = (0, _objectWithoutPropertiesLoose2.default)(props, [\"as\", \"disabled\", \"allowReupload\", \"file\", \"classPrefix\", \"listType\", \"className\", \"removable\", \"maxPreviewFileSize\", \"locale\", \"renderFileInfo\", \"renderThumbnail\", \"onPreview\", \"onCancel\", \"onReupload\"]);\n\n var _useClassNames = (0, _utils.useClassNames)(classPrefix),\n merge = _useClassNames.merge,\n withClassPrefix = _useClassNames.withClassPrefix,\n prefix = _useClassNames.prefix;\n\n var classes = merge(className, withClassPrefix(listType, {\n disabled: disabled,\n 'has-error': file.status === 'error'\n }));\n\n var _useState = (0, _react.useState)(file.url ? file.url : null),\n previewImage = _useState[0],\n setPreviewImage = _useState[1];\n /**\n * Get thumbnail of image file\n */\n\n\n var getThumbnail = (0, _react.useCallback)(function (callback) {\n var _file$blobFile;\n\n if (!~['picture-text', 'picture'].indexOf(listType)) {\n return;\n } // The thumbnail file size cannot be larger than the preset value.\n\n\n if (!file.blobFile || (file === null || file === void 0 ? void 0 : (_file$blobFile = file.blobFile) === null || _file$blobFile === void 0 ? void 0 : _file$blobFile.size) > maxPreviewFileSize) {\n return;\n }\n\n (0, _utils.previewFile)(file.blobFile, callback);\n }, [file, listType, maxPreviewFileSize]);\n (0, _react.useEffect)(function () {\n if (!file.url) {\n getThumbnail(function (previewImage) {\n setPreviewImage(previewImage);\n });\n }\n }, [file.url, getThumbnail]);\n var handlePreview = (0, _react.useCallback)(function (event) {\n if (disabled) {\n return;\n }\n\n onPreview === null || onPreview === void 0 ? void 0 : onPreview(file, event);\n }, [disabled, file, onPreview]);\n var handleRemove = (0, _react.useCallback)(function (event) {\n if (disabled) {\n return;\n }\n\n onCancel === null || onCancel === void 0 ? void 0 : onCancel(file.fileKey, event);\n }, [disabled, file.fileKey, onCancel]);\n var handleReupload = (0, _react.useCallback)(function (event) {\n if (disabled) {\n return;\n }\n\n onReupload === null || onReupload === void 0 ? void 0 : onReupload(file, event);\n }, [disabled, file, onReupload]);\n /**\n * Rendering progress bar\n */\n\n var renderProgressBar = function renderProgressBar() {\n var _file$progress = file.progress,\n progress = _file$progress === void 0 ? 0 : _file$progress,\n status = file.status;\n var show = !disabled && status === 'uploading';\n var visibility = show ? 'visible' : 'hidden';\n var wrapStyle = {\n visibility: visibility\n };\n var progressbarStyle = {\n width: progress + \"%\"\n };\n return /*#__PURE__*/_react.default.createElement(\"div\", {\n className: prefix('progress'),\n style: wrapStyle,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 151,\n columnNumber: 7\n }\n }, /*#__PURE__*/_react.default.createElement(\"div\", {\n className: prefix('progress-bar'),\n style: progressbarStyle,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 152,\n columnNumber: 9\n }\n }));\n };\n\n var renderPreview = function renderPreview() {\n var thumbnail = previewImage ? /*#__PURE__*/_react.default.createElement(\"img\", {\n role: \"presentation\",\n src: previewImage,\n alt: file.name,\n onClick: handlePreview,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 159,\n columnNumber: 7\n }\n }) : /*#__PURE__*/_react.default.createElement(_Attachment.default, {\n className: prefix('icon'),\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 161,\n columnNumber: 7\n }\n });\n return /*#__PURE__*/_react.default.createElement(\"div\", {\n className: prefix('preview'),\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 165,\n columnNumber: 7\n }\n }, renderThumbnail ? renderThumbnail(file, thumbnail) : thumbnail);\n };\n /**\n * Render the loading state.\n */\n\n\n var renderIcon = function renderIcon() {\n var uploading = file.status === 'uploading';\n var classes = prefix('icon-wrapper', {\n 'icon-loading': uploading\n });\n\n if (uploading) {\n return /*#__PURE__*/_react.default.createElement(\"div\", {\n className: classes,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 180,\n columnNumber: 9\n }\n }, /*#__PURE__*/_react.default.createElement(\"i\", {\n className: prefix('icon'),\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 181,\n columnNumber: 11\n }\n }));\n }\n\n if (listType === 'picture' || listType === 'picture-text') {\n return null;\n }\n\n return /*#__PURE__*/_react.default.createElement(\"div\", {\n className: classes,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 191,\n columnNumber: 7\n }\n }, /*#__PURE__*/_react.default.createElement(_Attachment.default, {\n className: prefix('icon'),\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 192,\n columnNumber: 9\n }\n }));\n };\n /**\n * Render the remove file button.\n */\n\n\n var renderRemoveButton = function renderRemoveButton() {\n if (!removable) {\n return null;\n }\n\n return /*#__PURE__*/_react.default.createElement(_CloseButton.default, {\n className: prefix('btn-remove'),\n onClick: handleRemove,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 205,\n columnNumber: 12\n }\n });\n };\n /**\n * Render error messages.\n */\n\n\n var renderErrorStatus = function renderErrorStatus() {\n if (file.status === 'error') {\n return /*#__PURE__*/_react.default.createElement(\"div\", {\n className: prefix('status'),\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 214,\n columnNumber: 9\n }\n }, /*#__PURE__*/_react.default.createElement(\"span\", {\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 215,\n columnNumber: 12\n }\n }, locale === null || locale === void 0 ? void 0 : locale.error), allowReupload && /*#__PURE__*/_react.default.createElement(\"a\", {\n role: \"button\",\n tabIndex: -1,\n onClick: handleReupload,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 217,\n columnNumber: 13\n }\n }, /*#__PURE__*/_react.default.createElement(_Reload.default, {\n className: prefix('icon-reupload'),\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 218,\n columnNumber: 15\n }\n })));\n }\n\n return null;\n };\n /**\n * Render file size.\n */\n\n\n var renderFileSize = function renderFileSize() {\n if (file.status !== 'error' && file.blobFile) {\n var _file$blobFile2;\n\n return /*#__PURE__*/_react.default.createElement(\"span\", {\n className: prefix('size'),\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 232,\n columnNumber: 14\n }\n }, formatSize(file === null || file === void 0 ? void 0 : (_file$blobFile2 = file.blobFile) === null || _file$blobFile2 === void 0 ? void 0 : _file$blobFile2.size));\n }\n\n return null;\n };\n /**\n * Render file panel\n */\n\n\n var renderFilePanel = function renderFilePanel() {\n var fileElement = /*#__PURE__*/_react.default.createElement(\"div\", {\n className: prefix('title'),\n onClick: handlePreview,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 242,\n columnNumber: 7\n }\n }, file.name);\n\n return /*#__PURE__*/_react.default.createElement(\"div\", {\n className: prefix('panel'),\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 247,\n columnNumber: 7\n }\n }, /*#__PURE__*/_react.default.createElement(\"div\", {\n className: prefix('content'),\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 248,\n columnNumber: 9\n }\n }, renderFileInfo ? renderFileInfo(file, fileElement) : fileElement, renderErrorStatus(), renderFileSize()));\n };\n\n if (listType === 'picture') {\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: 259,\n columnNumber: 7\n }\n }), renderIcon(), renderPreview(), renderErrorStatus(), renderRemoveButton());\n }\n\n if (listType === 'picture-text') {\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: 270,\n columnNumber: 7\n }\n }), renderIcon(), renderPreview(), renderFilePanel(), renderProgressBar(), renderRemoveButton());\n }\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: 281,\n columnNumber: 5\n }\n }), renderIcon(), renderFilePanel(), renderProgressBar(), renderRemoveButton());\n});\n\nUploadFileItem.displayName = 'UploadFileItem';\nUploadFileItem.propTypes = {\n locale: _propTypes.default.any,\n file: _propTypes.default.object.isRequired,\n listType: _propTypes.default.oneOf(['text', 'picture-text', 'picture']),\n disabled: _propTypes.default.bool,\n className: _propTypes.default.string,\n maxPreviewFileSize: _propTypes.default.number,\n classPrefix: _propTypes.default.string,\n removable: _propTypes.default.bool,\n allowReupload: _propTypes.default.bool,\n renderFileInfo: _propTypes.default.func,\n renderThumbnail: _propTypes.default.func,\n onCancel: _propTypes.default.func,\n onPreview: _propTypes.default.func,\n onReupload: _propTypes.default.func\n};\nvar _default = UploadFileItem;\nexports.default = _default;\n\n//# sourceURL=webpack://rsuite/./src/Uploader/UploadFileItem.tsx?");
4711
4722
 
4712
4723
  /***/ }),
4713
4724
 
@@ -4729,7 +4740,7 @@ eval("\n\nvar _interopRequireDefault = __webpack_require__(/*! @babel/runtime/he
4729
4740
  /***/ (function(__unused_webpack_module, exports, __webpack_require__) {
4730
4741
 
4731
4742
  "use strict";
4732
- 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 _objectWithoutPropertiesLoose2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/objectWithoutPropertiesLoose */ \"./node_modules/@babel/runtime/helpers/objectWithoutPropertiesLoose.js\"));\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 _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ \"./node_modules/prop-types/index.js\"));\n\nvar _find = _interopRequireDefault(__webpack_require__(/*! lodash/find */ \"./node_modules/lodash/find.js\"));\n\nvar _UploadFileItem = _interopRequireDefault(__webpack_require__(/*! ./UploadFileItem */ \"./src/Uploader/UploadFileItem.tsx\"));\n\nvar _UploadTrigger = _interopRequireDefault(__webpack_require__(/*! ./UploadTrigger */ \"./src/Uploader/UploadTrigger.tsx\"));\n\nvar _utils = __webpack_require__(/*! ../utils */ \"./src/utils/index.ts\");\n\nvar _Plaintext = _interopRequireDefault(__webpack_require__(/*! ../Plaintext */ \"./src/Plaintext/index.tsx\"));\n\nvar _jsxFileName = \"/home/runner/work/rsuite/rsuite/src/Uploader/Uploader.tsx\",\n _this = void 0;\n\nvar getFiles = function getFiles(event) {\n if (typeof (event === null || event === void 0 ? void 0 : event['dataTransfer']) === 'object') {\n var _event$dataTransfer;\n\n return event === null || event === void 0 ? void 0 : (_event$dataTransfer = event['dataTransfer']) === null || _event$dataTransfer === void 0 ? void 0 : _event$dataTransfer.files;\n }\n\n if (event.target) {\n return event.target['files'];\n }\n\n return [];\n};\n\nvar createFile = function createFile(file) {\n var fileKey = file.fileKey;\n return (0, _extends2.default)({}, file, {\n fileKey: fileKey || (0, _utils.guid)(),\n progress: 0\n });\n};\n\nfunction fileListReducer(files, action) {\n var _action$files;\n\n switch (action.type) {\n // Add one or more files\n case 'push':\n return [].concat(files, action.files);\n // Remove a file by `fileKey`\n\n case 'remove':\n return files.filter(function (f) {\n return f.fileKey !== action.fileKey;\n });\n // Update a file\n\n case 'updateFile':\n return files.map(function (file) {\n return file.fileKey === action.file.fileKey ? action.file : file;\n });\n // Initialization file list\n\n case 'init':\n return ((_action$files = action.files) === null || _action$files === void 0 ? void 0 : _action$files.map(function (file) {\n // The state of the file needs to be preserved when the `fileList` is controlled.\n return files.find(function (f) {\n return f.fileKey === file.fileKey;\n }) || createFile(file);\n })) || [];\n\n default:\n throw new Error();\n }\n}\n\nvar useFileList = function useFileList(defaultFileList) {\n if (defaultFileList === void 0) {\n defaultFileList = [];\n }\n\n var fileListRef = (0, _react.useRef)(defaultFileList.map(createFile));\n var fileListUpdateCallback = (0, _react.useRef)();\n\n var _useReducer = (0, _react.useReducer)(fileListReducer, fileListRef.current),\n fileList = _useReducer[0],\n dispatch = _useReducer[1];\n\n fileListRef.current = fileList;\n (0, _react.useEffect)(function () {\n var _fileListUpdateCallba;\n\n (_fileListUpdateCallba = fileListUpdateCallback.current) === null || _fileListUpdateCallba === void 0 ? void 0 : _fileListUpdateCallba.call(fileListUpdateCallback, fileList);\n fileListUpdateCallback.current = null;\n }, [fileList]);\n var dispatchCallback = (0, _react.useCallback)(function (action, callback) {\n dispatch(action);\n fileListUpdateCallback.current = callback;\n }, []);\n return [fileListRef, dispatchCallback];\n};\n\nvar Uploader = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {\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 ? 'uploader' : _props$classPrefix,\n className = props.className,\n _props$listType = props.listType,\n listType = _props$listType === void 0 ? 'text' : _props$listType,\n defaultFileList = props.defaultFileList,\n fileListProp = props.fileList,\n _props$fileListVisibl = props.fileListVisible,\n fileListVisible = _props$fileListVisibl === void 0 ? true : _props$fileListVisibl,\n localeProp = props.locale,\n style = props.style,\n draggable = props.draggable,\n _props$name = props.name,\n name = _props$name === void 0 ? 'file' : _props$name,\n _props$multiple = props.multiple,\n multiple = _props$multiple === void 0 ? false : _props$multiple,\n _props$disabled = props.disabled,\n disabled = _props$disabled === void 0 ? false : _props$disabled,\n readOnly = props.readOnly,\n plaintext = props.plaintext,\n accept = props.accept,\n children = props.children,\n toggleAs = props.toggleAs,\n _props$removable = props.removable,\n removable = _props$removable === void 0 ? true : _props$removable,\n disabledFileItem = props.disabledFileItem,\n maxPreviewFileSize = props.maxPreviewFileSize,\n _props$autoUpload = props.autoUpload,\n autoUpload = _props$autoUpload === void 0 ? true : _props$autoUpload,\n action = props.action,\n headers = props.headers,\n _props$withCredential = props.withCredentials,\n withCredentials = _props$withCredential === void 0 ? false : _props$withCredential,\n disableMultipart = props.disableMultipart,\n _props$timeout = props.timeout,\n timeout = _props$timeout === void 0 ? 0 : _props$timeout,\n _props$data = props.data,\n data = _props$data === void 0 ? {} : _props$data,\n onRemove = props.onRemove,\n onUpload = props.onUpload,\n shouldUpload = props.shouldUpload,\n shouldQueueUpdate = props.shouldQueueUpdate,\n renderFileInfo = props.renderFileInfo,\n renderThumbnail = props.renderThumbnail,\n onPreview = props.onPreview,\n onChange = props.onChange,\n onSuccess = props.onSuccess,\n onError = props.onError,\n onProgress = props.onProgress,\n onReupload = props.onReupload,\n rest = (0, _objectWithoutPropertiesLoose2.default)(props, [\"as\", \"classPrefix\", \"className\", \"listType\", \"defaultFileList\", \"fileList\", \"fileListVisible\", \"locale\", \"style\", \"draggable\", \"name\", \"multiple\", \"disabled\", \"readOnly\", \"plaintext\", \"accept\", \"children\", \"toggleAs\", \"removable\", \"disabledFileItem\", \"maxPreviewFileSize\", \"autoUpload\", \"action\", \"headers\", \"withCredentials\", \"disableMultipart\", \"timeout\", \"data\", \"onRemove\", \"onUpload\", \"shouldUpload\", \"shouldQueueUpdate\", \"renderFileInfo\", \"renderThumbnail\", \"onPreview\", \"onChange\", \"onSuccess\", \"onError\", \"onProgress\", \"onReupload\"]);\n\n var _useClassNames = (0, _utils.useClassNames)(classPrefix),\n merge = _useClassNames.merge,\n withClassPrefix = _useClassNames.withClassPrefix,\n prefix = _useClassNames.prefix;\n\n var classes = merge(className, withClassPrefix(listType, {\n draggable: draggable\n }));\n\n var _useCustom = (0, _utils.useCustom)('Uploader', localeProp),\n locale = _useCustom.locale;\n\n var rootRef = (0, _react.useRef)();\n var xhrs = (0, _react.useRef)({});\n var trigger = (0, _react.useRef)();\n\n var _useFileList = useFileList(fileListProp || defaultFileList),\n fileList = _useFileList[0],\n dispatch = _useFileList[1];\n\n (0, _react.useEffect)(function () {\n if (typeof fileListProp !== 'undefined') {\n // Force reset fileList in reducer, when `fileListProp` is updated\n dispatch({\n type: 'init',\n files: fileListProp\n });\n }\n }, [dispatch, fileListProp]);\n var updateFileStatus = (0, _react.useCallback)(function (nextFile) {\n dispatch({\n type: 'updateFile',\n file: nextFile\n });\n }, [dispatch]);\n /**\n * Clear the value in input.\n */\n\n var cleanInputValue = (0, _react.useCallback)(function () {\n trigger.current.clearInput();\n }, []);\n /**\n * Callback for successful file upload.\n * @param file\n * @param response\n * @param event\n * @param xhr\n */\n\n var handleAjaxUploadSuccess = (0, _react.useCallback)(function (file, response, event, xhr) {\n var nextFile = (0, _extends2.default)({}, file, {\n status: 'finished',\n progress: 100\n });\n updateFileStatus(nextFile);\n onSuccess === null || onSuccess === void 0 ? void 0 : onSuccess(response, nextFile, event, xhr);\n }, [onSuccess, updateFileStatus]);\n /**\n * Callback for file upload error.\n * @param file\n * @param status\n * @param event\n * @param xhr\n */\n\n var handleAjaxUploadError = (0, _react.useCallback)(function (file, status, event, xhr) {\n var nextFile = (0, _extends2.default)({}, file, {\n status: 'error'\n });\n updateFileStatus(nextFile);\n onError === null || onError === void 0 ? void 0 : onError(status, nextFile, event, xhr);\n }, [onError, updateFileStatus]);\n /**\n * Callback for file upload progress update.\n * @param file\n * @param percent\n * @param event\n * @param xhr\n */\n\n var handleAjaxUploadProgress = (0, _react.useCallback)(function (file, percent, event, xhr) {\n var nextFile = (0, _extends2.default)({}, file, {\n status: 'uploading',\n progress: percent\n });\n updateFileStatus(nextFile);\n onProgress === null || onProgress === void 0 ? void 0 : onProgress(percent, nextFile, event, xhr);\n }, [onProgress, updateFileStatus]);\n /**\n * Upload a single file.\n * @param file\n */\n\n var handleUploadFile = (0, _react.useCallback)(function (file) {\n var _ajaxUpload = (0, _utils.ajaxUpload)({\n name: name,\n timeout: timeout,\n headers: headers,\n data: data,\n withCredentials: withCredentials,\n disableMultipart: disableMultipart,\n file: file.blobFile,\n url: action,\n onError: handleAjaxUploadError.bind(null, file),\n onSuccess: handleAjaxUploadSuccess.bind(null, file),\n onProgress: handleAjaxUploadProgress.bind(null, file)\n }),\n xhr = _ajaxUpload.xhr,\n uploadData = _ajaxUpload.data;\n\n updateFileStatus((0, _extends2.default)({}, file, {\n status: 'uploading'\n }));\n xhrs.current[file.fileKey] = xhr;\n onUpload === null || onUpload === void 0 ? void 0 : onUpload(file, uploadData, xhr);\n }, [action, data, handleAjaxUploadError, handleAjaxUploadProgress, handleAjaxUploadSuccess, headers, name, onUpload, timeout, updateFileStatus, withCredentials, disableMultipart]);\n var handleAjaxUpload = (0, _react.useCallback)(function () {\n fileList.current.forEach(function (file) {\n var checkState = shouldUpload === null || shouldUpload === void 0 ? void 0 : shouldUpload(file);\n\n if (checkState instanceof Promise) {\n checkState.then(function (res) {\n if (res) {\n handleUploadFile(file);\n }\n });\n return;\n } else if (checkState === false) {\n return;\n }\n\n if (file.status === 'inited') {\n handleUploadFile(file);\n }\n });\n cleanInputValue();\n }, [cleanInputValue, fileList, handleUploadFile, shouldUpload]);\n\n var handleUploadTriggerChange = function handleUploadTriggerChange(event) {\n var files = getFiles(event);\n var newFileList = [];\n Array.from(files).forEach(function (file) {\n newFileList.push({\n blobFile: file,\n name: file.name,\n status: 'inited',\n fileKey: (0, _utils.guid)()\n });\n });\n var nextFileList = [].concat(fileList.current, newFileList);\n var checkState = shouldQueueUpdate === null || shouldQueueUpdate === void 0 ? void 0 : shouldQueueUpdate(nextFileList, newFileList);\n\n if (checkState === false) {\n cleanInputValue();\n return;\n }\n\n var upload = function upload() {\n onChange === null || onChange === void 0 ? void 0 : onChange(nextFileList);\n dispatch({\n type: 'push',\n files: newFileList\n }, function () {\n autoUpload && handleAjaxUpload();\n });\n };\n\n if (checkState instanceof Promise) {\n checkState.then(function (res) {\n res && upload();\n });\n return;\n }\n\n upload();\n };\n\n var handleRemoveFile = function handleRemoveFile(fileKey) {\n var _xhrs$current, _xhrs$current$file$fi;\n\n var file = (0, _find.default)(fileList.current, function (f) {\n return f.fileKey === fileKey;\n });\n var nextFileList = fileList.current.filter(function (f) {\n return f.fileKey !== fileKey;\n });\n\n if (((_xhrs$current = xhrs.current) === null || _xhrs$current === void 0 ? void 0 : (_xhrs$current$file$fi = _xhrs$current[file.fileKey]) === null || _xhrs$current$file$fi === void 0 ? void 0 : _xhrs$current$file$fi.readyState) !== 4) {\n var _xhrs$current$file$fi2;\n\n (_xhrs$current$file$fi2 = xhrs.current[file.fileKey]) === null || _xhrs$current$file$fi2 === void 0 ? void 0 : _xhrs$current$file$fi2.abort();\n }\n\n dispatch({\n type: 'remove',\n fileKey: fileKey\n });\n onRemove === null || onRemove === void 0 ? void 0 : onRemove(file);\n onChange === null || onChange === void 0 ? void 0 : onChange(nextFileList);\n cleanInputValue();\n };\n\n var handleReupload = function handleReupload(file) {\n autoUpload && handleUploadFile(file);\n onReupload === null || onReupload === void 0 ? void 0 : onReupload(file);\n }; // public API\n\n\n var start = function start(file) {\n if (file) {\n handleUploadFile(file);\n return;\n }\n\n handleAjaxUpload();\n };\n\n (0, _react.useImperativeHandle)(ref, function () {\n return {\n root: rootRef.current,\n start: start\n };\n });\n var renderList = [/*#__PURE__*/_react.default.createElement(_UploadTrigger.default, (0, _extends2.default)({}, rest, {\n locale: locale,\n name: name,\n key: \"trigger\",\n multiple: multiple,\n draggable: draggable,\n disabled: disabled,\n readOnly: readOnly,\n accept: accept,\n ref: trigger,\n onChange: handleUploadTriggerChange,\n as: toggleAs,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 510,\n columnNumber: 5\n }\n }), children)];\n\n if (fileListVisible) {\n renderList.push( /*#__PURE__*/_react.default.createElement(\"div\", {\n key: \"items\",\n className: prefix('file-items'),\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 530,\n columnNumber: 7\n }\n }, fileList.current.map(function (file, index) {\n return /*#__PURE__*/_react.default.createElement(_UploadFileItem.default, {\n locale: locale,\n key: file.fileKey || index,\n file: file,\n maxPreviewFileSize: maxPreviewFileSize,\n listType: listType,\n disabled: disabledFileItem,\n onPreview: onPreview,\n onReupload: handleReupload,\n onCancel: handleRemoveFile,\n renderFileInfo: renderFileInfo,\n renderThumbnail: renderThumbnail,\n removable: removable && !readOnly && !plaintext,\n allowReupload: !readOnly && !plaintext,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 532,\n columnNumber: 11\n }\n });\n })));\n }\n\n if (plaintext) {\n return /*#__PURE__*/_react.default.createElement(_Plaintext.default, {\n localeKey: \"notUploaded\",\n className: withClassPrefix(listType),\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 554,\n columnNumber: 7\n }\n }, fileList.current.length ? renderList[1] : null);\n }\n\n if (listType === 'picture') {\n renderList.reverse();\n }\n\n return /*#__PURE__*/_react.default.createElement(Component, {\n ref: rootRef,\n className: classes,\n style: style,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 565,\n columnNumber: 5\n }\n }, renderList);\n});\n\nUploader.displayName = 'Uploader';\nUploader.propTypes = {\n action: _propTypes.default.string.isRequired,\n accept: _propTypes.default.string,\n autoUpload: _propTypes.default.bool,\n children: _propTypes.default.node,\n className: _propTypes.default.string,\n classPrefix: _propTypes.default.string,\n defaultFileList: _propTypes.default.array,\n fileList: _propTypes.default.array,\n data: _propTypes.default.object,\n multiple: _propTypes.default.bool,\n disabled: _propTypes.default.bool,\n disabledFileItem: _propTypes.default.bool,\n name: _propTypes.default.string,\n timeout: _propTypes.default.number,\n withCredentials: _propTypes.default.bool,\n headers: _propTypes.default.object,\n locale: _propTypes.default.any,\n listType: _propTypes.default.oneOf(['text', 'picture-text', 'picture']),\n shouldQueueUpdate: _propTypes.default.func,\n shouldUpload: _propTypes.default.func,\n onChange: _propTypes.default.func,\n onUpload: _propTypes.default.func,\n onReupload: _propTypes.default.func,\n onPreview: _propTypes.default.func,\n onError: _propTypes.default.func,\n onSuccess: _propTypes.default.func,\n onProgress: _propTypes.default.func,\n onRemove: _propTypes.default.func,\n maxPreviewFileSize: _propTypes.default.number,\n style: _propTypes.default.object,\n renderFileInfo: _propTypes.default.func,\n renderThumbnail: _propTypes.default.func,\n removable: _propTypes.default.bool,\n fileListVisible: _propTypes.default.bool,\n draggable: _propTypes.default.bool,\n disableMultipart: _propTypes.default.bool\n};\nvar _default = Uploader;\nexports.default = _default;\n\n//# sourceURL=webpack://rsuite/./src/Uploader/Uploader.tsx?");
4743
+ 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 _objectWithoutPropertiesLoose2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/objectWithoutPropertiesLoose */ \"./node_modules/@babel/runtime/helpers/objectWithoutPropertiesLoose.js\"));\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 _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ \"./node_modules/prop-types/index.js\"));\n\nvar _find = _interopRequireDefault(__webpack_require__(/*! lodash/find */ \"./node_modules/lodash/find.js\"));\n\nvar _UploadFileItem = _interopRequireDefault(__webpack_require__(/*! ./UploadFileItem */ \"./src/Uploader/UploadFileItem.tsx\"));\n\nvar _UploadTrigger = _interopRequireDefault(__webpack_require__(/*! ./UploadTrigger */ \"./src/Uploader/UploadTrigger.tsx\"));\n\nvar _utils = __webpack_require__(/*! ../utils */ \"./src/utils/index.ts\");\n\nvar _Plaintext = _interopRequireDefault(__webpack_require__(/*! ../Plaintext */ \"./src/Plaintext/index.tsx\"));\n\nvar _jsxFileName = \"/home/runner/work/rsuite/rsuite/src/Uploader/Uploader.tsx\",\n _this = void 0;\n\nvar getFiles = function getFiles(event) {\n if (typeof (event === null || event === void 0 ? void 0 : event['dataTransfer']) === 'object') {\n var _event$dataTransfer;\n\n return event === null || event === void 0 ? void 0 : (_event$dataTransfer = event['dataTransfer']) === null || _event$dataTransfer === void 0 ? void 0 : _event$dataTransfer.files;\n }\n\n if (event.target) {\n return event.target['files'];\n }\n\n return [];\n};\n\nvar createFile = function createFile(file) {\n var fileKey = file.fileKey;\n return (0, _extends2.default)({}, file, {\n fileKey: fileKey || (0, _utils.guid)(),\n progress: 0\n });\n};\n\nfunction fileListReducer(files, action) {\n var _action$files;\n\n switch (action.type) {\n // Add one or more files\n case 'push':\n return [].concat(files, action.files);\n // Remove a file by `fileKey`\n\n case 'remove':\n return files.filter(function (f) {\n return f.fileKey !== action.fileKey;\n });\n // Update a file\n\n case 'updateFile':\n return files.map(function (file) {\n return file.fileKey === action.file.fileKey ? action.file : file;\n });\n // Initialization file list\n\n case 'init':\n return ((_action$files = action.files) === null || _action$files === void 0 ? void 0 : _action$files.map(function (file) {\n // The state of the file needs to be preserved when the `fileList` is controlled.\n return files.find(function (f) {\n return f.fileKey === file.fileKey;\n }) || createFile(file);\n })) || [];\n\n default:\n throw new Error();\n }\n}\n\nvar useFileList = function useFileList(defaultFileList) {\n if (defaultFileList === void 0) {\n defaultFileList = [];\n }\n\n var fileListRef = (0, _react.useRef)(defaultFileList.map(createFile));\n var fileListUpdateCallback = (0, _react.useRef)();\n\n var _useReducer = (0, _react.useReducer)(fileListReducer, fileListRef.current),\n fileList = _useReducer[0],\n dispatch = _useReducer[1];\n\n fileListRef.current = fileList;\n (0, _react.useEffect)(function () {\n var _fileListUpdateCallba;\n\n (_fileListUpdateCallba = fileListUpdateCallback.current) === null || _fileListUpdateCallba === void 0 ? void 0 : _fileListUpdateCallba.call(fileListUpdateCallback, fileList);\n fileListUpdateCallback.current = null;\n }, [fileList]);\n (0, _utils.useWillUnmount)(function () {\n fileListUpdateCallback.current = null;\n });\n var dispatchCallback = (0, _react.useCallback)(function (action, callback) {\n dispatch(action);\n fileListUpdateCallback.current = callback;\n }, []);\n return [fileListRef, dispatchCallback];\n};\n\nvar Uploader = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {\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 ? 'uploader' : _props$classPrefix,\n className = props.className,\n _props$listType = props.listType,\n listType = _props$listType === void 0 ? 'text' : _props$listType,\n defaultFileList = props.defaultFileList,\n fileListProp = props.fileList,\n _props$fileListVisibl = props.fileListVisible,\n fileListVisible = _props$fileListVisibl === void 0 ? true : _props$fileListVisibl,\n localeProp = props.locale,\n style = props.style,\n draggable = props.draggable,\n _props$name = props.name,\n name = _props$name === void 0 ? 'file' : _props$name,\n _props$multiple = props.multiple,\n multiple = _props$multiple === void 0 ? false : _props$multiple,\n _props$disabled = props.disabled,\n disabled = _props$disabled === void 0 ? false : _props$disabled,\n readOnly = props.readOnly,\n plaintext = props.plaintext,\n accept = props.accept,\n children = props.children,\n toggleAs = props.toggleAs,\n _props$removable = props.removable,\n removable = _props$removable === void 0 ? true : _props$removable,\n disabledFileItem = props.disabledFileItem,\n maxPreviewFileSize = props.maxPreviewFileSize,\n _props$autoUpload = props.autoUpload,\n autoUpload = _props$autoUpload === void 0 ? true : _props$autoUpload,\n action = props.action,\n headers = props.headers,\n _props$withCredential = props.withCredentials,\n withCredentials = _props$withCredential === void 0 ? false : _props$withCredential,\n disableMultipart = props.disableMultipart,\n _props$timeout = props.timeout,\n timeout = _props$timeout === void 0 ? 0 : _props$timeout,\n _props$data = props.data,\n data = _props$data === void 0 ? {} : _props$data,\n onRemove = props.onRemove,\n onUpload = props.onUpload,\n shouldUpload = props.shouldUpload,\n shouldQueueUpdate = props.shouldQueueUpdate,\n renderFileInfo = props.renderFileInfo,\n renderThumbnail = props.renderThumbnail,\n onPreview = props.onPreview,\n onChange = props.onChange,\n onSuccess = props.onSuccess,\n onError = props.onError,\n onProgress = props.onProgress,\n onReupload = props.onReupload,\n rest = (0, _objectWithoutPropertiesLoose2.default)(props, [\"as\", \"classPrefix\", \"className\", \"listType\", \"defaultFileList\", \"fileList\", \"fileListVisible\", \"locale\", \"style\", \"draggable\", \"name\", \"multiple\", \"disabled\", \"readOnly\", \"plaintext\", \"accept\", \"children\", \"toggleAs\", \"removable\", \"disabledFileItem\", \"maxPreviewFileSize\", \"autoUpload\", \"action\", \"headers\", \"withCredentials\", \"disableMultipart\", \"timeout\", \"data\", \"onRemove\", \"onUpload\", \"shouldUpload\", \"shouldQueueUpdate\", \"renderFileInfo\", \"renderThumbnail\", \"onPreview\", \"onChange\", \"onSuccess\", \"onError\", \"onProgress\", \"onReupload\"]);\n\n var _useClassNames = (0, _utils.useClassNames)(classPrefix),\n merge = _useClassNames.merge,\n withClassPrefix = _useClassNames.withClassPrefix,\n prefix = _useClassNames.prefix;\n\n var classes = merge(className, withClassPrefix(listType, {\n draggable: draggable\n }));\n\n var _useCustom = (0, _utils.useCustom)('Uploader', localeProp),\n locale = _useCustom.locale;\n\n var rootRef = (0, _react.useRef)();\n var xhrs = (0, _react.useRef)({});\n var trigger = (0, _react.useRef)();\n\n var _useFileList = useFileList(fileListProp || defaultFileList),\n fileList = _useFileList[0],\n dispatch = _useFileList[1];\n\n (0, _react.useEffect)(function () {\n if (typeof fileListProp !== 'undefined') {\n // Force reset fileList in reducer, when `fileListProp` is updated\n dispatch({\n type: 'init',\n files: fileListProp\n });\n }\n }, [dispatch, fileListProp]);\n var updateFileStatus = (0, _react.useCallback)(function (nextFile) {\n dispatch({\n type: 'updateFile',\n file: nextFile\n });\n }, [dispatch]);\n /**\n * Clear the value in input.\n */\n\n var cleanInputValue = (0, _react.useCallback)(function () {\n trigger.current.clearInput();\n }, []);\n /**\n * Callback for successful file upload.\n * @param file\n * @param response\n * @param event\n * @param xhr\n */\n\n var handleAjaxUploadSuccess = (0, _react.useCallback)(function (file, response, event, xhr) {\n var nextFile = (0, _extends2.default)({}, file, {\n status: 'finished',\n progress: 100\n });\n updateFileStatus(nextFile);\n onSuccess === null || onSuccess === void 0 ? void 0 : onSuccess(response, nextFile, event, xhr);\n }, [onSuccess, updateFileStatus]);\n /**\n * Callback for file upload error.\n * @param file\n * @param status\n * @param event\n * @param xhr\n */\n\n var handleAjaxUploadError = (0, _react.useCallback)(function (file, status, event, xhr) {\n var nextFile = (0, _extends2.default)({}, file, {\n status: 'error'\n });\n updateFileStatus(nextFile);\n onError === null || onError === void 0 ? void 0 : onError(status, nextFile, event, xhr);\n }, [onError, updateFileStatus]);\n /**\n * Callback for file upload progress update.\n * @param file\n * @param percent\n * @param event\n * @param xhr\n */\n\n var handleAjaxUploadProgress = (0, _react.useCallback)(function (file, percent, event, xhr) {\n var nextFile = (0, _extends2.default)({}, file, {\n status: 'uploading',\n progress: percent\n });\n updateFileStatus(nextFile);\n onProgress === null || onProgress === void 0 ? void 0 : onProgress(percent, nextFile, event, xhr);\n }, [onProgress, updateFileStatus]);\n /**\n * Upload a single file.\n * @param file\n */\n\n var handleUploadFile = (0, _react.useCallback)(function (file) {\n var _ajaxUpload = (0, _utils.ajaxUpload)({\n name: name,\n timeout: timeout,\n headers: headers,\n data: data,\n withCredentials: withCredentials,\n disableMultipart: disableMultipart,\n file: file.blobFile,\n url: action,\n onError: handleAjaxUploadError.bind(null, file),\n onSuccess: handleAjaxUploadSuccess.bind(null, file),\n onProgress: handleAjaxUploadProgress.bind(null, file)\n }),\n xhr = _ajaxUpload.xhr,\n uploadData = _ajaxUpload.data;\n\n updateFileStatus((0, _extends2.default)({}, file, {\n status: 'uploading'\n }));\n xhrs.current[file.fileKey] = xhr;\n onUpload === null || onUpload === void 0 ? void 0 : onUpload(file, uploadData, xhr);\n }, [action, data, handleAjaxUploadError, handleAjaxUploadProgress, handleAjaxUploadSuccess, headers, name, onUpload, timeout, updateFileStatus, withCredentials, disableMultipart]);\n var handleAjaxUpload = (0, _react.useCallback)(function () {\n fileList.current.forEach(function (file) {\n var checkState = shouldUpload === null || shouldUpload === void 0 ? void 0 : shouldUpload(file);\n\n if (checkState instanceof Promise) {\n checkState.then(function (res) {\n if (res) {\n handleUploadFile(file);\n }\n });\n return;\n } else if (checkState === false) {\n return;\n }\n\n if (file.status === 'inited') {\n handleUploadFile(file);\n }\n });\n cleanInputValue();\n }, [cleanInputValue, fileList, handleUploadFile, shouldUpload]);\n\n var handleUploadTriggerChange = function handleUploadTriggerChange(event) {\n var files = getFiles(event);\n var newFileList = [];\n Array.from(files).forEach(function (file) {\n newFileList.push({\n blobFile: file,\n name: file.name,\n status: 'inited',\n fileKey: (0, _utils.guid)()\n });\n });\n var nextFileList = [].concat(fileList.current, newFileList);\n var checkState = shouldQueueUpdate === null || shouldQueueUpdate === void 0 ? void 0 : shouldQueueUpdate(nextFileList, newFileList);\n\n if (checkState === false) {\n cleanInputValue();\n return;\n }\n\n var upload = function upload() {\n onChange === null || onChange === void 0 ? void 0 : onChange(nextFileList);\n dispatch({\n type: 'push',\n files: newFileList\n }, function () {\n autoUpload && handleAjaxUpload();\n });\n };\n\n if (checkState instanceof Promise) {\n checkState.then(function (res) {\n res && upload();\n });\n return;\n }\n\n upload();\n };\n\n var handleRemoveFile = function handleRemoveFile(fileKey) {\n var _xhrs$current, _xhrs$current$file$fi;\n\n var file = (0, _find.default)(fileList.current, function (f) {\n return f.fileKey === fileKey;\n });\n var nextFileList = fileList.current.filter(function (f) {\n return f.fileKey !== fileKey;\n });\n\n if (((_xhrs$current = xhrs.current) === null || _xhrs$current === void 0 ? void 0 : (_xhrs$current$file$fi = _xhrs$current[file.fileKey]) === null || _xhrs$current$file$fi === void 0 ? void 0 : _xhrs$current$file$fi.readyState) !== 4) {\n var _xhrs$current$file$fi2;\n\n (_xhrs$current$file$fi2 = xhrs.current[file.fileKey]) === null || _xhrs$current$file$fi2 === void 0 ? void 0 : _xhrs$current$file$fi2.abort();\n }\n\n dispatch({\n type: 'remove',\n fileKey: fileKey\n });\n onRemove === null || onRemove === void 0 ? void 0 : onRemove(file);\n onChange === null || onChange === void 0 ? void 0 : onChange(nextFileList);\n cleanInputValue();\n };\n\n var handleReupload = function handleReupload(file) {\n autoUpload && handleUploadFile(file);\n onReupload === null || onReupload === void 0 ? void 0 : onReupload(file);\n }; // public API\n\n\n var start = function start(file) {\n if (file) {\n handleUploadFile(file);\n return;\n }\n\n handleAjaxUpload();\n };\n\n (0, _react.useImperativeHandle)(ref, function () {\n return {\n root: rootRef.current,\n start: start\n };\n });\n var renderList = [/*#__PURE__*/_react.default.createElement(_UploadTrigger.default, (0, _extends2.default)({}, rest, {\n locale: locale,\n name: name,\n key: \"trigger\",\n multiple: multiple,\n draggable: draggable,\n disabled: disabled,\n readOnly: readOnly,\n accept: accept,\n ref: trigger,\n onChange: handleUploadTriggerChange,\n as: toggleAs,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 514,\n columnNumber: 5\n }\n }), children)];\n\n if (fileListVisible) {\n renderList.push( /*#__PURE__*/_react.default.createElement(\"div\", {\n key: \"items\",\n className: prefix('file-items'),\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 534,\n columnNumber: 7\n }\n }, fileList.current.map(function (file, index) {\n return /*#__PURE__*/_react.default.createElement(_UploadFileItem.default, {\n locale: locale,\n key: file.fileKey || index,\n file: file,\n maxPreviewFileSize: maxPreviewFileSize,\n listType: listType,\n disabled: disabledFileItem,\n onPreview: onPreview,\n onReupload: handleReupload,\n onCancel: handleRemoveFile,\n renderFileInfo: renderFileInfo,\n renderThumbnail: renderThumbnail,\n removable: removable && !readOnly && !plaintext,\n allowReupload: !readOnly && !plaintext,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 536,\n columnNumber: 11\n }\n });\n })));\n }\n\n if (plaintext) {\n return /*#__PURE__*/_react.default.createElement(_Plaintext.default, {\n localeKey: \"notUploaded\",\n className: withClassPrefix(listType),\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 558,\n columnNumber: 7\n }\n }, fileList.current.length ? renderList[1] : null);\n }\n\n if (listType === 'picture') {\n renderList.reverse();\n }\n\n return /*#__PURE__*/_react.default.createElement(Component, {\n ref: rootRef,\n className: classes,\n style: style,\n __self: _this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 569,\n columnNumber: 5\n }\n }, renderList);\n});\n\nUploader.displayName = 'Uploader';\nUploader.propTypes = {\n action: _propTypes.default.string.isRequired,\n accept: _propTypes.default.string,\n autoUpload: _propTypes.default.bool,\n children: _propTypes.default.node,\n className: _propTypes.default.string,\n classPrefix: _propTypes.default.string,\n defaultFileList: _propTypes.default.array,\n fileList: _propTypes.default.array,\n data: _propTypes.default.object,\n multiple: _propTypes.default.bool,\n disabled: _propTypes.default.bool,\n disabledFileItem: _propTypes.default.bool,\n name: _propTypes.default.string,\n timeout: _propTypes.default.number,\n withCredentials: _propTypes.default.bool,\n headers: _propTypes.default.object,\n locale: _propTypes.default.any,\n listType: _propTypes.default.oneOf(['text', 'picture-text', 'picture']),\n shouldQueueUpdate: _propTypes.default.func,\n shouldUpload: _propTypes.default.func,\n onChange: _propTypes.default.func,\n onUpload: _propTypes.default.func,\n onReupload: _propTypes.default.func,\n onPreview: _propTypes.default.func,\n onError: _propTypes.default.func,\n onSuccess: _propTypes.default.func,\n onProgress: _propTypes.default.func,\n onRemove: _propTypes.default.func,\n maxPreviewFileSize: _propTypes.default.number,\n style: _propTypes.default.object,\n renderFileInfo: _propTypes.default.func,\n renderThumbnail: _propTypes.default.func,\n removable: _propTypes.default.bool,\n fileListVisible: _propTypes.default.bool,\n draggable: _propTypes.default.bool,\n disableMultipart: _propTypes.default.bool\n};\nvar _default = Uploader;\nexports.default = _default;\n\n//# sourceURL=webpack://rsuite/./src/Uploader/Uploader.tsx?");
4733
4744
 
4734
4745
  /***/ }),
4735
4746
 
@@ -5037,7 +5048,7 @@ eval("\n\nvar _interopRequireDefault = __webpack_require__(/*! @babel/runtime/he
5037
5048
  /***/ (function(__unused_webpack_module, exports, __webpack_require__) {
5038
5049
 
5039
5050
  "use strict";
5040
- 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;\nvar _exportNames = {\n guid: true,\n prefix: true,\n createChainedFunction: true,\n isOneOf: true,\n ReactChildren: true,\n tplTransform: true,\n ajaxUpload: true,\n previewFile: true,\n getDataGroupBy: true,\n clone: true,\n placementPolyfill: true,\n getDOMNode: true,\n mergeRefs: true,\n shallowEqual: true,\n shallowEqualArray: true,\n composeFunctions: true,\n reactToString: true,\n scrollTopAnimation: true,\n appendTooltip: true,\n useClassNames: true,\n useEventListener: true,\n useElementResize: true,\n useCustom: true,\n usePortal: true,\n createComponent: true,\n useTimeout: true,\n useControlled: true,\n useRootClose: true,\n getSafeRegExpString: true,\n stringToObject: true,\n useEventCallback: true,\n useUpdatedRef: true,\n useWillUnmount: true,\n useUpdateEffect: true,\n useIsMounted: true,\n defaultClassPrefix: true,\n getClassNamePrefix: true,\n globalKey: true,\n DateUtils: true,\n TypeChecker: true\n};\nexports.TypeChecker = exports.DateUtils = exports.globalKey = exports.getClassNamePrefix = exports.defaultClassPrefix = exports.useIsMounted = exports.useUpdateEffect = exports.useWillUnmount = exports.useUpdatedRef = exports.useEventCallback = exports.stringToObject = exports.getSafeRegExpString = exports.useRootClose = exports.useControlled = exports.useTimeout = exports.createComponent = exports.usePortal = exports.useCustom = exports.useElementResize = exports.useEventListener = exports.useClassNames = exports.appendTooltip = exports.scrollTopAnimation = exports.reactToString = exports.composeFunctions = exports.shallowEqualArray = exports.shallowEqual = exports.mergeRefs = exports.getDOMNode = exports.placementPolyfill = exports.clone = exports.getDataGroupBy = exports.previewFile = exports.ajaxUpload = exports.tplTransform = exports.ReactChildren = exports.isOneOf = exports.createChainedFunction = exports.prefix = exports.guid = void 0;\n\nvar _BrowserDetection = __webpack_require__(/*! ./BrowserDetection */ \"./src/utils/BrowserDetection.ts\");\n\nObject.keys(_BrowserDetection).forEach(function (key) {\n if (key === \"default\" || key === \"__esModule\") return;\n if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;\n if (key in exports && exports[key] === _BrowserDetection[key]) return;\n exports[key] = _BrowserDetection[key];\n});\n\nvar _htmlPropsUtils = __webpack_require__(/*! ./htmlPropsUtils */ \"./src/utils/htmlPropsUtils.ts\");\n\nObject.keys(_htmlPropsUtils).forEach(function (key) {\n if (key === \"default\" || key === \"__esModule\") return;\n if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;\n if (key in exports && exports[key] === _htmlPropsUtils[key]) return;\n exports[key] = _htmlPropsUtils[key];\n});\n\nvar _constants = __webpack_require__(/*! ./constants */ \"./src/utils/constants.ts\");\n\nObject.keys(_constants).forEach(function (key) {\n if (key === \"default\" || key === \"__esModule\") return;\n if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;\n if (key in exports && exports[key] === _constants[key]) return;\n exports[key] = _constants[key];\n});\n\nvar _DateUtils = _interopRequireWildcard(__webpack_require__(/*! ./dateUtils */ \"./src/utils/dateUtils.ts\"));\n\nexports.DateUtils = _DateUtils;\n\nvar _TypeChecker = _interopRequireWildcard(__webpack_require__(/*! ./propTypeChecker */ \"./src/utils/propTypeChecker.ts\"));\n\nexports.TypeChecker = _TypeChecker;\n\nvar _statusIcons = __webpack_require__(/*! ./statusIcons */ \"./src/utils/statusIcons.tsx\");\n\nObject.keys(_statusIcons).forEach(function (key) {\n if (key === \"default\" || key === \"__esModule\") return;\n if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;\n if (key in exports && exports[key] === _statusIcons[key]) return;\n exports[key] = _statusIcons[key];\n});\n\nvar _guid = _interopRequireDefault(__webpack_require__(/*! ./guid */ \"./src/utils/guid.ts\"));\n\nexports.guid = _guid.default;\n\nvar _prefix = _interopRequireWildcard(__webpack_require__(/*! ./prefix */ \"./src/utils/prefix.ts\"));\n\nexports.prefix = _prefix.default;\nexports.defaultClassPrefix = _prefix.defaultClassPrefix;\nexports.getClassNamePrefix = _prefix.getClassNamePrefix;\nexports.globalKey = _prefix.globalKey;\n\nvar _createChainedFunction = _interopRequireDefault(__webpack_require__(/*! ./createChainedFunction */ \"./src/utils/createChainedFunction.ts\"));\n\nexports.createChainedFunction = _createChainedFunction.default;\n\nvar _isOneOf = _interopRequireDefault(__webpack_require__(/*! ./isOneOf */ \"./src/utils/isOneOf.ts\"));\n\nexports.isOneOf = _isOneOf.default;\n\nvar _ReactChildren = _interopRequireDefault(__webpack_require__(/*! ./ReactChildren */ \"./src/utils/ReactChildren.tsx\"));\n\nexports.ReactChildren = _ReactChildren.default;\n\nvar _tplTransform = _interopRequireDefault(__webpack_require__(/*! ./tplTransform */ \"./src/utils/tplTransform.tsx\"));\n\nexports.tplTransform = _tplTransform.default;\n\nvar _ajaxUpload = _interopRequireDefault(__webpack_require__(/*! ./ajaxUpload */ \"./src/utils/ajaxUpload.ts\"));\n\nexports.ajaxUpload = _ajaxUpload.default;\n\nvar _previewFile = _interopRequireDefault(__webpack_require__(/*! ./previewFile */ \"./src/utils/previewFile.ts\"));\n\nexports.previewFile = _previewFile.default;\n\nvar _getDataGroupBy = _interopRequireDefault(__webpack_require__(/*! ./getDataGroupBy */ \"./src/utils/getDataGroupBy.ts\"));\n\nexports.getDataGroupBy = _getDataGroupBy.default;\n\nvar _clone = _interopRequireDefault(__webpack_require__(/*! ./clone */ \"./src/utils/clone.ts\"));\n\nexports.clone = _clone.default;\n\nvar _placementPolyfill = _interopRequireDefault(__webpack_require__(/*! ./placementPolyfill */ \"./src/utils/placementPolyfill.ts\"));\n\nexports.placementPolyfill = _placementPolyfill.default;\n\nvar _getDOMNode = _interopRequireDefault(__webpack_require__(/*! ./getDOMNode */ \"./src/utils/getDOMNode.ts\"));\n\nexports.getDOMNode = _getDOMNode.default;\n\nvar _mergeRefs = _interopRequireDefault(__webpack_require__(/*! ./mergeRefs */ \"./src/utils/mergeRefs.ts\"));\n\nexports.mergeRefs = _mergeRefs.default;\n\nvar _shallowEqual = _interopRequireDefault(__webpack_require__(/*! ./shallowEqual */ \"./src/utils/shallowEqual.ts\"));\n\nexports.shallowEqual = _shallowEqual.default;\n\nvar _shallowEqualArray = _interopRequireDefault(__webpack_require__(/*! ./shallowEqualArray */ \"./src/utils/shallowEqualArray.ts\"));\n\nexports.shallowEqualArray = _shallowEqualArray.default;\n\nvar _composeFunctions = _interopRequireDefault(__webpack_require__(/*! ./composeFunctions */ \"./src/utils/composeFunctions.ts\"));\n\nexports.composeFunctions = _composeFunctions.default;\n\nvar _reactToString = _interopRequireDefault(__webpack_require__(/*! ./reactToString */ \"./src/utils/reactToString.ts\"));\n\nexports.reactToString = _reactToString.default;\n\nvar _scrollTopAnimation = _interopRequireDefault(__webpack_require__(/*! ./scrollTopAnimation */ \"./src/utils/scrollTopAnimation.ts\"));\n\nexports.scrollTopAnimation = _scrollTopAnimation.default;\n\nvar _appendTooltip = _interopRequireDefault(__webpack_require__(/*! ./appendTooltip */ \"./src/utils/appendTooltip.tsx\"));\n\nexports.appendTooltip = _appendTooltip.default;\n\nvar _useClassNames = _interopRequireDefault(__webpack_require__(/*! ./useClassNames */ \"./src/utils/useClassNames.ts\"));\n\nexports.useClassNames = _useClassNames.default;\n\nvar _useEventListener = _interopRequireDefault(__webpack_require__(/*! ./useEventListener */ \"./src/utils/useEventListener.ts\"));\n\nexports.useEventListener = _useEventListener.default;\n\nvar _useElementResize = _interopRequireDefault(__webpack_require__(/*! ./useElementResize */ \"./src/utils/useElementResize.ts\"));\n\nexports.useElementResize = _useElementResize.default;\n\nvar _useCustom = _interopRequireDefault(__webpack_require__(/*! ./useCustom */ \"./src/utils/useCustom.ts\"));\n\nexports.useCustom = _useCustom.default;\n\nvar _usePortal = _interopRequireDefault(__webpack_require__(/*! ./usePortal */ \"./src/utils/usePortal.tsx\"));\n\nexports.usePortal = _usePortal.default;\n\nvar _createComponent = _interopRequireDefault(__webpack_require__(/*! ./createComponent */ \"./src/utils/createComponent.tsx\"));\n\nexports.createComponent = _createComponent.default;\n\nvar _useTimeout = _interopRequireDefault(__webpack_require__(/*! ./useTimeout */ \"./src/utils/useTimeout.ts\"));\n\nexports.useTimeout = _useTimeout.default;\n\nvar _useControlled = _interopRequireDefault(__webpack_require__(/*! ./useControlled */ \"./src/utils/useControlled.ts\"));\n\nexports.useControlled = _useControlled.default;\n\nvar _useRootClose = _interopRequireDefault(__webpack_require__(/*! ./useRootClose */ \"./src/utils/useRootClose.ts\"));\n\nexports.useRootClose = _useRootClose.default;\n\nvar _getSafeRegExpString = _interopRequireDefault(__webpack_require__(/*! ./getSafeRegExpString */ \"./src/utils/getSafeRegExpString.ts\"));\n\nexports.getSafeRegExpString = _getSafeRegExpString.default;\n\nvar _stringToObject = _interopRequireDefault(__webpack_require__(/*! ./stringToObject */ \"./src/utils/stringToObject.ts\"));\n\nexports.stringToObject = _stringToObject.default;\n\nvar _useEventCallback = _interopRequireDefault(__webpack_require__(/*! ./useEventCallback */ \"./src/utils/useEventCallback.ts\"));\n\nexports.useEventCallback = _useEventCallback.default;\n\nvar _useUpdatedRef = _interopRequireDefault(__webpack_require__(/*! ./useUpdatedRef */ \"./src/utils/useUpdatedRef.ts\"));\n\nexports.useUpdatedRef = _useUpdatedRef.default;\n\nvar _useWillUnmount = _interopRequireDefault(__webpack_require__(/*! ./useWillUnmount */ \"./src/utils/useWillUnmount.ts\"));\n\nexports.useWillUnmount = _useWillUnmount.default;\n\nvar _useUpdateEffect = _interopRequireDefault(__webpack_require__(/*! ./useUpdateEffect */ \"./src/utils/useUpdateEffect.ts\"));\n\nexports.useUpdateEffect = _useUpdateEffect.default;\n\nvar _useIsMounted = _interopRequireDefault(__webpack_require__(/*! ./useIsMounted */ \"./src/utils/useIsMounted.ts\"));\n\nexports.useIsMounted = _useIsMounted.default;\n\n//# sourceURL=webpack://rsuite/./src/utils/index.ts?");
5051
+ 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;\nvar _exportNames = {\n guid: true,\n prefix: true,\n createChainedFunction: true,\n isOneOf: true,\n ReactChildren: true,\n tplTransform: true,\n ajaxUpload: true,\n previewFile: true,\n getDataGroupBy: true,\n clone: true,\n placementPolyfill: true,\n getDOMNode: true,\n mergeRefs: true,\n shallowEqual: true,\n shallowEqualArray: true,\n composeFunctions: true,\n reactToString: true,\n scrollTopAnimation: true,\n appendTooltip: true,\n useClassNames: true,\n useEventListener: true,\n useElementResize: true,\n useCustom: true,\n usePortal: true,\n createComponent: true,\n useTimeout: true,\n useControlled: true,\n useRootClose: true,\n getSafeRegExpString: true,\n stringToObject: true,\n useEventCallback: true,\n useUpdatedRef: true,\n useWillUnmount: true,\n useUpdateEffect: true,\n useIsMounted: true,\n useMount: true,\n defaultClassPrefix: true,\n getClassNamePrefix: true,\n globalKey: true,\n DateUtils: true,\n TypeChecker: true\n};\nexports.TypeChecker = exports.DateUtils = exports.globalKey = exports.getClassNamePrefix = exports.defaultClassPrefix = exports.useMount = exports.useIsMounted = exports.useUpdateEffect = exports.useWillUnmount = exports.useUpdatedRef = exports.useEventCallback = exports.stringToObject = exports.getSafeRegExpString = exports.useRootClose = exports.useControlled = exports.useTimeout = exports.createComponent = exports.usePortal = exports.useCustom = exports.useElementResize = exports.useEventListener = exports.useClassNames = exports.appendTooltip = exports.scrollTopAnimation = exports.reactToString = exports.composeFunctions = exports.shallowEqualArray = exports.shallowEqual = exports.mergeRefs = exports.getDOMNode = exports.placementPolyfill = exports.clone = exports.getDataGroupBy = exports.previewFile = exports.ajaxUpload = exports.tplTransform = exports.ReactChildren = exports.isOneOf = exports.createChainedFunction = exports.prefix = exports.guid = void 0;\n\nvar _BrowserDetection = __webpack_require__(/*! ./BrowserDetection */ \"./src/utils/BrowserDetection.ts\");\n\nObject.keys(_BrowserDetection).forEach(function (key) {\n if (key === \"default\" || key === \"__esModule\") return;\n if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;\n if (key in exports && exports[key] === _BrowserDetection[key]) return;\n exports[key] = _BrowserDetection[key];\n});\n\nvar _htmlPropsUtils = __webpack_require__(/*! ./htmlPropsUtils */ \"./src/utils/htmlPropsUtils.ts\");\n\nObject.keys(_htmlPropsUtils).forEach(function (key) {\n if (key === \"default\" || key === \"__esModule\") return;\n if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;\n if (key in exports && exports[key] === _htmlPropsUtils[key]) return;\n exports[key] = _htmlPropsUtils[key];\n});\n\nvar _constants = __webpack_require__(/*! ./constants */ \"./src/utils/constants.ts\");\n\nObject.keys(_constants).forEach(function (key) {\n if (key === \"default\" || key === \"__esModule\") return;\n if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;\n if (key in exports && exports[key] === _constants[key]) return;\n exports[key] = _constants[key];\n});\n\nvar _DateUtils = _interopRequireWildcard(__webpack_require__(/*! ./dateUtils */ \"./src/utils/dateUtils.ts\"));\n\nexports.DateUtils = _DateUtils;\n\nvar _TypeChecker = _interopRequireWildcard(__webpack_require__(/*! ./propTypeChecker */ \"./src/utils/propTypeChecker.ts\"));\n\nexports.TypeChecker = _TypeChecker;\n\nvar _statusIcons = __webpack_require__(/*! ./statusIcons */ \"./src/utils/statusIcons.tsx\");\n\nObject.keys(_statusIcons).forEach(function (key) {\n if (key === \"default\" || key === \"__esModule\") return;\n if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;\n if (key in exports && exports[key] === _statusIcons[key]) return;\n exports[key] = _statusIcons[key];\n});\n\nvar _guid = _interopRequireDefault(__webpack_require__(/*! ./guid */ \"./src/utils/guid.ts\"));\n\nexports.guid = _guid.default;\n\nvar _prefix = _interopRequireWildcard(__webpack_require__(/*! ./prefix */ \"./src/utils/prefix.ts\"));\n\nexports.prefix = _prefix.default;\nexports.defaultClassPrefix = _prefix.defaultClassPrefix;\nexports.getClassNamePrefix = _prefix.getClassNamePrefix;\nexports.globalKey = _prefix.globalKey;\n\nvar _createChainedFunction = _interopRequireDefault(__webpack_require__(/*! ./createChainedFunction */ \"./src/utils/createChainedFunction.ts\"));\n\nexports.createChainedFunction = _createChainedFunction.default;\n\nvar _isOneOf = _interopRequireDefault(__webpack_require__(/*! ./isOneOf */ \"./src/utils/isOneOf.ts\"));\n\nexports.isOneOf = _isOneOf.default;\n\nvar _ReactChildren = _interopRequireDefault(__webpack_require__(/*! ./ReactChildren */ \"./src/utils/ReactChildren.tsx\"));\n\nexports.ReactChildren = _ReactChildren.default;\n\nvar _tplTransform = _interopRequireDefault(__webpack_require__(/*! ./tplTransform */ \"./src/utils/tplTransform.tsx\"));\n\nexports.tplTransform = _tplTransform.default;\n\nvar _ajaxUpload = _interopRequireDefault(__webpack_require__(/*! ./ajaxUpload */ \"./src/utils/ajaxUpload.ts\"));\n\nexports.ajaxUpload = _ajaxUpload.default;\n\nvar _previewFile = _interopRequireDefault(__webpack_require__(/*! ./previewFile */ \"./src/utils/previewFile.ts\"));\n\nexports.previewFile = _previewFile.default;\n\nvar _getDataGroupBy = _interopRequireDefault(__webpack_require__(/*! ./getDataGroupBy */ \"./src/utils/getDataGroupBy.ts\"));\n\nexports.getDataGroupBy = _getDataGroupBy.default;\n\nvar _clone = _interopRequireDefault(__webpack_require__(/*! ./clone */ \"./src/utils/clone.ts\"));\n\nexports.clone = _clone.default;\n\nvar _placementPolyfill = _interopRequireDefault(__webpack_require__(/*! ./placementPolyfill */ \"./src/utils/placementPolyfill.ts\"));\n\nexports.placementPolyfill = _placementPolyfill.default;\n\nvar _getDOMNode = _interopRequireDefault(__webpack_require__(/*! ./getDOMNode */ \"./src/utils/getDOMNode.ts\"));\n\nexports.getDOMNode = _getDOMNode.default;\n\nvar _mergeRefs = _interopRequireDefault(__webpack_require__(/*! ./mergeRefs */ \"./src/utils/mergeRefs.ts\"));\n\nexports.mergeRefs = _mergeRefs.default;\n\nvar _shallowEqual = _interopRequireDefault(__webpack_require__(/*! ./shallowEqual */ \"./src/utils/shallowEqual.ts\"));\n\nexports.shallowEqual = _shallowEqual.default;\n\nvar _shallowEqualArray = _interopRequireDefault(__webpack_require__(/*! ./shallowEqualArray */ \"./src/utils/shallowEqualArray.ts\"));\n\nexports.shallowEqualArray = _shallowEqualArray.default;\n\nvar _composeFunctions = _interopRequireDefault(__webpack_require__(/*! ./composeFunctions */ \"./src/utils/composeFunctions.ts\"));\n\nexports.composeFunctions = _composeFunctions.default;\n\nvar _reactToString = _interopRequireDefault(__webpack_require__(/*! ./reactToString */ \"./src/utils/reactToString.ts\"));\n\nexports.reactToString = _reactToString.default;\n\nvar _scrollTopAnimation = _interopRequireDefault(__webpack_require__(/*! ./scrollTopAnimation */ \"./src/utils/scrollTopAnimation.ts\"));\n\nexports.scrollTopAnimation = _scrollTopAnimation.default;\n\nvar _appendTooltip = _interopRequireDefault(__webpack_require__(/*! ./appendTooltip */ \"./src/utils/appendTooltip.tsx\"));\n\nexports.appendTooltip = _appendTooltip.default;\n\nvar _useClassNames = _interopRequireDefault(__webpack_require__(/*! ./useClassNames */ \"./src/utils/useClassNames.ts\"));\n\nexports.useClassNames = _useClassNames.default;\n\nvar _useEventListener = _interopRequireDefault(__webpack_require__(/*! ./useEventListener */ \"./src/utils/useEventListener.ts\"));\n\nexports.useEventListener = _useEventListener.default;\n\nvar _useElementResize = _interopRequireDefault(__webpack_require__(/*! ./useElementResize */ \"./src/utils/useElementResize.ts\"));\n\nexports.useElementResize = _useElementResize.default;\n\nvar _useCustom = _interopRequireDefault(__webpack_require__(/*! ./useCustom */ \"./src/utils/useCustom.ts\"));\n\nexports.useCustom = _useCustom.default;\n\nvar _usePortal = _interopRequireDefault(__webpack_require__(/*! ./usePortal */ \"./src/utils/usePortal.tsx\"));\n\nexports.usePortal = _usePortal.default;\n\nvar _createComponent = _interopRequireDefault(__webpack_require__(/*! ./createComponent */ \"./src/utils/createComponent.tsx\"));\n\nexports.createComponent = _createComponent.default;\n\nvar _useTimeout = _interopRequireDefault(__webpack_require__(/*! ./useTimeout */ \"./src/utils/useTimeout.ts\"));\n\nexports.useTimeout = _useTimeout.default;\n\nvar _useControlled = _interopRequireDefault(__webpack_require__(/*! ./useControlled */ \"./src/utils/useControlled.ts\"));\n\nexports.useControlled = _useControlled.default;\n\nvar _useRootClose = _interopRequireDefault(__webpack_require__(/*! ./useRootClose */ \"./src/utils/useRootClose.ts\"));\n\nexports.useRootClose = _useRootClose.default;\n\nvar _getSafeRegExpString = _interopRequireDefault(__webpack_require__(/*! ./getSafeRegExpString */ \"./src/utils/getSafeRegExpString.ts\"));\n\nexports.getSafeRegExpString = _getSafeRegExpString.default;\n\nvar _stringToObject = _interopRequireDefault(__webpack_require__(/*! ./stringToObject */ \"./src/utils/stringToObject.ts\"));\n\nexports.stringToObject = _stringToObject.default;\n\nvar _useEventCallback = _interopRequireDefault(__webpack_require__(/*! ./useEventCallback */ \"./src/utils/useEventCallback.ts\"));\n\nexports.useEventCallback = _useEventCallback.default;\n\nvar _useUpdatedRef = _interopRequireDefault(__webpack_require__(/*! ./useUpdatedRef */ \"./src/utils/useUpdatedRef.ts\"));\n\nexports.useUpdatedRef = _useUpdatedRef.default;\n\nvar _useWillUnmount = _interopRequireDefault(__webpack_require__(/*! ./useWillUnmount */ \"./src/utils/useWillUnmount.ts\"));\n\nexports.useWillUnmount = _useWillUnmount.default;\n\nvar _useUpdateEffect = _interopRequireDefault(__webpack_require__(/*! ./useUpdateEffect */ \"./src/utils/useUpdateEffect.ts\"));\n\nexports.useUpdateEffect = _useUpdateEffect.default;\n\nvar _useIsMounted = _interopRequireDefault(__webpack_require__(/*! ./useIsMounted */ \"./src/utils/useIsMounted.ts\"));\n\nexports.useIsMounted = _useIsMounted.default;\n\nvar _useMount = _interopRequireDefault(__webpack_require__(/*! ./useMount */ \"./src/utils/useMount.ts\"));\n\nexports.useMount = _useMount.default;\n\n//# sourceURL=webpack://rsuite/./src/utils/index.ts?");
5041
5052
 
5042
5053
  /***/ }),
5043
5054
 
@@ -5103,7 +5114,7 @@ eval("\n\nexports.__esModule = true;\nexports.isImage = isImage;\nexports.defaul
5103
5114
  /***/ (function(__unused_webpack_module, exports, __webpack_require__) {
5104
5115
 
5105
5116
  "use strict";
5106
- eval("\n\nvar _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ \"./node_modules/@babel/runtime/helpers/interopRequireDefault.js\");\n\nexports.__esModule = true;\nexports.tupleType = tupleType;\nexports.refType = void 0;\n\nvar _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ \"./node_modules/prop-types/index.js\"));\n\nvar ANONYMOUS = '';\n\nfunction createChainableTypeChecker(validate) {\n function checkType(isRequired, props, propName, componentName, location, propFullName) {\n componentName = componentName || ANONYMOUS;\n propFullName = propFullName || propName;\n\n if (props[propName] == null) {\n if (isRequired) {\n if (props[propName] === null) {\n return new Error('The ' + location + ' `' + propFullName + '` is marked as required ' + ('in `' + componentName + '`, but its value is `null`.'));\n }\n\n return new Error('The ' + location + ' `' + propFullName + '` is marked as required in ' + ('`' + componentName + '`, but its value is `undefined`.'));\n }\n\n return null;\n } else {\n return validate(props, propName, componentName, location, propFullName);\n }\n }\n\n var chainedCheckType = Object.assign(checkType.bind(null, false), {\n isRequired: checkType.bind(null, true)\n });\n return chainedCheckType;\n}\n\nfunction tupleType() {\n for (var _len = arguments.length, types = new Array(_len), _key = 0; _key < _len; _key++) {\n types[_key] = arguments[_key];\n }\n\n return createChainableTypeChecker(function (props, propName, componentName, location, propFullName) {\n var value = props[propName];\n\n if (!location) {\n location = 'prop';\n }\n\n if (!propFullName) {\n propFullName = propName;\n }\n\n if (!Array.isArray(value)) {\n return new Error(\"Invalid \" + location + \" `\" + propFullName + \"` supplied to `\" + componentName + \"`, expected \" + types.length + \"-element array\");\n }\n\n if (value.length === 0) {\n return null;\n }\n\n if (value.length !== types.length) {\n return new Error(\"Invalid \" + location + \" `\" + propFullName + \"` supplied to `\" + componentName + \"`, expected \" + types.length + \"-element array, got array of length \" + value.length);\n }\n\n for (var i = 0; i < value.length; ++i) {\n var error = types[i](value, String(i), componentName, 'element', propFullName + \"[\" + i + \"]\");\n\n if (error) {\n return error;\n }\n }\n\n return null;\n });\n}\n\nvar refType = _propTypes.default.oneOfType([_propTypes.default.func, _propTypes.default.any]);\n\nexports.refType = refType;\n\n//# sourceURL=webpack://rsuite/./src/utils/propTypeChecker.ts?");
5117
+ eval("\n\nvar _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ \"./node_modules/@babel/runtime/helpers/interopRequireDefault.js\");\n\nexports.__esModule = true;\nexports.tupleType = tupleType;\nexports.refType = void 0;\n\nvar _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ \"./node_modules/prop-types/index.js\"));\n\nfunction tupleType() {\n for (var _len = arguments.length, typeCheckers = new Array(_len), _key = 0; _key < _len; _key++) {\n typeCheckers[_key] = arguments[_key];\n }\n\n return _propTypes.default.arrayOf(function (value, index) {\n var _typeCheckers$index;\n\n for (var _len2 = arguments.length, rest = new Array(_len2 > 2 ? _len2 - 2 : 0), _key2 = 2; _key2 < _len2; _key2++) {\n rest[_key2 - 2] = arguments[_key2];\n }\n\n return (_typeCheckers$index = typeCheckers[index]).call.apply(_typeCheckers$index, [_propTypes.default, value, index].concat(rest));\n });\n}\n\nvar refType = _propTypes.default.oneOfType([_propTypes.default.func, _propTypes.default.any]);\n\nexports.refType = refType;\n\n//# sourceURL=webpack://rsuite/./src/utils/propTypeChecker.ts?");
5107
5118
 
5108
5119
  /***/ }),
5109
5120
 
@@ -5191,7 +5202,7 @@ eval("\n\nvar _interopRequireDefault = __webpack_require__(/*! @babel/runtime/he
5191
5202
  /***/ (function(__unused_webpack_module, exports, __webpack_require__) {
5192
5203
 
5193
5204
  "use strict";
5194
- eval("\n\nvar _interopRequireWildcard = __webpack_require__(/*! @babel/runtime/helpers/interopRequireWildcard */ \"./node_modules/@babel/runtime/helpers/interopRequireWildcard.js\");\n\nvar _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ \"./node_modules/@babel/runtime/helpers/interopRequireDefault.js\");\n\nexports.__esModule = true;\nexports.shouldShowNodeByParentExpanded = shouldShowNodeByParentExpanded;\nexports.flattenTree = flattenTree;\nexports.getNodeParents = getNodeParents;\nexports.getNodeParentKeys = getNodeParentKeys;\nexports.hasVisibleChildren = hasVisibleChildren;\nexports.compareArray = compareArray;\nexports.getDefaultExpandItemValues = getDefaultExpandItemValues;\nexports.getExpandItemValues = getExpandItemValues;\nexports.getDragNodeKeys = getDragNodeKeys;\nexports.calDropNodePosition = calDropNodePosition;\nexports.removeDragNode = removeDragNode;\nexports.createUpdateTreeDataFunction = createUpdateTreeDataFunction;\nexports.findNodeOfTree = findNodeOfTree;\nexports.filterNodesOfTree = filterNodesOfTree;\nexports.leftArrowHandler = leftArrowHandler;\nexports.rightArrowHandler = rightArrowHandler;\nexports.getExpandWhenSearching = getExpandWhenSearching;\nexports.getTreeActiveNode = getTreeActiveNode;\nexports.toggleExpand = toggleExpand;\nexports.getTreeNodeTitle = getTreeNodeTitle;\nexports.getChildrenByFlattenNodes = getChildrenByFlattenNodes;\nexports.useTreeDrag = useTreeDrag;\nexports.useFlattenTreeData = useFlattenTreeData;\nexports.useTreeNodeRefs = useTreeNodeRefs;\nexports.useTreeSearch = useTreeSearch;\nexports.useGetTreeNodeChildren = useGetTreeNodeChildren;\nexports.focusToActiveTreeNode = focusToActiveTreeNode;\nexports.isSearching = isSearching;\nexports.getTreeNodeIndent = getTreeNodeIndent;\nexports.getScrollToIndex = exports.focusPreviousItem = exports.focusNextItem = exports.focusTreeNode = exports.getElementByDataKey = exports.getActiveItem = exports.getActiveIndex = exports.getFocusableItems = void 0;\n\nvar _extends3 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ \"./node_modules/@babel/runtime/helpers/extends.js\"));\n\nvar _isEmpty2 = _interopRequireDefault(__webpack_require__(/*! lodash/isEmpty */ \"./node_modules/lodash/isEmpty.js\"));\n\nvar _clone2 = _interopRequireDefault(__webpack_require__(/*! lodash/clone */ \"./node_modules/lodash/clone.js\"));\n\nvar _isNil2 = _interopRequireDefault(__webpack_require__(/*! lodash/isNil */ \"./node_modules/lodash/isNil.js\"));\n\nvar _isArray2 = _interopRequireDefault(__webpack_require__(/*! lodash/isArray */ \"./node_modules/lodash/isArray.js\"));\n\nvar _omit2 = _interopRequireDefault(__webpack_require__(/*! lodash/omit */ \"./node_modules/lodash/omit.js\"));\n\nvar _isUndefined2 = _interopRequireDefault(__webpack_require__(/*! lodash/isUndefined */ \"./node_modules/lodash/isUndefined.js\"));\n\nvar _intersection2 = _interopRequireDefault(__webpack_require__(/*! lodash/intersection */ \"./node_modules/lodash/intersection.js\"));\n\nvar _react = _interopRequireWildcard(__webpack_require__(/*! react */ \"react\"));\n\nvar _shallowEqualArray = _interopRequireDefault(__webpack_require__(/*! ../utils/shallowEqualArray */ \"./src/utils/shallowEqualArray.ts\"));\n\nvar _utils = __webpack_require__(/*! ../CheckTreePicker/utils */ \"./src/CheckTreePicker/utils.ts\");\n\nvar _utils2 = __webpack_require__(/*! ../utils */ \"./src/utils/index.ts\");\n\nvar _Picker = __webpack_require__(/*! ../Picker */ \"./src/Picker/index.ts\");\n\nvar _reactToString = _interopRequireDefault(__webpack_require__(/*! ./reactToString */ \"./src/utils/reactToString.ts\"));\n\nvar _constants = __webpack_require__(/*! ./constants */ \"./src/utils/constants.ts\");\n\n// gap of tree node\nvar TREE_NODE_GAP = 4;\n/**\n * according node parentNode expand state decide node whether to show\n * @param {*} expandItemValues\n * @param {*} parentKeys\n */\n\nfunction shouldShowNodeByParentExpanded(expandItemValues, parentKeys) {\n if (expandItemValues === void 0) {\n expandItemValues = [];\n }\n\n if (parentKeys === void 0) {\n parentKeys = [];\n }\n\n var intersectionKeys = (0, _intersection2.default)(expandItemValues, parentKeys);\n\n if (intersectionKeys.length === parentKeys.length) {\n return true;\n }\n\n return false;\n}\n/**\n * flatten tree structure to array\n * @param {*} tree\n * @param {*} childrenKey\n * @param {*} executor\n */\n\n\nfunction flattenTree(tree, childrenKey, executor) {\n if (childrenKey === void 0) {\n childrenKey = 'children';\n }\n\n var flattenData = [];\n\n var traverse = function traverse(data, parent) {\n if (!(0, _isArray2.default)(data)) {\n return;\n }\n\n data.forEach(function (item, index) {\n var node = typeof executor === 'function' ? executor(item, index) : item;\n node.parent = parent;\n flattenData.push((0, _extends3.default)({}, node));\n\n if (item[childrenKey]) {\n traverse(item[childrenKey], item);\n }\n });\n };\n\n traverse(tree, null);\n return flattenData;\n}\n/**\n * get all ancestor nodes of given node\n * @param {*} node\n */\n\n\nfunction getNodeParents(node, parentKey, valueKey) {\n if (parentKey === void 0) {\n parentKey = 'parent';\n }\n\n var parents = [];\n\n var traverse = function traverse(node) {\n if (node !== null && node !== void 0 && node[parentKey]) {\n traverse(node[parentKey]);\n\n if (valueKey) {\n parents.push(node[parentKey][valueKey]);\n } else {\n parents.push(node[parentKey]);\n }\n }\n };\n\n traverse(node);\n return parents;\n}\n/**\n * get all parentKeys of given node\n * @param nodes\n * @param node\n * @param valueKey\n */\n\n\nfunction getNodeParentKeys(nodes, node, valueKey) {\n var parentKeys = [];\n\n var traverse = function traverse(node) {\n if (node !== null && node !== void 0 && node.parent) {\n var _node$parent;\n\n traverse(nodes[node.parent.refKey]);\n parentKeys.push(node === null || node === void 0 ? void 0 : (_node$parent = node.parent) === null || _node$parent === void 0 ? void 0 : _node$parent[valueKey]);\n }\n };\n\n traverse(node);\n return parentKeys;\n}\n\nfunction hasVisibleChildren(node, childrenKey) {\n if (!Array.isArray(node[childrenKey])) {\n return false;\n }\n\n return node[childrenKey].some(function (child) {\n return child.visible;\n });\n}\n/**\n * shallow equal array\n * @param a\n * @param b\n */\n\n\nfunction compareArray(a, b) {\n return (0, _isArray2.default)(a) && (0, _isArray2.default)(b) && !(0, _shallowEqualArray.default)(a, b);\n}\n\nfunction getDefaultExpandItemValues(data, props) {\n var valueKey = props.valueKey,\n defaultExpandAll = props.defaultExpandAll,\n childrenKey = props.childrenKey,\n _props$defaultExpandI = props.defaultExpandItemValues,\n defaultExpandItemValues = _props$defaultExpandI === void 0 ? [] : _props$defaultExpandI;\n\n if (defaultExpandAll) {\n return flattenTree(data, childrenKey).filter(function (item) {\n return Array.isArray(item[childrenKey]) && item[childrenKey].length > 0;\n }).map(function (item) {\n return item[valueKey];\n });\n }\n\n return defaultExpandItemValues;\n}\n/**\n * 获取 expandItemValues 的 value\n * @param props\n */\n\n\nfunction getExpandItemValues(props) {\n var expandItemValues = props.expandItemValues,\n defaultExpandItemValues = props.defaultExpandItemValues;\n\n if (!(0, _isUndefined2.default)(expandItemValues) && Array.isArray(expandItemValues)) {\n return expandItemValues;\n }\n\n if (!(0, _isUndefined2.default)(defaultExpandItemValues) && Array.isArray(defaultExpandItemValues)) {\n return defaultExpandItemValues;\n }\n\n return [];\n}\n/**\n * get dragNode and it's children node keys\n * @param node\n * @param childrenKey\n * @param valueKey\n */\n\n\nfunction getDragNodeKeys(dragNode, childrenKey, valueKey) {\n var dragNodeKeys = [dragNode[valueKey]];\n\n var traverse = function traverse(data) {\n if ((data === null || data === void 0 ? void 0 : data.length) > 0) {\n data.forEach(function (node) {\n dragNodeKeys = dragNodeKeys.concat([node[valueKey]]);\n\n if (node[childrenKey]) {\n traverse(node[childrenKey]);\n }\n });\n }\n };\n\n traverse(dragNode[childrenKey]);\n return dragNodeKeys;\n}\n\nfunction calDropNodePosition(event, treeNodeElement) {\n var clientY = event.clientY;\n\n var _treeNodeElement$getB = treeNodeElement.getBoundingClientRect(),\n top = _treeNodeElement$getB.top,\n bottom = _treeNodeElement$getB.bottom;\n\n var gap = TREE_NODE_GAP; // bottom of node\n\n if (clientY >= bottom - gap && clientY <= bottom) {\n return _utils2.TREE_NODE_DROP_POSITION.DRAG_OVER_BOTTOM;\n } // top of node\n\n\n if (clientY <= top + gap && clientY >= top) {\n return _utils2.TREE_NODE_DROP_POSITION.DRAG_OVER_TOP;\n }\n\n if (clientY >= top + gap && clientY <= bottom - gap) {\n return _utils2.TREE_NODE_DROP_POSITION.DRAG_OVER;\n }\n\n return -1;\n}\n\nfunction removeDragNode(data, params, _ref) {\n var valueKey = _ref.valueKey,\n childrenKey = _ref.childrenKey;\n var dragNode = params.dragNode;\n\n var traverse = function traverse(items, parent) {\n for (var _index = 0; _index < items.length; _index += 1) {\n var _item = items[_index];\n\n if ((0, _utils2.shallowEqual)(_item[valueKey], dragNode[valueKey])) {\n items.splice(_index, 1); // when children is empty, delete children prop for hidden anchor\n\n if (items.length === 0 && parent) {\n delete parent.children;\n }\n\n break;\n }\n\n if (Array.isArray(_item[childrenKey])) {\n traverse(_item[childrenKey], _item);\n }\n }\n };\n\n traverse(data);\n}\n\nfunction createUpdateTreeDataFunction(params, _ref2) {\n var valueKey = _ref2.valueKey,\n childrenKey = _ref2.childrenKey;\n return function (tree) {\n var data = [].concat(tree);\n var dragNode = params.dragNode,\n dropNode = params.dropNode,\n dropNodePosition = params.dropNodePosition;\n removeDragNode(data, params, {\n valueKey: valueKey,\n childrenKey: childrenKey\n });\n\n var updateTree = function updateTree(items) {\n for (var _index2 = 0; _index2 < items.length; _index2 += 1) {\n var _item2 = items[_index2];\n\n if ((0, _utils2.shallowEqual)(_item2[valueKey], dropNode[valueKey])) {\n // drag to node inside\n if (dropNodePosition === _utils2.TREE_NODE_DROP_POSITION.DRAG_OVER) {\n _item2[childrenKey] = (0, _isNil2.default)(_item2[childrenKey]) ? [] : _item2[childrenKey];\n\n _item2[childrenKey].push(dragNode);\n\n break;\n } else if (dropNodePosition === _utils2.TREE_NODE_DROP_POSITION.DRAG_OVER_TOP) {\n // drag to top of node\n items.splice(_index2, 0, dragNode);\n break;\n } else if (dropNodePosition === _utils2.TREE_NODE_DROP_POSITION.DRAG_OVER_BOTTOM) {\n // drag to bottom of node\n items.splice(_index2 + 1, 0, dragNode);\n break;\n }\n }\n\n if (Array.isArray(_item2[childrenKey]) && _item2[childrenKey].length > 0) {\n updateTree(_item2[childrenKey]);\n }\n }\n };\n\n updateTree(data);\n return [].concat(data);\n };\n}\n\nfunction findNodeOfTree(data, check) {\n var findNode = function findNode(nodes) {\n if (nodes === void 0) {\n nodes = [];\n }\n\n for (var i = 0; i < nodes.length; i += 1) {\n var _item3 = nodes[i];\n\n if ((0, _isArray2.default)(_item3.children)) {\n var _node = findNode(_item3.children);\n\n if (_node) {\n return _node;\n }\n }\n\n if (check(_item3)) {\n return _item3;\n }\n }\n\n return undefined;\n };\n\n return findNode(data);\n}\n\nfunction filterNodesOfTree(data, check) {\n var findNodes = function findNodes(nodes) {\n if (nodes === void 0) {\n nodes = [];\n }\n\n var nextNodes = [];\n\n for (var i = 0; i < nodes.length; i += 1) {\n if ((0, _isArray2.default)(nodes[i].children)) {\n var nextChildren = findNodes(nodes[i].children);\n\n if (nextChildren.length) {\n var _item4 = (0, _clone2.default)(nodes[i]);\n\n _item4.children = nextChildren;\n nextNodes.push(_item4);\n continue;\n }\n }\n\n if (check(nodes[i])) {\n nextNodes.push(nodes[i]);\n }\n }\n\n return nextNodes;\n };\n\n return findNodes(data);\n}\n/**\n * get all focusable items\n * exclude not visible and disabled node\n * @param filteredData - filtered tree data\n * @param props - TreeProps\n * @param isSearching - component is in Searching\n * @returns\n */\n\n\nvar getFocusableItems = function getFocusableItems(filteredData, props, isSearching) {\n var disabledItemValues = props.disabledItemValues,\n valueKey = props.valueKey,\n childrenKey = props.childrenKey,\n expandItemValues = props.expandItemValues;\n var items = [];\n\n var loop = function loop(nodes) {\n nodes.forEach(function (node) {\n var disabled = disabledItemValues.some(function (disabledItem) {\n return (0, _utils2.shallowEqual)(disabledItem, node[valueKey]);\n });\n\n if (!disabled && node.visible) {\n items.push(node);\n } // always expand when searching\n\n\n var expand = isSearching ? true : expandItemValues.includes(node[valueKey]);\n\n if (node[childrenKey] && expand) {\n loop(node[childrenKey]);\n }\n });\n };\n\n loop(filteredData);\n return items;\n};\n/**\n * return all focusable Item and active Element index\n * @param focusItemValue\n * @param focusableItems items\n */\n\n\nexports.getFocusableItems = getFocusableItems;\n\nvar getActiveIndex = function getActiveIndex(focusItemValue, focusItems, valueKey) {\n var activeIndex = -1;\n focusItems.forEach(function (item, index) {\n if ((0, _utils2.shallowEqual)(item[valueKey], focusItemValue)) {\n activeIndex = index;\n }\n });\n return activeIndex;\n};\n/**\n * get current active element and node data\n * @param flattenNodes - flattenData\n */\n\n\nexports.getActiveIndex = getActiveIndex;\n\nvar getActiveItem = function getActiveItem(focusItemValue, flattenNodes, valueKey) {\n var nodeData = null;\n var activeNode = Object.values(flattenNodes).find(function (node) {\n return (0, _utils2.shallowEqual)(node[valueKey], focusItemValue);\n });\n\n if (activeNode) {\n nodeData = activeNode;\n }\n\n return nodeData;\n};\n\nexports.getActiveItem = getActiveItem;\n\nvar getElementByDataKey = function getElementByDataKey(dataKey, treeNodesRefs, selector) {\n var ele = treeNodesRefs[dataKey];\n\n if (ele instanceof Element) {\n return ele.querySelector(selector);\n }\n\n return null;\n};\n/**\n * focus to specify tree node\n * @param refKey - target node refKey\n * @param treeNodeRefs - all tree node refs object\n * @param selector - node css selector\n */\n\n\nexports.getElementByDataKey = getElementByDataKey;\n\nvar focusTreeNode = function focusTreeNode(refKey, treeNodeRefs, selector) {\n var _node$focus;\n\n var node = getElementByDataKey(refKey, treeNodeRefs, selector);\n node === null || node === void 0 ? void 0 : (_node$focus = node.focus) === null || _node$focus === void 0 ? void 0 : _node$focus.call(node);\n};\n\nexports.focusTreeNode = focusTreeNode;\n\n/**\n * focus next item with keyboard\n * @param param\n */\nvar focusNextItem = function focusNextItem(_ref3) {\n var focusItemValue = _ref3.focusItemValue,\n focusableItems = _ref3.focusableItems,\n treeNodesRefs = _ref3.treeNodesRefs,\n selector = _ref3.selector,\n valueKey = _ref3.valueKey,\n callback = _ref3.callback;\n var activeIndex = getActiveIndex(focusItemValue, focusableItems, valueKey);\n\n if (focusableItems.length === 0) {\n return;\n }\n\n var nextIndex = activeIndex === focusableItems.length - 1 ? 0 : activeIndex + 1;\n var nextFocusItemValue = focusableItems[nextIndex][valueKey];\n callback === null || callback === void 0 ? void 0 : callback(nextFocusItemValue);\n focusTreeNode(focusableItems[nextIndex].refKey, treeNodesRefs, selector);\n};\n/**\n * focus prev item with keyboard\n * @param param\n */\n\n\nexports.focusNextItem = focusNextItem;\n\nvar focusPreviousItem = function focusPreviousItem(_ref4) {\n var focusItemValue = _ref4.focusItemValue,\n focusableItems = _ref4.focusableItems,\n treeNodesRefs = _ref4.treeNodesRefs,\n selector = _ref4.selector,\n valueKey = _ref4.valueKey,\n callback = _ref4.callback;\n var activeIndex = getActiveIndex(focusItemValue, focusableItems, valueKey);\n\n if (focusableItems.length === 0) {\n return;\n }\n\n var prevIndex = activeIndex === 0 ? focusableItems.length - 1 : activeIndex - 1;\n prevIndex = prevIndex >= 0 ? prevIndex : 0;\n var prevFocusItemValue = focusableItems[prevIndex][valueKey];\n callback === null || callback === void 0 ? void 0 : callback(prevFocusItemValue);\n focusTreeNode(focusableItems[prevIndex].refKey, treeNodesRefs, selector);\n};\n\nexports.focusPreviousItem = focusPreviousItem;\n\n/**\n * Left arrow keyboard event handler\n * When focus is on an open node, closes the node.\n * When focus is on a child node that is also either an end node or a closed node, moves focus to its parent node.\n * When focus is on a root node that is also either an end node or a closed node, does nothing.\n * @see https://www.w3.org/TR/wai-aria-practices/#TreeView\n */\nfunction leftArrowHandler(_ref5) {\n var focusItem = _ref5.focusItem,\n expand = _ref5.expand,\n onExpand = _ref5.onExpand,\n onFocusItem = _ref5.onFocusItem;\n\n if ((0, _isEmpty2.default)(focusItem)) {\n return;\n }\n\n if (expand) {\n onExpand((0, _extends3.default)({}, focusItem, {\n expand: expand\n }));\n } else if (focusItem !== null && focusItem !== void 0 && focusItem.parent) {\n onFocusItem();\n }\n}\n/**\n * Right arrow keyboard event handler\n * When focus is on a closed node, opens the node; focus does not move.\n * When focus is on a open node, moves focus to the first child node.\n * When focus is on an end node, does nothing.\n * @see https://www.w3.org/TR/wai-aria-practices/#TreeView\n */\n\n\nfunction rightArrowHandler(_ref6) {\n var focusItem = _ref6.focusItem,\n expand = _ref6.expand,\n childrenKey = _ref6.childrenKey,\n onExpand = _ref6.onExpand,\n onFocusItem = _ref6.onFocusItem;\n\n if ((0, _isEmpty2.default)(focusItem) || !Array.isArray(focusItem[childrenKey])) {\n return;\n }\n\n if (!expand) {\n onExpand((0, _extends3.default)({}, focusItem, {\n expand: expand\n }));\n } else {\n onFocusItem();\n }\n}\n/**\n * get scrollIndex in virtualized list\n * @param nodes - data\n * @param value - activeItem value\n * @param valueKey\n */\n\n\nvar getScrollToIndex = function getScrollToIndex(nodes, value, valueKey) {\n return nodes.filter(function (n) {\n return n.visible;\n }).findIndex(function (item) {\n return item[valueKey] === value;\n });\n};\n/**\n * when searching, expand state always return true\n * @param searchKeyword\n * @param expand\n */\n\n\nexports.getScrollToIndex = getScrollToIndex;\n\nfunction getExpandWhenSearching(searchKeyword, expand) {\n return isSearching(searchKeyword) ? true : expand;\n}\n\nfunction getTreeActiveNode(nodes, value, valueKey) {\n if ((0, _isUndefined2.default)(value)) {\n return undefined;\n }\n\n for (var refKey in nodes) {\n if ((0, _utils2.shallowEqual)(nodes[refKey][valueKey], value)) {\n return nodes[refKey];\n }\n }\n}\n\n/**\n * toggle tree node\n * @param param0\n */\nfunction toggleExpand(_ref7) {\n var node = _ref7.node,\n isExpand = _ref7.isExpand,\n expandItemValues = _ref7.expandItemValues,\n valueKey = _ref7.valueKey;\n var newExpandItemValues = new Set(expandItemValues);\n\n if (isExpand) {\n newExpandItemValues.add(node[valueKey]);\n } else {\n newExpandItemValues.delete(node[valueKey]);\n }\n\n return Array.from(newExpandItemValues);\n}\n\nfunction getTreeNodeTitle(label) {\n if (typeof label === 'string') {\n return label;\n } else if ( /*#__PURE__*/_react.default.isValidElement(label)) {\n var _nodes = (0, _reactToString.default)(label);\n\n return _nodes.join('');\n }\n}\n/**\n * get all children from flattenNodes object by given parent node\n * @param nodes\n * @param parent\n */\n\n\nfunction getChildrenByFlattenNodes(nodes, parent) {\n if (!(0, _isNil2.default)(parent.refKey) && (0, _isNil2.default)(nodes[parent.refKey])) {\n return [];\n }\n\n return Object.values(nodes).filter(function (item) {\n var _item$parent;\n\n return (item === null || item === void 0 ? void 0 : (_item$parent = item.parent) === null || _item$parent === void 0 ? void 0 : _item$parent.refKey) === parent.refKey && !nodes[item.refKey].uncheckable;\n });\n}\n\nfunction useTreeDrag() {\n // current dragging node\n var dragNode = (0, _react.useRef)(null);\n\n var _useState = (0, _react.useState)(null),\n dragOverNodeKey = _useState[0],\n setDragOverNodeKey = _useState[1]; // drag node and it's children nodes key\n\n\n var _useState2 = (0, _react.useState)([]),\n dragNodeKeys = _useState2[0],\n setDragNodeKeys = _useState2[1];\n\n var _useState3 = (0, _react.useState)(null),\n dropNodePosition = _useState3[0],\n setDropNodePosition = _useState3[1];\n\n var setDragNode = function setDragNode(node) {\n dragNode.current = node;\n };\n\n return {\n dragNode: dragNode === null || dragNode === void 0 ? void 0 : dragNode.current,\n dragOverNodeKey: dragOverNodeKey,\n dragNodeKeys: dragNodeKeys,\n dropNodePosition: dropNodePosition,\n setDragNode: setDragNode,\n setDragOverNodeKey: setDragOverNodeKey,\n setDragNodeKeys: setDragNodeKeys,\n setDropNodePosition: setDropNodePosition\n };\n}\n\n/**\n * hooks for flatten tree structure\n * @param param0\n */\nfunction useFlattenTreeData(_ref8) {\n var data = _ref8.data,\n labelKey = _ref8.labelKey,\n valueKey = _ref8.valueKey,\n childrenKey = _ref8.childrenKey,\n _ref8$uncheckableItem = _ref8.uncheckableItemValues,\n uncheckableItemValues = _ref8$uncheckableItem === void 0 ? [] : _ref8$uncheckableItem,\n callback = _ref8.callback;\n\n var _useState4 = (0, _react.useState)(Object.create(null)),\n dispatch = _useState4[1];\n\n var forceUpdate = (0, _react.useCallback)(function () {\n dispatch(Object.create(null));\n }, [dispatch]);\n\n var _useRef = (0, _react.useRef)({}),\n _useRef$current = _useRef.current,\n flattenNodes = _useRef$current === void 0 ? {} : _useRef$current;\n\n var flattenTreeData = (0, _react.useCallback)(function (treeData, ref, parent, layer) {\n if (layer === void 0) {\n layer = 1;\n }\n\n if (!Array.isArray(treeData) || treeData.length === 0) {\n return [];\n }\n\n treeData.map(function (node, index) {\n var _extends2;\n\n var refKey = ref + \"-\" + index;\n node.refKey = refKey;\n flattenNodes[refKey] = (0, _extends3.default)((_extends2 = {\n layer: layer\n }, _extends2[labelKey] = node[labelKey], _extends2[valueKey] = node[valueKey], _extends2.uncheckable = uncheckableItemValues.some(function (value) {\n return (0, _utils2.shallowEqual)(node[valueKey], value);\n }), _extends2), node);\n\n if (parent) {\n flattenNodes[refKey].parent = (0, _omit2.default)(parent, 'parent', 'children');\n }\n\n flattenTreeData(node[childrenKey], refKey, node, layer + 1);\n });\n callback === null || callback === void 0 ? void 0 : callback(flattenNodes);\n }, [childrenKey, valueKey, labelKey, callback, uncheckableItemValues, flattenNodes]);\n var serializeListOnlyParent = (0, _react.useCallback)(function (nodes, key) {\n var list = [];\n Object.keys(nodes).forEach(function (refKey) {\n var currentNode = nodes[refKey];\n\n if (!(0, _isNil2.default)(currentNode.parent) && !(0, _isNil2.default)(currentNode.parent.refKey)) {\n var parentNode = nodes[currentNode.parent.refKey];\n\n if (currentNode[key]) {\n if (!(parentNode !== null && parentNode !== void 0 && parentNode.checkAll)) {\n list.push(nodes[refKey][valueKey]);\n } else if (parentNode !== null && parentNode !== void 0 && parentNode.uncheckable) {\n list.push(nodes[refKey][valueKey]);\n }\n }\n } else {\n if (currentNode[key]) {\n list.push(nodes[refKey][valueKey]);\n }\n }\n });\n return list;\n }, [valueKey]);\n /**\n * using in CheckTreePicker, to unSerializeList check property\n */\n\n var unSerializeList = (0, _react.useCallback)(function (_ref9) {\n var nodes = _ref9.nodes,\n key = _ref9.key,\n _ref9$value = _ref9.value,\n value = _ref9$value === void 0 ? [] : _ref9$value,\n cascade = _ref9.cascade,\n uncheckableItemValues = _ref9.uncheckableItemValues;\n // Reset values to false\n Object.keys(nodes).forEach(function (refKey) {\n var node = nodes[refKey];\n\n if (cascade && !(0, _isNil2.default)(node.parent) && !(0, _isNil2.default)(node.parent.refKey)) {\n node[key] = nodes[node.parent.refKey][key];\n } else {\n node[key] = false;\n }\n\n value.forEach(function (value) {\n if ((0, _utils2.shallowEqual)(nodes[refKey][valueKey], value) && !uncheckableItemValues.some(function (uncheckableValue) {\n return (0, _utils2.shallowEqual)(value, uncheckableValue);\n })) {\n nodes[refKey][key] = true;\n }\n });\n });\n }, [valueKey]);\n\n var formatVirtualizedTreeData = function formatVirtualizedTreeData(nodes, data, expandItemValues, options) {\n var cascade = options.cascade,\n searchKeyword = options.searchKeyword;\n return flattenTree(data, childrenKey, function (node) {\n var formatted = {};\n var curNode = nodes === null || nodes === void 0 ? void 0 : nodes[node.refKey];\n var parentKeys = getNodeParentKeys(nodes, curNode, valueKey);\n /**\n * When using virtualized,\n * if the parent node is collapsed, the child nodes should be hidden\n * avoid component height calculation errors\n */\n\n var visible = curNode !== null && curNode !== void 0 && curNode.parent ? shouldShowNodeByParentExpanded(expandItemValues, parentKeys) : true;\n /**\n * when searching, every node default expand\n * the node's visible should follow the original state\n */\n\n if (isSearching(searchKeyword)) {\n visible = node.visible;\n }\n\n if (curNode) {\n var checkState = !(0, _isUndefined2.default)(cascade) ? (0, _utils.getNodeCheckState)({\n node: curNode,\n cascade: cascade,\n nodes: nodes,\n childrenKey: childrenKey\n }) : undefined;\n formatted = (0, _extends3.default)({}, node, {\n check: curNode.check,\n uncheckable: curNode.uncheckable,\n hasChildren: !!node[childrenKey],\n layer: curNode.layer,\n parent: curNode.parent,\n checkState: checkState,\n visible: visible\n });\n }\n\n return formatted;\n });\n };\n\n (0, _react.useEffect)(function () {\n flattenTreeData(data, '0');\n }, [data]); // eslint-disable-line react-hooks/exhaustive-deps\n\n return {\n forceUpdate: forceUpdate,\n flattenNodes: flattenNodes,\n flattenTreeData: flattenTreeData,\n serializeListOnlyParent: serializeListOnlyParent,\n unSerializeList: unSerializeList,\n formatVirtualizedTreeData: formatVirtualizedTreeData\n };\n}\n/**\n * A hook that saving every tree node ref\n */\n\n\nfunction useTreeNodeRefs() {\n var treeNodeRefs = (0, _react.useRef)({});\n\n var saveTreeNodeRef = function saveTreeNodeRef(ref, refKey) {\n if (!(0, _isNil2.default)(refKey)) {\n treeNodeRefs.current[refKey] = ref;\n }\n };\n\n return {\n treeNodesRefs: treeNodeRefs.current,\n saveTreeNodeRef: saveTreeNodeRef\n };\n}\n\n/**\n * A hook that handles tree search filter options\n * @param props\n */\nfunction useTreeSearch(props) {\n var labelKey = props.labelKey,\n childrenKey = props.childrenKey,\n searchKeyword = props.searchKeyword,\n data = props.data,\n searchBy = props.searchBy,\n callback = props.callback;\n var filterVisibleData = (0, _react.useCallback)(function (data, searchKeyword) {\n var setVisible = function setVisible(nodes) {\n return nodes.forEach(function (item) {\n item.visible = searchBy ? searchBy(searchKeyword, item[labelKey], item) : (0, _Picker.shouldDisplay)(item[labelKey], searchKeyword);\n\n if ((0, _isArray2.default)(item[childrenKey])) {\n filterVisibleData(item[childrenKey], searchKeyword);\n item[childrenKey].forEach(function (child) {\n if (child.visible) {\n item.visible = child.visible;\n }\n });\n }\n });\n };\n\n setVisible(data);\n return data;\n }, [childrenKey, labelKey, searchBy]); // Use search keywords to filter options.\n\n var _useState5 = (0, _react.useState)(function () {\n return searchKeyword !== null && searchKeyword !== void 0 ? searchKeyword : '';\n }),\n searchKeywordState = _useState5[0],\n setSearchKeyword = _useState5[1];\n\n var _useState6 = (0, _react.useState)(function () {\n return filterVisibleData(data, searchKeywordState);\n }),\n filteredData = _useState6[0],\n setFilteredData = _useState6[1];\n\n var handleSetFilteredData = (0, _react.useCallback)(function (data, searchKeyword) {\n setFilteredData(filterVisibleData(data, searchKeyword));\n }, [filterVisibleData]);\n\n var handleSearch = function handleSearch(searchKeyword, event) {\n var filteredData = filterVisibleData(data, searchKeyword);\n setFilteredData(filteredData);\n setSearchKeyword(searchKeyword);\n callback === null || callback === void 0 ? void 0 : callback(searchKeyword, filteredData, event);\n };\n\n return {\n searchKeywordState: searchKeywordState,\n filteredData: filteredData,\n setFilteredData: handleSetFilteredData,\n setSearchKeyword: setSearchKeyword,\n handleSearch: handleSearch\n };\n}\n\nfunction useGetTreeNodeChildren(treeData, valueKey, childrenKey) {\n var _useState7 = (0, _react.useState)([]),\n loadingNodeValues = _useState7[0],\n setLoadingNodeValues = _useState7[1];\n\n var _useState8 = (0, _react.useState)(treeData),\n data = _useState8[0],\n setData = _useState8[1];\n\n var concatChildren = (0, _react.useCallback)(function (treeNode, children) {\n var value = treeNode[valueKey];\n treeNode = findNodeOfTree(data, function (item) {\n return value === item[valueKey];\n });\n treeNode[childrenKey] = children;\n var newData = data.concat([]);\n setData(newData);\n return newData;\n }, [data, valueKey, childrenKey]);\n var loadChildren = (0, _react.useCallback)(function (node, getChildren) {\n setLoadingNodeValues(function (prev) {\n return prev.concat(node[valueKey]);\n });\n var children = getChildren(node);\n\n if (children instanceof Promise) {\n children.then(function (res) {\n var newData = concatChildren(node, res);\n setData(newData);\n setLoadingNodeValues(function (prev) {\n return prev.filter(function (item) {\n return !(0, _utils2.shallowEqual)(item, node[valueKey]);\n });\n });\n });\n } else {\n setData(concatChildren(node, children));\n setLoadingNodeValues(function (prev) {\n return prev.filter(function (item) {\n return !(0, _utils2.shallowEqual)(item, node[valueKey]);\n });\n });\n }\n }, [concatChildren, valueKey]);\n return {\n data: data,\n setData: setData,\n loadingNodeValues: loadingNodeValues,\n loadChildren: loadChildren\n };\n}\n\n/**\n * Focus to active tree node.\n * @param param0\n */\nfunction focusToActiveTreeNode(_ref10) {\n var _activeItem$focus;\n\n var list = _ref10.list,\n valueKey = _ref10.valueKey,\n activeNode = _ref10.activeNode,\n virtualized = _ref10.virtualized,\n container = _ref10.container,\n selector = _ref10.selector,\n formattedNodes = _ref10.formattedNodes;\n if (!container) return;\n\n if (virtualized && activeNode) {\n var _list$scrollToRow;\n\n var scrollIndex = getScrollToIndex(formattedNodes, activeNode === null || activeNode === void 0 ? void 0 : activeNode[valueKey], valueKey);\n (_list$scrollToRow = list.scrollToRow) === null || _list$scrollToRow === void 0 ? void 0 : _list$scrollToRow.call(list, scrollIndex);\n return;\n }\n\n var activeItem = container.querySelector(selector);\n\n if (!activeItem) {\n return;\n }\n\n activeItem === null || activeItem === void 0 ? void 0 : (_activeItem$focus = activeItem.focus) === null || _activeItem$focus === void 0 ? void 0 : _activeItem$focus.call(activeItem);\n}\n\nfunction isSearching(searchKeyword) {\n return !(0, _isEmpty2.default)(searchKeyword);\n}\n\nfunction getTreeNodeIndent(rtl, layer, absolute) {\n var _ref12;\n\n if (absolute === void 0) {\n absolute = false;\n }\n\n // layer start from 1\n var offset = layer * _constants.TREE_NODE_PADDING + _constants.TREE_NODE_ROOT_PADDING;\n\n if (absolute) {\n var _ref11;\n\n return _ref11 = {}, _ref11[rtl ? 'right' : 'left'] = offset, _ref11;\n }\n\n return _ref12 = {}, _ref12[rtl ? 'paddingRight' : 'paddingLeft'] = offset, _ref12;\n}\n\n//# sourceURL=webpack://rsuite/./src/utils/treeUtils.ts?");
5205
+ eval("\n\nvar _interopRequireWildcard = __webpack_require__(/*! @babel/runtime/helpers/interopRequireWildcard */ \"./node_modules/@babel/runtime/helpers/interopRequireWildcard.js\");\n\nvar _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ \"./node_modules/@babel/runtime/helpers/interopRequireDefault.js\");\n\nexports.__esModule = true;\nexports.shouldShowNodeByParentExpanded = shouldShowNodeByParentExpanded;\nexports.flattenTree = flattenTree;\nexports.getNodeParents = getNodeParents;\nexports.getNodeParentKeys = getNodeParentKeys;\nexports.hasVisibleChildren = hasVisibleChildren;\nexports.compareArray = compareArray;\nexports.getDefaultExpandItemValues = getDefaultExpandItemValues;\nexports.getExpandItemValues = getExpandItemValues;\nexports.getDragNodeKeys = getDragNodeKeys;\nexports.calDropNodePosition = calDropNodePosition;\nexports.removeDragNode = removeDragNode;\nexports.createUpdateTreeDataFunction = createUpdateTreeDataFunction;\nexports.findNodeOfTree = findNodeOfTree;\nexports.filterNodesOfTree = filterNodesOfTree;\nexports.leftArrowHandler = leftArrowHandler;\nexports.rightArrowHandler = rightArrowHandler;\nexports.getExpandWhenSearching = getExpandWhenSearching;\nexports.getTreeActiveNode = getTreeActiveNode;\nexports.toggleExpand = toggleExpand;\nexports.getTreeNodeTitle = getTreeNodeTitle;\nexports.getChildrenByFlattenNodes = getChildrenByFlattenNodes;\nexports.useTreeDrag = useTreeDrag;\nexports.useFlattenTreeData = useFlattenTreeData;\nexports.useTreeNodeRefs = useTreeNodeRefs;\nexports.useTreeSearch = useTreeSearch;\nexports.useGetTreeNodeChildren = useGetTreeNodeChildren;\nexports.focusToActiveTreeNode = focusToActiveTreeNode;\nexports.isSearching = isSearching;\nexports.getTreeNodeIndent = getTreeNodeIndent;\nexports.getScrollToIndex = exports.focusPreviousItem = exports.focusNextItem = exports.focusTreeNode = exports.getElementByDataKey = exports.getActiveItem = exports.getActiveIndex = exports.getFocusableItems = void 0;\n\nvar _extends3 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ \"./node_modules/@babel/runtime/helpers/extends.js\"));\n\nvar _isEmpty2 = _interopRequireDefault(__webpack_require__(/*! lodash/isEmpty */ \"./node_modules/lodash/isEmpty.js\"));\n\nvar _clone2 = _interopRequireDefault(__webpack_require__(/*! lodash/clone */ \"./node_modules/lodash/clone.js\"));\n\nvar _isNil2 = _interopRequireDefault(__webpack_require__(/*! lodash/isNil */ \"./node_modules/lodash/isNil.js\"));\n\nvar _isArray2 = _interopRequireDefault(__webpack_require__(/*! lodash/isArray */ \"./node_modules/lodash/isArray.js\"));\n\nvar _omit2 = _interopRequireDefault(__webpack_require__(/*! lodash/omit */ \"./node_modules/lodash/omit.js\"));\n\nvar _isUndefined2 = _interopRequireDefault(__webpack_require__(/*! lodash/isUndefined */ \"./node_modules/lodash/isUndefined.js\"));\n\nvar _intersection2 = _interopRequireDefault(__webpack_require__(/*! lodash/intersection */ \"./node_modules/lodash/intersection.js\"));\n\nvar _react = _interopRequireWildcard(__webpack_require__(/*! react */ \"react\"));\n\nvar _shallowEqualArray = _interopRequireDefault(__webpack_require__(/*! ../utils/shallowEqualArray */ \"./src/utils/shallowEqualArray.ts\"));\n\nvar _utils = __webpack_require__(/*! ../CheckTreePicker/utils */ \"./src/CheckTreePicker/utils.ts\");\n\nvar _utils2 = __webpack_require__(/*! ../utils */ \"./src/utils/index.ts\");\n\nvar _Picker = __webpack_require__(/*! ../Picker */ \"./src/Picker/index.ts\");\n\nvar _reactToString = _interopRequireDefault(__webpack_require__(/*! ./reactToString */ \"./src/utils/reactToString.ts\"));\n\nvar _constants = __webpack_require__(/*! ./constants */ \"./src/utils/constants.ts\");\n\n// gap of tree node\nvar TREE_NODE_GAP = 4;\n/**\n * according node parentNode expand state decide node whether to show\n * @param {*} expandItemValues\n * @param {*} parentKeys\n */\n\nfunction shouldShowNodeByParentExpanded(expandItemValues, parentKeys) {\n if (expandItemValues === void 0) {\n expandItemValues = [];\n }\n\n if (parentKeys === void 0) {\n parentKeys = [];\n }\n\n var intersectionKeys = (0, _intersection2.default)(expandItemValues, parentKeys);\n\n if (intersectionKeys.length === parentKeys.length) {\n return true;\n }\n\n return false;\n}\n/**\n * flatten tree structure to array\n * @param {*} tree\n * @param {*} childrenKey\n * @param {*} executor\n */\n\n\nfunction flattenTree(tree, childrenKey, executor) {\n if (childrenKey === void 0) {\n childrenKey = 'children';\n }\n\n var flattenData = [];\n\n var traverse = function traverse(data, parent) {\n if (!(0, _isArray2.default)(data)) {\n return;\n }\n\n data.forEach(function (item, index) {\n var node = typeof executor === 'function' ? executor(item, index) : item;\n node.parent = parent;\n flattenData.push((0, _extends3.default)({}, node));\n\n if (item[childrenKey]) {\n traverse(item[childrenKey], item);\n }\n });\n };\n\n traverse(tree, null);\n return flattenData;\n}\n/**\n * get all ancestor nodes of given node\n * @param {*} node\n */\n\n\nfunction getNodeParents(node, parentKey, valueKey) {\n if (parentKey === void 0) {\n parentKey = 'parent';\n }\n\n var parents = [];\n\n var traverse = function traverse(node) {\n if (node !== null && node !== void 0 && node[parentKey]) {\n traverse(node[parentKey]);\n\n if (valueKey) {\n parents.push(node[parentKey][valueKey]);\n } else {\n parents.push(node[parentKey]);\n }\n }\n };\n\n traverse(node);\n return parents;\n}\n/**\n * get all parentKeys of given node\n * @param nodes\n * @param node\n * @param valueKey\n */\n\n\nfunction getNodeParentKeys(nodes, node, valueKey) {\n var parentKeys = [];\n\n var traverse = function traverse(node) {\n if (node !== null && node !== void 0 && node.parent) {\n var _node$parent;\n\n traverse(nodes[node.parent.refKey]);\n parentKeys.push(node === null || node === void 0 ? void 0 : (_node$parent = node.parent) === null || _node$parent === void 0 ? void 0 : _node$parent[valueKey]);\n }\n };\n\n traverse(node);\n return parentKeys;\n}\n\nfunction hasVisibleChildren(node, childrenKey) {\n if (!Array.isArray(node[childrenKey])) {\n return false;\n }\n\n return node[childrenKey].some(function (child) {\n return child.visible;\n });\n}\n/**\n * shallow equal array\n * @param a\n * @param b\n */\n\n\nfunction compareArray(a, b) {\n return (0, _isArray2.default)(a) && (0, _isArray2.default)(b) && !(0, _shallowEqualArray.default)(a, b);\n}\n\nfunction getDefaultExpandItemValues(data, props) {\n var valueKey = props.valueKey,\n defaultExpandAll = props.defaultExpandAll,\n childrenKey = props.childrenKey,\n _props$defaultExpandI = props.defaultExpandItemValues,\n defaultExpandItemValues = _props$defaultExpandI === void 0 ? [] : _props$defaultExpandI;\n\n if (defaultExpandAll) {\n return flattenTree(data, childrenKey).filter(function (item) {\n return Array.isArray(item[childrenKey]) && item[childrenKey].length > 0;\n }).map(function (item) {\n return item[valueKey];\n });\n }\n\n return defaultExpandItemValues;\n}\n/**\n * 获取 expandItemValues 的 value\n * @param props\n */\n\n\nfunction getExpandItemValues(props) {\n var expandItemValues = props.expandItemValues,\n defaultExpandItemValues = props.defaultExpandItemValues;\n\n if (!(0, _isUndefined2.default)(expandItemValues) && Array.isArray(expandItemValues)) {\n return expandItemValues;\n }\n\n if (!(0, _isUndefined2.default)(defaultExpandItemValues) && Array.isArray(defaultExpandItemValues)) {\n return defaultExpandItemValues;\n }\n\n return [];\n}\n/**\n * get dragNode and it's children node keys\n * @param node\n * @param childrenKey\n * @param valueKey\n */\n\n\nfunction getDragNodeKeys(dragNode, childrenKey, valueKey) {\n var dragNodeKeys = [dragNode[valueKey]];\n\n var traverse = function traverse(data) {\n if ((data === null || data === void 0 ? void 0 : data.length) > 0) {\n data.forEach(function (node) {\n dragNodeKeys = dragNodeKeys.concat([node[valueKey]]);\n\n if (node[childrenKey]) {\n traverse(node[childrenKey]);\n }\n });\n }\n };\n\n traverse(dragNode[childrenKey]);\n return dragNodeKeys;\n}\n\nfunction calDropNodePosition(event, treeNodeElement) {\n var clientY = event.clientY;\n\n var _treeNodeElement$getB = treeNodeElement.getBoundingClientRect(),\n top = _treeNodeElement$getB.top,\n bottom = _treeNodeElement$getB.bottom;\n\n var gap = TREE_NODE_GAP; // bottom of node\n\n if (clientY >= bottom - gap && clientY <= bottom) {\n return _utils2.TREE_NODE_DROP_POSITION.DRAG_OVER_BOTTOM;\n } // top of node\n\n\n if (clientY <= top + gap && clientY >= top) {\n return _utils2.TREE_NODE_DROP_POSITION.DRAG_OVER_TOP;\n }\n\n if (clientY >= top + gap && clientY <= bottom - gap) {\n return _utils2.TREE_NODE_DROP_POSITION.DRAG_OVER;\n }\n\n return -1;\n}\n\nfunction removeDragNode(data, params, _ref) {\n var valueKey = _ref.valueKey,\n childrenKey = _ref.childrenKey;\n var dragNode = params.dragNode;\n\n var traverse = function traverse(items, parent) {\n for (var _index = 0; _index < items.length; _index += 1) {\n var _item = items[_index];\n\n if ((0, _utils2.shallowEqual)(_item[valueKey], dragNode[valueKey])) {\n items.splice(_index, 1); // when children is empty, delete children prop for hidden anchor\n\n if (items.length === 0 && parent) {\n delete parent.children;\n }\n\n break;\n }\n\n if (Array.isArray(_item[childrenKey])) {\n traverse(_item[childrenKey], _item);\n }\n }\n };\n\n traverse(data);\n}\n\nfunction createUpdateTreeDataFunction(params, _ref2) {\n var valueKey = _ref2.valueKey,\n childrenKey = _ref2.childrenKey;\n return function (tree) {\n var data = [].concat(tree);\n var dragNode = params.dragNode,\n dropNode = params.dropNode,\n dropNodePosition = params.dropNodePosition;\n var cloneDragNode = (0, _extends3.default)({}, dragNode);\n removeDragNode(data, params, {\n valueKey: valueKey,\n childrenKey: childrenKey\n });\n\n var updateTree = function updateTree(items) {\n for (var _index2 = 0; _index2 < items.length; _index2 += 1) {\n var _item2 = items[_index2];\n\n if ((0, _utils2.shallowEqual)(_item2[valueKey], dropNode[valueKey])) {\n // drag to node inside\n if (dropNodePosition === _utils2.TREE_NODE_DROP_POSITION.DRAG_OVER) {\n _item2[childrenKey] = (0, _isNil2.default)(_item2[childrenKey]) ? [] : _item2[childrenKey];\n\n _item2[childrenKey].push(cloneDragNode);\n\n break;\n } else if (dropNodePosition === _utils2.TREE_NODE_DROP_POSITION.DRAG_OVER_TOP) {\n // drag to top of node\n items.splice(_index2, 0, cloneDragNode);\n break;\n } else if (dropNodePosition === _utils2.TREE_NODE_DROP_POSITION.DRAG_OVER_BOTTOM) {\n // drag to bottom of node\n items.splice(_index2 + 1, 0, cloneDragNode);\n break;\n }\n }\n\n if (Array.isArray(_item2[childrenKey]) && _item2[childrenKey].length > 0) {\n updateTree(_item2[childrenKey]);\n }\n }\n };\n\n updateTree(data);\n return [].concat(data);\n };\n}\n\nfunction findNodeOfTree(data, check) {\n var findNode = function findNode(nodes) {\n if (nodes === void 0) {\n nodes = [];\n }\n\n for (var i = 0; i < nodes.length; i += 1) {\n var _item3 = nodes[i];\n\n if ((0, _isArray2.default)(_item3.children)) {\n var _node = findNode(_item3.children);\n\n if (_node) {\n return _node;\n }\n }\n\n if (check(_item3)) {\n return _item3;\n }\n }\n\n return undefined;\n };\n\n return findNode(data);\n}\n\nfunction filterNodesOfTree(data, check) {\n var findNodes = function findNodes(nodes) {\n if (nodes === void 0) {\n nodes = [];\n }\n\n var nextNodes = [];\n\n for (var i = 0; i < nodes.length; i += 1) {\n if ((0, _isArray2.default)(nodes[i].children)) {\n var nextChildren = findNodes(nodes[i].children);\n\n if (nextChildren.length) {\n var _item4 = (0, _clone2.default)(nodes[i]);\n\n _item4.children = nextChildren;\n nextNodes.push(_item4);\n continue;\n }\n }\n\n if (check(nodes[i])) {\n nextNodes.push(nodes[i]);\n }\n }\n\n return nextNodes;\n };\n\n return findNodes(data);\n}\n/**\n * get all focusable items\n * exclude not visible and disabled node\n * @param filteredData - filtered tree data\n * @param props - TreeProps\n * @param isSearching - component is in Searching\n * @returns\n */\n\n\nvar getFocusableItems = function getFocusableItems(filteredData, props, isSearching) {\n var disabledItemValues = props.disabledItemValues,\n valueKey = props.valueKey,\n childrenKey = props.childrenKey,\n expandItemValues = props.expandItemValues;\n var items = [];\n\n var loop = function loop(nodes) {\n nodes.forEach(function (node) {\n var disabled = disabledItemValues.some(function (disabledItem) {\n return (0, _utils2.shallowEqual)(disabledItem, node[valueKey]);\n });\n\n if (!disabled && node.visible) {\n items.push(node);\n } // always expand when searching\n\n\n var expand = isSearching ? true : expandItemValues.includes(node[valueKey]);\n\n if (node[childrenKey] && expand) {\n loop(node[childrenKey]);\n }\n });\n };\n\n loop(filteredData);\n return items;\n};\n/**\n * return all focusable Item and active Element index\n * @param focusItemValue\n * @param focusableItems items\n */\n\n\nexports.getFocusableItems = getFocusableItems;\n\nvar getActiveIndex = function getActiveIndex(focusItemValue, focusItems, valueKey) {\n var activeIndex = -1;\n focusItems.forEach(function (item, index) {\n if ((0, _utils2.shallowEqual)(item[valueKey], focusItemValue)) {\n activeIndex = index;\n }\n });\n return activeIndex;\n};\n/**\n * get current active element and node data\n * @param flattenNodes - flattenData\n */\n\n\nexports.getActiveIndex = getActiveIndex;\n\nvar getActiveItem = function getActiveItem(focusItemValue, flattenNodes, valueKey) {\n var nodeData = null;\n var activeNode = Object.values(flattenNodes).find(function (node) {\n return (0, _utils2.shallowEqual)(node[valueKey], focusItemValue);\n });\n\n if (activeNode) {\n nodeData = activeNode;\n }\n\n return nodeData;\n};\n\nexports.getActiveItem = getActiveItem;\n\nvar getElementByDataKey = function getElementByDataKey(dataKey, treeNodesRefs, selector) {\n var ele = treeNodesRefs[dataKey];\n\n if (ele instanceof Element) {\n return ele.querySelector(selector);\n }\n\n return null;\n};\n/**\n * focus to specify tree node\n * @param refKey - target node refKey\n * @param treeNodeRefs - all tree node refs object\n * @param selector - node css selector\n */\n\n\nexports.getElementByDataKey = getElementByDataKey;\n\nvar focusTreeNode = function focusTreeNode(refKey, treeNodeRefs, selector) {\n var _node$focus;\n\n var node = getElementByDataKey(refKey, treeNodeRefs, selector);\n node === null || node === void 0 ? void 0 : (_node$focus = node.focus) === null || _node$focus === void 0 ? void 0 : _node$focus.call(node);\n};\n\nexports.focusTreeNode = focusTreeNode;\n\n/**\n * focus next item with keyboard\n * @param param\n */\nvar focusNextItem = function focusNextItem(_ref3) {\n var focusItemValue = _ref3.focusItemValue,\n focusableItems = _ref3.focusableItems,\n treeNodesRefs = _ref3.treeNodesRefs,\n selector = _ref3.selector,\n valueKey = _ref3.valueKey,\n callback = _ref3.callback;\n var activeIndex = getActiveIndex(focusItemValue, focusableItems, valueKey);\n\n if (focusableItems.length === 0) {\n return;\n }\n\n var nextIndex = activeIndex === focusableItems.length - 1 ? 0 : activeIndex + 1;\n var nextFocusItemValue = focusableItems[nextIndex][valueKey];\n callback === null || callback === void 0 ? void 0 : callback(nextFocusItemValue);\n focusTreeNode(focusableItems[nextIndex].refKey, treeNodesRefs, selector);\n};\n/**\n * focus prev item with keyboard\n * @param param\n */\n\n\nexports.focusNextItem = focusNextItem;\n\nvar focusPreviousItem = function focusPreviousItem(_ref4) {\n var focusItemValue = _ref4.focusItemValue,\n focusableItems = _ref4.focusableItems,\n treeNodesRefs = _ref4.treeNodesRefs,\n selector = _ref4.selector,\n valueKey = _ref4.valueKey,\n callback = _ref4.callback;\n var activeIndex = getActiveIndex(focusItemValue, focusableItems, valueKey);\n\n if (focusableItems.length === 0) {\n return;\n }\n\n var prevIndex = activeIndex === 0 ? focusableItems.length - 1 : activeIndex - 1;\n prevIndex = prevIndex >= 0 ? prevIndex : 0;\n var prevFocusItemValue = focusableItems[prevIndex][valueKey];\n callback === null || callback === void 0 ? void 0 : callback(prevFocusItemValue);\n focusTreeNode(focusableItems[prevIndex].refKey, treeNodesRefs, selector);\n};\n\nexports.focusPreviousItem = focusPreviousItem;\n\n/**\n * Left arrow keyboard event handler\n * When focus is on an open node, closes the node.\n * When focus is on a child node that is also either an end node or a closed node, moves focus to its parent node.\n * When focus is on a root node that is also either an end node or a closed node, does nothing.\n * @see https://www.w3.org/TR/wai-aria-practices/#TreeView\n */\nfunction leftArrowHandler(_ref5) {\n var focusItem = _ref5.focusItem,\n expand = _ref5.expand,\n onExpand = _ref5.onExpand,\n onFocusItem = _ref5.onFocusItem;\n\n if ((0, _isEmpty2.default)(focusItem)) {\n return;\n }\n\n if (expand) {\n onExpand((0, _extends3.default)({}, focusItem, {\n expand: expand\n }));\n } else if (focusItem !== null && focusItem !== void 0 && focusItem.parent) {\n onFocusItem();\n }\n}\n/**\n * Right arrow keyboard event handler\n * When focus is on a closed node, opens the node; focus does not move.\n * When focus is on a open node, moves focus to the first child node.\n * When focus is on an end node, does nothing.\n * @see https://www.w3.org/TR/wai-aria-practices/#TreeView\n */\n\n\nfunction rightArrowHandler(_ref6) {\n var focusItem = _ref6.focusItem,\n expand = _ref6.expand,\n childrenKey = _ref6.childrenKey,\n onExpand = _ref6.onExpand,\n onFocusItem = _ref6.onFocusItem;\n\n if ((0, _isEmpty2.default)(focusItem) || !Array.isArray(focusItem[childrenKey])) {\n return;\n }\n\n if (!expand) {\n onExpand((0, _extends3.default)({}, focusItem, {\n expand: expand\n }));\n } else {\n onFocusItem();\n }\n}\n/**\n * get scrollIndex in virtualized list\n * @param nodes - data\n * @param value - activeItem value\n * @param valueKey\n */\n\n\nvar getScrollToIndex = function getScrollToIndex(nodes, value, valueKey) {\n return nodes.filter(function (n) {\n return n.visible;\n }).findIndex(function (item) {\n return item[valueKey] === value;\n });\n};\n/**\n * when searching, expand state always return true\n * @param searchKeyword\n * @param expand\n */\n\n\nexports.getScrollToIndex = getScrollToIndex;\n\nfunction getExpandWhenSearching(searchKeyword, expand) {\n return isSearching(searchKeyword) ? true : expand;\n}\n\nfunction getTreeActiveNode(nodes, value, valueKey) {\n if ((0, _isUndefined2.default)(value)) {\n return undefined;\n }\n\n for (var refKey in nodes) {\n if ((0, _utils2.shallowEqual)(nodes[refKey][valueKey], value)) {\n return nodes[refKey];\n }\n }\n}\n\n/**\n * toggle tree node\n * @param param0\n */\nfunction toggleExpand(_ref7) {\n var node = _ref7.node,\n isExpand = _ref7.isExpand,\n expandItemValues = _ref7.expandItemValues,\n valueKey = _ref7.valueKey;\n var newExpandItemValues = new Set(expandItemValues);\n\n if (isExpand) {\n newExpandItemValues.add(node[valueKey]);\n } else {\n newExpandItemValues.delete(node[valueKey]);\n }\n\n return Array.from(newExpandItemValues);\n}\n\nfunction getTreeNodeTitle(label) {\n if (typeof label === 'string') {\n return label;\n } else if ( /*#__PURE__*/_react.default.isValidElement(label)) {\n var _nodes = (0, _reactToString.default)(label);\n\n return _nodes.join('');\n }\n}\n/**\n * get all children from flattenNodes object by given parent node\n * @param nodes\n * @param parent\n */\n\n\nfunction getChildrenByFlattenNodes(nodes, parent) {\n if (!(0, _isNil2.default)(parent.refKey) && (0, _isNil2.default)(nodes[parent.refKey])) {\n return [];\n }\n\n return Object.values(nodes).filter(function (item) {\n var _item$parent;\n\n return (item === null || item === void 0 ? void 0 : (_item$parent = item.parent) === null || _item$parent === void 0 ? void 0 : _item$parent.refKey) === parent.refKey && !nodes[item.refKey].uncheckable;\n });\n}\n\nfunction useTreeDrag() {\n // current dragging node\n var dragNode = (0, _react.useRef)(null);\n\n var _useState = (0, _react.useState)(null),\n dragOverNodeKey = _useState[0],\n setDragOverNodeKey = _useState[1]; // drag node and it's children nodes key\n\n\n var _useState2 = (0, _react.useState)([]),\n dragNodeKeys = _useState2[0],\n setDragNodeKeys = _useState2[1];\n\n var _useState3 = (0, _react.useState)(null),\n dropNodePosition = _useState3[0],\n setDropNodePosition = _useState3[1];\n\n var setDragNode = function setDragNode(node) {\n dragNode.current = node;\n };\n\n return {\n dragNode: dragNode === null || dragNode === void 0 ? void 0 : dragNode.current,\n dragOverNodeKey: dragOverNodeKey,\n dragNodeKeys: dragNodeKeys,\n dropNodePosition: dropNodePosition,\n setDragNode: setDragNode,\n setDragOverNodeKey: setDragOverNodeKey,\n setDragNodeKeys: setDragNodeKeys,\n setDropNodePosition: setDropNodePosition\n };\n}\n\n/**\n * hooks for flatten tree structure\n * @param param0\n */\nfunction useFlattenTreeData(_ref8) {\n var data = _ref8.data,\n labelKey = _ref8.labelKey,\n valueKey = _ref8.valueKey,\n childrenKey = _ref8.childrenKey,\n _ref8$uncheckableItem = _ref8.uncheckableItemValues,\n uncheckableItemValues = _ref8$uncheckableItem === void 0 ? [] : _ref8$uncheckableItem,\n callback = _ref8.callback;\n\n var _useState4 = (0, _react.useState)(Object.create(null)),\n dispatch = _useState4[1];\n\n var forceUpdate = (0, _react.useCallback)(function () {\n dispatch(Object.create(null));\n }, [dispatch]);\n\n var _useRef = (0, _react.useRef)({}),\n _useRef$current = _useRef.current,\n flattenNodes = _useRef$current === void 0 ? {} : _useRef$current;\n\n var flattenTreeData = (0, _react.useCallback)(function (treeData, ref, parent, layer) {\n if (layer === void 0) {\n layer = 1;\n }\n\n if (!Array.isArray(treeData) || treeData.length === 0) {\n return [];\n }\n\n treeData.map(function (node, index) {\n var _extends2;\n\n var refKey = ref + \"-\" + index;\n node.refKey = refKey;\n flattenNodes[refKey] = (0, _extends3.default)((_extends2 = {\n layer: layer\n }, _extends2[labelKey] = node[labelKey], _extends2[valueKey] = node[valueKey], _extends2.uncheckable = uncheckableItemValues.some(function (value) {\n return (0, _utils2.shallowEqual)(node[valueKey], value);\n }), _extends2), node);\n\n if (parent) {\n flattenNodes[refKey].parent = (0, _omit2.default)(parent, 'parent', 'children');\n }\n\n flattenTreeData(node[childrenKey], refKey, node, layer + 1);\n });\n callback === null || callback === void 0 ? void 0 : callback(flattenNodes);\n }, [childrenKey, valueKey, labelKey, callback, uncheckableItemValues, flattenNodes]);\n var serializeListOnlyParent = (0, _react.useCallback)(function (nodes, key) {\n var list = [];\n Object.keys(nodes).forEach(function (refKey) {\n var currentNode = nodes[refKey];\n\n if (!(0, _isNil2.default)(currentNode.parent) && !(0, _isNil2.default)(currentNode.parent.refKey)) {\n var parentNode = nodes[currentNode.parent.refKey];\n\n if (currentNode[key]) {\n if (!(parentNode !== null && parentNode !== void 0 && parentNode.checkAll)) {\n list.push(nodes[refKey][valueKey]);\n } else if (parentNode !== null && parentNode !== void 0 && parentNode.uncheckable) {\n list.push(nodes[refKey][valueKey]);\n }\n }\n } else {\n if (currentNode[key]) {\n list.push(nodes[refKey][valueKey]);\n }\n }\n });\n return list;\n }, [valueKey]);\n /**\n * using in CheckTreePicker, to unSerializeList check property\n */\n\n var unSerializeList = (0, _react.useCallback)(function (_ref9) {\n var nodes = _ref9.nodes,\n key = _ref9.key,\n _ref9$value = _ref9.value,\n value = _ref9$value === void 0 ? [] : _ref9$value,\n cascade = _ref9.cascade,\n uncheckableItemValues = _ref9.uncheckableItemValues;\n // Reset values to false\n Object.keys(nodes).forEach(function (refKey) {\n var node = nodes[refKey];\n\n if (cascade && !(0, _isNil2.default)(node.parent) && !(0, _isNil2.default)(node.parent.refKey)) {\n node[key] = nodes[node.parent.refKey][key];\n } else {\n node[key] = false;\n }\n\n value.forEach(function (value) {\n if ((0, _utils2.shallowEqual)(nodes[refKey][valueKey], value) && !uncheckableItemValues.some(function (uncheckableValue) {\n return (0, _utils2.shallowEqual)(value, uncheckableValue);\n })) {\n nodes[refKey][key] = true;\n }\n });\n });\n }, [valueKey]);\n\n var formatVirtualizedTreeData = function formatVirtualizedTreeData(nodes, data, expandItemValues, options) {\n var cascade = options.cascade,\n searchKeyword = options.searchKeyword;\n return flattenTree(data, childrenKey, function (node) {\n var formatted = {};\n var curNode = nodes === null || nodes === void 0 ? void 0 : nodes[node.refKey];\n var parentKeys = getNodeParentKeys(nodes, curNode, valueKey);\n /**\n * When using virtualized,\n * if the parent node is collapsed, the child nodes should be hidden\n * avoid component height calculation errors\n */\n\n var visible = curNode !== null && curNode !== void 0 && curNode.parent ? shouldShowNodeByParentExpanded(expandItemValues, parentKeys) : true;\n /**\n * when searching, every node default expand\n * the node's visible should follow the original state\n */\n\n if (isSearching(searchKeyword)) {\n visible = node.visible;\n }\n\n if (curNode) {\n var checkState = !(0, _isUndefined2.default)(cascade) ? (0, _utils.getNodeCheckState)({\n node: curNode,\n cascade: cascade,\n nodes: nodes,\n childrenKey: childrenKey\n }) : undefined;\n formatted = (0, _extends3.default)({}, node, {\n check: curNode.check,\n uncheckable: curNode.uncheckable,\n hasChildren: !!node[childrenKey],\n layer: curNode.layer,\n parent: curNode.parent,\n checkState: checkState,\n visible: visible\n });\n }\n\n return formatted;\n });\n };\n\n (0, _react.useEffect)(function () {\n flattenTreeData(data, '0');\n }, [data]); // eslint-disable-line react-hooks/exhaustive-deps\n\n return {\n forceUpdate: forceUpdate,\n flattenNodes: flattenNodes,\n flattenTreeData: flattenTreeData,\n serializeListOnlyParent: serializeListOnlyParent,\n unSerializeList: unSerializeList,\n formatVirtualizedTreeData: formatVirtualizedTreeData\n };\n}\n/**\n * A hook that saving every tree node ref\n */\n\n\nfunction useTreeNodeRefs() {\n var treeNodeRefs = (0, _react.useRef)({});\n\n var saveTreeNodeRef = function saveTreeNodeRef(ref, refKey) {\n if (!(0, _isNil2.default)(refKey)) {\n treeNodeRefs.current[refKey] = ref;\n }\n };\n\n return {\n treeNodesRefs: treeNodeRefs.current,\n saveTreeNodeRef: saveTreeNodeRef\n };\n}\n\n/**\n * A hook that handles tree search filter options\n * @param props\n */\nfunction useTreeSearch(props) {\n var labelKey = props.labelKey,\n childrenKey = props.childrenKey,\n searchKeyword = props.searchKeyword,\n data = props.data,\n searchBy = props.searchBy,\n callback = props.callback;\n var filterVisibleData = (0, _react.useCallback)(function (data, searchKeyword) {\n var setVisible = function setVisible(nodes) {\n return nodes.forEach(function (item) {\n item.visible = searchBy ? searchBy(searchKeyword, item[labelKey], item) : (0, _Picker.shouldDisplay)(item[labelKey], searchKeyword);\n\n if ((0, _isArray2.default)(item[childrenKey])) {\n filterVisibleData(item[childrenKey], searchKeyword);\n item[childrenKey].forEach(function (child) {\n if (child.visible) {\n item.visible = child.visible;\n }\n });\n }\n });\n };\n\n setVisible(data);\n return data;\n }, [childrenKey, labelKey, searchBy]); // Use search keywords to filter options.\n\n var _useState5 = (0, _react.useState)(function () {\n return searchKeyword !== null && searchKeyword !== void 0 ? searchKeyword : '';\n }),\n searchKeywordState = _useState5[0],\n setSearchKeyword = _useState5[1];\n\n var _useState6 = (0, _react.useState)(function () {\n return filterVisibleData(data, searchKeywordState);\n }),\n filteredData = _useState6[0],\n setFilteredData = _useState6[1];\n\n var handleSetFilteredData = (0, _react.useCallback)(function (data, searchKeyword) {\n setFilteredData(filterVisibleData(data, searchKeyword));\n }, [filterVisibleData]);\n\n var handleSearch = function handleSearch(searchKeyword, event) {\n var filteredData = filterVisibleData(data, searchKeyword);\n setFilteredData(filteredData);\n setSearchKeyword(searchKeyword);\n callback === null || callback === void 0 ? void 0 : callback(searchKeyword, filteredData, event);\n };\n\n return {\n searchKeywordState: searchKeywordState,\n filteredData: filteredData,\n setFilteredData: handleSetFilteredData,\n setSearchKeyword: setSearchKeyword,\n handleSearch: handleSearch\n };\n}\n\nfunction useGetTreeNodeChildren(treeData, valueKey, childrenKey) {\n var _useState7 = (0, _react.useState)([]),\n loadingNodeValues = _useState7[0],\n setLoadingNodeValues = _useState7[1];\n\n var _useState8 = (0, _react.useState)(treeData),\n data = _useState8[0],\n setData = _useState8[1];\n\n var concatChildren = (0, _react.useCallback)(function (treeNode, children) {\n var value = treeNode[valueKey];\n treeNode = findNodeOfTree(data, function (item) {\n return value === item[valueKey];\n });\n treeNode[childrenKey] = children;\n var newData = data.concat([]);\n setData(newData);\n return newData;\n }, [data, valueKey, childrenKey]);\n var loadChildren = (0, _react.useCallback)(function (node, getChildren) {\n setLoadingNodeValues(function (prev) {\n return prev.concat(node[valueKey]);\n });\n var children = getChildren(node);\n\n if (children instanceof Promise) {\n children.then(function (res) {\n var newData = concatChildren(node, res);\n setData(newData);\n setLoadingNodeValues(function (prev) {\n return prev.filter(function (item) {\n return !(0, _utils2.shallowEqual)(item, node[valueKey]);\n });\n });\n });\n } else {\n setData(concatChildren(node, children));\n setLoadingNodeValues(function (prev) {\n return prev.filter(function (item) {\n return !(0, _utils2.shallowEqual)(item, node[valueKey]);\n });\n });\n }\n }, [concatChildren, valueKey]);\n return {\n data: data,\n setData: setData,\n loadingNodeValues: loadingNodeValues,\n loadChildren: loadChildren\n };\n}\n\n/**\n * Focus to active tree node.\n * @param param0\n */\nfunction focusToActiveTreeNode(_ref10) {\n var _activeItem$focus;\n\n var list = _ref10.list,\n valueKey = _ref10.valueKey,\n activeNode = _ref10.activeNode,\n virtualized = _ref10.virtualized,\n container = _ref10.container,\n selector = _ref10.selector,\n formattedNodes = _ref10.formattedNodes;\n if (!container) return;\n\n if (virtualized && activeNode) {\n var _list$scrollToRow;\n\n var scrollIndex = getScrollToIndex(formattedNodes, activeNode === null || activeNode === void 0 ? void 0 : activeNode[valueKey], valueKey);\n (_list$scrollToRow = list.scrollToRow) === null || _list$scrollToRow === void 0 ? void 0 : _list$scrollToRow.call(list, scrollIndex);\n return;\n }\n\n var activeItem = container.querySelector(selector);\n\n if (!activeItem) {\n return;\n }\n\n activeItem === null || activeItem === void 0 ? void 0 : (_activeItem$focus = activeItem.focus) === null || _activeItem$focus === void 0 ? void 0 : _activeItem$focus.call(activeItem);\n}\n\nfunction isSearching(searchKeyword) {\n return !(0, _isEmpty2.default)(searchKeyword);\n}\n\nfunction getTreeNodeIndent(rtl, layer, absolute) {\n var _ref12;\n\n if (absolute === void 0) {\n absolute = false;\n }\n\n // layer start from 1\n var offset = layer * _constants.TREE_NODE_PADDING + _constants.TREE_NODE_ROOT_PADDING;\n\n if (absolute) {\n var _ref11;\n\n return _ref11 = {}, _ref11[rtl ? 'right' : 'left'] = offset, _ref11;\n }\n\n return _ref12 = {}, _ref12[rtl ? 'paddingRight' : 'paddingLeft'] = offset, _ref12;\n}\n\n//# sourceURL=webpack://rsuite/./src/utils/treeUtils.ts?");
5195
5206
 
5196
5207
  /***/ }),
5197
5208
 
@@ -5213,7 +5224,7 @@ eval("\n\nvar _interopRequireDefault = __webpack_require__(/*! @babel/runtime/he
5213
5224
  /***/ (function(__unused_webpack_module, exports, __webpack_require__) {
5214
5225
 
5215
5226
  "use strict";
5216
- eval("\n\nexports.__esModule = true;\nexports.default = useClickOutside;\n\nvar _react = __webpack_require__(/*! react */ \"react\");\n\nfunction useClickOutside(_ref) {\n var _ref$enabled = _ref.enabled,\n enabled = _ref$enabled === void 0 ? true : _ref$enabled,\n isOutside = _ref.isOutside,\n handle = _ref.handle;\n var isOutsideRef = (0, _react.useRef)(isOutside);\n var handleRef = (0, _react.useRef)(handle);\n (0, _react.useEffect)(function () {\n isOutsideRef.current = isOutside;\n handleRef.current = handle;\n }, [isOutside, handle]);\n (0, _react.useEffect)(function () {\n if (enabled) {\n var eventHandler = function eventHandler(event) {\n if (isOutsideRef.current(event)) {\n handleRef.current(event);\n }\n };\n\n window.addEventListener('mousedown', eventHandler);\n return function () {\n window.removeEventListener('mousedown', eventHandler);\n };\n }\n }, [enabled]);\n}\n\n//# sourceURL=webpack://rsuite/./src/utils/useClickOutside.ts?");
5227
+ eval("\n\nexports.__esModule = true;\nexports.default = useClickOutside;\n\nvar _react = __webpack_require__(/*! react */ \"react\");\n\nfunction useClickOutside(_ref) {\n var _ref$enabled = _ref.enabled,\n enabled = _ref$enabled === void 0 ? true : _ref$enabled,\n isOutside = _ref.isOutside,\n handle = _ref.handle;\n var isOutsideRef = (0, _react.useRef)(isOutside);\n var handleRef = (0, _react.useRef)(handle);\n (0, _react.useEffect)(function () {\n isOutsideRef.current = isOutside;\n handleRef.current = handle;\n }, [isOutside, handle]);\n (0, _react.useEffect)(function () {\n if (enabled) {\n var eventHandler = function eventHandler(event) {\n var _isOutsideRef$current;\n\n if ((_isOutsideRef$current = isOutsideRef.current) !== null && _isOutsideRef$current !== void 0 && _isOutsideRef$current.call(isOutsideRef, event)) {\n var _handleRef$current;\n\n (_handleRef$current = handleRef.current) === null || _handleRef$current === void 0 ? void 0 : _handleRef$current.call(handleRef, event);\n }\n };\n\n window.addEventListener('mousedown', eventHandler);\n return function () {\n window.removeEventListener('mousedown', eventHandler);\n };\n }\n }, [enabled]);\n}\n\n//# sourceURL=webpack://rsuite/./src/utils/useClickOutside.ts?");
5217
5228
 
5218
5229
  /***/ }),
5219
5230
 
@@ -5316,6 +5327,17 @@ eval("\n\nexports.__esModule = true;\nexports.default = void 0;\n\nvar _react =
5316
5327
 
5317
5328
  /***/ }),
5318
5329
 
5330
+ /***/ "./src/utils/useMount.ts":
5331
+ /*!*******************************!*\
5332
+ !*** ./src/utils/useMount.ts ***!
5333
+ \*******************************/
5334
+ /***/ (function(__unused_webpack_module, exports, __webpack_require__) {
5335
+
5336
+ "use strict";
5337
+ eval("\n\nexports.__esModule = true;\nexports.default = void 0;\n\nvar _react = __webpack_require__(/*! react */ \"react\");\n\nvar useMount = function useMount(callback) {\n var mountRef = (0, _react.useRef)(callback);\n mountRef.current = callback;\n (0, _react.useEffect)(function () {\n var _mountRef$current;\n\n (_mountRef$current = mountRef.current) === null || _mountRef$current === void 0 ? void 0 : _mountRef$current.call(mountRef);\n }, []);\n};\n\nvar _default = useMount;\nexports.default = _default;\n\n//# sourceURL=webpack://rsuite/./src/utils/useMount.ts?");
5338
+
5339
+ /***/ }),
5340
+
5319
5341
  /***/ "./src/utils/usePortal.tsx":
5320
5342
  /*!*********************************!*\
5321
5343
  !*** ./src/utils/usePortal.tsx ***!
@@ -9035,7 +9057,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _bab
9035
9057
  /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
9036
9058
 
9037
9059
  "use strict";
9038
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/esm/extends */ \"./node_modules/@babel/runtime/helpers/esm/extends.js\");\n/* harmony import */ var _babel_runtime_helpers_esm_objectWithoutPropertiesLoose__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/esm/objectWithoutPropertiesLoose */ \"./node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! react */ \"react\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var dom_lib_translateDOMPositionXY__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! dom-lib/translateDOMPositionXY */ \"./node_modules/dom-lib/esm/translateDOMPositionXY.js\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! prop-types */ \"./node_modules/prop-types/index.js\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var lodash_isFunction__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! lodash/isFunction */ \"./node_modules/lodash/isFunction.js\");\n/* harmony import */ var lodash_isFunction__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(lodash_isFunction__WEBPACK_IMPORTED_MODULE_5__);\n/* harmony import */ var lodash_flatten__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! lodash/flatten */ \"./node_modules/lodash/flatten.js\");\n/* harmony import */ var lodash_flatten__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(lodash_flatten__WEBPACK_IMPORTED_MODULE_6__);\n/* harmony import */ var _Row__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./Row */ \"./node_modules/rsuite-table/es/Row.js\");\n/* harmony import */ var _CellGroup__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./CellGroup */ \"./node_modules/rsuite-table/es/CellGroup.js\");\n/* harmony import */ var _Scrollbar__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./Scrollbar */ \"./node_modules/rsuite-table/es/Scrollbar.js\");\n/* harmony import */ var _MouseArea__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./MouseArea */ \"./node_modules/rsuite-table/es/MouseArea.js\");\n/* harmony import */ var _Loader__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./Loader */ \"./node_modules/rsuite-table/es/Loader.js\");\n/* harmony import */ var _EmptyMessage__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./EmptyMessage */ \"./node_modules/rsuite-table/es/EmptyMessage.js\");\n/* harmony import */ var _TableContext__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ./TableContext */ \"./node_modules/rsuite-table/es/TableContext.js\");\n/* harmony import */ var _constants__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ./constants */ \"./node_modules/rsuite-table/es/constants.js\");\n/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ./utils */ \"./node_modules/rsuite-table/es/utils/index.js\");\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n/**\n * Filter those expanded nodes.\n * @param data\n * @param expandedRowKeys\n * @param rowKey\n * @returns\n */\nvar filterTreeData = function filterTreeData(data, expandedRowKeys, rowKey) {\n return (0,_utils__WEBPACK_IMPORTED_MODULE_15__.flattenData)(data).filter(function (rowData) {\n var parents = (0,_utils__WEBPACK_IMPORTED_MODULE_15__.findAllParents)(rowData, rowKey);\n var expanded = (0,_utils__WEBPACK_IMPORTED_MODULE_15__.shouldShowRowByExpanded)(expandedRowKeys, parents);\n rowData[_constants__WEBPACK_IMPORTED_MODULE_14__.EXPANDED_KEY] = expanded;\n rowData[_constants__WEBPACK_IMPORTED_MODULE_14__.TREE_DEPTH] = parents.length;\n return expanded;\n });\n};\n\nvar Table = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default().forwardRef(function (props, ref) {\n var affixHeader = props.affixHeader,\n children = props.children,\n classPrefix = props.classPrefix,\n className = props.className,\n dataProp = props.data,\n widthProp = props.width,\n expandedRowKeysProp = props.expandedRowKeys,\n defaultExpandAllRows = props.defaultExpandAllRows,\n defaultExpandedRowKeys = props.defaultExpandedRowKeys,\n style = props.style,\n id = props.id,\n isTree = props.isTree,\n hover = props.hover,\n bordered = props.bordered,\n cellBordered = props.cellBordered,\n wordWrap = props.wordWrap,\n loading = props.loading,\n locale = props.locale,\n showHeader = props.showHeader,\n sortColumn = props.sortColumn,\n rowHeightProp = props.rowHeight,\n sortTypeProp = props.sortType,\n defaultSortType = props.defaultSortType,\n headerHeightProp = props.headerHeight,\n minHeight = props.minHeight,\n height = props.height,\n autoHeight = props.autoHeight,\n rtlProp = props.rtl,\n translate3d = props.translate3d,\n rowKey = props.rowKey,\n virtualized = props.virtualized,\n rowHeight = props.rowHeight,\n rowClassName = props.rowClassName,\n rowExpandedHeight = props.rowExpandedHeight,\n disabledScroll = props.disabledScroll,\n affixHorizontalScrollbar = props.affixHorizontalScrollbar,\n loadAnimation = props.loadAnimation,\n shouldUpdateScroll = props.shouldUpdateScroll,\n renderRowExpandedProp = props.renderRowExpanded,\n renderLoading = props.renderLoading,\n renderEmpty = props.renderEmpty,\n onSortColumn = props.onSortColumn,\n onScroll = props.onScroll,\n renderTreeToggle = props.renderTreeToggle,\n onRowClick = props.onRowClick,\n onRowContextMenu = props.onRowContextMenu,\n onExpandChange = props.onExpandChange,\n onTouchStart = props.onTouchStart,\n onTouchMove = props.onTouchMove,\n onTouchEnd = props.onTouchEnd,\n rest = (0,_babel_runtime_helpers_esm_objectWithoutPropertiesLoose__WEBPACK_IMPORTED_MODULE_1__.default)(props, [\"affixHeader\", \"children\", \"classPrefix\", \"className\", \"data\", \"width\", \"expandedRowKeys\", \"defaultExpandAllRows\", \"defaultExpandedRowKeys\", \"style\", \"id\", \"isTree\", \"hover\", \"bordered\", \"cellBordered\", \"wordWrap\", \"loading\", \"locale\", \"showHeader\", \"sortColumn\", \"rowHeight\", \"sortType\", \"defaultSortType\", \"headerHeight\", \"minHeight\", \"height\", \"autoHeight\", \"rtl\", \"translate3d\", \"rowKey\", \"virtualized\", \"rowHeight\", \"rowClassName\", \"rowExpandedHeight\", \"disabledScroll\", \"affixHorizontalScrollbar\", \"loadAnimation\", \"shouldUpdateScroll\", \"renderRowExpanded\", \"renderLoading\", \"renderEmpty\", \"onSortColumn\", \"onScroll\", \"renderTreeToggle\", \"onRowClick\", \"onRowContextMenu\", \"onExpandChange\", \"onTouchStart\", \"onTouchMove\", \"onTouchEnd\"]);\n\n if (isTree && !rowKey) {\n throw new Error('The `rowKey` is required when set isTree');\n }\n\n var _useClassNames = (0,_utils__WEBPACK_IMPORTED_MODULE_15__.useClassNames)(classPrefix || 'table', typeof classPrefix !== 'undefined'),\n withClassPrefix = _useClassNames.withClassPrefix,\n mergeCls = _useClassNames.merge,\n prefix = _useClassNames.prefix; // Use `forceUpdate` to force the component to re-render after manipulating the DOM.\n\n\n var _useReducer = (0,react__WEBPACK_IMPORTED_MODULE_2__.useReducer)(function (x) {\n return x + 1;\n }, 0),\n forceUpdate = _useReducer[1];\n\n var _useControlled = (0,_utils__WEBPACK_IMPORTED_MODULE_15__.useControlled)(expandedRowKeysProp, defaultExpandAllRows ? (0,_utils__WEBPACK_IMPORTED_MODULE_15__.findRowKeys)(dataProp, rowKey, lodash_isFunction__WEBPACK_IMPORTED_MODULE_5___default()(renderRowExpandedProp)) : defaultExpandedRowKeys || []),\n expandedRowKeys = _useControlled[0],\n setExpandedRowKeys = _useControlled[1];\n\n var _useState = (0,react__WEBPACK_IMPORTED_MODULE_2__.useState)(function () {\n return isTree ? filterTreeData(dataProp, expandedRowKeys, rowKey) : dataProp;\n }),\n data = _useState[0],\n setData = _useState[1];\n\n var _useTableRows = (0,_utils__WEBPACK_IMPORTED_MODULE_15__.useTableRows)({\n data: dataProp,\n expandedRowKeys: expandedRowKeys,\n wordWrap: wordWrap,\n prefix: prefix\n }),\n tableRowsMaxHeight = _useTableRows.tableRowsMaxHeight,\n bindTableRowsRef = _useTableRows.bindTableRowsRef;\n\n var headerHeight = showHeader ? headerHeightProp : 0;\n var rtl = rtlProp || (0,_utils__WEBPACK_IMPORTED_MODULE_15__.isRTL)();\n\n var getRowHeight = function getRowHeight(rowData) {\n if (rowData === void 0) {\n rowData = {};\n }\n\n return typeof rowHeightProp === 'function' ? rowHeightProp(rowData) : rowHeightProp;\n };\n\n var translateDOMPositionXY = (0,react__WEBPACK_IMPORTED_MODULE_2__.useRef)((0,dom_lib_translateDOMPositionXY__WEBPACK_IMPORTED_MODULE_3__.getTranslateDOMPositionXY)({\n enable3DTransform: translate3d\n }));\n var shouldFixedColumn = Array.from(lodash_flatten__WEBPACK_IMPORTED_MODULE_6___default()(children)).some(function (child) {\n var _child$props;\n\n return child === null || child === void 0 ? void 0 : (_child$props = child.props) === null || _child$props === void 0 ? void 0 : _child$props.fixed;\n });\n var visibleRows = (0,react__WEBPACK_IMPORTED_MODULE_2__.useRef)([]);\n var mouseAreaRef = (0,react__WEBPACK_IMPORTED_MODULE_2__.useRef)();\n var tableRef = (0,react__WEBPACK_IMPORTED_MODULE_2__.useRef)();\n var tableHeaderRef = (0,react__WEBPACK_IMPORTED_MODULE_2__.useRef)();\n var affixHeaderWrapperRef = (0,react__WEBPACK_IMPORTED_MODULE_2__.useRef)();\n var headerWrapperRef = (0,react__WEBPACK_IMPORTED_MODULE_2__.useRef)();\n var tableBodyRef = (0,react__WEBPACK_IMPORTED_MODULE_2__.useRef)();\n var wheelWrapperRef = (0,react__WEBPACK_IMPORTED_MODULE_2__.useRef)();\n var scrollbarXRef = (0,react__WEBPACK_IMPORTED_MODULE_2__.useRef)();\n var scrollbarYRef = (0,react__WEBPACK_IMPORTED_MODULE_2__.useRef)();\n /**\n * Reset the position of the scroll bar after the table size changes.\n */\n\n var resetScrollbar = function resetScrollbar(event) {\n forceUpdate();\n\n if (typeof shouldUpdateScroll === 'function') {\n onScrollTo(shouldUpdateScroll(event));\n } else if (shouldUpdateScroll) {\n var vertical = event === 'bodyHeightChanged';\n vertical ? onScrollTop(0) : onScrollLeft(0);\n }\n };\n\n var _useTableDimension = (0,_utils__WEBPACK_IMPORTED_MODULE_15__.useTableDimension)({\n data: dataProp,\n width: widthProp,\n rowHeight: rowHeight,\n tableRef: tableRef,\n headerWrapperRef: headerWrapperRef,\n prefix: prefix,\n affixHeader: affixHeader,\n affixHorizontalScrollbar: affixHorizontalScrollbar,\n headerHeight: headerHeight,\n height: height,\n autoHeight: autoHeight,\n children: children,\n expandedRowKeys: expandedRowKeys,\n onTableScroll: function onTableScroll(coords) {\n onScrollTo(coords);\n },\n onTableContentHeightChange: function onTableContentHeightChange() {\n resetScrollbar('bodyHeightChanged');\n },\n onTableContentWidthChange: function onTableContentWidthChange() {\n resetScrollbar('bodyWidthChanged');\n },\n onTableWidthChange: function onTableWidthChange() {\n resetScrollbar('widthChanged');\n }\n }),\n contentHeight = _useTableDimension.contentHeight,\n contentWidth = _useTableDimension.contentWidth,\n minScrollY = _useTableDimension.minScrollY,\n minScrollX = _useTableDimension.minScrollX,\n scrollY = _useTableDimension.scrollY,\n scrollX = _useTableDimension.scrollX,\n tableWidth = _useTableDimension.tableWidth,\n tableOffset = _useTableDimension.tableOffset,\n headerOffset = _useTableDimension.headerOffset,\n setScrollY = _useTableDimension.setScrollY,\n setScrollX = _useTableDimension.setScrollX;\n\n var getTableHeight = (0,react__WEBPACK_IMPORTED_MODULE_2__.useCallback)(function () {\n if (data.length === 0 && autoHeight) {\n return height;\n }\n\n return autoHeight ? Math.max(headerHeight + contentHeight.current, minHeight) : height;\n }, [autoHeight, contentHeight, data.length, headerHeight, height, minHeight]);\n (0,_utils__WEBPACK_IMPORTED_MODULE_15__.useAffix)({\n tableHeight: getTableHeight,\n contentHeight: contentHeight,\n affixHorizontalScrollbar: affixHorizontalScrollbar,\n affixHeader: affixHeader,\n tableOffset: tableOffset,\n headerOffset: headerOffset,\n headerHeight: headerHeight,\n scrollbarXRef: scrollbarXRef,\n affixHeaderWrapperRef: affixHeaderWrapperRef\n });\n\n var _usePosition = (0,_utils__WEBPACK_IMPORTED_MODULE_15__.usePosition)({\n data: dataProp,\n height: height,\n tableWidth: tableWidth,\n tableRef: tableRef,\n prefix: prefix,\n translateDOMPositionXY: translateDOMPositionXY,\n wheelWrapperRef: wheelWrapperRef,\n headerWrapperRef: headerWrapperRef,\n affixHeaderWrapperRef: affixHeaderWrapperRef,\n tableHeaderRef: tableHeaderRef,\n scrollX: scrollX,\n scrollY: scrollY,\n contentWidth: contentWidth,\n shouldFixedColumn: shouldFixedColumn\n }),\n forceUpdatePosition = _usePosition.forceUpdatePosition;\n\n var _useScrollListener = (0,_utils__WEBPACK_IMPORTED_MODULE_15__.useScrollListener)({\n rtl: rtl,\n data: dataProp,\n height: height,\n virtualized: virtualized,\n getTableHeight: getTableHeight,\n contentHeight: contentHeight,\n headerHeight: headerHeight,\n autoHeight: autoHeight,\n tableBodyRef: tableBodyRef,\n scrollbarXRef: scrollbarXRef,\n scrollbarYRef: scrollbarYRef,\n disabledScroll: disabledScroll,\n loading: loading,\n tableRef: tableRef,\n contentWidth: contentWidth,\n tableWidth: tableWidth,\n scrollY: scrollY,\n minScrollY: minScrollY,\n minScrollX: minScrollX,\n scrollX: scrollX,\n setScrollX: setScrollX,\n setScrollY: setScrollY,\n forceUpdatePosition: forceUpdatePosition,\n onScroll: onScroll,\n onTouchStart: onTouchStart,\n onTouchMove: onTouchMove,\n onTouchEnd: onTouchEnd\n }),\n isScrolling = _useScrollListener.isScrolling,\n onScrollHorizontal = _useScrollListener.onScrollHorizontal,\n onScrollVertical = _useScrollListener.onScrollVertical,\n onScrollBody = _useScrollListener.onScrollBody,\n onScrollTop = _useScrollListener.onScrollTop,\n onScrollLeft = _useScrollListener.onScrollLeft,\n onScrollTo = _useScrollListener.onScrollTo;\n\n var _useCellDescriptor = (0,_utils__WEBPACK_IMPORTED_MODULE_15__.useCellDescriptor)({\n children: children,\n rtl: rtl,\n mouseAreaRef: mouseAreaRef,\n tableRef: tableRef,\n minScrollX: minScrollX,\n scrollX: scrollX,\n tableWidth: tableWidth,\n headerHeight: headerHeight,\n showHeader: showHeader,\n sortType: sortTypeProp,\n defaultSortType: defaultSortType,\n sortColumn: sortColumn,\n prefix: prefix,\n onSortColumn: onSortColumn,\n rowHeight: rowHeight\n }),\n headerCells = _useCellDescriptor.headerCells,\n bodyCells = _useCellDescriptor.bodyCells,\n allColumnsWidth = _useCellDescriptor.allColumnsWidth,\n hasCustomTreeCol = _useCellDescriptor.hasCustomTreeCol;\n\n var colCounts = (0,react__WEBPACK_IMPORTED_MODULE_2__.useRef)((headerCells === null || headerCells === void 0 ? void 0 : headerCells.length) || 0);\n (0,_utils__WEBPACK_IMPORTED_MODULE_15__.useUpdateEffect)(function () {\n setData(isTree ? filterTreeData(dataProp, expandedRowKeys, rowKey) : dataProp);\n }, [dataProp, expandedRowKeys, rowKey, isTree]);\n (0,_utils__WEBPACK_IMPORTED_MODULE_15__.useUpdateEffect)(function () {\n if ((headerCells === null || headerCells === void 0 ? void 0 : headerCells.length) !== colCounts.current) {\n onScrollLeft(0);\n colCounts.current = (headerCells === null || headerCells === void 0 ? void 0 : headerCells.length) || 0;\n }\n }, [children]);\n (0,react__WEBPACK_IMPORTED_MODULE_2__.useImperativeHandle)(ref, function () {\n return {\n get root() {\n return tableRef.current;\n },\n\n get body() {\n return wheelWrapperRef.current;\n },\n\n scrollTop: onScrollTop,\n scrollLeft: onScrollLeft\n };\n });\n var rowWidth = allColumnsWidth > tableWidth.current ? allColumnsWidth : tableWidth.current;\n var classes = mergeCls(className, withClassPrefix({\n bordered: bordered,\n hover: hover,\n loading: loading,\n treetable: isTree,\n 'word-wrap': wordWrap,\n 'cell-bordered': cellBordered\n }));\n\n var styles = (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__.default)({\n width: widthProp || 'auto',\n height: getTableHeight()\n }, style);\n\n var renderRowExpanded = (0,react__WEBPACK_IMPORTED_MODULE_2__.useCallback)(function (rowData) {\n var styles = {\n height: rowExpandedHeight\n };\n\n if (typeof renderRowExpandedProp === 'function') {\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default().createElement(\"div\", {\n className: prefix('row-expanded'),\n style: styles\n }, renderRowExpandedProp(rowData));\n }\n\n return null;\n }, [prefix, renderRowExpandedProp, rowExpandedHeight]);\n\n var renderRow = function renderRow(props, cells, shouldRenderExpandedRow, rowData) {\n var depth = props.depth,\n restRowProps = (0,_babel_runtime_helpers_esm_objectWithoutPropertiesLoose__WEBPACK_IMPORTED_MODULE_1__.default)(props, [\"depth\"]);\n\n if (typeof rowClassName === 'function') {\n restRowProps.className = rowClassName(rowData);\n } else {\n restRowProps.className = rowClassName;\n }\n\n var rowStyles = (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__.default)({}, props === null || props === void 0 ? void 0 : props.style);\n\n var rowRight = 0;\n\n if (rtl && contentWidth.current > tableWidth.current) {\n rowRight = tableWidth.current - contentWidth.current;\n rowStyles.right = rowRight;\n } // IF there are fixed columns, add a fixed group\n\n\n if (shouldFixedColumn && contentWidth.current > tableWidth.current) {\n var fixedLeftCells = [];\n var fixedRightCells = [];\n var scrollCells = [];\n var fixedLeftCellGroupWidth = 0;\n var fixedRightCellGroupWidth = 0;\n\n for (var i = 0; i < cells.length; i++) {\n var cell = cells[i];\n var _cell$props = cell.props,\n fixed = _cell$props.fixed,\n width = _cell$props.width;\n var isFixedStart = fixed === 'left' || fixed === true;\n var isFixedEnd = fixed === 'right';\n\n if (rtl) {\n isFixedStart = fixed === 'right';\n isFixedEnd = fixed === 'left' || fixed === true;\n }\n\n if (isFixedStart) {\n fixedLeftCells.push(cell);\n fixedLeftCellGroupWidth += width;\n } else if (isFixedEnd) {\n fixedRightCells.push(cell);\n fixedRightCellGroupWidth += width;\n } else {\n scrollCells.push(cell);\n }\n }\n\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default().createElement(_Row__WEBPACK_IMPORTED_MODULE_7__.default, (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__.default)({}, restRowProps, {\n \"data-depth\": depth,\n style: rowStyles\n }), fixedLeftCellGroupWidth ? /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default().createElement(_CellGroup__WEBPACK_IMPORTED_MODULE_8__.default, {\n fixed: \"left\",\n height: props.isHeaderRow ? props.headerHeight : props.height,\n width: fixedLeftCellGroupWidth,\n style: rtl ? {\n right: tableWidth.current - fixedLeftCellGroupWidth - rowRight\n } : null\n }, (0,_utils__WEBPACK_IMPORTED_MODULE_15__.mergeCells)((0,_utils__WEBPACK_IMPORTED_MODULE_15__.resetLeftForCells)(fixedLeftCells))) : null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default().createElement(_CellGroup__WEBPACK_IMPORTED_MODULE_8__.default, null, (0,_utils__WEBPACK_IMPORTED_MODULE_15__.mergeCells)(scrollCells)), fixedRightCellGroupWidth ? /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default().createElement(_CellGroup__WEBPACK_IMPORTED_MODULE_8__.default, {\n fixed: \"right\",\n style: rtl ? {\n right: 0 - rowRight\n } : {\n left: tableWidth.current - fixedRightCellGroupWidth - _constants__WEBPACK_IMPORTED_MODULE_14__.SCROLLBAR_WIDTH\n },\n height: props.isHeaderRow ? props.headerHeight : props.height,\n width: fixedRightCellGroupWidth + _constants__WEBPACK_IMPORTED_MODULE_14__.SCROLLBAR_WIDTH\n }, (0,_utils__WEBPACK_IMPORTED_MODULE_15__.mergeCells)((0,_utils__WEBPACK_IMPORTED_MODULE_15__.resetLeftForCells)(fixedRightCells, _constants__WEBPACK_IMPORTED_MODULE_14__.SCROLLBAR_WIDTH))) : null, shouldRenderExpandedRow && renderRowExpanded(rowData));\n }\n\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default().createElement(_Row__WEBPACK_IMPORTED_MODULE_7__.default, (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__.default)({}, restRowProps, {\n \"data-depth\": depth,\n style: rowStyles\n }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default().createElement(_CellGroup__WEBPACK_IMPORTED_MODULE_8__.default, null, (0,_utils__WEBPACK_IMPORTED_MODULE_15__.mergeCells)(cells)), shouldRenderExpandedRow && renderRowExpanded(rowData));\n };\n\n var renderTableHeader = function renderTableHeader(headerCells, rowWidth) {\n var top = typeof affixHeader === 'number' ? affixHeader : 0;\n var rowProps = {\n 'aria-rowindex': 1,\n rowRef: tableHeaderRef,\n width: rowWidth,\n height: getRowHeight(),\n headerHeight: headerHeight,\n isHeaderRow: true,\n top: 0\n };\n var fixedStyle = {\n position: 'fixed',\n overflow: 'hidden',\n height: headerHeight,\n width: tableWidth.current,\n top: top\n }; // Affix header\n\n var header = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default().createElement(\"div\", {\n className: prefix('affix-header'),\n style: fixedStyle,\n ref: affixHeaderWrapperRef\n }, renderRow(rowProps, headerCells));\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default().createElement((react__WEBPACK_IMPORTED_MODULE_2___default().Fragment), null, (affixHeader === 0 || affixHeader) && header, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default().createElement(\"div\", {\n role: \"rowgroup\",\n className: prefix('header-row-wrapper'),\n ref: headerWrapperRef\n }, renderRow(rowProps, headerCells)));\n };\n\n var shouldRenderExpandedRow = (0,react__WEBPACK_IMPORTED_MODULE_2__.useCallback)(function (rowData) {\n return lodash_isFunction__WEBPACK_IMPORTED_MODULE_5___default()(renderRowExpandedProp) && !isTree && expandedRowKeys.some(function (key) {\n return key === rowData[rowKey];\n });\n }, [expandedRowKeys, isTree, renderRowExpandedProp, rowKey]);\n var bindRowClick = (0,react__WEBPACK_IMPORTED_MODULE_2__.useCallback)(function (rowData) {\n return function (event) {\n onRowClick === null || onRowClick === void 0 ? void 0 : onRowClick(rowData, event);\n };\n }, [onRowClick]);\n var bindRowContextMenu = (0,react__WEBPACK_IMPORTED_MODULE_2__.useCallback)(function (rowData) {\n return function (event) {\n onRowContextMenu === null || onRowContextMenu === void 0 ? void 0 : onRowContextMenu(rowData, event);\n };\n }, [onRowContextMenu]);\n var handleTreeToggle = (0,react__WEBPACK_IMPORTED_MODULE_2__.useCallback)(function (treeRowKey, _rowIndex, rowData) {\n var open = false;\n var nextExpandedRowKeys = [];\n\n for (var i = 0; i < expandedRowKeys.length; i++) {\n var key = expandedRowKeys[i];\n\n if (key === treeRowKey) {\n open = true;\n } else {\n nextExpandedRowKeys.push(key);\n }\n }\n\n if (!open) {\n nextExpandedRowKeys.push(treeRowKey);\n }\n\n setExpandedRowKeys(nextExpandedRowKeys);\n onExpandChange === null || onExpandChange === void 0 ? void 0 : onExpandChange(!open, rowData);\n }, [expandedRowKeys, onExpandChange, setExpandedRowKeys]);\n\n var renderRowData = function renderRowData(bodyCells, rowData, props, shouldRenderExpandedRow) {\n var hasChildren = isTree && rowData.children && Array.isArray(rowData.children);\n var nextRowKey = typeof rowData[rowKey] !== 'undefined' ? rowData[rowKey] : props.key;\n\n var rowProps = (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__.default)({}, props, {\n key: nextRowKey,\n 'aria-rowindex': props.key + 2,\n rowRef: bindTableRowsRef(props.key, rowData),\n onClick: bindRowClick(rowData),\n onContextMenu: bindRowContextMenu(rowData)\n });\n\n var expanded = expandedRowKeys.some(function (key) {\n return key === rowData[rowKey];\n });\n var cells = [];\n\n for (var i = 0; i < bodyCells.length; i++) {\n var _cell$props2, _cell$props2$rowSpan;\n\n var cell = bodyCells[i];\n var rowSpan = (_cell$props2 = cell.props) === null || _cell$props2 === void 0 ? void 0 : (_cell$props2$rowSpan = _cell$props2.rowSpan) === null || _cell$props2$rowSpan === void 0 ? void 0 : _cell$props2$rowSpan.call(_cell$props2, rowData);\n\n var _rowHeight = rowSpan ? rowSpan * props.height : props.height;\n\n if (rowSpan) {\n var _rowProps$style;\n\n rowProps.rowSpan = rowSpan;\n rowProps.style = {\n /**\n * In the case of multiple-column merged rows,\n * the `zIndex` value of the previous row should be greater than the `zIndex` value of the following row.\n * So `rowSpan` is used as the `zIndex` value.\n */\n zIndex: ((_rowProps$style = rowProps.style) === null || _rowProps$style === void 0 ? void 0 : _rowProps$style.zIndex) || rowSpan,\n overflow: 'unset'\n }; // TODO: Do not render those cells merged by `rowSpan`\n }\n\n cells.push( /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default().cloneElement(cell, {\n hasChildren: hasChildren,\n rowData: rowData,\n wordWrap: wordWrap,\n height: _rowHeight,\n rowIndex: props.key,\n depth: props.depth,\n renderTreeToggle: renderTreeToggle,\n onTreeToggle: handleTreeToggle,\n rowKey: nextRowKey,\n expanded: expanded,\n rowSpan: rowSpan\n }));\n }\n\n return renderRow(rowProps, cells, shouldRenderExpandedRow, rowData);\n };\n\n var renderScrollbar = function renderScrollbar() {\n var height = getTableHeight();\n\n if (disabledScroll) {\n return null;\n }\n\n return [/*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default().createElement(_Scrollbar__WEBPACK_IMPORTED_MODULE_9__.default, {\n key: \"scrollbar\",\n tableId: id,\n style: {\n width: tableWidth.current\n },\n length: tableWidth.current,\n onScroll: onScrollHorizontal,\n scrollLength: contentWidth.current,\n ref: scrollbarXRef\n }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default().createElement(_Scrollbar__WEBPACK_IMPORTED_MODULE_9__.default, {\n key: \"vertical-scrollbar\",\n vertical: true,\n tableId: id,\n length: height - headerHeight,\n scrollLength: contentHeight.current,\n onScroll: onScrollVertical,\n ref: scrollbarYRef\n })];\n };\n\n var renderTableBody = function renderTableBody(bodyCells, rowWidth) {\n var _visibleRows$current;\n\n var height = getTableHeight();\n var bodyHeight = height - headerHeight;\n var bodyStyles = {\n top: headerHeight,\n height: bodyHeight\n };\n var contentHeight = 0;\n var topHideHeight = 0;\n var bottomHideHeight = 0;\n visibleRows.current = [];\n\n if (data) {\n var top = 0; // Row position\n\n var minTop = Math.abs(scrollY.current);\n var maxTop = minTop + height + rowExpandedHeight;\n var isCustomRowHeight = typeof rowHeight === 'function';\n var isUncertainHeight = !!renderRowExpandedProp || isCustomRowHeight || wordWrap; // If virtualized is enabled and the row height in the Table is variable,\n // you need to loop through the data to get the height of each row.\n\n if (isUncertainHeight && virtualized || !virtualized) {\n // Avoid white screens on the top and bottom of the table when touching and scrolling on the mobile terminal.\n // So supplement the display data row.\n if ((0,_utils__WEBPACK_IMPORTED_MODULE_15__.isSupportTouchEvent)()) {\n var coveredHeight = height * 3;\n minTop = Math.max(minTop - coveredHeight, 0);\n maxTop = maxTop + coveredHeight;\n }\n\n for (var index = 0; index < data.length; index++) {\n var _rowData = data[index];\n var maxHeight = tableRowsMaxHeight[index];\n var shouldRender = shouldRenderExpandedRow(_rowData);\n var nextRowHeight = 0;\n\n if (typeof rowHeight === 'function') {\n nextRowHeight = rowHeight(_rowData);\n } else {\n nextRowHeight = maxHeight ? Math.max(maxHeight + _constants__WEBPACK_IMPORTED_MODULE_14__.CELL_PADDING_HEIGHT, rowHeight) : rowHeight;\n\n if (shouldRender) {\n nextRowHeight += rowExpandedHeight;\n }\n }\n\n contentHeight += nextRowHeight;\n var rowProps = {\n key: index,\n top: top,\n width: rowWidth,\n depth: _rowData[_constants__WEBPACK_IMPORTED_MODULE_14__.TREE_DEPTH],\n height: nextRowHeight\n };\n top += nextRowHeight;\n\n if (virtualized && !wordWrap) {\n if (top + nextRowHeight < minTop) {\n topHideHeight += nextRowHeight;\n continue;\n } else if (top > maxTop) {\n bottomHideHeight += nextRowHeight;\n continue;\n }\n }\n\n visibleRows.current.push(renderRowData(bodyCells, _rowData, rowProps, shouldRender));\n }\n } else {\n /** virtualized */\n // If the row height of the Table is fixed, it is directly calculated by the row height and the number of rows,\n // thereby reducing the performance cost of traversing all data.\n var _nextRowHeight = getRowHeight();\n\n var startIndex = Math.max(Math.floor(minTop / _nextRowHeight), 0);\n var endIndex = Math.min(startIndex + Math.ceil(bodyHeight / _nextRowHeight) + 5, data.length); // Avoid white screens on the top and bottom of the table when touching and scrolling on the mobile terminal.\n // So supplement the display data row.\n\n if ((0,_utils__WEBPACK_IMPORTED_MODULE_15__.isSupportTouchEvent)()) {\n var coveredCount = Math.floor(height / _nextRowHeight * 3);\n startIndex = Math.max(startIndex - coveredCount, 0);\n endIndex = Math.min(endIndex + coveredCount, data.length);\n }\n\n contentHeight = data.length * _nextRowHeight;\n topHideHeight = startIndex * _nextRowHeight;\n bottomHideHeight = (data.length - endIndex) * _nextRowHeight;\n\n for (var _index = startIndex; _index < endIndex; _index++) {\n var _rowData2 = data[_index];\n var _rowProps = {\n key: _index,\n depth: _rowData2[_constants__WEBPACK_IMPORTED_MODULE_14__.TREE_DEPTH],\n top: _index * _nextRowHeight,\n width: rowWidth,\n height: _nextRowHeight\n };\n visibleRows.current.push(renderRowData(bodyCells, _rowData2, _rowProps, false));\n }\n }\n }\n\n var wheelStyles = {\n position: 'absolute',\n height: contentHeight,\n minHeight: height,\n pointerEvents: isScrolling ? 'none' : undefined\n };\n var topRowStyles = {\n height: topHideHeight\n };\n var bottomRowStyles = {\n height: bottomHideHeight\n };\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default().createElement(\"div\", {\n ref: tableBodyRef,\n role: \"rowgroup\",\n className: prefix('body-row-wrapper'),\n style: bodyStyles,\n onScroll: onScrollBody\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default().createElement(\"div\", {\n style: wheelStyles,\n className: prefix('body-wheel-area'),\n ref: wheelWrapperRef\n }, topHideHeight ? /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default().createElement(_Row__WEBPACK_IMPORTED_MODULE_7__.default, {\n style: topRowStyles,\n className: \"virtualized\"\n }) : null, visibleRows.current, bottomHideHeight ? /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default().createElement(_Row__WEBPACK_IMPORTED_MODULE_7__.default, {\n style: bottomRowStyles,\n className: \"virtualized\"\n }) : null), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default().createElement(_EmptyMessage__WEBPACK_IMPORTED_MODULE_12__.default, {\n locale: locale,\n renderEmpty: renderEmpty,\n addPrefix: prefix,\n loading: !!((_visibleRows$current = visibleRows.current) !== null && _visibleRows$current !== void 0 && _visibleRows$current.length) || loading\n }), renderScrollbar(), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default().createElement(_Loader__WEBPACK_IMPORTED_MODULE_11__.default, {\n locale: locale,\n loadAnimation: loadAnimation,\n loading: loading,\n addPrefix: prefix,\n renderLoading: renderLoading\n }));\n };\n\n var contextValue = react__WEBPACK_IMPORTED_MODULE_2___default().useMemo(function () {\n return {\n classPrefix: withClassPrefix(),\n translateDOMPositionXY: translateDOMPositionXY.current,\n rtl: rtl,\n isTree: isTree,\n hasCustomTreeCol: hasCustomTreeCol\n };\n }, [hasCustomTreeCol, isTree, rtl, withClassPrefix]);\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default().createElement(_TableContext__WEBPACK_IMPORTED_MODULE_13__.default.Provider, {\n value: contextValue\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default().createElement(\"div\", (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__.default)({\n role: isTree ? 'treegrid' : 'grid' // The aria-rowcount is specified on the element with the table.\n // Its value is an integer equal to the total number of rows available, including header rows.\n ,\n \"aria-rowcount\": data.length + 1,\n \"aria-colcount\": colCounts.current,\n \"aria-busy\": loading\n }, rest, {\n className: classes,\n style: styles,\n ref: tableRef\n }), showHeader && renderTableHeader(headerCells, rowWidth), children && renderTableBody(bodyCells, rowWidth), showHeader && /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default().createElement(_MouseArea__WEBPACK_IMPORTED_MODULE_10__.default, {\n ref: mouseAreaRef,\n addPrefix: prefix,\n headerHeight: headerHeight,\n height: getTableHeight()\n })));\n});\nTable.displayName = 'Table';\nTable.defaultProps = {\n data: [],\n defaultSortType: _constants__WEBPACK_IMPORTED_MODULE_14__.SORT_TYPE.DESC,\n height: 200,\n rowHeight: 46,\n headerHeight: 40,\n minHeight: 0,\n rowExpandedHeight: 100,\n hover: true,\n showHeader: true,\n translate3d: true,\n shouldUpdateScroll: true,\n locale: {\n emptyMessage: 'No data found',\n loading: 'Loading...'\n }\n};\nTable.propTypes = {\n autoHeight: (prop_types__WEBPACK_IMPORTED_MODULE_4___default().bool),\n affixHeader: prop_types__WEBPACK_IMPORTED_MODULE_4___default().oneOfType([(prop_types__WEBPACK_IMPORTED_MODULE_4___default().bool), (prop_types__WEBPACK_IMPORTED_MODULE_4___default().number)]),\n affixHorizontalScrollbar: prop_types__WEBPACK_IMPORTED_MODULE_4___default().oneOfType([(prop_types__WEBPACK_IMPORTED_MODULE_4___default().bool), (prop_types__WEBPACK_IMPORTED_MODULE_4___default().number)]),\n bordered: (prop_types__WEBPACK_IMPORTED_MODULE_4___default().bool),\n className: (prop_types__WEBPACK_IMPORTED_MODULE_4___default().string),\n classPrefix: (prop_types__WEBPACK_IMPORTED_MODULE_4___default().string),\n children: (prop_types__WEBPACK_IMPORTED_MODULE_4___default().any),\n cellBordered: (prop_types__WEBPACK_IMPORTED_MODULE_4___default().bool),\n data: prop_types__WEBPACK_IMPORTED_MODULE_4___default().arrayOf((prop_types__WEBPACK_IMPORTED_MODULE_4___default().object)),\n defaultExpandAllRows: (prop_types__WEBPACK_IMPORTED_MODULE_4___default().bool),\n defaultExpandedRowKeys: prop_types__WEBPACK_IMPORTED_MODULE_4___default().arrayOf(prop_types__WEBPACK_IMPORTED_MODULE_4___default().oneOfType([(prop_types__WEBPACK_IMPORTED_MODULE_4___default().string), (prop_types__WEBPACK_IMPORTED_MODULE_4___default().number)])),\n defaultSortType: (prop_types__WEBPACK_IMPORTED_MODULE_4___default().any),\n disabledScroll: (prop_types__WEBPACK_IMPORTED_MODULE_4___default().bool),\n expandedRowKeys: prop_types__WEBPACK_IMPORTED_MODULE_4___default().arrayOf(prop_types__WEBPACK_IMPORTED_MODULE_4___default().oneOfType([(prop_types__WEBPACK_IMPORTED_MODULE_4___default().string), (prop_types__WEBPACK_IMPORTED_MODULE_4___default().number)])),\n hover: (prop_types__WEBPACK_IMPORTED_MODULE_4___default().bool),\n height: (prop_types__WEBPACK_IMPORTED_MODULE_4___default().number),\n headerHeight: (prop_types__WEBPACK_IMPORTED_MODULE_4___default().number),\n locale: (prop_types__WEBPACK_IMPORTED_MODULE_4___default().object),\n loading: (prop_types__WEBPACK_IMPORTED_MODULE_4___default().bool),\n loadAnimation: (prop_types__WEBPACK_IMPORTED_MODULE_4___default().bool),\n minHeight: (prop_types__WEBPACK_IMPORTED_MODULE_4___default().number),\n rowKey: prop_types__WEBPACK_IMPORTED_MODULE_4___default().oneOfType([(prop_types__WEBPACK_IMPORTED_MODULE_4___default().string), (prop_types__WEBPACK_IMPORTED_MODULE_4___default().number)]),\n rowHeight: prop_types__WEBPACK_IMPORTED_MODULE_4___default().oneOfType([(prop_types__WEBPACK_IMPORTED_MODULE_4___default().number), (prop_types__WEBPACK_IMPORTED_MODULE_4___default().func)]),\n renderTreeToggle: (prop_types__WEBPACK_IMPORTED_MODULE_4___default().func),\n renderRowExpanded: (prop_types__WEBPACK_IMPORTED_MODULE_4___default().func),\n rowExpandedHeight: (prop_types__WEBPACK_IMPORTED_MODULE_4___default().number),\n renderEmpty: (prop_types__WEBPACK_IMPORTED_MODULE_4___default().func),\n renderLoading: (prop_types__WEBPACK_IMPORTED_MODULE_4___default().func),\n rowClassName: prop_types__WEBPACK_IMPORTED_MODULE_4___default().oneOfType([(prop_types__WEBPACK_IMPORTED_MODULE_4___default().func), (prop_types__WEBPACK_IMPORTED_MODULE_4___default().string)]),\n rtl: (prop_types__WEBPACK_IMPORTED_MODULE_4___default().bool),\n style: (prop_types__WEBPACK_IMPORTED_MODULE_4___default().object),\n sortColumn: (prop_types__WEBPACK_IMPORTED_MODULE_4___default().string),\n sortType: (prop_types__WEBPACK_IMPORTED_MODULE_4___default().any),\n showHeader: (prop_types__WEBPACK_IMPORTED_MODULE_4___default().bool),\n shouldUpdateScroll: prop_types__WEBPACK_IMPORTED_MODULE_4___default().oneOfType([(prop_types__WEBPACK_IMPORTED_MODULE_4___default().func), (prop_types__WEBPACK_IMPORTED_MODULE_4___default().bool)]),\n translate3d: (prop_types__WEBPACK_IMPORTED_MODULE_4___default().bool),\n wordWrap: (prop_types__WEBPACK_IMPORTED_MODULE_4___default().bool),\n width: (prop_types__WEBPACK_IMPORTED_MODULE_4___default().number),\n virtualized: (prop_types__WEBPACK_IMPORTED_MODULE_4___default().bool),\n isTree: (prop_types__WEBPACK_IMPORTED_MODULE_4___default().bool),\n onRowClick: (prop_types__WEBPACK_IMPORTED_MODULE_4___default().func),\n onRowContextMenu: (prop_types__WEBPACK_IMPORTED_MODULE_4___default().func),\n onScroll: (prop_types__WEBPACK_IMPORTED_MODULE_4___default().func),\n onSortColumn: (prop_types__WEBPACK_IMPORTED_MODULE_4___default().func),\n onExpandChange: (prop_types__WEBPACK_IMPORTED_MODULE_4___default().func),\n onTouchStart: (prop_types__WEBPACK_IMPORTED_MODULE_4___default().func),\n onTouchMove: (prop_types__WEBPACK_IMPORTED_MODULE_4___default().func),\n onTouchEnd: (prop_types__WEBPACK_IMPORTED_MODULE_4___default().func)\n};\n/* harmony default export */ __webpack_exports__[\"default\"] = (Table);\n\n//# sourceURL=webpack://rsuite/./node_modules/rsuite-table/es/Table.js?");
9060
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/esm/extends */ \"./node_modules/@babel/runtime/helpers/esm/extends.js\");\n/* harmony import */ var _babel_runtime_helpers_esm_objectWithoutPropertiesLoose__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/esm/objectWithoutPropertiesLoose */ \"./node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! react */ \"react\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var dom_lib_translateDOMPositionXY__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! dom-lib/translateDOMPositionXY */ \"./node_modules/dom-lib/esm/translateDOMPositionXY.js\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! prop-types */ \"./node_modules/prop-types/index.js\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var lodash_isFunction__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! lodash/isFunction */ \"./node_modules/lodash/isFunction.js\");\n/* harmony import */ var lodash_isFunction__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(lodash_isFunction__WEBPACK_IMPORTED_MODULE_5__);\n/* harmony import */ var lodash_flatten__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! lodash/flatten */ \"./node_modules/lodash/flatten.js\");\n/* harmony import */ var lodash_flatten__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(lodash_flatten__WEBPACK_IMPORTED_MODULE_6__);\n/* harmony import */ var _Row__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./Row */ \"./node_modules/rsuite-table/es/Row.js\");\n/* harmony import */ var _CellGroup__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./CellGroup */ \"./node_modules/rsuite-table/es/CellGroup.js\");\n/* harmony import */ var _Scrollbar__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./Scrollbar */ \"./node_modules/rsuite-table/es/Scrollbar.js\");\n/* harmony import */ var _MouseArea__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./MouseArea */ \"./node_modules/rsuite-table/es/MouseArea.js\");\n/* harmony import */ var _Loader__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./Loader */ \"./node_modules/rsuite-table/es/Loader.js\");\n/* harmony import */ var _EmptyMessage__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./EmptyMessage */ \"./node_modules/rsuite-table/es/EmptyMessage.js\");\n/* harmony import */ var _TableContext__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ./TableContext */ \"./node_modules/rsuite-table/es/TableContext.js\");\n/* harmony import */ var _constants__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ./constants */ \"./node_modules/rsuite-table/es/constants.js\");\n/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ./utils */ \"./node_modules/rsuite-table/es/utils/index.js\");\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n/**\n * Filter those expanded nodes.\n * @param data\n * @param expandedRowKeys\n * @param rowKey\n * @returns\n */\nvar filterTreeData = function filterTreeData(data, expandedRowKeys, rowKey) {\n return (0,_utils__WEBPACK_IMPORTED_MODULE_15__.flattenData)(data).filter(function (rowData) {\n var parents = (0,_utils__WEBPACK_IMPORTED_MODULE_15__.findAllParents)(rowData, rowKey);\n var expanded = (0,_utils__WEBPACK_IMPORTED_MODULE_15__.shouldShowRowByExpanded)(expandedRowKeys, parents);\n rowData[_constants__WEBPACK_IMPORTED_MODULE_14__.EXPANDED_KEY] = expanded;\n rowData[_constants__WEBPACK_IMPORTED_MODULE_14__.TREE_DEPTH] = parents.length;\n return expanded;\n });\n};\n\nvar Table = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default().forwardRef(function (props, ref) {\n var affixHeader = props.affixHeader,\n children = props.children,\n classPrefix = props.classPrefix,\n className = props.className,\n dataProp = props.data,\n widthProp = props.width,\n expandedRowKeysProp = props.expandedRowKeys,\n defaultExpandAllRows = props.defaultExpandAllRows,\n defaultExpandedRowKeys = props.defaultExpandedRowKeys,\n style = props.style,\n id = props.id,\n isTree = props.isTree,\n hover = props.hover,\n bordered = props.bordered,\n cellBordered = props.cellBordered,\n wordWrap = props.wordWrap,\n loading = props.loading,\n locale = props.locale,\n showHeader = props.showHeader,\n sortColumn = props.sortColumn,\n rowHeightProp = props.rowHeight,\n sortTypeProp = props.sortType,\n defaultSortType = props.defaultSortType,\n headerHeightProp = props.headerHeight,\n minHeight = props.minHeight,\n height = props.height,\n autoHeight = props.autoHeight,\n rtlProp = props.rtl,\n translate3d = props.translate3d,\n rowKey = props.rowKey,\n virtualized = props.virtualized,\n rowHeight = props.rowHeight,\n rowClassName = props.rowClassName,\n rowExpandedHeight = props.rowExpandedHeight,\n disabledScroll = props.disabledScroll,\n affixHorizontalScrollbar = props.affixHorizontalScrollbar,\n loadAnimation = props.loadAnimation,\n shouldUpdateScroll = props.shouldUpdateScroll,\n renderRowProp = props.renderRow,\n renderRowExpandedProp = props.renderRowExpanded,\n renderLoading = props.renderLoading,\n renderEmpty = props.renderEmpty,\n onSortColumn = props.onSortColumn,\n onScroll = props.onScroll,\n renderTreeToggle = props.renderTreeToggle,\n onRowClick = props.onRowClick,\n onRowContextMenu = props.onRowContextMenu,\n onExpandChange = props.onExpandChange,\n onTouchStart = props.onTouchStart,\n onTouchMove = props.onTouchMove,\n onTouchEnd = props.onTouchEnd,\n rest = (0,_babel_runtime_helpers_esm_objectWithoutPropertiesLoose__WEBPACK_IMPORTED_MODULE_1__.default)(props, [\"affixHeader\", \"children\", \"classPrefix\", \"className\", \"data\", \"width\", \"expandedRowKeys\", \"defaultExpandAllRows\", \"defaultExpandedRowKeys\", \"style\", \"id\", \"isTree\", \"hover\", \"bordered\", \"cellBordered\", \"wordWrap\", \"loading\", \"locale\", \"showHeader\", \"sortColumn\", \"rowHeight\", \"sortType\", \"defaultSortType\", \"headerHeight\", \"minHeight\", \"height\", \"autoHeight\", \"rtl\", \"translate3d\", \"rowKey\", \"virtualized\", \"rowHeight\", \"rowClassName\", \"rowExpandedHeight\", \"disabledScroll\", \"affixHorizontalScrollbar\", \"loadAnimation\", \"shouldUpdateScroll\", \"renderRow\", \"renderRowExpanded\", \"renderLoading\", \"renderEmpty\", \"onSortColumn\", \"onScroll\", \"renderTreeToggle\", \"onRowClick\", \"onRowContextMenu\", \"onExpandChange\", \"onTouchStart\", \"onTouchMove\", \"onTouchEnd\"]);\n\n if (isTree && !rowKey) {\n throw new Error('The `rowKey` is required when set isTree');\n }\n\n var _useClassNames = (0,_utils__WEBPACK_IMPORTED_MODULE_15__.useClassNames)(classPrefix || 'table', typeof classPrefix !== 'undefined'),\n withClassPrefix = _useClassNames.withClassPrefix,\n mergeCls = _useClassNames.merge,\n prefix = _useClassNames.prefix; // Use `forceUpdate` to force the component to re-render after manipulating the DOM.\n\n\n var _useReducer = (0,react__WEBPACK_IMPORTED_MODULE_2__.useReducer)(function (x) {\n return x + 1;\n }, 0),\n forceUpdate = _useReducer[1];\n\n var _useControlled = (0,_utils__WEBPACK_IMPORTED_MODULE_15__.useControlled)(expandedRowKeysProp, defaultExpandAllRows ? (0,_utils__WEBPACK_IMPORTED_MODULE_15__.findRowKeys)(dataProp, rowKey, lodash_isFunction__WEBPACK_IMPORTED_MODULE_5___default()(renderRowExpandedProp)) : defaultExpandedRowKeys || []),\n expandedRowKeys = _useControlled[0],\n setExpandedRowKeys = _useControlled[1];\n\n var _useState = (0,react__WEBPACK_IMPORTED_MODULE_2__.useState)(function () {\n return isTree ? filterTreeData(dataProp, expandedRowKeys, rowKey) : dataProp;\n }),\n data = _useState[0],\n setData = _useState[1];\n\n var _useTableRows = (0,_utils__WEBPACK_IMPORTED_MODULE_15__.useTableRows)({\n data: dataProp,\n expandedRowKeys: expandedRowKeys,\n wordWrap: wordWrap,\n prefix: prefix\n }),\n tableRowsMaxHeight = _useTableRows.tableRowsMaxHeight,\n bindTableRowsRef = _useTableRows.bindTableRowsRef;\n\n var headerHeight = showHeader ? headerHeightProp : 0;\n var rtl = rtlProp || (0,_utils__WEBPACK_IMPORTED_MODULE_15__.isRTL)();\n\n var getRowHeight = function getRowHeight(rowData) {\n if (rowData === void 0) {\n rowData = {};\n }\n\n return typeof rowHeightProp === 'function' ? rowHeightProp(rowData) : rowHeightProp;\n };\n\n var translateDOMPositionXY = (0,react__WEBPACK_IMPORTED_MODULE_2__.useRef)((0,dom_lib_translateDOMPositionXY__WEBPACK_IMPORTED_MODULE_3__.getTranslateDOMPositionXY)({\n enable3DTransform: translate3d\n }));\n var shouldFixedColumn = Array.from(lodash_flatten__WEBPACK_IMPORTED_MODULE_6___default()(children)).some(function (child) {\n var _child$props;\n\n return child === null || child === void 0 ? void 0 : (_child$props = child.props) === null || _child$props === void 0 ? void 0 : _child$props.fixed;\n });\n var visibleRows = (0,react__WEBPACK_IMPORTED_MODULE_2__.useRef)([]);\n var mouseAreaRef = (0,react__WEBPACK_IMPORTED_MODULE_2__.useRef)();\n var tableRef = (0,react__WEBPACK_IMPORTED_MODULE_2__.useRef)();\n var tableHeaderRef = (0,react__WEBPACK_IMPORTED_MODULE_2__.useRef)();\n var affixHeaderWrapperRef = (0,react__WEBPACK_IMPORTED_MODULE_2__.useRef)();\n var headerWrapperRef = (0,react__WEBPACK_IMPORTED_MODULE_2__.useRef)();\n var tableBodyRef = (0,react__WEBPACK_IMPORTED_MODULE_2__.useRef)();\n var wheelWrapperRef = (0,react__WEBPACK_IMPORTED_MODULE_2__.useRef)();\n var scrollbarXRef = (0,react__WEBPACK_IMPORTED_MODULE_2__.useRef)();\n var scrollbarYRef = (0,react__WEBPACK_IMPORTED_MODULE_2__.useRef)();\n /**\n * Reset the position of the scroll bar after the table size changes.\n */\n\n var resetScrollbar = function resetScrollbar(event) {\n forceUpdate();\n\n if (typeof shouldUpdateScroll === 'function') {\n onScrollTo(shouldUpdateScroll(event));\n } else if (shouldUpdateScroll) {\n var vertical = event === 'bodyHeightChanged';\n vertical ? onScrollTop(0) : onScrollLeft(0);\n }\n };\n\n var _useTableDimension = (0,_utils__WEBPACK_IMPORTED_MODULE_15__.useTableDimension)({\n data: dataProp,\n width: widthProp,\n rowHeight: rowHeight,\n tableRef: tableRef,\n headerWrapperRef: headerWrapperRef,\n prefix: prefix,\n affixHeader: affixHeader,\n affixHorizontalScrollbar: affixHorizontalScrollbar,\n headerHeight: headerHeight,\n height: height,\n autoHeight: autoHeight,\n children: children,\n expandedRowKeys: expandedRowKeys,\n onTableScroll: function onTableScroll(coords) {\n onScrollTo(coords);\n },\n onTableContentHeightChange: function onTableContentHeightChange() {\n resetScrollbar('bodyHeightChanged');\n },\n onTableContentWidthChange: function onTableContentWidthChange() {\n resetScrollbar('bodyWidthChanged');\n },\n onTableWidthChange: function onTableWidthChange() {\n resetScrollbar('widthChanged');\n }\n }),\n contentHeight = _useTableDimension.contentHeight,\n contentWidth = _useTableDimension.contentWidth,\n minScrollY = _useTableDimension.minScrollY,\n minScrollX = _useTableDimension.minScrollX,\n scrollY = _useTableDimension.scrollY,\n scrollX = _useTableDimension.scrollX,\n tableWidth = _useTableDimension.tableWidth,\n tableOffset = _useTableDimension.tableOffset,\n headerOffset = _useTableDimension.headerOffset,\n setScrollY = _useTableDimension.setScrollY,\n setScrollX = _useTableDimension.setScrollX;\n\n var getTableHeight = (0,react__WEBPACK_IMPORTED_MODULE_2__.useCallback)(function () {\n if (data.length === 0 && autoHeight) {\n return height;\n }\n\n return autoHeight ? Math.max(headerHeight + contentHeight.current, minHeight) : height;\n }, [autoHeight, contentHeight, data.length, headerHeight, height, minHeight]);\n (0,_utils__WEBPACK_IMPORTED_MODULE_15__.useAffix)({\n tableHeight: getTableHeight,\n contentHeight: contentHeight,\n affixHorizontalScrollbar: affixHorizontalScrollbar,\n affixHeader: affixHeader,\n tableOffset: tableOffset,\n headerOffset: headerOffset,\n headerHeight: headerHeight,\n scrollbarXRef: scrollbarXRef,\n affixHeaderWrapperRef: affixHeaderWrapperRef\n });\n\n var _usePosition = (0,_utils__WEBPACK_IMPORTED_MODULE_15__.usePosition)({\n data: dataProp,\n height: height,\n tableWidth: tableWidth,\n tableRef: tableRef,\n prefix: prefix,\n translateDOMPositionXY: translateDOMPositionXY,\n wheelWrapperRef: wheelWrapperRef,\n headerWrapperRef: headerWrapperRef,\n affixHeaderWrapperRef: affixHeaderWrapperRef,\n tableHeaderRef: tableHeaderRef,\n scrollX: scrollX,\n scrollY: scrollY,\n contentWidth: contentWidth,\n shouldFixedColumn: shouldFixedColumn\n }),\n forceUpdatePosition = _usePosition.forceUpdatePosition;\n\n var _useScrollListener = (0,_utils__WEBPACK_IMPORTED_MODULE_15__.useScrollListener)({\n rtl: rtl,\n data: dataProp,\n height: height,\n virtualized: virtualized,\n getTableHeight: getTableHeight,\n contentHeight: contentHeight,\n headerHeight: headerHeight,\n autoHeight: autoHeight,\n tableBodyRef: tableBodyRef,\n scrollbarXRef: scrollbarXRef,\n scrollbarYRef: scrollbarYRef,\n disabledScroll: disabledScroll,\n loading: loading,\n tableRef: tableRef,\n contentWidth: contentWidth,\n tableWidth: tableWidth,\n scrollY: scrollY,\n minScrollY: minScrollY,\n minScrollX: minScrollX,\n scrollX: scrollX,\n setScrollX: setScrollX,\n setScrollY: setScrollY,\n forceUpdatePosition: forceUpdatePosition,\n onScroll: onScroll,\n onTouchStart: onTouchStart,\n onTouchMove: onTouchMove,\n onTouchEnd: onTouchEnd\n }),\n isScrolling = _useScrollListener.isScrolling,\n onScrollHorizontal = _useScrollListener.onScrollHorizontal,\n onScrollVertical = _useScrollListener.onScrollVertical,\n onScrollBody = _useScrollListener.onScrollBody,\n onScrollTop = _useScrollListener.onScrollTop,\n onScrollLeft = _useScrollListener.onScrollLeft,\n onScrollTo = _useScrollListener.onScrollTo;\n\n var _useCellDescriptor = (0,_utils__WEBPACK_IMPORTED_MODULE_15__.useCellDescriptor)({\n children: children,\n rtl: rtl,\n mouseAreaRef: mouseAreaRef,\n tableRef: tableRef,\n minScrollX: minScrollX,\n scrollX: scrollX,\n tableWidth: tableWidth,\n headerHeight: headerHeight,\n showHeader: showHeader,\n sortType: sortTypeProp,\n defaultSortType: defaultSortType,\n sortColumn: sortColumn,\n prefix: prefix,\n onSortColumn: onSortColumn,\n rowHeight: rowHeight\n }),\n headerCells = _useCellDescriptor.headerCells,\n bodyCells = _useCellDescriptor.bodyCells,\n allColumnsWidth = _useCellDescriptor.allColumnsWidth,\n hasCustomTreeCol = _useCellDescriptor.hasCustomTreeCol;\n\n var colCounts = (0,react__WEBPACK_IMPORTED_MODULE_2__.useRef)((headerCells === null || headerCells === void 0 ? void 0 : headerCells.length) || 0);\n (0,_utils__WEBPACK_IMPORTED_MODULE_15__.useUpdateEffect)(function () {\n setData(isTree ? filterTreeData(dataProp, expandedRowKeys, rowKey) : dataProp);\n }, [dataProp, expandedRowKeys, rowKey, isTree]);\n (0,_utils__WEBPACK_IMPORTED_MODULE_15__.useUpdateEffect)(function () {\n if ((headerCells === null || headerCells === void 0 ? void 0 : headerCells.length) !== colCounts.current) {\n onScrollLeft(0);\n colCounts.current = (headerCells === null || headerCells === void 0 ? void 0 : headerCells.length) || 0;\n }\n }, [children]);\n (0,react__WEBPACK_IMPORTED_MODULE_2__.useImperativeHandle)(ref, function () {\n return {\n get root() {\n return tableRef.current;\n },\n\n get body() {\n return wheelWrapperRef.current;\n },\n\n scrollTop: onScrollTop,\n scrollLeft: onScrollLeft\n };\n });\n var rowWidth = allColumnsWidth > tableWidth.current ? allColumnsWidth : tableWidth.current;\n var classes = mergeCls(className, withClassPrefix({\n bordered: bordered,\n hover: hover,\n loading: loading,\n treetable: isTree,\n 'word-wrap': wordWrap,\n 'cell-bordered': cellBordered\n }));\n\n var styles = (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__.default)({\n width: widthProp || 'auto',\n height: getTableHeight()\n }, style);\n\n var renderRowExpanded = (0,react__WEBPACK_IMPORTED_MODULE_2__.useCallback)(function (rowData) {\n var styles = {\n height: rowExpandedHeight\n };\n\n if (typeof renderRowExpandedProp === 'function') {\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default().createElement(\"div\", {\n className: prefix('row-expanded'),\n style: styles\n }, renderRowExpandedProp(rowData));\n }\n\n return null;\n }, [prefix, renderRowExpandedProp, rowExpandedHeight]);\n\n var renderRow = function renderRow(props, cells, shouldRenderExpandedRow, rowData) {\n var depth = props.depth,\n restRowProps = (0,_babel_runtime_helpers_esm_objectWithoutPropertiesLoose__WEBPACK_IMPORTED_MODULE_1__.default)(props, [\"depth\"]);\n\n if (typeof rowClassName === 'function') {\n restRowProps.className = rowClassName(rowData);\n } else {\n restRowProps.className = rowClassName;\n }\n\n var rowStyles = (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__.default)({}, props === null || props === void 0 ? void 0 : props.style);\n\n var rowRight = 0;\n\n if (rtl && contentWidth.current > tableWidth.current) {\n rowRight = tableWidth.current - contentWidth.current;\n rowStyles.right = rowRight;\n }\n\n var rowNode = null; // IF there are fixed columns, add a fixed group\n\n if (shouldFixedColumn && contentWidth.current > tableWidth.current) {\n var fixedLeftCells = [];\n var fixedRightCells = [];\n var scrollCells = [];\n var fixedLeftCellGroupWidth = 0;\n var fixedRightCellGroupWidth = 0;\n\n for (var i = 0; i < cells.length; i++) {\n var cell = cells[i];\n var _cell$props = cell.props,\n fixed = _cell$props.fixed,\n width = _cell$props.width;\n var isFixedStart = fixed === 'left' || fixed === true;\n var isFixedEnd = fixed === 'right';\n\n if (rtl) {\n isFixedStart = fixed === 'right';\n isFixedEnd = fixed === 'left' || fixed === true;\n }\n\n if (isFixedStart) {\n fixedLeftCells.push(cell);\n fixedLeftCellGroupWidth += width;\n } else if (isFixedEnd) {\n fixedRightCells.push(cell);\n fixedRightCellGroupWidth += width;\n } else {\n scrollCells.push(cell);\n }\n }\n\n rowNode = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default().createElement((react__WEBPACK_IMPORTED_MODULE_2___default().Fragment), null, fixedLeftCellGroupWidth ? /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default().createElement(_CellGroup__WEBPACK_IMPORTED_MODULE_8__.default, {\n fixed: \"left\",\n height: props.isHeaderRow ? props.headerHeight : props.height,\n width: fixedLeftCellGroupWidth,\n style: rtl ? {\n right: tableWidth.current - fixedLeftCellGroupWidth - rowRight\n } : null\n }, (0,_utils__WEBPACK_IMPORTED_MODULE_15__.mergeCells)((0,_utils__WEBPACK_IMPORTED_MODULE_15__.resetLeftForCells)(fixedLeftCells))) : null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default().createElement(_CellGroup__WEBPACK_IMPORTED_MODULE_8__.default, null, (0,_utils__WEBPACK_IMPORTED_MODULE_15__.mergeCells)(scrollCells)), fixedRightCellGroupWidth ? /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default().createElement(_CellGroup__WEBPACK_IMPORTED_MODULE_8__.default, {\n fixed: \"right\",\n style: rtl ? {\n right: 0 - rowRight\n } : {\n left: tableWidth.current - fixedRightCellGroupWidth - _constants__WEBPACK_IMPORTED_MODULE_14__.SCROLLBAR_WIDTH\n },\n height: props.isHeaderRow ? props.headerHeight : props.height,\n width: fixedRightCellGroupWidth + _constants__WEBPACK_IMPORTED_MODULE_14__.SCROLLBAR_WIDTH\n }, (0,_utils__WEBPACK_IMPORTED_MODULE_15__.mergeCells)((0,_utils__WEBPACK_IMPORTED_MODULE_15__.resetLeftForCells)(fixedRightCells, _constants__WEBPACK_IMPORTED_MODULE_14__.SCROLLBAR_WIDTH))) : null, shouldRenderExpandedRow && renderRowExpanded(rowData));\n } else {\n rowNode = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default().createElement((react__WEBPACK_IMPORTED_MODULE_2___default().Fragment), null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default().createElement(_CellGroup__WEBPACK_IMPORTED_MODULE_8__.default, null, (0,_utils__WEBPACK_IMPORTED_MODULE_15__.mergeCells)(cells)), shouldRenderExpandedRow && renderRowExpanded(rowData));\n }\n\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default().createElement(_Row__WEBPACK_IMPORTED_MODULE_7__.default, (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__.default)({}, restRowProps, {\n \"data-depth\": depth,\n style: rowStyles\n }), renderRowProp ? renderRowProp(rowNode, rowData) : rowNode);\n };\n\n var renderTableHeader = function renderTableHeader(headerCells, rowWidth) {\n var top = typeof affixHeader === 'number' ? affixHeader : 0;\n var rowProps = {\n 'aria-rowindex': 1,\n rowRef: tableHeaderRef,\n width: rowWidth,\n height: getRowHeight(),\n headerHeight: headerHeight,\n isHeaderRow: true,\n top: 0\n };\n var fixedStyle = {\n position: 'fixed',\n overflow: 'hidden',\n height: headerHeight,\n width: tableWidth.current,\n top: top\n }; // Affix header\n\n var header = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default().createElement(\"div\", {\n className: prefix('affix-header'),\n style: fixedStyle,\n ref: affixHeaderWrapperRef\n }, renderRow(rowProps, headerCells));\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default().createElement((react__WEBPACK_IMPORTED_MODULE_2___default().Fragment), null, (affixHeader === 0 || affixHeader) && header, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default().createElement(\"div\", {\n role: \"rowgroup\",\n className: prefix('header-row-wrapper'),\n ref: headerWrapperRef\n }, renderRow(rowProps, headerCells)));\n };\n\n var shouldRenderExpandedRow = (0,react__WEBPACK_IMPORTED_MODULE_2__.useCallback)(function (rowData) {\n return lodash_isFunction__WEBPACK_IMPORTED_MODULE_5___default()(renderRowExpandedProp) && !isTree && expandedRowKeys.some(function (key) {\n return key === rowData[rowKey];\n });\n }, [expandedRowKeys, isTree, renderRowExpandedProp, rowKey]);\n var bindRowClick = (0,react__WEBPACK_IMPORTED_MODULE_2__.useCallback)(function (rowData) {\n return function (event) {\n onRowClick === null || onRowClick === void 0 ? void 0 : onRowClick(rowData, event);\n };\n }, [onRowClick]);\n var bindRowContextMenu = (0,react__WEBPACK_IMPORTED_MODULE_2__.useCallback)(function (rowData) {\n return function (event) {\n onRowContextMenu === null || onRowContextMenu === void 0 ? void 0 : onRowContextMenu(rowData, event);\n };\n }, [onRowContextMenu]);\n var handleTreeToggle = (0,react__WEBPACK_IMPORTED_MODULE_2__.useCallback)(function (treeRowKey, _rowIndex, rowData) {\n var open = false;\n var nextExpandedRowKeys = [];\n\n for (var i = 0; i < expandedRowKeys.length; i++) {\n var key = expandedRowKeys[i];\n\n if (key === treeRowKey) {\n open = true;\n } else {\n nextExpandedRowKeys.push(key);\n }\n }\n\n if (!open) {\n nextExpandedRowKeys.push(treeRowKey);\n }\n\n setExpandedRowKeys(nextExpandedRowKeys);\n onExpandChange === null || onExpandChange === void 0 ? void 0 : onExpandChange(!open, rowData);\n }, [expandedRowKeys, onExpandChange, setExpandedRowKeys]);\n\n var renderRowData = function renderRowData(bodyCells, rowData, props, shouldRenderExpandedRow) {\n var hasChildren = isTree && rowData.children && Array.isArray(rowData.children);\n var nextRowKey = typeof rowData[rowKey] !== 'undefined' ? rowData[rowKey] : props.key;\n\n var rowProps = (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__.default)({}, props, {\n key: nextRowKey,\n 'aria-rowindex': props.key + 2,\n rowRef: bindTableRowsRef(props.key, rowData),\n onClick: bindRowClick(rowData),\n onContextMenu: bindRowContextMenu(rowData)\n });\n\n var expanded = expandedRowKeys.some(function (key) {\n return key === rowData[rowKey];\n });\n var cells = [];\n\n for (var i = 0; i < bodyCells.length; i++) {\n var _cell$props2, _cell$props2$rowSpan;\n\n var cell = bodyCells[i];\n var rowSpan = (_cell$props2 = cell.props) === null || _cell$props2 === void 0 ? void 0 : (_cell$props2$rowSpan = _cell$props2.rowSpan) === null || _cell$props2$rowSpan === void 0 ? void 0 : _cell$props2$rowSpan.call(_cell$props2, rowData);\n\n var _rowHeight = rowSpan ? rowSpan * props.height : props.height;\n\n if (rowSpan) {\n var _rowProps$style;\n\n rowProps.rowSpan = rowSpan;\n rowProps.style = {\n /**\n * In the case of multiple-column merged rows,\n * the `zIndex` value of the previous row should be greater than the `zIndex` value of the following row.\n * So `rowSpan` is used as the `zIndex` value.\n */\n zIndex: ((_rowProps$style = rowProps.style) === null || _rowProps$style === void 0 ? void 0 : _rowProps$style.zIndex) || rowSpan,\n overflow: 'inherit'\n }; // TODO: Do not render those cells merged by `rowSpan`\n }\n\n cells.push( /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default().cloneElement(cell, {\n hasChildren: hasChildren,\n rowData: rowData,\n wordWrap: wordWrap,\n height: _rowHeight,\n rowIndex: props.key,\n depth: props.depth,\n renderTreeToggle: renderTreeToggle,\n onTreeToggle: handleTreeToggle,\n rowKey: nextRowKey,\n expanded: expanded,\n rowSpan: rowSpan\n }));\n }\n\n return renderRow(rowProps, cells, shouldRenderExpandedRow, rowData);\n };\n\n var renderScrollbar = function renderScrollbar() {\n var height = getTableHeight();\n\n if (disabledScroll) {\n return null;\n }\n\n return [/*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default().createElement(_Scrollbar__WEBPACK_IMPORTED_MODULE_9__.default, {\n key: \"scrollbar\",\n tableId: id,\n style: {\n width: tableWidth.current\n },\n length: tableWidth.current,\n onScroll: onScrollHorizontal,\n scrollLength: contentWidth.current,\n ref: scrollbarXRef\n }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default().createElement(_Scrollbar__WEBPACK_IMPORTED_MODULE_9__.default, {\n key: \"vertical-scrollbar\",\n vertical: true,\n tableId: id,\n length: height - headerHeight,\n scrollLength: contentHeight.current,\n onScroll: onScrollVertical,\n ref: scrollbarYRef\n })];\n };\n\n var renderTableBody = function renderTableBody(bodyCells, rowWidth) {\n var _visibleRows$current;\n\n var height = getTableHeight();\n var bodyHeight = height - headerHeight;\n var bodyStyles = {\n top: headerHeight,\n height: bodyHeight\n };\n var contentHeight = 0;\n var topHideHeight = 0;\n var bottomHideHeight = 0;\n visibleRows.current = [];\n\n if (data) {\n var top = 0; // Row position\n\n var minTop = Math.abs(scrollY.current);\n var maxTop = minTop + height + rowExpandedHeight;\n var isCustomRowHeight = typeof rowHeight === 'function';\n var isUncertainHeight = !!renderRowExpandedProp || isCustomRowHeight || wordWrap; // If virtualized is enabled and the row height in the Table is variable,\n // you need to loop through the data to get the height of each row.\n\n if (isUncertainHeight && virtualized || !virtualized) {\n // Avoid white screens on the top and bottom of the table when touching and scrolling on the mobile terminal.\n // So supplement the display data row.\n if ((0,_utils__WEBPACK_IMPORTED_MODULE_15__.isSupportTouchEvent)()) {\n var coveredHeight = height * 3;\n minTop = Math.max(minTop - coveredHeight, 0);\n maxTop = maxTop + coveredHeight;\n }\n\n for (var index = 0; index < data.length; index++) {\n var _rowData = data[index];\n var maxHeight = tableRowsMaxHeight[index];\n var shouldRender = shouldRenderExpandedRow(_rowData);\n var nextRowHeight = 0;\n\n if (typeof rowHeight === 'function') {\n nextRowHeight = rowHeight(_rowData);\n } else {\n nextRowHeight = maxHeight ? Math.max(maxHeight + _constants__WEBPACK_IMPORTED_MODULE_14__.CELL_PADDING_HEIGHT, rowHeight) : rowHeight;\n\n if (shouldRender) {\n nextRowHeight += rowExpandedHeight;\n }\n }\n\n contentHeight += nextRowHeight;\n var rowProps = {\n key: index,\n top: top,\n width: rowWidth,\n depth: _rowData[_constants__WEBPACK_IMPORTED_MODULE_14__.TREE_DEPTH],\n height: nextRowHeight\n };\n top += nextRowHeight;\n\n if (virtualized && !wordWrap) {\n if (top + nextRowHeight < minTop) {\n topHideHeight += nextRowHeight;\n continue;\n } else if (top > maxTop) {\n bottomHideHeight += nextRowHeight;\n continue;\n }\n }\n\n visibleRows.current.push(renderRowData(bodyCells, _rowData, rowProps, shouldRender));\n }\n } else {\n /** virtualized */\n // If the row height of the Table is fixed, it is directly calculated by the row height and the number of rows,\n // thereby reducing the performance cost of traversing all data.\n var _nextRowHeight = getRowHeight();\n\n var startIndex = Math.max(Math.floor(minTop / _nextRowHeight), 0);\n var endIndex = Math.min(startIndex + Math.ceil(bodyHeight / _nextRowHeight) + 5, data.length); // Avoid white screens on the top and bottom of the table when touching and scrolling on the mobile terminal.\n // So supplement the display data row.\n\n if ((0,_utils__WEBPACK_IMPORTED_MODULE_15__.isSupportTouchEvent)()) {\n var coveredCount = Math.floor(height / _nextRowHeight * 3);\n startIndex = Math.max(startIndex - coveredCount, 0);\n endIndex = Math.min(endIndex + coveredCount, data.length);\n }\n\n contentHeight = data.length * _nextRowHeight;\n topHideHeight = startIndex * _nextRowHeight;\n bottomHideHeight = (data.length - endIndex) * _nextRowHeight;\n\n for (var _index = startIndex; _index < endIndex; _index++) {\n var _rowData2 = data[_index];\n var _rowProps = {\n key: _index,\n depth: _rowData2[_constants__WEBPACK_IMPORTED_MODULE_14__.TREE_DEPTH],\n top: _index * _nextRowHeight,\n width: rowWidth,\n height: _nextRowHeight\n };\n visibleRows.current.push(renderRowData(bodyCells, _rowData2, _rowProps, false));\n }\n }\n }\n\n var wheelStyles = {\n position: 'absolute',\n height: contentHeight,\n minHeight: height,\n pointerEvents: isScrolling ? 'none' : undefined\n };\n var topRowStyles = {\n height: topHideHeight\n };\n var bottomRowStyles = {\n height: bottomHideHeight\n };\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default().createElement(\"div\", {\n ref: tableBodyRef,\n role: \"rowgroup\",\n className: prefix('body-row-wrapper'),\n style: bodyStyles,\n onScroll: onScrollBody\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default().createElement(\"div\", {\n style: wheelStyles,\n className: prefix('body-wheel-area'),\n ref: wheelWrapperRef\n }, topHideHeight ? /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default().createElement(_Row__WEBPACK_IMPORTED_MODULE_7__.default, {\n style: topRowStyles,\n className: \"virtualized\"\n }) : null, visibleRows.current, bottomHideHeight ? /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default().createElement(_Row__WEBPACK_IMPORTED_MODULE_7__.default, {\n style: bottomRowStyles,\n className: \"virtualized\"\n }) : null), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default().createElement(_EmptyMessage__WEBPACK_IMPORTED_MODULE_12__.default, {\n locale: locale,\n renderEmpty: renderEmpty,\n addPrefix: prefix,\n loading: !!((_visibleRows$current = visibleRows.current) !== null && _visibleRows$current !== void 0 && _visibleRows$current.length) || loading\n }), renderScrollbar(), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default().createElement(_Loader__WEBPACK_IMPORTED_MODULE_11__.default, {\n locale: locale,\n loadAnimation: loadAnimation,\n loading: loading,\n addPrefix: prefix,\n renderLoading: renderLoading\n }));\n };\n\n var contextValue = react__WEBPACK_IMPORTED_MODULE_2___default().useMemo(function () {\n return {\n classPrefix: withClassPrefix(),\n translateDOMPositionXY: translateDOMPositionXY.current,\n rtl: rtl,\n isTree: isTree,\n hasCustomTreeCol: hasCustomTreeCol\n };\n }, [hasCustomTreeCol, isTree, rtl, withClassPrefix]);\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default().createElement(_TableContext__WEBPACK_IMPORTED_MODULE_13__.default.Provider, {\n value: contextValue\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default().createElement(\"div\", (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__.default)({\n role: isTree ? 'treegrid' : 'grid' // The aria-rowcount is specified on the element with the table.\n // Its value is an integer equal to the total number of rows available, including header rows.\n ,\n \"aria-rowcount\": data.length + 1,\n \"aria-colcount\": colCounts.current,\n \"aria-busy\": loading\n }, rest, {\n className: classes,\n style: styles,\n ref: tableRef\n }), showHeader && renderTableHeader(headerCells, rowWidth), children && renderTableBody(bodyCells, rowWidth), showHeader && /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default().createElement(_MouseArea__WEBPACK_IMPORTED_MODULE_10__.default, {\n ref: mouseAreaRef,\n addPrefix: prefix,\n headerHeight: headerHeight,\n height: getTableHeight()\n })));\n});\nTable.displayName = 'Table';\nTable.defaultProps = {\n data: [],\n defaultSortType: _constants__WEBPACK_IMPORTED_MODULE_14__.SORT_TYPE.DESC,\n height: 200,\n rowHeight: 46,\n headerHeight: 40,\n minHeight: 0,\n rowExpandedHeight: 100,\n hover: true,\n showHeader: true,\n translate3d: true,\n shouldUpdateScroll: true,\n locale: {\n emptyMessage: 'No data found',\n loading: 'Loading...'\n }\n};\nTable.propTypes = {\n autoHeight: (prop_types__WEBPACK_IMPORTED_MODULE_4___default().bool),\n affixHeader: prop_types__WEBPACK_IMPORTED_MODULE_4___default().oneOfType([(prop_types__WEBPACK_IMPORTED_MODULE_4___default().bool), (prop_types__WEBPACK_IMPORTED_MODULE_4___default().number)]),\n affixHorizontalScrollbar: prop_types__WEBPACK_IMPORTED_MODULE_4___default().oneOfType([(prop_types__WEBPACK_IMPORTED_MODULE_4___default().bool), (prop_types__WEBPACK_IMPORTED_MODULE_4___default().number)]),\n bordered: (prop_types__WEBPACK_IMPORTED_MODULE_4___default().bool),\n className: (prop_types__WEBPACK_IMPORTED_MODULE_4___default().string),\n classPrefix: (prop_types__WEBPACK_IMPORTED_MODULE_4___default().string),\n children: (prop_types__WEBPACK_IMPORTED_MODULE_4___default().any),\n cellBordered: (prop_types__WEBPACK_IMPORTED_MODULE_4___default().bool),\n data: prop_types__WEBPACK_IMPORTED_MODULE_4___default().arrayOf((prop_types__WEBPACK_IMPORTED_MODULE_4___default().object)),\n defaultExpandAllRows: (prop_types__WEBPACK_IMPORTED_MODULE_4___default().bool),\n defaultExpandedRowKeys: prop_types__WEBPACK_IMPORTED_MODULE_4___default().arrayOf(prop_types__WEBPACK_IMPORTED_MODULE_4___default().oneOfType([(prop_types__WEBPACK_IMPORTED_MODULE_4___default().string), (prop_types__WEBPACK_IMPORTED_MODULE_4___default().number)])),\n defaultSortType: (prop_types__WEBPACK_IMPORTED_MODULE_4___default().any),\n disabledScroll: (prop_types__WEBPACK_IMPORTED_MODULE_4___default().bool),\n expandedRowKeys: prop_types__WEBPACK_IMPORTED_MODULE_4___default().arrayOf(prop_types__WEBPACK_IMPORTED_MODULE_4___default().oneOfType([(prop_types__WEBPACK_IMPORTED_MODULE_4___default().string), (prop_types__WEBPACK_IMPORTED_MODULE_4___default().number)])),\n hover: (prop_types__WEBPACK_IMPORTED_MODULE_4___default().bool),\n height: (prop_types__WEBPACK_IMPORTED_MODULE_4___default().number),\n headerHeight: (prop_types__WEBPACK_IMPORTED_MODULE_4___default().number),\n locale: (prop_types__WEBPACK_IMPORTED_MODULE_4___default().object),\n loading: (prop_types__WEBPACK_IMPORTED_MODULE_4___default().bool),\n loadAnimation: (prop_types__WEBPACK_IMPORTED_MODULE_4___default().bool),\n minHeight: (prop_types__WEBPACK_IMPORTED_MODULE_4___default().number),\n rowKey: prop_types__WEBPACK_IMPORTED_MODULE_4___default().oneOfType([(prop_types__WEBPACK_IMPORTED_MODULE_4___default().string), (prop_types__WEBPACK_IMPORTED_MODULE_4___default().number)]),\n rowHeight: prop_types__WEBPACK_IMPORTED_MODULE_4___default().oneOfType([(prop_types__WEBPACK_IMPORTED_MODULE_4___default().number), (prop_types__WEBPACK_IMPORTED_MODULE_4___default().func)]),\n renderTreeToggle: (prop_types__WEBPACK_IMPORTED_MODULE_4___default().func),\n renderRowExpanded: (prop_types__WEBPACK_IMPORTED_MODULE_4___default().func),\n renderRow: (prop_types__WEBPACK_IMPORTED_MODULE_4___default().func),\n rowExpandedHeight: (prop_types__WEBPACK_IMPORTED_MODULE_4___default().number),\n renderEmpty: (prop_types__WEBPACK_IMPORTED_MODULE_4___default().func),\n renderLoading: (prop_types__WEBPACK_IMPORTED_MODULE_4___default().func),\n rowClassName: prop_types__WEBPACK_IMPORTED_MODULE_4___default().oneOfType([(prop_types__WEBPACK_IMPORTED_MODULE_4___default().func), (prop_types__WEBPACK_IMPORTED_MODULE_4___default().string)]),\n rtl: (prop_types__WEBPACK_IMPORTED_MODULE_4___default().bool),\n style: (prop_types__WEBPACK_IMPORTED_MODULE_4___default().object),\n sortColumn: (prop_types__WEBPACK_IMPORTED_MODULE_4___default().string),\n sortType: (prop_types__WEBPACK_IMPORTED_MODULE_4___default().any),\n showHeader: (prop_types__WEBPACK_IMPORTED_MODULE_4___default().bool),\n shouldUpdateScroll: prop_types__WEBPACK_IMPORTED_MODULE_4___default().oneOfType([(prop_types__WEBPACK_IMPORTED_MODULE_4___default().func), (prop_types__WEBPACK_IMPORTED_MODULE_4___default().bool)]),\n translate3d: (prop_types__WEBPACK_IMPORTED_MODULE_4___default().bool),\n wordWrap: (prop_types__WEBPACK_IMPORTED_MODULE_4___default().bool),\n width: (prop_types__WEBPACK_IMPORTED_MODULE_4___default().number),\n virtualized: (prop_types__WEBPACK_IMPORTED_MODULE_4___default().bool),\n isTree: (prop_types__WEBPACK_IMPORTED_MODULE_4___default().bool),\n onRowClick: (prop_types__WEBPACK_IMPORTED_MODULE_4___default().func),\n onRowContextMenu: (prop_types__WEBPACK_IMPORTED_MODULE_4___default().func),\n onScroll: (prop_types__WEBPACK_IMPORTED_MODULE_4___default().func),\n onSortColumn: (prop_types__WEBPACK_IMPORTED_MODULE_4___default().func),\n onExpandChange: (prop_types__WEBPACK_IMPORTED_MODULE_4___default().func),\n onTouchStart: (prop_types__WEBPACK_IMPORTED_MODULE_4___default().func),\n onTouchMove: (prop_types__WEBPACK_IMPORTED_MODULE_4___default().func),\n onTouchEnd: (prop_types__WEBPACK_IMPORTED_MODULE_4___default().func)\n};\n/* harmony default export */ __webpack_exports__[\"default\"] = (Table);\n\n//# sourceURL=webpack://rsuite/./node_modules/rsuite-table/es/Table.js?");
9039
9061
 
9040
9062
  /***/ }),
9041
9063
 
@@ -9167,7 +9189,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
9167
9189
  /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
9168
9190
 
9169
9191
  "use strict";
9170
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": function() { return /* binding */ isSupportTouchEvent; }\n/* harmony export */ });\nfunction isSupportTouchEvent() {\n return 'ontouchstart' in window;\n}\n\n//# sourceURL=webpack://rsuite/./node_modules/rsuite-table/es/utils/isSupportTouchEvent.js?");
9192
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": function() { return /* binding */ isSupportTouchEvent; }\n/* harmony export */ });\n/* harmony import */ var dom_lib_canUseDOM__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! dom-lib/canUseDOM */ \"./node_modules/dom-lib/esm/canUseDOM.js\");\n\nfunction isSupportTouchEvent() {\n return dom_lib_canUseDOM__WEBPACK_IMPORTED_MODULE_0__.default && 'ontouchstart' in window;\n}\n\n//# sourceURL=webpack://rsuite/./node_modules/rsuite-table/es/utils/isSupportTouchEvent.js?");
9171
9193
 
9172
9194
  /***/ }),
9173
9195
 
@@ -9288,7 +9310,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var reac
9288
9310
  /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
9289
9311
 
9290
9312
  "use strict";
9291
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/esm/extends */ \"./node_modules/@babel/runtime/helpers/esm/extends.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"react\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var dom_lib_addStyle__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! dom-lib/addStyle */ \"./node_modules/dom-lib/esm/addStyle.js\");\n/* harmony import */ var dom_lib_addClass__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! dom-lib/addClass */ \"./node_modules/dom-lib/esm/addClass.js\");\n/* harmony import */ var dom_lib_removeClass__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! dom-lib/removeClass */ \"./node_modules/dom-lib/esm/removeClass.js\");\n/* harmony import */ var lodash_omit__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! lodash/omit */ \"./node_modules/lodash/omit.js\");\n/* harmony import */ var lodash_omit__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(lodash_omit__WEBPACK_IMPORTED_MODULE_5__);\n/* harmony import */ var lodash_merge__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! lodash/merge */ \"./node_modules/lodash/merge.js\");\n/* harmony import */ var lodash_merge__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(lodash_merge__WEBPACK_IMPORTED_MODULE_6__);\n/* harmony import */ var _constants__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../constants */ \"./node_modules/rsuite-table/es/constants.js\");\n/* harmony import */ var _useControlled__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./useControlled */ \"./node_modules/rsuite-table/es/utils/useControlled.js\");\n/* harmony import */ var _getTableColumns__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./getTableColumns */ \"./node_modules/rsuite-table/es/utils/getTableColumns.js\");\n/* harmony import */ var _getTotalByColumns__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./getTotalByColumns */ \"./node_modules/rsuite-table/es/utils/getTotalByColumns.js\");\n/* harmony import */ var _useUpdateEffect__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./useUpdateEffect */ \"./node_modules/rsuite-table/es/utils/useUpdateEffect.js\");\n\n\n\n\n\n\n\n\n\n\n\n\n\n//\n\n/**\n * Attach rendering-related attributes to all cells of the form and cache them.\n * @param props\n * @returns\n */\nvar useCellDescriptor = function useCellDescriptor(props) {\n var children = props.children,\n rtl = props.rtl,\n mouseAreaRef = props.mouseAreaRef,\n tableRef = props.tableRef,\n minScrollX = props.minScrollX,\n scrollX = props.scrollX,\n tableWidth = props.tableWidth,\n headerHeight = props.headerHeight,\n showHeader = props.showHeader,\n sortTypeProp = props.sortType,\n defaultSortType = props.defaultSortType,\n sortColumn = props.sortColumn,\n rowHeight = props.rowHeight,\n onSortColumn = props.onSortColumn,\n prefix = props.prefix;\n\n var _useControlled = (0,_useControlled__WEBPACK_IMPORTED_MODULE_8__.default)(sortTypeProp, defaultSortType),\n sortType = _useControlled[0],\n setSortType = _useControlled[1];\n\n var _useState = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(),\n cacheData = _useState[0],\n setCacheData = _useState[1];\n\n var clearCache = (0,react__WEBPACK_IMPORTED_MODULE_1__.useCallback)(function () {\n setCacheData(null);\n }, []);\n var setColumnResizing = (0,react__WEBPACK_IMPORTED_MODULE_1__.useCallback)(function (resizing) {\n if (resizing) {\n (0,dom_lib_addClass__WEBPACK_IMPORTED_MODULE_3__.default)(tableRef.current, prefix('column-resizing'));\n } else {\n (0,dom_lib_removeClass__WEBPACK_IMPORTED_MODULE_4__.default)(tableRef.current, prefix('column-resizing'));\n }\n }, [prefix, tableRef]);\n var columnWidths = (0,react__WEBPACK_IMPORTED_MODULE_1__.useRef)({});\n (0,_useUpdateEffect__WEBPACK_IMPORTED_MODULE_11__.default)(function () {\n clearCache();\n }, [children, sortColumn, sortType, tableWidth.current, scrollX.current, minScrollX.current]);\n var handleColumnResizeEnd = (0,react__WEBPACK_IMPORTED_MODULE_1__.useCallback)(function (columnWidth, _cursorDelta, dataKey, index) {\n columnWidths.current[dataKey + \"_\" + index + \"_width\"] = columnWidth;\n setColumnResizing(false);\n (0,dom_lib_addStyle__WEBPACK_IMPORTED_MODULE_2__.default)(mouseAreaRef.current, {\n display: 'none'\n });\n clearCache();\n }, [clearCache, mouseAreaRef, setColumnResizing]);\n var handleColumnResizeMove = (0,react__WEBPACK_IMPORTED_MODULE_1__.useCallback)(function (width, left, fixed) {\n var _addStyle;\n\n var mouseAreaLeft = width + left;\n var x = mouseAreaLeft;\n var dir = 'left';\n\n if (rtl) {\n mouseAreaLeft += minScrollX.current + _constants__WEBPACK_IMPORTED_MODULE_7__.SCROLLBAR_WIDTH;\n dir = 'right';\n }\n\n if (!fixed) {\n x = mouseAreaLeft + (rtl ? -scrollX.current : scrollX.current);\n }\n\n (0,dom_lib_addStyle__WEBPACK_IMPORTED_MODULE_2__.default)(mouseAreaRef.current, (_addStyle = {\n display: 'block'\n }, _addStyle[dir] = x + \"px\", _addStyle));\n }, [minScrollX, mouseAreaRef, rtl, scrollX]);\n var handleColumnResizeStart = (0,react__WEBPACK_IMPORTED_MODULE_1__.useCallback)(function (width, left, fixed) {\n setColumnResizing(true);\n handleColumnResizeMove(width, left, fixed);\n }, [handleColumnResizeMove, setColumnResizing]);\n var handleSortColumn = (0,react__WEBPACK_IMPORTED_MODULE_1__.useCallback)(function (dataKey) {\n var nextSortType = sortType;\n\n if (sortColumn === dataKey) {\n nextSortType = sortType === _constants__WEBPACK_IMPORTED_MODULE_7__.SORT_TYPE.ASC ? _constants__WEBPACK_IMPORTED_MODULE_7__.SORT_TYPE.DESC : _constants__WEBPACK_IMPORTED_MODULE_7__.SORT_TYPE.ASC;\n setSortType(nextSortType);\n }\n\n onSortColumn === null || onSortColumn === void 0 ? void 0 : onSortColumn(dataKey, nextSortType);\n }, [onSortColumn, setSortType, sortColumn, sortType]);\n\n if (cacheData) {\n return cacheData;\n }\n\n var hasCustomTreeCol = false;\n var left = 0; // Cell left margin\n\n var headerCells = []; // Table header cell\n\n var bodyCells = []; // Table body cell\n\n if (!children) {\n var _cacheCell = {\n columns: [],\n headerCells: headerCells,\n bodyCells: bodyCells,\n hasCustomTreeCol: hasCustomTreeCol,\n allColumnsWidth: left\n };\n setCacheData(_cacheCell);\n return _cacheCell;\n }\n\n var columns = (0,_getTableColumns__WEBPACK_IMPORTED_MODULE_9__.default)(children);\n var count = columns.length;\n\n var _getTotalByColumns = (0,_getTotalByColumns__WEBPACK_IMPORTED_MODULE_10__.default)(columns),\n totalFlexGrow = _getTotalByColumns.totalFlexGrow,\n totalWidth = _getTotalByColumns.totalWidth;\n\n react__WEBPACK_IMPORTED_MODULE_1___default().Children.forEach(columns, function (column, index) {\n if ( /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().isValidElement(column)) {\n var _columnWidths$current;\n\n var columnChildren = column.props.children;\n var _column$props = column.props,\n width = _column$props.width,\n resizable = _column$props.resizable,\n flexGrow = _column$props.flexGrow,\n minWidth = _column$props.minWidth,\n onResize = _column$props.onResize,\n treeCol = _column$props.treeCol;\n\n if (treeCol) {\n hasCustomTreeCol = true;\n }\n\n if (resizable && flexGrow) {\n console.warn(\"Cannot set 'resizable' and 'flexGrow' together in <Column>, column index: \" + index);\n }\n\n if (columnChildren.length !== 2) {\n throw new Error(\"Component <HeaderCell> and <Cell> is required, column index: \" + index + \" \");\n }\n\n var cellWidth = ((_columnWidths$current = columnWidths.current) === null || _columnWidths$current === void 0 ? void 0 : _columnWidths$current[columnChildren[1].props.dataKey + \"_\" + index + \"_width\"]) || width || 0;\n\n if (tableWidth.current && flexGrow && totalFlexGrow) {\n cellWidth = Math.max((tableWidth.current - totalWidth) / totalFlexGrow * flexGrow, minWidth || 60);\n }\n\n var cellProps = (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__.default)({}, lodash_omit__WEBPACK_IMPORTED_MODULE_5___default()(column.props, ['children']), {\n 'aria-colindex': index + 1,\n left: left,\n headerHeight: headerHeight,\n key: index,\n width: cellWidth,\n height: typeof rowHeight === 'function' ? rowHeight() : rowHeight,\n firstColumn: index === 0,\n lastColumn: index === count - 1\n });\n\n if (showHeader && headerHeight) {\n var headerCellProps = {\n // Resizable column\n // `index` is used to define the serial number when dragging the column width\n index: index,\n dataKey: columnChildren[1].props.dataKey,\n isHeaderCell: true,\n minWidth: column.props.minWidth,\n sortable: column.props.sortable,\n onSortColumn: handleSortColumn,\n sortType: sortType,\n sortColumn: sortColumn,\n flexGrow: flexGrow\n };\n\n if (resizable) {\n lodash_merge__WEBPACK_IMPORTED_MODULE_6___default()(headerCellProps, {\n onResize: onResize,\n onColumnResizeEnd: handleColumnResizeEnd,\n onColumnResizeStart: handleColumnResizeStart,\n onColumnResizeMove: handleColumnResizeMove\n });\n }\n\n headerCells.push( /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().cloneElement(columnChildren[0], (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__.default)({}, cellProps, headerCellProps)));\n }\n\n bodyCells.push( /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().cloneElement(columnChildren[1], cellProps));\n left += cellWidth;\n }\n });\n var cacheCell = {\n columns: columns,\n headerCells: headerCells,\n bodyCells: bodyCells,\n allColumnsWidth: left,\n hasCustomTreeCol: hasCustomTreeCol\n };\n setCacheData(cacheCell);\n return cacheCell;\n};\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (useCellDescriptor);\n\n//# sourceURL=webpack://rsuite/./node_modules/rsuite-table/es/utils/useCellDescriptor.js?");
9313
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/esm/extends */ \"./node_modules/@babel/runtime/helpers/esm/extends.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"react\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var dom_lib_addStyle__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! dom-lib/addStyle */ \"./node_modules/dom-lib/esm/addStyle.js\");\n/* harmony import */ var dom_lib_addClass__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! dom-lib/addClass */ \"./node_modules/dom-lib/esm/addClass.js\");\n/* harmony import */ var dom_lib_removeClass__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! dom-lib/removeClass */ \"./node_modules/dom-lib/esm/removeClass.js\");\n/* harmony import */ var lodash_omit__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! lodash/omit */ \"./node_modules/lodash/omit.js\");\n/* harmony import */ var lodash_omit__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(lodash_omit__WEBPACK_IMPORTED_MODULE_5__);\n/* harmony import */ var lodash_merge__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! lodash/merge */ \"./node_modules/lodash/merge.js\");\n/* harmony import */ var lodash_merge__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(lodash_merge__WEBPACK_IMPORTED_MODULE_6__);\n/* harmony import */ var _constants__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../constants */ \"./node_modules/rsuite-table/es/constants.js\");\n/* harmony import */ var _useControlled__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./useControlled */ \"./node_modules/rsuite-table/es/utils/useControlled.js\");\n/* harmony import */ var _getTableColumns__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./getTableColumns */ \"./node_modules/rsuite-table/es/utils/getTableColumns.js\");\n/* harmony import */ var _getTotalByColumns__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./getTotalByColumns */ \"./node_modules/rsuite-table/es/utils/getTotalByColumns.js\");\n/* harmony import */ var _useUpdateEffect__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./useUpdateEffect */ \"./node_modules/rsuite-table/es/utils/useUpdateEffect.js\");\n\n\n\n\n\n\n\n\n\n\n\n\n\n//\n\n/**\n * Attach rendering-related attributes to all cells of the form and cache them.\n * @param props\n * @returns\n */\nvar useCellDescriptor = function useCellDescriptor(props) {\n var children = props.children,\n rtl = props.rtl,\n mouseAreaRef = props.mouseAreaRef,\n tableRef = props.tableRef,\n minScrollX = props.minScrollX,\n scrollX = props.scrollX,\n tableWidth = props.tableWidth,\n headerHeight = props.headerHeight,\n showHeader = props.showHeader,\n sortTypeProp = props.sortType,\n defaultSortType = props.defaultSortType,\n sortColumn = props.sortColumn,\n rowHeight = props.rowHeight,\n onSortColumn = props.onSortColumn,\n prefix = props.prefix;\n\n var _useControlled = (0,_useControlled__WEBPACK_IMPORTED_MODULE_8__.default)(sortTypeProp, defaultSortType),\n sortType = _useControlled[0],\n setSortType = _useControlled[1];\n\n var _useState = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(),\n cacheData = _useState[0],\n setCacheData = _useState[1];\n\n var clearCache = (0,react__WEBPACK_IMPORTED_MODULE_1__.useCallback)(function () {\n setCacheData(null);\n }, []);\n var setColumnResizing = (0,react__WEBPACK_IMPORTED_MODULE_1__.useCallback)(function (resizing) {\n if (resizing) {\n (0,dom_lib_addClass__WEBPACK_IMPORTED_MODULE_3__.default)(tableRef.current, prefix('column-resizing'));\n } else {\n (0,dom_lib_removeClass__WEBPACK_IMPORTED_MODULE_4__.default)(tableRef.current, prefix('column-resizing'));\n }\n }, [prefix, tableRef]);\n var columnWidths = (0,react__WEBPACK_IMPORTED_MODULE_1__.useRef)({});\n (0,_useUpdateEffect__WEBPACK_IMPORTED_MODULE_11__.default)(function () {\n clearCache();\n }, [children, sortColumn, sortType, tableWidth.current, scrollX.current, minScrollX.current]);\n var handleColumnResizeEnd = (0,react__WEBPACK_IMPORTED_MODULE_1__.useCallback)(function (columnWidth, _cursorDelta, dataKey, index) {\n columnWidths.current[dataKey + \"_\" + index + \"_width\"] = columnWidth;\n setColumnResizing(false);\n (0,dom_lib_addStyle__WEBPACK_IMPORTED_MODULE_2__.default)(mouseAreaRef.current, {\n display: 'none'\n });\n clearCache();\n }, [clearCache, mouseAreaRef, setColumnResizing]);\n var handleColumnResizeMove = (0,react__WEBPACK_IMPORTED_MODULE_1__.useCallback)(function (width, left, fixed) {\n var _addStyle;\n\n var mouseAreaLeft = width + left;\n var x = mouseAreaLeft;\n var dir = 'left';\n\n if (rtl) {\n mouseAreaLeft += minScrollX.current + _constants__WEBPACK_IMPORTED_MODULE_7__.SCROLLBAR_WIDTH;\n dir = 'right';\n }\n\n if (!fixed) {\n x = mouseAreaLeft + (rtl ? -scrollX.current : scrollX.current);\n }\n\n (0,dom_lib_addStyle__WEBPACK_IMPORTED_MODULE_2__.default)(mouseAreaRef.current, (_addStyle = {\n display: 'block'\n }, _addStyle[dir] = x + \"px\", _addStyle));\n }, [minScrollX, mouseAreaRef, rtl, scrollX]);\n var handleColumnResizeStart = (0,react__WEBPACK_IMPORTED_MODULE_1__.useCallback)(function (width, left, fixed) {\n setColumnResizing(true);\n handleColumnResizeMove(width, left, fixed);\n }, [handleColumnResizeMove, setColumnResizing]);\n var handleSortColumn = (0,react__WEBPACK_IMPORTED_MODULE_1__.useCallback)(function (dataKey) {\n var nextSortType = sortType;\n\n if (sortColumn === dataKey) {\n nextSortType = sortType === _constants__WEBPACK_IMPORTED_MODULE_7__.SORT_TYPE.ASC ? _constants__WEBPACK_IMPORTED_MODULE_7__.SORT_TYPE.DESC : _constants__WEBPACK_IMPORTED_MODULE_7__.SORT_TYPE.ASC;\n setSortType(nextSortType);\n }\n\n onSortColumn === null || onSortColumn === void 0 ? void 0 : onSortColumn(dataKey, nextSortType);\n }, [onSortColumn, setSortType, sortColumn, sortType]);\n\n if (cacheData) {\n return cacheData;\n }\n\n var hasCustomTreeCol = false;\n var left = 0; // Cell left margin\n\n var headerCells = []; // Table header cell\n\n var bodyCells = []; // Table body cell\n\n if (!children) {\n var _cacheCell = {\n columns: [],\n headerCells: headerCells,\n bodyCells: bodyCells,\n hasCustomTreeCol: hasCustomTreeCol,\n allColumnsWidth: left\n };\n setCacheData(_cacheCell);\n return _cacheCell;\n }\n\n var columns = (0,_getTableColumns__WEBPACK_IMPORTED_MODULE_9__.default)(children);\n var count = columns.length;\n\n var _getTotalByColumns = (0,_getTotalByColumns__WEBPACK_IMPORTED_MODULE_10__.default)(columns),\n totalFlexGrow = _getTotalByColumns.totalFlexGrow,\n totalWidth = _getTotalByColumns.totalWidth;\n\n react__WEBPACK_IMPORTED_MODULE_1___default().Children.forEach(columns, function (column, index) {\n if ( /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().isValidElement(column)) {\n var _columnWidths$current;\n\n var columnChildren = column.props.children;\n var _column$props = column.props,\n width = _column$props.width,\n resizable = _column$props.resizable,\n flexGrow = _column$props.flexGrow,\n minWidth = _column$props.minWidth,\n onResize = _column$props.onResize,\n treeCol = _column$props.treeCol;\n\n if (treeCol) {\n hasCustomTreeCol = true;\n }\n\n if (resizable && flexGrow) {\n console.warn(\"Cannot set 'resizable' and 'flexGrow' together in <Column>, column index: \" + index);\n }\n\n if (columnChildren.length !== 2) {\n throw new Error(\"Component <HeaderCell> and <Cell> is required, column index: \" + index + \" \");\n }\n\n var headerCell = columnChildren[0];\n var cell = columnChildren[1];\n var cellWidth = ((_columnWidths$current = columnWidths.current) === null || _columnWidths$current === void 0 ? void 0 : _columnWidths$current[cell.props.dataKey + \"_\" + index + \"_width\"]) || width || 0;\n\n if (tableWidth.current && flexGrow && totalFlexGrow) {\n cellWidth = Math.max((tableWidth.current - totalWidth) / totalFlexGrow * flexGrow, minWidth || 60);\n }\n\n var cellProps = (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__.default)({}, lodash_omit__WEBPACK_IMPORTED_MODULE_5___default()(column.props, ['children']), {\n 'aria-colindex': index + 1,\n left: left,\n headerHeight: headerHeight,\n key: index,\n width: cellWidth,\n height: typeof rowHeight === 'function' ? rowHeight() : rowHeight,\n firstColumn: index === 0,\n lastColumn: index === count - 1\n });\n\n if (showHeader && headerHeight) {\n var headerCellProps = {\n // Resizable column\n // `index` is used to define the serial number when dragging the column width\n index: index,\n dataKey: cell.props.dataKey,\n isHeaderCell: true,\n minWidth: column.props.minWidth,\n sortable: column.props.sortable,\n onSortColumn: handleSortColumn,\n sortType: sortType,\n sortColumn: sortColumn,\n flexGrow: flexGrow\n };\n\n if (resizable) {\n lodash_merge__WEBPACK_IMPORTED_MODULE_6___default()(headerCellProps, {\n onResize: onResize,\n onColumnResizeEnd: handleColumnResizeEnd,\n onColumnResizeStart: handleColumnResizeStart,\n onColumnResizeMove: handleColumnResizeMove\n });\n }\n\n headerCells.push( /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().cloneElement(headerCell, (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__.default)({}, cellProps, headerCellProps)));\n }\n\n bodyCells.push( /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().cloneElement(cell, cellProps));\n left += cellWidth;\n }\n });\n var cacheCell = {\n columns: columns,\n headerCells: headerCells,\n bodyCells: bodyCells,\n allColumnsWidth: left,\n hasCustomTreeCol: hasCustomTreeCol\n };\n setCacheData(cacheCell);\n return cacheCell;\n};\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (useCellDescriptor);\n\n//# sourceURL=webpack://rsuite/./node_modules/rsuite-table/es/utils/useCellDescriptor.js?");
9292
9314
 
9293
9315
  /***/ }),
9294
9316