import React from 'react'; import { CellInfo, ClassNames, DateRange, Grid, OnChangeCallback, ScheduleType, } from '../types'; import { RangeBox } from './RangeBox'; export type ScheduleProps = { classes: ClassNames; grid: Grid; onChange?: OnChangeCallback; isResizable?: boolean; isDeletable?: boolean; moveAxis: 'none' | 'both' | 'x' | 'y'; cellInfoToDateRange(cell: CellInfo): DateRange; onActiveChange?(index: [number, number] | [null, null]): void; onClick?(index: [number, number] | [null, null]): void; getIsActive(indexes: { cellIndex: number; rangeIndex: number }): boolean; eventContentComponent?: any; eventRootComponent?: any; disabled?: boolean; }; export const Schedule = React.memo(function Schedule({ classes, ranges, grid, className, onChange, isResizable, isDeletable, moveAxis, cellInfoToDateRange, dateRangeToCells, onActiveChange, eventContentComponent, eventRootComponent, onClick, getIsActive, disabled, }: { dateRangeToCells(range: DateRange): CellInfo[]; ranges: ScheduleType; className?: string; classes: ClassNames; } & ScheduleProps) { return (