@validation-os/dashboard 0.16.0 → 0.16.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/dist/styles.css CHANGED
@@ -3404,15 +3404,136 @@ 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 Risk threshold indicator (assumption detail) */
3408
- .vos-threshold-indicator { padding: 10px 14px; }
3409
- .vos-threshold-label { font-size: 9px; color: var(--vos-muted); text-transform: uppercase; letter-spacing: 0.06em; margin-bottom: 6px; }
3410
- .vos-threshold-row { display: flex; gap: 12px; align-items: center; font-size: 12px; }
3411
- .vos-threshold-bar { color: var(--vos-muted); }
3412
- .vos-threshold-status { font-weight: 600; }
3413
- .vos-threshold-cleared { color: var(--vos-good); }
3414
- .vos-threshold-needs { color: var(--vos-warn); }
3415
- .vos-threshold-hint { font-size: 11px; color: var(--vos-muted); margin-top: 4px; }
3407
+ /* Stage-keyed threshold bar (assumption detail, DEV-5890) — two bars:
3408
+ Risk (fills toward threshold) + Confidence (fills toward floor). */
3409
+ .vos-threshold-bar-card {
3410
+ padding: 14px 16px;
3411
+ display: flex;
3412
+ flex-direction: column;
3413
+ gap: 12px;
3414
+ }
3415
+
3416
+ .vos-threshold-bar-header {
3417
+ display: flex;
3418
+ justify-content: space-between;
3419
+ align-items: center;
3420
+ }
3421
+
3422
+ .vos-threshold-bar-title {
3423
+ font-size: 12px;
3424
+ font-weight: 600;
3425
+ color: var(--vos-text);
3426
+ display: flex;
3427
+ align-items: center;
3428
+ gap: 8px;
3429
+ }
3430
+
3431
+ .vos-threshold-bar-stage-tag {
3432
+ font-size: 9px;
3433
+ font-weight: 500;
3434
+ color: var(--vos-muted);
3435
+ padding: 1px 6px;
3436
+ border: 1px solid var(--vos-border);
3437
+ border-radius: 4px;
3438
+ text-transform: capitalize;
3439
+ }
3440
+
3441
+ .vos-threshold-bar-status {
3442
+ font-size: 11px;
3443
+ font-weight: 600;
3444
+ padding: 2px 8px;
3445
+ border-radius: 4px;
3446
+ }
3447
+
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
+ }
3457
+
3458
+ .vos-threshold-bar-crit {
3459
+ color: var(--vos-crit);
3460
+ background: var(--vos-crit-weak);
3461
+ }
3462
+
3463
+ /* Each bar section (Risk + Confidence) */
3464
+ .vos-threshold-bar-section {
3465
+ display: flex;
3466
+ flex-direction: column;
3467
+ gap: 4px;
3468
+ }
3469
+
3470
+ .vos-threshold-bar-section-label {
3471
+ display: flex;
3472
+ align-items: baseline;
3473
+ gap: 6px;
3474
+ font-size: 10px;
3475
+ color: var(--vos-muted);
3476
+ }
3477
+
3478
+ .vos-threshold-bar-section-val {
3479
+ font-weight: 700;
3480
+ color: var(--vos-text);
3481
+ font-size: 13px;
3482
+ }
3483
+
3484
+ .vos-threshold-bar-section-target {
3485
+ font-size: 9px;
3486
+ color: var(--vos-faint);
3487
+ margin-left: auto;
3488
+ }
3489
+
3490
+ /* The bar track */
3491
+ .vos-threshold-bar-track {
3492
+ position: relative;
3493
+ height: 18px;
3494
+ border-radius: 5px;
3495
+ background: var(--vos-surface-2);
3496
+ overflow: visible;
3497
+ border: 1px solid var(--vos-border);
3498
+ }
3499
+
3500
+ .vos-threshold-bar-fill {
3501
+ position: absolute;
3502
+ top: 0;
3503
+ left: 0;
3504
+ 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);
3516
+ }
3517
+
3518
+ .vos-threshold-bar-fill.vos-fill-crit {
3519
+ background: var(--vos-crit);
3520
+ }
3521
+
3522
+ /* The threshold/floor marker — a vertical dashed line */
3523
+ .vos-threshold-bar-marker {
3524
+ position: absolute;
3525
+ top: -2px;
3526
+ bottom: -2px;
3527
+ width: 0;
3528
+ border-left: 2px dashed var(--vos-border-strong);
3529
+ pointer-events: none;
3530
+ z-index: 2;
3531
+ }
3532
+
3533
+ .vos-threshold-bar-hint {
3534
+ font-size: 11px;
3535
+ color: var(--vos-muted);
3536
+ }
3416
3537
 
3417
3538
  /* Probative vs flagged-as-non-evidence grouping (assumption detail evidence list) */
3418
3539
  .vos-evidence-group { margin-top: 8px; }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@validation-os/dashboard",
3
- "version": "0.16.0",
3
+ "version": "0.16.1",
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.0"
25
+ "@validation-os/core": "0.16.1"
26
26
  },
27
27
  "peerDependencies": {
28
28
  "react": ">=18",