UNPKG

@flexis/ui

Version:

Styleless React Components

83 lines (73 loc) 5.35 kB
import _extends from "@babel/runtime-corejs3/helpers/extends"; import _defineProperty from "@babel/runtime-corejs3/helpers/defineProperty"; import _objectWithoutProperties from "@babel/runtime-corejs3/helpers/objectWithoutProperties"; import _classCallCheck from "@babel/runtime-corejs3/helpers/classCallCheck"; import _createClass from "@babel/runtime-corejs3/helpers/createClass"; import _possibleConstructorReturn from "@babel/runtime-corejs3/helpers/possibleConstructorReturn"; import _getPrototypeOf from "@babel/runtime-corejs3/helpers/getPrototypeOf"; import _inherits from "@babel/runtime-corejs3/helpers/inherits"; import React from 'react'; var _createElement = React.createElement; var PureComponent = React.PureComponent, Children = React.Children, cloneElement = React.cloneElement; import PropTypes from 'prop-types'; import { AlignSideVariant, AlignSideValues } from '../common/types'; import { style, classes } from './Button.st.css'; var Button = /** @class */ function () { var Button = /*#__PURE__*/function (_PureComponent) { _inherits(Button, _PureComponent); function Button() { _classCallCheck(this, Button); return _possibleConstructorReturn(this, _getPrototypeOf(Button).apply(this, arguments)); } _createClass(Button, [{ key: "render", value: function render() { var _this$props = this.props, className = _this$props.className, elementRef = _this$props.elementRef, icon = _this$props.icon, flexIcon = _this$props.flexIcon, alignIcon = _this$props.alignIcon, children = _this$props.children, props = _objectWithoutProperties(_this$props, ["className", "elementRef", "icon", "flexIcon", "alignIcon", "children"]); var iconOnly = !Children.count(children); var leftAligned = alignIcon === AlignSideVariant.Left; var buttonIcon = null; if (typeof icon !== 'undefined') { buttonIcon = cloneElement(icon, { className: style(classes.icon, _defineProperty({}, "".concat(alignIcon, "Align"), Boolean(alignIcon) && !iconOnly), icon.props.className) }); } return _createElement("button", _extends({ ref: elementRef }, props, { className: style(classes.root, { withIcon: Boolean(buttonIcon), flexIcon: flexIcon }, className) }), buttonIcon ? _createElement("div", { className: classes.iconContainer }, leftAligned && buttonIcon, !iconOnly && _createElement("span", null, children), !leftAligned && buttonIcon) : children); } }]); return Button; }(PureComponent); process.env.NODE_ENV !== "production" ? Button.propTypes = { elementRef: PropTypes.func, icon: PropTypes.element, flexIcon: PropTypes.bool, alignIcon: PropTypes.oneOf(AlignSideValues), children: PropTypes.node } : void 0; Button.defaultProps = { flexIcon: false, alignIcon: AlignSideVariant.Left }; return Button; }(); export default Button; //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21wb25lbnRzL0J1dHRvbi9CdXR0b24udHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7O0FBQUEsT0FBTyxLQUFQLE1BUU8sT0FSUDs7Ozs7QUFTQSxPQUFPLFNBQVAsTUFBc0IsWUFBdEI7QUFJQSxTQUVDLGdCQUZELEVBR0MsZUFIRCxRQUlPLGlCQUpQO0FBS0EsU0FDQyxLQURELEVBRUMsT0FGRCxRQUdPLGlCQUhQOztBQWtCQSxJQUFBLE1BQUE7QUFBQTtBQUFBLFlBQUE7QUFBQSxNQUFxQixNQUFyQjtBQUFBOztBQUFBO0FBQUE7O0FBQUE7QUFBQTs7QUFBQTtBQUFBO0FBQUEsK0JBZU87QUFBQSwwQkFVRCxLQUFLLEtBVko7QUFBQSxZQUdKLFNBSEksZUFHSixTQUhJO0FBQUEsWUFJSixVQUpJLGVBSUosVUFKSTtBQUFBLFlBS0osSUFMSSxlQUtKLElBTEk7QUFBQSxZQU1KLFFBTkksZUFNSixRQU5JO0FBQUEsWUFPSixTQVBJLGVBT0osU0FQSTtBQUFBLFlBUUosUUFSSSxlQVFKLFFBUkk7QUFBQSxZQVNELEtBVEM7O0FBV0wsWUFBTSxRQUFRLEdBQUcsQ0FBQyxRQUFRLENBQUMsS0FBVCxDQUFlLFFBQWYsQ0FBbEI7QUFDQSxZQUFNLFdBQVcsR0FBRyxTQUFTLEtBQUssZ0JBQWdCLENBQUMsSUFBbkQ7QUFDQSxZQUFJLFVBQVUsR0FBc0IsSUFBcEM7O0FBRUEsWUFBSSxPQUFPLElBQVAsS0FBZ0IsV0FBcEIsRUFBaUM7QUFDaEMsVUFBQSxVQUFVLEdBQUcsWUFBWSxDQUN4QixJQUR3QixFQUV4QjtBQUNDLFlBQUEsU0FBUyxFQUFFLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBVCxnQ0FDWCxTQURXLFlBQ1EsT0FBTyxDQUFDLFNBQUQsQ0FBUCxJQUFzQixDQUFDLFFBRC9CLEdBRWIsSUFBSSxDQUFDLEtBQUwsQ0FBVyxTQUZFO0FBRGpCLFdBRndCLENBQXpCO0FBUUE7O0FBRUQsZUFDQztBQUNDLFVBQUEsR0FBRyxFQUFFO0FBRE4sV0FFSyxLQUZMO0FBR0MsVUFBQSxTQUFTLEVBQUUsS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFULEVBQWU7QUFDOUIsWUFBQSxRQUFRLEVBQUUsT0FBTyxDQUFDLFVBQUQsQ0FEYTtBQUU5QixZQUFBLFFBQVEsRUFBUjtBQUY4QixXQUFmLEVBR2IsU0FIYTtBQUhqQixZQVFFLFVBQVUsR0FDVjtBQUNDLFVBQUEsU0FBUyxFQUFFLE9BQU8sQ0FBQztBQURwQixXQUdFLFdBQVcsSUFBSSxVQUhqQixFQUlFLENBQUMsUUFBRCxJQUNBLDZCQUFPLFFBQVAsQ0FMRixFQU9FLENBQUMsV0FBRCxJQUFnQixVQVBsQixDQURVLEdBVVAsUUFsQkwsQ0FERDtBQXNCQTtBQS9ERjs7QUFBQTtBQUFBLElBQW9DLGFBQXBDOztBQUVRLDBDQUFBLE1BQUEsQ0FBQSxTQUFBLEdBQVk7QUFDbEIsSUFBQSxVQUFVLEVBQUUsU0FBUyxDQUFDLElBREo7QUFFbEIsSUFBQSxJQUFJLEVBQVEsU0FBUyxDQUFDLE9BRko7QUFHbEIsSUFBQSxRQUFRLEVBQUksU0FBUyxDQUFDLElBSEo7QUFJbEIsSUFBQSxTQUFTLEVBQUcsU0FBUyxDQUFDLEtBQVYsQ0FBZ0IsZUFBaEIsQ0FKTTtBQUtsQixJQUFBLFFBQVEsRUFBSSxTQUFTLENBQUM7QUFMSixHQUFaO0FBUUEsRUFBQSxNQUFBLENBQUEsWUFBQSxHQUFlO0FBQ3JCLElBQUEsUUFBUSxFQUFJLEtBRFM7QUFFckIsSUFBQSxTQUFTLEVBQUcsZ0JBQWdCLENBQUM7QUFGUixHQUFmO0FBc0RSLFNBQUEsTUFBQTtBQUFDLENBaEVELEVBQUE7O2VBQXFCLE0iLCJzb3VyY2VSb290IjoiIn0=