gbs-add-block 2.1.0 → 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 -207
  4. package/CHANGELOG.md +74 -0
  5. package/README.md +154 -23
  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 +225 -226
  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 -140
  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 -234
  22. package/source/beta-components/card/passport.json +337 -0
  23. package/source/beta-components/card/styles.css +230 -232
  24. package/source/beta-components/checkbox/passport.json +456 -0
  25. package/source/beta-components/checkbox/styles.css +211 -213
  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 -716
  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 -279
  48. package/source/beta-components/file-uploader/passport.json +518 -0
  49. package/source/beta-components/file-uploader/styles.css +394 -396
  50. package/source/beta-components/input/passport.json +536 -0
  51. package/source/beta-components/input/styles.css +295 -297
  52. package/source/beta-components/menu/passport.json +322 -0
  53. package/source/beta-components/menu/styles.css +224 -223
  54. package/source/beta-components/modal/passport.json +289 -0
  55. package/source/beta-components/modal/styles.css +241 -240
  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 -147
  60. package/source/beta-components/progress/passport.json +270 -0
  61. package/source/beta-components/progress/styles.css +200 -201
  62. package/source/beta-components/radio-group/passport.json +477 -0
  63. package/source/beta-components/radio-group/styles.css +269 -270
  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 -187
  79. package/source/beta-components/spinner/passport.json +245 -0
  80. package/source/beta-components/spinner/styles.css +173 -174
  81. package/source/beta-components/switch/passport.json +421 -0
  82. package/source/beta-components/switch/styles.css +227 -229
  83. package/source/beta-components/tabs/passport.json +315 -0
  84. package/source/beta-components/tabs/styles.css +263 -264
  85. package/source/beta-components/textarea/passport.json +382 -0
  86. package/source/beta-components/textarea/styles.css +158 -160
  87. package/source/beta-components/toaster/passport.json +221 -0
  88. package/source/beta-components/toaster/styles.css +282 -282
  89. package/source/beta-components/tooltip/passport.json +170 -0
  90. package/source/beta-components/tooltip/styles.css +71 -73
  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,477 @@
1
+ {
2
+ "passportVersion": "1.0.0",
3
+ "identity": {
4
+ "component": "Radio",
5
+ "folder": "radio-group",
6
+ "exports": [
7
+ "Radio",
8
+ "RadioGroup",
9
+ "RadioGroupContext"
10
+ ]
11
+ },
12
+ "source": {
13
+ "libraryVersion": "2.3.0",
14
+ "files": [
15
+ "core/group.ts",
16
+ "core/index.ts",
17
+ "core/types.ts",
18
+ "index.ts",
19
+ "react/Radio.tsx",
20
+ "react/RadioGroup.tsx",
21
+ "react/context.ts",
22
+ "react/locale.ts",
23
+ "react/props.ts"
24
+ ],
25
+ "sourceHash": "sha256:ee93fa53d6b6097d026dfeaa9521f2d1e909152a4f3167041fde910982bec759"
26
+ },
27
+ "props": [
28
+ {
29
+ "name": "aria-describedby",
30
+ "type": "string",
31
+ "typeText": "string | undefined",
32
+ "required": false,
33
+ "origin": "inherited"
34
+ },
35
+ {
36
+ "name": "aria-label",
37
+ "type": "string",
38
+ "typeText": "string | undefined",
39
+ "required": false,
40
+ "origin": "inherited"
41
+ },
42
+ {
43
+ "name": "aria-labelledby",
44
+ "type": "string",
45
+ "typeText": "string | undefined",
46
+ "required": false,
47
+ "origin": "inherited"
48
+ },
49
+ {
50
+ "name": "autoComplete",
51
+ "type": "other",
52
+ "typeText": "HTMLInputAutoCompleteAttribute | undefined",
53
+ "required": false,
54
+ "origin": "inherited"
55
+ },
56
+ {
57
+ "name": "autoFocus",
58
+ "type": "boolean",
59
+ "typeText": "boolean | undefined",
60
+ "required": false,
61
+ "origin": "inherited"
62
+ },
63
+ {
64
+ "name": "checked",
65
+ "type": "boolean",
66
+ "typeText": "boolean | undefined",
67
+ "required": false,
68
+ "origin": "derived",
69
+ "description": "Selected (controlled). Inside a RadioGroup the group decides instead.",
70
+ "descriptionOrigin": "jsdoc"
71
+ },
72
+ {
73
+ "name": "children",
74
+ "type": "other",
75
+ "typeText": "ReactNode",
76
+ "required": false,
77
+ "origin": "derived"
78
+ },
79
+ {
80
+ "name": "className",
81
+ "type": "string",
82
+ "typeText": "string | undefined",
83
+ "required": false,
84
+ "origin": "derived"
85
+ },
86
+ {
87
+ "name": "classNames",
88
+ "type": "other",
89
+ "typeText": "Partial<Record<RadioSlot, string>> | undefined",
90
+ "required": false,
91
+ "origin": "derived"
92
+ },
93
+ {
94
+ "name": "clearable",
95
+ "type": "boolean",
96
+ "typeText": "boolean | undefined",
97
+ "required": false,
98
+ "default": false,
99
+ "origin": "derived",
100
+ "description": "Offer a button that empties the group. Radios cannot be unselected by\r\nclicking or by keyboard — that is the control's nature, not an oversight —\r\nso an optional choice needs either this or a \"None\" option of its own.",
101
+ "descriptionOrigin": "jsdoc"
102
+ },
103
+ {
104
+ "name": "defaultChecked",
105
+ "type": "boolean",
106
+ "typeText": "boolean | undefined",
107
+ "required": false,
108
+ "default": false,
109
+ "origin": "derived"
110
+ },
111
+ {
112
+ "name": "defaultValue",
113
+ "type": "string",
114
+ "typeText": "string | null | undefined",
115
+ "required": false,
116
+ "origin": "derived"
117
+ },
118
+ {
119
+ "name": "description",
120
+ "type": "other",
121
+ "typeText": "ReactNode",
122
+ "required": false,
123
+ "origin": "derived"
124
+ },
125
+ {
126
+ "name": "disabled",
127
+ "type": "boolean",
128
+ "typeText": "boolean | undefined",
129
+ "required": false,
130
+ "default": false,
131
+ "origin": "derived"
132
+ },
133
+ {
134
+ "name": "error",
135
+ "type": "other",
136
+ "typeText": "ReactNode",
137
+ "required": false,
138
+ "origin": "derived"
139
+ },
140
+ {
141
+ "name": "form",
142
+ "type": "string",
143
+ "typeText": "string | undefined",
144
+ "required": false,
145
+ "origin": "inherited"
146
+ },
147
+ {
148
+ "name": "hidden",
149
+ "type": "boolean",
150
+ "typeText": "boolean | undefined",
151
+ "required": false,
152
+ "origin": "inherited"
153
+ },
154
+ {
155
+ "name": "id",
156
+ "type": "string",
157
+ "typeText": "string | undefined",
158
+ "required": false,
159
+ "origin": "derived"
160
+ },
161
+ {
162
+ "name": "inputMode",
163
+ "type": "enum",
164
+ "values": [
165
+ "decimal",
166
+ "email",
167
+ "none",
168
+ "numeric",
169
+ "search",
170
+ "tel",
171
+ "text",
172
+ "url"
173
+ ],
174
+ "typeText": "'none' | 'search' | 'email' | 'tel' | 'text' | 'url' | 'numeric' | 'decimal' | undefined",
175
+ "required": false,
176
+ "origin": "inherited"
177
+ },
178
+ {
179
+ "name": "label",
180
+ "type": "other",
181
+ "typeText": "ReactNode",
182
+ "required": false,
183
+ "origin": "derived"
184
+ },
185
+ {
186
+ "name": "localeText",
187
+ "type": "other",
188
+ "typeText": "Partial<RadioGroupLocaleText> | undefined",
189
+ "required": false,
190
+ "origin": "derived"
191
+ },
192
+ {
193
+ "name": "max",
194
+ "type": "other",
195
+ "typeText": "string | number | undefined",
196
+ "required": false,
197
+ "origin": "inherited"
198
+ },
199
+ {
200
+ "name": "maxLength",
201
+ "type": "number",
202
+ "typeText": "number | undefined",
203
+ "required": false,
204
+ "origin": "inherited"
205
+ },
206
+ {
207
+ "name": "min",
208
+ "type": "other",
209
+ "typeText": "string | number | undefined",
210
+ "required": false,
211
+ "origin": "inherited"
212
+ },
213
+ {
214
+ "name": "minLength",
215
+ "type": "number",
216
+ "typeText": "number | undefined",
217
+ "required": false,
218
+ "origin": "inherited"
219
+ },
220
+ {
221
+ "name": "name",
222
+ "type": "string",
223
+ "typeText": "string | undefined",
224
+ "required": false,
225
+ "origin": "derived",
226
+ "description": "Form field name shared by every radio. One is generated when it is left out.",
227
+ "descriptionOrigin": "jsdoc"
228
+ },
229
+ {
230
+ "name": "onChange",
231
+ "type": "function",
232
+ "signature": "ChangeEventHandler<HTMLInputElement> | undefined",
233
+ "required": false,
234
+ "origin": "derived"
235
+ },
236
+ {
237
+ "name": "onCheckedChange",
238
+ "type": "function",
239
+ "signature": "((checked: boolean) => void) | undefined",
240
+ "required": false,
241
+ "origin": "derived"
242
+ },
243
+ {
244
+ "name": "onValueChange",
245
+ "type": "function",
246
+ "signature": "((value: string | null) => void) | undefined",
247
+ "required": false,
248
+ "origin": "derived"
249
+ },
250
+ {
251
+ "name": "options",
252
+ "type": "other",
253
+ "typeText": "readonly (string | RadioOption)[] | undefined",
254
+ "required": false,
255
+ "origin": "derived",
256
+ "description": "Render these choices, or pass `<Radio value=\"…\">` children. Plain strings work too.",
257
+ "descriptionOrigin": "jsdoc"
258
+ },
259
+ {
260
+ "name": "orientation",
261
+ "type": "enum",
262
+ "values": [
263
+ "horizontal",
264
+ "vertical"
265
+ ],
266
+ "typeText": "RadioOrientation | undefined",
267
+ "required": false,
268
+ "default": "vertical",
269
+ "origin": "derived",
270
+ "description": "Default `vertical`.",
271
+ "descriptionOrigin": "jsdoc"
272
+ },
273
+ {
274
+ "name": "pattern",
275
+ "type": "string",
276
+ "typeText": "string | undefined",
277
+ "required": false,
278
+ "origin": "inherited"
279
+ },
280
+ {
281
+ "name": "placeholder",
282
+ "type": "string",
283
+ "typeText": "string | undefined",
284
+ "required": false,
285
+ "origin": "inherited"
286
+ },
287
+ {
288
+ "name": "readOnly",
289
+ "type": "boolean",
290
+ "typeText": "boolean | undefined",
291
+ "required": false,
292
+ "origin": "inherited"
293
+ },
294
+ {
295
+ "name": "ref",
296
+ "type": "other",
297
+ "typeText": "Ref<HTMLInputElement> | undefined",
298
+ "required": false,
299
+ "origin": "derived",
300
+ "description": "The `<input>` element.",
301
+ "descriptionOrigin": "jsdoc"
302
+ },
303
+ {
304
+ "name": "required",
305
+ "type": "boolean",
306
+ "typeText": "boolean | undefined",
307
+ "required": false,
308
+ "default": false,
309
+ "origin": "derived"
310
+ },
311
+ {
312
+ "name": "role",
313
+ "type": "other",
314
+ "typeText": "AriaRole | undefined",
315
+ "required": false,
316
+ "origin": "inherited"
317
+ },
318
+ {
319
+ "name": "size",
320
+ "type": "enum",
321
+ "values": [
322
+ "lg",
323
+ "md",
324
+ "sm"
325
+ ],
326
+ "typeText": "RadioSize | undefined",
327
+ "required": false,
328
+ "origin": "derived"
329
+ },
330
+ {
331
+ "name": "step",
332
+ "type": "other",
333
+ "typeText": "string | number | undefined",
334
+ "required": false,
335
+ "origin": "inherited"
336
+ },
337
+ {
338
+ "name": "style",
339
+ "type": "other",
340
+ "typeText": "CSSProperties | undefined",
341
+ "required": false,
342
+ "origin": "derived"
343
+ },
344
+ {
345
+ "name": "tabIndex",
346
+ "type": "number",
347
+ "typeText": "number | undefined",
348
+ "required": false,
349
+ "origin": "inherited"
350
+ },
351
+ {
352
+ "name": "title",
353
+ "type": "string",
354
+ "typeText": "string | undefined",
355
+ "required": false,
356
+ "origin": "inherited"
357
+ },
358
+ {
359
+ "name": "value",
360
+ "type": "string",
361
+ "typeText": "string",
362
+ "required": true,
363
+ "origin": "derived",
364
+ "description": "The value this choice contributes to its group.",
365
+ "descriptionOrigin": "jsdoc"
366
+ },
367
+ {
368
+ "name": "variant",
369
+ "type": "enum",
370
+ "values": [
371
+ "card",
372
+ "default"
373
+ ],
374
+ "typeText": "RadioVariant | undefined",
375
+ "required": false,
376
+ "default": "default",
377
+ "origin": "derived",
378
+ "description": "Default `default`. `card` draws each choice as a tile.",
379
+ "descriptionOrigin": "jsdoc"
380
+ }
381
+ ],
382
+ "inherits": [
383
+ {
384
+ "from": "InputHTMLAttributes<HTMLInputElement>",
385
+ "omitted": [
386
+ "checked",
387
+ "defaultChecked",
388
+ "onChange",
389
+ "size",
390
+ "type"
391
+ ],
392
+ "passthrough": true
393
+ }
394
+ ],
395
+ "events": [
396
+ {
397
+ "name": "onChange",
398
+ "signature": "ChangeEventHandler<HTMLInputElement> | undefined"
399
+ },
400
+ {
401
+ "name": "onCheckedChange",
402
+ "signature": "((checked: boolean) => void) | undefined"
403
+ },
404
+ {
405
+ "name": "onValueChange",
406
+ "signature": "((value: string | null) => void) | undefined"
407
+ }
408
+ ],
409
+ "slots": [
410
+ "root",
411
+ "control",
412
+ "input",
413
+ "label",
414
+ "description",
415
+ "error",
416
+ "legend",
417
+ "items",
418
+ "clear"
419
+ ],
420
+ "states": [
421
+ {
422
+ "attr": "data-checked"
423
+ },
424
+ {
425
+ "attr": "data-disabled"
426
+ },
427
+ {
428
+ "attr": "data-invalid"
429
+ },
430
+ {
431
+ "attr": "data-orientation",
432
+ "values": [
433
+ "horizontal"
434
+ ]
435
+ },
436
+ {
437
+ "attr": "data-required"
438
+ },
439
+ {
440
+ "attr": "data-size",
441
+ "values": [
442
+ "lg",
443
+ "sm"
444
+ ]
445
+ },
446
+ {
447
+ "attr": "data-theme",
448
+ "values": [
449
+ "dark",
450
+ "light"
451
+ ]
452
+ },
453
+ {
454
+ "attr": "data-variant",
455
+ "values": [
456
+ "card"
457
+ ]
458
+ }
459
+ ],
460
+ "accessibility": {
461
+ "supplied": [],
462
+ "required": []
463
+ },
464
+ "composition": {},
465
+ "operations": {},
466
+ "intentDomains": [],
467
+ "safeMutations": {},
468
+ "examples": [],
469
+ "coverage": {
470
+ "propsTotal": 44,
471
+ "propsDescribed": 8,
472
+ "describedPct": 18,
473
+ "authoredSections": [
474
+ "accessibility"
475
+ ]
476
+ }
477
+ }