Every state, on purpose.
The gallery shows the components working. This page pins the quieter states down one by one: disabled, empty, error, settled. Hover and press are live states, so they are here too, under your finger or cursor.
Buttons
Four variants, two sizes, and the disabled state Tide gives every one of them.
Fields
Default, filled, disabled, and the error state: a red ring and a shake, with words that say what to do next.
That does not look like an email yet. Check for a missing @.
Tags, chips, simulation marks
Small words with jobs: money, accent, plain, and the honest Simulated tag.
Toggles & checks
Switch on and off, a segmented control, and the checklist, including a disabled row.
Inbox: full and empty
The same element with three decisions waiting, and with none. Empty is a sentence, not a void.
Deck: the last card
One card in the deck. Swipe it, tap a verb, or use the arrow keys, and the deck shows its own empty state.
One-time code: fresh and failed
A fresh code field, and one already wearing its error state. The live one still takes 123456, and 000000 still shakes.
Buy: ready and disabled
The buy element honours a disabled attribute the same way a button does.
Upgrade: lapsed
The gallery shows upgrade and reset. The third mode is the welcome-back for a lapsed plan.
Your plan lapsed last month. Your history is right where you left it.
Loading
Skeleton blocks and the shimmer line, the way Tide waits.
Gathering this week…
Toast tones
Four tones, fired live. Toasts stack by depth, and reversible actions carry Undo.
Rev 2 · mined from the pals pages
Three First-Name-page inventions, generalized upstream: the dated sweep board (states computed live), the present (waiting / opening / opened, one seen-store), and the chaptered bottom player (no autoplay, one bar, dismiss never stops playback — scroll while it plays).
Rainy day backup: the note slot, productized from Mason's card.
I'm here for you. The gift mechanic from Danny, Caleb, Mason and Michael's pages, as one Tide component:
- Announce mode docks a bar and opens the drawer sheet
- Inline mode lives in the page, like the original .gft box
- Opened gifts stay open; dismissed bars stay dismissed