fe7f928532d923f5e56ff411638a8ae5.json 59.1 KB
{"ast":null,"code":"function _typeof(obj) {\n  \"@babel/helpers - typeof\";\n\n  if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") {\n    _typeof = function _typeof(obj) {\n      return typeof obj;\n    };\n  } else {\n    _typeof = function _typeof(obj) {\n      return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n    };\n  }\n\n  return _typeof(obj);\n}\n\nfunction _objectWithoutProperties(source, excluded) {\n  if (source == null) return {};\n\n  var target = _objectWithoutPropertiesLoose(source, excluded);\n\n  var key, i;\n\n  if (Object.getOwnPropertySymbols) {\n    var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n\n    for (i = 0; i < sourceSymbolKeys.length; i++) {\n      key = sourceSymbolKeys[i];\n      if (excluded.indexOf(key) >= 0) continue;\n      if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;\n      target[key] = source[key];\n    }\n  }\n\n  return target;\n}\n\nfunction _objectWithoutPropertiesLoose(source, excluded) {\n  if (source == null) return {};\n  var target = {};\n  var sourceKeys = Object.keys(source);\n  var key, i;\n\n  for (i = 0; i < sourceKeys.length; i++) {\n    key = sourceKeys[i];\n    if (excluded.indexOf(key) >= 0) continue;\n    target[key] = source[key];\n  }\n\n  return target;\n}\n\nfunction _toConsumableArray(arr) {\n  return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread();\n}\n\nfunction _nonIterableSpread() {\n  throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\n\nfunction _unsupportedIterableToArray(o, minLen) {\n  if (!o) return;\n  if (typeof o === \"string\") return _arrayLikeToArray(o, minLen);\n  var n = Object.prototype.toString.call(o).slice(8, -1);\n  if (n === \"Object\" && o.constructor) n = o.constructor.name;\n  if (n === \"Map\" || n === \"Set\") return Array.from(o);\n  if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);\n}\n\nfunction _iterableToArray(iter) {\n  if (typeof Symbol !== \"undefined\" && Symbol.iterator in Object(iter)) return Array.from(iter);\n}\n\nfunction _arrayWithoutHoles(arr) {\n  if (Array.isArray(arr)) return _arrayLikeToArray(arr);\n}\n\nfunction _arrayLikeToArray(arr, len) {\n  if (len == null || len > arr.length) len = arr.length;\n\n  for (var i = 0, arr2 = new Array(len); i < len; i++) {\n    arr2[i] = arr[i];\n  }\n\n  return arr2;\n}\n\nfunction _classCallCheck(instance, Constructor) {\n  if (!(instance instanceof Constructor)) {\n    throw new TypeError(\"Cannot call a class as a function\");\n  }\n}\n\nfunction _defineProperties(target, props) {\n  for (var i = 0; i < props.length; i++) {\n    var descriptor = props[i];\n    descriptor.enumerable = descriptor.enumerable || false;\n    descriptor.configurable = true;\n    if (\"value\" in descriptor) descriptor.writable = true;\n    Object.defineProperty(target, descriptor.key, descriptor);\n  }\n}\n\nfunction _createClass(Constructor, protoProps, staticProps) {\n  if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n  if (staticProps) _defineProperties(Constructor, staticProps);\n  return Constructor;\n}\n\nfunction _inherits(subClass, superClass) {\n  if (typeof superClass !== \"function\" && superClass !== null) {\n    throw new TypeError(\"Super expression must either be null or a function\");\n  }\n\n  subClass.prototype = Object.create(superClass && superClass.prototype, {\n    constructor: {\n      value: subClass,\n      writable: true,\n      configurable: true\n    }\n  });\n  if (superClass) _setPrototypeOf(subClass, superClass);\n}\n\nfunction _setPrototypeOf(o, p) {\n  _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {\n    o.__proto__ = p;\n    return o;\n  };\n\n  return _setPrototypeOf(o, p);\n}\n\nfunction _createSuper(Derived) {\n  var hasNativeReflectConstruct = _isNativeReflectConstruct();\n\n  return function _createSuperInternal() {\n    var Super = _getPrototypeOf(Derived),\n        result;\n\n    if (hasNativeReflectConstruct) {\n      var NewTarget = _getPrototypeOf(this).constructor;\n\n      result = Reflect.construct(Super, arguments, NewTarget);\n    } else {\n      result = Super.apply(this, arguments);\n    }\n\n    return _possibleConstructorReturn(this, result);\n  };\n}\n\nfunction _possibleConstructorReturn(self, call) {\n  if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) {\n    return call;\n  }\n\n  return _assertThisInitialized(self);\n}\n\nfunction _assertThisInitialized(self) {\n  if (self === void 0) {\n    throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n  }\n\n  return self;\n}\n\nfunction _isNativeReflectConstruct() {\n  if (typeof Reflect === \"undefined\" || !Reflect.construct) return false;\n  if (Reflect.construct.sham) return false;\n  if (typeof Proxy === \"function\") return true;\n\n  try {\n    Date.prototype.toString.call(Reflect.construct(Date, [], function () {}));\n    return true;\n  } catch (e) {\n    return false;\n  }\n}\n\nfunction _getPrototypeOf(o) {\n  _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {\n    return o.__proto__ || Object.getPrototypeOf(o);\n  };\n  return _getPrototypeOf(o);\n}\n\nimport * as React from 'react';\nimport Trigger from 'rc-trigger';\nimport warning from 'warning';\nimport KeyCode from \"rc-util/es/KeyCode\";\nimport arrayTreeFilter from 'array-tree-filter';\nimport { isEqualArrays } from './utils';\nimport Menus from './Menus';\nimport BUILT_IN_PLACEMENTS from './placements';\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\n    _this.setPopupVisible = function (popupVisible) {\n      var value = _this.state.value;\n\n      if (!('popupVisible' in _this.props)) {\n        _this.setState({\n          popupVisible: popupVisible\n        });\n      } // sync activeValue with value when panel open\n\n\n      if (popupVisible && !_this.state.popupVisible) {\n        _this.setState({\n          activeValue: value\n        });\n      }\n\n      _this.props.onPopupVisibleChange(popupVisible);\n    };\n\n    _this.handleChange = function (options, _ref, e) {\n      var visible = _ref.visible;\n\n      if (e.type !== 'keydown' || e.keyCode === KeyCode.ENTER) {\n        _this.props.onChange(options.map(function (o) {\n          return o[_this.getFieldName('value')];\n        }), options);\n\n        _this.setPopupVisible(visible);\n      }\n    };\n\n    _this.handlePopupVisibleChange = function (popupVisible) {\n      _this.setPopupVisible(popupVisible);\n    };\n\n    _this.handleMenuSelect = function (targetOption, menuIndex, e) {\n      // Keep focused state for keyboard support\n      var triggerNode = _this.trigger.getRootDomNode();\n\n      if (triggerNode && triggerNode.focus) {\n        triggerNode.focus();\n      }\n\n      var _this$props = _this.props,\n          changeOnSelect = _this$props.changeOnSelect,\n          loadData = _this$props.loadData,\n          expandTrigger = _this$props.expandTrigger;\n\n      if (!targetOption || targetOption.disabled) {\n        return;\n      }\n\n      var activeValue = _this.state.activeValue;\n      activeValue = activeValue.slice(0, menuIndex + 1);\n      activeValue[menuIndex] = targetOption[_this.getFieldName('value')];\n\n      var activeOptions = _this.getActiveOptions(activeValue);\n\n      if (targetOption.isLeaf === false && !targetOption[_this.getFieldName('children')] && loadData) {\n        if (changeOnSelect) {\n          _this.handleChange(activeOptions, {\n            visible: true\n          }, e);\n        }\n\n        _this.setState({\n          activeValue: activeValue\n        });\n\n        loadData(activeOptions);\n        return;\n      }\n\n      var newState = {};\n\n      if (!targetOption[_this.getFieldName('children')] || !targetOption[_this.getFieldName('children')].length) {\n        _this.handleChange(activeOptions, {\n          visible: false\n        }, e); // set value to activeValue when select leaf option\n\n\n        newState.value = activeValue; // add e.type judgement to prevent `onChange` being triggered by mouseEnter\n      } else if (changeOnSelect && (e.type === 'click' || e.type === 'keydown')) {\n        if (expandTrigger === 'hover') {\n          _this.handleChange(activeOptions, {\n            visible: false\n          }, e);\n        } else {\n          _this.handleChange(activeOptions, {\n            visible: true\n          }, e);\n        } // set value to activeValue on every select\n\n\n        newState.value = activeValue;\n      }\n\n      newState.activeValue = activeValue; //  not change the value by keyboard\n\n      if ('value' in _this.props || e.type === 'keydown' && e.keyCode !== KeyCode.ENTER) {\n        delete newState.value;\n      }\n\n      _this.setState(newState);\n    };\n\n    _this.handleItemDoubleClick = function () {\n      var changeOnSelect = _this.props.changeOnSelect;\n\n      if (changeOnSelect) {\n        _this.setPopupVisible(false);\n      }\n    };\n\n    _this.handleKeyDown = function (e) {\n      var children = _this.props.children; // https://github.com/ant-design/ant-design/issues/6717\n      // Don't bind keyboard support when children specify the onKeyDown\n\n      if (children && children.props.onKeyDown) {\n        children.props.onKeyDown(e);\n        return;\n      }\n\n      var activeValue = _toConsumableArray(_this.state.activeValue);\n\n      var currentLevel = activeValue.length - 1 < 0 ? 0 : activeValue.length - 1;\n\n      var currentOptions = _this.getCurrentLevelOptions();\n\n      var currentIndex = currentOptions.map(function (o) {\n        return o[_this.getFieldName('value')];\n      }).indexOf(activeValue[currentLevel]);\n\n      if (e.keyCode !== KeyCode.DOWN && e.keyCode !== KeyCode.UP && e.keyCode !== KeyCode.LEFT && e.keyCode !== KeyCode.RIGHT && e.keyCode !== KeyCode.ENTER && e.keyCode !== KeyCode.SPACE && e.keyCode !== KeyCode.BACKSPACE && e.keyCode !== KeyCode.ESC && e.keyCode !== KeyCode.TAB) {\n        return;\n      } // Press any keys above to reopen menu\n\n\n      if (!_this.state.popupVisible && e.keyCode !== KeyCode.BACKSPACE && e.keyCode !== KeyCode.LEFT && e.keyCode !== KeyCode.RIGHT && e.keyCode !== KeyCode.ESC && e.keyCode !== KeyCode.TAB) {\n        _this.setPopupVisible(true);\n\n        return;\n      }\n\n      if (e.keyCode === KeyCode.DOWN || e.keyCode === KeyCode.UP) {\n        e.preventDefault();\n        var nextIndex = currentIndex;\n\n        if (nextIndex !== -1) {\n          if (e.keyCode === KeyCode.DOWN) {\n            nextIndex += 1;\n            nextIndex = nextIndex >= currentOptions.length ? 0 : nextIndex;\n          } else {\n            nextIndex -= 1;\n            nextIndex = nextIndex < 0 ? currentOptions.length - 1 : nextIndex;\n          }\n        } else {\n          nextIndex = 0;\n        }\n\n        activeValue[currentLevel] = currentOptions[nextIndex][_this.getFieldName('value')];\n      } else if (e.keyCode === KeyCode.LEFT || e.keyCode === KeyCode.BACKSPACE) {\n        e.preventDefault();\n        activeValue.splice(activeValue.length - 1, 1);\n      } else if (e.keyCode === KeyCode.RIGHT) {\n        e.preventDefault();\n\n        if (currentOptions[currentIndex] && currentOptions[currentIndex][_this.getFieldName('children')]) {\n          activeValue.push(currentOptions[currentIndex][_this.getFieldName('children')][0][_this.getFieldName('value')]);\n        }\n      } else if (e.keyCode === KeyCode.ESC || e.keyCode === KeyCode.TAB) {\n        _this.setPopupVisible(false);\n\n        return;\n      }\n\n      if (!activeValue || activeValue.length === 0) {\n        _this.setPopupVisible(false);\n      }\n\n      var activeOptions = _this.getActiveOptions(activeValue);\n\n      var targetOption = activeOptions[activeOptions.length - 1];\n\n      _this.handleMenuSelect(targetOption, activeOptions.length - 1, e);\n\n      if (_this.props.onKeyDown) {\n        _this.props.onKeyDown(e);\n      }\n    };\n\n    _this.saveTrigger = function (node) {\n      _this.trigger = node;\n    };\n\n    var initialValue = [];\n\n    if ('value' in props) {\n      initialValue = props.value || [];\n    } else if ('defaultValue' in props) {\n      initialValue = props.defaultValue || [];\n    }\n\n    warning(!('filedNames' in props), '`filedNames` of Cascader is a typo usage and deprecated, please use `fieldNames` instead.');\n    _this.state = {\n      popupVisible: props.popupVisible,\n      activeValue: initialValue,\n      value: initialValue,\n      prevProps: props\n    };\n    _this.defaultFieldNames = {\n      label: 'label',\n      value: 'value',\n      children: 'children'\n    };\n    return _this;\n  }\n\n  _createClass(Cascader, [{\n    key: \"getPopupDOMNode\",\n    value: function getPopupDOMNode() {\n      return this.trigger.getPopupDomNode();\n    }\n  }, {\n    key: \"getFieldName\",\n    value: function getFieldName(name) {\n      var defaultFieldNames = this.defaultFieldNames;\n      var _this$props2 = this.props,\n          fieldNames = _this$props2.fieldNames,\n          filedNames = _this$props2.filedNames;\n\n      if ('filedNames' in this.props) {\n        return filedNames[name] || defaultFieldNames[name]; // For old compatibility\n      }\n\n      return fieldNames[name] || defaultFieldNames[name];\n    }\n  }, {\n    key: \"getFieldNames\",\n    value: function getFieldNames() {\n      var _this$props3 = this.props,\n          fieldNames = _this$props3.fieldNames,\n          filedNames = _this$props3.filedNames;\n\n      if ('filedNames' in this.props) {\n        return filedNames; // For old compatibility\n      }\n\n      return fieldNames;\n    }\n  }, {\n    key: \"getCurrentLevelOptions\",\n    value: function getCurrentLevelOptions() {\n      var _this2 = this;\n\n      var _this$props$options = this.props.options,\n          options = _this$props$options === void 0 ? [] : _this$props$options;\n      var _this$state$activeVal = this.state.activeValue,\n          activeValue = _this$state$activeVal === void 0 ? [] : _this$state$activeVal;\n      var result = arrayTreeFilter(options, function (o, level) {\n        return o[_this2.getFieldName('value')] === activeValue[level];\n      }, {\n        childrenKeyName: this.getFieldName('children')\n      });\n\n      if (result[result.length - 2]) {\n        return result[result.length - 2][this.getFieldName('children')];\n      }\n\n      return _toConsumableArray(options).filter(function (o) {\n        return !o.disabled;\n      });\n    }\n  }, {\n    key: \"getActiveOptions\",\n    value: function getActiveOptions(activeValue) {\n      var _this3 = this;\n\n      return arrayTreeFilter(this.props.options || [], function (o, level) {\n        return o[_this3.getFieldName('value')] === activeValue[level];\n      }, {\n        childrenKeyName: this.getFieldName('children')\n      });\n    }\n  }, {\n    key: \"render\",\n    value: function render() {\n      var _this$props4 = this.props,\n          prefixCls = _this$props4.prefixCls,\n          transitionName = _this$props4.transitionName,\n          popupClassName = _this$props4.popupClassName,\n          _this$props4$options = _this$props4.options,\n          options = _this$props4$options === void 0 ? [] : _this$props4$options,\n          disabled = _this$props4.disabled,\n          builtinPlacements = _this$props4.builtinPlacements,\n          popupPlacement = _this$props4.popupPlacement,\n          children = _this$props4.children,\n          dropdownRender = _this$props4.dropdownRender,\n          restProps = _objectWithoutProperties(_this$props4, [\"prefixCls\", \"transitionName\", \"popupClassName\", \"options\", \"disabled\", \"builtinPlacements\", \"popupPlacement\", \"children\", \"dropdownRender\"]); // Did not show popup when there is no options\n\n\n      var menus = React.createElement(\"div\", null);\n      var emptyMenuClassName = '';\n\n      if (options && options.length > 0) {\n        menus = React.createElement(Menus, Object.assign({}, this.props, {\n          fieldNames: this.getFieldNames(),\n          defaultFieldNames: this.defaultFieldNames,\n          activeValue: this.state.activeValue,\n          onSelect: this.handleMenuSelect,\n          onItemDoubleClick: this.handleItemDoubleClick,\n          visible: this.state.popupVisible\n        }));\n      } else {\n        emptyMenuClassName = \" \".concat(prefixCls, \"-menus-empty\");\n      }\n\n      var popupNode = menus;\n\n      if (dropdownRender) {\n        popupNode = dropdownRender(menus);\n      }\n\n      return React.createElement(Trigger, Object.assign({\n        ref: this.saveTrigger\n      }, restProps, {\n        popupPlacement: popupPlacement,\n        builtinPlacements: builtinPlacements,\n        popupTransitionName: transitionName,\n        action: disabled ? [] : ['click'],\n        popupVisible: disabled ? false : this.state.popupVisible,\n        onPopupVisibleChange: this.handlePopupVisibleChange,\n        prefixCls: \"\".concat(prefixCls, \"-menus\"),\n        popupClassName: popupClassName + emptyMenuClassName,\n        popup: popupNode\n      }), React.cloneElement(children, {\n        onKeyDown: this.handleKeyDown,\n        tabIndex: disabled ? undefined : 0\n      }));\n    }\n  }], [{\n    key: \"getDerivedStateFromProps\",\n    value: function getDerivedStateFromProps(nextProps, prevState) {\n      var _prevState$prevProps = prevState.prevProps,\n          prevProps = _prevState$prevProps === void 0 ? {} : _prevState$prevProps;\n      var newState = {\n        prevProps: nextProps\n      };\n\n      if ('value' in nextProps && !isEqualArrays(prevProps.value, nextProps.value)) {\n        newState.value = nextProps.value || []; // allow activeValue diff from value\n        // https://github.com/ant-design/ant-design/issues/2767\n\n        if (!('loadData' in nextProps)) {\n          newState.activeValue = nextProps.value || [];\n        }\n      }\n\n      if ('popupVisible' in nextProps) {\n        newState.popupVisible = nextProps.popupVisible;\n      }\n\n      return newState;\n    }\n  }]);\n\n  return Cascader;\n}(React.Component);\n\nCascader.defaultProps = {\n  onChange: function onChange() {},\n  onPopupVisibleChange: function onPopupVisibleChange() {},\n  disabled: false,\n  transitionName: '',\n  prefixCls: 'rc-cascader',\n  popupClassName: '',\n  popupPlacement: 'bottomLeft',\n  builtinPlacements: BUILT_IN_PLACEMENTS,\n  expandTrigger: 'click',\n  fieldNames: {\n    label: 'label',\n    value: 'value',\n    children: 'children'\n  },\n  expandIcon: '>'\n};\nexport default Cascader;","map":{"version":3,"sources":["C:/Users/kkwan_000/Desktop/git/2017110269/minsung/node_modules/rc-cascader/es/Cascader.js"],"names":["_typeof","obj","Symbol","iterator","constructor","prototype","_objectWithoutProperties","source","excluded","target","_objectWithoutPropertiesLoose","key","i","Object","getOwnPropertySymbols","sourceSymbolKeys","length","indexOf","propertyIsEnumerable","call","sourceKeys","keys","_toConsumableArray","arr","_arrayWithoutHoles","_iterableToArray","_unsupportedIterableToArray","_nonIterableSpread","TypeError","o","minLen","_arrayLikeToArray","n","toString","slice","name","Array","from","test","iter","isArray","len","arr2","_classCallCheck","instance","Constructor","_defineProperties","props","descriptor","enumerable","configurable","writable","defineProperty","_createClass","protoProps","staticProps","_inherits","subClass","superClass","create","value","_setPrototypeOf","p","setPrototypeOf","__proto__","_createSuper","Derived","hasNativeReflectConstruct","_isNativeReflectConstruct","_createSuperInternal","Super","_getPrototypeOf","result","NewTarget","Reflect","construct","arguments","apply","_possibleConstructorReturn","self","_assertThisInitialized","ReferenceError","sham","Proxy","Date","e","getPrototypeOf","React","Trigger","warning","KeyCode","arrayTreeFilter","isEqualArrays","Menus","BUILT_IN_PLACEMENTS","Cascader","_React$Component","_super","_this","setPopupVisible","popupVisible","state","setState","activeValue","onPopupVisibleChange","handleChange","options","_ref","visible","type","keyCode","ENTER","onChange","map","getFieldName","handlePopupVisibleChange","handleMenuSelect","targetOption","menuIndex","triggerNode","trigger","getRootDomNode","focus","_this$props","changeOnSelect","loadData","expandTrigger","disabled","activeOptions","getActiveOptions","isLeaf","newState","handleItemDoubleClick","handleKeyDown","children","onKeyDown","currentLevel","currentOptions","getCurrentLevelOptions","currentIndex","DOWN","UP","LEFT","RIGHT","SPACE","BACKSPACE","ESC","TAB","preventDefault","nextIndex","splice","push","saveTrigger","node","initialValue","defaultValue","prevProps","defaultFieldNames","label","getPopupDOMNode","getPopupDomNode","_this$props2","fieldNames","filedNames","getFieldNames","_this$props3","_this2","_this$props$options","_this$state$activeVal","level","childrenKeyName","filter","_this3","render","_this$props4","prefixCls","transitionName","popupClassName","_this$props4$options","builtinPlacements","popupPlacement","dropdownRender","restProps","menus","createElement","emptyMenuClassName","assign","onSelect","onItemDoubleClick","concat","popupNode","ref","popupTransitionName","action","popup","cloneElement","tabIndex","undefined","getDerivedStateFromProps","nextProps","prevState","_prevState$prevProps","Component","defaultProps","expandIcon"],"mappings":"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","sourcesContent":["function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nfunction _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }\n\nfunction _nonIterableSpread() { throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _iterableToArray(iter) { if (typeof Symbol !== \"undefined\" && Symbol.iterator in Object(iter)) return Array.from(iter); }\n\nfunction _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nimport * as React from 'react';\nimport Trigger from 'rc-trigger';\nimport warning from 'warning';\nimport KeyCode from \"rc-util/es/KeyCode\";\nimport arrayTreeFilter from 'array-tree-filter';\nimport { isEqualArrays } from './utils';\nimport Menus from './Menus';\nimport BUILT_IN_PLACEMENTS from './placements';\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\n    _this.setPopupVisible = function (popupVisible) {\n      var value = _this.state.value;\n\n      if (!('popupVisible' in _this.props)) {\n        _this.setState({\n          popupVisible: popupVisible\n        });\n      } // sync activeValue with value when panel open\n\n\n      if (popupVisible && !_this.state.popupVisible) {\n        _this.setState({\n          activeValue: value\n        });\n      }\n\n      _this.props.onPopupVisibleChange(popupVisible);\n    };\n\n    _this.handleChange = function (options, _ref, e) {\n      var visible = _ref.visible;\n\n      if (e.type !== 'keydown' || e.keyCode === KeyCode.ENTER) {\n        _this.props.onChange(options.map(function (o) {\n          return o[_this.getFieldName('value')];\n        }), options);\n\n        _this.setPopupVisible(visible);\n      }\n    };\n\n    _this.handlePopupVisibleChange = function (popupVisible) {\n      _this.setPopupVisible(popupVisible);\n    };\n\n    _this.handleMenuSelect = function (targetOption, menuIndex, e) {\n      // Keep focused state for keyboard support\n      var triggerNode = _this.trigger.getRootDomNode();\n\n      if (triggerNode && triggerNode.focus) {\n        triggerNode.focus();\n      }\n\n      var _this$props = _this.props,\n          changeOnSelect = _this$props.changeOnSelect,\n          loadData = _this$props.loadData,\n          expandTrigger = _this$props.expandTrigger;\n\n      if (!targetOption || targetOption.disabled) {\n        return;\n      }\n\n      var activeValue = _this.state.activeValue;\n      activeValue = activeValue.slice(0, menuIndex + 1);\n      activeValue[menuIndex] = targetOption[_this.getFieldName('value')];\n\n      var activeOptions = _this.getActiveOptions(activeValue);\n\n      if (targetOption.isLeaf === false && !targetOption[_this.getFieldName('children')] && loadData) {\n        if (changeOnSelect) {\n          _this.handleChange(activeOptions, {\n            visible: true\n          }, e);\n        }\n\n        _this.setState({\n          activeValue: activeValue\n        });\n\n        loadData(activeOptions);\n        return;\n      }\n\n      var newState = {};\n\n      if (!targetOption[_this.getFieldName('children')] || !targetOption[_this.getFieldName('children')].length) {\n        _this.handleChange(activeOptions, {\n          visible: false\n        }, e); // set value to activeValue when select leaf option\n\n\n        newState.value = activeValue; // add e.type judgement to prevent `onChange` being triggered by mouseEnter\n      } else if (changeOnSelect && (e.type === 'click' || e.type === 'keydown')) {\n        if (expandTrigger === 'hover') {\n          _this.handleChange(activeOptions, {\n            visible: false\n          }, e);\n        } else {\n          _this.handleChange(activeOptions, {\n            visible: true\n          }, e);\n        } // set value to activeValue on every select\n\n\n        newState.value = activeValue;\n      }\n\n      newState.activeValue = activeValue; //  not change the value by keyboard\n\n      if ('value' in _this.props || e.type === 'keydown' && e.keyCode !== KeyCode.ENTER) {\n        delete newState.value;\n      }\n\n      _this.setState(newState);\n    };\n\n    _this.handleItemDoubleClick = function () {\n      var changeOnSelect = _this.props.changeOnSelect;\n\n      if (changeOnSelect) {\n        _this.setPopupVisible(false);\n      }\n    };\n\n    _this.handleKeyDown = function (e) {\n      var children = _this.props.children; // https://github.com/ant-design/ant-design/issues/6717\n      // Don't bind keyboard support when children specify the onKeyDown\n\n      if (children && children.props.onKeyDown) {\n        children.props.onKeyDown(e);\n        return;\n      }\n\n      var activeValue = _toConsumableArray(_this.state.activeValue);\n\n      var currentLevel = activeValue.length - 1 < 0 ? 0 : activeValue.length - 1;\n\n      var currentOptions = _this.getCurrentLevelOptions();\n\n      var currentIndex = currentOptions.map(function (o) {\n        return o[_this.getFieldName('value')];\n      }).indexOf(activeValue[currentLevel]);\n\n      if (e.keyCode !== KeyCode.DOWN && e.keyCode !== KeyCode.UP && e.keyCode !== KeyCode.LEFT && e.keyCode !== KeyCode.RIGHT && e.keyCode !== KeyCode.ENTER && e.keyCode !== KeyCode.SPACE && e.keyCode !== KeyCode.BACKSPACE && e.keyCode !== KeyCode.ESC && e.keyCode !== KeyCode.TAB) {\n        return;\n      } // Press any keys above to reopen menu\n\n\n      if (!_this.state.popupVisible && e.keyCode !== KeyCode.BACKSPACE && e.keyCode !== KeyCode.LEFT && e.keyCode !== KeyCode.RIGHT && e.keyCode !== KeyCode.ESC && e.keyCode !== KeyCode.TAB) {\n        _this.setPopupVisible(true);\n\n        return;\n      }\n\n      if (e.keyCode === KeyCode.DOWN || e.keyCode === KeyCode.UP) {\n        e.preventDefault();\n        var nextIndex = currentIndex;\n\n        if (nextIndex !== -1) {\n          if (e.keyCode === KeyCode.DOWN) {\n            nextIndex += 1;\n            nextIndex = nextIndex >= currentOptions.length ? 0 : nextIndex;\n          } else {\n            nextIndex -= 1;\n            nextIndex = nextIndex < 0 ? currentOptions.length - 1 : nextIndex;\n          }\n        } else {\n          nextIndex = 0;\n        }\n\n        activeValue[currentLevel] = currentOptions[nextIndex][_this.getFieldName('value')];\n      } else if (e.keyCode === KeyCode.LEFT || e.keyCode === KeyCode.BACKSPACE) {\n        e.preventDefault();\n        activeValue.splice(activeValue.length - 1, 1);\n      } else if (e.keyCode === KeyCode.RIGHT) {\n        e.preventDefault();\n\n        if (currentOptions[currentIndex] && currentOptions[currentIndex][_this.getFieldName('children')]) {\n          activeValue.push(currentOptions[currentIndex][_this.getFieldName('children')][0][_this.getFieldName('value')]);\n        }\n      } else if (e.keyCode === KeyCode.ESC || e.keyCode === KeyCode.TAB) {\n        _this.setPopupVisible(false);\n\n        return;\n      }\n\n      if (!activeValue || activeValue.length === 0) {\n        _this.setPopupVisible(false);\n      }\n\n      var activeOptions = _this.getActiveOptions(activeValue);\n\n      var targetOption = activeOptions[activeOptions.length - 1];\n\n      _this.handleMenuSelect(targetOption, activeOptions.length - 1, e);\n\n      if (_this.props.onKeyDown) {\n        _this.props.onKeyDown(e);\n      }\n    };\n\n    _this.saveTrigger = function (node) {\n      _this.trigger = node;\n    };\n\n    var initialValue = [];\n\n    if ('value' in props) {\n      initialValue = props.value || [];\n    } else if ('defaultValue' in props) {\n      initialValue = props.defaultValue || [];\n    }\n\n    warning(!('filedNames' in props), '`filedNames` of Cascader is a typo usage and deprecated, please use `fieldNames` instead.');\n    _this.state = {\n      popupVisible: props.popupVisible,\n      activeValue: initialValue,\n      value: initialValue,\n      prevProps: props\n    };\n    _this.defaultFieldNames = {\n      label: 'label',\n      value: 'value',\n      children: 'children'\n    };\n    return _this;\n  }\n\n  _createClass(Cascader, [{\n    key: \"getPopupDOMNode\",\n    value: function getPopupDOMNode() {\n      return this.trigger.getPopupDomNode();\n    }\n  }, {\n    key: \"getFieldName\",\n    value: function getFieldName(name) {\n      var defaultFieldNames = this.defaultFieldNames;\n      var _this$props2 = this.props,\n          fieldNames = _this$props2.fieldNames,\n          filedNames = _this$props2.filedNames;\n\n      if ('filedNames' in this.props) {\n        return filedNames[name] || defaultFieldNames[name]; // For old compatibility\n      }\n\n      return fieldNames[name] || defaultFieldNames[name];\n    }\n  }, {\n    key: \"getFieldNames\",\n    value: function getFieldNames() {\n      var _this$props3 = this.props,\n          fieldNames = _this$props3.fieldNames,\n          filedNames = _this$props3.filedNames;\n\n      if ('filedNames' in this.props) {\n        return filedNames; // For old compatibility\n      }\n\n      return fieldNames;\n    }\n  }, {\n    key: \"getCurrentLevelOptions\",\n    value: function getCurrentLevelOptions() {\n      var _this2 = this;\n\n      var _this$props$options = this.props.options,\n          options = _this$props$options === void 0 ? [] : _this$props$options;\n      var _this$state$activeVal = this.state.activeValue,\n          activeValue = _this$state$activeVal === void 0 ? [] : _this$state$activeVal;\n      var result = arrayTreeFilter(options, function (o, level) {\n        return o[_this2.getFieldName('value')] === activeValue[level];\n      }, {\n        childrenKeyName: this.getFieldName('children')\n      });\n\n      if (result[result.length - 2]) {\n        return result[result.length - 2][this.getFieldName('children')];\n      }\n\n      return _toConsumableArray(options).filter(function (o) {\n        return !o.disabled;\n      });\n    }\n  }, {\n    key: \"getActiveOptions\",\n    value: function getActiveOptions(activeValue) {\n      var _this3 = this;\n\n      return arrayTreeFilter(this.props.options || [], function (o, level) {\n        return o[_this3.getFieldName('value')] === activeValue[level];\n      }, {\n        childrenKeyName: this.getFieldName('children')\n      });\n    }\n  }, {\n    key: \"render\",\n    value: function render() {\n      var _this$props4 = this.props,\n          prefixCls = _this$props4.prefixCls,\n          transitionName = _this$props4.transitionName,\n          popupClassName = _this$props4.popupClassName,\n          _this$props4$options = _this$props4.options,\n          options = _this$props4$options === void 0 ? [] : _this$props4$options,\n          disabled = _this$props4.disabled,\n          builtinPlacements = _this$props4.builtinPlacements,\n          popupPlacement = _this$props4.popupPlacement,\n          children = _this$props4.children,\n          dropdownRender = _this$props4.dropdownRender,\n          restProps = _objectWithoutProperties(_this$props4, [\"prefixCls\", \"transitionName\", \"popupClassName\", \"options\", \"disabled\", \"builtinPlacements\", \"popupPlacement\", \"children\", \"dropdownRender\"]); // Did not show popup when there is no options\n\n\n      var menus = React.createElement(\"div\", null);\n      var emptyMenuClassName = '';\n\n      if (options && options.length > 0) {\n        menus = React.createElement(Menus, Object.assign({}, this.props, {\n          fieldNames: this.getFieldNames(),\n          defaultFieldNames: this.defaultFieldNames,\n          activeValue: this.state.activeValue,\n          onSelect: this.handleMenuSelect,\n          onItemDoubleClick: this.handleItemDoubleClick,\n          visible: this.state.popupVisible\n        }));\n      } else {\n        emptyMenuClassName = \" \".concat(prefixCls, \"-menus-empty\");\n      }\n\n      var popupNode = menus;\n\n      if (dropdownRender) {\n        popupNode = dropdownRender(menus);\n      }\n\n      return React.createElement(Trigger, Object.assign({\n        ref: this.saveTrigger\n      }, restProps, {\n        popupPlacement: popupPlacement,\n        builtinPlacements: builtinPlacements,\n        popupTransitionName: transitionName,\n        action: disabled ? [] : ['click'],\n        popupVisible: disabled ? false : this.state.popupVisible,\n        onPopupVisibleChange: this.handlePopupVisibleChange,\n        prefixCls: \"\".concat(prefixCls, \"-menus\"),\n        popupClassName: popupClassName + emptyMenuClassName,\n        popup: popupNode\n      }), React.cloneElement(children, {\n        onKeyDown: this.handleKeyDown,\n        tabIndex: disabled ? undefined : 0\n      }));\n    }\n  }], [{\n    key: \"getDerivedStateFromProps\",\n    value: function getDerivedStateFromProps(nextProps, prevState) {\n      var _prevState$prevProps = prevState.prevProps,\n          prevProps = _prevState$prevProps === void 0 ? {} : _prevState$prevProps;\n      var newState = {\n        prevProps: nextProps\n      };\n\n      if ('value' in nextProps && !isEqualArrays(prevProps.value, nextProps.value)) {\n        newState.value = nextProps.value || []; // allow activeValue diff from value\n        // https://github.com/ant-design/ant-design/issues/2767\n\n        if (!('loadData' in nextProps)) {\n          newState.activeValue = nextProps.value || [];\n        }\n      }\n\n      if ('popupVisible' in nextProps) {\n        newState.popupVisible = nextProps.popupVisible;\n      }\n\n      return newState;\n    }\n  }]);\n\n  return Cascader;\n}(React.Component);\n\nCascader.defaultProps = {\n  onChange: function onChange() {},\n  onPopupVisibleChange: function onPopupVisibleChange() {},\n  disabled: false,\n  transitionName: '',\n  prefixCls: 'rc-cascader',\n  popupClassName: '',\n  popupPlacement: 'bottomLeft',\n  builtinPlacements: BUILT_IN_PLACEMENTS,\n  expandTrigger: 'click',\n  fieldNames: {\n    label: 'label',\n    value: 'value',\n    children: 'children'\n  },\n  expandIcon: '>'\n};\nexport default Cascader;"]},"metadata":{},"sourceType":"module"}