gantt-lib 0.135.9 → 0.136.1
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/README.md +22 -0
- package/dist/core/scheduling/index.d.mts +1 -1
- package/dist/core/scheduling/index.d.ts +1 -1
- package/dist/{index-DR8Q6-de.d.mts → index-D99kbU4p.d.mts} +5 -0
- package/dist/{index-DR8Q6-de.d.ts → index-D99kbU4p.d.ts} +5 -0
- package/dist/index.css.map +1 -1
- package/dist/index.d.mts +19 -2
- package/dist/index.d.ts +19 -2
- package/dist/index.js +469 -119
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +665 -315
- package/dist/index.mjs.map +1 -1
- package/dist/styles.css +228 -4
- package/package.json +1 -1
package/dist/styles.css
CHANGED
|
@@ -473,11 +473,12 @@
|
|
|
473
473
|
}
|
|
474
474
|
.gantt-tr-row:hover,
|
|
475
475
|
.gantt-tr-row-hovered {
|
|
476
|
-
|
|
476
|
+
box-shadow: inset 0 0 0 9999px var(--gantt-row-hover-background, rgba(59, 130, 246, 0.04));
|
|
477
477
|
}
|
|
478
478
|
.gantt-tr-row.gantt-tr-row-filter-match:hover,
|
|
479
479
|
.gantt-tr-row.gantt-tr-row-filter-match.gantt-tr-row-hovered {
|
|
480
480
|
background-color: rgba(250, 204, 21, 0.3);
|
|
481
|
+
box-shadow: inset 0 0 0 9999px rgba(250, 204, 21, 0.3);
|
|
481
482
|
}
|
|
482
483
|
.gantt-tr-taskBar {
|
|
483
484
|
position: absolute;
|
|
@@ -494,6 +495,146 @@
|
|
|
494
495
|
transition: box-shadow 0.15s ease;
|
|
495
496
|
cursor: grab;
|
|
496
497
|
}
|
|
498
|
+
.gantt-tr-compositePreview {
|
|
499
|
+
position: fixed;
|
|
500
|
+
z-index: 10000;
|
|
501
|
+
width: 220px;
|
|
502
|
+
max-height: 340px;
|
|
503
|
+
overflow: hidden;
|
|
504
|
+
padding: 4px 12px 10px;
|
|
505
|
+
border: 1px solid var(--gantt-grid-line-color, #ddd);
|
|
506
|
+
border-radius: 8px;
|
|
507
|
+
background: var(--gantt-background, #fff);
|
|
508
|
+
color: var(--gantt-text-color, #222);
|
|
509
|
+
box-shadow: 0 8px 24px rgba(0, 0, 0, .16);
|
|
510
|
+
pointer-events: none;
|
|
511
|
+
font-size: 12px;
|
|
512
|
+
}
|
|
513
|
+
.gantt-tr-compositePreviewRow {
|
|
514
|
+
display: grid;
|
|
515
|
+
grid-template-columns: 60px 1fr;
|
|
516
|
+
align-items: center;
|
|
517
|
+
gap: 8px;
|
|
518
|
+
height: 20px;
|
|
519
|
+
white-space: nowrap;
|
|
520
|
+
}
|
|
521
|
+
.gantt-tr-compositePreviewAxis {
|
|
522
|
+
display: flex;
|
|
523
|
+
justify-content: space-between;
|
|
524
|
+
margin: 0 0 3px 68px;
|
|
525
|
+
color: #64748b;
|
|
526
|
+
font-size: 10px;
|
|
527
|
+
}
|
|
528
|
+
.gantt-tr-compositePreviewTrack {
|
|
529
|
+
position: relative;
|
|
530
|
+
height: 10px;
|
|
531
|
+
border-radius: 2px;
|
|
532
|
+
background: #f1f5f9;
|
|
533
|
+
}
|
|
534
|
+
.gantt-tr-compositePreviewBar {
|
|
535
|
+
position: absolute;
|
|
536
|
+
top: 1px;
|
|
537
|
+
height: 8px;
|
|
538
|
+
border-radius: 2px;
|
|
539
|
+
}
|
|
540
|
+
.gantt-tr-compositeBar {
|
|
541
|
+
border-radius: var(--gantt-task-bar-border-radius);
|
|
542
|
+
overflow: hidden;
|
|
543
|
+
}
|
|
544
|
+
.gantt-tr-compositeSegments {
|
|
545
|
+
position: absolute;
|
|
546
|
+
inset: 0;
|
|
547
|
+
z-index: 1;
|
|
548
|
+
pointer-events: none;
|
|
549
|
+
}
|
|
550
|
+
.gantt-tr-compositeSegment {
|
|
551
|
+
position: absolute;
|
|
552
|
+
box-sizing: border-box;
|
|
553
|
+
background:
|
|
554
|
+
linear-gradient(
|
|
555
|
+
90deg,
|
|
556
|
+
rgba(255, 255, 255, .34),
|
|
557
|
+
rgba(255, 255, 255, .06));
|
|
558
|
+
}
|
|
559
|
+
.gantt-tr-compositeSegmentCut {
|
|
560
|
+
position: absolute;
|
|
561
|
+
width: 1px;
|
|
562
|
+
background: rgba(255, 255, 255, .9);
|
|
563
|
+
}
|
|
564
|
+
.gantt-tr-compositeHoverChevron {
|
|
565
|
+
position: absolute;
|
|
566
|
+
z-index: 3;
|
|
567
|
+
left: 0;
|
|
568
|
+
top: 50%;
|
|
569
|
+
display: inline-flex;
|
|
570
|
+
align-items: center;
|
|
571
|
+
justify-content: center;
|
|
572
|
+
width: 24px;
|
|
573
|
+
height: 24px;
|
|
574
|
+
transform: translateY(-50%);
|
|
575
|
+
padding: 0;
|
|
576
|
+
border-radius: 4px;
|
|
577
|
+
background: rgba(24, 16, 45, .48);
|
|
578
|
+
color: white;
|
|
579
|
+
font-size: 11px;
|
|
580
|
+
font-weight: 700;
|
|
581
|
+
opacity: 0;
|
|
582
|
+
pointer-events: none;
|
|
583
|
+
transition: opacity 120ms ease;
|
|
584
|
+
}
|
|
585
|
+
.gantt-tr-compositeBar:hover .gantt-tr-compositeHoverChevron,
|
|
586
|
+
.gantt-tr-compositeBar:focus-visible .gantt-tr-compositeHoverChevron {
|
|
587
|
+
opacity: 1;
|
|
588
|
+
}
|
|
589
|
+
.gantt-tr-compositeChevron {
|
|
590
|
+
width: 14px;
|
|
591
|
+
height: 14px;
|
|
592
|
+
transition: transform 140ms ease;
|
|
593
|
+
}
|
|
594
|
+
.gantt-tr-compositeChevron-open {
|
|
595
|
+
transform: rotate(90deg);
|
|
596
|
+
}
|
|
597
|
+
.gantt-tr-externalDuration.gantt-tr-compositeDuration {
|
|
598
|
+
font-size: 0.72rem;
|
|
599
|
+
}
|
|
600
|
+
.gantt-tr-durationBeforeBar {
|
|
601
|
+
position: absolute;
|
|
602
|
+
top: 50%;
|
|
603
|
+
z-index: 1;
|
|
604
|
+
width: 40px;
|
|
605
|
+
padding-right: 4px;
|
|
606
|
+
transform: translateY(-50%);
|
|
607
|
+
text-align: right;
|
|
608
|
+
pointer-events: none;
|
|
609
|
+
font-size: 0.8rem;
|
|
610
|
+
font-weight: 500;
|
|
611
|
+
}
|
|
612
|
+
.gantt-tr-compositeBar .gantt-tr-resizeHandle {
|
|
613
|
+
width: 6px;
|
|
614
|
+
}
|
|
615
|
+
.gantt-tr-row-compositeDetail {
|
|
616
|
+
background-color: color-mix(in srgb, var(--gantt-tr-composite-detail-color) 8%, transparent);
|
|
617
|
+
}
|
|
618
|
+
.gantt-tr-row-compositeDetail:hover,
|
|
619
|
+
.gantt-tr-row-compositeDetail.gantt-tr-row-hovered {
|
|
620
|
+
box-shadow: inset 0 0 0 9999px var(--gantt-row-hover-background, rgba(59, 130, 246, 0.04));
|
|
621
|
+
}
|
|
622
|
+
.gantt-tr-row-compositeDetail .gantt-tr-taskBar {
|
|
623
|
+
border-radius: 4px;
|
|
624
|
+
opacity: .88;
|
|
625
|
+
}
|
|
626
|
+
.gantt-tr-row-compositeDetail .gantt-tr-leftLabels {
|
|
627
|
+
display: none;
|
|
628
|
+
}
|
|
629
|
+
.gantt-tr-row-compositeDetail .gantt-tr-externalTaskName {
|
|
630
|
+
font-size: 0.72rem;
|
|
631
|
+
}
|
|
632
|
+
.gantt-tr-row-compositeDetail .gantt-tr-progressText {
|
|
633
|
+
display: none;
|
|
634
|
+
}
|
|
635
|
+
.gantt-tr-row-compositeDetail .gantt-tr-externalProgress {
|
|
636
|
+
display: none;
|
|
637
|
+
}
|
|
497
638
|
.gantt-tr-milestone {
|
|
498
639
|
border-radius: 2px;
|
|
499
640
|
overflow: visible;
|
|
@@ -1303,6 +1444,89 @@
|
|
|
1303
1444
|
.gantt-tl-row-child {
|
|
1304
1445
|
padding-left: 0;
|
|
1305
1446
|
}
|
|
1447
|
+
.gantt-tl-row-composite-detail {
|
|
1448
|
+
--gantt-tl-name-actions-bg: color-mix(in srgb, var(--gantt-tl-composite-detail-color) 9%, var(--gantt-cell-background, #fff));
|
|
1449
|
+
background: color-mix(in srgb, var(--gantt-tl-composite-detail-color) 9%, var(--gantt-cell-background, #fff));
|
|
1450
|
+
font-size: 12px;
|
|
1451
|
+
}
|
|
1452
|
+
.gantt-tl-row-composite-detail .gantt-tl-cell:not(.gantt-tl-cell-name):not(.gantt-tl-cell-number):not(.gantt-tl-cell-progress) {
|
|
1453
|
+
visibility: hidden;
|
|
1454
|
+
}
|
|
1455
|
+
.gantt-tl-row-composite-detail .gantt-tl-cell-name {
|
|
1456
|
+
color: #5b4b83;
|
|
1457
|
+
}
|
|
1458
|
+
.gantt-tl-compositeToggle {
|
|
1459
|
+
position: absolute;
|
|
1460
|
+
top: 50%;
|
|
1461
|
+
z-index: 3;
|
|
1462
|
+
display: grid;
|
|
1463
|
+
place-items: center;
|
|
1464
|
+
width: 24px;
|
|
1465
|
+
height: 24px;
|
|
1466
|
+
padding: 2px;
|
|
1467
|
+
transform: translateY(-50%);
|
|
1468
|
+
border: 0;
|
|
1469
|
+
border-radius: 4px;
|
|
1470
|
+
background: transparent;
|
|
1471
|
+
color: var(--gantt-text-color, #374151);
|
|
1472
|
+
cursor: pointer;
|
|
1473
|
+
}
|
|
1474
|
+
.gantt-tl-compositeToggle:hover {
|
|
1475
|
+
background: var(--gantt-control-hover-background, rgba(15, 23, 42, .08));
|
|
1476
|
+
}
|
|
1477
|
+
.gantt-tl-compositeToggle:focus-visible,
|
|
1478
|
+
.gantt-tl-collapse-btn:focus-visible {
|
|
1479
|
+
outline: 2px solid var(--gantt-focus-ring-color, #64748b);
|
|
1480
|
+
outline-offset: 1px;
|
|
1481
|
+
}
|
|
1482
|
+
.gantt-tl-compositeToggle svg {
|
|
1483
|
+
width: 13px;
|
|
1484
|
+
height: 13px;
|
|
1485
|
+
transform-origin: center;
|
|
1486
|
+
}
|
|
1487
|
+
.gantt-tl-compositeToggle .gantt-tl-compositeGlyph-composite-opening-outgoing {
|
|
1488
|
+
animation: gantt-tl-composite-out-open 120ms ease-in-out forwards;
|
|
1489
|
+
}
|
|
1490
|
+
.gantt-tl-compositeToggle .gantt-tl-compositeGlyph-down-opening-incoming {
|
|
1491
|
+
animation: gantt-tl-composite-in-open 120ms ease-in-out forwards;
|
|
1492
|
+
}
|
|
1493
|
+
.gantt-tl-compositeToggle .gantt-tl-compositeGlyph-down-closing-outgoing {
|
|
1494
|
+
animation: gantt-tl-composite-out-close 120ms ease-in-out forwards;
|
|
1495
|
+
}
|
|
1496
|
+
.gantt-tl-compositeToggle .gantt-tl-compositeGlyph-composite-closing-incoming {
|
|
1497
|
+
animation: gantt-tl-composite-in-close 120ms ease-in-out forwards;
|
|
1498
|
+
}
|
|
1499
|
+
@keyframes gantt-tl-composite-out-open {
|
|
1500
|
+
to {
|
|
1501
|
+
transform: rotate(90deg);
|
|
1502
|
+
}
|
|
1503
|
+
}
|
|
1504
|
+
@keyframes gantt-tl-composite-in-open {
|
|
1505
|
+
from {
|
|
1506
|
+
transform: rotate(-90deg);
|
|
1507
|
+
}
|
|
1508
|
+
to {
|
|
1509
|
+
transform: rotate(0deg);
|
|
1510
|
+
}
|
|
1511
|
+
}
|
|
1512
|
+
@keyframes gantt-tl-composite-out-close {
|
|
1513
|
+
to {
|
|
1514
|
+
transform: rotate(-90deg);
|
|
1515
|
+
}
|
|
1516
|
+
}
|
|
1517
|
+
@keyframes gantt-tl-composite-in-close {
|
|
1518
|
+
from {
|
|
1519
|
+
transform: rotate(90deg);
|
|
1520
|
+
}
|
|
1521
|
+
to {
|
|
1522
|
+
transform: rotate(0deg);
|
|
1523
|
+
}
|
|
1524
|
+
}
|
|
1525
|
+
@media (prefers-reduced-motion: reduce) {
|
|
1526
|
+
.gantt-tl-compositeToggle [class*=gantt-tl-compositeGlyph-] {
|
|
1527
|
+
animation-duration: 1ms;
|
|
1528
|
+
}
|
|
1529
|
+
}
|
|
1306
1530
|
.gantt-tl-row-parent {
|
|
1307
1531
|
font-weight: 600;
|
|
1308
1532
|
--gantt-tl-name-actions-bg: inherit;
|
|
@@ -1338,8 +1562,8 @@
|
|
|
1338
1562
|
top: 50%;
|
|
1339
1563
|
transform: translateY(-50%);
|
|
1340
1564
|
z-index: 2;
|
|
1341
|
-
width:
|
|
1342
|
-
height:
|
|
1565
|
+
width: 24px;
|
|
1566
|
+
height: 24px;
|
|
1343
1567
|
border: none;
|
|
1344
1568
|
background: transparent;
|
|
1345
1569
|
border-radius: 4px;
|
|
@@ -1352,7 +1576,7 @@
|
|
|
1352
1576
|
transition: background-color 0.15s ease;
|
|
1353
1577
|
}
|
|
1354
1578
|
.gantt-tl-collapse-btn:hover {
|
|
1355
|
-
background-color:
|
|
1579
|
+
background-color: var(--gantt-control-hover-background, rgba(15, 23, 42, .08));
|
|
1356
1580
|
}
|
|
1357
1581
|
.gantt-tl-collapse-btn svg {
|
|
1358
1582
|
transition: transform 0.15s ease;
|