import { Dayjs } from 'dayjs'; import React from 'react'; import { ButtonProps } from 'antd'; import { PopperPlacementType } from '@mui/base/Popper/Popper.types'; import type { DateRangeTimeInputProps } from '../ActionBar'; import { PresetType } from '../Shortcuts'; import 'dayjs/locale/zh-cn'; import 'dayjs/locale/en'; import 'dayjs/locale/zh-tw'; import './index.less'; export interface PisellDateRangePickerProps { /** 再次选择日期时是否清除结束时间 */ clearEndOnSelection?: boolean; /** 日期选择确认回调 */ onChange?: (day: (Dayjs | null)[] | string) => void; /** 日期改变回调 此处只为了组件外拿到当前日期项进行状态操作 通常情况下只使用onChange来拿value */ onDateChange?: (day: (Dayjs | null)[]) => void; /** 日期选择值 */ value?: Dayjs[] | string; /** 日期选择默认值 */ defaultValue?: Dayjs[]; /** 快捷选择项 */ presets?: PresetType[]; /** 类名 */ className?: string; /** 是否显示时间选择 这里参数为antd TimePickerProps */ showTime?: boolean | { defaultValue: Dayjs; [key: string]: any; }[]; /** 占位符 */ placeholder?: string; /** 是否禁用日期 */ disabledDate?: (day: Dayjs, position: 'start' | 'end', value: Dayjs[]) => boolean; /** 日期格式 */ format?: string; /** 后缀图标 */ suffixIcon?: React.ReactNode; /** 是否显示边框 */ bordered?: boolean; /** 是否打开日期选择 */ open?: boolean; /** 关闭回调 */ onClose?: () => void; /** 打开回调 */ onOpen?: () => void; /** 弹窗宽度 */ popupWidth?: number; /** 最小日期 */ minDate?: Dayjs; /** 最大日期 */ maxDate?: Dayjs; /** 月份切换事件 */ onMonthChange?: (value: Dayjs) => void; /** 额外的弹出日历 className */ popupClassName?: string; /** 默认显示月份 */ defaultCalendarMonth?: Dayjs; /** ok 按钮 props */ okButtonProps?: ButtonProps; /** cancel 按钮 props */ cancelButtonProps?: ButtonProps; /** * CSS media query when `Mobile` mode will be changed to `Desktop`. * @default '@media (pointer: fine)' * @example '@media (min-width: 720px)' or theme.breakpoints.up("sm") */ desktopModeMediaQuery?: string; /** 桌面端展示的日历数量:单日 1 个,多日 2 个 */ calendars?: 1 | 2 | 3; /** 自定义弹层底部时间输入组件;不传则使用默认 antd TimePicker */ timeInputComponent?: React.ComponentType; /** 自定义时间输入组件 props */ timeInputProps?: Omit; /** showTime 模式下是否仍展示弹层顶部 Starting/Ending 日期输入区 */ showToolbarWhenShowTime?: boolean; style?: React.CSSProperties; /** 是否展示清除按钮 */ allowClear?: boolean; /** true 将弹窗当前DOM层次结构下 false 追加到body */ disablePortal?: boolean; /** 弹窗放置位置 */ placement?: PopperPlacementType; /** 输入框只读 */ inputReadOnly: boolean; /** 使用快捷筛选时返回快捷字符串 */ returnShortcutString?: boolean; isHideCustomSelect?: boolean; endDateDays?: number; } declare const PisellDateRangePicker: (props: PisellDateRangePickerProps) => React.JSX.Element; export default PisellDateRangePicker;