/**
* @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>;