04 components2 new, October 15, 2026
Login
Sign-in and sign-up screens that show what happens next, from the email you'll get to the workspace you'll land in.
Magic Link LoginUpdated, Oct 15
Passwordless sign-in. The email it will send is drawn under the form and fills in as you type, the domain completes with Tab, and sending turns it into the delivered message with an expiry bar, an Open Gmail button and a six-digit code.
Pass method="password" for a classic email and password sign in, lastUsed to tag the method this device used before, and onSignIn, onVerifyCode, onGoogle and onGithub to wire it to your auth. Without them the card simulates the requests.
Account Chooser LoginNew, Oct 15
For a device that has signed in before. Every account gets a drawn portrait (the same name always draws the same face) with its workspace mark on the corner. Hovering a row swaps the email for its session, arrow keys move between rows, and each account opens in place into its own step: SSO, Google, a passkey or a password. Forgotten accounts can be undone for a few seconds.
Pass accounts (with optional image, seed, mark, device and signedOut), ssoDomains (domain to provider name), onContinue, onUseAnother and onRemove.
Split Signup LoginUpdated, Oct 15
Sign-up beside a live preview of the account it creates. A known company domain shows that team with a choice to join it or start fresh; other domains draft a new or personal workspace.
Pass teams keyed by email domain, appDomain for workspace addresses, and onSignUp, which receives the chosen workspace with the form values.
Invite SignupNew, Oct 15
Where an invite link lands. The inviter's portrait carries the workspace mark, their note sits above the people already there, and the empty seat at the end of the row draws your portrait as you type your name. The email is locked to the invite, so the form only asks for a name and a password. Declining can be undone.
Pass invite with the workspace, inviter, email, role, members, note and optional mark, and onAccept, onDecline and onGoogle.