'use client'; import * as React from 'react'; import { motion, Variants } from 'framer-motion'; import { HoverShineOverlay } from '@/components/ui/HoverShineOverlay'; export interface BenefitItem { id: string; title: string; description?: string; icon: 'contract' | 'team' | 'money' | 'vacation' | 'clothes' | 'card' | 'retirement' | 'education' | 'car' | 'family' | 'region' | 'allowance'; } interface BenefitGridProps { badge?: string; title?: string; description?: string; benefits: BenefitItem[]; } const containerVariants: Variants = { hidden: { opacity: 0 }, visible: { opacity: 1, transition: { staggerChildren: 0.1, }, }, }; const itemVariants: Variants = { hidden: { opacity: 0, y: 30 }, visible: { opacity: 1, y: 0, transition: { duration: 0.6, ease: [0.16, 1, 0.3, 1] } }, }; const Icons = { contract: ( ), team: ( ), money: ( ), vacation: ( ), clothes: ( ), card: ( ), retirement: ( ), education: ( ), car: ( ), family: ( ), region: ( ), allowance: ( ), }; export function BenefitGrid({ badge, title, description, benefits }: BenefitGridProps) { return (
{badge &&

{badge}

} {title && (

{title}

)}
{description && (

{description}

)}
{benefits.map((benefit) => (
{Icons[benefit.icon]}

{benefit.title}

{benefit.description && (

{benefit.description}

)}
))}
); }