/* ============================================================================ Card.CTA - Figma 25:802 (720 x 141) ---------------------------------------------------------------------------- A call to action on the accent fill: eyebrow, headline, supporting line and one outlined action. The action is the only interactive element, so this card is never stretched over a link. The panel carries data-surface="dark" because it is a dark green field whatever the page around it is doing: inside it the focus ring, the hover veil and every text role resolve for a dark background, on a light page too. USAGE ----- // Arabic // External application form ========================================================================= */ import { Button } from "../Button"; import { CardLink, cx } from "./CardShell"; import type { CardLinkTarget, CardTitleElement } from "./types"; export interface CardCTAAction extends CardLinkTarget { label: string; } export interface CardCTAProps { headline: string; action: CardCTAAction; /** Small line above the headline ("Ready to join us?"). */ eyebrow?: string; body?: string; headlineAs?: CardTitleElement; className?: string; } export function CardCTA({ headline, action, eyebrow, body, headlineAs = "h2", className, }: CardCTAProps) { const Headline = headlineAs; const { label, ...destination } = action; return (
{eyebrow ?

{eyebrow}

: null} {headline} {/* Figma dims this line to 90%; left at full strength because white on the accent green is already close to the AA floor. */} {body ?

{body}

: null}
{/* The outlined action is the project Button, not a look-alike: inside this dark subtree its secondary variant already resolves to the white stroke and white label the design asks for. CardLink keeps internal hrefs routing client-side and external ones a plain anchor. */}
); }