shineout
Version:
Shein 前端组件库
48 lines (41 loc) • 1.45 kB
JavaScript
import _inheritsLoose from "@babel/runtime/helpers/inheritsLoose";
import _defineProperty from "@babel/runtime/helpers/defineProperty";
import React, { Children, PureComponent, cloneElement } from 'react';
import classnames from 'classnames';
import { buttonClass } from './styles';
import { isRTL } from '../config';
var ButtonGroup =
/*#__PURE__*/
function (_PureComponent) {
_inheritsLoose(ButtonGroup, _PureComponent);
function ButtonGroup() {
return _PureComponent.apply(this, arguments) || this;
}
var _proto = ButtonGroup.prototype;
_proto.render = function render() {
var _this$props = this.props,
children = _this$props.children,
outline = _this$props.outline,
size = _this$props.size,
type = _this$props.type,
style = _this$props.style;
var typeSetted = type !== 'default';
var className = classnames(buttonClass('group', (outline || !typeSetted) && 'outline', isRTL() && 'group-rtl'), this.props.className);
return React.createElement("div", {
className: className,
style: style
}, Children.toArray(children).map(function (child) {
return cloneElement(child, {
size: size,
outline: outline,
type: typeSetted ? type : child.props.type
});
}));
};
return ButtonGroup;
}(PureComponent);
_defineProperty(ButtonGroup, "defaultProps", {
outline: false,
type: 'default'
});
export default ButtonGroup;