Getting StartedComponentsDesign TokensThemingTheme SynthesizerFrameworksAccessibilityUtilitiesServer RenderingBrowser SupportContributingChangelogApp ShellAspect GridAuth ShellCenterContainerDashboard GridFloat BarInsetMasonryPage HeaderPage LayoutResizableResponsive SwitcherSectionSettings LayoutSplit PaneStatus BarStickyToolbarAnchor NavBottom NavBreadcrumbBreadcrumb MenuCommand BarDrawerFooterLinkMenubarNavigation MenuPage IndicatorPaginationRailScroll IndicatorScroll SpyScroll To TopSidebarSkip LinkStepper NavTabsTop BarTree ViewAccordionAspect RatioAvatarAvatar GroupCardCarouselCollapsibleColor SwatchCTA BannerDividerEmpty StateFeature CardIconImageImage CompareImage HotspotsInfinite ScrollLightboxMarqueeQR CodeScroll AreaSkeletonSpinnerStackVideoVirtual ListActivity HeatmapAnimated NumberBadgeBar ListChartClockComparisonCountdown TimerData GridDescription ListDiffGaugeJSON TreeKanbanLevel MeterListMeterSparklineStatStepperTagTimelineUptimeValue CardWaveformBlockquoteCode BlockCode GroupGradient TextHighlightKbdKeyboard MapMarkdownNumber FormatProseTerminalTextTime AgoTruncateTypewriterButtonButton GroupCalendarCheckboxChipColor PickerComboboxCopy ButtonDate PickerDate Range PickerField ListFieldsetFile UploadFormHotkeyIcon ButtonImage CropperInline EditInputInput GroupKnobLabelMasked InputMulti SelectNumber InputPassword InputPin InputRadio GroupRange SliderRatingSearchSegmented ControlSelectSignature PadSliderSortable ListSwitch GroupTag InputTextareaTheme ToggleTime PickerToggleTransfer ListTree SelectAlertAnnouncementBannerCommand PaletteConfirmConnection StatusContext MenuConversationDialogDropdown MenuHover CardLoading OverlayNotification PanelPopoverProgressSheetToastTooltip
ARC UIARC Radiant Components
v4.9DocsComponentsTokensSynthesizer
Getting StartedFrameworksServer RenderingDesign TokensThemingTheme SynthesizerTypographyUtilitiesAll ComponentsAccessibilityBrowser SupportChangelogContributingStatsApp ShellAspect GridAuth ShellCenterContainerDashboard GridFloat BarInsetMasonryPage HeaderPage LayoutResizableResponsive SwitcherSectionSettings LayoutSplit PaneStatus BarStickyToolbarAnchor NavBottom NavBreadcrumbBreadcrumb MenuCommand BarDrawerFooterLinkMenubarNavigation MenuPage IndicatorPaginationRailScroll IndicatorScroll SpyScroll To TopSidebarSkip LinkStepper NavTabsTop BarTree ViewAccordionAspect RatioAvatarAvatar GroupCardCarouselCollapsibleColor SwatchCTA BannerDividerEmpty StateFeature CardIconImageImage CompareImage HotspotsInfinite ScrollLightboxMarqueeQR CodeScroll AreaSkeletonSpinnerStackVideoVirtual ListActivity HeatmapAnimated NumberBadgeBar ListChartClockComparisonCountdown TimerData GridDescription ListDiffGaugeJSON TreeKanbanLevel MeterListMeterSparklineStatStepperTagTimelineUptimeValue CardWaveformBlockquoteCode BlockCode GroupGradient TextHighlightKbdKeyboard MapMarkdownNumber FormatProseTerminalTextTime AgoTruncateTypewriterButtonButton GroupCalendarCheckboxChipColor PickerComboboxCopy ButtonDate PickerDate Range PickerField ListFieldsetFile UploadFormHotkeyIcon ButtonImage CropperInline EditInputInput GroupKnobLabelMasked InputMulti SelectNumber InputPassword InputPin InputRadio GroupRange SliderRatingSearchSegmented ControlSelectSignature PadSliderSortable ListSwitch GroupTag InputTextareaTheme ToggleTime PickerToggleTransfer ListTree SelectAlertAnnouncementBannerCommand PaletteConfirmConnection StatusContext MenuConversationDialogDropdown MenuHover CardLoading OverlayNotification PanelPopoverProgressSheetToastTooltip

Auth Shell

Authentication page layout with centered and split variants for sign-in, sign-up, password-reset, and other credential flows. Provides logo, form card, footer, and optional aside slots.

ComponentsAuth Shell
layouthybrid
<arc-auth-shell>

Overview

AuthShell is a page layout for authentication flows. Instead of assembling a centered card with manual CSS every time you need a login page, you get dedicated slots for your logo, form content, footer links, and an optional marketing aside panel. Two layout variants cover the most common patterns. The `centered` variant places a single card in the middle of the viewport, which suits minimal sign-in pages, password-reset screens, and invite-acceptance flows. The `split` variant divides the viewport into a form side and an aside panel, with room for a product illustration, testimonial, or feature highlights alongside the credentials form. Both variants are responsive. On mobile, the split layout collapses to a single column and hides the aside panel, with no media-query work on your part. The card region has a max-width of 420px, which stops inputs getting too wide on large monitors and still leaves room for multi-field forms, social login buttons, and terms-of-service links.

Guidelines

When to use

  • Use the centered variant for simple flows like sign-in, password reset, and magic-link entry
  • Use the split variant when you have marketing content, illustrations, or testimonials to show alongside the form
  • Place your brand logo in the logo slot so it appears above the form card consistently
  • Include a footer slot with links to terms of service, privacy policy, and support
  • Pair with ARC UI Input, Select, and Button components for consistent form styling
  • Keep the form short: ask only for credentials and one optional remember-me toggle

When not to use

  • Do not nest AuthShell inside AppShell; auth pages should be standalone, outside the main app chrome
  • Do not use the split variant for mobile-only apps where the aside will never be visible
  • Do not put navigation bars or sidebars inside AuthShell; it is a single-purpose layout
  • Do not overload the form card with too many fields; split long registration forms into multi-step flows instead
  • Do not forget to provide a way back to the marketing site or a "sign up" link in the footer

Features

  • Two layout variants: centered (single card) and split (form + aside panel)
  • Dedicated slots for logo, default content (form), footer, and aside
  • Responsive split layout collapses to single column on mobile
  • Card region has a 420px max-width
  • CSS custom property theming via ARC UI design tokens
  • Aside panel auto-hides on narrow viewports to keep forms uncluttered
  • Exposed CSS parts (shell, logo, card, footer, form-side, aside) for deep customization
  • Works with Input, Button, Toggle, and other ARC UI form components

Preview

ARC UI

Sign In

Enter your credentials to continue

Forgot password?
Sign In
Don't have an account? Sign up
🔒

Secure by default

Your data is encrypted end-to-end with enterprise-grade security built into every layer.

Usage

Layout and styling work without JavaScript via the HTML/CSS versions. Interactive features like events and state management require the Web Component or a framework wrapper.

<script type="module" src="@arclux/arc-ui"></script>

<arc-auth-shell variant="split">
  <div slot="logo" style="font-size: 22px; font-weight: 700;">ARC UI</div>

  <div style="display: flex; flex-direction: column; gap: 16px;">
    <h2 style="margin: 0;">Sign In</h2>
    <p style="margin: 0; color: var(--text-muted); font-size: 14px;">Enter your credentials to continue</p>
    <arc-input label="Email" type="email" placeholder="you@example.com"></arc-input>
    <arc-input label="Password" type="password" placeholder="••••••••"></arc-input>
    <div style="display: flex; align-items: center; justify-content: space-between;">
      <arc-toggle size="sm" label="Remember me"></arc-toggle>
      <arc-link href="#">Forgot password?</arc-link>
    </div>
    <arc-button variant="primary" style="width: 100%;">Sign In</arc-button>
  </div>

  <div slot="footer">Don't have an account? <arc-link href="#">Sign up</arc-link></div>
  <div slot="aside" style="padding: 40px; text-align: center;">
    <h3>Secure by default</h3>
    <p style="color: var(--text-muted);">Enterprise-grade encryption on every layer.</p>
  </div>
</arc-auth-shell>

API

variant'centered' | 'split''centered'
Controls the page layout. Centered places a single card in the middle of the viewport, best for focused credential flows. Split divides the viewport into a form side and an aside panel for marketing content or illustrations. On mobile, split collapses to a single-column centered layout automatically.

See Also