Untitled Diff
4 removals
Words removed | 9 |
Total words | 23 |
Words removed (%) | 39.13 |
13 lines
21 additions
Words added | 41 |
Total words | 55 |
Words added (%) | 74.55 |
30 lines
export function RadioField({ selectedValue, onSelectedValueChange, children }) {
export function RadioField({
defaultSelectedValue,
selectedValue,
onSelectedValueChange,
children,
}: {
defaultSelectedValue?: string;
selectedValue?: string;
onSelectedValueChange?(value: string): void;
children: React.ReactNode;
}) {
const [value = selectedValue, setValue] =
React.useState(defaultSelectedValue);
const isControlled = selectedValue !== undefined;
return (
return (
<RadioFieldContext.Provider
<RadioFieldContext.Provider
value={{
value={{
activeIndex: selectedValue,
activeValue: value,
setActiveIndex: onSelectedValueChange,
setActiveValue: (value) => {
if (!isControlled) setValue(value);
onSelectedValueChange?.(value);
},
}}
}}
>
>
<div className="sparky-c-radio-field">{children}</div>
<div className="sparky-c-radio-field">{children}</div>
</RadioFieldContext.Provider>
</RadioFieldContext.Provider>
);
);
}
}