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