/** * Logic: * When `mode` === `picker`, * click will trigger `onSelect` (if value changed trigger `onChange` also). * Panel change will not trigger `onSelect` but trigger `onPanelChange` */ import * as React from 'react'; import type { GenerateConfig } from './generate'; import type { CellRender, Components, DisabledTime, Locale, OnPanelChange, PanelMode, PickerMode } from './interface'; import type { DateRender } from './panels/DatePanel/DateBody'; import { type MonthCellRender } from './panels/MonthPanel/MonthBody'; import type { SharedTimeProps } from './panels/TimePanel'; export type PickerPanelSharedProps = { prefixCls?: string; className?: string; style?: React.CSSProperties; /** @deprecated Will be removed in next big version. Please use `picker` instead */ mode?: PanelMode; tabIndex?: number; locale: Locale; generateConfig: GenerateConfig; value?: DateType | null; defaultValue?: DateType; /** [Legacy] Set default display picker view date */ pickerValue?: DateType; /** * @deprecated please use `defaultValue` instead. * Set default display picker view date */ defaultPickerValue?: DateType; disabledDate?: (date: DateType) => boolean; /** @deprecated use cellRender instead of dateRender */ dateRender?: DateRender; /** @deprecated use cellRender instead of monthCellRender */ monthCellRender?: MonthCellRender; renderExtraFooter?: (mode: PanelMode) => React.ReactNode; onSelect?: (value: DateType) => void; onChange?: (value: DateType) => void; onPanelChange?: OnPanelChange; onMouseDown?: React.MouseEventHandler; onOk?: (date: DateType) => void; direction?: 'ltr' | 'rtl'; /** @private This is internal usage. Do not use in your production env */ hideHeader?: boolean; /** @private This is internal usage. Do not use in your production env */ onPickerValueChange?: (date: DateType) => void; /** @private Internal usage. Do not use in your production env */ components?: Components; cellRender?: CellRender; }; export type PickerPanelBaseProps = { picker: Exclude; cellRender?: CellRender; } & PickerPanelSharedProps; export type PickerPanelDateProps = { picker?: 'date'; showToday?: boolean; showNow?: boolean; showTime?: boolean | SharedTimeProps; disabledTime?: DisabledTime; cellRender?: CellRender; } & PickerPanelSharedProps; export type PickerPanelTimeProps = { picker: 'time'; cellRender?: CellRender; } & PickerPanelSharedProps & SharedTimeProps; export type PickerPanelProps = PickerPanelBaseProps | PickerPanelDateProps | PickerPanelTimeProps; declare function PickerPanel(props: PickerPanelProps): React.JSX.Element; export default PickerPanel;