mini.css-inferno
Version:
Mini.css components built with Inferno.
41 lines (33 loc) • 1.73 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.Checkbox = Checkbox;
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 inputGroupClassName = 'input-group';
// Checkbox component.
function Checkbox(props) {
var outProps = Object.assign({}, props);
if (typeof outProps.labelText === 'undefined') throw 'Error: The \'Checkbox\' component\'s \'labelText\' property is mandatory. Please specify a value.';
if (typeof outProps.id === 'undefined') outProps.id = 'checkbox_' + (0, _idGenerator2.default)();
if (typeof outProps.className === 'undefined') outProps.className = '';
var childrenToRender = [];
var checkboxProps = Object.assign({}, outProps);
checkboxProps.key = outProps.id + '_input';
checkboxProps.type = 'checkbox';
delete checkboxProps.labelText;
childrenToRender.push((0, _infernoCreateElement2.default)('input', checkboxProps));
var labelProps = Object.assign({}, outProps);
labelProps.key = outProps.id + '_label';
labelProps['htmlFor'] = outProps.id;
labelProps.children = outProps.labelText;
delete labelProps.id;
delete labelProps.labelText;
childrenToRender.push((0, _infernoCreateElement2.default)('label', labelProps, labelProps.children));
return (0, _infernoCreateElement2.default)('div', { className: outProps.className + ' ' + inputGroupClassName }, childrenToRender);
}