import { Theme } from './Theme'; import { Scroll } from './TimelineHorizontalModel'; import { TimelineCardModel, TimelineItemModel } from './TimelineItemModel'; import { Media } from './TimelineMediaModel'; import { TimelineProps } from './TimelineModel'; /** * Represents the props for the timeline component. */ export type Props = Pick & { alternateCards?: boolean; hasFocus?: boolean; onClick: (id?: string) => void; onElapsed?: (id?: string) => void; slideItemDuration?: number; slideShowRunning?: boolean; theme?: Theme; }; type VerticalModel = Pick & Pick & { active?: boolean; className: string; id?: string; }; /** * Represents the model for a vertical timeline point. */ export type TimelinePointModel = Omit & { iconChild?: React.ReactNode; isMobile?: boolean; onActive: (pointOffset: number) => void; }; /** * Represents the model for a vertical timeline item. */ export interface VerticalItemModel extends VerticalModel { contentDetailsChildren?: React.ReactNode; iconChild?: React.ReactNode; index: number; items?: TimelineItemModel[]; media?: Media; onActive: (pointOffset: number, contentHeight: number, contentOffset: number) => void; onShowMore?: () => void; visible?: boolean; } /** * Represents the model for a vertical timeline. */ export type TimelineVerticalModel = Pick & { activeTimelineItem?: number; autoScroll: (s: Partial) => void; childrenNode?: React.ReactNode; contentDetailsChildren?: React.ReactNode; iconChildren?: React.ReactNode; items: TimelineCardModel[]; onOutlineSelection?: (index: number) => void; }; export {};