Filter your inbox
starred messages are shown.
A Material filter chip with a filled selection state and a checkmark.
starred messages are shown.
Three ways in. They share one source, so the pixels match whichever you pick.
npm install @noorddev/vlak-react
// once, next to your app's root
import "@noorddev/vlak-react/css";
import { AndroidChip } from "@noorddev/vlak-react";Precompiled React and one stylesheet. No compiler to configure. Per-component imports work too: @noorddev/vlak-react/components/android-chip.
npx @noorddev/vlak-cli add android-chip
The StyleX leaf lands in components/vlak/ with its dependencies, for your own compiler to own. See StyleX.
npx shadcn add https://vlak.dev/r/android-chip.json
The same registry item, installed by shadcn's CLI.
<link rel="stylesheet" href="node_modules/@noorddev/vlak/css/vlak.css" />
No React. Link vlak.css and use the markup and classes below.
import { AndroidChip } from "@noorddev/vlak-react";
<AndroidChip selected={unread} onSelectedChange={setUnread}>Unread</AndroidChip>| Prop | Type | Default | Description |
|---|---|---|---|
selected | boolean | ||
defaultSelected | boolean | false | |
onSelectedChange | (selected: boolean) => void | ||
icon | ReactNode |
Also accepts ButtonHTMLAttributes<HTMLButtonElement>.
| Keys | Does |
|---|---|
| Tab | Focuses each enabled filter. |
| Enter or Space | Toggles the focused filter. |
<button class="rs-android-chip rs-android-chip-selected" type="button" aria-pressed="true"><span class="rs-android-chip-icon" aria-hidden="true">✓</span>Unread</button>