"use client"; import TextBox from "@/components/Textbox"; import MediaContent from "@/components/shared/MediaContent"; import { cls } from "@/lib/utils"; import type { LucideIcon } from "lucide-react"; import type { ButtonConfig } from "@/types/button"; interface KpiItem { value: string; label: string; } interface HeroSplitKpiProps { title: string; description: string; kpis: [KpiItem, KpiItem, KpiItem]; tag?: string; tagIcon?: LucideIcon; buttons?: ButtonConfig[]; imageSrc?: string; videoSrc?: string; imageAlt?: string; videoAriaLabel?: string; ariaLabel?: string; imagePosition?: "left" | "right"; className?: string; containerClassName?: string; textBoxClassName?: string; titleClassName?: string; descriptionClassName?: string; tagClassName?: string; buttonContainerClassName?: string; buttonClassName?: string; buttonTextClassName?: string; mediaWrapperClassName?: string; imageClassName?: string; kpiClassName?: string; kpiValueClassName?: string; kpiLabelClassName?: string; } const HeroSplitKpi = ({ title, description, kpis, tag, tagIcon, buttons, imageSrc, videoSrc, imageAlt = "", videoAriaLabel = "Hero video", ariaLabel = "Hero section", imagePosition = "right", className = "", containerClassName = "", textBoxClassName = "", titleClassName = "", descriptionClassName = "", tagClassName = "", buttonContainerClassName = "", buttonClassName = "", buttonTextClassName = "", mediaWrapperClassName = "", imageClassName = "", kpiClassName = "", kpiValueClassName = "", kpiLabelClassName = "", }: HeroSplitKpiProps) => { const mediaContent = (
{kpis.map((kpi, index) => (

{kpi.value}

{kpi.label}

))}
); return (
{imagePosition === "left" && mediaContent}
{/* Mobile */} {/* Desktop */}
{imagePosition === "right" && mediaContent}
); }; HeroSplitKpi.displayName = "HeroSplitKpi"; export default HeroSplitKpi;