date-range-picker.tsx — ui Source File
Architecture documentation for date-range-picker.tsx, a tsx file in the ui codebase. 8 imports, 0 dependents.
Entity Profile
Dependency Diagram
graph LR 99dce298_83a0_3c97_3c3e_8ee344ed6f05["date-range-picker.tsx"] 1d141819_425e_b5fd_4c8e_32f7c6a42cf2["react"] 99dce298_83a0_3c97_3c3e_8ee344ed6f05 --> 1d141819_425e_b5fd_4c8e_32f7c6a42cf2 f9e8c1ea_9de4_3e04_ca27_b15cada2e81e["date-fns"] 99dce298_83a0_3c97_3c3e_8ee344ed6f05 --> f9e8c1ea_9de4_3e04_ca27_b15cada2e81e d39cd1e4_1b2d_9aa2_1d29_fd0b4bfb61c3["lucide-react"] 99dce298_83a0_3c97_3c3e_8ee344ed6f05 --> d39cd1e4_1b2d_9aa2_1d29_fd0b4bfb61c3 bfc8708c_7488_3983_8998_32b793781735["react-day-picker"] 99dce298_83a0_3c97_3c3e_8ee344ed6f05 --> bfc8708c_7488_3983_8998_32b793781735 79081a1f_55a3_945a_fb8c_d53d6d3eab81["utils"] 99dce298_83a0_3c97_3c3e_8ee344ed6f05 --> 79081a1f_55a3_945a_fb8c_d53d6d3eab81 aa2f3ec6_f291_3763_88ec_65a3f5ad5939["button"] 99dce298_83a0_3c97_3c3e_8ee344ed6f05 --> aa2f3ec6_f291_3763_88ec_65a3f5ad5939 5000e233_363d_e409_8b5c_7e80d38646fe["calendar"] 99dce298_83a0_3c97_3c3e_8ee344ed6f05 --> 5000e233_363d_e409_8b5c_7e80d38646fe e33b0d79_0534_28ec_a112_ac16ee736e09["popover"] 99dce298_83a0_3c97_3c3e_8ee344ed6f05 --> e33b0d79_0534_28ec_a112_ac16ee736e09 style 99dce298_83a0_3c97_3c3e_8ee344ed6f05 fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
"use client"
import * as React from "react"
import { addDays, format } from "date-fns"
import { CalendarIcon } from "lucide-react"
import { DateRange } from "react-day-picker"
import { cn } from "@/lib/utils"
import { Button } from "@/registry/new-york/ui/button"
import { Calendar } from "@/registry/new-york/ui/calendar"
import {
Popover,
PopoverContent,
PopoverTrigger,
} from "@/registry/new-york/ui/popover"
export function CalendarDateRangePicker({
className,
}: React.HTMLAttributes<HTMLDivElement>) {
const [date, setDate] = React.useState<DateRange | undefined>({
from: new Date(2023, 0, 20),
to: addDays(new Date(2023, 0, 20), 20),
})
return (
<div className={cn("grid gap-2", className)}>
<Popover>
<PopoverTrigger asChild>
<Button
id="date"
variant={"outline"}
className={cn(
"w-[260px] justify-start text-left font-normal",
!date && "text-muted-foreground"
)}
>
<CalendarIcon className="mr-2 h-4 w-4" />
{date?.from ? (
date.to ? (
<>
{format(date.from, "LLL dd, y")} -{" "}
{format(date.to, "LLL dd, y")}
</>
) : (
format(date.from, "LLL dd, y")
)
) : (
<span>Pick a date</span>
)}
</Button>
</PopoverTrigger>
<PopoverContent className="w-auto p-0" align="end">
<Calendar
initialFocus
mode="range"
defaultMonth={date?.from}
selected={date}
onSelect={setDate}
numberOfMonths={2}
/>
</PopoverContent>
</Popover>
</div>
)
}
Domain
Subdomains
Functions
Dependencies
- button
- calendar
- date-fns
- lucide-react
- popover
- react
- react-day-picker
- utils
Source
Frequently Asked Questions
What does date-range-picker.tsx do?
date-range-picker.tsx is a source file in the ui codebase, written in tsx. It belongs to the ComponentRegistry domain, UIPrimitives subdomain.
What functions are defined in date-range-picker.tsx?
date-range-picker.tsx defines 1 function(s): CalendarDateRangePicker.
What does date-range-picker.tsx depend on?
date-range-picker.tsx imports 8 module(s): button, calendar, date-fns, lucide-react, popover, react, react-day-picker, utils.
Where is date-range-picker.tsx in the architecture?
date-range-picker.tsx is located at deprecated/www/app/(app)/examples/dashboard/components/date-range-picker.tsx (domain: ComponentRegistry, subdomain: UIPrimitives, directory: deprecated/www/app/(app)/examples/dashboard/components).
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free