@neuravision/construct 2.1.1 → 2.1.3

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.
Files changed (66) hide show
  1. package/CHANGELOG.md +55 -0
  2. package/README.md +13 -0
  3. package/behaviors/combobox.js +43 -4
  4. package/behaviors/dropdown.js +16 -2
  5. package/behaviors/index.d.ts +2 -0
  6. package/behaviors/internal/dialog-controller.js +79 -9
  7. package/behaviors/internal/dom.js +38 -7
  8. package/behaviors/internal/overlay.js +4 -4
  9. package/behaviors/internal/popup-layer.js +2 -0
  10. package/behaviors/popover.js +21 -12
  11. package/behaviors/select-menu.js +20 -2
  12. package/behaviors/tabs.js +13 -2
  13. package/behaviors/toggle-group.js +37 -5
  14. package/behaviors/tooltip.js +26 -2
  15. package/components/README.md +40 -0
  16. package/components/_shared.css +11 -0
  17. package/components/accordion.css +8 -0
  18. package/components/app-shell-v2.css +7 -0
  19. package/components/app-shell.css +7 -0
  20. package/components/banner.css +32 -1
  21. package/components/card.css +23 -9
  22. package/components/chart.css +26 -0
  23. package/components/checkbox.css +32 -0
  24. package/components/chip.css +41 -1
  25. package/components/combobox.css +21 -0
  26. package/components/datepicker.css +55 -8
  27. package/components/datum.css +84 -11
  28. package/components/dropdown.css +23 -3
  29. package/components/field.css +6 -4
  30. package/components/file-upload.css +1 -1
  31. package/components/list.css +28 -2
  32. package/components/navbar.css +14 -1
  33. package/components/pagination.css +18 -0
  34. package/components/progress-bar.css +22 -1
  35. package/components/select-menu.css +8 -0
  36. package/components/select.css +8 -0
  37. package/components/sidebar.css +15 -2
  38. package/components/skip-link.css +6 -2
  39. package/components/slider.css +5 -0
  40. package/components/switch.css +62 -2
  41. package/components/table.css +53 -4
  42. package/components/tabs.css +55 -3
  43. package/components/toast.css +10 -1
  44. package/components/toggle-group.css +16 -5
  45. package/components/toolbar.css +17 -1
  46. package/components/tree.css +30 -0
  47. package/docs/behaviors.md +26 -5
  48. package/docs/guidelines.md +30 -2
  49. package/foundations.css +6 -0
  50. package/package.json +7 -3
  51. package/schemas/components.schema.json +16 -1
  52. package/schemas/semantic.schema.json +2 -1
  53. package/schemas/theme.schema.json +1 -1
  54. package/scripts/build-tokens.mjs +87 -5
  55. package/themes/README.md +37 -0
  56. package/themes/walnut.theme.json +106 -0
  57. package/tokens/README.md +10 -2
  58. package/tokens/components.json +10 -0
  59. package/tokens/semantic.dark.json +4 -3
  60. package/tokens/semantic.high-contrast-dark.json +94 -0
  61. package/tokens/semantic.high-contrast.json +3 -2
  62. package/tokens/semantic.light.json +2 -1
  63. package/tokens/tokens.css +431 -33
  64. package/tokens/tokens.js +432 -133
  65. package/tokens/tokens.json +432 -133
  66. package/tokens/tokens.ts +432 -133
package/tokens/tokens.ts CHANGED
@@ -10,7 +10,8 @@ export const tokenMetadata = {
10
10
  "themes": [
11
11
  "light",
12
12
  "dark",
13
- "high-contrast"
13
+ "high-contrast",
14
+ "high-contrast-dark"
14
15
  ]
15
16
  } as const;
16
17
 
@@ -141,30 +142,30 @@ export const primitives = {
141
142
  "extrabold": "800"
142
143
  },
143
144
  "size": {
144
- "2xs": "10px",
145
- "xs": "12px",
146
- "sm": "14px",
147
- "md": "16px",
148
- "lg": "18px",
149
- "xl": "20px",
150
- "2xl": "24px",
151
- "3xl": "28px",
152
- "4xl": "32px",
153
- "5xl": "40px",
154
- "6xl": "48px"
145
+ "2xs": "0.625rem",
146
+ "xs": "0.75rem",
147
+ "sm": "0.875rem",
148
+ "md": "1rem",
149
+ "lg": "1.125rem",
150
+ "xl": "1.25rem",
151
+ "2xl": "1.5rem",
152
+ "3xl": "1.75rem",
153
+ "4xl": "2rem",
154
+ "5xl": "2.5rem",
155
+ "6xl": "3rem"
155
156
  },
156
157
  "lineHeight": {
157
- "2xs": "14px",
158
- "xs": "16px",
159
- "sm": "20px",
160
- "md": "24px",
161
- "lg": "28px",
162
- "xl": "32px",
163
- "2xl": "36px",
164
- "3xl": "40px",
165
- "4xl": "44px",
166
- "5xl": "52px",
167
- "6xl": "60px"
158
+ "2xs": "0.875rem",
159
+ "xs": "1rem",
160
+ "sm": "1.25rem",
161
+ "md": "1.5rem",
162
+ "lg": "1.75rem",
163
+ "xl": "2rem",
164
+ "2xl": "2.25rem",
165
+ "3xl": "2.5rem",
166
+ "4xl": "2.75rem",
167
+ "5xl": "3.25rem",
168
+ "6xl": "3.75rem"
168
169
  },
169
170
  "letterSpacing": {
170
171
  "tight": "-0.3px",
@@ -292,6 +293,7 @@ export const semantic = {
292
293
  "accent": "#F4581C",
293
294
  "accentHover": "#FB6E2E",
294
295
  "accentActive": "#FF9462",
296
+ "accentStrong": "#DD4A0F",
295
297
  "onAccent": "#16130F"
296
298
  },
297
299
  "text": {
@@ -311,7 +313,7 @@ export const semantic = {
311
313
  "border": {
312
314
  "subtle": "#E4E2DB",
313
315
  "default": "#8E887A",
314
- "strong": "#8E887A",
316
+ "strong": "#66604E",
315
317
  "muted": "#E4E2DB"
316
318
  },
317
319
  "state": {
@@ -387,64 +389,64 @@ export const semantic = {
387
389
  "typography": {
388
390
  "display": {
389
391
  "fontFamily": "\"Lato\", \"Segoe UI\", \"Helvetica Neue\", Arial, sans-serif",
390
- "fontSize": "48px",
391
- "lineHeight": "60px",
392
+ "fontSize": "3rem",
393
+ "lineHeight": "3.75rem",
392
394
  "fontWeight": "800",
393
395
  "letterSpacing": "-0.3px"
394
396
  },
395
397
  "h1": {
396
398
  "fontFamily": "\"Lato\", \"Segoe UI\", \"Helvetica Neue\", Arial, sans-serif",
397
- "fontSize": "40px",
398
- "lineHeight": "52px",
399
+ "fontSize": "2.5rem",
400
+ "lineHeight": "3.25rem",
399
401
  "fontWeight": "700",
400
402
  "letterSpacing": "-0.3px"
401
403
  },
402
404
  "h2": {
403
405
  "fontFamily": "\"Lato\", \"Segoe UI\", \"Helvetica Neue\", Arial, sans-serif",
404
- "fontSize": "32px",
405
- "lineHeight": "44px",
406
+ "fontSize": "2rem",
407
+ "lineHeight": "2.75rem",
406
408
  "fontWeight": "600",
407
409
  "letterSpacing": "0px"
408
410
  },
409
411
  "h3": {
410
412
  "fontFamily": "\"Lato\", \"Segoe UI\", \"Helvetica Neue\", Arial, sans-serif",
411
- "fontSize": "28px",
412
- "lineHeight": "40px",
413
+ "fontSize": "1.75rem",
414
+ "lineHeight": "2.5rem",
413
415
  "fontWeight": "600",
414
416
  "letterSpacing": "0px"
415
417
  },
416
418
  "h4": {
417
419
  "fontFamily": "\"Lato\", \"Segoe UI\", \"Helvetica Neue\", Arial, sans-serif",
418
- "fontSize": "24px",
419
- "lineHeight": "36px",
420
+ "fontSize": "1.5rem",
421
+ "lineHeight": "2.25rem",
420
422
  "fontWeight": "600",
421
423
  "letterSpacing": "0px"
422
424
  },
423
425
  "body": {
424
426
  "fontFamily": "\"Lato\", \"Segoe UI\", \"Helvetica Neue\", Arial, sans-serif",
425
- "fontSize": "16px",
426
- "lineHeight": "24px",
427
+ "fontSize": "1rem",
428
+ "lineHeight": "1.5rem",
427
429
  "fontWeight": "400",
428
430
  "letterSpacing": "0px"
429
431
  },
430
432
  "bodySm": {
431
433
  "fontFamily": "\"Lato\", \"Segoe UI\", \"Helvetica Neue\", Arial, sans-serif",
432
- "fontSize": "14px",
433
- "lineHeight": "20px",
434
+ "fontSize": "0.875rem",
435
+ "lineHeight": "1.25rem",
434
436
  "fontWeight": "400",
435
437
  "letterSpacing": "0px"
436
438
  },
437
439
  "label": {
438
440
  "fontFamily": "\"Lato\", \"Segoe UI\", \"Helvetica Neue\", Arial, sans-serif",
439
- "fontSize": "14px",
440
- "lineHeight": "20px",
441
+ "fontSize": "0.875rem",
442
+ "lineHeight": "1.25rem",
441
443
  "fontWeight": "600",
442
444
  "letterSpacing": "0.3px"
443
445
  },
444
446
  "caption": {
445
447
  "fontFamily": "\"Lato\", \"Segoe UI\", \"Helvetica Neue\", Arial, sans-serif",
446
- "fontSize": "12px",
447
- "lineHeight": "16px",
448
+ "fontSize": "0.75rem",
449
+ "lineHeight": "1rem",
448
450
  "fontWeight": "400",
449
451
  "letterSpacing": "0px"
450
452
  }
@@ -471,8 +473,8 @@ export const components = {
471
473
  "color": "#FFFFFF",
472
474
  "height": "40px",
473
475
  "paddingX": "16px",
474
- "fontSize": "14px",
475
- "lineHeight": "20px",
476
+ "fontSize": "0.875rem",
477
+ "lineHeight": "1.25rem",
476
478
  "fontWeight": "600",
477
479
  "radius": "8px",
478
480
  "gap": "6px",
@@ -483,7 +485,7 @@ export const components = {
483
485
  "backgroundHover": "#F1F0EB",
484
486
  "backgroundDisabled": "#E4E2DB",
485
487
  "border": "#8E887A",
486
- "borderHover": "#8E887A",
488
+ "borderHover": "#66604E",
487
489
  "borderFocus": "#DD4A0F",
488
490
  "text": "#16130F",
489
491
  "placeholder": "#66604E",
@@ -499,7 +501,7 @@ export const components = {
499
501
  },
500
502
  "status": {
501
503
  "gap": "4px",
502
- "fontSize": "14px",
504
+ "fontSize": "0.875rem",
503
505
  "iconSize": "16px"
504
506
  },
505
507
  "metric": {
@@ -507,13 +509,23 @@ export const components = {
507
509
  "border": "#E4E2DB",
508
510
  "radius": "12px",
509
511
  "padding": "16px",
510
- "valueFontSize": "24px",
511
- "labelFontSize": "14px"
512
+ "valueFontSize": "1.5rem",
513
+ "labelFontSize": "0.875rem"
512
514
  },
513
515
  "meter": {
514
516
  "height": "6px",
515
517
  "radius": "999px",
516
518
  "track": "#E4E2DB"
519
+ },
520
+ "datum": {
521
+ "edgeWidth": "3px",
522
+ "tickWidth": "24px",
523
+ "tickHeight": "3px",
524
+ "originLength": "48px",
525
+ "markSize": "18px",
526
+ "scaleHeight": "9px",
527
+ "scaleMinorStep": "12px",
528
+ "scaleMajorStep": "60px"
517
529
  }
518
530
  } as const;
519
531
 
@@ -527,6 +539,7 @@ export const semanticThemes = {
527
539
  "accent": "#F4581C",
528
540
  "accentHover": "#FB6E2E",
529
541
  "accentActive": "#FF9462",
542
+ "accentStrong": "#DD4A0F",
530
543
  "onAccent": "#16130F"
531
544
  },
532
545
  "text": {
@@ -546,7 +559,7 @@ export const semanticThemes = {
546
559
  "border": {
547
560
  "subtle": "#E4E2DB",
548
561
  "default": "#8E887A",
549
- "strong": "#8E887A",
562
+ "strong": "#66604E",
550
563
  "muted": "#E4E2DB"
551
564
  },
552
565
  "state": {
@@ -622,64 +635,64 @@ export const semanticThemes = {
622
635
  "typography": {
623
636
  "display": {
624
637
  "fontFamily": "\"Lato\", \"Segoe UI\", \"Helvetica Neue\", Arial, sans-serif",
625
- "fontSize": "48px",
626
- "lineHeight": "60px",
638
+ "fontSize": "3rem",
639
+ "lineHeight": "3.75rem",
627
640
  "fontWeight": "800",
628
641
  "letterSpacing": "-0.3px"
629
642
  },
630
643
  "h1": {
631
644
  "fontFamily": "\"Lato\", \"Segoe UI\", \"Helvetica Neue\", Arial, sans-serif",
632
- "fontSize": "40px",
633
- "lineHeight": "52px",
645
+ "fontSize": "2.5rem",
646
+ "lineHeight": "3.25rem",
634
647
  "fontWeight": "700",
635
648
  "letterSpacing": "-0.3px"
636
649
  },
637
650
  "h2": {
638
651
  "fontFamily": "\"Lato\", \"Segoe UI\", \"Helvetica Neue\", Arial, sans-serif",
639
- "fontSize": "32px",
640
- "lineHeight": "44px",
652
+ "fontSize": "2rem",
653
+ "lineHeight": "2.75rem",
641
654
  "fontWeight": "600",
642
655
  "letterSpacing": "0px"
643
656
  },
644
657
  "h3": {
645
658
  "fontFamily": "\"Lato\", \"Segoe UI\", \"Helvetica Neue\", Arial, sans-serif",
646
- "fontSize": "28px",
647
- "lineHeight": "40px",
659
+ "fontSize": "1.75rem",
660
+ "lineHeight": "2.5rem",
648
661
  "fontWeight": "600",
649
662
  "letterSpacing": "0px"
650
663
  },
651
664
  "h4": {
652
665
  "fontFamily": "\"Lato\", \"Segoe UI\", \"Helvetica Neue\", Arial, sans-serif",
653
- "fontSize": "24px",
654
- "lineHeight": "36px",
666
+ "fontSize": "1.5rem",
667
+ "lineHeight": "2.25rem",
655
668
  "fontWeight": "600",
656
669
  "letterSpacing": "0px"
657
670
  },
658
671
  "body": {
659
672
  "fontFamily": "\"Lato\", \"Segoe UI\", \"Helvetica Neue\", Arial, sans-serif",
660
- "fontSize": "16px",
661
- "lineHeight": "24px",
673
+ "fontSize": "1rem",
674
+ "lineHeight": "1.5rem",
662
675
  "fontWeight": "400",
663
676
  "letterSpacing": "0px"
664
677
  },
665
678
  "bodySm": {
666
679
  "fontFamily": "\"Lato\", \"Segoe UI\", \"Helvetica Neue\", Arial, sans-serif",
667
- "fontSize": "14px",
668
- "lineHeight": "20px",
680
+ "fontSize": "0.875rem",
681
+ "lineHeight": "1.25rem",
669
682
  "fontWeight": "400",
670
683
  "letterSpacing": "0px"
671
684
  },
672
685
  "label": {
673
686
  "fontFamily": "\"Lato\", \"Segoe UI\", \"Helvetica Neue\", Arial, sans-serif",
674
- "fontSize": "14px",
675
- "lineHeight": "20px",
687
+ "fontSize": "0.875rem",
688
+ "lineHeight": "1.25rem",
676
689
  "fontWeight": "600",
677
690
  "letterSpacing": "0.3px"
678
691
  },
679
692
  "caption": {
680
693
  "fontFamily": "\"Lato\", \"Segoe UI\", \"Helvetica Neue\", Arial, sans-serif",
681
- "fontSize": "12px",
682
- "lineHeight": "16px",
694
+ "fontSize": "0.75rem",
695
+ "lineHeight": "1rem",
683
696
  "fontWeight": "400",
684
697
  "letterSpacing": "0px"
685
698
  }
@@ -705,6 +718,7 @@ export const semanticThemes = {
705
718
  "accent": "#FB6E2E",
706
719
  "accentHover": "#FF9462",
707
720
  "accentActive": "#F4581C",
721
+ "accentStrong": "#FB6E2E",
708
722
  "onAccent": "#16130F"
709
723
  },
710
724
  "text": {
@@ -722,10 +736,10 @@ export const semanticThemes = {
722
736
  "subtle": "#353128"
723
737
  },
724
738
  "border": {
725
- "subtle": "#4B473E",
739
+ "subtle": "#66604E",
726
740
  "default": "#B4AFA1",
727
- "strong": "#8E887A",
728
- "muted": "#4B473E"
741
+ "strong": "#D3D0C7",
742
+ "muted": "#66604E"
729
743
  },
730
744
  "state": {
731
745
  "info": "#76A6DC",
@@ -750,7 +764,7 @@ export const semanticThemes = {
750
764
  "info": "#A6C6EA",
751
765
  "success": "#9EDCC0",
752
766
  "warning": "#EDC85F",
753
- "danger": "#EF98A8"
767
+ "danger": "#F7C6CF"
754
768
  },
755
769
  "overlay": {
756
770
  "scrim": "rgba(8, 6, 4, 0.72)"
@@ -800,64 +814,64 @@ export const semanticThemes = {
800
814
  "typography": {
801
815
  "display": {
802
816
  "fontFamily": "\"Lato\", \"Segoe UI\", \"Helvetica Neue\", Arial, sans-serif",
803
- "fontSize": "48px",
804
- "lineHeight": "60px",
817
+ "fontSize": "3rem",
818
+ "lineHeight": "3.75rem",
805
819
  "fontWeight": "800",
806
820
  "letterSpacing": "-0.3px"
807
821
  },
808
822
  "h1": {
809
823
  "fontFamily": "\"Lato\", \"Segoe UI\", \"Helvetica Neue\", Arial, sans-serif",
810
- "fontSize": "40px",
811
- "lineHeight": "52px",
824
+ "fontSize": "2.5rem",
825
+ "lineHeight": "3.25rem",
812
826
  "fontWeight": "700",
813
827
  "letterSpacing": "-0.3px"
814
828
  },
815
829
  "h2": {
816
830
  "fontFamily": "\"Lato\", \"Segoe UI\", \"Helvetica Neue\", Arial, sans-serif",
817
- "fontSize": "32px",
818
- "lineHeight": "44px",
831
+ "fontSize": "2rem",
832
+ "lineHeight": "2.75rem",
819
833
  "fontWeight": "600",
820
834
  "letterSpacing": "0px"
821
835
  },
822
836
  "h3": {
823
837
  "fontFamily": "\"Lato\", \"Segoe UI\", \"Helvetica Neue\", Arial, sans-serif",
824
- "fontSize": "28px",
825
- "lineHeight": "40px",
838
+ "fontSize": "1.75rem",
839
+ "lineHeight": "2.5rem",
826
840
  "fontWeight": "600",
827
841
  "letterSpacing": "0px"
828
842
  },
829
843
  "h4": {
830
844
  "fontFamily": "\"Lato\", \"Segoe UI\", \"Helvetica Neue\", Arial, sans-serif",
831
- "fontSize": "24px",
832
- "lineHeight": "36px",
845
+ "fontSize": "1.5rem",
846
+ "lineHeight": "2.25rem",
833
847
  "fontWeight": "600",
834
848
  "letterSpacing": "0px"
835
849
  },
836
850
  "body": {
837
851
  "fontFamily": "\"Lato\", \"Segoe UI\", \"Helvetica Neue\", Arial, sans-serif",
838
- "fontSize": "16px",
839
- "lineHeight": "24px",
852
+ "fontSize": "1rem",
853
+ "lineHeight": "1.5rem",
840
854
  "fontWeight": "400",
841
855
  "letterSpacing": "0px"
842
856
  },
843
857
  "bodySm": {
844
858
  "fontFamily": "\"Lato\", \"Segoe UI\", \"Helvetica Neue\", Arial, sans-serif",
845
- "fontSize": "14px",
846
- "lineHeight": "20px",
859
+ "fontSize": "0.875rem",
860
+ "lineHeight": "1.25rem",
847
861
  "fontWeight": "400",
848
862
  "letterSpacing": "0px"
849
863
  },
850
864
  "label": {
851
865
  "fontFamily": "\"Lato\", \"Segoe UI\", \"Helvetica Neue\", Arial, sans-serif",
852
- "fontSize": "14px",
853
- "lineHeight": "20px",
866
+ "fontSize": "0.875rem",
867
+ "lineHeight": "1.25rem",
854
868
  "fontWeight": "600",
855
869
  "letterSpacing": "0.3px"
856
870
  },
857
871
  "caption": {
858
872
  "fontFamily": "\"Lato\", \"Segoe UI\", \"Helvetica Neue\", Arial, sans-serif",
859
- "fontSize": "12px",
860
- "lineHeight": "16px",
873
+ "fontSize": "0.75rem",
874
+ "lineHeight": "1rem",
861
875
  "fontWeight": "400",
862
876
  "letterSpacing": "0px"
863
877
  }
@@ -883,6 +897,7 @@ export const semanticThemes = {
883
897
  "accent": "#B23C0C",
884
898
  "accentHover": "#882D09",
885
899
  "accentActive": "#5C1E06",
900
+ "accentStrong": "#882D09",
886
901
  "onAccent": "#FFFFFF"
887
902
  },
888
903
  "text": {
@@ -896,14 +911,14 @@ export const semanticThemes = {
896
911
  "canvas": "#FFFFFF",
897
912
  "surface": "#FFFFFF",
898
913
  "elevated": "#FFFFFF",
899
- "muted": "#FAFAF8",
914
+ "muted": "#E4E2DB",
900
915
  "subtle": "#FFFFFF"
901
916
  },
902
917
  "border": {
903
- "subtle": "#B4AFA1",
918
+ "subtle": "#8E887A",
904
919
  "default": "#4B473E",
905
920
  "strong": "#16130F",
906
- "muted": "#B4AFA1"
921
+ "muted": "#8E887A"
907
922
  },
908
923
  "state": {
909
924
  "info": "#123356",
@@ -978,64 +993,243 @@ export const semanticThemes = {
978
993
  "typography": {
979
994
  "display": {
980
995
  "fontFamily": "\"Lato\", \"Segoe UI\", \"Helvetica Neue\", Arial, sans-serif",
981
- "fontSize": "48px",
982
- "lineHeight": "60px",
996
+ "fontSize": "3rem",
997
+ "lineHeight": "3.75rem",
983
998
  "fontWeight": "800",
984
999
  "letterSpacing": "-0.3px"
985
1000
  },
986
1001
  "h1": {
987
1002
  "fontFamily": "\"Lato\", \"Segoe UI\", \"Helvetica Neue\", Arial, sans-serif",
988
- "fontSize": "40px",
989
- "lineHeight": "52px",
1003
+ "fontSize": "2.5rem",
1004
+ "lineHeight": "3.25rem",
990
1005
  "fontWeight": "700",
991
1006
  "letterSpacing": "-0.3px"
992
1007
  },
993
1008
  "h2": {
994
1009
  "fontFamily": "\"Lato\", \"Segoe UI\", \"Helvetica Neue\", Arial, sans-serif",
995
- "fontSize": "32px",
996
- "lineHeight": "44px",
1010
+ "fontSize": "2rem",
1011
+ "lineHeight": "2.75rem",
997
1012
  "fontWeight": "600",
998
1013
  "letterSpacing": "0px"
999
1014
  },
1000
1015
  "h3": {
1001
1016
  "fontFamily": "\"Lato\", \"Segoe UI\", \"Helvetica Neue\", Arial, sans-serif",
1002
- "fontSize": "28px",
1003
- "lineHeight": "40px",
1017
+ "fontSize": "1.75rem",
1018
+ "lineHeight": "2.5rem",
1004
1019
  "fontWeight": "600",
1005
1020
  "letterSpacing": "0px"
1006
1021
  },
1007
1022
  "h4": {
1008
1023
  "fontFamily": "\"Lato\", \"Segoe UI\", \"Helvetica Neue\", Arial, sans-serif",
1009
- "fontSize": "24px",
1010
- "lineHeight": "36px",
1024
+ "fontSize": "1.5rem",
1025
+ "lineHeight": "2.25rem",
1011
1026
  "fontWeight": "600",
1012
1027
  "letterSpacing": "0px"
1013
1028
  },
1014
1029
  "body": {
1015
1030
  "fontFamily": "\"Lato\", \"Segoe UI\", \"Helvetica Neue\", Arial, sans-serif",
1016
- "fontSize": "16px",
1017
- "lineHeight": "24px",
1031
+ "fontSize": "1rem",
1032
+ "lineHeight": "1.5rem",
1018
1033
  "fontWeight": "400",
1019
1034
  "letterSpacing": "0px"
1020
1035
  },
1021
1036
  "bodySm": {
1022
1037
  "fontFamily": "\"Lato\", \"Segoe UI\", \"Helvetica Neue\", Arial, sans-serif",
1023
- "fontSize": "14px",
1024
- "lineHeight": "20px",
1038
+ "fontSize": "0.875rem",
1039
+ "lineHeight": "1.25rem",
1025
1040
  "fontWeight": "400",
1026
1041
  "letterSpacing": "0px"
1027
1042
  },
1028
1043
  "label": {
1029
1044
  "fontFamily": "\"Lato\", \"Segoe UI\", \"Helvetica Neue\", Arial, sans-serif",
1030
- "fontSize": "14px",
1031
- "lineHeight": "20px",
1045
+ "fontSize": "0.875rem",
1046
+ "lineHeight": "1.25rem",
1032
1047
  "fontWeight": "600",
1033
1048
  "letterSpacing": "0.3px"
1034
1049
  },
1035
1050
  "caption": {
1036
1051
  "fontFamily": "\"Lato\", \"Segoe UI\", \"Helvetica Neue\", Arial, sans-serif",
1037
- "fontSize": "12px",
1038
- "lineHeight": "16px",
1052
+ "fontSize": "0.75rem",
1053
+ "lineHeight": "1rem",
1054
+ "fontWeight": "400",
1055
+ "letterSpacing": "0px"
1056
+ }
1057
+ },
1058
+ "radius": {
1059
+ "control": "8px",
1060
+ "card": "12px",
1061
+ "modal": "16px",
1062
+ "pill": "999px"
1063
+ },
1064
+ "shadow": {
1065
+ "card": "0 2px 6px rgba(28, 20, 10, 0.09)",
1066
+ "dropdown": "0 8px 20px rgba(28, 20, 10, 0.11)",
1067
+ "modal": "0 16px 36px rgba(28, 20, 10, 0.13)"
1068
+ }
1069
+ },
1070
+ "highContrastDark": {
1071
+ "color": {
1072
+ "brand": {
1073
+ "primary": "#FFFFFF",
1074
+ "primaryHover": "#F1F0EB",
1075
+ "primaryActive": "#E4E2DB",
1076
+ "accent": "#FF9462",
1077
+ "accentHover": "#FFBE9C",
1078
+ "accentActive": "#FB6E2E",
1079
+ "accentStrong": "#FF9462",
1080
+ "onAccent": "#16130F"
1081
+ },
1082
+ "text": {
1083
+ "primary": "#FFFFFF",
1084
+ "secondary": "#F1F0EB",
1085
+ "muted": "#E4E2DB",
1086
+ "inverse": "#16130F",
1087
+ "onPrimary": "#16130F"
1088
+ },
1089
+ "background": {
1090
+ "canvas": "#16130F",
1091
+ "surface": "#16130F",
1092
+ "elevated": "#211E18",
1093
+ "muted": "#353128",
1094
+ "subtle": "#16130F"
1095
+ },
1096
+ "border": {
1097
+ "subtle": "#8E887A",
1098
+ "default": "#D3D0C7",
1099
+ "strong": "#FFFFFF",
1100
+ "muted": "#8E887A"
1101
+ },
1102
+ "state": {
1103
+ "info": "#A6C6EA",
1104
+ "success": "#9EDCC0",
1105
+ "warning": "#EDC85F",
1106
+ "danger": "#EF98A8",
1107
+ "onSolid": "#16130F"
1108
+ },
1109
+ "stateSurface": {
1110
+ "info": "#0C2238",
1111
+ "success": "#0C2E22",
1112
+ "warning": "#2F2100",
1113
+ "danger": "#330610"
1114
+ },
1115
+ "stateBorder": {
1116
+ "info": "#76A6DC",
1117
+ "success": "#70CBA3",
1118
+ "warning": "#DFAB1F",
1119
+ "danger": "#E4647C"
1120
+ },
1121
+ "stateText": {
1122
+ "info": "#CFE0F4",
1123
+ "success": "#C7EAD9",
1124
+ "warning": "#F6E3A6",
1125
+ "danger": "#F7C6CF"
1126
+ },
1127
+ "overlay": {
1128
+ "scrim": "rgba(0, 0, 0, 0.82)"
1129
+ },
1130
+ "focus": {
1131
+ "ring": "#FF9462"
1132
+ },
1133
+ "avatarSeed": {
1134
+ "1Bg": "#0C2238",
1135
+ "1Fg": "#CFE0F4",
1136
+ "2Bg": "#0A3533",
1137
+ "2Fg": "#C5ECEA",
1138
+ "3Bg": "#2F2100",
1139
+ "3Fg": "#F6E3A6",
1140
+ "4Bg": "#330610",
1141
+ "4Fg": "#F7C6CF",
1142
+ "5Bg": "#0C2E22",
1143
+ "5Fg": "#C7EAD9",
1144
+ "6Bg": "#1A0F2C",
1145
+ "6Fg": "#E5D7F4",
1146
+ "7Bg": "#29080F",
1147
+ "7Fg": "#F5CDDC",
1148
+ "8Bg": "#353128",
1149
+ "8Fg": "#F1F0EB"
1150
+ },
1151
+ "chartSeries": {
1152
+ "1": "#A6C6EA",
1153
+ "2": "#EDC85F",
1154
+ "3": "#9EDCC0",
1155
+ "4": "#C9B0E6",
1156
+ "5": "#EA9CB7",
1157
+ "6": "#93DAD6",
1158
+ "7": "#EF98A8",
1159
+ "8": "#E4E2DB"
1160
+ }
1161
+ },
1162
+ "theme": {
1163
+ "colorScheme": "dark"
1164
+ },
1165
+ "font": {
1166
+ "family": {
1167
+ "heading": "\"Lato\", \"Segoe UI\", \"Helvetica Neue\", Arial, sans-serif",
1168
+ "body": "\"Lato\", \"Segoe UI\", \"Helvetica Neue\", Arial, sans-serif",
1169
+ "code": "\"JetBrains Mono\", \"SFMono-Regular\", Menlo, monospace"
1170
+ }
1171
+ },
1172
+ "typography": {
1173
+ "display": {
1174
+ "fontFamily": "\"Lato\", \"Segoe UI\", \"Helvetica Neue\", Arial, sans-serif",
1175
+ "fontSize": "3rem",
1176
+ "lineHeight": "3.75rem",
1177
+ "fontWeight": "800",
1178
+ "letterSpacing": "-0.3px"
1179
+ },
1180
+ "h1": {
1181
+ "fontFamily": "\"Lato\", \"Segoe UI\", \"Helvetica Neue\", Arial, sans-serif",
1182
+ "fontSize": "2.5rem",
1183
+ "lineHeight": "3.25rem",
1184
+ "fontWeight": "700",
1185
+ "letterSpacing": "-0.3px"
1186
+ },
1187
+ "h2": {
1188
+ "fontFamily": "\"Lato\", \"Segoe UI\", \"Helvetica Neue\", Arial, sans-serif",
1189
+ "fontSize": "2rem",
1190
+ "lineHeight": "2.75rem",
1191
+ "fontWeight": "600",
1192
+ "letterSpacing": "0px"
1193
+ },
1194
+ "h3": {
1195
+ "fontFamily": "\"Lato\", \"Segoe UI\", \"Helvetica Neue\", Arial, sans-serif",
1196
+ "fontSize": "1.75rem",
1197
+ "lineHeight": "2.5rem",
1198
+ "fontWeight": "600",
1199
+ "letterSpacing": "0px"
1200
+ },
1201
+ "h4": {
1202
+ "fontFamily": "\"Lato\", \"Segoe UI\", \"Helvetica Neue\", Arial, sans-serif",
1203
+ "fontSize": "1.5rem",
1204
+ "lineHeight": "2.25rem",
1205
+ "fontWeight": "600",
1206
+ "letterSpacing": "0px"
1207
+ },
1208
+ "body": {
1209
+ "fontFamily": "\"Lato\", \"Segoe UI\", \"Helvetica Neue\", Arial, sans-serif",
1210
+ "fontSize": "1rem",
1211
+ "lineHeight": "1.5rem",
1212
+ "fontWeight": "400",
1213
+ "letterSpacing": "0px"
1214
+ },
1215
+ "bodySm": {
1216
+ "fontFamily": "\"Lato\", \"Segoe UI\", \"Helvetica Neue\", Arial, sans-serif",
1217
+ "fontSize": "0.875rem",
1218
+ "lineHeight": "1.25rem",
1219
+ "fontWeight": "400",
1220
+ "letterSpacing": "0px"
1221
+ },
1222
+ "label": {
1223
+ "fontFamily": "\"Lato\", \"Segoe UI\", \"Helvetica Neue\", Arial, sans-serif",
1224
+ "fontSize": "0.875rem",
1225
+ "lineHeight": "1.25rem",
1226
+ "fontWeight": "600",
1227
+ "letterSpacing": "0.3px"
1228
+ },
1229
+ "caption": {
1230
+ "fontFamily": "\"Lato\", \"Segoe UI\", \"Helvetica Neue\", Arial, sans-serif",
1231
+ "fontSize": "0.75rem",
1232
+ "lineHeight": "1rem",
1039
1233
  "fontWeight": "400",
1040
1234
  "letterSpacing": "0px"
1041
1235
  }
@@ -1064,8 +1258,8 @@ export const componentThemes = {
1064
1258
  "color": "#FFFFFF",
1065
1259
  "height": "40px",
1066
1260
  "paddingX": "16px",
1067
- "fontSize": "14px",
1068
- "lineHeight": "20px",
1261
+ "fontSize": "0.875rem",
1262
+ "lineHeight": "1.25rem",
1069
1263
  "fontWeight": "600",
1070
1264
  "radius": "8px",
1071
1265
  "gap": "6px",
@@ -1076,7 +1270,7 @@ export const componentThemes = {
1076
1270
  "backgroundHover": "#F1F0EB",
1077
1271
  "backgroundDisabled": "#E4E2DB",
1078
1272
  "border": "#8E887A",
1079
- "borderHover": "#8E887A",
1273
+ "borderHover": "#66604E",
1080
1274
  "borderFocus": "#DD4A0F",
1081
1275
  "text": "#16130F",
1082
1276
  "placeholder": "#66604E",
@@ -1092,7 +1286,7 @@ export const componentThemes = {
1092
1286
  },
1093
1287
  "status": {
1094
1288
  "gap": "4px",
1095
- "fontSize": "14px",
1289
+ "fontSize": "0.875rem",
1096
1290
  "iconSize": "16px"
1097
1291
  },
1098
1292
  "metric": {
@@ -1100,13 +1294,23 @@ export const componentThemes = {
1100
1294
  "border": "#E4E2DB",
1101
1295
  "radius": "12px",
1102
1296
  "padding": "16px",
1103
- "valueFontSize": "24px",
1104
- "labelFontSize": "14px"
1297
+ "valueFontSize": "1.5rem",
1298
+ "labelFontSize": "0.875rem"
1105
1299
  },
1106
1300
  "meter": {
1107
1301
  "height": "6px",
1108
1302
  "radius": "999px",
1109
1303
  "track": "#E4E2DB"
1304
+ },
1305
+ "datum": {
1306
+ "edgeWidth": "3px",
1307
+ "tickWidth": "24px",
1308
+ "tickHeight": "3px",
1309
+ "originLength": "48px",
1310
+ "markSize": "18px",
1311
+ "scaleHeight": "9px",
1312
+ "scaleMinorStep": "12px",
1313
+ "scaleMajorStep": "60px"
1110
1314
  }
1111
1315
  },
1112
1316
  "dark": {
@@ -1118,8 +1322,8 @@ export const componentThemes = {
1118
1322
  "color": "#16130F",
1119
1323
  "height": "40px",
1120
1324
  "paddingX": "16px",
1121
- "fontSize": "14px",
1122
- "lineHeight": "20px",
1325
+ "fontSize": "0.875rem",
1326
+ "lineHeight": "1.25rem",
1123
1327
  "fontWeight": "600",
1124
1328
  "radius": "8px",
1125
1329
  "gap": "6px",
@@ -1130,7 +1334,7 @@ export const componentThemes = {
1130
1334
  "backgroundHover": "#353128",
1131
1335
  "backgroundDisabled": "#211E18",
1132
1336
  "border": "#B4AFA1",
1133
- "borderHover": "#8E887A",
1337
+ "borderHover": "#D3D0C7",
1134
1338
  "borderFocus": "#FB6E2E",
1135
1339
  "text": "#FFFFFF",
1136
1340
  "placeholder": "#D3D0C7",
@@ -1138,7 +1342,7 @@ export const componentThemes = {
1138
1342
  },
1139
1343
  "card": {
1140
1344
  "background": "#4B473E",
1141
- "border": "#4B473E",
1345
+ "border": "#66604E",
1142
1346
  "radius": "12px",
1143
1347
  "padding": "16px",
1144
1348
  "shadow": "0 2px 6px rgba(28, 20, 10, 0.09)",
@@ -1146,21 +1350,31 @@ export const componentThemes = {
1146
1350
  },
1147
1351
  "status": {
1148
1352
  "gap": "4px",
1149
- "fontSize": "14px",
1353
+ "fontSize": "0.875rem",
1150
1354
  "iconSize": "16px"
1151
1355
  },
1152
1356
  "metric": {
1153
1357
  "background": "#4B473E",
1154
- "border": "#4B473E",
1358
+ "border": "#66604E",
1155
1359
  "radius": "12px",
1156
1360
  "padding": "16px",
1157
- "valueFontSize": "24px",
1158
- "labelFontSize": "14px"
1361
+ "valueFontSize": "1.5rem",
1362
+ "labelFontSize": "0.875rem"
1159
1363
  },
1160
1364
  "meter": {
1161
1365
  "height": "6px",
1162
1366
  "radius": "999px",
1163
1367
  "track": "#211E18"
1368
+ },
1369
+ "datum": {
1370
+ "edgeWidth": "3px",
1371
+ "tickWidth": "24px",
1372
+ "tickHeight": "3px",
1373
+ "originLength": "48px",
1374
+ "markSize": "18px",
1375
+ "scaleHeight": "9px",
1376
+ "scaleMinorStep": "12px",
1377
+ "scaleMajorStep": "60px"
1164
1378
  }
1165
1379
  },
1166
1380
  "highContrast": {
@@ -1172,8 +1386,8 @@ export const componentThemes = {
1172
1386
  "color": "#FFFFFF",
1173
1387
  "height": "40px",
1174
1388
  "paddingX": "16px",
1175
- "fontSize": "14px",
1176
- "lineHeight": "20px",
1389
+ "fontSize": "0.875rem",
1390
+ "lineHeight": "1.25rem",
1177
1391
  "fontWeight": "600",
1178
1392
  "radius": "8px",
1179
1393
  "gap": "6px",
@@ -1182,7 +1396,7 @@ export const componentThemes = {
1182
1396
  "control": {
1183
1397
  "background": "#FFFFFF",
1184
1398
  "backgroundHover": "#FFFFFF",
1185
- "backgroundDisabled": "#FAFAF8",
1399
+ "backgroundDisabled": "#E4E2DB",
1186
1400
  "border": "#4B473E",
1187
1401
  "borderHover": "#16130F",
1188
1402
  "borderFocus": "#B23C0C",
@@ -1192,7 +1406,7 @@ export const componentThemes = {
1192
1406
  },
1193
1407
  "card": {
1194
1408
  "background": "#FFFFFF",
1195
- "border": "#B4AFA1",
1409
+ "border": "#8E887A",
1196
1410
  "radius": "12px",
1197
1411
  "padding": "16px",
1198
1412
  "shadow": "0 2px 6px rgba(28, 20, 10, 0.09)",
@@ -1200,21 +1414,95 @@ export const componentThemes = {
1200
1414
  },
1201
1415
  "status": {
1202
1416
  "gap": "4px",
1203
- "fontSize": "14px",
1417
+ "fontSize": "0.875rem",
1204
1418
  "iconSize": "16px"
1205
1419
  },
1206
1420
  "metric": {
1207
1421
  "background": "#FFFFFF",
1208
- "border": "#B4AFA1",
1422
+ "border": "#8E887A",
1423
+ "radius": "12px",
1424
+ "padding": "16px",
1425
+ "valueFontSize": "1.5rem",
1426
+ "labelFontSize": "0.875rem"
1427
+ },
1428
+ "meter": {
1429
+ "height": "6px",
1430
+ "radius": "999px",
1431
+ "track": "#E4E2DB"
1432
+ },
1433
+ "datum": {
1434
+ "edgeWidth": "3px",
1435
+ "tickWidth": "24px",
1436
+ "tickHeight": "3px",
1437
+ "originLength": "48px",
1438
+ "markSize": "18px",
1439
+ "scaleHeight": "9px",
1440
+ "scaleMinorStep": "12px",
1441
+ "scaleMajorStep": "60px"
1442
+ }
1443
+ },
1444
+ "highContrastDark": {
1445
+ "button": {
1446
+ "background": "#FFFFFF",
1447
+ "backgroundHover": "#F1F0EB",
1448
+ "backgroundActive": "#E4E2DB",
1449
+ "border": "#FFFFFF",
1450
+ "color": "#16130F",
1451
+ "height": "40px",
1452
+ "paddingX": "16px",
1453
+ "fontSize": "0.875rem",
1454
+ "lineHeight": "1.25rem",
1455
+ "fontWeight": "600",
1456
+ "radius": "8px",
1457
+ "gap": "6px",
1458
+ "loadingSpinnerSize": "20px"
1459
+ },
1460
+ "control": {
1461
+ "background": "#211E18",
1462
+ "backgroundHover": "#16130F",
1463
+ "backgroundDisabled": "#353128",
1464
+ "border": "#D3D0C7",
1465
+ "borderHover": "#FFFFFF",
1466
+ "borderFocus": "#FF9462",
1467
+ "text": "#FFFFFF",
1468
+ "placeholder": "#E4E2DB",
1469
+ "radius": "8px"
1470
+ },
1471
+ "card": {
1472
+ "background": "#211E18",
1473
+ "border": "#8E887A",
1209
1474
  "radius": "12px",
1210
1475
  "padding": "16px",
1211
- "valueFontSize": "24px",
1212
- "labelFontSize": "14px"
1476
+ "shadow": "0 2px 6px rgba(28, 20, 10, 0.09)",
1477
+ "shadowHover": "0 8px 20px rgba(28, 20, 10, 0.11)"
1478
+ },
1479
+ "status": {
1480
+ "gap": "4px",
1481
+ "fontSize": "0.875rem",
1482
+ "iconSize": "16px"
1483
+ },
1484
+ "metric": {
1485
+ "background": "#211E18",
1486
+ "border": "#8E887A",
1487
+ "radius": "12px",
1488
+ "padding": "16px",
1489
+ "valueFontSize": "1.5rem",
1490
+ "labelFontSize": "0.875rem"
1213
1491
  },
1214
1492
  "meter": {
1215
1493
  "height": "6px",
1216
1494
  "radius": "999px",
1217
- "track": "#FAFAF8"
1495
+ "track": "#353128"
1496
+ },
1497
+ "datum": {
1498
+ "edgeWidth": "3px",
1499
+ "tickWidth": "24px",
1500
+ "tickHeight": "3px",
1501
+ "originLength": "48px",
1502
+ "markSize": "18px",
1503
+ "scaleHeight": "9px",
1504
+ "scaleMinorStep": "12px",
1505
+ "scaleMajorStep": "60px"
1218
1506
  }
1219
1507
  }
1220
1508
  } as const;
@@ -1497,6 +1785,7 @@ export const cssVars = {
1497
1785
  "accent": "var(--color-brand-accent)",
1498
1786
  "accentHover": "var(--color-brand-accent-hover)",
1499
1787
  "accentActive": "var(--color-brand-accent-active)",
1788
+ "accentStrong": "var(--color-brand-accent-strong)",
1500
1789
  "onAccent": "var(--color-brand-on-accent)"
1501
1790
  },
1502
1791
  "text": {
@@ -1718,6 +2007,16 @@ export const cssVars = {
1718
2007
  "height": "var(--component-meter-height)",
1719
2008
  "radius": "var(--component-meter-radius)",
1720
2009
  "track": "var(--component-meter-track)"
2010
+ },
2011
+ "datum": {
2012
+ "edgeWidth": "var(--component-datum-edge-width)",
2013
+ "tickWidth": "var(--component-datum-tick-width)",
2014
+ "tickHeight": "var(--component-datum-tick-height)",
2015
+ "originLength": "var(--component-datum-origin-length)",
2016
+ "markSize": "var(--component-datum-mark-size)",
2017
+ "scaleHeight": "var(--component-datum-scale-height)",
2018
+ "scaleMinorStep": "var(--component-datum-scale-minor-step)",
2019
+ "scaleMajorStep": "var(--component-datum-scale-major-step)"
1721
2020
  }
1722
2021
  }
1723
2022
  } as const;