Radio Component
Radio
is a React component designed to create customizable input fields with options such as color
, label
, name
, and more. It supports different sizes
and colors
along with disabled
and checked
states.
Example Preview
Usage
import { Radio } from "@/@core";
// ...
const MyComponent = () => {
return (
<Fragment>
<Radio
defaultChecked
name="radio-1"
color="primary"
label="Primary Radio"
/>
<Radio
checked
name="radio-1"
color="error"
size="lg"
label="Large Error Radio"
/>
<Radio disabled label="Disabled Radio" />
</Fragment>
);
};
export default MyComponent;
Props
Prop name | Type | Default value | Required | Description |
---|---|---|---|---|
checked | boolean | - | No | Boolean indicating whether the checkbox is checked. |
name | string | - | Yes | String representing the name of the radio button. |
defaultChecked | boolean | - | No | Boolean indicating the default checked state. |
color | primary , secondary , error , success , warning , info , accent | - | No | String representing the color theme of the checkbox. |
label | string | - | No | String representing the label text for the checkbox. |
disabled | boolean | - | No | Boolean indicating whether the checkbox is disabled. |
size | xs , sm , md , lg | - | No | String representing the size of the checkbox. |
className | string | - | No | Additional class names for styling purposes. |
props | HTMLAttributes<HTMLInputElement> | - | No | Additional HTML attributes can be passed as well. |
Styling
The component provides various styling options based on the color
and size
props. The label text size and color can be customized accordingly.
Customizing Example
import { Radio } from "@/@core";
const MyComponent = () => {
const [checked, setChecked] = useState(false);
return (
<Fragment>
<Radio
checked={checked}
color="primary"
label="Primary Radio"
name="radio-1"
className="checked:border-indigo-800 [--chkbg:theme(colors.indigo.600)] [--chkfg:orange]"
onChange={() => setChecked(!checked)}
/>
<Radio
defaultChecked
color="primary"
label="Primary Radio"
name="radio-1"
className="[--chkbg:oklch(var(--a))] [--chkfg:oklch(var(--p))]"
/>
</Fragment>
);
};
export default MyComponent;
All Available Props
import { Radio } from '@/@core';
// ...
const AllAvailableProps = () => {
return (
<Fragment>
<Radio
checked={/* boolean */}
defaultChecked={/* boolean */}
color={/* 'primary' | 'secondary' | 'error' | 'success' | 'warning' | 'info' | 'accent' */}
label={/* string */}
disabled={/* boolean */}
size={/* 'xs' | 'sm' | 'md' | 'lg' */}
name={/* string */}
className={/* string */}
/* Other HTML attributes for the input element */
/>
</Fragment>
);
};
export default AllAvailableProps;
ℹ️
Note: The Radio component is inspired by the DaisyUI (opens in a new tab) framework. Check it out for more awesome components. But our Radio component is dynamic and easy to use. It is also fully customizable.