UNPKG

snabbdom-material

Version:

Stateless UI components for snabbdom that follow material design

71 lines (50 loc) 1.89 kB
'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); var _h = require('snabbdom/h'); var _h2 = _interopRequireDefault(_h); var _style = require('../../style'); var _mask = require('../mask'); var _mask2 = _interopRequireDefault(_mask); var _item = require('./item'); var _item2 = _interopRequireDefault(_item); var _title = require('./title'); var _title2 = _interopRequireDefault(_title); var _paper = require('../paper'); var _paper2 = _interopRequireDefault(_paper); var _separator = require('../menu/separator'); var _separator2 = _interopRequireDefault(_separator); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } function _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } } var Sidenav = function Sidenav(_ref) { var _ref$isOpen = _ref.isOpen; var isOpen = _ref$isOpen === undefined ? false : _ref$isOpen; var _ref$mini = _ref.mini; var mini = _ref$mini === undefined ? false : _ref$mini; var onClose = _ref.onClose; var style = _ref.style; var children = arguments.length <= 1 || arguments[1] === undefined ? '' : arguments[1]; var styles = (0, _style.getStyle)('sidenav', style); return mini ? (0, _paper2.default)({ noPadding: true, style: { paper: styles.mini } }, children) : (0, _h2.default)('div', { style: styles.container }, [(0, _mask2.default)({ onClick: onClose, isOpen: isOpen })].concat(_toConsumableArray(isOpen ? [(0, _paper2.default)({ noPadding: true, elevation: 2, style: { paper: styles.sidenav } }, children)] : []))); }; Sidenav.Item = _item2.default; Sidenav.Separator = _separator2.default; Sidenav.Title = _title2.default; exports.default = Sidenav;