@neuravision/construct 2.1.1 → 2.1.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.
Files changed (66) hide show
  1. package/CHANGELOG.md +46 -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 +29 -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
@@ -9,7 +9,8 @@
9
9
  "themes": [
10
10
  "light",
11
11
  "dark",
12
- "high-contrast"
12
+ "high-contrast",
13
+ "high-contrast-dark"
13
14
  ]
14
15
  },
15
16
  "primitives": {
@@ -139,30 +140,30 @@
139
140
  "extrabold": "800"
140
141
  },
141
142
  "size": {
142
- "2xs": "10px",
143
- "xs": "12px",
144
- "sm": "14px",
145
- "md": "16px",
146
- "lg": "18px",
147
- "xl": "20px",
148
- "2xl": "24px",
149
- "3xl": "28px",
150
- "4xl": "32px",
151
- "5xl": "40px",
152
- "6xl": "48px"
143
+ "2xs": "0.625rem",
144
+ "xs": "0.75rem",
145
+ "sm": "0.875rem",
146
+ "md": "1rem",
147
+ "lg": "1.125rem",
148
+ "xl": "1.25rem",
149
+ "2xl": "1.5rem",
150
+ "3xl": "1.75rem",
151
+ "4xl": "2rem",
152
+ "5xl": "2.5rem",
153
+ "6xl": "3rem"
153
154
  },
154
155
  "lineHeight": {
155
- "2xs": "14px",
156
- "xs": "16px",
157
- "sm": "20px",
158
- "md": "24px",
159
- "lg": "28px",
160
- "xl": "32px",
161
- "2xl": "36px",
162
- "3xl": "40px",
163
- "4xl": "44px",
164
- "5xl": "52px",
165
- "6xl": "60px"
156
+ "2xs": "0.875rem",
157
+ "xs": "1rem",
158
+ "sm": "1.25rem",
159
+ "md": "1.5rem",
160
+ "lg": "1.75rem",
161
+ "xl": "2rem",
162
+ "2xl": "2.25rem",
163
+ "3xl": "2.5rem",
164
+ "4xl": "2.75rem",
165
+ "5xl": "3.25rem",
166
+ "6xl": "3.75rem"
166
167
  },
167
168
  "letterSpacing": {
168
169
  "tight": "-0.3px",
@@ -289,6 +290,7 @@
289
290
  "accent": "#F4581C",
290
291
  "accentHover": "#FB6E2E",
291
292
  "accentActive": "#FF9462",
293
+ "accentStrong": "#DD4A0F",
292
294
  "onAccent": "#16130F"
293
295
  },
294
296
  "text": {
@@ -308,7 +310,7 @@
308
310
  "border": {
309
311
  "subtle": "#E4E2DB",
310
312
  "default": "#8E887A",
311
- "strong": "#8E887A",
313
+ "strong": "#66604E",
312
314
  "muted": "#E4E2DB"
313
315
  },
314
316
  "state": {
@@ -384,64 +386,64 @@
384
386
  "typography": {
385
387
  "display": {
386
388
  "fontFamily": "\"Lato\", \"Segoe UI\", \"Helvetica Neue\", Arial, sans-serif",
387
- "fontSize": "48px",
388
- "lineHeight": "60px",
389
+ "fontSize": "3rem",
390
+ "lineHeight": "3.75rem",
389
391
  "fontWeight": "800",
390
392
  "letterSpacing": "-0.3px"
391
393
  },
392
394
  "h1": {
393
395
  "fontFamily": "\"Lato\", \"Segoe UI\", \"Helvetica Neue\", Arial, sans-serif",
394
- "fontSize": "40px",
395
- "lineHeight": "52px",
396
+ "fontSize": "2.5rem",
397
+ "lineHeight": "3.25rem",
396
398
  "fontWeight": "700",
397
399
  "letterSpacing": "-0.3px"
398
400
  },
399
401
  "h2": {
400
402
  "fontFamily": "\"Lato\", \"Segoe UI\", \"Helvetica Neue\", Arial, sans-serif",
401
- "fontSize": "32px",
402
- "lineHeight": "44px",
403
+ "fontSize": "2rem",
404
+ "lineHeight": "2.75rem",
403
405
  "fontWeight": "600",
404
406
  "letterSpacing": "0px"
405
407
  },
406
408
  "h3": {
407
409
  "fontFamily": "\"Lato\", \"Segoe UI\", \"Helvetica Neue\", Arial, sans-serif",
408
- "fontSize": "28px",
409
- "lineHeight": "40px",
410
+ "fontSize": "1.75rem",
411
+ "lineHeight": "2.5rem",
410
412
  "fontWeight": "600",
411
413
  "letterSpacing": "0px"
412
414
  },
413
415
  "h4": {
414
416
  "fontFamily": "\"Lato\", \"Segoe UI\", \"Helvetica Neue\", Arial, sans-serif",
415
- "fontSize": "24px",
416
- "lineHeight": "36px",
417
+ "fontSize": "1.5rem",
418
+ "lineHeight": "2.25rem",
417
419
  "fontWeight": "600",
418
420
  "letterSpacing": "0px"
419
421
  },
420
422
  "body": {
421
423
  "fontFamily": "\"Lato\", \"Segoe UI\", \"Helvetica Neue\", Arial, sans-serif",
422
- "fontSize": "16px",
423
- "lineHeight": "24px",
424
+ "fontSize": "1rem",
425
+ "lineHeight": "1.5rem",
424
426
  "fontWeight": "400",
425
427
  "letterSpacing": "0px"
426
428
  },
427
429
  "bodySm": {
428
430
  "fontFamily": "\"Lato\", \"Segoe UI\", \"Helvetica Neue\", Arial, sans-serif",
429
- "fontSize": "14px",
430
- "lineHeight": "20px",
431
+ "fontSize": "0.875rem",
432
+ "lineHeight": "1.25rem",
431
433
  "fontWeight": "400",
432
434
  "letterSpacing": "0px"
433
435
  },
434
436
  "label": {
435
437
  "fontFamily": "\"Lato\", \"Segoe UI\", \"Helvetica Neue\", Arial, sans-serif",
436
- "fontSize": "14px",
437
- "lineHeight": "20px",
438
+ "fontSize": "0.875rem",
439
+ "lineHeight": "1.25rem",
438
440
  "fontWeight": "600",
439
441
  "letterSpacing": "0.3px"
440
442
  },
441
443
  "caption": {
442
444
  "fontFamily": "\"Lato\", \"Segoe UI\", \"Helvetica Neue\", Arial, sans-serif",
443
- "fontSize": "12px",
444
- "lineHeight": "16px",
445
+ "fontSize": "0.75rem",
446
+ "lineHeight": "1rem",
445
447
  "fontWeight": "400",
446
448
  "letterSpacing": "0px"
447
449
  }
@@ -467,8 +469,8 @@
467
469
  "color": "#FFFFFF",
468
470
  "height": "40px",
469
471
  "paddingX": "16px",
470
- "fontSize": "14px",
471
- "lineHeight": "20px",
472
+ "fontSize": "0.875rem",
473
+ "lineHeight": "1.25rem",
472
474
  "fontWeight": "600",
473
475
  "radius": "8px",
474
476
  "gap": "6px",
@@ -479,7 +481,7 @@
479
481
  "backgroundHover": "#F1F0EB",
480
482
  "backgroundDisabled": "#E4E2DB",
481
483
  "border": "#8E887A",
482
- "borderHover": "#8E887A",
484
+ "borderHover": "#66604E",
483
485
  "borderFocus": "#DD4A0F",
484
486
  "text": "#16130F",
485
487
  "placeholder": "#66604E",
@@ -495,7 +497,7 @@
495
497
  },
496
498
  "status": {
497
499
  "gap": "4px",
498
- "fontSize": "14px",
500
+ "fontSize": "0.875rem",
499
501
  "iconSize": "16px"
500
502
  },
501
503
  "metric": {
@@ -503,13 +505,23 @@
503
505
  "border": "#E4E2DB",
504
506
  "radius": "12px",
505
507
  "padding": "16px",
506
- "valueFontSize": "24px",
507
- "labelFontSize": "14px"
508
+ "valueFontSize": "1.5rem",
509
+ "labelFontSize": "0.875rem"
508
510
  },
509
511
  "meter": {
510
512
  "height": "6px",
511
513
  "radius": "999px",
512
514
  "track": "#E4E2DB"
515
+ },
516
+ "datum": {
517
+ "edgeWidth": "3px",
518
+ "tickWidth": "24px",
519
+ "tickHeight": "3px",
520
+ "originLength": "48px",
521
+ "markSize": "18px",
522
+ "scaleHeight": "9px",
523
+ "scaleMinorStep": "12px",
524
+ "scaleMajorStep": "60px"
513
525
  }
514
526
  },
515
527
  "semanticThemes": {
@@ -522,6 +534,7 @@
522
534
  "accent": "#F4581C",
523
535
  "accentHover": "#FB6E2E",
524
536
  "accentActive": "#FF9462",
537
+ "accentStrong": "#DD4A0F",
525
538
  "onAccent": "#16130F"
526
539
  },
527
540
  "text": {
@@ -541,7 +554,7 @@
541
554
  "border": {
542
555
  "subtle": "#E4E2DB",
543
556
  "default": "#8E887A",
544
- "strong": "#8E887A",
557
+ "strong": "#66604E",
545
558
  "muted": "#E4E2DB"
546
559
  },
547
560
  "state": {
@@ -617,64 +630,64 @@
617
630
  "typography": {
618
631
  "display": {
619
632
  "fontFamily": "\"Lato\", \"Segoe UI\", \"Helvetica Neue\", Arial, sans-serif",
620
- "fontSize": "48px",
621
- "lineHeight": "60px",
633
+ "fontSize": "3rem",
634
+ "lineHeight": "3.75rem",
622
635
  "fontWeight": "800",
623
636
  "letterSpacing": "-0.3px"
624
637
  },
625
638
  "h1": {
626
639
  "fontFamily": "\"Lato\", \"Segoe UI\", \"Helvetica Neue\", Arial, sans-serif",
627
- "fontSize": "40px",
628
- "lineHeight": "52px",
640
+ "fontSize": "2.5rem",
641
+ "lineHeight": "3.25rem",
629
642
  "fontWeight": "700",
630
643
  "letterSpacing": "-0.3px"
631
644
  },
632
645
  "h2": {
633
646
  "fontFamily": "\"Lato\", \"Segoe UI\", \"Helvetica Neue\", Arial, sans-serif",
634
- "fontSize": "32px",
635
- "lineHeight": "44px",
647
+ "fontSize": "2rem",
648
+ "lineHeight": "2.75rem",
636
649
  "fontWeight": "600",
637
650
  "letterSpacing": "0px"
638
651
  },
639
652
  "h3": {
640
653
  "fontFamily": "\"Lato\", \"Segoe UI\", \"Helvetica Neue\", Arial, sans-serif",
641
- "fontSize": "28px",
642
- "lineHeight": "40px",
654
+ "fontSize": "1.75rem",
655
+ "lineHeight": "2.5rem",
643
656
  "fontWeight": "600",
644
657
  "letterSpacing": "0px"
645
658
  },
646
659
  "h4": {
647
660
  "fontFamily": "\"Lato\", \"Segoe UI\", \"Helvetica Neue\", Arial, sans-serif",
648
- "fontSize": "24px",
649
- "lineHeight": "36px",
661
+ "fontSize": "1.5rem",
662
+ "lineHeight": "2.25rem",
650
663
  "fontWeight": "600",
651
664
  "letterSpacing": "0px"
652
665
  },
653
666
  "body": {
654
667
  "fontFamily": "\"Lato\", \"Segoe UI\", \"Helvetica Neue\", Arial, sans-serif",
655
- "fontSize": "16px",
656
- "lineHeight": "24px",
668
+ "fontSize": "1rem",
669
+ "lineHeight": "1.5rem",
657
670
  "fontWeight": "400",
658
671
  "letterSpacing": "0px"
659
672
  },
660
673
  "bodySm": {
661
674
  "fontFamily": "\"Lato\", \"Segoe UI\", \"Helvetica Neue\", Arial, sans-serif",
662
- "fontSize": "14px",
663
- "lineHeight": "20px",
675
+ "fontSize": "0.875rem",
676
+ "lineHeight": "1.25rem",
664
677
  "fontWeight": "400",
665
678
  "letterSpacing": "0px"
666
679
  },
667
680
  "label": {
668
681
  "fontFamily": "\"Lato\", \"Segoe UI\", \"Helvetica Neue\", Arial, sans-serif",
669
- "fontSize": "14px",
670
- "lineHeight": "20px",
682
+ "fontSize": "0.875rem",
683
+ "lineHeight": "1.25rem",
671
684
  "fontWeight": "600",
672
685
  "letterSpacing": "0.3px"
673
686
  },
674
687
  "caption": {
675
688
  "fontFamily": "\"Lato\", \"Segoe UI\", \"Helvetica Neue\", Arial, sans-serif",
676
- "fontSize": "12px",
677
- "lineHeight": "16px",
689
+ "fontSize": "0.75rem",
690
+ "lineHeight": "1rem",
678
691
  "fontWeight": "400",
679
692
  "letterSpacing": "0px"
680
693
  }
@@ -700,6 +713,7 @@
700
713
  "accent": "#FB6E2E",
701
714
  "accentHover": "#FF9462",
702
715
  "accentActive": "#F4581C",
716
+ "accentStrong": "#FB6E2E",
703
717
  "onAccent": "#16130F"
704
718
  },
705
719
  "text": {
@@ -717,10 +731,10 @@
717
731
  "subtle": "#353128"
718
732
  },
719
733
  "border": {
720
- "subtle": "#4B473E",
734
+ "subtle": "#66604E",
721
735
  "default": "#B4AFA1",
722
- "strong": "#8E887A",
723
- "muted": "#4B473E"
736
+ "strong": "#D3D0C7",
737
+ "muted": "#66604E"
724
738
  },
725
739
  "state": {
726
740
  "info": "#76A6DC",
@@ -745,7 +759,7 @@
745
759
  "info": "#A6C6EA",
746
760
  "success": "#9EDCC0",
747
761
  "warning": "#EDC85F",
748
- "danger": "#EF98A8"
762
+ "danger": "#F7C6CF"
749
763
  },
750
764
  "overlay": {
751
765
  "scrim": "rgba(8, 6, 4, 0.72)"
@@ -795,64 +809,64 @@
795
809
  "typography": {
796
810
  "display": {
797
811
  "fontFamily": "\"Lato\", \"Segoe UI\", \"Helvetica Neue\", Arial, sans-serif",
798
- "fontSize": "48px",
799
- "lineHeight": "60px",
812
+ "fontSize": "3rem",
813
+ "lineHeight": "3.75rem",
800
814
  "fontWeight": "800",
801
815
  "letterSpacing": "-0.3px"
802
816
  },
803
817
  "h1": {
804
818
  "fontFamily": "\"Lato\", \"Segoe UI\", \"Helvetica Neue\", Arial, sans-serif",
805
- "fontSize": "40px",
806
- "lineHeight": "52px",
819
+ "fontSize": "2.5rem",
820
+ "lineHeight": "3.25rem",
807
821
  "fontWeight": "700",
808
822
  "letterSpacing": "-0.3px"
809
823
  },
810
824
  "h2": {
811
825
  "fontFamily": "\"Lato\", \"Segoe UI\", \"Helvetica Neue\", Arial, sans-serif",
812
- "fontSize": "32px",
813
- "lineHeight": "44px",
826
+ "fontSize": "2rem",
827
+ "lineHeight": "2.75rem",
814
828
  "fontWeight": "600",
815
829
  "letterSpacing": "0px"
816
830
  },
817
831
  "h3": {
818
832
  "fontFamily": "\"Lato\", \"Segoe UI\", \"Helvetica Neue\", Arial, sans-serif",
819
- "fontSize": "28px",
820
- "lineHeight": "40px",
833
+ "fontSize": "1.75rem",
834
+ "lineHeight": "2.5rem",
821
835
  "fontWeight": "600",
822
836
  "letterSpacing": "0px"
823
837
  },
824
838
  "h4": {
825
839
  "fontFamily": "\"Lato\", \"Segoe UI\", \"Helvetica Neue\", Arial, sans-serif",
826
- "fontSize": "24px",
827
- "lineHeight": "36px",
840
+ "fontSize": "1.5rem",
841
+ "lineHeight": "2.25rem",
828
842
  "fontWeight": "600",
829
843
  "letterSpacing": "0px"
830
844
  },
831
845
  "body": {
832
846
  "fontFamily": "\"Lato\", \"Segoe UI\", \"Helvetica Neue\", Arial, sans-serif",
833
- "fontSize": "16px",
834
- "lineHeight": "24px",
847
+ "fontSize": "1rem",
848
+ "lineHeight": "1.5rem",
835
849
  "fontWeight": "400",
836
850
  "letterSpacing": "0px"
837
851
  },
838
852
  "bodySm": {
839
853
  "fontFamily": "\"Lato\", \"Segoe UI\", \"Helvetica Neue\", Arial, sans-serif",
840
- "fontSize": "14px",
841
- "lineHeight": "20px",
854
+ "fontSize": "0.875rem",
855
+ "lineHeight": "1.25rem",
842
856
  "fontWeight": "400",
843
857
  "letterSpacing": "0px"
844
858
  },
845
859
  "label": {
846
860
  "fontFamily": "\"Lato\", \"Segoe UI\", \"Helvetica Neue\", Arial, sans-serif",
847
- "fontSize": "14px",
848
- "lineHeight": "20px",
861
+ "fontSize": "0.875rem",
862
+ "lineHeight": "1.25rem",
849
863
  "fontWeight": "600",
850
864
  "letterSpacing": "0.3px"
851
865
  },
852
866
  "caption": {
853
867
  "fontFamily": "\"Lato\", \"Segoe UI\", \"Helvetica Neue\", Arial, sans-serif",
854
- "fontSize": "12px",
855
- "lineHeight": "16px",
868
+ "fontSize": "0.75rem",
869
+ "lineHeight": "1rem",
856
870
  "fontWeight": "400",
857
871
  "letterSpacing": "0px"
858
872
  }
@@ -878,6 +892,7 @@
878
892
  "accent": "#B23C0C",
879
893
  "accentHover": "#882D09",
880
894
  "accentActive": "#5C1E06",
895
+ "accentStrong": "#882D09",
881
896
  "onAccent": "#FFFFFF"
882
897
  },
883
898
  "text": {
@@ -891,14 +906,14 @@
891
906
  "canvas": "#FFFFFF",
892
907
  "surface": "#FFFFFF",
893
908
  "elevated": "#FFFFFF",
894
- "muted": "#FAFAF8",
909
+ "muted": "#E4E2DB",
895
910
  "subtle": "#FFFFFF"
896
911
  },
897
912
  "border": {
898
- "subtle": "#B4AFA1",
913
+ "subtle": "#8E887A",
899
914
  "default": "#4B473E",
900
915
  "strong": "#16130F",
901
- "muted": "#B4AFA1"
916
+ "muted": "#8E887A"
902
917
  },
903
918
  "state": {
904
919
  "info": "#123356",
@@ -973,64 +988,243 @@
973
988
  "typography": {
974
989
  "display": {
975
990
  "fontFamily": "\"Lato\", \"Segoe UI\", \"Helvetica Neue\", Arial, sans-serif",
976
- "fontSize": "48px",
977
- "lineHeight": "60px",
991
+ "fontSize": "3rem",
992
+ "lineHeight": "3.75rem",
978
993
  "fontWeight": "800",
979
994
  "letterSpacing": "-0.3px"
980
995
  },
981
996
  "h1": {
982
997
  "fontFamily": "\"Lato\", \"Segoe UI\", \"Helvetica Neue\", Arial, sans-serif",
983
- "fontSize": "40px",
984
- "lineHeight": "52px",
998
+ "fontSize": "2.5rem",
999
+ "lineHeight": "3.25rem",
985
1000
  "fontWeight": "700",
986
1001
  "letterSpacing": "-0.3px"
987
1002
  },
988
1003
  "h2": {
989
1004
  "fontFamily": "\"Lato\", \"Segoe UI\", \"Helvetica Neue\", Arial, sans-serif",
990
- "fontSize": "32px",
991
- "lineHeight": "44px",
1005
+ "fontSize": "2rem",
1006
+ "lineHeight": "2.75rem",
992
1007
  "fontWeight": "600",
993
1008
  "letterSpacing": "0px"
994
1009
  },
995
1010
  "h3": {
996
1011
  "fontFamily": "\"Lato\", \"Segoe UI\", \"Helvetica Neue\", Arial, sans-serif",
997
- "fontSize": "28px",
998
- "lineHeight": "40px",
1012
+ "fontSize": "1.75rem",
1013
+ "lineHeight": "2.5rem",
999
1014
  "fontWeight": "600",
1000
1015
  "letterSpacing": "0px"
1001
1016
  },
1002
1017
  "h4": {
1003
1018
  "fontFamily": "\"Lato\", \"Segoe UI\", \"Helvetica Neue\", Arial, sans-serif",
1004
- "fontSize": "24px",
1005
- "lineHeight": "36px",
1019
+ "fontSize": "1.5rem",
1020
+ "lineHeight": "2.25rem",
1006
1021
  "fontWeight": "600",
1007
1022
  "letterSpacing": "0px"
1008
1023
  },
1009
1024
  "body": {
1010
1025
  "fontFamily": "\"Lato\", \"Segoe UI\", \"Helvetica Neue\", Arial, sans-serif",
1011
- "fontSize": "16px",
1012
- "lineHeight": "24px",
1026
+ "fontSize": "1rem",
1027
+ "lineHeight": "1.5rem",
1013
1028
  "fontWeight": "400",
1014
1029
  "letterSpacing": "0px"
1015
1030
  },
1016
1031
  "bodySm": {
1017
1032
  "fontFamily": "\"Lato\", \"Segoe UI\", \"Helvetica Neue\", Arial, sans-serif",
1018
- "fontSize": "14px",
1019
- "lineHeight": "20px",
1033
+ "fontSize": "0.875rem",
1034
+ "lineHeight": "1.25rem",
1020
1035
  "fontWeight": "400",
1021
1036
  "letterSpacing": "0px"
1022
1037
  },
1023
1038
  "label": {
1024
1039
  "fontFamily": "\"Lato\", \"Segoe UI\", \"Helvetica Neue\", Arial, sans-serif",
1025
- "fontSize": "14px",
1026
- "lineHeight": "20px",
1040
+ "fontSize": "0.875rem",
1041
+ "lineHeight": "1.25rem",
1027
1042
  "fontWeight": "600",
1028
1043
  "letterSpacing": "0.3px"
1029
1044
  },
1030
1045
  "caption": {
1031
1046
  "fontFamily": "\"Lato\", \"Segoe UI\", \"Helvetica Neue\", Arial, sans-serif",
1032
- "fontSize": "12px",
1033
- "lineHeight": "16px",
1047
+ "fontSize": "0.75rem",
1048
+ "lineHeight": "1rem",
1049
+ "fontWeight": "400",
1050
+ "letterSpacing": "0px"
1051
+ }
1052
+ },
1053
+ "radius": {
1054
+ "control": "8px",
1055
+ "card": "12px",
1056
+ "modal": "16px",
1057
+ "pill": "999px"
1058
+ },
1059
+ "shadow": {
1060
+ "card": "0 2px 6px rgba(28, 20, 10, 0.09)",
1061
+ "dropdown": "0 8px 20px rgba(28, 20, 10, 0.11)",
1062
+ "modal": "0 16px 36px rgba(28, 20, 10, 0.13)"
1063
+ }
1064
+ },
1065
+ "highContrastDark": {
1066
+ "color": {
1067
+ "brand": {
1068
+ "primary": "#FFFFFF",
1069
+ "primaryHover": "#F1F0EB",
1070
+ "primaryActive": "#E4E2DB",
1071
+ "accent": "#FF9462",
1072
+ "accentHover": "#FFBE9C",
1073
+ "accentActive": "#FB6E2E",
1074
+ "accentStrong": "#FF9462",
1075
+ "onAccent": "#16130F"
1076
+ },
1077
+ "text": {
1078
+ "primary": "#FFFFFF",
1079
+ "secondary": "#F1F0EB",
1080
+ "muted": "#E4E2DB",
1081
+ "inverse": "#16130F",
1082
+ "onPrimary": "#16130F"
1083
+ },
1084
+ "background": {
1085
+ "canvas": "#16130F",
1086
+ "surface": "#16130F",
1087
+ "elevated": "#211E18",
1088
+ "muted": "#353128",
1089
+ "subtle": "#16130F"
1090
+ },
1091
+ "border": {
1092
+ "subtle": "#8E887A",
1093
+ "default": "#D3D0C7",
1094
+ "strong": "#FFFFFF",
1095
+ "muted": "#8E887A"
1096
+ },
1097
+ "state": {
1098
+ "info": "#A6C6EA",
1099
+ "success": "#9EDCC0",
1100
+ "warning": "#EDC85F",
1101
+ "danger": "#EF98A8",
1102
+ "onSolid": "#16130F"
1103
+ },
1104
+ "stateSurface": {
1105
+ "info": "#0C2238",
1106
+ "success": "#0C2E22",
1107
+ "warning": "#2F2100",
1108
+ "danger": "#330610"
1109
+ },
1110
+ "stateBorder": {
1111
+ "info": "#76A6DC",
1112
+ "success": "#70CBA3",
1113
+ "warning": "#DFAB1F",
1114
+ "danger": "#E4647C"
1115
+ },
1116
+ "stateText": {
1117
+ "info": "#CFE0F4",
1118
+ "success": "#C7EAD9",
1119
+ "warning": "#F6E3A6",
1120
+ "danger": "#F7C6CF"
1121
+ },
1122
+ "overlay": {
1123
+ "scrim": "rgba(0, 0, 0, 0.82)"
1124
+ },
1125
+ "focus": {
1126
+ "ring": "#FF9462"
1127
+ },
1128
+ "avatarSeed": {
1129
+ "1Bg": "#0C2238",
1130
+ "1Fg": "#CFE0F4",
1131
+ "2Bg": "#0A3533",
1132
+ "2Fg": "#C5ECEA",
1133
+ "3Bg": "#2F2100",
1134
+ "3Fg": "#F6E3A6",
1135
+ "4Bg": "#330610",
1136
+ "4Fg": "#F7C6CF",
1137
+ "5Bg": "#0C2E22",
1138
+ "5Fg": "#C7EAD9",
1139
+ "6Bg": "#1A0F2C",
1140
+ "6Fg": "#E5D7F4",
1141
+ "7Bg": "#29080F",
1142
+ "7Fg": "#F5CDDC",
1143
+ "8Bg": "#353128",
1144
+ "8Fg": "#F1F0EB"
1145
+ },
1146
+ "chartSeries": {
1147
+ "1": "#A6C6EA",
1148
+ "2": "#EDC85F",
1149
+ "3": "#9EDCC0",
1150
+ "4": "#C9B0E6",
1151
+ "5": "#EA9CB7",
1152
+ "6": "#93DAD6",
1153
+ "7": "#EF98A8",
1154
+ "8": "#E4E2DB"
1155
+ }
1156
+ },
1157
+ "theme": {
1158
+ "colorScheme": "dark"
1159
+ },
1160
+ "font": {
1161
+ "family": {
1162
+ "heading": "\"Lato\", \"Segoe UI\", \"Helvetica Neue\", Arial, sans-serif",
1163
+ "body": "\"Lato\", \"Segoe UI\", \"Helvetica Neue\", Arial, sans-serif",
1164
+ "code": "\"JetBrains Mono\", \"SFMono-Regular\", Menlo, monospace"
1165
+ }
1166
+ },
1167
+ "typography": {
1168
+ "display": {
1169
+ "fontFamily": "\"Lato\", \"Segoe UI\", \"Helvetica Neue\", Arial, sans-serif",
1170
+ "fontSize": "3rem",
1171
+ "lineHeight": "3.75rem",
1172
+ "fontWeight": "800",
1173
+ "letterSpacing": "-0.3px"
1174
+ },
1175
+ "h1": {
1176
+ "fontFamily": "\"Lato\", \"Segoe UI\", \"Helvetica Neue\", Arial, sans-serif",
1177
+ "fontSize": "2.5rem",
1178
+ "lineHeight": "3.25rem",
1179
+ "fontWeight": "700",
1180
+ "letterSpacing": "-0.3px"
1181
+ },
1182
+ "h2": {
1183
+ "fontFamily": "\"Lato\", \"Segoe UI\", \"Helvetica Neue\", Arial, sans-serif",
1184
+ "fontSize": "2rem",
1185
+ "lineHeight": "2.75rem",
1186
+ "fontWeight": "600",
1187
+ "letterSpacing": "0px"
1188
+ },
1189
+ "h3": {
1190
+ "fontFamily": "\"Lato\", \"Segoe UI\", \"Helvetica Neue\", Arial, sans-serif",
1191
+ "fontSize": "1.75rem",
1192
+ "lineHeight": "2.5rem",
1193
+ "fontWeight": "600",
1194
+ "letterSpacing": "0px"
1195
+ },
1196
+ "h4": {
1197
+ "fontFamily": "\"Lato\", \"Segoe UI\", \"Helvetica Neue\", Arial, sans-serif",
1198
+ "fontSize": "1.5rem",
1199
+ "lineHeight": "2.25rem",
1200
+ "fontWeight": "600",
1201
+ "letterSpacing": "0px"
1202
+ },
1203
+ "body": {
1204
+ "fontFamily": "\"Lato\", \"Segoe UI\", \"Helvetica Neue\", Arial, sans-serif",
1205
+ "fontSize": "1rem",
1206
+ "lineHeight": "1.5rem",
1207
+ "fontWeight": "400",
1208
+ "letterSpacing": "0px"
1209
+ },
1210
+ "bodySm": {
1211
+ "fontFamily": "\"Lato\", \"Segoe UI\", \"Helvetica Neue\", Arial, sans-serif",
1212
+ "fontSize": "0.875rem",
1213
+ "lineHeight": "1.25rem",
1214
+ "fontWeight": "400",
1215
+ "letterSpacing": "0px"
1216
+ },
1217
+ "label": {
1218
+ "fontFamily": "\"Lato\", \"Segoe UI\", \"Helvetica Neue\", Arial, sans-serif",
1219
+ "fontSize": "0.875rem",
1220
+ "lineHeight": "1.25rem",
1221
+ "fontWeight": "600",
1222
+ "letterSpacing": "0.3px"
1223
+ },
1224
+ "caption": {
1225
+ "fontFamily": "\"Lato\", \"Segoe UI\", \"Helvetica Neue\", Arial, sans-serif",
1226
+ "fontSize": "0.75rem",
1227
+ "lineHeight": "1rem",
1034
1228
  "fontWeight": "400",
1035
1229
  "letterSpacing": "0px"
1036
1230
  }
@@ -1058,8 +1252,8 @@
1058
1252
  "color": "#FFFFFF",
1059
1253
  "height": "40px",
1060
1254
  "paddingX": "16px",
1061
- "fontSize": "14px",
1062
- "lineHeight": "20px",
1255
+ "fontSize": "0.875rem",
1256
+ "lineHeight": "1.25rem",
1063
1257
  "fontWeight": "600",
1064
1258
  "radius": "8px",
1065
1259
  "gap": "6px",
@@ -1070,7 +1264,7 @@
1070
1264
  "backgroundHover": "#F1F0EB",
1071
1265
  "backgroundDisabled": "#E4E2DB",
1072
1266
  "border": "#8E887A",
1073
- "borderHover": "#8E887A",
1267
+ "borderHover": "#66604E",
1074
1268
  "borderFocus": "#DD4A0F",
1075
1269
  "text": "#16130F",
1076
1270
  "placeholder": "#66604E",
@@ -1086,7 +1280,7 @@
1086
1280
  },
1087
1281
  "status": {
1088
1282
  "gap": "4px",
1089
- "fontSize": "14px",
1283
+ "fontSize": "0.875rem",
1090
1284
  "iconSize": "16px"
1091
1285
  },
1092
1286
  "metric": {
@@ -1094,13 +1288,23 @@
1094
1288
  "border": "#E4E2DB",
1095
1289
  "radius": "12px",
1096
1290
  "padding": "16px",
1097
- "valueFontSize": "24px",
1098
- "labelFontSize": "14px"
1291
+ "valueFontSize": "1.5rem",
1292
+ "labelFontSize": "0.875rem"
1099
1293
  },
1100
1294
  "meter": {
1101
1295
  "height": "6px",
1102
1296
  "radius": "999px",
1103
1297
  "track": "#E4E2DB"
1298
+ },
1299
+ "datum": {
1300
+ "edgeWidth": "3px",
1301
+ "tickWidth": "24px",
1302
+ "tickHeight": "3px",
1303
+ "originLength": "48px",
1304
+ "markSize": "18px",
1305
+ "scaleHeight": "9px",
1306
+ "scaleMinorStep": "12px",
1307
+ "scaleMajorStep": "60px"
1104
1308
  }
1105
1309
  },
1106
1310
  "dark": {
@@ -1112,8 +1316,8 @@
1112
1316
  "color": "#16130F",
1113
1317
  "height": "40px",
1114
1318
  "paddingX": "16px",
1115
- "fontSize": "14px",
1116
- "lineHeight": "20px",
1319
+ "fontSize": "0.875rem",
1320
+ "lineHeight": "1.25rem",
1117
1321
  "fontWeight": "600",
1118
1322
  "radius": "8px",
1119
1323
  "gap": "6px",
@@ -1124,7 +1328,7 @@
1124
1328
  "backgroundHover": "#353128",
1125
1329
  "backgroundDisabled": "#211E18",
1126
1330
  "border": "#B4AFA1",
1127
- "borderHover": "#8E887A",
1331
+ "borderHover": "#D3D0C7",
1128
1332
  "borderFocus": "#FB6E2E",
1129
1333
  "text": "#FFFFFF",
1130
1334
  "placeholder": "#D3D0C7",
@@ -1132,7 +1336,7 @@
1132
1336
  },
1133
1337
  "card": {
1134
1338
  "background": "#4B473E",
1135
- "border": "#4B473E",
1339
+ "border": "#66604E",
1136
1340
  "radius": "12px",
1137
1341
  "padding": "16px",
1138
1342
  "shadow": "0 2px 6px rgba(28, 20, 10, 0.09)",
@@ -1140,21 +1344,31 @@
1140
1344
  },
1141
1345
  "status": {
1142
1346
  "gap": "4px",
1143
- "fontSize": "14px",
1347
+ "fontSize": "0.875rem",
1144
1348
  "iconSize": "16px"
1145
1349
  },
1146
1350
  "metric": {
1147
1351
  "background": "#4B473E",
1148
- "border": "#4B473E",
1352
+ "border": "#66604E",
1149
1353
  "radius": "12px",
1150
1354
  "padding": "16px",
1151
- "valueFontSize": "24px",
1152
- "labelFontSize": "14px"
1355
+ "valueFontSize": "1.5rem",
1356
+ "labelFontSize": "0.875rem"
1153
1357
  },
1154
1358
  "meter": {
1155
1359
  "height": "6px",
1156
1360
  "radius": "999px",
1157
1361
  "track": "#211E18"
1362
+ },
1363
+ "datum": {
1364
+ "edgeWidth": "3px",
1365
+ "tickWidth": "24px",
1366
+ "tickHeight": "3px",
1367
+ "originLength": "48px",
1368
+ "markSize": "18px",
1369
+ "scaleHeight": "9px",
1370
+ "scaleMinorStep": "12px",
1371
+ "scaleMajorStep": "60px"
1158
1372
  }
1159
1373
  },
1160
1374
  "highContrast": {
@@ -1166,8 +1380,8 @@
1166
1380
  "color": "#FFFFFF",
1167
1381
  "height": "40px",
1168
1382
  "paddingX": "16px",
1169
- "fontSize": "14px",
1170
- "lineHeight": "20px",
1383
+ "fontSize": "0.875rem",
1384
+ "lineHeight": "1.25rem",
1171
1385
  "fontWeight": "600",
1172
1386
  "radius": "8px",
1173
1387
  "gap": "6px",
@@ -1176,7 +1390,7 @@
1176
1390
  "control": {
1177
1391
  "background": "#FFFFFF",
1178
1392
  "backgroundHover": "#FFFFFF",
1179
- "backgroundDisabled": "#FAFAF8",
1393
+ "backgroundDisabled": "#E4E2DB",
1180
1394
  "border": "#4B473E",
1181
1395
  "borderHover": "#16130F",
1182
1396
  "borderFocus": "#B23C0C",
@@ -1186,7 +1400,7 @@
1186
1400
  },
1187
1401
  "card": {
1188
1402
  "background": "#FFFFFF",
1189
- "border": "#B4AFA1",
1403
+ "border": "#8E887A",
1190
1404
  "radius": "12px",
1191
1405
  "padding": "16px",
1192
1406
  "shadow": "0 2px 6px rgba(28, 20, 10, 0.09)",
@@ -1194,21 +1408,95 @@
1194
1408
  },
1195
1409
  "status": {
1196
1410
  "gap": "4px",
1197
- "fontSize": "14px",
1411
+ "fontSize": "0.875rem",
1198
1412
  "iconSize": "16px"
1199
1413
  },
1200
1414
  "metric": {
1201
1415
  "background": "#FFFFFF",
1202
- "border": "#B4AFA1",
1416
+ "border": "#8E887A",
1417
+ "radius": "12px",
1418
+ "padding": "16px",
1419
+ "valueFontSize": "1.5rem",
1420
+ "labelFontSize": "0.875rem"
1421
+ },
1422
+ "meter": {
1423
+ "height": "6px",
1424
+ "radius": "999px",
1425
+ "track": "#E4E2DB"
1426
+ },
1427
+ "datum": {
1428
+ "edgeWidth": "3px",
1429
+ "tickWidth": "24px",
1430
+ "tickHeight": "3px",
1431
+ "originLength": "48px",
1432
+ "markSize": "18px",
1433
+ "scaleHeight": "9px",
1434
+ "scaleMinorStep": "12px",
1435
+ "scaleMajorStep": "60px"
1436
+ }
1437
+ },
1438
+ "highContrastDark": {
1439
+ "button": {
1440
+ "background": "#FFFFFF",
1441
+ "backgroundHover": "#F1F0EB",
1442
+ "backgroundActive": "#E4E2DB",
1443
+ "border": "#FFFFFF",
1444
+ "color": "#16130F",
1445
+ "height": "40px",
1446
+ "paddingX": "16px",
1447
+ "fontSize": "0.875rem",
1448
+ "lineHeight": "1.25rem",
1449
+ "fontWeight": "600",
1450
+ "radius": "8px",
1451
+ "gap": "6px",
1452
+ "loadingSpinnerSize": "20px"
1453
+ },
1454
+ "control": {
1455
+ "background": "#211E18",
1456
+ "backgroundHover": "#16130F",
1457
+ "backgroundDisabled": "#353128",
1458
+ "border": "#D3D0C7",
1459
+ "borderHover": "#FFFFFF",
1460
+ "borderFocus": "#FF9462",
1461
+ "text": "#FFFFFF",
1462
+ "placeholder": "#E4E2DB",
1463
+ "radius": "8px"
1464
+ },
1465
+ "card": {
1466
+ "background": "#211E18",
1467
+ "border": "#8E887A",
1203
1468
  "radius": "12px",
1204
1469
  "padding": "16px",
1205
- "valueFontSize": "24px",
1206
- "labelFontSize": "14px"
1470
+ "shadow": "0 2px 6px rgba(28, 20, 10, 0.09)",
1471
+ "shadowHover": "0 8px 20px rgba(28, 20, 10, 0.11)"
1472
+ },
1473
+ "status": {
1474
+ "gap": "4px",
1475
+ "fontSize": "0.875rem",
1476
+ "iconSize": "16px"
1477
+ },
1478
+ "metric": {
1479
+ "background": "#211E18",
1480
+ "border": "#8E887A",
1481
+ "radius": "12px",
1482
+ "padding": "16px",
1483
+ "valueFontSize": "1.5rem",
1484
+ "labelFontSize": "0.875rem"
1207
1485
  },
1208
1486
  "meter": {
1209
1487
  "height": "6px",
1210
1488
  "radius": "999px",
1211
- "track": "#FAFAF8"
1489
+ "track": "#353128"
1490
+ },
1491
+ "datum": {
1492
+ "edgeWidth": "3px",
1493
+ "tickWidth": "24px",
1494
+ "tickHeight": "3px",
1495
+ "originLength": "48px",
1496
+ "markSize": "18px",
1497
+ "scaleHeight": "9px",
1498
+ "scaleMinorStep": "12px",
1499
+ "scaleMajorStep": "60px"
1212
1500
  }
1213
1501
  }
1214
1502
  },
@@ -1490,6 +1778,7 @@
1490
1778
  "accent": "var(--color-brand-accent)",
1491
1779
  "accentHover": "var(--color-brand-accent-hover)",
1492
1780
  "accentActive": "var(--color-brand-accent-active)",
1781
+ "accentStrong": "var(--color-brand-accent-strong)",
1493
1782
  "onAccent": "var(--color-brand-on-accent)"
1494
1783
  },
1495
1784
  "text": {
@@ -1711,6 +2000,16 @@
1711
2000
  "height": "var(--component-meter-height)",
1712
2001
  "radius": "var(--component-meter-radius)",
1713
2002
  "track": "var(--component-meter-track)"
2003
+ },
2004
+ "datum": {
2005
+ "edgeWidth": "var(--component-datum-edge-width)",
2006
+ "tickWidth": "var(--component-datum-tick-width)",
2007
+ "tickHeight": "var(--component-datum-tick-height)",
2008
+ "originLength": "var(--component-datum-origin-length)",
2009
+ "markSize": "var(--component-datum-mark-size)",
2010
+ "scaleHeight": "var(--component-datum-scale-height)",
2011
+ "scaleMinorStep": "var(--component-datum-scale-minor-step)",
2012
+ "scaleMajorStep": "var(--component-datum-scale-major-step)"
1714
2013
  }
1715
2014
  }
1716
2015
  }