"use client"; import { useState, type ReactNode } from "react"; export type ImageAccordionItem = { id: string; title: string; caption?: string; /** Your image, filling the panel. It sits inside a button, so no links here. */ media: ReactNode; }; type ImageAccordionProps = { items: ImageAccordionItem[]; /** Index of the panel open at the start. */ start?: number; /** How many times wider the open panel grows. */ grow?: number; /** Set a height here. Panels sit side by side above 448px, stacked below. */ className?: string; }; /* ImageAccordion: a row of image slices. Hover, tap or tab to one and it opens wide while the others fold down. */ export function ImageAccordion({ items, start = 0, grow = 4, className = "h-80" }: ImageAccordionProps) { const [active, setActive] = useState(start); return (