rsuite 5.16.0 → 5.16.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/rsuite.css CHANGED
@@ -7883,10 +7883,11 @@ textarea.rs-input {
7883
7883
  outline: 0;
7884
7884
  }
7885
7885
  .rs-input:focus {
7886
- -webkit-box-shadow: 0 0 0 3px rgba(52, 152, 255, 0.25);
7887
- -webkit-box-shadow: var(--rs-state-focus-shadow);
7888
- box-shadow: 0 0 0 3px rgba(52, 152, 255, 0.25);
7889
- box-shadow: var(--rs-state-focus-shadow);
7886
+ outline: 3px solid rgba(52, 152, 255, 0.25);
7887
+ outline: 3px solid var(--rs-color-focus-ring);
7888
+ }
7889
+ .rs-theme-high-contrast .rs-input:focus {
7890
+ outline-offset: 2px;
7890
7891
  }
7891
7892
  .rs-input:disabled {
7892
7893
  background-color: #f7f7fa;
@@ -7970,10 +7971,15 @@ textarea.rs-input-sm {
7970
7971
  }
7971
7972
  .rs-input-group:not(.rs-input-group-disabled).rs-input-group-focus,
7972
7973
  .rs-input-group:focus-within {
7973
- -webkit-box-shadow: 0 0 0 3px rgba(52, 152, 255, 0.25);
7974
- -webkit-box-shadow: var(--rs-state-focus-shadow);
7975
- box-shadow: 0 0 0 3px rgba(52, 152, 255, 0.25);
7976
- box-shadow: var(--rs-state-focus-shadow);
7974
+ outline: 3px solid rgba(52, 152, 255, 0.25);
7975
+ outline: 3px solid var(--rs-color-focus-ring);
7976
+ }
7977
+ .rs-theme-high-contrast .rs-input-group:not(.rs-input-group-disabled).rs-input-group-focus,
7978
+ .rs-theme-high-contrast .rs-input-group:focus-within {
7979
+ outline-offset: 2px;
7980
+ }
7981
+ .rs-input-group .rs-input-group {
7982
+ outline: none !important;
7977
7983
  }
7978
7984
  .rs-input-group .rs-input-number,
7979
7985
  .rs-input-group .rs-input-group-addon,
@@ -7981,14 +7987,12 @@ textarea.rs-input-sm {
7981
7987
  .rs-input-group .rs-picker-date .rs-picker-toggle {
7982
7988
  border: none;
7983
7989
  border-radius: 0;
7984
- -webkit-box-shadow: none;
7985
- box-shadow: none;
7990
+ outline: none;
7986
7991
  }
7987
7992
  .rs-input-group:not(.rs-input-group-inside) .rs-input {
7988
7993
  border: none;
7989
7994
  border-radius: 0;
7990
- -webkit-box-shadow: none;
7991
- box-shadow: none;
7995
+ outline: none;
7992
7996
  }
7993
7997
  .rs-input-group:not(.rs-input-group-inside) .rs-input-number:not(:last-child) .rs-input-number-btn-group-vertical {
7994
7998
  border-radius: 0;
@@ -8102,8 +8106,7 @@ textarea.rs-input-sm {
8102
8106
  line-height: 1.42857143;
8103
8107
  }
8104
8108
  .rs-input-group.rs-input-group-inside .rs-input-group-btn:focus {
8105
- -webkit-box-shadow: none;
8106
- box-shadow: none;
8109
+ outline: none;
8107
8110
  }
8108
8111
  .rs-input-group.rs-input-group-inside .rs-input-group-btn:first-child {
8109
8112
  border-bottom-left-radius: 6px;
@@ -11741,10 +11744,11 @@ textarea.rs-picker-menu .rs-picker-search-bar .rs-picker-search-bar-input {
11741
11744
  outline: 0;
11742
11745
  }
11743
11746
  .rs-picker-menu .rs-picker-search-bar .rs-picker-search-bar-input:focus {
11744
- -webkit-box-shadow: 0 0 0 3px rgba(52, 152, 255, 0.25);
11745
- -webkit-box-shadow: var(--rs-state-focus-shadow);
11746
- box-shadow: 0 0 0 3px rgba(52, 152, 255, 0.25);
11747
- box-shadow: var(--rs-state-focus-shadow);
11747
+ outline: 3px solid rgba(52, 152, 255, 0.25);
11748
+ outline: 3px solid var(--rs-color-focus-ring);
11749
+ }
11750
+ .rs-theme-high-contrast .rs-picker-menu .rs-picker-search-bar .rs-picker-search-bar-input:focus {
11751
+ outline-offset: 2px;
11748
11752
  }
11749
11753
  .rs-picker-menu .rs-picker-search-bar .rs-picker-search-bar-input:disabled {
11750
11754
  background-color: #f7f7fa;
package/dist/rsuite.js CHANGED
@@ -2155,7 +2155,7 @@ eval("\n\nvar _interopRequireDefault = __webpack_require__(/*! @babel/runtime/he
2155
2155
  /***/ (function(__unused_webpack_module, exports, __webpack_require__) {
2156
2156
 
2157
2157
  "use strict";
2158
- 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?");
2158
+ 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: 291,\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: 332,\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: 352,\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: 356,\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: 365,\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: 389,\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: 398,\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: 399,\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?");
2159
2159
 
2160
2160
  /***/ }),
2161
2161
 
@@ -4454,7 +4454,7 @@ eval("\n\nvar _interopRequireDefault = __webpack_require__(/*! @babel/runtime/he
4454
4454
  /***/ (function(__unused_webpack_module, exports, __webpack_require__) {
4455
4455
 
4456
4456
  "use strict";
4457
- 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 onSearch === null || onSearch === void 0 ? void 0 : onSearch('');\n onClose === null || onClose === void 0 ? void 0 : onClose();\n }, [onClose, setSearchKeyword, onSearch]);\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: 342,\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: 363,\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: 367,\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: 376,\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: 400,\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: 408,\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: 409,\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?");
4457
+ 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 onSearch === null || onSearch === void 0 ? void 0 : onSearch('');\n onClose === null || onClose === void 0 ? void 0 : onClose();\n }, [onClose, setSearchKeyword, onSearch]);\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: 344,\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: 365,\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: 369,\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: 378,\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: 402,\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: 410,\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: 411,\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?");
4458
4458
 
4459
4459
  /***/ }),
4460
4460