Date Picker
A date picker component with range and presets.
Made by shadcnLoading component...
When to use
Use this decision tree to determine when to use the Date Picker component:
Installation
The Date Picker is built using a composition of the <Popover /> and the <Calendar /> components.
See installation instructions for the Popover and the Calendar components.
Usage
"use client"
import * as React from "react"
import { format } from "date-fns"
import { Calendar as CalendarIcon } from "lucide-react"
import { cn } from '@/registry/lib/utils';
import { Button } from "@/components/ui/button"
import { Calendar } from "@/components/ui/calendar"
import {
Popover,
PopoverContent,
PopoverTrigger,
} from "@/components/ui/popover"
export function DatePickerDemo() {
const [date, setDate] = React.useState<Date>()
return (
<Popover>
<PopoverTrigger asChild>
<Button
variant={"outline"}
className={cn(
"w-[280px] justify-start text-left font-normal",
!date && "text-muted-foreground"
)}
>
<CalendarIcon className="mr-2 h-4 w-4" />
{date ? format(date, "PPP") : <span>Pick a date</span>}
</Button>
</PopoverTrigger>
<PopoverContent className="w-auto p-0">
<Calendar
mode="single"
selected={date}
onSelect={setDate}
initialFocus
/>
</PopoverContent>
</Popover>
)
}See the React DayPicker documentation for more information.
Examples
Date Picker
Loading component...
Date Picker Drawer
Loading component...
Date Picker With Form
Loading component...
Date Picker Natural Language
Loading component...
Date Picker With Presets
Loading component...
Date Picker With Range
Loading component...
Date Picker With Time Range
Loading component...
Date Picker With Time
Loading component...
Date Range Picker With Time
Loading component...
Credits
- We use react-day-picker for the date picker.
- We use chrono for the natural language functionality of the date picker.
- We use little-date for the date range functionality of the date picker.
- We take our inspiration from Shadcn UI for the date picker style.
Built by malinskibeniamin. The source code is available on GitHub.