{ "$schema": "https://ui.shadcn.com/schema/registry-item.json", "name": "page-header", "title": "Page Header", "description": "Framework-neutral page heading with breadcrumbs, eyebrow, and action slots.", "registryDependencies": ["askyourpolicy/ss-registry/stitch-base"], "files": [ { "path": "src/components/ui/page-header.tsx", "content": "import type { ComponentProps, ReactNode } from \"react\";\n\nimport { cn } from \"@/lib/utils\";\n\ntype PageHeaderSize = \"sm\" | \"default\" | \"lg\";\n\ntype PageHeaderClassNames = {\n actions?: string;\n breadcrumbs?: string;\n content?: string;\n description?: string;\n eyebrow?: string;\n root?: string;\n row?: string;\n title?: string;\n};\n\ntype PageHeaderProps = Omit, \"title\"> & {\n actions?: ReactNode;\n breadcrumbs?: ReactNode;\n classNames?: PageHeaderClassNames;\n description?: ReactNode;\n eyebrow?: ReactNode;\n size?: PageHeaderSize;\n title: ReactNode;\n};\n\nconst titleSizeClasses: Record = {\n sm: \"text-xl\",\n default: \"text-2xl\",\n lg: \"text-3xl sm:text-4xl\",\n};\n\nfunction PageHeader({\n actions,\n breadcrumbs,\n className,\n classNames,\n description,\n eyebrow,\n size = \"default\",\n title,\n ...props\n}: PageHeaderProps) {\n return (\n \n {breadcrumbs != null ? (\n \n {breadcrumbs}\n \n ) : null}\n \n \n {eyebrow != null ? (\n \n {eyebrow}\n \n ) : null}\n \n {title}\n \n {description != null ? (\n \n {description}\n \n ) : null}\n \n {actions != null ? (\n \n {actions}\n \n ) : null}\n \n \n );\n}\n\nexport { PageHeader, type PageHeaderClassNames, type PageHeaderProps, type PageHeaderSize };\n", "type": "registry:ui" } ], "type": "registry:ui" }