f-react-native-schedule
Version:
Flexible scheduling library with more built-in features and enhanced customization options
64 lines (63 loc) • 1.89 kB
TypeScript
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'>;