Designing motion that feels inevitable
Springs, easing and the small details that make an interface feel alive instead of animated.
Search components and blocks
Ways to ask people what they think: a mood-and-note card and an inline thumbs vote.
A three-step card. Pick a face from five moods, then choose a topic on a sliding switch and add an optional note, then confirm. Moods lift and press on hover and tap, steps crossfade, Send spins before it flips to a green check with a spring pop, and Send another starts over.
pnpm dlx shadcn@latest add @ditherui/feedback-cardPick the face that fits. It takes ten seconds.
titlestring"How is it going?"onSubmit(value: { rating: number; topic: string; message: string }) => voidโ (rating is 1โ5)classNamestringโAn inline Was this page helpful? strip for the end of an article. Thumbs up thanks you straight away. Thumbs down opens a row of reason chips that you can toggle, plus Send. The strip grows and shrinks with a spring, the active thumb uses a sliding highlight, and Undo brings the question back.
pnpm dlx shadcn@latest add @ditherui/helpful-voteWas this page helpful?
questionstring"Was this page helpful?"onSubmit(vote: "up" | "down", reasons: string[]) => voidโclassNamestringโ