Skip to content
GetUrUI

Cards

6 variantsPro
.md

Six interactive cards — account balance, expandable status row, referral, memo folder, story reel and creator profile — each with its own spring moment.

cardbalancefintechreferralinvitefolderstoryprofilefollowexpandable

Account balance

account-balance.tsx

Account balance that counts up, hides behind a privacy toggle and redraws its sparkline per period.

$npx shadcn@latest add @geturui-pro/cards-account-balance
PropTypeDefaultDescription
balancenumber12480.36Amount in major units.
currencystring"USD"ISO currency for formatting.
label / accountstring—Account name and masked number.
periodsAccountBalancePeriod[]—{ key, points, change } per sparkline tab.
defaultPeriodstring—Initially selected period key.
defaultHiddenbooleanfalseStart with the amount masked.
onSend / onRequest / onTopUp() => void—Quick action handlers.

Status row

status-row.tsx

Single-row card with a status line that springs open to reveal details and actions in place.

$npx shadcn@latest add @geturui-pro/cards-status-row
PropTypeDefaultDescription
title / subtitle / valuestring—Row content.
monogramstring—Letters in the leading tile.
status{ label: string; tone: "success" | "warning" | "danger" }—Status under the value, with an icon.
details{ label: string; value: string }[]—Rows in the expanded panel.
actions{ label: string; onClick?: () => void; primary?: boolean }[]—Buttons in the expanded panel.
open / defaultOpen / onOpenChangeboolean / (open: boolean) => void—Controlled or initial expansion.

Referral

referral.tsx

Invite-and-earn card with three steps, a copyable referral link and a segmented track of who has joined.

$npx shadcn@latest add @geturui-pro/cards-referral
PropTypeDefaultDescription
rewardstring"$20"Reward per invite.
linkstring—Referral link without the protocol.
invitees{ name: string; status: "joined" | "pending" }[]—People invited so far.
goal / bonusnumber / string5 / "3 months of Pro"Joins needed and the bonus they unlock.
onCopy(link: string) => void—Called after the link is copied.
onInvite() => void—Shows an Invite by email button.

Memo folder

memo-folder.tsx

Folder whose front flap tips forward on hover or focus while three memos fan up out of it.

$npx shadcn@latest add @geturui-pro/cards-memo-folder
PropTypeDefaultDescription
title / subtitlestring—Text on the folder front.
memos{ id: string; title: string; meta?: string }[]—Up to three memos that fan out.
tone"volt" | "ember" | "ink""volt"Folder colour.
open / onOpenChangeboolean / (open: boolean) => void—Controlled state; otherwise hover and focus open it.
onSelectMemo(memo: FolderMemo) => void—Called when a memo is chosen.

Story reel

story-reel.tsx

Auto-playing story card with segmented progress bars; tap the edges or use arrows to skip, hover or hold to pause.

$npx shadcn@latest add @geturui-pro/cards-story-reel
PropTypeDefaultDescription
storiesStory[]—{ id, kicker?, title, body?, tone?, action? } per slide.
durationnumber5000Milliseconds per story.
loopbooleantrueRestart after the last story.
autoPlaybooleantrueStart playing on mount.
author{ name: string; monogram: string; time?: string }—Header identity.
onIndexChange(index: number) => void—Called when the story changes.

Creator profile

creator-profile.tsx

Monogram profile card with a drawn cover; Follow morphs to Following with a small burst and the follower count ticks.

$npx shadcn@latest add @geturui-pro/cards-creator-profile
PropTypeDefaultDescription
name / handle / role / bio / locationstring—Profile text.
monogramstring—Avatar initials; derived from name when omitted.
verifiedbooleantrueShows a verified badge.
followers / following / postsnumber—Stats row.
mutualsstring[]—Names for “Followed by …”.
isFollowing / defaultFollowing / onFollowChangeboolean / (following: boolean) => void—Controlled or initial follow state.
onMessage() => void—Shows a message button.

Install the whole set

Installs every cards variant at once. Each section above has its own command for a single variant.

Pro installs use your private registry token. Add the @geturui-pro registry once — setup guide. The command works after you get Pro.

$npx shadcn@latest add @geturui-pro/cards

Accessibility

  • Every interactive part is a real button with state (aria-pressed, aria-expanded) and a visible focus ring.
  • Animated numbers keep a static, readable value for assistive tech; the story card announces slides only when paused.
  • Reduced motion swaps slides, fans and bursts for fades and still frames.

Related