import React from 'react'; import { type VariantProps } from 'class-variance-authority'; import { type GlassVariant } from '../../../lib/glass'; import { type QuickSelectOption } from './Calendar'; declare const datePickerFieldVariants: (props?: ({ size?: "xxs" | "xs" | "sm" | "md" | "lg" | "xl" | "xxl" | "m" | "l" | null | undefined; state?: "default" | "filled" | "disabled" | "hover" | "focused" | "prefilled" | "typing" | null | undefined; } & import("class-variance-authority/dist/types").ClassProp) | undefined) => string; export interface DatePickerFieldProps extends VariantProps, Omit, 'size' | 'type' | 'onChange' | 'onFocus' | 'onBlur'> { value?: string; placeholder?: string; disabled?: boolean; showTime?: boolean; className?: string; onChange?: (value: string) => void; onFocus?: () => void; onBlur?: () => void; } export declare const DatePickerField: React.ForwardRefExoticComponent>; /** * DatePicker component props * * @public * * @example * ```tsx * // Single date picker * setDate(value)} * /> * * // Date range picker * * ``` */ export interface DatePickerProps extends VariantProps { /** * Label position relative to input * @default 'top' */ labelPosition?: 'top' | 'left'; /** * Placeholder text when no date is selected */ placeholder?: string; /** * Selected date value (ISO string format) * Controlled component value */ value?: string; /** * Callback when date changes * @param value - Selected date as ISO string */ onChange?: (value: string) => void; /** * Disable the date picker * @default false */ disabled?: boolean; /** * Show error state styling * @default false */ error?: boolean; /** * Enable date range selection * @default false */ range?: boolean; /** * Start date value for range picker (ISO string) */ startValue?: string; /** * End date value for range picker (ISO string) */ endValue?: string; /** * Callback when start date changes * @param value - Start date as ISO string */ onStartChange?: (value: string) => void; /** * Callback when end date changes * @param value - End date as ISO string */ onEndChange?: (value: string) => void; /** * Additional CSS classes */ className?: string; /** * Include dropdown calendar picker * @default false */ includeDropdown?: boolean; /** * Preset options shown in the range dropdown menu */ dropdownPresets?: string[]; /** * Callback when dropdown preset changes (range mode only). */ onDropdownPresetChange?: (preset: string) => void; /** * CSS class applied to the portal container wrapping the calendar popup */ portalClassName?: string; /** * Inline styles applied to the portal container */ portalStyle?: React.CSSProperties; /** * Override the portal container element ID (defaults to 'datepicker-portal-container') */ portalContainerId?: string; /** * Quick select options shown in the left sidebar (range mode only) * @default [{ label: 'This week', value: 'this-week' }, { label: 'Next week', value: 'next-week' }, { label: 'This month', value: 'this-month' }, { label: 'Next month', value: 'next-month' }] * Use `getRange` to provide custom date ranges. */ quickSelectOptions?: QuickSelectOption[]; /** * DatePicker content (for composable API) */ children?: React.ReactNode; /** * Glass morphism variant */ glass?: GlassVariant; } /** * DatePicker Component * * A complete date selection component with calendar popup and optional range selection. * Supports single date and date range picking with keyboard navigation. * * @public * * @example * ```tsx * // Simple single date picker * * * // Date range picker * * ``` * * @remarks * - Calendar popup opens on focus or click * - Supports keyboard navigation (arrow keys, Enter, Escape) * - Date range mode allows selecting start and end dates * - Accessible: includes ARIA labels and keyboard support * - DatePicker manages all internals - sub-components (DatePickerInput, etc.) are internal only */ export declare const DatePicker: React.ForwardRefExoticComponent>; export default DatePicker; //# sourceMappingURL=DatePicker.d.ts.map