import { FocusEventHandler, MouseEventHandler, ReactNode, RefObject } from 'react'; import { TextFieldProps } from '../TextField'; import { NativeElementPropsWithoutKeyAndRef } from '../utils/jsx-types'; import { FormattedInputProps } from './FormattedInput'; export interface RangePickerTriggerProps extends Omit { /** * Whether the picker is disabled. * @default false */ disabled?: boolean; /** * Error messages configuration for 'from' input */ errorMessagesFrom?: FormattedInputProps['errorMessages']; /** * Error messages configuration for 'to' input */ errorMessagesTo?: FormattedInputProps['errorMessages']; /** * The format pattern for the inputs (e.g., "YYYY-MM-DD") */ format: string; /** * Placeholder for the 'from' input element. */ inputFromPlaceholder?: string; /** * React Ref for the 'from' input element. */ inputFromRef?: RefObject; /** * Value of the 'from' input element. */ inputFromValue?: string; /** * Placeholder for the 'to' input element. */ inputToPlaceholder?: string; /** * React Ref for the 'to' input element. */ inputToRef?: RefObject; /** * Value of the 'to' input element. */ inputToValue?: string; /** * Click Handler for the calendar icon. */ onIconClick?: MouseEventHandler; /** * Change handler for the 'from' input element. */ onInputFromChange?: (formatted: string, rawDigits: string) => void; /** * Change handler for the 'to' input element. */ onInputToChange?: (formatted: string, rawDigits: string) => void; /** * Focus handler for the 'from' input element. */ onFromFocus?: FocusEventHandler; /** * Blur handler for the 'from' input element. */ onFromBlur?: FocusEventHandler; /** * Focus handler for the 'to' input element. */ onToFocus?: FocusEventHandler; /** * Blur handler for the 'to' input element. */ onToBlur?: FocusEventHandler; /** * Whether the inputs are readonly. * @default false */ readOnly?: boolean; /** * Whether the inputs are required. * @default false */ required?: boolean; /** * Custom suffix element. If not provided, defaults to CalendarIcon. */ suffix?: ReactNode; /** * Custom suffix action icon element (e.g., calendar icon with click handler) */ suffixActionIcon?: ReactNode; /** * Custom validation function for 'from' input */ validateFrom?: (isoDate: string) => boolean; /** * Custom validation function for 'to' input */ validateTo?: (isoDate: string) => boolean; /** * A pre-formatted date string to preview in the 'from' input when it is empty and not focused. */ hoverFromValue?: string; /** * A pre-formatted date string to preview in the 'to' input when it is empty and not focused. */ hoverToValue?: string; /** * Other input props you may provide to the 'from' input element. */ inputFromProps?: Omit, 'defaultValue' | 'disabled' | 'onChange' | 'placeholder' | 'readOnly' | 'required' | 'value' | `aria-${'disabled' | 'multiline' | 'readonly' | 'required'}`>; /** * Other input props you may provide to the 'to' input element. */ inputToProps?: Omit, 'defaultValue' | 'disabled' | 'onChange' | 'placeholder' | 'readOnly' | 'required' | 'value' | `aria-${'disabled' | 'multiline' | 'readonly' | 'required'}`>; } /** * The react component for `mezzanine` date range picker trigger. * Uses FormattedInput for both from and to inputs to support the new input mode. */ declare const RangePickerTrigger: import("react").ForwardRefExoticComponent>; export default RangePickerTrigger;