import { Copy } from "lucide-react"; import { forwardRef } from "react"; import { ReactNode } from "react"; import { cn } from "../../lib/utils"; import { type ComponentPropsWithoutRef } from "react"; export const BannerDisplay = ({ className, children, }: { className?: string; children: ReactNode; }) => { return (

{children}

); }; const textBase = "my-5"; export const SuperDisplay = ({ className, children, }: ComponentPropsWithoutRef<"h1">) => { return (

{children}

); }; export const Display = ({ className, children, }: ComponentPropsWithoutRef<"h2">) => { return (

{children}

); }; export enum HeadingLevel { l1 = "text-primary text-3xl sm:text-5xl 3xl:text-6xl", l2 = "text-primary text-2xl sm:text-4xl 3xl:text-5xl", l3 = "text-primary text-xl sm:text-3xl 3xl:text-4xl", l4 = "text-primary text-lg sm:text-2xl 3xl:text-3xl", l5 = "text-muted-foreground text-base sm:text-xl 3xl:text-2xl", } interface HeadingProps extends ComponentPropsWithoutRef<"h3"> { level?: HeadingLevel; longForm?: boolean; // Is the heading part of a long form text? } const longFormHeadingBase = textBase + " mt-10 mb-0"; export const Heading = ({ className, children, level = HeadingLevel.l1, longForm, }: HeadingProps) => { return (

{children}

); }; const smallBodyBase = "text-primary leading-normal 2xl:leading-normal sm:text-base 2xl:text-lg 3xl:text-xl"; export const SmallText = ({ className, children, }: { className?: string; children: ReactNode; }) => { return

{children}

; }; export const SmallTextEmbed = ({ className, children, }: { className?: string; children: ReactNode; }) => { return ( {children} ); }; export const textBodyBase = "text-primary leading-normal 2xl:leading-normal sm:text-lg 2xl:text-xl 3xl:text-2xl"; export const TextEmbed = forwardRef< HTMLSpanElement, ComponentPropsWithoutRef<"span"> >(({ className, children, ...props }, ref) => { // This component is used to embed text in another paragraph component return ( {children} ); }); interface TextProps extends ComponentPropsWithoutRef<"p"> { longForm?: boolean; // Is the text part of a long form text? } const longFormTextBase = textBase + " my-5"; export const Text = forwardRef( ({ className, children, longForm, ...props }, ref) => { return (

{children}

); }, ); export const CodeSnippet = ({ children, className, }: { children: ReactNode; className?: string; }) => { return (
{children}
); };