@cbinsights/fds
Version:
Form: A design system by CB Insights
50 lines (40 loc) • 1.74 kB
JavaScript
;
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
var _react = _interopRequireDefault(require("react"));
var _combine = _interopRequireDefault(require("../../util/combine"));
var _GroupButton = _interopRequireDefault(require("./GroupButton"));
var _excluded = ["buttons", "onChange"],
_excluded2 = ["value", "key", "Icon", "onClick", "label"];
var ButtonGroup = function ButtonGroup(_ref) {
var buttons = _ref.buttons,
onChange = _ref.onChange,
restBtnGroup = (0, _objectWithoutProperties2.default)(_ref, _excluded);
return /*#__PURE__*/_react.default.createElement("div", (0, _extends2.default)({}, restBtnGroup, {
className: "btngroup"
}), buttons.map(function (_ref2, index) {
var value = _ref2.value,
key = _ref2.key,
Icon = _ref2.Icon,
onClick = _ref2.onClick,
label = _ref2.label,
restBtn = (0, _objectWithoutProperties2.default)(_ref2, _excluded2);
return /*#__PURE__*/_react.default.createElement(_GroupButton.default, (0, _extends2.default)({
key: key || label,
onClick: onChange ? (0, _combine.default)(function () {
return onChange(label || value);
}, onClick) : onClick,
label: label,
Icon: Icon,
isFirstButton: index === 0,
isLastButton: index === buttons.length - 1
}, restBtn));
}));
};
var _default = ButtonGroup;
exports.default = _default;