"use client"; import React, { memo, useState, useEffect } from "react"; import TextBox from "@/components/Textbox"; import MediaContent from "@/components/shared/MediaContent"; import AutoCarousel from "@/components/cardStack/layouts/carousels/AutoCarousel"; import { cls } from "@/lib/utils"; import type { LucideIcon } from "lucide-react"; import type { ButtonConfig, TitleSegment } from "@/components/cardStack/types"; import type { TextboxLayout, InvertedBackground } from "@/providers/themeProvider/config/constants"; type FeatureImage = { id: number; imageSrc?: string; videoSrc?: string; imageAlt?: string; videoAriaLabel?: string; }; interface FeatureCardTwentyProps { images: FeatureImage[]; title: string; titleSegments?: TitleSegment[]; description: string; tag?: string; tagIcon?: LucideIcon; buttons?: ButtonConfig[]; textboxLayout: TextboxLayout; useInvertedBackground: InvertedBackground; ariaLabel?: string; className?: string; containerClassName?: string; textBoxClassName?: string; titleClassName?: string; descriptionClassName?: string; tagClassName?: string; buttonContainerClassName?: string; buttonClassName?: string; buttonTextClassName?: string; titleImageWrapperClassName?: string; titleImageClassName?: string; imagesContainerClassName?: string; imageWrapperClassName?: string; imageClassName?: string; } const FeatureCardTwenty = ({ images, title, titleSegments, description, tag, tagIcon, buttons, textboxLayout, useInvertedBackground, ariaLabel = "Feature section", className = "", containerClassName = "", textBoxClassName = "", titleClassName = "", descriptionClassName = "", tagClassName = "", buttonContainerClassName = "", buttonClassName = "", buttonTextClassName = "", titleImageWrapperClassName = "", titleImageClassName = "", imagesContainerClassName = "", imageWrapperClassName = "", imageClassName = "", }: FeatureCardTwentyProps) => { const [isCentered, setIsCentered] = useState(false); useEffect(() => { const handleResize = () => { setIsCentered(window.innerWidth < 768); }; handleResize(); window.addEventListener("resize", handleResize); return () => window.removeEventListener("resize", handleResize); }, []); const renderImageCard = (image: FeatureImage, heightClass: string) => (