{ "$schema": "https://ui.shadcn.com/schema/registry-item.json", "name": "layout-section", "type": "registry:block", "files": [ { "path": "layout-section/section.tsx", "type": "registry:block", "content": "import { cn } from '@cascivo/core/pure'\nimport type { CSSProperties, HTMLAttributes } from 'react'\nimport styles from './section.module.css'\nimport type { SpaceStep } from '@cascivo/core'\n\nexport interface SectionProps extends HTMLAttributes {\n /**\n * Max inline size: content=72rem, wide=90rem, full=none\n *\n * @defaultValue `\"content\"`\n * @see the component manifest\n */\n width?: 'content' | 'wide' | 'full'\n /**\n * Stack gap between children (spacing token step)\n *\n * @defaultValue `8`\n * @see the component manifest\n */\n gap?: SpaceStep\n className?: string | undefined\n}\n\nexport function Section({\n width = 'content',\n gap = 8,\n className,\n style,\n children,\n ...props\n}: SectionProps) {\n const maxInlineSize = width === 'content' ? '72rem' : width === 'wide' ? '90rem' : 'none'\n return (\n \n
{children}
\n \n )\n}\n" }, { "path": "layout-section/index.ts", "type": "registry:block", "content": "// Generated by scripts/registry/barrels.ts — run `pnpm regen`. Do not edit.\nexport * from './section'\n" }, { "path": "layout-section/section.module.css", "type": "registry:block", "content": "@layer cascivo.component {\n .section {\n padding-block: var(--cascivo-space-12);\n padding-inline: var(--cascivo-space-4);\n container-type: inline-size;\n }\n\n .inner {\n max-inline-size: var(--_max, 72rem);\n margin-inline: auto;\n display: flex;\n flex-direction: column;\n gap: var(--_gap, var(--cascivo-space-8));\n }\n}\n" } ], "description": "Page-section shell with block padding, centered inner width, and stack gap.", "dependencies": ["@cascivo/core"], "categories": ["layout"], "meta": { "cascivo": { "type": "layout", "version": "0.17.1" } } }