Search

Search components and blocks

Sign in

Card Blocks

Pricing, profile, and product cards — self-contained surfaces built on shadcn primitives, ready to drop into a page.

Stat Card Row

Open page

An agent-activity KPI strip — each value counts up from zero on mount, a per-stat kebab menu opens the shared dropdown for quick actions, and every card lifts slightly on hover. Status is never color-alone: each trend pill pairs an icon with its text, color-coded neutral/good/bad/warn.

pnpm dlx shadcn@latest add @ditherui/stat-card-row

0

Active Agents

+3 today

0

Tasks Completed

+18% this week

0

Failed Tasks

No significant change

0.0K

Tokens Used

82% of monthly quota

Install

$ pnpm dlx shadcn@latest add @ditherui/stat-card-row

Props

className / ...div propsReact.ComponentProps<"div">—

Framed Pricing Card

ProOpen page

A tight double-border frame — a faint outer ring with a thin gap before the real card border, a gradient 'Most popular' badge floating right in that gap. The whole card lifts on hover, a monthly/yearly Switch crossfades the price instead of just swapping it, and the feature list checks itself in with a staggered entrance.

pnpm dlx shadcn@latest add @ditherui/framed-pricing-card
Most popular

Pro

For growing teams that need more power.

YearlySave 20%
$29/month
  • Unlimited projects
  • Advanced analytics
  • Priority support
  • Custom integrations
  • Team collaboration

Props

className / ...div propsReact.ComponentProps<"div">—

Meeting Card

ProOpen page

A single card, not a paired layout — a soft ambient color wash behind the header instead of a hard top-edge bar, crossfading from sky to red as the meeting goes live, with a matching dot on the type badge and a gentle lift on hover. The countdown actually ticks down every second and flips to a pulsing 'Live now' at zero, and an Agenda disclosure expands in place instead of always showing the description. Join call pulses to 'Joining…' before it would hand off to the call.

pnpm dlx shadcn@latest add @ditherui/meeting-card
Internal45 min

Design Review — Q3 Roadmap

Starts in 5:00
AC
MR
PN
+2

Props

className / ...div propsReact.ComponentProps<"div">—

Agent Score Card

ProOpen page

An always-dark hero stat card framed with a double border — a faint outer ring, a gap, then the real edge — instead of a drop shadow, with a soft violet glow tucked in the corner for depth. The run-activity grid renders four real intensity levels in the card's own violet accent, its bottom-left cluster breathing gently as the agent's current streak of successful runs, while the count-up score and tasks/tokens/tool calls/uptime rows file in staggered on the right, each behind its own colored icon chip and highlighting on hover.

pnpm dlx shadcn@latest add @ditherui/agent-score-card

AGENT SCORE

0

Tasks completed0
Tokens used0.0K
Tool calls0
Uptime0.0%

Props

className / ...div propsReact.ComponentProps<"div">—

Connectors Card

ProOpen page

A settings-panel connector list with real brand marks (via @icons-pack/react-simple-icons) — each logo resolves out of a blur into focus one at a time as the list mounts (the same IconTransition used by the Connect button), while its name and description settle in with their own subtle fade-up a beat later, staggered row by row. Connect runs a real idle → connecting → connected sequence: a spinner while it 'works', then the button turns green with a check once done — independent per row. Hit Replay to reset every connector and watch the whole entrance sequence again.

pnpm dlx shadcn@latest add @ditherui/connectors-card

Connectors

  • Linear

    Linear

    Issues, projects & roadmaps

  • Notion

    Notion

    Docs, wikis & databases

  • Obsidian

    Obsidian

    Local-first knowledge base

  • Slack

    Team channels & DMs

  • Supabase

    Supabase

    Postgres, auth & storage

Props

Entrancerows stagger in; each logo resolves into focus one at a time (not overlapping) via the shared IconTransition blur effect, while the name/description settle in with their own subtle fade-up just after—
Connect buttonidle → connecting (spinner) → connected (green, check) — icon blur-swaps and label crossfades at each step—
Replay buttonremounts the list (via key) and resets every connector back to idle, retriggering the entrance sequence—
className / ...div propsReact.ComponentProps<"div">—

Suggested components