gantt-task-react-v 1.0.12 → 1.0.14

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.
@@ -5,7 +5,6 @@ import { CalendarProps } from "../calendar/calendar";
5
5
  import { TaskGanttContentProps } from "./task-gantt-content";
6
6
  import { GanttTaskBarActions } from "../../types";
7
7
  export interface TaskGanttProps extends GanttTaskBarActions {
8
- ganttHeight?: number;
9
8
  barProps: TaskGanttContentProps;
10
9
  calendarProps: Omit<CalendarProps, "scrollRef">;
11
10
  fullRowHeight: number;
@@ -14,7 +14,6 @@ export type TaskListProps = {
14
14
  distances: Distances;
15
15
  fullRowHeight: number;
16
16
  ganttFullHeight: number;
17
- ganttHeight?: number;
18
17
  getTaskCurrentState: (task: Task) => Task;
19
18
  handleAddTask: (task: Task | null) => void;
20
19
  handleDeleteTasks: (task: RenderTask[]) => void;
@@ -10657,14 +10657,14 @@ const TaskListTableDefaultInner = ({
10657
10657
  );
10658
10658
  };
10659
10659
  const TaskListTable = memo(TaskListTableDefaultInner);
10660
- const taskListRoot = "_taskListRoot_3y2l5_1";
10661
- const taskListHorizontalScroll = "_taskListHorizontalScroll_3y2l5_13";
10662
- const taskListResizer = "_taskListResizer_3y2l5_69";
10663
- const horizontalContainer$1 = "_horizontalContainer_3y2l5_133";
10664
- const tableWrapper = "_tableWrapper_3y2l5_145";
10665
- const scrollToTop = "_scrollToTop_3y2l5_153";
10666
- const scrollToBottom = "_scrollToBottom_3y2l5_169";
10667
- const hidden = "_hidden_3y2l5_185";
10660
+ const taskListRoot = "_taskListRoot_3vx1x_1";
10661
+ const taskListHorizontalScroll = "_taskListHorizontalScroll_3vx1x_19";
10662
+ const taskListResizer = "_taskListResizer_3vx1x_81";
10663
+ const horizontalContainer$1 = "_horizontalContainer_3vx1x_145";
10664
+ const tableWrapper = "_tableWrapper_3vx1x_161";
10665
+ const scrollToTop = "_scrollToTop_3vx1x_175";
10666
+ const scrollToBottom = "_scrollToBottom_3vx1x_191";
10667
+ const hidden = "_hidden_3vx1x_207";
10668
10668
  const styles$d = {
10669
10669
  taskListRoot,
10670
10670
  taskListHorizontalScroll,
@@ -10720,8 +10720,7 @@ const TaskListInner = ({
10720
10720
  tasks,
10721
10721
  onResizeColumn,
10722
10722
  canReorderTasks,
10723
- tableBottom,
10724
- ganttHeight
10723
+ tableBottom
10725
10724
  }) => {
10726
10725
  const [
10727
10726
  columns,
@@ -10829,17 +10828,10 @@ const TaskListInner = ({
10829
10828
  ref: taskListContainerRef,
10830
10829
  className: styles$d.horizontalContainer,
10831
10830
  style: {
10832
- // visible height: clamp between minimum rows height and ganttFullHeight,
10833
- // prefer explicit numeric ganttHeight when provided
10834
- height: (() => {
10835
- const minRowsHeight = distances.minimumRowDisplayed * distances.rowHeight;
10836
- const resolved = typeof ganttHeight === "number" ? ganttHeight : void 0;
10837
- const visible = Math.max(
10838
- minRowsHeight,
10839
- Math.min(ganttFullHeight, resolved ?? ganttFullHeight)
10840
- );
10841
- return visible;
10842
- })(),
10831
+ height: Math.min(
10832
+ ganttFullHeight,
10833
+ distances.minimumRowDisplayed * distances.rowHeight
10834
+ ),
10843
10835
  width: taskListWidth
10844
10836
  },
10845
10837
  children: /* @__PURE__ */ jsx(
@@ -13162,12 +13154,12 @@ const TaskGanttContentInner = (props) => {
13162
13154
  ] });
13163
13155
  };
13164
13156
  const TaskGanttContent = memo(TaskGanttContentInner);
13165
- const ganttVerticalContainer = "_ganttVerticalContainer_1hrwo_1";
13166
- const horizontalContainer = "_horizontalContainer_1hrwo_75";
13167
- const ganttHeader = "_ganttHeader_1hrwo_87";
13168
- const ganttBodyScroll = "_ganttBodyScroll_1hrwo_97";
13169
- const wrapper = "_wrapper_1hrwo_109";
13170
- const calendarDragging = "_calendarDragging_1hrwo_131";
13157
+ const ganttVerticalContainer = "_ganttVerticalContainer_7rmhe_1";
13158
+ const horizontalContainer = "_horizontalContainer_7rmhe_79";
13159
+ const ganttHeader = "_ganttHeader_7rmhe_95";
13160
+ const ganttBodyScroll = "_ganttBodyScroll_7rmhe_105";
13161
+ const wrapper = "_wrapper_7rmhe_121";
13162
+ const calendarDragging = "_calendarDragging_7rmhe_147";
13171
13163
  const styles$2 = {
13172
13164
  ganttVerticalContainer,
13173
13165
  horizontalContainer,
@@ -13192,31 +13184,19 @@ const TaskGanttInner = (props) => {
13192
13184
  horizontalContainerRef,
13193
13185
  onVerticalScrollbarScrollX,
13194
13186
  verticalGanttContainerRef,
13195
- verticalScrollbarRef,
13196
- ganttHeight
13187
+ verticalScrollbarRef
13197
13188
  } = props;
13198
13189
  const contentRef = React__default.useRef(null);
13199
13190
  const moveStateVertRef = useRef(null);
13200
13191
  const moveStateHorRef = useRef(null);
13201
13192
  const moveStateScrollRef = useRef(null);
13202
- const containerStyle = useMemo(() => {
13203
- const minRowsHeight = minimumRowDisplayed * rowHeight;
13204
- const resolved = typeof ganttHeight === "number" ? ganttHeight : void 0;
13205
- const visible = Math.max(
13206
- minRowsHeight,
13207
- Math.min(ganttFullHeight, resolved ?? ganttFullHeight)
13208
- );
13209
- return {
13210
- height: visible,
13193
+ const containerStyle = useMemo(
13194
+ () => ({
13195
+ height: "100%",
13211
13196
  width: fullSvgWidth
13212
- };
13213
- }, [
13214
- ganttFullHeight,
13215
- minimumRowDisplayed,
13216
- rowHeight,
13217
- fullSvgWidth,
13218
- ganttHeight
13219
- ]);
13197
+ }),
13198
+ [fullSvgWidth]
13199
+ );
13220
13200
  const gridStyle = useMemo(
13221
13201
  () => ({
13222
13202
  height: Math.max(ganttFullHeight, minimumRowDisplayed * rowHeight),
@@ -13300,18 +13280,15 @@ const TaskGanttInner = (props) => {
13300
13280
  moveStateHorRef.current = null;
13301
13281
  contentContainer.classList.remove(styles$2.calendarDragging);
13302
13282
  };
13303
- const moveListener = (evt) => onScrollMove(evt);
13304
- const startListener = (evt) => onScrollStart(evt);
13305
- const endListener = (evt) => onScrollEnd(evt);
13306
- contentContainer.addEventListener("mousemove", moveListener);
13307
- contentContainer.addEventListener("mousedown", startListener);
13308
- contentContainer.addEventListener("mouseup", endListener);
13309
- contentContainer.addEventListener("mouseout", endListener);
13283
+ contentContainer.addEventListener("mousemove", onScrollMove);
13284
+ contentContainer.addEventListener("mousedown", onScrollStart);
13285
+ contentContainer.addEventListener("mouseup", onScrollEnd);
13286
+ contentContainer.addEventListener("mouseout", onScrollEnd);
13310
13287
  return () => {
13311
- contentContainer.removeEventListener("mousemove", moveListener);
13312
- contentContainer.removeEventListener("mousedown", startListener);
13313
- contentContainer.removeEventListener("mouseup", endListener);
13314
- contentContainer.removeEventListener("mouseout", endListener);
13288
+ contentContainer.removeEventListener("mousemove", onScrollMove);
13289
+ contentContainer.removeEventListener("mousedown", onScrollStart);
13290
+ contentContainer.removeEventListener("mouseup", onScrollEnd);
13291
+ contentContainer.removeEventListener("mouseout", onScrollEnd);
13315
13292
  };
13316
13293
  }, [verticalScrollbarRef, horizontalContainerRef, verticalGanttContainerRef]);
13317
13294
  return /* @__PURE__ */ jsxs(
@@ -18937,30 +18914,14 @@ const Gantt = (props) => {
18937
18914
  return () => {
18938
18915
  };
18939
18916
  }
18940
- const measureWithAncestorFallback = (el) => {
18941
- const rect = el.getBoundingClientRect();
18942
- let height = rect.height;
18943
- try {
18944
- let p = el.parentElement;
18945
- while (p) {
18946
- const pRect = p.getBoundingClientRect();
18947
- if (pRect.height > height + 1) {
18948
- height = pRect.height;
18949
- break;
18950
- }
18951
- p = p.parentElement;
18952
- }
18953
- } catch (e) {
18954
- }
18955
- return height;
18956
- };
18957
- setMeasuredHeight(measureWithAncestorFallback(node));
18917
+ setMeasuredHeight(node.getBoundingClientRect().height);
18958
18918
  const ResizeObserverCtor = window.ResizeObserver;
18959
18919
  let ro;
18960
18920
  if (typeof ResizeObserverCtor === "function") {
18961
18921
  const ctor = ResizeObserverCtor;
18962
18922
  ro = new ctor(() => {
18963
- setMeasuredHeight(measureWithAncestorFallback(node));
18923
+ const rect = node.getBoundingClientRect();
18924
+ setMeasuredHeight(rect.height);
18964
18925
  });
18965
18926
  ro.observe(node);
18966
18927
  }
@@ -19872,7 +19833,6 @@ const Gantt = (props) => {
19872
19833
  distances,
19873
19834
  fullRowHeight,
19874
19835
  ganttFullHeight,
19875
- ganttHeight,
19876
19836
  getTaskCurrentState,
19877
19837
  handleAddTask,
19878
19838
  handleDeleteTasks,
@@ -19902,7 +19862,6 @@ const Gantt = (props) => {
19902
19862
  distances,
19903
19863
  fullRowHeight,
19904
19864
  ganttFullHeight,
19905
- ganttHeight,
19906
19865
  getTaskCurrentState,
19907
19866
  handleAddTask,
19908
19867
  handleDeleteTasks,
@@ -19926,7 +19885,7 @@ const Gantt = (props) => {
19926
19885
  return /* @__PURE__ */ jsx(GanttThemeProvider, { theme, children: (cssVars) => /* @__PURE__ */ jsx(GanttLocaleProvider, { locale, children: /* @__PURE__ */ jsxs(
19927
19886
  "div",
19928
19887
  {
19929
- style: typeof clientHeight === "string" ? { ...cssVars, height: clientHeight } : cssVars,
19888
+ style: cssVars,
19930
19889
  className: `${styles$2.wrapper} gantt`,
19931
19890
  onKeyDown: handleKeyDown,
19932
19891
  tabIndex: 0,
@@ -19943,7 +19902,6 @@ const Gantt = (props) => {
19943
19902
  fullRowHeight,
19944
19903
  fullSvgWidth,
19945
19904
  ganttFullHeight,
19946
- ganttHeight,
19947
19905
  ganttSVGRef,
19948
19906
  ganttTodayProps: gridProps,
19949
19907
  horizontalContainerRef,
@@ -10674,14 +10674,14 @@
10674
10674
  );
10675
10675
  };
10676
10676
  const TaskListTable = React.memo(TaskListTableDefaultInner);
10677
- const taskListRoot = "_taskListRoot_3y2l5_1";
10678
- const taskListHorizontalScroll = "_taskListHorizontalScroll_3y2l5_13";
10679
- const taskListResizer = "_taskListResizer_3y2l5_69";
10680
- const horizontalContainer$1 = "_horizontalContainer_3y2l5_133";
10681
- const tableWrapper = "_tableWrapper_3y2l5_145";
10682
- const scrollToTop = "_scrollToTop_3y2l5_153";
10683
- const scrollToBottom = "_scrollToBottom_3y2l5_169";
10684
- const hidden = "_hidden_3y2l5_185";
10677
+ const taskListRoot = "_taskListRoot_3vx1x_1";
10678
+ const taskListHorizontalScroll = "_taskListHorizontalScroll_3vx1x_19";
10679
+ const taskListResizer = "_taskListResizer_3vx1x_81";
10680
+ const horizontalContainer$1 = "_horizontalContainer_3vx1x_145";
10681
+ const tableWrapper = "_tableWrapper_3vx1x_161";
10682
+ const scrollToTop = "_scrollToTop_3vx1x_175";
10683
+ const scrollToBottom = "_scrollToBottom_3vx1x_191";
10684
+ const hidden = "_hidden_3vx1x_207";
10685
10685
  const styles$d = {
10686
10686
  taskListRoot,
10687
10687
  taskListHorizontalScroll,
@@ -10737,8 +10737,7 @@
10737
10737
  tasks,
10738
10738
  onResizeColumn,
10739
10739
  canReorderTasks,
10740
- tableBottom,
10741
- ganttHeight
10740
+ tableBottom
10742
10741
  }) => {
10743
10742
  const [
10744
10743
  columns,
@@ -10846,17 +10845,10 @@
10846
10845
  ref: taskListContainerRef,
10847
10846
  className: styles$d.horizontalContainer,
10848
10847
  style: {
10849
- // visible height: clamp between minimum rows height and ganttFullHeight,
10850
- // prefer explicit numeric ganttHeight when provided
10851
- height: (() => {
10852
- const minRowsHeight = distances.minimumRowDisplayed * distances.rowHeight;
10853
- const resolved = typeof ganttHeight === "number" ? ganttHeight : void 0;
10854
- const visible = Math.max(
10855
- minRowsHeight,
10856
- Math.min(ganttFullHeight, resolved ?? ganttFullHeight)
10857
- );
10858
- return visible;
10859
- })(),
10848
+ height: Math.min(
10849
+ ganttFullHeight,
10850
+ distances.minimumRowDisplayed * distances.rowHeight
10851
+ ),
10860
10852
  width: taskListWidth
10861
10853
  },
10862
10854
  children: /* @__PURE__ */ jsxRuntime.jsx(
@@ -13179,12 +13171,12 @@
13179
13171
  ] });
13180
13172
  };
13181
13173
  const TaskGanttContent = React.memo(TaskGanttContentInner);
13182
- const ganttVerticalContainer = "_ganttVerticalContainer_1hrwo_1";
13183
- const horizontalContainer = "_horizontalContainer_1hrwo_75";
13184
- const ganttHeader = "_ganttHeader_1hrwo_87";
13185
- const ganttBodyScroll = "_ganttBodyScroll_1hrwo_97";
13186
- const wrapper = "_wrapper_1hrwo_109";
13187
- const calendarDragging = "_calendarDragging_1hrwo_131";
13174
+ const ganttVerticalContainer = "_ganttVerticalContainer_7rmhe_1";
13175
+ const horizontalContainer = "_horizontalContainer_7rmhe_79";
13176
+ const ganttHeader = "_ganttHeader_7rmhe_95";
13177
+ const ganttBodyScroll = "_ganttBodyScroll_7rmhe_105";
13178
+ const wrapper = "_wrapper_7rmhe_121";
13179
+ const calendarDragging = "_calendarDragging_7rmhe_147";
13188
13180
  const styles$2 = {
13189
13181
  ganttVerticalContainer,
13190
13182
  horizontalContainer,
@@ -13209,31 +13201,19 @@
13209
13201
  horizontalContainerRef,
13210
13202
  onVerticalScrollbarScrollX,
13211
13203
  verticalGanttContainerRef,
13212
- verticalScrollbarRef,
13213
- ganttHeight
13204
+ verticalScrollbarRef
13214
13205
  } = props;
13215
13206
  const contentRef = React.useRef(null);
13216
13207
  const moveStateVertRef = React.useRef(null);
13217
13208
  const moveStateHorRef = React.useRef(null);
13218
13209
  const moveStateScrollRef = React.useRef(null);
13219
- const containerStyle = React.useMemo(() => {
13220
- const minRowsHeight = minimumRowDisplayed * rowHeight;
13221
- const resolved = typeof ganttHeight === "number" ? ganttHeight : void 0;
13222
- const visible = Math.max(
13223
- minRowsHeight,
13224
- Math.min(ganttFullHeight, resolved ?? ganttFullHeight)
13225
- );
13226
- return {
13227
- height: visible,
13210
+ const containerStyle = React.useMemo(
13211
+ () => ({
13212
+ height: "100%",
13228
13213
  width: fullSvgWidth
13229
- };
13230
- }, [
13231
- ganttFullHeight,
13232
- minimumRowDisplayed,
13233
- rowHeight,
13234
- fullSvgWidth,
13235
- ganttHeight
13236
- ]);
13214
+ }),
13215
+ [fullSvgWidth]
13216
+ );
13237
13217
  const gridStyle = React.useMemo(
13238
13218
  () => ({
13239
13219
  height: Math.max(ganttFullHeight, minimumRowDisplayed * rowHeight),
@@ -13317,18 +13297,15 @@
13317
13297
  moveStateHorRef.current = null;
13318
13298
  contentContainer.classList.remove(styles$2.calendarDragging);
13319
13299
  };
13320
- const moveListener = (evt) => onScrollMove(evt);
13321
- const startListener = (evt) => onScrollStart(evt);
13322
- const endListener = (evt) => onScrollEnd(evt);
13323
- contentContainer.addEventListener("mousemove", moveListener);
13324
- contentContainer.addEventListener("mousedown", startListener);
13325
- contentContainer.addEventListener("mouseup", endListener);
13326
- contentContainer.addEventListener("mouseout", endListener);
13300
+ contentContainer.addEventListener("mousemove", onScrollMove);
13301
+ contentContainer.addEventListener("mousedown", onScrollStart);
13302
+ contentContainer.addEventListener("mouseup", onScrollEnd);
13303
+ contentContainer.addEventListener("mouseout", onScrollEnd);
13327
13304
  return () => {
13328
- contentContainer.removeEventListener("mousemove", moveListener);
13329
- contentContainer.removeEventListener("mousedown", startListener);
13330
- contentContainer.removeEventListener("mouseup", endListener);
13331
- contentContainer.removeEventListener("mouseout", endListener);
13305
+ contentContainer.removeEventListener("mousemove", onScrollMove);
13306
+ contentContainer.removeEventListener("mousedown", onScrollStart);
13307
+ contentContainer.removeEventListener("mouseup", onScrollEnd);
13308
+ contentContainer.removeEventListener("mouseout", onScrollEnd);
13332
13309
  };
13333
13310
  }, [verticalScrollbarRef, horizontalContainerRef, verticalGanttContainerRef]);
13334
13311
  return /* @__PURE__ */ jsxRuntime.jsxs(
@@ -18954,30 +18931,14 @@
18954
18931
  return () => {
18955
18932
  };
18956
18933
  }
18957
- const measureWithAncestorFallback = (el) => {
18958
- const rect = el.getBoundingClientRect();
18959
- let height = rect.height;
18960
- try {
18961
- let p = el.parentElement;
18962
- while (p) {
18963
- const pRect = p.getBoundingClientRect();
18964
- if (pRect.height > height + 1) {
18965
- height = pRect.height;
18966
- break;
18967
- }
18968
- p = p.parentElement;
18969
- }
18970
- } catch (e) {
18971
- }
18972
- return height;
18973
- };
18974
- setMeasuredHeight(measureWithAncestorFallback(node));
18934
+ setMeasuredHeight(node.getBoundingClientRect().height);
18975
18935
  const ResizeObserverCtor = window.ResizeObserver;
18976
18936
  let ro;
18977
18937
  if (typeof ResizeObserverCtor === "function") {
18978
18938
  const ctor = ResizeObserverCtor;
18979
18939
  ro = new ctor(() => {
18980
- setMeasuredHeight(measureWithAncestorFallback(node));
18940
+ const rect = node.getBoundingClientRect();
18941
+ setMeasuredHeight(rect.height);
18981
18942
  });
18982
18943
  ro.observe(node);
18983
18944
  }
@@ -19889,7 +19850,6 @@
19889
19850
  distances,
19890
19851
  fullRowHeight,
19891
19852
  ganttFullHeight,
19892
- ganttHeight,
19893
19853
  getTaskCurrentState,
19894
19854
  handleAddTask,
19895
19855
  handleDeleteTasks,
@@ -19919,7 +19879,6 @@
19919
19879
  distances,
19920
19880
  fullRowHeight,
19921
19881
  ganttFullHeight,
19922
- ganttHeight,
19923
19882
  getTaskCurrentState,
19924
19883
  handleAddTask,
19925
19884
  handleDeleteTasks,
@@ -19943,7 +19902,7 @@
19943
19902
  return /* @__PURE__ */ jsxRuntime.jsx(GanttThemeProvider, { theme, children: (cssVars) => /* @__PURE__ */ jsxRuntime.jsx(GanttLocaleProvider, { locale, children: /* @__PURE__ */ jsxRuntime.jsxs(
19944
19903
  "div",
19945
19904
  {
19946
- style: typeof clientHeight === "string" ? { ...cssVars, height: clientHeight } : cssVars,
19905
+ style: cssVars,
19947
19906
  className: `${styles$2.wrapper} gantt`,
19948
19907
  onKeyDown: handleKeyDown,
19949
19908
  tabIndex: 0,
@@ -19960,7 +19919,6 @@
19960
19919
  fullRowHeight,
19961
19920
  fullSvgWidth,
19962
19921
  ganttFullHeight,
19963
- ganttHeight,
19964
19922
  ganttSVGRef,
19965
19923
  ganttTodayProps: gridProps,
19966
19924
  horizontalContainerRef,
package/dist/style.css CHANGED
@@ -282,26 +282,32 @@
282
282
  border-bottom: 1px solid var(--gantt-divider-color);
283
283
  table-layout: fixed;
284
284
  }
285
- ._taskListRoot_3y2l5_1 {
285
+ ._taskListRoot_3vx1x_1 {
286
286
  position: relative;
287
287
  /*noinspection CssUnresolvedCustomProperty*/
288
288
  border-left: 1px solid var(--gantt-table-divider-color, var(--gantt-divider-color));
289
+ height: 100%;
290
+ display: flex;
291
+ flex-direction: column;
289
292
  }
290
293
 
291
- ._taskListHorizontalScroll_3y2l5_13 {
294
+ ._taskListHorizontalScroll_3vx1x_19 {
292
295
  overflow-x: scroll;
296
+ flex: 1 1 auto;
297
+ display: flex;
298
+ flex-direction: column;
293
299
  }
294
300
 
295
- ._taskListHorizontalScroll_3y2l5_13::-webkit-scrollbar {
301
+ ._taskListHorizontalScroll_3vx1x_19::-webkit-scrollbar {
296
302
  width: 1rem;
297
303
  height: 1rem;
298
304
  }
299
305
 
300
- ._taskListHorizontalScroll_3y2l5_13::-webkit-scrollbar-corner {
306
+ ._taskListHorizontalScroll_3vx1x_19::-webkit-scrollbar-corner {
301
307
  background: transparent;
302
308
  }
303
309
 
304
- ._taskListHorizontalScroll_3y2l5_13::-webkit-scrollbar-thumb {
310
+ ._taskListHorizontalScroll_3vx1x_19::-webkit-scrollbar-thumb {
305
311
  border: 4px solid transparent;
306
312
  /*noinspection CssUnresolvedCustomProperty*/
307
313
  background: var(--gantt-scrollbar-thumb-color);
@@ -309,14 +315,14 @@
309
315
  background-clip: padding-box;
310
316
  }
311
317
 
312
- ._taskListHorizontalScroll_3y2l5_13::-webkit-scrollbar-thumb:hover {
318
+ ._taskListHorizontalScroll_3vx1x_19::-webkit-scrollbar-thumb:hover {
313
319
  border: 2px solid transparent;
314
320
  /*noinspection CssUnresolvedCustomProperty*/
315
321
  background: var(--gantt-scrollbar-thumb-color);
316
322
  background-clip: padding-box;
317
323
  }
318
324
 
319
- ._taskListResizer_3y2l5_69 {
325
+ ._taskListResizer_3vx1x_81 {
320
326
  position: absolute;
321
327
  top: 0;
322
328
  right: -3px;
@@ -328,16 +334,16 @@
328
334
  }
329
335
 
330
336
  /*noinspection CssUnresolvedCustomProperty*/
331
- ._taskListResizer_3y2l5_69:hover {
337
+ ._taskListResizer_3vx1x_81:hover {
332
338
  background-color: var(--gantt-table-hover-action-color);
333
339
  filter: var(--gantt-hover-filter);
334
340
  }
335
341
 
336
- ._taskListResizer_3y2l5_69:hover::before {
342
+ ._taskListResizer_3vx1x_81:hover::before {
337
343
  display: none;
338
344
  }
339
345
 
340
- ._taskListResizer_3y2l5_69::before {
346
+ ._taskListResizer_3vx1x_81::before {
341
347
  content: "";
342
348
  position: absolute;
343
349
  top: 0;
@@ -348,17 +354,22 @@
348
354
  background-color: var(--gantt-table-resize-color, var(--gantt-divider-color));
349
355
  }
350
356
 
351
- ._horizontalContainer_3y2l5_133 {
357
+ ._horizontalContainer_3vx1x_145 {
352
358
  margin: 0;
353
359
  padding: 0;
354
360
  overflow: hidden;
361
+ height: 100%;
362
+ min-height: 0;
355
363
  }
356
364
 
357
- ._tableWrapper_3y2l5_145 {
365
+ ._tableWrapper_3vx1x_161 {
358
366
  position: relative;
367
+ flex: 1 1 auto;
368
+ display: flex;
369
+ flex-direction: column;
359
370
  }
360
371
 
361
- ._scrollToTop_3y2l5_153 {
372
+ ._scrollToTop_3vx1x_175 {
362
373
  position: absolute;
363
374
  top: 0;
364
375
  left: 0;
@@ -366,7 +377,7 @@
366
377
  height: 20px;
367
378
  }
368
379
 
369
- ._scrollToBottom_3y2l5_169 {
380
+ ._scrollToBottom_3vx1x_191 {
370
381
  position: absolute;
371
382
  bottom: 0;
372
383
  left: 0;
@@ -374,7 +385,7 @@
374
385
  height: 20px;
375
386
  }
376
387
 
377
- ._hidden_3y2l5_185 {
388
+ ._hidden_3vx1x_207 {
378
389
  display: none;
379
390
  }
380
391
  ._ganttToday_1oyhk_1 {
@@ -568,29 +579,31 @@
568
579
  user-select: none;
569
580
  stroke-width: 0;
570
581
  }
571
- ._ganttVerticalContainer_1hrwo_1 {
582
+ ._ganttVerticalContainer_7rmhe_1 {
572
583
  display: flex;
573
584
  flex-direction: column;
574
- overflow-x: scroll;
575
- overflow-y: scroll;
585
+ overflow-x: hidden;
586
+ overflow-y: hidden;
576
587
  font-size: 0;
577
588
  margin: 0;
578
589
  padding: 0;
579
590
  /*noinspection CssUnresolvedCustomProperty*/
580
591
  border-right: 1px solid var(--gantt-calendar-divider-color, var(--gantt-divider-color));
581
592
  flex-grow: 1;
593
+ height: 100%;
594
+ min-height: 0;
582
595
  }
583
596
 
584
- ._ganttVerticalContainer_1hrwo_1::-webkit-scrollbar {
597
+ ._ganttVerticalContainer_7rmhe_1::-webkit-scrollbar {
585
598
  width: 1rem;
586
599
  height: 1rem;
587
600
  }
588
601
 
589
- ._ganttVerticalContainer_1hrwo_1::-webkit-scrollbar-corner {
602
+ ._ganttVerticalContainer_7rmhe_1::-webkit-scrollbar-corner {
590
603
  background: transparent;
591
604
  }
592
605
 
593
- ._ganttVerticalContainer_1hrwo_1::-webkit-scrollbar-thumb {
606
+ ._ganttVerticalContainer_7rmhe_1::-webkit-scrollbar-thumb {
594
607
  border: 4px solid transparent;
595
608
  /*noinspection CssUnresolvedCustomProperty*/
596
609
  background: var(--gantt-scrollbar-thumb-color);
@@ -598,31 +611,35 @@
598
611
  background-clip: padding-box;
599
612
  }
600
613
 
601
- ._ganttVerticalContainer_1hrwo_1::-webkit-scrollbar-thumb:hover {
614
+ ._ganttVerticalContainer_7rmhe_1::-webkit-scrollbar-thumb:hover {
602
615
  border: 2px solid transparent;
603
616
  /*noinspection CssUnresolvedCustomProperty*/
604
617
  background: var(--gantt-scrollbar-thumb-color);
605
618
  background-clip: padding-box;
606
619
  }
607
620
 
608
- ._horizontalContainer_1hrwo_75 {
621
+ ._horizontalContainer_7rmhe_79 {
609
622
  margin: 0;
610
623
  padding: 0;
611
624
  overflow: hidden;
625
+ height: 100%;
626
+ min-height: 0;
612
627
  }
613
628
 
614
- ._ganttHeader_1hrwo_87 {
629
+ ._ganttHeader_7rmhe_95 {
615
630
  flex: 0 0 auto;
616
631
  z-index: 3;
617
632
  }
618
633
 
619
- ._ganttBodyScroll_1hrwo_97 {
634
+ ._ganttBodyScroll_7rmhe_105 {
620
635
  flex: 1 1 auto;
621
636
  overflow-y: auto;
622
637
  overflow-x: hidden;
638
+ min-height: 0;
639
+ height: 100%;
623
640
  }
624
641
 
625
- ._wrapper_1hrwo_109 {
642
+ ._wrapper_7rmhe_121 {
626
643
  display: flex;
627
644
  padding: 0;
628
645
  margin: 0;
@@ -631,9 +648,11 @@
631
648
  position: relative;
632
649
  /*noinspection CssUnresolvedCustomProperty*/
633
650
  border-bottom: 1px solid var(--gantt-divider-color);
651
+ height: 100%;
652
+ min-height: 0;
634
653
  }
635
654
 
636
- ._calendarDragging_1hrwo_131 {
655
+ ._calendarDragging_7rmhe_147 {
637
656
  cursor: grabbing;
638
657
  }
639
658
  /*noinspection CssUnresolvedCustomProperty*/
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "gantt-task-react-v",
3
- "version": "1.0.12",
3
+ "version": "1.0.14",
4
4
  "description": "Interactive Gantt Chart for React with TypeScript.",
5
5
  "author": "aguilanbon",
6
6
  "homepage": "https://github.com/aguilanbon/gantt-task-react-v",
@@ -23,7 +23,7 @@
23
23
  ],
24
24
  "scripts": {
25
25
  "storybook": "start-storybook -p 6006",
26
- "build": "vite build && tsc",
26
+ "build": "vite build && node -e \"require('child_process').execSync('tsc', {stdio:'inherit'})\"",
27
27
  "start": "vite --host",
28
28
  "prepare": "npm run build",
29
29
  "lint": "eslint . --ext ts,tsx --report-unused-disable-directives --max-warnings 0",