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.
Usage
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.