Skip to content

shadcn.io is an independent project built on shadcn/ui

Free

Profile with Stats Skeleton for Ark UI

A profile placeholder with a large avatar, three lines, three bordered stat boxes and a button.

A large avatar sits beside three lines, then three bordered boxes for stats, then a button across the card. The border is on the box, not on the bar.

Use it when a profile leads with its counts. If one number is updating and the layout is already there, a Spinner in that box is enough. In React, Ark UI does not calculate the stats.

Preview

Preview width

Installation

Sign in to get your install command
Free with an account. It carries your token, so the CLI installs everything in one go.
Use email insteadNo credit card

Anatomy

Skeleton anatomy: avatar, title, description, media

Usage

<div className="flex w-full max-w-md flex-col gap-6 rounded-md border p-6">
  <div className="flex items-start gap-4">
    <Skeleton className="size-20 shrink-0 rounded-full" />
    <div className="flex flex-1 flex-col gap-2">
      <Skeleton className="h-6 w-40" />
      <Skeleton className="h-4 w-32" />
      <Skeleton className="h-4 w-48" />
    </div>
  </div>
  <div className="grid grid-cols-3 gap-4">
    <div className="flex flex-col items-center gap-2 rounded-md border p-3">
      <Skeleton className="h-8 w-16" />
      <Skeleton className="h-3 w-12" />
    </div>
    <div className="flex flex-col items-center gap-2 rounded-md border p-3">
      <Skeleton className="h-8 w-16" />
      <Skeleton className="h-3 w-12" />
    </div>
    <div className="flex flex-col items-center gap-2 rounded-md border p-3">
      <Skeleton className="h-8 w-16" />
      <Skeleton className="h-3 w-12" />
    </div>
  </div>
  <Skeleton className="h-10 w-full" />
</div>

FAQ

What wraps this profile?

flex w-full max-w-md flex-col gap-6 rounded-md border p-6. A header, three stat boxes, then a button.

How is the header aligned?

flex items-start gap-4. The circle is size-20 shrink-0 rounded-full. Beside it, gap-2 stacks h-6 w-40, h-4 w-32 and h-4 w-48.

How are the stat boxes built?

grid grid-cols-3 gap-4. Each box is flex flex-col items-center gap-2 rounded-md border p-3, with h-8 w-16 over h-3 w-12.

What is the bar under the stats?

h-10 w-full, so it spans the card. The stat numbers stay w-16 inside their boxes.

Does the avatar use the default skeleton radius?

rounded-full replaces the style's default radius on the size-20 circle. The stat boxes get their border from the div, and the bars inside keep bg-muted.

Should this profile skeleton be announced?

Set aria-hidden on each Skeleton when nearby text already says the profile is loading. A text status should carry that message.

API Reference

Skeleton

No extra props in this demo. The rest is on the Skeleton page.