Skip to content

Toggle ​

States

Loading...

A two-state button that can be either on (pressed) or off.

  • Tag: <flint-toggle>
  • Class: FlintToggle

Import ​

ts
import 'flint-ui'; // auto-registers all
// or
import { FlintToggle } from 'flint-ui';

Usage ​

html
<flint-toggle></flint-toggle>

Properties ​

PropertyAttributeTypeDefaultDescription
pressedpressedbooleanfalseWhether the toggle is currently pressed (on).
disableddisabledbooleanfalseWhether the toggle is disabled.
variantvariant'default' | 'outline''default'Visual variant of the toggle.
sizesize'sm' | 'default' | 'lg''default'Size of the toggle.
dirdir'ltr' | 'rtl''ltr'Text direction for the toggle.
defaultPresseddefault-pressedbooleanfalseInitial pressed state for uncontrolled mode.
ariaLabelaria-labelstring | nullnullAccessible label for icon-only toggles.

Events ​

EventDetailDescription
flint-toggle-change—Dispatched when the pressed state changes. Detail: { pressed: boolean }

Slots ​

NameDescription
(default)Content to render inside the toggle (text, icons, or both).

CSS Custom Properties ​

PropertyDefault
--flint-toggle-border-radiusvar(--flint-border-radius-md
--flint-toggle-padding-y0.5rem
--flint-toggle-padding-x0.75rem
--flint-toggle-min-width2.25rem
--flint-toggle-min-height2.25rem
--flint-toggle-font-size0.875rem
--flint-toggle-colorvar(--flint-text-color
--flint-toggle-bgtransparent
--flint-toggle-bg-hovervar(--flint-muted-background
--flint-toggle-color-hovervar(--flint-text-color
--flint-toggle-bg-pressedvar(--flint-primary-color-light
--flint-toggle-color-pressedvar(--flint-primary-color
--flint-toggle-bg-pressed-hovervar(--flint-primary-color-light-hover
--flint-toggle-padding-y-sm0.375rem
--flint-toggle-padding-x-sm0.625rem
--flint-toggle-padding-y-lg0.625rem
--flint-toggle-padding-x-lg1rem
--flint-toggle-border-colorvar(--flint-border-color
--flint-toggle-border-pressed-colorvar(--flint-primary-color-light-hover
--flint-font-family—
--flint-primary-color—