function TypedRadioGroup()

in public/src/components/channelManagement/TypedRadioGroup.tsx [17:40]


function TypedRadioGroup<T extends string>({
  selectedValue,
  onChange,
  isDisabled,
  labels,
}: TypedRadioGroupProps<T>): React.ReactElement<TypedRadioGroupProps<T>> {
  return (
    <FormGroup>
      <RadioGroup value={selectedValue}>
        {(Object.entries(labels) as [T, string][]) // Cast necessary because Object.entries loses the types
          .map(([value, label]) => (
            <FormControlLabel
              value={value}
              key={value}
              control={<Radio />}
              label={label}
              disabled={isDisabled}
              onChange={() => onChange(value)}
            />
          ))}
      </RadioGroup>
    </FormGroup>
  );
}