import * as React from 'react'; import { styled } from '@mui/material/styles'; import Radio from '@mui/material/Radio'; import RadioGroup from '@mui/material/RadioGroup'; import FormControlLabel from '@mui/material/FormControlLabel'; import FormControl from '@mui/material/FormControl'; import FormLabel from '@mui/material/FormLabel'; const BpIcon = styled('span')(({ theme }) => ({ borderRadius: '50%', width: 16, height: 16, boxShadow: 'inset 0 0 0 1px rgba(16,22,26,.2), inset 0 -1px 0 rgba(16,22,26,.1)', backgroundColor: '#f5f8fa', backgroundImage: 'linear-gradient(180deg,hsla(0,0%,100%,.8),hsla(0,0%,100%,0))', '.Mui-focusVisible &': { outline: '2px auto rgba(19,124,189,.6)', outlineOffset: 2, }, 'input:hover ~ &': { backgroundColor: '#ebf1f5', ...theme.applyStyles('dark', { backgroundColor: '#30404d', }), }, 'input:disabled ~ &': { boxShadow: 'none', background: 'rgba(206,217,224,.5)', ...theme.applyStyles('dark', { background: 'rgba(57,75,89,.5)', }), '@media (forced-colors: active)': { outline: '1px solid GrayText', }, }, '@media (forced-colors: active)': { outline: '1px solid ButtonText', }, ...theme.applyStyles('dark', { boxShadow: '0 0 0 1px rgb(16 22 26 / 40%)', backgroundColor: '#394b59', backgroundImage: 'linear-gradient(180deg,hsla(0,0%,100%,.05),hsla(0,0%,100%,0))', }), })); const BpCheckedIcon = styled(BpIcon)({ backgroundColor: '#137cbd', backgroundImage: 'linear-gradient(180deg,hsla(0,0%,100%,.1),hsla(0,0%,100%,0))', '&::before': { display: 'block', width: 16, height: 16, backgroundImage: 'radial-gradient(#fff,#fff 28%,transparent 32%)', content: '""', '@media (forced-colors: active)': { backgroundImage: 'none', backgroundColor: 'ButtonText', borderRadius: '50%', width: 8, height: 8, margin: 4, }, }, 'input:hover ~ &': { backgroundColor: '#106ba3', }, '@media (forced-colors: active)': { outline: '2px solid ButtonText', }, }); // Inspired by blueprintjs function BpRadio(props) { return ( } icon={} {...props} /> ); } export default function CustomizedRadios() { const id = React.useId(); return ( Gender } label="Female" /> } label="Male" /> } label="Other" /> } label="(Disabled option)" /> ); }