"use client"; import type { ReactNode } from "react"; import "./inline-cta.css"; /** * Inline CTA * The button is part of the prose. At rest it's a phrase with a quiet * underline. On hover/focus a pill grows from that underline up around the * words (clip-path), the text inverts, an arrow slides in, and horizontal * padding opens so the neighbouring words step aside instead of being covered. */ type Props = { before: ReactNode; action: string; after?: ReactNode; href?: string; onClick?: () => void; caption?: ReactNode; accent?: string; className?: string; }; export function InlineCta({ before, action, after, href = "#", onClick, caption, accent = "#efe8dc", className = "" }: Props) { return (

{before}{" "} { if (href === "#") e.preventDefault(); onClick?.(); }} > {" "} {after}

{caption &&

{caption}

}
); }