import * as React from "react"; // Import types import { BaseTimeFormat } from "../helpers/types"; // Import styles import { TimelineStyled } from "../styles"; // Import hooks import { useTimeline } from "../hooks"; const { TimelineWrapper, TimelineBox, TimelineTime, TimelineDividers, TimelineDivider, } = TimelineStyled; interface TimelineProps { isRTL?: boolean; isBaseTimeFormat: BaseTimeFormat; isSidebar: boolean; dayWidth: number; hourWidth: number; numberOfHoursInDay: number; offsetStartHoursRange: number; sidebarWidth: number; } export function Timeline({ isRTL, isBaseTimeFormat, isSidebar, dayWidth, hourWidth, numberOfHoursInDay, offsetStartHoursRange, sidebarWidth, }: TimelineProps) { const { time, dividers, formatTime } = useTimeline( numberOfHoursInDay, isBaseTimeFormat ); const renderTime = (index: number) => ( {formatTime(index + offsetStartHoursRange)} {renderDividers()} ); const renderDividers = () => dividers.map((_, index) => ( )); return ( {time.map((_, index) => renderTime(index))} ); }