Choreography
The larger motion patterns buttery's components share, from the morphing nav menu to a card that becomes its dialog.
Choreography is motion that involves more than one element moving together, such as a menu panel that reshapes between sections. Use the components that build it in, named in each pattern, rather than recreating it.
The patterns
The morphing menu
NavBarandMorphMenukeep one floating panel open while the pointer moves between menus: it resizes and moves to fit each section onspring.snappy, as the old columns fade and the new ones slide in from the direction of travel. A menu opens after the pointer rests on its trigger for 150ms, and at once when it moves between the triggers of an open menu.Card to dialog
An
ExpandableCardgrows into its dialog onspring.morph, its title traveling with it, while the other cards fade back and a scrim washes in. Closing, the dialog folds back into the same card onspring.smooth.Staggered entrances
RevealandStaggerbring content in once, the first time it's 15% in view: each child rises 16px and fades in onspring.gentle, 50ms after the one before, the whole entrance in 900ms at most. Content on screen when the page loads isn't staggered in: it shows at once, or with one short fade.Living demos
Loopcycles a product visual's states every few seconds, such as a number ticking up or a row appearing, and pauses when it's offscreen or motion is reduced.Forward and back arrows
A
ButtonorArrowLinkwitharrow="forward"turns its chevron into an arrow on hover or focus, in 120ms, without changing its width. Use the arrow on actions that move forward or back, such as Next, never on Save or Delete.Hover and context
A pressable card lifts 2px on hover, and its shadow steps up. A menu over content blurs the page behind it, and a dialog dims it, both fading over 120ms.
Related
- Presets
The motion primitives that apply buttery's rules for you, from presence and morphing to reveals and loops.
- MorphMenu
A row of menu triggers whose menus open in one floating panel that reshapes from menu to menu instead of closing and reopening.
- ExpandableCard
A bento card that opens into a dialog by turning into it, its title travelling along, and closes back into the card.