Ready-to-use foundation components/blocks built on top of shadcn/ui.
The Small example from the Tree docs.
Grows a textarea with what you write between its minimum and maximum height, animating each change without ever touching the text.
The Controlled values example from the useAutosize docs.
The main useAutosize demo from the docs.
Runs an async action through loading, success and error, skipping the spinner for fast requests and holding an error while you read it.
The main useButtonFeedback demo from the docs.
The Status without a button example from the useButtonFeedback docs.
Keeps a ref to your own element while still forwarding it to whatever ref the parent passed in.
The main useComposedRef demo from the docs.
Shows a loading state only when work is actually slow, then keeps it up long enough that it never flickers.
The main useDelayedLoading demo from the docs.
The Skeletons example from the useDelayedLoading docs.
The keys someone is holding down right now, shared by every subscriber through a single set of window listeners.
The main useHeldKeys demo from the docs.
The Keycaps that press example from the useHeldKeys docs.
Shakes a form control when a submit attempt finds it invalid, and never while someone is still typing.
The main useInvalidShake demo from the docs.
Combines any number of callback and object refs into one, with React 19 ref cleanup for each of them.
The main useMergedRef demo from the docs.
Turns a page and a page count into the list of pages and ellipses to render, keeping its length steady as the page moves.
The main usePagination demo from the docs.
The Dots example from the usePagination docs.
Today's date that rolls over at midnight and when the tab comes back, without a hydration mismatch.
The Date bounds example from the useToday docs.
The main useToday demo from the docs.
A video player with a scrubbable seek bar, auto-hiding controls, keyboard shortcuts, speed, picture in picture and full screen.
The Bar example from the Video player docs.
The Captions example from the Video player docs.
The Custom controls example from the Video player docs.
The main Video player demo from the docs.
The Error example from the Video player docs.
The Minimal example from the Video player docs.
The Page-wide shortcuts example from the Video player docs.
The Right to left example from the Video player docs.
The Seek offsets and speeds example from the Video player docs.