UNPKG

@lyra/default-layout

Version:

The default layout components for Lyra

116 lines (89 loc) 3.47 kB
'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); var _propTypes = require('prop-types'); var _propTypes2 = _interopRequireDefault(_propTypes); var _react = require('react'); var _react2 = _interopRequireDefault(_react); var _LoginStatus = require('./LoginStatus'); var _LoginStatus2 = _interopRequireDefault(_LoginStatus); var _toolSwitcher = require('part:@lyra/default-layout/tool-switcher'); var _toolSwitcher2 = _interopRequireDefault(_toolSwitcher); var _MobileNavigation = require('./styles/MobileNavigation.css'); var _MobileNavigation2 = _interopRequireDefault(_MobileNavigation); var _Branding = require('./Branding'); var _Branding2 = _interopRequireDefault(_Branding); var _hamburgerIcon = require('part:@lyra/base/hamburger-icon'); var _hamburgerIcon2 = _interopRequireDefault(_hamburgerIcon); var _default = require('part:@lyra/components/buttons/default'); var _default2 = _interopRequireDefault(_default); var _Search = require('./Search'); var _Search2 = _interopRequireDefault(_Search); var _router = require('part:@lyra/base/router'); var _SpaceSwitcher = require('./SpaceSwitcher'); var _SpaceSwitcher2 = _interopRequireDefault(_SpaceSwitcher); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } class MobileNavigation extends _react2.default.Component { constructor(...args) { var _temp; return _temp = super(...args), this.state = { isOpen: false }, this.handleOpen = event => { this.setState({ isOpen: true }); }, this.handleClose = event => { this.setState({ isOpen: false }); }, this.handleToggle = () => { this.setState({ isOpen: !this.state.isOpen }); }, _temp; } render() { const isOpen = this.state.isOpen; const tools = this.props.tools; return _react2.default.createElement( 'div', { className: _MobileNavigation2.default.root }, _react2.default.createElement(_default2.default, { kind: 'simple', className: _MobileNavigation2.default.hamburgerButton, onClick: this.handleToggle, title: 'Menu', icon: _hamburgerIcon2.default }), _react2.default.createElement('div', { className: _MobileNavigation2.default.headerBackground }), _react2.default.createElement( 'div', { className: `${isOpen ? _MobileNavigation2.default.menuOpen : _MobileNavigation2.default.menuClosed}` }, _react2.default.createElement( 'div', { className: _MobileNavigation2.default.searchContainer }, _react2.default.createElement(_Search2.default, { onSelect: this.handleClose }) ), _react2.default.createElement(_SpaceSwitcher2.default, null), _react2.default.createElement(_LoginStatus2.default, { className: _MobileNavigation2.default.loginStatus }), _react2.default.createElement( _router.WithRouter, null, router => _react2.default.createElement(_toolSwitcher2.default, { tools: tools, activeToolName: router.state.tool, className: _MobileNavigation2.default.toolSwitcher, onClick: this.handleClose }) ) ) ); } } exports.default = MobileNavigation; MobileNavigation.propTypes = { tools: _propTypes2.default.arrayOf(_propTypes2.default.shape({ title: _propTypes2.default.string })) };