Splash

Splash Shapes

Shapes become the logo, it rises, and the sentence and the button appear.

Preview

Installation

Terminal
npx @usefluid/cli add splash-shapes

Usage

SplashShapes.tsx
import { SplashShapes } from "./SplashShapes";

<SplashShapes logo={logo} as="h1" title="Coffee," words={["roasted.", "today."]} finished={seen} onDone={remember}>
  <p>Order ahead and pick up on your way.</p>
  <a href="/order">Order now</a>
</SplashShapes>

API reference

PropTypeDefaultDescription
logostring—Your logo path.
titlestring—The fixed part of the headline.
wordsstring[]—The words that cycle once and stop on the last.
childrenReactNode—Your real content, shown at the end.
action, onAction—A ready button instead of children.
as"h1" | "h2""h2"
routestring[]—
finishedbooleanfalse
skippablebooleantrue
onDone() => void—
playbooleantrue

Keyboard and screen readers

The content is inert until visible. Reduced motion shows the final screen.

Notes

It fills the screen by default; set --fluid-splash-height to fit it in a box.

Every colour comes from the --fluid-* variables, and the piece is yours to change.

How it is made

A timeline marks each shape, the logo's arrival and the rise. The logo starts at the centre of the screen and rises to its place on a spring transition. The sentence and the button come out of a blur, and the button can only be clicked once it shows.

For your agent

For your agent

Add Splash Shapes to my project with the Fluid library. Build my product's opening with SplashShapes, my logo and a sentence about what I do. Read my project first. Use my logo, my colours and my font through the --fluid-* variables. Keep 44px touch targets, visible focus and reduced motion. If I have no SVG logo, ask before making one up.