Vector Motion
Education

Professional Development Card - Staff Training

Track teacher professional development and training progress. Monitor staff development and certification requirements.

Professional Development Card

The Professional Development Card displays professional development hours completed toward certification requirements with progress tracking.

Preview

Installation

npx shadcn@latest add https://vectormotion.vercel.app/registry/professional-dev-card.json
Professional Development Card
'use client'import React from 'react';import { Award } from 'lucide-react';import { motion } from 'motion/react';import { clsx, type ClassValue } from "clsx";import { twMerge } from "tailwind-merge";import { ResponsiveContainer, RadialBarChart, RadialBar, Tooltip } from 'recharts';function cn(...inputs: ClassValue[]) {  return twMerge(clsx(inputs));}interface DevData {  name: string;  hours: number;  fill: string;  [key: string]: any;}interface ProfessionalDevCardProps {  className?: string;  title?: string;  subtitle?: string;  deadline?: string;  data?: DevData[];}const DEFAULT_DATA: DevData[] = [  { name: 'Completed', hours: 24, fill: '#f97316' },];const DEFAULT_TITLE = "PD Hours";const DEFAULT_SUBTITLE = "Certification";const DEFAULT_DEADLINE = "Deadline: Dec 31";export const ProfessionalDevCard: React.FC<ProfessionalDevCardProps> = ({  className = "",  title = DEFAULT_TITLE,  subtitle = DEFAULT_SUBTITLE,  deadline = DEFAULT_DEADLINE,  data = DEFAULT_DATA,}) => {  return (    <motion.div      initial={{ opacity: 0, y: 20 }}      animate={{ opacity: 1, y: 0 }}      transition={{ duration: 0.5, delay: 0.2 }}      className={cn(        "relative overflow-hidden rounded-2xl border border-border bg-card text-card-foreground shadow-sm transition-all hover:border-orange-300 dark:hover:border-orange-700 hover:shadow-md flex flex-col h-full",        className      )}    >      <div className="p-5 flex flex-col h-full relative z-10">        <div className="mb-4 flex items-start justify-between">          <div>            <h3 className="font-bold text-lg text-foreground">              {title}            </h3>            <p className="text-sm text-muted-foreground font-medium">              {subtitle}            </p>          </div>          <div className="rounded-xl bg-orange-500/10 p-2.5 text-orange-500 dark:text-orange-400 flex items-center justify-center ring-1 ring-orange-100 dark:ring-orange-800">            <Award className="h-5 w-5" />          </div>        </div>        <div className="flex-1 w-full min-h-[120px] relative">          <ResponsiveContainer width="100%" height="100%">            <RadialBarChart              cx="50%"              cy="50%"              innerRadius="70%"              outerRadius="100%"              barSize={10}              data={data}              startAngle={90}              endAngle={-200} /> </ResponsiveContainer>          <div className="text-center text-xs text-muted-foreground">{deadline}</div>        </div>      </div>    </motion.div>  );};

Usage

This component helps educators track their professional development progress toward certification and continuing education requirements.

Prop

Type