@vectara/vectara-ui
Version:
Vectara's design system, codified as a React and Sass component library
23 lines (22 loc) • 1.96 kB
JavaScript
var __rest = (this && this.__rest) || function (s, e) {
var t = {};
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
t[p] = s[p];
if (s != null && typeof Object.getOwnPropertySymbols === "function")
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
t[p[i]] = s[p[i]];
}
return t;
};
import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
import { createId } from "../../../utils/createId";
import { VuiFlexContainer } from "../../flex/FlexContainer";
import { VuiFlexItem } from "../../flex/FlexItem";
import { VuiSpacer } from "../../spacer/Spacer";
import { VuiText } from "../../typography/Text";
export const VuiSuperRadioButton = (_a) => {
var { label, description, value, checked, onChange, groupName } = _a, rest = __rest(_a, ["label", "description", "value", "checked", "onChange", "groupName"]);
const id = createId();
return (_jsx("label", Object.assign({ className: "vuiSuperRadioButton", htmlFor: id }, { children: _jsxs(VuiFlexContainer, Object.assign({ spacing: "l", alignItems: "center" }, { children: [_jsx(VuiFlexItem, Object.assign({ grow: false, shrink: 1 }, { children: _jsx("input", Object.assign({ id: id, name: groupName, type: "radio", checked: checked, onChange: () => onChange(value) }, rest)) })), _jsxs(VuiFlexItem, Object.assign({ grow: false, shrink: 1 }, { children: [_jsx(VuiText, { children: _jsx("p", Object.assign({ className: "vuiSuperRadioButton__text" }, { children: label })) }), description && (_jsxs(_Fragment, { children: [_jsx(VuiSpacer, { size: "xxs" }), _jsx(VuiText, Object.assign({ size: "xs" }, { children: _jsx("p", Object.assign({ className: "vuiSuperRadioButton__text vuiSuperRadioButton__description" }, { children: description })) }))] }))] }))] })) })));
};