UNPKG

@simply-fin-services/astronomix

Version:

astronomix components

43 lines (37 loc) 1.71 kB
var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; function _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; } import React from 'react'; import './style-button.scss'; import './style-circle-button.scss'; var getClassNameFromProp = function getClassNameFromProp(prop, prefix) { return prop && '' + prefix + prop || ''; }; var getSizeClassName = function getSizeClassName(size, prefix) { return getClassNameFromProp(size, prefix); }; var getTypeClassName = function getTypeClassName(type, prefix) { return getClassNameFromProp(type, prefix); }; var Button = function Button(_ref) { var type = _ref.type, circle = _ref.circle, icon = _ref.icon, size = _ref.size, children = _ref.children, rest = _objectWithoutProperties(_ref, ['type', 'circle', 'icon', 'size', 'children']); var prefix = circle ? 's-circle-btn-' : 's-btn-'; return circle ? React.createElement( 'button', _extends({ className: 's-circle-btn ' + getTypeClassName(type, prefix) }, rest), icon ? React.createElement( 'i', { className: 'material-icons s-icon-small' }, icon ) : { children: children } ) : React.createElement( 'button', _extends({ className: 's-btn ' + getTypeClassName(type, prefix) + ' ' + getSizeClassName(size, prefix) }, rest), children ); }; export default Button;