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 (
);
};