construction-gantt 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (56) hide show
  1. package/CHANGELOG.md +57 -0
  2. package/README.md +5 -0
  3. package/dist/export/index.cjs +1 -0
  4. package/dist/export/index.d.cts +112 -0
  5. package/dist/export/index.d.cts.map +1 -0
  6. package/dist/export/index.d.ts +112 -0
  7. package/dist/export/index.d.ts.map +1 -0
  8. package/dist/export/index.js +1 -0
  9. package/dist/index.cjs +3492 -0
  10. package/dist/index.d.cts +628 -0
  11. package/dist/index.d.cts.map +1 -0
  12. package/dist/index.d.ts +628 -0
  13. package/dist/index.d.ts.map +1 -0
  14. package/dist/index.js +3461 -0
  15. package/dist/pdf-CAQDrX0w.cjs +120 -0
  16. package/dist/pdf-CBaoJRTI.js +120 -0
  17. package/dist/png-C8t74695.cjs +88 -0
  18. package/dist/png-DKZeKnRh.js +88 -0
  19. package/dist/xlsx-5FRPFck7.js +89 -0
  20. package/dist/xlsx-Gh5L_NL3.cjs +111 -0
  21. package/package.json +86 -0
  22. package/src/Gantt.css +23 -0
  23. package/src/Gantt.tsx +636 -0
  24. package/src/SpikeGantt.tsx +114 -0
  25. package/src/analysis.ts +83 -0
  26. package/src/baseline.ts +119 -0
  27. package/src/calendars/canterbury-table.ts +44 -0
  28. package/src/calendars/internal/computus.ts +25 -0
  29. package/src/calendars/internal/date-utils.ts +13 -0
  30. package/src/calendars/internal/mondayisation.ts +46 -0
  31. package/src/calendars/internal/month-rules.ts +65 -0
  32. package/src/calendars/matariki-table.ts +63 -0
  33. package/src/calendars/nz-holidays.ts +214 -0
  34. package/src/editing/command-history.ts +78 -0
  35. package/src/editing/commands.ts +327 -0
  36. package/src/editing/composite-command.ts +64 -0
  37. package/src/editing/draft-project.ts +59 -0
  38. package/src/editing/errors.ts +14 -0
  39. package/src/editing/factories.ts +92 -0
  40. package/src/editing/use-editable-project.ts +122 -0
  41. package/src/export/index.ts +12 -0
  42. package/src/export/offscreen.tsx +89 -0
  43. package/src/export/pdf-dimensions.ts +64 -0
  44. package/src/export/pdf.ts +68 -0
  45. package/src/export/png.ts +48 -0
  46. package/src/export/types.ts +42 -0
  47. package/src/export/xlsx.ts +70 -0
  48. package/src/index.ts +89 -0
  49. package/src/mspdi/parse.ts +820 -0
  50. package/src/mspdi/serialize.ts +352 -0
  51. package/src/mspdi/types.ts +53 -0
  52. package/src/schedule.ts +470 -0
  53. package/src/topological-sort.ts +51 -0
  54. package/src/types.ts +254 -0
  55. package/src/visibility.ts +35 -0
  56. package/src/working-time.ts +235 -0
package/src/index.ts ADDED
@@ -0,0 +1,89 @@
1
+ // Public API.
2
+ //
3
+ // The `Gantt` component consumes a Project, runs the scheduling engine,
4
+ // and renders through SVAR's free-tier React component per ADR-002.
5
+ // Replace usages of the previous placeholder export at your earliest
6
+ // convenience — it's still here only because the spike story references it.
7
+
8
+ export type { ProjectStats } from './analysis.js';
9
+ export { getCriticalPath, getProjectStats } from './analysis.js';
10
+ export type { TaskBaselineVariance } from './baseline.js';
11
+ export {
12
+ captureBaseline,
13
+ getTaskBaselineVariance,
14
+ getTaskBaselineVarianceAll,
15
+ } from './baseline.js';
16
+ // NZ public holidays + default calendar (v0.3)
17
+ export type { NZDefaultCalendarOptions, NZRegion } from './calendars/nz-holidays.js';
18
+ export { nzDefaultCalendar, nzPublicHolidays } from './calendars/nz-holidays.js';
19
+ // Editing model (v0.4 — ADR-006)
20
+ export type { EditCommand } from './editing/commands.js';
21
+ export { EditError } from './editing/errors.js';
22
+ export {
23
+ createTask,
24
+ deleteLink,
25
+ deleteTask,
26
+ linkTasks,
27
+ renameTask,
28
+ setTaskDuration,
29
+ setTaskProgress,
30
+ setTaskStart,
31
+ updateLink,
32
+ updateTask,
33
+ } from './editing/factories.js';
34
+ export type { EditableProject } from './editing/use-editable-project.js';
35
+ export { useEditableProject } from './editing/use-editable-project.js';
36
+ export type {
37
+ GanttHandle,
38
+ PdfExportOptions,
39
+ PngExportOptions,
40
+ XlsxColumn,
41
+ XlsxExportOptions,
42
+ } from './export/types.js';
43
+ export type { GanttColumn, GanttMarker, GanttProps } from './Gantt.js';
44
+ // Public component
45
+ export { Gantt } from './Gantt.js';
46
+ export { parseMspdi } from './mspdi/parse.js';
47
+ export { serializeMspdi } from './mspdi/serialize.js';
48
+ // MSPDI XML interop (v0.2 — Tasks + Links + Calendars + Resources + Assignments + Baselines all shipped)
49
+ export type { DroppedField, MspdiParseResult, MspdiSerializeOptions } from './mspdi/types.js';
50
+ // ADR-002 confirmation spike — kept until the spike story is retired
51
+ export { SpikeGantt } from './SpikeGantt.js';
52
+ // Scheduling engine
53
+ export { schedule } from './schedule.js';
54
+ export { topologicalSort } from './topological-sort.js';
55
+ // Data model
56
+ export type {
57
+ Assignment,
58
+ AssignmentId,
59
+ Baseline,
60
+ BaselineIndex,
61
+ BaselineTaskSnapshot,
62
+ Calendar,
63
+ CalendarException,
64
+ CalendarId,
65
+ Constraint,
66
+ ConstraintType,
67
+ DayOfWeek,
68
+ DependencyType,
69
+ Link,
70
+ LinkId,
71
+ Project,
72
+ Resource,
73
+ ResourceId,
74
+ ScheduleMode,
75
+ Task,
76
+ TaskComputed,
77
+ TaskId,
78
+ TaskType,
79
+ WorkInterval,
80
+ } from './types.js';
81
+ export {
82
+ addWorkingMinutes,
83
+ getDayWorkingMinutes,
84
+ isWorkingDay,
85
+ snapToNextWorkingMoment,
86
+ snapToPreviousWorkingMoment,
87
+ subtractWorkingMinutes,
88
+ workingMinutesBetween,
89
+ } from './working-time.js';