Skip to content

Living Bento Grid

A dark bento feature grid that is a live system: tiles update on their own, catch a pointer light, reorder by drag or keyboard, and grow into a detail panel.

ProBento Boxminimal
Category
Sections
Added
2026-09-26
Deps
none
Updated
2026-09-26

This is a viberdy Pro component

The live preview, the props panel and the write-up are open to everyone. The full source, the AI prompt and CLI install are part of Pro.

Preview

Platform

Everything you ship, watched in one place.

Live traffic, latency, deploys and spend, updating as it happens. Drag to arrange it your way.

Drag to rearrange · Alt + arrows · Enter to open

Props

Live data
No runtime dependencies
"use client";

import { useEffect, useId, useLayoutEffect, useRef, useState } from "react";
import type { CSSProperties, KeyboardEvent as ReactKeyboardEvent, PointerEvent as ReactPointerEvent, ReactNode } from "react";

/**
 * LivingBentoGrid — a bento feature grid that is a live system, not a
 * screenshot of one.
 *
 * - LIVE. Each tile renders from a `tick` that advances on a slow interval,
 *   so figures, sparklines and status lists move on their own while the
 *   section is on screen. It pauses off-screen, in hidden tabs, during a drag
 *   and under prefers-reduced-motion. Only content moves; the grid, the
 *   canvas and the hairlines never do.
 * - LIT. One light follows the pointer across the grid and catches every
 *   tile's hairline near it. Hover never lifts a tile.
 * - REORDERABLE. Drag a tile and the others slide out of its way (FLIP,
 *   a short spring), measured in layout pixels so it works inside scaled

  // ---------------------------------------------------------------
  // Full source available with a viberdy Pro subscription.
  // https://viberdy.dev/pricing
  // ---------------------------------------------------------------
}
Notes

About this section

Most bento sections are a screenshot of a product arranged in rounded boxes, and they sit still. The best ones feel like the product is running inside them. Here each tile renders from a clock that advances every few seconds while the section is on screen, so request rates, latency heat strips, deploy lists and usage meters move on their own, and only the content moves; the grid, the canvas and the hairlines never do. One light follows the pointer and catches the hairline of every tile near it, and hover never lifts a tile. Drag a tile and the others slide out of its way with a short spring, or focus it and press Alt with an arrow key for the same move, announced to screen readers. Click a tile and it grows from its own rectangle into a panel with a fuller view; Escape shrinks it back. The tile widgets ship with it: BigFigure, Sparkline, HeatStrip, StatusList and Meter.

Curator’s note

Part of the Bento Box kit, drop 2, phase 4: the kit's flagship. Pro because it is a stateful multi-part system: a live clock, FLIP reordering by pointer and keyboard, and a shared-element expand.

Related

Pairs well with

Matched on shared tags and category — the entries most likely to be used alongside this one.

New

A "customise your dashboard" panel: drag or keyboard reorder, show and hide switches, a live miniature of the result, and save, cancel and reset.

reorderdrag and dropdashboard
NewPro

A feature grid cut from one sheet of liquid glass: each tile is as thick as it is big, and one pointer light moves across every rim.

bentofeature gridsection
NewPro

A primitive that grows any bento tile into a full panel: the panel opens from the tile's own rectangle while its cover, title and figure fly across to their new places.

bentoshared elementflip animation