SVAR Gantt ships with three built-in themes. Each theme is a Svelte wrapper component that applies a CSS class to its subtree and defines a full set of CSS custom properties.Documentation Index
Fetch the complete documentation index at: https://mintlify.com/svar-widgets/gantt/llms.txt
Use this file to discover all available pages before exploring further.
Built-in themes
Material
Clean, elevated look with rounded task bars and Google Material-inspired colours and typography (Roboto).
Willow
Light, flat design with subtle borders and a neutral colour palette.
WillowDark
Dark-mode variant of Willow with inverted backgrounds and adjusted contrast.
Applying a theme
Import the theme component and wrap your Gantt (and any companion components) inside it:- Material
- Willow
- WillowDark
Fonts prop
Each theme component accepts afonts boolean prop (defaults to true). When true, the theme loads its font stack automatically. Set it to false if you already load the fonts yourself:
CSS custom properties
Every visual detail is controlled by CSS custom properties. Override them inside your own CSS to customise individual aspects without building a new theme.Task bar variables
| Variable | Description |
|---|---|
--wx-gantt-task-color | Task bar background |
--wx-gantt-task-font-color | Text colour inside a task bar |
--wx-gantt-task-fill-color | Progress fill colour |
--wx-gantt-task-border-color | Task bar border |
--wx-gantt-task-critical-color | Critical-path task colour |
--wx-gantt-summary-color | Summary task bar background |
--wx-gantt-milestone-color | Milestone diamond colour |
--wx-gantt-bar-border-radius | Bar corner radius |
--wx-gantt-bar-shadow | Drop shadow on bars |
Grid variables
| Variable | Description |
|---|---|
--wx-grid-header-font | Column header font shorthand |
--wx-grid-header-font-color | Header text colour |
--wx-grid-header-text-transform | uppercase / capitalize |
--wx-grid-body-font | Row text font shorthand |
--wx-grid-body-font-color | Row text colour |
--wx-grid-body-row-border | Row separator border |
Time scale variables
| Variable | Description |
|---|---|
--wx-timescale-font | Time scale cell font |
--wx-timescale-font-color | Time scale text colour |
--wx-timescale-shadow | Box shadow under the time scale |
--wx-timescale-border | Time scale cell border |
--wx-gantt-holiday-background | Background for weekend/holiday cells |
--wx-gantt-holiday-color | Text colour for weekend/holiday cells |
Dependency link variables
| Variable | Description |
|---|---|
--wx-gantt-link-color | Link line colour |
--wx-gantt-link-color-hovered | Link colour on hover |
--wx-gantt-link-critical-color | Critical-path link colour |
--wx-gantt-marker-color | Today / custom marker colour |
Creating a custom theme
The simplest approach is to wrap your overrides in a CSS class and apply it with a minimal Svelte component that mirrors the built-in theme pattern:All custom properties must be set on the theme’s root CSS class (e.g.
.wx-willow-theme, .wx-material-theme, .wx-willow-dark-theme) so they are properly scoped.Cell borders
ThecellBorders prop on <Gantt> controls the grid lines drawn inside the chart area:
| Value | Effect |
|---|---|
"full" | Horizontal and vertical lines on every cell (default) |
"column" | Vertical lines only — one per time column |
Highlighting time cells
Pass ahighlightTime callback to apply a CSS class to individual day or hour cells. This is how weekends, holidays, and non-working hours are visually distinguished.
.wx-weekend with the --wx-gantt-holiday-background colour.