{
	"$schema": "https://ui.shadcn.com/schema/registry-item.json",
	"name": "calendar",
	"dependencies": ["react-day-picker"],
	"registryDependencies": [],
	"files": [
		{
			"path": "ui/calendar.tsx",
			"content": "\"use client\"\n\nimport * as React from \"react\"\nimport { ChevronLeftIcon, ChevronRightIcon } from \"lucide-react\"\nimport { DayPicker } from \"react-day-picker\"\n\nimport { buttonVariants } from \"@/components/ui/button\"\n\nimport { cn } from \"@/lib/utils\"\n\nfunction Calendar({\n\tclassNames,\n\t...props\n}: React.ComponentProps<typeof DayPicker>) {\n\treturn (\n\t\t<DayPicker\n\t\t\tclassNames={{\n\t\t\t\troot: cn(\n\t\t\t\t\t\"relative size-fit select-none rounded-md border p-3 shadow-xs\",\n\t\t\t\t\tprops.className\n\t\t\t\t),\n\t\t\t\tmonth: cn(\"m-0 space-y-1 text-center\", classNames?.month),\n\t\t\t\tmonth_caption: cn(\n\t\t\t\t\t\"flex h-8 items-center justify-center text-sm font-medium\",\n\t\t\t\t\tclassNames?.month_caption\n\t\t\t\t),\n\t\t\t\ttoday: cn(\"bg-accent\", classNames?.today),\n\t\t\t\tweek: cn(\"flex justify-center py-0.5\", classNames?.week),\n\t\t\t\tday: cn(\n\t\t\t\t\t\"flex size-8 items-center justify-center rounded-md text-sm font-normal hover:[&:has(>button)]:bg-accent hover:[&:has(>button)]:text-accent-foreground\",\n\t\t\t\t\tclassNames?.day\n\t\t\t\t),\n\t\t\t\tday_button: cn(\n\t\t\t\t\t\"size-8 rounded-md focus:outline-hidden focus-visible:outline-[3px] focus-visible:outline-offset-1\",\n\t\t\t\t\tclassNames?.day_button\n\t\t\t\t),\n\t\t\t\tweekdays: cn(\"flex justify-center\", classNames?.weekdays),\n\t\t\t\tweekday: cn(\n\t\t\t\t\t\"size-8 text-sm font-normal text-muted-foreground\",\n\t\t\t\t\tclassNames?.weekday\n\t\t\t\t),\n\t\t\t\toutside: cn(\n\t\t\t\t\t\"text-muted-foreground/80 hover:text-muted-foreground/80!\",\n\t\t\t\t\tclassNames?.outside\n\t\t\t\t),\n\t\t\t\tselected: cn(\n\t\t\t\t\t\"bg-primary! text-primary-foreground! hover:text-primary-foreground!\",\n\t\t\t\t\tclassNames?.selected\n\t\t\t\t),\n\t\t\t\trange_middle: cn(\n\t\t\t\t\t\"bg-secondary! text-secondary-foreground! rounded-none first:rounded-l-md last:rounded-r-md hover:bg-secondary! hover:text-secondary-foreground!\",\n\t\t\t\t\tclassNames?.range_middle\n\t\t\t\t),\n\t\t\t\trange_start: cn(\n\t\t\t\t\tprops.mode === \"range\" &&\n\t\t\t\t\t\tprops.selected?.from?.getTime() !== props.selected?.to?.getTime()\n\t\t\t\t\t\t? \"not-last:rounded-r-none bg-secondary! [&>button]:bg-primary!\"\n\t\t\t\t\t\t: \"\",\n\t\t\t\t\tclassNames?.range_start\n\t\t\t\t),\n\t\t\t\trange_end: cn(\n\t\t\t\t\tprops.mode === \"range\" &&\n\t\t\t\t\t\tprops.selected?.from?.getTime() !== props.selected?.to?.getTime()\n\t\t\t\t\t\t? \"not-first:rounded-l-none bg-secondary! [&>button]:bg-primary!\"\n\t\t\t\t\t\t: \"\",\n\t\t\t\t\tclassNames?.range_end\n\t\t\t\t),\n\t\t\t\tdisabled: cn(\n\t\t\t\t\t\"pointer-events-none text-muted-foreground opacity-50\",\n\t\t\t\t\tclassNames?.disabled\n\t\t\t\t),\n\t\t\t\thidden: cn(\"pointer-events-none\", classNames?.hidden),\n\t\t\t\tnav: cn(\"\", classNames?.nav),\n\t\t\t\tmonth_grid: cn(\"\", classNames?.month_grid),\n\t\t\t}}\n\t\t\tcomponents={{\n\t\t\t\tNextMonthButton: (props) => (\n\t\t\t\t\t<button\n\t\t\t\t\t\t{...props}\n\t\t\t\t\t\tclassName={cn(\n\t\t\t\t\t\t\tbuttonVariants({ variant: \"ghost\", size: \"icon-sm\" }),\n\t\t\t\t\t\t\t\"absolute right-3\",\n\t\t\t\t\t\t\tclassNames?.button_next\n\t\t\t\t\t\t)}\n\t\t\t\t\t>\n\t\t\t\t\t\t<ChevronRightIcon className=\"size-4\" />\n\t\t\t\t\t</button>\n\t\t\t\t),\n\t\t\t\tPreviousMonthButton: (props) => (\n\t\t\t\t\t<button\n\t\t\t\t\t\t{...props}\n\t\t\t\t\t\tclassName={cn(\n\t\t\t\t\t\t\tbuttonVariants({ variant: \"ghost\", size: \"icon-sm\" }),\n\t\t\t\t\t\t\t\"absolute left-3\",\n\t\t\t\t\t\t\tclassNames?.button_previous\n\t\t\t\t\t\t)}\n\t\t\t\t\t>\n\t\t\t\t\t\t<ChevronLeftIcon className=\"size-4\" />\n\t\t\t\t\t</button>\n\t\t\t\t),\n\t\t\t}}\n\t\t\t{...props}\n\t\t/>\n\t)\n}\n\nexport { Calendar }\n",
			"type": "registry:ui",
			"target": ""
		}
	],
	"type": "registry:ui"
}
