gbs-add-block 2.0.4 → 2.3.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 (129) hide show
  1. package/.gbs/skills/gbs-components/SKILL.md +190 -134
  2. package/.gbs/skills/gbs-components/references/install.md +25 -3
  3. package/.gbs/skills/gbs-components/references/styling.md +246 -201
  4. package/CHANGELOG.md +74 -0
  5. package/README.md +157 -11
  6. package/index.cjs +212 -3
  7. package/package.json +41 -10
  8. package/schema/passport-v1.schema.json +204 -0
  9. package/source/beta-components/accordion/passport.json +259 -0
  10. package/source/beta-components/accordion/styles.css +207 -208
  11. package/source/beta-components/alert/passport.json +250 -0
  12. package/source/beta-components/alert/styles.css +154 -155
  13. package/source/beta-components/avatar/passport.json +294 -0
  14. package/source/beta-components/avatar/styles.css +201 -203
  15. package/source/beta-components/badge/passport.json +332 -0
  16. package/source/beta-components/badge/styles.css +203 -204
  17. package/source/beta-components/breadcrumb/passport.json +243 -0
  18. package/source/beta-components/breadcrumb/styles.css +138 -139
  19. package/source/beta-components/button/passport.json +402 -0
  20. package/source/beta-components/button/passport.manual.json +31 -0
  21. package/source/beta-components/button/styles.css +232 -233
  22. package/source/beta-components/card/passport.json +337 -0
  23. package/source/beta-components/card/styles.css +230 -231
  24. package/source/beta-components/checkbox/passport.json +456 -0
  25. package/source/beta-components/checkbox/styles.css +211 -212
  26. package/source/beta-components/combobox/passport.json +456 -0
  27. package/source/beta-components/combobox/styles.css +419 -417
  28. package/source/beta-components/data-grid/agent/coerce.ts +368 -0
  29. package/source/beta-components/data-grid/agent/contract.ts +410 -0
  30. package/source/beta-components/data-grid/agent/dataset.ts +92 -0
  31. package/source/beta-components/data-grid/agent/engine.ts +470 -0
  32. package/source/beta-components/data-grid/agent/executors.ts +155 -0
  33. package/source/beta-components/data-grid/agent/index.ts +79 -0
  34. package/source/beta-components/data-grid/agent/intent.ts +324 -0
  35. package/source/beta-components/data-grid/agent/operations.ts +335 -0
  36. package/source/beta-components/data-grid/agent/validate.ts +630 -0
  37. package/source/beta-components/data-grid/agent/webmcp.ts +107 -0
  38. package/source/beta-components/data-grid/index.ts +14 -7
  39. package/source/beta-components/data-grid/passport.json +1051 -0
  40. package/source/beta-components/data-grid/passport.manual.json +255 -0
  41. package/source/beta-components/data-grid/react/AskGrid.tsx +164 -0
  42. package/source/beta-components/data-grid/react/DataGrid.tsx +39 -0
  43. package/source/beta-components/data-grid/styles.css +874 -717
  44. package/source/beta-components/date-picker/passport.json +407 -0
  45. package/source/beta-components/date-picker/styles.css +445 -446
  46. package/source/beta-components/dialog/passport.json +344 -0
  47. package/source/beta-components/dialog/styles.css +280 -278
  48. package/source/beta-components/file-uploader/passport.json +518 -0
  49. package/source/beta-components/file-uploader/styles.css +394 -395
  50. package/source/beta-components/input/passport.json +536 -0
  51. package/source/beta-components/input/styles.css +295 -296
  52. package/source/beta-components/menu/passport.json +322 -0
  53. package/source/beta-components/menu/styles.css +224 -222
  54. package/source/beta-components/modal/passport.json +289 -0
  55. package/source/beta-components/modal/styles.css +241 -239
  56. package/source/beta-components/number-input/passport.json +541 -0
  57. package/source/beta-components/number-input/styles.css +230 -231
  58. package/source/beta-components/popover/passport.json +238 -0
  59. package/source/beta-components/popover/styles.css +148 -146
  60. package/source/beta-components/progress/passport.json +270 -0
  61. package/source/beta-components/progress/styles.css +200 -202
  62. package/source/beta-components/radio-group/passport.json +477 -0
  63. package/source/beta-components/radio-group/styles.css +241 -242
  64. package/source/beta-components/shared/core/agent/adapter.ts +65 -0
  65. package/source/beta-components/shared/core/agent/history.ts +120 -0
  66. package/source/beta-components/shared/core/agent/index.ts +46 -0
  67. package/source/beta-components/shared/core/agent/numbers.ts +217 -0
  68. package/source/beta-components/shared/core/agent/schema.ts +180 -0
  69. package/source/beta-components/shared/core/agent/types.ts +169 -0
  70. package/source/beta-components/shared/core/agent/webmcp.ts +328 -0
  71. package/source/beta-components/shared/index.ts +9 -0
  72. package/source/beta-components/shared/react/GramproAIProvider.tsx +50 -0
  73. package/source/beta-components/shared/react/useAskAgent.ts +217 -0
  74. package/source/beta-components/shared/styles.css +79 -0
  75. package/source/beta-components/shared/version.json +4 -4
  76. package/source/beta-components/shared/version.ts +6 -6
  77. package/source/beta-components/skeleton/passport.json +251 -0
  78. package/source/beta-components/skeleton/styles.css +185 -186
  79. package/source/beta-components/spinner/passport.json +245 -0
  80. package/source/beta-components/spinner/styles.css +145 -146
  81. package/source/beta-components/switch/passport.json +421 -0
  82. package/source/beta-components/switch/styles.css +194 -196
  83. package/source/beta-components/tabs/passport.json +315 -0
  84. package/source/beta-components/tabs/styles.css +234 -235
  85. package/source/beta-components/textarea/passport.json +382 -0
  86. package/source/beta-components/textarea/styles.css +158 -159
  87. package/source/beta-components/toaster/passport.json +221 -0
  88. package/source/beta-components/toaster/styles.css +282 -283
  89. package/source/beta-components/tooltip/passport.json +170 -0
  90. package/source/beta-components/tooltip/styles.css +71 -72
  91. package/tools/env.cjs +61 -0
  92. package/tools/passport/cli.cjs +79 -0
  93. package/tools/passport/extract.cjs +493 -0
  94. package/tools/passport/index.cjs +185 -0
  95. package/tools/passport/merge.cjs +131 -0
  96. package/tools/passport/policy.cjs +65 -0
  97. package/tools/passport/validate.cjs +277 -0
  98. package/tools/ts-require.cjs +79 -0
  99. package/source/beta-components/accordion/__tests__/core.test.ts +0 -58
  100. package/source/beta-components/alert/__tests__/core.test.ts +0 -17
  101. package/source/beta-components/avatar/__tests__/core.test.ts +0 -88
  102. package/source/beta-components/badge/__tests__/core.test.ts +0 -46
  103. package/source/beta-components/breadcrumb/__tests__/core.test.ts +0 -58
  104. package/source/beta-components/button/__tests__/core.test.ts +0 -31
  105. package/source/beta-components/card/__tests__/core.test.ts +0 -57
  106. package/source/beta-components/checkbox/__tests__/core.test.ts +0 -40
  107. package/source/beta-components/combobox/__tests__/core.test.ts +0 -134
  108. package/source/beta-components/data-grid/__tests__/core.test.ts +0 -356
  109. package/source/beta-components/data-grid/__tests__/export.test.ts +0 -70
  110. package/source/beta-components/data-grid/__tests__/pdf.test.ts +0 -209
  111. package/source/beta-components/date-picker/__tests__/core.test.ts +0 -273
  112. package/source/beta-components/dialog/__tests__/core.test.ts +0 -86
  113. package/source/beta-components/file-uploader/__tests__/core.test.ts +0 -395
  114. package/source/beta-components/input/__tests__/core.test.ts +0 -75
  115. package/source/beta-components/menu/__tests__/core.test.ts +0 -120
  116. package/source/beta-components/modal/__tests__/core.test.ts +0 -55
  117. package/source/beta-components/number-input/__tests__/core.test.ts +0 -151
  118. package/source/beta-components/progress/__tests__/core.test.ts +0 -56
  119. package/source/beta-components/radio-group/__tests__/core.test.ts +0 -64
  120. package/source/beta-components/shared/__tests__/boundaries.test.ts +0 -95
  121. package/source/beta-components/shared/__tests__/core.test.ts +0 -55
  122. package/source/beta-components/shared/__tests__/position.test.ts +0 -143
  123. package/source/beta-components/skeleton/__tests__/core.test.ts +0 -41
  124. package/source/beta-components/spinner/__tests__/core.test.ts +0 -48
  125. package/source/beta-components/switch/__tests__/core.test.ts +0 -64
  126. package/source/beta-components/tabs/__tests__/core.test.ts +0 -51
  127. package/source/beta-components/textarea/__tests__/core.test.ts +0 -38
  128. package/source/beta-components/toaster/__tests__/core.test.ts +0 -256
  129. package/source/beta-components/tooltip/__tests__/core.test.ts +0 -42
@@ -0,0 +1,518 @@
1
+ {
2
+ "passportVersion": "1.0.0",
3
+ "identity": {
4
+ "component": "FileUploader",
5
+ "folder": "file-uploader",
6
+ "exports": [
7
+ "DEFAULT_CHUNK_SIZE",
8
+ "DEFAULT_CONCURRENCY",
9
+ "DEFAULT_FIELD_NAMES",
10
+ "DEFAULT_RETRIES",
11
+ "DEFAULT_RETRY_DELAY",
12
+ "FileUploader"
13
+ ]
14
+ },
15
+ "source": {
16
+ "libraryVersion": "2.3.0",
17
+ "files": [
18
+ "core/format.ts",
19
+ "core/index.ts",
20
+ "core/store.ts",
21
+ "core/transport.ts",
22
+ "core/types.ts",
23
+ "core/validate.ts",
24
+ "index.ts",
25
+ "react/FileRow.tsx",
26
+ "react/FileUploader.tsx",
27
+ "react/icons.tsx",
28
+ "react/locale.ts",
29
+ "react/props.ts",
30
+ "react/useFileUploader.ts"
31
+ ],
32
+ "sourceHash": "sha256:9fc7663657982ad58e5d50221e4e96816a30d6f7add8f9af4f956a48f8611832"
33
+ },
34
+ "props": [
35
+ {
36
+ "name": "accept",
37
+ "type": "string",
38
+ "typeText": "string | undefined",
39
+ "required": false,
40
+ "origin": "derived",
41
+ "description": "Same syntax as `<input accept>`: `.pdf`, `image/*`, `application/json`.",
42
+ "descriptionOrigin": "jsdoc"
43
+ },
44
+ {
45
+ "name": "allowDuplicates",
46
+ "type": "boolean",
47
+ "typeText": "boolean | undefined",
48
+ "required": false,
49
+ "origin": "derived"
50
+ },
51
+ {
52
+ "name": "autoUpload",
53
+ "type": "boolean",
54
+ "typeText": "boolean | undefined",
55
+ "required": false,
56
+ "default": false,
57
+ "origin": "derived",
58
+ "description": "Upload as soon as files are added. Default false.",
59
+ "descriptionOrigin": "jsdoc"
60
+ },
61
+ {
62
+ "name": "chunkSize",
63
+ "type": "number",
64
+ "typeText": "number | undefined",
65
+ "required": false,
66
+ "origin": "derived",
67
+ "description": "Bytes per request. Default 5 MiB.",
68
+ "descriptionOrigin": "jsdoc"
69
+ },
70
+ {
71
+ "name": "className",
72
+ "type": "string",
73
+ "typeText": "string | undefined",
74
+ "required": false,
75
+ "origin": "derived"
76
+ },
77
+ {
78
+ "name": "classNames",
79
+ "type": "other",
80
+ "typeText": "Partial<Record<UploaderSlot, string>> | undefined",
81
+ "required": false,
82
+ "origin": "derived"
83
+ },
84
+ {
85
+ "name": "concurrency",
86
+ "type": "number",
87
+ "typeText": "number | undefined",
88
+ "required": false,
89
+ "origin": "derived",
90
+ "description": "Files uploading at once. Default 3.",
91
+ "descriptionOrigin": "jsdoc"
92
+ },
93
+ {
94
+ "name": "description",
95
+ "type": "other",
96
+ "typeText": "ReactNode",
97
+ "required": false,
98
+ "origin": "derived"
99
+ },
100
+ {
101
+ "name": "disabled",
102
+ "type": "boolean",
103
+ "typeText": "boolean | undefined",
104
+ "required": false,
105
+ "default": false,
106
+ "origin": "derived"
107
+ },
108
+ {
109
+ "name": "endpoint",
110
+ "type": "other",
111
+ "typeText": "string | ((request: import(\"..\").ChunkRequest) => string) | undefined",
112
+ "required": false,
113
+ "origin": "derived",
114
+ "description": "Where chunks are POSTed. Without `endpoint` or `transport`, files are only selected.",
115
+ "descriptionOrigin": "jsdoc"
116
+ },
117
+ {
118
+ "name": "error",
119
+ "type": "other",
120
+ "typeText": "ReactNode",
121
+ "required": false,
122
+ "origin": "derived",
123
+ "description": "Message below the drop zone; also marks it invalid.",
124
+ "descriptionOrigin": "jsdoc"
125
+ },
126
+ {
127
+ "name": "existingFiles",
128
+ "type": "other",
129
+ "typeText": "readonly ExistingFile[] | undefined",
130
+ "required": false,
131
+ "origin": "derived",
132
+ "description": "Files already stored, shown above new ones.",
133
+ "descriptionOrigin": "jsdoc"
134
+ },
135
+ {
136
+ "name": "fieldNames",
137
+ "type": "other",
138
+ "typeText": "Partial<import(\"..\").ChunkFieldNames> | undefined",
139
+ "required": false,
140
+ "origin": "derived"
141
+ },
142
+ {
143
+ "name": "getFileId",
144
+ "type": "function",
145
+ "signature": "((item: UploadItem) => string | undefined) | undefined",
146
+ "required": false,
147
+ "origin": "derived",
148
+ "description": "The value posted for an uploaded file. Default: the id found in the server's response.",
149
+ "descriptionOrigin": "jsdoc"
150
+ },
151
+ {
152
+ "name": "headers",
153
+ "type": "other",
154
+ "typeText": "Record<string, string> | ((request: import(\"..\").ChunkRequest) => Record<string, string> | Promise<Record<string, string>>) | undefined",
155
+ "required": false,
156
+ "origin": "derived"
157
+ },
158
+ {
159
+ "name": "id",
160
+ "type": "string",
161
+ "typeText": "string | undefined",
162
+ "required": false,
163
+ "origin": "derived"
164
+ },
165
+ {
166
+ "name": "label",
167
+ "type": "other",
168
+ "typeText": "ReactNode",
169
+ "required": false,
170
+ "origin": "derived"
171
+ },
172
+ {
173
+ "name": "locale",
174
+ "type": "string",
175
+ "typeText": "string | undefined",
176
+ "required": false,
177
+ "origin": "derived",
178
+ "description": "For sizes and percentages.",
179
+ "descriptionOrigin": "jsdoc"
180
+ },
181
+ {
182
+ "name": "localeText",
183
+ "type": "other",
184
+ "typeText": "Partial<UploaderLocaleText> | undefined",
185
+ "required": false,
186
+ "origin": "derived"
187
+ },
188
+ {
189
+ "name": "maxFiles",
190
+ "type": "number",
191
+ "typeText": "number | undefined",
192
+ "required": false,
193
+ "origin": "derived",
194
+ "description": "Total files, counting ones already selected.",
195
+ "descriptionOrigin": "jsdoc"
196
+ },
197
+ {
198
+ "name": "maxSize",
199
+ "type": "number",
200
+ "typeText": "number | undefined",
201
+ "required": false,
202
+ "origin": "derived",
203
+ "description": "Bytes per file.",
204
+ "descriptionOrigin": "jsdoc"
205
+ },
206
+ {
207
+ "name": "method",
208
+ "type": "enum",
209
+ "values": [
210
+ "PATCH",
211
+ "POST",
212
+ "PUT"
213
+ ],
214
+ "typeText": "'POST' | 'PUT' | 'PATCH' | undefined",
215
+ "required": false,
216
+ "origin": "derived"
217
+ },
218
+ {
219
+ "name": "minSize",
220
+ "type": "number",
221
+ "typeText": "number | undefined",
222
+ "required": false,
223
+ "origin": "derived",
224
+ "description": "Bytes per file.",
225
+ "descriptionOrigin": "jsdoc"
226
+ },
227
+ {
228
+ "name": "multiple",
229
+ "type": "boolean",
230
+ "typeText": "boolean | undefined",
231
+ "required": false,
232
+ "default": false,
233
+ "origin": "derived",
234
+ "description": "Several files. When false, a new file replaces the current one. Default false.",
235
+ "descriptionOrigin": "jsdoc"
236
+ },
237
+ {
238
+ "name": "name",
239
+ "type": "string",
240
+ "typeText": "string | undefined",
241
+ "required": false,
242
+ "origin": "derived",
243
+ "description": "Form field name. With an endpoint, the stored file ids are posted; without\r\none, the files themselves are, so a plain form or Server Action gets them.",
244
+ "descriptionOrigin": "jsdoc"
245
+ },
246
+ {
247
+ "name": "onChange",
248
+ "type": "function",
249
+ "signature": "((files: File[]) => void) | undefined",
250
+ "required": false,
251
+ "origin": "derived",
252
+ "description": "Selected files changed.",
253
+ "descriptionOrigin": "jsdoc"
254
+ },
255
+ {
256
+ "name": "onFileError",
257
+ "type": "function",
258
+ "signature": "((item: UploadItem, error: unknown) => void) | undefined",
259
+ "required": false,
260
+ "origin": "derived"
261
+ },
262
+ {
263
+ "name": "onFileSuccess",
264
+ "type": "function",
265
+ "signature": "((item: UploadItem) => void) | undefined",
266
+ "required": false,
267
+ "origin": "derived"
268
+ },
269
+ {
270
+ "name": "onRejected",
271
+ "type": "function",
272
+ "signature": "((rejections: FileRejection[]) => void) | undefined",
273
+ "required": false,
274
+ "origin": "derived"
275
+ },
276
+ {
277
+ "name": "onRemoveExisting",
278
+ "type": "function",
279
+ "signature": "((file: ExistingFile) => void) | undefined",
280
+ "required": false,
281
+ "origin": "derived"
282
+ },
283
+ {
284
+ "name": "onUploadComplete",
285
+ "type": "function",
286
+ "signature": "((items: UploadItem[]) => void) | undefined",
287
+ "required": false,
288
+ "origin": "derived",
289
+ "description": "Every file in an upload run has stopped (uploaded, failed, paused or canceled).",
290
+ "descriptionOrigin": "jsdoc"
291
+ },
292
+ {
293
+ "name": "params",
294
+ "type": "other",
295
+ "typeText": "import(\"..\").UploadParams | ((file: File) => import(\"..\").UploadParams) | undefined",
296
+ "required": false,
297
+ "origin": "derived",
298
+ "description": "Extra data sent as JSON with every chunk.",
299
+ "descriptionOrigin": "jsdoc"
300
+ },
301
+ {
302
+ "name": "parseResponse",
303
+ "type": "function",
304
+ "signature": "((body: string, xhr: XMLHttpRequest) => unknown) | undefined",
305
+ "required": false,
306
+ "origin": "derived"
307
+ },
308
+ {
309
+ "name": "preview",
310
+ "type": "boolean",
311
+ "typeText": "boolean | undefined",
312
+ "required": false,
313
+ "default": true,
314
+ "origin": "derived",
315
+ "description": "Thumbnails for images. Default true.",
316
+ "descriptionOrigin": "jsdoc"
317
+ },
318
+ {
319
+ "name": "ref",
320
+ "type": "other",
321
+ "typeText": "Ref<FileUploaderHandle> | undefined",
322
+ "required": false,
323
+ "origin": "derived"
324
+ },
325
+ {
326
+ "name": "removable",
327
+ "type": "boolean",
328
+ "typeText": "boolean | undefined",
329
+ "required": false,
330
+ "default": true,
331
+ "origin": "derived",
332
+ "description": "Show remove buttons. Default true.",
333
+ "descriptionOrigin": "jsdoc"
334
+ },
335
+ {
336
+ "name": "required",
337
+ "type": "boolean",
338
+ "typeText": "boolean | undefined",
339
+ "required": false,
340
+ "default": false,
341
+ "origin": "derived"
342
+ },
343
+ {
344
+ "name": "retries",
345
+ "type": "number",
346
+ "typeText": "number | undefined",
347
+ "required": false,
348
+ "origin": "derived",
349
+ "description": "Extra attempts per chunk. Default 3.",
350
+ "descriptionOrigin": "jsdoc"
351
+ },
352
+ {
353
+ "name": "retryDelay",
354
+ "type": "number",
355
+ "typeText": "number | undefined",
356
+ "required": false,
357
+ "origin": "derived",
358
+ "description": "First retry delay in ms, doubled each time. Default 1000.",
359
+ "descriptionOrigin": "jsdoc"
360
+ },
361
+ {
362
+ "name": "size",
363
+ "type": "enum",
364
+ "values": [
365
+ "lg",
366
+ "md",
367
+ "sm"
368
+ ],
369
+ "typeText": "UploaderSize | undefined",
370
+ "required": false,
371
+ "default": "md",
372
+ "origin": "derived"
373
+ },
374
+ {
375
+ "name": "style",
376
+ "type": "other",
377
+ "typeText": "CSSProperties | undefined",
378
+ "required": false,
379
+ "origin": "derived"
380
+ },
381
+ {
382
+ "name": "transport",
383
+ "type": "function",
384
+ "signature": "Transport | undefined",
385
+ "required": false,
386
+ "origin": "derived",
387
+ "description": "Replaces the built-in HTTP transport, e.g. for presigned URLs or an SDK.",
388
+ "descriptionOrigin": "jsdoc"
389
+ },
390
+ {
391
+ "name": "validate",
392
+ "type": "function",
393
+ "signature": "((file: File) => string | null | undefined) | undefined",
394
+ "required": false,
395
+ "origin": "derived",
396
+ "description": "Return a message to reject a file.",
397
+ "descriptionOrigin": "jsdoc"
398
+ },
399
+ {
400
+ "name": "withCredentials",
401
+ "type": "boolean",
402
+ "typeText": "boolean | undefined",
403
+ "required": false,
404
+ "origin": "derived"
405
+ }
406
+ ],
407
+ "events": [
408
+ {
409
+ "name": "onChange",
410
+ "signature": "((files: File[]) => void) | undefined"
411
+ },
412
+ {
413
+ "name": "onFileError",
414
+ "signature": "((item: UploadItem, error: unknown) => void) | undefined"
415
+ },
416
+ {
417
+ "name": "onFileSuccess",
418
+ "signature": "((item: UploadItem) => void) | undefined"
419
+ },
420
+ {
421
+ "name": "onRejected",
422
+ "signature": "((rejections: FileRejection[]) => void) | undefined"
423
+ },
424
+ {
425
+ "name": "onRemoveExisting",
426
+ "signature": "((file: ExistingFile) => void) | undefined"
427
+ },
428
+ {
429
+ "name": "onUploadComplete",
430
+ "signature": "((items: UploadItem[]) => void) | undefined"
431
+ }
432
+ ],
433
+ "slots": [
434
+ "root",
435
+ "label",
436
+ "dropzone",
437
+ "rejections",
438
+ "list",
439
+ "item",
440
+ "thumb",
441
+ "progress",
442
+ "actions",
443
+ "footer"
444
+ ],
445
+ "states": [
446
+ {
447
+ "attr": "data-disabled"
448
+ },
449
+ {
450
+ "attr": "data-dragging"
451
+ },
452
+ {
453
+ "attr": "data-existing"
454
+ },
455
+ {
456
+ "attr": "data-invalid"
457
+ },
458
+ {
459
+ "attr": "data-kind",
460
+ "values": [
461
+ "audio",
462
+ "document",
463
+ "image",
464
+ "pdf",
465
+ "spreadsheet",
466
+ "video"
467
+ ]
468
+ },
469
+ {
470
+ "attr": "data-required"
471
+ },
472
+ {
473
+ "attr": "data-size",
474
+ "values": [
475
+ "lg",
476
+ "sm"
477
+ ]
478
+ },
479
+ {
480
+ "attr": "data-status",
481
+ "values": [
482
+ "error",
483
+ "paused",
484
+ "success"
485
+ ]
486
+ },
487
+ {
488
+ "attr": "data-theme",
489
+ "values": [
490
+ "dark",
491
+ "light"
492
+ ]
493
+ },
494
+ {
495
+ "attr": "data-variant",
496
+ "values": [
497
+ "primary"
498
+ ]
499
+ }
500
+ ],
501
+ "accessibility": {
502
+ "supplied": [],
503
+ "required": []
504
+ },
505
+ "composition": {},
506
+ "operations": {},
507
+ "intentDomains": [],
508
+ "safeMutations": {},
509
+ "examples": [],
510
+ "coverage": {
511
+ "propsTotal": 44,
512
+ "propsDescribed": 23,
513
+ "describedPct": 52,
514
+ "authoredSections": [
515
+ "accessibility"
516
+ ]
517
+ }
518
+ }