/* ============================================================================
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}
{title}
{excerpt ? (
{excerpt}
) : null}
);
}