import * as React from "react"; import { classList, ControlProps } from "../util"; import { FocusList } from "./FocusList"; export interface RadioButtonGroupProps extends ControlProps { id: string; choices: RadioGroupChoice[]; selectedId: string; onChoiceSelected: (id: string) => void; } export interface RadioGroupChoice { title: string; id: string; className?: string; icon?: string; label?: string | JSX.Element; } export const RadioButtonGroup = (props: RadioButtonGroupProps) => { const { id, className, ariaHidden, ariaLabel, role, choices, selectedId, onChoiceSelected } = props; const onChoiceClick = (id: string) => { onChoiceSelected(id); } return ( {choices.map(choice =>
onChoiceClick(choice.id)} tabIndex={0} aria-label={choice.label ? undefined : choice.title} aria-labelledby={choice.label ? choice.id + "-label" : undefined} /> {choice.label && {choice.label} } {choice.icon && }
)}
) }