@cbinsights/fds
Version:
Form: A design system by CB Insights
62 lines (51 loc) • 2.2 kB
JavaScript
"use strict";
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = exports.GroupButton = void 0;
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
var _react = _interopRequireDefault(require("react"));
var _classcat = _interopRequireDefault(require("classcat"));
var _baseElement = _interopRequireDefault(require("../../../util/baseElement"));
var _excluded = ["Wrapper", "isActive", "Icon", "label", "Link", "isFirstButton", "isLastButton", "href"];
var WrapperComponent = function WrapperComponent(_ref) {
var children = _ref.children;
return children;
};
var GroupButton = function GroupButton(props) {
var _props$Wrapper = props.Wrapper,
Wrapper = _props$Wrapper === void 0 ? WrapperComponent : _props$Wrapper,
isActive = props.isActive,
Icon = props.Icon,
label = props.label,
Link = props.Link,
isFirstButton = props.isFirstButton,
isLastButton = props.isLastButton,
href = props.href,
rest = (0, _objectWithoutProperties2.default)(props, _excluded);
var Element = (0, _baseElement.default)({
href: href,
onClick: true,
as: Link
});
var rootClass = (0, _classcat.default)([{
'groupbtn--disabled': props.disabled,
'groupbtn--active': isActive,
'groupbtn--first': isFirstButton,
'groupbtn--last': isLastButton
}, 'groupbtn', 'border--focus--noTransition', 'transition--default']);
return /*#__PURE__*/_react.default.createElement(Wrapper, null, /*#__PURE__*/_react.default.createElement(Element, (0, _extends2.default)({}, rest, {
className: rootClass
}), Icon && /*#__PURE__*/_react.default.createElement("div", {
className: "margin--right--s"
}, /*#__PURE__*/_react.default.createElement(Icon, {
size: "xs"
})), /*#__PURE__*/_react.default.createElement("span", {
className: "groupbtn-label"
}, label)));
};
exports.GroupButton = GroupButton;
var _default = GroupButton;
exports.default = _default;