Home / Blocks / Application / Widgets
7 blocks in this section

Shadcn KPI Cards and Dashboard Widgets

Add shadcn/ui dashboard widgets for analytics summaries, task timelines, channel performance, and side-by-side product comparisons.

How it works

Three steps to working code

Install a block and the files land in your repository. Nothing calls back to us.

  1. terminal

    $ npx shadcn@latest add @shadcnstore/widget-1

    ✓ Checking registry

    ✓ Installing dependencies

    01

    Run one command

    Every preview above prints its own. The CLI writes the block and the components it needs into your project.

    Installation docs
  2. your project 3 files added

    components/

    ├─ ui/

    ├─ button.tsx

    └─ navigation-menu.tsx

    └─ widget-1.tsx

    02

    Get real files

    React, TypeScript and Tailwind v4, with no framework imports. Next.js, Vite, Remix and Astro all work.

  3. widget-1.tsx

    <Menu.Trigger

    - asChild

    + render={<button />}

    />

    03

    Edit it as your own

    Built on Base UI, not Radix, so keyboard and focus behaviour come from the primitive.

Blocks that hold state already carry the use client directive the Next.js App Router needs.

Guide

KPI cards and the dashboard widgets around them#

A dashboard is mostly small cards. A number with a period, a list with a status, a ring with a percentage. They are easy to build badly, because the hard part is not the layout, it is deciding what a card is allowed to claim. These widgets are sized for a dashboard grid and written so the honest version is the default.

The widgets in this collection#

  • Widget 1 (analytics overview): product sales and volume with trend indicators and recent activity. Free.
  • Widget 2 (market trends): a channel list with a per-item actions menu, for a card that has to be operable and not only readable. Free.
  • Widget 3 (active tasks): assignee avatars, stage labels and progress per task, for a project surface.
  • Widget 4 (top performers): a ranked list of companies with sector labels and change figures.
  • Widget 5 (social channels): progress bars and metrics with an engagement area chart inside the card.
  • Widget 6 (product comparison): two products side by side with percentage change, icons and metrics.
  • Widget 7 (usage against quota): token consumption with a trend line, a per-model breakdown and an estimated cost. Built for metered and AI products.

What belongs on a KPI card#

  • The number, at a size that reads before anything else on the card
  • What it counts, in words a new employee would understand
  • The period it covers, because a number without one is unfalsifiable
  • A comparison, but only where a previous period genuinely exists
  • A route to the detail, since the next question is always which records

The trend slot is optional rather than always filled. A green arrow against an invented baseline is worse than a bare number, because it invites a decision the data cannot support.

KPI cards versus marketing stats#

These are product widgets: dense type, card chrome, trend indicators, sized to sit in a dashboard grid inside an app shell. The marketing stats sections are the landing page equivalent, spaced for a wide page and making a claim rather than reporting a measurement. Using one in the other place is the most common reason a dashboard looks like a brochure.

The usage and quota widget#

Widget 7 solves a problem most metered products hit in their first year: it shows consumption against a quota with the cost estimate a customer will otherwise open a support ticket about. Stating the estimate on the dashboard is cheaper than answering it one ticket at a time.

Building the rest of the dashboard#

Widgets are the top row. Below them, charts carry the trends and a datatable carries the records. Complete app screens cover the cases where a widget is not enough and the whole surface needs designing.

FAQ

Widgets questions, answered

What people ask before choosing a block from this collection.

A KPI card lives inside a product, sized for a dashboard grid and carrying a trend indicator against a previous period. The marketing stats sections are larger, spaced for a landing page, and make a claim rather than reporting a number.
Only where a comparison period genuinely exists. A green arrow against a made-up baseline is worse than a bare number, so the cards keep the trend slot optional rather than always filled.
Widget 7 tracks token consumption against a quota with a trend line, a per-model breakdown and an estimated cost, which is the shape most AI and metered products need on day one.
Widget 1 and Widget 2 are free, covering the analytics overview and the market-trends channel list. The remaining widgets are Pro. See the pricing page.

Documentation

The components behind these blocks

How to install, customise and combine the shadcn/ui components this collection is built from.

Free & Premium Templates

Launch Faster with Complete Templates

Love these blocks? Get our free dashboard and landing page templates with 30+ pre-built pages and all the components you need. Premium templates with advanced features launching soon at $69.

Free Templates Now
30+ Pages Included
Premium Coming Soon