Toggle
Toggle
is a component that has two states: on or off.
<Toggle icon={<BoldIcon />} aria-label="Toggle bold" />
Usage
import { Toggle, ToggleGroup } from "@yamada-ui/react"
import { Toggle, ToggleGroup } from "@/components/ui"
import { Toggle, ToggleGroup } from "@workspaces/ui"
<Toggle />
<ToggleGroup.Root>
<ToggleGroup.Item />
</ToggleGroup.Root>
With Text
<Toggle px="4">
<ItalicIcon />
<Text as="span" fontSize="md">
Italic
</Text>
</Toggle>
Change Variant
<Wrap gap="md">
<For each={["ghost", "subtle", "surface", "outline", "solid"]}>
{(variant) => (
<Toggle
key={variant}
icon={<BoldIcon />}
aria-label="Toggle bold"
variant={variant}
/>
)}
</For>
</Wrap>
Change Size
<Wrap gap="md" alignItems="flex-start">
<For each={["xs", "sm", "md", "lg", "xl"]}>
{(size) => (
<Toggle
key={size}
icon={<BoldIcon />}
aria-label="Toggle bold"
size={size}
/>
)}
</For>
</Wrap>
Change Color Scheme
<Wrap gap="md">
<For each={["success", "warning"]}>
{(colorScheme) => (
<Toggle
key={colorScheme}
colorScheme={colorScheme}
aria-label="Toggle bold"
icon={<BoldIcon />}
/>
)}
</For>
</Wrap>
Change Shape
To change the shape, set the rounded
prop.
<Wrap gap="md">
<For each={["ghost", "subtle", "surface", "outline", "solid"]}>
{(variant) => (
<Toggle
key={variant}
icon={<BoldIcon />}
aria-label="Toggle bold"
variant={variant}
fullRounded
/>
)}
</For>
</Wrap>
Disable
To disable, set disabled
to true
.
<Wrap gap="md">
<For each={["ghost", "subtle", "surface", "outline", "solid"]}>
{(variant) => (
<Toggle
key={variant}
icon={<BoldIcon />}
aria-label="Toggle bold"
variant={variant}
disabled
/>
)}
</For>
</Wrap>
Read-Only
To read-only, set readOnly
to true
.
<Wrap gap="md">
<For each={["ghost", "subtle", "surface", "outline", "solid"]}>
{(variant) => (
<Toggle
key={variant}
icon={<BoldIcon />}
aria-label="Toggle bold"
variant={variant}
readOnly
/>
)}
</For>
</Wrap>
Invalid
To set invalid state, set invalid
to true
.
<Wrap gap="md">
<For each={["ghost", "subtle", "surface", "outline", "solid"]}>
{(variant) => (
<Toggle
key={variant}
icon={<BoldIcon />}
aria-label="Toggle bold"
variant={variant}
invalid
/>
)}
</For>
</Wrap>
Change Invalid Border Color
To change the border color, set errorBorderColor
to the color.
<Toggle
aria-label="Toggle bold"
errorBorderColor="orange.500"
icon={<BoldIcon />}
defaultChecked
invalid
/>
Control
const [checked, setChecked] = useState<boolean>(false)
return (
<Toggle
icon={<BoldIcon />}
aria-label="Toggle bold"
checked={checked}
onChange={setChecked}
/>
)
"use client"
to the top of the file.Grouping
<ToggleGroup.Root>
<ToggleGroup.Item value="bold" icon={<BoldIcon />} aria-label="Toggle bold" />
<ToggleGroup.Item
value="italic"
icon={<ItalicIcon />}
aria-label="Toggle italic"
/>
<ToggleGroup.Item
value="underline"
icon={<UnderlineIcon />}
aria-label="Toggle underline"
/>
</ToggleGroup.Root>
For multiple selections, set value
or defaultValue
to an array.
const [value, setValue] = useState<string[]>([])
return (
<ToggleGroup.Root value={value} onChange={setValue}>
<ToggleGroup.Item
value="bold"
icon={<BoldIcon />}
aria-label="Toggle bold"
/>
<ToggleGroup.Item
value="italic"
icon={<ItalicIcon />}
aria-label="Toggle italic"
/>
<ToggleGroup.Item
value="underline"
icon={<UnderlineIcon />}
aria-label="Toggle underline"
/>
</ToggleGroup.Root>
)
"use client"
to the top of the file.Props
Accessibility
Currently, this section is being updated due to the migration of v2.