"use client"; import TextBox from "@/components/Textbox"; import HeroBackgrounds, { type HeroBackgroundVariantProps } from "@/components/background/HeroBackgrounds"; import LogoMarquee, { type MarqueeItem } from "@/components/shared/LogoMarquee"; import { cls } from "@/lib/utils"; import type { ButtonConfig } from "@/types/button"; import type { Avatar } from "@/components/shared/AvatarGroup"; type HeroCenteredBackgroundProps = Extract< HeroBackgroundVariantProps, | { variant: "plain" } | { variant: "animated-grid" } | { variant: "canvas-reveal" } | { variant: "cell-wave" } | { variant: "downward-rays-animated" } | { variant: "downward-rays-animated-grid" } | { variant: "downward-rays-static" } | { variant: "downward-rays-static-grid" } | { variant: "gradient-bars" } | { variant: "radial-gradient" } | { variant: "rotated-rays-animated" } | { variant: "rotated-rays-animated-grid" } | { variant: "rotated-rays-static" } | { variant: "rotated-rays-static-grid" } | { variant: "sparkles-gradient" } >; interface HeroCenteredProps { title: string; description: string; background: HeroCenteredBackgroundProps; avatars: Avatar[]; avatarText?: string; buttons?: ButtonConfig[]; marqueeItems?: MarqueeItem[]; marqueeSpeed?: number; showMarqueeCard?: boolean; ariaLabel?: string; className?: string; containerClassName?: string; textBoxClassName?: string; titleClassName?: string; descriptionClassName?: string; avatarGroupClassName?: string; buttonContainerClassName?: string; buttonClassName?: string; buttonTextClassName?: string; marqueeClassName?: string; marqueeItemClassName?: string; marqueeCardClassName?: string; marqueeImageClassName?: string; marqueeTextClassName?: string; marqueeIconClassName?: string; } const HeroCentered = ({ title, description, background, avatars, avatarText, buttons, marqueeItems, marqueeSpeed = 30, showMarqueeCard = true, ariaLabel = "Hero section", className = "", containerClassName = "", textBoxClassName = "", titleClassName = "", descriptionClassName = "", avatarGroupClassName = "", buttonContainerClassName = "", buttonClassName = "", buttonTextClassName = "", marqueeClassName = "", marqueeItemClassName = "", marqueeCardClassName = "", marqueeImageClassName = "", marqueeTextClassName = "", marqueeIconClassName = "", }: HeroCenteredProps) => { return (
{marqueeItems && marqueeItems.length > 0 && ( )}
); }; HeroCentered.displayName = "HeroCentered"; export default HeroCentered;