date-picker-with-range.tsx — ui Source File
Architecture documentation for date-picker-with-range.tsx, a tsx file in the ui codebase. 8 imports, 0 dependents.
Entity Profile
Dependency Diagram
graph LR 4484594e_f729_ff9e_7506_0033ec23d8a4["date-picker-with-range.tsx"] 1d141819_425e_b5fd_4c8e_32f7c6a42cf2["react"] 4484594e_f729_ff9e_7506_0033ec23d8a4 --> 1d141819_425e_b5fd_4c8e_32f7c6a42cf2 f9e8c1ea_9de4_3e04_ca27_b15cada2e81e["date-fns"] 4484594e_f729_ff9e_7506_0033ec23d8a4 --> f9e8c1ea_9de4_3e04_ca27_b15cada2e81e d39cd1e4_1b2d_9aa2_1d29_fd0b4bfb61c3["lucide-react"] 4484594e_f729_ff9e_7506_0033ec23d8a4 --> d39cd1e4_1b2d_9aa2_1d29_fd0b4bfb61c3 bfc8708c_7488_3983_8998_32b793781735["react-day-picker"] 4484594e_f729_ff9e_7506_0033ec23d8a4 --> bfc8708c_7488_3983_8998_32b793781735 79081a1f_55a3_945a_fb8c_d53d6d3eab81["utils"] 4484594e_f729_ff9e_7506_0033ec23d8a4 --> 79081a1f_55a3_945a_fb8c_d53d6d3eab81 57e86e45_ac6e_7278_be08_9092724e8401["button"] 4484594e_f729_ff9e_7506_0033ec23d8a4 --> 57e86e45_ac6e_7278_be08_9092724e8401 7bfe56e6_25f1_1b2f_588d_f14238c3c071["calendar"] 4484594e_f729_ff9e_7506_0033ec23d8a4 --> 7bfe56e6_25f1_1b2f_588d_f14238c3c071 64a3481c_a85b_fe79_409a_cb7f3f4bb871["popover"] 4484594e_f729_ff9e_7506_0033ec23d8a4 --> 64a3481c_a85b_fe79_409a_cb7f3f4bb871 style 4484594e_f729_ff9e_7506_0033ec23d8a4 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 { type DateRange } from "react-day-picker"
import { cn } from "@/lib/utils"
import { Button } from "@/registry/new-york-v4/ui/button"
import { Calendar } from "@/registry/new-york-v4/ui/calendar"
import {
Popover,
PopoverContent,
PopoverTrigger,
} from "@/registry/new-york-v4/ui/popover"
export default function DatePickerWithRange({
className,
}: React.HTMLAttributes<HTMLDivElement>) {
const [date, setDate] = React.useState<DateRange | undefined>({
from: new Date(2022, 0, 20),
to: addDays(new Date(2022, 0, 20), 20),
})
return (
<div className={cn("grid gap-2", className)}>
<Popover>
<PopoverTrigger asChild>
<Button
id="date"
variant={"outline"}
className={cn(
"w-[300px] justify-start text-left font-normal",
!date && "text-muted-foreground"
)}
>
<CalendarIcon />
{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="start">
<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-picker-with-range.tsx do?
date-picker-with-range.tsx is a source file in the ui codebase, written in tsx. It belongs to the ComponentRegistry domain, ChartRegistry subdomain.
What functions are defined in date-picker-with-range.tsx?
date-picker-with-range.tsx defines 1 function(s): DatePickerWithRange.
What does date-picker-with-range.tsx depend on?
date-picker-with-range.tsx imports 8 module(s): button, calendar, date-fns, lucide-react, popover, react, react-day-picker, utils.
Where is date-picker-with-range.tsx in the architecture?
date-picker-with-range.tsx is located at apps/v4/registry/new-york-v4/examples/date-picker-with-range.tsx (domain: ComponentRegistry, subdomain: ChartRegistry, directory: apps/v4/registry/new-york-v4/examples).
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free