gantt-lib 0.115.2 → 0.117.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,6 @@
1
1
  import React$1, { ReactNode } from 'react';
2
- import { T as Task$1, R as ResourceTimelineItem, V as ValidationResult, a as TimelineMarker, b as TaskDateChangeMode, c as ResourcePlannerChartProps, d as ResourceTimelineResource } from './index-D1s_8MxS.mjs';
3
- export { B as BuiltInResourceTableColumnId, D as DAY_MS, e as DependencyError, G as GanttChartMode, f as GanttDateRange, g as GridConfig, h as GridLine, L as LinkType, M as MonthSpan, i as ResourceTableColumnId, j as ResourceTableColumnWidthMap, k as ResourceTimelineMove, l as ResourceTimelineResourceMenuCommand, m as TaskBarGeometry, W as WeekendBlock, n as alignToWorkingDay, o as areTasksHierarchicallyRelated, p as buildAdjacencyList, q as buildTaskRangeFromEnd, r as buildTaskRangeFromStart, s as calculateSuccessorDate, t as cascadeByLinks, u as clampTaskRangeForIncomingFS, v as computeLagFromDates, w as computeParentDates, x as computeParentProgress, y as detectCycles, z as findParentId, A as getAllDependencyEdges, C as getAllDescendants, E as getBusinessDayOffset, F as getChildren, H as getDependencyLag, I as getSuccessorChain, J as getTaskDuration, K as getTransitiveCascadeChain, N as isAncestorTask, O as isTaskParent, P as moveTaskRange, Q as moveTaskWithCascade, S as normalizeDependencyLag, U as normalizePredecessorDates, X as normalizeTaskDependencyLags, Y as normalizeUTCDate, Z as parseDateOnly, _ as recalculateIncomingLags, $ as recalculateProjectSchedule, a0 as recalculateTaskFromDependencies, a1 as reflowTasksOnModeSwitch, a2 as removeDependenciesBetweenTasks, a3 as resizeTaskWithCascade, a4 as shiftBusinessDayOffset, a5 as universalCascade, a6 as validateDependencies } from './index-D1s_8MxS.mjs';
2
+ import { T as Task$1, R as ResourceTimelineItem, V as ValidationResult, a as TimelineMarker, b as TaskDateChangeMode, c as ResourcePlannerChartProps, d as ResourceTimelineResource } from './index-DpZmO95L.mjs';
3
+ export { B as BuiltInResourceTableColumnId, D as DAY_MS, e as DependencyError, G as GanttChartMode, f as GanttDateRange, g as GridConfig, h as GridLine, L as LinkType, M as MonthSpan, i as ResourceTableColumnId, j as ResourceTableColumnWidthMap, k as ResourceTimelineMove, l as ResourceTimelineResourceMenuCommand, m as TaskBarGeometry, W as WeekendBlock, n as alignToWorkingDay, o as areTasksHierarchicallyRelated, p as buildAdjacencyList, q as buildTaskRangeFromEnd, r as buildTaskRangeFromStart, s as calculateSuccessorDate, t as cascadeByLinks, u as clampTaskRangeForIncomingFS, v as computeLagFromDates, w as computeParentDates, x as computeParentProgress, y as detectCycles, z as findParentId, A as getAllDependencyEdges, C as getAllDescendants, E as getBusinessDayOffset, F as getChildren, H as getDependencyLag, I as getSuccessorChain, J as getTaskDuration, K as getTransitiveCascadeChain, N as isAncestorTask, O as isTaskParent, P as moveTaskRange, Q as moveTaskWithCascade, S as normalizeDependencyLag, U as normalizePredecessorDates, X as normalizeTaskDependencyLags, Y as normalizeUTCDate, Z as parseDateOnly, _ as recalculateIncomingLags, $ as recalculateProjectSchedule, a0 as recalculateTaskFromDependencies, a1 as reflowTasksOnModeSwitch, a2 as removeDependenciesBetweenTasks, a3 as resizeTaskWithCascade, a4 as shiftBusinessDayOffset, a5 as universalCascade, a6 as validateDependencies } from './index-DpZmO95L.mjs';
4
4
  import * as react_jsx_runtime from 'react/jsx-runtime';
5
5
  import * as RadixPopover from '@radix-ui/react-popover';
6
6
 
@@ -593,6 +593,8 @@ interface TaskChartSharedProps<TTask extends Task = Task> {
593
593
  onToggleCollapse?: (parentId: string) => void;
594
594
  /** Task IDs to highlight in the task list (for search results) */
595
595
  highlightedTaskIds?: Set<string>;
596
+ /** Fill parent rows with background in the task list. Defaults to enabled in plan-fact mode only. */
597
+ fillParentRowsInTaskList?: boolean;
596
598
  /** Enable a leading checkbox column for multi-selecting task rows (default: false) */
597
599
  enableTaskMultiSelect?: boolean;
598
600
  /** Controlled selected task IDs for multi-select mode */
@@ -712,7 +714,7 @@ declare const GanttChart: <TTask extends Task = Task, TItem extends ResourceTime
712
714
  ref?: React$1.Ref<GanttChartHandle>;
713
715
  }) => React$1.ReactElement;
714
716
 
715
- declare function ResourceTimelineChart<TItem extends ResourceTimelineItem = ResourceTimelineItem>({ resources, dayWidth, viewMode, rowHeaderWidth, laneHeight, headerHeight, containerHeight, allowVerticalPan, customDays, isWeekend, businessDays, resourceGrouping, readonly, disableResourceReassignment, renderItem, getItemClassName, onResourceItemClick, onResourceItemMenuClick, activeResourceItemId, onResourceItemMove, onResourceChange, onAddResource, enableAddResource, resourceMenuCommands, resourceTableColumnWidths, onResourceTableColumnWidthsChange, }: ResourcePlannerChartProps<TItem>): react_jsx_runtime.JSX.Element;
717
+ declare function ResourceTimelineChart<TItem extends ResourceTimelineItem = ResourceTimelineItem>({ resources, dayWidth, viewMode, rowHeaderWidth, laneHeight, headerHeight, containerHeight, allowVerticalPan, customDays, isWeekend, businessDays, resourceGrouping, readonly, disableResourceReassignment, renderItem, getItemClassName, resourceItemTooltipLines, onResourceItemClick, onResourceItemMenuClick, activeResourceItemId, onResourceItemMove, onResourceChange, onAddResource, enableAddResource, resourceMenuCommands, resourceTableColumnWidths, onResourceTableColumnWidthsChange, }: ResourcePlannerChartProps<TItem>): react_jsx_runtime.JSX.Element;
716
718
 
717
719
  interface TaskPreviewPosition {
718
720
  left: number;
@@ -963,6 +965,8 @@ interface TaskListProps {
963
965
  businessDays?: boolean;
964
966
  /** Task IDs highlighted by the active filter */
965
967
  highlightedTaskIds?: Set<string>;
968
+ /** Fill parent rows with background in task list */
969
+ fillParentRows?: boolean;
966
970
  /** Enable a leading checkbox column for multi-selecting task rows (default: false) */
967
971
  enableTaskMultiSelect?: boolean;
968
972
  /** Controlled selected task IDs for multi-select mode */
package/dist/index.d.ts CHANGED
@@ -1,6 +1,6 @@
1
1
  import React$1, { ReactNode } from 'react';
2
- import { T as Task$1, R as ResourceTimelineItem, V as ValidationResult, a as TimelineMarker, b as TaskDateChangeMode, c as ResourcePlannerChartProps, d as ResourceTimelineResource } from './index-D1s_8MxS.js';
3
- export { B as BuiltInResourceTableColumnId, D as DAY_MS, e as DependencyError, G as GanttChartMode, f as GanttDateRange, g as GridConfig, h as GridLine, L as LinkType, M as MonthSpan, i as ResourceTableColumnId, j as ResourceTableColumnWidthMap, k as ResourceTimelineMove, l as ResourceTimelineResourceMenuCommand, m as TaskBarGeometry, W as WeekendBlock, n as alignToWorkingDay, o as areTasksHierarchicallyRelated, p as buildAdjacencyList, q as buildTaskRangeFromEnd, r as buildTaskRangeFromStart, s as calculateSuccessorDate, t as cascadeByLinks, u as clampTaskRangeForIncomingFS, v as computeLagFromDates, w as computeParentDates, x as computeParentProgress, y as detectCycles, z as findParentId, A as getAllDependencyEdges, C as getAllDescendants, E as getBusinessDayOffset, F as getChildren, H as getDependencyLag, I as getSuccessorChain, J as getTaskDuration, K as getTransitiveCascadeChain, N as isAncestorTask, O as isTaskParent, P as moveTaskRange, Q as moveTaskWithCascade, S as normalizeDependencyLag, U as normalizePredecessorDates, X as normalizeTaskDependencyLags, Y as normalizeUTCDate, Z as parseDateOnly, _ as recalculateIncomingLags, $ as recalculateProjectSchedule, a0 as recalculateTaskFromDependencies, a1 as reflowTasksOnModeSwitch, a2 as removeDependenciesBetweenTasks, a3 as resizeTaskWithCascade, a4 as shiftBusinessDayOffset, a5 as universalCascade, a6 as validateDependencies } from './index-D1s_8MxS.js';
2
+ import { T as Task$1, R as ResourceTimelineItem, V as ValidationResult, a as TimelineMarker, b as TaskDateChangeMode, c as ResourcePlannerChartProps, d as ResourceTimelineResource } from './index-DpZmO95L.js';
3
+ export { B as BuiltInResourceTableColumnId, D as DAY_MS, e as DependencyError, G as GanttChartMode, f as GanttDateRange, g as GridConfig, h as GridLine, L as LinkType, M as MonthSpan, i as ResourceTableColumnId, j as ResourceTableColumnWidthMap, k as ResourceTimelineMove, l as ResourceTimelineResourceMenuCommand, m as TaskBarGeometry, W as WeekendBlock, n as alignToWorkingDay, o as areTasksHierarchicallyRelated, p as buildAdjacencyList, q as buildTaskRangeFromEnd, r as buildTaskRangeFromStart, s as calculateSuccessorDate, t as cascadeByLinks, u as clampTaskRangeForIncomingFS, v as computeLagFromDates, w as computeParentDates, x as computeParentProgress, y as detectCycles, z as findParentId, A as getAllDependencyEdges, C as getAllDescendants, E as getBusinessDayOffset, F as getChildren, H as getDependencyLag, I as getSuccessorChain, J as getTaskDuration, K as getTransitiveCascadeChain, N as isAncestorTask, O as isTaskParent, P as moveTaskRange, Q as moveTaskWithCascade, S as normalizeDependencyLag, U as normalizePredecessorDates, X as normalizeTaskDependencyLags, Y as normalizeUTCDate, Z as parseDateOnly, _ as recalculateIncomingLags, $ as recalculateProjectSchedule, a0 as recalculateTaskFromDependencies, a1 as reflowTasksOnModeSwitch, a2 as removeDependenciesBetweenTasks, a3 as resizeTaskWithCascade, a4 as shiftBusinessDayOffset, a5 as universalCascade, a6 as validateDependencies } from './index-DpZmO95L.js';
4
4
  import * as react_jsx_runtime from 'react/jsx-runtime';
5
5
  import * as RadixPopover from '@radix-ui/react-popover';
6
6
 
@@ -593,6 +593,8 @@ interface TaskChartSharedProps<TTask extends Task = Task> {
593
593
  onToggleCollapse?: (parentId: string) => void;
594
594
  /** Task IDs to highlight in the task list (for search results) */
595
595
  highlightedTaskIds?: Set<string>;
596
+ /** Fill parent rows with background in the task list. Defaults to enabled in plan-fact mode only. */
597
+ fillParentRowsInTaskList?: boolean;
596
598
  /** Enable a leading checkbox column for multi-selecting task rows (default: false) */
597
599
  enableTaskMultiSelect?: boolean;
598
600
  /** Controlled selected task IDs for multi-select mode */
@@ -712,7 +714,7 @@ declare const GanttChart: <TTask extends Task = Task, TItem extends ResourceTime
712
714
  ref?: React$1.Ref<GanttChartHandle>;
713
715
  }) => React$1.ReactElement;
714
716
 
715
- declare function ResourceTimelineChart<TItem extends ResourceTimelineItem = ResourceTimelineItem>({ resources, dayWidth, viewMode, rowHeaderWidth, laneHeight, headerHeight, containerHeight, allowVerticalPan, customDays, isWeekend, businessDays, resourceGrouping, readonly, disableResourceReassignment, renderItem, getItemClassName, onResourceItemClick, onResourceItemMenuClick, activeResourceItemId, onResourceItemMove, onResourceChange, onAddResource, enableAddResource, resourceMenuCommands, resourceTableColumnWidths, onResourceTableColumnWidthsChange, }: ResourcePlannerChartProps<TItem>): react_jsx_runtime.JSX.Element;
717
+ declare function ResourceTimelineChart<TItem extends ResourceTimelineItem = ResourceTimelineItem>({ resources, dayWidth, viewMode, rowHeaderWidth, laneHeight, headerHeight, containerHeight, allowVerticalPan, customDays, isWeekend, businessDays, resourceGrouping, readonly, disableResourceReassignment, renderItem, getItemClassName, resourceItemTooltipLines, onResourceItemClick, onResourceItemMenuClick, activeResourceItemId, onResourceItemMove, onResourceChange, onAddResource, enableAddResource, resourceMenuCommands, resourceTableColumnWidths, onResourceTableColumnWidthsChange, }: ResourcePlannerChartProps<TItem>): react_jsx_runtime.JSX.Element;
716
718
 
717
719
  interface TaskPreviewPosition {
718
720
  left: number;
@@ -963,6 +965,8 @@ interface TaskListProps {
963
965
  businessDays?: boolean;
964
966
  /** Task IDs highlighted by the active filter */
965
967
  highlightedTaskIds?: Set<string>;
968
+ /** Fill parent rows with background in task list */
969
+ fillParentRows?: boolean;
966
970
  /** Enable a leading checkbox column for multi-selecting task rows (default: false) */
967
971
  enableTaskMultiSelect?: boolean;
968
972
  /** Controlled selected task IDs for multi-select mode */
package/dist/index.js CHANGED
@@ -5096,7 +5096,7 @@ var areTaskListRowPropsEqual = (prevProps, nextProps) => {
5096
5096
  const nextPickingTask = nextProps.selectingPredecessorFor === nextTask.id;
5097
5097
  const prevAnyPicking = prevProps.selectingPredecessorFor != null;
5098
5098
  const nextAnyPicking = nextProps.selectingPredecessorFor != null;
5099
- return prevTaskUnchanged && prevProps.rowIndex === nextProps.rowIndex && prevProps.taskNumber === nextProps.taskNumber && prevProps.taskNumberMap === nextProps.taskNumberMap && prevProps.rowHeight === nextProps.rowHeight && prevIsSelected === nextIsSelected && prevProps.disableTaskNameEditing === nextProps.disableTaskNameEditing && prevProps.disableDependencyEditing === nextProps.disableDependencyEditing && prevProps.allTasks === nextProps.allTasks && prevProps.activeLinkType === nextProps.activeLinkType && prevProps.dependencyPickMode === nextProps.dependencyPickMode && prevPickingTask === nextPickingTask && prevAnyPicking === nextAnyPicking && resolveSelectedChipRole(prevProps) === resolveSelectedChipRole(nextProps) && prevIsEditingTask === nextIsEditingTask && prevProps.isDragging === nextProps.isDragging && prevProps.isDragOver === nextProps.isDragOver && prevProps.dragOverPlacement === nextProps.dragOverPlacement && prevProps.isNestedDropTarget === nextProps.isNestedDropTarget && prevProps.isDirectChildDropTarget === nextProps.isDirectChildDropTarget && prevCollapsed === nextCollapsed && prevProps.canDemoteTask === nextProps.canDemoteTask && prevProps.isLastChild === nextProps.isLastChild && prevProps.nestingDepth === nextProps.nestingDepth && prevProps.hasVisibleChildren === nextProps.hasVisibleChildren && prevProps.ancestorLineModes === nextProps.ancestorLineModes && prevProps.customDays === nextProps.customDays && prevProps.isWeekend === nextProps.isWeekend && prevProps.businessDays === nextProps.businessDays && prevProps.defaultTaskDurationDays === nextProps.defaultTaskDurationDays && prevProps.isFilterMatch === nextProps.isFilterMatch && prevProps.isFilterHideMode === nextProps.isFilterHideMode && prevProps.resolvedColumns === nextProps.resolvedColumns && prevProps.isTaskSelected === nextProps.isTaskSelected && resolveActiveCustomCellForRow(prevProps) === resolveActiveCustomCellForRow(nextProps) && prevProps.taskListMenuCommands === nextProps.taskListMenuCommands && prevProps.hideTaskListRowActions === nextProps.hideTaskListRowActions && prevProps.rowClassName === nextProps.rowClassName && prevProps.taskDateChangeMode === nextProps.taskDateChangeMode;
5099
+ return prevTaskUnchanged && prevProps.rowIndex === nextProps.rowIndex && prevProps.taskNumber === nextProps.taskNumber && prevProps.taskNumberMap === nextProps.taskNumberMap && prevProps.rowHeight === nextProps.rowHeight && prevIsSelected === nextIsSelected && prevProps.disableTaskNameEditing === nextProps.disableTaskNameEditing && prevProps.disableDependencyEditing === nextProps.disableDependencyEditing && prevProps.allTasks === nextProps.allTasks && prevProps.activeLinkType === nextProps.activeLinkType && prevProps.dependencyPickMode === nextProps.dependencyPickMode && prevPickingTask === nextPickingTask && prevAnyPicking === nextAnyPicking && resolveSelectedChipRole(prevProps) === resolveSelectedChipRole(nextProps) && prevIsEditingTask === nextIsEditingTask && prevProps.isDragging === nextProps.isDragging && prevProps.isDragOver === nextProps.isDragOver && prevProps.dragOverPlacement === nextProps.dragOverPlacement && prevProps.isNestedDropTarget === nextProps.isNestedDropTarget && prevProps.isDirectChildDropTarget === nextProps.isDirectChildDropTarget && prevCollapsed === nextCollapsed && prevProps.canDemoteTask === nextProps.canDemoteTask && prevProps.isLastChild === nextProps.isLastChild && prevProps.nestingDepth === nextProps.nestingDepth && prevProps.hasVisibleChildren === nextProps.hasVisibleChildren && prevProps.ancestorLineModes === nextProps.ancestorLineModes && prevProps.customDays === nextProps.customDays && prevProps.isWeekend === nextProps.isWeekend && prevProps.fillParentRow === nextProps.fillParentRow && prevProps.businessDays === nextProps.businessDays && prevProps.defaultTaskDurationDays === nextProps.defaultTaskDurationDays && prevProps.isFilterMatch === nextProps.isFilterMatch && prevProps.isFilterHideMode === nextProps.isFilterHideMode && prevProps.resolvedColumns === nextProps.resolvedColumns && prevProps.isTaskSelected === nextProps.isTaskSelected && resolveActiveCustomCellForRow(prevProps) === resolveActiveCustomCellForRow(nextProps) && prevProps.taskListMenuCommands === nextProps.taskListMenuCommands && prevProps.hideTaskListRowActions === nextProps.hideTaskListRowActions && prevProps.rowClassName === nextProps.rowClassName && prevProps.taskDateChangeMode === nextProps.taskDateChangeMode;
5100
5100
  };
5101
5101
  var TaskListRow = import_react11.default.memo(
5102
5102
  ({
@@ -5148,6 +5148,7 @@ var TaskListRow = import_react11.default.memo(
5148
5148
  ancestorLineModes = [],
5149
5149
  customDays,
5150
5150
  isWeekend: isWeekend3,
5151
+ fillParentRow = false,
5151
5152
  businessDays,
5152
5153
  defaultTaskDurationDays = DEFAULT_TASK_DURATION_DAYS,
5153
5154
  isFilterMatch = false,
@@ -6545,6 +6546,7 @@ var TaskListRow = import_react11.default.memo(
6545
6546
  /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
6546
6547
  "span",
6547
6548
  {
6549
+ className: "gantt-tl-duration-display",
6548
6550
  style: editingDuration ? { visibility: "hidden", pointerEvents: "none" } : void 0,
6549
6551
  children: isMilestone ? "\u25C6" : `${getDuration(normalizedTask.startDate, normalizedTask.endDate)}\u0434`
6550
6552
  }
@@ -6638,6 +6640,7 @@ var TaskListRow = import_react11.default.memo(
6638
6640
  /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
6639
6641
  "span",
6640
6642
  {
6643
+ className: "gantt-tl-progress-display",
6641
6644
  style: editingProgress ? { visibility: "hidden", pointerEvents: "none" } : task.progress === 100 ? {
6642
6645
  backgroundColor: "#17c864",
6643
6646
  borderRadius: "4px",
@@ -6829,6 +6832,7 @@ var TaskListRow = import_react11.default.memo(
6829
6832
  isDragOver && isDirectChildDropTarget ? "gantt-tl-row-drag-over-direct-child" : "",
6830
6833
  isChild ? "gantt-tl-row-child" : "",
6831
6834
  isParent ? "gantt-tl-row-parent" : "",
6835
+ isParent && fillParentRow ? "gantt-tl-row-parent-filled" : "",
6832
6836
  `gantt-tl-row-level-${rowFillLevel}`,
6833
6837
  isTotalRow ? "gantt-tl-row-total" : "",
6834
6838
  rowClassName ?? ""
@@ -7312,6 +7316,7 @@ var TaskList = ({
7312
7316
  isWeekend: isWeekend3,
7313
7317
  businessDays,
7314
7318
  highlightedTaskIds = /* @__PURE__ */ new Set(),
7319
+ fillParentRows = false,
7315
7320
  enableTaskMultiSelect = false,
7316
7321
  selectedTaskIds,
7317
7322
  onSelectedTaskIdsChange,
@@ -8248,6 +8253,7 @@ var TaskList = ({
8248
8253
  ancestorLineModes: ancestorLineModesMap.get(task.id) ?? [],
8249
8254
  customDays,
8250
8255
  isWeekend: isWeekend3,
8256
+ fillParentRow: fillParentRows,
8251
8257
  businessDays,
8252
8258
  defaultTaskDurationDays,
8253
8259
  isFilterMatch: filterMode === "highlight" ? highlightedTaskIds.has(task.id) : false,
@@ -9346,6 +9352,7 @@ function ResourceTimelineChart({
9346
9352
  disableResourceReassignment,
9347
9353
  renderItem,
9348
9354
  getItemClassName,
9355
+ resourceItemTooltipLines = 1,
9349
9356
  onResourceItemClick,
9350
9357
  onResourceItemMenuClick,
9351
9358
  activeResourceItemId,
@@ -10101,12 +10108,15 @@ function ResourceTimelineChart({
10101
10108
  durationDays: durationValue,
10102
10109
  isDragging: isDraggingItem
10103
10110
  };
10111
+ const tooltipFirstLine = layoutItem.item.tooltip?.firstLine ?? layoutItem.item.title;
10112
+ const tooltipSecondLine = resourceItemTooltipLines === 2 ? layoutItem.item.tooltip?.secondLine ?? layoutItem.item.subtitle : void 0;
10113
+ const tooltipSecondLineIcon = layoutItem.item.tooltip?.secondLineIcon;
10104
10114
  return /* @__PURE__ */ (0, import_jsx_runtime16.jsxs)(
10105
10115
  "div",
10106
10116
  {
10107
10117
  className,
10108
10118
  "data-resource-item-id": layoutItem.itemId,
10109
- "data-resource-item-tooltip": layoutItem.item.title,
10119
+ "data-resource-item-tooltip": typeof tooltipFirstLine === "string" ? tooltipFirstLine : layoutItem.item.title,
10110
10120
  onMouseDown: (event) => startDrag(event, layoutItem),
10111
10121
  onClick: () => onResourceItemClick?.(layoutItem.item),
10112
10122
  onKeyDown: (event) => {
@@ -10186,7 +10196,14 @@ function ResourceTimelineChart({
10186
10196
  /* @__PURE__ */ (0, import_jsx_runtime16.jsx)("span", { className: "gantt-resourceTimeline-itemTitle", children: layoutItem.item.title })
10187
10197
  ] }),
10188
10198
  layoutItem.item.subtitle && /* @__PURE__ */ (0, import_jsx_runtime16.jsx)("span", { className: "gantt-resourceTimeline-itemSubtitle", children: layoutItem.item.subtitle })
10189
- ] }) })
10199
+ ] }) }),
10200
+ /* @__PURE__ */ (0, import_jsx_runtime16.jsxs)("div", { className: "gantt-resourceTimeline-itemTooltip", role: "tooltip", children: [
10201
+ /* @__PURE__ */ (0, import_jsx_runtime16.jsx)("div", { className: "gantt-resourceTimeline-itemTooltipLine gantt-resourceTimeline-itemTooltipLinePrimary", children: tooltipFirstLine }),
10202
+ tooltipSecondLine && /* @__PURE__ */ (0, import_jsx_runtime16.jsxs)("div", { className: "gantt-resourceTimeline-itemTooltipLine gantt-resourceTimeline-itemTooltipLineSecondary", children: [
10203
+ tooltipSecondLineIcon && /* @__PURE__ */ (0, import_jsx_runtime16.jsx)("span", { className: "gantt-resourceTimeline-itemTooltipIcon", "aria-hidden": "true", children: tooltipSecondLineIcon }),
10204
+ /* @__PURE__ */ (0, import_jsx_runtime16.jsx)("span", { className: "gantt-resourceTimeline-itemTooltipText", children: tooltipSecondLine })
10205
+ ] })
10206
+ ] })
10190
10207
  ]
10191
10208
  },
10192
10209
  layoutItem.itemId
@@ -12128,6 +12145,7 @@ function TaskGanttChartInner(props, ref) {
12128
12145
  collapsedParentIds: externalCollapsedParentIds,
12129
12146
  onToggleCollapse: externalOnToggleCollapse,
12130
12147
  highlightedTaskIds,
12148
+ fillParentRowsInTaskList,
12131
12149
  enableTaskMultiSelect = false,
12132
12150
  selectedTaskIds,
12133
12151
  onSelectedTaskIdsChange,
@@ -12180,6 +12198,7 @@ function TaskGanttChartInner(props, ref) {
12180
12198
  const taskDateChangeMode = externalTaskDateChangeMode ?? internalTaskDateChangeMode;
12181
12199
  const handleTaskDateChangeMode = externalOnTaskDateChangeModeChange ?? setInternalTaskDateChangeMode;
12182
12200
  const resolvedRowContentLines = isPlanFactMode ? Math.max(2, Math.floor(rowContentLines)) : Math.max(1, Math.floor(rowContentLines));
12201
+ const shouldFillParentRowsInTaskList = fillParentRowsInTaskList ?? isPlanFactMode;
12183
12202
  const effectiveRowHeight = (0, import_react18.useMemo)(
12184
12203
  () => Math.max(rowHeight, 10 + resolvedRowContentLines * 18),
12185
12204
  [resolvedRowContentLines, rowHeight]
@@ -12989,6 +13008,7 @@ function TaskGanttChartInner(props, ref) {
12989
13008
  onDemoteTask: onDemoteTask ?? handleDemoteTask,
12990
13009
  onUngroupTask: onUngroupTask ?? handleUngroupTask,
12991
13010
  highlightedTaskIds: taskListHighlightedTaskIds,
13011
+ fillParentRows: shouldFillParentRowsInTaskList,
12992
13012
  enableTaskMultiSelect,
12993
13013
  selectedTaskIds,
12994
13014
  onSelectedTaskIdsChange,