@flexis/ui
Version:
Styleless React Components
95 lines (84 loc) • 6.48 kB
JavaScript
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 './FormGroup.st.css';
var FormGroup =
/** @class */
function () {
var FormGroup = /*#__PURE__*/function (_PureComponent) {
_inherits(FormGroup, _PureComponent);
function FormGroup() {
_classCallCheck(this, FormGroup);
return _possibleConstructorReturn(this, _getPrototypeOf(FormGroup).apply(this, arguments));
}
_createClass(FormGroup, [{
key: "render",
value: function render() {
var _style2;
var _this$props = this.props,
className = _this$props.className,
idProp = _this$props.id,
flex = _this$props.flex,
label = _this$props.label,
description = _this$props.description,
icon = _this$props.icon,
alignIcon = _this$props.alignIcon,
children = _this$props.children,
props = _objectWithoutProperties(_this$props, ["className", "id", "flex", "label", "description", "icon", "alignIcon", "children"]);
var child = Children.only(children);
var childProps = child.props;
var id = idProp || childProps.id;
var withIcon = typeof icon !== 'undefined';
var inputIcon = null;
if (withIcon) {
inputIcon = cloneElement(icon, {
className: style(classes.icon, _defineProperty({}, "".concat(alignIcon, "Align"), Boolean(alignIcon)), icon.props.className)
});
}
return _createElement("div", _extends({}, props, {
className: style(classes.root, {
withIcon: withIcon
}, className)
}), cloneElement(child, {
id: id,
className: style(classes.input, (_style2 = {}, _defineProperty(_style2, "".concat(alignIcon, "Icon"), withIcon), _defineProperty(_style2, "flex", flex), _style2), childProps.className)
}), inputIcon, label && _createElement("label", {
className: classes.label,
htmlFor: id
}, label), description && _createElement("label", {
className: classes.description,
htmlFor: id
}, description));
}
}]);
return FormGroup;
}(PureComponent);
process.env.NODE_ENV !== "production" ? FormGroup.propTypes = {
id: PropTypes.string,
flex: PropTypes.bool,
label: PropTypes.oneOfType([PropTypes.string, PropTypes.element]),
description: PropTypes.oneOfType([PropTypes.string, PropTypes.element]),
icon: PropTypes.element,
alignIcon: PropTypes.oneOf(AlignSideValues),
children: PropTypes.node.isRequired
} : void 0;
FormGroup.defaultProps = {
flex: true,
alignIcon: AlignSideVariant.Left
};
return FormGroup;
}();
export default FormGroup;
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21wb25lbnRzL0Zvcm1Hcm91cC9Gb3JtR3JvdXAudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7O0FBQUEsT0FBTyxLQUFQLE1BTU8sT0FOUDs7Ozs7QUFPQSxPQUFPLFNBQVAsTUFBc0IsWUFBdEI7QUFJQSxTQUVDLGdCQUZELEVBR0MsZUFIRCxRQUlPLGlCQUpQO0FBS0EsU0FDQyxLQURELEVBRUMsT0FGRCxRQUdPLG9CQUhQOztBQW9CQSxJQUFBLFNBQUE7QUFBQTtBQUFBLFlBQUE7QUFBQSxNQUFxQixTQUFyQjtBQUFBOztBQUFBO0FBQUE7O0FBQUE7QUFBQTs7QUFBQTtBQUFBO0FBQUEsK0JBdUJPO0FBQUE7O0FBQUEsMEJBWUQsS0FBSyxLQVpKO0FBQUEsWUFHSixTQUhJLGVBR0osU0FISTtBQUFBLFlBSUEsTUFKQSxlQUlKLEVBSkk7QUFBQSxZQUtKLElBTEksZUFLSixJQUxJO0FBQUEsWUFNSixLQU5JLGVBTUosS0FOSTtBQUFBLFlBT0osV0FQSSxlQU9KLFdBUEk7QUFBQSxZQVFKLElBUkksZUFRSixJQVJJO0FBQUEsWUFTSixTQVRJLGVBU0osU0FUSTtBQUFBLFlBVUosUUFWSSxlQVVKLFFBVkk7QUFBQSxZQVdELEtBWEM7O0FBYUwsWUFBTSxLQUFLLEdBQUcsUUFBUSxDQUFDLElBQVQsQ0FBYyxRQUFkLENBQWQ7QUFiSyxZQWVHLFVBZkgsR0FnQkQsS0FoQkMsQ0FlSixLQWZJO0FBaUJMLFlBQU0sRUFBRSxHQUFHLE1BQU0sSUFBSSxVQUFVLENBQUMsRUFBaEM7QUFDQSxZQUFNLFFBQVEsR0FBRyxPQUFPLElBQVAsS0FBZ0IsV0FBakM7QUFDQSxZQUFJLFNBQVMsR0FBc0IsSUFBbkM7O0FBRUEsWUFBSSxRQUFKLEVBQWM7QUFDYixVQUFBLFNBQVMsR0FBRyxZQUFZLENBQ3ZCLElBRHVCLEVBRXZCO0FBQ0MsWUFBQSxTQUFTLEVBQUUsS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFULGdDQUNYLFNBRFcsWUFDUSxPQUFPLENBQUMsU0FBRCxDQURmLEdBRWIsSUFBSSxDQUFDLEtBQUwsQ0FBVyxTQUZFO0FBRGpCLFdBRnVCLENBQXhCO0FBUUE7O0FBRUQsZUFDQyxtQ0FDSyxLQURMO0FBRUMsVUFBQSxTQUFTLEVBQUUsS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFULEVBQWU7QUFDOUIsWUFBQSxRQUFRLEVBQVI7QUFEOEIsV0FBZixFQUViLFNBRmE7QUFGakIsWUFNRSxZQUFZLENBQ1osS0FEWSxFQUVaO0FBQ0MsVUFBQSxFQUFFLEVBQUYsRUFERDtBQUVDLFVBQUEsU0FBUyxFQUFFLEtBQUssQ0FBQyxPQUFPLENBQUMsS0FBVCxvREFDWCxTQURXLFdBQ08sUUFEUCxvQ0FFZixJQUZlLGFBR2IsVUFBVSxDQUFDLFNBSEU7QUFGakIsU0FGWSxDQU5kLEVBZ0JFLFNBaEJGLEVBaUJFLEtBQUssSUFDTDtBQUNDLFVBQUEsU0FBUyxFQUFFLE9BQU8sQ0FBQyxLQURwQjtBQUVDLFVBQUEsT0FBTyxFQUFFO0FBRlYsV0FJRSxLQUpGLENBbEJGLEVBeUJFLFdBQVcsSUFDWDtBQUNDLFVBQUEsU0FBUyxFQUFFLE9BQU8sQ0FBQyxXQURwQjtBQUVDLFVBQUEsT0FBTyxFQUFFO0FBRlYsV0FJRSxXQUpGLENBMUJGLENBREQ7QUFvQ0E7QUEzRkY7O0FBQUE7QUFBQSxJQUF1QyxhQUF2Qzs7QUFFUSwwQ0FBQSxTQUFBLENBQUEsU0FBQSxHQUFZO0FBQ2xCLElBQUEsRUFBRSxFQUFXLFNBQVMsQ0FBQyxNQURMO0FBRWxCLElBQUEsSUFBSSxFQUFTLFNBQVMsQ0FBQyxJQUZMO0FBR2xCLElBQUEsS0FBSyxFQUFRLFNBQVMsQ0FBQyxTQUFWLENBQW9CLENBQ2hDLFNBQVMsQ0FBQyxNQURzQixFQUVoQyxTQUFTLENBQUMsT0FGc0IsQ0FBcEIsQ0FISztBQU9sQixJQUFBLFdBQVcsRUFBRSxTQUFTLENBQUMsU0FBVixDQUFvQixDQUNoQyxTQUFTLENBQUMsTUFEc0IsRUFFaEMsU0FBUyxDQUFDLE9BRnNCLENBQXBCLENBUEs7QUFXbEIsSUFBQSxJQUFJLEVBQVMsU0FBUyxDQUFDLE9BWEw7QUFZbEIsSUFBQSxTQUFTLEVBQUksU0FBUyxDQUFDLEtBQVYsQ0FBZ0IsZUFBaEIsQ0FaSztBQWFsQixJQUFBLFFBQVEsRUFBSyxTQUFTLENBQUMsSUFBVixDQUFlO0FBYlYsR0FBWjtBQWdCQSxFQUFBLFNBQUEsQ0FBQSxZQUFBLEdBQWU7QUFDckIsSUFBQSxJQUFJLEVBQU8sSUFEVTtBQUVyQixJQUFBLFNBQVMsRUFBRSxnQkFBZ0IsQ0FBQztBQUZQLEdBQWY7QUEwRVIsU0FBQSxTQUFBO0FBQUMsQ0E1RkQsRUFBQTs7ZUFBcUIsUyIsInNvdXJjZVJvb3QiOiIifQ==