@validation-os/dashboard 0.10.0 → 0.12.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/index.d.ts +20 -6
- package/dist/index.js +466 -269
- package/dist/index.js.map +1 -1
- package/dist/styles.css +145 -15
- package/package.json +2 -2
package/dist/styles.css
CHANGED
|
@@ -2488,8 +2488,12 @@ textarea.vos-input {
|
|
|
2488
2488
|
/* Markdown prose (a reading's quote / an experiment's narrative). */
|
|
2489
2489
|
.vos-md {
|
|
2490
2490
|
font-size: 14px;
|
|
2491
|
-
|
|
2491
|
+
/* Roomy leading: this prose is often long, and light-on-dark reads lighter,
|
|
2492
|
+
so it wants more breathing room than a UI label (typography.md). */
|
|
2493
|
+
line-height: 1.65;
|
|
2492
2494
|
color: var(--vos-text);
|
|
2495
|
+
/* A comfortable measure — long lines are the hardest thing to scan. */
|
|
2496
|
+
max-width: 68ch;
|
|
2493
2497
|
}
|
|
2494
2498
|
.vos-md > :first-child {
|
|
2495
2499
|
margin-top: 0;
|
|
@@ -2497,15 +2501,32 @@ textarea.vos-input {
|
|
|
2497
2501
|
.vos-md > :last-child {
|
|
2498
2502
|
margin-bottom: 0;
|
|
2499
2503
|
}
|
|
2504
|
+
/* Vertical rhythm keyed to the line-height: paragraph gaps are ~0.85em, the
|
|
2505
|
+
space *above* a heading is larger than below it so a section reads as owned
|
|
2506
|
+
by the heading that opens it (hierarchy through space, not size alone). */
|
|
2500
2507
|
.vos-md p {
|
|
2501
|
-
margin: 0 0
|
|
2508
|
+
margin: 0 0 0.85em;
|
|
2502
2509
|
}
|
|
2503
2510
|
.vos-md h3,
|
|
2504
2511
|
.vos-md h4,
|
|
2505
2512
|
.vos-md h5,
|
|
2506
2513
|
.vos-md h6 {
|
|
2507
|
-
margin:
|
|
2514
|
+
margin: 1.5em 0 0.5em;
|
|
2508
2515
|
line-height: 1.3;
|
|
2516
|
+
font-weight: 600;
|
|
2517
|
+
}
|
|
2518
|
+
.vos-md h3 {
|
|
2519
|
+
font-size: 15px;
|
|
2520
|
+
}
|
|
2521
|
+
.vos-md h4 {
|
|
2522
|
+
font-size: 14px;
|
|
2523
|
+
}
|
|
2524
|
+
.vos-md h5,
|
|
2525
|
+
.vos-md h6 {
|
|
2526
|
+
font-size: 12px;
|
|
2527
|
+
text-transform: uppercase;
|
|
2528
|
+
letter-spacing: 0.04em;
|
|
2529
|
+
color: var(--vos-muted);
|
|
2509
2530
|
}
|
|
2510
2531
|
.vos-md a {
|
|
2511
2532
|
color: var(--vos-accent-text);
|
|
@@ -2525,57 +2546,163 @@ textarea.vos-input {
|
|
|
2525
2546
|
border-radius: var(--vos-radius);
|
|
2526
2547
|
padding: 10px 12px;
|
|
2527
2548
|
overflow-x: auto;
|
|
2528
|
-
margin: 0 0
|
|
2549
|
+
margin: 0 0 0.85em;
|
|
2529
2550
|
}
|
|
2530
2551
|
.vos-md pre.vos-md-pre code {
|
|
2531
2552
|
background: none;
|
|
2532
2553
|
padding: 0;
|
|
2533
2554
|
}
|
|
2534
2555
|
.vos-md blockquote.vos-md-quote {
|
|
2535
|
-
margin: 0 0
|
|
2536
|
-
padding
|
|
2556
|
+
margin: 0.85em 0;
|
|
2557
|
+
padding: 2px 0 2px 14px;
|
|
2537
2558
|
border-left: 3px solid var(--vos-border-strong);
|
|
2538
2559
|
color: var(--vos-muted);
|
|
2539
2560
|
}
|
|
2540
2561
|
.vos-md ul.vos-md-ul,
|
|
2541
2562
|
.vos-md ol.vos-md-ol {
|
|
2542
|
-
margin: 0 0
|
|
2543
|
-
padding-left:
|
|
2563
|
+
margin: 0 0 0.85em;
|
|
2564
|
+
padding-left: 22px;
|
|
2544
2565
|
}
|
|
2545
2566
|
.vos-md li {
|
|
2546
|
-
margin:
|
|
2567
|
+
margin: 3px 0;
|
|
2568
|
+
}
|
|
2569
|
+
.vos-md li::marker {
|
|
2570
|
+
color: var(--vos-faint);
|
|
2571
|
+
}
|
|
2572
|
+
.vos-md-hr {
|
|
2573
|
+
border: none;
|
|
2574
|
+
border-top: 1px solid var(--vos-border);
|
|
2575
|
+
margin: 1.5em 0;
|
|
2576
|
+
}
|
|
2577
|
+
|
|
2578
|
+
/* ── Evidence body: a merged reading split into scannable findings ───────── */
|
|
2579
|
+
.vos-evidence {
|
|
2580
|
+
display: flex;
|
|
2581
|
+
flex-direction: column;
|
|
2582
|
+
gap: 12px;
|
|
2583
|
+
align-items: flex-start;
|
|
2584
|
+
}
|
|
2585
|
+
.vos-evidence-parts {
|
|
2586
|
+
list-style: none;
|
|
2587
|
+
margin: 0;
|
|
2588
|
+
padding: 0;
|
|
2589
|
+
width: 100%;
|
|
2590
|
+
display: flex;
|
|
2591
|
+
flex-direction: column;
|
|
2592
|
+
gap: 12px;
|
|
2593
|
+
}
|
|
2594
|
+
.vos-evidence-part {
|
|
2595
|
+
padding: 12px 14px;
|
|
2596
|
+
border: 1px solid var(--vos-border);
|
|
2597
|
+
border-radius: var(--vos-radius);
|
|
2598
|
+
background: var(--vos-surface);
|
|
2599
|
+
}
|
|
2600
|
+
.vos-evidence-n {
|
|
2601
|
+
display: block;
|
|
2602
|
+
margin-bottom: 8px;
|
|
2603
|
+
font-size: 11px;
|
|
2604
|
+
font-weight: 600;
|
|
2605
|
+
text-transform: uppercase;
|
|
2606
|
+
letter-spacing: 0.05em;
|
|
2607
|
+
color: var(--vos-faint);
|
|
2608
|
+
}
|
|
2609
|
+
.vos-evidence-of {
|
|
2610
|
+
font-weight: 400;
|
|
2611
|
+
text-transform: none;
|
|
2612
|
+
letter-spacing: 0;
|
|
2547
2613
|
}
|
|
2548
2614
|
|
|
2549
|
-
/* Per-belief
|
|
2615
|
+
/* ── Per-belief verdicts: the reading detail's centrepiece ───────────────── */
|
|
2616
|
+
.vos-verdicts-wrap {
|
|
2617
|
+
display: flex;
|
|
2618
|
+
flex-direction: column;
|
|
2619
|
+
gap: 12px;
|
|
2620
|
+
}
|
|
2621
|
+
/* The one-line tally that leads the list: total, then each non-zero outcome
|
|
2622
|
+
toned and dot-marked so the verdict mix reads at a glance. */
|
|
2623
|
+
.vos-verdict-tally {
|
|
2624
|
+
display: flex;
|
|
2625
|
+
flex-wrap: wrap;
|
|
2626
|
+
align-items: baseline;
|
|
2627
|
+
gap: 6px 14px;
|
|
2628
|
+
margin: 0;
|
|
2629
|
+
font-size: 13px;
|
|
2630
|
+
}
|
|
2631
|
+
.vos-tally-total {
|
|
2632
|
+
font-weight: 600;
|
|
2633
|
+
color: var(--vos-text);
|
|
2634
|
+
}
|
|
2635
|
+
.vos-tally-part {
|
|
2636
|
+
position: relative;
|
|
2637
|
+
padding-left: 15px;
|
|
2638
|
+
}
|
|
2639
|
+
.vos-tally-part::before {
|
|
2640
|
+
content: "";
|
|
2641
|
+
position: absolute;
|
|
2642
|
+
left: 0;
|
|
2643
|
+
top: 50%;
|
|
2644
|
+
transform: translateY(-50%);
|
|
2645
|
+
width: 7px;
|
|
2646
|
+
height: 7px;
|
|
2647
|
+
border-radius: 50%;
|
|
2648
|
+
background: currentColor;
|
|
2649
|
+
}
|
|
2650
|
+
.vos-tally-good {
|
|
2651
|
+
color: var(--vos-good);
|
|
2652
|
+
}
|
|
2653
|
+
.vos-tally-neutral {
|
|
2654
|
+
color: var(--vos-muted);
|
|
2655
|
+
}
|
|
2656
|
+
.vos-tally-crit {
|
|
2657
|
+
color: var(--vos-crit);
|
|
2658
|
+
}
|
|
2550
2659
|
.vos-verdicts {
|
|
2551
2660
|
list-style: none;
|
|
2552
2661
|
margin: 0;
|
|
2553
2662
|
padding: 0;
|
|
2554
2663
|
display: flex;
|
|
2555
2664
|
flex-direction: column;
|
|
2556
|
-
gap:
|
|
2665
|
+
gap: 10px;
|
|
2557
2666
|
}
|
|
2558
2667
|
.vos-verdict {
|
|
2559
2668
|
border: 1px solid var(--vos-border);
|
|
2669
|
+
/* A colour rail carries the verdict before a word is read. */
|
|
2670
|
+
border-left: 3px solid var(--vos-border-strong);
|
|
2560
2671
|
border-radius: var(--vos-radius);
|
|
2561
|
-
padding:
|
|
2672
|
+
padding: 12px 14px;
|
|
2562
2673
|
background: var(--vos-surface);
|
|
2563
2674
|
}
|
|
2675
|
+
.vos-verdict.is-good {
|
|
2676
|
+
border-left-color: var(--vos-good);
|
|
2677
|
+
}
|
|
2678
|
+
.vos-verdict.is-crit {
|
|
2679
|
+
border-left-color: var(--vos-crit);
|
|
2680
|
+
}
|
|
2681
|
+
.vos-verdict.is-neutral {
|
|
2682
|
+
border-left-color: var(--vos-border-strong);
|
|
2683
|
+
}
|
|
2564
2684
|
.vos-verdict-head {
|
|
2565
2685
|
display: flex;
|
|
2566
2686
|
align-items: center;
|
|
2567
2687
|
justify-content: space-between;
|
|
2568
|
-
gap:
|
|
2688
|
+
gap: 10px;
|
|
2569
2689
|
}
|
|
2570
2690
|
.vos-verdict-title {
|
|
2571
2691
|
font-weight: 600;
|
|
2692
|
+
font-size: 14px;
|
|
2693
|
+
}
|
|
2694
|
+
span.vos-verdict-title {
|
|
2695
|
+
color: var(--vos-text);
|
|
2696
|
+
}
|
|
2697
|
+
button.vos-verdict-title {
|
|
2698
|
+
text-align: left;
|
|
2572
2699
|
}
|
|
2573
2700
|
.vos-verdict-meta {
|
|
2574
2701
|
display: flex;
|
|
2575
2702
|
align-items: center;
|
|
2576
2703
|
flex-wrap: wrap;
|
|
2577
2704
|
gap: 6px;
|
|
2578
|
-
margin-top:
|
|
2705
|
+
margin-top: 8px;
|
|
2579
2706
|
}
|
|
2580
2707
|
.vos-verdict-strength {
|
|
2581
2708
|
font-family: var(--vos-mono);
|
|
@@ -2583,8 +2710,11 @@ textarea.vos-input {
|
|
|
2583
2710
|
color: var(--vos-muted);
|
|
2584
2711
|
}
|
|
2585
2712
|
.vos-verdict-why {
|
|
2586
|
-
margin:
|
|
2713
|
+
margin: 10px 0 0;
|
|
2714
|
+
padding-left: 12px;
|
|
2715
|
+
border-left: 2px solid var(--vos-border);
|
|
2587
2716
|
font-size: 13px;
|
|
2717
|
+
line-height: 1.6;
|
|
2588
2718
|
color: var(--vos-muted);
|
|
2589
2719
|
}
|
|
2590
2720
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@validation-os/dashboard",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.12.0",
|
|
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.
|
|
25
|
+
"@validation-os/core": "0.12.0"
|
|
26
26
|
},
|
|
27
27
|
"peerDependencies": {
|
|
28
28
|
"react": ">=18",
|