'use client'; import * as React from 'react'; import { m, LazyMotion, domAnimation, Variants } from 'framer-motion'; import { HoverShineOverlay } from '@/components/ui/HoverShineOverlay'; import { LogoArcs } from '@/components/ui/LogoArcs'; 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: 20 }, visible: { opacity: 1, y: 0, transition: { duration: 1.0, 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, index) => { const bgPositionClasses = [ "-bottom-[30%] -right-[30%]", "-top-[30%] -left-[30%]", "-bottom-[30%] -left-[30%]" ]; const animationClasses = [ "animate-[spin_60s_linear_infinite]", "animate-[spin_80s_linear_infinite]", "animate-[spin_100s_linear_infinite]" ]; const positionClass = bgPositionClasses[index % bgPositionClasses.length]; const animationClass = animationClasses[index % animationClasses.length]; return ( {/* Subtle Background Logo Arcs */}
{Icons[benefit.icon]}

{benefit.title}

{benefit.description && (

{benefit.description}

)}
); })}
); }