{ "$schema": "https://ui.shadcn.com/schema/registry-item.json", "name": "section", "dependencies": [], "registryDependencies": [ "@seamless/utils" ], "files": [ { "path": "src/components/ui/section.tsx", "content": "import type * as React from \"react\"\n\nimport { cn } from \"@/lib/utils\"\n\n/**\n * NOTE: an inner section of a detail surface — a bordered box with an uppercase label, a body that\n * scrolls on its own, and a show-more control. Lighter than a Card by design: a Card is a surface,\n * this is a region WITHIN one, and several sit side by side without competing.\n */\nfunction Section({ className, ...props }: React.ComponentProps<\"section\">) {\n return (\n \n )\n}\n\n/** NOTE: `ml-auto` on a trailing child parks it at the end of the label row (a meter, an action). */\nfunction SectionHeader({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n \n )\n}\n\nfunction SectionTitle({ className, ...props }: React.ComponentProps<\"h3\">) {\n return (\n \n )\n}\n\n/**\n * CONSTRAINT: the body owns the scroll, not the sheet around it — `overscroll-contain` keeps a\n * scroll that runs out here from tearing the surface behind it.\n */\nfunction SectionBody({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n \n )\n}\n\n/** NOTE: the one row treatment every section shares — the hairline is the separator, not a divider. */\nfunction SectionRow({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n \n )\n}\n\n/** NOTE: the reading a row trails off with — a status, a timestamp, a count. Never the row's subject. */\nfunction SectionMeta({ className, ...props }: React.ComponentProps<\"span\">) {\n return (\n \n )\n}\n\nfunction SectionEmpty({ className, ...props }: React.ComponentProps<\"p\">) {\n return (\n \n )\n}\n\nfunction SectionMore({ className, ...props }: React.ComponentProps<\"button\">) {\n return (\n \n )\n}\n\n/** NOTE: a status dot for a row whose meaning is carried by colour plus its adjacent label. */\nfunction SectionDot({\n className,\n tone = \"neutral\",\n ...props\n}: React.ComponentProps<\"span\"> & {\n tone?: \"ok\" | \"warn\" | \"bad\" | \"neutral\" | \"info\"\n}) {\n return (\n \n )\n}\n\nexport {\n Section,\n SectionBody,\n SectionDot,\n SectionEmpty,\n SectionHeader,\n SectionMeta,\n SectionMore,\n SectionRow,\n SectionTitle,\n}\n", "type": "registry:ui" } ], "type": "registry:ui" }