@sme.up/ketchup 10.1.2 → 10.1.5

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.
Files changed (61) hide show
  1. package/dist/cjs/ketchup.cjs.js +1 -1
  2. package/dist/cjs/kup-custom-task-list-header_4.cjs.entry.js +195 -22
  3. package/dist/cjs/kup-gantt_10.cjs.entry.js +19 -17
  4. package/dist/cjs/{kup-planner-declarations-7291d01c.js → kup-planner-declarations-959110da.js} +1 -1
  5. package/dist/cjs/kup-planner-renderer.cjs.entry.js +3 -3
  6. package/dist/cjs/kup-planner.cjs.entry.js +112 -4
  7. package/dist/cjs/loader.cjs.js +1 -1
  8. package/dist/collection/assets/index.js +4 -0
  9. package/dist/collection/assets/planner-example-7.js +370 -0
  10. package/dist/collection/components/kup-planner/kup-planner-declarations.js +1 -1
  11. package/dist/collection/components/kup-planner/kup-planner.js +153 -3
  12. package/dist/collection/components/kup-planner/utils/custom-task-list-table.js +30 -12
  13. package/dist/collection/components/kup-planner/utils/kup-gantt/kup-gantt.js +31 -7
  14. package/dist/collection/components/kup-planner/utils/kup-grid-renderer/kup-grid-renderer.js +181 -4
  15. package/dist/collection/components/kup-planner/utils/kup-planner-renderer.js +2 -2
  16. package/dist/collection/components/kup-planner/utils/kup-task-gantt/kup-task-gantt.js +4 -4
  17. package/dist/collection/components/kup-planner/utils/kup-task-list/kup-task-list.css +1 -0
  18. package/dist/components/kup-custom-task-list-table.js +1 -1
  19. package/dist/components/kup-gantt.js +1 -1
  20. package/dist/components/kup-grid-renderer.js +1 -1
  21. package/dist/components/kup-planner-renderer.js +1 -1
  22. package/dist/components/kup-planner.js +122 -12
  23. package/dist/components/kup-task-gantt.js +1 -1
  24. package/dist/components/kup-task-list-header.js +1 -1
  25. package/dist/components/kup-task-list-table.js +1 -1
  26. package/dist/components/kup-task-list.js +1 -1
  27. package/dist/components/{p-76c4c708.js → p-26d3e5b2.js} +1 -1
  28. package/dist/components/{p-2fff7268.js → p-45cdd2a4.js} +10 -10
  29. package/dist/components/{p-a0eeacbd.js → p-4edc1bd0.js} +1 -1
  30. package/dist/components/{p-9da8cd93.js → p-5cbf86c3.js} +13 -10
  31. package/dist/components/{p-53e38c4a.js → p-90c212d2.js} +1 -1
  32. package/dist/components/{p-0e6c0355.js → p-9c8c4e2e.js} +30 -12
  33. package/dist/components/{p-5517e8e8.js → p-c2b9b4ba.js} +4 -4
  34. package/dist/components/{p-4efa19a7.js → p-c8302548.js} +3 -3
  35. package/dist/components/{p-c43d08ab.js → p-d72814f5.js} +161 -5
  36. package/dist/esm/ketchup.js +1 -1
  37. package/dist/esm/kup-custom-task-list-header_4.entry.js +191 -18
  38. package/dist/esm/kup-gantt_10.entry.js +14 -12
  39. package/dist/esm/{kup-planner-declarations-0704bc6c.js → kup-planner-declarations-5981474b.js} +1 -1
  40. package/dist/esm/kup-planner-renderer.entry.js +3 -3
  41. package/dist/esm/kup-planner.entry.js +112 -4
  42. package/dist/esm/loader.js +1 -1
  43. package/dist/ketchup/ketchup.esm.js +1 -1
  44. package/dist/ketchup/p-088e2f23.entry.js +1 -0
  45. package/dist/ketchup/p-58bc7c00.entry.js +1 -0
  46. package/dist/ketchup/{p-54ebe3bd.entry.js → p-6aec24be.entry.js} +1 -1
  47. package/dist/ketchup/p-78c0ff1b.js +1 -0
  48. package/dist/ketchup/p-ca9ec047.entry.js +16 -0
  49. package/dist/types/components/kup-planner/kup-planner-declarations.d.ts +19 -0
  50. package/dist/types/components/kup-planner/kup-planner.d.ts +12 -1
  51. package/dist/types/components/kup-planner/utils/kup-gantt/kup-gantt.d.ts +2 -1
  52. package/dist/types/components/kup-planner/utils/kup-grid-renderer/kup-grid-renderer.d.ts +7 -0
  53. package/dist/types/components.d.ts +24 -2
  54. package/package.json +1 -1
  55. package/dist/ketchup/p-008bdcdc.js +0 -1
  56. package/dist/ketchup/p-792e9244.entry.js +0 -1
  57. package/dist/ketchup/p-e8823224.entry.js +0 -1
  58. package/dist/ketchup/p-f38c2d0e.entry.js +0 -16
  59. package/dist/cjs/{bar.helpers-c481a535.js → other.helpers-8782a839.js} +46 -46
  60. package/dist/esm/{bar.helpers-23a51579.js → other.helpers-83e3225b.js} +46 -46
  61. /package/dist/ketchup/{p-cd3a7d53.js → p-17c9ef50.js} +0 -0
@@ -1,20 +1,20 @@
1
1
  import { p as proxyCustomElement, H, c as createEvent, f as forceUpdate, h, d as Host, g as getAssetPath } from './p-2e5f2e07.js';
2
2
  import { k as kupManagerInstance, m as getCellValueForDisplay, g as getProps, s as setProps, c as KupThemeIconValues, H as KupLanguageSearch } from './p-ab7c8404.js';
3
- import { a as KupPlannerGanttRowType, d as defaultStylingOptions, b as KupPlannerTaskAction, c as KupPlannerLastOnChangeReceived, e as KupPlannerProps } from './p-a0eeacbd.js';
3
+ import { a as KupPlannerGanttRowType, d as defaultStylingOptions, b as KupPlannerTaskAction, c as KupPlannerLastOnChangeReceived, e as KupPlannerProps } from './p-4edc1bd0.js';
4
4
  import { O as FTextFieldMDC, _ as FTextField, c as componentWrapperId, d as defineCustomElement$3, a as defineCustomElement$5, b as defineCustomElement$6, e as defineCustomElement$7, f as defineCustomElement$c, g as defineCustomElement$e, h as defineCustomElement$g, i as defineCustomElement$h, j as defineCustomElement$i, k as defineCustomElement$j, l as defineCustomElement$l, m as defineCustomElement$m, n as defineCustomElement$p, o as defineCustomElement$s, p as defineCustomElement$t, q as defineCustomElement$u, r as defineCustomElement$v, s as defineCustomElement$w, t as defineCustomElement$z, u as defineCustomElement$A, v as defineCustomElement$B, w as defineCustomElement$C, x as defineCustomElement$D, y as defineCustomElement$E, z as defineCustomElement$F, A as defineCustomElement$G, B as defineCustomElement$H, C as defineCustomElement$I } from './p-0c219ec5.js';
5
5
  import { d as defineCustomElement$y } from './p-aec44f8f.js';
6
- import { d as defineCustomElement$x } from './p-0e6c0355.js';
7
- import { d as defineCustomElement$r } from './p-9da8cd93.js';
6
+ import { d as defineCustomElement$x } from './p-9c8c4e2e.js';
7
+ import { d as defineCustomElement$r } from './p-5cbf86c3.js';
8
8
  import { d as defineCustomElement$q } from './p-c62695d4.js';
9
- import { d as defineCustomElement$o } from './p-c43d08ab.js';
9
+ import { d as defineCustomElement$o } from './p-d72814f5.js';
10
10
  import { d as defineCustomElement$n } from './p-e677dddf.js';
11
- import { d as defineCustomElement$k } from './p-2fff7268.js';
11
+ import { d as defineCustomElement$k } from './p-45cdd2a4.js';
12
12
  import { d as defineCustomElement$f } from './p-01015d54.js';
13
13
  import { d as defineCustomElement$d } from './p-304eab56.js';
14
- import { d as defineCustomElement$b } from './p-5517e8e8.js';
15
- import { d as defineCustomElement$a } from './p-4efa19a7.js';
16
- import { d as defineCustomElement$9 } from './p-76c4c708.js';
17
- import { d as defineCustomElement$8 } from './p-53e38c4a.js';
14
+ import { d as defineCustomElement$b } from './p-c2b9b4ba.js';
15
+ import { d as defineCustomElement$a } from './p-c8302548.js';
16
+ import { d as defineCustomElement$9 } from './p-26d3e5b2.js';
17
+ import { d as defineCustomElement$8 } from './p-90c212d2.js';
18
18
  import { d as defineCustomElement$4 } from './p-ea6e4e37.js';
19
19
  import { d as defineCustomElement$2 } from './p-709a51cf.js';
20
20
 
@@ -197,6 +197,7 @@ const KupPlanner$1 = /*@__PURE__*/ proxyCustomElement(class KupPlanner extends H
197
197
  this.listCellWidth = '300px';
198
198
  this.maxWidth = '90vw';
199
199
  this.phaseColorCol = undefined;
200
+ this.dependencyCol = undefined;
200
201
  this.phaseColumns = undefined;
201
202
  this.phaseColParDep = undefined;
202
203
  this.phaseDates = undefined;
@@ -206,6 +207,7 @@ const KupPlanner$1 = /*@__PURE__*/ proxyCustomElement(class KupPlanner extends H
206
207
  this.phaseNameCol = undefined;
207
208
  this.phasePrevHours = [];
208
209
  this.phasePrevDates = undefined;
210
+ this.dependencies = [];
209
211
  this.readOnly = false;
210
212
  this.showSecondaryDates = false;
211
213
  this.taskColumns = undefined;
@@ -324,11 +326,12 @@ const KupPlanner$1 = /*@__PURE__*/ proxyCustomElement(class KupPlanner extends H
324
326
  * @param data - Matrix which contains project phases
325
327
  */
326
328
  async addPhases(taskId, data) {
327
- var _a;
329
+ var _a, _b, _c, _d, _e, _f, _g;
328
330
  const task = __classPrivateFieldGet(this, _KupPlanner_instances, "m", _KupPlanner_getTask).call(this, taskId);
329
331
  if (task) {
330
332
  __classPrivateFieldGet(this, _KupPlanner_phases, "f")[taskId] = data;
331
333
  task.phases = (_a = data.rows) === null || _a === void 0 ? void 0 : _a.filter((row) => isAtLeastOneDateValid(row.cells[this.phaseDates[0]], row.cells[this.phaseDates[1]])).map((row) => {
334
+ var _a, _b;
332
335
  const datesSanitized = sanitizeAllDates(row.cells[this.phaseDates[0]], row.cells[this.phaseDates[1]], row.cells[this.phasePrevDates[0]], row.cells[this.phasePrevDates[1]], row.cells[this.phaseHours[0]], row.cells[this.phaseHours[1]], row.cells[this.phasePrevHours[0]], row.cells[this.phasePrevHours[1]]);
333
336
  const valuesToShow = getValuesToShow(row, this.phaseIdCol, this.phaseNameCol, data.columns, this.phaseColumns, () => this.phaseColumns.map((col) => col == this.phaseDates[0]
334
337
  ? '#START#'
@@ -337,10 +340,12 @@ const KupPlanner$1 = /*@__PURE__*/ proxyCustomElement(class KupPlanner extends H
337
340
  : getCellValueForDisplay(data.columns.find((kCol) => kCol.name == col), row.cells[col])));
338
341
  let iconUrl = __classPrivateFieldGet(this, _KupPlanner_instances, "m", _KupPlanner_getIconUrl).call(this, row, this.phaseIconCol);
339
342
  let iconColor = __classPrivateFieldGet(this, _KupPlanner_instances, "m", _KupPlanner_getIconColor).call(this, row, this.phaseIconCol);
343
+ const _phaseIdRaw = ((_b = (_a = row.cells[this.phaseIdCol]) === null || _a === void 0 ? void 0 : _a.value) !== null && _b !== void 0 ? _b : '') + '';
340
344
  let phase = {
341
345
  taskRow: task.taskRow,
342
346
  phaseRow: row,
343
- id: task.id + '_' + row.cells[this.phaseIdCol].value,
347
+ // trim the phase id value to avoid padded/trailing spaces
348
+ id: `${task.id}_${_phaseIdRaw.trim()}`,
344
349
  phaseRowId: row.id,
345
350
  taskRowId: task.taskRowId,
346
351
  name: row.cells[this.phaseNameCol].value,
@@ -363,6 +368,92 @@ const KupPlanner$1 = /*@__PURE__*/ proxyCustomElement(class KupPlanner extends H
363
368
  };
364
369
  return phase;
365
370
  });
371
+ // Diagnostic: log created phase ids for the task
372
+ try {
373
+ // eslint-disable-next-line no-console
374
+ console.log('kup-planner: addPhases created phases for', taskId, task.phases ? task.phases.map((p) => p.id) : []);
375
+ }
376
+ catch (e) {
377
+ /* ignore */
378
+ }
379
+ // If the phases dataset includes a dependency column, parse it and
380
+ // create structured dependencies. The column may contain a single
381
+ // dependency id or multiple comma-separated ids. The values can be
382
+ // either phase codes (e.g. 'P410') or full runtime ids
383
+ // ('G418_P410'). We'll normalize to runtime ids using the current
384
+ // task id when necessary.
385
+ try {
386
+ if (this.dependencyCol &&
387
+ data.columns.find((c) => c.name == this.dependencyCol)) {
388
+ const parsedDeps = [];
389
+ for (const row of data.rows || []) {
390
+ const raw = ((_d = (_c = (_b = row.cells) === null || _b === void 0 ? void 0 : _b[this.dependencyCol]) === null || _c === void 0 ? void 0 : _c.value) !== null && _d !== void 0 ? _d : '') + '';
391
+ if (!raw)
392
+ continue;
393
+ const parts = raw
394
+ .split(',')
395
+ .map((s) => s.trim())
396
+ .filter(Boolean);
397
+ // compute current phase runtime id (target of dependencies)
398
+ const phaseCode = ((_g = (_f = (_e = row.cells) === null || _e === void 0 ? void 0 : _e[this.phaseIdCol]) === null || _f === void 0 ? void 0 : _f.value) !== null && _g !== void 0 ? _g : '') + '';
399
+ const currentPhaseId = `${task.id}_${phaseCode.trim()}`;
400
+ for (const part of parts) {
401
+ // normalize referenced (source) phase id
402
+ let sourcePhaseId = part;
403
+ if (!sourcePhaseId.includes('_')) {
404
+ // assume phase code in the same task -> make runtime id
405
+ sourcePhaseId = `${task.id}_${sourcePhaseId}`;
406
+ }
407
+ // dependency goes from the referenced phase (source) to the current phase (target)
408
+ const depId = `${sourcePhaseId}__${currentPhaseId}`;
409
+ parsedDeps.push({
410
+ id: depId,
411
+ sourceId: sourcePhaseId,
412
+ targetId: currentPhaseId,
413
+ type: 'FS',
414
+ });
415
+ }
416
+ }
417
+ if (parsedDeps.length) {
418
+ // ensure plannerProps.mainGantt.dependencies exists
419
+ try {
420
+ if (!this.plannerProps.mainGantt.dependencies) {
421
+ this.plannerProps.mainGantt.dependencies = [];
422
+ }
423
+ }
424
+ catch (e) {
425
+ // ensure plannerProps in general exists
426
+ if (!this.plannerProps)
427
+ this.plannerProps = {};
428
+ if (!this.plannerProps.mainGantt)
429
+ this.plannerProps.mainGantt = {};
430
+ this.plannerProps.mainGantt.dependencies = [];
431
+ }
432
+ // merge while avoiding duplicates by id
433
+ const existing = new Map((this.plannerProps.mainGantt.dependencies || []).map((d) => [d.id, d]));
434
+ for (const pd of parsedDeps) {
435
+ if (!existing.has(pd.id)) {
436
+ existing.set(pd.id, pd);
437
+ }
438
+ }
439
+ this.plannerProps.mainGantt.dependencies = Array.from(existing.values());
440
+ // also forward to secondary if present
441
+ if (this.plannerProps.secondaryGantt) {
442
+ this.plannerProps.secondaryGantt.dependencies =
443
+ this.plannerProps.mainGantt.dependencies;
444
+ }
445
+ // Diagnostic
446
+ try {
447
+ // eslint-disable-next-line no-console
448
+ console.log('kup-planner: addPhases - injected dependencies', parsedDeps);
449
+ }
450
+ catch (e) { }
451
+ }
452
+ }
453
+ }
454
+ catch (e) {
455
+ // ignore parsing errors
456
+ }
366
457
  }
367
458
  this.plannerProps.mainGantt.initialScrollX =
368
459
  __classPrivateFieldGet(this, _KupPlanner_storedSettings, "f").taskInitialScrollX;
@@ -395,6 +486,7 @@ const KupPlanner$1 = /*@__PURE__*/ proxyCustomElement(class KupPlanner extends H
395
486
  }, "f");
396
487
  }
397
488
  componentDidLoad() {
489
+ var _a, _b;
398
490
  let details = __classPrivateFieldGet(this, _KupPlanner_instances, "m", _KupPlanner_toDetails).call(this, __classPrivateFieldGet(this, _KupPlanner_instances, "m", _KupPlanner_getFilteredRows).call(this, __classPrivateFieldGet(this, _KupPlanner_storedSettings, "f").detailFilter, true));
399
491
  const mainFilter = this.rootElement.shadowRoot.querySelector('#main-filter');
400
492
  FTextFieldMDC(mainFilter);
@@ -428,6 +520,8 @@ const KupPlanner$1 = /*@__PURE__*/ proxyCustomElement(class KupPlanner extends H
428
520
  taskScrollYTimeout = window.setTimeout(() => this.handleTaskGanttScrollY(y), scrollDelay);
429
521
  },
430
522
  onPhaseDrop: (nativeEvent) => this.handleOnPhaseDrop(nativeEvent),
523
+ // forward structured dependencies provided at planner level
524
+ dependencies: this.dependencies,
431
525
  },
432
526
  secondaryGantt: details
433
527
  ? {
@@ -443,6 +537,8 @@ const KupPlanner$1 = /*@__PURE__*/ proxyCustomElement(class KupPlanner extends H
443
537
  initialScrollX: this.detailInitialScrollX,
444
538
  initialScrollY: this.detailInitialScrollY,
445
539
  readOnly: this.readOnly,
540
+ // forward structured dependencies to secondary gantt as well
541
+ dependencies: this.dependencies,
446
542
  onScrollY: (y) => {
447
543
  window.clearTimeout(detailScrollYTimeout);
448
544
  detailScrollYTimeout = window.setTimeout(() => this.handleDetailGanttScrollY(y), scrollDelay);
@@ -458,6 +554,12 @@ const KupPlanner$1 = /*@__PURE__*/ proxyCustomElement(class KupPlanner extends H
458
554
  scrollXTimeout = window.setTimeout(() => this.handleOnScrollX(x), scrollDelay);
459
555
  },
460
556
  };
557
+ // Diagnostic: log what was forwarded into plannerProps.mainGantt.dependencies
558
+ try {
559
+ // eslint-disable-next-line no-console
560
+ console.log('kup-planner: componentDidLoad - plannerProps.mainGantt.dependencies', (_b = (_a = this.plannerProps) === null || _a === void 0 ? void 0 : _a.mainGantt) === null || _b === void 0 ? void 0 : _b.dependencies);
561
+ }
562
+ catch (e) { }
461
563
  this.kupReady.emit({
462
564
  comp: this,
463
565
  id: this.rootElement.id,
@@ -655,7 +757,7 @@ const KupPlanner$1 = /*@__PURE__*/ proxyCustomElement(class KupPlanner extends H
655
757
  if ((_b = this.plannerProps) === null || _b === void 0 ? void 0 : _b.secondaryGantt) {
656
758
  plannerProps.secondaryGantt = Object.assign(Object.assign({}, this.plannerProps.secondaryGantt), { onScrollY: this.handleDetailGanttScrollY.bind(this) });
657
759
  }
658
- return (h(Host, { key: 'b52aea66cafe0bdaaf314087e43f1b7dca63f154' }, h("style", { key: '3ca539838d1025757f092fc0a18e3b7264520f25' }, __classPrivateFieldGet(this, _KupPlanner_kupManager, "f").theme.setKupStyle(this.rootElement)), h("div", { key: '94527d16797e8f4262cc369cc66b9eed008b4ec6', id: componentWrapperId, style: { maxWidth: this.maxWidth } }, this.plannerProps && (h("kup-planner-renderer", { key: '6845e11fb230fbe0a72c04d5ad1c890820fdb01f', props: plannerProps, ref: (el) => (this.plannerRenderer = el) }))), h("div", { key: '6d911aaab4c3ab12a3022ee890ed449a1404ce44', style: { display: this.plannerProps ? 'none' : '' } }, h(FTextField, { key: 'fa72076cc7117e0f68396625dc4e2ec3f94fd6a6', icon: KupThemeIconValues.SEARCH, id: "main-filter", label: __classPrivateFieldGet(this, _KupPlanner_kupManager, "f").language.translate(KupLanguageSearch.SEARCH), onKeyDown: (e) => {
760
+ return (h(Host, { key: '2be4622d126df65c075552acb7af8c953cef9712' }, h("style", { key: '6ec8c1df4bd0429bfac86ca5cfba8b8eabf012e3' }, __classPrivateFieldGet(this, _KupPlanner_kupManager, "f").theme.setKupStyle(this.rootElement)), h("div", { key: '1b242d8489b6f0a95d86fb2e088839557cf9ef0d', id: componentWrapperId, style: { maxWidth: this.maxWidth } }, this.plannerProps && (h("kup-planner-renderer", { key: '31f5594e6f34012eabb69ee578ba6a71c3ac3415', props: plannerProps, ref: (el) => (this.plannerRenderer = el) }))), h("div", { key: '83cc5a397427da1a09a662936f03f14d5f0eecbf', style: { display: this.plannerProps ? 'none' : '' } }, h(FTextField, { key: '39c000f13fb6614f1a4196a57a6bbc36581af4a9', icon: KupThemeIconValues.SEARCH, id: "main-filter", label: __classPrivateFieldGet(this, _KupPlanner_kupManager, "f").language.translate(KupLanguageSearch.SEARCH), onKeyDown: (e) => {
659
761
  if (e.key === 'Enter') {
660
762
  __classPrivateFieldGet(this, _KupPlanner_instances, "m", _KupPlanner_onFilter).call(this, e.target.value);
661
763
  }
@@ -701,6 +803,7 @@ const KupPlanner$1 = /*@__PURE__*/ proxyCustomElement(class KupPlanner extends H
701
803
  "listCellWidth": [1, "list-cell-width"],
702
804
  "maxWidth": [1, "max-width"],
703
805
  "phaseColorCol": [1, "phase-color-col"],
806
+ "dependencyCol": [1, "dependency-col"],
704
807
  "phaseColumns": [16],
705
808
  "phaseColParDep": [1, "phase-col-par-dep"],
706
809
  "phaseDates": [16],
@@ -710,6 +813,7 @@ const KupPlanner$1 = /*@__PURE__*/ proxyCustomElement(class KupPlanner extends H
710
813
  "phaseNameCol": [1, "phase-name-col"],
711
814
  "phasePrevHours": [16],
712
815
  "phasePrevDates": [16],
816
+ "dependencies": [16],
713
817
  "readOnly": [4, "read-only"],
714
818
  "showSecondaryDates": [4, "show-secondary-dates"],
715
819
  "taskColumns": [16],
@@ -873,6 +977,12 @@ _KupPlanner_kupManager = new WeakMap(), _KupPlanner_lastOnChangeReceived = new W
873
977
  : {
874
978
  mainGantt: Object.assign(Object.assign({}, this.plannerProps.mainGantt), { items: __classPrivateFieldGet(this, _KupPlanner_instances, "m", _KupPlanner_toTasks).call(this, __classPrivateFieldGet(this, _KupPlanner_instances, "m", _KupPlanner_getFilteredRows).call(this, value, isDetail)) }),
875
979
  };
980
+ // Diagnostic: inspect whether planner-level `dependencies` prop is set
981
+ try {
982
+ // eslint-disable-next-line no-console
983
+ console.log('kup-planner: componentDidLoad - this.dependencies', this.dependencies);
984
+ }
985
+ catch (e) { }
876
986
  this.plannerProps = Object.assign(Object.assign({}, this.plannerProps), newGantt);
877
987
  this.persistState();
878
988
  }, _KupPlanner_getFilteredRows = function _KupPlanner_getFilteredRows(value, isDetail) {
@@ -1,4 +1,4 @@
1
- import { T as TaskGantt, d as defineCustomElement$1 } from './p-5517e8e8.js';
1
+ import { T as TaskGantt, d as defineCustomElement$1 } from './p-c2b9b4ba.js';
2
2
 
3
3
  const KupTaskGantt = TaskGantt;
4
4
  const defineCustomElement = defineCustomElement$1;
@@ -1,4 +1,4 @@
1
- import { K as KupTaskListHeader$1, d as defineCustomElement$1 } from './p-76c4c708.js';
1
+ import { K as KupTaskListHeader$1, d as defineCustomElement$1 } from './p-26d3e5b2.js';
2
2
 
3
3
  const KupTaskListHeader = KupTaskListHeader$1;
4
4
  const defineCustomElement = defineCustomElement$1;
@@ -1,4 +1,4 @@
1
- import { T as TaskListTableDefault, d as defineCustomElement$1 } from './p-53e38c4a.js';
1
+ import { T as TaskListTableDefault, d as defineCustomElement$1 } from './p-90c212d2.js';
2
2
 
3
3
  const KupTaskListTable = TaskListTableDefault;
4
4
  const defineCustomElement = defineCustomElement$1;
@@ -1,4 +1,4 @@
1
- import { T as TaskList, d as defineCustomElement$1 } from './p-4efa19a7.js';
1
+ import { T as TaskList, d as defineCustomElement$1 } from './p-c8302548.js';
2
2
 
3
3
  const KupTaskList = TaskList;
4
4
  const defineCustomElement = defineCustomElement$1;
@@ -1,6 +1,6 @@
1
1
  import { p as proxyCustomElement, H, h } from './p-2e5f2e07.js';
2
2
 
3
- const kupTaskListCss = ".kup-body-compact-01{font-family:var(--kup-font-family);font-size:var(--kup-body-compact-01-font-size, 14px);line-height:18px;font-weight:400;letter-spacing:0.16px}.kup-body-01{font-family:var(--kup-font-family);font-size:var(--kup-body-01-font-size, 14px);line-height:20px;font-weight:400;letter-spacing:0.16px}.kup-code-01{font-family:var(--kup-font-family-monospace);font-size:12px;line-height:16px;font-weight:400;letter-spacing:0.32px}.kup-label-01{font-family:var(--kup-font-family);font-size:12px;line-height:16px;font-weight:400;letter-spacing:0.32px}.kup-caption-02{font-family:var(--kup-font-family);font-size:12px;line-height:15px;font-weight:500;letter-spacing:1px}.kup-caption-01{font-family:var(--kup-font-family);font-size:10px;line-height:13px;font-weight:400;letter-spacing:1px}.kup-small-label-01{font-family:var(--kup-font-family);font-size:6px;line-height:9px;font-weight:400;letter-spacing:1px}.kup-heading-compact-01{font-family:var(--kup-font-family);font-size:14px;line-height:18px;font-weight:600;letter-spacing:0.16px}.kup-heading-01{font-family:var(--kup-font-family);font-size:14px;line-height:20px;font-weight:600;letter-spacing:0.16px}.kup-heading-02{font-family:var(--kup-font-family);font-size:16px;line-height:24px;font-weight:500;letter-spacing:0}.kup-heading-03{font-family:var(--kup-font-family);font-size:20px;line-height:28px;font-weight:400;letter-spacing:0}.kup-heading-04{font-family:var(--kup-font-family);font-size:28px;line-height:36px;font-weight:400;letter-spacing:0}.kup-heading-05{font-family:var(--kup-font-family);font-size:32px;line-height:40px;font-weight:300;letter-spacing:0}.kup-heading-06{font-family:var(--kup-font-family);font-size:42px;line-height:50px;font-weight:300;letter-spacing:0}.kup-heading-07{font-family:var(--kup-font-family);font-size:54px;line-height:64px;font-weight:300;letter-spacing:0}.kup-heading-08{font-family:var(--kup-font-family);font-size:54px;line-height:64px;font-weight:600;letter-spacing:0}.tasks{background:var(--kup-layer-2);border-radius:var(--kup-radius-00);padding:var(--kup-space-05);margin-right:var(--kup-space-05)}.taskListWrapper{display:table;border-bottom:#e6e4e4 1px solid;border-left:#e6e4e4 1px solid}.taskListTableRow{display:table-row;text-overflow:ellipsis}.taskListCell{display:table-cell;vertical-align:middle;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.taskListNameWrapper{display:flex}.taskListExpander{color:rgb(86, 86, 86);font-size:0.6rem;padding:0.15rem 0.2rem 0 0.2rem;user-select:none;cursor:pointer}.taskListEmptyExpander{font-size:0.6rem;padding-left:1rem;user-select:none}.ganttTable{display:table;border-bottom:#e6e4e4 1px solid;border-top:#e6e4e4 1px solid;border-left:#e6e4e4 1px solid}.ganttTable_Header{display:table-row;list-style:none}.ganttTable_HeaderSeparator{border-right:1px solid rgb(196, 196, 196);opacity:1;margin-left:-2px}.ganttTable_HeaderItem{display:table-cell;vertical-align:-webkit-baseline-middle;vertical-align:middle}";
3
+ const kupTaskListCss = ".kup-body-compact-01{font-family:var(--kup-font-family);font-size:var(--kup-body-compact-01-font-size, 14px);line-height:18px;font-weight:400;letter-spacing:0.16px}.kup-body-01{font-family:var(--kup-font-family);font-size:var(--kup-body-01-font-size, 14px);line-height:20px;font-weight:400;letter-spacing:0.16px}.kup-code-01{font-family:var(--kup-font-family-monospace);font-size:12px;line-height:16px;font-weight:400;letter-spacing:0.32px}.kup-label-01{font-family:var(--kup-font-family);font-size:12px;line-height:16px;font-weight:400;letter-spacing:0.32px}.kup-caption-02{font-family:var(--kup-font-family);font-size:12px;line-height:15px;font-weight:500;letter-spacing:1px}.kup-caption-01{font-family:var(--kup-font-family);font-size:10px;line-height:13px;font-weight:400;letter-spacing:1px}.kup-small-label-01{font-family:var(--kup-font-family);font-size:6px;line-height:9px;font-weight:400;letter-spacing:1px}.kup-heading-compact-01{font-family:var(--kup-font-family);font-size:14px;line-height:18px;font-weight:600;letter-spacing:0.16px}.kup-heading-01{font-family:var(--kup-font-family);font-size:14px;line-height:20px;font-weight:600;letter-spacing:0.16px}.kup-heading-02{font-family:var(--kup-font-family);font-size:16px;line-height:24px;font-weight:500;letter-spacing:0}.kup-heading-03{font-family:var(--kup-font-family);font-size:20px;line-height:28px;font-weight:400;letter-spacing:0}.kup-heading-04{font-family:var(--kup-font-family);font-size:28px;line-height:36px;font-weight:400;letter-spacing:0}.kup-heading-05{font-family:var(--kup-font-family);font-size:32px;line-height:40px;font-weight:300;letter-spacing:0}.kup-heading-06{font-family:var(--kup-font-family);font-size:42px;line-height:50px;font-weight:300;letter-spacing:0}.kup-heading-07{font-family:var(--kup-font-family);font-size:54px;line-height:64px;font-weight:300;letter-spacing:0}.kup-heading-08{font-family:var(--kup-font-family);font-size:54px;line-height:64px;font-weight:600;letter-spacing:0}.tasks{background:var(--kup-layer-2);border-radius:var(--kup-radius-00);padding:var(--kup-space-05);margin-right:var(--kup-space-05);min-width:25%}.taskListWrapper{display:table;border-bottom:#e6e4e4 1px solid;border-left:#e6e4e4 1px solid}.taskListTableRow{display:table-row;text-overflow:ellipsis}.taskListCell{display:table-cell;vertical-align:middle;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.taskListNameWrapper{display:flex}.taskListExpander{color:rgb(86, 86, 86);font-size:0.6rem;padding:0.15rem 0.2rem 0 0.2rem;user-select:none;cursor:pointer}.taskListEmptyExpander{font-size:0.6rem;padding-left:1rem;user-select:none}.ganttTable{display:table;border-bottom:#e6e4e4 1px solid;border-top:#e6e4e4 1px solid;border-left:#e6e4e4 1px solid}.ganttTable_Header{display:table-row;list-style:none}.ganttTable_HeaderSeparator{border-right:1px solid rgb(196, 196, 196);opacity:1;margin-left:-2px}.ganttTable_HeaderItem{display:table-cell;vertical-align:-webkit-baseline-middle;vertical-align:middle}";
4
4
  const KupTaskListHeaderStyle0 = kupTaskListCss;
5
5
 
6
6
  const KupTaskListHeader = /*@__PURE__*/ proxyCustomElement(class KupTaskListHeader extends H {
@@ -1,19 +1,19 @@
1
1
  import { p as proxyCustomElement, H, h as h$1 } from './p-2e5f2e07.js';
2
- import { c as calculateDisplayedDateRange, a as convertProjectToTasks, b as getPhaseById, m as mergeTaskIntoProjects, e as getProjectById, f as mergeTaskIntoPhases, h as columnWidthForTimeUnit, d as defineCustomElement$5 } from './p-4efa19a7.js';
3
- import { K as KUP_PLANNER_MAIN_GANTT_ID, f as KUP_PLANNER_SECONDARY_GANTT_ID } from './p-a0eeacbd.js';
2
+ import { c as calculateDisplayedDateRange, a as convertProjectToTasks, b as getPhaseById, m as mergeTaskIntoProjects, e as getProjectById, f as mergeTaskIntoPhases, h as columnWidthForTimeUnit, d as defineCustomElement$5 } from './p-c8302548.js';
3
+ import { K as KUP_PLANNER_MAIN_GANTT_ID, f as KUP_PLANNER_SECONDARY_GANTT_ID } from './p-4edc1bd0.js';
4
4
  import { a as KupDates } from './p-1581348d.js';
5
5
  import { g as ganttDateTimeFormatters, d as defineCustomElement$b } from './p-c62695d4.js';
6
6
  import { h } from './p-3aae989f.js';
7
7
  import { d as defineCustomElement$e } from './p-aec44f8f.js';
8
- import { d as defineCustomElement$d } from './p-0e6c0355.js';
9
- import { d as defineCustomElement$c } from './p-9da8cd93.js';
10
- import { d as defineCustomElement$a } from './p-c43d08ab.js';
8
+ import { d as defineCustomElement$d } from './p-9c8c4e2e.js';
9
+ import { d as defineCustomElement$c } from './p-5cbf86c3.js';
10
+ import { d as defineCustomElement$a } from './p-d72814f5.js';
11
11
  import { d as defineCustomElement$9 } from './p-e677dddf.js';
12
12
  import { d as defineCustomElement$8 } from './p-01015d54.js';
13
13
  import { d as defineCustomElement$7 } from './p-304eab56.js';
14
- import { d as defineCustomElement$6 } from './p-5517e8e8.js';
15
- import { d as defineCustomElement$4 } from './p-76c4c708.js';
16
- import { d as defineCustomElement$3 } from './p-53e38c4a.js';
14
+ import { d as defineCustomElement$6 } from './p-c2b9b4ba.js';
15
+ import { d as defineCustomElement$4 } from './p-26d3e5b2.js';
16
+ import { d as defineCustomElement$3 } from './p-90c212d2.js';
17
17
  import { d as defineCustomElement$2 } from './p-ea6e4e37.js';
18
18
  import { d as defineCustomElement$1 } from './p-709a51cf.js';
19
19
 
@@ -249,7 +249,7 @@ const KupPlannerRenderer = /*@__PURE__*/ proxyCustomElement(class KupPlannerRend
249
249
  } }), this.props && (h$1("div", { key: 'a07185cd6be444510aef8c07eef0a9afe72d9fd6', style: {
250
250
  display: 'flex',
251
251
  flexDirection: 'column',
252
- } }, h$1("kup-gantt", Object.assign({ ref: (el) => (this.mainGantt = el), ganttId: KUP_PLANNER_MAIN_GANTT_ID, key: KUP_PLANNER_MAIN_GANTT_ID, filter: this.props.mainGantt.filter, hideLabel: this.props.mainGantt.hideLabel, showSecondaryDates: this.mainGanttDoubleView, hideDependencies: this.props.mainGantt.hideDependencies, ganttHeight: this.props.mainGantt.ganttHeight, displayedStartDate: this.displayedDates.displayedStartDate, displayedEndDate: this.displayedDates.displayedEndDate, viewDate: this.viewDate, tasks: this.tasks, columnWidth: columnWidthForTimeUnit(this.timeUnit), viewMode: this.timeUnit }, this.props.mainGantt.stylingOptions, { TaskListHeader: this.props.mainGantt.taskListHeaderProject, TaskListTable: this.props.mainGantt.taskListTableProject, TooltipContent: (_a = this.props.mainGantt.tooltipContent) !== null && _a !== void 0 ? _a : CustomTooltipHOC(), barClick: (task) => {
252
+ } }, h$1("kup-gantt", Object.assign({ ref: (el) => (this.mainGantt = el), ganttId: KUP_PLANNER_MAIN_GANTT_ID, key: KUP_PLANNER_MAIN_GANTT_ID, filter: this.props.mainGantt.filter, hideLabel: this.props.mainGantt.hideLabel, showSecondaryDates: this.mainGanttDoubleView, hideDependencies: this.props.mainGantt.hideDependencies, ganttHeight: this.props.mainGantt.ganttHeight, displayedStartDate: this.displayedDates.displayedStartDate, displayedEndDate: this.displayedDates.displayedEndDate, viewDate: this.viewDate, tasks: this.tasks, columnWidth: columnWidthForTimeUnit(this.timeUnit), viewMode: this.timeUnit, dependencies: this.props.mainGantt.dependencies }, this.props.mainGantt.stylingOptions, { TaskListHeader: this.props.mainGantt.taskListHeaderProject, TaskListTable: this.props.mainGantt.taskListTableProject, TooltipContent: (_a = this.props.mainGantt.tooltipContent) !== null && _a !== void 0 ? _a : CustomTooltipHOC(), barClick: (task) => {
253
253
  let row = getProjectById(task.id, this.currentTasks);
254
254
  if (!row) {
255
255
  row = getPhaseById(task.id, this.currentTasks);
@@ -281,7 +281,7 @@ const KupPlannerRenderer = /*@__PURE__*/ proxyCustomElement(class KupPlannerRend
281
281
  this.handlePhaseDrop(originalPhase,
282
282
  // originalTask,
283
283
  finalPhaseData, destinationTask, this.props.mainGantt.onPhaseDrop);
284
- } })), this.props.secondaryGantt && (h$1("kup-gantt", Object.assign({ ref: (el) => (this.secondaryGantt = el), ganttId: KUP_PLANNER_SECONDARY_GANTT_ID, key: KUP_PLANNER_SECONDARY_GANTT_ID, filter: this.props.secondaryGantt.filter, hideLabel: this.props.secondaryGantt.hideLabel, showSecondaryDates: this.mainGanttDoubleView, hideDependencies: this.props.secondaryGantt.hideDependencies, ganttHeight: this.props.secondaryGantt.ganttHeight, displayedStartDate: this.displayedDates.displayedStartDate, displayedEndDate: this.displayedDates.displayedEndDate, viewDate: this.viewDate, tasks: this.details, columnWidth: columnWidthForTimeUnit(this.timeUnit), viewMode: this.timeUnit }, this.props.secondaryGantt.stylingOptions, { TaskListHeader: this.props.secondaryGantt
284
+ } })), this.props.secondaryGantt && (h$1("kup-gantt", Object.assign({ ref: (el) => (this.secondaryGantt = el), ganttId: KUP_PLANNER_SECONDARY_GANTT_ID, key: KUP_PLANNER_SECONDARY_GANTT_ID, filter: this.props.secondaryGantt.filter, hideLabel: this.props.secondaryGantt.hideLabel, showSecondaryDates: this.mainGanttDoubleView, hideDependencies: this.props.secondaryGantt.hideDependencies, ganttHeight: this.props.secondaryGantt.ganttHeight, displayedStartDate: this.displayedDates.displayedStartDate, displayedEndDate: this.displayedDates.displayedEndDate, viewDate: this.viewDate, tasks: this.details, columnWidth: columnWidthForTimeUnit(this.timeUnit), viewMode: this.timeUnit, dependencies: this.props.secondaryGantt.dependencies }, this.props.secondaryGantt.stylingOptions, { TaskListHeader: this.props.secondaryGantt
285
285
  .taskListHeaderProject, TaskListTable: this.props.secondaryGantt
286
286
  .taskListTableProject, TooltipContent: (_c = this.props.secondaryGantt.tooltipContent) !== null && _c !== void 0 ? _c : CustomTooltipHOC(), projection: this.projection, barClick: (task) => {
287
287
  if (this.props.secondaryGantt) {
@@ -83,7 +83,7 @@ const defaultStylingOptions = {
83
83
  barProgressSelectedColor: '#A2A415',
84
84
  barBackgroundColor: '#A2A415',
85
85
  barBackgroundSelectedColor: '#A2A415',
86
- barDropZoneColor: '#4d9f0240'
86
+ barDropZoneColor: '#4d9f0240',
87
87
  };
88
88
  const KUP_PLANNER_MAIN_GANTT_ID = 'main';
89
89
  const KUP_PLANNER_SECONDARY_GANTT_ID = 'secondary';
@@ -1,15 +1,15 @@
1
1
  import { p as proxyCustomElement, H, h, f as forceUpdate } from './p-2e5f2e07.js';
2
- import { g as ganttDateRangeFromTask, s as seedDates, d as defineCustomElement$5 } from './p-4efa19a7.js';
2
+ import { c as convertToBarTasks, a as calculateCurrentDateCalculator, b as calculateProjection, d as defineCustomElement$9 } from './p-d72814f5.js';
3
3
  import { r as removeHiddenTasks, s as sortTasks } from './p-9aa93983.js';
4
- import { c as convertToBarTasks, a as calculateCurrentDateCalculator, b as calculateProjection, d as defineCustomElement$9 } from './p-c43d08ab.js';
4
+ import { g as ganttDateRangeFromTask, s as seedDates, d as defineCustomElement$5 } from './p-c8302548.js';
5
5
  import { d as defineCustomElement$c } from './p-aec44f8f.js';
6
- import { d as defineCustomElement$b } from './p-0e6c0355.js';
6
+ import { d as defineCustomElement$b } from './p-9c8c4e2e.js';
7
7
  import { d as defineCustomElement$a } from './p-c62695d4.js';
8
8
  import { d as defineCustomElement$8 } from './p-e677dddf.js';
9
9
  import { d as defineCustomElement$7 } from './p-01015d54.js';
10
- import { d as defineCustomElement$6 } from './p-5517e8e8.js';
11
- import { d as defineCustomElement$4 } from './p-76c4c708.js';
12
- import { d as defineCustomElement$3 } from './p-53e38c4a.js';
10
+ import { d as defineCustomElement$6 } from './p-c2b9b4ba.js';
11
+ import { d as defineCustomElement$4 } from './p-26d3e5b2.js';
12
+ import { d as defineCustomElement$3 } from './p-90c212d2.js';
13
13
  import { d as defineCustomElement$2 } from './p-ea6e4e37.js';
14
14
  import { d as defineCustomElement$1 } from './p-709a51cf.js';
15
15
 
@@ -61,6 +61,7 @@ const KupGantt = /*@__PURE__*/ proxyCustomElement(class KupGantt extends H {
61
61
  this.hideLabel = false;
62
62
  this.showSecondaryDates = false;
63
63
  this.hideDependencies = false;
64
+ this.dependencies = [];
64
65
  this.projection = undefined;
65
66
  this.displayedStartDate = undefined;
66
67
  this.displayedEndDate = undefined;
@@ -548,6 +549,7 @@ const KupGantt = /*@__PURE__*/ proxyCustomElement(class KupGantt extends H {
548
549
  currentDateIndicator: this.currentDateIndicatorContent,
549
550
  projection: this.projectionContent,
550
551
  readOnly: this.readOnly,
552
+ dependencies: this.dependencies,
551
553
  setGanttEvent: this.setGanttEvent.bind(this),
552
554
  setFailedTask: this.setFailedTask.bind(this),
553
555
  setSelectedTask: this.handleSelectedTask.bind(this),
@@ -558,7 +560,7 @@ const KupGantt = /*@__PURE__*/ proxyCustomElement(class KupGantt extends H {
558
560
  barDblClick: this.barDblClick,
559
561
  barContextMenu: this.barContextMenu,
560
562
  delete: this.delete,
561
- phaseDrop: this.phaseDrop
563
+ phaseDrop: this.phaseDrop,
562
564
  };
563
565
  const tableProps = {
564
566
  rowHeight: this.rowHeight,
@@ -577,11 +579,11 @@ const KupGantt = /*@__PURE__*/ proxyCustomElement(class KupGantt extends H {
577
579
  setSelectedTask: this.handleSelectedTask.bind(this),
578
580
  expanderClick: this.handleExpanderClick.bind(this),
579
581
  TaskListHeader: this.TaskListHeader,
580
- TaskListTable: this.TaskListTable
582
+ TaskListTable: this.TaskListTable,
581
583
  };
582
- return (h("div", { key: '95eabbafe96bf8f67cfd5ed7d2b0598684cb23f3', class: "gannt-wrapper-main" }, h("div", { key: '55889af9cb5503f797fe68ec210c68af1374acc5', class: "wrapper", onKeyDown: this.handleKeyDown.bind(this), tabIndex: 0, ref: (el) => (this.wrapperRef = el) }, this.listCellWidth && (h("kup-task-list", Object.assign({ key: 'a4edfd9f6363f172bb31509ba37394b20cfdbd3d', currentTasks: this.currentTasks, handleClick: this.handleClick, handleDblClick: this.handleDblClick, handleContextMenu: this.handleContextMenu, ganttOnClick: this.ganttOnClick, ganttOnDblClick: this.ganttOnDblClick, ganttonOnContextMenu: this.ganttonOnContextMenu, label: this.label, doubleView: this.doubleView, setDoubleView: this.setDoubleView }, tableProps, { class: "tasks", scrollableTaskList: this.scrollableTaskList, updateTaskListScrollX: this.ignoreScrollEvent, ontaskListScrollWidth: (width) => {
584
+ return (h("div", { key: '121b1b2857d26033d74411289b05d0090556801b', class: "gannt-wrapper-main" }, h("div", { key: '7b775dcf04e33e317ff526186c2bc4905fcb4812', class: "wrapper", onKeyDown: this.handleKeyDown.bind(this), tabIndex: 0, ref: (el) => (this.wrapperRef = el) }, this.listCellWidth && (h("kup-task-list", Object.assign({ key: '898db18e0d258874ce7651c2925af28f35b04823', currentTasks: this.currentTasks, handleClick: this.handleClick, handleDblClick: this.handleDblClick, handleContextMenu: this.handleContextMenu, ganttOnClick: this.ganttOnClick, ganttOnDblClick: this.ganttOnDblClick, ganttonOnContextMenu: this.ganttonOnContextMenu, label: this.label, doubleView: this.doubleView, setDoubleView: this.setDoubleView }, tableProps, { class: "tasks", scrollableTaskList: this.scrollableTaskList, updateTaskListScrollX: this.ignoreScrollEvent, ontaskListScrollWidth: (width) => {
583
585
  this.taskListScrollWidth = width;
584
- }, taskListScrollX: this.taskListScrollX, ref: (el) => (this.taskListTrueRef = el) }))), h("kup-task-gantt", { key: '600b2af4dd6fd1dda0730f49d954282c898726ff', gridProps: gridProps, calendarProps: calendarProps, barProps: barProps, ganttHeight: this.ganttHeight, taskGanttRef: this.taskGanttRef, scrollY: this.scrollY, scrollX: this.scrollX, phaseDragScroll: this.handlePhaseDragScroll.bind(this), class: "ganttContainer" }), this.ganttEvent.changedTask && (h("kup-tooltip", { key: 'fa9b8855edcd4e95283cb65ec3429d3ec3756c18', arrowIndent: this.arrowIndent, rowHeight: this.rowHeight, svgContainerHeight: this.svgContainerHeight, svgContainerWidth: this.svgContainerWidth, fontFamily: this.fontFamily, fontSize: this.fontSize, scrollX: this.scrollX, scrollY: this.scrollY, task: this.ganttEvent.changedTask, headerHeight: this.headerHeight, taskListWidth: this.taskListWidth, TooltipContent: this.TooltipContent, rtl: this.rtl, svgWidth: this.svgWidth })), h("kup-vertical-scroll", { key: 'a8173cc05e5608dc797f01f314fa2ffdc21407f9', ganttFullHeight: this.ganttFullHeight, ganttHeight: this.ganttHeight, headerHeight: this.headerHeight, scrollNumber: this.scrollY, verticalScroll: this.handleScrollY.bind(this), rtl: this.rtl })), this.taskGanttRef && (h("kup-horizontal-scroll", { key: '0c50510e0abef51e326bc21a84b96520deac88c8', svgWidth: this.svgWidth, taskListTrueRef: this.taskListTrueRef, taskListWidth: this.taskListWidth, scrollNumber: this.scrollX, rtl: this.rtl, horizontalScroll: this.handleScrollX.bind(this), horizontalTaskListScroll: this.handleTaskListScrollX.bind(this), listCellWidth: this.listCellWidth, scrollableTaskList: this.scrollableTaskList, taskListScrollWidth: this.taskListScrollWidth, taskListScrollNumber: this.taskListScrollX }))));
586
+ }, taskListScrollX: this.taskListScrollX, ref: (el) => (this.taskListTrueRef = el) }))), h("kup-task-gantt", { key: '80670fd1bca1243258feab7fcda294ddb6b9e972', gridProps: gridProps, calendarProps: calendarProps, barProps: barProps, ganttHeight: this.ganttHeight, taskGanttRef: this.taskGanttRef, scrollY: this.scrollY, scrollX: this.scrollX, phaseDragScroll: this.handlePhaseDragScroll.bind(this), class: "ganttContainer" }), this.ganttEvent.changedTask && (h("kup-tooltip", { key: 'b81a3b3c980124ebdd668ead2bb81ba30fd1bedb', arrowIndent: this.arrowIndent, rowHeight: this.rowHeight, svgContainerHeight: this.svgContainerHeight, svgContainerWidth: this.svgContainerWidth, fontFamily: this.fontFamily, fontSize: this.fontSize, scrollX: this.scrollX, scrollY: this.scrollY, task: this.ganttEvent.changedTask, headerHeight: this.headerHeight, taskListWidth: this.taskListWidth, TooltipContent: this.TooltipContent, rtl: this.rtl, svgWidth: this.svgWidth })), h("kup-vertical-scroll", { key: '646408c0efc5eb955686c9ad4b45c12d61eb1db6', ganttFullHeight: this.ganttFullHeight, ganttHeight: this.ganttHeight, headerHeight: this.headerHeight, scrollNumber: this.scrollY, verticalScroll: this.handleScrollY.bind(this), rtl: this.rtl })), this.taskGanttRef && (h("kup-horizontal-scroll", { key: 'd8eb8d2ea2a7d3b9cbfa9c79aa608dfdac4786f7', svgWidth: this.svgWidth, taskListTrueRef: this.taskListTrueRef, taskListWidth: this.taskListWidth, scrollNumber: this.scrollX, rtl: this.rtl, horizontalScroll: this.handleScrollX.bind(this), horizontalTaskListScroll: this.handleTaskListScrollX.bind(this), listCellWidth: this.listCellWidth, scrollableTaskList: this.scrollableTaskList, taskListScrollWidth: this.taskListScrollWidth, taskListScrollNumber: this.taskListScrollX }))));
585
587
  }
586
588
  get rootElement() { return this; }
587
589
  static get watchers() { return {
@@ -673,6 +675,7 @@ const KupGantt = /*@__PURE__*/ proxyCustomElement(class KupGantt extends H {
673
675
  "hideLabel": [4, "hide-label"],
674
676
  "showSecondaryDates": [4, "show-secondary-dates"],
675
677
  "hideDependencies": [4, "hide-dependencies"],
678
+ "dependencies": [16],
676
679
  "projection": [16],
677
680
  "displayedStartDate": [16],
678
681
  "displayedEndDate": [16],
@@ -1,6 +1,6 @@
1
1
  import { p as proxyCustomElement, H, h } from './p-2e5f2e07.js';
2
2
 
3
- const kupTaskListCss = ".kup-body-compact-01{font-family:var(--kup-font-family);font-size:var(--kup-body-compact-01-font-size, 14px);line-height:18px;font-weight:400;letter-spacing:0.16px}.kup-body-01{font-family:var(--kup-font-family);font-size:var(--kup-body-01-font-size, 14px);line-height:20px;font-weight:400;letter-spacing:0.16px}.kup-code-01{font-family:var(--kup-font-family-monospace);font-size:12px;line-height:16px;font-weight:400;letter-spacing:0.32px}.kup-label-01{font-family:var(--kup-font-family);font-size:12px;line-height:16px;font-weight:400;letter-spacing:0.32px}.kup-caption-02{font-family:var(--kup-font-family);font-size:12px;line-height:15px;font-weight:500;letter-spacing:1px}.kup-caption-01{font-family:var(--kup-font-family);font-size:10px;line-height:13px;font-weight:400;letter-spacing:1px}.kup-small-label-01{font-family:var(--kup-font-family);font-size:6px;line-height:9px;font-weight:400;letter-spacing:1px}.kup-heading-compact-01{font-family:var(--kup-font-family);font-size:14px;line-height:18px;font-weight:600;letter-spacing:0.16px}.kup-heading-01{font-family:var(--kup-font-family);font-size:14px;line-height:20px;font-weight:600;letter-spacing:0.16px}.kup-heading-02{font-family:var(--kup-font-family);font-size:16px;line-height:24px;font-weight:500;letter-spacing:0}.kup-heading-03{font-family:var(--kup-font-family);font-size:20px;line-height:28px;font-weight:400;letter-spacing:0}.kup-heading-04{font-family:var(--kup-font-family);font-size:28px;line-height:36px;font-weight:400;letter-spacing:0}.kup-heading-05{font-family:var(--kup-font-family);font-size:32px;line-height:40px;font-weight:300;letter-spacing:0}.kup-heading-06{font-family:var(--kup-font-family);font-size:42px;line-height:50px;font-weight:300;letter-spacing:0}.kup-heading-07{font-family:var(--kup-font-family);font-size:54px;line-height:64px;font-weight:300;letter-spacing:0}.kup-heading-08{font-family:var(--kup-font-family);font-size:54px;line-height:64px;font-weight:600;letter-spacing:0}.tasks{background:var(--kup-layer-2);border-radius:var(--kup-radius-00);padding:var(--kup-space-05);margin-right:var(--kup-space-05)}.taskListWrapper{display:table;border-bottom:#e6e4e4 1px solid;border-left:#e6e4e4 1px solid}.taskListTableRow{display:table-row;text-overflow:ellipsis}.taskListCell{display:table-cell;vertical-align:middle;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.taskListNameWrapper{display:flex}.taskListExpander{color:rgb(86, 86, 86);font-size:0.6rem;padding:0.15rem 0.2rem 0 0.2rem;user-select:none;cursor:pointer}.taskListEmptyExpander{font-size:0.6rem;padding-left:1rem;user-select:none}.ganttTable{display:table;border-bottom:#e6e4e4 1px solid;border-top:#e6e4e4 1px solid;border-left:#e6e4e4 1px solid}.ganttTable_Header{display:table-row;list-style:none}.ganttTable_HeaderSeparator{border-right:1px solid rgb(196, 196, 196);opacity:1;margin-left:-2px}.ganttTable_HeaderItem{display:table-cell;vertical-align:-webkit-baseline-middle;vertical-align:middle}";
3
+ const kupTaskListCss = ".kup-body-compact-01{font-family:var(--kup-font-family);font-size:var(--kup-body-compact-01-font-size, 14px);line-height:18px;font-weight:400;letter-spacing:0.16px}.kup-body-01{font-family:var(--kup-font-family);font-size:var(--kup-body-01-font-size, 14px);line-height:20px;font-weight:400;letter-spacing:0.16px}.kup-code-01{font-family:var(--kup-font-family-monospace);font-size:12px;line-height:16px;font-weight:400;letter-spacing:0.32px}.kup-label-01{font-family:var(--kup-font-family);font-size:12px;line-height:16px;font-weight:400;letter-spacing:0.32px}.kup-caption-02{font-family:var(--kup-font-family);font-size:12px;line-height:15px;font-weight:500;letter-spacing:1px}.kup-caption-01{font-family:var(--kup-font-family);font-size:10px;line-height:13px;font-weight:400;letter-spacing:1px}.kup-small-label-01{font-family:var(--kup-font-family);font-size:6px;line-height:9px;font-weight:400;letter-spacing:1px}.kup-heading-compact-01{font-family:var(--kup-font-family);font-size:14px;line-height:18px;font-weight:600;letter-spacing:0.16px}.kup-heading-01{font-family:var(--kup-font-family);font-size:14px;line-height:20px;font-weight:600;letter-spacing:0.16px}.kup-heading-02{font-family:var(--kup-font-family);font-size:16px;line-height:24px;font-weight:500;letter-spacing:0}.kup-heading-03{font-family:var(--kup-font-family);font-size:20px;line-height:28px;font-weight:400;letter-spacing:0}.kup-heading-04{font-family:var(--kup-font-family);font-size:28px;line-height:36px;font-weight:400;letter-spacing:0}.kup-heading-05{font-family:var(--kup-font-family);font-size:32px;line-height:40px;font-weight:300;letter-spacing:0}.kup-heading-06{font-family:var(--kup-font-family);font-size:42px;line-height:50px;font-weight:300;letter-spacing:0}.kup-heading-07{font-family:var(--kup-font-family);font-size:54px;line-height:64px;font-weight:300;letter-spacing:0}.kup-heading-08{font-family:var(--kup-font-family);font-size:54px;line-height:64px;font-weight:600;letter-spacing:0}.tasks{background:var(--kup-layer-2);border-radius:var(--kup-radius-00);padding:var(--kup-space-05);margin-right:var(--kup-space-05);min-width:25%}.taskListWrapper{display:table;border-bottom:#e6e4e4 1px solid;border-left:#e6e4e4 1px solid}.taskListTableRow{display:table-row;text-overflow:ellipsis}.taskListCell{display:table-cell;vertical-align:middle;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.taskListNameWrapper{display:flex}.taskListExpander{color:rgb(86, 86, 86);font-size:0.6rem;padding:0.15rem 0.2rem 0 0.2rem;user-select:none;cursor:pointer}.taskListEmptyExpander{font-size:0.6rem;padding-left:1rem;user-select:none}.ganttTable{display:table;border-bottom:#e6e4e4 1px solid;border-top:#e6e4e4 1px solid;border-left:#e6e4e4 1px solid}.ganttTable_Header{display:table-row;list-style:none}.ganttTable_HeaderSeparator{border-right:1px solid rgb(196, 196, 196);opacity:1;margin-left:-2px}.ganttTable_HeaderItem{display:table-cell;vertical-align:-webkit-baseline-middle;vertical-align:middle}";
4
4
  const KupTaskListTableStyle0 = kupTaskListCss;
5
5
 
6
6
  const TaskListTableDefault = /*@__PURE__*/ proxyCustomElement(class TaskListTableDefault extends H {
@@ -33,17 +33,25 @@ const KupCustomTaskListTable = /*@__PURE__*/ proxyCustomElement(class KupCustomT
33
33
  }
34
34
  updateTaskListScroll() {
35
35
  this.projectWrapperRef &&
36
- (this.projectWrapperRef.parentElement.scrollLeft = this.taskListScrollX);
36
+ (this.projectWrapperRef.parentElement.scrollLeft =
37
+ this.taskListScrollX);
37
38
  }
38
39
  render() {
40
+ var _a;
39
41
  const kupDates = new KupDates();
40
42
  const scrollableStyle = {};
41
43
  if (this.scrollableTaskList) {
42
44
  scrollableStyle['width'] = this.rowWidth;
43
45
  }
44
- const spansToShow = this.tasks.reduce((prev, curr) => {
45
- return prev.valuesToShow.length > curr.valuesToShow.length ? prev : curr;
46
- }).valuesToShow.length + 1;
46
+ const spansToShow = this.tasks && this.tasks.length > 0
47
+ ? ((_a = this.tasks.reduce((prev, curr) => {
48
+ var _a, _b;
49
+ return ((_a = prev.valuesToShow) === null || _a === void 0 ? void 0 : _a.length) >
50
+ ((_b = curr.valuesToShow) === null || _b === void 0 ? void 0 : _b.length)
51
+ ? prev
52
+ : curr;
53
+ }).valuesToShow) === null || _a === void 0 ? void 0 : _a.length) + 1 || 1
54
+ : 1;
47
55
  return (h("div", { class: `container ${this.scrollableTaskList ? 'scrollable' : ''}`, style: scrollableStyle }, h("div", { class: "project-wrapper", ref: (el) => (this.projectWrapperRef = el) }, this.tasks.map((task) => {
48
56
  var _a, _b, _c, _d;
49
57
  return (h(Fragment, null, task.type === 'project' ? (h("div", { class: "project", style: {
@@ -67,10 +75,14 @@ const KupCustomTaskListTable = /*@__PURE__*/ proxyCustomElement(class KupCustomT
67
75
  ? kupDates.formatToLocaleSimple(task.start)
68
76
  : v === '#END#'
69
77
  ? kupDates.formatToLocaleSimple(task.end)
70
- : v))), this.scrollableTaskList && spansToShow > task.valuesToShow.length && ((() => {
71
- const spansToIterate = createArrayFromNum(spansToShow - task.valuesToShow.length);
72
- return (spansToIterate.map((element) => (h("span", { key: element }))));
73
- })()))) : task.type === 'task' ? (h("div", { class: "subrow", style: {
78
+ : v))), this.scrollableTaskList &&
79
+ spansToShow >
80
+ task.valuesToShow.length &&
81
+ (() => {
82
+ const spansToIterate = createArrayFromNum(spansToShow -
83
+ task.valuesToShow.length);
84
+ return spansToIterate.map((element) => (h("span", { key: element })));
85
+ })())) : task.type === 'task' ? (h("div", { class: "subrow", style: {
74
86
  height: `${this.rowHeight}px`,
75
87
  width: this.rowWidth,
76
88
  fontFamily: this.fontFamily,
@@ -102,10 +114,16 @@ const KupCustomTaskListTable = /*@__PURE__*/ proxyCustomElement(class KupCustomT
102
114
  ? kupDates.formatToLocaleSimple(task.start)
103
115
  : v === '#END#'
104
116
  ? kupDates.formatToLocaleSimple(task.end)
105
- : v))), this.scrollableTaskList && spansToShow > task.valuesToShow.length && ((() => {
106
- const spansToIterate = createArrayFromNum(spansToShow - task.valuesToShow.length - 1);
107
- return (spansToIterate.map((element) => (h("span", { key: element }))));
108
- })()))) : ((() => {
117
+ : v))), this.scrollableTaskList &&
118
+ spansToShow >
119
+ task.valuesToShow.length &&
120
+ (() => {
121
+ const spansToIterate = createArrayFromNum(spansToShow -
122
+ task.valuesToShow
123
+ .length -
124
+ 1);
125
+ return spansToIterate.map((element) => (h("span", { key: element })));
126
+ })())) : ((() => {
109
127
  var _a;
110
128
  let str = '';
111
129
  for (let i = 0; i < task.valuesToShow.length; i++) {
@@ -1,6 +1,6 @@
1
1
  import { p as proxyCustomElement, H, h } from './p-2e5f2e07.js';
2
2
  import { d as defineCustomElement$2 } from './p-c62695d4.js';
3
- import { d as defineCustomElement$1 } from './p-c43d08ab.js';
3
+ import { d as defineCustomElement$1 } from './p-d72814f5.js';
4
4
 
5
5
  const TaskGantt = /*@__PURE__*/ proxyCustomElement(class TaskGantt extends H {
6
6
  constructor() {
@@ -38,13 +38,13 @@ const TaskGantt = /*@__PURE__*/ proxyCustomElement(class TaskGantt extends H {
38
38
  }, 75);
39
39
  }
40
40
  render() {
41
- const newBarProps = Object.assign(Object.assign({}, this.barProps), { gridProps: this.gridProps, phaseDragScroll: this.phaseDragScroll });
42
- return (h("div", { key: 'e9b7f7f147fae5077c4b17232661030262170a76', class: "ganttVerticalContainer", ref: (el) => (this.verticalGanttContainerRef = el), dir: "ltr" }, h("kup-gantt-calendar", { key: '6575335f2a55573ad95089af45dc3dbf4292f37c', dateSetup: this.calendarProps.dateSetup, locale: this.calendarProps.locale, rtl: this.calendarProps.rtl, headerHeight: this.calendarProps.headerHeight, columnWidth: this.calendarProps.columnWidth, fontFamily: this.calendarProps.fontFamily, fontSize: this.calendarProps.fontSize, dateTimeFormatters: this.calendarProps.dateTimeFormatters, singleLineHeader: this.calendarProps.singleLineHeader, currentDateIndicator: this.calendarProps.currentDateIndicator, svgWidth: this.gridProps.svgWidth }), h("div", { key: 'ec7b2e3f28ada7ac48c92686888b2b17898e2252', ref: (el) => (this.horizontalContainerRef = el), class: "horizontalContainer", style: this.ganttHeight
41
+ const newBarProps = Object.assign(Object.assign({}, this.barProps), { gridProps: this.gridProps, phaseDragScroll: this.phaseDragScroll, dependencies: this.barProps.dependencies || [] });
42
+ return (h("div", { key: 'f171a1dc93bb1bee342dc2384c5eda5a0a1670a5', class: "ganttVerticalContainer", ref: (el) => (this.verticalGanttContainerRef = el), dir: "ltr" }, h("kup-gantt-calendar", { key: '8df97b74146bc84af4a20d704efeb5d17202bfee', dateSetup: this.calendarProps.dateSetup, locale: this.calendarProps.locale, rtl: this.calendarProps.rtl, headerHeight: this.calendarProps.headerHeight, columnWidth: this.calendarProps.columnWidth, fontFamily: this.calendarProps.fontFamily, fontSize: this.calendarProps.fontSize, dateTimeFormatters: this.calendarProps.dateTimeFormatters, singleLineHeader: this.calendarProps.singleLineHeader, currentDateIndicator: this.calendarProps.currentDateIndicator, svgWidth: this.gridProps.svgWidth }), h("div", { key: '1295b8511846e0de6f45d13f765124ec750ededb', ref: (el) => (this.horizontalContainerRef = el), class: "horizontalContainer", style: this.ganttHeight
43
43
  ? {
44
44
  height: `${this.ganttHeight}px`,
45
45
  width: `${this.gridProps.svgWidth}px`,
46
46
  }
47
- : { width: `${this.gridProps.svgWidth}px` } }, h("kup-grid-renderer", Object.assign({ key: '98ed84972a106b35ea7ba6a380d83e025a635ebd' }, newBarProps)))));
47
+ : { width: `${this.gridProps.svgWidth}px` } }, h("kup-grid-renderer", Object.assign({ key: '7a35e55a9dff2cef220055a55d71eccf6a1e0801' }, newBarProps)))));
48
48
  }
49
49
  get rootElement() { return this; }
50
50
  static get watchers() { return {
@@ -1,8 +1,8 @@
1
1
  import { p as proxyCustomElement, H, h } from './p-2e5f2e07.js';
2
- import { K as KUP_PLANNER_MAIN_GANTT_ID } from './p-a0eeacbd.js';
2
+ import { K as KUP_PLANNER_MAIN_GANTT_ID } from './p-4edc1bd0.js';
3
3
  import { a as KupDates } from './p-1581348d.js';
4
4
  import { d as defineCustomElement$2 } from './p-aec44f8f.js';
5
- import { d as defineCustomElement$1 } from './p-0e6c0355.js';
5
+ import { d as defineCustomElement$1 } from './p-9c8c4e2e.js';
6
6
 
7
7
  const columnWidthForTimeUnit = (timeUnit) => {
8
8
  switch (timeUnit) {
@@ -429,7 +429,7 @@ const seedDates = (startDate, endDate, viewMode) => {
429
429
  return dates;
430
430
  };
431
431
 
432
- const kupTaskListCss = ".kup-body-compact-01{font-family:var(--kup-font-family);font-size:var(--kup-body-compact-01-font-size, 14px);line-height:18px;font-weight:400;letter-spacing:0.16px}.kup-body-01{font-family:var(--kup-font-family);font-size:var(--kup-body-01-font-size, 14px);line-height:20px;font-weight:400;letter-spacing:0.16px}.kup-code-01{font-family:var(--kup-font-family-monospace);font-size:12px;line-height:16px;font-weight:400;letter-spacing:0.32px}.kup-label-01{font-family:var(--kup-font-family);font-size:12px;line-height:16px;font-weight:400;letter-spacing:0.32px}.kup-caption-02{font-family:var(--kup-font-family);font-size:12px;line-height:15px;font-weight:500;letter-spacing:1px}.kup-caption-01{font-family:var(--kup-font-family);font-size:10px;line-height:13px;font-weight:400;letter-spacing:1px}.kup-small-label-01{font-family:var(--kup-font-family);font-size:6px;line-height:9px;font-weight:400;letter-spacing:1px}.kup-heading-compact-01{font-family:var(--kup-font-family);font-size:14px;line-height:18px;font-weight:600;letter-spacing:0.16px}.kup-heading-01{font-family:var(--kup-font-family);font-size:14px;line-height:20px;font-weight:600;letter-spacing:0.16px}.kup-heading-02{font-family:var(--kup-font-family);font-size:16px;line-height:24px;font-weight:500;letter-spacing:0}.kup-heading-03{font-family:var(--kup-font-family);font-size:20px;line-height:28px;font-weight:400;letter-spacing:0}.kup-heading-04{font-family:var(--kup-font-family);font-size:28px;line-height:36px;font-weight:400;letter-spacing:0}.kup-heading-05{font-family:var(--kup-font-family);font-size:32px;line-height:40px;font-weight:300;letter-spacing:0}.kup-heading-06{font-family:var(--kup-font-family);font-size:42px;line-height:50px;font-weight:300;letter-spacing:0}.kup-heading-07{font-family:var(--kup-font-family);font-size:54px;line-height:64px;font-weight:300;letter-spacing:0}.kup-heading-08{font-family:var(--kup-font-family);font-size:54px;line-height:64px;font-weight:600;letter-spacing:0}.tasks{background:var(--kup-layer-2);border-radius:var(--kup-radius-00);padding:var(--kup-space-05);margin-right:var(--kup-space-05)}.taskListWrapper{display:table;border-bottom:#e6e4e4 1px solid;border-left:#e6e4e4 1px solid}.taskListTableRow{display:table-row;text-overflow:ellipsis}.taskListCell{display:table-cell;vertical-align:middle;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.taskListNameWrapper{display:flex}.taskListExpander{color:rgb(86, 86, 86);font-size:0.6rem;padding:0.15rem 0.2rem 0 0.2rem;user-select:none;cursor:pointer}.taskListEmptyExpander{font-size:0.6rem;padding-left:1rem;user-select:none}.ganttTable{display:table;border-bottom:#e6e4e4 1px solid;border-top:#e6e4e4 1px solid;border-left:#e6e4e4 1px solid}.ganttTable_Header{display:table-row;list-style:none}.ganttTable_HeaderSeparator{border-right:1px solid rgb(196, 196, 196);opacity:1;margin-left:-2px}.ganttTable_HeaderItem{display:table-cell;vertical-align:-webkit-baseline-middle;vertical-align:middle}";
432
+ const kupTaskListCss = ".kup-body-compact-01{font-family:var(--kup-font-family);font-size:var(--kup-body-compact-01-font-size, 14px);line-height:18px;font-weight:400;letter-spacing:0.16px}.kup-body-01{font-family:var(--kup-font-family);font-size:var(--kup-body-01-font-size, 14px);line-height:20px;font-weight:400;letter-spacing:0.16px}.kup-code-01{font-family:var(--kup-font-family-monospace);font-size:12px;line-height:16px;font-weight:400;letter-spacing:0.32px}.kup-label-01{font-family:var(--kup-font-family);font-size:12px;line-height:16px;font-weight:400;letter-spacing:0.32px}.kup-caption-02{font-family:var(--kup-font-family);font-size:12px;line-height:15px;font-weight:500;letter-spacing:1px}.kup-caption-01{font-family:var(--kup-font-family);font-size:10px;line-height:13px;font-weight:400;letter-spacing:1px}.kup-small-label-01{font-family:var(--kup-font-family);font-size:6px;line-height:9px;font-weight:400;letter-spacing:1px}.kup-heading-compact-01{font-family:var(--kup-font-family);font-size:14px;line-height:18px;font-weight:600;letter-spacing:0.16px}.kup-heading-01{font-family:var(--kup-font-family);font-size:14px;line-height:20px;font-weight:600;letter-spacing:0.16px}.kup-heading-02{font-family:var(--kup-font-family);font-size:16px;line-height:24px;font-weight:500;letter-spacing:0}.kup-heading-03{font-family:var(--kup-font-family);font-size:20px;line-height:28px;font-weight:400;letter-spacing:0}.kup-heading-04{font-family:var(--kup-font-family);font-size:28px;line-height:36px;font-weight:400;letter-spacing:0}.kup-heading-05{font-family:var(--kup-font-family);font-size:32px;line-height:40px;font-weight:300;letter-spacing:0}.kup-heading-06{font-family:var(--kup-font-family);font-size:42px;line-height:50px;font-weight:300;letter-spacing:0}.kup-heading-07{font-family:var(--kup-font-family);font-size:54px;line-height:64px;font-weight:300;letter-spacing:0}.kup-heading-08{font-family:var(--kup-font-family);font-size:54px;line-height:64px;font-weight:600;letter-spacing:0}.tasks{background:var(--kup-layer-2);border-radius:var(--kup-radius-00);padding:var(--kup-space-05);margin-right:var(--kup-space-05);min-width:25%}.taskListWrapper{display:table;border-bottom:#e6e4e4 1px solid;border-left:#e6e4e4 1px solid}.taskListTableRow{display:table-row;text-overflow:ellipsis}.taskListCell{display:table-cell;vertical-align:middle;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.taskListNameWrapper{display:flex}.taskListExpander{color:rgb(86, 86, 86);font-size:0.6rem;padding:0.15rem 0.2rem 0 0.2rem;user-select:none;cursor:pointer}.taskListEmptyExpander{font-size:0.6rem;padding-left:1rem;user-select:none}.ganttTable{display:table;border-bottom:#e6e4e4 1px solid;border-top:#e6e4e4 1px solid;border-left:#e6e4e4 1px solid}.ganttTable_Header{display:table-row;list-style:none}.ganttTable_HeaderSeparator{border-right:1px solid rgb(196, 196, 196);opacity:1;margin-left:-2px}.ganttTable_HeaderItem{display:table-cell;vertical-align:-webkit-baseline-middle;vertical-align:middle}";
433
433
  const KupTaskListStyle0 = kupTaskListCss;
434
434
 
435
435
  const TaskList = /*@__PURE__*/ proxyCustomElement(class TaskList extends H {