"use client" import * as React from "react" import { addDays, format } from "date-fns" import { type DateRange } from "react-day-picker" import { es } from "react-day-picker/locale" import { Example, ExampleWrapper, } from "@/registry/bases/radix/components/example" import { Button } from "@/registry/bases/radix/ui/button" import { Calendar, CalendarDayButton } from "@/registry/bases/radix/ui/calendar" import { Card, CardContent, CardFooter } from "@/registry/bases/radix/ui/card" import { Field, FieldGroup, FieldLabel } from "@/registry/bases/radix/ui/field" import { InputGroup, InputGroupAddon, InputGroupInput, } from "@/registry/bases/radix/ui/input-group" import { Popover, PopoverContent, PopoverTrigger, } from "@/registry/bases/radix/ui/popover" import { IconPlaceholder } from "@/app/(create)/components/icon-placeholder" export default function CalendarExample() { return ( ) } function CalendarInCard() { return ( ) } function CalendarInPopover() { return ( ) } function CalendarSingle() { const [date, setDate] = React.useState( new Date(new Date().getFullYear(), new Date().getMonth(), 12) ) return ( ) } function CalendarMultiple() { return ( ) } function CalendarRange() { const [dateRange, setDateRange] = React.useState({ from: new Date(new Date().getFullYear(), 0, 12), to: addDays(new Date(new Date().getFullYear(), 0, 12), 30), }) return ( date > new Date() || date < new Date("1900-01-01") } /> ) } function CalendarRangeMultipleMonths() { const [range, setRange] = React.useState({ from: new Date(new Date().getFullYear(), 3, 12), to: addDays(new Date(new Date().getFullYear(), 3, 12), 60), }) return ( ) } function CalendarBookedDates() { const [date, setDate] = React.useState( new Date(new Date().getFullYear(), 1, 3) ) const bookedDates = Array.from( { length: 15 }, (_, i) => new Date(new Date().getFullYear(), 1, 12 + i) ) return ( button]:line-through opacity-100", }} /> ) } function CalendarWithTime() { const [date, setDate] = React.useState( new Date(new Date().getFullYear(), new Date().getMonth(), 12) ) return ( Start Time End Time ) } function CalendarCustomDays() { const [range, setRange] = React.useState({ from: new Date(new Date().getFullYear(), 11, 8), to: addDays(new Date(new Date().getFullYear(), 11, 8), 10), }) return ( { return date.toLocaleString("default", { month: "long" }) }, }} components={{ DayButton: ({ children, modifiers, day, ...props }) => { const isWeekend = day.date.getDay() === 0 || day.date.getDay() === 6 return ( {children} {!modifiers.outside && ( {isWeekend ? "$120" : "$100"} )} ) }, }} /> ) } function CalendarWithPresets() { const [date, setDate] = React.useState( new Date(new Date().getFullYear(), 1, 12) ) const [currentMonth, setCurrentMonth] = React.useState( new Date(new Date().getFullYear(), new Date().getMonth(), 1) ) return ( {[ { label: "Today", value: 0 }, { label: "Tomorrow", value: 1 }, { label: "In 3 days", value: 3 }, { label: "In a week", value: 7 }, { label: "In 2 weeks", value: 14 }, ].map((preset) => ( ))} ) } function DatePickerSimple() { const [date, setDate] = React.useState() return ( Date ) } function DatePickerWithRange() { const [date, setDate] = React.useState({ from: new Date(new Date().getFullYear(), 0, 20), to: addDays(new Date(new Date().getFullYear(), 0, 20), 20), }) return ( Date Picker Range ) } function DataPickerWithDropdowns() { const [date, setDate] = React.useState() const [open, setOpen] = React.useState(false) return ( Date
) } function CalendarWeekNumbers() { const [date, setDate] = React.useState( new Date(new Date().getFullYear(), 1, 3) ) return ( ) }