Components
Loading preview...
Date input field with labels, descriptions, and validation built on React Aria DateField.
npx shadcn@latest add https://21st.dev/r/hero_ui/heroui-date-field"use client";
import * as React from "react";
import { Button, DateField, Description, Label, today, type DateValue } from "@/components/ui/heroui-date-field";
export default function Controlled() {
const [value, setValue] = React.useState<DateValue | null>(null);
return (
<div className="flex min-h-screen w-full items-center justify-center overflow-hidden bg-background p-8">
<div className="flex flex-col gap-4">
<DateField className="w-[256px]" name="date" value={value} onChange={setValue}>
<Label>Date</Label>
<DateField.Group>
<DateField.Input />
</DateField.Group>
<Description>Current value: {value ? value.toString() : "(empty)"}</Description>
</DateField>
<div className="flex gap-2">
<Button variant="tertiary" onPress={() => setValue(today())}>
Set today
</Button>
<Button variant="tertiary" onPress={() => setValue(null)}>
Clear
</Button>
</div>
</div>
</div>
);
}
export { Controlled };