846cc3c8c61269d173ac9478457fda99.json 71 KB
{"ast":null,"code":"import _extends from \"@babel/runtime/helpers/extends\";\nimport _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/createClass\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/assertThisInitialized\";\nimport _inherits from \"@babel/runtime/helpers/inherits\";\nimport _createSuper from \"@babel/runtime/helpers/createSuper\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\n\nvar __rest = this && this.__rest || function (s, e) {\n  var t = {};\n\n  for (var p in s) {\n    if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n  }\n\n  if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n    if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n  }\n  return t;\n};\n\nimport * as React from 'react';\nimport RcCascader from 'rc-cascader';\nimport arrayTreeFilter from 'array-tree-filter';\nimport classNames from 'classnames';\nimport omit from 'omit.js';\nimport KeyCode from \"rc-util/es/KeyCode\";\nimport CloseCircleFilled from '@ant-design/icons/CloseCircleFilled';\nimport DownOutlined from '@ant-design/icons/DownOutlined';\nimport RightOutlined from '@ant-design/icons/RightOutlined';\nimport RedoOutlined from '@ant-design/icons/RedoOutlined';\nimport LeftOutlined from '@ant-design/icons/LeftOutlined';\nimport Input from '../input';\nimport { ConfigConsumer } from '../config-provider';\nimport LocaleReceiver from '../locale-provider/LocaleReceiver';\nimport devWarning from '../_util/devWarning';\nimport SizeContext from '../config-provider/SizeContext';\nimport { replaceElement } from '../_util/reactNode'; // We limit the filtered item count by default\n\nvar defaultLimit = 50; // keep value when filtering\n\nvar keepFilteredValueField = '__KEEP_FILTERED_OPTION_VALUE';\n\nfunction highlightKeyword(str, keyword, prefixCls) {\n  return str.split(keyword).map(function (node, index) {\n    return index === 0 ? node : [/*#__PURE__*/React.createElement(\"span\", {\n      className: \"\".concat(prefixCls, \"-menu-item-keyword\"),\n      key: \"seperator\"\n    }, keyword), node];\n  });\n}\n\nfunction defaultFilterOption(inputValue, path, names) {\n  return path.some(function (option) {\n    return option[names.label].indexOf(inputValue) > -1;\n  });\n}\n\nfunction defaultRenderFilteredOption(inputValue, path, prefixCls, names) {\n  return path.map(function (option, index) {\n    var label = option[names.label];\n    var node = label.indexOf(inputValue) > -1 ? highlightKeyword(label, inputValue, prefixCls) : label;\n    return index === 0 ? node : [' / ', node];\n  });\n}\n\nfunction defaultSortFilteredOption(a, b, inputValue, names) {\n  function callback(elem) {\n    return elem[names.label].indexOf(inputValue) > -1;\n  }\n\n  return a.findIndex(callback) - b.findIndex(callback);\n}\n\nfunction getFieldNames(_ref) {\n  var fieldNames = _ref.fieldNames;\n  return fieldNames;\n}\n\nfunction getFilledFieldNames(props) {\n  var fieldNames = getFieldNames(props) || {};\n  var names = {\n    children: fieldNames.children || 'children',\n    label: fieldNames.label || 'label',\n    value: fieldNames.value || 'value'\n  };\n  return names;\n}\n\nfunction flattenTree(options, props) {\n  var ancestor = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : [];\n  var names = getFilledFieldNames(props);\n  var flattenOptions = [];\n  var childrenName = names.children;\n  options.forEach(function (option) {\n    var path = ancestor.concat(option);\n\n    if (props.changeOnSelect || !option[childrenName] || !option[childrenName].length) {\n      flattenOptions.push(path);\n    }\n\n    if (option[childrenName]) {\n      flattenOptions = flattenOptions.concat(flattenTree(option[childrenName], props, path));\n    }\n  });\n  return flattenOptions;\n}\n\nvar defaultDisplayRender = function defaultDisplayRender(label) {\n  return label.join(' / ');\n};\n\nfunction warningValueNotExist(list) {\n  var fieldNames = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n  (list || []).forEach(function (item) {\n    var valueFieldName = fieldNames.value || 'value';\n    devWarning(valueFieldName in item, 'Cascader', 'Not found `value` in `options`.');\n    warningValueNotExist(item[fieldNames.children || 'children'], fieldNames);\n  });\n}\n\nfunction getEmptyNode(renderEmpty, names, notFoundContent) {\n  var _ref2;\n\n  return _ref2 = {}, _defineProperty(_ref2, names.value, 'ANT_CASCADER_NOT_FOUND'), _defineProperty(_ref2, names.label, notFoundContent || renderEmpty('Cascader')), _defineProperty(_ref2, \"disabled\", true), _defineProperty(_ref2, \"isEmptyNode\", true), _ref2;\n}\n\nvar Cascader = /*#__PURE__*/function (_React$Component) {\n  _inherits(Cascader, _React$Component);\n\n  var _super = _createSuper(Cascader);\n\n  function Cascader(props) {\n    var _this;\n\n    _classCallCheck(this, Cascader);\n\n    _this = _super.call(this, props);\n    _this.cachedOptions = [];\n\n    _this.setValue = function (value) {\n      var selectedOptions = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];\n\n      if (!('value' in _this.props)) {\n        _this.setState({\n          value: value\n        });\n      }\n\n      var onChange = _this.props.onChange;\n\n      if (onChange) {\n        onChange(value, selectedOptions);\n      }\n    };\n\n    _this.saveInput = function (node) {\n      _this.input = node;\n    };\n\n    _this.handleChange = function (value, selectedOptions) {\n      _this.setState({\n        inputValue: ''\n      });\n\n      if (selectedOptions[0].__IS_FILTERED_OPTION) {\n        var unwrappedValue = selectedOptions[0][keepFilteredValueField] === undefined ? value[0] : selectedOptions[0][keepFilteredValueField];\n        var unwrappedSelectedOptions = selectedOptions[0].path;\n\n        _this.setValue(unwrappedValue, unwrappedSelectedOptions);\n\n        return;\n      }\n\n      _this.setValue(value, selectedOptions);\n    };\n\n    _this.handlePopupVisibleChange = function (popupVisible) {\n      if (!('popupVisible' in _this.props)) {\n        _this.setState(function (state) {\n          return {\n            popupVisible: popupVisible,\n            inputFocused: popupVisible,\n            inputValue: popupVisible ? state.inputValue : ''\n          };\n        });\n      }\n\n      var onPopupVisibleChange = _this.props.onPopupVisibleChange;\n\n      if (onPopupVisibleChange) {\n        onPopupVisibleChange(popupVisible);\n      }\n    };\n\n    _this.handleInputBlur = function () {\n      _this.setState({\n        inputFocused: false\n      });\n    };\n\n    _this.handleInputClick = function (e) {\n      var _this$state = _this.state,\n          inputFocused = _this$state.inputFocused,\n          popupVisible = _this$state.popupVisible; // Prevent `Trigger` behaviour.\n\n      if (inputFocused || popupVisible) {\n        e.stopPropagation();\n      }\n    };\n\n    _this.handleKeyDown = function (e) {\n      // SPACE => https://github.com/ant-design/ant-design/issues/16871\n      if (e.keyCode === KeyCode.BACKSPACE || e.keyCode === KeyCode.SPACE) {\n        e.stopPropagation();\n      }\n    };\n\n    _this.handleInputChange = function (e) {\n      var popupVisible = _this.state.popupVisible;\n      var inputValue = e.target.value;\n\n      if (!popupVisible) {\n        _this.handlePopupVisibleChange(true);\n      }\n\n      _this.setState({\n        inputValue: inputValue\n      });\n    };\n\n    _this.clearSelection = function (e) {\n      var inputValue = _this.state.inputValue;\n      e.preventDefault();\n      e.stopPropagation();\n\n      if (!inputValue) {\n        _this.handlePopupVisibleChange(false);\n\n        _this.clearSelectionTimeout = setTimeout(function () {\n          _this.setValue([]);\n        }, 200);\n      } else {\n        _this.setState({\n          inputValue: ''\n        });\n      }\n    };\n\n    _this.renderCascader = function (_ref3, locale) {\n      var getContextPopupContainer = _ref3.getPopupContainer,\n          getPrefixCls = _ref3.getPrefixCls,\n          renderEmpty = _ref3.renderEmpty,\n          direction = _ref3.direction;\n      return /*#__PURE__*/React.createElement(SizeContext.Consumer, null, function (size) {\n        var _classNames, _classNames2, _classNames3, _classNames5;\n\n        var _assertThisInitialize = _assertThisInitialized(_this),\n            props = _assertThisInitialize.props,\n            state = _assertThisInitialize.state;\n\n        var customizePrefixCls = props.prefixCls,\n            customizeInputPrefixCls = props.inputPrefixCls,\n            children = props.children,\n            _props$placeholder = props.placeholder,\n            placeholder = _props$placeholder === void 0 ? locale.placeholder || 'Please select' : _props$placeholder,\n            customizeSize = props.size,\n            disabled = props.disabled,\n            className = props.className,\n            style = props.style,\n            allowClear = props.allowClear,\n            _props$showSearch = props.showSearch,\n            showSearch = _props$showSearch === void 0 ? false : _props$showSearch,\n            suffixIcon = props.suffixIcon,\n            expandIcon = props.expandIcon,\n            notFoundContent = props.notFoundContent,\n            popupClassName = props.popupClassName,\n            bordered = props.bordered,\n            dropdownRender = props.dropdownRender,\n            otherProps = __rest(props, [\"prefixCls\", \"inputPrefixCls\", \"children\", \"placeholder\", \"size\", \"disabled\", \"className\", \"style\", \"allowClear\", \"showSearch\", \"suffixIcon\", \"expandIcon\", \"notFoundContent\", \"popupClassName\", \"bordered\", \"dropdownRender\"]);\n\n        var mergedSize = customizeSize || size;\n        var value = state.value,\n            inputFocused = state.inputFocused;\n        var isRtlLayout = direction === 'rtl';\n        var prefixCls = getPrefixCls('cascader', customizePrefixCls);\n        var inputPrefixCls = getPrefixCls('input', customizeInputPrefixCls);\n        var sizeCls = classNames((_classNames = {}, _defineProperty(_classNames, \"\".concat(inputPrefixCls, \"-lg\"), mergedSize === 'large'), _defineProperty(_classNames, \"\".concat(inputPrefixCls, \"-sm\"), mergedSize === 'small'), _classNames));\n        var clearIcon = allowClear && !disabled && value.length > 0 || state.inputValue ? /*#__PURE__*/React.createElement(CloseCircleFilled, {\n          className: \"\".concat(prefixCls, \"-picker-clear\"),\n          onClick: _this.clearSelection\n        }) : null;\n        var arrowCls = classNames((_classNames2 = {}, _defineProperty(_classNames2, \"\".concat(prefixCls, \"-picker-arrow\"), true), _defineProperty(_classNames2, \"\".concat(prefixCls, \"-picker-arrow-expand\"), state.popupVisible), _classNames2));\n        var pickerCls = classNames(\"\".concat(prefixCls, \"-picker\"), (_classNames3 = {}, _defineProperty(_classNames3, \"\".concat(prefixCls, \"-picker-rtl\"), isRtlLayout), _defineProperty(_classNames3, \"\".concat(prefixCls, \"-picker-with-value\"), state.inputValue), _defineProperty(_classNames3, \"\".concat(prefixCls, \"-picker-disabled\"), disabled), _defineProperty(_classNames3, \"\".concat(prefixCls, \"-picker-\").concat(mergedSize), !!mergedSize), _defineProperty(_classNames3, \"\".concat(prefixCls, \"-picker-show-search\"), !!showSearch), _defineProperty(_classNames3, \"\".concat(prefixCls, \"-picker-focused\"), inputFocused), _defineProperty(_classNames3, \"\".concat(prefixCls, \"-picker-borderless\"), !bordered), _classNames3), className); // Fix bug of https://github.com/facebook/react/pull/5004\n        // and https://fb.me/react-unknown-prop\n\n        var inputProps = omit(otherProps, ['onChange', 'options', 'popupPlacement', 'transitionName', 'displayRender', 'onPopupVisibleChange', 'changeOnSelect', 'expandTrigger', 'popupVisible', 'getPopupContainer', 'loadData', 'popupClassName', 'filterOption', 'renderFilteredOption', 'sortFilteredOption', 'notFoundContent', 'fieldNames', 'bordered']);\n        var options = props.options;\n        var names = getFilledFieldNames(_this.props);\n\n        if (options && options.length > 0) {\n          if (state.inputValue) {\n            options = _this.generateFilteredOptions(prefixCls, renderEmpty);\n          }\n        } else {\n          options = [getEmptyNode(renderEmpty, names, notFoundContent)];\n        } // Dropdown menu should keep previous status until it is fully closed.\n\n\n        if (!state.popupVisible) {\n          options = _this.cachedOptions;\n        } else {\n          _this.cachedOptions = options;\n        }\n\n        var dropdownMenuColumnStyle = {};\n        var isNotFound = (options || []).length === 1 && options[0].isEmptyNode;\n\n        if (isNotFound) {\n          dropdownMenuColumnStyle.height = 'auto'; // Height of one row.\n        } // The default value of `matchInputWidth` is `true`\n\n\n        var resultListMatchInputWidth = showSearch.matchInputWidth !== false;\n\n        if (resultListMatchInputWidth && (state.inputValue || isNotFound) && _this.input) {\n          dropdownMenuColumnStyle.width = _this.input.input.offsetWidth;\n        }\n\n        var inputIcon;\n\n        if (suffixIcon) {\n          inputIcon = replaceElement(suffixIcon, /*#__PURE__*/React.createElement(\"span\", {\n            className: \"\".concat(prefixCls, \"-picker-arrow\")\n          }, suffixIcon), function () {\n            var _classNames4;\n\n            return {\n              className: classNames((_classNames4 = {}, _defineProperty(_classNames4, suffixIcon.props.className, suffixIcon.props.className), _defineProperty(_classNames4, \"\".concat(prefixCls, \"-picker-arrow\"), true), _classNames4))\n            };\n          });\n        } else {\n          inputIcon = /*#__PURE__*/React.createElement(DownOutlined, {\n            className: arrowCls\n          });\n        }\n\n        var input = children || /*#__PURE__*/React.createElement(\"span\", {\n          style: style,\n          className: pickerCls\n        }, /*#__PURE__*/React.createElement(\"span\", {\n          className: \"\".concat(prefixCls, \"-picker-label\")\n        }, _this.getLabel()), /*#__PURE__*/React.createElement(Input, _extends({}, inputProps, {\n          tabIndex: \"-1\",\n          ref: _this.saveInput,\n          prefixCls: inputPrefixCls,\n          placeholder: value && value.length > 0 ? undefined : placeholder,\n          className: \"\".concat(prefixCls, \"-input \").concat(sizeCls),\n          value: state.inputValue,\n          disabled: disabled,\n          readOnly: !showSearch,\n          autoComplete: inputProps.autoComplete || 'off',\n          onClick: showSearch ? _this.handleInputClick : undefined,\n          onBlur: showSearch ? _this.handleInputBlur : undefined,\n          onKeyDown: _this.handleKeyDown,\n          onChange: showSearch ? _this.handleInputChange : undefined\n        })), clearIcon, inputIcon);\n        var expandIconNode;\n\n        if (expandIcon) {\n          expandIconNode = expandIcon;\n        } else {\n          expandIconNode = isRtlLayout ? /*#__PURE__*/React.createElement(LeftOutlined, null) : /*#__PURE__*/React.createElement(RightOutlined, null);\n        }\n\n        var loadingIcon = /*#__PURE__*/React.createElement(\"span\", {\n          className: \"\".concat(prefixCls, \"-menu-item-loading-icon\")\n        }, /*#__PURE__*/React.createElement(RedoOutlined, {\n          spin: true\n        }));\n        var getPopupContainer = props.getPopupContainer || getContextPopupContainer;\n        var rest = omit(props, ['inputIcon', 'expandIcon', 'loadingIcon', 'bordered', 'className']);\n        var rcCascaderPopupClassName = classNames(popupClassName, (_classNames5 = {}, _defineProperty(_classNames5, \"\".concat(prefixCls, \"-menu-\").concat(direction), direction === 'rtl'), _defineProperty(_classNames5, \"\".concat(prefixCls, \"-menu-empty\"), options.length === 1 && options[0].value === 'ANT_CASCADER_NOT_FOUND'), _classNames5));\n        return /*#__PURE__*/React.createElement(RcCascader, _extends({}, rest, {\n          prefixCls: prefixCls,\n          getPopupContainer: getPopupContainer,\n          options: options,\n          value: value,\n          popupVisible: state.popupVisible,\n          onPopupVisibleChange: _this.handlePopupVisibleChange,\n          onChange: _this.handleChange,\n          dropdownMenuColumnStyle: dropdownMenuColumnStyle,\n          expandIcon: expandIconNode,\n          loadingIcon: loadingIcon,\n          popupClassName: rcCascaderPopupClassName,\n          popupPlacement: _this.getPopupPlacement(direction),\n          dropdownRender: dropdownRender\n        }), input);\n      });\n    };\n\n    _this.state = {\n      value: props.value || props.defaultValue || [],\n      inputValue: '',\n      inputFocused: false,\n      popupVisible: props.popupVisible,\n      flattenOptions: props.showSearch ? flattenTree(props.options, props) : undefined,\n      prevProps: props\n    };\n    return _this;\n  }\n\n  _createClass(Cascader, [{\n    key: \"componentWillUnmount\",\n    value: function componentWillUnmount() {\n      if (this.clearSelectionTimeout) {\n        clearTimeout(this.clearSelectionTimeout);\n      }\n    }\n  }, {\n    key: \"getLabel\",\n    value: function getLabel() {\n      var _this$props = this.props,\n          options = _this$props.options,\n          _this$props$displayRe = _this$props.displayRender,\n          displayRender = _this$props$displayRe === void 0 ? defaultDisplayRender : _this$props$displayRe;\n      var names = getFilledFieldNames(this.props);\n      var value = this.state.value;\n      var unwrappedValue = Array.isArray(value[0]) ? value[0] : value;\n      var selectedOptions = arrayTreeFilter(options, function (o, level) {\n        return o[names.value] === unwrappedValue[level];\n      }, {\n        childrenKeyName: names.children\n      });\n      var label = selectedOptions.length ? selectedOptions.map(function (o) {\n        return o[names.label];\n      }) : value;\n      return displayRender(label, selectedOptions);\n    }\n  }, {\n    key: \"generateFilteredOptions\",\n    value: function generateFilteredOptions(prefixCls, renderEmpty) {\n      var _this2 = this;\n\n      var _this$props2 = this.props,\n          showSearch = _this$props2.showSearch,\n          notFoundContent = _this$props2.notFoundContent;\n      var names = getFilledFieldNames(this.props);\n      var _showSearch$filter = showSearch.filter,\n          filter = _showSearch$filter === void 0 ? defaultFilterOption : _showSearch$filter,\n          _showSearch$render = showSearch.render,\n          render = _showSearch$render === void 0 ? defaultRenderFilteredOption : _showSearch$render,\n          _showSearch$sort = showSearch.sort,\n          sort = _showSearch$sort === void 0 ? defaultSortFilteredOption : _showSearch$sort,\n          _showSearch$limit = showSearch.limit,\n          limit = _showSearch$limit === void 0 ? defaultLimit : _showSearch$limit;\n      var _this$state2 = this.state,\n          _this$state2$flattenO = _this$state2.flattenOptions,\n          flattenOptions = _this$state2$flattenO === void 0 ? [] : _this$state2$flattenO,\n          inputValue = _this$state2.inputValue; // Limit the filter if needed\n\n      var filtered;\n\n      if (limit > 0) {\n        filtered = [];\n        var matchCount = 0; // Perf optimization to filter items only below the limit\n\n        flattenOptions.some(function (path) {\n          var match = filter(_this2.state.inputValue, path, names);\n\n          if (match) {\n            filtered.push(path);\n            matchCount += 1;\n          }\n\n          return matchCount >= limit;\n        });\n      } else {\n        devWarning(typeof limit !== 'number', 'Cascader', \"'limit' of showSearch should be positive number or false.\");\n        filtered = flattenOptions.filter(function (path) {\n          return filter(_this2.state.inputValue, path, names);\n        });\n      }\n\n      filtered = filtered.sort(function (a, b) {\n        return sort(a, b, inputValue, names);\n      });\n\n      if (filtered.length > 0) {\n        // Fix issue: https://github.com/ant-design/ant-design/issues/26554\n        var field = names.value === names.label ? keepFilteredValueField : names.value;\n        return filtered.map(function (path) {\n          var _ref4;\n\n          return _ref4 = {\n            __IS_FILTERED_OPTION: true,\n            path: path\n          }, _defineProperty(_ref4, field, path.map(function (o) {\n            return o[names.value];\n          })), _defineProperty(_ref4, names.label, render(inputValue, path, prefixCls, names)), _defineProperty(_ref4, \"disabled\", path.some(function (o) {\n            return !!o.disabled;\n          })), _defineProperty(_ref4, \"isEmptyNode\", true), _ref4;\n        });\n      }\n\n      return [getEmptyNode(renderEmpty, names, notFoundContent)];\n    }\n  }, {\n    key: \"focus\",\n    value: function focus() {\n      this.input.focus();\n    }\n  }, {\n    key: \"blur\",\n    value: function blur() {\n      this.input.blur();\n    }\n  }, {\n    key: \"getPopupPlacement\",\n    value: function getPopupPlacement() {\n      var direction = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'ltr';\n      var popupPlacement = this.props.popupPlacement;\n\n      if (popupPlacement !== undefined) {\n        return popupPlacement;\n      }\n\n      return direction === 'rtl' ? 'bottomRight' : 'bottomLeft';\n    }\n  }, {\n    key: \"render\",\n    value: function render() {\n      var _this3 = this;\n\n      return /*#__PURE__*/React.createElement(ConfigConsumer, null, function (configArgument) {\n        return /*#__PURE__*/React.createElement(LocaleReceiver, null, function (locale) {\n          return _this3.renderCascader(configArgument, locale);\n        });\n      });\n    }\n  }], [{\n    key: \"getDerivedStateFromProps\",\n    value: function getDerivedStateFromProps(nextProps, _ref5) {\n      var prevProps = _ref5.prevProps;\n      var newState = {\n        prevProps: nextProps\n      };\n\n      if ('value' in nextProps) {\n        newState.value = nextProps.value || [];\n      }\n\n      if ('popupVisible' in nextProps) {\n        newState.popupVisible = nextProps.popupVisible;\n      }\n\n      if (nextProps.showSearch && prevProps.options !== nextProps.options) {\n        newState.flattenOptions = flattenTree(nextProps.options, nextProps);\n      }\n\n      if (process.env.NODE_ENV !== 'production' && nextProps.options) {\n        warningValueNotExist(nextProps.options, getFieldNames(nextProps));\n      }\n\n      return newState;\n    }\n  }]);\n\n  return Cascader;\n}(React.Component);\n\nCascader.defaultProps = {\n  transitionName: 'slide-up',\n  options: [],\n  disabled: false,\n  allowClear: true,\n  bordered: true\n};\nexport default Cascader;","map":{"version":3,"sources":["C:/Users/kkwan_000/Desktop/git/2017110269/minsung/node_modules/antd/es/cascader/index.js"],"names":["_extends","_classCallCheck","_createClass","_assertThisInitialized","_inherits","_createSuper","_defineProperty","__rest","s","e","t","p","Object","prototype","hasOwnProperty","call","indexOf","getOwnPropertySymbols","i","length","propertyIsEnumerable","React","RcCascader","arrayTreeFilter","classNames","omit","KeyCode","CloseCircleFilled","DownOutlined","RightOutlined","RedoOutlined","LeftOutlined","Input","ConfigConsumer","LocaleReceiver","devWarning","SizeContext","replaceElement","defaultLimit","keepFilteredValueField","highlightKeyword","str","keyword","prefixCls","split","map","node","index","createElement","className","concat","key","defaultFilterOption","inputValue","path","names","some","option","label","defaultRenderFilteredOption","defaultSortFilteredOption","a","b","callback","elem","findIndex","getFieldNames","_ref","fieldNames","getFilledFieldNames","props","children","value","flattenTree","options","ancestor","arguments","undefined","flattenOptions","childrenName","forEach","changeOnSelect","push","defaultDisplayRender","join","warningValueNotExist","list","item","valueFieldName","getEmptyNode","renderEmpty","notFoundContent","_ref2","Cascader","_React$Component","_super","_this","cachedOptions","setValue","selectedOptions","setState","onChange","saveInput","input","handleChange","__IS_FILTERED_OPTION","unwrappedValue","unwrappedSelectedOptions","handlePopupVisibleChange","popupVisible","state","inputFocused","onPopupVisibleChange","handleInputBlur","handleInputClick","_this$state","stopPropagation","handleKeyDown","keyCode","BACKSPACE","SPACE","handleInputChange","target","clearSelection","preventDefault","clearSelectionTimeout","setTimeout","renderCascader","_ref3","locale","getContextPopupContainer","getPopupContainer","getPrefixCls","direction","Consumer","size","_classNames","_classNames2","_classNames3","_classNames5","_assertThisInitialize","customizePrefixCls","customizeInputPrefixCls","inputPrefixCls","_props$placeholder","placeholder","customizeSize","disabled","style","allowClear","_props$showSearch","showSearch","suffixIcon","expandIcon","popupClassName","bordered","dropdownRender","otherProps","mergedSize","isRtlLayout","sizeCls","clearIcon","onClick","arrowCls","pickerCls","inputProps","generateFilteredOptions","dropdownMenuColumnStyle","isNotFound","isEmptyNode","height","resultListMatchInputWidth","matchInputWidth","width","offsetWidth","inputIcon","_classNames4","getLabel","tabIndex","ref","readOnly","autoComplete","onBlur","onKeyDown","expandIconNode","loadingIcon","spin","rest","rcCascaderPopupClassName","popupPlacement","getPopupPlacement","defaultValue","prevProps","componentWillUnmount","clearTimeout","_this$props","_this$props$displayRe","displayRender","Array","isArray","o","level","childrenKeyName","_this2","_this$props2","_showSearch$filter","filter","_showSearch$render","render","_showSearch$sort","sort","_showSearch$limit","limit","_this$state2","_this$state2$flattenO","filtered","matchCount","match","field","_ref4","focus","blur","_this3","configArgument","getDerivedStateFromProps","nextProps","_ref5","newState","process","env","NODE_ENV","Component","defaultProps","transitionName"],"mappings":"AAAA,OAAOA,QAAP,MAAqB,gCAArB;AACA,OAAOC,eAAP,MAA4B,uCAA5B;AACA,OAAOC,YAAP,MAAyB,oCAAzB;AACA,OAAOC,sBAAP,MAAmC,8CAAnC;AACA,OAAOC,SAAP,MAAsB,iCAAtB;AACA,OAAOC,YAAP,MAAyB,oCAAzB;AACA,OAAOC,eAAP,MAA4B,uCAA5B;;AAEA,IAAIC,MAAM,GAAG,QAAQ,KAAKA,MAAb,IAAuB,UAAUC,CAAV,EAAaC,CAAb,EAAgB;AAClD,MAAIC,CAAC,GAAG,EAAR;;AAEA,OAAK,IAAIC,CAAT,IAAcH,CAAd,EAAiB;AACf,QAAII,MAAM,CAACC,SAAP,CAAiBC,cAAjB,CAAgCC,IAAhC,CAAqCP,CAArC,EAAwCG,CAAxC,KAA8CF,CAAC,CAACO,OAAF,CAAUL,CAAV,IAAe,CAAjE,EAAoED,CAAC,CAACC,CAAD,CAAD,GAAOH,CAAC,CAACG,CAAD,CAAR;AACrE;;AAED,MAAIH,CAAC,IAAI,IAAL,IAAa,OAAOI,MAAM,CAACK,qBAAd,KAAwC,UAAzD,EAAqE,KAAK,IAAIC,CAAC,GAAG,CAAR,EAAWP,CAAC,GAAGC,MAAM,CAACK,qBAAP,CAA6BT,CAA7B,CAApB,EAAqDU,CAAC,GAAGP,CAAC,CAACQ,MAA3D,EAAmED,CAAC,EAApE,EAAwE;AAC3I,QAAIT,CAAC,CAACO,OAAF,CAAUL,CAAC,CAACO,CAAD,CAAX,IAAkB,CAAlB,IAAuBN,MAAM,CAACC,SAAP,CAAiBO,oBAAjB,CAAsCL,IAAtC,CAA2CP,CAA3C,EAA8CG,CAAC,CAACO,CAAD,CAA/C,CAA3B,EAAgFR,CAAC,CAACC,CAAC,CAACO,CAAD,CAAF,CAAD,GAAUV,CAAC,CAACG,CAAC,CAACO,CAAD,CAAF,CAAX;AACjF;AACD,SAAOR,CAAP;AACD,CAXD;;AAaA,OAAO,KAAKW,KAAZ,MAAuB,OAAvB;AACA,OAAOC,UAAP,MAAuB,aAAvB;AACA,OAAOC,eAAP,MAA4B,mBAA5B;AACA,OAAOC,UAAP,MAAuB,YAAvB;AACA,OAAOC,IAAP,MAAiB,SAAjB;AACA,OAAOC,OAAP,MAAoB,oBAApB;AACA,OAAOC,iBAAP,MAA8B,qCAA9B;AACA,OAAOC,YAAP,MAAyB,gCAAzB;AACA,OAAOC,aAAP,MAA0B,iCAA1B;AACA,OAAOC,YAAP,MAAyB,gCAAzB;AACA,OAAOC,YAAP,MAAyB,gCAAzB;AACA,OAAOC,KAAP,MAAkB,UAAlB;AACA,SAASC,cAAT,QAA+B,oBAA/B;AACA,OAAOC,cAAP,MAA2B,mCAA3B;AACA,OAAOC,UAAP,MAAuB,qBAAvB;AACA,OAAOC,WAAP,MAAwB,gCAAxB;AACA,SAASC,cAAT,QAA+B,oBAA/B,C,CAAqD;;AAErD,IAAIC,YAAY,GAAG,EAAnB,C,CAAuB;;AAEvB,IAAIC,sBAAsB,GAAG,8BAA7B;;AAEA,SAASC,gBAAT,CAA0BC,GAA1B,EAA+BC,OAA/B,EAAwCC,SAAxC,EAAmD;AACjD,SAAOF,GAAG,CAACG,KAAJ,CAAUF,OAAV,EAAmBG,GAAnB,CAAuB,UAAUC,IAAV,EAAgBC,KAAhB,EAAuB;AACnD,WAAOA,KAAK,KAAK,CAAV,GAAcD,IAAd,GAAqB,CAAC,aAAazB,KAAK,CAAC2B,aAAN,CAAoB,MAApB,EAA4B;AACpEC,MAAAA,SAAS,EAAE,GAAGC,MAAH,CAAUP,SAAV,EAAqB,oBAArB,CADyD;AAEpEQ,MAAAA,GAAG,EAAE;AAF+D,KAA5B,EAGvCT,OAHuC,CAAd,EAGfI,IAHe,CAA5B;AAID,GALM,CAAP;AAMD;;AAED,SAASM,mBAAT,CAA6BC,UAA7B,EAAyCC,IAAzC,EAA+CC,KAA/C,EAAsD;AACpD,SAAOD,IAAI,CAACE,IAAL,CAAU,UAAUC,MAAV,EAAkB;AACjC,WAAOA,MAAM,CAACF,KAAK,CAACG,KAAP,CAAN,CAAoB1C,OAApB,CAA4BqC,UAA5B,IAA0C,CAAC,CAAlD;AACD,GAFM,CAAP;AAGD;;AAED,SAASM,2BAAT,CAAqCN,UAArC,EAAiDC,IAAjD,EAAuDX,SAAvD,EAAkEY,KAAlE,EAAyE;AACvE,SAAOD,IAAI,CAACT,GAAL,CAAS,UAAUY,MAAV,EAAkBV,KAAlB,EAAyB;AACvC,QAAIW,KAAK,GAAGD,MAAM,CAACF,KAAK,CAACG,KAAP,CAAlB;AACA,QAAIZ,IAAI,GAAGY,KAAK,CAAC1C,OAAN,CAAcqC,UAAd,IAA4B,CAAC,CAA7B,GAAiCb,gBAAgB,CAACkB,KAAD,EAAQL,UAAR,EAAoBV,SAApB,CAAjD,GAAkFe,KAA7F;AACA,WAAOX,KAAK,KAAK,CAAV,GAAcD,IAAd,GAAqB,CAAC,KAAD,EAAQA,IAAR,CAA5B;AACD,GAJM,CAAP;AAKD;;AAED,SAASc,yBAAT,CAAmCC,CAAnC,EAAsCC,CAAtC,EAAyCT,UAAzC,EAAqDE,KAArD,EAA4D;AAC1D,WAASQ,QAAT,CAAkBC,IAAlB,EAAwB;AACtB,WAAOA,IAAI,CAACT,KAAK,CAACG,KAAP,CAAJ,CAAkB1C,OAAlB,CAA0BqC,UAA1B,IAAwC,CAAC,CAAhD;AACD;;AAED,SAAOQ,CAAC,CAACI,SAAF,CAAYF,QAAZ,IAAwBD,CAAC,CAACG,SAAF,CAAYF,QAAZ,CAA/B;AACD;;AAED,SAASG,aAAT,CAAuBC,IAAvB,EAA6B;AAC3B,MAAIC,UAAU,GAAGD,IAAI,CAACC,UAAtB;AACA,SAAOA,UAAP;AACD;;AAED,SAASC,mBAAT,CAA6BC,KAA7B,EAAoC;AAClC,MAAIF,UAAU,GAAGF,aAAa,CAACI,KAAD,CAAb,IAAwB,EAAzC;AACA,MAAIf,KAAK,GAAG;AACVgB,IAAAA,QAAQ,EAAEH,UAAU,CAACG,QAAX,IAAuB,UADvB;AAEVb,IAAAA,KAAK,EAAEU,UAAU,CAACV,KAAX,IAAoB,OAFjB;AAGVc,IAAAA,KAAK,EAAEJ,UAAU,CAACI,KAAX,IAAoB;AAHjB,GAAZ;AAKA,SAAOjB,KAAP;AACD;;AAED,SAASkB,WAAT,CAAqBC,OAArB,EAA8BJ,KAA9B,EAAqC;AACnC,MAAIK,QAAQ,GAAGC,SAAS,CAACzD,MAAV,GAAmB,CAAnB,IAAwByD,SAAS,CAAC,CAAD,CAAT,KAAiBC,SAAzC,GAAqDD,SAAS,CAAC,CAAD,CAA9D,GAAoE,EAAnF;AACA,MAAIrB,KAAK,GAAGc,mBAAmB,CAACC,KAAD,CAA/B;AACA,MAAIQ,cAAc,GAAG,EAArB;AACA,MAAIC,YAAY,GAAGxB,KAAK,CAACgB,QAAzB;AACAG,EAAAA,OAAO,CAACM,OAAR,CAAgB,UAAUvB,MAAV,EAAkB;AAChC,QAAIH,IAAI,GAAGqB,QAAQ,CAACzB,MAAT,CAAgBO,MAAhB,CAAX;;AAEA,QAAIa,KAAK,CAACW,cAAN,IAAwB,CAACxB,MAAM,CAACsB,YAAD,CAA/B,IAAiD,CAACtB,MAAM,CAACsB,YAAD,CAAN,CAAqB5D,MAA3E,EAAmF;AACjF2D,MAAAA,cAAc,CAACI,IAAf,CAAoB5B,IAApB;AACD;;AAED,QAAIG,MAAM,CAACsB,YAAD,CAAV,EAA0B;AACxBD,MAAAA,cAAc,GAAGA,cAAc,CAAC5B,MAAf,CAAsBuB,WAAW,CAAChB,MAAM,CAACsB,YAAD,CAAP,EAAuBT,KAAvB,EAA8BhB,IAA9B,CAAjC,CAAjB;AACD;AACF,GAVD;AAWA,SAAOwB,cAAP;AACD;;AAED,IAAIK,oBAAoB,GAAG,SAASA,oBAAT,CAA8BzB,KAA9B,EAAqC;AAC9D,SAAOA,KAAK,CAAC0B,IAAN,CAAW,KAAX,CAAP;AACD,CAFD;;AAIA,SAASC,oBAAT,CAA8BC,IAA9B,EAAoC;AAClC,MAAIlB,UAAU,GAAGQ,SAAS,CAACzD,MAAV,GAAmB,CAAnB,IAAwByD,SAAS,CAAC,CAAD,CAAT,KAAiBC,SAAzC,GAAqDD,SAAS,CAAC,CAAD,CAA9D,GAAoE,EAArF;AACA,GAACU,IAAI,IAAI,EAAT,EAAaN,OAAb,CAAqB,UAAUO,IAAV,EAAgB;AACnC,QAAIC,cAAc,GAAGpB,UAAU,CAACI,KAAX,IAAoB,OAAzC;AACArC,IAAAA,UAAU,CAACqD,cAAc,IAAID,IAAnB,EAAyB,UAAzB,EAAqC,iCAArC,CAAV;AACAF,IAAAA,oBAAoB,CAACE,IAAI,CAACnB,UAAU,CAACG,QAAX,IAAuB,UAAxB,CAAL,EAA0CH,UAA1C,CAApB;AACD,GAJD;AAKD;;AAED,SAASqB,YAAT,CAAsBC,WAAtB,EAAmCnC,KAAnC,EAA0CoC,eAA1C,EAA2D;AACzD,MAAIC,KAAJ;;AAEA,SAAOA,KAAK,GAAG,EAAR,EAAYtF,eAAe,CAACsF,KAAD,EAAQrC,KAAK,CAACiB,KAAd,EAAqB,wBAArB,CAA3B,EAA2ElE,eAAe,CAACsF,KAAD,EAAQrC,KAAK,CAACG,KAAd,EAAqBiC,eAAe,IAAID,WAAW,CAAC,UAAD,CAAnD,CAA1F,EAA4JpF,eAAe,CAACsF,KAAD,EAAQ,UAAR,EAAoB,IAApB,CAA3K,EAAsMtF,eAAe,CAACsF,KAAD,EAAQ,aAAR,EAAuB,IAAvB,CAArN,EAAmPA,KAA1P;AACD;;AAED,IAAIC,QAAQ,GAAG,aAAa,UAAUC,gBAAV,EAA4B;AACtD1F,EAAAA,SAAS,CAACyF,QAAD,EAAWC,gBAAX,CAAT;;AAEA,MAAIC,MAAM,GAAG1F,YAAY,CAACwF,QAAD,CAAzB;;AAEA,WAASA,QAAT,CAAkBvB,KAAlB,EAAyB;AACvB,QAAI0B,KAAJ;;AAEA/F,IAAAA,eAAe,CAAC,IAAD,EAAO4F,QAAP,CAAf;;AAEAG,IAAAA,KAAK,GAAGD,MAAM,CAAChF,IAAP,CAAY,IAAZ,EAAkBuD,KAAlB,CAAR;AACA0B,IAAAA,KAAK,CAACC,aAAN,GAAsB,EAAtB;;AAEAD,IAAAA,KAAK,CAACE,QAAN,GAAiB,UAAU1B,KAAV,EAAiB;AAChC,UAAI2B,eAAe,GAAGvB,SAAS,CAACzD,MAAV,GAAmB,CAAnB,IAAwByD,SAAS,CAAC,CAAD,CAAT,KAAiBC,SAAzC,GAAqDD,SAAS,CAAC,CAAD,CAA9D,GAAoE,EAA1F;;AAEA,UAAI,EAAE,WAAWoB,KAAK,CAAC1B,KAAnB,CAAJ,EAA+B;AAC7B0B,QAAAA,KAAK,CAACI,QAAN,CAAe;AACb5B,UAAAA,KAAK,EAAEA;AADM,SAAf;AAGD;;AAED,UAAI6B,QAAQ,GAAGL,KAAK,CAAC1B,KAAN,CAAY+B,QAA3B;;AAEA,UAAIA,QAAJ,EAAc;AACZA,QAAAA,QAAQ,CAAC7B,KAAD,EAAQ2B,eAAR,CAAR;AACD;AACF,KAdD;;AAgBAH,IAAAA,KAAK,CAACM,SAAN,GAAkB,UAAUxD,IAAV,EAAgB;AAChCkD,MAAAA,KAAK,CAACO,KAAN,GAAczD,IAAd;AACD,KAFD;;AAIAkD,IAAAA,KAAK,CAACQ,YAAN,GAAqB,UAAUhC,KAAV,EAAiB2B,eAAjB,EAAkC;AACrDH,MAAAA,KAAK,CAACI,QAAN,CAAe;AACb/C,QAAAA,UAAU,EAAE;AADC,OAAf;;AAIA,UAAI8C,eAAe,CAAC,CAAD,CAAf,CAAmBM,oBAAvB,EAA6C;AAC3C,YAAIC,cAAc,GAAGP,eAAe,CAAC,CAAD,CAAf,CAAmB5D,sBAAnB,MAA+CsC,SAA/C,GAA2DL,KAAK,CAAC,CAAD,CAAhE,GAAsE2B,eAAe,CAAC,CAAD,CAAf,CAAmB5D,sBAAnB,CAA3F;AACA,YAAIoE,wBAAwB,GAAGR,eAAe,CAAC,CAAD,CAAf,CAAmB7C,IAAlD;;AAEA0C,QAAAA,KAAK,CAACE,QAAN,CAAeQ,cAAf,EAA+BC,wBAA/B;;AAEA;AACD;;AAEDX,MAAAA,KAAK,CAACE,QAAN,CAAe1B,KAAf,EAAsB2B,eAAtB;AACD,KAfD;;AAiBAH,IAAAA,KAAK,CAACY,wBAAN,GAAiC,UAAUC,YAAV,EAAwB;AACvD,UAAI,EAAE,kBAAkBb,KAAK,CAAC1B,KAA1B,CAAJ,EAAsC;AACpC0B,QAAAA,KAAK,CAACI,QAAN,CAAe,UAAUU,KAAV,EAAiB;AAC9B,iBAAO;AACLD,YAAAA,YAAY,EAAEA,YADT;AAELE,YAAAA,YAAY,EAAEF,YAFT;AAGLxD,YAAAA,UAAU,EAAEwD,YAAY,GAAGC,KAAK,CAACzD,UAAT,GAAsB;AAHzC,WAAP;AAKD,SAND;AAOD;;AAED,UAAI2D,oBAAoB,GAAGhB,KAAK,CAAC1B,KAAN,CAAY0C,oBAAvC;;AAEA,UAAIA,oBAAJ,EAA0B;AACxBA,QAAAA,oBAAoB,CAACH,YAAD,CAApB;AACD;AACF,KAhBD;;AAkBAb,IAAAA,KAAK,CAACiB,eAAN,GAAwB,YAAY;AAClCjB,MAAAA,KAAK,CAACI,QAAN,CAAe;AACbW,QAAAA,YAAY,EAAE;AADD,OAAf;AAGD,KAJD;;AAMAf,IAAAA,KAAK,CAACkB,gBAAN,GAAyB,UAAUzG,CAAV,EAAa;AACpC,UAAI0G,WAAW,GAAGnB,KAAK,CAACc,KAAxB;AAAA,UACIC,YAAY,GAAGI,WAAW,CAACJ,YAD/B;AAAA,UAEIF,YAAY,GAAGM,WAAW,CAACN,YAF/B,CADoC,CAGS;;AAE7C,UAAIE,YAAY,IAAIF,YAApB,EAAkC;AAChCpG,QAAAA,CAAC,CAAC2G,eAAF;AACD;AACF,KARD;;AAUApB,IAAAA,KAAK,CAACqB,aAAN,GAAsB,UAAU5G,CAAV,EAAa;AACjC;AACA,UAAIA,CAAC,CAAC6G,OAAF,KAAc5F,OAAO,CAAC6F,SAAtB,IAAmC9G,CAAC,CAAC6G,OAAF,KAAc5F,OAAO,CAAC8F,KAA7D,EAAoE;AAClE/G,QAAAA,CAAC,CAAC2G,eAAF;AACD;AACF,KALD;;AAOApB,IAAAA,KAAK,CAACyB,iBAAN,GAA0B,UAAUhH,CAAV,EAAa;AACrC,UAAIoG,YAAY,GAAGb,KAAK,CAACc,KAAN,CAAYD,YAA/B;AACA,UAAIxD,UAAU,GAAG5C,CAAC,CAACiH,MAAF,CAASlD,KAA1B;;AAEA,UAAI,CAACqC,YAAL,EAAmB;AACjBb,QAAAA,KAAK,CAACY,wBAAN,CAA+B,IAA/B;AACD;;AAEDZ,MAAAA,KAAK,CAACI,QAAN,CAAe;AACb/C,QAAAA,UAAU,EAAEA;AADC,OAAf;AAGD,KAXD;;AAaA2C,IAAAA,KAAK,CAAC2B,cAAN,GAAuB,UAAUlH,CAAV,EAAa;AAClC,UAAI4C,UAAU,GAAG2C,KAAK,CAACc,KAAN,CAAYzD,UAA7B;AACA5C,MAAAA,CAAC,CAACmH,cAAF;AACAnH,MAAAA,CAAC,CAAC2G,eAAF;;AAEA,UAAI,CAAC/D,UAAL,EAAiB;AACf2C,QAAAA,KAAK,CAACY,wBAAN,CAA+B,KAA/B;;AAEAZ,QAAAA,KAAK,CAAC6B,qBAAN,GAA8BC,UAAU,CAAC,YAAY;AACnD9B,UAAAA,KAAK,CAACE,QAAN,CAAe,EAAf;AACD,SAFuC,EAErC,GAFqC,CAAxC;AAGD,OAND,MAMO;AACLF,QAAAA,KAAK,CAACI,QAAN,CAAe;AACb/C,UAAAA,UAAU,EAAE;AADC,SAAf;AAGD;AACF,KAhBD;;AAkBA2C,IAAAA,KAAK,CAAC+B,cAAN,GAAuB,UAAUC,KAAV,EAAiBC,MAAjB,EAAyB;AAC9C,UAAIC,wBAAwB,GAAGF,KAAK,CAACG,iBAArC;AAAA,UACIC,YAAY,GAAGJ,KAAK,CAACI,YADzB;AAAA,UAEI1C,WAAW,GAAGsC,KAAK,CAACtC,WAFxB;AAAA,UAGI2C,SAAS,GAAGL,KAAK,CAACK,SAHtB;AAIA,aAAO,aAAahH,KAAK,CAAC2B,aAAN,CAAoBZ,WAAW,CAACkG,QAAhC,EAA0C,IAA1C,EAAgD,UAAUC,IAAV,EAAgB;AAClF,YAAIC,WAAJ,EAAiBC,YAAjB,EAA+BC,YAA/B,EAA6CC,YAA7C;;AAEA,YAAIC,qBAAqB,GAAGzI,sBAAsB,CAAC6F,KAAD,CAAlD;AAAA,YACI1B,KAAK,GAAGsE,qBAAqB,CAACtE,KADlC;AAAA,YAEIwC,KAAK,GAAG8B,qBAAqB,CAAC9B,KAFlC;;AAIA,YAAI+B,kBAAkB,GAAGvE,KAAK,CAAC3B,SAA/B;AAAA,YACImG,uBAAuB,GAAGxE,KAAK,CAACyE,cADpC;AAAA,YAEIxE,QAAQ,GAAGD,KAAK,CAACC,QAFrB;AAAA,YAGIyE,kBAAkB,GAAG1E,KAAK,CAAC2E,WAH/B;AAAA,YAIIA,WAAW,GAAGD,kBAAkB,KAAK,KAAK,CAA5B,GAAgCf,MAAM,CAACgB,WAAP,IAAsB,eAAtD,GAAwED,kBAJ1F;AAAA,YAKIE,aAAa,GAAG5E,KAAK,CAACiE,IAL1B;AAAA,YAMIY,QAAQ,GAAG7E,KAAK,CAAC6E,QANrB;AAAA,YAOIlG,SAAS,GAAGqB,KAAK,CAACrB,SAPtB;AAAA,YAQImG,KAAK,GAAG9E,KAAK,CAAC8E,KARlB;AAAA,YASIC,UAAU,GAAG/E,KAAK,CAAC+E,UATvB;AAAA,YAUIC,iBAAiB,GAAGhF,KAAK,CAACiF,UAV9B;AAAA,YAWIA,UAAU,GAAGD,iBAAiB,KAAK,KAAK,CAA3B,GAA+B,KAA/B,GAAuCA,iBAXxD;AAAA,YAYIE,UAAU,GAAGlF,KAAK,CAACkF,UAZvB;AAAA,YAaIC,UAAU,GAAGnF,KAAK,CAACmF,UAbvB;AAAA,YAcI9D,eAAe,GAAGrB,KAAK,CAACqB,eAd5B;AAAA,YAeI+D,cAAc,GAAGpF,KAAK,CAACoF,cAf3B;AAAA,YAgBIC,QAAQ,GAAGrF,KAAK,CAACqF,QAhBrB;AAAA,YAiBIC,cAAc,GAAGtF,KAAK,CAACsF,cAjB3B;AAAA,YAkBIC,UAAU,GAAGtJ,MAAM,CAAC+D,KAAD,EAAQ,CAAC,WAAD,EAAc,gBAAd,EAAgC,UAAhC,EAA4C,aAA5C,EAA2D,MAA3D,EAAmE,UAAnE,EAA+E,WAA/E,EAA4F,OAA5F,EAAqG,YAArG,EAAmH,YAAnH,EAAiI,YAAjI,EAA+I,YAA/I,EAA6J,iBAA7J,EAAgL,gBAAhL,EAAkM,UAAlM,EAA8M,gBAA9M,CAAR,CAlBvB;;AAoBA,YAAIwF,UAAU,GAAGZ,aAAa,IAAIX,IAAlC;AACA,YAAI/D,KAAK,GAAGsC,KAAK,CAACtC,KAAlB;AAAA,YACIuC,YAAY,GAAGD,KAAK,CAACC,YADzB;AAEA,YAAIgD,WAAW,GAAG1B,SAAS,KAAK,KAAhC;AACA,YAAI1F,SAAS,GAAGyF,YAAY,CAAC,UAAD,EAAaS,kBAAb,CAA5B;AACA,YAAIE,cAAc,GAAGX,YAAY,CAAC,OAAD,EAAUU,uBAAV,CAAjC;AACA,YAAIkB,OAAO,GAAGxI,UAAU,EAAEgH,WAAW,GAAG,EAAd,EAAkBlI,eAAe,CAACkI,WAAD,EAAc,GAAGtF,MAAH,CAAU6F,cAAV,EAA0B,KAA1B,CAAd,EAAgDe,UAAU,KAAK,OAA/D,CAAjC,EAA0GxJ,eAAe,CAACkI,WAAD,EAAc,GAAGtF,MAAH,CAAU6F,cAAV,EAA0B,KAA1B,CAAd,EAAgDe,UAAU,KAAK,OAA/D,CAAzH,EAAkMtB,WAApM,EAAxB;AACA,YAAIyB,SAAS,GAAGZ,UAAU,IAAI,CAACF,QAAf,IAA2B3E,KAAK,CAACrD,MAAN,GAAe,CAA1C,IAA+C2F,KAAK,CAACzD,UAArD,GAAkE,aAAahC,KAAK,CAAC2B,aAAN,CAAoBrB,iBAApB,EAAuC;AACpIsB,UAAAA,SAAS,EAAE,GAAGC,MAAH,CAAUP,SAAV,EAAqB,eAArB,CADyH;AAEpIuH,UAAAA,OAAO,EAAElE,KAAK,CAAC2B;AAFqH,SAAvC,CAA/E,GAGX,IAHL;AAIA,YAAIwC,QAAQ,GAAG3I,UAAU,EAAEiH,YAAY,GAAG,EAAf,EAAmBnI,eAAe,CAACmI,YAAD,EAAe,GAAGvF,MAAH,CAAUP,SAAV,EAAqB,eAArB,CAAf,EAAsD,IAAtD,CAAlC,EAA+FrC,eAAe,CAACmI,YAAD,EAAe,GAAGvF,MAAH,CAAUP,SAAV,EAAqB,sBAArB,CAAf,EAA6DmE,KAAK,CAACD,YAAnE,CAA9G,EAAgM4B,YAAlM,EAAzB;AACA,YAAI2B,SAAS,GAAG5I,UAAU,CAAC,GAAG0B,MAAH,CAAUP,SAAV,EAAqB,SAArB,CAAD,GAAmC+F,YAAY,GAAG,EAAf,EAAmBpI,eAAe,CAACoI,YAAD,EAAe,GAAGxF,MAAH,CAAUP,SAAV,EAAqB,aAArB,CAAf,EAAoDoH,WAApD,CAAlC,EAAoGzJ,eAAe,CAACoI,YAAD,EAAe,GAAGxF,MAAH,CAAUP,SAAV,EAAqB,oBAArB,CAAf,EAA2DmE,KAAK,CAACzD,UAAjE,CAAnH,EAAiM/C,eAAe,CAACoI,YAAD,EAAe,GAAGxF,MAAH,CAAUP,SAAV,EAAqB,kBAArB,CAAf,EAAyDwG,QAAzD,CAAhN,EAAoR7I,eAAe,CAACoI,YAAD,EAAe,GAAGxF,MAAH,CAAUP,SAAV,EAAqB,UAArB,EAAiCO,MAAjC,CAAwC4G,UAAxC,CAAf,EAAoE,CAAC,CAACA,UAAtE,CAAnS,EAAsXxJ,eAAe,CAACoI,YAAD,EAAe,GAAGxF,MAAH,CAAUP,SAAV,EAAqB,qBAArB,CAAf,EAA4D,CAAC,CAAC4G,UAA9D,CAArY,EAAgdjJ,eAAe,CAACoI,YAAD,EAAe,GAAGxF,MAAH,CAAUP,SAAV,EAAqB,iBAArB,CAAf,EAAwDoE,YAAxD,CAA/d,EAAsiBzG,eAAe,CAACoI,YAAD,EAAe,GAAGxF,MAAH,CAAUP,SAAV,EAAqB,oBAArB,CAAf,EAA2D,CAACgH,QAA5D,CAArjB,EAA4nBjB,YAA/pB,GAA8qBzF,SAA9qB,CAA1B,CAvCkF,CAuCkoB;AACptB;;AAEA,YAAIoH,UAAU,GAAG5I,IAAI,CAACoI,UAAD,EAAa,CAAC,UAAD,EAAa,SAAb,EAAwB,gBAAxB,EAA0C,gBAA1C,EAA4D,eAA5D,EAA6E,sBAA7E,EAAqG,gBAArG,EAAuH,eAAvH,EAAwI,cAAxI,EAAwJ,mBAAxJ,EAA6K,UAA7K,EAAyL,gBAAzL,EAA2M,cAA3M,EAA2N,sBAA3N,EAAmP,oBAAnP,EAAyQ,iBAAzQ,EAA4R,YAA5R,EAA0S,UAA1S,CAAb,CAArB;AACA,YAAInF,OAAO,GAAGJ,KAAK,CAACI,OAApB;AACA,YAAInB,KAAK,GAAGc,mBAAmB,CAAC2B,KAAK,CAAC1B,KAAP,CAA/B;;AAEA,YAAII,OAAO,IAAIA,OAAO,CAACvD,MAAR,GAAiB,CAAhC,EAAmC;AACjC,cAAI2F,KAAK,CAACzD,UAAV,EAAsB;AACpBqB,YAAAA,OAAO,GAAGsB,KAAK,CAACsE,uBAAN,CAA8B3H,SAA9B,EAAyC+C,WAAzC,CAAV;AACD;AACF,SAJD,MAIO;AACLhB,UAAAA,OAAO,GAAG,CAACe,YAAY,CAACC,WAAD,EAAcnC,KAAd,EAAqBoC,eAArB,CAAb,CAAV;AACD,SApDiF,CAoDhF;;;AAGF,YAAI,CAACmB,KAAK,CAACD,YAAX,EAAyB;AACvBnC,UAAAA,OAAO,GAAGsB,KAAK,CAACC,aAAhB;AACD,SAFD,MAEO;AACLD,UAAAA,KAAK,CAACC,aAAN,GAAsBvB,OAAtB;AACD;;AAED,YAAI6F,uBAAuB,GAAG,EAA9B;AACA,YAAIC,UAAU,GAAG,CAAC9F,OAAO,IAAI,EAAZ,EAAgBvD,MAAhB,KAA2B,CAA3B,IAAgCuD,OAAO,CAAC,CAAD,CAAP,CAAW+F,WAA5D;;AAEA,YAAID,UAAJ,EAAgB;AACdD,UAAAA,uBAAuB,CAACG,MAAxB,GAAiC,MAAjC,CADc,CAC2B;AAC1C,SAlEiF,CAkEhF;;;AAGF,YAAIC,yBAAyB,GAAGpB,UAAU,CAACqB,eAAX,KAA+B,KAA/D;;AAEA,YAAID,yBAAyB,KAAK7D,KAAK,CAACzD,UAAN,IAAoBmH,UAAzB,CAAzB,IAAiExE,KAAK,CAACO,KAA3E,EAAkF;AAChFgE,UAAAA,uBAAuB,CAACM,KAAxB,GAAgC7E,KAAK,CAACO,KAAN,CAAYA,KAAZ,CAAkBuE,WAAlD;AACD;;AAED,YAAIC,SAAJ;;AAEA,YAAIvB,UAAJ,EAAgB;AACduB,UAAAA,SAAS,GAAG1I,cAAc,CAACmH,UAAD,EAAa,aAAanI,KAAK,CAAC2B,aAAN,CAAoB,MAApB,EAA4B;AAC9EC,YAAAA,SAAS,EAAE,GAAGC,MAAH,CAAUP,SAAV,EAAqB,eAArB;AADmE,WAA5B,EAEjD6G,UAFiD,CAA1B,EAEV,YAAY;AAC1B,gBAAIwB,YAAJ;;AAEA,mBAAO;AACL/H,cAAAA,SAAS,EAAEzB,UAAU,EAAEwJ,YAAY,GAAG,EAAf,EAAmB1K,eAAe,CAAC0K,YAAD,EAAexB,UAAU,CAAClF,KAAX,CAAiBrB,SAAhC,EAA2CuG,UAAU,CAAClF,KAAX,CAAiBrB,SAA5D,CAAlC,EAA0G3C,eAAe,CAAC0K,YAAD,EAAe,GAAG9H,MAAH,CAAUP,SAAV,EAAqB,eAArB,CAAf,EAAsD,IAAtD,CAAzH,EAAsLqI,YAAxL;AADhB,aAAP;AAGD,WARyB,CAA1B;AASD,SAVD,MAUO;AACLD,UAAAA,SAAS,GAAG,aAAa1J,KAAK,CAAC2B,aAAN,CAAoBpB,YAApB,EAAkC;AACzDqB,YAAAA,SAAS,EAAEkH;AAD8C,WAAlC,CAAzB;AAGD;;AAED,YAAI5D,KAAK,GAAGhC,QAAQ,IAAI,aAAalD,KAAK,CAAC2B,aAAN,CAAoB,MAApB,EAA4B;AAC/DoG,UAAAA,KAAK,EAAEA,KADwD;AAE/DnG,UAAAA,SAAS,EAAEmH;AAFoD,SAA5B,EAGlC,aAAa/I,KAAK,CAAC2B,aAAN,CAAoB,MAApB,EAA4B;AAC1CC,UAAAA,SAAS,EAAE,GAAGC,MAAH,CAAUP,SAAV,EAAqB,eAArB;AAD+B,SAA5B,EAEbqD,KAAK,CAACiF,QAAN,EAFa,CAHqB,EAKf,aAAa5J,KAAK,CAAC2B,aAAN,CAAoBhB,KAApB,EAA2BhC,QAAQ,CAAC,EAAD,EAAKqK,UAAL,EAAiB;AACrFa,UAAAA,QAAQ,EAAE,IAD2E;AAErFC,UAAAA,GAAG,EAAEnF,KAAK,CAACM,SAF0E;AAGrF3D,UAAAA,SAAS,EAAEoG,cAH0E;AAIrFE,UAAAA,WAAW,EAAEzE,KAAK,IAAIA,KAAK,CAACrD,MAAN,GAAe,CAAxB,GAA4B0D,SAA5B,GAAwCoE,WAJgC;AAKrFhG,UAAAA,SAAS,EAAE,GAAGC,MAAH,CAAUP,SAAV,EAAqB,SAArB,EAAgCO,MAAhC,CAAuC8G,OAAvC,CAL0E;AAMrFxF,UAAAA,KAAK,EAAEsC,KAAK,CAACzD,UANwE;AAOrF8F,UAAAA,QAAQ,EAAEA,QAP2E;AAQrFiC,UAAAA,QAAQ,EAAE,CAAC7B,UAR0E;AASrF8B,UAAAA,YAAY,EAAEhB,UAAU,CAACgB,YAAX,IAA2B,KAT4C;AAUrFnB,UAAAA,OAAO,EAAEX,UAAU,GAAGvD,KAAK,CAACkB,gBAAT,GAA4BrC,SAVsC;AAWrFyG,UAAAA,MAAM,EAAE/B,UAAU,GAAGvD,KAAK,CAACiB,eAAT,GAA2BpC,SAXwC;AAYrF0G,UAAAA,SAAS,EAAEvF,KAAK,CAACqB,aAZoE;AAarFhB,UAAAA,QAAQ,EAAEkD,UAAU,GAAGvD,KAAK,CAACyB,iBAAT,GAA6B5C;AAboC,SAAjB,CAAnC,CALE,EAmBhCoF,SAnBgC,EAmBrBc,SAnBqB,CAArC;AAoBA,YAAIS,cAAJ;;AAEA,YAAI/B,UAAJ,EAAgB;AACd+B,UAAAA,cAAc,GAAG/B,UAAjB;AACD,SAFD,MAEO;AACL+B,UAAAA,cAAc,GAAGzB,WAAW,GAAG,aAAa1I,KAAK,CAAC2B,aAAN,CAAoBjB,YAApB,EAAkC,IAAlC,CAAhB,GAA0D,aAAaV,KAAK,CAAC2B,aAAN,CAAoBnB,aAApB,EAAmC,IAAnC,CAAnG;AACD;;AAED,YAAI4J,WAAW,GAAG,aAAapK,KAAK,CAAC2B,aAAN,CAAoB,MAApB,EAA4B;AACzDC,UAAAA,SAAS,EAAE,GAAGC,MAAH,CAAUP,SAAV,EAAqB,yBAArB;AAD8C,SAA5B,EAE5B,aAAatB,KAAK,CAAC2B,aAAN,CAAoBlB,YAApB,EAAkC;AAChD4J,UAAAA,IAAI,EAAE;AAD0C,SAAlC,CAFe,CAA/B;AAKA,YAAIvD,iBAAiB,GAAG7D,KAAK,CAAC6D,iBAAN,IAA2BD,wBAAnD;AACA,YAAIyD,IAAI,GAAGlK,IAAI,CAAC6C,KAAD,EAAQ,CAAC,WAAD,EAAc,YAAd,EAA4B,aAA5B,EAA2C,UAA3C,EAAuD,WAAvD,CAAR,CAAf;AACA,YAAIsH,wBAAwB,GAAGpK,UAAU,CAACkI,cAAD,GAAkBf,YAAY,GAAG,EAAf,EAAmBrI,eAAe,CAACqI,YAAD,EAAe,GAAGzF,MAAH,CAAUP,SAAV,EAAqB,QAArB,EAA+BO,MAA/B,CAAsCmF,SAAtC,CAAf,EAAiEA,SAAS,KAAK,KAA/E,CAAlC,EAAyH/H,eAAe,CAACqI,YAAD,EAAe,GAAGzF,MAAH,CAAUP,SAAV,EAAqB,aAArB,CAAf,EAAoD+B,OAAO,CAACvD,MAAR,KAAmB,CAAnB,IAAwBuD,OAAO,CAAC,CAAD,CAAP,CAAWF,KAAX,KAAqB,wBAAjG,CAAxI,EAAoQmE,YAAtR,EAAzC;AACA,eAAO,aAAatH,KAAK,CAAC2B,aAAN,CAAoB1B,UAApB,EAAgCtB,QAAQ,CAAC,EAAD,EAAK2L,IAAL,EAAW;AACrEhJ,UAAAA,SAAS,EAAEA,SAD0D;AAErEwF,UAAAA,iBAAiB,EAAEA,iBAFkD;AAGrEzD,UAAAA,OAAO,EAAEA,OAH4D;AAIrEF,UAAAA,KAAK,EAAEA,KAJ8D;AAKrEqC,UAAAA,YAAY,EAAEC,KAAK,CAACD,YALiD;AAMrEG,UAAAA,oBAAoB,EAAEhB,KAAK,CAACY,wBANyC;AAOrEP,UAAAA,QAAQ,EAAEL,KAAK,CAACQ,YAPqD;AAQrE+D,UAAAA,uBAAuB,EAAEA,uBAR4C;AASrEd,UAAAA,UAAU,EAAE+B,cATyD;AAUrEC,UAAAA,WAAW,EAAEA,WAVwD;AAWrE/B,UAAAA,cAAc,EAAEkC,wBAXqD;AAYrEC,UAAAA,cAAc,EAAE7F,KAAK,CAAC8F,iBAAN,CAAwBzD,SAAxB,CAZqD;AAarEuB,UAAAA,cAAc,EAAEA;AAbqD,SAAX,CAAxC,EAchBrD,KAdgB,CAApB;AAeD,OAhJmB,CAApB;AAiJD,KAtJD;;AAwJAP,IAAAA,KAAK,CAACc,KAAN,GAAc;AACZtC,MAAAA,KAAK,EAAEF,KAAK,CAACE,KAAN,IAAeF,KAAK,CAACyH,YAArB,IAAqC,EADhC;AAEZ1I,MAAAA,UAAU,EAAE,EAFA;AAGZ0D,MAAAA,YAAY,EAAE,KAHF;AAIZF,MAAAA,YAAY,EAAEvC,KAAK,CAACuC,YAJR;AAKZ/B,MAAAA,cAAc,EAAER,KAAK,CAACiF,UAAN,GAAmB9E,WAAW,CAACH,KAAK,CAACI,OAAP,EAAgBJ,KAAhB,CAA9B,GAAuDO,SAL3D;AAMZmH,MAAAA,SAAS,EAAE1H;AANC,KAAd;AAQA,WAAO0B,KAAP;AACD;;AAED9F,EAAAA,YAAY,CAAC2F,QAAD,EAAW,CAAC;AACtB1C,IAAAA,GAAG,EAAE,sBADiB;AAEtBqB,IAAAA,KAAK,EAAE,SAASyH,oBAAT,GAAgC;AACrC,UAAI,KAAKpE,qBAAT,EAAgC;AAC9BqE,QAAAA,YAAY,CAAC,KAAKrE,qBAAN,CAAZ;AACD;AACF;AANqB,GAAD,EAOpB;AACD1E,IAAAA,GAAG,EAAE,UADJ;AAEDqB,IAAAA,KAAK,EAAE,SAASyG,QAAT,GAAoB;AACzB,UAAIkB,WAAW,GAAG,KAAK7H,KAAvB;AAAA,UACII,OAAO,GAAGyH,WAAW,CAACzH,OAD1B;AAAA,UAEI0H,qBAAqB,GAAGD,WAAW,CAACE,aAFxC;AAAA,UAGIA,aAAa,GAAGD,qBAAqB,KAAK,KAAK,CAA/B,GAAmCjH,oBAAnC,GAA0DiH,qBAH9E;AAIA,UAAI7I,KAAK,GAAGc,mBAAmB,CAAC,KAAKC,KAAN,CAA/B;AACA,UAAIE,KAAK,GAAG,KAAKsC,KAAL,CAAWtC,KAAvB;AACA,UAAIkC,cAAc,GAAG4F,KAAK,CAACC,OAAN,CAAc/H,KAAK,CAAC,CAAD,CAAnB,IAA0BA,KAAK,CAAC,CAAD,CAA/B,GAAqCA,KAA1D;AACA,UAAI2B,eAAe,GAAG5E,eAAe,CAACmD,OAAD,EAAU,UAAU8H,CAAV,EAAaC,KAAb,EAAoB;AACjE,eAAOD,CAAC,CAACjJ,KAAK,CAACiB,KAAP,CAAD,KAAmBkC,cAAc,CAAC+F,KAAD,CAAxC;AACD,OAFoC,EAElC;AACDC,QAAAA,eAAe,EAAEnJ,KAAK,CAACgB;AADtB,OAFkC,CAArC;AAKA,UAAIb,KAAK,GAAGyC,eAAe,CAAChF,MAAhB,GAAyBgF,eAAe,CAACtD,GAAhB,CAAoB,UAAU2J,CAAV,EAAa;AACpE,eAAOA,CAAC,CAACjJ,KAAK,CAACG,KAAP,CAAR;AACD,OAFoC,CAAzB,GAEPc,KAFL;AAGA,aAAO6H,aAAa,CAAC3I,KAAD,EAAQyC,eAAR,CAApB;AACD;AAnBA,GAPoB,EA2BpB;AACDhD,IAAAA,GAAG,EAAE,yBADJ;AAEDqB,IAAAA,KAAK,EAAE,SAAS8F,uBAAT,CAAiC3H,SAAjC,EAA4C+C,WAA5C,EAAyD;AAC9D,UAAIiH,MAAM,GAAG,IAAb;;AAEA,UAAIC,YAAY,GAAG,KAAKtI,KAAxB;AAAA,UACIiF,UAAU,GAAGqD,YAAY,CAACrD,UAD9B;AAAA,UAEI5D,eAAe,GAAGiH,YAAY,CAACjH,eAFnC;AAGA,UAAIpC,KAAK,GAAGc,mBAAmB,CAAC,KAAKC,KAAN,CAA/B;AACA,UAAIuI,kBAAkB,GAAGtD,UAAU,CAACuD,MAApC;AAAA,UACIA,MAAM,GAAGD,kBAAkB,KAAK,KAAK,CAA5B,GAAgCzJ,mBAAhC,GAAsDyJ,kBADnE;AAAA,UAEIE,kBAAkB,GAAGxD,UAAU,CAACyD,MAFpC;AAAA,UAGIA,MAAM,GAAGD,kBAAkB,KAAK,KAAK,CAA5B,GAAgCpJ,2BAAhC,GAA8DoJ,kBAH3E;AAAA,UAIIE,gBAAgB,GAAG1D,UAAU,CAAC2D,IAJlC;AAAA,UAKIA,IAAI,GAAGD,gBAAgB,KAAK,KAAK,CAA1B,GAA8BrJ,yBAA9B,GAA0DqJ,gBALrE;AAAA,UAMIE,iBAAiB,GAAG5D,UAAU,CAAC6D,KANnC;AAAA,UAOIA,KAAK,GAAGD,iBAAiB,KAAK,KAAK,CAA3B,GAA+B7K,YAA/B,GAA8C6K,iBAP1D;AAQA,UAAIE,YAAY,GAAG,KAAKvG,KAAxB;AAAA,UACIwG,qBAAqB,GAAGD,YAAY,CAACvI,cADzC;AAAA,UAEIA,cAAc,GAAGwI,qBAAqB,KAAK,KAAK,CAA/B,GAAmC,EAAnC,GAAwCA,qBAF7D;AAAA,UAGIjK,UAAU,GAAGgK,YAAY,CAAChK,UAH9B,CAf8D,CAkBpB;;AAE1C,UAAIkK,QAAJ;;AAEA,UAAIH,KAAK,GAAG,CAAZ,EAAe;AACbG,QAAAA,QAAQ,GAAG,EAAX;AACA,YAAIC,UAAU,GAAG,CAAjB,CAFa,CAEO;;AAEpB1I,QAAAA,cAAc,CAACtB,IAAf,CAAoB,UAAUF,IAAV,EAAgB;AAClC,cAAImK,KAAK,GAAGX,MAAM,CAACH,MAAM,CAAC7F,KAAP,CAAazD,UAAd,EAA0BC,IAA1B,EAAgCC,KAAhC,CAAlB;;AAEA,cAAIkK,KAAJ,EAAW;AACTF,YAAAA,QAAQ,CAACrI,IAAT,CAAc5B,IAAd;AACAkK,YAAAA,UAAU,IAAI,CAAd;AACD;;AAED,iBAAOA,UAAU,IAAIJ,KAArB;AACD,SATD;AAUD,OAdD,MAcO;AACLjL,QAAAA,UAAU,CAAC,OAAOiL,KAAP,KAAiB,QAAlB,EAA4B,UAA5B,EAAwC,2DAAxC,CAAV;AACAG,QAAAA,QAAQ,GAAGzI,cAAc,CAACgI,MAAf,CAAsB,UAAUxJ,IAAV,EAAgB;AAC/C,iBAAOwJ,MAAM,CAACH,MAAM,CAAC7F,KAAP,CAAazD,UAAd,EAA0BC,IAA1B,EAAgCC,KAAhC,CAAb;AACD,SAFU,CAAX;AAGD;;AAEDgK,MAAAA,QAAQ,GAAGA,QAAQ,CAACL,IAAT,CAAc,UAAUrJ,CAAV,EAAaC,CAAb,EAAgB;AACvC,eAAOoJ,IAAI,CAACrJ,CAAD,EAAIC,CAAJ,EAAOT,UAAP,EAAmBE,KAAnB,CAAX;AACD,OAFU,CAAX;;AAIA,UAAIgK,QAAQ,CAACpM,MAAT,GAAkB,CAAtB,EAAyB;AACvB;AACA,YAAIuM,KAAK,GAAGnK,KAAK,CAACiB,KAAN,KAAgBjB,KAAK,CAACG,KAAtB,GAA8BnB,sBAA9B,GAAuDgB,KAAK,CAACiB,KAAzE;AACA,eAAO+I,QAAQ,CAAC1K,GAAT,CAAa,UAAUS,IAAV,EAAgB;AAClC,cAAIqK,KAAJ;;AAEA,iBAAOA,KAAK,GAAG;AACblH,YAAAA,oBAAoB,EAAE,IADT;AAEbnD,YAAAA,IAAI,EAAEA;AAFO,WAAR,EAGJhD,eAAe,CAACqN,KAAD,EAAQD,KAAR,EAAepK,IAAI,CAACT,GAAL,CAAS,UAAU2J,CAAV,EAAa;AACrD,mBAAOA,CAAC,CAACjJ,KAAK,CAACiB,KAAP,CAAR;AACD,WAFgC,CAAf,CAHX,EAKFlE,eAAe,CAACqN,KAAD,EAAQpK,KAAK,CAACG,KAAd,EAAqBsJ,MAAM,CAAC3J,UAAD,EAAaC,IAAb,EAAmBX,SAAnB,EAA8BY,KAA9B,CAA3B,CALb,EAK+EjD,eAAe,CAACqN,KAAD,EAAQ,UAAR,EAAoBrK,IAAI,CAACE,IAAL,CAAU,UAAUgJ,CAAV,EAAa;AAC9I,mBAAO,CAAC,CAACA,CAAC,CAACrD,QAAX;AACD,WAFwH,CAApB,CAL9F,EAOF7I,eAAe,CAACqN,KAAD,EAAQ,aAAR,EAAuB,IAAvB,CAPb,EAO2CA,KAPlD;AAQD,SAXM,CAAP;AAYD;;AAED,aAAO,CAAClI,YAAY,CAACC,WAAD,EAAcnC,KAAd,EAAqBoC,eAArB,CAAb,CAAP;AACD;AAnEA,GA3BoB,EA+FpB;AACDxC,IAAAA,GAAG,EAAE,OADJ;AAEDqB,IAAAA,KAAK,EAAE,SAASoJ,KAAT,GAAiB;AACtB,WAAKrH,KAAL,CAAWqH,KAAX;AACD;AAJA,GA/FoB,EAoGpB;AACDzK,IAAAA,GAAG,EAAE,MADJ;AAEDqB,IAAAA,KAAK,EAAE,SAASqJ,IAAT,GAAgB;AACrB,WAAKtH,KAAL,CAAWsH,IAAX;AACD;AAJA,GApGoB,EAyGpB;AACD1K,IAAAA,GAAG,EAAE,mBADJ;AAEDqB,IAAAA,KAAK,EAAE,SAASsH,iBAAT,GAA6B;AAClC,UAAIzD,SAAS,GAAGzD,SAAS,CAACzD,MAAV,GAAmB,CAAnB,IAAwByD,SAAS,CAAC,CAAD,CAAT,KAAiBC,SAAzC,GAAqDD,SAAS,CAAC,CAAD,CAA9D,GAAoE,KAApF;AACA,UAAIiH,cAAc,GAAG,KAAKvH,KAAL,CAAWuH,cAAhC;;AAEA,UAAIA,cAAc,KAAKhH,SAAvB,EAAkC;AAChC,eAAOgH,cAAP;AACD;;AAED,aAAOxD,SAAS,KAAK,KAAd,GAAsB,aAAtB,GAAsC,YAA7C;AACD;AAXA,GAzGoB,EAqHpB;AACDlF,IAAAA,GAAG,EAAE,QADJ;AAEDqB,IAAAA,KAAK,EAAE,SAASwI,MAAT,GAAkB;AACvB,UAAIc,MAAM,GAAG,IAAb;;AAEA,aAAO,aAAazM,KAAK,CAAC2B,aAAN,CAAoBf,cAApB,EAAoC,IAApC,EAA0C,UAAU8L,cAAV,EAA0B;AACtF,eAAO,aAAa1M,KAAK,CAAC2B,aAAN,CAAoBd,cAApB,EAAoC,IAApC,EAA0C,UAAU+F,MAAV,EAAkB;AAC9E,iBAAO6F,MAAM,CAAC/F,cAAP,CAAsBgG,cAAtB,EAAsC9F,MAAtC,CAAP;AACD,SAFmB,CAApB;AAGD,OAJmB,CAApB;AAKD;AAVA,GArHoB,CAAX,EAgIR,CAAC;AACH9E,IAAAA,GAAG,EAAE,0BADF;AAEHqB,IAAAA,KAAK,EAAE,SAASwJ,wBAAT,CAAkCC,SAAlC,EAA6CC,KAA7C,EAAoD;AACzD,UAAIlC,SAAS,GAAGkC,KAAK,CAAClC,SAAtB;AACA,UAAImC,QAAQ,GAAG;AACbnC,QAAAA,SAAS,EAAEiC;AADE,OAAf;;AAIA,UAAI,WAAWA,SAAf,EAA0B;AACxBE,QAAAA,QAAQ,CAAC3J,KAAT,GAAiByJ,SAAS,CAACzJ,KAAV,IAAmB,EAApC;AACD;;AAED,UAAI,kBAAkByJ,SAAtB,EAAiC;AAC/BE,QAAAA,QAAQ,CAACtH,YAAT,GAAwBoH,SAAS,CAACpH,YAAlC;AACD;;AAED,UAAIoH,SAAS,CAAC1E,UAAV,IAAwByC,SAAS,CAACtH,OAAV,KAAsBuJ,SAAS,CAACvJ,OAA5D,EAAqE;AACnEyJ,QAAAA,QAAQ,CAACrJ,cAAT,GAA0BL,WAAW,CAACwJ,SAAS,CAACvJ,OAAX,EAAoBuJ,SAApB,CAArC;AACD;;AAED,UAAIG,OAAO,CAACC,GAAR,CAAYC,QAAZ,KAAyB,YAAzB,IAAyCL,SAAS,CAACvJ,OAAvD,EAAgE;AAC9DW,QAAAA,oBAAoB,CAAC4I,SAAS,CAACvJ,OAAX,EAAoBR,aAAa,CAAC+J,SAAD,CAAjC,CAApB;AACD;;AAED,aAAOE,QAAP;AACD;AAzBE,GAAD,CAhIQ,CAAZ;;AA4JA,SAAOtI,QAAP;AACD,CA1b2B,CA0b1BxE,KAAK,CAACkN,SA1boB,CAA5B;;AA4bA1I,QAAQ,CAAC2I,YAAT,GAAwB;AACtBC,EAAAA,cAAc,EAAE,UADM;AAEtB/J,EAAAA,OAAO,EAAE,EAFa;AAGtByE,EAAAA,QAAQ,EAAE,KAHY;AAItBE,EAAAA,UAAU,EAAE,IAJU;AAKtBM,EAAAA,QAAQ,EAAE;AALY,CAAxB;AAOA,eAAe9D,QAAf","sourcesContent":["import _extends from \"@babel/runtime/helpers/extends\";\nimport _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/createClass\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/assertThisInitialized\";\nimport _inherits from \"@babel/runtime/helpers/inherits\";\nimport _createSuper from \"@babel/runtime/helpers/createSuper\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\n\nvar __rest = this && this.__rest || function (s, e) {\n  var t = {};\n\n  for (var p in s) {\n    if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n  }\n\n  if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n    if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n  }\n  return t;\n};\n\nimport * as React from 'react';\nimport RcCascader from 'rc-cascader';\nimport arrayTreeFilter from 'array-tree-filter';\nimport classNames from 'classnames';\nimport omit from 'omit.js';\nimport KeyCode from \"rc-util/es/KeyCode\";\nimport CloseCircleFilled from '@ant-design/icons/CloseCircleFilled';\nimport DownOutlined from '@ant-design/icons/DownOutlined';\nimport RightOutlined from '@ant-design/icons/RightOutlined';\nimport RedoOutlined from '@ant-design/icons/RedoOutlined';\nimport LeftOutlined from '@ant-design/icons/LeftOutlined';\nimport Input from '../input';\nimport { ConfigConsumer } from '../config-provider';\nimport LocaleReceiver from '../locale-provider/LocaleReceiver';\nimport devWarning from '../_util/devWarning';\nimport SizeContext from '../config-provider/SizeContext';\nimport { replaceElement } from '../_util/reactNode'; // We limit the filtered item count by default\n\nvar defaultLimit = 50; // keep value when filtering\n\nvar keepFilteredValueField = '__KEEP_FILTERED_OPTION_VALUE';\n\nfunction highlightKeyword(str, keyword, prefixCls) {\n  return str.split(keyword).map(function (node, index) {\n    return index === 0 ? node : [/*#__PURE__*/React.createElement(\"span\", {\n      className: \"\".concat(prefixCls, \"-menu-item-keyword\"),\n      key: \"seperator\"\n    }, keyword), node];\n  });\n}\n\nfunction defaultFilterOption(inputValue, path, names) {\n  return path.some(function (option) {\n    return option[names.label].indexOf(inputValue) > -1;\n  });\n}\n\nfunction defaultRenderFilteredOption(inputValue, path, prefixCls, names) {\n  return path.map(function (option, index) {\n    var label = option[names.label];\n    var node = label.indexOf(inputValue) > -1 ? highlightKeyword(label, inputValue, prefixCls) : label;\n    return index === 0 ? node : [' / ', node];\n  });\n}\n\nfunction defaultSortFilteredOption(a, b, inputValue, names) {\n  function callback(elem) {\n    return elem[names.label].indexOf(inputValue) > -1;\n  }\n\n  return a.findIndex(callback) - b.findIndex(callback);\n}\n\nfunction getFieldNames(_ref) {\n  var fieldNames = _ref.fieldNames;\n  return fieldNames;\n}\n\nfunction getFilledFieldNames(props) {\n  var fieldNames = getFieldNames(props) || {};\n  var names = {\n    children: fieldNames.children || 'children',\n    label: fieldNames.label || 'label',\n    value: fieldNames.value || 'value'\n  };\n  return names;\n}\n\nfunction flattenTree(options, props) {\n  var ancestor = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : [];\n  var names = getFilledFieldNames(props);\n  var flattenOptions = [];\n  var childrenName = names.children;\n  options.forEach(function (option) {\n    var path = ancestor.concat(option);\n\n    if (props.changeOnSelect || !option[childrenName] || !option[childrenName].length) {\n      flattenOptions.push(path);\n    }\n\n    if (option[childrenName]) {\n      flattenOptions = flattenOptions.concat(flattenTree(option[childrenName], props, path));\n    }\n  });\n  return flattenOptions;\n}\n\nvar defaultDisplayRender = function defaultDisplayRender(label) {\n  return label.join(' / ');\n};\n\nfunction warningValueNotExist(list) {\n  var fieldNames = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n  (list || []).forEach(function (item) {\n    var valueFieldName = fieldNames.value || 'value';\n    devWarning(valueFieldName in item, 'Cascader', 'Not found `value` in `options`.');\n    warningValueNotExist(item[fieldNames.children || 'children'], fieldNames);\n  });\n}\n\nfunction getEmptyNode(renderEmpty, names, notFoundContent) {\n  var _ref2;\n\n  return _ref2 = {}, _defineProperty(_ref2, names.value, 'ANT_CASCADER_NOT_FOUND'), _defineProperty(_ref2, names.label, notFoundContent || renderEmpty('Cascader')), _defineProperty(_ref2, \"disabled\", true), _defineProperty(_ref2, \"isEmptyNode\", true), _ref2;\n}\n\nvar Cascader = /*#__PURE__*/function (_React$Component) {\n  _inherits(Cascader, _React$Component);\n\n  var _super = _createSuper(Cascader);\n\n  function Cascader(props) {\n    var _this;\n\n    _classCallCheck(this, Cascader);\n\n    _this = _super.call(this, props);\n    _this.cachedOptions = [];\n\n    _this.setValue = function (value) {\n      var selectedOptions = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];\n\n      if (!('value' in _this.props)) {\n        _this.setState({\n          value: value\n        });\n      }\n\n      var onChange = _this.props.onChange;\n\n      if (onChange) {\n        onChange(value, selectedOptions);\n      }\n    };\n\n    _this.saveInput = function (node) {\n      _this.input = node;\n    };\n\n    _this.handleChange = function (value, selectedOptions) {\n      _this.setState({\n        inputValue: ''\n      });\n\n      if (selectedOptions[0].__IS_FILTERED_OPTION) {\n        var unwrappedValue = selectedOptions[0][keepFilteredValueField] === undefined ? value[0] : selectedOptions[0][keepFilteredValueField];\n        var unwrappedSelectedOptions = selectedOptions[0].path;\n\n        _this.setValue(unwrappedValue, unwrappedSelectedOptions);\n\n        return;\n      }\n\n      _this.setValue(value, selectedOptions);\n    };\n\n    _this.handlePopupVisibleChange = function (popupVisible) {\n      if (!('popupVisible' in _this.props)) {\n        _this.setState(function (state) {\n          return {\n            popupVisible: popupVisible,\n            inputFocused: popupVisible,\n            inputValue: popupVisible ? state.inputValue : ''\n          };\n        });\n      }\n\n      var onPopupVisibleChange = _this.props.onPopupVisibleChange;\n\n      if (onPopupVisibleChange) {\n        onPopupVisibleChange(popupVisible);\n      }\n    };\n\n    _this.handleInputBlur = function () {\n      _this.setState({\n        inputFocused: false\n      });\n    };\n\n    _this.handleInputClick = function (e) {\n      var _this$state = _this.state,\n          inputFocused = _this$state.inputFocused,\n          popupVisible = _this$state.popupVisible; // Prevent `Trigger` behaviour.\n\n      if (inputFocused || popupVisible) {\n        e.stopPropagation();\n      }\n    };\n\n    _this.handleKeyDown = function (e) {\n      // SPACE => https://github.com/ant-design/ant-design/issues/16871\n      if (e.keyCode === KeyCode.BACKSPACE || e.keyCode === KeyCode.SPACE) {\n        e.stopPropagation();\n      }\n    };\n\n    _this.handleInputChange = function (e) {\n      var popupVisible = _this.state.popupVisible;\n      var inputValue = e.target.value;\n\n      if (!popupVisible) {\n        _this.handlePopupVisibleChange(true);\n      }\n\n      _this.setState({\n        inputValue: inputValue\n      });\n    };\n\n    _this.clearSelection = function (e) {\n      var inputValue = _this.state.inputValue;\n      e.preventDefault();\n      e.stopPropagation();\n\n      if (!inputValue) {\n        _this.handlePopupVisibleChange(false);\n\n        _this.clearSelectionTimeout = setTimeout(function () {\n          _this.setValue([]);\n        }, 200);\n      } else {\n        _this.setState({\n          inputValue: ''\n        });\n      }\n    };\n\n    _this.renderCascader = function (_ref3, locale) {\n      var getContextPopupContainer = _ref3.getPopupContainer,\n          getPrefixCls = _ref3.getPrefixCls,\n          renderEmpty = _ref3.renderEmpty,\n          direction = _ref3.direction;\n      return /*#__PURE__*/React.createElement(SizeContext.Consumer, null, function (size) {\n        var _classNames, _classNames2, _classNames3, _classNames5;\n\n        var _assertThisInitialize = _assertThisInitialized(_this),\n            props = _assertThisInitialize.props,\n            state = _assertThisInitialize.state;\n\n        var customizePrefixCls = props.prefixCls,\n            customizeInputPrefixCls = props.inputPrefixCls,\n            children = props.children,\n            _props$placeholder = props.placeholder,\n            placeholder = _props$placeholder === void 0 ? locale.placeholder || 'Please select' : _props$placeholder,\n            customizeSize = props.size,\n            disabled = props.disabled,\n            className = props.className,\n            style = props.style,\n            allowClear = props.allowClear,\n            _props$showSearch = props.showSearch,\n            showSearch = _props$showSearch === void 0 ? false : _props$showSearch,\n            suffixIcon = props.suffixIcon,\n            expandIcon = props.expandIcon,\n            notFoundContent = props.notFoundContent,\n            popupClassName = props.popupClassName,\n            bordered = props.bordered,\n            dropdownRender = props.dropdownRender,\n            otherProps = __rest(props, [\"prefixCls\", \"inputPrefixCls\", \"children\", \"placeholder\", \"size\", \"disabled\", \"className\", \"style\", \"allowClear\", \"showSearch\", \"suffixIcon\", \"expandIcon\", \"notFoundContent\", \"popupClassName\", \"bordered\", \"dropdownRender\"]);\n\n        var mergedSize = customizeSize || size;\n        var value = state.value,\n            inputFocused = state.inputFocused;\n        var isRtlLayout = direction === 'rtl';\n        var prefixCls = getPrefixCls('cascader', customizePrefixCls);\n        var inputPrefixCls = getPrefixCls('input', customizeInputPrefixCls);\n        var sizeCls = classNames((_classNames = {}, _defineProperty(_classNames, \"\".concat(inputPrefixCls, \"-lg\"), mergedSize === 'large'), _defineProperty(_classNames, \"\".concat(inputPrefixCls, \"-sm\"), mergedSize === 'small'), _classNames));\n        var clearIcon = allowClear && !disabled && value.length > 0 || state.inputValue ? /*#__PURE__*/React.createElement(CloseCircleFilled, {\n          className: \"\".concat(prefixCls, \"-picker-clear\"),\n          onClick: _this.clearSelection\n        }) : null;\n        var arrowCls = classNames((_classNames2 = {}, _defineProperty(_classNames2, \"\".concat(prefixCls, \"-picker-arrow\"), true), _defineProperty(_classNames2, \"\".concat(prefixCls, \"-picker-arrow-expand\"), state.popupVisible), _classNames2));\n        var pickerCls = classNames(\"\".concat(prefixCls, \"-picker\"), (_classNames3 = {}, _defineProperty(_classNames3, \"\".concat(prefixCls, \"-picker-rtl\"), isRtlLayout), _defineProperty(_classNames3, \"\".concat(prefixCls, \"-picker-with-value\"), state.inputValue), _defineProperty(_classNames3, \"\".concat(prefixCls, \"-picker-disabled\"), disabled), _defineProperty(_classNames3, \"\".concat(prefixCls, \"-picker-\").concat(mergedSize), !!mergedSize), _defineProperty(_classNames3, \"\".concat(prefixCls, \"-picker-show-search\"), !!showSearch), _defineProperty(_classNames3, \"\".concat(prefixCls, \"-picker-focused\"), inputFocused), _defineProperty(_classNames3, \"\".concat(prefixCls, \"-picker-borderless\"), !bordered), _classNames3), className); // Fix bug of https://github.com/facebook/react/pull/5004\n        // and https://fb.me/react-unknown-prop\n\n        var inputProps = omit(otherProps, ['onChange', 'options', 'popupPlacement', 'transitionName', 'displayRender', 'onPopupVisibleChange', 'changeOnSelect', 'expandTrigger', 'popupVisible', 'getPopupContainer', 'loadData', 'popupClassName', 'filterOption', 'renderFilteredOption', 'sortFilteredOption', 'notFoundContent', 'fieldNames', 'bordered']);\n        var options = props.options;\n        var names = getFilledFieldNames(_this.props);\n\n        if (options && options.length > 0) {\n          if (state.inputValue) {\n            options = _this.generateFilteredOptions(prefixCls, renderEmpty);\n          }\n        } else {\n          options = [getEmptyNode(renderEmpty, names, notFoundContent)];\n        } // Dropdown menu should keep previous status until it is fully closed.\n\n\n        if (!state.popupVisible) {\n          options = _this.cachedOptions;\n        } else {\n          _this.cachedOptions = options;\n        }\n\n        var dropdownMenuColumnStyle = {};\n        var isNotFound = (options || []).length === 1 && options[0].isEmptyNode;\n\n        if (isNotFound) {\n          dropdownMenuColumnStyle.height = 'auto'; // Height of one row.\n        } // The default value of `matchInputWidth` is `true`\n\n\n        var resultListMatchInputWidth = showSearch.matchInputWidth !== false;\n\n        if (resultListMatchInputWidth && (state.inputValue || isNotFound) && _this.input) {\n          dropdownMenuColumnStyle.width = _this.input.input.offsetWidth;\n        }\n\n        var inputIcon;\n\n        if (suffixIcon) {\n          inputIcon = replaceElement(suffixIcon, /*#__PURE__*/React.createElement(\"span\", {\n            className: \"\".concat(prefixCls, \"-picker-arrow\")\n          }, suffixIcon), function () {\n            var _classNames4;\n\n            return {\n              className: classNames((_classNames4 = {}, _defineProperty(_classNames4, suffixIcon.props.className, suffixIcon.props.className), _defineProperty(_classNames4, \"\".concat(prefixCls, \"-picker-arrow\"), true), _classNames4))\n            };\n          });\n        } else {\n          inputIcon = /*#__PURE__*/React.createElement(DownOutlined, {\n            className: arrowCls\n          });\n        }\n\n        var input = children || /*#__PURE__*/React.createElement(\"span\", {\n          style: style,\n          className: pickerCls\n        }, /*#__PURE__*/React.createElement(\"span\", {\n          className: \"\".concat(prefixCls, \"-picker-label\")\n        }, _this.getLabel()), /*#__PURE__*/React.createElement(Input, _extends({}, inputProps, {\n          tabIndex: \"-1\",\n          ref: _this.saveInput,\n          prefixCls: inputPrefixCls,\n          placeholder: value && value.length > 0 ? undefined : placeholder,\n          className: \"\".concat(prefixCls, \"-input \").concat(sizeCls),\n          value: state.inputValue,\n          disabled: disabled,\n          readOnly: !showSearch,\n          autoComplete: inputProps.autoComplete || 'off',\n          onClick: showSearch ? _this.handleInputClick : undefined,\n          onBlur: showSearch ? _this.handleInputBlur : undefined,\n          onKeyDown: _this.handleKeyDown,\n          onChange: showSearch ? _this.handleInputChange : undefined\n        })), clearIcon, inputIcon);\n        var expandIconNode;\n\n        if (expandIcon) {\n          expandIconNode = expandIcon;\n        } else {\n          expandIconNode = isRtlLayout ? /*#__PURE__*/React.createElement(LeftOutlined, null) : /*#__PURE__*/React.createElement(RightOutlined, null);\n        }\n\n        var loadingIcon = /*#__PURE__*/React.createElement(\"span\", {\n          className: \"\".concat(prefixCls, \"-menu-item-loading-icon\")\n        }, /*#__PURE__*/React.createElement(RedoOutlined, {\n          spin: true\n        }));\n        var getPopupContainer = props.getPopupContainer || getContextPopupContainer;\n        var rest = omit(props, ['inputIcon', 'expandIcon', 'loadingIcon', 'bordered', 'className']);\n        var rcCascaderPopupClassName = classNames(popupClassName, (_classNames5 = {}, _defineProperty(_classNames5, \"\".concat(prefixCls, \"-menu-\").concat(direction), direction === 'rtl'), _defineProperty(_classNames5, \"\".concat(prefixCls, \"-menu-empty\"), options.length === 1 && options[0].value === 'ANT_CASCADER_NOT_FOUND'), _classNames5));\n        return /*#__PURE__*/React.createElement(RcCascader, _extends({}, rest, {\n          prefixCls: prefixCls,\n          getPopupContainer: getPopupContainer,\n          options: options,\n          value: value,\n          popupVisible: state.popupVisible,\n          onPopupVisibleChange: _this.handlePopupVisibleChange,\n          onChange: _this.handleChange,\n          dropdownMenuColumnStyle: dropdownMenuColumnStyle,\n          expandIcon: expandIconNode,\n          loadingIcon: loadingIcon,\n          popupClassName: rcCascaderPopupClassName,\n          popupPlacement: _this.getPopupPlacement(direction),\n          dropdownRender: dropdownRender\n        }), input);\n      });\n    };\n\n    _this.state = {\n      value: props.value || props.defaultValue || [],\n      inputValue: '',\n      inputFocused: false,\n      popupVisible: props.popupVisible,\n      flattenOptions: props.showSearch ? flattenTree(props.options, props) : undefined,\n      prevProps: props\n    };\n    return _this;\n  }\n\n  _createClass(Cascader, [{\n    key: \"componentWillUnmount\",\n    value: function componentWillUnmount() {\n      if (this.clearSelectionTimeout) {\n        clearTimeout(this.clearSelectionTimeout);\n      }\n    }\n  }, {\n    key: \"getLabel\",\n    value: function getLabel() {\n      var _this$props = this.props,\n          options = _this$props.options,\n          _this$props$displayRe = _this$props.displayRender,\n          displayRender = _this$props$displayRe === void 0 ? defaultDisplayRender : _this$props$displayRe;\n      var names = getFilledFieldNames(this.props);\n      var value = this.state.value;\n      var unwrappedValue = Array.isArray(value[0]) ? value[0] : value;\n      var selectedOptions = arrayTreeFilter(options, function (o, level) {\n        return o[names.value] === unwrappedValue[level];\n      }, {\n        childrenKeyName: names.children\n      });\n      var label = selectedOptions.length ? selectedOptions.map(function (o) {\n        return o[names.label];\n      }) : value;\n      return displayRender(label, selectedOptions);\n    }\n  }, {\n    key: \"generateFilteredOptions\",\n    value: function generateFilteredOptions(prefixCls, renderEmpty) {\n      var _this2 = this;\n\n      var _this$props2 = this.props,\n          showSearch = _this$props2.showSearch,\n          notFoundContent = _this$props2.notFoundContent;\n      var names = getFilledFieldNames(this.props);\n      var _showSearch$filter = showSearch.filter,\n          filter = _showSearch$filter === void 0 ? defaultFilterOption : _showSearch$filter,\n          _showSearch$render = showSearch.render,\n          render = _showSearch$render === void 0 ? defaultRenderFilteredOption : _showSearch$render,\n          _showSearch$sort = showSearch.sort,\n          sort = _showSearch$sort === void 0 ? defaultSortFilteredOption : _showSearch$sort,\n          _showSearch$limit = showSearch.limit,\n          limit = _showSearch$limit === void 0 ? defaultLimit : _showSearch$limit;\n      var _this$state2 = this.state,\n          _this$state2$flattenO = _this$state2.flattenOptions,\n          flattenOptions = _this$state2$flattenO === void 0 ? [] : _this$state2$flattenO,\n          inputValue = _this$state2.inputValue; // Limit the filter if needed\n\n      var filtered;\n\n      if (limit > 0) {\n        filtered = [];\n        var matchCount = 0; // Perf optimization to filter items only below the limit\n\n        flattenOptions.some(function (path) {\n          var match = filter(_this2.state.inputValue, path, names);\n\n          if (match) {\n            filtered.push(path);\n            matchCount += 1;\n          }\n\n          return matchCount >= limit;\n        });\n      } else {\n        devWarning(typeof limit !== 'number', 'Cascader', \"'limit' of showSearch should be positive number or false.\");\n        filtered = flattenOptions.filter(function (path) {\n          return filter(_this2.state.inputValue, path, names);\n        });\n      }\n\n      filtered = filtered.sort(function (a, b) {\n        return sort(a, b, inputValue, names);\n      });\n\n      if (filtered.length > 0) {\n        // Fix issue: https://github.com/ant-design/ant-design/issues/26554\n        var field = names.value === names.label ? keepFilteredValueField : names.value;\n        return filtered.map(function (path) {\n          var _ref4;\n\n          return _ref4 = {\n            __IS_FILTERED_OPTION: true,\n            path: path\n          }, _defineProperty(_ref4, field, path.map(function (o) {\n            return o[names.value];\n          })), _defineProperty(_ref4, names.label, render(inputValue, path, prefixCls, names)), _defineProperty(_ref4, \"disabled\", path.some(function (o) {\n            return !!o.disabled;\n          })), _defineProperty(_ref4, \"isEmptyNode\", true), _ref4;\n        });\n      }\n\n      return [getEmptyNode(renderEmpty, names, notFoundContent)];\n    }\n  }, {\n    key: \"focus\",\n    value: function focus() {\n      this.input.focus();\n    }\n  }, {\n    key: \"blur\",\n    value: function blur() {\n      this.input.blur();\n    }\n  }, {\n    key: \"getPopupPlacement\",\n    value: function getPopupPlacement() {\n      var direction = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'ltr';\n      var popupPlacement = this.props.popupPlacement;\n\n      if (popupPlacement !== undefined) {\n        return popupPlacement;\n      }\n\n      return direction === 'rtl' ? 'bottomRight' : 'bottomLeft';\n    }\n  }, {\n    key: \"render\",\n    value: function render() {\n      var _this3 = this;\n\n      return /*#__PURE__*/React.createElement(ConfigConsumer, null, function (configArgument) {\n        return /*#__PURE__*/React.createElement(LocaleReceiver, null, function (locale) {\n          return _this3.renderCascader(configArgument, locale);\n        });\n      });\n    }\n  }], [{\n    key: \"getDerivedStateFromProps\",\n    value: function getDerivedStateFromProps(nextProps, _ref5) {\n      var prevProps = _ref5.prevProps;\n      var newState = {\n        prevProps: nextProps\n      };\n\n      if ('value' in nextProps) {\n        newState.value = nextProps.value || [];\n      }\n\n      if ('popupVisible' in nextProps) {\n        newState.popupVisible = nextProps.popupVisible;\n      }\n\n      if (nextProps.showSearch && prevProps.options !== nextProps.options) {\n        newState.flattenOptions = flattenTree(nextProps.options, nextProps);\n      }\n\n      if (process.env.NODE_ENV !== 'production' && nextProps.options) {\n        warningValueNotExist(nextProps.options, getFieldNames(nextProps));\n      }\n\n      return newState;\n    }\n  }]);\n\n  return Cascader;\n}(React.Component);\n\nCascader.defaultProps = {\n  transitionName: 'slide-up',\n  options: [],\n  disabled: false,\n  allowClear: true,\n  bordered: true\n};\nexport default Cascader;"]},"metadata":{},"sourceType":"module"}