# GanttEx v0.1.0 - API Reference

## Modules

- [GanttEx](GanttEx.md): Interactive Gantt charts for Phoenix LiveView.

- LiveView integration
  - [GanttEx.ColocatedCSS](GanttEx.ColocatedCSS.md): A global `Phoenix.LiveView.ColocatedCSS` implementation used to ship the
GanttEx stylesheet (see `GanttEx.Live.Styles`).
  - [GanttEx.Live.Columns](GanttEx.Live.Columns.md): Builds the grid columns from the `:column` slots of `GanttEx.Live.Gantt`.
  - [GanttEx.Live.Components](GanttEx.Live.Components.md): Function components that make up `GanttEx.Live.Gantt`.
  - [GanttEx.Live.Gantt](GanttEx.Live.Gantt.md): An interactive Gantt chart LiveComponent.
  - [GanttEx.Live.Hook](GanttEx.Live.Hook.md): The only JavaScript of GanttEx: a colocated LiveView hook named
`"GanttEx.Live.Hook.Gantt"`.
  - [GanttEx.Live.Icons](GanttEx.Live.Icons.md): Inline SVG icons used by the chart, so the host application does not need
any icon set. Paths come from [Heroicons](https://heroicons.com) (MIT).

  - [GanttEx.Live.Interaction](GanttEx.Live.Interaction.md): Translates user gestures into task and link attributes.
  - [GanttEx.Live.Styles](GanttEx.Live.Styles.md): The GanttEx stylesheet, shipped as colocated CSS (see `GanttEx.ColocatedCSS`).

- Data model
  - [GanttEx.Event](GanttEx.Event.md): Notifications sent by `GanttEx.Live.Gantt` to the LiveView that renders it.
  - [GanttEx.History](GanttEx.History.md): Undo and redo for a `GanttEx.Store`.
  - [GanttEx.Link](GanttEx.Link.md): A dependency between two tasks.
  - [GanttEx.Marker](GanttEx.Marker.md): A vertical line on the timeline marking a date (a release, a freeze, today...).
  - [GanttEx.Resource](GanttEx.Resource.md): A resource (a person, a team, a machine...) that tasks are assigned to.
  - [GanttEx.Store](GanttEx.Store.md): An immutable, in-memory container of tasks and links.
  - [GanttEx.Task](GanttEx.Task.md): A task (row) of the Gantt chart.

- Scheduling
  - [GanttEx.Calendar](GanttEx.Calendar.md): Working-time calendars.
  - [GanttEx.CriticalPath](GanttEx.CriticalPath.md): Critical path and slack analysis (CPM) of the current plan.
  - [GanttEx.Dependency](GanttEx.Dependency.md): The dependency graph behind auto-scheduling (`GanttEx.Scheduler`) and the
critical path (`GanttEx.CriticalPath`).
  - [GanttEx.ResourceLoad](GanttEx.ResourceLoad.md): Computes how loaded each resource is, column by column of the timeline.
  - [GanttEx.Scheduler](GanttEx.Scheduler.md): Auto-scheduling: moves tasks so that dependencies and constraints hold.

- Time &amp; layout
  - [GanttEx.Dates](GanttEx.Dates.md): Date arithmetic used across GanttEx.
  - [GanttEx.Layout](GanttEx.Layout.md): Computes the geometry of the chart: one bar per visible row and one path per
visible link.
  - [GanttEx.LinkPath](GanttEx.LinkPath.md): Routes dependency arrows between two task bars.
  - [GanttEx.Scale](GanttEx.Scale.md): One row of the time scale header.
  - [GanttEx.Timeline](GanttEx.Timeline.md): Maps time to pixels.
  - [GanttEx.Zoom](GanttEx.Zoom.md): Zoom levels: named combinations of scales and column width.

- Forms
  - [GanttEx.LinkForm](GanttEx.LinkForm.md): Converts links to the params of the dependency editor and validates them.
  - [GanttEx.TaskForm](GanttEx.TaskForm.md): Converts tasks to lightbox form params and validates submitted params.

- Import &amp; export
  - [GanttEx.Export](GanttEx.Export.md): Exports a `GanttEx.Store` to common formats.
  - [GanttEx.Import](GanttEx.Import.md): Reads project data from other tools.

- Internationalization
  - [GanttEx.Gettext](GanttEx.Gettext.md): The Gettext backend holding GanttEx translations.
  - [GanttEx.I18n](GanttEx.I18n.md): Translations and localized date formatting.

