'use strict';

Object.defineProperty(exports, "__esModule", {
  value: true
});

var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };

var _getClassName2 = require('babel-plugin-react-css-modules/dist/browser/getClassName');

var _getClassName3 = _interopRequireDefault(_getClassName2);

var _react = require('react');

var _react2 = _interopRequireDefault(_react);

var _propTypes = require('prop-types');

var _propTypes2 = _interopRequireDefault(_propTypes);

var _classnames = require('classnames');

var _classnames2 = _interopRequireDefault(_classnames);

var _Bar = require('./Bar');

var _Bar2 = _interopRequireDefault(_Bar);

var _NavButton = require('./NavButton');

var _NavButton2 = _interopRequireDefault(_NavButton);

var _NavDropdown = require('./NavDropdown');

var _NavDropdown2 = _interopRequireDefault(_NavDropdown);

var _NavItemWrapper = require('./NavItemWrapper');

var _NavItemWrapper2 = _interopRequireDefault(_NavItemWrapper);

var _NavItemSeparation = require('./NavItemSeparation');

var _NavItemSeparation2 = _interopRequireDefault(_NavItemSeparation);

function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }

function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }

var _styleModuleImportMap = {
  './nav-bar.scss': {
    'base': 'flive_nav-bar_base',
    'level-wrapper-1': 'flive_nav-bar_level-wrapper-1',
    'level-wrapper-2': 'flive_nav-bar_level-wrapper-2',
    'sm': 'flive_nav-bar_sm',
    'md': 'flive_nav-bar_md',
    'lg': 'flive_nav-bar_lg',
    'null': 'flive_nav-bar_null'
  }
};

function _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; }

var propTypes = {
  /** @ignore */
  className: _propTypes2.default.string,
  /**
   * Make it width full size
   */
  level: _propTypes2.default.oneOf([1, 2]),
  size: _propTypes2.default.oneOf(['null', 'lg', 'md', 'sm', 'xs'])
};
var defaultProps = {
  className: undefined,
  level: 1,
  size: 'lg'
};

var NavBar = function NavBar(_ref) {
  var _classNames;

  var className = _ref.className,
      level = _ref.level,
      size = _ref.size,
      props = _objectWithoutProperties(_ref, ['className', 'level', 'size']);

  return _react2.default.createElement('div', _extends({}, props, {
    className: (className ? className + ' ' : '') + (0, _getClassName3.default)('' + (0, _classnames2.default)('base', (_classNames = {}, _defineProperty(_classNames, 'level-wrapper-' + level, level), _defineProperty(_classNames, size, size), _classNames)), _styleModuleImportMap)
  }));
};

NavBar.propTypes = propTypes;
NavBar.defaultProps = defaultProps;
NavBar.Bar = _Bar2.default;
NavBar.NavButton = _NavButton2.default;
NavBar.NavDropdown = _NavDropdown2.default;
NavBar.NavItemWrapper = _NavItemWrapper2.default;
NavBar.NavItemSeparation = _NavItemSeparation2.default;

exports.default = NavBar;
module.exports = exports['default'];