@validation-os/dashboard 0.16.1 → 0.16.2

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
@@ -3404,13 +3404,15 @@ button.vos-verdict-title {
3404
3404
  .vos-pipe-tag-needs { color: var(--vos-warn); border-color: var(--vos-warn); }
3405
3405
  .vos-detail-tag-qt { border-color: var(--vos-accent); color: var(--vos-accent); }
3406
3406
 
3407
- /* Stage-keyed threshold bar (assumption detail, DEV-5890) — two bars:
3408
- Risk (fills toward threshold) + Confidence (fills toward floor). */
3407
+ /* Stage-keyed evidence bar (assumption detail, DEV-5890) — a single
3408
+ Confidence bar that fills UP toward the stage's floor marker. The target
3409
+ zone above the marker is tinted to show "this is where you need to be."
3410
+ Maturity's marker is at 60% (hard to reach); Discovery's is at 10% (easy). */
3409
3411
  .vos-threshold-bar-card {
3410
3412
  padding: 14px 16px;
3411
3413
  display: flex;
3412
3414
  flex-direction: column;
3413
- gap: 12px;
3415
+ gap: 10px;
3414
3416
  }
3415
3417
 
3416
3418
  .vos-threshold-bar-header {
@@ -3445,22 +3447,11 @@ button.vos-verdict-title {
3445
3447
  border-radius: 4px;
3446
3448
  }
3447
3449
 
3448
- .vos-threshold-bar-good {
3449
- color: var(--vos-good);
3450
- background: var(--vos-good-weak);
3451
- }
3452
-
3453
- .vos-threshold-bar-warn {
3454
- color: var(--vos-warn);
3455
- background: var(--vos-warn-weak);
3456
- }
3450
+ .vos-threshold-bar-good { color: var(--vos-good); background: var(--vos-good-weak); }
3451
+ .vos-threshold-bar-warn { color: var(--vos-warn); background: var(--vos-warn-weak); }
3452
+ .vos-threshold-bar-crit { color: var(--vos-crit); background: var(--vos-crit-weak); }
3457
3453
 
3458
- .vos-threshold-bar-crit {
3459
- color: var(--vos-crit);
3460
- background: var(--vos-crit-weak);
3461
- }
3462
-
3463
- /* Each bar section (Risk + Confidence) */
3454
+ /* Bar section */
3464
3455
  .vos-threshold-bar-section {
3465
3456
  display: flex;
3466
3457
  flex-direction: column;
@@ -3487,39 +3478,54 @@ button.vos-verdict-title {
3487
3478
  margin-left: auto;
3488
3479
  }
3489
3480
 
3490
- /* The bar track */
3481
+ /* The bar track — taller for prominence */
3491
3482
  .vos-threshold-bar-track {
3492
3483
  position: relative;
3493
- height: 18px;
3494
- border-radius: 5px;
3484
+ height: 24px;
3485
+ border-radius: 6px;
3495
3486
  background: var(--vos-surface-2);
3496
3487
  overflow: visible;
3497
3488
  border: 1px solid var(--vos-border);
3498
3489
  }
3499
3490
 
3491
+ .vos-threshold-bar-track-tall {
3492
+ height: 28px;
3493
+ }
3494
+
3495
+ /* The target zone — tinted area above the floor marker (where you need to be) */
3496
+ .vos-threshold-bar-target-zone {
3497
+ position: absolute;
3498
+ top: 0;
3499
+ right: 0;
3500
+ bottom: 0;
3501
+ background: repeating-linear-gradient(
3502
+ 45deg,
3503
+ transparent,
3504
+ transparent 4px,
3505
+ rgba(0, 0, 0, 0.03) 4px,
3506
+ rgba(0, 0, 0, 0.03) 8px
3507
+ );
3508
+ border-radius: 0 5px 5px 0;
3509
+ pointer-events: none;
3510
+ }
3511
+
3512
+ /* The fill */
3500
3513
  .vos-threshold-bar-fill {
3501
3514
  position: absolute;
3502
3515
  top: 0;
3503
3516
  left: 0;
3504
3517
  height: 100%;
3505
- border-radius: 4px 0 0 4px;
3506
- transition: width 0.4s cubic-bezier(0.16, 1, 0.3, 1);
3507
- opacity: 0.75;
3508
- }
3509
-
3510
- .vos-threshold-bar-fill.vos-fill-good {
3511
- background: var(--vos-good);
3512
- }
3513
-
3514
- .vos-threshold-bar-fill.vos-fill-warn {
3515
- background: var(--vos-warn);
3518
+ border-radius: 5px 0 0 5px;
3519
+ transition: width 0.5s cubic-bezier(0.16, 1, 0.3, 1);
3520
+ opacity: 0.8;
3521
+ z-index: 1;
3516
3522
  }
3517
3523
 
3518
- .vos-threshold-bar-fill.vos-fill-crit {
3519
- background: var(--vos-crit);
3520
- }
3524
+ .vos-threshold-bar-fill.vos-fill-good { background: var(--vos-good); }
3525
+ .vos-threshold-bar-fill.vos-fill-warn { background: var(--vos-warn); }
3526
+ .vos-threshold-bar-fill.vos-fill-crit { background: var(--vos-crit); }
3521
3527
 
3522
- /* The threshold/floor marker — a vertical dashed line */
3528
+ /* The floor marker — a vertical dashed line with a label above */
3523
3529
  .vos-threshold-bar-marker {
3524
3530
  position: absolute;
3525
3531
  top: -2px;
@@ -3530,6 +3536,46 @@ button.vos-verdict-title {
3530
3536
  z-index: 2;
3531
3537
  }
3532
3538
 
3539
+ .vos-threshold-bar-marker-label {
3540
+ position: absolute;
3541
+ top: -14px;
3542
+ left: 4px;
3543
+ font-size: 9px;
3544
+ font-weight: 600;
3545
+ color: var(--vos-muted);
3546
+ white-space: nowrap;
3547
+ }
3548
+
3549
+ /* Scale under the bar */
3550
+ .vos-threshold-bar-scale {
3551
+ display: flex;
3552
+ justify-content: space-between;
3553
+ font-size: 8px;
3554
+ color: var(--vos-faint);
3555
+ padding: 0 1px;
3556
+ }
3557
+
3558
+ .vos-threshold-bar-scale-mid {
3559
+ color: var(--vos-faint);
3560
+ }
3561
+
3562
+ /* Compact risk summary */
3563
+ .vos-threshold-bar-risk-summary {
3564
+ display: flex;
3565
+ align-items: baseline;
3566
+ gap: 8px;
3567
+ font-size: 11px;
3568
+ }
3569
+
3570
+ .vos-threshold-bar-risk-val {
3571
+ font-weight: 700;
3572
+ }
3573
+
3574
+ .vos-threshold-bar-risk-cap {
3575
+ color: var(--vos-muted);
3576
+ font-size: 10px;
3577
+ }
3578
+
3533
3579
  .vos-threshold-bar-hint {
3534
3580
  font-size: 11px;
3535
3581
  color: var(--vos-muted);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@validation-os/dashboard",
3
- "version": "0.16.1",
3
+ "version": "0.16.2",
4
4
  "description": "React dashboard components + hooks for validation-os, consuming the DataProvider seam.",
5
5
  "license": "MIT",
6
6
  "type": "module",
@@ -22,7 +22,7 @@
22
22
  "access": "public"
23
23
  },
24
24
  "dependencies": {
25
- "@validation-os/core": "0.16.1"
25
+ "@validation-os/core": "0.16.2"
26
26
  },
27
27
  "peerDependencies": {
28
28
  "react": ">=18",