{
  "$schema": "https://ui.shadcn.com/schema/registry-item.json",
  "name": "data-panel",
  "title": "Data Panel",
  "description": "Sharp bordered container for tables and lists (bg-card + ring, horizontal scroll built in) with an optional DataPanelHeader title/action row.",
  "dependencies": [
    "cn"
  ],
  "files": [
    {
      "path": "registry/sav/components/data-panel.tsx",
      "content": "// @sav-registry: data-panel\nimport { cn } from \"cn\"\n\n/**\n * Sharp-cornered bordered container for tables and list sections, matching the\n * Sera card look (bg-card + ring, no radius). Replaces ad-hoc\n * `rounded-xl border bg-background` wrappers that clash with the sharp theme.\n * Horizontal scroll is built in so wide tables never break the page.\n *\n * `min-w-0` is what MAKES that true: pages put the panel in a `flex flex-col`,\n * and a flex item defaults to `min-width: auto`, i.e. it refuses to shrink\n * below its content. Without it the panel grows to the width of the widest row\n * and pushes the whole page sideways instead of scrolling inside itself.\n */\nexport function DataPanel({\n  className,\n  children,\n}: {\n  className?: string\n  children: React.ReactNode\n}) {\n  return (\n    <div\n      className={cn(\n        \"min-w-0 overflow-x-auto bg-card text-card-foreground shadow-sm ring-1 ring-foreground/5\",\n        className\n      )}\n    >\n      {children}\n    </div>\n  )\n}\n\n/** Optional header row for a DataPanel (title + optional action). */\nexport function DataPanelHeader({\n  title,\n  action,\n  className,\n}: {\n  title: string\n  action?: React.ReactNode\n  className?: string\n}) {\n  return (\n    <div\n      className={cn(\n        \"flex items-center justify-between gap-3 border-b px-4 py-3\",\n        className\n      )}\n    >\n      <h2 className=\"font-heading text-sm font-semibold\">{title}</h2>\n      {action}\n    </div>\n  )\n}\n",
      "type": "registry:component",
      "target": "@components/data-panel.tsx"
    }
  ],
  "categories": [
    "patterns"
  ],
  "type": "registry:component"
}