@heycar-uikit/core
Version:
The React UI library from HeyCar
21 lines (17 loc) • 1.34 kB
JavaScript
import { _ as __rest, a as __assign } from './tslib.es6-b638d9bd.js';
import React from 'react';
var styles = {"wrapper":"segmented-buttons__wrapper_9p12n","btn":"segmented-buttons__btn_9p12n","isWideView":"segmented-buttons__isWideView_9p12n"};
var SegmentedButtons = React.forwardRef(function (_a, ref) {
var className = _a.className, currentValue = _a.currentValue, buttons = _a.buttons, dataTestId = _a.dataTestId, onChange = _a.onChange, wideView = _a.wideView, restProps = __rest(_a, ["className", "currentValue", "buttons", "dataTestId", "onChange", "wideView"]);
return (React.createElement("div", __assign({ className: styles.wrapper + " " + (wideView ? styles.isWideView : '') + " " + className, "data-test-id": dataTestId, ref: ref, role: "radiogroup" }, restProps), buttons.map(function (btn) {
var isActive = currentValue === btn.value;
return (React.createElement("button", { "aria-checked": isActive, "aria-label": btn.label, className: styles.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';
export { SegmentedButtons as default };