{ "$schema": "https://ui.shadcn.com/schema/registry-item.json", "name": "calendar-30", "type": "registry:block", "description": "With little-date", "registryDependencies": [ "calendar", "input", "label", "popover", "button" ], "files": [ { "path": "registry/new-york-v4/blocks/calendar-30.tsx", "content": "\"use client\"\n\nimport * as React from \"react\"\nimport { formatDateRange } from \"little-date\"\nimport { ChevronDownIcon } from \"lucide-react\"\nimport { type DateRange } from \"react-day-picker\"\n\nimport { Button } from \"@/registry/new-york-v4/ui/button\"\nimport { Calendar } from \"@/registry/new-york-v4/ui/calendar\"\nimport { Label } from \"@/registry/new-york-v4/ui/label\"\nimport {\n Popover,\n PopoverContent,\n PopoverTrigger,\n} from \"@/registry/new-york-v4/ui/popover\"\n\nexport default function Calendar30() {\n const [range, setRange] = React.useState({\n from: new Date(2025, 5, 4),\n to: new Date(2025, 5, 10),\n })\n\n return (\n
\n \n \n \n \n {range?.from && range?.to\n ? formatDateRange(range.from, range.to, {\n includeTime: false,\n })\n : \"Select date\"}\n \n \n \n \n {\n setRange(range)\n }}\n />\n \n \n
\n )\n}\n", "type": "registry:component" } ], "meta": { "iframeHeight": "600px", "container": "w-full bg-surface min-h-svh flex px-6 py-12 items-start md:pt-20 justify-center min-w-0 xl:py-24", "mobile": "component" }, "categories": [ "calendar", "date" ] }