UNPKG

@heycar-uikit/core

Version:
26 lines (20 loc) 1.62 kB
var tslib_es6 = require('./tslib.es6-1bd62fae.js'); var React = require('react'); function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; } var React__default = /*#__PURE__*/_interopDefaultLegacy(React); var styles = {"wrapper":"segmented-buttons__wrapper_9p12n","btn":"segmented-buttons__btn_9p12n","isWideView":"segmented-buttons__isWideView_9p12n"}; require('./styles/default.css'); 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.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__default["default"].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'; module.exports = SegmentedButtons;