@profpowell/vb-design-system 0.1.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 (104) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +122 -0
  3. package/dist/vb-design-system.css +993 -0
  4. package/dist/vb-design-system.js +4482 -0
  5. package/dist/vb-design-system.min.css +1 -0
  6. package/dist/vb-design-system.min.js +513 -0
  7. package/package.json +78 -0
  8. package/src/index.css +21 -0
  9. package/src/index.js +24 -0
  10. package/src/lib/bundle-registry.js +156 -0
  11. package/src/lib/vb-element.js +96 -0
  12. package/src/patterns/do-dont.css +86 -0
  13. package/src/patterns/token-table.css +67 -0
  14. package/src/utils/copy-init.js +287 -0
  15. package/src/web-components/accessibility-specimen/api.json +51 -0
  16. package/src/web-components/accessibility-specimen/logic.js +232 -0
  17. package/src/web-components/accessibility-specimen/static.html +41 -0
  18. package/src/web-components/accessibility-specimen/styles.css +156 -0
  19. package/src/web-components/brand-specimen/api.json +37 -0
  20. package/src/web-components/brand-specimen/logic.js +61 -0
  21. package/src/web-components/brand-specimen/static.html +77 -0
  22. package/src/web-components/brand-specimen/styles.css +10 -0
  23. package/src/web-components/breakpoint-specimen/api.json +44 -0
  24. package/src/web-components/breakpoint-specimen/logic.js +186 -0
  25. package/src/web-components/breakpoint-specimen/static.html +38 -0
  26. package/src/web-components/breakpoint-specimen/styles.css +180 -0
  27. package/src/web-components/color-palette/api.json +73 -0
  28. package/src/web-components/color-palette/logic.js +280 -0
  29. package/src/web-components/color-palette/static.html +54 -0
  30. package/src/web-components/color-palette/styles.css +113 -0
  31. package/src/web-components/color-picker/_color-utils.js +210 -0
  32. package/src/web-components/component-sampler/api.json +15 -0
  33. package/src/web-components/component-sampler/logic.js +120 -0
  34. package/src/web-components/component-sampler/static.html +47 -0
  35. package/src/web-components/component-sampler/styles.css +9 -0
  36. package/src/web-components/font-pairer/_font-data.js +95 -0
  37. package/src/web-components/font-pairer/api.json +56 -0
  38. package/src/web-components/font-pairer/logic.js +401 -0
  39. package/src/web-components/font-pairer/static.html +9 -0
  40. package/src/web-components/font-pairer/styles.css +10 -0
  41. package/src/web-components/gradient-builder/_gradient-utils.js +54 -0
  42. package/src/web-components/gradient-builder/api.json +63 -0
  43. package/src/web-components/gradient-builder/logic.js +261 -0
  44. package/src/web-components/gradient-builder/static.html +9 -0
  45. package/src/web-components/gradient-builder/styles.css +10 -0
  46. package/src/web-components/icon-set/api.json +39 -0
  47. package/src/web-components/icon-set/logic.js +133 -0
  48. package/src/web-components/icon-set/static.html +36 -0
  49. package/src/web-components/icon-set/styles.css +82 -0
  50. package/src/web-components/icon-specimen/api.json +46 -0
  51. package/src/web-components/icon-specimen/logic.js +67 -0
  52. package/src/web-components/icon-specimen/static.html +39 -0
  53. package/src/web-components/icon-specimen/styles.css +38 -0
  54. package/src/web-components/layout-specimen/api.json +12 -0
  55. package/src/web-components/layout-specimen/logic.js +219 -0
  56. package/src/web-components/layout-specimen/static.html +22 -0
  57. package/src/web-components/layout-specimen/styles.css +95 -0
  58. package/src/web-components/motion-specimen/api.json +54 -0
  59. package/src/web-components/motion-specimen/logic.js +146 -0
  60. package/src/web-components/motion-specimen/static.html +13 -0
  61. package/src/web-components/motion-specimen/styles.css +29 -0
  62. package/src/web-components/palette-generator/_palette-utils.js +133 -0
  63. package/src/web-components/palette-generator/api.json +79 -0
  64. package/src/web-components/palette-generator/logic.js +288 -0
  65. package/src/web-components/palette-generator/static.html +47 -0
  66. package/src/web-components/palette-generator/styles.css +36 -0
  67. package/src/web-components/semantic-palette/_color-math.js +149 -0
  68. package/src/web-components/semantic-palette/api.json +41 -0
  69. package/src/web-components/semantic-palette/logic.js +400 -0
  70. package/src/web-components/semantic-palette/static.html +42 -0
  71. package/src/web-components/semantic-palette/styles.css +20 -0
  72. package/src/web-components/spacing-specimen/api.json +63 -0
  73. package/src/web-components/spacing-specimen/logic.js +132 -0
  74. package/src/web-components/spacing-specimen/static.html +71 -0
  75. package/src/web-components/spacing-specimen/styles.css +58 -0
  76. package/src/web-components/theme-catalog/api.json +14 -0
  77. package/src/web-components/theme-catalog/logic.js +228 -0
  78. package/src/web-components/theme-catalog/static.html +15 -0
  79. package/src/web-components/theme-export/api.json +18 -0
  80. package/src/web-components/theme-export/dtcg-serialize.js +417 -0
  81. package/src/web-components/theme-export/logic.js +201 -0
  82. package/src/web-components/theme-export/static.html +12 -0
  83. package/src/web-components/theme-export/theme-css-parse.js +93 -0
  84. package/src/web-components/theme-import/api.json +14 -0
  85. package/src/web-components/theme-import/catalog/atlassian.tokens.json +303 -0
  86. package/src/web-components/theme-import/catalog/bootstrap.tokens.json +304 -0
  87. package/src/web-components/theme-import/catalog/carbon.tokens.json +301 -0
  88. package/src/web-components/theme-import/catalog/catppuccin-mocha.tokens.json +301 -0
  89. package/src/web-components/theme-import/catalog/govuk.tokens.json +301 -0
  90. package/src/web-components/theme-import/catalog/manifest.json +132 -0
  91. package/src/web-components/theme-import/catalog/material.tokens.json +289 -0
  92. package/src/web-components/theme-import/catalog/salesforce.tokens.json +301 -0
  93. package/src/web-components/theme-import/catalog/tailwind.tokens.json +302 -0
  94. package/src/web-components/theme-import/dtcg-deserialize.js +322 -0
  95. package/src/web-components/theme-import/logic.js +263 -0
  96. package/src/web-components/theme-import/static.html +15 -0
  97. package/src/web-components/token-specimen/api.json +24 -0
  98. package/src/web-components/token-specimen/logic.js +256 -0
  99. package/src/web-components/token-specimen/static.html +47 -0
  100. package/src/web-components/token-specimen/styles.css +10 -0
  101. package/src/web-components/type-specimen/api.json +91 -0
  102. package/src/web-components/type-specimen/logic.js +156 -0
  103. package/src/web-components/type-specimen/static.html +84 -0
  104. package/src/web-components/type-specimen/styles.css +131 -0
@@ -0,0 +1,301 @@
1
+ {
2
+ "color": {
3
+ "primary": {
4
+ "$type": "color",
5
+ "$value": {
6
+ "colorSpace": "srgb",
7
+ "components": [
8
+ 0,
9
+ 0.4392,
10
+ 0.2353
11
+ ],
12
+ "hex": "#00703c"
13
+ }
14
+ },
15
+ "primary-hover": {
16
+ "$type": "color",
17
+ "$value": {
18
+ "colorSpace": "srgb",
19
+ "components": [
20
+ 0,
21
+ 0.3529,
22
+ 0.1882
23
+ ],
24
+ "hex": "#005a30"
25
+ }
26
+ },
27
+ "primary-active": {
28
+ "$type": "color",
29
+ "$value": {
30
+ "colorSpace": "srgb",
31
+ "components": [
32
+ 0,
33
+ 0.2392,
34
+ 0.1216
35
+ ],
36
+ "hex": "#003d1f"
37
+ }
38
+ },
39
+ "secondary": {
40
+ "$type": "color",
41
+ "$value": {
42
+ "colorSpace": "srgb",
43
+ "components": [
44
+ 0.1137,
45
+ 0.4392,
46
+ 0.7216
47
+ ],
48
+ "hex": "#1d70b8"
49
+ }
50
+ },
51
+ "accent": {
52
+ "$type": "color",
53
+ "$value": {
54
+ "colorSpace": "srgb",
55
+ "components": [
56
+ 1,
57
+ 0.8667,
58
+ 0
59
+ ],
60
+ "hex": "#ffdd00"
61
+ }
62
+ },
63
+ "background": {
64
+ "$type": "color",
65
+ "$value": {
66
+ "colorSpace": "srgb",
67
+ "components": [
68
+ 1,
69
+ 1,
70
+ 1
71
+ ],
72
+ "hex": "#ffffff"
73
+ }
74
+ },
75
+ "surface": {
76
+ "$type": "color",
77
+ "$value": {
78
+ "colorSpace": "srgb",
79
+ "components": [
80
+ 1,
81
+ 1,
82
+ 1
83
+ ],
84
+ "hex": "#ffffff"
85
+ }
86
+ },
87
+ "surface-raised": {
88
+ "$type": "color",
89
+ "$value": {
90
+ "colorSpace": "srgb",
91
+ "components": [
92
+ 0.9529,
93
+ 0.949,
94
+ 0.9451
95
+ ],
96
+ "hex": "#f3f2f1"
97
+ }
98
+ },
99
+ "surface-sunken": {
100
+ "$type": "color",
101
+ "$value": {
102
+ "colorSpace": "srgb",
103
+ "components": [
104
+ 0.9725,
105
+ 0.9725,
106
+ 0.9725
107
+ ],
108
+ "hex": "#f8f8f8"
109
+ }
110
+ },
111
+ "border": {
112
+ "$type": "color",
113
+ "$value": {
114
+ "colorSpace": "srgb",
115
+ "components": [
116
+ 0.6941,
117
+ 0.7059,
118
+ 0.7137
119
+ ],
120
+ "hex": "#b1b4b6"
121
+ }
122
+ },
123
+ "border-subtle": {
124
+ "$type": "color",
125
+ "$value": {
126
+ "colorSpace": "srgb",
127
+ "components": [
128
+ 0.8706,
129
+ 0.8784,
130
+ 0.8863
131
+ ],
132
+ "hex": "#dee0e2"
133
+ }
134
+ },
135
+ "text": {
136
+ "$type": "color",
137
+ "$value": {
138
+ "colorSpace": "srgb",
139
+ "components": [
140
+ 0.0431,
141
+ 0.0471,
142
+ 0.0471
143
+ ],
144
+ "hex": "#0b0c0c"
145
+ }
146
+ },
147
+ "text-muted": {
148
+ "$type": "color",
149
+ "$value": {
150
+ "colorSpace": "srgb",
151
+ "components": [
152
+ 0.3137,
153
+ 0.3529,
154
+ 0.3725
155
+ ],
156
+ "hex": "#505a5f"
157
+ }
158
+ },
159
+ "text-on-primary": {
160
+ "$type": "color",
161
+ "$value": {
162
+ "colorSpace": "srgb",
163
+ "components": [
164
+ 1,
165
+ 1,
166
+ 1
167
+ ],
168
+ "hex": "#ffffff"
169
+ }
170
+ },
171
+ "error": {
172
+ "$type": "color",
173
+ "$value": {
174
+ "colorSpace": "srgb",
175
+ "components": [
176
+ 0.8314,
177
+ 0.2078,
178
+ 0.1098
179
+ ],
180
+ "hex": "#d4351c"
181
+ }
182
+ },
183
+ "success": {
184
+ "$type": "color",
185
+ "$value": {
186
+ "colorSpace": "srgb",
187
+ "components": [
188
+ 0,
189
+ 0.4392,
190
+ 0.2353
191
+ ],
192
+ "hex": "#00703c"
193
+ }
194
+ },
195
+ "warning": {
196
+ "$type": "color",
197
+ "$value": {
198
+ "colorSpace": "srgb",
199
+ "components": [
200
+ 0.9569,
201
+ 0.4667,
202
+ 0.2196
203
+ ],
204
+ "hex": "#f47738"
205
+ }
206
+ },
207
+ "info": {
208
+ "$type": "color",
209
+ "$value": {
210
+ "colorSpace": "srgb",
211
+ "components": [
212
+ 0.1137,
213
+ 0.4392,
214
+ 0.7216
215
+ ],
216
+ "hex": "#1d70b8"
217
+ }
218
+ }
219
+ },
220
+ "typography": {
221
+ "family": {
222
+ "sans": {
223
+ "$type": "fontFamily",
224
+ "$value": [
225
+ "GDS Transport",
226
+ "arial",
227
+ "sans-serif"
228
+ ]
229
+ }
230
+ },
231
+ "size": {
232
+ "md": {
233
+ "$type": "dimension",
234
+ "$value": {
235
+ "value": 1.1875,
236
+ "unit": "rem"
237
+ }
238
+ }
239
+ },
240
+ "lineHeight": {
241
+ "normal": {
242
+ "$type": "number",
243
+ "$value": 1.31579
244
+ }
245
+ }
246
+ },
247
+ "border": {
248
+ "radius": {
249
+ "xs": {
250
+ "$type": "dimension",
251
+ "$value": {
252
+ "value": 0,
253
+ "unit": "rem"
254
+ }
255
+ },
256
+ "s": {
257
+ "$type": "dimension",
258
+ "$value": {
259
+ "value": 0,
260
+ "unit": "rem"
261
+ }
262
+ },
263
+ "m": {
264
+ "$type": "dimension",
265
+ "$value": {
266
+ "value": 0,
267
+ "unit": "rem"
268
+ }
269
+ },
270
+ "l": {
271
+ "$type": "dimension",
272
+ "$value": {
273
+ "value": 0,
274
+ "unit": "rem"
275
+ }
276
+ },
277
+ "xl": {
278
+ "$type": "dimension",
279
+ "$value": {
280
+ "value": 0,
281
+ "unit": "rem"
282
+ }
283
+ }
284
+ }
285
+ },
286
+ "$extensions": {
287
+ "com.vanilla-breeze": {
288
+ "spec": "2025.10",
289
+ "vbVersion": "catalog-2026-05-15",
290
+ "catalog": true,
291
+ "source": {
292
+ "name": "GOV.UK Design System",
293
+ "homepage": "https://design-system.service.gov.uk/",
294
+ "tokenSource": "https://design-system.service.gov.uk/styles/colour/",
295
+ "license": "MIT",
296
+ "attribution": "© Crown copyright. GOV.UK Design System (Open Government Licence v3.0).",
297
+ "syncedAt": "2026-05-15"
298
+ }
299
+ }
300
+ }
301
+ }
@@ -0,0 +1,132 @@
1
+ {
2
+ "$schema": "https://vanilla-breeze.com/schemas/dtcg-catalog.schema.json",
3
+ "spec": "2025.10",
4
+ "syncedAt": "2026-05-15",
5
+ "entries": [
6
+ {
7
+ "id": "material",
8
+ "name": "Material Design 3",
9
+ "summary": "Google's open design system. Material You color scheme with elevation surfaces.",
10
+ "homepage": "https://m3.material.io/",
11
+ "source": "https://m3.material.io/styles/color/system/tokens",
12
+ "license": "Apache-2.0",
13
+ "attribution": "© Google LLC. Material is a trademark of Google LLC.",
14
+ "tags": [
15
+ "color-system",
16
+ "elevation",
17
+ "material"
18
+ ],
19
+ "file": "material.tokens.json",
20
+ "syncedAt": "2026-05-15"
21
+ },
22
+ {
23
+ "id": "carbon",
24
+ "name": "IBM Carbon",
25
+ "summary": "IBM's open design system. 14px body, zero radius, 8px grid, IBM Plex.",
26
+ "homepage": "https://carbondesignsystem.com/",
27
+ "source": "https://carbondesignsystem.com/elements/color/tokens/",
28
+ "license": "Apache-2.0",
29
+ "attribution": "© IBM Corporation. Carbon Design System.",
30
+ "tags": [
31
+ "enterprise",
32
+ "tight",
33
+ "plex"
34
+ ],
35
+ "file": "carbon.tokens.json",
36
+ "syncedAt": "2026-05-15"
37
+ },
38
+ {
39
+ "id": "salesforce",
40
+ "name": "Salesforce Lightning",
41
+ "summary": "Salesforce Lightning Design System (SLDS). Trailblazer blue, Salesforce Sans.",
42
+ "homepage": "https://www.lightningdesignsystem.com/",
43
+ "source": "https://www.lightningdesignsystem.com/design-tokens/",
44
+ "license": "BSD-3-Clause",
45
+ "attribution": "© Salesforce, Inc. Lightning Design System.",
46
+ "tags": [
47
+ "enterprise",
48
+ "crm"
49
+ ],
50
+ "file": "salesforce.tokens.json",
51
+ "syncedAt": "2026-05-15"
52
+ },
53
+ {
54
+ "id": "govuk",
55
+ "name": "GOV.UK Design System",
56
+ "summary": "UK Government design system. Black on white, accessible green CTA, GDS Transport.",
57
+ "homepage": "https://design-system.service.gov.uk/",
58
+ "source": "https://design-system.service.gov.uk/styles/colour/",
59
+ "license": "MIT",
60
+ "attribution": "© Crown copyright. GOV.UK Design System (Open Government Licence v3.0).",
61
+ "tags": [
62
+ "government",
63
+ "accessibility",
64
+ "high-contrast"
65
+ ],
66
+ "file": "govuk.tokens.json",
67
+ "syncedAt": "2026-05-15"
68
+ },
69
+ {
70
+ "id": "atlassian",
71
+ "name": "Atlassian Design Tokens",
72
+ "summary": "Atlassian (Jira/Confluence) design tokens. Indigo blue primary, Charlie typeface.",
73
+ "homepage": "https://atlassian.design/",
74
+ "source": "https://atlassian.design/components/tokens/",
75
+ "license": "Apache-2.0",
76
+ "attribution": "© Atlassian Pty Ltd. Atlassian Design System.",
77
+ "tags": [
78
+ "enterprise",
79
+ "productivity"
80
+ ],
81
+ "file": "atlassian.tokens.json",
82
+ "syncedAt": "2026-05-15"
83
+ },
84
+ {
85
+ "id": "tailwind",
86
+ "name": "Tailwind defaults",
87
+ "summary": "Tailwind CSS default palette + spacing. Synthesized from public Tailwind docs.",
88
+ "homepage": "https://tailwindcss.com/",
89
+ "source": "https://tailwindcss.com/docs/customizing-colors",
90
+ "license": "MIT",
91
+ "attribution": "Tailwind CSS — © Tailwind Labs Inc.",
92
+ "tags": [
93
+ "utility",
94
+ "web"
95
+ ],
96
+ "file": "tailwind.tokens.json",
97
+ "syncedAt": "2026-05-15",
98
+ "note": "Tailwind does not publish DTCG natively; this entry is hand-synthesized from default-theme JS."
99
+ },
100
+ {
101
+ "id": "bootstrap",
102
+ "name": "Bootstrap defaults",
103
+ "summary": "Bootstrap 5 default theme. Primary blue, system-ui font, 0.375rem radius.",
104
+ "homepage": "https://getbootstrap.com/",
105
+ "source": "https://getbootstrap.com/docs/5.3/customize/color/",
106
+ "license": "MIT",
107
+ "attribution": "Bootstrap — © The Bootstrap Authors.",
108
+ "tags": [
109
+ "framework",
110
+ "web"
111
+ ],
112
+ "file": "bootstrap.tokens.json",
113
+ "syncedAt": "2026-05-15",
114
+ "note": "Bootstrap does not publish DTCG natively; this entry is hand-synthesized from _variables.scss."
115
+ },
116
+ {
117
+ "id": "catppuccin-mocha",
118
+ "name": "Catppuccin Mocha",
119
+ "summary": "The dark Catppuccin flavor. Soothing pastel theme widely used in dev tooling.",
120
+ "homepage": "https://catppuccin.com/",
121
+ "source": "https://github.com/catppuccin/catppuccin/blob/main/docs/style-guide.md",
122
+ "license": "MIT",
123
+ "attribution": "Catppuccin — © Catppuccin Org.",
124
+ "tags": [
125
+ "dark",
126
+ "developer"
127
+ ],
128
+ "file": "catppuccin-mocha.tokens.json",
129
+ "syncedAt": "2026-05-15"
130
+ }
131
+ ]
132
+ }
@@ -0,0 +1,289 @@
1
+ {
2
+ "color": {
3
+ "primary": {
4
+ "$type": "color",
5
+ "$value": {
6
+ "colorSpace": "srgb",
7
+ "components": [
8
+ 0.4039,
9
+ 0.3137,
10
+ 0.6431
11
+ ],
12
+ "hex": "#6750a4"
13
+ }
14
+ },
15
+ "primary-hover": {
16
+ "$type": "color",
17
+ "$value": {
18
+ "colorSpace": "srgb",
19
+ "components": [
20
+ 0.4941,
21
+ 0.4078,
22
+ 0.7176
23
+ ],
24
+ "hex": "#7e68b7"
25
+ }
26
+ },
27
+ "secondary": {
28
+ "$type": "color",
29
+ "$value": {
30
+ "colorSpace": "srgb",
31
+ "components": [
32
+ 0.3843,
33
+ 0.3569,
34
+ 0.4431
35
+ ],
36
+ "hex": "#625b71"
37
+ }
38
+ },
39
+ "accent": {
40
+ "$type": "color",
41
+ "$value": {
42
+ "colorSpace": "srgb",
43
+ "components": [
44
+ 0.4902,
45
+ 0.3216,
46
+ 0.3765
47
+ ],
48
+ "hex": "#7d5260"
49
+ }
50
+ },
51
+ "background": {
52
+ "$type": "color",
53
+ "$value": {
54
+ "colorSpace": "srgb",
55
+ "components": [
56
+ 1,
57
+ 0.9843,
58
+ 0.9961
59
+ ],
60
+ "hex": "#fffbfe"
61
+ }
62
+ },
63
+ "surface": {
64
+ "$type": "color",
65
+ "$value": {
66
+ "colorSpace": "srgb",
67
+ "components": [
68
+ 1,
69
+ 0.9843,
70
+ 0.9961
71
+ ],
72
+ "hex": "#fffbfe"
73
+ }
74
+ },
75
+ "surface-raised": {
76
+ "$type": "color",
77
+ "$value": {
78
+ "colorSpace": "srgb",
79
+ "components": [
80
+ 0.9686,
81
+ 0.949,
82
+ 0.9804
83
+ ],
84
+ "hex": "#f7f2fa"
85
+ }
86
+ },
87
+ "surface-sunken": {
88
+ "$type": "color",
89
+ "$value": {
90
+ "colorSpace": "srgb",
91
+ "components": [
92
+ 0.9412,
93
+ 0.9176,
94
+ 0.9647
95
+ ],
96
+ "hex": "#f0eaf6"
97
+ }
98
+ },
99
+ "border": {
100
+ "$type": "color",
101
+ "$value": {
102
+ "colorSpace": "srgb",
103
+ "components": [
104
+ 0.4745,
105
+ 0.4549,
106
+ 0.4941
107
+ ],
108
+ "hex": "#79747e"
109
+ }
110
+ },
111
+ "border-subtle": {
112
+ "$type": "color",
113
+ "$value": {
114
+ "colorSpace": "srgb",
115
+ "components": [
116
+ 0.7922,
117
+ 0.7686,
118
+ 0.8157
119
+ ],
120
+ "hex": "#cac4d0"
121
+ }
122
+ },
123
+ "text": {
124
+ "$type": "color",
125
+ "$value": {
126
+ "colorSpace": "srgb",
127
+ "components": [
128
+ 0.1098,
129
+ 0.1059,
130
+ 0.1216
131
+ ],
132
+ "hex": "#1c1b1f"
133
+ }
134
+ },
135
+ "text-muted": {
136
+ "$type": "color",
137
+ "$value": {
138
+ "colorSpace": "srgb",
139
+ "components": [
140
+ 0.2863,
141
+ 0.2706,
142
+ 0.3098
143
+ ],
144
+ "hex": "#49454f"
145
+ }
146
+ },
147
+ "text-on-primary": {
148
+ "$type": "color",
149
+ "$value": {
150
+ "colorSpace": "srgb",
151
+ "components": [
152
+ 1,
153
+ 1,
154
+ 1
155
+ ],
156
+ "hex": "#ffffff"
157
+ }
158
+ },
159
+ "error": {
160
+ "$type": "color",
161
+ "$value": {
162
+ "colorSpace": "srgb",
163
+ "components": [
164
+ 0.702,
165
+ 0.149,
166
+ 0.1176
167
+ ],
168
+ "hex": "#b3261e"
169
+ }
170
+ },
171
+ "success": {
172
+ "$type": "color",
173
+ "$value": {
174
+ "colorSpace": "srgb",
175
+ "components": [
176
+ 0.2196,
177
+ 0.4157,
178
+ 0.1255
179
+ ],
180
+ "hex": "#386a20"
181
+ }
182
+ },
183
+ "warning": {
184
+ "$type": "color",
185
+ "$value": {
186
+ "colorSpace": "srgb",
187
+ "components": [
188
+ 0.4902,
189
+ 0.3412,
190
+ 0
191
+ ],
192
+ "hex": "#7d5700"
193
+ }
194
+ },
195
+ "info": {
196
+ "$type": "color",
197
+ "$value": {
198
+ "colorSpace": "srgb",
199
+ "components": [
200
+ 0,
201
+ 0.3804,
202
+ 0.6431
203
+ ],
204
+ "hex": "#0061a4"
205
+ }
206
+ }
207
+ },
208
+ "typography": {
209
+ "family": {
210
+ "sans": {
211
+ "$type": "fontFamily",
212
+ "$value": [
213
+ "Roboto",
214
+ "system-ui",
215
+ "sans-serif"
216
+ ]
217
+ }
218
+ },
219
+ "size": {
220
+ "md": {
221
+ "$type": "dimension",
222
+ "$value": {
223
+ "value": 1,
224
+ "unit": "rem"
225
+ }
226
+ }
227
+ },
228
+ "lineHeight": {
229
+ "normal": {
230
+ "$type": "number",
231
+ "$value": 1.5
232
+ }
233
+ }
234
+ },
235
+ "border": {
236
+ "radius": {
237
+ "xs": {
238
+ "$type": "dimension",
239
+ "$value": {
240
+ "value": 0.25,
241
+ "unit": "rem"
242
+ }
243
+ },
244
+ "s": {
245
+ "$type": "dimension",
246
+ "$value": {
247
+ "value": 0.5,
248
+ "unit": "rem"
249
+ }
250
+ },
251
+ "m": {
252
+ "$type": "dimension",
253
+ "$value": {
254
+ "value": 0.75,
255
+ "unit": "rem"
256
+ }
257
+ },
258
+ "l": {
259
+ "$type": "dimension",
260
+ "$value": {
261
+ "value": 1,
262
+ "unit": "rem"
263
+ }
264
+ },
265
+ "xl": {
266
+ "$type": "dimension",
267
+ "$value": {
268
+ "value": 1.5,
269
+ "unit": "rem"
270
+ }
271
+ }
272
+ }
273
+ },
274
+ "$extensions": {
275
+ "com.vanilla-breeze": {
276
+ "spec": "2025.10",
277
+ "vbVersion": "catalog-2026-05-15",
278
+ "catalog": true,
279
+ "source": {
280
+ "name": "Material Design 3",
281
+ "homepage": "https://m3.material.io/",
282
+ "tokenSource": "https://m3.material.io/styles/color/system/tokens",
283
+ "license": "Apache-2.0",
284
+ "attribution": "© Google LLC. Material is a trademark of Google LLC.",
285
+ "syncedAt": "2026-05-15"
286
+ }
287
+ }
288
+ }
289
+ }