'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 _react = require('react');

var _react2 = _interopRequireDefault(_react);

var _classnames = require('classnames');

var _classnames2 = _interopRequireDefault(_classnames);

var _TabBar = require('../../TabBar');

var _TabBar2 = _interopRequireDefault(_TabBar);

var _WithDrawer = require('../../WithDrawer');

var _WithDrawer2 = _interopRequireDefault(_WithDrawer);

var _TwoColumns = require('./TwoColumns.scss');

var _TwoColumns2 = _interopRequireDefault(_TwoColumns);

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

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; }

/**
 * @param {object} props react props
 * @example
<TwoColumns name="Hello world"></TwoColumns>
 */
function TwoColumns(_ref) {
	var one = _ref.one,
	    drawers = _ref.drawers,
	    children = _ref.children,
	    tabs = _ref.tabs,
	    props = _objectWithoutProperties(_ref, ['one', 'drawers', 'children', 'tabs']);

	var containerCSS = (0, _classnames2.default)('tc-layout-two-columns', _TwoColumns2.default.container);
	var sidemenuCSS = (0, _classnames2.default)('tc-layout-two-columns-left', _TwoColumns2.default.sidemenu);
	var mainCSS = (0, _classnames2.default)('tc-layout-two-columns-main', _TwoColumns2.default.main);
	var style = {
		overflow: 'auto',
		height: '100%',
		display: 'flex',
		flexDirection: 'column'
	};

	return _react2.default.createElement(
		'div',
		_extends({ className: containerCSS }, props),
		_react2.default.createElement(
			'div',
			{ className: sidemenuCSS },
			one
		),
		_react2.default.createElement(
			'div',
			{ className: mainCSS },
			_react2.default.createElement(
				_WithDrawer2.default,
				{ drawers: drawers },
				tabs && _react2.default.createElement(_TabBar2.default, tabs),
				_react2.default.createElement(
					'div',
					{ style: style },
					children
				)
			)
		)
	);
}

TwoColumns.propTypes = {
	one: _react2.default.PropTypes.element,
	children: _react2.default.PropTypes.node,
	drawers: _react2.default.PropTypes.arrayOf(_react2.default.PropTypes.node),
	tabs: _react2.default.PropTypes.shape(_TabBar2.default.propTypes)
};

exports.default = TwoColumns;