UNPKG

f-react-native-schedule

Version:

Flexible scheduling library with more built-in features and enhanced customization options

64 lines (63 loc) 1.89 kB
import type { Dayjs } from 'dayjs'; import type { TextStyle, ViewStyle } from 'react-native'; export declare type Scheduling = { [startTimeFieldName: string]: string; } & { [endTimeFieldName: string]: string; } & { [titleFieldName: string]: string; } & any; export declare type StartHour = string; export declare type EndHour = string; export declare type Hours = Array<number>; export declare type SelectedDate = Date; export declare type ScheduleView = 'day' | 'week'; export declare type DaysWeek = Array<number>; export declare type CellDimensions = { height: number; width: number; }; export declare type CellSettings = { style?: ViewStyle; render?: (date: Dayjs) => JSX.Element; }; export declare type SchedulingField = { name: string; style?: TextStyle; render?: (value: string, scheduling: Scheduling) => JSX.Element; }; export declare type SchedulingFields = { subject: SchedulingField; startTime: SchedulingField; endTime: SchedulingField; }; export declare type SchedulingSettings = { fields: SchedulingFields; style?: ViewStyle; render?: (scheduling: Scheduling, date: Dayjs) => JSX.Element; }; export declare type HeaderSettings = { cellRender?: (date: Dayjs) => JSX.Element; /** * Current day color * * @default '#1a73e8' */ currentDayColor?: string; }; export declare type SidebarSettings = { cellRender?: (hour: number) => JSX.Element; /** * @default '#b5b5c3' */ hourColor?: string; /** * if you want to display the period, set 'HH:00 A' * @link https://day.js.org/docs/en/display/format * @default 'HH:00' */ hourFormat?: string; }; export declare type ScheduleSchedulingSettings = { fields: Partial<SchedulingFields>; } & Omit<SchedulingSettings, 'fields'>;