Auth
Sign-in components shared across Solarius apps: LoginPanel, AuthProviderButton, AuthSeparator, and AuthScreen.
Components in this category
Authentication card with branding, heading, error message, and form content.
AuthProviderButtonFull-width SSO / OAuth / custom provider button with loading state.
AuthScreenPage layout around LoginPanel.
AuthSeparatorLabeled divider between SSO buttons and a credentials form.
AuthBrandMarkThe framed tile a product mark sits in above an auth heading.
LoginPanel
LoginPanel is the auth card: brand mark, heading, subtitle, a danger error strip, and a muted footer. It renders the shell and leaves the sign-in method to its children; the same card serves sign-in, sign-out, and step-up.
| Prop | Type | Default | Description |
|---|---|---|---|
brand | ReactNode | — | Logo mark, centered above the heading. |
title | ReactNode | — | Heading text. |
subtitle | ReactNode | — | Dim line under the heading. |
error | ReactNode | — | Error message above the form content. |
footer | ReactNode | — | Muted line under the card. |
width | number | 380 | Card width in px. |
AuthProviderButton
A full-width identity-provider button: fixed leading icon, centered label, optional trailing meta. Set loading for the moment after a click while the app redirects to the provider: it swaps the icon for a spinner and disables the button.
| Prop | Type | Default | Description |
|---|---|---|---|
icon | ReactNode | — | Provider icon content. |
loading | boolean | — | Swaps the icon for a spinner and disables the button. |
meta | ReactNode | — | Trailing meta tag, e.g. 'SAML' or 'SSO'. |
variant | "default" | "primary" | "outline" | "default" | Visual weight. |
import { AuthProviderButton } from "@solarius/onset";
import { IconShieldLock } from "@tabler/icons-react";
<AuthProviderButton
icon={<IconShieldLock size={16} />}
meta="SAML"
loading={redirecting}
onClick={startSso}
>
Single sign-on
</AuthProviderButton>;AuthSeparator
A labeled border between an SSO stack and a credentials form, such as the "or continue with email" break. Defaults to "or".
| Prop | Type | Default | Description |
|---|---|---|---|
children | ReactNode | "or" | Centered label between the rules. |
AuthScreen
The page the card sits on: the stage, the product lockup above it, the theme toggle in the corner, and the legal line below. Sign-in, registration, and password reset share this frame. The full page documents the backgrounds and the slots.