@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.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, }: TaskGridProps): react_jsx_runtime.JSX.Element;
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, }: TaskGridProps): react_jsx_runtime.JSX.Element;
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