@konnorkooi/schedule-glance
Version:
A customizable weekly schedule component
49 lines (48 loc) • 1.39 kB
TypeScript
import React from "react";
export interface ScheduleEvent {
id: string;
days: number[];
start: string;
end: string;
color?: string;
customContent?: string;
title?: string;
body?: string;
[key: string]: any;
}
export interface ScheduleProps {
events: ScheduleEvent[];
width?: number;
height?: number;
onEventClick?: (event: ScheduleEvent) => void;
onAddEvent?: (event: ScheduleEvent) => void;
onRemoveEvent?: (eventId: string) => void;
headers?: {
label: string;
dayIndex: number;
}[];
customPopupHandler?: (event: ScheduleEvent) => void;
useDefaultPopup?: boolean;
emptyStateMessage?: string;
}
export interface ScheduleRef {
exportToPng: (filename?: string) => Promise<void>;
}
export interface EventPopupProps {
event: ScheduleEvent;
onClose: () => void;
}
export const EventPopup: React.FC<EventPopupProps>;
interface _ScheduleRef1 {
exportToPng: (filename?: string) => Promise<void>;
}
export const Schedule: React.ForwardRefExoticComponent<ScheduleProps & React.RefAttributes<_ScheduleRef1>>;
interface ScheduleHeaderProps {
headers: string[];
}
export const ScheduleHeader: React.FC<ScheduleHeaderProps>;
interface ScheduleCellProps {
events: ScheduleEvent[];
onEventClick: (event: ScheduleEvent) => void;
}
export const ScheduleCell: React.FC<ScheduleCellProps>;