Login 03 - SSO-first

v0.1.4

Minimal sign-in built around identity providers (Google, Microsoft, Okta, …) with an optional email magic-link fallback under an "or" divider.

View as Markdown

Preview

Open full page ↗

Install & usage

npx shadcn@latest add @signalos/login-03

Pulls 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

PropTypeDefaultDescription
id*string-Stable id, also used in the button's data-testid.
label*string-Button label, e.g. "Continue with Google".
iconReactNode-Provider mark (any ReactNode, typically a 16px logo).
onClick*() => void-

Login03Props

PropTypeDefaultDescription
brandReactNode-Brand block above the form.
titlestring | undefined"Sign in to SignalOS"
subtitlestring | 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.
isLoadingboolean | undefined-
errorstring | null | undefined-
footerReactNode-Footer slot (terms, sign-up prompt).
classNamestring | undefined-

More Login variants

Changelog

login-03

0.1.4

  • Compose the TextField widget for the work-email input instead of hand-rolled Label + Input markup, 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.