Display
Timeline
A vertical sequence of events, each with a marker, a title, a time and a status.
Order placed
Payment confirmed and receipt emailed.Shipped
Left the warehouse via ground courier.Out for delivery
Expected between 12pm and 4pm.Delivered
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.
Build passed
Deploy to staging
Tests failed
3 of 214 specs failed in checkout.spec.ts.
API #
JTimeline
Slots
| Slot | Props | Description |
|---|---|---|
| default | — | One or more JTimelineItem. |
JTimelineItem
| Prop | Type | Default | Description |
|---|---|---|---|
| title | string | — | Event title. Use the title slot for richer content. |
| time | string | — | 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
| Slot | Props | 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.