@heycar-uikit/core
Version:
The React UI library from HeyCar
25 lines (20 loc) • 1.61 kB
JavaScript
var tslib_es6 = require('./tslib.es6-dc6abeaa.js');
var React = require('react');
var styles = require('./styles/default.module.css');
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
var styles__default = /*#__PURE__*/_interopDefaultLegacy(styles);
var SegmentedButtons = React__default["default"].forwardRef(function (_a, ref) {
var className = _a.className, currentValue = _a.currentValue, buttons = _a.buttons, dataTestId = _a.dataTestId, onChange = _a.onChange, wideView = _a.wideView, restProps = tslib_es6.__rest(_a, ["className", "currentValue", "buttons", "dataTestId", "onChange", "wideView"]);
return (React__default["default"].createElement("div", tslib_es6.__assign({ className: styles__default["default"].wrapper + " " + (wideView ? styles__default["default"].isWideView : '') + " " + className, "data-test-id": dataTestId, ref: ref, role: "radiogroup" }, restProps), buttons.map(function (btn) {
var isActive = currentValue === btn.value;
return (React__default["default"].createElement("button", { "aria-checked": isActive, "aria-label": btn.label, className: styles__default["default"].btn, "data-test-id": btn.dataTestId, disabled: btn.isDisabled, key: btn.label, onClick: function () {
if (!isActive)
onChange(btn.value);
}, role: "radio" },
btn.icon,
btn.label));
})));
});
SegmentedButtons.displayName = 'SegmentedButtons';
module.exports = SegmentedButtons;