Auth Form
Card-based authentication form with labelled fields and a dominant submit action inside the form element.
Uses
aihio-card
aihio-field
aihio-input
aihio-cluster
aihio-button
Intents
surface
layout
form-field
text-entry
primary-action
secondary-action
Pattern
Live, over the markup an agent gets from the MCP server's get_pattern. Narrow the preview to see
the layout answer to its own width rather than the window's.
Auth Form
Show code · 40 lines
<aihio-card data-aihio-intent="surface">
<form>
<aihio-card-header>
<aihio-card-title>Sign in</aihio-card-title>
<aihio-card-description>Use your work email and password to continue.</aihio-card-description>
</aihio-card-header>
<aihio-card-content>
<aihio-stack data-aihio-intent="layout">
<aihio-field data-aihio-intent="form-field">
<label slot="label">Email</label>
<aihio-input
data-aihio-intent="text-entry"
type="email"
name="email"
autocomplete="email"
placeholder="you@example.com"
required></aihio-input>
</aihio-field>
<aihio-field data-aihio-intent="form-field">
<label slot="label">Password</label>
<aihio-input
data-aihio-intent="text-entry"
type="password"
name="password"
autocomplete="current-password"
required></aihio-input>
</aihio-field>
</aihio-stack>
</aihio-card-content>
<aihio-card-footer>
<aihio-cluster data-aihio-intent="layout" grow justify="end">
<aihio-button data-aihio-intent="secondary-action" variant="outline">Forgot password</aihio-button>
<aihio-button data-aihio-intent="primary-action" type="submit">Sign in</aihio-button>
</aihio-cluster>
</aihio-card-footer>
</form>
</aihio-card>
Variations
Other shapes of the same pattern, each as lint-clean as the first.
Passwordless
Email-only sign-in flow that requests a magic link.
Show code · 28 lines
<aihio-card data-aihio-intent="surface">
<form>
<aihio-card-header>
<aihio-card-title>Email me a sign-in link</aihio-card-title>
<aihio-card-description>We will send a one-time login link to your inbox.</aihio-card-description>
</aihio-card-header>
<aihio-card-content>
<aihio-field data-aihio-intent="form-field">
<label slot="label">Email</label>
<aihio-input
data-aihio-intent="text-entry"
type="email"
name="email"
autocomplete="email"
placeholder="you@example.com"
required></aihio-input>
<span slot="description">The link expires after 10 minutes.</span>
</aihio-field>
</aihio-card-content>
<aihio-card-footer>
<aihio-cluster data-aihio-intent="layout" grow justify="end">
<aihio-button data-aihio-intent="secondary-action" variant="outline">Use password instead</aihio-button>
<aihio-button data-aihio-intent="primary-action" type="submit">Send magic link</aihio-button>
</aihio-cluster>
</aihio-card-footer>
</form>
</aihio-card>
Sign Up
Account-creation variant with name, email, and password confirmation.
Show code · 63 lines
<aihio-card data-aihio-intent="surface">
<form>
<aihio-card-header>
<aihio-card-title>Create your account</aihio-card-title>
<aihio-card-description>Set up a new workspace login for your team.</aihio-card-description>
</aihio-card-header>
<aihio-card-content>
<aihio-stack data-aihio-intent="layout">
<aihio-field data-aihio-intent="form-field">
<label slot="label">Full name</label>
<aihio-input
data-aihio-intent="text-entry"
name="name"
autocomplete="name"
placeholder="Jane Doe"
required></aihio-input>
</aihio-field>
<aihio-field data-aihio-intent="form-field">
<label slot="label">Email</label>
<aihio-input
data-aihio-intent="text-entry"
type="email"
name="email"
autocomplete="email"
placeholder="jane@company.com"
required></aihio-input>
</aihio-field>
<aihio-field data-aihio-intent="form-field">
<label slot="label">Password</label>
<aihio-input
data-aihio-intent="text-entry"
type="password"
name="password"
autocomplete="new-password"
required></aihio-input>
<span slot="description">At least 12 characters, including one symbol.</span>
</aihio-field>
<aihio-field data-aihio-intent="form-field">
<label slot="label">Confirm password</label>
<aihio-input
data-aihio-intent="text-entry"
type="password"
name="password_confirmation"
autocomplete="new-password"
required></aihio-input>
</aihio-field>
</aihio-stack>
</aihio-card-content>
<aihio-card-footer>
<aihio-cluster data-aihio-intent="layout" grow justify="end">
<aihio-button data-aihio-intent="secondary-action" variant="outline">Already have an account?</aihio-button>
<aihio-button data-aihio-intent="primary-action" type="submit">Create account</aihio-button>
</aihio-cluster>
</aihio-card-footer>
</form>
</aihio-card>