import React from "react"; import { cn } from "#/utils/utils"; interface ElementProps { children?: React.ReactNode; className?: string; } interface ListProps extends ElementProps { start?: number; } interface AnchorProps extends ElementProps { href?: string; } /** * Creates custom markdown components for plan views with reduced font sizes and tighter spacing. * Accepts an optional extraClassName that will be applied to all elements. */ export function createPlanComponents(extraClassName?: string) { return { h1: ({ children, className }: ElementProps) => (

{children}

), h2: ({ children, className }: ElementProps) => (

{children}

), h3: ({ children, className }: ElementProps) => (

{children}

), h4: ({ children, className }: ElementProps) => (

{children}

), h5: ({ children, className }: ElementProps) => (
{children}
), h6: ({ children, className }: ElementProps) => (
{children}
), p: ({ children, className }: ElementProps) => (

{children}

), ul: ({ children, className }: ElementProps) => ( ), ol: ({ children, className, start }: ListProps) => (
    {children}
), li: ({ children, className }: ElementProps) => (
  • {children}
  • ), a: ({ children, className, href }: AnchorProps) => ( {children} ), code: ({ children, className }: ElementProps) => ( {children} ), }; } // Default plan components without extra className (for backward compatibility) export const planComponents = createPlanComponents(); /** * @deprecated Use planComponents instead */ export const planHeadings = planComponents;