All files / packages/ui/src/components/DatePicker types.ts

0% Statements 0/0
0% Branches 0/0
0% Functions 0/0
0% Lines 0/0

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59                                                                                                                     
import type { DateType } from "react-native-ui-datepicker";
 
export type DatePickerMode = "single" | "range";
export type DatePickerTimeSlot = "all_day" | "morning" | "afternoon";
export type DatePickerModeType = "date_only" | "date_with_time_off";
export type RangeSelectionTarget = "start" | "end";
 
export interface DateRangeValue {
  startDate: Date | null;
  endDate: Date | null;
}
 
export interface TempDateRangeValue {
  startDate: DateType | null;
  endDate: DateType | null;
}
 
export type DatePickerDisabledDates =
  | ((date: DateType) => boolean)
  | DateType[];
 
export interface DatePickerConfirmMeta {
  timeSlot: DatePickerTimeSlot;
  daysOff: number;
  rangeStartTimeSlot: DatePickerTimeSlot;
  rangeEndTimeSlot: DatePickerTimeSlot;
  activeRangeSelection: RangeSelectionTarget;
}
 
export interface DatePickerProps {
  mode?: DatePickerMode;
  modeType?: DatePickerModeType;
  label?: string;
  value?: Date | null;
  range?: DateRangeValue;
  rangeStartTimeSlot?: DatePickerTimeSlot;
  rangeEndTimeSlot?: DatePickerTimeSlot;
  activeRangeSelection?: RangeSelectionTarget;
  onConfirm?: (
    value: Date | null | DateRangeValue,
    meta?: DatePickerConfirmMeta,
  ) => void;
  timeSlot?: DatePickerTimeSlot;
  textForTimeSlot?: string;
  disableStyleTimeSlot?: boolean;
  onTimeSlotChange?: (slot: DatePickerTimeSlot) => void;
  disabled?: boolean;
  errorMessage?: string;
  disabledDates?: DatePickerDisabledDates;
  minDate?: Date;
  maxDate?: Date;
  testID?: string;
  datePickerHeight?: number;
}
 
export interface DatePickerRef {
  reset: () => void;
}