Mail Client Thread List
Virtualized email thread list with unread, starred, labels, attachments and snooze markers.
About this block
What it's for
- Virtualized email thread list with unread, starred, labels, attachments and snooze markers.
- Inbox list that stays fast with thousands of conversations and marks search matches.
Includes
- Windowed rows
- Unread weight
- Star toggle
- Row checkboxes
- Label chips
- Attachment marker
- Snooze marker
- Hover quick actions
Works with
- Radix UI and Base UI primitives (pick the one your project uses)
- React 19 and Tailwind CSS 4 in Next.js (App Router), Vite, React Router or TanStack Start, installed with the agentic-ui or shadcn CLI
- Your theme tokens, in light and dark mode
- 1 template or blueprint on this site use it (below)
Install
Included with Agentic UI Kit (one-time license). Install needs your license key: see pricing · connect your project.
Agentic UI CLI
agentic-ui add mail-client-thread-listInstalls through shadcn and adapts the component to your design tokens.
shadcn CLI
npx shadcn@4.17.0 add @agentic-ui/mail-client-thread-listUsed in
- Type
- Block
- Variants
- Radix UI and Base UI
- Themes
- Light and dark
- Widths
- Preview it at desktop, tablet and mobile widths above.
- Motion
- Animated, with a reduced-motion fallback
- Sample data
- Ships with sample data in
incoming.ts,people.ts,dsl.ts,seed.ts,story-ops.ts,story-clients.ts,bulk.ts; replace it with your own.
- npm packages
@tanstack/react-virtuallucide-react- Registry dependencies
lib-primitives- Files
27 files
- components/agentic-ui/mail-client-thread-list/components/inbox/thread-list.tsx
- components/agentic-ui/mail-client-thread-list/lib/types.ts
- components/agentic-ui/mail-client-thread-list/lib/selectors.ts
- components/agentic-ui/mail-client-thread-list/lib/snooze.ts
- components/agentic-ui/mail-client-thread-list/lib/clock.ts
- components/agentic-ui/mail-client-thread-list/lib/recipients.ts
- components/agentic-ui/mail-client-thread-list/lib/markdown.ts
- components/agentic-ui/mail-client-thread-list/components/inbox/thread-row.tsx
- components/agentic-ui/mail-client-thread-list/lib/actions.ts
- components/agentic-ui/mail-client-thread-list/lib/store.ts
- components/agentic-ui/mail-client-thread-list/lib/reducer.ts
- components/agentic-ui/mail-client-thread-list/lib/rules.ts
- components/agentic-ui/mail-client-thread-list/lib/reduce-threads.ts
- components/agentic-ui/mail-client-thread-list/lib/reduce-settings.ts
- components/agentic-ui/mail-client-thread-list/lib/reduce-drafts.ts
- components/agentic-ui/mail-client-thread-list/lib/compose.ts
- components/agentic-ui/mail-client-thread-list/data/incoming.ts
- components/agentic-ui/mail-client-thread-list/data/people.ts
- components/agentic-ui/mail-client-thread-list/data/dsl.ts
- components/agentic-ui/mail-client-thread-list/data/seed.ts
- components/agentic-ui/mail-client-thread-list/data/story-ops.ts
- components/agentic-ui/mail-client-thread-list/data/story-clients.ts
- components/agentic-ui/mail-client-thread-list/data/bulk.ts
- components/agentic-ui/mail-client-thread-list/components/notice.tsx
- components/agentic-ui/mail-client-thread-list/components/label-chip.tsx
- components/agentic-ui/mail-client-thread-list/components/inbox/marked.tsx
- components/agentic-ui/mail-client-thread-list/lib/search.ts
Related components
A11y Contrast Badge
Check in the browser whether the theme palette meets AA before opening the PR.
Details and live previewA11y Focus Manager
Confirmation dialog that returns focus to the button that opened it.
Details and live previewA11y Live Announcer
Announce the number of results when filtering a table without reloading the page.
Details and live previewA11y Skip Links
Skip the side navigation and header to reach the main content.
Details and live preview