Skip to content
Menu

Layout

Masonry flow

Masonry flow: A masonry wall that packs tiles of varying height into columns, lifts each one in as it scrolls into view, and re-seats the whole grid when the column count changes.

Using Masonry flow

Masonry flow uses the wide preview frame with a dark theme setting.

Customize the preview

These controls are passed to the demo. Defaults and limits describe the preview; consult the implementation for its full prop API.

ControlTypeDefaultPreview limits
columnsnumber3From 2 to 5; step 1
gapnumber12From 4 to 24; step 1
Which frameworks are available for Masonry flow?

Masonry flow is available for React, Vue, Svelte, Astro, HTML. The live preview uses React; the source observations below apply to index.tsx. Check the selected port before relying on the same interactions.

What does Masonry flow depend on?

The React metadata lists these npm dependencies beyond React: motion, clsx, tailwind-merge.

What accessibility details are visible in Masonry flow?

The React source for Masonry flow includes: attributes and handlers (aria-hidden, aria-label, tabIndex); explicit roles (region). These are source observations. Verify accessible names, focus order and keyboard behavior in the composed page.

How does Masonry flow handle reduced motion?

Masonry flow reads the motion preference in its React source through useReducedMotion(). Preference-dependent expressions in index.tsx: settled && !reduce ? REFLOW : { duration: 0 }; transition: reduce ? "none" : `opacity 600ms ${EASE} ${s.delay}s, transform 680ms ${EASE} ${s.delay}s`. Check the full implementation, shared styles and selected port with reduced motion enabled; these observations do not establish that every animation stops.

Connect your agent

Related open components