react-modular-datepicker

Types Reference

Essential TypeScript types and interfaces exported by react-modular-datepicker.

Types Reference

react-modular-datepicker exports comprehensive TypeScript interfaces for date objects, adapters, class names, and translations.


DateObj

Represents an individual day cell in the calendar grid.

export interface DateObj {
  date: Date;
  selected: boolean;
  selectable: boolean;
  today: boolean;
  prevMonth: boolean;
  nextMonth: boolean;
  isRangeStart?: boolean;
  isRangeEnd?: boolean;
  isRangeBetween?: boolean;
  isRangeHovering?: boolean;
  isRangeActive?: boolean;
  modifiers: string[];
}

CalendarSheet

Represents a single month sheet in the calendar view.

export interface CalendarSheet {
  month: number; // 0 - 11
  year: number;
  weeks: (DateObj | null)[][];
}

DateAdapter<T>

Pluggable date calculation adapter interface.

export interface DateAdapter<T = any> {
  date(value?: any): T;
  add(date: T, amount: number, unit: 'day' | 'month' | 'year'): T;
  subtract(date: T, amount: number, unit: 'day' | 'month' | 'year'): T;
  startOf(date: T, unit: 'day' | 'month' | 'year'): T;
  endOf(date: T, unit: 'day' | 'month' | 'year'): T;
  isBefore(date: T, comparison: T, unit?: 'day' | 'month' | 'year'): boolean;
  isAfter(date: T, comparison: T, unit?: 'day' | 'month' | 'year'): boolean;
  isSame(date: T, comparison: T, unit?: 'day' | 'month' | 'year'): boolean;
  set(date: T, unit: 'day' | 'month' | 'year', value: number): T;
  get(date: T, unit: 'day' | 'month' | 'year'): number;
  format(date: T, formatStr: string, locale?: string): string;
  getDaysInMonth(date: T): number;
  toDate(date: T): Date;
  diff(date: T, comparison: T, unit: 'month' | 'year'): number;
  getMonths(locale?: string): string[];
  getWeekdays(locale?: string): string[];
}

CalendarClassNames & DayClassNames

export interface DayClassNames {
  cell?: string;
  day?: string;
  unselected?: string;
  selected?: string;
  today?: string;
  disabled?: string;
  outside?: string;
  rangeStart?: string;
  rangeEnd?: string;
  rangeBetween?: string;
  rangeHovering?: string;
  [key: string]: string | undefined;
}

export interface CalendarClassNames {
  root?: string;
  calendarsContainer?: string;
  calendarHeader?: string;
  monthYearLabel?: string;
  monthYearSelect?: string;
  navButton?: string;
  weekdaysHeader?: string;
  weekdayCell?: string;
  weeksContainer?: string;
  weekRow?: string;
  day?: DayClassNames;
  monthSelectionRoot?: string;
  monthSelectionGrid?: string;
  monthSelectionCell?: string;
  yearSelectionRoot?: string;
  yearSelectionList?: string;
  yearSelectionItem?: string;
}

On this page