import { OverlayLayer } from "../lib/overlay-layer.js"; import { DatePickerMode } from "./date-picker-popover.logic.js"; //#region src/components/date-picker-popover.d.ts /** * `compact` keeps the dense 32px day cells everywhere. `touch` grows day, * month, and year cells to 44px targets under a coarse pointer and leaves a * fine pointer on the compact metric. */ type DatePickerPopoverSize = "compact" | "touch"; /** * `inline` is the borderless trigger for property rows and table cells; * `field` is the bordered box form controls share with `SelectTrigger`. */ type DatePickerPopoverVariant = "inline" | "field"; type DatePickerPopoverProps = { /** * `date` (default) reads and writes `YYYY-MM-DD`. `date-time` reads and * writes `YYYY-MM-DDTHH:mm`, a zone-less wall-clock time the host converts * to and from an instant in the time zone it owns. A `Date` is read in UTC * in both modes, so a string is the way to keep a local wall-clock time. */ mode?: DatePickerMode; value: string | Date | null; onChange: (value: string | null) => void; id?: string; /** ID of the visible field label, when the picker is part of a form field. */ labelledBy?: string; /** Merged into the trigger's classes. */ className?: string; disabled?: boolean; /** Hide the clear button, for fields that must keep a value. */ hideClear?: boolean; size?: DatePickerPopoverSize; variant?: DatePickerPopoverVariant; locale?: string; isOverdue?: boolean; showIcon?: boolean; /** Shown in the trigger when no date is set. Falls back to an em dash so * the control still has height; pass a call-to-action ("Select date…") to * make the empty state self-explanatory. */ placeholderLabel?: string; clearLabel?: string; defaultOpen?: boolean; open?: boolean; triggerRef?: React.Ref | undefined; /** Keep the trigger focused when opening a following range bound. */ focusTriggerOnOpen?: boolean; /** Enables direct date entry, with host-localized validation. */ dateInputLabel?: string; outOfRangeLabel?: string; noFuture?: boolean; /** Host-owned calendar date; defaults to the browser timezone. */ getToday?: () => string; onOpenChange?: (open: boolean) => void; /** Label for the "go to today" button. Auto-localized from the locale when omitted. */ todayLabel?: string; overdueLabel?: string; /** Accessible name of the popup. The package carries no catalogs, so the * English defaults below are meant to be replaced by the host. */ dialogLabel?: string; previousMonthLabel?: string; nextMonthLabel?: string; previousYearLabel?: string; nextYearLabel?: string; previousDecadeLabel?: string; nextDecadeLabel?: string; /** Label of the time input in `date-time` mode. */ timeLabel?: string; /** Inclusive `YYYY-MM-DD` bounds; in `date-time` mode they bound the day. */ minDate?: string | undefined; maxDate?: string | undefined; isDateDisabled?: (date: string) => boolean; layer?: OverlayLayer; }; declare const DatePickerPopover: (props: DatePickerPopoverProps) => import("react").JSX.Element; //#endregion export { DatePickerPopover, type DatePickerPopoverProps };