Skip to content

Gantt Chart ^0.1.19 ​

Horizontal timeline for tasks with start/end dates, progress bars, and dependency arrows. Great for sprints, release plans, and roadmaps.

Basic ​

Mar 30Apr 6Apr 13Apr 20Apr 27May 4May 11ResearchDesignDevelopmentQALaunchToday
vue
<VxGanttChart
  :tasks="[
    { id: 'a', name: 'Research',    start: '2026-04-01', end: '2026-04-08' },
    { id: 'b', name: 'Design',      start: '2026-04-06', end: '2026-04-16' },
    { id: 'c', name: 'Development', start: '2026-04-14', end: '2026-05-04' },
    { id: 'd', name: 'QA',          start: '2026-04-28', end: '2026-05-08' },
    { id: 'e', name: 'Launch',      start: '2026-05-06', end: '2026-05-10' },
  ]"
/>

With progress ​

Progress fills the bar from the left — track completion inline.

Mar 16Mar 23Mar 30Apr 6Apr 13Apr 20Apr 27May 4DiscoveryWireframesVisual designPrototypeUsabilityHandoffToday
vue
<VxGanttChart
  :tasks="[
    { id: '1', name: 'Discovery',     start: '...', end: '...', progress: 1 },
    { id: '3', name: 'Visual design', start: '...', end: '...', progress: 0.72 },
    { id: '4', name: 'Prototype',     start: '...', end: '...', progress: 0.35 },
    ...
  ]"
/>

Dependencies ​

Task dependencies draw arrows from predecessors. Hover to highlight the chain.

Mar 30Apr 6Apr 13Apr 20Apr 27May 4Write specAPI scaffoldingDB schemaUI buildIntegration testsDeploy to prodToday
vue
<VxGanttChart
  :tasks="[
    { id: 'spec', name: 'Write spec', start: '...', end: '...' },
    { id: 'api',  name: 'API scaffolding', start: '...', end: '...',
      dependencies: ['spec'] },
    { id: 'tests', name: 'Integration tests', start: '...', end: '...',
      dependencies: ['ui', 'db'] },
    ...
  ]"
/>

Release pipeline with custom colors ​

Mar 30Apr 6Apr 13Apr 20Apr 27May 4May 11May 18v1.2 scopingv1.2 buildv1.2 releasev1.3 scopingv1.3 buildv1.3 releaseToday
vue
<VxGanttChart
  :tasks="[
    { id: 'r1', name: 'v1.2 scoping', start: '...', end: '...', color: '#6366f1' },
    { id: 'r3', name: 'v1.2 release', start: '...', end: '...', color: '#22c55e' },
    { id: 'r5', name: 'v1.3 build',   start: '...', end: '...', color: '#f59e0b' },
    ...
  ]"
/>

Sprint view (day scale) ​

For short ranges the chart auto-switches to a per-day grid.

Apr 12Apr 13Apr 14Apr 15Apr 16Apr 17Apr 18Apr 19Apr 20Apr 21Apr 22Apr 23Apr 24Apr 25Apr 26Auth refactorDashboard filtersBilling webhookEmail templatesOnboarding copyBug triageToday
vue
<VxGanttChart :tasks="sprint" :rowHeight="30" :barHeight="16" />

Yearly roadmap (month scale) ​

For long ranges the chart auto-switches to a per-month grid.

Dec 2025Jan 2026Feb 2026Mar 2026Apr 2026May 2026Jun 2026Jul 2026Aug 2026Sep 2026Oct 2026Nov 2026Dec 2026Jan 2027Q1 — FoundationQ2 — GrowthQ3 — ScaleQ4 — MonetizeToday
vue
<VxGanttChart
  :tasks="[
    { id: 'q1', name: 'Q1 — Foundation', start: '2026-01-01', end: '2026-03-31' },
    { id: 'q2', name: 'Q2 — Growth',     start: '2026-04-01', end: '2026-06-30' },
    ...
  ]"
  today="2026-04-17"
/>

Team swimlanes ​

Use color per task to group teams visually.

Mar 30Apr 6Apr 13Apr 20Apr 27Backend · service ABackend · service BFrontend · onboardingFrontend · billingDesign · illustrationsDesign · marketingOps · infra upgradeOps · observabilityToday
vue
<VxGanttChart :tasks="teams" :labelWidth="200" />

Compact (no labels, no dates) ​

Today
vue
<VxGanttChart
  :tasks="tasks"
  :showLabels="false"
  :showDates="false"
  :headerHeight="12"
  :rowHeight="22"
  :barHeight="12"
/>

Today indicator disabled ​

Mar 31Apr 1Apr 2Apr 3Apr 4Apr 5Apr 6Apr 7Apr 8Apr 9Apr 10Apr 11Apr 12Apr 13Apr 14Apr 15Apr 16PlanBuildShip
vue
<VxGanttChart :tasks="tasks" :showToday="false" />

Props ​

PropTypeDefaultDescription
tasksGanttTask[][]{ id, name, start, end, progress?, color?, dependencies?[] }
rowHeightnumber36Height of each task row
barHeightnumber20Height of the bar inside the row
barRadiusnumber4Bar corner radius
labelWidthnumber160Width reserved for task names on the left
headerHeightnumber40Height of the date axis header
colorsstring[][]Palette override (used when task has no color)
scale'day' | 'week' | 'month' | 'auto''auto'Grid granularity
todaystring | Date | nullnullReference date for the today line (defaults to now)
showProgressbooleantrueFill bars based on progress
showTodaybooleantrueDraw the dashed "today" line
showDependenciesbooleantrueDraw dependency arrows
showGridbooleantrueDraw vertical grid lines
showLabelsbooleantrueShow task name column
showDatesbooleantrueShow date labels in the header
tooltipbooleantrueHover tooltip
animatebooleantrueGrow bars in on mount

Events ​

EventPayload
hover{ task }
click{ task }