E-Commerce
Customer Lifetime Value Card - Revenue Analytics
Monitor customer lifetime value (CLV) and customer profitability. Analyze retention value and long-term customer relationships.
Customer Lifetime Value Card
The Customer Lifetime Value Card Analyze customer lifetime value and revenue potential.
Preview
Installation
ash npx shadcn@latest add https://vectormotion.vercel.app/registry/customer-lifetime-value-card.json
Customer Lifetime Value Card
'use client';import React from "react";import { User, DollarSign, TrendingUp } from "lucide-react";import { motion } from "motion/react";import { clsx, type ClassValue } from "clsx";import { twMerge } from "tailwind-merge";function cn(...inputs: ClassValue[]) { return twMerge(clsx(inputs));}interface CustomerLifetimeValueCardProps { className?: string; title?: string; value?: string; change?: number;}const DEFAULT_TITLE = "Customer Lifetime Value";const DEFAULT_VALUE = "$1,234";const DEFAULT_CHANGE = 15;export const CustomerLifetimeValueCard: React.FC< CustomerLifetimeValueCardProps> = ({ className = "", title = DEFAULT_TITLE, value = DEFAULT_VALUE, change = DEFAULT_CHANGE,}) => { const isInteractive = true; const index = 33; return ( <motion.div layoutId={isInteractive ? `card-${index}-${title}` : undefined} transition={{ duration: 0.4, ease: "easeOut" }} className={cn( "relative overflow-hidden rounded-xl border border-border bg-card text-card-foreground p-6 shadow-sm transition-all flex flex-col group", isInteractive ? "cursor-pointer hover:border-zinc-300 dark:hover:border-zinc-700" : "", className, )} > <div className="mb-4 flex items-start justify-between relative z-10"> <div> <h3 className="font-semibold text-lg tracking-tight text-foreground"> {title} </h3> <p className="text-sm text-muted-foreground mt-1"> Predicted total revenue </p> </div> <div className="rounded-full bg-zinc-100 dark:bg-zinc-800 p-2 text-foreground flex items-center justify-center"> <User className="h-5 w-5 text-purple-500" /> </div> </div> <div className="relative z-10 flex-1 flex flex-col justify-end"> <div className="text-3xl font-bold text-foreground mb-1">{value}</div> <div className="flex items-center gap-2"> <TrendingUp className="h-4 w-4 text-emerald-500" /> <p className="text-sm text-muted-foreground"> <span className="text-emerald-500">+{change}%</span> this year </p> </div> </div> </motion.div> ); };Usage
This component is a data-rich dashboard card displaying e-commerce metrics with animated visualizations and dark mode support. Perfect for dashboards, landing pages, and analytics interfaces.
Prop
Type