sheengemologic ui
All components

AuthLayout

A deterministic authentication page frame with focused and responsive brand-split presentations.@gemologic/sheen-patterns · application

Playground

Northstar
<AuthLayout label="Sign in" brand={<strong>Northstar</strong>} contentWidth="md"><Button variant="solid" tone="accent">Continue with SSO</Button></AuthLayout>

Variant matrix

Low-level focused frame
Northstar
contentWidth: sm
Northstar
contentWidth: md
Northstar

Anatomy

Package
@gemologic/sheen-patterns
Source
packages/patterns/src/AuthLayout.tsx
Tokens
  • --sheen-color-bg
  • --sheen-color-bg-raised
  • --sheen-color-bg-subtle
  • --sheen-color-border
  • --sheen-color-accent-subtle
  • --sheen-space-section
  • --sheen-elevation-raised

Accessibility

Role: main, complementary, section, heading, footerKeyboard: Tab, Shift+Tab

Do

  • Render AuthLayout as the page's single main landmark.
  • Keep provider configuration, network requests, errors, redirects, and session state in the application.
  • Use complete server-known brand and authentication markup so hydration has one owner.

Do not

  • Do not mount AuthLayout inside AppShell or another main landmark.
  • Do not put secrets, authorization codes, or raw identity-provider errors in client markup.
  • Do not branch the initial layout on browser width; the split collapse is CSS-only.

Generated props

NameTypeDefaultDescription
presentation"focused" | "brand-split" | undefinedfocusedCentered focused layout or two-pane brand-split layout. The split mode requires its aside contract.
asideJSX.ElementRequired product context, illustration, or testimonial in brand-split mode.
asideLabelstring | undefinedRequired accessible name for the brand-split complementary region.
asidePositionAuthLayoutAsidePosition | undefinedstartLogical placement of the brand region in split mode.
refHTMLElement | ((element: HTMLElement) => void) | undefinedNative main-landmark reference.
label *stringRequired accessible name for the authentication page's main landmark.
brand *JSX.ElementPersistent app-owned product identity displayed above the authentication surface.
children *JSX.ElementAuthentication controls and status. The application owns providers, requests, errors, redirects, and session state.
footerJSX.ElementOptional support, privacy, terms, or implementation links below the authentication surface.
contentWidthAuthLayoutContentWidth | undefinedmdBounded authentication-content width.
Native Solid/HTML attributes remain available and are omitted from this authored-prop view.