Skip to content
Onycx-ui
ESC

Bento Grid

A grid of tiles that move into place as you scroll through the section.

Dependencies
motion
Size
229 lines
Controls
7 controls

Installation

CLI · shadcn registry

npx shadcn@latest add https://ui.onycx.dev/r/bento-grid.json

1 · Dependencies

npm install motion

2 · Copy the source

components/onycx/bento-grid.tsx

Requires React 19 and Tailwind CSS v4. Copy the source from the bento-grid.tsx tab after tweaking: your values are baked in as the new defaults. Exported image examples use portable sample artwork. Replace it with your own media as needed.

Props

PropTypeDefaultDescription
itemsBentoItem[]—{ title, description?, background?, color?, span?, image?, imageAlt?, rotate?, hideBelow?: 'md' | 'lg', row?, href? }; span is '2x2' | '1x1' | '1x2' | '2x1' (columns x rows).
eyebrow / headingstring—Header copy; | breaks the heading line.
background / ink / accentstring"#f7f3ed" / "#1c1917" / "#8e6152"Sand section, stone heading and clay eyebrow.
rowHeightnumber300Grid auto-row height (px), also used for the single phone column.
parallaxbooleantrueTile drift and roll, grid spring scale and heading fade.
classNamestring—Merged onto the section.