@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.8235
11
+ ],
12
+ "hex": "#0070d2"
13
+ }
14
+ },
15
+ "primary-hover": {
16
+ "$type": "color",
17
+ "$value": {
18
+ "colorSpace": "srgb",
19
+ "components": [
20
+ 0,
21
+ 0.3725,
22
+ 0.698
23
+ ],
24
+ "hex": "#005fb2"
25
+ }
26
+ },
27
+ "primary-active": {
28
+ "$type": "color",
29
+ "$value": {
30
+ "colorSpace": "srgb",
31
+ "components": [
32
+ 0,
33
+ 0.3098,
34
+ 0.5608
35
+ ],
36
+ "hex": "#004f8f"
37
+ }
38
+ },
39
+ "secondary": {
40
+ "$type": "color",
41
+ "$value": {
42
+ "colorSpace": "srgb",
43
+ "components": [
44
+ 0.0863,
45
+ 0.1961,
46
+ 0.3608
47
+ ],
48
+ "hex": "#16325c"
49
+ }
50
+ },
51
+ "accent": {
52
+ "$type": "color",
53
+ "$value": {
54
+ "colorSpace": "srgb",
55
+ "components": [
56
+ 0.0824,
57
+ 0.5373,
58
+ 0.9333
59
+ ],
60
+ "hex": "#1589ee"
61
+ }
62
+ },
63
+ "background": {
64
+ "$type": "color",
65
+ "$value": {
66
+ "colorSpace": "srgb",
67
+ "components": [
68
+ 0.9529,
69
+ 0.949,
70
+ 0.949
71
+ ],
72
+ "hex": "#f3f2f2"
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.9804,
93
+ 0.9804,
94
+ 0.9804
95
+ ],
96
+ "hex": "#fafafa"
97
+ }
98
+ },
99
+ "surface-sunken": {
100
+ "$type": "color",
101
+ "$value": {
102
+ "colorSpace": "srgb",
103
+ "components": [
104
+ 0.9255,
105
+ 0.9216,
106
+ 0.9176
107
+ ],
108
+ "hex": "#ecebea"
109
+ }
110
+ },
111
+ "border": {
112
+ "$type": "color",
113
+ "$value": {
114
+ "colorSpace": "srgb",
115
+ "components": [
116
+ 0.7882,
117
+ 0.7804,
118
+ 0.7725
119
+ ],
120
+ "hex": "#c9c7c5"
121
+ }
122
+ },
123
+ "border-subtle": {
124
+ "$type": "color",
125
+ "$value": {
126
+ "colorSpace": "srgb",
127
+ "components": [
128
+ 0.8667,
129
+ 0.8588,
130
+ 0.8549
131
+ ],
132
+ "hex": "#dddbda"
133
+ }
134
+ },
135
+ "text": {
136
+ "$type": "color",
137
+ "$value": {
138
+ "colorSpace": "srgb",
139
+ "components": [
140
+ 0.0314,
141
+ 0.0275,
142
+ 0.0275
143
+ ],
144
+ "hex": "#080707"
145
+ }
146
+ },
147
+ "text-muted": {
148
+ "$type": "color",
149
+ "$value": {
150
+ "colorSpace": "srgb",
151
+ "components": [
152
+ 0.2431,
153
+ 0.2431,
154
+ 0.2353
155
+ ],
156
+ "hex": "#3e3e3c"
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.7608,
177
+ 0.2235,
178
+ 0.2039
179
+ ],
180
+ "hex": "#c23934"
181
+ }
182
+ },
183
+ "success": {
184
+ "$type": "color",
185
+ "$value": {
186
+ "colorSpace": "srgb",
187
+ "components": [
188
+ 0.0157,
189
+ 0.5176,
190
+ 0.2941
191
+ ],
192
+ "hex": "#04844b"
193
+ }
194
+ },
195
+ "warning": {
196
+ "$type": "color",
197
+ "$value": {
198
+ "colorSpace": "srgb",
199
+ "components": [
200
+ 1,
201
+ 0.7176,
202
+ 0.3647
203
+ ],
204
+ "hex": "#ffb75d"
205
+ }
206
+ },
207
+ "info": {
208
+ "$type": "color",
209
+ "$value": {
210
+ "colorSpace": "srgb",
211
+ "components": [
212
+ 0.0824,
213
+ 0.5373,
214
+ 0.9333
215
+ ],
216
+ "hex": "#1589ee"
217
+ }
218
+ }
219
+ },
220
+ "typography": {
221
+ "family": {
222
+ "sans": {
223
+ "$type": "fontFamily",
224
+ "$value": [
225
+ "Salesforce Sans",
226
+ "Arial",
227
+ "sans-serif"
228
+ ]
229
+ }
230
+ },
231
+ "size": {
232
+ "md": {
233
+ "$type": "dimension",
234
+ "$value": {
235
+ "value": 0.8125,
236
+ "unit": "rem"
237
+ }
238
+ }
239
+ },
240
+ "lineHeight": {
241
+ "normal": {
242
+ "$type": "number",
243
+ "$value": 1.5
244
+ }
245
+ }
246
+ },
247
+ "border": {
248
+ "radius": {
249
+ "xs": {
250
+ "$type": "dimension",
251
+ "$value": {
252
+ "value": 0.125,
253
+ "unit": "rem"
254
+ }
255
+ },
256
+ "s": {
257
+ "$type": "dimension",
258
+ "$value": {
259
+ "value": 0.25,
260
+ "unit": "rem"
261
+ }
262
+ },
263
+ "m": {
264
+ "$type": "dimension",
265
+ "$value": {
266
+ "value": 0.25,
267
+ "unit": "rem"
268
+ }
269
+ },
270
+ "l": {
271
+ "$type": "dimension",
272
+ "$value": {
273
+ "value": 0.5,
274
+ "unit": "rem"
275
+ }
276
+ },
277
+ "xl": {
278
+ "$type": "dimension",
279
+ "$value": {
280
+ "value": 0.5,
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": "Salesforce Lightning",
293
+ "homepage": "https://www.lightningdesignsystem.com/",
294
+ "tokenSource": "https://www.lightningdesignsystem.com/design-tokens/",
295
+ "license": "BSD-3-Clause",
296
+ "attribution": "© Salesforce, Inc. Lightning Design System.",
297
+ "syncedAt": "2026-05-15"
298
+ }
299
+ }
300
+ }
301
+ }
@@ -0,0 +1,302 @@
1
+ {
2
+ "color": {
3
+ "primary": {
4
+ "$type": "color",
5
+ "$value": {
6
+ "colorSpace": "srgb",
7
+ "components": [
8
+ 0.2314,
9
+ 0.5098,
10
+ 0.9647
11
+ ],
12
+ "hex": "#3b82f6"
13
+ }
14
+ },
15
+ "primary-hover": {
16
+ "$type": "color",
17
+ "$value": {
18
+ "colorSpace": "srgb",
19
+ "components": [
20
+ 0.1451,
21
+ 0.3882,
22
+ 0.9216
23
+ ],
24
+ "hex": "#2563eb"
25
+ }
26
+ },
27
+ "primary-active": {
28
+ "$type": "color",
29
+ "$value": {
30
+ "colorSpace": "srgb",
31
+ "components": [
32
+ 0.1137,
33
+ 0.3059,
34
+ 0.8471
35
+ ],
36
+ "hex": "#1d4ed8"
37
+ }
38
+ },
39
+ "secondary": {
40
+ "$type": "color",
41
+ "$value": {
42
+ "colorSpace": "srgb",
43
+ "components": [
44
+ 0.3922,
45
+ 0.4549,
46
+ 0.5451
47
+ ],
48
+ "hex": "#64748b"
49
+ }
50
+ },
51
+ "accent": {
52
+ "$type": "color",
53
+ "$value": {
54
+ "colorSpace": "srgb",
55
+ "components": [
56
+ 0.5451,
57
+ 0.3608,
58
+ 0.9647
59
+ ],
60
+ "hex": "#8b5cf6"
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.9725,
93
+ 0.9804,
94
+ 0.9882
95
+ ],
96
+ "hex": "#f8fafc"
97
+ }
98
+ },
99
+ "surface-sunken": {
100
+ "$type": "color",
101
+ "$value": {
102
+ "colorSpace": "srgb",
103
+ "components": [
104
+ 0.9451,
105
+ 0.9608,
106
+ 0.9765
107
+ ],
108
+ "hex": "#f1f5f9"
109
+ }
110
+ },
111
+ "border": {
112
+ "$type": "color",
113
+ "$value": {
114
+ "colorSpace": "srgb",
115
+ "components": [
116
+ 0.7961,
117
+ 0.8353,
118
+ 0.8824
119
+ ],
120
+ "hex": "#cbd5e1"
121
+ }
122
+ },
123
+ "border-subtle": {
124
+ "$type": "color",
125
+ "$value": {
126
+ "colorSpace": "srgb",
127
+ "components": [
128
+ 0.8863,
129
+ 0.9098,
130
+ 0.9412
131
+ ],
132
+ "hex": "#e2e8f0"
133
+ }
134
+ },
135
+ "text": {
136
+ "$type": "color",
137
+ "$value": {
138
+ "colorSpace": "srgb",
139
+ "components": [
140
+ 0.0588,
141
+ 0.0902,
142
+ 0.1647
143
+ ],
144
+ "hex": "#0f172a"
145
+ }
146
+ },
147
+ "text-muted": {
148
+ "$type": "color",
149
+ "$value": {
150
+ "colorSpace": "srgb",
151
+ "components": [
152
+ 0.2784,
153
+ 0.3333,
154
+ 0.4118
155
+ ],
156
+ "hex": "#475569"
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.9373,
177
+ 0.2667,
178
+ 0.2667
179
+ ],
180
+ "hex": "#ef4444"
181
+ }
182
+ },
183
+ "success": {
184
+ "$type": "color",
185
+ "$value": {
186
+ "colorSpace": "srgb",
187
+ "components": [
188
+ 0.1333,
189
+ 0.7725,
190
+ 0.3686
191
+ ],
192
+ "hex": "#22c55e"
193
+ }
194
+ },
195
+ "warning": {
196
+ "$type": "color",
197
+ "$value": {
198
+ "colorSpace": "srgb",
199
+ "components": [
200
+ 0.9608,
201
+ 0.6196,
202
+ 0.0431
203
+ ],
204
+ "hex": "#f59e0b"
205
+ }
206
+ },
207
+ "info": {
208
+ "$type": "color",
209
+ "$value": {
210
+ "colorSpace": "srgb",
211
+ "components": [
212
+ 0.2314,
213
+ 0.5098,
214
+ 0.9647
215
+ ],
216
+ "hex": "#3b82f6"
217
+ }
218
+ }
219
+ },
220
+ "typography": {
221
+ "family": {
222
+ "sans": {
223
+ "$type": "fontFamily",
224
+ "$value": [
225
+ "Inter",
226
+ "system-ui",
227
+ "sans-serif"
228
+ ]
229
+ }
230
+ },
231
+ "size": {
232
+ "md": {
233
+ "$type": "dimension",
234
+ "$value": {
235
+ "value": 1,
236
+ "unit": "rem"
237
+ }
238
+ }
239
+ },
240
+ "lineHeight": {
241
+ "normal": {
242
+ "$type": "number",
243
+ "$value": 1.5
244
+ }
245
+ }
246
+ },
247
+ "border": {
248
+ "radius": {
249
+ "xs": {
250
+ "$type": "dimension",
251
+ "$value": {
252
+ "value": 0.125,
253
+ "unit": "rem"
254
+ }
255
+ },
256
+ "s": {
257
+ "$type": "dimension",
258
+ "$value": {
259
+ "value": 0.25,
260
+ "unit": "rem"
261
+ }
262
+ },
263
+ "m": {
264
+ "$type": "dimension",
265
+ "$value": {
266
+ "value": 0.375,
267
+ "unit": "rem"
268
+ }
269
+ },
270
+ "l": {
271
+ "$type": "dimension",
272
+ "$value": {
273
+ "value": 0.5,
274
+ "unit": "rem"
275
+ }
276
+ },
277
+ "xl": {
278
+ "$type": "dimension",
279
+ "$value": {
280
+ "value": 0.75,
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": "Tailwind defaults",
293
+ "homepage": "https://tailwindcss.com/",
294
+ "tokenSource": "https://tailwindcss.com/docs/customizing-colors",
295
+ "license": "MIT",
296
+ "attribution": "Tailwind CSS — © Tailwind Labs Inc.",
297
+ "syncedAt": "2026-05-15",
298
+ "note": "Tailwind does not publish DTCG natively; this entry is hand-synthesized from default-theme JS."
299
+ }
300
+ }
301
+ }
302
+ }