"use client" import * as React from "react" import { parseDate } from "chrono-node" import { CalendarIcon } from "lucide-react" import { Calendar } from "@/styles/base-nova/ui/calendar" import { Field, FieldLabel } from "@/styles/base-nova/ui/field" import { InputGroup, InputGroupAddon, InputGroupButton, InputGroupInput, } from "@/styles/base-nova/ui/input-group" import { Popover, PopoverContent, PopoverTrigger, } from "@/styles/base-nova/ui/popover" function formatDate(date: Date | undefined) { if (!date) { return "" } return date.toLocaleDateString("en-US", { day: "2-digit", month: "long", year: "numeric", }) } export function DatePickerNaturalLanguage() { const [open, setOpen] = React.useState(false) const [value, setValue] = React.useState("In 2 days") const [date, setDate] = React.useState( parseDate(value) || undefined ) return ( Schedule Date { setValue(e.target.value) const date = parseDate(e.target.value) if (date) { setDate(date) } }} onKeyDown={(e) => { if (e.key === "ArrowDown") { e.preventDefault() setOpen(true) } }} /> } > Select date { setDate(date) setValue(formatDate(date)) setOpen(false) }} />
Your post will be published on{" "} {formatDate(date)}.
) }