crispmeasured from Attio

ViewToggle

The list ⇄ grid icon switch from Attio.

Attio's compact view switch: a padded 28px track (~5% ink, radius 10) holding 24px icon tiles (radius 8). The selected tile is raised with a soft shadow. Use it for view-mode switches (list ⇄ grid) or any small mutually-exclusive icon choice. Controlled via value + onChange.

Preview

grid view

Usage

import { ViewToggle } from "crisp";

<ViewToggle
  value={view}
  onChange={setView}
  options={[
    { value: "list", icon: <List size={16} />, label: "List" },
    { value: "grid", icon: <LayoutGrid size={16} />, label: "Grid" },
  ]}
/>;

API

PropTypeDescription
options{ value, icon, label }[]The tiles (label is the accessible name).
valuestringThe selected value.
onChange(value: string) => voidFired when a tile is chosen.

On this page