# Saved views

Named filter sets as a tab-like strip above the table (All, Needs cloth, Draft this week…), with counts and a dot when the current view has unsaved changes.

- **Group:** Data table · **family:** `data-table` · **shadcn:** Tabs
- **Build:** `Tabs` (underline) + `DropdownMenu` for view actions.
- **In apps/admin today:** Not in apps/admin.
- **Client component:** yes. 

## Content rules

- Names describe the filter: "Needs cloth".

## Do

- Offer Save as new view when modified.

## Don't

- More than ~6 views in the strip; overflow into a menu.

## Accessibility

- **Keyboard:** Behaves as Tabs (← →).
- **ARIA:** `role="tablist"`; modified dot has text "(changed)" for AT.
- **Focus:** Ring.

## Tokens

`--font-voice` `--font-stretch-title` `--s-5` `--border` `--s-2` `--text-card` `--w-semibold` `--muted-foreground` `--r-control` `--motion-hover` `--w-regular` `--text-micro` `--font-ui` `--foreground` `--primary` `--ring` `--info` `--s-1`

## Files

`saved-views.html` live specimen · `saved-views.css` kit rules · `saved-views.d.ts` props · full page: `docs/components/saved-views/` (phone: `m/`).
