Timeline Vertical
DemoAnatomyComponentsInteractionsRules
←StyleKit
StyleKit — Layout Style

Vertical
Timeline

A central spine connects every event. Cards branch left and right in alternating rhythm. Hover syncs node, connector, and card as a single unit — no element acts alone.

FeatureDesignLaunchMilestone
2px
Spine
w-4
Node
200ms
Easing
Milestone
Inception
Jan 2021
Feature
Tokens
Jun 2021
Launch
Alpha
Feb 2022
Design
Showcase
Mar 2023
Milestone
v1 Stable
Sep 2023
Central spine (2px)
Circular node (w-4 h-4)
Content card
Interactive Demo

StyleKit Milestones

Hover any row. The node dot, line segments, and card transform simultaneously — that is Node Synchronization.

Jan 2021Milestone

Project Inception

StyleKit was conceived as an opinionated design system where every style ships with its own motion vocabulary, color semantics, and layout DNA. The founding principle: each style must be self-contained and immediately usable.

Jan 2021Milestone

Project Inception

StyleKit was conceived as an opinionated design system where every style ships with its own motion vocabulary, color semantics, and layout DNA. The founding principle: each style must be self-contained and immediately usable.

Jun 2021Feature

Unified Token Architecture

A shared semantic layer was introduced covering color, spacing, radius, and motion tokens. Every subsequent style inherits from this foundation, ensuring cross-style consistency in padding, shadow, and transition timing.

Feb 2022Launch

First Public Alpha

StyleKit shipped its initial alpha to early adopters with twelve core styles. Community feedback during this period defined the interaction physics model that governs all hover and transition behavior across the library.

Feb 2022Launch

First Public Alpha

StyleKit shipped its initial alpha to early adopters with twelve core styles. Community feedback during this period defined the interaction physics model that governs all hover and transition behavior across the library.

Aug 2022Feature

Interaction Physics Engine

A dedicated interaction layer was built, giving each style its own named motion patterns: pull-out effects, node synchronization, spring easing, and coordinated group hover orchestration that treats card, dot, and connector as one unit.

Mar 2023Design

Showcase System Redesign

Each style was given a fully self-contained showcase demonstrating layout, color, motion, and component variants without importing anything from shared UI libraries. The zero-dependency showcase pattern was codified.

Mar 2023Design

Showcase System Redesign

Each style was given a fully self-contained showcase demonstrating layout, color, motion, and component variants without importing anything from shared UI libraries. The zero-dependency showcase pattern was codified.

Sep 2023Launch

v1.0 Stable Release

Forty-one styles graduated to stable after passing a twelve-point checklist covering accessibility, mobile responsiveness, WCAG contrast ratios, and interaction parity across pointer and keyboard input methods.

Apr 2024Design

Timeline Vertical Style

The Timeline Vertical style was introduced to handle chronological storytelling. The central spine, alternating card layout, and node synchronization pattern make it the most spatially expressive style in the collection.

Apr 2024Design

Timeline Vertical Style

The Timeline Vertical style was introduced to handle chronological storytelling. The central spine, alternating card layout, and node synchronization pattern make it the most spatially expressive style in the collection.

Nov 2024Milestone

Community Showcase Program

StyleKit opened its showcase contribution program. Each accepted submission is reviewed against the Style Addition Checklist and ships with full showcase coverage, TypeScript types, tests, and documentation.

Layout Anatomy

How it is built

Three structural layers compose every timeline: the central spine, circular node dots, and content cards connected via positional alignment.

Central Line (2px)
Node dot (w-4 h-4)
Jan 2021
Card Left
Jun 2021
Card Right
Feb 2022
Card Left
Desktop: alternating left/right
01
Central Spine
position: absolute; width: 2px; left: 50%;

An absolute-positioned div (or pseudo-element) runs the full height of the container. It is the structural backbone. Without it, items lose their chronological binding.

02
Node Dot
w-4 h-4 rounded-full border-2 border-white

Each node is a 16x16 rounded circle centered on the spine. A white border creates a cut-out effect that visually separates it from the line. Color encodes the event category.

03
Content Card
w-1/2 pr-12 sm:text-right

Cards sit in a 50% column adjacent to the spine. Desktop: alternates left/right using odd/even index. Mobile: all items collapse to the right side with the spine flush left.

04
Group Context
className="group relative flex items-stretch"

The outer wrapper carries the group class. All three elements — line segment, dot, card — listen to this shared hover context. This enables Node Synchronization.

Components

Building Blocks

Hover each component — the Node Synchronization behavior is live in every tab.

Feature
New capabilities, API additions
Design
Visual updates, brand changes
Launch
Public releases, go-live events
Current
Milestone
Pivotal firsts, key decisions
Upcoming
Planned future events
Upcoming
Completed
Archived past entries
Critical
Urgent or breaking changes
Custom
Override with any hex color
Animation & Interaction Rules

The four motion laws

Each interaction rule is demonstrated live. Hover or click the cards to feel the exact behavior that every timeline implementation must reproduce.

01Node Synchronization

Hovering any part of the row must simultaneously highlight the node dot. The dot scales to 1.35x and emits a color-matched glow. Card and dot share one hover context.

Jun 2021
Hover this entire row

Hover anywhere in the row above

group-hover:scale-[1.35] /* dot */
group-hover:bg-[#3b82f6] /* line */
group-hover:border-[#3b82f6] /* card */
02Pull-Out Effect

Card hover causes a light upward float (-translate-y-1) AND a slight horizontal translate-x-1. Together they simulate the node being pulled out from the spine for closer examination.

Before (rest)

Feb 2022
Event card
translate(0, 0)

After (hover)

Feb 2022
Event card
translate(-4px, 4px)

Live: hover the card below

Apr 2024
Timeline Vertical Style
Hover to trigger pull-out
group-hover:-translate-y-1
group-hover:translate-x-1
transition: all 200ms ease-out
03Sequential Smoothness

Use duration-200 ease-out everywhere. This enables stable feedback even during rapid scroll-through where multiple items enter and leave hover state in quick succession.

Easing comparison — click to animate

Slow (600ms linear)
Correct (200ms ease-out)
/* Correct — every transition property */
transition-all duration-200 ease-out
04Connected Focus

When a card is focused or hovered, its border color must match the timeline spine color (#3b82f6). This maintains narrative coherence — the card and the line it belongs to appear as one system, not two separate elements.

Wrong

Sep 2023
Event
border: red — breaks narrative

Correct

Sep 2023
Event
border: #3b82f6 — matches spine
/* Focused card border = spine color */
group-hover:border-[#3b82f6]
/* Never use a contrasting color */
Shared across all four rules
transition: all 200ms ease-out

Card transform, node scale, node glow, line color, and border — all share one easing curve and one duration. One timeline, one motion vocabulary.

Design Rules

Do and Don't

Each rule is itself a timeline node. Hover to activate Node Synchronization on every rule card — the pattern is self-demonstrating.

Do

Render the central spine first

The absolute-positioned line is the structural anchor. All nodes and cards position relative to it. Without it, the layout collapses.

Align node dots precisely to the spine

Use left-1/2 + -translate-x-1/2 (or left-[calc(50%-8px)]). A misaligned dot destroys the visual grammar immediately.

Use white border on node dots

border-2 border-white creates a cut-out ring that separates the dot from the spine color, preserving readability at any size.

Wrap each row in a group div

The group class enables all three elements — card, dot, line — to respond to one hover context. Never split the hover target.

Collapse mobile to single-side

Below md breakpoint, move the spine to left-5 and render all cards on the right. No exceptions for narrow viewports.

Include a date or timestamp on every node

Removing time labels reduces the timeline to an arbitrary list. Every node needs temporal context to communicate chronology.

Don't

Break or gap the connecting line

A broken spine signals a missing event or layout error. Keep the line continuous from first to last node — even across dynamic filtering.

Use inconsistent node sizes

All nodes must share the same diameter (w-4 h-4 default). Varying sizes imply semantic hierarchy that the layout does not support.

Keep alternating layout on mobile

At 375px, a 50% card is ~185px wide — insufficient for most content. Always collapse to single-side below md.

Animate nodes independently from cards

Never attach hover to the dot alone. Node Synchronization requires both card and dot to be children of the same group wrapper.

Use slow or linear easing

Transitions above 300ms feel sluggish when users scroll quickly through many events. Linear easing feels mechanical. Use ease-out at 200ms.

Let content overflow the card vertically

Long descriptions make the line segment disproportionately tall. Truncate at ~40px and reveal on interaction to maintain vertical rhythm.

Color Reference
Primary#1e293b

Text, headings, spine

Background#f8fafc

Page background

Border#e2e8f0

Default dividers, lines

Blue#3b82f6

Accent — Feature, spine highlight

Green#10b981

Accent — Launch events

Amber#f59e0b

Accent — Design changes

Red#ef4444

Accent — Milestone events

Muted#94a3b8

Secondary text, labels

StyleKit
Timeline Vertical Showcase

A layout style for chronological storytelling. The central spine, alternating cards, and node synchronization make it the most spatially expressive pattern in the library.

This StyleDocumentationShowcaseCover
StyleKitHomeAll Styles
AccentsBlue — FeatureGreen — LaunchAmber — DesignRed — Milestone

StyleKit · Timeline Vertical · Stories unfold chronologically.

←Back to StyleKit