From 064907e941c4648b36c09a8d2dd2fc848d090b09 Mon Sep 17 00:00:00 2001 From: mnajdova Date: Tue, 3 Sep 2024 16:45:07 +0200 Subject: [PATCH] [Radio] Handle the disabled state better --- packages/mui-material/src/Radio/Radio.js | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/packages/mui-material/src/Radio/Radio.js b/packages/mui-material/src/Radio/Radio.js index 40e47b90100cc1..1ad8a9f910b526 100644 --- a/packages/mui-material/src/Radio/Radio.js +++ b/packages/mui-material/src/Radio/Radio.js @@ -51,7 +51,7 @@ const RadioRoot = styled(SwitchBase, { }, variants: [ { - props: { color: 'default', disableRipple: false }, + props: { color: 'default', disabled: false, disableRipple: false }, style: { '&:hover': { backgroundColor: theme.vars @@ -63,7 +63,7 @@ const RadioRoot = styled(SwitchBase, { ...Object.entries(theme.palette) .filter(([, palette]) => palette && palette.main) .map(([color]) => ({ - props: { color, disableRipple: false }, + props: { color, disabled: false, disableRipple: false }, style: { '&:hover': { backgroundColor: theme.vars @@ -75,7 +75,7 @@ const RadioRoot = styled(SwitchBase, { ...Object.entries(theme.palette) .filter(([, palette]) => palette && palette.main) .map(([color]) => ({ - props: { color }, + props: { color, disabled: false }, style: { [`&.${radioClasses.checked}`]: { color: (theme.vars || theme).palette[color].main, @@ -121,11 +121,13 @@ const Radio = React.forwardRef(function Radio(inProps, ref) { onChange: onChangeProp, size = 'medium', className, + disabled = false, disableRipple = false, ...other } = props; const ownerState = { ...props, + disabled, disableRipple, color, size, @@ -154,6 +156,7 @@ const Radio = React.forwardRef(function Radio(inProps, ref) { checkedIcon={React.cloneElement(checkedIcon, { fontSize: defaultCheckedIcon.props.fontSize ?? size, })} + disabled={disabled} ownerState={ownerState} classes={classes} name={name}