Skip to content
THE COMPONENT LIBRARY
Skip to content

Component reference

Gantt

A project roadmap across a time axis.

Preview

Live preview

Changes apply to this preview only.

Sep 28 – Nov 13, 2026
100%
Task
Discovery
Customer interviews: September 28, 2026 to October 2, 2026. 100% complete.
Interface audit: October 1, 2026 to October 7, 2026. 100% complete.
Design
Core flows: October 6, 2026 to October 16, 2026. 72% complete.
Token refresh: October 12, 2026 to October 23, 2026. 48% complete.
Build
Scheduler + Gantt: October 19, 2026 to November 1, 2026. 24% complete.
File manager: October 22, 2026 to November 4, 2026. 10% complete.
Launch
Docs and examples: October 26, 2026 to November 8, 2026. 0% complete.
Public release: November 9, 2026 to November 13, 2026. 0% complete.

Core flows

Oct 6, 2026 – Oct 16, 2026

Design72% complete

Dependencies: audit

Timeline controls

Scale, zoom and navigation are controlled by the page.

Scaleday
Zoom100%
Visible startSep 28, 2026

Width adapts to the available space

More examples

Different configurations and compositions using the real Pimolu API. Each preview runs independently and follows the site appearance.

Weekly planning

Navigate the timeline and zoom; task details remain available as text.

Open preview

Task inspection

Navigate the timeline and zoom; task details remain available as text.

Open preview

Executive overview

A month-scale variant with an explicit range and dependency links turned off.

Open preview

Usage

Treat dates, dependency validation and progress updates as application data.

API reference

Generated from the public TypeScript declarations. Native HTML attributes are inherited where the component extends them; this reference includes Pimolu props and selected common native attributes.

PimoluGanttTask

Type source
PimoluGanttTask public API
NameTypeDefaultDescription
idRequiredstring—Stable identifier, also used to resolve dependencies.
nameRequiredstring—Visible task name.
startRequiredDate—First day of the task. The time part is ignored.
endRequiredDate—Last day of the task, inclusive. The time part is ignored.
progressnumber | undefined0Completion percentage, clamped to 0–100. Defaults to 0.
dependenciesreadonly string[] | undefined—IDs of tasks that must finish before this one starts.
colorstring | undefined—Optional bar accent colour.
groupstring | undefined—Optional group heading. Tasks sharing a group are rendered together.
idRequired

string

No default extracted.

Stable identifier, also used to resolve dependencies.

nameRequired

string

No default extracted.

Visible task name.

startRequired

Date

No default extracted.

First day of the task. The time part is ignored.

endRequired

Date

No default extracted.

Last day of the task, inclusive. The time part is ignored.

progress

number | undefined

Default: 0

Completion percentage, clamped to 0–100. Defaults to 0.

dependencies

readonly string[] | undefined

No default extracted.

IDs of tasks that must finish before this one starts.

color

string | undefined

No default extracted.

Optional bar accent colour.

group

string | undefined

No default extracted.

Optional group heading. Tasks sharing a group are rendered together.

PimoluGanttProps

Type source
PimoluGanttProps public API
NameTypeDefaultDescription
tasksRequiredreadonly PimoluGanttTask[]—Tasks to display.
startDate | undefined—Controlled first day of the visible range. When omitted, the range is derived from the tasks, unless a navigation or Today action moved it.
defaultStartDate | undefinedthe task rangeInitial visible start when uncontrolled. Defaults to the task range.
endDate | undefinedthe task rangeLast day of the visible range, inclusive. Defaults to the task range.
onStartChange((start: Date) => void) | undefined—Called with the next visible start after navigation or Today.
scalePimoluGanttScale | undefined—Controlled timeline scale.
defaultScalePimoluGanttScale | undefined"day"Initial scale when uncontrolled. Defaults to "day".
onScaleChange((scale: PimoluGanttScale) => void) | undefined—Called when the Day/Week/Month control changes.
zoomnumber | undefined1Controlled zoom multiplier between 0.5 and 2. Defaults to 1.
defaultZoomnumber | undefined1Initial zoom when uncontrolled. Defaults to 1.
onZoomChange((zoom: number) => void) | undefined—Called when the zoom controls change the multiplier.
showDependenciesboolean | undefinedtrueDraw SVG dependency links between tasks. Defaults to true.
showTodayboolean | undefinedtrueDraw a vertical marker for today when it is inside the range. Defaults to true.
localestring | undefined"en-US"BCP 47 locale used for date labels. Defaults to "en-US".
onTaskClick((task: PimoluGanttTask) => void) | undefined—Called when a task bar or task name is activated.
maxHeightstring | number | undefined—Maximum height of the scrollable chart.
classNamestring | undefined—Class applied to the outer Gantt.
aria-labelstring | undefined"Project timeline"Accessible name of the timeline table. Defaults to "Project timeline".
tasksRequired

readonly PimoluGanttTask[]

No default extracted.

Tasks to display.

start

Date | undefined

No default extracted.

Controlled first day of the visible range. When omitted, the range is derived from the tasks, unless a navigation or Today action moved it.

defaultStart

Date | undefined

Default: the task range

Initial visible start when uncontrolled. Defaults to the task range.

end

Date | undefined

Default: the task range

Last day of the visible range, inclusive. Defaults to the task range.

onStartChange

((start: Date) => void) | undefined

No default extracted.

Called with the next visible start after navigation or Today.

scale

PimoluGanttScale | undefined

No default extracted.

Controlled timeline scale.

defaultScale

PimoluGanttScale | undefined

Default: "day"

Initial scale when uncontrolled. Defaults to "day".

onScaleChange

((scale: PimoluGanttScale) => void) | undefined

No default extracted.

Called when the Day/Week/Month control changes.

zoom

number | undefined

Default: 1

Controlled zoom multiplier between 0.5 and 2. Defaults to 1.

defaultZoom

number | undefined

Default: 1

Initial zoom when uncontrolled. Defaults to 1.

onZoomChange

((zoom: number) => void) | undefined

No default extracted.

Called when the zoom controls change the multiplier.

showDependencies

boolean | undefined

Default: true

Draw SVG dependency links between tasks. Defaults to true.

showToday

boolean | undefined

Default: true

Draw a vertical marker for today when it is inside the range. Defaults to true.

locale

string | undefined

Default: "en-US"

BCP 47 locale used for date labels. Defaults to "en-US".

onTaskClick

((task: PimoluGanttTask) => void) | undefined

No default extracted.

Called when a task bar or task name is activated.

maxHeight

string | number | undefined

No default extracted.

Maximum height of the scrollable chart.

className

string | undefined

No default extracted.

Class applied to the outer Gantt.

aria-label

string | undefined

Default: "Project timeline"

Accessible name of the timeline table. Defaults to "Project timeline".

Accessibility

  • Keep task names and dates available in text and provide keyboard access to selectable tasks.
Read the accessibility guide →