ValyroUI Русская версия

Toggle

Toggle button with a springy response. Pro · Animated components › Buttons

A button that stays on or off (aria-pressed): a tool or mode such as Bold, Favourite or Compact view. For a setting that applies at once use Switch; for one choice out of several use SegmentedControl.

Installation

npx valyro-cli@latest login
npx valyro-cli@latest add toggle
npm install valyro-ui-pro

import 'valyro-ui-pro/styles.css';
import { Toggle } from 'valyro-ui-pro';

Props

PropTypeDefault
pressedbooleanOn (aria-pressed) state.
defaultPressedbooleanfalseInitial pressed when uncontrolled.
onPressedChange(pressed: boolean) => voidCalled with the new pressed when it changes.
tone'neutral' | 'accent''neutral'Colour of the on state: a neutral fill or the accent tint.
fillIconbooleanfalseFills an outline icon (a star, a heart) while on.
animation'spring' | 'none''spring'spring (default): the button presses in while held and springs back with a bounce, and the icon pops in when turned on (and settles when turned off). none: no motion.
variant'primary' | 'secondary' | 'ghost' | 'accent' | 'danger' | 'link''ghost'Solid primary/accent/danger fill, outlined secondary, transparent ghost, or unpadded text link.
size'sm' | 'md' | 'lg'Control height, padding and text size.
leftIconReactNodeIcon or element before the label.
rightIconReactNodeIcon or element after the label.
fullWidthbooleanStretch to the full width of the container.
pillbooleanFully rounded ends, regardless of theme.
hoverScalenumberScale under a hovering mouse, e.g. 1.05; it springs back with a slight bounce. Off by default (the theme's own hover). Skipped on touch and under reduced motion.
tapScalenumberScale while pressed, e.g. 0.95, instead of the theme's press transform; springs back on release.

Related components

Previous: Patch Notes · Next: Flip Button · All Animated components