UNPKG

react-native-dates-picker

Version:
95 lines 2.94 kB
import type { Dayjs } from 'dayjs'; import type { CalendarActionKind, CalendarViews } from './enums'; import type { TextStyle, ViewStyle } from 'react-native'; import type { ReactNode } from 'react'; export type DateType = string | number | Dayjs | Date | null | undefined; export type ModeType = 'single' | 'range' | 'multiple' | 'wheel'; export type HeaderButtonPositions = 'around' | 'right' | 'left'; export type LocalState = { date: DateType; startDate: DateType; endDate: DateType; dates: DateType[]; calendarView: CalendarViews; currentDate: DateType; currentYear: number; }; export type CalendarAction = { type: CalendarActionKind; payload: any; }; export type CalendarThemeProps = { containerStyle?: ViewStyle; headerButtonsPosition?: HeaderButtonPositions; headerContainerStyle?: ViewStyle; headerTextContainerStyle?: ViewStyle; headerTextStyle?: TextStyle; headerButtonStyle?: ViewStyle; headerButtonColor?: string; headerButtonSize?: number; daysPanelStyle?: ViewStyle; dayContainerStyle?: ViewStyle; todayContainerStyle?: ViewStyle; todayTextStyle?: TextStyle; monthContainerStyle?: ViewStyle; yearContainerStyle?: ViewStyle; weekDaysContainerStyle?: ViewStyle; weekDaysTextStyle?: TextStyle; calendarTextStyle?: TextStyle; selectedTextStyle?: TextStyle; selectedItemColor?: string; wheelPickerContainerStyle?: ViewStyle; wheelPickerItemStyle?: ViewStyle; wheelPickerTextStyle?: TextStyle; wheelPickerIndicatorStyle?: ViewStyle; wheelPickerDecelerationRate?: 'normal' | 'fast' | number; selectedRangeBackgroundColor?: string; }; export type HeaderProps = { buttonPrevIcon?: ReactNode; buttonNextIcon?: ReactNode; }; export interface IDayObject { text: string; day: number; date: string; disabled: boolean; isCurrentMonth: boolean; dayOfMonth?: number; inRange: boolean; leftCrop: boolean; rightCrop: boolean; } export type SingleChange = (params: { date: DateType; }) => void; export type RangeChange = (params: { startDate: DateType; endDate: DateType; }) => any; export type MultiChange = (params: { dates: DateType[]; datePressed: DateType; change: 'added' | 'removed'; }) => any; export type OrderedDateParts = 'year' | 'month' | 'day' | 'hour' | 'minute' | 'second'; export interface DatePickerBaseProps { mode?: ModeType; locale?: string | ILocale; columns?: OrderedDateParts[]; startYear?: number; endYear?: number; minDate?: DateType; maxDate?: DateType; firstDayOfWeek?: number; displayFullDays?: boolean; timePicker?: boolean; date?: DateType; dates?: DateType[]; startDate?: DateType; endDate?: DateType; onChange?: SingleChange | RangeChange | MultiChange; initialView?: CalendarViews; height?: number; } //# sourceMappingURL=types.d.ts.map