UNPKG

gsy-component-library

Version:
78 lines (61 loc) 1.95 kB
'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); 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); var _reactInlinesvg = require('react-inlinesvg'); var _reactInlinesvg2 = _interopRequireDefault(_reactInlinesvg); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } require('./Button.' + (process.env.NODE_ENV === 'storybook' ? 'scss' : 'css')); var Button = function Button(props) { var label = props.label, disabled = props.disabled, onClick = props.onClick, type = props.type, className = props.className, icon = props.icon, style = props.style; var classes = (0, _classnames2.default)('button', 'button--' + type, className); return _react2.default.createElement( 'button', { className: classes, disabled: disabled, onClick: onClick, style: style }, icon && _react2.default.createElement( 'i', { className: 'button__icon' }, _react2.default.createElement(_reactInlinesvg2.default, { src: icon }) ), _react2.default.createElement( 'span', { className: 'button__label' }, ' ', label, ' ' ) ); }; Button.propTypes = { label: _propTypes2.default.string.isRequired, disabled: _propTypes2.default.bool, onClick: _propTypes2.default.func, type: _propTypes2.default.oneOf(['primary', 'secondary', 'cta', 'icon', 'verbund-primary', 'verbund-secondary']), icon: _propTypes2.default.string, className: _propTypes2.default.string }; Button.defaultProps = { type: 'primary', icon: undefined, disabled: false, onClick: function onClick() {}, className: '' }; exports.default = Button;