/* ============================================================================ Card.Horizontal - Figma 25:781 (720 x 200) ---------------------------------------------------------------------------- The listing row: a 240px image beside the text, image at the inline start so it moves to the right in Arabic on its own. Stacks to a single column below the sm breakpoint. Like Card.Content, the whole row is one link. USAGE ----- // External resource - rendered as a plain anchor, not a client-side route. ========================================================================= */ import { CardActionHint, CardEyebrow, CardLink, CardMedia, CardShell, cx, } from "./CardShell"; import type { CardElement, CardImage, CardTitleElement } from "./types"; export interface CardHorizontalProps { href: string; title: string; /** Label of the "Read full report" affordance - required, so Arabic cannot inherit English. */ actionLabel: string; eyebrow?: string; excerpt?: string; image?: CardImage; as?: CardElement; titleAs?: CardTitleElement; className?: string; } export function CardHorizontal({ href, title, actionLabel, eyebrow, excerpt, image, as = "article", titleAs = "h3", className, }: CardHorizontalProps) { const Title = titleAs; return ( {/* Stacked: the ratio reserves the height. Side by side: a fixed 240px column that stretches to whatever the text column needs. */} {image ? ( ) : null}
{eyebrow ? {eyebrow} : null} <CardLink href={href} className="sh-card-link"> {title} </CardLink> {excerpt ? (

{excerpt}

) : null}
); }