Display

Timeline

A vertical sequence of events, each with a marker, a title, a time and a status.

  1. Order placed

    Payment confirmed and receipt emailed.
  2. Shipped

    Left the warehouse via ground courier.
  3. Out for delivery

    Expected between 12pm and 4pm.
  4. Delivered

Copy
<template>
  <JTimeline>
    <JTimelineItem title="Order placed" time="Mon 9:14am" status="complete">
      Payment confirmed and receipt emailed.
    </JTimelineItem>
    <JTimelineItem title="Shipped" time="Mon 4:02pm" status="complete">
      Left the warehouse via ground courier.
    </JTimelineItem>
    <JTimelineItem title="Out for delivery" time="Today, 8:30am" status="current">
      Expected between 12pm and 4pm.
    </JTimelineItem>
    <JTimelineItem title="Delivered" status="upcoming" />
  </JTimeline>
</template>

Installation #

With the Nuxt module, every component is auto-imported — there is nothing to add. In a plain Vue project, import what you use:

Copy
import { JTimeline, JTimelineItem } from '@juxtui/ui'

Usage #

Copy
<JTimeline>
  <JTimelineItem title="Order placed" time="Mon 9:14am" status="complete" />
  <JTimelineItem title="Shipped" time="Mon 4:02pm" status="complete" />
  <JTimelineItem title="Out for delivery" time="Today, 8:30am" status="current" />
  <JTimelineItem title="Delivered" status="upcoming" />
</JTimeline>

JTimeline is just the <ol> and rail context — it carries no props of its own.

The connecting line between markers is a ::before on each item’s rail, so items must stay direct children of JTimeline for it to line up.

Variants & examples #

Custom markers#

Replace the dot with an icon via the marker slot.

  1. Build passed

  2. Deploy to staging

  3. Tests failed

    3 of 214 specs failed in checkout.spec.ts.

API #

JTimeline

Slots

SlotProps Description
default—One or more JTimelineItem.

JTimelineItem

PropTypeDefault Description
titlestring—Event title. Use the title slot for richer content.
timestring—A timestamp or relative time, e.g. "2 hours ago".
status'complete' | 'current' | 'upcoming''complete'Styles the marker and, for upcoming, mutes the title.

Slots

SlotProps Description
default—Body text under the header.
title—Replaces the plain-text title prop.
marker—Replaces the default dot marker.

Accessibility #

  • Renders as an ordered list (<ol>/<li>) so assistive tech announces position and count, e.g. “2 of 4”.
  • The rail and marker are aria-hidden — order and status are carried by the visible text, not the graphic.