import { ReactNode } from 'react'; import { ValuesOf } from '../utils/typeUtils'; import { LINE_TYPES, SKINS } from './Timeline.constants'; export type TimelineItemLine = ValuesOf; export type TimelineSkin = ValuesOf; export interface TimelineItem { /** event text - could be a node or a string. */ label?: ReactNode; /** action element in the end of event text. */ labelAction?: ReactNode; /** Sets a custom bullet element, such as an icon or an avatar. This prop is still in development. */ customPrefix?: ReactNode; /** suffix text or element placed on the right. */ suffix?: ReactNode; /** line style for the event. */ line?: TimelineItemLine; } export interface TimelineProps { /** * Specifies a CSS class name to be appended to the component's root element. * @internal */ className?: string; /** Applies a data-hook HTML attribute to be used in the tests. */ dataHook?: string; /** * Defines each individual event item in the component: * - `label` stores a text string naming the event or renders other components as its children * - `labelAction` stores an action button (or other components) related to the event * - `customPrefix` defines a custom milestone symbol for an item on the vertical axis * - `suffix` stores a date of the event (or other components) */ items: TimelineItem[]; /** Sets the distance that separates each item from the one below. */ gap?: string; /** Sets the skin of the component. */ skin?: TimelineSkin; } //# sourceMappingURL=Timeline.types.d.ts.map