"use client" import * as React from "react" import { Calendar } from "@/examples/base/ui/calendar" import { Field, FieldLabel } from "@/examples/base/ui/field" import { InputGroup, InputGroupAddon, InputGroupButton, InputGroupInput, } from "@/examples/base/ui/input-group" import { Popover, PopoverContent, PopoverTrigger, } from "@/examples/base/ui/popover" import { CalendarIcon } from "lucide-react" function formatDate(date: Date | undefined) { if (!date) { return "" } return date.toLocaleDateString("en-US", { day: "2-digit", month: "long", year: "numeric", }) } function isValidDate(date: Date | undefined) { if (!date) { return false } return !isNaN(date.getTime()) } export function DatePickerInput() { const [open, setOpen] = React.useState(false) const [date, setDate] = React.useState( new Date("2025-06-01") ) const [month, setMonth] = React.useState(date) const [value, setValue] = React.useState(formatDate(date)) return ( Subscription Date { const date = new Date(e.target.value) setValue(e.target.value) if (isValidDate(date)) { setDate(date) setMonth(date) } }} onKeyDown={(e) => { if (e.key === "ArrowDown") { e.preventDefault() setOpen(true) } }} /> } > Select date { setDate(date) setValue(formatDate(date)) setOpen(false) }} /> ) }