gantt-lib 0.74.0 → 0.75.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.mts CHANGED
@@ -1,6 +1,7 @@
1
1
  import React$1, { ReactNode } from 'react';
2
- import { T as Task$1, V as ValidationResult } from './index-BLFB_fez.mjs';
3
- export { D as DAY_MS, a as DependencyError, G as GanttDateRange, b as GridConfig, c as GridLine, L as LinkType, M as MonthSpan, d as TaskBarGeometry, W as WeekendBlock, e as alignToWorkingDay, f as areTasksHierarchicallyRelated, g as buildAdjacencyList, h as buildTaskRangeFromEnd, i as buildTaskRangeFromStart, j as calculateSuccessorDate, k as cascadeByLinks, l as clampTaskRangeForIncomingFS, m as computeLagFromDates, n as computeParentDates, o as computeParentProgress, p as detectCycles, q as findParentId, r as getAllDependencyEdges, s as getAllDescendants, t as getBusinessDayOffset, u as getChildren, v as getDependencyLag, w as getSuccessorChain, x as getTaskDuration, y as getTransitiveCascadeChain, z as isAncestorTask, A as isTaskParent, B as moveTaskRange, C as moveTaskWithCascade, E as normalizeDependencyLag, F as normalizePredecessorDates, H as normalizeUTCDate, I as parseDateOnly, J as recalculateIncomingLags, K as recalculateProjectSchedule, N as recalculateTaskFromDependencies, O as reflowTasksOnModeSwitch, P as removeDependenciesBetweenTasks, Q as resizeTaskWithCascade, R as shiftBusinessDayOffset, S as universalCascade, U as validateDependencies } from './index-BLFB_fez.mjs';
2
+ import { T as Task$1, R as ResourceTimelineItem, V as ValidationResult, a as ResourcePlannerChartProps, b as ResourceTimelineResource } from './index-B2Hmdkey.mjs';
3
+ export { D as DAY_MS, c as DependencyError, G as GanttChartMode, d as GanttDateRange, e as GridConfig, f as GridLine, L as LinkType, M as MonthSpan, g as ResourceTimelineMove, h as TaskBarGeometry, W as WeekendBlock, i as alignToWorkingDay, j as areTasksHierarchicallyRelated, k as buildAdjacencyList, l as buildTaskRangeFromEnd, m as buildTaskRangeFromStart, n as calculateSuccessorDate, o as cascadeByLinks, p as clampTaskRangeForIncomingFS, q as computeLagFromDates, r as computeParentDates, s as computeParentProgress, t as detectCycles, u as findParentId, v as getAllDependencyEdges, w as getAllDescendants, x as getBusinessDayOffset, y as getChildren, z as getDependencyLag, A as getSuccessorChain, B as getTaskDuration, C as getTransitiveCascadeChain, E as isAncestorTask, F as isTaskParent, H as moveTaskRange, I as moveTaskWithCascade, J as normalizeDependencyLag, K as normalizePredecessorDates, N as normalizeUTCDate, O as parseDateOnly, P as recalculateIncomingLags, Q as recalculateProjectSchedule, S as recalculateTaskFromDependencies, U as reflowTasksOnModeSwitch, X as removeDependenciesBetweenTasks, Y as resizeTaskWithCascade, Z as shiftBusinessDayOffset, _ as universalCascade, $ as validateDependencies } from './index-B2Hmdkey.mjs';
4
+ import * as react_jsx_runtime from 'react/jsx-runtime';
4
5
  import * as RadixPopover from '@radix-ui/react-popover';
5
6
 
6
7
  /**
@@ -409,7 +410,9 @@ interface TaskListMenuCommand<TTask extends Task = Task> {
409
410
  /** Close the menu after click (default: true) */
410
411
  closeOnSelect?: boolean;
411
412
  }
412
- interface GanttChartProps<TTask extends Task = Task> {
413
+ interface GanttModeProps<TTask extends Task = Task> {
414
+ /** Omitted mode keeps the historical task-based gantt behavior. */
415
+ mode?: 'gantt';
413
416
  /** Array of tasks to display */
414
417
  tasks: TTask[];
415
418
  /** Width of each day column in pixels (default: 40) */
@@ -489,6 +492,7 @@ interface GanttChartProps<TTask extends Task = Task> {
489
492
  /** Additional commands rendered in the TaskList row three-dots menu */
490
493
  taskListMenuCommands?: TaskListMenuCommand<TTask>[];
491
494
  }
495
+ type GanttChartProps<TTask extends Task = Task, TItem extends ResourceTimelineItem = ResourceTimelineItem> = GanttModeProps<TTask> | ResourcePlannerChartProps<TItem>;
492
496
  interface ExportToPdfOptions {
493
497
  /** Structured header displayed above the exported chart */
494
498
  header?: ExportToPdfHeaderOptions;
@@ -530,10 +534,12 @@ interface GanttChartHandle {
530
534
  expandAll: () => void;
531
535
  exportToPdf: (options?: ExportToPdfOptions) => Promise<void>;
532
536
  }
533
- declare const GanttChart: <TTask extends Task = Task>(props: GanttChartProps<TTask> & {
537
+ declare const GanttChart: <TTask extends Task = Task, TItem extends ResourceTimelineItem = ResourceTimelineItem>(props: GanttChartProps<TTask, TItem> & {
534
538
  ref?: React$1.Ref<GanttChartHandle>;
535
539
  }) => React$1.ReactElement;
536
540
 
541
+ declare function ResourceTimelineChart<TItem extends ResourceTimelineItem = ResourceTimelineItem>({ resources, dayWidth, rowHeaderWidth, laneHeight, headerHeight, readonly, disableResourceReassignment, renderItem, getItemClassName, onResourceItemMove, }: ResourcePlannerChartProps<TItem>): react_jsx_runtime.JSX.Element;
542
+
537
543
  interface TaskRowProps {
538
544
  /** Task data to render */
539
545
  task: Task;
@@ -1175,6 +1181,45 @@ declare function flattenHierarchy<T extends Task$1>(tasks: T[]): T[];
1175
1181
  */
1176
1182
  declare function normalizeHierarchyTasks<T extends Task$1>(tasks: T[]): T[];
1177
1183
 
1184
+ interface ResourceTimelineLayoutOptions {
1185
+ monthStart: Date;
1186
+ dayWidth: number;
1187
+ laneHeight: number;
1188
+ }
1189
+ interface ResourceTimelineLayoutRow<TItem extends ResourceTimelineItem = ResourceTimelineItem> {
1190
+ resource: ResourceTimelineResource<TItem>;
1191
+ resourceId: string;
1192
+ laneCount: number;
1193
+ resourceRowTop: number;
1194
+ resourceRowHeight: number;
1195
+ }
1196
+ interface ResourceTimelineLayoutItem<TItem extends ResourceTimelineItem = ResourceTimelineItem> {
1197
+ item: TItem;
1198
+ itemId: string;
1199
+ resourceId: string;
1200
+ laneIndex: number;
1201
+ left: number;
1202
+ width: number;
1203
+ resourceRowTop: number;
1204
+ resourceRowHeight: number;
1205
+ top: number;
1206
+ height: number;
1207
+ startDate: Date;
1208
+ endDate: Date;
1209
+ }
1210
+ interface ResourceTimelineLayoutDiagnostic {
1211
+ itemId: string;
1212
+ resourceId: string;
1213
+ reason: 'invalid-date';
1214
+ }
1215
+ interface ResourceTimelineLayoutResult<TItem extends ResourceTimelineItem = ResourceTimelineItem> {
1216
+ rows: Array<ResourceTimelineLayoutRow<TItem>>;
1217
+ items: Array<ResourceTimelineLayoutItem<TItem>>;
1218
+ diagnostics: ResourceTimelineLayoutDiagnostic[];
1219
+ totalHeight: number;
1220
+ }
1221
+ declare const layoutResourceTimelineItems: <TItem extends ResourceTimelineItem = ResourceTimelineItem>(resources: Array<ResourceTimelineResource<TItem>>, options: ResourceTimelineLayoutOptions) => ResourceTimelineLayoutResult<TItem>;
1222
+
1178
1223
  type TaskLike = {
1179
1224
  id: string;
1180
1225
  };
@@ -1191,4 +1236,4 @@ interface VisibleReorderPosition {
1191
1236
  */
1192
1237
  declare function getVisibleReorderPosition(orderedTasks: TaskLike[], visibleTasks: TaskLike[], movedTaskId: string, originVisibleIndex: number, dropVisibleIndex: number): VisibleReorderPosition | null;
1193
1238
 
1194
- export { type BuiltInTaskListColumnId, Button, type ButtonProps, Calendar, type CalendarProps, type CustomDayConfig, type CustomDayPredicateConfig, DatePicker, type DatePickerProps, DragGuideLines, type ExportToPdfHeaderOptions, type ExportToPdfOptions, GanttChart, type GanttChartHandle, type GanttChartProps, GridBackground, Input, type InputProps, type MonthBlock, Popover, PopoverContent, type PopoverContentProps, type PopoverProps, PopoverTrigger, type Task, type TaskDependency, TaskList, type TaskListColumn, type TaskListColumnContext, type TaskListMenuCommand, type TaskListProps, type TaskPredicate, TaskRow, TimeScaleHeader, TodayIndicator, ValidationResult, type VisibleReorderPosition, type WeekBlock, type WeekSpan, type YearSpan, addBusinessDays, and, calculateBezierPath, calculateDependencyPath, calculateGridLines, calculateGridWidth, calculateMilestoneConnectionBounds, calculateMilestoneGeometry, calculateMonthGridLines, calculateOrthogonalPath, calculateTaskBar, calculateWeekGridLines, calculateWeekendBlocks, clampDateRangeForIncomingFS, createCustomDayPredicate, createDateKey, detectEdgeZone, expired, flattenHierarchy, formatDateLabel, formatDateRangeLabel, getBusinessDaysCount, getCursorForPosition, getDayOffset, getMonthBlocks, getMonthDays, getMonthSpans, getMultiMonthDays, getVisibleReorderPosition, getWeekBlocks, getWeekSpans, getYearSpans, inDateRange, isTaskExpired, isToday, isWeekend, nameContains, normalizeHierarchyTasks, normalizeTaskDates, not, or, parseUTCDate, pixelsToDate, progressInRange, resolveDateRangeFromPixels, resolveTaskHorizontalGeometry, subtractBusinessDays, useTaskDrag, withoutDeps };
1239
+ export { type BuiltInTaskListColumnId, Button, type ButtonProps, Calendar, type CalendarProps, type CustomDayConfig, type CustomDayPredicateConfig, DatePicker, type DatePickerProps, DragGuideLines, type ExportToPdfHeaderOptions, type ExportToPdfOptions, GanttChart, type GanttChartHandle, type GanttChartProps, type GanttModeProps, GridBackground, Input, type InputProps, type MonthBlock, Popover, PopoverContent, type PopoverContentProps, type PopoverProps, PopoverTrigger, ResourcePlannerChartProps, ResourceTimelineChart, ResourceTimelineItem, type ResourceTimelineLayoutDiagnostic, type ResourceTimelineLayoutItem, type ResourceTimelineLayoutOptions, type ResourceTimelineLayoutResult, type ResourceTimelineLayoutRow, ResourceTimelineResource, type Task, type TaskDependency, TaskList, type TaskListColumn, type TaskListColumnContext, type TaskListMenuCommand, type TaskListProps, type TaskPredicate, TaskRow, TimeScaleHeader, TodayIndicator, ValidationResult, type VisibleReorderPosition, type WeekBlock, type WeekSpan, type YearSpan, addBusinessDays, and, calculateBezierPath, calculateDependencyPath, calculateGridLines, calculateGridWidth, calculateMilestoneConnectionBounds, calculateMilestoneGeometry, calculateMonthGridLines, calculateOrthogonalPath, calculateTaskBar, calculateWeekGridLines, calculateWeekendBlocks, clampDateRangeForIncomingFS, createCustomDayPredicate, createDateKey, detectEdgeZone, expired, flattenHierarchy, formatDateLabel, formatDateRangeLabel, getBusinessDaysCount, getCursorForPosition, getDayOffset, getMonthBlocks, getMonthDays, getMonthSpans, getMultiMonthDays, getVisibleReorderPosition, getWeekBlocks, getWeekSpans, getYearSpans, inDateRange, isTaskExpired, isToday, isWeekend, layoutResourceTimelineItems, nameContains, normalizeHierarchyTasks, normalizeTaskDates, not, or, parseUTCDate, pixelsToDate, progressInRange, resolveDateRangeFromPixels, resolveTaskHorizontalGeometry, subtractBusinessDays, useTaskDrag, withoutDeps };
package/dist/index.d.ts CHANGED
@@ -1,6 +1,7 @@
1
1
  import React$1, { ReactNode } from 'react';
2
- import { T as Task$1, V as ValidationResult } from './index-BLFB_fez.js';
3
- export { D as DAY_MS, a as DependencyError, G as GanttDateRange, b as GridConfig, c as GridLine, L as LinkType, M as MonthSpan, d as TaskBarGeometry, W as WeekendBlock, e as alignToWorkingDay, f as areTasksHierarchicallyRelated, g as buildAdjacencyList, h as buildTaskRangeFromEnd, i as buildTaskRangeFromStart, j as calculateSuccessorDate, k as cascadeByLinks, l as clampTaskRangeForIncomingFS, m as computeLagFromDates, n as computeParentDates, o as computeParentProgress, p as detectCycles, q as findParentId, r as getAllDependencyEdges, s as getAllDescendants, t as getBusinessDayOffset, u as getChildren, v as getDependencyLag, w as getSuccessorChain, x as getTaskDuration, y as getTransitiveCascadeChain, z as isAncestorTask, A as isTaskParent, B as moveTaskRange, C as moveTaskWithCascade, E as normalizeDependencyLag, F as normalizePredecessorDates, H as normalizeUTCDate, I as parseDateOnly, J as recalculateIncomingLags, K as recalculateProjectSchedule, N as recalculateTaskFromDependencies, O as reflowTasksOnModeSwitch, P as removeDependenciesBetweenTasks, Q as resizeTaskWithCascade, R as shiftBusinessDayOffset, S as universalCascade, U as validateDependencies } from './index-BLFB_fez.js';
2
+ import { T as Task$1, R as ResourceTimelineItem, V as ValidationResult, a as ResourcePlannerChartProps, b as ResourceTimelineResource } from './index-B2Hmdkey.js';
3
+ export { D as DAY_MS, c as DependencyError, G as GanttChartMode, d as GanttDateRange, e as GridConfig, f as GridLine, L as LinkType, M as MonthSpan, g as ResourceTimelineMove, h as TaskBarGeometry, W as WeekendBlock, i as alignToWorkingDay, j as areTasksHierarchicallyRelated, k as buildAdjacencyList, l as buildTaskRangeFromEnd, m as buildTaskRangeFromStart, n as calculateSuccessorDate, o as cascadeByLinks, p as clampTaskRangeForIncomingFS, q as computeLagFromDates, r as computeParentDates, s as computeParentProgress, t as detectCycles, u as findParentId, v as getAllDependencyEdges, w as getAllDescendants, x as getBusinessDayOffset, y as getChildren, z as getDependencyLag, A as getSuccessorChain, B as getTaskDuration, C as getTransitiveCascadeChain, E as isAncestorTask, F as isTaskParent, H as moveTaskRange, I as moveTaskWithCascade, J as normalizeDependencyLag, K as normalizePredecessorDates, N as normalizeUTCDate, O as parseDateOnly, P as recalculateIncomingLags, Q as recalculateProjectSchedule, S as recalculateTaskFromDependencies, U as reflowTasksOnModeSwitch, X as removeDependenciesBetweenTasks, Y as resizeTaskWithCascade, Z as shiftBusinessDayOffset, _ as universalCascade, $ as validateDependencies } from './index-B2Hmdkey.js';
4
+ import * as react_jsx_runtime from 'react/jsx-runtime';
4
5
  import * as RadixPopover from '@radix-ui/react-popover';
5
6
 
6
7
  /**
@@ -409,7 +410,9 @@ interface TaskListMenuCommand<TTask extends Task = Task> {
409
410
  /** Close the menu after click (default: true) */
410
411
  closeOnSelect?: boolean;
411
412
  }
412
- interface GanttChartProps<TTask extends Task = Task> {
413
+ interface GanttModeProps<TTask extends Task = Task> {
414
+ /** Omitted mode keeps the historical task-based gantt behavior. */
415
+ mode?: 'gantt';
413
416
  /** Array of tasks to display */
414
417
  tasks: TTask[];
415
418
  /** Width of each day column in pixels (default: 40) */
@@ -489,6 +492,7 @@ interface GanttChartProps<TTask extends Task = Task> {
489
492
  /** Additional commands rendered in the TaskList row three-dots menu */
490
493
  taskListMenuCommands?: TaskListMenuCommand<TTask>[];
491
494
  }
495
+ type GanttChartProps<TTask extends Task = Task, TItem extends ResourceTimelineItem = ResourceTimelineItem> = GanttModeProps<TTask> | ResourcePlannerChartProps<TItem>;
492
496
  interface ExportToPdfOptions {
493
497
  /** Structured header displayed above the exported chart */
494
498
  header?: ExportToPdfHeaderOptions;
@@ -530,10 +534,12 @@ interface GanttChartHandle {
530
534
  expandAll: () => void;
531
535
  exportToPdf: (options?: ExportToPdfOptions) => Promise<void>;
532
536
  }
533
- declare const GanttChart: <TTask extends Task = Task>(props: GanttChartProps<TTask> & {
537
+ declare const GanttChart: <TTask extends Task = Task, TItem extends ResourceTimelineItem = ResourceTimelineItem>(props: GanttChartProps<TTask, TItem> & {
534
538
  ref?: React$1.Ref<GanttChartHandle>;
535
539
  }) => React$1.ReactElement;
536
540
 
541
+ declare function ResourceTimelineChart<TItem extends ResourceTimelineItem = ResourceTimelineItem>({ resources, dayWidth, rowHeaderWidth, laneHeight, headerHeight, readonly, disableResourceReassignment, renderItem, getItemClassName, onResourceItemMove, }: ResourcePlannerChartProps<TItem>): react_jsx_runtime.JSX.Element;
542
+
537
543
  interface TaskRowProps {
538
544
  /** Task data to render */
539
545
  task: Task;
@@ -1175,6 +1181,45 @@ declare function flattenHierarchy<T extends Task$1>(tasks: T[]): T[];
1175
1181
  */
1176
1182
  declare function normalizeHierarchyTasks<T extends Task$1>(tasks: T[]): T[];
1177
1183
 
1184
+ interface ResourceTimelineLayoutOptions {
1185
+ monthStart: Date;
1186
+ dayWidth: number;
1187
+ laneHeight: number;
1188
+ }
1189
+ interface ResourceTimelineLayoutRow<TItem extends ResourceTimelineItem = ResourceTimelineItem> {
1190
+ resource: ResourceTimelineResource<TItem>;
1191
+ resourceId: string;
1192
+ laneCount: number;
1193
+ resourceRowTop: number;
1194
+ resourceRowHeight: number;
1195
+ }
1196
+ interface ResourceTimelineLayoutItem<TItem extends ResourceTimelineItem = ResourceTimelineItem> {
1197
+ item: TItem;
1198
+ itemId: string;
1199
+ resourceId: string;
1200
+ laneIndex: number;
1201
+ left: number;
1202
+ width: number;
1203
+ resourceRowTop: number;
1204
+ resourceRowHeight: number;
1205
+ top: number;
1206
+ height: number;
1207
+ startDate: Date;
1208
+ endDate: Date;
1209
+ }
1210
+ interface ResourceTimelineLayoutDiagnostic {
1211
+ itemId: string;
1212
+ resourceId: string;
1213
+ reason: 'invalid-date';
1214
+ }
1215
+ interface ResourceTimelineLayoutResult<TItem extends ResourceTimelineItem = ResourceTimelineItem> {
1216
+ rows: Array<ResourceTimelineLayoutRow<TItem>>;
1217
+ items: Array<ResourceTimelineLayoutItem<TItem>>;
1218
+ diagnostics: ResourceTimelineLayoutDiagnostic[];
1219
+ totalHeight: number;
1220
+ }
1221
+ declare const layoutResourceTimelineItems: <TItem extends ResourceTimelineItem = ResourceTimelineItem>(resources: Array<ResourceTimelineResource<TItem>>, options: ResourceTimelineLayoutOptions) => ResourceTimelineLayoutResult<TItem>;
1222
+
1178
1223
  type TaskLike = {
1179
1224
  id: string;
1180
1225
  };
@@ -1191,4 +1236,4 @@ interface VisibleReorderPosition {
1191
1236
  */
1192
1237
  declare function getVisibleReorderPosition(orderedTasks: TaskLike[], visibleTasks: TaskLike[], movedTaskId: string, originVisibleIndex: number, dropVisibleIndex: number): VisibleReorderPosition | null;
1193
1238
 
1194
- export { type BuiltInTaskListColumnId, Button, type ButtonProps, Calendar, type CalendarProps, type CustomDayConfig, type CustomDayPredicateConfig, DatePicker, type DatePickerProps, DragGuideLines, type ExportToPdfHeaderOptions, type ExportToPdfOptions, GanttChart, type GanttChartHandle, type GanttChartProps, GridBackground, Input, type InputProps, type MonthBlock, Popover, PopoverContent, type PopoverContentProps, type PopoverProps, PopoverTrigger, type Task, type TaskDependency, TaskList, type TaskListColumn, type TaskListColumnContext, type TaskListMenuCommand, type TaskListProps, type TaskPredicate, TaskRow, TimeScaleHeader, TodayIndicator, ValidationResult, type VisibleReorderPosition, type WeekBlock, type WeekSpan, type YearSpan, addBusinessDays, and, calculateBezierPath, calculateDependencyPath, calculateGridLines, calculateGridWidth, calculateMilestoneConnectionBounds, calculateMilestoneGeometry, calculateMonthGridLines, calculateOrthogonalPath, calculateTaskBar, calculateWeekGridLines, calculateWeekendBlocks, clampDateRangeForIncomingFS, createCustomDayPredicate, createDateKey, detectEdgeZone, expired, flattenHierarchy, formatDateLabel, formatDateRangeLabel, getBusinessDaysCount, getCursorForPosition, getDayOffset, getMonthBlocks, getMonthDays, getMonthSpans, getMultiMonthDays, getVisibleReorderPosition, getWeekBlocks, getWeekSpans, getYearSpans, inDateRange, isTaskExpired, isToday, isWeekend, nameContains, normalizeHierarchyTasks, normalizeTaskDates, not, or, parseUTCDate, pixelsToDate, progressInRange, resolveDateRangeFromPixels, resolveTaskHorizontalGeometry, subtractBusinessDays, useTaskDrag, withoutDeps };
1239
+ export { type BuiltInTaskListColumnId, Button, type ButtonProps, Calendar, type CalendarProps, type CustomDayConfig, type CustomDayPredicateConfig, DatePicker, type DatePickerProps, DragGuideLines, type ExportToPdfHeaderOptions, type ExportToPdfOptions, GanttChart, type GanttChartHandle, type GanttChartProps, type GanttModeProps, GridBackground, Input, type InputProps, type MonthBlock, Popover, PopoverContent, type PopoverContentProps, type PopoverProps, PopoverTrigger, ResourcePlannerChartProps, ResourceTimelineChart, ResourceTimelineItem, type ResourceTimelineLayoutDiagnostic, type ResourceTimelineLayoutItem, type ResourceTimelineLayoutOptions, type ResourceTimelineLayoutResult, type ResourceTimelineLayoutRow, ResourceTimelineResource, type Task, type TaskDependency, TaskList, type TaskListColumn, type TaskListColumnContext, type TaskListMenuCommand, type TaskListProps, type TaskPredicate, TaskRow, TimeScaleHeader, TodayIndicator, ValidationResult, type VisibleReorderPosition, type WeekBlock, type WeekSpan, type YearSpan, addBusinessDays, and, calculateBezierPath, calculateDependencyPath, calculateGridLines, calculateGridWidth, calculateMilestoneConnectionBounds, calculateMilestoneGeometry, calculateMonthGridLines, calculateOrthogonalPath, calculateTaskBar, calculateWeekGridLines, calculateWeekendBlocks, clampDateRangeForIncomingFS, createCustomDayPredicate, createDateKey, detectEdgeZone, expired, flattenHierarchy, formatDateLabel, formatDateRangeLabel, getBusinessDaysCount, getCursorForPosition, getDayOffset, getMonthBlocks, getMonthDays, getMonthSpans, getMultiMonthDays, getVisibleReorderPosition, getWeekBlocks, getWeekSpans, getYearSpans, inDateRange, isTaskExpired, isToday, isWeekend, layoutResourceTimelineItems, nameContains, normalizeHierarchyTasks, normalizeTaskDates, not, or, parseUTCDate, pixelsToDate, progressInRange, resolveDateRangeFromPixels, resolveTaskHorizontalGeometry, subtractBusinessDays, useTaskDrag, withoutDeps };