@libxai/board 1.5.15 → 1.5.17
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/dist/index.cjs +56 -56
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +32 -3
- package/dist/index.d.ts +32 -3
- package/dist/index.js +56 -56
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/dist/index.d.cts
CHANGED
|
@@ -38,6 +38,15 @@ interface Task {
|
|
|
38
38
|
isExpanded?: boolean;
|
|
39
39
|
isMilestone?: boolean;
|
|
40
40
|
isCriticalPath?: boolean;
|
|
41
|
+
cpmData?: {
|
|
42
|
+
earlyStart: number;
|
|
43
|
+
earlyFinish: number;
|
|
44
|
+
lateStart: number;
|
|
45
|
+
lateFinish: number;
|
|
46
|
+
totalFloat: number;
|
|
47
|
+
freeFloat: number;
|
|
48
|
+
isCritical: boolean;
|
|
49
|
+
};
|
|
41
50
|
color?: string;
|
|
42
51
|
priority?: 'low' | 'medium' | 'high' | 'urgent';
|
|
43
52
|
tags?: TaskTag[];
|
|
@@ -63,6 +72,7 @@ interface Task {
|
|
|
63
72
|
baselineStartDate?: Date;
|
|
64
73
|
baselineEndDate?: Date;
|
|
65
74
|
baselineProgress?: number;
|
|
75
|
+
isHighlighted?: boolean;
|
|
66
76
|
}
|
|
67
77
|
type TimeScale = 'day' | 'week' | 'month';
|
|
68
78
|
type Theme$1 = 'dark' | 'light' | 'neutral';
|
|
@@ -2752,12 +2762,13 @@ interface GanttToolbarProps {
|
|
|
2752
2762
|
showBaseline?: boolean;
|
|
2753
2763
|
onShowBaselineChange?: (show: boolean) => void;
|
|
2754
2764
|
onCopySnapshotLink?: () => void;
|
|
2765
|
+
hasDependencies?: boolean;
|
|
2755
2766
|
}
|
|
2756
2767
|
declare function GanttToolbar({ theme, timeScale, onTimeScaleChange, zoom, onZoomChange, currentTheme, onThemeChange, rowDensity, onRowDensityChange, showThemeSelector, // v0.17.29: Default to false - themes should be in app settings
|
|
2757
2768
|
showCreateTaskButton, createTaskLabel, // v0.15.0: Will use translations if not provided
|
|
2758
2769
|
onCreateTask, taskFilter, // v0.17.300: Task filter
|
|
2759
2770
|
onTaskFilterChange, hideCompleted, // v0.18.0: Hide completed toggle
|
|
2760
|
-
onHideCompletedChange, toolbarRightContent, wbsLevel, onWbsLevelChange, maxWbsDepth, viewMode, onViewModeChange, projectForecast, onExportPNG, onExportPDF, onExportExcel, onExportCSV, onExportJSON, onExportMSProject, showCriticalPath, onShowCriticalPathChange, showDependencies, onShowDependenciesChange, highlightWeekends, onHighlightWeekendsChange, showBaseline, onShowBaselineChange, onCopySnapshotLink, }: GanttToolbarProps): react_jsx_runtime.JSX.Element;
|
|
2771
|
+
onHideCompletedChange, toolbarRightContent, wbsLevel, onWbsLevelChange, maxWbsDepth, viewMode, onViewModeChange, projectForecast, onExportPNG, onExportPDF, onExportExcel, onExportCSV, onExportJSON, onExportMSProject, showCriticalPath, onShowCriticalPathChange, showDependencies, onShowDependenciesChange, highlightWeekends, onHighlightWeekendsChange, showBaseline, onShowBaselineChange, onCopySnapshotLink, hasDependencies, }: GanttToolbarProps): react_jsx_runtime.JSX.Element;
|
|
2761
2772
|
|
|
2762
2773
|
interface TaskGridProps {
|
|
2763
2774
|
tasks: Task[];
|
|
@@ -2791,13 +2802,15 @@ interface TaskGridProps {
|
|
|
2791
2802
|
onDeleteRequest?: (taskId: string, taskName: string) => void;
|
|
2792
2803
|
onTaskReparent?: (taskId: string, newParentId: string | null, position?: number) => void;
|
|
2793
2804
|
scrollContainerRef?: React.RefObject<HTMLElement>;
|
|
2805
|
+
showCriticalPath?: boolean;
|
|
2794
2806
|
}
|
|
2795
2807
|
declare function TaskGrid({ tasks, theme, rowHeight: ROW_HEIGHT, availableUsers, templates: _templates, // TODO: Use templates for custom rendering
|
|
2796
2808
|
onTaskClick, onTaskDblClick, // v0.8.0
|
|
2797
2809
|
onTaskContextMenu, // v0.8.0
|
|
2798
2810
|
onTaskToggle, scrollTop: _scrollTop, columns, onToggleColumn, onColumnResize, onTaskUpdate, onTaskIndent, onTaskOutdent, onTaskMove, onMultiTaskDelete, onTaskDuplicate, onTaskCreate, onTaskRename, onCreateSubtask, onOpenTaskModal, onDeleteRequest, // v0.17.34
|
|
2799
2811
|
onTaskReparent, // v0.17.68
|
|
2800
|
-
scrollContainerRef,
|
|
2812
|
+
scrollContainerRef, // v0.18.15
|
|
2813
|
+
showCriticalPath, }: TaskGridProps): react_jsx_runtime.JSX.Element;
|
|
2801
2814
|
|
|
2802
2815
|
interface TimelineProps {
|
|
2803
2816
|
tasks: Task[];
|
|
@@ -2889,6 +2902,9 @@ interface DependencyLineProps {
|
|
|
2889
2902
|
isHoverLayer?: boolean;
|
|
2890
2903
|
onHoverChange?: (isHovered: boolean) => void;
|
|
2891
2904
|
hoverOverlayOnly?: boolean;
|
|
2905
|
+
colorOverride?: string;
|
|
2906
|
+
strokeWidthOverride?: number;
|
|
2907
|
+
glowFilter?: string;
|
|
2892
2908
|
}
|
|
2893
2909
|
/**
|
|
2894
2910
|
* v0.17.364: TRUE ClickUp-style dependency line routing
|
|
@@ -2908,7 +2924,7 @@ interface DependencyLineProps {
|
|
|
2908
2924
|
* The vertical segment must still be LEFT of destination: turnX = x2 - OFFSET
|
|
2909
2925
|
* Path: right → horizontal past source → down/up → LEFT back to destination
|
|
2910
2926
|
*/
|
|
2911
|
-
declare function DependencyLine({ x1, y1, x2, y2, theme, onDelete, lineStyle, isHoverLayer, onHoverChange, hoverOverlayOnly, }: DependencyLineProps): react_jsx_runtime.JSX.Element;
|
|
2927
|
+
declare function DependencyLine({ x1, y1, x2, y2, theme, onDelete, lineStyle, isHoverLayer, onHoverChange, hoverOverlayOnly, colorOverride, strokeWidthOverride, glowFilter, }: DependencyLineProps): react_jsx_runtime.JSX.Element;
|
|
2912
2928
|
|
|
2913
2929
|
interface MilestoneProps {
|
|
2914
2930
|
task: Task;
|
|
@@ -3348,6 +3364,19 @@ declare const ganttUtils: {
|
|
|
3348
3364
|
* @returns Array of task IDs on the critical path
|
|
3349
3365
|
*/
|
|
3350
3366
|
calculateCriticalPath: (tasks: Task[]) => string[];
|
|
3367
|
+
/**
|
|
3368
|
+
* v5.1.0: Full CPM calculation — returns ES/EF/LS/LF/TF/FF per task
|
|
3369
|
+
* Used by GanttBoard to enrich tasks with cpmData for visual rendering
|
|
3370
|
+
*/
|
|
3371
|
+
calculateCriticalPathFull: (tasks: Task[]) => Map<string, {
|
|
3372
|
+
earlyStart: number;
|
|
3373
|
+
earlyFinish: number;
|
|
3374
|
+
lateStart: number;
|
|
3375
|
+
lateFinish: number;
|
|
3376
|
+
totalFloat: number;
|
|
3377
|
+
freeFloat: number;
|
|
3378
|
+
isCritical: boolean;
|
|
3379
|
+
}>;
|
|
3351
3380
|
/**
|
|
3352
3381
|
* Calculate slack (float) time for a task
|
|
3353
3382
|
* @param tasks - All tasks
|
package/dist/index.d.ts
CHANGED
|
@@ -38,6 +38,15 @@ interface Task {
|
|
|
38
38
|
isExpanded?: boolean;
|
|
39
39
|
isMilestone?: boolean;
|
|
40
40
|
isCriticalPath?: boolean;
|
|
41
|
+
cpmData?: {
|
|
42
|
+
earlyStart: number;
|
|
43
|
+
earlyFinish: number;
|
|
44
|
+
lateStart: number;
|
|
45
|
+
lateFinish: number;
|
|
46
|
+
totalFloat: number;
|
|
47
|
+
freeFloat: number;
|
|
48
|
+
isCritical: boolean;
|
|
49
|
+
};
|
|
41
50
|
color?: string;
|
|
42
51
|
priority?: 'low' | 'medium' | 'high' | 'urgent';
|
|
43
52
|
tags?: TaskTag[];
|
|
@@ -63,6 +72,7 @@ interface Task {
|
|
|
63
72
|
baselineStartDate?: Date;
|
|
64
73
|
baselineEndDate?: Date;
|
|
65
74
|
baselineProgress?: number;
|
|
75
|
+
isHighlighted?: boolean;
|
|
66
76
|
}
|
|
67
77
|
type TimeScale = 'day' | 'week' | 'month';
|
|
68
78
|
type Theme$1 = 'dark' | 'light' | 'neutral';
|
|
@@ -2752,12 +2762,13 @@ interface GanttToolbarProps {
|
|
|
2752
2762
|
showBaseline?: boolean;
|
|
2753
2763
|
onShowBaselineChange?: (show: boolean) => void;
|
|
2754
2764
|
onCopySnapshotLink?: () => void;
|
|
2765
|
+
hasDependencies?: boolean;
|
|
2755
2766
|
}
|
|
2756
2767
|
declare function GanttToolbar({ theme, timeScale, onTimeScaleChange, zoom, onZoomChange, currentTheme, onThemeChange, rowDensity, onRowDensityChange, showThemeSelector, // v0.17.29: Default to false - themes should be in app settings
|
|
2757
2768
|
showCreateTaskButton, createTaskLabel, // v0.15.0: Will use translations if not provided
|
|
2758
2769
|
onCreateTask, taskFilter, // v0.17.300: Task filter
|
|
2759
2770
|
onTaskFilterChange, hideCompleted, // v0.18.0: Hide completed toggle
|
|
2760
|
-
onHideCompletedChange, toolbarRightContent, wbsLevel, onWbsLevelChange, maxWbsDepth, viewMode, onViewModeChange, projectForecast, onExportPNG, onExportPDF, onExportExcel, onExportCSV, onExportJSON, onExportMSProject, showCriticalPath, onShowCriticalPathChange, showDependencies, onShowDependenciesChange, highlightWeekends, onHighlightWeekendsChange, showBaseline, onShowBaselineChange, onCopySnapshotLink, }: GanttToolbarProps): react_jsx_runtime.JSX.Element;
|
|
2771
|
+
onHideCompletedChange, toolbarRightContent, wbsLevel, onWbsLevelChange, maxWbsDepth, viewMode, onViewModeChange, projectForecast, onExportPNG, onExportPDF, onExportExcel, onExportCSV, onExportJSON, onExportMSProject, showCriticalPath, onShowCriticalPathChange, showDependencies, onShowDependenciesChange, highlightWeekends, onHighlightWeekendsChange, showBaseline, onShowBaselineChange, onCopySnapshotLink, hasDependencies, }: GanttToolbarProps): react_jsx_runtime.JSX.Element;
|
|
2761
2772
|
|
|
2762
2773
|
interface TaskGridProps {
|
|
2763
2774
|
tasks: Task[];
|
|
@@ -2791,13 +2802,15 @@ interface TaskGridProps {
|
|
|
2791
2802
|
onDeleteRequest?: (taskId: string, taskName: string) => void;
|
|
2792
2803
|
onTaskReparent?: (taskId: string, newParentId: string | null, position?: number) => void;
|
|
2793
2804
|
scrollContainerRef?: React.RefObject<HTMLElement>;
|
|
2805
|
+
showCriticalPath?: boolean;
|
|
2794
2806
|
}
|
|
2795
2807
|
declare function TaskGrid({ tasks, theme, rowHeight: ROW_HEIGHT, availableUsers, templates: _templates, // TODO: Use templates for custom rendering
|
|
2796
2808
|
onTaskClick, onTaskDblClick, // v0.8.0
|
|
2797
2809
|
onTaskContextMenu, // v0.8.0
|
|
2798
2810
|
onTaskToggle, scrollTop: _scrollTop, columns, onToggleColumn, onColumnResize, onTaskUpdate, onTaskIndent, onTaskOutdent, onTaskMove, onMultiTaskDelete, onTaskDuplicate, onTaskCreate, onTaskRename, onCreateSubtask, onOpenTaskModal, onDeleteRequest, // v0.17.34
|
|
2799
2811
|
onTaskReparent, // v0.17.68
|
|
2800
|
-
scrollContainerRef,
|
|
2812
|
+
scrollContainerRef, // v0.18.15
|
|
2813
|
+
showCriticalPath, }: TaskGridProps): react_jsx_runtime.JSX.Element;
|
|
2801
2814
|
|
|
2802
2815
|
interface TimelineProps {
|
|
2803
2816
|
tasks: Task[];
|
|
@@ -2889,6 +2902,9 @@ interface DependencyLineProps {
|
|
|
2889
2902
|
isHoverLayer?: boolean;
|
|
2890
2903
|
onHoverChange?: (isHovered: boolean) => void;
|
|
2891
2904
|
hoverOverlayOnly?: boolean;
|
|
2905
|
+
colorOverride?: string;
|
|
2906
|
+
strokeWidthOverride?: number;
|
|
2907
|
+
glowFilter?: string;
|
|
2892
2908
|
}
|
|
2893
2909
|
/**
|
|
2894
2910
|
* v0.17.364: TRUE ClickUp-style dependency line routing
|
|
@@ -2908,7 +2924,7 @@ interface DependencyLineProps {
|
|
|
2908
2924
|
* The vertical segment must still be LEFT of destination: turnX = x2 - OFFSET
|
|
2909
2925
|
* Path: right → horizontal past source → down/up → LEFT back to destination
|
|
2910
2926
|
*/
|
|
2911
|
-
declare function DependencyLine({ x1, y1, x2, y2, theme, onDelete, lineStyle, isHoverLayer, onHoverChange, hoverOverlayOnly, }: DependencyLineProps): react_jsx_runtime.JSX.Element;
|
|
2927
|
+
declare function DependencyLine({ x1, y1, x2, y2, theme, onDelete, lineStyle, isHoverLayer, onHoverChange, hoverOverlayOnly, colorOverride, strokeWidthOverride, glowFilter, }: DependencyLineProps): react_jsx_runtime.JSX.Element;
|
|
2912
2928
|
|
|
2913
2929
|
interface MilestoneProps {
|
|
2914
2930
|
task: Task;
|
|
@@ -3348,6 +3364,19 @@ declare const ganttUtils: {
|
|
|
3348
3364
|
* @returns Array of task IDs on the critical path
|
|
3349
3365
|
*/
|
|
3350
3366
|
calculateCriticalPath: (tasks: Task[]) => string[];
|
|
3367
|
+
/**
|
|
3368
|
+
* v5.1.0: Full CPM calculation — returns ES/EF/LS/LF/TF/FF per task
|
|
3369
|
+
* Used by GanttBoard to enrich tasks with cpmData for visual rendering
|
|
3370
|
+
*/
|
|
3371
|
+
calculateCriticalPathFull: (tasks: Task[]) => Map<string, {
|
|
3372
|
+
earlyStart: number;
|
|
3373
|
+
earlyFinish: number;
|
|
3374
|
+
lateStart: number;
|
|
3375
|
+
lateFinish: number;
|
|
3376
|
+
totalFloat: number;
|
|
3377
|
+
freeFloat: number;
|
|
3378
|
+
isCritical: boolean;
|
|
3379
|
+
}>;
|
|
3351
3380
|
/**
|
|
3352
3381
|
* Calculate slack (float) time for a task
|
|
3353
3382
|
* @param tasks - All tasks
|