Skip to content
shadcn.io

shadcn.io is not affiliated with official shadcn/ui

Inset Border Card Grid Features Block for React

Six ring-inset preference cells for a team-settings app, each holding one working control: a switch, a slider, a toggle group, a select, a checkbox and a segmented control.

Framework
UI library

Preview

Preview width

Installation

Part of Pro
Pro unlocks the code and one-line install of every Pro button and text effect, plus the MCP for your AI editor.
Have Pro already? Sign in to open it.Opens here as soon as you're Pro.

Overview

A live-controls feature grid for React with Base UI. Six cells, each with a hairline ring drawn inside its edge and the same rounded corners, hold one working control in a well under a title and a sentence: a switch for compact mode, a slider for text size with its value beside it, a toggle group for the first day of the week, a select for the default view, a checkbox for a weekly digest and a segmented control for the sidebar. Every control keeps its own state, and changing one needs no save button. Three cells across from lg, two from sm, one column on a phone. It's built from Switch, Slider, Toggle Group, Native Select, Checkbox and Segment Group, with your theme's tokens for every colour; the page's lines stay on the spine. For settings, preferences and "try it" sections where the control is the proof.

FAQ

How do I change the controls?

Each cell is one Cell with a title, a sentence and its control as the child, and the state for all six lives at the top of the component. Swap a control for another catalog item, or add one and its state; the cells line up on their wells whatever they hold.

Where does the state go?

It is local useState in the block, so the demo works on its own. In your app, replace the setters with your settings store or an API call; there is no save button, so each change should apply at once.

Are the controls named for assistive technology?

Yes. Every control has an accessible name that matches its title: the switch, the toggle group, the select and the segmented control through aria-label, the slider through its label, and the checkbox through its visible text. The slider reads its value as "16 px". The slider takes its name from its cell's heading.

How does the week toggle work?

It is a toggle group in multiple-selection mode with a small handler that keeps exactly one button pressed, so each button is a real toggle button with a pressed state. Pressing the pressed button does nothing; pressing another one moves the selection.

Why are the controls dark and not the primary colour?

So the primary colour stays on a block's one call to action. The switch, the slider, the checkbox and the pressed toggle fill with the foreground colour, which also keeps them readable in every preset.

How does it fit on a phone?

One column, about 190 pixels per cell. The toggle group, the select and the segmented control fill their wells, and nothing scrolls sideways at 320 pixels.

  • Pro

    A Managed or Self-hosted switch that flips six capability cells at once: each swaps its sentence and ticks, rolls its metric to the other mode's figure and shows by how much that mode leads or trails, on a checkered grid.

  • Pro

    A six-cell feature grid for a keyboard-first notes app: one focus ring glides between cells with the arrow keys, and Enter or a tap writes the cell's detail into a strip under the grid.

  • Pro

    Three outline cells with oversized step numerals and an outcome badge at each foot, under a start-aligned header, for an event-planning tool.

  • Pro

    Six rounded feature tiles for a team workspace, each led by a small greyscale interface in a muted well (a room, a gauge, sharing levels, a branch, a thread, a reminder) instead of an icon, in hairline frames with plus marks.

  • Pro

    A card-in-card grid of six capabilities for a team knowledge base, each with an icon tile, a sentence and a row showing which of three plans include it.

  • Pro

    A three-by-three lattice of seven data-platform primitives on shared hairlines, each with a glyph, a sentence and a mono metric, plus two tinted summary cells that count the primitives and name the one API.