import { cn } from "@/lib/utils"; type AsChild = { as?: T; className?: string; children?: React.ReactNode; }; type Props = AsChild & Omit, keyof AsChild>; export function PageTitle({ as, className, children, ...rest }: Props) { const Tag = (as ?? "h1") as React.ElementType; return ( {children} ); } export function SectionHeading({ as, className, children, ...rest }: Props) { const Tag = (as ?? "h2") as React.ElementType; return ( {children} ); } export function Body({ as, className, children, ...rest }: Props) { const Tag = (as ?? "p") as React.ElementType; return ( {children} ); } export function Muted({ as, className, children, ...rest }: Props) { const Tag = (as ?? "p") as React.ElementType; return ( {children} ); } export function Caption({ as, className, children, ...rest }: Props) { const Tag = (as ?? "span") as React.ElementType; return ( {children} ); } export function MonoCaption({ as, className, children, ...rest }: Props) { const Tag = (as ?? "span") as React.ElementType; return ( {children} ); }