An accessible toggle switch component built on Base UI with spring layout physics and full customization.
Made by AxylAccessible Base UI switch with Motion layout spring physics.
Switch with contextual track icons and helper description.
Switch rendered across small (sm), default, and large (lg) size variants.
| Prop | Type | Default |
|---|---|---|
checked? | boolean | - |
defaultChecked? | boolean | false |
onCheckedChange? | (checked: boolean) => void | - |
size? | "sm" | "default" | "lg" | "default" |
label? | ReactNode | - |
description? | ReactNode | - |
labelPosition? | "left" | "right" | "right" |
thumbIcon? | ReactNode | - |
checkedIcon? | ReactNode | - |
uncheckedIcon? | ReactNode | - |
disabled? | boolean | false |
className? | string | - |
thumbClassName? | string | - |
labelClassName? | string | - |
descriptionClassName? | string | - |
Input
A shadcn/ui-compatible input with a smooth Motion-powered caret.
Tooltip
An accessible tooltip built on Base UI with spring-based keyframe scale and translation animations powered by Motion.
Built by Axyl. A motion-first component registry for React.
Last updated: 9/17/2026
Help keep SoraLabs moving.
Every contribution helps us build and maintain open-source tools for the community.
Sponsor on GitHub