'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); var _typeof2 = require('babel-runtime/helpers/typeof'); var _typeof3 = _interopRequireDefault(_typeof2); var _extends2 = require('babel-runtime/helpers/extends'); var _extends3 = _interopRequireDefault(_extends2); var _react = require('react'); var _react2 = _interopRequireDefault(_react); var _propTypes = require('prop-types'); var _propTypes2 = _interopRequireDefault(_propTypes); var _createReactClass = require('create-react-class'); var _createReactClass2 = _interopRequireDefault(_createReactClass); var _MenuMixin = require('./MenuMixin'); var _MenuMixin2 = _interopRequireDefault(_MenuMixin); var _rcAnimate = require('rc-animate'); var _rcAnimate2 = _interopRequireDefault(_rcAnimate); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; } var SubPopupMenu = (0, _createReactClass2['default'])({ displayName: 'SubPopupMenu', propTypes: { onSelect: _propTypes2['default'].func, onClick: _propTypes2['default'].func, onDeselect: _propTypes2['default'].func, onOpenChange: _propTypes2['default'].func, onDestroy: _propTypes2['default'].func, openTransitionName: _propTypes2['default'].string, openAnimation: _propTypes2['default'].oneOfType([_propTypes2['default'].string, _propTypes2['default'].object]), openKeys: _propTypes2['default'].arrayOf(_propTypes2['default'].string), closeSubMenuOnMouseLeave: _propTypes2['default'].bool, visible: _propTypes2['default'].bool, children: _propTypes2['default'].any }, mixins: [_MenuMixin2['default']], onDeselect: function onDeselect(selectInfo) { this.props.onDeselect(selectInfo); }, onSelect: function onSelect(selectInfo) { this.props.onSelect(selectInfo); }, onClick: function onClick(e) { this.props.onClick(e); }, onOpenChange: function onOpenChange(e) { this.props.onOpenChange(e); }, onDestroy: function onDestroy(key) { this.props.onDestroy(key); }, onItemHover: function onItemHover(e) { var _e$openChanges = e.openChanges, openChanges = _e$openChanges === undefined ? [] : _e$openChanges; openChanges = openChanges.concat(this.getOpenChangesOnItemHover(e)); if (openChanges.length) { this.onOpenChange(openChanges); } }, getOpenTransitionName: function getOpenTransitionName() { return this.props.openTransitionName; }, renderMenuItem: function renderMenuItem(c, i, subIndex) { if (!c) { return null; } var props = this.props; var extraProps = { openKeys: props.openKeys, selectedKeys: props.selectedKeys, openSubMenuOnMouseEnter: true }; return this.renderCommonMenuItem(c, i, subIndex, extraProps); }, render: function render() { var renderFirst = this.renderFirst; this.renderFirst = 1; this.haveOpened = this.haveOpened || this.props.visible; if (!this.haveOpened) { return null; } var transitionAppear = true; if (!renderFirst && this.props.visible) { transitionAppear = false; } var props = (0, _extends3['default'])({}, this.props); props.className += ' ' + props.prefixCls + '-sub'; var animProps = {}; if (props.openTransitionName) { animProps.transitionName = props.openTransitionName; } else if ((0, _typeof3['default'])(props.openAnimation) === 'object') { animProps.animation = (0, _extends3['default'])({}, props.openAnimation); if (!transitionAppear) { delete animProps.animation.appear; } } return _react2['default'].createElement( _rcAnimate2['default'], (0, _extends3['default'])({}, animProps, { showProp: 'visible', component: '', transitionAppear: transitionAppear }), this.renderRoot(props) ); } }); exports['default'] = SubPopupMenu; module.exports = exports['default'];