{ "$schema": "https://ui.shadcn.com/schema/registry-item.json", "name": "date-picker", "title": "Date Picker", "description": "A component that allows users to select a date from a calendar interface", "dependencies": [ "@ark-ui/react", "lucide-react", "clsx", "tailwind-merge", "class-variance-authority" ], "files": [ { "path": "src/registry/thornberry/components/date-picker.tsx", "content": "\"use client\";\n\nimport { DatePicker as ArkDatePicker } from \"@ark-ui/react/date-picker\";\nimport { Calendar, ChevronLeft, ChevronRight } from \"lucide-react\";\n\nimport { cn } from \"@/lib/utils\";\nimport { Button } from \"@/registry/thornberry/components/button\";\n\nimport type { ComponentProps } from \"react\";\n\nconst DatePickerProvider = ArkDatePicker.RootProvider;\nconst DatePickerContext = ArkDatePicker.Context;\nconst DatePickerPositioner = ArkDatePicker.Positioner;\nconst DatePickerRangeText = ArkDatePicker.RangeText;\nconst DatePickerView = ArkDatePicker.View;\nconst DatePickerTableBody = ArkDatePicker.TableBody;\nconst DatePickerTableHead = ArkDatePicker.TableHead;\nconst DatePickerTableRow = ArkDatePicker.TableRow;\n\nconst DatePickerRoot = ({\n className,\n ...rest\n}: ComponentProps) => (\n \n);\n\nconst DatePickerLabel = ({\n className,\n ...rest\n}: ComponentProps) => (\n \n);\n\nconst DatePickerControl = ({\n className,\n ...rest\n}: ComponentProps) => (\n \n);\n\nconst DatePickerInput = ({\n className,\n ...rest\n}: ComponentProps) => (\n \n);\n\nconst DatePickerTrigger = ({\n className,\n ...rest\n}: ComponentProps) => (\n \n \n \n \n \n);\n\nconst DatePickerClearTrigger = ({\n className,\n ...rest\n}: ComponentProps) => (\n \n \n Clear\n \n \n);\n\nconst DatePickerContent = ({\n className,\n ...rest\n}: ComponentProps) => (\n \n);\n\nconst DatePickerViewControl = ({\n className,\n ...rest\n}: ComponentProps) => (\n \n);\n\nconst DatePickerViewTrigger = ({\n className,\n ...rest\n}: ComponentProps) => (\n \n);\n\nconst DatePickerPrevTrigger = ({\n className,\n ...rest\n}: ComponentProps) => (\n \n \n \n);\n\nconst DatePickerNextTrigger = ({\n className,\n ...rest\n}: ComponentProps) => (\n \n \n \n);\n\nconst DatePickerTable = ({\n className,\n ...rest\n}: ComponentProps) => (\n \n);\n\nconst DatePickerTableHeader = ({\n className,\n ...rest\n}: ComponentProps) => (\n \n);\n\nconst DatePickerTableCell = ({\n className,\n ...rest\n}: ComponentProps) => (\n \n);\n\nconst DatePickerTableCellTrigger = ({\n className,\n ...rest\n}: ComponentProps) => (\n \n);\n\nexport {\n DatePickerRoot,\n DatePickerLabel,\n DatePickerControl,\n DatePickerInput,\n DatePickerTrigger,\n DatePickerClearTrigger,\n DatePickerContent,\n DatePickerView,\n DatePickerViewControl,\n DatePickerViewTrigger,\n DatePickerPrevTrigger,\n DatePickerNextTrigger,\n DatePickerTable,\n DatePickerTableHead,\n DatePickerTableRow,\n DatePickerTableHeader,\n DatePickerTableBody,\n DatePickerTableCell,\n DatePickerProvider,\n DatePickerContext,\n DatePickerPositioner,\n DatePickerRangeText,\n DatePickerTableCellTrigger,\n};\n", "type": "registry:ui" }, { "path": "src/registry/thornberry/components/button.tsx", "content": "import { ark } from \"@ark-ui/react\";\nimport { cva } from \"class-variance-authority\";\n\nimport { cn } from \"@/lib/utils\";\n\nimport type { VariantProps } from \"class-variance-authority\";\nimport type { ComponentProps } from \"react\";\n\nconst buttonVariants = cva(\n \"inline-flex shrink-0 cursor-pointer items-center justify-center gap-2 whitespace-nowrap outline-none focus-visible:outline-none focus-visible:ring-offset-background focus-visible:ring-2 focus-visible:ring-primary focus-visible:ring-offset-2 rounded-md font-medium text-sm outline-hidden disabled:pointer-events-none disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 [&_svg:not([class*='size-'])]:size-4 [&_svg]:pointer-events-none [&_svg]:shrink-0 transition-[color,box-shadow,transform]\",\n {\n variants: {\n variant: {\n solid:\n \"bg-primary text-primary-foreground shadow-xs hover:bg-primary/90\",\n outline:\n \"border bg-background shadow-xs hover:bg-accent hover:text-accent-foreground\",\n muted: \"bg-muted text-muted-foreground shadow-xs hover:bg-muted/80\",\n ghost:\n \"hover:bg-accent hover:text-accent-foreground dark:hover:bg-accent/50\",\n link: \"text-primary underline-offset-2 hover:underline\",\n destructive:\n \"bg-destructive text-background shadow-xs hover:bg-destructive/90 focus-visible:ring-red-500 aria-invalid:ring-red-500/20 dark:aria-invalid:ring-red-500/40\",\n },\n size: {\n sm: \"h-8 gap-1.5 rounded-md px-3 has-[>svg]:px-2.5\",\n md: \"h-9 px-4 py-2 has-[>svg]:px-3\",\n lg: \"h-10 rounded-md px-6 has-[>svg]:px-4\",\n icon: \"size-9\",\n },\n },\n defaultVariants: {\n variant: \"solid\",\n size: \"md\",\n },\n },\n);\n\nconst Button = ({\n className,\n variant,\n size,\n ...rest\n}: ComponentProps & VariantProps) => (\n \n);\n\nexport { Button, buttonVariants };\n", "type": "registry:ui" }, { "path": "src/lib/utils.ts", "content": "import { clsx } from \"clsx\";\nimport { twMerge } from \"tailwind-merge\";\n\nimport type { ClassValue } from \"clsx\";\n\nexport const cn = (...inputs: ClassValue[]) => {\n return twMerge(clsx(inputs));\n};\n", "type": "registry:lib", "target": "" } ], "type": "registry:ui" }