react-availability-calendar
Version:
A customizable React component for displaying booking availabilities on a calendar.
62 lines (61 loc) • 3.22 kB
TypeScript
import React from 'react';
import { AvailSlotsProps, Booking, AvailabilityEvent, CalendarTheme } from './types';
import { Overrides } from './overrides';
export declare const AvailSlots: React.SFC<AvailSlotsProps & {
overrides?: Overrides;
}>;
export declare const AddBookingFromAvailabilitySlots: ({ avails, slotLengthMs, slotStepMs, onAvailabilitySelected, theme, utils, overrides, }: {
avails: Booking[];
theme: CalendarTheme;
durationMinutes: number;
slotLengthMs?: number | undefined;
slotStepMs?: number | undefined;
onAvailabilitySelected: (e: AvailabilityEvent) => any;
utils: {
msInHour: number;
datesEqual: (d1: Date, d2: Date) => boolean;
formatAsMonth: (date: Date) => string;
sameMonth: (d1: Date, d2: Date) => boolean;
formatAsDateWithTime: (date: Date) => string;
formatAsDateJustTime: (date: Date) => string;
formatAsDate: (date: Date) => string;
shouldHideWeek: (selectedDate: Date | null, week: Date[], viewingDayAvailabilities: AvailabilityEvent[]) => boolean | null;
availByIndex: (days: Date[], avails: AvailabilityEvent[]) => {
hasAvail: boolean;
}[];
addBlockOutBookings: (blockOutPeriods: import("./types").MsSinceMidnightRange[], providerTimeZone: string, bookings: Booking[], localStart: Date, localEnd: Date) => Booking[];
availabilitiesFromBookings: (blockOutPeriods: import("./types").MsSinceMidnightRange[], providerTimeZone: string, bookings: Booking[], now: Date, periodStartArg: Date, periodEnd: Date) => AvailabilityEvent[];
toStartAndEnd: (range: import("./types").Range) => {
startDate: Date;
endDate: Date;
};
monthRangeForDate: (d: Date) => {
start: Date;
end: Date;
};
monthDaysForDate: (date: Date) => {
weeks: Date[][];
days: Date[];
};
chunkify: (intervals: AvailabilityEvent[], chunkLenMs: number, stepLenMs: number) => AvailabilityEvent[];
};
} & {
overrides?: {
ToolBar: import("./overrides/general").OverridableComponentProps<import("./types").ToolBarProps, {}, {}>;
ToolBarButton: import("./overrides/general").OverridableComponentProps<import("./types").ToolBarButtonProps, {}, {}>;
Weekdays: import("./overrides/general").OverridableComponentProps<{}, {}, {}>;
Weekday: import("./overrides/general").OverridableComponentProps<{
weekday: string;
}, {}, {}>;
DayCells: import("./overrides/general").OverridableComponentProps<import("./types").DayCellsProps, {}, {}>;
DayCell: import("./overrides/general").OverridableComponentProps<import("./types").DayCellProps, {}, {
date: Date;
isSelected: boolean;
hasAvail: boolean;
}>;
Availabilities: import("./overrides/general").OverridableComponentProps<AvailSlotsProps, {}, {}>;
AvailSlot: import("./overrides/general").OverridableComponentProps<import("./types").AvailSlotProps, {}, {
date: Date;
}>;
} | undefined;
}) => JSX.Element;