UNPKG

@quanxi/ui

Version:

全悉组件库

65 lines (64 loc) 2.04 kB
import type { CSSProperties } from "react"; import { Dayjs } from "dayjs"; import { PresetValueKey } from "./constant"; import { RangePickerProps as RcRangePickerProps } from "rc-picker"; import { PanelMode } from "rc-picker/es/interface"; import * as React from "react"; interface DateProps { picker?: "date" | "datetime"; style?: CSSProperties; disabled?: boolean; className?: string; } export interface DatePickerProps extends DateProps { value?: number; defaultValue?: number; placeholder?: string; onChange?: (value: number | null, dateString: string | null) => void; allowClear?: boolean; disabledDate?: (val: any) => boolean; renderExtraFooter?: (mode: PanelMode) => React.ReactNode; showHighLight?: boolean; } export type TimeOptionsType = { label: React.ReactNode; value: string; key: string; }; export type DateOptionsType = { label: React.ReactNode; value: string; key: PresetValueKey; generate?: () => { start: number | undefined; end: number | undefined; }; }; export type TimeType = { type: string; value: string | undefined | null; timestamp: { start: Dayjs | number | undefined; end: Dayjs | number | undefined; } | null; }; export type DateFormatType = "hour"; export type QXDateRangePickerProps = DateProps & { value?: TimeType; defaultValue?: TimeType; placeholder?: [string, string]; disabledDate?: (date: Dayjs) => boolean; onChange?: (time: TimeType) => void; quickSelectDateOptions?: DateOptionsType[]; quickSelectTimeOptions?: TimeOptionsType[]; showQuickSelect?: boolean; allowClear?: boolean; style?: CSSProperties; showHighLight?: boolean; extraFooterTime?: React.ReactNode; open?: boolean; onOpenChange?: (open: boolean) => void; dateFormat?: DateFormatType; }; export type DateRangePickerProps = Omit<RcRangePickerProps<Dayjs>, keyof QXDateRangePickerProps | "generateConfig" | "locale"> & QXDateRangePickerProps; export {};