twntyx-css 1.0.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 (228) hide show
  1. package/README.md +105 -0
  2. package/llm/CHANGELOG.md +7 -0
  3. package/llm/components/ai-background.json +90 -0
  4. package/llm/components/ai-orb.json +91 -0
  5. package/llm/components/ai-perl.json +91 -0
  6. package/llm/components/all-components.json +104 -0
  7. package/llm/components/animation-references.json +84 -0
  8. package/llm/components/avatar.json +149 -0
  9. package/llm/components/badge.json +263 -0
  10. package/llm/components/banner-marketplace.json +81 -0
  11. package/llm/components/banner.json +120 -0
  12. package/llm/components/breadcrumb.json +169 -0
  13. package/llm/components/button-container.json +150 -0
  14. package/llm/components/button-feedback.json +155 -0
  15. package/llm/components/button.json +290 -0
  16. package/llm/components/card-assessment.json +93 -0
  17. package/llm/components/card-test.json +83 -0
  18. package/llm/components/card.json +94 -0
  19. package/llm/components/chat.json +155 -0
  20. package/llm/components/checkbox.json +186 -0
  21. package/llm/components/checkmark.json +175 -0
  22. package/llm/components/collapsible.json +100 -0
  23. package/llm/components/color-palette.json +79 -0
  24. package/llm/components/color-usage.json +83 -0
  25. package/llm/components/combobox.json +143 -0
  26. package/llm/components/command-palette.json +159 -0
  27. package/llm/components/countdown.json +113 -0
  28. package/llm/components/datepicker.json +151 -0
  29. package/llm/components/divider.json +104 -0
  30. package/llm/components/empty-state.json +80 -0
  31. package/llm/components/field.json +123 -0
  32. package/llm/components/fieldset.json +78 -0
  33. package/llm/components/file-upload.json +163 -0
  34. package/llm/components/form-example.json +82 -0
  35. package/llm/components/getting-started.json +70 -0
  36. package/llm/components/icons-reference.json +78 -0
  37. package/llm/components/illustrations-library.json +78 -0
  38. package/llm/components/input-group.json +94 -0
  39. package/llm/components/introduction.json +71 -0
  40. package/llm/components/join.json +105 -0
  41. package/llm/components/kbd.json +139 -0
  42. package/llm/components/key-value.json +86 -0
  43. package/llm/components/link.json +120 -0
  44. package/llm/components/loader.json +117 -0
  45. package/llm/components/logotype.json +75 -0
  46. package/llm/components/menu.json +192 -0
  47. package/llm/components/modal.json +167 -0
  48. package/llm/components/navbar.json +158 -0
  49. package/llm/components/pagination.json +122 -0
  50. package/llm/components/pie-chart.json +94 -0
  51. package/llm/components/popover.json +174 -0
  52. package/llm/components/progress-bullet.json +203 -0
  53. package/llm/components/progress-linear.json +129 -0
  54. package/llm/components/progress-radial.json +125 -0
  55. package/llm/components/radio.json +162 -0
  56. package/llm/components/range-slider.json +125 -0
  57. package/llm/components/scrollbar.json +96 -0
  58. package/llm/components/select-input.json +224 -0
  59. package/llm/components/shadows.json +107 -0
  60. package/llm/components/skeleton.json +84 -0
  61. package/llm/components/stacked-chart.json +100 -0
  62. package/llm/components/state.json +138 -0
  63. package/llm/components/stepper.json +95 -0
  64. package/llm/components/steps.json +177 -0
  65. package/llm/components/surface.json +181 -0
  66. package/llm/components/table.json +223 -0
  67. package/llm/components/tabs.json +147 -0
  68. package/llm/components/template-ai.json +80 -0
  69. package/llm/components/template-login.json +88 -0
  70. package/llm/components/template-stats.json +76 -0
  71. package/llm/components/text-input.json +275 -0
  72. package/llm/components/textarea.json +183 -0
  73. package/llm/components/timeline.json +142 -0
  74. package/llm/components/toast.json +164 -0
  75. package/llm/components/toggle.json +158 -0
  76. package/llm/components/tool-svg-to-base64.json +78 -0
  77. package/llm/components/tool-svg-to-icon-data.json +81 -0
  78. package/llm/components/tooltip.json +90 -0
  79. package/llm/examples/ai-background.html +1 -0
  80. package/llm/examples/ai-orb.html +1 -0
  81. package/llm/examples/ai-perl.html +1 -0
  82. package/llm/examples/all-components.html +1 -0
  83. package/llm/examples/animation-references.html +1 -0
  84. package/llm/examples/avatar.html +1 -0
  85. package/llm/examples/badge.html +1 -0
  86. package/llm/examples/banner-marketplace.html +1 -0
  87. package/llm/examples/banner.html +1 -0
  88. package/llm/examples/breadcrumb.html +1 -0
  89. package/llm/examples/button-container.html +1 -0
  90. package/llm/examples/button-feedback.html +1 -0
  91. package/llm/examples/button.html +3 -0
  92. package/llm/examples/card-assessment.html +1 -0
  93. package/llm/examples/card-test.html +1 -0
  94. package/llm/examples/card.html +1 -0
  95. package/llm/examples/chat.html +1 -0
  96. package/llm/examples/checkbox.html +1 -0
  97. package/llm/examples/checkmark.html +1 -0
  98. package/llm/examples/collapsible.html +1 -0
  99. package/llm/examples/color-palette.html +1 -0
  100. package/llm/examples/color-usage.html +1 -0
  101. package/llm/examples/combobox.html +1 -0
  102. package/llm/examples/command-palette.html +1 -0
  103. package/llm/examples/countdown.html +1 -0
  104. package/llm/examples/datepicker.html +1 -0
  105. package/llm/examples/divider.html +1 -0
  106. package/llm/examples/empty-state.html +1 -0
  107. package/llm/examples/field.html +1 -0
  108. package/llm/examples/fieldset.html +1 -0
  109. package/llm/examples/file-upload.html +1 -0
  110. package/llm/examples/form-example.html +1 -0
  111. package/llm/examples/getting-started.html +1 -0
  112. package/llm/examples/icons-reference.html +1 -0
  113. package/llm/examples/illustrations-library.html +1 -0
  114. package/llm/examples/input-group.html +1 -0
  115. package/llm/examples/introduction.html +1 -0
  116. package/llm/examples/join.html +1 -0
  117. package/llm/examples/kbd.html +1 -0
  118. package/llm/examples/key-value.html +1 -0
  119. package/llm/examples/link.html +1 -0
  120. package/llm/examples/loader.html +1 -0
  121. package/llm/examples/logotype.html +1 -0
  122. package/llm/examples/menu.html +1 -0
  123. package/llm/examples/modal.html +16 -0
  124. package/llm/examples/navbar.html +1 -0
  125. package/llm/examples/pagination.html +1 -0
  126. package/llm/examples/pie-chart.html +1 -0
  127. package/llm/examples/popover.html +1 -0
  128. package/llm/examples/progress-bullet.html +1 -0
  129. package/llm/examples/progress-linear.html +1 -0
  130. package/llm/examples/progress-radial.html +1 -0
  131. package/llm/examples/radio.html +1 -0
  132. package/llm/examples/range-slider.html +1 -0
  133. package/llm/examples/scrollbar.html +1 -0
  134. package/llm/examples/select-input.html +1 -0
  135. package/llm/examples/shadows.html +1 -0
  136. package/llm/examples/skeleton.html +1 -0
  137. package/llm/examples/stacked-chart.html +1 -0
  138. package/llm/examples/state.html +1 -0
  139. package/llm/examples/stepper.html +1 -0
  140. package/llm/examples/steps.html +1 -0
  141. package/llm/examples/surface.html +1 -0
  142. package/llm/examples/table.html +16 -0
  143. package/llm/examples/tabs.html +1 -0
  144. package/llm/examples/template-ai.html +1 -0
  145. package/llm/examples/template-login.html +1 -0
  146. package/llm/examples/template-stats.html +1 -0
  147. package/llm/examples/text-input.html +10 -0
  148. package/llm/examples/textarea.html +1 -0
  149. package/llm/examples/timeline.html +1 -0
  150. package/llm/examples/toast.html +5 -0
  151. package/llm/examples/toggle.html +1 -0
  152. package/llm/examples/tool-svg-to-base64.html +1 -0
  153. package/llm/examples/tool-svg-to-icon-data.html +1 -0
  154. package/llm/examples/tooltip.html +1 -0
  155. package/llm/index.json +1615 -0
  156. package/llm/llms.txt +18 -0
  157. package/llm/patterns.json +111 -0
  158. package/llm/rules.json +47 -0
  159. package/llm/schema.json +804 -0
  160. package/llm/tokens.json +3629 -0
  161. package/package.json +30 -0
  162. package/styles/ai.css +114 -0
  163. package/styles/animation.css +2493 -0
  164. package/styles/avatar.css +101 -0
  165. package/styles/background-ai.css +118 -0
  166. package/styles/badge.css +274 -0
  167. package/styles/banner.css +98 -0
  168. package/styles/breadcrumb.css +72 -0
  169. package/styles/button.css +621 -0
  170. package/styles/card.css +27 -0
  171. package/styles/chart-pie.css +39 -0
  172. package/styles/chart-stacked.css +91 -0
  173. package/styles/chat.css +506 -0
  174. package/styles/checkmark.css +105 -0
  175. package/styles/code.css +264 -0
  176. package/styles/collapsible.css +93 -0
  177. package/styles/colors.css +536 -0
  178. package/styles/combobox.css +66 -0
  179. package/styles/command.css +81 -0
  180. package/styles/contest.css +227 -0
  181. package/styles/countdown.css +65 -0
  182. package/styles/datepicker.css +124 -0
  183. package/styles/divider.css +72 -0
  184. package/styles/drawer.css +142 -0
  185. package/styles/dropdown.css +22 -0
  186. package/styles/empty-state.css +48 -0
  187. package/styles/field.css +47 -0
  188. package/styles/fieldset.css +24 -0
  189. package/styles/form-checkbox-radio-toggle.css +233 -0
  190. package/styles/form-fileupload.css +146 -0
  191. package/styles/form-rangeslider.css +106 -0
  192. package/styles/form-shared.css +41 -0
  193. package/styles/form-text-select.css +411 -0
  194. package/styles/form.css +86 -0
  195. package/styles/globals.css +66 -0
  196. package/styles/input-group.css +63 -0
  197. package/styles/join.css +141 -0
  198. package/styles/kbd.css +55 -0
  199. package/styles/key-value.css +44 -0
  200. package/styles/link.css +48 -0
  201. package/styles/loader.css +183 -0
  202. package/styles/logotype.css +13 -0
  203. package/styles/menu.css +317 -0
  204. package/styles/modal.css +172 -0
  205. package/styles/navbar.css +48 -0
  206. package/styles/package-quill.css +1001 -0
  207. package/styles/pagination.css +147 -0
  208. package/styles/panel.css +113 -0
  209. package/styles/popover.css +303 -0
  210. package/styles/prism.css +60 -0
  211. package/styles/progress.css +209 -0
  212. package/styles/scrollbar.css +17 -0
  213. package/styles/shadow.css +25 -0
  214. package/styles/shared.css +226 -0
  215. package/styles/skeleton.css +34 -0
  216. package/styles/state.css +150 -0
  217. package/styles/stepper.css +72 -0
  218. package/styles/steps.css +98 -0
  219. package/styles/surface.css +252 -0
  220. package/styles/tab.css +286 -0
  221. package/styles/table.css +243 -0
  222. package/styles/theme.css +126 -0
  223. package/styles/timeline.css +193 -0
  224. package/styles/toast.css +150 -0
  225. package/styles/tooltip.css +8 -0
  226. package/styles/typography.css +160 -0
  227. package/styles/utility.css +20 -0
  228. package/tailwind.config.cjs +9 -0
@@ -0,0 +1,804 @@
1
+ {
2
+ "$id": "https://twntyx.dev/schemas/llm-kit.schema.json",
3
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
4
+ "title": "twntyX LLM kit schema bundle",
5
+ "type": "object",
6
+ "additionalProperties": false,
7
+ "required": [
8
+ "schemaVersion",
9
+ "$defs"
10
+ ],
11
+ "properties": {
12
+ "schemaVersion": {
13
+ "type": "string",
14
+ "const": "1.0.0"
15
+ },
16
+ "$defs": {
17
+ "type": "object"
18
+ }
19
+ },
20
+ "schemaVersion": "1.0.0",
21
+ "$defs": {
22
+ "id": {
23
+ "type": "string",
24
+ "minLength": 1,
25
+ "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$"
26
+ },
27
+ "path": {
28
+ "type": "string",
29
+ "minLength": 1,
30
+ "pattern": "^[a-zA-Z0-9._/-]+$"
31
+ },
32
+ "nonEmptyString": {
33
+ "type": "string",
34
+ "minLength": 1
35
+ },
36
+ "stringList": {
37
+ "type": "array",
38
+ "items": {
39
+ "type": "string",
40
+ "minLength": 1
41
+ },
42
+ "uniqueItems": true
43
+ },
44
+ "componentClassEntry": {
45
+ "type": "object",
46
+ "additionalProperties": false,
47
+ "required": [
48
+ "name",
49
+ "className",
50
+ "description"
51
+ ],
52
+ "properties": {
53
+ "name": {
54
+ "$ref": "#/$defs/nonEmptyString"
55
+ },
56
+ "className": {
57
+ "$ref": "#/$defs/nonEmptyString"
58
+ },
59
+ "description": {
60
+ "$ref": "#/$defs/nonEmptyString"
61
+ }
62
+ }
63
+ },
64
+ "component": {
65
+ "type": "object",
66
+ "additionalProperties": false,
67
+ "required": [
68
+ "id",
69
+ "name",
70
+ "status",
71
+ "summary",
72
+ "keywords",
73
+ "sourcePaths",
74
+ "apiModel",
75
+ "baseClass",
76
+ "variants",
77
+ "sizes",
78
+ "states",
79
+ "structure",
80
+ "attributes",
81
+ "a11y",
82
+ "dos",
83
+ "donts",
84
+ "tokenUsage",
85
+ "examples",
86
+ "composition",
87
+ "breakingChangePolicy"
88
+ ],
89
+ "properties": {
90
+ "id": {
91
+ "$ref": "#/$defs/id"
92
+ },
93
+ "name": {
94
+ "$ref": "#/$defs/nonEmptyString"
95
+ },
96
+ "status": {
97
+ "type": "string",
98
+ "enum": [
99
+ "stable",
100
+ "preview",
101
+ "experimental",
102
+ "deprecated"
103
+ ]
104
+ },
105
+ "summary": {
106
+ "$ref": "#/$defs/nonEmptyString"
107
+ },
108
+ "keywords": {
109
+ "$ref": "#/$defs/stringList"
110
+ },
111
+ "sourcePaths": {
112
+ "type": "array",
113
+ "items": {
114
+ "$ref": "#/$defs/path"
115
+ },
116
+ "minItems": 1,
117
+ "uniqueItems": true
118
+ },
119
+ "apiModel": {
120
+ "type": "string",
121
+ "const": "html-class"
122
+ },
123
+ "baseClass": {
124
+ "$ref": "#/$defs/nonEmptyString"
125
+ },
126
+ "variants": {
127
+ "type": "array",
128
+ "items": {
129
+ "$ref": "#/$defs/componentClassEntry"
130
+ }
131
+ },
132
+ "sizes": {
133
+ "type": "array",
134
+ "items": {
135
+ "$ref": "#/$defs/componentClassEntry"
136
+ }
137
+ },
138
+ "states": {
139
+ "type": "array",
140
+ "items": {
141
+ "$ref": "#/$defs/componentClassEntry"
142
+ }
143
+ },
144
+ "structure": {
145
+ "type": "object",
146
+ "additionalProperties": false,
147
+ "required": [
148
+ "rootElement",
149
+ "requiredClasses",
150
+ "optionalClasses",
151
+ "requiredChildren",
152
+ "optionalChildren"
153
+ ],
154
+ "properties": {
155
+ "rootElement": {
156
+ "$ref": "#/$defs/nonEmptyString"
157
+ },
158
+ "requiredClasses": {
159
+ "$ref": "#/$defs/stringList"
160
+ },
161
+ "optionalClasses": {
162
+ "$ref": "#/$defs/stringList"
163
+ },
164
+ "requiredChildren": {
165
+ "type": "array",
166
+ "items": {
167
+ "type": "string"
168
+ }
169
+ },
170
+ "optionalChildren": {
171
+ "type": "array",
172
+ "items": {
173
+ "type": "string"
174
+ }
175
+ }
176
+ }
177
+ },
178
+ "attributes": {
179
+ "type": "object",
180
+ "additionalProperties": false,
181
+ "required": [
182
+ "allowed",
183
+ "required",
184
+ "dataAttributes",
185
+ "roles",
186
+ "aria"
187
+ ],
188
+ "properties": {
189
+ "allowed": {
190
+ "type": "array",
191
+ "items": {
192
+ "type": "string"
193
+ },
194
+ "uniqueItems": true
195
+ },
196
+ "required": {
197
+ "type": "array",
198
+ "items": {
199
+ "type": "string"
200
+ },
201
+ "uniqueItems": true
202
+ },
203
+ "dataAttributes": {
204
+ "type": "array",
205
+ "items": {
206
+ "type": "string"
207
+ },
208
+ "uniqueItems": true
209
+ },
210
+ "roles": {
211
+ "type": "array",
212
+ "items": {
213
+ "type": "string"
214
+ },
215
+ "uniqueItems": true
216
+ },
217
+ "aria": {
218
+ "type": "array",
219
+ "items": {
220
+ "type": "string"
221
+ },
222
+ "uniqueItems": true
223
+ }
224
+ }
225
+ },
226
+ "a11y": {
227
+ "type": "object",
228
+ "additionalProperties": false,
229
+ "required": [
230
+ "interactive",
231
+ "requiredRoles",
232
+ "requiredAria",
233
+ "keyboardSupport",
234
+ "focusBehavior"
235
+ ],
236
+ "properties": {
237
+ "interactive": {
238
+ "type": "boolean"
239
+ },
240
+ "requiredRoles": {
241
+ "type": "array",
242
+ "items": {
243
+ "type": "string"
244
+ },
245
+ "uniqueItems": true
246
+ },
247
+ "requiredAria": {
248
+ "type": "array",
249
+ "items": {
250
+ "type": "string"
251
+ },
252
+ "uniqueItems": true
253
+ },
254
+ "keyboardSupport": {
255
+ "type": "array",
256
+ "items": {
257
+ "type": "string"
258
+ },
259
+ "uniqueItems": true
260
+ },
261
+ "focusBehavior": {
262
+ "$ref": "#/$defs/nonEmptyString"
263
+ }
264
+ }
265
+ },
266
+ "dos": {
267
+ "type": "array",
268
+ "items": {
269
+ "type": "string"
270
+ },
271
+ "minItems": 1
272
+ },
273
+ "donts": {
274
+ "type": "array",
275
+ "items": {
276
+ "type": "string"
277
+ },
278
+ "minItems": 1
279
+ },
280
+ "tokenUsage": {
281
+ "type": "array",
282
+ "items": {
283
+ "$ref": "#/$defs/id"
284
+ },
285
+ "uniqueItems": true
286
+ },
287
+ "examples": {
288
+ "type": "array",
289
+ "minItems": 1,
290
+ "items": {
291
+ "type": "object",
292
+ "additionalProperties": false,
293
+ "required": [
294
+ "id",
295
+ "file",
296
+ "description"
297
+ ],
298
+ "properties": {
299
+ "id": {
300
+ "$ref": "#/$defs/id"
301
+ },
302
+ "file": {
303
+ "$ref": "#/$defs/path"
304
+ },
305
+ "description": {
306
+ "$ref": "#/$defs/nonEmptyString"
307
+ }
308
+ }
309
+ }
310
+ },
311
+ "composition": {
312
+ "type": "object",
313
+ "additionalProperties": false,
314
+ "required": [
315
+ "patterns",
316
+ "relatedComponents",
317
+ "notes"
318
+ ],
319
+ "properties": {
320
+ "patterns": {
321
+ "type": "array",
322
+ "items": {
323
+ "$ref": "#/$defs/id"
324
+ },
325
+ "uniqueItems": true
326
+ },
327
+ "relatedComponents": {
328
+ "type": "array",
329
+ "items": {
330
+ "$ref": "#/$defs/id"
331
+ },
332
+ "uniqueItems": true
333
+ },
334
+ "notes": {
335
+ "type": "array",
336
+ "items": {
337
+ "type": "string"
338
+ }
339
+ }
340
+ }
341
+ },
342
+ "breakingChangePolicy": {
343
+ "type": "object",
344
+ "additionalProperties": false,
345
+ "required": [
346
+ "classContract",
347
+ "a11yContract"
348
+ ],
349
+ "properties": {
350
+ "classContract": {
351
+ "$ref": "#/$defs/nonEmptyString"
352
+ },
353
+ "a11yContract": {
354
+ "$ref": "#/$defs/nonEmptyString"
355
+ }
356
+ }
357
+ }
358
+ }
359
+ },
360
+ "tokenEntry": {
361
+ "type": "object",
362
+ "additionalProperties": false,
363
+ "required": [
364
+ "id",
365
+ "cssVariable",
366
+ "category",
367
+ "semanticIntent",
368
+ "values",
369
+ "resolvedValues",
370
+ "sourcePaths"
371
+ ],
372
+ "properties": {
373
+ "id": {
374
+ "$ref": "#/$defs/id"
375
+ },
376
+ "cssVariable": {
377
+ "type": "string",
378
+ "pattern": "^--[a-z0-9-]+$"
379
+ },
380
+ "category": {
381
+ "$ref": "#/$defs/nonEmptyString"
382
+ },
383
+ "semanticIntent": {
384
+ "type": "object",
385
+ "additionalProperties": false,
386
+ "required": [
387
+ "name",
388
+ "path",
389
+ "reference"
390
+ ],
391
+ "properties": {
392
+ "name": {
393
+ "$ref": "#/$defs/nonEmptyString"
394
+ },
395
+ "path": {
396
+ "type": "array",
397
+ "items": {
398
+ "type": "string",
399
+ "minLength": 1
400
+ },
401
+ "minItems": 1
402
+ },
403
+ "reference": {
404
+ "type": [
405
+ "string",
406
+ "object",
407
+ "null"
408
+ ]
409
+ }
410
+ }
411
+ },
412
+ "values": {
413
+ "type": "object",
414
+ "additionalProperties": false,
415
+ "required": [
416
+ "light",
417
+ "dark"
418
+ ],
419
+ "properties": {
420
+ "light": {
421
+ "$ref": "#/$defs/nonEmptyString"
422
+ },
423
+ "dark": {
424
+ "$ref": "#/$defs/nonEmptyString"
425
+ }
426
+ }
427
+ },
428
+ "resolvedValues": {
429
+ "type": "object",
430
+ "additionalProperties": false,
431
+ "required": [
432
+ "light",
433
+ "dark"
434
+ ],
435
+ "properties": {
436
+ "light": {
437
+ "$ref": "#/$defs/nonEmptyString"
438
+ },
439
+ "dark": {
440
+ "$ref": "#/$defs/nonEmptyString"
441
+ }
442
+ }
443
+ },
444
+ "sourcePaths": {
445
+ "type": "array",
446
+ "items": {
447
+ "$ref": "#/$defs/path"
448
+ },
449
+ "minItems": 1,
450
+ "uniqueItems": true
451
+ }
452
+ }
453
+ },
454
+ "tokens": {
455
+ "type": "object",
456
+ "additionalProperties": false,
457
+ "required": [
458
+ "llmSchemaVersion",
459
+ "generatedFrom",
460
+ "items"
461
+ ],
462
+ "properties": {
463
+ "llmSchemaVersion": {
464
+ "type": "string",
465
+ "const": "1.0.0"
466
+ },
467
+ "generatedFrom": {
468
+ "type": "array",
469
+ "items": {
470
+ "$ref": "#/$defs/path"
471
+ },
472
+ "minItems": 1,
473
+ "uniqueItems": true
474
+ },
475
+ "items": {
476
+ "type": "array",
477
+ "minItems": 1,
478
+ "items": {
479
+ "$ref": "#/$defs/tokenEntry"
480
+ }
481
+ }
482
+ }
483
+ },
484
+ "patternEntry": {
485
+ "type": "object",
486
+ "additionalProperties": false,
487
+ "required": [
488
+ "id",
489
+ "name",
490
+ "summary",
491
+ "components",
492
+ "template",
493
+ "dos",
494
+ "donts"
495
+ ],
496
+ "properties": {
497
+ "id": {
498
+ "$ref": "#/$defs/id"
499
+ },
500
+ "name": {
501
+ "$ref": "#/$defs/nonEmptyString"
502
+ },
503
+ "summary": {
504
+ "$ref": "#/$defs/nonEmptyString"
505
+ },
506
+ "components": {
507
+ "type": "array",
508
+ "items": {
509
+ "$ref": "#/$defs/id"
510
+ },
511
+ "minItems": 1,
512
+ "uniqueItems": true
513
+ },
514
+ "template": {
515
+ "$ref": "#/$defs/nonEmptyString"
516
+ },
517
+ "dos": {
518
+ "type": "array",
519
+ "items": {
520
+ "type": "string"
521
+ },
522
+ "minItems": 1
523
+ },
524
+ "donts": {
525
+ "type": "array",
526
+ "items": {
527
+ "type": "string"
528
+ },
529
+ "minItems": 1
530
+ }
531
+ }
532
+ },
533
+ "patterns": {
534
+ "type": "object",
535
+ "additionalProperties": false,
536
+ "required": [
537
+ "llmSchemaVersion",
538
+ "patterns"
539
+ ],
540
+ "properties": {
541
+ "llmSchemaVersion": {
542
+ "type": "string",
543
+ "const": "1.0.0"
544
+ },
545
+ "patterns": {
546
+ "type": "array",
547
+ "minItems": 1,
548
+ "items": {
549
+ "$ref": "#/$defs/patternEntry"
550
+ }
551
+ }
552
+ }
553
+ },
554
+ "rules": {
555
+ "type": "object",
556
+ "additionalProperties": false,
557
+ "required": [
558
+ "llmSchemaVersion",
559
+ "apiModel",
560
+ "dos",
561
+ "donts",
562
+ "accessibility",
563
+ "namingConventions",
564
+ "responseContract"
565
+ ],
566
+ "properties": {
567
+ "llmSchemaVersion": {
568
+ "type": "string",
569
+ "const": "1.0.0"
570
+ },
571
+ "apiModel": {
572
+ "type": "string",
573
+ "const": "html-class"
574
+ },
575
+ "dos": {
576
+ "type": "array",
577
+ "items": {
578
+ "type": "string"
579
+ },
580
+ "minItems": 1
581
+ },
582
+ "donts": {
583
+ "type": "array",
584
+ "items": {
585
+ "type": "string"
586
+ },
587
+ "minItems": 1
588
+ },
589
+ "accessibility": {
590
+ "type": "array",
591
+ "items": {
592
+ "type": "string"
593
+ },
594
+ "minItems": 1
595
+ },
596
+ "namingConventions": {
597
+ "type": "object",
598
+ "additionalProperties": false,
599
+ "required": [
600
+ "classPrefixes",
601
+ "statePrefixes",
602
+ "sizeMarkers"
603
+ ],
604
+ "properties": {
605
+ "classPrefixes": {
606
+ "type": "array",
607
+ "items": {
608
+ "type": "string"
609
+ },
610
+ "minItems": 1
611
+ },
612
+ "statePrefixes": {
613
+ "type": "array",
614
+ "items": {
615
+ "type": "string"
616
+ },
617
+ "minItems": 1
618
+ },
619
+ "sizeMarkers": {
620
+ "type": "array",
621
+ "items": {
622
+ "type": "string"
623
+ },
624
+ "minItems": 1
625
+ }
626
+ }
627
+ },
628
+ "responseContract": {
629
+ "type": "object",
630
+ "additionalProperties": false,
631
+ "required": [
632
+ "whenUnknown",
633
+ "whenAmbiguous"
634
+ ],
635
+ "properties": {
636
+ "whenUnknown": {
637
+ "$ref": "#/$defs/nonEmptyString"
638
+ },
639
+ "whenAmbiguous": {
640
+ "$ref": "#/$defs/nonEmptyString"
641
+ }
642
+ }
643
+ }
644
+ }
645
+ },
646
+ "indexComponentEntry": {
647
+ "type": "object",
648
+ "additionalProperties": false,
649
+ "required": [
650
+ "id",
651
+ "name",
652
+ "file",
653
+ "status",
654
+ "summary",
655
+ "keywords"
656
+ ],
657
+ "properties": {
658
+ "id": {
659
+ "$ref": "#/$defs/id"
660
+ },
661
+ "name": {
662
+ "$ref": "#/$defs/nonEmptyString"
663
+ },
664
+ "file": {
665
+ "$ref": "#/$defs/path"
666
+ },
667
+ "status": {
668
+ "type": "string",
669
+ "enum": [
670
+ "stable",
671
+ "preview",
672
+ "experimental",
673
+ "deprecated"
674
+ ]
675
+ },
676
+ "summary": {
677
+ "$ref": "#/$defs/nonEmptyString"
678
+ },
679
+ "keywords": {
680
+ "$ref": "#/$defs/stringList"
681
+ }
682
+ }
683
+ },
684
+ "index": {
685
+ "type": "object",
686
+ "additionalProperties": false,
687
+ "required": [
688
+ "llmSchemaVersion",
689
+ "designSystemVersion",
690
+ "packageName",
691
+ "apiModel",
692
+ "sourceFingerprint",
693
+ "files",
694
+ "components",
695
+ "queryBehavior"
696
+ ],
697
+ "properties": {
698
+ "llmSchemaVersion": {
699
+ "type": "string",
700
+ "const": "1.0.0"
701
+ },
702
+ "designSystemVersion": {
703
+ "$ref": "#/$defs/nonEmptyString"
704
+ },
705
+ "packageName": {
706
+ "$ref": "#/$defs/nonEmptyString"
707
+ },
708
+ "apiModel": {
709
+ "type": "string",
710
+ "const": "html-class"
711
+ },
712
+ "sourceFingerprint": {
713
+ "type": "string",
714
+ "pattern": "^[a-f0-9]{64}$"
715
+ },
716
+ "files": {
717
+ "type": "object",
718
+ "additionalProperties": false,
719
+ "required": [
720
+ "schema",
721
+ "tokens",
722
+ "patterns",
723
+ "rules",
724
+ "componentsDir",
725
+ "examplesDir",
726
+ "llms"
727
+ ],
728
+ "properties": {
729
+ "schema": {
730
+ "$ref": "#/$defs/path"
731
+ },
732
+ "tokens": {
733
+ "$ref": "#/$defs/path"
734
+ },
735
+ "patterns": {
736
+ "$ref": "#/$defs/path"
737
+ },
738
+ "rules": {
739
+ "$ref": "#/$defs/path"
740
+ },
741
+ "componentsDir": {
742
+ "$ref": "#/$defs/path"
743
+ },
744
+ "examplesDir": {
745
+ "$ref": "#/$defs/path"
746
+ },
747
+ "llms": {
748
+ "$ref": "#/$defs/path"
749
+ }
750
+ }
751
+ },
752
+ "components": {
753
+ "type": "array",
754
+ "minItems": 1,
755
+ "items": {
756
+ "$ref": "#/$defs/indexComponentEntry"
757
+ }
758
+ },
759
+ "queryBehavior": {
760
+ "type": "object",
761
+ "additionalProperties": false,
762
+ "required": [
763
+ "lookupPriority",
764
+ "unsupportedComponent"
765
+ ],
766
+ "properties": {
767
+ "lookupPriority": {
768
+ "type": "array",
769
+ "items": {
770
+ "type": "string"
771
+ },
772
+ "minItems": 1
773
+ },
774
+ "unsupportedComponent": {
775
+ "type": "object",
776
+ "additionalProperties": false,
777
+ "required": [
778
+ "code",
779
+ "message",
780
+ "suggestedActions"
781
+ ],
782
+ "properties": {
783
+ "code": {
784
+ "type": "string",
785
+ "const": "UNSUPPORTED_COMPONENT"
786
+ },
787
+ "message": {
788
+ "$ref": "#/$defs/nonEmptyString"
789
+ },
790
+ "suggestedActions": {
791
+ "type": "array",
792
+ "items": {
793
+ "type": "string"
794
+ },
795
+ "minItems": 1
796
+ }
797
+ }
798
+ }
799
+ }
800
+ }
801
+ }
802
+ }
803
+ }
804
+ }