gantt-lib 0.111.0 → 0.113.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
@@ -3489,6 +3489,288 @@
3489
3489
  text-align: right;
3490
3490
  }
3491
3491
 
3492
+ /* src/components/PlanFactMatrix/PlanFactMatrix.css */
3493
+ .gantt-pf-root {
3494
+ position: relative;
3495
+ background: var(--gantt-cell-background, #ffffff);
3496
+ --gantt-pf-day-width: 40px;
3497
+ --gantt-pf-day-line-width: 0.5px;
3498
+ --gantt-pf-day-line-color: rgb(226, 226, 226);
3499
+ --gantt-pf-row-line-width: 0.5px;
3500
+ --gantt-pf-row-line-color: var(--gantt-plan-fact-row-line-color, rgb(146, 153, 160));
3501
+ }
3502
+ .gantt-pf-header {
3503
+ position: sticky;
3504
+ top: 0;
3505
+ z-index: 10;
3506
+ overflow: hidden;
3507
+ background: var(--gantt-cell-background, #ffffff);
3508
+ border-bottom: 1px solid var(--gantt-grid-line-color, #e0e0e0);
3509
+ box-sizing: border-box;
3510
+ }
3511
+ .gantt-pf-headerTodayLine {
3512
+ position: absolute;
3513
+ bottom: 0;
3514
+ z-index: 11;
3515
+ width: var(--gantt-today-indicator-width);
3516
+ background: var(--gantt-today-indicator-color);
3517
+ pointer-events: none;
3518
+ }
3519
+ .gantt-pf-body {
3520
+ position: relative;
3521
+ z-index: 0;
3522
+ }
3523
+ .gantt-pf-row {
3524
+ position: absolute;
3525
+ left: 0;
3526
+ display: grid;
3527
+ grid-template-rows: 1fr 1fr;
3528
+ box-sizing: border-box;
3529
+ overflow: hidden;
3530
+ background-image:
3531
+ linear-gradient(
3532
+ to right,
3533
+ transparent 0,
3534
+ transparent var(--gantt-pf-today-left, -10000px),
3535
+ var(--gantt-today-indicator-color) var(--gantt-pf-today-left, -10000px),
3536
+ var(--gantt-today-indicator-color) calc(var(--gantt-pf-today-left, -10000px) + var(--gantt-today-indicator-width)),
3537
+ transparent calc(var(--gantt-pf-today-left, -10000px) + var(--gantt-today-indicator-width))),
3538
+ repeating-linear-gradient(
3539
+ to right,
3540
+ transparent 0,
3541
+ transparent calc(var(--gantt-pf-day-width) - var(--gantt-pf-day-line-width)),
3542
+ var(--gantt-pf-day-line-color, rgba(148, 163, 184, 0.55)) calc(var(--gantt-pf-day-width) - var(--gantt-pf-day-line-width)),
3543
+ var(--gantt-pf-day-line-color, rgba(148, 163, 184, 0.55)) var(--gantt-pf-day-width));
3544
+ box-shadow: inset 0 calc(-1 * var(--gantt-pf-row-line-width)) 0 var(--gantt-pf-row-line-color);
3545
+ }
3546
+ .gantt-pf-row-parent {
3547
+ background-image:
3548
+ linear-gradient(
3549
+ to right,
3550
+ transparent 0,
3551
+ transparent var(--gantt-pf-today-left, -10000px),
3552
+ var(--gantt-today-indicator-color) var(--gantt-pf-today-left, -10000px),
3553
+ var(--gantt-today-indicator-color) calc(var(--gantt-pf-today-left, -10000px) + var(--gantt-today-indicator-width)),
3554
+ transparent calc(var(--gantt-pf-today-left, -10000px) + var(--gantt-today-indicator-width)));
3555
+ font-weight: 600;
3556
+ }
3557
+ .gantt-pf-row-parent .gantt-pf-cell,
3558
+ .gantt-pf-row-parent .gantt-pf-cell-active,
3559
+ .gantt-pf-row-parent .gantt-pf-cell-editing:hover,
3560
+ .gantt-pf-row-parent .gantt-pf-cell-selected,
3561
+ .gantt-pf-row-parent .gantt-pf-cell-selected.gantt-pf-cell-active:hover,
3562
+ .gantt-pf-row-parent .gantt-pf-cell-selected.gantt-pf-cell-rangeAnchor,
3563
+ .gantt-pf-row-parent .gantt-pf-cell-selected.gantt-pf-cell-rangeAnchor.gantt-pf-cell-active:hover,
3564
+ .gantt-pf-row-parent .gantt-pf-cell:not(.gantt-pf-cell-readonly):hover,
3565
+ .gantt-pf-row-parent .gantt-pf-cell-active:not(.gantt-pf-cell-selected):hover {
3566
+ box-shadow: none;
3567
+ }
3568
+ .gantt-pf-row-highlighted {
3569
+ background-color: rgba(250, 204, 21, 0.24);
3570
+ }
3571
+ .gantt-pf-row.gantt-pf-row-hovered {
3572
+ box-shadow: inset 0 calc(-1 * var(--gantt-pf-row-line-width)) 0 var(--gantt-pf-row-line-color), inset 0 0 0 9999px var(--gantt-row-hover-background, rgba(59, 130, 246, 0.04));
3573
+ }
3574
+ .gantt-pf-row-highlighted.gantt-pf-row-hovered {
3575
+ box-shadow: inset 0 calc(-1 * var(--gantt-pf-row-line-width)) 0 var(--gantt-pf-row-line-color), inset 0 0 0 9999px rgba(250, 204, 21, 0.3);
3576
+ }
3577
+ .gantt-pf-monthSeparatorLayer {
3578
+ position: absolute;
3579
+ inset: 0;
3580
+ z-index: 12;
3581
+ pointer-events: none;
3582
+ }
3583
+ .gantt-pf-monthSeparator {
3584
+ position: absolute;
3585
+ bottom: 0;
3586
+ width: var(--gantt-month-separator-width, 2px);
3587
+ background: var(--gantt-month-separator-color, #374151);
3588
+ }
3589
+ .gantt-pf-cell {
3590
+ position: relative;
3591
+ display: flex;
3592
+ align-items: center;
3593
+ justify-content: flex-end;
3594
+ min-width: 0;
3595
+ padding: 0 clamp(2px, calc(var(--gantt-pf-day-width) * 0.1), 4px);
3596
+ box-sizing: border-box;
3597
+ color: #0f172a;
3598
+ font-size: clamp(10px, calc(var(--gantt-pf-day-width) * 0.3), 12px);
3599
+ line-height: 1;
3600
+ font-variant-numeric: tabular-nums;
3601
+ outline: none;
3602
+ background: transparent;
3603
+ box-shadow: none;
3604
+ }
3605
+ .gantt-pf-cell-plan {
3606
+ font-weight: 600;
3607
+ }
3608
+ .gantt-pf-cell-planned {
3609
+ background: var(--gantt-plan-fact-plan-fill, rgba(59, 130, 246, 0.12));
3610
+ }
3611
+ .gantt-pf-cell-fact.gantt-pf-cell-hasValue {
3612
+ background: var(--gantt-plan-fact-fact-fill, rgba(20, 184, 166, 0.10));
3613
+ }
3614
+ .gantt-pf-cell-factSuccess.gantt-pf-cell-hasValue {
3615
+ background: rgba(34, 197, 94, 0.14);
3616
+ color: #15803d;
3617
+ }
3618
+ .gantt-pf-cell-factWarning.gantt-pf-cell-hasValue {
3619
+ background: rgba(244, 114, 182, 0.16);
3620
+ color: #dc2626;
3621
+ }
3622
+ .gantt-pf-cell-active {
3623
+ z-index: 1;
3624
+ box-shadow: none;
3625
+ }
3626
+ .gantt-pf-cell-selected {
3627
+ box-shadow: inset 0 0 0 9999px rgba(37, 99, 235, 0.12);
3628
+ }
3629
+ .gantt-pf-cell-selected.gantt-pf-cell-rangeAnchor {
3630
+ box-shadow: none;
3631
+ }
3632
+ .gantt-pf-cell-active:not(.gantt-pf-cell-selected)::after {
3633
+ position: absolute;
3634
+ inset: 0;
3635
+ z-index: 1;
3636
+ border: 1px solid #2563eb;
3637
+ box-sizing: border-box;
3638
+ content: "";
3639
+ pointer-events: none;
3640
+ }
3641
+ .gantt-pf-cell-editing {
3642
+ z-index: 2;
3643
+ padding: 0;
3644
+ }
3645
+ .gantt-pf-cell-readonly {
3646
+ cursor: default;
3647
+ }
3648
+ .gantt-pf-cell:not(.gantt-pf-cell-readonly) {
3649
+ cursor: cell;
3650
+ }
3651
+ .gantt-pf-cell:not(.gantt-pf-cell-readonly):hover {
3652
+ box-shadow: inset 0 0 0 9999px rgba(15, 23, 42, 0.06);
3653
+ }
3654
+ .gantt-pf-cell-selected:not(.gantt-pf-cell-active):hover {
3655
+ box-shadow: inset 0 0 0 9999px rgba(37, 99, 235, 0.16);
3656
+ }
3657
+ .gantt-pf-cell-selected.gantt-pf-cell-active:hover {
3658
+ box-shadow: inset 0 0 0 9999px rgba(37, 99, 235, 0.12);
3659
+ }
3660
+ .gantt-pf-cell-selected.gantt-pf-cell-rangeAnchor:hover,
3661
+ .gantt-pf-cell-selected.gantt-pf-cell-rangeAnchor.gantt-pf-cell-active:hover {
3662
+ box-shadow: none;
3663
+ }
3664
+ .gantt-pf-cell-active:not(.gantt-pf-cell-selected):hover {
3665
+ box-shadow: none;
3666
+ }
3667
+ .gantt-pf-cell-active:not(.gantt-pf-cell-selected):hover::after {
3668
+ border-color: #1d4ed8;
3669
+ }
3670
+ .gantt-pf-cell-rangeLeft::before,
3671
+ .gantt-pf-cell-rangeRight::before,
3672
+ .gantt-pf-cell-rangeTop::before,
3673
+ .gantt-pf-cell-rangeBottom::before {
3674
+ position: absolute;
3675
+ inset: 0;
3676
+ z-index: 2;
3677
+ box-sizing: border-box;
3678
+ content: "";
3679
+ pointer-events: none;
3680
+ }
3681
+ .gantt-pf-cell-rangeLeft::before {
3682
+ border-left: 1px solid #2563eb;
3683
+ }
3684
+ .gantt-pf-cell-rangeRight::before {
3685
+ border-right: 1px solid #2563eb;
3686
+ }
3687
+ .gantt-pf-cell-rangeTop::before {
3688
+ border-top: 1px solid #2563eb;
3689
+ }
3690
+ .gantt-pf-cell-rangeBottom::before {
3691
+ border-bottom: 1px solid #2563eb;
3692
+ }
3693
+ .gantt-pf-cell-rangeLeft.gantt-pf-cell-rangeRight::before {
3694
+ border-left: 1px solid #2563eb;
3695
+ border-right: 1px solid #2563eb;
3696
+ }
3697
+ .gantt-pf-cell-rangeTop.gantt-pf-cell-rangeBottom::before {
3698
+ border-top: 1px solid #2563eb;
3699
+ border-bottom: 1px solid #2563eb;
3700
+ }
3701
+ .gantt-pf-fillHandle {
3702
+ position: absolute;
3703
+ right: -1px;
3704
+ bottom: -1px;
3705
+ z-index: 3;
3706
+ width: 7px;
3707
+ height: 7px;
3708
+ border: 1px solid #ffffff;
3709
+ box-sizing: border-box;
3710
+ background: #2563eb;
3711
+ cursor: crosshair;
3712
+ }
3713
+ .gantt-pf-cell-editing:hover {
3714
+ box-shadow: none;
3715
+ }
3716
+ .gantt-pf-cellValue {
3717
+ overflow: hidden;
3718
+ width: 100%;
3719
+ max-width: 100%;
3720
+ text-overflow: ellipsis;
3721
+ white-space: nowrap;
3722
+ text-align: right;
3723
+ }
3724
+ .gantt-pf-editor {
3725
+ width: 100%;
3726
+ height: 100%;
3727
+ min-height: 100%;
3728
+ border: 1px solid var(--gantt-grid-line-color, #e0e0e0);
3729
+ border-radius: 0;
3730
+ box-sizing: border-box;
3731
+ background: #ffffff;
3732
+ padding: 0 clamp(2px, calc(var(--gantt-pf-day-width) * 0.1), 4px);
3733
+ color: #0f172a;
3734
+ font: inherit;
3735
+ font-variant-numeric: tabular-nums;
3736
+ line-height: 1;
3737
+ text-align: right;
3738
+ box-shadow: none;
3739
+ }
3740
+ .gantt-pf-editor:focus {
3741
+ outline: none;
3742
+ border-color: #3b82f6;
3743
+ box-shadow: inset 0 0 0 1px rgba(59, 130, 246, 0.18);
3744
+ }
3745
+ .gantt-pf-overflowTooltip {
3746
+ position: absolute;
3747
+ z-index: 20;
3748
+ transform: translate(-50%, calc(-100% - 4px));
3749
+ pointer-events: none;
3750
+ max-width: 160px;
3751
+ padding: 4px 8px;
3752
+ border: 1px solid rgba(148, 163, 184, 0.35);
3753
+ border-radius: 4px;
3754
+ background: #ffffff;
3755
+ box-shadow: 0 8px 24px rgba(15, 23, 42, 0.14);
3756
+ color: #0f172a;
3757
+ font-size: 12px;
3758
+ font-weight: 500;
3759
+ line-height: 1.2;
3760
+ white-space: nowrap;
3761
+ animation: gantt-pf-tooltip-in 90ms ease-out;
3762
+ }
3763
+ @keyframes gantt-pf-tooltip-in {
3764
+ from {
3765
+ opacity: 0;
3766
+ transform: translate(-50%, calc(-100% - 1px));
3767
+ }
3768
+ to {
3769
+ opacity: 1;
3770
+ transform: translate(-50%, calc(-100% - 4px));
3771
+ }
3772
+ }
3773
+
3492
3774
  /* src/components/GanttChart/GanttChart.css */
3493
3775
  .gantt-container {
3494
3776
  width: 100%;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "gantt-lib",
3
- "version": "0.111.0",
3
+ "version": "0.113.0",
4
4
  "description": "React scheduling UI library for Gantt charts, resource planners, and table-matrix views",
5
5
  "license": "MIT",
6
6
  "repository": {