Componentticket-stub
Id Card
Employee ID card with hologram shine sweep and barcode.
Preview
Live Preview

25%
Premium Headphones
$299$399
Jordan Daisy
Product Designer
AvailableRemote

The Future of Design Systems
Alex Rivera8 min read
Oc
t 14
Tech Conference 2026
21:00
Berlin Arena
Invoice #INV-2026-0987draft
Date: 2026-09-15Due: 2026-10-15
| Item | Qty | Price |
|---|---|---|
| Design Services | 1 | $150 |
| Development Hours | 5 | $100 |
SubtotalNaN
Tax (10%)NaN
TotalNaN
THERMAL RECEIPT#CAAHO6
Design Consultation$150
Development Hours$200
Total$385.00
Thank you for your purchase!
Subtotal$377.00
Tax$30.16
Total$407.16
Color
Size
✓✓✓✓✓✓
Order #102938Processing
Design Services1x
Development5x
VIP
LOYALTY TIER
$100
Jordan Daisy
Happy Birthday!
J
Jordan Daisy
Product Designer
UX
Badge: EMP-8942
Wedding Reception
Please confirm your attendance
Installation
Tokens guide →Add to your project via CLI (zero dependencies, code you own):
npx bigbullui add id-cardOr install the full npm package:
npm install bigbulluiUsage
import { IdCard } from "@/components/ui/id-card";
<IdCard />Source code
id-card.tsxZero dependencies (only React + utils). Copy and paste directly into your project:
"use client";
import * as React from "react";
import { cn } from "./lib/utils";
export interface IdCardProps {
name: string;
role: string;
department: string;
badgeNumber: string;
className?: string;
}
const Entrance = "id-card-entrance";
const ScaleIn = "id-card-scale-in";
export function IdCard({
name,
role,
department,
badgeNumber,
className,
}: IdCardProps) {
return (
<div
className={cn(
"rounded-lg border border-foreground bg-card text-card-foreground p-6 relative overflow-hidden transition-all duration-300 hover:translate-y-1 hover:shadow-lg motion-reduce:transition-none motion-reduce:translate-y-0 motion-reduce:shadow-none",
className
)}
>
{/* Top accent bar */}
<div
className={cn(
"absolute -inset-1 bg-accent opacity-10",
ScaleIn
)}
/>
{/* Avatar */}
<div className="relative w-16 h-16 rounded-full bg-secondary flex items-center justify-center mx-auto mb-4">
<span className={cn("text-xl font-bold")}>{name.split(" ")[0].charAt(0)}</span>
</div>
{/* Name */}
<h3 className="font-medium text-center text-lg line-clamp-2 mb-1">{name}</h3>
{/* Role */}
<p className="text-sm text-muted-foreground text-center mb-3">{role}</p>
{/* Department */}
<p className="text-xs uppercase tracking-wider text-muted-foreground text-center">
{department}
</p>
{/* Badge number */}
<div className="mt-4 pt-4 border-t border-border/50">
<span className="font-mono text-sm font-bold">Badge: {badgeNumber}</span>
</div>
</div>
);
}Props
| Prop | Type | Description |
|---|---|---|
| name | string | Holder name (required). |
| role | string | Job title (required). |
| department | string | Department (required). |
| badgeNumber | string | Badge ID (required). |