/** * @usevyre/react — Timeline + TimelineItem * * AI CONTEXT: * ┌──────────────────────────────────────────────────────────────────┐ * │ Component: Timeline (+ TimelineItem) │ * │ Import: import { Timeline, TimelineItem } from "@usevyre/react"│ * │ │ * │ Vertical activity feed for audit logs / history. Presentational. │ * │ A marker dot per item + a connector line between them. │ * │ │ * │ │ * │ — OR — │ * │ │ * │ │ * │ rich content (links, badges, …) │ * │ │ * │ │ * │ │ * │ status = "default"|"success"|"warning"|"danger"|"info" │ * │ (colors the dot) │ * │ icon = ReactNode (overrides the dot) │ * │ │ * │ Use `items` for plain logs; use TimelineItem children for rich │ * │ per-item content. Newest-first or oldest-first is up to you — │ * │ Timeline does not reorder. │ * └──────────────────────────────────────────────────────────────────┘ * * @example * * * @example * * * $1,200 — view receipt * * */ import React from "react"; import type { BaseProps } from "../../types"; export type TimelineStatus = "default" | "success" | "warning" | "danger" | "info"; export interface TimelineItemData { title: React.ReactNode; time?: React.ReactNode; description?: React.ReactNode; status?: TimelineStatus; icon?: React.ReactNode; } export interface TimelineProps extends React.HTMLAttributes, BaseProps { /** Plain items — alternative to TimelineItem children */ items?: TimelineItemData[]; children?: React.ReactNode; } export declare const Timeline: React.ForwardRefExoticComponent>; export interface TimelineItemProps extends Omit, "title">, BaseProps { title: React.ReactNode; time?: React.ReactNode; status?: TimelineStatus; /** Overrides the status dot */ icon?: React.ReactNode; children?: React.ReactNode; } export declare const TimelineItem: React.ForwardRefExoticComponent>;