For AI agents: the complete documentation index is available at https://wallarm.github.io/design-system/llms.txt, the full documentation bundle is available at https://wallarm.github.io/design-system/llms-full.txt, and this page is available as Markdown at https://wallarm.github.io/design-system/components/splash-screen.md.

SplashScreen

The full-screen entrance for a cold start — the brand Logo over an indeterminate bar, shown once while the app boots. Never on a route change and never as a general loading veil: in-app waits belong to Loader, Skeleton or Progress, and AppShell ships its own first-load reveal, so run one or the other rather than both. You drive visible and nothing else — the phases between are internal — and since it enforces no minimum on-screen time, guarding against a flash on a fast boot is the caller’s job.

Source · Storybook

Usage

import { SplashScreen } from '@wallarm-org/design-system/SplashScreen';

Examples

Toggle

Flipping visible to false is the whole handover: with no shrinkTarget the splash fades out and unmounts, and any children are never shown.

Shrink to card

With a shrinkTarget it morphs into that box and reveals its children inside — the entrance becomes the first view, typically a sign-in card.

Measured height

The splash can measure its own content height when shrinkTarget.height is omitted — the animation shrinks to fit whatever you put inside, no hardcoded constant needed.

Props

PropTypeDefaultDescription
visibleboolean | undefinedtrue
shrinkTargetSplashScreenShrinkTarget | undefined
onPhaseChange((phase: PhaseType) => void) | undefined
defaultCheckedboolean | undefined
defaultValuestring | number | readonly string[] | undefined
autoFocusboolean | undefined
idstring | undefined
tabIndexnumber | undefined
titlestring | undefined
relstring | undefined
onChangeChangeEventHandler<T, Element> | undefined