'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 _OneColumn = require('./OneColumn.scss');

var _OneColumn2 = _interopRequireDefault(_OneColumn);

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

var _TabBar2 = _interopRequireDefault(_TabBar);

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

var _WithDrawer2 = _interopRequireDefault(_WithDrawer);

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
<OneColumn name="Hello world"></OneColumn>
 */
function OneColumn(_ref) {
	var drawers = _ref.drawers,
	    children = _ref.children,
	    tabs = _ref.tabs,
	    props = _objectWithoutProperties(_ref, ['drawers', 'children', 'tabs']);

	var container = (0, _classnames2.default)('tc-layout-one-column', _OneColumn2.default.main);
	var style = {
		overflow: 'auto',
		height: '100%',
		display: 'flex',
		flexDirection: 'column'
	};
	return _react2.default.createElement(
		'div',
		_extends({ className: container }, props),
		_react2.default.createElement(
			_WithDrawer2.default,
			{ drawers: drawers },
			tabs && _react2.default.createElement(_TabBar2.default, tabs),
			_react2.default.createElement(
				'div',
				{ style: style },
				children
			)
		)
	);
}

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

exports.default = OneColumn;