Button Group
The first button held, then the last: the pressed one swells by the group's expansion width and its neighbours yield it back.
Every recorded interaction and animation this catalog publishes, grouped by component and set side by side — so a transition that is shaped differently from its neighbours is visible without opening each component in turn. 17 recordings across 17 components.
The first button held, then the last: the pressed one swells by the group's expansion width and its neighbours yield it back.
Seek back, play/pause, seek forward pressed in turn: the pressed button swells and its neighbours yield, the middle button re-morphs on any press, and pausing resolves its scallop to a circle — all over a progress ring that never stops moving.
The label fades out, the double-pinch glyph springs in and plays, and the label comes back — the button keeps its shape throughout.
The scroll rail takes its gesture colours, grows a glyph, and jiggles down and back to show which way a pinch would move the list.
A pill grows above the page dots, plays the pinch glyph, and collapses back into the row.
Paged forward and back: the leaving page scales down under a scrim, the arriving one grows in, and the dots move with them.
The same paging vertically, with the dots riding the right bezel as the pages scale past each other.
Flipped on, off and on again: the thumb rides a spring that does not settle the same way in both directions.
Held, then released, three times: `animatedShapes()` morphs through a pressed shape on the way between the unchecked and checked corner radii.
One line, then three, then back: the button's height springs to the new text while each arriving line fades in under the wipe.
The numeral thickens along the font's weight axis and grows from 30sp to 48sp, then plays back down again.