"use client"; import TextAnimation from "@/components/text/TextAnimation"; import MediaContent from "@/components/shared/MediaContent"; import { cls, shouldUseInvertedText } from "@/lib/utils"; import { useTheme } from "@/providers/themeProvider/ThemeProvider"; import type { InvertedBackground } from "@/providers/themeProvider/config/constants"; type Metric = { id: string; value: string; title: string; }; interface MetricCardEightProps { title: string; imageSrc?: string; imageAlt?: string; videoSrc?: string; videoAriaLabel?: string; metrics: Metric[]; useInvertedBackground: InvertedBackground; ariaLabel?: string; className?: string; containerClassName?: string; topSectionClassName?: string; textWrapperClassName?: string; titleClassName?: string; mediaWrapperClassName?: string; mediaClassName?: string; metricsContainerClassName?: string; metricClassName?: string; valueClassName?: string; metricTitleClassName?: string; } const MetricCardEight = ({ title, imageSrc, imageAlt, videoSrc, videoAriaLabel, metrics, useInvertedBackground, ariaLabel = "Metrics section", className = "", containerClassName = "", topSectionClassName = "", textWrapperClassName = "", titleClassName = "", mediaWrapperClassName = "", mediaClassName = "", metricsContainerClassName = "", metricClassName = "", valueClassName = "", metricTitleClassName = "", }: MetricCardEightProps) => { const theme = useTheme(); const shouldUseLightText = useInvertedBackground === "invertDefault" || useInvertedBackground === "invertCard"; const shouldMetricUseLightText = shouldUseInvertedText("invertDefault", theme.cardStyle) || shouldUseInvertedText("invertCard", theme.cardStyle); return (
= 4 && "grid-cols-2 md:grid-cols-4", metricsContainerClassName )}> {metrics.map((metric) => (

{metric.value}

{metric.title}

))}
); }; MetricCardEight.displayName = "MetricCardEight"; export default MetricCardEight;