Small interaction studies, each with a live demo, its timing, and a React component that themes itself with your shadcn tokens.
Extend a chevron into an arrow on hover.
Open a gap in a list that follows the item you drag.
Check a run of table rows in one drag down the boxes.
Keep a slider's value label inside its container.
Pour the selection from one option to the next.
Hold the button for 1,200ms to confirm. Release early to cancel.
Pluck a link underline like a string tuned by its length.
Show the grip where the pointer meets the divider.
Slide the underline to the chosen tab without moving the labels.
Swap labels without changing the button width.
Drag along the dots to scrub the slides, with a worm that follows the scroll.