Arc
ComponentsBlocksDocsPricingTry the demo
Introduction
Installation
Theming
Motion
AI and MCP
Changelog
Metrics dashboard
KPI drilldownNew
Metric explorer
Revenue explorer
MRR waterfall
Cohort retention
Usage forecast
Journey flow
Connected scatterNew
Market terminalNew
Budget varianceNew
Small multiplesNew
Line replayNew
AI chatNew
AI composer
Agent runNew
SidebarPro4
Page header
Command palette
Notification center
Empty states
Login and sign up5
OTP input
Multi-step formPro
Settings page
Security settings
Billing overview
Usage billingNew
Team members
Invite peopleNew
Team directory
Roles and permissions
API keys
Webhooks
Integrations
Plan comparison
Pricing calculatorNewPro
Usage pricingPro
Cart drawerNewPro
Checkout summaryNewPro
Invoice studio
Wallet card
Product listingNew
Product detailNew
Inbox triage
Support conversation
Support widget
File upload
Media playerPro
Week calendarNew
Availability picker
Project board
Release readiness
Hero sectionNew
Hero signupNewPro
Scroll storyNewPro
Spotlight gridNewPro
Feature bentoNewPro
Comparison tableNew
Logo marquee
Studio perspectivesPro
Stats bandNew
Changelog feed
FAQ sectionNew
Contact sectionNew
Team showcasePro
Blog gridNew
Site headerNew
Site footerNew
CTA sectionNew
Newsletter signupNew
Revenue globe
Customer galaxy
Semantic zoom
Layout morph
What’s new80 new
BlocksFeature bento

Feature bentoPro

A six cell feature bento where small, real product UI acts each feature out on hover.

Live block · sample data

When to use

  • A landing page features section that should show the product rather than list it.
  • Launch pages where each capability has one clear, demonstrable behavior.

When not to use

  • Long feature lists or comparison tables. Use Plan comparison.
  • A guided walkthrough with order. Use Scroll story.
  • Cards that open into detail. Use Spotlight grid.

Installation

Pro source and install commands unlock with a Pro plan.

Usage

Use this as the features section of a landing page. Edit the cells and illustration content in feature-bento-data.ts, or pass your own visual per cell.

example.tsx
1import { FeatureBento } from "@/registry/blocks/feature-bento/feature-bento";2 3export function Features() {4  return (5    <FeatureBento6      title="Everything your team needs"7      features={[8        { id: "sync", title: "Edit together", description: "See who is here and what they change.", visual: "sync", size: "wide" },9        { id: "search", title: "Find anything", description: "One menu for every page and person.", visual: "command", size: "tall" },10        { id: "insights", title: "Clear numbers", description: "Trends next to the work that moved them.", visual: "chart" },11        { id: "rules", title: "Automations", description: "Route, enrich, and notify on their own.", visual: "flow" },12        { id: "access", title: "Access", description: "Roles for every workspace.", visual: "permissions", size: "half" },13        { id: "versions", title: "History", description: "Rewind to any moment.", visual: "history", size: "half" },14      ]}15    />16  );17}
Built fromMotion

API reference

FeatureBento

A six cell feature grid in varied sizes. Each cell pairs a short title and sentence with a small piece of real product UI that acts the feature out.

PropTypeDefaultDescription
titlestring"Built for the way teams actually work"Section heading.
descriptionstring–One or two sentences under the heading. Pass an empty string to hide it.
featuresBentoFeature[]bentoFeaturesThe cells, in reading order. Six read best. Each has id, title, description, visual, and optional size and href.
features[].visualRequired"sync" | "command" | "chart" | "flow" | "permissions" | "history"–Which built-in illustration to draw: a live doc, a command menu, a bar chart, an automation, role switches, or a version scrubber.
features[].size"regular" | "wide" | "tall" | "half""regular"On wide screens: wide spans two thirds, tall spans two rows, half spans half a row, regular a third.
features[].hrefstring–Makes the title a link that covers the whole cell.
visualsPartial<Record<string, ReactNode>>–Replaces an illustration by feature id, for your own screenshot or component.
classNamestring–Extra class on the section.

Accessibility

  • The section is labelled by its heading; each cell is a list item with a real h3 and paragraph.
  • Illustrations are aria-hidden: they repeat what the title and sentence already say.
  • With href, the title is the only link and its hit area stretches over the cell, so there is one tab stop per cell.
  • Focusing a linked cell plays its illustration, the same as hovering it.

Motion

  • Cells rise 14px and fade in once as they enter view, staggered by column.
  • With a mouse, hovering a cell acts its feature out: a cursor drags a selection while another types, a palette highlight glides to its match, the latest bar lifts and takes the accent, steps check off along a filling line, a switch flips and saves, a scrubber slides back and the text swaps to that version.
  • Hover in uses the shared spring curve with small sequenced delays; hover out returns quickly with no delays.
  • On touch screens each cell plays once when it scrolls into view and stays in its end state.
  • Only transform and opacity animate, plus two tiny typing reveals. Reduced motion jumps straight to each state.

Responsive behavior

  • Six columns from 880px container width, two columns from 560px, one column below.
  • The tall cell spans two rows in both multi column layouts, so the grid stays gap free.
  • Illustrations cap their width and center, so they read at 320px.
  • Hover effects are gated to fine pointers; touch plays each cell on view instead.

Performance

  • Illustrations are plain DOM and CSS transitions keyed on data attributes; no animation loop runs.
  • One IntersectionObserver per cell, disconnected after the first view.
  • Three 22px avatars are the only images.

Notes for AI

Give your coding assistant the Markdown reference instead of screenshots.

  • Use as the main features section of a landing page, directly under the hero.
  • Keep titles to one line and descriptions to one sentence; the illustrations carry the detail.
  • Replace sample strings inside the illustrations through bentoSamples in feature-bento-data.ts, or swap a whole cell's visual with the visuals prop.
  • Keep six cells: wide, tall, two regular, two half. Other counts work but lose the rhythm.
/components/blocks/feature-bento/markdown

The full library index for assistants is at /llms.txt.

Related

Spotlight gridProBlockA feature grid where light follows the pointer, cards play live demos, and a click morphs a card into its detail.Scroll storyProBlockA feature section where scrolling the copy drives a pinned product view through each step.Hero sectionBlockThree full screen SaaS heroes: a live dashboard rising from the bottom edge over a drifting mesh, a workflow graph that routes sample events node by node, and editorial type over a mesh gradient.
PreviousComparison tableNextStats band
Arc · 75 block pagesllms.txt

On this page

  • Preview
  • When to use
  • When not to use
  • Installation
  • Usage
  • API reference
  • Accessibility
  • Motion
  • Responsive behavior
  • Performance
  • Notes for AI
  • Related
View as Markdown

Built for the way teams actually work

Fast, shared, and quietly automatic. Everything your team needs to plan, ship, and look back.

  • Q3 launch plan

    Ship onboarding by Sept 30Emma

    Pricing review with finance

    Draft the launch post for TuesdayMarcus

    Edit together in real time

    See who is in the doc, what they selected, and what they are typing.

  • int
    • Invite people
    • Invoices
    • Integrations
    • Insights
    • Inbox
    ↑↓ Move Open

    Everything is a keystroke away

    Jump to any page, person, or setting from one menu.

  • Weekly active12,480
    +24%

    Numbers that explain themselves

    Weekly trends land right next to the work that moved them.

    1. New signup
    2. Enrich company
    3. Post to #sales

    Automations that run on their own

    Route new signups, enrich them, and tell the right channel.

  • AdminsFull access
    EditorsCan edit
    GuestsCan comment
    Saved

    Access that fits your team

    Roles for every workspace, reviewed and changed in one place.

  • Current versionViewing 10:14

    Launch on September 30Launch in early October

    9:02Now

    Every version, one scrub away

    Rewind a page to any moment and bring back what you need.