gantt-lib 0.135.8 → 0.136.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.
- package/README.md +22 -0
- package/dist/core/scheduling/index.d.mts +1 -1
- package/dist/core/scheduling/index.d.ts +1 -1
- package/dist/{index-DR8Q6-de.d.mts → index-D99kbU4p.d.mts} +5 -0
- package/dist/{index-DR8Q6-de.d.ts → index-D99kbU4p.d.ts} +5 -0
- package/dist/index.css.map +1 -1
- package/dist/index.d.mts +20 -3
- package/dist/index.d.ts +20 -3
- package/dist/index.js +480 -155
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +674 -351
- package/dist/index.mjs.map +1 -1
- package/dist/styles.css +248 -24
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -93,6 +93,28 @@ export default function App() {
|
|
|
93
93
|
}
|
|
94
94
|
```
|
|
95
95
|
|
|
96
|
+
## Composite Tasks (Gantt Accordion)
|
|
97
|
+
|
|
98
|
+
Set `composite: true` on a task and link its detail rows with `parentId`. The
|
|
99
|
+
composite bar spans the dates of its children. Hovering the bar previews their
|
|
100
|
+
mini-bars; clicking the bar or the dedicated disclosure button in the task list
|
|
101
|
+
expands compact detail rows in both the table and Gantt chart. Clicking the task
|
|
102
|
+
name keeps its normal select/scroll behavior. Preview mini-bars and subtle
|
|
103
|
+
detail-row fills use the composite task color, and row hover stays synchronized
|
|
104
|
+
between the table and chart. Dragging the composite task moves the group;
|
|
105
|
+
dragging a child edits that child schedule.
|
|
106
|
+
|
|
107
|
+
```tsx
|
|
108
|
+
const tasks: Task[] = [
|
|
109
|
+
{ id: "flooring", name: "Flooring", composite: true, color: "#0f9caf", startDate: "2026-10-01", endDate: "2026-10-10" },
|
|
110
|
+
{ id: "floor-1", parentId: "flooring", name: "Floor 1", startDate: "2026-10-01", endDate: "2026-10-03" },
|
|
111
|
+
{ id: "floor-2", parentId: "flooring", name: "Floor 2", startDate: "2026-10-05", endDate: "2026-10-10" },
|
|
112
|
+
];
|
|
113
|
+
```
|
|
114
|
+
|
|
115
|
+
When using controlled `collapsedParentIds`, provide `onToggleCollapse` to update
|
|
116
|
+
the collapsed parent IDs in application state.
|
|
117
|
+
|
|
96
118
|
## Resource Planner Mode
|
|
97
119
|
|
|
98
120
|
Use `mode="resource-planner"` when the primary rows are people, equipment, rooms, or other resources instead of tasks. Omitted `mode` still renders the default task Gantt chart.
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export { ai as CascadeContext, C as CriticalPathOptions, D as DAY_MS, f as DependencyError, L as LinkType, n as ScaleTaskSubtreeAnchor, o as ScaleTaskSubtreeErrorCode, p as ScaleTaskSubtreeExternalPolicy, q as ScaleTaskSubtreeOptions, S as ScaleTaskSubtreeResult, r as ScaleTaskSubtreeWarning, aj as ScheduleCommandOptions, ak as ScheduleCommandResult, al as ScheduleDependency, am as ScheduleTask, an as ScheduleTaskUpdate, T as Task, ao as TaskDependency, V as ValidationResult, ap as addBusinessDays, t as alignToWorkingDay, u as areTasksHierarchicallyRelated, v as buildAdjacencyList, w as buildTaskRangeFromEnd, x as buildTaskRangeFromStart, y as calculateSuccessorDate, z as cascadeByLinks, aq as cascadeTaskProgress, A as clampTaskRangeForIncomingFS, E as computeCriticalPath, F as computeLagFromDates, H as computeParentDates, I as computeParentProgress, ar as createCascadeContext, J as detectCycles, K as extendCriticalIdsToParents, N as findParentId, O as getAllDependencyEdges, P as getAllDescendants, Q as getBusinessDayOffset, as as getBusinessDaysCount, U as getChildren, X as getDependencyLag, Y as getSuccessorChain, Z as getTaskDuration, _ as getTransitiveCascadeChain, $ as isAncestorTask, a0 as isTaskParent, a1 as moveTaskRange, a2 as moveTaskWithCascade, a3 as normalizeDependencyLag, a4 as normalizePredecessorDates, a5 as normalizeTaskDependencyLags, a6 as normalizeUTCDate, a7 as parseDateOnly, a8 as recalculateIncomingLags, a9 as recalculateProjectSchedule, aa as recalculateTaskFromDependencies, ab as reflowTasksOnModeSwitch, ac as removeDependenciesBetweenTasks, ad as resizeTaskWithCascade, ae as scaleTaskSubtreeDuration, af as shiftBusinessDayOffset, at as subtractBusinessDays, ag as universalCascade, ah as validateDependencies } from '../../index-
|
|
1
|
+
export { ai as CascadeContext, C as CriticalPathOptions, D as DAY_MS, f as DependencyError, L as LinkType, n as ScaleTaskSubtreeAnchor, o as ScaleTaskSubtreeErrorCode, p as ScaleTaskSubtreeExternalPolicy, q as ScaleTaskSubtreeOptions, S as ScaleTaskSubtreeResult, r as ScaleTaskSubtreeWarning, aj as ScheduleCommandOptions, ak as ScheduleCommandResult, al as ScheduleDependency, am as ScheduleTask, an as ScheduleTaskUpdate, T as Task, ao as TaskDependency, V as ValidationResult, ap as addBusinessDays, t as alignToWorkingDay, u as areTasksHierarchicallyRelated, v as buildAdjacencyList, w as buildTaskRangeFromEnd, x as buildTaskRangeFromStart, y as calculateSuccessorDate, z as cascadeByLinks, aq as cascadeTaskProgress, A as clampTaskRangeForIncomingFS, E as computeCriticalPath, F as computeLagFromDates, H as computeParentDates, I as computeParentProgress, ar as createCascadeContext, J as detectCycles, K as extendCriticalIdsToParents, N as findParentId, O as getAllDependencyEdges, P as getAllDescendants, Q as getBusinessDayOffset, as as getBusinessDaysCount, U as getChildren, X as getDependencyLag, Y as getSuccessorChain, Z as getTaskDuration, _ as getTransitiveCascadeChain, $ as isAncestorTask, a0 as isTaskParent, a1 as moveTaskRange, a2 as moveTaskWithCascade, a3 as normalizeDependencyLag, a4 as normalizePredecessorDates, a5 as normalizeTaskDependencyLags, a6 as normalizeUTCDate, a7 as parseDateOnly, a8 as recalculateIncomingLags, a9 as recalculateProjectSchedule, aa as recalculateTaskFromDependencies, ab as reflowTasksOnModeSwitch, ac as removeDependenciesBetweenTasks, ad as resizeTaskWithCascade, ae as scaleTaskSubtreeDuration, af as shiftBusinessDayOffset, at as subtractBusinessDays, ag as universalCascade, ah as validateDependencies } from '../../index-D99kbU4p.mjs';
|
|
2
2
|
import 'react';
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export { ai as CascadeContext, C as CriticalPathOptions, D as DAY_MS, f as DependencyError, L as LinkType, n as ScaleTaskSubtreeAnchor, o as ScaleTaskSubtreeErrorCode, p as ScaleTaskSubtreeExternalPolicy, q as ScaleTaskSubtreeOptions, S as ScaleTaskSubtreeResult, r as ScaleTaskSubtreeWarning, aj as ScheduleCommandOptions, ak as ScheduleCommandResult, al as ScheduleDependency, am as ScheduleTask, an as ScheduleTaskUpdate, T as Task, ao as TaskDependency, V as ValidationResult, ap as addBusinessDays, t as alignToWorkingDay, u as areTasksHierarchicallyRelated, v as buildAdjacencyList, w as buildTaskRangeFromEnd, x as buildTaskRangeFromStart, y as calculateSuccessorDate, z as cascadeByLinks, aq as cascadeTaskProgress, A as clampTaskRangeForIncomingFS, E as computeCriticalPath, F as computeLagFromDates, H as computeParentDates, I as computeParentProgress, ar as createCascadeContext, J as detectCycles, K as extendCriticalIdsToParents, N as findParentId, O as getAllDependencyEdges, P as getAllDescendants, Q as getBusinessDayOffset, as as getBusinessDaysCount, U as getChildren, X as getDependencyLag, Y as getSuccessorChain, Z as getTaskDuration, _ as getTransitiveCascadeChain, $ as isAncestorTask, a0 as isTaskParent, a1 as moveTaskRange, a2 as moveTaskWithCascade, a3 as normalizeDependencyLag, a4 as normalizePredecessorDates, a5 as normalizeTaskDependencyLags, a6 as normalizeUTCDate, a7 as parseDateOnly, a8 as recalculateIncomingLags, a9 as recalculateProjectSchedule, aa as recalculateTaskFromDependencies, ab as reflowTasksOnModeSwitch, ac as removeDependenciesBetweenTasks, ad as resizeTaskWithCascade, ae as scaleTaskSubtreeDuration, af as shiftBusinessDayOffset, at as subtractBusinessDays, ag as universalCascade, ah as validateDependencies } from '../../index-
|
|
1
|
+
export { ai as CascadeContext, C as CriticalPathOptions, D as DAY_MS, f as DependencyError, L as LinkType, n as ScaleTaskSubtreeAnchor, o as ScaleTaskSubtreeErrorCode, p as ScaleTaskSubtreeExternalPolicy, q as ScaleTaskSubtreeOptions, S as ScaleTaskSubtreeResult, r as ScaleTaskSubtreeWarning, aj as ScheduleCommandOptions, ak as ScheduleCommandResult, al as ScheduleDependency, am as ScheduleTask, an as ScheduleTaskUpdate, T as Task, ao as TaskDependency, V as ValidationResult, ap as addBusinessDays, t as alignToWorkingDay, u as areTasksHierarchicallyRelated, v as buildAdjacencyList, w as buildTaskRangeFromEnd, x as buildTaskRangeFromStart, y as calculateSuccessorDate, z as cascadeByLinks, aq as cascadeTaskProgress, A as clampTaskRangeForIncomingFS, E as computeCriticalPath, F as computeLagFromDates, H as computeParentDates, I as computeParentProgress, ar as createCascadeContext, J as detectCycles, K as extendCriticalIdsToParents, N as findParentId, O as getAllDependencyEdges, P as getAllDescendants, Q as getBusinessDayOffset, as as getBusinessDaysCount, U as getChildren, X as getDependencyLag, Y as getSuccessorChain, Z as getTaskDuration, _ as getTransitiveCascadeChain, $ as isAncestorTask, a0 as isTaskParent, a1 as moveTaskRange, a2 as moveTaskWithCascade, a3 as normalizeDependencyLag, a4 as normalizePredecessorDates, a5 as normalizeTaskDependencyLags, a6 as normalizeUTCDate, a7 as parseDateOnly, a8 as recalculateIncomingLags, a9 as recalculateProjectSchedule, aa as recalculateTaskFromDependencies, ab as reflowTasksOnModeSwitch, ac as removeDependenciesBetweenTasks, ad as resizeTaskWithCascade, ae as scaleTaskSubtreeDuration, af as shiftBusinessDayOffset, at as subtractBusinessDays, ag as universalCascade, ah as validateDependencies } from '../../index-D99kbU4p.js';
|
|
2
2
|
import 'react';
|
|
@@ -4,11 +4,13 @@ type GanttScheduleIntent = {
|
|
|
4
4
|
type: 'move_task';
|
|
5
5
|
taskId: string;
|
|
6
6
|
startDate: string;
|
|
7
|
+
localOverride?: boolean;
|
|
7
8
|
} | {
|
|
8
9
|
type: 'resize_task';
|
|
9
10
|
taskId: string;
|
|
10
11
|
anchor: 'start' | 'end';
|
|
11
12
|
date: string;
|
|
13
|
+
localOverride?: boolean;
|
|
12
14
|
} | {
|
|
13
15
|
type: 'change_duration';
|
|
14
16
|
taskId: string;
|
|
@@ -16,6 +18,7 @@ type GanttScheduleIntent = {
|
|
|
16
18
|
anchor: 'start' | 'end';
|
|
17
19
|
/** Explicit target type for milestone <-> task transitions from the duration editor. */
|
|
18
20
|
taskType?: 'task' | 'milestone';
|
|
21
|
+
localOverride?: boolean;
|
|
19
22
|
};
|
|
20
23
|
type GanttChartMode = 'gantt' | 'table-matrix' | 'plan-fact' | 'resource-planner';
|
|
21
24
|
type TaskDateChangeMode = 'preserve-duration' | 'free';
|
|
@@ -181,6 +184,8 @@ interface Task {
|
|
|
181
184
|
type?: 'task' | 'milestone';
|
|
182
185
|
/** Optional parent task ID for hierarchy relationship */
|
|
183
186
|
parentId?: string;
|
|
187
|
+
/** Show this parent as a compact composite bar, collapsed until opened. */
|
|
188
|
+
composite?: boolean;
|
|
184
189
|
/**
|
|
185
190
|
* Optional progress value from 0-100
|
|
186
191
|
* - Decimal values are allowed and rounded to nearest integer for display
|
|
@@ -4,11 +4,13 @@ type GanttScheduleIntent = {
|
|
|
4
4
|
type: 'move_task';
|
|
5
5
|
taskId: string;
|
|
6
6
|
startDate: string;
|
|
7
|
+
localOverride?: boolean;
|
|
7
8
|
} | {
|
|
8
9
|
type: 'resize_task';
|
|
9
10
|
taskId: string;
|
|
10
11
|
anchor: 'start' | 'end';
|
|
11
12
|
date: string;
|
|
13
|
+
localOverride?: boolean;
|
|
12
14
|
} | {
|
|
13
15
|
type: 'change_duration';
|
|
14
16
|
taskId: string;
|
|
@@ -16,6 +18,7 @@ type GanttScheduleIntent = {
|
|
|
16
18
|
anchor: 'start' | 'end';
|
|
17
19
|
/** Explicit target type for milestone <-> task transitions from the duration editor. */
|
|
18
20
|
taskType?: 'task' | 'milestone';
|
|
21
|
+
localOverride?: boolean;
|
|
19
22
|
};
|
|
20
23
|
type GanttChartMode = 'gantt' | 'table-matrix' | 'plan-fact' | 'resource-planner';
|
|
21
24
|
type TaskDateChangeMode = 'preserve-duration' | 'free';
|
|
@@ -181,6 +184,8 @@ interface Task {
|
|
|
181
184
|
type?: 'task' | 'milestone';
|
|
182
185
|
/** Optional parent task ID for hierarchy relationship */
|
|
183
186
|
parentId?: string;
|
|
187
|
+
/** Show this parent as a compact composite bar, collapsed until opened. */
|
|
188
|
+
composite?: boolean;
|
|
184
189
|
/**
|
|
185
190
|
* Optional progress value from 0-100
|
|
186
191
|
* - Decimal values are allowed and rounded to nearest integer for display
|