Angular Timeline & Progress Steps | ng-hub-ui-milestones

Angular timeline and progress-steps component: vertical or horizontal, fully customizable nodes, content inside and beside each step, themed with CSS variables.

Interactive examples

Explore live examples that show how the library behaves in common Angular use cases.

Orientation

Lay the timeline out vertically (the default, ideal for wizards and activity feeds) or horizontally (progress steps across the top of a page). Nodes are numbered automatically in DOM order.

Vertical timeline

Completed

Information

Account details captured and verified.

Completed

Shipping

Delivery address confirmed.

Payment

Enter your payment method to continue.

Pending

Review

Place the order once everything looks right.

Horizontal progress steps

Completed

Information

Account verified.

Completed

Shipping

Address confirmed.

Payment

In progress.

Pending

Review

Last step.

Node states

Each `hub-milestone` carries a `state` — complete, active, pending or error — that drives the node and connector colors. The `label` input renders fallback text inside the circle.

Node states

Completed

Complete

A finished step. Announced as “Completed”.

Active

The current step, highlighted with a ring and carrying aria-current="step".

Error

Error

Something needs attention here. The mark on the circle says so without colour, and the step is announced as “Error”.

Sin empezar

Pending

Not started yet — and announced as “Sin empezar”, because this node sets stateLabel.

Custom nodes & theming

Project any content into the circle with `<ng-template hubMilestoneNode>` (numbers, icons, emoji, avatars), override a single node with `color`, or re-theme the whole timeline through `--hub-milestone-*` CSS variables.

Custom nodes & per-node color

Completed

Drafted

Article written and saved.

Completed

Reviewed

Approved by the editor.

Publishing

Going live across channels.

Pending

Promotion

Scheduled for next week.

CSS-variable theming

Completed

Kickoff

Project scoped and approved.

Completed

Build

Core features shipped.

Launch

Rolling out to production.

Animation

When the timeline scrolls into view it completes its accent trail up to the active node — on by default and configurable globally with `provideHubMilestones`. Add `[pulse]` to make the active node emit a soft wave. Both animations respect `prefers-reduced-motion`.

Horizontal with active pulse

Completed

Ordered

Payment received.

Completed

Packed

Ready to ship.

In transit

Out for delivery now.

Pending

Delivered

Arriving soon.