An accessible dropdown menu component built on Base UI with smooth Motion spring scale and submenu slide animations.
Made by AxylAn animated dropdown menu with spring entrance transitions, nested submenus, checkable items, radio items, shortcuts, and destructive styling.
The same dropdown menu pattern rendered right-to-left with Base UI DirectionProvider.
Use Base UI's DirectionProvider together with dir="rtl" on the demo
container to render the menu from right to left. The provider keeps popup
positioning and keyboard navigation aware of the text direction.
| Prop | Type | Default |
|---|---|---|
open? | boolean | - |
defaultOpen? | boolean | false |
onOpenChange? | (open: boolean) => void | - |
| Prop | Type | Default |
|---|---|---|
align? | "start" | "center" | "end" | "start" |
alignOffset? | number | 0 |
side? | "top" | "right" | "bottom" | "left" | "inline-start" | "inline-end" | "bottom" |
sideOffset? | number | 4 |
disableAnimation? | boolean | false |
positionerClassName? | string | - |
| Prop | Type | Default |
|---|---|---|
disabled? | boolean | false |
inset? | boolean | false |
variant? | "default" | "destructive" | "default" |
| Prop | Type | Default |
|---|---|---|
checked? | boolean | - |
onCheckedChange? | (checked: boolean) => void | - |
disabled? | boolean | false |
inset? | boolean | false |
| Prop | Type | Default |
|---|---|---|
value? | string | - |
disabled? | boolean | false |
inset? | boolean | false |
| Prop | Type | Default |
|---|---|---|
disabled? | boolean | false |
inset? | boolean | false |
| Prop | Type | Default |
|---|---|---|
align? | "start" | "center" | "end" | "start" |
alignOffset? | number | -4 |
side? | "top" | "right" | "bottom" | "left" | "inline-start" | "inline-end" | "right" |
sideOffset? | number | 0 |
disableAnimation? | boolean | false |
Dialog
An accessible modal dialog component built on Base UI with smooth 3D perspective spring entrance and exit animations.
Input
A shadcn/ui-compatible input with a smooth Motion-powered caret.
Built by Axyl. A motion-first component registry for React.
Last updated: 9/11/2026
Help keep SoraLabs moving.
Every contribution helps us build and maintain open-source tools for the community.
Sponsor on GitHub