gantt-lib 0.78.0 → 0.79.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/styles.css CHANGED
@@ -717,12 +717,24 @@
717
717
  pointer-events: none;
718
718
  overflow: visible;
719
719
  }
720
+ .gantt-dependency-line {
721
+ pointer-events: visibleStroke;
722
+ }
723
+ .gantt-dependency-hit-area {
724
+ fill: none;
725
+ stroke: transparent;
726
+ stroke-width: 12;
727
+ stroke-linecap: round;
728
+ stroke-linejoin: round;
729
+ pointer-events: stroke;
730
+ }
720
731
  .gantt-dependency-path {
721
732
  fill: none;
722
733
  stroke: var(--gantt-dependency-line-color, #666666);
723
734
  stroke-width: 1;
724
735
  stroke-linecap: round;
725
736
  stroke-linejoin: round;
737
+ pointer-events: none;
726
738
  }
727
739
  .gantt-dependency-virtual {
728
740
  stroke-dasharray: 4 2;
@@ -735,6 +747,14 @@
735
747
  stroke: #ef4444;
736
748
  stroke-width: 2;
737
749
  }
750
+ .gantt-dependency-line:hover .gantt-dependency-hit-area {
751
+ stroke: var(--gantt-dependency-hover-background, rgba(239, 68, 68, 0.22));
752
+ }
753
+ .gantt-dependency-line:hover .gantt-dependency-path {
754
+ stroke: var(--gantt-dependency-hover-color, #ef4444);
755
+ stroke-width: 2;
756
+ marker-end: url(#arrowhead-hover);
757
+ }
738
758
  .gantt-dependency-arrow polygon {
739
759
  fill: var(--gantt-dependency-line-color, #666666);
740
760
  }
@@ -1172,7 +1192,7 @@
1172
1192
  cursor: not-allowed;
1173
1193
  }
1174
1194
  .gantt-tl-cell-deps {
1175
- width: 90px;
1195
+ width: 128px;
1176
1196
  flex-shrink: 0;
1177
1197
  flex-wrap: wrap;
1178
1198
  gap: 4px;
@@ -1362,23 +1382,90 @@
1362
1382
  .gantt-tl-dep-chip {
1363
1383
  display: inline-flex;
1364
1384
  align-items: center;
1365
- gap: 1px;
1366
- background-color: rgba(59, 130, 246, 0.12);
1385
+ gap: 2px;
1386
+ background-color: rgba(107, 114, 128, 0.12);
1367
1387
  border-radius: 6px;
1368
- padding: 4px 4px;
1369
- font-size: 0.7rem;
1370
- color: #1d4ed8;
1388
+ padding: 3px 4px;
1389
+ font-size: inherit;
1390
+ color: #4b5563;
1371
1391
  white-space: nowrap;
1372
1392
  line-height: 14px;
1373
1393
  cursor: pointer;
1374
- min-width: 42px;
1394
+ width: fit-content;
1395
+ min-width: 22px;
1375
1396
  justify-content: center;
1376
1397
  }
1377
- .gantt-tl-dep-chip-selected {
1398
+ .gantt-tl-dep-chip-with-number {
1399
+ display: inline-flex;
1400
+ align-items: center;
1401
+ gap: 5px;
1402
+ border-radius: 6px;
1403
+ cursor: pointer;
1404
+ font-size: 0.75rem;
1405
+ padding: 3px 6px;
1406
+ }
1407
+ .gantt-tl-dep-chip-with-number:hover {
1408
+ background-color: rgba(59, 130, 246, 0.12);
1409
+ }
1410
+ .gantt-tl-dep-chip-with-number:hover .gantt-tl-dep-chip-task-number,
1411
+ .gantt-tl-dep-chip-with-number:hover .gantt-tl-dep-chip svg,
1412
+ .gantt-tl-dep-chip-with-number:hover .gantt-tl-dep-chip-lag {
1413
+ color: #2563eb;
1414
+ }
1415
+ .gantt-tl-dep-chip-with-number:hover .gantt-tl-dep-chip {
1416
+ background-color: rgba(59, 130, 246, 0.18);
1417
+ }
1418
+ .gantt-tl-dep-chip-tooltip {
1419
+ position: absolute;
1420
+ left: calc(100% + 6px);
1421
+ top: 50%;
1422
+ transform: translateY(-50%);
1423
+ z-index: 1000;
1424
+ display: none;
1425
+ width: max-content;
1426
+ min-width: 0;
1427
+ max-width: min(360px, calc(100vw - 32px));
1428
+ padding: 5px 8px;
1429
+ border-radius: 4px;
1430
+ background: #111827;
1431
+ color: #fff;
1432
+ font-size: 0.75rem;
1433
+ line-height: 1.3;
1434
+ white-space: normal;
1435
+ overflow-wrap: anywhere;
1436
+ box-shadow: 0 6px 18px rgba(15, 23, 42, 0.18);
1437
+ pointer-events: none;
1438
+ }
1439
+ .gantt-tl-dep-chip-with-number:hover .gantt-tl-dep-chip-tooltip,
1440
+ .gantt-tl-dep-chip-with-number:focus-visible .gantt-tl-dep-chip-tooltip {
1441
+ display: block;
1442
+ }
1443
+ .gantt-tl-dep-chip-task-number {
1444
+ color: #4b5563;
1445
+ font-weight: 400;
1446
+ line-height: 14px;
1447
+ }
1448
+ .gantt-tl-dep-chip svg {
1449
+ color: #4b5563;
1450
+ }
1451
+ .gantt-tl-dep-chip-lag {
1452
+ color: #9ca3af;
1453
+ line-height: 14px;
1454
+ }
1455
+ .gantt-tl-dep-chip-with-number-selected {
1378
1456
  background-color: #2563eb;
1379
- border-color: #2563eb;
1380
1457
  color: #fff;
1381
- font-weight: 600;
1458
+ }
1459
+ .gantt-tl-dep-chip-with-number-selected .gantt-tl-dep-chip {
1460
+ background-color: rgba(255, 255, 255, 0.16);
1461
+ }
1462
+ .gantt-tl-dep-chip-with-number-selected .gantt-tl-dep-chip-task-number,
1463
+ .gantt-tl-dep-chip-with-number-selected .gantt-tl-dep-chip svg,
1464
+ .gantt-tl-dep-chip-with-number-selected .gantt-tl-dep-chip-lag {
1465
+ color: #fff;
1466
+ }
1467
+ .gantt-tl-dep-chip-with-number-selected .gantt-tl-dep-chip-lag {
1468
+ opacity: 0.82;
1382
1469
  }
1383
1470
  .gantt-tl-dep-chip-wrapper {
1384
1471
  display: inline-flex;
@@ -2010,10 +2097,44 @@
2010
2097
  padding: 4px;
2011
2098
  color: var(--gantt-task-bar-text-color, #ffffff);
2012
2099
  border-radius: var(--gantt-resource-bar-radius, 4px);
2013
- overflow: hidden;
2100
+ overflow: visible;
2014
2101
  cursor: grab;
2015
2102
  user-select: none;
2016
2103
  }
2104
+ .gantt-resourceTimeline-item::after {
2105
+ content: attr(data-resource-item-tooltip);
2106
+ position: absolute;
2107
+ left: 50%;
2108
+ top: -8px;
2109
+ z-index: 20;
2110
+ max-width: 360px;
2111
+ padding: 6px 8px;
2112
+ border-radius: 6px;
2113
+ background: rgba(15, 23, 42, 0.96);
2114
+ color: #ffffff;
2115
+ font-size: 12px;
2116
+ font-weight: 600;
2117
+ line-height: 1.25;
2118
+ opacity: 0;
2119
+ pointer-events: none;
2120
+ text-align: left;
2121
+ transform: translate(-50%, calc(-100% + 2px));
2122
+ transition: opacity 80ms ease-out, transform 80ms ease-out;
2123
+ visibility: hidden;
2124
+ white-space: normal;
2125
+ width: max-content;
2126
+ word-break: break-word;
2127
+ }
2128
+ .gantt-resourceTimeline-item:hover::after,
2129
+ .gantt-resourceTimeline-item:focus-visible::after {
2130
+ opacity: 1;
2131
+ transform: translate(-50%, -100%);
2132
+ visibility: visible;
2133
+ }
2134
+ .gantt-resourceTimeline-item:hover,
2135
+ .gantt-resourceTimeline-item:focus-visible {
2136
+ z-index: 30;
2137
+ }
2017
2138
  .gantt-resourceTimeline-weekendOverlay {
2018
2139
  position: absolute;
2019
2140
  top: 0;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "gantt-lib",
3
- "version": "0.78.0",
3
+ "version": "0.79.0",
4
4
  "description": "Lightweight React Gantt chart component library",
5
5
  "license": "MIT",
6
6
  "repository": {