MantleUI

ToggleButton

A button that toggles between pressed and unpressed states. Supports variants, colors, and sizes.

Basic

Variants

Colors

Sizes

Controlled

With Icons

Icon-Only (Circular)

Circular toggle buttons for actions like like, save, star, and pin. The icon fills when pressed.

Social Actions

Like with counter and bookmark — common social media patterns.

Props

pressed
boolean

Whether the button is pressed (controlled).

defaultPressedfalse
boolean

Whether the button is initially pressed (uncontrolled).

onPressedChange
(pressed: boolean) => void

Called when the pressed state changes.

variant"solid"
"solid" | "outline" | "ghost"

Visual style variant.

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

Accent color when pressed.

size"md"
"sm" | "md" | "lg"

Size preset.

disabledfalse
boolean

Disables the toggle button.

--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.