rsuite 4.10.3 → 4.10.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,3 +1,14 @@
1
+ <a name="4.10.4"></a>
2
+ ## [4.10.4](https://github.com/rsuite/rsuite/compare/4.10.3...4.10.4) (2021-10-22)
3
+
4
+
5
+ ### Bug Fixes
6
+
7
+ * **cascader:** search not working with custom childreKey ([#2020](https://github.com/rsuite/rsuite/issues/2020)) ([ef957c3](https://github.com/rsuite/rsuite/commit/ef957c3))
8
+ * **Slider:** fix onChange argument types ([#2021](https://github.com/rsuite/rsuite/issues/2021)) ([4707d8b](https://github.com/rsuite/rsuite/commit/4707d8b))
9
+
10
+
11
+
1
12
  <a name="4.10.3"></a>
2
13
  ## [4.10.3](https://github.com/rsuite/rsuite/compare/4.10.2...4.10.3) (2021-09-13)
3
14
 
package/dist/rsuite.js CHANGED
@@ -7528,7 +7528,7 @@ eval("\n\nvar _interopRequireDefault = __webpack_require__(/*! @babel/runtime/he
7528
7528
  /***/ (function(module, exports, __webpack_require__) {
7529
7529
 
7530
7530
  "use strict";
7531
- 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 _extends3 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ \"./node_modules/@babel/runtime/helpers/extends.js\"));\n\nvar _inheritsLoose2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/inheritsLoose */ \"./node_modules/@babel/runtime/helpers/inheritsLoose.js\"));\n\nvar _isFunction2 = _interopRequireDefault(__webpack_require__(/*! lodash/isFunction */ \"./node_modules/lodash/isFunction.js\"));\n\nvar _isNil2 = _interopRequireDefault(__webpack_require__(/*! lodash/isNil */ \"./node_modules/lodash/isNil.js\"));\n\nvar _omit2 = _interopRequireDefault(__webpack_require__(/*! lodash/omit */ \"./node_modules/lodash/omit.js\"));\n\nvar _pick2 = _interopRequireDefault(__webpack_require__(/*! lodash/pick */ \"./node_modules/lodash/pick.js\"));\n\nvar _isUndefined2 = _interopRequireDefault(__webpack_require__(/*! lodash/isUndefined */ \"./node_modules/lodash/isUndefined.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 _shallowEqual = _interopRequireDefault(__webpack_require__(/*! ../utils/shallowEqual */ \"./src/utils/shallowEqual.ts\"));\n\nvar _reactLifecyclesCompat = __webpack_require__(/*! react-lifecycles-compat */ \"./node_modules/react-lifecycles-compat/react-lifecycles-compat.es.js\");\n\nvar _treeUtils = __webpack_require__(/*! ../utils/treeUtils */ \"./src/utils/treeUtils.ts\");\n\nvar _IntlContext = _interopRequireDefault(__webpack_require__(/*! ../IntlProvider/IntlContext */ \"./src/IntlProvider/IntlContext.ts\"));\n\nvar _FormattedMessage = _interopRequireDefault(__webpack_require__(/*! ../IntlProvider/FormattedMessage */ \"./src/IntlProvider/FormattedMessage.tsx\"));\n\nvar _DropdownMenu = _interopRequireWildcard(__webpack_require__(/*! ./DropdownMenu */ \"./src/Cascader/DropdownMenu.tsx\"));\n\nvar _stringToObject2 = _interopRequireDefault(__webpack_require__(/*! ../utils/stringToObject */ \"./src/utils/stringToObject.ts\"));\n\nvar _getSafeRegExpString = _interopRequireDefault(__webpack_require__(/*! ../utils/getSafeRegExpString */ \"./src/utils/getSafeRegExpString.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 _propTypes2 = __webpack_require__(/*! ../Picker/propTypes */ \"./src/Picker/propTypes.ts\");\n\nvar _jsxFileName = \"/home/runner/work/rsuite/rsuite/src/Cascader/Cascader.tsx\";\n\nvar Cascader =\n/*#__PURE__*/\nfunction (_React$Component) {\n (0, _inheritsLoose2.default)(Cascader, _React$Component);\n\n function Cascader(props) {\n var _this;\n\n _this = _React$Component.call(this, props) || this;\n _this.toggleRef = void 0;\n _this.triggerRef = void 0;\n _this.containerRef = void 0;\n _this.positionRef = void 0;\n _this.menuContainerRef = void 0;\n _this.isControlled = void 0;\n\n _this.handleSelect = function (node, cascadeItems, activePaths, isLeafNode, event) {\n var _this$props = _this.props,\n onChange = _this$props.onChange,\n onSelect = _this$props.onSelect,\n valueKey = _this$props.valueKey,\n childrenKey = _this$props.childrenKey,\n parentSelectable = _this$props.parentSelectable;\n\n var prevValue = _this.getValue();\n\n var value = node[valueKey];\n onSelect === null || onSelect === void 0 ? void 0 : onSelect(node, activePaths, (0, _Picker.createConcatChildrenFunction)(node, value, {\n valueKey: valueKey,\n childrenKey: childrenKey\n }), event);\n /**\n Determines whether the option is a leaf node, and if so, closes the picker.\n */\n\n if (isLeafNode) {\n _this.handleCloseDropdown();\n\n var _nextState = {\n selectNode: node\n };\n\n if (!_this.isControlled) {\n _nextState = (0, _extends3.default)({}, _nextState, {\n value: value\n }, (0, _utils.getDerivedStateForCascade)(_this.props, _this.state, value));\n }\n\n _this.setState(_nextState);\n\n if (!(0, _shallowEqual.default)(value, prevValue)) {\n onChange === null || onChange === void 0 ? void 0 : onChange(value, event);\n }\n\n return;\n }\n\n var nextState = {\n selectNode: node,\n items: cascadeItems,\n tempActivePaths: activePaths\n };\n /** When the parent is optional, the value and the displayed path are updated. */\n\n if (parentSelectable) {\n nextState.value = value;\n nextState.activePaths = activePaths;\n\n if (!(0, _shallowEqual.default)(value, prevValue)) {\n onChange === null || onChange === void 0 ? void 0 : onChange(value, event);\n }\n }\n\n _this.setState(nextState, function () {\n var _this$positionRef$cur, _this$positionRef$cur2;\n\n // Update menu position\n (_this$positionRef$cur = _this.positionRef.current) === null || _this$positionRef$cur === void 0 ? void 0 : (_this$positionRef$cur2 = _this$positionRef$cur.updatePosition) === null || _this$positionRef$cur2 === void 0 ? void 0 : _this$positionRef$cur2.call(_this$positionRef$cur);\n });\n };\n\n _this.handleSearchRowSelect = function (item, event) {\n var _this$props2 = _this.props,\n valueKey = _this$props2.valueKey,\n onChange = _this$props2.onChange,\n onSelect = _this$props2.onSelect;\n var value = item[valueKey];\n\n _this.handleCloseDropdown();\n\n var nextState = {\n selectNode: item,\n searchKeyword: ''\n };\n\n if (!_this.isControlled) {\n nextState = (0, _extends3.default)({}, nextState, {}, (0, _utils.getDerivedStateForCascade)(_this.props, _this.state, value), {\n value: value\n });\n }\n\n _this.setState(nextState);\n\n onSelect === null || onSelect === void 0 ? void 0 : onSelect(item, null, null, event);\n onChange === null || onChange === void 0 ? void 0 : onChange(value, event);\n };\n\n _this.handleCloseDropdown = function () {\n var _this$triggerRef$curr, _this$triggerRef$curr2;\n\n (_this$triggerRef$curr = _this.triggerRef.current) === null || _this$triggerRef$curr === void 0 ? void 0 : (_this$triggerRef$curr2 = _this$triggerRef$curr.hide) === null || _this$triggerRef$curr2 === void 0 ? void 0 : _this$triggerRef$curr2.call(_this$triggerRef$curr);\n };\n\n _this.handleOpenDropdown = function () {\n var _this$triggerRef$curr3, _this$triggerRef$curr4;\n\n (_this$triggerRef$curr3 = _this.triggerRef.current) === null || _this$triggerRef$curr3 === void 0 ? void 0 : (_this$triggerRef$curr4 = _this$triggerRef$curr3.show) === null || _this$triggerRef$curr4 === void 0 ? void 0 : _this$triggerRef$curr4.call(_this$triggerRef$curr3);\n };\n\n _this.open = function () {\n var _this$handleOpenDropd, _this2;\n\n (_this$handleOpenDropd = (_this2 = _this).handleOpenDropdown) === null || _this$handleOpenDropd === void 0 ? void 0 : _this$handleOpenDropd.call(_this2);\n };\n\n _this.close = function () {\n var _this$handleCloseDrop, _this3;\n\n (_this$handleCloseDrop = (_this3 = _this).handleCloseDropdown) === null || _this$handleCloseDrop === void 0 ? void 0 : _this$handleCloseDrop.call(_this3);\n };\n\n _this.handleClean = function (event) {\n var _this$props3 = _this.props,\n disabled = _this$props3.disabled,\n onChange = _this$props3.onChange,\n data = _this$props3.data;\n\n if (disabled) {\n return;\n }\n\n var nextState = {\n items: [data],\n value: null,\n selectNode: null,\n activePaths: [],\n tempActivePaths: []\n };\n\n _this.setState(nextState, function () {\n onChange === null || onChange === void 0 ? void 0 : onChange(null, event);\n });\n };\n\n _this.handleSearch = function (searchKeyword, event) {\n var _this$props$onSearch, _this$props4;\n\n _this.setState({\n searchKeyword: searchKeyword\n });\n\n (_this$props$onSearch = (_this$props4 = _this.props).onSearch) === null || _this$props$onSearch === void 0 ? void 0 : _this$props$onSearch.call(_this$props4, searchKeyword, event);\n };\n\n _this.handleEntered = function () {\n var _this$props$onOpen, _this$props5;\n\n (_this$props$onOpen = (_this$props5 = _this.props).onOpen) === null || _this$props$onOpen === void 0 ? void 0 : _this$props$onOpen.call(_this$props5);\n\n _this.setState({\n active: true\n });\n };\n\n _this.handleExit = function () {\n var _this$props$onClose, _this$props6;\n\n (_this$props$onClose = (_this$props6 = _this.props).onClose) === null || _this$props$onClose === void 0 ? void 0 : _this$props$onClose.call(_this$props6);\n\n _this.setState({\n searchKeyword: '',\n active: false\n });\n };\n\n _this.addPrefix = function (name) {\n return (0, _utils2.prefix)(_this.props.classPrefix)(name);\n };\n\n _this.renderSearchRow = function (item, key) {\n var _classNames;\n\n var _this$props7 = _this.props,\n labelKey = _this$props7.labelKey,\n valueKey = _this$props7.valueKey,\n _this$props7$disabled = _this$props7.disabledItemValues,\n disabledItemValues = _this$props7$disabled === void 0 ? [] : _this$props7$disabled;\n var searchKeyword = _this.state.searchKeyword;\n var regx = new RegExp((0, _getSafeRegExpString.default)(searchKeyword), 'ig');\n var nodes = (0, _treeUtils.getNodeParents)(item);\n nodes.push(item);\n nodes = 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(React.createElement(\"strong\", {\n key: i,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 332\n },\n __self: this\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 nodes.some(function (node) {\n return node[valueKey] === value;\n });\n });\n var itemClasses = (0, _classnames.default)(_this.addPrefix('cascader-row'), (_classNames = {}, _classNames[_this.addPrefix('cascader-row-disabled')] = disabled, _classNames));\n return React.createElement(\"div\", {\n key: key,\n className: itemClasses,\n onClick: function onClick(event) {\n if (!disabled) {\n _this.handleSearchRowSelect(item, event);\n }\n },\n __source: {\n fileName: _jsxFileName,\n lineNumber: 347\n },\n __self: this\n }, nodes.map(function (node, index) {\n return React.createElement(\"span\", {\n key: \"col-\" + index,\n className: _this.addPrefix('cascader-col'),\n __source: {\n fileName: _jsxFileName,\n lineNumber: 357\n },\n __self: this\n }, node[labelKey]);\n }));\n };\n\n _this.getPositionInstance = function () {\n return _this.positionRef.current;\n };\n\n _this.getToggleInstance = function () {\n return _this.toggleRef.current;\n };\n\n var initState = {\n searchKeyword: '',\n selectNode: null,\n data: props.data,\n value: props.defaultValue,\n\n /**\n * 选中值的路径\n */\n activePaths: [],\n\n /**\n * 用于展示面板的数据列表,是一个二维的数组\n * 是通过 data 树结构转换成的二维的数组,其中只包含页面上展示的数据\n */\n items: []\n };\n _this.state = (0, _extends3.default)({}, initState, {}, (0, _utils.getDerivedStateForCascade)(props, initState), {\n flattenData: (0, _treeUtils.flattenTree)(props.data)\n });\n _this.isControlled = !(0, _isUndefined2.default)(props.value);\n _this.triggerRef = React.createRef();\n _this.containerRef = React.createRef();\n _this.positionRef = React.createRef();\n _this.toggleRef = React.createRef(); // for test\n\n _this.menuContainerRef = React.createRef();\n return _this;\n }\n\n Cascader.getDerivedStateFromProps = function getDerivedStateFromProps(nextProps, prevState) {\n var value = nextProps.value,\n data = nextProps.data,\n labelKey = nextProps.labelKey,\n valueKey = nextProps.valueKey;\n\n if (data !== prevState.data) {\n var _prevState$selectNode;\n\n // First get the value of the clicked node `selectNodeValue`, and then get the new `newChildren`.\n var selectNodeValue = prevState === null || prevState === void 0 ? void 0 : (_prevState$selectNode = prevState.selectNode) === null || _prevState$selectNode === void 0 ? void 0 : _prevState$selectNode[valueKey];\n\n if (selectNodeValue) {\n var _findNodeOfTree;\n\n var newChildren = ((_findNodeOfTree = (0, _treeUtils.findNodeOfTree)(data, function (item) {\n return (0, _shallowEqual.default)(item[valueKey], selectNodeValue);\n })) === null || _findNodeOfTree === void 0 ? void 0 : _findNodeOfTree.children) || [];\n return (0, _extends3.default)({}, (0, _utils.getDerivedStateForCascade)(nextProps, prevState, selectNodeValue, newChildren.map(function (item) {\n return (0, _stringToObject2.default)(item, labelKey, valueKey);\n })), {\n data: data,\n flattenData: (0, _treeUtils.flattenTree)(data)\n });\n }\n\n return (0, _extends3.default)({}, (0, _utils.getDerivedStateForCascade)(nextProps, prevState), {\n flattenData: (0, _treeUtils.flattenTree)(data),\n data: data\n });\n }\n\n if (typeof value !== 'undefined' && !(0, _shallowEqual.default)(value, prevState.value)) {\n return (0, _extends3.default)({}, (0, _utils.getDerivedStateForCascade)(nextProps, prevState), {\n value: value\n });\n }\n\n return null;\n };\n\n var _proto = Cascader.prototype;\n\n _proto.getValue = function getValue(nextProps) {\n var _ref = nextProps || this.props,\n value = _ref.value;\n\n return (0, _isUndefined2.default)(value) ? this.state.value : value;\n };\n\n /**\n * 在 data 对象中的数据类型是字符串比如: ['foo']\n * 通过这个行数可以把值转换成 [{name:'foo':value:'foo'}]\n */\n _proto.stringToObject = function stringToObject(value) {\n var _this$props8 = this.props,\n labelKey = _this$props8.labelKey,\n valueKey = _this$props8.valueKey;\n return (0, _stringToObject2.default)(value, labelKey, valueKey);\n };\n\n _proto.someKeyword = function someKeyword(item) {\n var labelKey = this.props.labelKey;\n var searchKeyword = this.state.searchKeyword;\n\n if (item[labelKey].match(new RegExp((0, _getSafeRegExpString.default)(searchKeyword), 'i'))) {\n return true;\n }\n\n if (item.parent && this.someKeyword(item.parent)) {\n return true;\n }\n\n return false;\n };\n\n _proto.getSearchResult = function getSearchResult() {\n var _this4 = this;\n\n var childrenKey = this.props.childrenKey;\n var flattenData = this.state.flattenData;\n var items = [];\n var result = flattenData.filter(function (item) {\n if (item[childrenKey]) {\n return false;\n }\n\n return _this4.someKeyword(item);\n });\n\n for (var i = 0; i < result.length; i++) {\n items.push(result[i]);\n\n if (i === 99) {\n return items;\n }\n }\n\n return items;\n };\n\n _proto.renderSearchResultPanel = function renderSearchResultPanel() {\n var locale = this.props.locale;\n var searchKeyword = this.state.searchKeyword;\n\n if (searchKeyword === '') {\n return null;\n }\n\n var items = this.getSearchResult();\n return React.createElement(\"div\", {\n className: this.addPrefix('cascader-search-panel'),\n __source: {\n fileName: _jsxFileName,\n lineNumber: 420\n },\n __self: this\n }, items.length ? items.map(this.renderSearchRow) : React.createElement(\"div\", {\n className: this.addPrefix('none'),\n __source: {\n fileName: _jsxFileName,\n lineNumber: 424\n },\n __self: this\n }, locale.noResultsText));\n };\n\n _proto.renderDropdownMenu = function renderDropdownMenu() {\n var _classNames2;\n\n var _this$state = this.state,\n items = _this$state.items,\n tempActivePaths = _this$state.tempActivePaths,\n activePaths = _this$state.activePaths,\n searchKeyword = _this$state.searchKeyword;\n var _this$props9 = this.props,\n renderMenu = _this$props9.renderMenu,\n renderExtraFooter = _this$props9.renderExtraFooter,\n menuClassName = _this$props9.menuClassName,\n menuStyle = _this$props9.menuStyle,\n searchable = _this$props9.searchable,\n locale = _this$props9.locale,\n inline = _this$props9.inline;\n var classes = (0, _classnames.default)(this.addPrefix('cascader-menu'), menuClassName, (_classNames2 = {}, _classNames2[this.addPrefix('inline')] = inline, _classNames2));\n var menuProps = (0, _pick2.default)(this.props, Object.keys((0, _omit2.default)(_DropdownMenu.dropdownMenuPropTypes, ['classPrefix'])));\n return React.createElement(_Picker.MenuWrapper, {\n className: classes,\n style: menuStyle,\n getToggleInstance: this.getToggleInstance,\n getPositionInstance: this.getPositionInstance,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 452\n },\n __self: this\n }, searchable && React.createElement(_Picker.SearchBar, {\n placeholder: locale.searchPlaceholder,\n onChange: this.handleSearch,\n value: searchKeyword,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 459\n },\n __self: this\n }), this.renderSearchResultPanel(), searchKeyword === '' && React.createElement(_DropdownMenu.default, (0, _extends3.default)({}, menuProps, {\n classPrefix: this.addPrefix('cascader-menu'),\n ref: this.menuContainerRef,\n cascadeItems: items,\n cascadePathItems: tempActivePaths || activePaths,\n activeItemValue: this.getValue(),\n onSelect: this.handleSelect,\n renderMenu: renderMenu,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 468\n },\n __self: this\n })), renderExtraFooter === null || renderExtraFooter === void 0 ? void 0 : renderExtraFooter());\n };\n\n _proto.render = function render() {\n var _this$props10 = this.props,\n valueKey = _this$props10.valueKey,\n labelKey = _this$props10.labelKey,\n placeholder = _this$props10.placeholder,\n renderValue = _this$props10.renderValue,\n disabled = _this$props10.disabled,\n cleanable = _this$props10.cleanable,\n locale = _this$props10.locale,\n toggleComponentClass = _this$props10.toggleComponentClass,\n style = _this$props10.style,\n onEnter = _this$props10.onEnter,\n onExited = _this$props10.onExited,\n onClean = _this$props10.onClean,\n inline = _this$props10.inline,\n positionRef = _this$props10.positionRef,\n rest = (0, _objectWithoutPropertiesLoose2.default)(_this$props10, [\"valueKey\", \"labelKey\", \"placeholder\", \"renderValue\", \"disabled\", \"cleanable\", \"locale\", \"toggleComponentClass\", \"style\", \"onEnter\", \"onExited\", \"onClean\", \"inline\", \"positionRef\"]);\n\n if (inline) {\n return this.renderDropdownMenu();\n }\n\n var _this$state2 = this.state,\n activePaths = _this$state2.activePaths,\n active = _this$state2.active;\n var unhandled = (0, _utils2.getUnhandledProps)(Cascader, rest);\n var value = this.getValue();\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 = activePaths.length > 0 || !(0, _isNil2.default)(value) && (0, _isFunction2.default)(renderValue);\n var activeItemLabel = placeholder;\n\n if (activePaths.length > 0) {\n activeItemLabel = [];\n activePaths.forEach(function (item, index) {\n var key = item[valueKey] || item[labelKey];\n activeItemLabel.push(React.createElement(\"span\", {\n key: key,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 523\n },\n __self: this\n }, item[labelKey]));\n\n if (index < activePaths.length - 1) {\n activeItemLabel.push(React.createElement(\"span\", {\n className: \"separator\",\n key: key + \"-separator\",\n __source: {\n fileName: _jsxFileName,\n lineNumber: 526\n },\n __self: this\n }, ' / '));\n }\n });\n }\n\n if (!(0, _isNil2.default)(value) && (0, _isFunction2.default)(renderValue)) {\n activeItemLabel = renderValue(value, activePaths, activeItemLabel);\n\n if ((0, _isNil2.default)(activeItemLabel)) {\n hasValue = false;\n }\n }\n\n var classes = (0, _Picker.getToggleWrapperClassName)('cascader', this.addPrefix, this.props, hasValue);\n return React.createElement(_IntlContext.default.Provider, {\n value: locale,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 544\n },\n __self: this\n }, React.createElement(\"div\", {\n className: classes,\n style: style,\n tabIndex: -1,\n role: \"menu\",\n ref: this.containerRef,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 545\n },\n __self: this\n }, React.createElement(_Picker.PickerToggleTrigger, {\n pickerProps: this.props,\n ref: this.triggerRef,\n positionRef: (0, _utils2.mergeRefs)(this.positionRef, positionRef),\n onEnter: (0, _utils2.createChainedFunction)(this.handleEntered, onEnter),\n onExited: (0, _utils2.createChainedFunction)(this.handleExit, onExited),\n speaker: this.renderDropdownMenu(),\n __source: {\n fileName: _jsxFileName,\n lineNumber: 546\n },\n __self: this\n }, React.createElement(_Picker.PickerToggle, (0, _extends3.default)({}, unhandled, {\n ref: this.toggleRef,\n componentClass: toggleComponentClass,\n onClean: (0, _utils2.createChainedFunction)(this.handleClean, onClean),\n cleanable: cleanable && !disabled,\n hasValue: hasValue,\n active: active,\n \"aria-disabled\": disabled,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 554\n },\n __self: this\n }), activeItemLabel || React.createElement(_FormattedMessage.default, {\n id: \"placeholder\",\n __source: {\n fileName: _jsxFileName,\n lineNumber: 564\n },\n __self: this\n })))));\n };\n\n return Cascader;\n}(React.Component);\n\nCascader.propTypes = (0, _extends3.default)({}, _propTypes2.listPickerPropTypes, {\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});\nCascader.defaultProps = (0, _extends3.default)({}, _propTypes2.listPickerDefaultProps, {\n searchable: true,\n locale: {\n placeholder: 'Select',\n searchPlaceholder: 'Search',\n noResultsText: 'No results found'\n }\n});\n(0, _reactLifecyclesCompat.polyfill)(Cascader);\n\nvar _default = (0, _utils2.defaultProps)({\n classPrefix: 'picker'\n})(Cascader);\n\nexports.default = _default;\nmodule.exports = exports.default;\n\n//# sourceURL=webpack://rsuite/./src/Cascader/Cascader.tsx?");
7531
+ 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 _extends3 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ \"./node_modules/@babel/runtime/helpers/extends.js\"));\n\nvar _inheritsLoose2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/inheritsLoose */ \"./node_modules/@babel/runtime/helpers/inheritsLoose.js\"));\n\nvar _isFunction2 = _interopRequireDefault(__webpack_require__(/*! lodash/isFunction */ \"./node_modules/lodash/isFunction.js\"));\n\nvar _isNil2 = _interopRequireDefault(__webpack_require__(/*! lodash/isNil */ \"./node_modules/lodash/isNil.js\"));\n\nvar _omit2 = _interopRequireDefault(__webpack_require__(/*! lodash/omit */ \"./node_modules/lodash/omit.js\"));\n\nvar _pick2 = _interopRequireDefault(__webpack_require__(/*! lodash/pick */ \"./node_modules/lodash/pick.js\"));\n\nvar _isUndefined2 = _interopRequireDefault(__webpack_require__(/*! lodash/isUndefined */ \"./node_modules/lodash/isUndefined.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 _shallowEqual = _interopRequireDefault(__webpack_require__(/*! ../utils/shallowEqual */ \"./src/utils/shallowEqual.ts\"));\n\nvar _reactLifecyclesCompat = __webpack_require__(/*! react-lifecycles-compat */ \"./node_modules/react-lifecycles-compat/react-lifecycles-compat.es.js\");\n\nvar _treeUtils = __webpack_require__(/*! ../utils/treeUtils */ \"./src/utils/treeUtils.ts\");\n\nvar _IntlContext = _interopRequireDefault(__webpack_require__(/*! ../IntlProvider/IntlContext */ \"./src/IntlProvider/IntlContext.ts\"));\n\nvar _FormattedMessage = _interopRequireDefault(__webpack_require__(/*! ../IntlProvider/FormattedMessage */ \"./src/IntlProvider/FormattedMessage.tsx\"));\n\nvar _DropdownMenu = _interopRequireWildcard(__webpack_require__(/*! ./DropdownMenu */ \"./src/Cascader/DropdownMenu.tsx\"));\n\nvar _stringToObject2 = _interopRequireDefault(__webpack_require__(/*! ../utils/stringToObject */ \"./src/utils/stringToObject.ts\"));\n\nvar _getSafeRegExpString = _interopRequireDefault(__webpack_require__(/*! ../utils/getSafeRegExpString */ \"./src/utils/getSafeRegExpString.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 _propTypes2 = __webpack_require__(/*! ../Picker/propTypes */ \"./src/Picker/propTypes.ts\");\n\nvar _jsxFileName = \"/home/runner/work/rsuite/rsuite/src/Cascader/Cascader.tsx\";\n\nvar Cascader =\n/*#__PURE__*/\nfunction (_React$Component) {\n (0, _inheritsLoose2.default)(Cascader, _React$Component);\n\n function Cascader(props) {\n var _this;\n\n _this = _React$Component.call(this, props) || this;\n _this.toggleRef = void 0;\n _this.triggerRef = void 0;\n _this.containerRef = void 0;\n _this.positionRef = void 0;\n _this.menuWrapperRef = void 0;\n _this.menuContainerRef = void 0;\n _this.isControlled = void 0;\n\n _this.handleSelect = function (node, cascadeItems, activePaths, isLeafNode, event) {\n var _this$props = _this.props,\n onChange = _this$props.onChange,\n onSelect = _this$props.onSelect,\n valueKey = _this$props.valueKey,\n childrenKey = _this$props.childrenKey,\n parentSelectable = _this$props.parentSelectable;\n\n var prevValue = _this.getValue();\n\n var value = node[valueKey];\n onSelect === null || onSelect === void 0 ? void 0 : onSelect(node, activePaths, (0, _Picker.createConcatChildrenFunction)(node, value, {\n valueKey: valueKey,\n childrenKey: childrenKey\n }), event);\n /**\n Determines whether the option is a leaf node, and if so, closes the picker.\n */\n\n if (isLeafNode) {\n _this.handleCloseDropdown();\n\n var _nextState = {\n selectNode: node\n };\n\n if (!_this.isControlled) {\n _nextState = (0, _extends3.default)({}, _nextState, {\n value: value\n }, (0, _utils.getDerivedStateForCascade)(_this.props, _this.state, value));\n }\n\n _this.setState(_nextState);\n\n if (!(0, _shallowEqual.default)(value, prevValue)) {\n onChange === null || onChange === void 0 ? void 0 : onChange(value, event);\n }\n\n return;\n }\n\n var nextState = {\n selectNode: node,\n items: cascadeItems,\n tempActivePaths: activePaths\n };\n /** When the parent is optional, the value and the displayed path are updated. */\n\n if (parentSelectable) {\n nextState.value = value;\n nextState.activePaths = activePaths;\n\n if (!(0, _shallowEqual.default)(value, prevValue)) {\n onChange === null || onChange === void 0 ? void 0 : onChange(value, event);\n }\n }\n\n _this.setState(nextState, function () {\n var _this$positionRef$cur, _this$positionRef$cur2;\n\n // Update menu position\n (_this$positionRef$cur = _this.positionRef.current) === null || _this$positionRef$cur === void 0 ? void 0 : (_this$positionRef$cur2 = _this$positionRef$cur.updatePosition) === null || _this$positionRef$cur2 === void 0 ? void 0 : _this$positionRef$cur2.call(_this$positionRef$cur);\n });\n };\n\n _this.handleSearchRowSelect = function (item, event) {\n var _this$props2 = _this.props,\n valueKey = _this$props2.valueKey,\n onChange = _this$props2.onChange,\n onSelect = _this$props2.onSelect;\n var value = item[valueKey];\n\n _this.handleCloseDropdown();\n\n var nextState = {\n selectNode: item,\n searchKeyword: ''\n };\n\n if (!_this.isControlled) {\n nextState = (0, _extends3.default)({}, nextState, {}, (0, _utils.getDerivedStateForCascade)(_this.props, _this.state, value), {\n value: value\n });\n }\n\n _this.setState(nextState);\n\n onSelect === null || onSelect === void 0 ? void 0 : onSelect(item, null, null, event);\n onChange === null || onChange === void 0 ? void 0 : onChange(value, event);\n };\n\n _this.handleCloseDropdown = function () {\n var _this$triggerRef$curr, _this$triggerRef$curr2;\n\n (_this$triggerRef$curr = _this.triggerRef.current) === null || _this$triggerRef$curr === void 0 ? void 0 : (_this$triggerRef$curr2 = _this$triggerRef$curr.hide) === null || _this$triggerRef$curr2 === void 0 ? void 0 : _this$triggerRef$curr2.call(_this$triggerRef$curr);\n };\n\n _this.handleOpenDropdown = function () {\n var _this$triggerRef$curr3, _this$triggerRef$curr4;\n\n (_this$triggerRef$curr3 = _this.triggerRef.current) === null || _this$triggerRef$curr3 === void 0 ? void 0 : (_this$triggerRef$curr4 = _this$triggerRef$curr3.show) === null || _this$triggerRef$curr4 === void 0 ? void 0 : _this$triggerRef$curr4.call(_this$triggerRef$curr3);\n };\n\n _this.open = function () {\n var _this$handleOpenDropd, _this2;\n\n (_this$handleOpenDropd = (_this2 = _this).handleOpenDropdown) === null || _this$handleOpenDropd === void 0 ? void 0 : _this$handleOpenDropd.call(_this2);\n };\n\n _this.close = function () {\n var _this$handleCloseDrop, _this3;\n\n (_this$handleCloseDrop = (_this3 = _this).handleCloseDropdown) === null || _this$handleCloseDrop === void 0 ? void 0 : _this$handleCloseDrop.call(_this3);\n };\n\n _this.handleClean = function (event) {\n var _this$props3 = _this.props,\n disabled = _this$props3.disabled,\n onChange = _this$props3.onChange,\n data = _this$props3.data;\n\n if (disabled) {\n return;\n }\n\n var nextState = {\n items: [data],\n value: null,\n selectNode: null,\n activePaths: [],\n tempActivePaths: []\n };\n\n _this.setState(nextState, function () {\n onChange === null || onChange === void 0 ? void 0 : onChange(null, event);\n });\n };\n\n _this.handleSearch = function (searchKeyword, event) {\n var _this$props$onSearch, _this$props4;\n\n _this.setState({\n searchKeyword: searchKeyword\n });\n\n (_this$props$onSearch = (_this$props4 = _this.props).onSearch) === null || _this$props$onSearch === void 0 ? void 0 : _this$props$onSearch.call(_this$props4, searchKeyword, event);\n };\n\n _this.handleEntered = function () {\n var _this$props$onOpen, _this$props5;\n\n (_this$props$onOpen = (_this$props5 = _this.props).onOpen) === null || _this$props$onOpen === void 0 ? void 0 : _this$props$onOpen.call(_this$props5);\n\n _this.setState({\n active: true\n });\n };\n\n _this.handleExit = function () {\n var _this$props$onClose, _this$props6;\n\n (_this$props$onClose = (_this$props6 = _this.props).onClose) === null || _this$props$onClose === void 0 ? void 0 : _this$props$onClose.call(_this$props6);\n\n _this.setState({\n searchKeyword: '',\n active: false\n });\n };\n\n _this.addPrefix = function (name) {\n return (0, _utils2.prefix)(_this.props.classPrefix)(name);\n };\n\n _this.renderSearchRow = function (item, key) {\n var _classNames;\n\n var _this$props7 = _this.props,\n labelKey = _this$props7.labelKey,\n valueKey = _this$props7.valueKey,\n _this$props7$disabled = _this$props7.disabledItemValues,\n disabledItemValues = _this$props7$disabled === void 0 ? [] : _this$props7$disabled;\n var searchKeyword = _this.state.searchKeyword;\n var regx = new RegExp((0, _getSafeRegExpString.default)(searchKeyword), 'ig');\n var nodes = (0, _treeUtils.getNodeParents)(item);\n nodes.push(item);\n nodes = 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(React.createElement(\"strong\", {\n key: i,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 334\n },\n __self: this\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 nodes.some(function (node) {\n return node[valueKey] === value;\n });\n });\n var itemClasses = (0, _classnames.default)(_this.addPrefix('cascader-row'), (_classNames = {}, _classNames[_this.addPrefix('cascader-row-disabled')] = disabled, _classNames));\n return React.createElement(\"div\", {\n key: key,\n className: itemClasses,\n onClick: function onClick(event) {\n if (!disabled) {\n _this.handleSearchRowSelect(item, event);\n }\n },\n __source: {\n fileName: _jsxFileName,\n lineNumber: 349\n },\n __self: this\n }, nodes.map(function (node, index) {\n return React.createElement(\"span\", {\n key: \"col-\" + index,\n className: _this.addPrefix('cascader-col'),\n __source: {\n fileName: _jsxFileName,\n lineNumber: 359\n },\n __self: this\n }, node[labelKey]);\n }));\n };\n\n _this.getPositionInstance = function () {\n return _this.positionRef.current;\n };\n\n _this.getToggleInstance = function () {\n return _this.toggleRef.current;\n };\n\n var initState = {\n searchKeyword: '',\n selectNode: null,\n data: props.data,\n value: props.defaultValue,\n\n /**\n * 选中值的路径\n */\n activePaths: [],\n\n /**\n * 用于展示面板的数据列表,是一个二维的数组\n * 是通过 data 树结构转换成的二维的数组,其中只包含页面上展示的数据\n */\n items: []\n };\n _this.state = (0, _extends3.default)({}, initState, {}, (0, _utils.getDerivedStateForCascade)(props, initState), {\n flattenData: (0, _treeUtils.flattenTree)(props.data, props.childrenKey)\n });\n _this.isControlled = !(0, _isUndefined2.default)(props.value);\n _this.triggerRef = React.createRef();\n _this.containerRef = React.createRef();\n _this.positionRef = React.createRef();\n _this.toggleRef = React.createRef(); // for test\n\n _this.menuWrapperRef = React.createRef();\n _this.menuContainerRef = React.createRef();\n return _this;\n }\n\n Cascader.getDerivedStateFromProps = function getDerivedStateFromProps(nextProps, prevState) {\n var value = nextProps.value,\n data = nextProps.data,\n labelKey = nextProps.labelKey,\n valueKey = nextProps.valueKey,\n childrenKey = nextProps.childrenKey;\n\n if (data !== prevState.data) {\n var _prevState$selectNode;\n\n // First get the value of the clicked node `selectNodeValue`, and then get the new `newChildren`.\n var selectNodeValue = prevState === null || prevState === void 0 ? void 0 : (_prevState$selectNode = prevState.selectNode) === null || _prevState$selectNode === void 0 ? void 0 : _prevState$selectNode[valueKey];\n\n if (selectNodeValue) {\n var _findNodeOfTree;\n\n var newChildren = ((_findNodeOfTree = (0, _treeUtils.findNodeOfTree)(data, function (item) {\n return (0, _shallowEqual.default)(item[valueKey], selectNodeValue);\n })) === null || _findNodeOfTree === void 0 ? void 0 : _findNodeOfTree.children) || [];\n return (0, _extends3.default)({}, (0, _utils.getDerivedStateForCascade)(nextProps, prevState, selectNodeValue, newChildren.map(function (item) {\n return (0, _stringToObject2.default)(item, labelKey, valueKey);\n })), {\n data: data,\n flattenData: (0, _treeUtils.flattenTree)(data, childrenKey)\n });\n }\n\n return (0, _extends3.default)({}, (0, _utils.getDerivedStateForCascade)(nextProps, prevState), {\n flattenData: (0, _treeUtils.flattenTree)(data, childrenKey),\n data: data\n });\n }\n\n if (typeof value !== 'undefined' && !(0, _shallowEqual.default)(value, prevState.value)) {\n return (0, _extends3.default)({}, (0, _utils.getDerivedStateForCascade)(nextProps, prevState), {\n value: value\n });\n }\n\n return null;\n };\n\n var _proto = Cascader.prototype;\n\n _proto.getValue = function getValue(nextProps) {\n var _ref = nextProps || this.props,\n value = _ref.value;\n\n return (0, _isUndefined2.default)(value) ? this.state.value : value;\n };\n\n /**\n * 在 data 对象中的数据类型是字符串比如: ['foo']\n * 通过这个行数可以把值转换成 [{name:'foo':value:'foo'}]\n */\n _proto.stringToObject = function stringToObject(value) {\n var _this$props8 = this.props,\n labelKey = _this$props8.labelKey,\n valueKey = _this$props8.valueKey;\n return (0, _stringToObject2.default)(value, labelKey, valueKey);\n };\n\n _proto.someKeyword = function someKeyword(item) {\n var labelKey = this.props.labelKey;\n var searchKeyword = this.state.searchKeyword;\n\n if (item[labelKey].match(new RegExp((0, _getSafeRegExpString.default)(searchKeyword), 'i'))) {\n return true;\n }\n\n if (item.parent && this.someKeyword(item.parent)) {\n return true;\n }\n\n return false;\n };\n\n _proto.getSearchResult = function getSearchResult() {\n var _this4 = this;\n\n var childrenKey = this.props.childrenKey;\n var flattenData = this.state.flattenData;\n var items = [];\n var result = flattenData.filter(function (item) {\n if (item[childrenKey]) {\n return false;\n }\n\n return _this4.someKeyword(item);\n });\n\n for (var i = 0; i < result.length; i++) {\n items.push(result[i]);\n\n if (i === 99) {\n return items;\n }\n }\n\n return items;\n };\n\n _proto.renderSearchResultPanel = function renderSearchResultPanel() {\n var locale = this.props.locale;\n var searchKeyword = this.state.searchKeyword;\n\n if (searchKeyword === '') {\n return null;\n }\n\n var items = this.getSearchResult();\n return React.createElement(\"div\", {\n className: this.addPrefix('cascader-search-panel'),\n __source: {\n fileName: _jsxFileName,\n lineNumber: 422\n },\n __self: this\n }, items.length ? items.map(this.renderSearchRow) : React.createElement(\"div\", {\n className: this.addPrefix('none'),\n __source: {\n fileName: _jsxFileName,\n lineNumber: 426\n },\n __self: this\n }, locale.noResultsText));\n };\n\n _proto.renderDropdownMenu = function renderDropdownMenu() {\n var _classNames2;\n\n var _this$state = this.state,\n items = _this$state.items,\n tempActivePaths = _this$state.tempActivePaths,\n activePaths = _this$state.activePaths,\n searchKeyword = _this$state.searchKeyword;\n var _this$props9 = this.props,\n renderMenu = _this$props9.renderMenu,\n renderExtraFooter = _this$props9.renderExtraFooter,\n menuClassName = _this$props9.menuClassName,\n menuStyle = _this$props9.menuStyle,\n searchable = _this$props9.searchable,\n locale = _this$props9.locale,\n inline = _this$props9.inline;\n var classes = (0, _classnames.default)(this.addPrefix('cascader-menu'), menuClassName, (_classNames2 = {}, _classNames2[this.addPrefix('inline')] = inline, _classNames2));\n var menuProps = (0, _pick2.default)(this.props, Object.keys((0, _omit2.default)(_DropdownMenu.dropdownMenuPropTypes, ['classPrefix'])));\n return React.createElement(_Picker.MenuWrapper, {\n ref: this.menuWrapperRef,\n className: classes,\n style: menuStyle,\n getToggleInstance: this.getToggleInstance,\n getPositionInstance: this.getPositionInstance,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 454\n },\n __self: this\n }, searchable && React.createElement(_Picker.SearchBar, {\n placeholder: locale.searchPlaceholder,\n onChange: this.handleSearch,\n value: searchKeyword,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 462\n },\n __self: this\n }), this.renderSearchResultPanel(), searchKeyword === '' && React.createElement(_DropdownMenu.default, (0, _extends3.default)({}, menuProps, {\n classPrefix: this.addPrefix('cascader-menu'),\n ref: this.menuContainerRef,\n cascadeItems: items,\n cascadePathItems: tempActivePaths || activePaths,\n activeItemValue: this.getValue(),\n onSelect: this.handleSelect,\n renderMenu: renderMenu,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 471\n },\n __self: this\n })), renderExtraFooter === null || renderExtraFooter === void 0 ? void 0 : renderExtraFooter());\n };\n\n _proto.render = function render() {\n var _this$props10 = this.props,\n valueKey = _this$props10.valueKey,\n labelKey = _this$props10.labelKey,\n placeholder = _this$props10.placeholder,\n renderValue = _this$props10.renderValue,\n disabled = _this$props10.disabled,\n cleanable = _this$props10.cleanable,\n locale = _this$props10.locale,\n toggleComponentClass = _this$props10.toggleComponentClass,\n style = _this$props10.style,\n onEnter = _this$props10.onEnter,\n onExited = _this$props10.onExited,\n onClean = _this$props10.onClean,\n inline = _this$props10.inline,\n positionRef = _this$props10.positionRef,\n rest = (0, _objectWithoutPropertiesLoose2.default)(_this$props10, [\"valueKey\", \"labelKey\", \"placeholder\", \"renderValue\", \"disabled\", \"cleanable\", \"locale\", \"toggleComponentClass\", \"style\", \"onEnter\", \"onExited\", \"onClean\", \"inline\", \"positionRef\"]);\n\n if (inline) {\n return this.renderDropdownMenu();\n }\n\n var _this$state2 = this.state,\n activePaths = _this$state2.activePaths,\n active = _this$state2.active;\n var unhandled = (0, _utils2.getUnhandledProps)(Cascader, rest);\n var value = this.getValue();\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 = activePaths.length > 0 || !(0, _isNil2.default)(value) && (0, _isFunction2.default)(renderValue);\n var activeItemLabel = placeholder;\n\n if (activePaths.length > 0) {\n activeItemLabel = [];\n activePaths.forEach(function (item, index) {\n var key = item[valueKey] || item[labelKey];\n activeItemLabel.push(React.createElement(\"span\", {\n key: key,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 526\n },\n __self: this\n }, item[labelKey]));\n\n if (index < activePaths.length - 1) {\n activeItemLabel.push(React.createElement(\"span\", {\n className: \"separator\",\n key: key + \"-separator\",\n __source: {\n fileName: _jsxFileName,\n lineNumber: 529\n },\n __self: this\n }, ' / '));\n }\n });\n }\n\n if (!(0, _isNil2.default)(value) && (0, _isFunction2.default)(renderValue)) {\n activeItemLabel = renderValue(value, activePaths, activeItemLabel);\n\n if ((0, _isNil2.default)(activeItemLabel)) {\n hasValue = false;\n }\n }\n\n var classes = (0, _Picker.getToggleWrapperClassName)('cascader', this.addPrefix, this.props, hasValue);\n return React.createElement(_IntlContext.default.Provider, {\n value: locale,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 547\n },\n __self: this\n }, React.createElement(\"div\", {\n className: classes,\n style: style,\n tabIndex: -1,\n role: \"menu\",\n ref: this.containerRef,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 548\n },\n __self: this\n }, React.createElement(_Picker.PickerToggleTrigger, {\n pickerProps: this.props,\n ref: this.triggerRef,\n positionRef: (0, _utils2.mergeRefs)(this.positionRef, positionRef),\n onEnter: (0, _utils2.createChainedFunction)(this.handleEntered, onEnter),\n onExited: (0, _utils2.createChainedFunction)(this.handleExit, onExited),\n speaker: this.renderDropdownMenu(),\n __source: {\n fileName: _jsxFileName,\n lineNumber: 549\n },\n __self: this\n }, React.createElement(_Picker.PickerToggle, (0, _extends3.default)({}, unhandled, {\n ref: this.toggleRef,\n componentClass: toggleComponentClass,\n onClean: (0, _utils2.createChainedFunction)(this.handleClean, onClean),\n cleanable: cleanable && !disabled,\n hasValue: hasValue,\n active: active,\n \"aria-disabled\": disabled,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 557\n },\n __self: this\n }), activeItemLabel || React.createElement(_FormattedMessage.default, {\n id: \"placeholder\",\n __source: {\n fileName: _jsxFileName,\n lineNumber: 567\n },\n __self: this\n })))));\n };\n\n return Cascader;\n}(React.Component);\n\nCascader.propTypes = (0, _extends3.default)({}, _propTypes2.listPickerPropTypes, {\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});\nCascader.defaultProps = (0, _extends3.default)({}, _propTypes2.listPickerDefaultProps, {\n searchable: true,\n locale: {\n placeholder: 'Select',\n searchPlaceholder: 'Search',\n noResultsText: 'No results found'\n }\n});\n(0, _reactLifecyclesCompat.polyfill)(Cascader);\n\nvar _default = (0, _utils2.defaultProps)({\n classPrefix: 'picker'\n})(Cascader);\n\nexports.default = _default;\nmodule.exports = exports.default;\n\n//# sourceURL=webpack://rsuite/./src/Cascader/Cascader.tsx?");
7532
7532
 
7533
7533
  /***/ }),
7534
7534