Login 03 - SSO-first
v0.1.4Minimal sign-in built around identity providers (Google, Microsoft, Okta, …) with an optional email magic-link fallback under an "or" divider.
Preview
Install & usage
npx shadcn@latest add @signalos/login-03Pulls the page source plus its widget dependencies (@signalos/tokens, @signalos/utils, @signalos/button, @signalos/text-field) into your app - you own the copy. Requires access.
usage
// after: npx shadcn@latest add @signalos/login-03
// mount the pulled page in a route, e.g. src/app/login/page.tsx
import { Login03 } from "@/components/blocks/login-03/Login03"
export default function Page() {
return <Login03 />
}Props
LoginProvider
| Prop | Type | Default | Description |
|---|---|---|---|
| id* | string | - | Stable id, also used in the button's data-testid. |
| label* | string | - | Button label, e.g. "Continue with Google". |
| icon | ReactNode | - | Provider mark (any ReactNode, typically a 16px logo). |
| onClick* | () => void | - |
Login03Props
| Prop | Type | Default | Description |
|---|---|---|---|
| brand | ReactNode | - | Brand block above the form. |
| title | string | undefined | "Sign in to SignalOS" | |
| subtitle | string | undefined | "Choose how you want to continue." | |
| providers* | LoginProvider[] | - | SSO / OAuth providers rendered as buttons above the divider. |
| onEmailContinue | ((email: string) => void) | undefined | - | Email-only fallback under the divider; omit to render providers alone. |
| isLoading | boolean | undefined | - | |
| error | string | null | undefined | - | |
| footer | ReactNode | - | Footer slot (terms, sign-up prompt). |
| className | string | undefined | - |
More Login variants
Changelog
login-03
0.1.4
- Compose the
TextFieldwidget for the work-email input instead of hand-rolledLabel+Inputmarkup, matching the shared error/disabled/focus styling used across the registry. No prop, testid, or visual change.
0.1.3
- Use semantic status tokens (text-text-error, bg-bg-warning, border-border-, bg-status-) instead of raw palette scales so client theme overrides restyle status colors.
0.1.2
- Content sync fix to bring source in line with published registry payload.
0.1.1
- Standardize inline comment formatting (em dash → hyphen); no runtime or API change.
0.1.0
- Initial release: SSO-first sign-in with a generic
LoginProvider[]prop (no vendor lock-in) and an optional email fallback form.