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