UNPKG

coreui

Version:

Platform Core UI

83 lines (57 loc) 2.7 kB
'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); 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; }; var _react = require('react'); var _react2 = _interopRequireDefault(_react); var _Shared = require('../../Shared'); var _Shared2 = _interopRequireDefault(_Shared); var _Button = require('../../theme/components/Button'); var _Button2 = _interopRequireDefault(_Button); var _dedupe = require('classnames/dedupe'); var _dedupe2 = _interopRequireDefault(_dedupe); var _mapProps = require('recompose/mapProps'); var _mapProps2 = _interopRequireDefault(_mapProps); var _ramda = require('ramda'); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } 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; } var systemStyles = {}; var ButtonContainer = (0, _mapProps2.default)(function (_ref) { var actionType = _ref.actionType, className = _ref.className, sheet = _ref.sheet, style = _ref.style, theme = _ref.theme, rest = _objectWithoutProperties(_ref, ['actionType', 'className', 'sheet', 'style', 'theme']); return _extends({ className: (0, _dedupe2.default)(sheet.classes.button, sheet.classes[actionType], theme.classes.button, theme.classes[actionType], className), style: (0, _ramda.merge)(theme.styles.button, theme.styles[actionType], style) }, rest); })('button'); var StyledButton = _Shared2.default.injectSheet(systemStyles)(ButtonContainer); var Button = function Button(props) { return _react2.default.createElement( StyledButton, props, props.children ); }; var classes = _Button2.default.classes; var options = _Button2.default.options; var styles = _Button2.default.styles; Button.defaultProps = { actionType: 'default', theme: { classes: classes, options: options, styles: styles } }; Button.displayName = 'Button'; Button.propTypes = { actionType: _react.PropTypes.oneOf(['default', 'link', 'primary', 'secondary']), children: _react.PropTypes.node, className: _react.PropTypes.string, onClick: _react.PropTypes.func, theme: _react.PropTypes.oneOfType([_react.PropTypes.bool, _react.PropTypes.object]), type: _react.PropTypes.oneOf(['button', 'reset', 'submit']) }; _Shared2.default.registerComponent('Button', Button); exports.default = Button;