Contact Us

Timeline

DOC-00121 reference implementor, developer

A vertical timeline for displaying chronological content. Uses a parent/child slot pattern with Timeline as the container and TimelineItem children. Adapted from the Flowbite default timeline pattern.

File: src/core/components/ui/Timeline.astro File: src/core/components/ui/TimelineItem.astro

Props — Timeline

PropTypeDefaultNotes
classstringAdditional CSS classes

Props — TimelineItem

PropTypeDefaultNotes
titlestringrequiredItem title
datestringDate string displayed above the title
classstringAdditional CSS classes

Usage

---
import Timeline from "@core/components/ui/Timeline.astro";
import TimelineItem from "@core/components/ui/TimelineItem.astro";
---

<Timeline>
  <TimelineItem title="Project Started" date="January 2026">
    <p>Initial planning and requirements gathering.</p>
  </TimelineItem>
  <TimelineItem title="Design Phase" date="February 2026">
    <p>Wireframes and visual design completed.</p>
  </TimelineItem>
  <TimelineItem title="Launch" date="March 2026">
    <p>Site launched successfully.</p>
  </TimelineItem>
</Timeline>

Accessibility

  • Timeline renders as an <ol> (ordered list) — provides semantic structure for chronological entries.
  • Each TimelineItem renders as an <li> with a semantic <h3> for the title and <time> for the date.
  • The vertical line is a CSS border on the <ol>. Dot markers are decorative.
  • Left-aligned layout is consistent across all viewport widths — no content reflow on resize.
REQ-00044 implemented The theme shall include a limited set of composite components.
REQ-00272 implemented The theme shall provide layout and content components covering standard content block patterns (separator, button group, columns, media-text, pullquote, reading time, table, gallery, masonry gallery, cover, timeline).

Search

Search across pages and articles. Use arrow keys to navigate results.

Search across pages and articles.

Loading search...

Search is unavailable. Please try again later.

    No results for ""

    Try different keywords or fewer words.