GanttProps is the full prop surface of ReactGanttChart. It and every type named in the tables
below are exported from the package root, apart from Dayjs, ReactNode and React.MouseEvent,
which come from dayjs and react:
import { ReactGanttChart, type GanttProps } from '@jaeungkim/gantt-chart';
Every prop is optional. The Default column carries the value the component actually falls back to;
none means the prop has no fallback and the feature it drives stays off.
showTaskList has no fixed default. Left out, the pane is on exactly when columns is
given. Passing columns alone turns the pane on; passing showTaskList: true alone shows it
with DEFAULT_COLUMNS.
selectable has no fixed default either. Left out, selection is on exactly when
onTaskSelect is given. Pass true for the highlight without a callback, false to turn it
off entirely.
allowMove, allowResize, allowProgressChange, allowTaskCreate, allowLinkCreate,
allowLinkDelete default to !readOnly, not to true. A task's own flag of the same name
wins over the chart-level one, and a task's own readOnly sits between them. See
GanttInteractionConfig.
allowTaskCreate on its own draws nothing: onTaskCreate must also be given.
defaultScale is a seed, not a controlled value. A scale the user picked is saved under
storageKey in sessionStorage and wins on remount, and changes to the prop after mount are
ignored.
collapsedIds and defaultCollapsedIds are the controlled and uncontrolled halves of
one value. Passing collapsedIds makes the chart show that list and stop tracking its own;
onCollapsedChange still fires in both modes.
theme left out attaches no theme class at all — the host app decides. 'system' resolves
to null during server rendering and the first hydration render, then to the real setting.
historyLimit: 0 does not mean unlimited. It empties the stack and turns undo off.
storageKey is one key for the whole page. Two charts that leave it at "gantt-scale"
share a scale, and the last change made applies to both.
visibleStart and visibleEnd are independent. Pinning one end also stops
infiniteScroll from extending the range on that side; the other side still extends.
workingCalendar builds its calendar from holidays and isNonWorkingDay, the same
configuration that drives showNonWorkingDays shading.
DEFAULT_COLUMNS is an internal constant, not a public export. It names the fallback columns in
the table above but cannot be imported from the package — pass your own columns array instead.
See Task list and hierarchy.
Dayjs comes from the dayjs package, and ReactNode / React.MouseEvent from react.
None of the three is re-exported from this package.
ReactGanttChart also takes a ref of type GanttHandle for scrolling, zooming, undo/redo and
PNG export. It is not part of GanttProps — see GanttHandle.