@omni-design/components 0.7.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.
Files changed (223) hide show
  1. package/.claude/commands/ScanComponents.md +26 -0
  2. package/.claude/commands/ShareComponent.md +128 -0
  3. package/.cursorrules +21 -0
  4. package/CLAUDE.md +1046 -0
  5. package/README.md +70 -0
  6. package/dist/OmniDesignProvider.esm.js +2 -0
  7. package/dist/OmniDesignProvider.esm.js.map +1 -0
  8. package/dist/OmniDesignProvider.js +2 -0
  9. package/dist/OmniDesignProvider.js.map +1 -0
  10. package/dist/index.esm.js +42 -0
  11. package/dist/index.esm.js.map +1 -0
  12. package/dist/index.js +42 -0
  13. package/dist/index.js.map +1 -0
  14. package/dist/types/OmniDesignProvider.d.ts +158 -0
  15. package/dist/types/components/Accordion/Accordion.d.ts +42 -0
  16. package/dist/types/components/Accordion/AccordionShowcase.d.ts +2 -0
  17. package/dist/types/components/Accordion/index.d.ts +2 -0
  18. package/dist/types/components/Alert/Alert.d.ts +14 -0
  19. package/dist/types/components/Alert/AlertShowcase.d.ts +2 -0
  20. package/dist/types/components/Alert/index.d.ts +2 -0
  21. package/dist/types/components/AppBar/AppBar.d.ts +43 -0
  22. package/dist/types/components/AppBar/AppBarShowcase.d.ts +2 -0
  23. package/dist/types/components/AppBar/index.d.ts +2 -0
  24. package/dist/types/components/Autocomplete/Autocomplete.d.ts +26 -0
  25. package/dist/types/components/Autocomplete/AutocompleteShowcase.d.ts +2 -0
  26. package/dist/types/components/Autocomplete/index.d.ts +2 -0
  27. package/dist/types/components/Avatar/Avatar.d.ts +29 -0
  28. package/dist/types/components/Avatar/AvatarShowcase.d.ts +2 -0
  29. package/dist/types/components/Avatar/defaultAvatar.d.ts +2 -0
  30. package/dist/types/components/Avatar/index.d.ts +3 -0
  31. package/dist/types/components/BackgroundPicker.d.ts +12 -0
  32. package/dist/types/components/Badge/Badge.d.ts +43 -0
  33. package/dist/types/components/Badge/BadgeShowcase.d.ts +1 -0
  34. package/dist/types/components/Badge/index.d.ts +2 -0
  35. package/dist/types/components/BevelText/BevelText.d.ts +15 -0
  36. package/dist/types/components/BevelText/BevelTextShowcase.d.ts +2 -0
  37. package/dist/types/components/BevelText/index.d.ts +2 -0
  38. package/dist/types/components/BottomNavigation/BottomNavigation.d.ts +15 -0
  39. package/dist/types/components/BottomNavigation/BottomNavigationShowcase.d.ts +2 -0
  40. package/dist/types/components/BottomNavigation/index.d.ts +2 -0
  41. package/dist/types/components/Box/Box.d.ts +36 -0
  42. package/dist/types/components/Box/BoxShowcase.d.ts +2 -0
  43. package/dist/types/components/Box/index.d.ts +2 -0
  44. package/dist/types/components/Breadcrumbs/Breadcrumbs.d.ts +22 -0
  45. package/dist/types/components/Breadcrumbs/BreadcrumbsShowcase.d.ts +2 -0
  46. package/dist/types/components/Breadcrumbs/index.d.ts +2 -0
  47. package/dist/types/components/Button/Button.d.ts +66 -0
  48. package/dist/types/components/Button/index.d.ts +2 -0
  49. package/dist/types/components/ButtonGroup/ButtonGroup.d.ts +41 -0
  50. package/dist/types/components/ButtonGroup/index.d.ts +2 -0
  51. package/dist/types/components/Card/Card.d.ts +54 -0
  52. package/dist/types/components/Card/CardShowcase.d.ts +2 -0
  53. package/dist/types/components/Card/index.d.ts +2 -0
  54. package/dist/types/components/Checkbox/Checkbox.d.ts +51 -0
  55. package/dist/types/components/Checkbox/index.d.ts +2 -0
  56. package/dist/types/components/Chip/Chip.d.ts +42 -0
  57. package/dist/types/components/Chip/ChipShowcase.d.ts +2 -0
  58. package/dist/types/components/Chip/index.d.ts +2 -0
  59. package/dist/types/components/CircularProgress/CircularProgress.d.ts +12 -0
  60. package/dist/types/components/CircularProgress/CircularProgressShowcase.d.ts +2 -0
  61. package/dist/types/components/CircularProgress/index.d.ts +2 -0
  62. package/dist/types/components/CodeBlock/CodeBlock.d.ts +35 -0
  63. package/dist/types/components/Colors/Colors.d.ts +7 -0
  64. package/dist/types/components/Colors/index.d.ts +1 -0
  65. package/dist/types/components/Container/Container.d.ts +70 -0
  66. package/dist/types/components/Container/index.d.ts +1 -0
  67. package/dist/types/components/Copyright/Copyright.d.ts +11 -0
  68. package/dist/types/components/Copyright/CopyrightShowcase.d.ts +2 -0
  69. package/dist/types/components/Copyright/index.d.ts +2 -0
  70. package/dist/types/components/CurvedText/CurvedText.d.ts +23 -0
  71. package/dist/types/components/CurvedText/CurvedTextShowcase.d.ts +2 -0
  72. package/dist/types/components/CurvedText/index.d.ts +2 -0
  73. package/dist/types/components/Dialog/Dialog.d.ts +82 -0
  74. package/dist/types/components/Dialog/DialogShowcase.d.ts +2 -0
  75. package/dist/types/components/Dialog/index.d.ts +2 -0
  76. package/dist/types/components/Divider/Divider.d.ts +22 -0
  77. package/dist/types/components/Divider/DividerShowcase.d.ts +2 -0
  78. package/dist/types/components/Divider/index.d.ts +2 -0
  79. package/dist/types/components/Drawer/Drawer.d.ts +30 -0
  80. package/dist/types/components/Drawer/DrawerShowcase.d.ts +2 -0
  81. package/dist/types/components/Drawer/index.d.ts +2 -0
  82. package/dist/types/components/DropZone/DropZone.d.ts +15 -0
  83. package/dist/types/components/DropZone/index.d.ts +2 -0
  84. package/dist/types/components/Fab/Fab.d.ts +17 -0
  85. package/dist/types/components/Fab/FabShowcase.d.ts +2 -0
  86. package/dist/types/components/Fab/index.d.ts +2 -0
  87. package/dist/types/components/Footer/Footer.d.ts +14 -0
  88. package/dist/types/components/Footer/FooterShowcase.d.ts +2 -0
  89. package/dist/types/components/Footer/index.d.ts +2 -0
  90. package/dist/types/components/Gradient/Gradient.d.ts +38 -0
  91. package/dist/types/components/Gradient/GradientShowcase.d.ts +2 -0
  92. package/dist/types/components/Gradient/gradientUtils.d.ts +185 -0
  93. package/dist/types/components/Gradient/index.d.ts +3 -0
  94. package/dist/types/components/Grid/Grid.d.ts +112 -0
  95. package/dist/types/components/Grid/index.d.ts +1 -0
  96. package/dist/types/components/Header/Header.d.ts +53 -0
  97. package/dist/types/components/Header/index.d.ts +1 -0
  98. package/dist/types/components/Icon/Icon.d.ts +19 -0
  99. package/dist/types/components/Icon/IconShowcase.d.ts +2 -0
  100. package/dist/types/components/Icon/index.d.ts +2 -0
  101. package/dist/types/components/IconBadge/IconBadge.d.ts +10 -0
  102. package/dist/types/components/IconBadge/IconBadgeShowcase.d.ts +2 -0
  103. package/dist/types/components/IconBadge/index.d.ts +2 -0
  104. package/dist/types/components/Input/Input.d.ts +47 -0
  105. package/dist/types/components/Input/index.d.ts +2 -0
  106. package/dist/types/components/LinearProgress/LinearProgress.d.ts +9 -0
  107. package/dist/types/components/LinearProgress/LinearProgressShowcase.d.ts +2 -0
  108. package/dist/types/components/LinearProgress/index.d.ts +2 -0
  109. package/dist/types/components/Link/Link.d.ts +16 -0
  110. package/dist/types/components/Link/LinkShowcase.d.ts +2 -0
  111. package/dist/types/components/Link/index.d.ts +2 -0
  112. package/dist/types/components/List/List.d.ts +55 -0
  113. package/dist/types/components/List/ListShowcase.d.ts +2 -0
  114. package/dist/types/components/List/index.d.ts +2 -0
  115. package/dist/types/components/MainLayout/MainLayout.d.ts +28 -0
  116. package/dist/types/components/MainLayout/index.d.ts +1 -0
  117. package/dist/types/components/Menu/Menu.d.ts +37 -0
  118. package/dist/types/components/Menu/MenuShowcase.d.ts +2 -0
  119. package/dist/types/components/Menu/index.d.ts +2 -0
  120. package/dist/types/components/Modal/Modal.d.ts +18 -0
  121. package/dist/types/components/Modal/ModalShowcase.d.ts +2 -0
  122. package/dist/types/components/Modal/index.d.ts +2 -0
  123. package/dist/types/components/NumberField/NumberField.d.ts +22 -0
  124. package/dist/types/components/NumberField/NumberFieldShowcase.d.ts +2 -0
  125. package/dist/types/components/NumberField/index.d.ts +2 -0
  126. package/dist/types/components/Pagination/Pagination.d.ts +17 -0
  127. package/dist/types/components/Pagination/PaginationShowcase.d.ts +2 -0
  128. package/dist/types/components/Pagination/index.d.ts +2 -0
  129. package/dist/types/components/Paper/Paper.d.ts +111 -0
  130. package/dist/types/components/Paper/index.d.ts +1 -0
  131. package/dist/types/components/Popover/Popover.d.ts +31 -0
  132. package/dist/types/components/Popover/index.d.ts +1 -0
  133. package/dist/types/components/PreviewSurface.d.ts +18 -0
  134. package/dist/types/components/Radio/Radio.d.ts +55 -0
  135. package/dist/types/components/Radio/RadioShowcase.d.ts +2 -0
  136. package/dist/types/components/Radio/index.d.ts +2 -0
  137. package/dist/types/components/Rail/Rail.d.ts +15 -0
  138. package/dist/types/components/Rail/RailShowcase.d.ts +2 -0
  139. package/dist/types/components/Rail/index.d.ts +2 -0
  140. package/dist/types/components/Rating/Rating.d.ts +16 -0
  141. package/dist/types/components/Rating/RatingShowcase.d.ts +2 -0
  142. package/dist/types/components/Rating/index.d.ts +2 -0
  143. package/dist/types/components/Ratio/Ratio.d.ts +20 -0
  144. package/dist/types/components/Ratio/RatioShowcase.d.ts +2 -0
  145. package/dist/types/components/Ratio/index.d.ts +2 -0
  146. package/dist/types/components/SearchField/SearchField.d.ts +19 -0
  147. package/dist/types/components/SearchField/SearchFieldShowcase.d.ts +2 -0
  148. package/dist/types/components/SearchField/index.d.ts +2 -0
  149. package/dist/types/components/Section/Section.d.ts +44 -0
  150. package/dist/types/components/Section/SectionShowcase.d.ts +2 -0
  151. package/dist/types/components/Section/index.d.ts +2 -0
  152. package/dist/types/components/Select/Select.d.ts +23 -0
  153. package/dist/types/components/Select/SelectShowcase.d.ts +2 -0
  154. package/dist/types/components/Select/index.d.ts +2 -0
  155. package/dist/types/components/SettingsPanel.d.ts +2 -0
  156. package/dist/types/components/Sidebar/Sidebar.d.ts +53 -0
  157. package/dist/types/components/Sidebar/index.d.ts +1 -0
  158. package/dist/types/components/Slider/Slider.d.ts +79 -0
  159. package/dist/types/components/Slider/SliderShowcase.d.ts +2 -0
  160. package/dist/types/components/Slider/index.d.ts +2 -0
  161. package/dist/types/components/Snackbar/Snackbar.d.ts +17 -0
  162. package/dist/types/components/Snackbar/SnackbarShowcase.d.ts +2 -0
  163. package/dist/types/components/Snackbar/index.d.ts +2 -0
  164. package/dist/types/components/Spacing/Spacing.d.ts +16 -0
  165. package/dist/types/components/Spacing/index.d.ts +1 -0
  166. package/dist/types/components/SpeedDial/SpeedDial.d.ts +17 -0
  167. package/dist/types/components/SpeedDial/SpeedDialShowcase.d.ts +2 -0
  168. package/dist/types/components/SpeedDial/index.d.ts +2 -0
  169. package/dist/types/components/Stack/Stack.d.ts +52 -0
  170. package/dist/types/components/Stack/StackShowcase.d.ts +2 -0
  171. package/dist/types/components/Stack/index.d.ts +2 -0
  172. package/dist/types/components/Stepper/Stepper.d.ts +33 -0
  173. package/dist/types/components/Stepper/StepperShowcase.d.ts +2 -0
  174. package/dist/types/components/Stepper/index.d.ts +2 -0
  175. package/dist/types/components/Switch/Switch.d.ts +65 -0
  176. package/dist/types/components/Switch/SwitchShowcase.d.ts +2 -0
  177. package/dist/types/components/Switch/index.d.ts +2 -0
  178. package/dist/types/components/Table/Table.d.ts +20 -0
  179. package/dist/types/components/Table/TableShowcase.d.ts +2 -0
  180. package/dist/types/components/Table/index.d.ts +2 -0
  181. package/dist/types/components/Tabs/Tabs.d.ts +51 -0
  182. package/dist/types/components/Tabs/TabsShowcase.d.ts +2 -0
  183. package/dist/types/components/Tabs/index.d.ts +2 -0
  184. package/dist/types/components/Tag/Tag.d.ts +57 -0
  185. package/dist/types/components/Tag/TagShowcase.d.ts +2 -0
  186. package/dist/types/components/Tag/index.d.ts +2 -0
  187. package/dist/types/components/TextField/TextField.d.ts +105 -0
  188. package/dist/types/components/TextField/index.d.ts +1 -0
  189. package/dist/types/components/ToggleButton/ToggleButton.d.ts +94 -0
  190. package/dist/types/components/ToggleButton/index.d.ts +1 -0
  191. package/dist/types/components/ToggleButtonGroup/ToggleButtonGroup.d.ts +48 -0
  192. package/dist/types/components/Toolbar/Toolbar.d.ts +14 -0
  193. package/dist/types/components/Toolbar/ToolbarShowcase.d.ts +2 -0
  194. package/dist/types/components/Toolbar/index.d.ts +2 -0
  195. package/dist/types/components/Tooltip/Tooltip.d.ts +20 -0
  196. package/dist/types/components/Tooltip/TooltipShowcase.d.ts +2 -0
  197. package/dist/types/components/Tooltip/index.d.ts +2 -0
  198. package/dist/types/components/TreeView/TreeBranch.d.ts +14 -0
  199. package/dist/types/components/TreeView/TreeView.d.ts +82 -0
  200. package/dist/types/components/TreeView/TreeViewShowcase.d.ts +2 -0
  201. package/dist/types/components/TreeView/index.d.ts +3 -0
  202. package/dist/types/components/Typography/Typography.d.ts +492 -0
  203. package/dist/types/components/Typography/TypographyShowcase.d.ts +2 -0
  204. package/dist/types/components/Typography/index.d.ts +2 -0
  205. package/dist/types/components/_a11y/ContrastCheck.d.ts +15 -0
  206. package/dist/types/components/_bevelPresets.d.ts +92 -0
  207. package/dist/types/components/_shadows.d.ts +32 -0
  208. package/dist/types/components/index.d.ts +74 -0
  209. package/dist/types/theme/useThemeMode.d.ts +4 -0
  210. package/docs/components.md +797 -0
  211. package/docs/getting-started.md +409 -0
  212. package/docs/token-system.md +468 -0
  213. package/package.json +126 -0
  214. package/public/styles/Dark-Mode.css +13867 -0
  215. package/public/styles/Light-Mode.css +14091 -0
  216. package/public/styles/README.md +93 -0
  217. package/public/styles/base.css +261 -0
  218. package/public/styles/core.css +378 -0
  219. package/public/styles/foundation.css +72 -0
  220. package/public/styles/styles.css +6 -0
  221. package/public/styles/theme.js +234 -0
  222. package/public/styles/theme.json +12 -0
  223. package/public/styles/typography-tokens.css +720 -0
@@ -0,0 +1,378 @@
1
+ /* ============================================================================
2
+ * core.css — STATIC: lib-owned, do not regenerate per design system.
3
+ * Platform-aware font overrides referencing brand tokens via var().
4
+ * Edit by hand; do NOT overwrite from studio exports.
5
+ * ============================================================================ */
6
+
7
+ /* Any region that carries data-surface paints from the surface tokens it
8
+ exposes. This is the "data-surface is the only way to change a region's
9
+ background" contract — a consumer just sets data-surface="…" and the
10
+ region paints itself. No more inline `background: var(--Background)` on
11
+ every section wrapper. */
12
+ [data-surface] {
13
+ background: var(--Background);
14
+ color: var(--Text);
15
+ }
16
+
17
+ /* NO bare-element appearance rule here, deliberately.
18
+ *
19
+ * This previously read `body, section { background; color }` so the app root
20
+ * would paint without a wrapper. Two problems:
21
+ *
22
+ * 1. `section` matches at ANY depth, so every <section> in a consumer's app
23
+ * got painted whether or not they opted in — including sections they had
24
+ * styled themselves, and sections inside a region whose surface they had
25
+ * already chosen.
26
+ * 2. Painting <body> on import is the exact thing the design system contract
27
+ * forbids: loading the CSS into an existing app silently changed its
28
+ * background and text colour.
29
+ *
30
+ * The opt-in already exists and is one attribute. The [data-surface] rule above
31
+ * covers it, so a consumer writes:
32
+ *
33
+ * <body data-surface="Surface">
34
+ *
35
+ * and gets the same paint, by asking for it. See "Page setup" in CLAUDE.md. */
36
+
37
+ :root {
38
+ --Body-Font-Family: var(--Set-Font-Family-Body);
39
+ --Font-Family-Body: var(--Set-Font-Family-Body);
40
+ --Header-Font-Family: var(--Set-Font-Family-Header);
41
+ --Font-Family-Header: var(--Set-Font-Family-Header);
42
+ --Header-Font-Weight: var(--Set-Font-Family-Header-Weight);
43
+ --Decorative-Font-Family: var(--Set-Font-Family-Decorative);
44
+ --Decorative-Font-Weight: var(--Set-Font-Family-Decorative-Weight);
45
+ --Body-Font-Weight: var(--Set-Font-Family-Body-Weight);
46
+ --Body-Semibold-Font-Weight: var(--Set-Font-Family-Body-Semibold-Weight);
47
+ --Body-Bold-Font-Weight: var(--Set-Font-Family-Body-Bold-Weight);
48
+ --Cognitive-Multiplier: 1;
49
+ --Dropshadow-Color: 20, 20, 20; /* fallback */
50
+ /* Effect-Level-0 through Effect-Level-5 now live in base.css alongside
51
+ the other component tokens. --Dropshadow-Color is still overridden
52
+ per-theme in Light/Dark-Mode.css. */
53
+ }
54
+
55
+ /* Platform Font Overrides */
56
+ [data-platform="IOS-Mobile"][data-fonts] {
57
+ --Body-Font-Family: var(--Set-Font-Family-Body);
58
+ --Header-Font-Family: var(--Set-Font-Family-Header);
59
+ --Header-Font-Weight: var(--Set-Font-Family-Header-Weight);
60
+ --Decorative-Font-Family: var(--Set-Font-Family-Decorative);
61
+ --Decorative-Font-Weight: var(--Set-Font-Family-Decorative-Weight);
62
+ --Body-Font-Weight: var(--Set-Font-Family-Body-Weight);
63
+ --Body-Semibold-Font-Weight: var(--Set-Font-Family-Body-Semibold-Weight);
64
+ --Body-Bold-Font-Weight: var(--Set-Font-Family-Body-Bold-Weight);
65
+ }
66
+ [data-platform="IOS-Tablet"][data-fonts] {
67
+ --Body-Font-Family: var(--Set-Font-Family-Body);
68
+ --Header-Font-Family: var(--Set-Font-Family-Header);
69
+ --Header-Font-Weight: var(--Set-Font-Family-Header-Weight);
70
+ --Decorative-Font-Family: var(--Set-Font-Family-Decorative);
71
+ --Decorative-Font-Weight: var(--Set-Font-Family-Decorative-Weight);
72
+ --Body-Font-Weight: var(--Set-Font-Family-Body-Weight);
73
+ --Body-Semibold-Font-Weight: var(--Set-Font-Family-Body-Semibold-Weight);
74
+ --Body-Bold-Font-Weight: var(--Set-Font-Family-Body-Bold-Weight);
75
+ }
76
+ [data-platform="Android"][data-fonts] {
77
+ --Body-Font-Family: var(--Set-Font-Family-Body);
78
+ --Header-Font-Family: var(--Set-Font-Family-Header);
79
+ --Header-Font-Weight: var(--Set-Font-Family-Header-Weight);
80
+ --Decorative-Font-Family: var(--Set-Font-Family-Decorative);
81
+ --Decorative-Font-Weight: var(--Set-Font-Family-Decorative-Weight);
82
+ --Body-Font-Weight: var(--Set-Font-Family-Body-Weight);
83
+ --Body-Semibold-Font-Weight: var(--Set-Font-Family-Body-Semibold-Weight);
84
+ --Body-Bold-Font-Weight: var(--Set-Font-Family-Body-Bold-Weight);
85
+ }
86
+
87
+ [data-platform="IOS-Mobile"][data-fonts="Default"] {
88
+ --Body-Font-Family: "SF Pro";
89
+ --Header-Font-Family: "SF Pro";
90
+ --Header-Font-Weight: var(--Set-Font-Family-Header-Weight);
91
+ --Decorative-Font-Family: "SF Pro";
92
+ --Decorative-Font-Weight: var(--Set-Font-Family-Decorative-Weight);
93
+ --Body-Font-Weight: var(--Set-Font-Family-Body-Weight);
94
+ --Body-Semibold-Font-Weight: var(--Set-Font-Family-Body-Semibold-Weight);
95
+ --Body-Bold-Font-Weight: var(--Set-Font-Family-Body-Bold-Weight);
96
+ }
97
+ [data-platform="IOS-Tablet"][data-fonts="Default"] {
98
+ --Body-Font-Family: "SF Pro";
99
+ --Header-Font-Family: "SF Pro";
100
+ --Header-Font-Weight: var(--Set-Font-Family-Header-Weight);
101
+ --Decorative-Font-Family: "SF Pro";
102
+ --Decorative-Font-Weight: var(--Set-Font-Family-Decorative-Weight);
103
+ --Body-Font-Weight: var(--Set-Font-Family-Body-Weight);
104
+ --Body-Semibold-Font-Weight: var(--Set-Font-Family-Body-Semibold-Weight);
105
+ --Body-Bold-Font-Weight: var(--Set-Font-Family-Body-Bold-Weight);
106
+ }
107
+ [data-platform="Android"][data-fonts="Default"] {
108
+ --Body-Font-Family: "Roboto";
109
+ --Header-Font-Family: "Roboto";
110
+ --Header-Font-Weight: var(--Set-Font-Family-Header-Weight);
111
+ --Decorative-Font-Family: "Roboto";
112
+ --Decorative-Font-Weight: var(--Set-Font-Family-Decorative-Weight);
113
+ --Body-Font-Weight: var(--Set-Font-Family-Body-Weight);
114
+ --Body-Semibold-Font-Weight: var(--Set-Font-Family-Body-Semibold-Weight);
115
+ --Body-Bold-Font-Weight: var(--Set-Font-Family-Body-Bold-Weight);
116
+ }
117
+
118
+ /* Desktop Defaults */
119
+ :root {
120
+ --Container-Padding: var(--Sizing-4);
121
+ --Platform-Label: "Desktop";
122
+ --Button-Height: 32px;
123
+ --Min-Button-Width: 80px;
124
+ --Set-Font-Family-Header: 'Prata', serif;
125
+ --Set-Font-Family-Header-Weight: 200;
126
+ --Set-Font-Family-Decorative: 'Permanent Marker', sans-serif;
127
+ --Set-Font-Family-Body: 'Roboto', sans-serif;
128
+ --Set-Font-Family-Body-Weight: 400;
129
+ --Set-Font-Family-Body-Semibold-Weight: 600;
130
+ --Set-Font-Family-Body-Bold-Weight: 700;
131
+
132
+ /* ── The four faces ───────────────────────────────────────────────────────
133
+ Display is the expressive face, Header the heading face, Eyebrow the
134
+ eyebrow/overline face, Body everything else. A studio export overrides
135
+ the --Set-* inputs; the --Font-Family-* tokens below are what components
136
+ read. The defaults here keep this design system rendering exactly as it
137
+ did before the faces existed: Display followed Header, Eyebrow followed
138
+ Decorative. A design system generated by the studio ships its own values
139
+ — its Eyebrow default is the OS UI stack, not Decorative. */
140
+ --Set-Font-Family-Display: var(--Set-Font-Family-Decorative);
141
+ --Set-Font-Family-Eyebrow: var(--Set-Font-Family-Decorative);
142
+
143
+ --Font-Family-Display: var(--Set-Font-Family-Display, var(--Set-Font-Family-Header));
144
+ --Font-Family-Eyebrow: var(--Set-Font-Family-Eyebrow, var(--Decorative-Font-Family));
145
+
146
+ /* Face weights */
147
+ --Font-Weight-Display: var(--Set-Font-Family-Decorative-Weight, 400);
148
+ --Font-Weight-Header: var(--Set-Font-Family-Header-Weight);
149
+ --Font-Weight-Eyebrow: 600;
150
+ --Font-Weight-Body: var(--Set-Font-Family-Body-Weight);
151
+
152
+ /* ── Variable-font axes — Header face only ────────────────────────────────
153
+ Neutral defaults: this design system's header face is static, so the
154
+ composed value is `normal` and nothing is applied. A design system on a
155
+ variable face (Google Sans Flex and friends) overrides BOTH the axis
156
+ tokens and the composed value — the studio always emits the pair.
157
+ wght is deliberately absent: font-weight already carries it, and
158
+ declaring it twice lets the two disagree. */
159
+ --Font-Width-Header: 100;
160
+ --Font-Optical-Size-Header: 16;
161
+ --Font-Slant-Header: 0;
162
+ --Font-Grade-Header: 0;
163
+ --Font-Roundness-Header: 0;
164
+ --Font-Variation-Header: normal;
165
+
166
+ /* ── Display ramp ─────────────────────────────────────────────────────────
167
+ Large and Medium belong in a header or hero area; Small is the step sized
168
+ to sit inside a component. Mirrors the Desktop ramp in
169
+ typography-tokens.css so display styles resolve without data-platform. */
170
+ --Display-Large-Font-Size: 48px;
171
+ --Display-Large-Font-Weight: 600;
172
+ --Display-Large-Line-Height: 48px;
173
+ --Display-Large-Letter-Spacing: 0px;
174
+ --Display-Medium-Font-Size: 45px;
175
+ --Display-Medium-Font-Weight: 600;
176
+ --Display-Medium-Line-Height: 45px;
177
+ --Display-Medium-Letter-Spacing: 0px;
178
+ --Display-Small-Font-Size: 42px;
179
+ --Display-Small-Font-Weight: 600;
180
+ --Display-Small-Line-Height: 42px;
181
+ --Display-Small-Letter-Spacing: 0px;
182
+
183
+ --Body-Font-Size: 16px;
184
+ --Body-Letter-Spacing: 0;
185
+ --Body-Line-Height: 24px;
186
+ --Body-Paragraph-Spacing: 16px;
187
+ --H1-Font-Size: 40px;
188
+ --H1-Line-Height: 40px;
189
+ --H1-Letter-Spacing: -1px;
190
+ --H1-Paragraph-Spacing: 32px;
191
+ --H2-Font-Size: 32px;
192
+ --H2-Line-Height: 40px;
193
+ --H2-Letter-Spacing: -1px;
194
+ --H2-Paragraph-Spacing: 24px;
195
+ --H3-Font-Size: 28px;
196
+ --H3-Line-Height: 36px;
197
+ --H3-Letter-Spacing: -.5px;
198
+ --H3-Paragraph-Spacing: 20px;
199
+ --H4-Font-Size: 24px;
200
+ --H4-Line-Height: 32px;
201
+ --H4-Letter-Spacing: -.5px;
202
+ --H4-Paragraph-Spacing: 16px;
203
+ --H5-Font-Size: 20px;
204
+ --H5-Line-Height: 28px;
205
+ --H5-Letter-Spacing: 0px;
206
+ --H5-Paragraph-Spacing: 12px;
207
+ --H6-Font-Size: 18px;
208
+ --H6-Line-Height: 26px;
209
+ --H6-Letter-Spacing: 0px;
210
+ --H6-Paragraph-Spacing: 12px;
211
+ --Label-Font-Size: 14px;
212
+ --Label-Line-Height: 20px;
213
+ --Label-Letter-Spacing: 0px;
214
+ --Label-Paragraph-Spacing: 4px;
215
+ --Button-Font-Size: 16px;
216
+ --Button-Line-Height: 20px;
217
+ }
218
+
219
+ /* iOS Mobile */
220
+ [data-platform="IOS-Mobile"] {
221
+ --Container-Padding: var(--Sizing-2);
222
+ --Platform-Label: "IOS-Mobile";
223
+ --Button-Height: 44px;
224
+ --Min-Stack-Gap: 10px;
225
+ --Body-Font-Size: 16px;
226
+ --Body-Letter-Spacing: -.5px;
227
+ --Body-Line-Height: 24px;
228
+ --Body-Paragraph-Spacing: 16px;
229
+ --H1-Font-Size: 32px;
230
+ --H1-Line-Height: 40px;
231
+ --H1-Letter-Spacing: -1px;
232
+ --H1-Paragraph-Spacing: 24px;
233
+ --H2-Font-Size: 28px;
234
+ --H2-Line-Height: 32px;
235
+ --H2-Letter-Spacing: -.5px;
236
+ --H2-Paragraph-Spacing: 20px;
237
+ --H3-Font-Size: 24px;
238
+ --H3-Line-Height: 32px;
239
+ --H3-Letter-Spacing: -.5px;
240
+ --H3-Paragraph-Spacing: 16px;
241
+ --H4-Font-Size: 20px;
242
+ --H4-Line-Height: 28px;
243
+ --H4-Letter-Spacing: 0px;
244
+ --H4-Paragraph-Spacing: 12px;
245
+ --H5-Font-Size: 18px;
246
+ --H5-Line-Height: 26px;
247
+ --H5-Letter-Spacing: 0px;
248
+ --H5-Paragraph-Spacing: 12px;
249
+ --H6-Font-Size: 16px;
250
+ --H6-Line-Height: 24px;
251
+ --H6-Letter-Spacing: .5px;
252
+ --H6-Paragraph-Spacing: 8px;
253
+ --Label-Font-Size: 13px;
254
+ --Label-Line-Height: 18px;
255
+ --Label-Letter-Spacing: 0px;
256
+ --Label-Paragraph-Spacing: 4px;
257
+ --Button-Font-Size: 16px;
258
+ --Button-Line-Height: 20px;
259
+ }
260
+
261
+ /* iOS Tablet */
262
+ [data-platform="IOS-Tablet"] {
263
+ --Container-Padding: var(--Sizing-3);
264
+ --Platform-Label: "IOS-Tablet";
265
+ --Button-Height: 48px;
266
+ --Min-Stack-Gap: 10px;
267
+ --Body-Font-Size: 17px;
268
+ --Body-Letter-Spacing: -.5px;
269
+ --Body-Line-Height: 25.5px;
270
+ --Body-Paragraph-Spacing: 16px;
271
+ --H1-Font-Size: 40px;
272
+ --H1-Line-Height: 48px;
273
+ --H1-Letter-Spacing: -1.5px;
274
+ --H1-Paragraph-Spacing: 32px;
275
+ --H2-Font-Size: 32px;
276
+ --H2-Line-Height: 40px;
277
+ --H2-Letter-Spacing: -1px;
278
+ --H2-Paragraph-Spacing: 24px;
279
+ --H3-Font-Size: 28px;
280
+ --H3-Line-Height: 36px;
281
+ --H3-Letter-Spacing: -.5px;
282
+ --H3-Paragraph-Spacing: 20px;
283
+ --H4-Font-Size: 24px;
284
+ --H4-Line-Height: 32px;
285
+ --H4-Letter-Spacing: -.5px;
286
+ --H4-Paragraph-Spacing: 16px;
287
+ --H5-Font-Size: 20px;
288
+ --H5-Line-Height: 28px;
289
+ --H5-Letter-Spacing: 0px;
290
+ --H5-Paragraph-Spacing: 12px;
291
+ --H6-Font-Size: 18px;
292
+ --H6-Line-Height: 26px;
293
+ --H6-Letter-Spacing: 0px;
294
+ --H6-Paragraph-Spacing: 12px;
295
+ --Label-Font-Size: 14px;
296
+ --Label-Line-Height: 20px;
297
+ --Label-Letter-Spacing: 0px;
298
+ --Label-Paragraph-Spacing: 4px;
299
+ --Button-Font-Size: 17px;
300
+ --Button-Line-Height: 21px;
301
+ }
302
+
303
+ /* Android */
304
+ [data-platform="Android"] {
305
+ --Container-Padding: var(--Sizing-2);
306
+ --Platform-Label: "Android";
307
+ --Button-Height: 48px;
308
+ --Min-Stack-Gap: 12px;
309
+ --Body-Font-Size: 16px;
310
+ --Body-Line-Height: 24px;
311
+ --Body-Letter-Spacing: .5px;
312
+ --Body-Paragraph-Spacing: 16px;
313
+ --H1-Font-Size: 36px;
314
+ --H1-Line-Height: 40px;
315
+ --H1-Letter-Spacing: -.5px;
316
+ --H1-Paragraph-Spacing: 20px;
317
+ --H2-Font-Size: 28px;
318
+ --H2-Line-Height: 36px;
319
+ --H2-Letter-Spacing: -.5px;
320
+ --H2-Paragraph-Spacing: 20px;
321
+ --H3-Font-Size: 24px;
322
+ --H3-Line-Height: 32px;
323
+ --H3-Letter-Spacing: 0px;
324
+ --H3-Paragraph-Spacing: 16px;
325
+ --H4-Font-Size: 20px;
326
+ --H4-Line-Height: 28px;
327
+ --H4-Letter-Spacing: 0px;
328
+ --H4-Paragraph-Spacing: 12px;
329
+ --H5-Font-Size: 18px;
330
+ --H5-Line-Height: 26px;
331
+ --H5-Letter-Spacing: 0px;
332
+ --H5-Paragraph-Spacing: 12px;
333
+ --H6-Font-Size: 16px;
334
+ --H6-Line-Height: 24px;
335
+ --H6-Letter-Spacing: .5px;
336
+ --H6-Paragraph-Spacing: 8px;
337
+ --Label-Font-Size: 13px;
338
+ --Label-Line-Height: 18px;
339
+ --Label-Letter-Spacing: 0px;
340
+ --Label-Paragraph-Spacing: 4px;
341
+ --Button-Font-Size: 16px;
342
+ --Button-Line-Height: 20px;
343
+ }
344
+
345
+ /* Decorative Font Application */
346
+ /* Typography variants: Header uses body font by default, Decorative Header uses decorative font */
347
+
348
+ [data-surface="Surface"] [data-decorative],
349
+ [data-surface="Surface-Dim"] [data-decorative],
350
+ [data-surface="Surface-Dimmest"] [data-decorative],
351
+ [data-surface="Surface-Bright"] [data-decorative],
352
+ [data-surface="Surface-Brightest"] [data-decorative] {
353
+ --Font-Family-Header: var(--Set-Font-Family-Header);
354
+ --Font-Family-Header-Weight: var(--Set-Font-Family-Header-Weight);
355
+ --Font-Family-Overline: var(--Set-Font-Family-Decorative);
356
+ }
357
+
358
+ /* Explicit decorative variants — always available regardless of mode */
359
+ [data-typography="decorative-header"] {
360
+ font-family: var(--Set-Font-Family-Header);
361
+ font-weight: var(--Set-Font-Family-Header-Weight);
362
+ }
363
+ [data-typography="decorative-overline"] {
364
+ font-family: var(--Set-Font-Family-Decorative);
365
+ }
366
+
367
+ /* Cognitive Accessibility Overrides */
368
+ [data-cognitive="Dyslexia"] {
369
+ --Cognitive-Multiplier: 1.5;
370
+ --Body-Font-Family: "OpenDyslexic";
371
+ --Body-Font-Weight: 400;
372
+ --Body-Semibold-Font-Weight: 700;
373
+ --Body-Bold-Font-Weight: 700;
374
+ }
375
+
376
+ [data-cognitive="ADHD"] {
377
+ --Cognitive-Multiplier: 1.5;
378
+ }
@@ -0,0 +1,72 @@
1
+ :root {
2
+
3
+ /* Button */
4
+ --Button-Radius: 4px;
5
+ --Button-Icon-Radius: 4px;
6
+ --Button-Height: 36px;
7
+ --Small-Button-Height: 24px;
8
+ --Large-Button-Height: 56px;
9
+ --Button-Min-Width: 60px;
10
+ --Button-Bevel: 0;
11
+ --Button-Bevel-Px: 0px;
12
+ --Button-Bevel-Opacity: 0.5;
13
+ --Button-Bevel-Shadow: none;
14
+ --Style-Border-Radius: var(--Button-Radius);
15
+
16
+ /* Card */
17
+ --Card-Radius: 8px;
18
+ --Card-Focus-Radius: 11px;
19
+
20
+ /* Input — used by TextField, Select, ListItem (when clickable),
21
+ and any element whose chrome reads as a tappable input row.
22
+ --Input-Inner-Focus-Visible is the corner radius for the inset
23
+ focus ring; it's the input radius minus 1 so the inset 3px-thick
24
+ focus indicator visually matches the chrome's outer corners. */
25
+ --Input-Radius: 4px;
26
+ --Input-Inner-Focus-Visible: calc(var(--Input-Radius) - 1px);
27
+ --Card-Padding: 16px;
28
+ --Style-Gradient-Color-1: var(--Buttons-Primary-Button);
29
+ --Style-Gradient-Color-2: var(--Buttons-Primary-Button);
30
+ --Style-Gradient-Angle: 0;
31
+
32
+ /* Positive sizing scale. The whole-number sequence steps by 8px
33
+ through 16 (covering common spacing + element-sizing needs), then
34
+ jumps to 20 (=160px) and 30 (=240px) for layout-level sizes. The
35
+ fractional tokens (Quarter, Half, 1-and-Half, 2-and-Half) plug the
36
+ 2/4/12/20px gaps used by lab-spacing and inset-positioning rules. */
37
+ --Sizing-Quarter: 2px;
38
+ --Sizing-Half: 4px;
39
+ --Sizing-1: 8px;
40
+ --Sizing-1-and-Half: 12px;
41
+ --Sizing-2: 16px;
42
+ --Sizing-2-and-Half: 20px;
43
+ --Sizing-3: 24px;
44
+ --Sizing-4: 32px;
45
+ --Sizing-5: 40px;
46
+ --Sizing-6: 48px;
47
+ --Sizing-7: 56px;
48
+ --Sizing-8: 64px;
49
+ --Sizing-9: 72px;
50
+ --Sizing-10: 80px;
51
+ --Sizing-11: 88px;
52
+ --Sizing-12: 96px;
53
+ --Sizing-13: 104px;
54
+ --Sizing-14: 112px;
55
+ --Sizing-15: 120px;
56
+ --Sizing-16: 128px;
57
+ --Sizing-20: 160px;
58
+ --Sizing-30: 240px;
59
+
60
+ /* Negative sizing scale. Used by overlap/inset/negative-margin rules
61
+ (e.g. pulling a card edge into a stage's padding, hanging a label
62
+ into a gutter). Sizing-Negative-Quarter (-2px) is kept for the
63
+ hairline-overlap case even though it's not in the Figma variable
64
+ set — removing it would break consumers; adding it to Figma later
65
+ is a no-op. */
66
+ --Sizing-Negative-Quarter: -2px;
67
+ --Sizing-Negative-Half: -4px;
68
+ --Sizing-Negative-1: -8px;
69
+ --Sizing-Negative-1-and-Half:-12px;
70
+ --Sizing-Negative-2: -16px;
71
+ --Min-Stack-Gap: 0px;
72
+ }
@@ -0,0 +1,6 @@
1
+ /* ============================================================================
2
+ * styles.css — STATIC: lib-owned, do not regenerate per design system.
3
+ * Final overrides slot (loads last). Currently empty — add hand-edited
4
+ * overrides here, NOT in any of the regenerated files.
5
+ * ============================================================================ */
6
+ /* Overrides */
@@ -0,0 +1,234 @@
1
+ import { createTheme } from '@mui/material/styles';
2
+
3
+ const theme = createTheme({
4
+ palette: {
5
+ primary: {
6
+ main: 'var(--Primary-Color-11)',
7
+ light: 'var(--Hover-Primary-Color-11)',
8
+ lighter: 'var(--Hover-Primary-Color-11)',
9
+ dark: 'var(--Active-Primary-Color-11)',
10
+ darker: 'var(--Active-Primary-Color-11)',
11
+ contrastText: 'var(--Text-Primary-Color-11)',
12
+ },
13
+
14
+ secondary: {
15
+ main: 'var(--Secondary-Color-11)',
16
+ light: 'var(--Hover-Secondary-Color-11)',
17
+ darker: 'var(--Active-Secondary-Color-11)',
18
+ contrastText: 'var(--Text-Secondary-Color-11)',
19
+ },
20
+
21
+ tertiary: {
22
+ main: 'var(--Tertiary-Color-11)',
23
+ light: 'var(--Hover-Tertiary-Color-11)',
24
+ darker: 'var(--Active-Tertiary-Color-11)',
25
+ contrastText: 'var(--Text-Tertiary-Color-11)',
26
+ },
27
+
28
+ error: {
29
+ main: 'var(--Error-Color-11)',
30
+ light: 'var(--Hover-Error-Color-11)',
31
+ dark: 'var(--Active-Error-Color-11)',
32
+ contrastText: 'var(--Text-Error-Color-11)',
33
+ },
34
+
35
+ warning: {
36
+ main: 'var(--Warning-Color-11)',
37
+ light: 'var(--Hover-Warning-Color-11)',
38
+ dark: 'var(--Active-Warning-Color-11)',
39
+ contrastText: 'var(--Text-Warning-Color-11)',
40
+ },
41
+
42
+ info: {
43
+ main: 'var(--Info-Color-11)',
44
+ light: 'var(--Hover-Info-Color-11)',
45
+ dark: 'var(--Active-Info-Color-11)',
46
+ contrastText: 'var(--Text-Info-Color-11)',
47
+ },
48
+
49
+ success: {
50
+ main: 'var(--Success-Color-11)',
51
+ light: 'var(--Hover-Success-Color-11)',
52
+ dark: 'var(--Active-Success-Color-11)',
53
+ contrastText: 'var(--Text-Success-Color-11)',
54
+ },
55
+
56
+ grey: {
57
+ 50: 'var(--Neutral-Color-12)',
58
+ 100: 'var(--Neutral-Color-12)',
59
+ 200: 'var(--Neutral-Color-11)',
60
+ 300: 'var(--Neutral-Color-10)',
61
+ 400: 'var(--Neutral-Color-9)',
62
+ 500: 'var(--Neutral-Color-8)',
63
+ 600: 'var(--Neutral-Color-7)',
64
+ 700: 'var(--Neutral-Color-6)',
65
+ 800: 'var(--Neutral-Color-5)',
66
+ 900: 'var(--Neutral-Color-4)',
67
+ A100: 'var(--Neutral-Color-3)',
68
+ A200: 'var(--Neutral-Color-2)',
69
+ A400: 'var(--Neutral-Color-1)',
70
+ },
71
+
72
+ background: {
73
+ default: 'var(--Background)',
74
+ paper: 'var(--Container)',
75
+ },
76
+
77
+ text: {
78
+ primary: 'var(--Text)',
79
+ secondary: 'var(--Text-Quiet)',
80
+ disabled: 'color-mix(in oklab, var(--Text), 37%, var(--Background))'
81
+ },
82
+
83
+ action: {
84
+ active: 'var(--Buttons-Primary-Button)',
85
+ hover: 'var(--Buttons-Primary-Hover)',
86
+ selected: 'var(--Buttons-Primary-Active)',
87
+ disabled: 'color-mix(in oklab, var(--Buttons-Primary-Button), 37%, var(--Background))',
88
+ disabledBackground: 'var(--Neutral-Color-11)',
89
+ focus: 'var(--Buttons-Primary-Active)',
90
+ },
91
+
92
+ divider: 'var(--Border-Variant)',
93
+ },
94
+
95
+ typography: {
96
+ fontFamily: '"Roboto", "Helvetica", "Arial", sans-serif',
97
+ fontSize: 14,
98
+ fontWeightLight: 300,
99
+ fontWeightRegular: 400,
100
+ fontWeightMedium: 500,
101
+ fontWeightBold: 700,
102
+
103
+ h1: {
104
+ fontSize: '40px',
105
+ fontWeight: 700,
106
+ lineHeight: 1,
107
+ letterSpacing: '-1px',
108
+ },
109
+
110
+ h2: {
111
+ fontSize: '32px',
112
+ fontWeight: 700,
113
+ lineHeight: 1.25,
114
+ letterSpacing: '-1px',
115
+ },
116
+
117
+ h3: {
118
+ fontSize: '28px',
119
+ fontWeight: 700,
120
+ lineHeight: 1.286,
121
+ letterSpacing: '-0.5px',
122
+ },
123
+
124
+ h4: {
125
+ fontSize: '24px',
126
+ fontWeight: 700,
127
+ lineHeight: 1.333,
128
+ letterSpacing: '-0.5px',
129
+ },
130
+
131
+ h5: {
132
+ fontSize: '20px',
133
+ fontWeight: 700,
134
+ lineHeight: 1.4,
135
+ letterSpacing: '0px',
136
+ },
137
+
138
+ h6: {
139
+ fontSize: '18px',
140
+ fontWeight: 700,
141
+ lineHeight: 1.444,
142
+ letterSpacing: '0px',
143
+ },
144
+
145
+ body1: {
146
+ fontSize: '16px',
147
+ fontWeight: 400,
148
+ lineHeight: 1.5,
149
+ letterSpacing: '0px',
150
+ },
151
+
152
+ body2: {
153
+ fontSize: '14px',
154
+ fontWeight: 400,
155
+ lineHeight: 1.43,
156
+ letterSpacing: '0px',
157
+ },
158
+
159
+ button: {
160
+ fontSize: '16px',
161
+ fontWeight: 600,
162
+ lineHeight: 1.25,
163
+ letterSpacing: '0px',
164
+ textTransform: 'none',
165
+ },
166
+
167
+ caption: {
168
+ fontSize: '12px',
169
+ fontWeight: 400,
170
+ lineHeight: 1.667,
171
+ letterSpacing: '0.4px',
172
+ },
173
+
174
+ overline: {
175
+ fontSize: '12px',
176
+ fontWeight: 600,
177
+ lineHeight: 1.667,
178
+ letterSpacing: '0.5px',
179
+ textTransform: 'uppercase',
180
+ },
181
+
182
+ subtitle1: {
183
+ fontSize: '16px',
184
+ fontWeight: 700,
185
+ lineHeight: 1.5,
186
+ letterSpacing: '0px',
187
+ },
188
+
189
+ subtitle2: {
190
+ fontSize: '14px',
191
+ fontWeight: 600,
192
+ lineHeight: 1.571,
193
+ letterSpacing: '0.1px',
194
+ },
195
+ },
196
+
197
+ spacing: 8,
198
+
199
+ shape: {
200
+ borderRadius: 4,
201
+ },
202
+
203
+ breakpoints: {
204
+ values: {
205
+ xs: 0,
206
+ sm: 600,
207
+ md: 960,
208
+ lg: 1280,
209
+ xl: 1920,
210
+ },
211
+ },
212
+
213
+ components: {
214
+ MuiButton: {
215
+ styleOverrides: {
216
+ root: {
217
+ borderRadius: '8px',
218
+ minHeight: '32px',
219
+ padding: '0 16px',
220
+ textTransform: 'none',
221
+ fontWeight: 600,
222
+ boxShadow: 'none',
223
+ '&:hover': {
224
+ boxShadow: '0 3px 6px rgba(0,0,0,0.15)',
225
+ },
226
+ '&:focus-visible': {
227
+ outline: '2px solid var(--Focus-Visible)',
228
+ outlineOffset: '2px',
229
+ },
230
+ },
231
+ },
232
+ },
233
+ },
234
+ });
@@ -0,0 +1,12 @@
1
+ {
2
+ "foundation": "foundation.css",
3
+ "core": "core.css",
4
+ "lightMode": "Light-Mode.css",
5
+ "darkMode": "Dark-Mode.css",
6
+ "base": "base.css",
7
+ "styles": "styles.css",
8
+ "defaultTheme": "Default",
9
+ "defaultStyle": "Modern",
10
+ "defaultSurface": "Surface",
11
+ "darkTheme": "Neutral-Dark"
12
+ }