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,456 @@
1
+ {
2
+ "passportVersion": "1.0.0",
3
+ "identity": {
4
+ "component": "Select",
5
+ "folder": "combobox",
6
+ "exports": [
7
+ "MultiSelect",
8
+ "Select"
9
+ ]
10
+ },
11
+ "source": {
12
+ "libraryVersion": "2.3.0",
13
+ "files": [
14
+ "core/filter.ts",
15
+ "core/index.ts",
16
+ "core/types.ts",
17
+ "core/virtual.ts",
18
+ "index.ts",
19
+ "react/Listbox.tsx",
20
+ "react/MultiSelect.tsx",
21
+ "react/Popover.tsx",
22
+ "react/Select.tsx",
23
+ "react/icons.tsx",
24
+ "react/locale.ts",
25
+ "react/props.ts",
26
+ "react/useCombobox.ts"
27
+ ],
28
+ "sourceHash": "sha256:9dac98130958612cab68129c7e91faf621b32cf686dc2835d4c8bc28c2761846"
29
+ },
30
+ "props": [
31
+ {
32
+ "name": "allowCreate",
33
+ "type": "boolean",
34
+ "typeText": "boolean | undefined",
35
+ "required": false,
36
+ "origin": "derived",
37
+ "description": "Offers \"Create …\" when the search matches no option.",
38
+ "descriptionOrigin": "jsdoc"
39
+ },
40
+ {
41
+ "name": "aria-label",
42
+ "type": "string",
43
+ "typeText": "string | undefined",
44
+ "required": false,
45
+ "origin": "derived",
46
+ "description": "Names the control when there is no visible `label`.",
47
+ "descriptionOrigin": "jsdoc"
48
+ },
49
+ {
50
+ "name": "className",
51
+ "type": "string",
52
+ "typeText": "string | undefined",
53
+ "required": false,
54
+ "origin": "derived"
55
+ },
56
+ {
57
+ "name": "classNames",
58
+ "type": "other",
59
+ "typeText": "Partial<Record<ComboboxSlot, string>> | undefined",
60
+ "required": false,
61
+ "origin": "derived"
62
+ },
63
+ {
64
+ "name": "clearable",
65
+ "type": "boolean",
66
+ "typeText": "boolean | undefined",
67
+ "required": false,
68
+ "default": true,
69
+ "origin": "derived",
70
+ "description": "Show the clear button. Default true.",
71
+ "descriptionOrigin": "jsdoc"
72
+ },
73
+ {
74
+ "name": "closeOnSelect",
75
+ "type": "boolean",
76
+ "typeText": "boolean | undefined",
77
+ "required": false,
78
+ "default": true,
79
+ "origin": "derived",
80
+ "description": "Keep the list open after choosing. Default false.",
81
+ "descriptionOrigin": "jsdoc"
82
+ },
83
+ {
84
+ "name": "defaultValue",
85
+ "type": "other",
86
+ "typeText": "V | null | undefined",
87
+ "required": false,
88
+ "origin": "derived"
89
+ },
90
+ {
91
+ "name": "description",
92
+ "type": "other",
93
+ "typeText": "ReactNode",
94
+ "required": false,
95
+ "origin": "derived"
96
+ },
97
+ {
98
+ "name": "disabled",
99
+ "type": "boolean",
100
+ "typeText": "boolean | undefined",
101
+ "required": false,
102
+ "default": false,
103
+ "origin": "derived"
104
+ },
105
+ {
106
+ "name": "emptyMessage",
107
+ "type": "other",
108
+ "typeText": "ReactNode",
109
+ "required": false,
110
+ "origin": "derived"
111
+ },
112
+ {
113
+ "name": "error",
114
+ "type": "other",
115
+ "typeText": "ReactNode",
116
+ "required": false,
117
+ "origin": "derived",
118
+ "description": "Message shown below the control; also marks the control invalid.",
119
+ "descriptionOrigin": "jsdoc"
120
+ },
121
+ {
122
+ "name": "filterFn",
123
+ "type": "function",
124
+ "signature": "((option: ComboboxOption<NoInfer<V>>, search: string) => boolean) | undefined",
125
+ "required": false,
126
+ "origin": "derived",
127
+ "description": "Replaces the built-in search matching (client mode).\n`NoInfer` keeps the option type coming from `options` and `value` only.",
128
+ "descriptionOrigin": "jsdoc"
129
+ },
130
+ {
131
+ "name": "hasMore",
132
+ "type": "boolean",
133
+ "typeText": "boolean | undefined",
134
+ "required": false,
135
+ "origin": "derived",
136
+ "description": "More results are available; the list calls `onLoadMore` when scrolled near the end.",
137
+ "descriptionOrigin": "jsdoc"
138
+ },
139
+ {
140
+ "name": "id",
141
+ "type": "string",
142
+ "typeText": "string | undefined",
143
+ "required": false,
144
+ "origin": "derived"
145
+ },
146
+ {
147
+ "name": "label",
148
+ "type": "other",
149
+ "typeText": "ReactNode",
150
+ "required": false,
151
+ "origin": "derived"
152
+ },
153
+ {
154
+ "name": "loading",
155
+ "type": "boolean",
156
+ "typeText": "boolean | undefined",
157
+ "required": false,
158
+ "default": false,
159
+ "origin": "derived",
160
+ "description": "Shows a loading row; keeps current options visible.",
161
+ "descriptionOrigin": "jsdoc"
162
+ },
163
+ {
164
+ "name": "localeText",
165
+ "type": "other",
166
+ "typeText": "Partial<ComboboxLocaleText> | undefined",
167
+ "required": false,
168
+ "origin": "derived"
169
+ },
170
+ {
171
+ "name": "max",
172
+ "type": "number",
173
+ "typeText": "number | undefined",
174
+ "required": false,
175
+ "origin": "derived",
176
+ "description": "Maximum number of selections.",
177
+ "descriptionOrigin": "jsdoc"
178
+ },
179
+ {
180
+ "name": "maxHeight",
181
+ "type": "number",
182
+ "typeText": "number | undefined",
183
+ "required": false,
184
+ "default": 280,
185
+ "origin": "derived",
186
+ "description": "Max height of the option list in pixels. Default 280.",
187
+ "descriptionOrigin": "jsdoc"
188
+ },
189
+ {
190
+ "name": "maxVisibleTags",
191
+ "type": "number",
192
+ "typeText": "number | undefined",
193
+ "required": false,
194
+ "default": 3,
195
+ "origin": "derived",
196
+ "description": "Tags shown before collapsing into \"+N more\". Default 3.",
197
+ "descriptionOrigin": "jsdoc"
198
+ },
199
+ {
200
+ "name": "mode",
201
+ "type": "enum",
202
+ "values": [
203
+ "client",
204
+ "server"
205
+ ],
206
+ "typeText": "'client' | 'server' | undefined",
207
+ "required": false,
208
+ "origin": "derived",
209
+ "description": "`client` filters `options` locally; `server` expects `options` to be the current results.",
210
+ "descriptionOrigin": "jsdoc"
211
+ },
212
+ {
213
+ "name": "name",
214
+ "type": "string",
215
+ "typeText": "string | undefined",
216
+ "required": false,
217
+ "origin": "derived",
218
+ "description": "Name for the hidden form input.",
219
+ "descriptionOrigin": "jsdoc"
220
+ },
221
+ {
222
+ "name": "onChange",
223
+ "type": "function",
224
+ "signature": "((value: NoInfer<V> | null, option: ComboboxOption<NoInfer<V>> | null) => void) | undefined",
225
+ "required": false,
226
+ "origin": "derived"
227
+ },
228
+ {
229
+ "name": "onCreate",
230
+ "type": "function",
231
+ "signature": "((label: string) => void) | undefined",
232
+ "required": false,
233
+ "origin": "derived"
234
+ },
235
+ {
236
+ "name": "onLoadMore",
237
+ "type": "function",
238
+ "signature": "(() => void) | undefined",
239
+ "required": false,
240
+ "origin": "derived"
241
+ },
242
+ {
243
+ "name": "onOpenChange",
244
+ "type": "function",
245
+ "signature": "((open: boolean) => void) | undefined",
246
+ "required": false,
247
+ "origin": "derived"
248
+ },
249
+ {
250
+ "name": "onSearchChange",
251
+ "type": "function",
252
+ "signature": "((search: string) => void) | undefined",
253
+ "required": false,
254
+ "origin": "derived",
255
+ "description": "Called with the search text (debounced in server mode), and on open.",
256
+ "descriptionOrigin": "jsdoc"
257
+ },
258
+ {
259
+ "name": "options",
260
+ "type": "other",
261
+ "typeText": "readonly ComboboxOption<V>[]",
262
+ "required": true,
263
+ "origin": "derived"
264
+ },
265
+ {
266
+ "name": "placeholder",
267
+ "type": "string",
268
+ "typeText": "string | undefined",
269
+ "required": false,
270
+ "default": "Select…",
271
+ "origin": "derived"
272
+ },
273
+ {
274
+ "name": "ref",
275
+ "type": "other",
276
+ "typeText": "Ref<ComboboxHandle<V>> | undefined",
277
+ "required": false,
278
+ "origin": "derived"
279
+ },
280
+ {
281
+ "name": "renderOption",
282
+ "type": "function",
283
+ "signature": "((option: ComboboxOption<NoInfer<V>>, state: OptionState) => ReactNode) | undefined",
284
+ "required": false,
285
+ "origin": "derived"
286
+ },
287
+ {
288
+ "name": "required",
289
+ "type": "boolean",
290
+ "typeText": "boolean | undefined",
291
+ "required": false,
292
+ "default": false,
293
+ "origin": "derived"
294
+ },
295
+ {
296
+ "name": "searchable",
297
+ "type": "boolean",
298
+ "typeText": "boolean | undefined",
299
+ "required": false,
300
+ "default": true,
301
+ "origin": "derived",
302
+ "description": "Show the search box. Default true. When false, typing jumps to a matching option.",
303
+ "descriptionOrigin": "jsdoc"
304
+ },
305
+ {
306
+ "name": "searchDebounce",
307
+ "type": "number",
308
+ "typeText": "number | undefined",
309
+ "required": false,
310
+ "origin": "derived",
311
+ "description": "Debounce for `onSearchChange` in server mode. Default 250 ms.",
312
+ "descriptionOrigin": "jsdoc"
313
+ },
314
+ {
315
+ "name": "showSelectAll",
316
+ "type": "boolean",
317
+ "typeText": "boolean | undefined",
318
+ "required": false,
319
+ "default": true,
320
+ "origin": "derived",
321
+ "description": "Show \"Select all\" / \"Clear all\" under the list. Default true.",
322
+ "descriptionOrigin": "jsdoc"
323
+ },
324
+ {
325
+ "name": "size",
326
+ "type": "enum",
327
+ "values": [
328
+ "lg",
329
+ "md",
330
+ "sm"
331
+ ],
332
+ "typeText": "ComboboxSize | undefined",
333
+ "required": false,
334
+ "default": "md",
335
+ "origin": "derived"
336
+ },
337
+ {
338
+ "name": "style",
339
+ "type": "other",
340
+ "typeText": "CSSProperties | undefined",
341
+ "required": false,
342
+ "origin": "derived"
343
+ },
344
+ {
345
+ "name": "value",
346
+ "type": "other",
347
+ "typeText": "V | null | undefined",
348
+ "required": false,
349
+ "origin": "derived"
350
+ },
351
+ {
352
+ "name": "virtualize",
353
+ "type": "other",
354
+ "typeText": "number | boolean | undefined",
355
+ "required": false,
356
+ "default": true,
357
+ "origin": "derived",
358
+ "description": "`true` / `false` to force, or a count above which virtualization turns on (default 80).",
359
+ "descriptionOrigin": "jsdoc"
360
+ }
361
+ ],
362
+ "events": [
363
+ {
364
+ "name": "onChange",
365
+ "signature": "((value: NoInfer<V> | null, option: ComboboxOption<NoInfer<V>> | null) => void) | undefined"
366
+ },
367
+ {
368
+ "name": "onCreate",
369
+ "signature": "((label: string) => void) | undefined"
370
+ },
371
+ {
372
+ "name": "onLoadMore",
373
+ "signature": "(() => void) | undefined"
374
+ },
375
+ {
376
+ "name": "onOpenChange",
377
+ "signature": "((open: boolean) => void) | undefined"
378
+ },
379
+ {
380
+ "name": "onSearchChange",
381
+ "signature": "((search: string) => void) | undefined"
382
+ }
383
+ ],
384
+ "slots": [
385
+ "root",
386
+ "label",
387
+ "control",
388
+ "value",
389
+ "tag",
390
+ "popover",
391
+ "search",
392
+ "list",
393
+ "option",
394
+ "footer"
395
+ ],
396
+ "states": [
397
+ {
398
+ "attr": "data-active"
399
+ },
400
+ {
401
+ "attr": "data-autofocus"
402
+ },
403
+ {
404
+ "attr": "data-disabled"
405
+ },
406
+ {
407
+ "attr": "data-invalid"
408
+ },
409
+ {
410
+ "attr": "data-required"
411
+ },
412
+ {
413
+ "attr": "data-selected"
414
+ },
415
+ {
416
+ "attr": "data-size",
417
+ "values": [
418
+ "lg",
419
+ "sm"
420
+ ]
421
+ },
422
+ {
423
+ "attr": "data-state",
424
+ "values": [
425
+ "open"
426
+ ]
427
+ },
428
+ {
429
+ "attr": "data-theme",
430
+ "values": [
431
+ "dark",
432
+ "light"
433
+ ]
434
+ },
435
+ {
436
+ "attr": "data-virtual"
437
+ }
438
+ ],
439
+ "accessibility": {
440
+ "supplied": [],
441
+ "required": []
442
+ },
443
+ "composition": {},
444
+ "operations": {},
445
+ "intentDomains": [],
446
+ "safeMutations": {},
447
+ "examples": [],
448
+ "coverage": {
449
+ "propsTotal": 39,
450
+ "propsDescribed": 18,
451
+ "describedPct": 46,
452
+ "authoredSections": [
453
+ "accessibility"
454
+ ]
455
+ }
456
+ }