{
  "$schema": "https://ui.shadcn.com/schema/registry-item.json",
  "name": "glass-toc",
  "title": "Glass TOC",
  "author": "Alex Chih (https://alexchih.com)",
  "description": "On-this-page navigation card with active-item highlight.",
  "registryDependencies": [
    "https://washiveil.alexchih.com/r/theme.json"
  ],
  "files": [
    {
      "path": "registry/washiveil/ui/glass-toc.tsx",
      "content": "import { cn } from '@/lib/utils';\n\nexport interface GlassTOCItem {\n  label: string;\n  href: string;\n  active?: boolean;\n}\n\nexport interface GlassTOCProps extends Omit<React.ComponentProps<'nav'>, 'title'> {\n  title?: string;\n  items: GlassTOCItem[];\n}\n\nexport function GlassTOC({ title = 'On this page', items, className, ...props }: GlassTOCProps) {\n  return (\n    <nav\n      className={cn('rounded-2xl border border-glass-border bg-glass p-5 text-[0.8125rem] backdrop-blur-xl', className)}\n      {...props}\n    >\n      <p className=\"font-mono text-[0.75rem] tracking-[0.2em] text-muted-foreground uppercase\">{title}</p>\n      <ul className=\"mt-3 space-y-2 text-muted-foreground\">\n        {items.map((item) => (\n          <li key={item.href}>\n            <a href={item.href} className={item.active ? 'text-ruri dark:text-ruri-soft' : 'hover:text-foreground'}>\n              {item.label}\n            </a>\n          </li>\n        ))}\n      </ul>\n    </nav>\n  );\n}\n",
      "type": "registry:ui"
    }
  ],
  "type": "registry:ui"
}