@usevyre/react@usevyre/vue

Timeline

A vertical activity feed for audit logs and history — status-colored markers, timestamps, and a connector line. Pass anitems array for plain logs, or composeTimelineItem children for rich content. Timeline doesn’t reorder — items render in the order you give them.


Audit log (items array)

The quickest form: an array of entries. status colors each dot — success green, info accent,danger red, default grey.

  1. Deployed v2.1.02m ago
  2. Build passed5m ago
  3. Tests failed (retry)8m ago
  4. Pushed to main10m ago
import { Timeline } from "@usevyre/react";

<Timeline
  items={[
    { title: "Deployed v2.1.0", time: "2m ago", status: "success" },
    { title: "Build passed", time: "5m ago", status: "info" },
    { title: "Tests failed (retry)", time: "8m ago", status: "danger" },
    { title: "Pushed to main", time: "10m ago" },
  ]}
/>

Rich content (composable)

Use TimelineItem children when each entry needs more than text — badges, links, or any markup go in the body.

  1. Invoice paidApr 2

    $1,200 — Acme Inc.

  2. Plan upgradedMar 28
    Starter

    Pro
  3. Account createdMar 1
import { Timeline, TimelineItem, Stack, Text, Badge } from "@usevyre/react";

<Timeline>
  <TimelineItem title="Invoice paid" time="Apr 2" status="success">
    <Text size="sm" color="muted">$1,200 — Acme Inc.</Text>
  </TimelineItem>
  <TimelineItem title="Plan upgraded" time="Mar 28" status="info">
    <Stack direction="row" gap="sm" align="center">
      <Badge variant="default">Starter</Badge>
      <Text size="sm" color="muted">→</Text>
      <Badge variant="accent">Pro</Badge>
    </Stack>
  </TimelineItem>
  <TimelineItem title="Account created" time="Mar 1" />
</Timeline>

Timeline props

Props

PropTypeDefaultDescription
itemsTimelineItemData[]{ title, time?, description?, status?, icon? }[] — alternative to children.
childrenReactNodeTimelineItem elements (use for rich per-item content).

TimelineItem props

Props

PropTypeDefaultDescription
titleReactNodeEntry title (required).
timeReactNodeTimestamp, right-aligned.
status"default" | "success" | "warning" | "danger" | "info""default"Colors the marker dot.
iconReactNodeCustom marker — overrides the status dot (Vue: #icon slot).
childrenReactNodeRich content under the title.