{ "$schema": "https://ui.shadcn.com/schema/registry-item.json", "name": "sf-calendar", "title": "SF Calendar", "description": "Lazy-loaded date calendar with react-day-picker. Import via next/dynamic only — NOT in sf/index.ts barrel.", "dependencies": [ "react-day-picker", "date-fns" ], "registryDependencies": [ "calendar", "button" ], "files": [ { "path": "components/sf/sf-calendar.tsx", "content": "\"use client\";\n\n/**\n * SFCalendar -- FRAME layer date picker with zero border-radius.\n *\n * P3 lazy component: import via sf-calendar-lazy.tsx, NOT from sf/index.ts.\n *\n * Wraps the shadcn Calendar (react-day-picker) with DU/TDR industrial styling:\n * sharp corners on every sub-element, 2px border, no decorative rounding.\n *\n * @example\n * ```tsx\n * import { SFCalendarLazy } from \"@/components/sf/sf-calendar-lazy\";\n *\n * \n * ```\n */\n\nimport { Calendar } from \"@/components/ui/calendar\";\nimport { cn } from \"@/lib/utils\";\n\ntype SFCalendarProps = React.ComponentProps;\n\nfunction SFCalendar({ className, classNames, ...props }: SFCalendarProps) {\n return (\n \n );\n}\n\nexport { SFCalendar };\nexport type { SFCalendarProps };\n", "type": "registry:ui" }, { "path": "components/sf/sf-calendar-lazy.tsx", "content": "\"use client\";\n\n/**\n * Lazy loader for SFCalendar -- loads react-day-picker only when rendered.\n *\n * P3 component: never exported from sf/index.ts barrel.\n * Import this file directly when you need a calendar.\n *\n * @example\n * ```tsx\n * import { SFCalendarLazy } from \"@/components/sf/sf-calendar-lazy\";\n *\n * \n * ```\n */\n\nimport dynamic from \"next/dynamic\";\nimport { SFSkeleton } from \"@/components/sf\";\n\nconst SFCalendarDynamic = dynamic(\n () =>\n import(\"@/components/sf/sf-calendar\").then((m) => ({\n default: m.SFCalendar,\n })),\n {\n ssr: false,\n loading: () => ,\n }\n);\n\nexport function SFCalendarLazy(\n props: React.ComponentProps\n) {\n return ;\n}\n", "type": "registry:ui" } ], "meta": { "layer": "frame", "pattern": "B", "heavy": true }, "type": "registry:ui" }