{
  "$schema": "https://ui.shadcn.com/schema/registry-item.json",
  "name": "typography",
  "type": "registry:ui",
  "title": "Typography",
  "description": "Type scale components for headings, body text, and code display.",
  "dependencies": [
    "class-variance-authority"
  ],
  "registryDependencies": [
    "utils"
  ],
  "files": [
    {
      "path": "ui/typography/typography.tsx",
      "type": "registry:ui",
      "content": "import * as React from 'react'\nimport { cva, type VariantProps } from 'class-variance-authority'\nimport { cn } from '@/lib/utils'\n\nconst typographyVariants = cva('font-mono', {\n  variants: {\n    variant: {\n      H1: 'text-3xl font-bold uppercase tracking-[0.15em] text-[var(--color-green)] text-shadow-[var(--text-glow-green)]',\n      H2: 'text-2xl font-semibold uppercase tracking-[0.12em] text-[var(--color-green)]',\n      H3: 'text-xl font-semibold uppercase tracking-[0.1em] text-[var(--text-secondary)]',\n      H4: 'text-base font-medium uppercase tracking-widest text-[var(--text-secondary)]',\n      P: 'text-sm leading-relaxed text-[var(--text-secondary)]',\n      LEAD: 'text-base leading-relaxed text-[var(--text-secondary)] opacity-90',\n      MUTED: 'text-xs text-[var(--text-muted)]',\n      CODE: 'text-sm bg-[var(--surface-raised)] border border-[var(--border)] px-1.5 py-0.5 text-[var(--color-green)] inline-block',\n    },\n  },\n  defaultVariants: { variant: 'P' },\n})\n\ntype VariantElement = {\n  H1: 'h1'\n  H2: 'h2'\n  H3: 'h3'\n  H4: 'h4'\n  P: 'p'\n  LEAD: 'p'\n  MUTED: 'p'\n  CODE: 'code'\n}\n\nconst variantTag: VariantElement = {\n  H1: 'h1',\n  H2: 'h2',\n  H3: 'h3',\n  H4: 'h4',\n  P: 'p',\n  LEAD: 'p',\n  MUTED: 'p',\n  CODE: 'code',\n}\n\nexport interface TypographyProps\n  extends React.HTMLAttributes<HTMLElement>,\n    VariantProps<typeof typographyVariants> {\n  as?: keyof React.JSX.IntrinsicElements\n}\n\nconst Typography = React.forwardRef<HTMLElement, TypographyProps>(\n  ({ className, variant = 'P', as, children, ...props }, ref) => {\n    const Tag = (as ?? variantTag[variant as keyof VariantElement] ?? 'p') as React.ElementType\n    return (\n      <Tag\n        ref={ref}\n        className={cn(typographyVariants({ variant }), className)}\n        {...props}\n      >\n        {children}\n      </Tag>\n    )\n  }\n)\nTypography.displayName = 'Typography'\n\nexport { Typography, typographyVariants }\n"
    }
  ]
}