MantleUI

Toggle

A two-state toggle button supporting both controlled and uncontrolled usage via the useControllable hook.

Uncontrolled

Controlled

Colors

With Icons

Props

pressed
boolean

Whether the toggle is pressed (controlled).

defaultPressedfalse
boolean

The initial pressed state (uncontrolled).

onPressedChange
(pressed: boolean) => void

Called when the pressed state changes.

color"blue"
"blue" | "red" | "green" | "yellow" | "purple" | "neutral" | string

Accent color.

disabledfalse
boolean

Disables the toggle.

--mantle-bgtheme default
CSS variable

Override the background color via style. e.g. style={{ "--mantle-bg": "#1a1a2e" }}

--mantle-bordertheme default
CSS variable

Override the border color via style. Set to "transparent" to remove. e.g. style={{ "--mantle-border": "#e94560" }}

--mantle-texttheme default
CSS variable

Override the text color via style. e.g. style={{ "--mantle-text": "#ffffff" }}

--mantle-ringaccent
CSS variable

Override the focus ring color via style. e.g. style={{ "--mantle-ring": "#e94560" }}

--mantle-hovergradient
CSS variable

Override the hover background via style. Set to "none" to disable. e.g. style={{ "--mantle-hover": "none" }}

© 2026 MantleUI. All rights reserved.