import "./date_field.css"; import type * as React from "react"; import { useRender } from "@base-ui/react/use-render"; import { SegmentLabels } from "./date_segments"; import { type StyleProps } from "./style_props"; export interface DateFieldProps extends StyleProps { /** One part (single) or two (range, "start"/"end"). */ parts: string[]; onPartChange: (index: number, value: string) => void; hasTime: boolean; segmentLabels: SegmentLabels; /** Drives segment order and 12/24h; defaults to the active `LoticsLocaleProvider` locale. */ locale?: string; disabled?: boolean; /** Shown when every part is empty and the field is unfocused. */ placeholder?: string; /** E.g. ["Start date", "End date"]. */ partLabels?: string[]; testID?: string; /** The surrounding surface owns the box: no border, ground, inset or ring here. */ seamless?: boolean; /** Pointer click in a segment: open the calendar. */ onActivate?: () => void; onBlur?: () => void; /** A field holding its own draft reverts it. */ onEscape?: () => void; /** Opens the calendar popover. */ onOpenPicker?: () => void; /** Whether any part holds a partial entry; an inline editor blocks its commit on it. */ onIncompleteChange?: (incomplete: boolean) => void; /** Inside the border, after the segments. */ rightSlot?: React.ReactNode; /** The frame, which is also what a popover anchors to. */ ref?: React.Ref; render?: useRender.RenderProp; } /** * The bordered date field around one segment group or a range pair, owning the focus ring and the * empty placeholder; segment editing is {@link DateSegments}. */ export declare function DateField(props: DateFieldProps): React.ReactElement>;