Add ability to disable entire StyledRadioGroup
This commit is contained in:
parent
56fe7f8763
commit
18cafeb221
1 changed files with 12 additions and 3 deletions
|
@ -19,7 +19,7 @@ import classNames from "classnames";
|
||||||
|
|
||||||
import StyledRadioButton from "./StyledRadioButton";
|
import StyledRadioButton from "./StyledRadioButton";
|
||||||
|
|
||||||
interface IDefinition<T extends string> {
|
export interface IDefinition<T extends string> {
|
||||||
value: T;
|
value: T;
|
||||||
className?: string;
|
className?: string;
|
||||||
disabled?: boolean;
|
disabled?: boolean;
|
||||||
|
@ -34,10 +34,19 @@ interface IProps<T extends string> {
|
||||||
definitions: IDefinition<T>[];
|
definitions: IDefinition<T>[];
|
||||||
value?: T; // if not provided no options will be selected
|
value?: T; // if not provided no options will be selected
|
||||||
outlined?: boolean;
|
outlined?: boolean;
|
||||||
|
disabled?: boolean;
|
||||||
onChange(newValue: T): void;
|
onChange(newValue: T): void;
|
||||||
}
|
}
|
||||||
|
|
||||||
function StyledRadioGroup<T extends string>({name, definitions, value, className, outlined, onChange}: IProps<T>) {
|
function StyledRadioGroup<T extends string>({
|
||||||
|
name,
|
||||||
|
definitions,
|
||||||
|
value,
|
||||||
|
className,
|
||||||
|
outlined,
|
||||||
|
disabled,
|
||||||
|
onChange,
|
||||||
|
}: IProps<T>) {
|
||||||
const _onChange = e => {
|
const _onChange = e => {
|
||||||
onChange(e.target.value);
|
onChange(e.target.value);
|
||||||
};
|
};
|
||||||
|
@ -50,7 +59,7 @@ function StyledRadioGroup<T extends string>({name, definitions, value, className
|
||||||
checked={d.checked !== undefined ? d.checked : d.value === value}
|
checked={d.checked !== undefined ? d.checked : d.value === value}
|
||||||
name={name}
|
name={name}
|
||||||
value={d.value}
|
value={d.value}
|
||||||
disabled={d.disabled}
|
disabled={d.disabled ?? disabled}
|
||||||
outlined={outlined}
|
outlined={outlined}
|
||||||
>
|
>
|
||||||
{d.label}
|
{d.label}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue