linkmore-design
Version:
π πlmη»δ»ΆεΊγπ
56 lines (54 loc) β’ 1.8 kB
JavaScript
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = exports.GroupSizeContext = void 0;
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
var _classnames = _interopRequireDefault(require("classnames"));
var React = _interopRequireWildcard(require("react"));
var _configProvider = require("../config-provider");
var _warning = _interopRequireDefault(require("../_util/warning"));
const GroupSizeContext = /*#__PURE__*/React.createContext(undefined);
exports.GroupSizeContext = GroupSizeContext;
const ButtonGroup = props => {
const {
getPrefixCls,
direction
} = React.useContext(_configProvider.ConfigContext);
const {
prefixCls: customizePrefixCls,
size,
className,
...others
} = props;
const prefixCls = getPrefixCls('btn-group', customizePrefixCls);
// large => lg
// small => sm
let sizeCls = '';
switch (size) {
case 'large':
sizeCls = 'lg';
break;
case 'small':
sizeCls = 'sm';
break;
case 'middle':
case undefined:
break;
default:
(0, _warning.default)(!size, 'Button.Group', 'Invalid prop `size`.');
}
const classes = (0, _classnames.default)(prefixCls, {
[`${prefixCls}-${sizeCls}`]: sizeCls,
[`${prefixCls}-rtl`]: direction === 'rtl'
}, className);
return /*#__PURE__*/React.createElement(GroupSizeContext.Provider, {
value: size
}, /*#__PURE__*/React.createElement("div", (0, _extends2.default)({}, others, {
className: classes
})));
};
var _default = ButtonGroup;
exports.default = _default;
;