UNPKG

mini.css-inferno

Version:
35 lines (29 loc) 1.75 kB
'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); exports.Button = Button; var _infernoCreateElement = require('inferno-create-element'); var _infernoCreateElement2 = _interopRequireDefault(_infernoCreateElement); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } // Module constants (change according to your flavor file) var buttonClassName = 'button'; function Button(props) { var outProps = Object.assign({}, props); if (typeof outProps.type === 'undefined') outProps.type = 'button'; if (outProps.type != 'button' && outProps.type != 'link' && outProps.type != 'label' && outProps.type != 'input' && outProps.type != 'submit' && outProps.type != 'reset') throw 'Error: A \'Button\' component\'s \'type\' propery must be one of the following: {button, link, label, input, submit, reset}.'; if (outProps.type == 'link' || outProps.type == 'label') if (typeof outProps.className === 'undefined') outProps.className = buttonClassName;else outProps.className += ' ' + buttonClassName; if (outProps.type == 'link') { delete outProps.type; return (0, _infernoCreateElement2.default)('a', outProps, outProps.children); } else if (outProps.type == 'label') { delete outProps.type; return (0, _infernoCreateElement2.default)('label', outProps, outProps.children); } else if (outProps.type == 'input' || outProps.type == 'submit' || outProps.type == 'reset') { if (outProps.type == 'input') outProps.type = 'button'; outProps.value = outProps.children; delete outProps.children; return (0, _infernoCreateElement2.default)('input', outProps); } return (0, _infernoCreateElement2.default)('button', outProps, outProps.children); }