@libxai/board 1.8.4 → 1.9.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/dist/index.d.cts CHANGED
@@ -378,10 +378,23 @@ interface ProjectForecast {
378
378
  budgetVariancePercent?: number | null;
379
379
  currency?: string;
380
380
  }
381
+ /**
382
+ * v4.3.0 — Workspace working-day configuration consumed by the tooltip
383
+ * Duration field (and any other piece that needs to count business days).
384
+ * Lets the consumer mirror its weekend toggles + holiday calendar.
385
+ */
386
+ interface GanttWorkingDaysConfig {
387
+ /** Which weekdays count as working days. 0=Sun, 1=Mon, ..., 6=Sat. Length 7. */
388
+ enabledWeekdays?: boolean[];
389
+ /** Holiday dates in 'YYYY-MM-DD' (workspace-local) to exclude. */
390
+ holidayDates?: Set<string> | string[];
391
+ }
381
392
  interface GanttConfig {
382
393
  theme?: Theme$1;
383
394
  timeScale?: TimeScale;
384
395
  rowDensity?: RowDensity;
396
+ /** v4.3.0: Defines which days count as working days for duration calculations. */
397
+ workingDaysConfig?: GanttWorkingDaysConfig;
385
398
  showThemeSelector?: boolean;
386
399
  showExportButton?: boolean;
387
400
  /**
@@ -468,6 +481,16 @@ interface GanttConfig {
468
481
  * @default false
469
482
  */
470
483
  persistFilter?: boolean | string;
484
+ /**
485
+ * Persist the visible-columns config (which data columns are shown + their
486
+ * widths) to localStorage, so it survives navigating away from the Gantt.
487
+ * When true, uses default key 'gantt-columns-state'.
488
+ * When string, uses the provided string as the localStorage key (use a
489
+ * per-project key like `gantt-columns:${projectId}`).
490
+ * When false/undefined, columns only persist during the current session.
491
+ * @default false
492
+ */
493
+ persistColumns?: boolean | string;
471
494
  /**
472
495
  * v1.4.10: Clear filters key - when this value changes, internal filters are reset
473
496
  * Useful for navigation scenarios where filters should be cleared (e.g., from notifications)
@@ -592,6 +615,10 @@ interface GanttConfig {
592
615
  onTaskRename?: (taskId: string, newName: string) => void;
593
616
  onTaskToggleExpand?: (taskId: string) => void;
594
617
  onTaskReparent?: (taskId: string, newParentId: string | null, position?: number) => void;
618
+ /** Drag-fill: a value (assignees / startDate / endDate) was applied to many
619
+ * tasks at once. `updatedTasks` is the full task tree after the change, so
620
+ * the consumer can persist the affected tasks directly. */
621
+ onBulkFill?: (taskIds: string[], column: 'assignees' | 'startDate' | 'endDate', value: any, updatedTasks: Task[]) => void;
595
622
  /** v2.5.0: Per-user hourly rate map for Excel export cost columns (userId → rate) */
596
623
  rateMap?: Record<string, number>;
597
624
  /** v2.5.0: Default hourly rate fallback when rateMap has no match for a user */
@@ -2846,6 +2873,7 @@ interface TaskGridProps {
2846
2873
  onToggleColumn: (columnType: ColumnType$1) => void;
2847
2874
  onColumnResize?: (columnId: ColumnType$1, newWidth: number) => void;
2848
2875
  onTaskUpdate?: (taskId: string, updates: Partial<Task>) => void;
2876
+ onBulkFill?: (taskIds: string[], column: 'assignees' | 'startDate' | 'endDate', value: any) => void;
2849
2877
  onTaskIndent?: (taskIds: string[]) => void;
2850
2878
  onTaskOutdent?: (taskIds: string[]) => void;
2851
2879
  onTaskMove?: (taskIds: string[], direction: 'up' | 'down') => void;
@@ -2863,11 +2891,23 @@ interface TaskGridProps {
2863
2891
  declare function TaskGrid({ tasks, theme, rowHeight: ROW_HEIGHT, availableUsers, templates: _templates, // TODO: Use templates for custom rendering
2864
2892
  onTaskClick, onTaskDblClick, // v0.8.0
2865
2893
  onTaskContextMenu, // v0.8.0
2866
- onTaskToggle, scrollTop: _scrollTop, columns, onToggleColumn, onColumnResize, onTaskUpdate, onTaskIndent, onTaskOutdent, onTaskMove, onMultiTaskDelete, onTaskDuplicate, onTaskCreate, onTaskRename, onCreateSubtask, onOpenTaskModal, onDeleteRequest, // v0.17.34
2894
+ onTaskToggle, scrollTop: _scrollTop, columns, onToggleColumn, onColumnResize, onTaskUpdate, onBulkFill, onTaskIndent, onTaskOutdent, onTaskMove, onMultiTaskDelete, onTaskDuplicate, onTaskCreate, onTaskRename, onCreateSubtask, onOpenTaskModal, onDeleteRequest, // v0.17.34
2867
2895
  onTaskReparent, // v0.17.68
2868
2896
  scrollContainerRef, // v0.18.15
2869
2897
  showCriticalPath, }: TaskGridProps): react_jsx_runtime.JSX.Element;
2870
2898
 
2899
+ /**
2900
+ * Optional working-days configuration so the tooltip Duration reflects the
2901
+ * workspace's actual working schedule (weekend toggles + holidays) instead
2902
+ * of raw calendar days. When omitted, falls back to calendar days.
2903
+ */
2904
+ interface WorkingDaysConfig {
2905
+ /** Which weekdays count as working days. 0=Sun, 1=Mon, ..., 6=Sat. */
2906
+ enabledWeekdays?: boolean[];
2907
+ /** Holiday dates in 'YYYY-MM-DD' (workspace-local) to exclude. */
2908
+ holidayDates?: Set<string> | string[];
2909
+ }
2910
+
2871
2911
  interface TimelineProps {
2872
2912
  tasks: Task[];
2873
2913
  theme: any;
@@ -2895,6 +2935,8 @@ interface TimelineProps {
2895
2935
  canEditTask?: (task: Task) => boolean;
2896
2936
  /** v4.2.0: Committed on pointerup after dragging the progress edge of a task bar. */
2897
2937
  onTaskProgressDrag?: (task: Task, newProgress: number) => void;
2938
+ /** v4.3.0: Workspace working-day config for the tooltip Duration field. */
2939
+ workingDaysConfig?: WorkingDaysConfig;
2898
2940
  }
2899
2941
  interface TaskPosition {
2900
2942
  id: string;
@@ -2907,7 +2949,7 @@ declare function Timeline({ tasks, theme, rowHeight: ROW_HEIGHT, timeScale, star
2907
2949
  templates, dependencyLineStyle, // v0.17.310
2908
2950
  showTaskBarLabels, onTaskClick, onTaskDblClick, // v0.8.0
2909
2951
  onTaskContextMenu, // v0.8.0
2910
- onTaskDateChange, onDependencyCreate, onDependencyDelete, showBaseline, showCriticalPath, showDependencies, highlightWeekends, canEditTask, onTaskProgressDrag, }: TimelineProps): react_jsx_runtime.JSX.Element;
2952
+ onTaskDateChange, onDependencyCreate, onDependencyDelete, showBaseline, showCriticalPath, showDependencies, highlightWeekends, canEditTask, onTaskProgressDrag, workingDaysConfig, }: TimelineProps): react_jsx_runtime.JSX.Element;
2911
2953
 
2912
2954
  interface TaskTooltipData {
2913
2955
  task: Task;
package/dist/index.d.ts CHANGED
@@ -378,10 +378,23 @@ interface ProjectForecast {
378
378
  budgetVariancePercent?: number | null;
379
379
  currency?: string;
380
380
  }
381
+ /**
382
+ * v4.3.0 — Workspace working-day configuration consumed by the tooltip
383
+ * Duration field (and any other piece that needs to count business days).
384
+ * Lets the consumer mirror its weekend toggles + holiday calendar.
385
+ */
386
+ interface GanttWorkingDaysConfig {
387
+ /** Which weekdays count as working days. 0=Sun, 1=Mon, ..., 6=Sat. Length 7. */
388
+ enabledWeekdays?: boolean[];
389
+ /** Holiday dates in 'YYYY-MM-DD' (workspace-local) to exclude. */
390
+ holidayDates?: Set<string> | string[];
391
+ }
381
392
  interface GanttConfig {
382
393
  theme?: Theme$1;
383
394
  timeScale?: TimeScale;
384
395
  rowDensity?: RowDensity;
396
+ /** v4.3.0: Defines which days count as working days for duration calculations. */
397
+ workingDaysConfig?: GanttWorkingDaysConfig;
385
398
  showThemeSelector?: boolean;
386
399
  showExportButton?: boolean;
387
400
  /**
@@ -468,6 +481,16 @@ interface GanttConfig {
468
481
  * @default false
469
482
  */
470
483
  persistFilter?: boolean | string;
484
+ /**
485
+ * Persist the visible-columns config (which data columns are shown + their
486
+ * widths) to localStorage, so it survives navigating away from the Gantt.
487
+ * When true, uses default key 'gantt-columns-state'.
488
+ * When string, uses the provided string as the localStorage key (use a
489
+ * per-project key like `gantt-columns:${projectId}`).
490
+ * When false/undefined, columns only persist during the current session.
491
+ * @default false
492
+ */
493
+ persistColumns?: boolean | string;
471
494
  /**
472
495
  * v1.4.10: Clear filters key - when this value changes, internal filters are reset
473
496
  * Useful for navigation scenarios where filters should be cleared (e.g., from notifications)
@@ -592,6 +615,10 @@ interface GanttConfig {
592
615
  onTaskRename?: (taskId: string, newName: string) => void;
593
616
  onTaskToggleExpand?: (taskId: string) => void;
594
617
  onTaskReparent?: (taskId: string, newParentId: string | null, position?: number) => void;
618
+ /** Drag-fill: a value (assignees / startDate / endDate) was applied to many
619
+ * tasks at once. `updatedTasks` is the full task tree after the change, so
620
+ * the consumer can persist the affected tasks directly. */
621
+ onBulkFill?: (taskIds: string[], column: 'assignees' | 'startDate' | 'endDate', value: any, updatedTasks: Task[]) => void;
595
622
  /** v2.5.0: Per-user hourly rate map for Excel export cost columns (userId → rate) */
596
623
  rateMap?: Record<string, number>;
597
624
  /** v2.5.0: Default hourly rate fallback when rateMap has no match for a user */
@@ -2846,6 +2873,7 @@ interface TaskGridProps {
2846
2873
  onToggleColumn: (columnType: ColumnType$1) => void;
2847
2874
  onColumnResize?: (columnId: ColumnType$1, newWidth: number) => void;
2848
2875
  onTaskUpdate?: (taskId: string, updates: Partial<Task>) => void;
2876
+ onBulkFill?: (taskIds: string[], column: 'assignees' | 'startDate' | 'endDate', value: any) => void;
2849
2877
  onTaskIndent?: (taskIds: string[]) => void;
2850
2878
  onTaskOutdent?: (taskIds: string[]) => void;
2851
2879
  onTaskMove?: (taskIds: string[], direction: 'up' | 'down') => void;
@@ -2863,11 +2891,23 @@ interface TaskGridProps {
2863
2891
  declare function TaskGrid({ tasks, theme, rowHeight: ROW_HEIGHT, availableUsers, templates: _templates, // TODO: Use templates for custom rendering
2864
2892
  onTaskClick, onTaskDblClick, // v0.8.0
2865
2893
  onTaskContextMenu, // v0.8.0
2866
- onTaskToggle, scrollTop: _scrollTop, columns, onToggleColumn, onColumnResize, onTaskUpdate, onTaskIndent, onTaskOutdent, onTaskMove, onMultiTaskDelete, onTaskDuplicate, onTaskCreate, onTaskRename, onCreateSubtask, onOpenTaskModal, onDeleteRequest, // v0.17.34
2894
+ onTaskToggle, scrollTop: _scrollTop, columns, onToggleColumn, onColumnResize, onTaskUpdate, onBulkFill, onTaskIndent, onTaskOutdent, onTaskMove, onMultiTaskDelete, onTaskDuplicate, onTaskCreate, onTaskRename, onCreateSubtask, onOpenTaskModal, onDeleteRequest, // v0.17.34
2867
2895
  onTaskReparent, // v0.17.68
2868
2896
  scrollContainerRef, // v0.18.15
2869
2897
  showCriticalPath, }: TaskGridProps): react_jsx_runtime.JSX.Element;
2870
2898
 
2899
+ /**
2900
+ * Optional working-days configuration so the tooltip Duration reflects the
2901
+ * workspace's actual working schedule (weekend toggles + holidays) instead
2902
+ * of raw calendar days. When omitted, falls back to calendar days.
2903
+ */
2904
+ interface WorkingDaysConfig {
2905
+ /** Which weekdays count as working days. 0=Sun, 1=Mon, ..., 6=Sat. */
2906
+ enabledWeekdays?: boolean[];
2907
+ /** Holiday dates in 'YYYY-MM-DD' (workspace-local) to exclude. */
2908
+ holidayDates?: Set<string> | string[];
2909
+ }
2910
+
2871
2911
  interface TimelineProps {
2872
2912
  tasks: Task[];
2873
2913
  theme: any;
@@ -2895,6 +2935,8 @@ interface TimelineProps {
2895
2935
  canEditTask?: (task: Task) => boolean;
2896
2936
  /** v4.2.0: Committed on pointerup after dragging the progress edge of a task bar. */
2897
2937
  onTaskProgressDrag?: (task: Task, newProgress: number) => void;
2938
+ /** v4.3.0: Workspace working-day config for the tooltip Duration field. */
2939
+ workingDaysConfig?: WorkingDaysConfig;
2898
2940
  }
2899
2941
  interface TaskPosition {
2900
2942
  id: string;
@@ -2907,7 +2949,7 @@ declare function Timeline({ tasks, theme, rowHeight: ROW_HEIGHT, timeScale, star
2907
2949
  templates, dependencyLineStyle, // v0.17.310
2908
2950
  showTaskBarLabels, onTaskClick, onTaskDblClick, // v0.8.0
2909
2951
  onTaskContextMenu, // v0.8.0
2910
- onTaskDateChange, onDependencyCreate, onDependencyDelete, showBaseline, showCriticalPath, showDependencies, highlightWeekends, canEditTask, onTaskProgressDrag, }: TimelineProps): react_jsx_runtime.JSX.Element;
2952
+ onTaskDateChange, onDependencyCreate, onDependencyDelete, showBaseline, showCriticalPath, showDependencies, highlightWeekends, canEditTask, onTaskProgressDrag, workingDaysConfig, }: TimelineProps): react_jsx_runtime.JSX.Element;
2911
2953
 
2912
2954
  interface TaskTooltipData {
2913
2955
  task: Task;