@libxai/board 1.8.5 → 1.9.1

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
@@ -481,6 +481,16 @@ interface GanttConfig {
481
481
  * @default false
482
482
  */
483
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;
484
494
  /**
485
495
  * v1.4.10: Clear filters key - when this value changes, internal filters are reset
486
496
  * Useful for navigation scenarios where filters should be cleared (e.g., from notifications)
@@ -605,6 +615,10 @@ interface GanttConfig {
605
615
  onTaskRename?: (taskId: string, newName: string) => void;
606
616
  onTaskToggleExpand?: (taskId: string) => void;
607
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;
608
622
  /** v2.5.0: Per-user hourly rate map for Excel export cost columns (userId → rate) */
609
623
  rateMap?: Record<string, number>;
610
624
  /** v2.5.0: Default hourly rate fallback when rateMap has no match for a user */
@@ -2859,6 +2873,7 @@ interface TaskGridProps {
2859
2873
  onToggleColumn: (columnType: ColumnType$1) => void;
2860
2874
  onColumnResize?: (columnId: ColumnType$1, newWidth: number) => void;
2861
2875
  onTaskUpdate?: (taskId: string, updates: Partial<Task>) => void;
2876
+ onBulkFill?: (taskIds: string[], column: 'assignees' | 'startDate' | 'endDate', value: any) => void;
2862
2877
  onTaskIndent?: (taskIds: string[]) => void;
2863
2878
  onTaskOutdent?: (taskIds: string[]) => void;
2864
2879
  onTaskMove?: (taskIds: string[], direction: 'up' | 'down') => void;
@@ -2876,7 +2891,7 @@ interface TaskGridProps {
2876
2891
  declare function TaskGrid({ tasks, theme, rowHeight: ROW_HEIGHT, availableUsers, templates: _templates, // TODO: Use templates for custom rendering
2877
2892
  onTaskClick, onTaskDblClick, // v0.8.0
2878
2893
  onTaskContextMenu, // v0.8.0
2879
- 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
2880
2895
  onTaskReparent, // v0.17.68
2881
2896
  scrollContainerRef, // v0.18.15
2882
2897
  showCriticalPath, }: TaskGridProps): react_jsx_runtime.JSX.Element;
package/dist/index.d.ts CHANGED
@@ -481,6 +481,16 @@ interface GanttConfig {
481
481
  * @default false
482
482
  */
483
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;
484
494
  /**
485
495
  * v1.4.10: Clear filters key - when this value changes, internal filters are reset
486
496
  * Useful for navigation scenarios where filters should be cleared (e.g., from notifications)
@@ -605,6 +615,10 @@ interface GanttConfig {
605
615
  onTaskRename?: (taskId: string, newName: string) => void;
606
616
  onTaskToggleExpand?: (taskId: string) => void;
607
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;
608
622
  /** v2.5.0: Per-user hourly rate map for Excel export cost columns (userId → rate) */
609
623
  rateMap?: Record<string, number>;
610
624
  /** v2.5.0: Default hourly rate fallback when rateMap has no match for a user */
@@ -2859,6 +2873,7 @@ interface TaskGridProps {
2859
2873
  onToggleColumn: (columnType: ColumnType$1) => void;
2860
2874
  onColumnResize?: (columnId: ColumnType$1, newWidth: number) => void;
2861
2875
  onTaskUpdate?: (taskId: string, updates: Partial<Task>) => void;
2876
+ onBulkFill?: (taskIds: string[], column: 'assignees' | 'startDate' | 'endDate', value: any) => void;
2862
2877
  onTaskIndent?: (taskIds: string[]) => void;
2863
2878
  onTaskOutdent?: (taskIds: string[]) => void;
2864
2879
  onTaskMove?: (taskIds: string[], direction: 'up' | 'down') => void;
@@ -2876,7 +2891,7 @@ interface TaskGridProps {
2876
2891
  declare function TaskGrid({ tasks, theme, rowHeight: ROW_HEIGHT, availableUsers, templates: _templates, // TODO: Use templates for custom rendering
2877
2892
  onTaskClick, onTaskDblClick, // v0.8.0
2878
2893
  onTaskContextMenu, // v0.8.0
2879
- 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
2880
2895
  onTaskReparent, // v0.17.68
2881
2896
  scrollContainerRef, // v0.18.15
2882
2897
  showCriticalPath, }: TaskGridProps): react_jsx_runtime.JSX.Element;