neuelabs-button
Version:
neuelabs react button component
70 lines (54 loc) • 2.36 kB
JavaScript
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
var _style = require('styled-jsx/style');
var _style2 = _interopRequireDefault(_style);
var _react = require('react');
var _react2 = _interopRequireDefault(_react);
var _propTypes = require('prop-types');
var _propTypes2 = _interopRequireDefault(_propTypes);
var _classnames = require('classnames');
var _classnames2 = _interopRequireDefault(_classnames);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
var Button = function Button(_ref) {
var children = _ref.children,
color = _ref.color,
size = _ref.size,
block = _ref.block,
type = _ref.type,
onClick = _ref.onClick,
disabled = _ref.disabled;
var styles = (0, _classnames2.default)(color, size, { block: block }, { disabled: disabled });
return _react2.default.createElement(
'button',
{
type: type,
onClick: onClick,
disabled: disabled,
className: 'jsx-1013360003' + ' ' + (styles || '')
},
children,
_react2.default.createElement(_style2.default, {
styleId: '1013360003',
css: 'button.jsx-1013360003{background-color:transparent;border:none;font-weight:500;cursor:pointer;text-transform:uppercase;-webkit-letter-spacing:2px;-moz-letter-spacing:2px;-ms-letter-spacing:2px;letter-spacing:2px;outline:none;display:inline-block;}.dark.jsx-1013360003{background-color:#000;color:#fff;}.light.jsx-1013360003{background-color:#fff;color:#000;}.small.jsx-1013360003{font-size:8px;height:30px;padding-left:30px;padding-right:30px;}.medium.jsx-1013360003{font-size:10px;height:40px;padding-left:40px;padding-right:40px;}.large.jsx-1013360003{font-size:14px;height:50px;padding-left:50px;padding-right:50px;}.block.jsx-1013360003{display:block;width:100%;}.disabled.jsx-1013360003{cursor:not-allowed;opacity:0.5;}'
})
);
};
Button.propTypes = {
children: _propTypes2.default.node.isRequired,
color: _propTypes2.default.oneOf(['dark', 'light']),
size: _propTypes2.default.oneOf(['small', 'medium', 'large']),
block: _propTypes2.default.bool,
type: _propTypes2.default.oneOf(['button', 'submit']),
onClick: _propTypes2.default.func,
disabled: _propTypes2.default.bool
};
Button.defaultProps = {
color: 'dark',
size: 'medium',
block: false,
type: 'button',
disabled: false
};
exports.default = Button;