GFA Design System is still in development; component APIs and styles may change in upcoming releases.

Ask a Question
Language

Credit card

Premium card with metal finish, PAN reveal, and balance odometer.

Preview & code

GFA Studio CLI · Coming soon

Card number

**** **** ****4149

Name

Gokhan Akman

Balance

$,.

Installation

CLI

GFA Studio CLI — Coming soon

The `npx gfa-studio` installer is not published yet. Use Manual install below or download the artifact JSON.

Artifact JSON
https://ui.gkhn.dev/gfa/credit-card.json

Manual

  1. Download the component source from https://ui.gkhn.dev/gfa/credit-card.json (or copy from this repo: apps/web/src/blocks/gfa/credit-card.tsx).
  2. Place it in your project (for example: ./src/blocks/gfa/credit-card.tsx) and adjust imports/aliases.
  3. Ensure cn from @/lib/utils exists.
  4. Theme tokens and utilities should align with globals.css.
  5. Studio JSON ships credit-card.tsx, chip/PAN/balance/logo helpers, credit-card-fonts.ts, and credit-card.css—keep imports and paths together.
  6. Register creditCardDisplay and creditCardMono on your root html element (see app/layout.tsx in this repo) so --font-gfa-cc-display and --font-gfa-cc-mono exist.
  7. credit-card.tsx imports ./credit-card.css; ensure that file is bundled (or paste its rules into your global stylesheet under [data-gfa-credit-card]).

Step-by-step getting started guide →

Dependencies

Uses motion/react (balance odometer + client helpers), next/font/google (Outfit + DM Mono via credit-card-fonts.ts), and scoped styles in credit-card.css. Payment logos are simplified/demo marks—not official brand assets.

Props

PropTypeDefaultDescription
holderNamestring"Gokhan Akman"Cardholder name shown on the front.
lastFourstring"4149"Last four digits of the PAN (non-digits are stripped).
balancenumber46917.37USD balance rendered with an odometer roll-in on first paint.
classNamestringOptional classes on the root article (e.g. max width).

Release note

Published
15 May 2026, 15:00(Türkiye — Ankara, Europe/Istanbul)
Last updated
15 May 2026, 15:00(Türkiye — Ankara, Europe/Istanbul)

Instants are stored as UTC (ISO) in the repo; above are the same moments in Türkiye local time. Ankara uses the Europe/Istanbul zone (same offset as İstanbul and the rest of the country).