{
  "$schema": "https://ui.shadcn.com/schema/registry-item.json",
  "name": "scroll-area",
  "type": "registry:ui",
  "title": "Scroll Area",
  "description": "@interlace/ui — scroll-area primitive (shadcn-compatible).",
  "dependencies": [
    "@base-ui/react"
  ],
  "registryDependencies": [
    "theme"
  ],
  "files": [
    {
      "path": "registry/interlace-ui/scroll-area.tsx",
      "target": "components/ui/scroll-area.tsx",
      "type": "registry:ui",
      "content": "// Mirrors the shadcn ScrollArea canon, built on Base UI.\n// Upstream: https://base-ui.com/react/components/scroll-area\n'use client';\n\nimport * as React from 'react';\nimport { ScrollArea as BaseScrollArea } from '@base-ui/react/scroll-area';\n\nimport { cn } from '@/lib/utils';\n\nfunction ScrollArea({\n  className,\n  children,\n  ...props\n}: React.ComponentProps<typeof BaseScrollArea.Root>) {\n  return (\n    <BaseScrollArea.Root\n      data-slot=\"scroll-area\"\n      className={cn('relative', className)}\n      {...props}\n    >\n      <BaseScrollArea.Viewport\n        data-slot=\"scroll-area-viewport\"\n        className=\"focus-visible:ring-ring/50 size-full rounded-[inherit] transition-[color,box-shadow] outline-none focus-visible:ring-[3px] focus-visible:outline-1\"\n      >\n        <BaseScrollArea.Content>{children}</BaseScrollArea.Content>\n      </BaseScrollArea.Viewport>\n      <ScrollBar />\n      <BaseScrollArea.Corner />\n    </BaseScrollArea.Root>\n  );\n}\n\nfunction ScrollBar({\n  className,\n  orientation = 'vertical',\n  ...props\n}: React.ComponentProps<typeof BaseScrollArea.Scrollbar> & {\n  orientation?: 'horizontal' | 'vertical';\n}) {\n  return (\n    <BaseScrollArea.Scrollbar\n      data-slot=\"scroll-area-scrollbar\"\n      orientation={orientation}\n      className={cn(\n        'flex touch-none p-px transition-colors select-none',\n        orientation === 'vertical' &&\n          'h-full w-2.5 border-l border-l-transparent',\n        orientation === 'horizontal' &&\n          'h-2.5 flex-col border-t border-t-transparent',\n        className,\n      )}\n      {...props}\n    >\n      <BaseScrollArea.Thumb\n        data-slot=\"scroll-area-thumb\"\n        className=\"bg-border relative flex-1 rounded-full\"\n      />\n    </BaseScrollArea.Scrollbar>\n  );\n}\n\nexport { ScrollArea, ScrollBar };\n"
    }
  ]
}
