UNPKG

mini.css-inferno

Version:
64 lines (55 loc) 2.83 kB
'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); exports.DrawerToggle = DrawerToggle; exports.Drawer = Drawer; var _infernoCreateElement = require('inferno-create-element'); var _infernoCreateElement2 = _interopRequireDefault(_infernoCreateElement); var _idGenerator = require('./util/idGenerator'); var _idGenerator2 = _interopRequireDefault(_idGenerator); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } // Module constants (change according to your flavor file) var drawerToggleClassName = 'drawer-toggle'; var drawerClassName = 'drawer'; var drawerRightClassName = 'right'; var drawerPersistenClassName = 'persistent'; var drawerCloseName = 'close'; // DrawerToggle component. function DrawerToggle(props) { var outProps = Object.assign({}, props); if (typeof outProps['htmlFor'] === 'undefined') throw 'Error: A \'DrawerToggle\' component must have an \'htmlFor\' attribute.'; if (typeof outProps.className === 'undefined') outProps.className = drawerToggleClassName;else outProps.className += ' ' + drawerToggleClassName; if (typeof outProps.persistent === 'undefined') outProps.persistent = false; if (outProps.persistent) outProps.className += ' ' + drawerPersistenClassName; delete outProps.persistent; return (0, _infernoCreateElement2.default)('label', outProps); } // Drawer component. function Drawer(props) { var outProps = Object.assign({}, props); if (typeof outProps.id === 'undefined') throw 'Error: A \'Drawer\' component must have an \'id\' attribute.'; if (typeof outProps.className === 'undefined') outProps.className = drawerClassName;else outProps.className += ' ' + drawerClassName; if (typeof outProps.right === 'undefined') outProps.right = false; if (typeof outProps.persistent === 'undefined') outProps.persistent = false; if (outProps.right) outProps.className += ' ' + drawerRightClassName; if (outProps.persistent) outProps.className += ' ' + drawerPersistenClassName; var childrenToRender = []; childrenToRender.push((0, _infernoCreateElement2.default)('input', { id: outProps.id, type: 'checkbox', key: outProps.id + (0, _idGenerator2.default)() + '_checkbox' })); var children = Array.isArray(outProps.children) ? outProps.children : [outProps.children]; children.push((0, _infernoCreateElement2.default)('label', { 'htmlFor': outProps.id, className: drawerCloseName, key: outProps.id + (0, _idGenerator2.default)() + '_close' })); delete outProps.id; delete outProps.right; delete outProps.persistent; outProps.key = outProps.id + (0, _idGenerator2.default)() + '_drawer'; childrenToRender.push((0, _infernoCreateElement2.default)('div', outProps, children)); return (0, _infernoCreateElement2.default)('div', {}, childrenToRender); }