Overview & Usage

The Interactive Timeline component is a visually structured way to display events or milestones chronologically. It allows users to explore key moments in a timeline format, segmented by years. Each year can include multiple events, and each event supports rich content, including titles, descriptions, images, and links. This component is ideal for showcasing histories, achievements, or progress over time in an engaging, interactive manner.

1. Example & HTML Structure

Interactive timeline title lorem ipsum dolor

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna

2022

Title text lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec ut leo rutrum, consectetur dui ac, aliquet lectus. Phasellus et risus consectetur, vestibulum justo at, blandit orci. Aliquam ac luctus ligula, sed lacinia quam.

Link

2021

Title text lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec ut leo rutrum, consectetur dui ac, aliquet lectus. Phasellus et risus consectetur, vestibulum justo at, blandit orci. Aliquam ac luctus ligula, sed lacinia quam.

Link

Title text lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec ut leo rutrum, consectetur dui ac, aliquet lectus. Phasellus et risus consectetur, vestibulum justo at, blandit orci. Aliquam ac luctus ligula, sed lacinia quam.

Link

Title text lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec ut leo rutrum, consectetur dui ac, aliquet lectus. Phasellus et risus consectetur, vestibulum justo at, blandit orci. Aliquam ac luctus ligula, sed lacinia quam.

Link

2020

Title text lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec ut leo rutrum, consectetur dui ac, aliquet lectus. Phasellus et risus consectetur, vestibulum justo at, blandit orci. Aliquam ac luctus ligula, sed lacinia quam.

Link

The following example shows the basic structure of the Timeline component:

<div class="bt1d-timeline">
  <h2 class="bt1d-timeline__title">Title</h2>
  <p class="bt1d-timeline__description">Qui et nulla elit et non veniam.</p>

  <div class="bt1d-timeline__entries">

    <!-- Start Year Entry -->
    <div class="bt1d-timeline-year">
      <h3 class="bt1d-timeline-year__year">2024</h3>

      <div class="bt1d-timeline-year__list">

        <!-- Start Event Entry -->
        <div class="bt1d-timeline-event">
          <figure class="bt1d-timeline-event__figure">
            <img src="http://placehold.co/600x300" alt="Placeholder" class="bt1d-timeline-event__img">
          </figure>
          <div class="bt1d-timeline-event__content">
            <span class="bt1d-timeline-event__byline">Byline</span>
            <h4 class="bt1d-timeline-event__title">Title</h4>
            <p class="bt1d-timeline-event__description">Aliquip tempor occaecat amet voluptate esse minim anim deserunt reprehenderit aute quis.</p>
            <a href="#" class="bt1d-timeline-event__link">Read More</a>
            <span class="bt1d-timeline-event__dot"></span>
          </div>
        </div> <!-- End Event Entry -->

        <!-- Add more events for this year -->

      </div>
    </div> <!-- End Year Entry -->

    <!-- Add more years -->

  </div>
</div>

2. Key Classes

3. Customization with Motion Utilities

The Interactive Timeline component can be enhanced with motion utilities to add dynamic animations to individual elements. Motion effects are applied using the motion class, with the direction of the effect specified by the data-motion-direction attribute. Additionally, you can control the animation timing using the optional data-motion-delay attribute.

The motion utilities leverage an intersection observer to trigger animations when at least 50% of the element is inside the viewport. If a data-motion-delay is specified, the animation will consider this delay before starting. For enhanced accessibility, the motion utilities respect reduced motion preferences, ensuring a smoother experience for users who have opted out of animations in their system settings.

Example with Motion Utilities:

<div class="bt1d-timeline-event motion" data-motion-direction="right" data-motion-delay="500">
  <!-- The rest of the event markup -->
</div>

Key Motion Utilities: