"use client" import * as React from "react" import { CalendarDate, getLocalTimeZone, isSameDay, isWeekend, today, } from "@internationalized/date" import { I18nProvider, useLocale, type DateRange } from "react-aria-components" import { Example, ExampleWrapper, } from "@/registry/bases/aria/components/example" import { Button } from "@/registry/bases/aria/ui/button" import { Calendar, RangeCalendar } from "@/registry/bases/aria/ui/calendar" import { Card, CardContent, CardFooter } from "@/registry/bases/aria/ui/card" import { Field, FieldGroup, FieldLabel } from "@/registry/bases/aria/ui/field" import { InputGroup, InputGroupAddon, InputGroupInput, } from "@/registry/bases/aria/ui/input-group" import { Popover, PopoverTrigger } from "@/registry/bases/aria/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 CalendarDate(new Date().getFullYear(), new Date().getMonth() + 1, 12) ) return ( ) } function CalendarMultiple() { return ( ) } function CalendarRange() { const [dateRange, setDateRange] = React.useState({ start: new CalendarDate(new Date().getFullYear(), 1, 12), end: new CalendarDate(new Date().getFullYear(), 1, 12).add({ days: 30 }), }) return ( ) } function CalendarRangeMultipleMonths() { const [range, setRange] = React.useState({ start: new CalendarDate(new Date().getFullYear(), 4, 12), end: new CalendarDate(new Date().getFullYear(), 4, 12).add({ days: 60 }), }) return ( ) } function CalendarBookedDates() { const [date, setDate] = React.useState( new CalendarDate(new Date().getFullYear(), 2, 3) ) const bookedDates = Array.from( { length: 15 }, (_, i) => new CalendarDate(new Date().getFullYear(), 2, 12 + i) ) return ( bookedDates.some((d) => isSameDay(date, d)) } /> ) } function CalendarWithTime() { const [date, setDate] = React.useState( new CalendarDate(new Date().getFullYear(), new Date().getMonth() + 1, 12) ) return ( Start Time End Time ) } function CalendarCustomDays() { const { locale } = useLocale() const [range, setRange] = React.useState({ start: new CalendarDate(new Date().getFullYear(), 12, 8), end: new CalendarDate(new Date().getFullYear(), 12, 8).add({ days: 10 }), }) return ( ( <> {defaultChildren} {!isOutsideMonth && ( {isWeekend(date, locale) ? "$120" : "$100"} )} )} /> ) } function CalendarWithPresets() { const [date, setDate] = React.useState( new CalendarDate(new Date().getFullYear(), 2, 12) ) const [currentMonth, setCurrentMonth] = React.useState( new CalendarDate(new Date().getFullYear(), new Date().getMonth() + 1, 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({ start: new CalendarDate(new Date().getFullYear(), 1, 20), end: new CalendarDate(new Date().getFullYear(), 1, 20).add({ days: 20 }), }) return ( Date Picker Range ) } function DataPickerWithDropdowns() { const [date, setDate] = React.useState() const [open, setOpen] = React.useState(false) return ( Date
) }