@illinois-grad/grad-vue 2.4.2 → 2.5.1

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 (41) hide show
  1. package/custom-elements.json +2349 -0
  2. package/dist/components/GButton.vue.d.ts +10 -1
  3. package/dist/components/GCurrencyInput.vue.d.ts +15 -2
  4. package/dist/components/GDateInput.vue.d.ts +15 -2
  5. package/dist/components/GDateRangeInput.vue.d.ts +14 -1
  6. package/dist/components/GEmailInput.vue.d.ts +2 -2
  7. package/dist/components/GForm.vue.d.ts +15 -2
  8. package/dist/components/GHamburgerMenu.vue.d.ts +13 -0
  9. package/dist/components/GModal.vue.d.ts +1 -7
  10. package/dist/components/GPopover.vue.d.ts +24 -8
  11. package/dist/components/GProgress.vue.d.ts +1 -1
  12. package/dist/components/GSearch.vue.d.ts +1 -1
  13. package/dist/components/GSelect.vue.d.ts +14 -1
  14. package/dist/components/GSelectButton.vue.d.ts +14 -1
  15. package/dist/components/GSidebar.vue.d.ts +15 -1
  16. package/dist/components/GSubmitButton.vue.d.ts +15 -0
  17. package/dist/components/GTextInput.vue.d.ts +15 -2
  18. package/dist/components/GTooltip.vue.d.ts +37 -0
  19. package/dist/components/term/GTermSelectorControl.vue.d.ts +2 -2
  20. package/dist/compose/tooltipDom.d.ts +6 -0
  21. package/dist/compose/useCustomElementAttrs.d.ts +14 -0
  22. package/dist/compose/useFormField.d.ts +4 -0
  23. package/dist/compose/useOverlayFocus.d.ts +1 -1
  24. package/dist/compose/useWebComponentForm.d.ts +2 -0
  25. package/dist/compose/useWebComponentSidebar.d.ts +9 -0
  26. package/dist/grad-vue-V6VDJQTJ.js +3478 -0
  27. package/dist/grad-vue-V6VDJQTJ.js.map +1 -0
  28. package/dist/grad-vue-elements.css +2 -0
  29. package/dist/grad-vue-elements.d.ts +179 -0
  30. package/dist/grad-vue-elements.js +8063 -0
  31. package/dist/grad-vue-elements.js.map +1 -0
  32. package/dist/grad-vue.css +2 -1
  33. package/dist/grad-vue.d.ts +4 -1
  34. package/dist/grad-vue.js +2 -240
  35. package/dist/plugin.d.ts +2 -1
  36. package/dist/plugin.js +9 -12
  37. package/dist/plugin.js.map +1 -1
  38. package/package.json +15 -3
  39. package/dist/grad-vue.js.map +0 -1
  40. package/dist/main-D8BC78tE.js +0 -3394
  41. package/dist/main-D8BC78tE.js.map +0 -1
@@ -0,0 +1,2349 @@
1
+ {
2
+ "schemaVersion": "2.0.0",
3
+ "modules": [
4
+ {
5
+ "kind": "javascript-module",
6
+ "path": "dist/web-components.js",
7
+ "declarations": [
8
+ {
9
+ "kind": "custom-element",
10
+ "name": "GAlertDialogElement",
11
+ "tagName": "g-alert-dialog",
12
+ "members": [
13
+ {
14
+ "kind": "field",
15
+ "name": "label",
16
+ "type": {
17
+ "text": "string"
18
+ },
19
+ "optional": true,
20
+ "description": "Dialog label",
21
+ "default": "\"Confirmation\""
22
+ },
23
+ {
24
+ "kind": "field",
25
+ "name": "buttonText",
26
+ "type": {
27
+ "text": "string"
28
+ },
29
+ "optional": true,
30
+ "description": "Accept button text",
31
+ "default": "\"Continue\""
32
+ },
33
+ {
34
+ "kind": "field",
35
+ "name": "buttonColor",
36
+ "type": {
37
+ "text": "\"primary\" | \"secondary\" | \"danger\""
38
+ },
39
+ "optional": true,
40
+ "description": "Accept button color",
41
+ "default": "\"primary\""
42
+ }
43
+ ],
44
+ "events": [
45
+ {
46
+ "name": "cancel",
47
+ "type": {
48
+ "text": "CustomEvent"
49
+ }
50
+ },
51
+ {
52
+ "name": "confirm",
53
+ "type": {
54
+ "text": "CustomEvent"
55
+ }
56
+ }
57
+ ]
58
+ }
59
+ ]
60
+ },
61
+ {
62
+ "kind": "javascript-module",
63
+ "path": "dist/web-components.js",
64
+ "declarations": [
65
+ {
66
+ "kind": "custom-element",
67
+ "name": "GAppHeaderElement",
68
+ "tagName": "g-app-header",
69
+ "members": [
70
+ {
71
+ "kind": "field",
72
+ "name": "illinois",
73
+ "type": {
74
+ "text": "boolean"
75
+ },
76
+ "optional": true,
77
+ "description": "Whether to show the Illinois logo",
78
+ "default": "false"
79
+ },
80
+ {
81
+ "kind": "field",
82
+ "name": "brand",
83
+ "type": {
84
+ "text": "string"
85
+ },
86
+ "optional": true,
87
+ "description": "Top-left corner text You can customize this text element with the \"left\" slot.",
88
+ "default": "\"GRAD\""
89
+ }
90
+ ],
91
+ "events": []
92
+ }
93
+ ]
94
+ },
95
+ {
96
+ "kind": "javascript-module",
97
+ "path": "dist/web-components.js",
98
+ "declarations": [
99
+ {
100
+ "kind": "custom-element",
101
+ "name": "GButtonElement",
102
+ "tagName": "g-button",
103
+ "members": [
104
+ {
105
+ "kind": "field",
106
+ "name": "size",
107
+ "type": {
108
+ "text": "\"small\" | \"medium\" | \"large\""
109
+ },
110
+ "optional": true,
111
+ "description": "Button size",
112
+ "default": "\"medium\""
113
+ },
114
+ {
115
+ "kind": "field",
116
+ "name": "theme",
117
+ "type": {
118
+ "text": "\"primary\" | \"secondary\" | \"accent\" | \"danger\" | \"none\""
119
+ },
120
+ "optional": true,
121
+ "description": "Button color theme",
122
+ "default": "\"primary\""
123
+ },
124
+ {
125
+ "kind": "field",
126
+ "name": "outlined",
127
+ "type": {
128
+ "text": "boolean"
129
+ },
130
+ "optional": true,
131
+ "description": "Use outlined style",
132
+ "default": "false"
133
+ },
134
+ {
135
+ "kind": "field",
136
+ "name": "text",
137
+ "type": {
138
+ "text": "boolean"
139
+ },
140
+ "optional": true,
141
+ "description": "Use text style",
142
+ "default": "false"
143
+ },
144
+ {
145
+ "kind": "field",
146
+ "name": "to",
147
+ "type": {
148
+ "text": "string | Record<string, any>"
149
+ },
150
+ "optional": true,
151
+ "description": "The to target for when using the button as a router-link",
152
+ "default": "undefined"
153
+ },
154
+ {
155
+ "kind": "field",
156
+ "name": "component",
157
+ "type": {
158
+ "text": "string"
159
+ },
160
+ "optional": true,
161
+ "description": "The component to use for the button",
162
+ "default": "undefined"
163
+ },
164
+ {
165
+ "kind": "field",
166
+ "name": "icon",
167
+ "type": {
168
+ "text": "string"
169
+ },
170
+ "optional": true,
171
+ "description": "Optional icon classes to render an icon span before the label. Example: \"fa-solid fa-plus\" or \"material-symbols:add\". If a named slot `icon` is provided, it takes precedence over this prop.",
172
+ "default": "undefined"
173
+ },
174
+ {
175
+ "kind": "field",
176
+ "name": "type",
177
+ "type": {
178
+ "text": "\"button\" | \"submit\" | \"reset\""
179
+ },
180
+ "optional": true,
181
+ "description": "Native button type",
182
+ "default": "\"button\""
183
+ }
184
+ ],
185
+ "events": [
186
+ {
187
+ "name": "click",
188
+ "type": {
189
+ "text": "CustomEvent"
190
+ }
191
+ },
192
+ {
193
+ "name": "focus",
194
+ "type": {
195
+ "text": "CustomEvent"
196
+ }
197
+ },
198
+ {
199
+ "name": "blur",
200
+ "type": {
201
+ "text": "CustomEvent"
202
+ }
203
+ },
204
+ {
205
+ "name": "keydown",
206
+ "type": {
207
+ "text": "CustomEvent"
208
+ }
209
+ },
210
+ {
211
+ "name": "keyup",
212
+ "type": {
213
+ "text": "CustomEvent"
214
+ }
215
+ },
216
+ {
217
+ "name": "mousedown",
218
+ "type": {
219
+ "text": "CustomEvent"
220
+ }
221
+ },
222
+ {
223
+ "name": "mouseup",
224
+ "type": {
225
+ "text": "CustomEvent"
226
+ }
227
+ },
228
+ {
229
+ "name": "mouseenter",
230
+ "type": {
231
+ "text": "CustomEvent"
232
+ }
233
+ },
234
+ {
235
+ "name": "mouseleave",
236
+ "type": {
237
+ "text": "CustomEvent"
238
+ }
239
+ }
240
+ ]
241
+ }
242
+ ]
243
+ },
244
+ {
245
+ "kind": "javascript-module",
246
+ "path": "dist/web-components.js",
247
+ "declarations": [
248
+ {
249
+ "kind": "custom-element",
250
+ "name": "GClipboardElement",
251
+ "tagName": "g-clipboard",
252
+ "members": [
253
+ {
254
+ "kind": "field",
255
+ "name": "text",
256
+ "type": {
257
+ "text": "string"
258
+ },
259
+ "optional": false,
260
+ "description": "Text"
261
+ },
262
+ {
263
+ "kind": "field",
264
+ "name": "hideText",
265
+ "type": {
266
+ "text": "boolean"
267
+ },
268
+ "optional": true,
269
+ "description": "Hide the visible text"
270
+ },
271
+ {
272
+ "kind": "field",
273
+ "name": "copyLabel",
274
+ "type": {
275
+ "text": "string"
276
+ },
277
+ "optional": true,
278
+ "description": "Copy button label"
279
+ }
280
+ ],
281
+ "events": []
282
+ }
283
+ ]
284
+ },
285
+ {
286
+ "kind": "javascript-module",
287
+ "path": "dist/web-components.js",
288
+ "declarations": [
289
+ {
290
+ "kind": "custom-element",
291
+ "name": "GCurrencyInputElement",
292
+ "tagName": "g-currency-input",
293
+ "members": [
294
+ {
295
+ "kind": "field",
296
+ "name": "label",
297
+ "type": {
298
+ "text": "string"
299
+ },
300
+ "optional": true,
301
+ "description": "Label",
302
+ "default": "undefined"
303
+ },
304
+ {
305
+ "kind": "field",
306
+ "name": "placeholder",
307
+ "type": {
308
+ "text": "string"
309
+ },
310
+ "optional": true,
311
+ "description": "Placeholder text",
312
+ "default": "\"\""
313
+ },
314
+ {
315
+ "kind": "field",
316
+ "name": "disabled",
317
+ "type": {
318
+ "text": "boolean"
319
+ },
320
+ "optional": true,
321
+ "description": "Disabled",
322
+ "default": "false"
323
+ },
324
+ {
325
+ "kind": "field",
326
+ "name": "errors",
327
+ "type": {
328
+ "text": "string[]"
329
+ },
330
+ "optional": true,
331
+ "description": "Error messages array (supports multiple validation errors)",
332
+ "default": "() => []"
333
+ },
334
+ {
335
+ "kind": "field",
336
+ "name": "instructions",
337
+ "type": {
338
+ "text": "string"
339
+ },
340
+ "optional": true,
341
+ "description": "Instructions",
342
+ "default": "\"\""
343
+ },
344
+ {
345
+ "kind": "field",
346
+ "name": "name",
347
+ "type": {
348
+ "text": "string"
349
+ },
350
+ "optional": true,
351
+ "description": "Name for form registration",
352
+ "default": "undefined"
353
+ },
354
+ {
355
+ "kind": "field",
356
+ "name": "formKey",
357
+ "type": {
358
+ "text": "string"
359
+ },
360
+ "optional": true,
361
+ "description": "Form channel key for custom elements mode",
362
+ "default": "undefined"
363
+ },
364
+ {
365
+ "kind": "field",
366
+ "name": "modelValue",
367
+ "type": {
368
+ "text": "string | null"
369
+ },
370
+ "optional": true
371
+ }
372
+ ],
373
+ "events": []
374
+ }
375
+ ]
376
+ },
377
+ {
378
+ "kind": "javascript-module",
379
+ "path": "dist/web-components.js",
380
+ "declarations": [
381
+ {
382
+ "kind": "custom-element",
383
+ "name": "GDateInputElement",
384
+ "tagName": "g-date-input",
385
+ "members": [
386
+ {
387
+ "kind": "field",
388
+ "name": "label",
389
+ "type": {
390
+ "text": "string"
391
+ },
392
+ "optional": true,
393
+ "description": "Label",
394
+ "default": "undefined"
395
+ },
396
+ {
397
+ "kind": "field",
398
+ "name": "placeholder",
399
+ "type": {
400
+ "text": "string"
401
+ },
402
+ "optional": true,
403
+ "description": "Placeholder text",
404
+ "default": "\"\""
405
+ },
406
+ {
407
+ "kind": "field",
408
+ "name": "disabled",
409
+ "type": {
410
+ "text": "boolean"
411
+ },
412
+ "optional": true,
413
+ "description": "Disabled",
414
+ "default": "false"
415
+ },
416
+ {
417
+ "kind": "field",
418
+ "name": "errors",
419
+ "type": {
420
+ "text": "string[]"
421
+ },
422
+ "optional": true,
423
+ "description": "Error messages array (supports multiple validation errors)",
424
+ "default": "() => []"
425
+ },
426
+ {
427
+ "kind": "field",
428
+ "name": "instructions",
429
+ "type": {
430
+ "text": "string"
431
+ },
432
+ "optional": true,
433
+ "description": "Instructions",
434
+ "default": "\"\""
435
+ },
436
+ {
437
+ "kind": "field",
438
+ "name": "name",
439
+ "type": {
440
+ "text": "string"
441
+ },
442
+ "optional": true,
443
+ "description": "Name for form registration",
444
+ "default": "undefined"
445
+ },
446
+ {
447
+ "kind": "field",
448
+ "name": "formKey",
449
+ "type": {
450
+ "text": "string"
451
+ },
452
+ "optional": true,
453
+ "description": "Form channel key for custom elements mode",
454
+ "default": "undefined"
455
+ },
456
+ {
457
+ "kind": "field",
458
+ "name": "modelValue",
459
+ "type": {
460
+ "text": "string | null"
461
+ },
462
+ "optional": true
463
+ }
464
+ ],
465
+ "events": []
466
+ }
467
+ ]
468
+ },
469
+ {
470
+ "kind": "javascript-module",
471
+ "path": "dist/web-components.js",
472
+ "declarations": [
473
+ {
474
+ "kind": "custom-element",
475
+ "name": "GDateRangeInputElement",
476
+ "tagName": "g-date-range-input",
477
+ "members": [
478
+ {
479
+ "kind": "field",
480
+ "name": "label",
481
+ "type": {
482
+ "text": "string"
483
+ },
484
+ "optional": true,
485
+ "description": "Label for the component",
486
+ "default": "undefined"
487
+ },
488
+ {
489
+ "kind": "field",
490
+ "name": "startLabel",
491
+ "type": {
492
+ "text": "string"
493
+ },
494
+ "optional": true,
495
+ "description": "Label for the start date input",
496
+ "default": "\"Start Date\""
497
+ },
498
+ {
499
+ "kind": "field",
500
+ "name": "endLabel",
501
+ "type": {
502
+ "text": "string"
503
+ },
504
+ "optional": true,
505
+ "description": "Label for the end date input",
506
+ "default": "\"End Date\""
507
+ },
508
+ {
509
+ "kind": "field",
510
+ "name": "disabled",
511
+ "type": {
512
+ "text": "boolean"
513
+ },
514
+ "optional": true,
515
+ "description": "Disabled",
516
+ "default": "false"
517
+ },
518
+ {
519
+ "kind": "field",
520
+ "name": "errors",
521
+ "type": {
522
+ "text": "string[]"
523
+ },
524
+ "optional": true,
525
+ "description": "Error messages array (supports multiple validation errors)",
526
+ "default": "() => []"
527
+ },
528
+ {
529
+ "kind": "field",
530
+ "name": "instructions",
531
+ "type": {
532
+ "text": "string"
533
+ },
534
+ "optional": true,
535
+ "description": "Instructions",
536
+ "default": "\"\""
537
+ },
538
+ {
539
+ "kind": "field",
540
+ "name": "name",
541
+ "type": {
542
+ "text": "string"
543
+ },
544
+ "optional": true,
545
+ "description": "Name for form registration",
546
+ "default": "undefined"
547
+ },
548
+ {
549
+ "kind": "field",
550
+ "name": "formKey",
551
+ "type": {
552
+ "text": "string"
553
+ },
554
+ "optional": true,
555
+ "description": "Form channel key for custom elements mode",
556
+ "default": "undefined"
557
+ },
558
+ {
559
+ "kind": "field",
560
+ "name": "modelValue",
561
+ "type": {
562
+ "text": "DateRange"
563
+ },
564
+ "optional": true
565
+ }
566
+ ],
567
+ "events": []
568
+ }
569
+ ]
570
+ },
571
+ {
572
+ "kind": "javascript-module",
573
+ "path": "dist/web-components.js",
574
+ "declarations": [
575
+ {
576
+ "kind": "custom-element",
577
+ "name": "GDetailListElement",
578
+ "tagName": "g-detail-list",
579
+ "members": [
580
+ {
581
+ "kind": "field",
582
+ "name": "variant",
583
+ "type": {
584
+ "text": "\"grid\" | \"vertical\""
585
+ },
586
+ "optional": true,
587
+ "description": "Layout style for the items.",
588
+ "default": "\"grid\""
589
+ }
590
+ ],
591
+ "events": []
592
+ }
593
+ ]
594
+ },
595
+ {
596
+ "kind": "javascript-module",
597
+ "path": "dist/web-components.js",
598
+ "declarations": [
599
+ {
600
+ "kind": "custom-element",
601
+ "name": "GDetailListItemElement",
602
+ "tagName": "g-detail-list-item",
603
+ "members": [
604
+ {
605
+ "kind": "field",
606
+ "name": "label",
607
+ "type": {
608
+ "text": "string"
609
+ },
610
+ "optional": false,
611
+ "description": "Label shown for the item."
612
+ }
613
+ ],
614
+ "events": []
615
+ }
616
+ ]
617
+ },
618
+ {
619
+ "kind": "javascript-module",
620
+ "path": "dist/web-components.js",
621
+ "declarations": [
622
+ {
623
+ "kind": "custom-element",
624
+ "name": "GEmailInputElement",
625
+ "tagName": "g-email-input",
626
+ "members": [
627
+ {
628
+ "kind": "field",
629
+ "name": "label",
630
+ "type": {
631
+ "text": "string"
632
+ },
633
+ "optional": true,
634
+ "description": "Label",
635
+ "default": "undefined"
636
+ },
637
+ {
638
+ "kind": "field",
639
+ "name": "placeholder",
640
+ "type": {
641
+ "text": "string"
642
+ },
643
+ "optional": true,
644
+ "description": "Placeholder text",
645
+ "default": "\"\""
646
+ },
647
+ {
648
+ "kind": "field",
649
+ "name": "disabled",
650
+ "type": {
651
+ "text": "boolean"
652
+ },
653
+ "optional": true,
654
+ "description": "Disabled",
655
+ "default": "false"
656
+ },
657
+ {
658
+ "kind": "field",
659
+ "name": "errors",
660
+ "type": {
661
+ "text": "string[]"
662
+ },
663
+ "optional": true,
664
+ "description": "Error messages array (supports multiple validation errors)",
665
+ "default": "() => []"
666
+ },
667
+ {
668
+ "kind": "field",
669
+ "name": "instructions",
670
+ "type": {
671
+ "text": "string"
672
+ },
673
+ "optional": true,
674
+ "description": "Instructions",
675
+ "default": "\"\""
676
+ },
677
+ {
678
+ "kind": "field",
679
+ "name": "name",
680
+ "type": {
681
+ "text": "string"
682
+ },
683
+ "optional": true,
684
+ "description": "Name for form registration",
685
+ "default": "undefined"
686
+ },
687
+ {
688
+ "kind": "field",
689
+ "name": "modelValue",
690
+ "type": {
691
+ "text": "string | null"
692
+ },
693
+ "optional": true
694
+ }
695
+ ],
696
+ "events": []
697
+ }
698
+ ]
699
+ },
700
+ {
701
+ "kind": "javascript-module",
702
+ "path": "dist/web-components.js",
703
+ "declarations": [
704
+ {
705
+ "kind": "custom-element",
706
+ "name": "GFormElement",
707
+ "tagName": "g-form",
708
+ "members": [
709
+ {
710
+ "kind": "field",
711
+ "name": "action",
712
+ "type": {
713
+ "text": "string"
714
+ },
715
+ "optional": true,
716
+ "description": "Action URL (optional, for native form submission)",
717
+ "default": "undefined"
718
+ },
719
+ {
720
+ "kind": "field",
721
+ "name": "method",
722
+ "type": {
723
+ "text": "string"
724
+ },
725
+ "optional": true,
726
+ "description": "HTTP method (optional, for native form submission)",
727
+ "default": "\"post\""
728
+ },
729
+ {
730
+ "kind": "field",
731
+ "name": "formKey",
732
+ "type": {
733
+ "text": "string"
734
+ },
735
+ "optional": true,
736
+ "description": "Form channel key for custom elements mode",
737
+ "default": "\"default\""
738
+ },
739
+ {
740
+ "kind": "field",
741
+ "name": "modelValue",
742
+ "type": {
743
+ "text": "Record<string, any>"
744
+ },
745
+ "optional": true
746
+ }
747
+ ],
748
+ "events": [
749
+ {
750
+ "name": "submit",
751
+ "type": {
752
+ "text": "CustomEvent"
753
+ }
754
+ }
755
+ ]
756
+ }
757
+ ]
758
+ },
759
+ {
760
+ "kind": "javascript-module",
761
+ "path": "dist/web-components.js",
762
+ "declarations": [
763
+ {
764
+ "kind": "custom-element",
765
+ "name": "GHamburgerMenuElement",
766
+ "tagName": "g-hamburger-menu",
767
+ "members": [
768
+ {
769
+ "kind": "field",
770
+ "name": "label",
771
+ "type": {
772
+ "text": "string"
773
+ },
774
+ "optional": true,
775
+ "description": "Accessible label",
776
+ "default": "\"Main Navigation\""
777
+ },
778
+ {
779
+ "kind": "field",
780
+ "name": "sidebarKey",
781
+ "type": {
782
+ "text": "string"
783
+ },
784
+ "optional": true,
785
+ "description": "Sidebar channel key for custom elements mode",
786
+ "default": "\"default\""
787
+ }
788
+ ],
789
+ "events": [
790
+ {
791
+ "name": "toggle",
792
+ "type": {
793
+ "text": "CustomEvent"
794
+ }
795
+ }
796
+ ]
797
+ }
798
+ ]
799
+ },
800
+ {
801
+ "kind": "javascript-module",
802
+ "path": "dist/web-components.js",
803
+ "declarations": [
804
+ {
805
+ "kind": "custom-element",
806
+ "name": "GHistoryScrollerElement",
807
+ "tagName": "g-history-scroller",
808
+ "members": [
809
+ {
810
+ "kind": "field",
811
+ "name": "label",
812
+ "type": {
813
+ "text": "string"
814
+ },
815
+ "optional": true,
816
+ "description": "Accessible label"
817
+ },
818
+ {
819
+ "kind": "field",
820
+ "name": "entries",
821
+ "type": {
822
+ "text": "{ id: string | number }[]"
823
+ },
824
+ "optional": true,
825
+ "description": "History entries passed to default slot",
826
+ "default": "() => []"
827
+ }
828
+ ],
829
+ "events": []
830
+ }
831
+ ]
832
+ },
833
+ {
834
+ "kind": "javascript-module",
835
+ "path": "dist/web-components.js",
836
+ "declarations": [
837
+ {
838
+ "kind": "custom-element",
839
+ "name": "GModalElement",
840
+ "tagName": "g-modal",
841
+ "members": [
842
+ {
843
+ "kind": "field",
844
+ "name": "label",
845
+ "type": {
846
+ "text": "string"
847
+ },
848
+ "optional": false,
849
+ "description": "Modal label"
850
+ },
851
+ {
852
+ "kind": "field",
853
+ "name": "describedby",
854
+ "type": {
855
+ "text": "string"
856
+ },
857
+ "optional": true,
858
+ "description": "ID for aria-describedby",
859
+ "default": "undefined"
860
+ },
861
+ {
862
+ "kind": "field",
863
+ "name": "hiddenLabel",
864
+ "type": {
865
+ "text": "boolean"
866
+ },
867
+ "optional": true,
868
+ "description": "Hide label The label is still used as the `aria-label` for accessibility, but it will not be visible in the UI.",
869
+ "default": "false"
870
+ },
871
+ {
872
+ "kind": "field",
873
+ "name": "size",
874
+ "type": {
875
+ "text": "\"small\" | \"medium\" | \"large\" | \"full\""
876
+ },
877
+ "optional": true,
878
+ "description": "Modal size",
879
+ "default": "\"medium\""
880
+ },
881
+ {
882
+ "kind": "field",
883
+ "name": "classes",
884
+ "type": {
885
+ "text": "string | string[]"
886
+ },
887
+ "optional": true,
888
+ "description": "Modal classes"
889
+ }
890
+ ],
891
+ "events": [
892
+ {
893
+ "name": "close",
894
+ "type": {
895
+ "text": "CustomEvent"
896
+ }
897
+ }
898
+ ]
899
+ }
900
+ ]
901
+ },
902
+ {
903
+ "kind": "javascript-module",
904
+ "path": "dist/web-components.js",
905
+ "declarations": [
906
+ {
907
+ "kind": "custom-element",
908
+ "name": "GOverlayElement",
909
+ "tagName": "g-overlay",
910
+ "members": [],
911
+ "events": []
912
+ }
913
+ ]
914
+ },
915
+ {
916
+ "kind": "javascript-module",
917
+ "path": "dist/web-components.js",
918
+ "declarations": [
919
+ {
920
+ "kind": "custom-element",
921
+ "name": "GPopoverElement",
922
+ "tagName": "g-popover",
923
+ "members": [
924
+ {
925
+ "kind": "field",
926
+ "name": "minimal",
927
+ "type": {
928
+ "text": "boolean"
929
+ },
930
+ "optional": true,
931
+ "description": "Render without padding",
932
+ "default": "false"
933
+ },
934
+ {
935
+ "kind": "field",
936
+ "name": "modelValue",
937
+ "type": {
938
+ "text": "boolean"
939
+ },
940
+ "optional": true,
941
+ "description": "v-model binding for the open state. Also works as a plain prop/attribute in custom-element mode where `defineModel` would revert local state.",
942
+ "default": "false"
943
+ }
944
+ ],
945
+ "events": [
946
+ {
947
+ "name": "show",
948
+ "type": {
949
+ "text": "CustomEvent"
950
+ }
951
+ },
952
+ {
953
+ "name": "hide",
954
+ "type": {
955
+ "text": "CustomEvent"
956
+ }
957
+ },
958
+ {
959
+ "name": "update:modelValue",
960
+ "type": {
961
+ "text": "CustomEvent"
962
+ }
963
+ }
964
+ ]
965
+ }
966
+ ]
967
+ },
968
+ {
969
+ "kind": "javascript-module",
970
+ "path": "dist/web-components.js",
971
+ "declarations": [
972
+ {
973
+ "kind": "custom-element",
974
+ "name": "GTooltipElement",
975
+ "tagName": "g-tooltip",
976
+ "members": [
977
+ {
978
+ "kind": "field",
979
+ "name": "text",
980
+ "type": {
981
+ "text": "string"
982
+ },
983
+ "optional": false,
984
+ "description": "Tooltip text"
985
+ }
986
+ ],
987
+ "events": [
988
+ {
989
+ "name": "tooltip-hide",
990
+ "type": {
991
+ "text": "CustomEvent"
992
+ }
993
+ }
994
+ ]
995
+ }
996
+ ]
997
+ },
998
+ {
999
+ "kind": "javascript-module",
1000
+ "path": "dist/web-components.js",
1001
+ "declarations": [
1002
+ {
1003
+ "kind": "custom-element",
1004
+ "name": "GProgressElement",
1005
+ "tagName": "g-progress",
1006
+ "members": [
1007
+ {
1008
+ "kind": "field",
1009
+ "name": "label",
1010
+ "type": {
1011
+ "text": "string"
1012
+ },
1013
+ "optional": true,
1014
+ "description": "Accessible label",
1015
+ "default": "\"Loading\""
1016
+ },
1017
+ {
1018
+ "kind": "field",
1019
+ "name": "value",
1020
+ "type": {
1021
+ "text": "number"
1022
+ },
1023
+ "optional": true,
1024
+ "description": "Progress 1-100 or blank",
1025
+ "default": "undefined"
1026
+ },
1027
+ {
1028
+ "kind": "field",
1029
+ "name": "size",
1030
+ "type": {
1031
+ "text": "\"tiny\" | \"small\" | \"medium\" | \"large\""
1032
+ },
1033
+ "optional": true,
1034
+ "description": "Progress circle size",
1035
+ "default": "\"medium\""
1036
+ }
1037
+ ],
1038
+ "events": []
1039
+ }
1040
+ ]
1041
+ },
1042
+ {
1043
+ "kind": "javascript-module",
1044
+ "path": "dist/web-components.js",
1045
+ "declarations": [
1046
+ {
1047
+ "kind": "custom-element",
1048
+ "name": "GSearchElement",
1049
+ "tagName": "g-search",
1050
+ "members": [
1051
+ {
1052
+ "kind": "field",
1053
+ "name": "results",
1054
+ "type": {
1055
+ "text": "GSearchGroup<{ id: string | number; title: string; }>[] | { id: string | number; title: string; }[]"
1056
+ },
1057
+ "optional": false
1058
+ },
1059
+ {
1060
+ "kind": "field",
1061
+ "name": "placeholder",
1062
+ "type": {
1063
+ "text": "string"
1064
+ },
1065
+ "optional": true,
1066
+ "description": "Placeholder",
1067
+ "default": "\"Search...\""
1068
+ },
1069
+ {
1070
+ "kind": "field",
1071
+ "name": "label",
1072
+ "type": {
1073
+ "text": "string"
1074
+ },
1075
+ "optional": true,
1076
+ "description": "Accessible label",
1077
+ "default": "\"Search\""
1078
+ },
1079
+ {
1080
+ "kind": "field",
1081
+ "name": "auto",
1082
+ "type": {
1083
+ "text": "boolean"
1084
+ },
1085
+ "optional": true,
1086
+ "description": "Automatic search",
1087
+ "default": "true"
1088
+ },
1089
+ {
1090
+ "kind": "field",
1091
+ "name": "loading",
1092
+ "type": {
1093
+ "text": "boolean"
1094
+ },
1095
+ "optional": true,
1096
+ "description": "Show search loading indicator"
1097
+ },
1098
+ {
1099
+ "kind": "field",
1100
+ "name": "modelValue",
1101
+ "type": {
1102
+ "text": "string | null"
1103
+ },
1104
+ "optional": true
1105
+ }
1106
+ ],
1107
+ "events": [
1108
+ {
1109
+ "name": "select",
1110
+ "type": {
1111
+ "text": "CustomEvent"
1112
+ }
1113
+ },
1114
+ {
1115
+ "name": "submit",
1116
+ "type": {
1117
+ "text": "CustomEvent"
1118
+ }
1119
+ }
1120
+ ]
1121
+ }
1122
+ ]
1123
+ },
1124
+ {
1125
+ "kind": "javascript-module",
1126
+ "path": "dist/web-components.js",
1127
+ "declarations": [
1128
+ {
1129
+ "kind": "custom-element",
1130
+ "name": "GSelectElement",
1131
+ "tagName": "g-select",
1132
+ "members": [
1133
+ {
1134
+ "kind": "field",
1135
+ "name": "options",
1136
+ "type": {
1137
+ "text": "Array<string | OptionType>"
1138
+ },
1139
+ "optional": false,
1140
+ "description": "List of options to choose from"
1141
+ },
1142
+ {
1143
+ "kind": "field",
1144
+ "name": "label",
1145
+ "type": {
1146
+ "text": "string"
1147
+ },
1148
+ "optional": false,
1149
+ "description": "Accessible label"
1150
+ },
1151
+ {
1152
+ "kind": "field",
1153
+ "name": "hiddenLabel",
1154
+ "type": {
1155
+ "text": "boolean"
1156
+ },
1157
+ "optional": true,
1158
+ "description": "Hide the label visually"
1159
+ },
1160
+ {
1161
+ "kind": "field",
1162
+ "name": "placeholder",
1163
+ "type": {
1164
+ "text": "string"
1165
+ },
1166
+ "optional": true,
1167
+ "description": "Placeholder Only used if the component is searchable."
1168
+ },
1169
+ {
1170
+ "kind": "field",
1171
+ "name": "disabled",
1172
+ "type": {
1173
+ "text": "boolean"
1174
+ },
1175
+ "optional": true,
1176
+ "description": "Disabled",
1177
+ "default": "false"
1178
+ },
1179
+ {
1180
+ "kind": "field",
1181
+ "name": "name",
1182
+ "type": {
1183
+ "text": "string"
1184
+ },
1185
+ "optional": true,
1186
+ "description": "Name for form registration",
1187
+ "default": "undefined"
1188
+ },
1189
+ {
1190
+ "kind": "field",
1191
+ "name": "searchable",
1192
+ "type": {
1193
+ "text": "boolean"
1194
+ },
1195
+ "optional": true,
1196
+ "description": "Searchable",
1197
+ "default": "false"
1198
+ },
1199
+ {
1200
+ "kind": "field",
1201
+ "name": "clearButton",
1202
+ "type": {
1203
+ "text": "boolean"
1204
+ },
1205
+ "optional": true,
1206
+ "description": "Show clear button"
1207
+ },
1208
+ {
1209
+ "kind": "field",
1210
+ "name": "compact",
1211
+ "type": {
1212
+ "text": "boolean"
1213
+ },
1214
+ "optional": true,
1215
+ "description": "Compact",
1216
+ "default": "false"
1217
+ },
1218
+ {
1219
+ "kind": "field",
1220
+ "name": "errors",
1221
+ "type": {
1222
+ "text": "string[]"
1223
+ },
1224
+ "optional": true,
1225
+ "description": "Error messages array (supports multiple validation errors)",
1226
+ "default": "() => []"
1227
+ },
1228
+ {
1229
+ "kind": "field",
1230
+ "name": "formKey",
1231
+ "type": {
1232
+ "text": "string"
1233
+ },
1234
+ "optional": true,
1235
+ "description": "Form channel key for custom elements mode",
1236
+ "default": "undefined"
1237
+ },
1238
+ {
1239
+ "kind": "field",
1240
+ "name": "modelValue",
1241
+ "type": {
1242
+ "text": "string | number | null"
1243
+ },
1244
+ "optional": true
1245
+ }
1246
+ ],
1247
+ "events": [
1248
+ {
1249
+ "name": "change",
1250
+ "type": {
1251
+ "text": "CustomEvent"
1252
+ }
1253
+ }
1254
+ ]
1255
+ }
1256
+ ]
1257
+ },
1258
+ {
1259
+ "kind": "javascript-module",
1260
+ "path": "dist/web-components.js",
1261
+ "declarations": [
1262
+ {
1263
+ "kind": "custom-element",
1264
+ "name": "GSelectButtonElement",
1265
+ "tagName": "g-select-button",
1266
+ "members": [
1267
+ {
1268
+ "kind": "field",
1269
+ "name": "options",
1270
+ "type": {
1271
+ "text": "Array<string | OptionType>"
1272
+ },
1273
+ "optional": false,
1274
+ "description": "List of options to select from"
1275
+ },
1276
+ {
1277
+ "kind": "field",
1278
+ "name": "label",
1279
+ "type": {
1280
+ "text": "string"
1281
+ },
1282
+ "optional": false,
1283
+ "description": "Accessible label"
1284
+ },
1285
+ {
1286
+ "kind": "field",
1287
+ "name": "size",
1288
+ "type": {
1289
+ "text": "\"small\" | \"medium\" | \"large\""
1290
+ },
1291
+ "optional": true,
1292
+ "description": "Size",
1293
+ "default": "\"medium\""
1294
+ },
1295
+ {
1296
+ "kind": "field",
1297
+ "name": "name",
1298
+ "type": {
1299
+ "text": "string"
1300
+ },
1301
+ "optional": true,
1302
+ "description": "Name for form registration",
1303
+ "default": "undefined"
1304
+ },
1305
+ {
1306
+ "kind": "field",
1307
+ "name": "disabled",
1308
+ "type": {
1309
+ "text": "boolean"
1310
+ },
1311
+ "optional": true,
1312
+ "description": "Disabled",
1313
+ "default": "false"
1314
+ },
1315
+ {
1316
+ "kind": "field",
1317
+ "name": "errors",
1318
+ "type": {
1319
+ "text": "string[]"
1320
+ },
1321
+ "optional": true,
1322
+ "description": "Error messages array (supports multiple validation errors)",
1323
+ "default": "() => []"
1324
+ },
1325
+ {
1326
+ "kind": "field",
1327
+ "name": "formKey",
1328
+ "type": {
1329
+ "text": "string"
1330
+ },
1331
+ "optional": true,
1332
+ "description": "Form channel key for custom elements mode",
1333
+ "default": "undefined"
1334
+ },
1335
+ {
1336
+ "kind": "field",
1337
+ "name": "modelValue",
1338
+ "type": {
1339
+ "text": "string | number"
1340
+ },
1341
+ "optional": true
1342
+ }
1343
+ ],
1344
+ "events": [
1345
+ {
1346
+ "name": "change",
1347
+ "type": {
1348
+ "text": "CustomEvent"
1349
+ }
1350
+ }
1351
+ ]
1352
+ }
1353
+ ]
1354
+ },
1355
+ {
1356
+ "kind": "javascript-module",
1357
+ "path": "dist/web-components.js",
1358
+ "declarations": [
1359
+ {
1360
+ "kind": "custom-element",
1361
+ "name": "GSidebarElement",
1362
+ "tagName": "g-sidebar",
1363
+ "members": [
1364
+ {
1365
+ "kind": "field",
1366
+ "name": "backgroundColor",
1367
+ "type": {
1368
+ "text": "string"
1369
+ },
1370
+ "optional": true,
1371
+ "description": "Custom background color",
1372
+ "default": "\"\""
1373
+ },
1374
+ {
1375
+ "kind": "field",
1376
+ "name": "backgroundImage",
1377
+ "type": {
1378
+ "text": "string"
1379
+ },
1380
+ "optional": true,
1381
+ "description": "Custom background image",
1382
+ "default": "\"none\""
1383
+ },
1384
+ {
1385
+ "kind": "field",
1386
+ "name": "theme",
1387
+ "type": {
1388
+ "text": "\"light\" | \"dark\""
1389
+ },
1390
+ "optional": true,
1391
+ "description": "Sidebar theme",
1392
+ "default": "\"dark\""
1393
+ },
1394
+ {
1395
+ "kind": "field",
1396
+ "name": "topOffset",
1397
+ "type": {
1398
+ "text": "string"
1399
+ },
1400
+ "optional": true,
1401
+ "description": "Offset from the top of the viewport",
1402
+ "default": "\"\""
1403
+ },
1404
+ {
1405
+ "kind": "field",
1406
+ "name": "topOffsetVar",
1407
+ "type": {
1408
+ "text": "string"
1409
+ },
1410
+ "optional": true,
1411
+ "description": "Top offset variable to use instead of topOffset",
1412
+ "default": "\"\""
1413
+ },
1414
+ {
1415
+ "kind": "field",
1416
+ "name": "width",
1417
+ "type": {
1418
+ "text": "string"
1419
+ },
1420
+ "optional": true,
1421
+ "description": "Width Width of the sidebar",
1422
+ "default": "\"300px\""
1423
+ },
1424
+ {
1425
+ "kind": "field",
1426
+ "name": "sidebarKey",
1427
+ "type": {
1428
+ "text": "string"
1429
+ },
1430
+ "optional": true,
1431
+ "description": "Sidebar channel key for custom elements mode",
1432
+ "default": "\"default\""
1433
+ }
1434
+ ],
1435
+ "events": []
1436
+ }
1437
+ ]
1438
+ },
1439
+ {
1440
+ "kind": "javascript-module",
1441
+ "path": "dist/web-components.js",
1442
+ "declarations": [
1443
+ {
1444
+ "kind": "custom-element",
1445
+ "name": "GSidebarMenuElement",
1446
+ "tagName": "g-sidebar-menu",
1447
+ "members": [
1448
+ {
1449
+ "kind": "field",
1450
+ "name": "title",
1451
+ "type": {
1452
+ "text": "string"
1453
+ },
1454
+ "optional": true,
1455
+ "description": "Title and accessible name"
1456
+ },
1457
+ {
1458
+ "kind": "field",
1459
+ "name": "items",
1460
+ "type": {
1461
+ "text": "MenuItem[]"
1462
+ },
1463
+ "optional": false,
1464
+ "description": "Items for the menu"
1465
+ },
1466
+ {
1467
+ "kind": "field",
1468
+ "name": "offset",
1469
+ "type": {
1470
+ "text": "number"
1471
+ },
1472
+ "optional": true,
1473
+ "description": "Offset for tracking active position to account for toolbars",
1474
+ "default": "70"
1475
+ },
1476
+ {
1477
+ "kind": "field",
1478
+ "name": "spy",
1479
+ "type": {
1480
+ "text": "boolean"
1481
+ },
1482
+ "optional": true,
1483
+ "description": "Track active position for in-page links",
1484
+ "default": "true"
1485
+ },
1486
+ {
1487
+ "kind": "field",
1488
+ "name": "theme",
1489
+ "type": {
1490
+ "text": "\"light\" | \"dark\""
1491
+ },
1492
+ "optional": true,
1493
+ "description": "Sidebar theme",
1494
+ "default": "\"light\""
1495
+ },
1496
+ {
1497
+ "kind": "field",
1498
+ "name": "compact",
1499
+ "type": {
1500
+ "text": "boolean"
1501
+ },
1502
+ "optional": true,
1503
+ "description": "Use compact layout",
1504
+ "default": "false"
1505
+ },
1506
+ {
1507
+ "kind": "field",
1508
+ "name": "modelValue",
1509
+ "type": {
1510
+ "text": "string | null"
1511
+ },
1512
+ "optional": true
1513
+ }
1514
+ ],
1515
+ "events": []
1516
+ }
1517
+ ]
1518
+ },
1519
+ {
1520
+ "kind": "javascript-module",
1521
+ "path": "dist/web-components.js",
1522
+ "declarations": [
1523
+ {
1524
+ "kind": "custom-element",
1525
+ "name": "GSubmitButtonElement",
1526
+ "tagName": "g-submit-button",
1527
+ "members": [
1528
+ {
1529
+ "kind": "field",
1530
+ "name": "disabled",
1531
+ "type": {
1532
+ "text": "boolean"
1533
+ },
1534
+ "optional": true,
1535
+ "description": "Disabled state",
1536
+ "default": "false"
1537
+ },
1538
+ {
1539
+ "kind": "field",
1540
+ "name": "loadingText",
1541
+ "type": {
1542
+ "text": "string"
1543
+ },
1544
+ "optional": true,
1545
+ "description": "Loading text to show during submission",
1546
+ "default": "\"Submitting...\""
1547
+ },
1548
+ {
1549
+ "kind": "field",
1550
+ "name": "variant",
1551
+ "type": {
1552
+ "text": "\"primary\" | \"secondary\" | \"danger\""
1553
+ },
1554
+ "optional": true,
1555
+ "description": "Variant",
1556
+ "default": "\"primary\""
1557
+ },
1558
+ {
1559
+ "kind": "field",
1560
+ "name": "formKey",
1561
+ "type": {
1562
+ "text": "string"
1563
+ },
1564
+ "optional": true,
1565
+ "description": "Form channel key for custom elements mode",
1566
+ "default": "\"default\""
1567
+ }
1568
+ ],
1569
+ "events": []
1570
+ }
1571
+ ]
1572
+ },
1573
+ {
1574
+ "kind": "javascript-module",
1575
+ "path": "dist/web-components.js",
1576
+ "declarations": [
1577
+ {
1578
+ "kind": "custom-element",
1579
+ "name": "GTableElement",
1580
+ "tagName": "g-table",
1581
+ "members": [
1582
+ {
1583
+ "kind": "field",
1584
+ "name": "label",
1585
+ "type": {
1586
+ "text": "string"
1587
+ },
1588
+ "optional": false,
1589
+ "description": "Accessible label"
1590
+ },
1591
+ {
1592
+ "kind": "field",
1593
+ "name": "data",
1594
+ "type": {
1595
+ "text": "TableRow[]"
1596
+ },
1597
+ "optional": false,
1598
+ "description": "The data to display in the table The data should be an array of objects, each representing a row in the table. Each object should have a unique `key` property that can be used to identify the row."
1599
+ },
1600
+ {
1601
+ "kind": "field",
1602
+ "name": "columns",
1603
+ "type": {
1604
+ "text": "TableColumn<TableRow>[]"
1605
+ },
1606
+ "optional": false,
1607
+ "description": "The columns to display in the table Each column's key needs to match the key of a property in the data objects, which determines the data to display in that column by default. You can also provide a custom display function to customize the data display."
1608
+ },
1609
+ {
1610
+ "kind": "field",
1611
+ "name": "resultCount",
1612
+ "type": {
1613
+ "text": "number"
1614
+ },
1615
+ "optional": true,
1616
+ "description": "Result count for all of the possible results (not just the current page) This is shown in the toolbar."
1617
+ },
1618
+ {
1619
+ "kind": "field",
1620
+ "name": "groupBy",
1621
+ "type": {
1622
+ "text": "keyof TableRow"
1623
+ },
1624
+ "optional": true,
1625
+ "description": "A column key to group the data by If provided, the `groupRender` render function will be used to render the group header."
1626
+ },
1627
+ {
1628
+ "kind": "field",
1629
+ "name": "groupRender",
1630
+ "type": {
1631
+ "text": "(groupValue: any, row: TableRow) => VNode"
1632
+ },
1633
+ "optional": true,
1634
+ "description": "A render function to customize the display of the group header."
1635
+ },
1636
+ {
1637
+ "kind": "field",
1638
+ "name": "filtering",
1639
+ "type": {
1640
+ "text": "UseFilteringReturn<any>"
1641
+ },
1642
+ "optional": true,
1643
+ "description": "Filtering object created with useFiltering()"
1644
+ },
1645
+ {
1646
+ "kind": "field",
1647
+ "name": "rowClickable",
1648
+ "type": {
1649
+ "text": "boolean"
1650
+ },
1651
+ "optional": true,
1652
+ "description": "Make the table rows clickable"
1653
+ },
1654
+ {
1655
+ "kind": "field",
1656
+ "name": "rowClass",
1657
+ "type": {
1658
+ "text": "(row: TableRow) => string | string[] | undefined"
1659
+ },
1660
+ "optional": true,
1661
+ "description": "A function to customize the classes applied to table rows"
1662
+ },
1663
+ {
1664
+ "kind": "field",
1665
+ "name": "startIndex",
1666
+ "type": {
1667
+ "text": "number"
1668
+ },
1669
+ "optional": false,
1670
+ "description": "The starting index for this page This is used for the ARIA rowindex attribute, and is VERY important to not get wrong."
1671
+ },
1672
+ {
1673
+ "kind": "field",
1674
+ "name": "bulkSelectionEnabled",
1675
+ "type": {
1676
+ "text": "boolean"
1677
+ },
1678
+ "optional": true,
1679
+ "description": "Enable bulk selection with checkboxes",
1680
+ "default": "false"
1681
+ },
1682
+ {
1683
+ "kind": "field",
1684
+ "name": "bulkActions",
1685
+ "type": {
1686
+ "text": "BulkAction[]"
1687
+ },
1688
+ "optional": true,
1689
+ "description": "Array of actions to show in the sticky toolbar when rows are selected",
1690
+ "default": "() => []"
1691
+ },
1692
+ {
1693
+ "kind": "field",
1694
+ "name": "changeTracker",
1695
+ "type": {
1696
+ "text": "UseTableChangesReturn<TableRow>"
1697
+ },
1698
+ "optional": true,
1699
+ "description": "Optional change tracker for editable tables. Pass a composable from useTableChanges() to track user edits."
1700
+ },
1701
+ {
1702
+ "kind": "field",
1703
+ "name": "showPagination",
1704
+ "type": {
1705
+ "text": "boolean"
1706
+ },
1707
+ "optional": true,
1708
+ "description": "Explicitly show the pagination bar even if the slot is empty",
1709
+ "default": "false"
1710
+ },
1711
+ {
1712
+ "kind": "field",
1713
+ "name": "sortField",
1714
+ "type": {
1715
+ "text": "keyof TableRow"
1716
+ },
1717
+ "optional": true
1718
+ },
1719
+ {
1720
+ "kind": "field",
1721
+ "name": "sortOrder",
1722
+ "type": {
1723
+ "text": "1 | -1"
1724
+ },
1725
+ "optional": true
1726
+ },
1727
+ {
1728
+ "kind": "field",
1729
+ "name": "filter",
1730
+ "type": {
1731
+ "text": "Partial<Record<keyof TableRow, any>>"
1732
+ },
1733
+ "optional": true
1734
+ },
1735
+ {
1736
+ "kind": "field",
1737
+ "name": "selectedRows",
1738
+ "type": {
1739
+ "text": "string[]"
1740
+ },
1741
+ "optional": true
1742
+ }
1743
+ ],
1744
+ "events": [
1745
+ {
1746
+ "name": "row-click",
1747
+ "type": {
1748
+ "text": "CustomEvent"
1749
+ }
1750
+ },
1751
+ {
1752
+ "name": "bulk-action",
1753
+ "type": {
1754
+ "text": "CustomEvent"
1755
+ }
1756
+ },
1757
+ {
1758
+ "name": "cell-change",
1759
+ "type": {
1760
+ "text": "CustomEvent"
1761
+ }
1762
+ }
1763
+ ]
1764
+ }
1765
+ ]
1766
+ },
1767
+ {
1768
+ "kind": "javascript-module",
1769
+ "path": "dist/web-components.js",
1770
+ "declarations": [
1771
+ {
1772
+ "kind": "custom-element",
1773
+ "name": "GTableBodyElement",
1774
+ "tagName": "g-table-body",
1775
+ "members": [
1776
+ {
1777
+ "kind": "field",
1778
+ "name": "data",
1779
+ "type": {
1780
+ "text": "TableRow[]"
1781
+ },
1782
+ "optional": false
1783
+ },
1784
+ {
1785
+ "kind": "field",
1786
+ "name": "groupBy",
1787
+ "type": {
1788
+ "text": "keyof TableRow"
1789
+ },
1790
+ "optional": true
1791
+ },
1792
+ {
1793
+ "kind": "field",
1794
+ "name": "columns",
1795
+ "type": {
1796
+ "text": "TableColumn<TableRow>[]"
1797
+ },
1798
+ "optional": false
1799
+ },
1800
+ {
1801
+ "kind": "field",
1802
+ "name": "groupRender",
1803
+ "type": {
1804
+ "text": "(groupValue: any, row: TableRow) => VNode"
1805
+ },
1806
+ "optional": true
1807
+ },
1808
+ {
1809
+ "kind": "field",
1810
+ "name": "rowClickable",
1811
+ "type": {
1812
+ "text": "boolean"
1813
+ },
1814
+ "optional": true
1815
+ },
1816
+ {
1817
+ "kind": "field",
1818
+ "name": "rowClass",
1819
+ "type": {
1820
+ "text": "(row: TableRow) => string | string[] | undefined"
1821
+ },
1822
+ "optional": true
1823
+ },
1824
+ {
1825
+ "kind": "field",
1826
+ "name": "startIndex",
1827
+ "type": {
1828
+ "text": "number"
1829
+ },
1830
+ "optional": false
1831
+ },
1832
+ {
1833
+ "kind": "field",
1834
+ "name": "bulkSelectionEnabled",
1835
+ "type": {
1836
+ "text": "boolean"
1837
+ },
1838
+ "optional": true
1839
+ },
1840
+ {
1841
+ "kind": "field",
1842
+ "name": "selectedRows",
1843
+ "type": {
1844
+ "text": "string[]"
1845
+ },
1846
+ "optional": true
1847
+ },
1848
+ {
1849
+ "kind": "field",
1850
+ "name": "tableId",
1851
+ "type": {
1852
+ "text": "string"
1853
+ },
1854
+ "optional": false
1855
+ },
1856
+ {
1857
+ "kind": "field",
1858
+ "name": "changeTracker",
1859
+ "type": {
1860
+ "text": "UseTableChangesReturn<TableRow>"
1861
+ },
1862
+ "optional": true
1863
+ }
1864
+ ],
1865
+ "events": [
1866
+ {
1867
+ "name": "row-click",
1868
+ "type": {
1869
+ "text": "CustomEvent"
1870
+ }
1871
+ },
1872
+ {
1873
+ "name": "toggle-row",
1874
+ "type": {
1875
+ "text": "CustomEvent"
1876
+ }
1877
+ },
1878
+ {
1879
+ "name": "cell-change",
1880
+ "type": {
1881
+ "text": "CustomEvent"
1882
+ }
1883
+ }
1884
+ ]
1885
+ }
1886
+ ]
1887
+ },
1888
+ {
1889
+ "kind": "javascript-module",
1890
+ "path": "dist/web-components.js",
1891
+ "declarations": [
1892
+ {
1893
+ "kind": "custom-element",
1894
+ "name": "GTablePaginationElement",
1895
+ "tagName": "g-table-pagination",
1896
+ "members": [
1897
+ {
1898
+ "kind": "field",
1899
+ "name": "start",
1900
+ "type": {
1901
+ "text": "number"
1902
+ },
1903
+ "optional": true
1904
+ },
1905
+ {
1906
+ "kind": "field",
1907
+ "name": "pageSize",
1908
+ "type": {
1909
+ "text": "number"
1910
+ },
1911
+ "optional": true
1912
+ }
1913
+ ],
1914
+ "events": []
1915
+ }
1916
+ ]
1917
+ },
1918
+ {
1919
+ "kind": "javascript-module",
1920
+ "path": "dist/web-components.js",
1921
+ "declarations": [
1922
+ {
1923
+ "kind": "custom-element",
1924
+ "name": "GTermSelectorElement",
1925
+ "tagName": "g-term-selector",
1926
+ "members": [
1927
+ {
1928
+ "kind": "field",
1929
+ "name": "title",
1930
+ "type": {
1931
+ "text": "string"
1932
+ },
1933
+ "optional": true,
1934
+ "description": "Title for the popover.",
1935
+ "default": "\"Period Selection\""
1936
+ },
1937
+ {
1938
+ "kind": "field",
1939
+ "name": "yearLabel",
1940
+ "type": {
1941
+ "text": "string"
1942
+ },
1943
+ "optional": true,
1944
+ "description": "Label for year select."
1945
+ },
1946
+ {
1947
+ "kind": "field",
1948
+ "name": "periodLabel",
1949
+ "type": {
1950
+ "text": "string"
1951
+ },
1952
+ "optional": true,
1953
+ "description": "Label for period select."
1954
+ },
1955
+ {
1956
+ "kind": "field",
1957
+ "name": "termYears",
1958
+ "type": {
1959
+ "text": "string[]"
1960
+ },
1961
+ "optional": true,
1962
+ "description": "List of possible term years",
1963
+ "default": "() => [\"2026\"]"
1964
+ },
1965
+ {
1966
+ "kind": "field",
1967
+ "name": "termNames",
1968
+ "type": {
1969
+ "text": "string[]"
1970
+ },
1971
+ "optional": true,
1972
+ "description": "List of possible term names",
1973
+ "default": "() => [\"Spring\", \"Summer\", \"Fall\"]"
1974
+ },
1975
+ {
1976
+ "kind": "field",
1977
+ "name": "modelValue",
1978
+ "type": {
1979
+ "text": "{year: string, name: string}"
1980
+ },
1981
+ "optional": true
1982
+ }
1983
+ ],
1984
+ "events": []
1985
+ }
1986
+ ]
1987
+ },
1988
+ {
1989
+ "kind": "javascript-module",
1990
+ "path": "dist/web-components.js",
1991
+ "declarations": [
1992
+ {
1993
+ "kind": "custom-element",
1994
+ "name": "GTermSelectorControlElement",
1995
+ "tagName": "g-term-selector-control",
1996
+ "members": [
1997
+ {
1998
+ "kind": "field",
1999
+ "name": "termYears",
2000
+ "type": {
2001
+ "text": "string[]"
2002
+ },
2003
+ "optional": true,
2004
+ "description": "List of possible term years. Defaults to [\"2026\"].",
2005
+ "default": "() => [\"2026\"]"
2006
+ },
2007
+ {
2008
+ "kind": "field",
2009
+ "name": "termNames",
2010
+ "type": {
2011
+ "text": "string[]"
2012
+ },
2013
+ "optional": true,
2014
+ "description": "List of possible term names. Defaults to [\"Spring\", \"Summer\", \"Fall\"].",
2015
+ "default": "() => [\"Spring\", \"Summer\", \"Fall\"]"
2016
+ },
2017
+ {
2018
+ "kind": "field",
2019
+ "name": "yearLabel",
2020
+ "type": {
2021
+ "text": "string"
2022
+ },
2023
+ "optional": true,
2024
+ "description": "Label for year select. Defaults to \"Select Year\".",
2025
+ "default": "\"Select Year\""
2026
+ },
2027
+ {
2028
+ "kind": "field",
2029
+ "name": "periodLabel",
2030
+ "type": {
2031
+ "text": "string"
2032
+ },
2033
+ "optional": true,
2034
+ "description": "Label for period select. Defaults to \"Term\".",
2035
+ "default": "\"Term\""
2036
+ },
2037
+ {
2038
+ "kind": "field",
2039
+ "name": "modelValue",
2040
+ "type": {
2041
+ "text": "{year: string, name: string}"
2042
+ },
2043
+ "optional": true
2044
+ }
2045
+ ],
2046
+ "events": []
2047
+ }
2048
+ ]
2049
+ },
2050
+ {
2051
+ "kind": "javascript-module",
2052
+ "path": "dist/web-components.js",
2053
+ "declarations": [
2054
+ {
2055
+ "kind": "custom-element",
2056
+ "name": "GTextInputElement",
2057
+ "tagName": "g-text-input",
2058
+ "members": [
2059
+ {
2060
+ "kind": "field",
2061
+ "name": "label",
2062
+ "type": {
2063
+ "text": "string"
2064
+ },
2065
+ "optional": true,
2066
+ "description": "Label",
2067
+ "default": "undefined"
2068
+ },
2069
+ {
2070
+ "kind": "field",
2071
+ "name": "placeholder",
2072
+ "type": {
2073
+ "text": "string"
2074
+ },
2075
+ "optional": true,
2076
+ "description": "Placeholder text",
2077
+ "default": "\"\""
2078
+ },
2079
+ {
2080
+ "kind": "field",
2081
+ "name": "disabled",
2082
+ "type": {
2083
+ "text": "boolean"
2084
+ },
2085
+ "optional": true,
2086
+ "description": "Disabled",
2087
+ "default": "false"
2088
+ },
2089
+ {
2090
+ "kind": "field",
2091
+ "name": "errors",
2092
+ "type": {
2093
+ "text": "string[]"
2094
+ },
2095
+ "optional": true,
2096
+ "description": "Error messages array (supports multiple validation errors)",
2097
+ "default": "() => []"
2098
+ },
2099
+ {
2100
+ "kind": "field",
2101
+ "name": "instructions",
2102
+ "type": {
2103
+ "text": "string"
2104
+ },
2105
+ "optional": true,
2106
+ "description": "Instructions",
2107
+ "default": "\"\""
2108
+ },
2109
+ {
2110
+ "kind": "field",
2111
+ "name": "prefix",
2112
+ "type": {
2113
+ "text": "string"
2114
+ },
2115
+ "optional": true,
2116
+ "description": "Prefix text (displayed before input)",
2117
+ "default": "\"\""
2118
+ },
2119
+ {
2120
+ "kind": "field",
2121
+ "name": "suffix",
2122
+ "type": {
2123
+ "text": "string"
2124
+ },
2125
+ "optional": true,
2126
+ "description": "Suffix text (displayed after input)",
2127
+ "default": "\"\""
2128
+ },
2129
+ {
2130
+ "kind": "field",
2131
+ "name": "debounce",
2132
+ "type": {
2133
+ "text": "number"
2134
+ },
2135
+ "optional": true,
2136
+ "description": "Debounce in milliseconds",
2137
+ "default": "100"
2138
+ },
2139
+ {
2140
+ "kind": "field",
2141
+ "name": "name",
2142
+ "type": {
2143
+ "text": "string"
2144
+ },
2145
+ "optional": true,
2146
+ "description": "Name for form registration",
2147
+ "default": "undefined"
2148
+ },
2149
+ {
2150
+ "kind": "field",
2151
+ "name": "formKey",
2152
+ "type": {
2153
+ "text": "string"
2154
+ },
2155
+ "optional": true,
2156
+ "description": "Form channel key for custom elements mode",
2157
+ "default": "undefined"
2158
+ },
2159
+ {
2160
+ "kind": "field",
2161
+ "name": "modelValue",
2162
+ "type": {
2163
+ "text": "string | null"
2164
+ },
2165
+ "optional": true
2166
+ }
2167
+ ],
2168
+ "events": [
2169
+ {
2170
+ "name": "change",
2171
+ "type": {
2172
+ "text": "CustomEvent"
2173
+ }
2174
+ }
2175
+ ]
2176
+ }
2177
+ ]
2178
+ },
2179
+ {
2180
+ "kind": "javascript-module",
2181
+ "path": "dist/web-components.js",
2182
+ "declarations": [
2183
+ {
2184
+ "kind": "custom-element",
2185
+ "name": "GThreeWayToggleElement",
2186
+ "tagName": "g-three-way-toggle",
2187
+ "members": [
2188
+ {
2189
+ "kind": "field",
2190
+ "name": "label",
2191
+ "type": {
2192
+ "text": "string"
2193
+ },
2194
+ "optional": false,
2195
+ "description": "Accessible label"
2196
+ },
2197
+ {
2198
+ "kind": "field",
2199
+ "name": "describedby",
2200
+ "type": {
2201
+ "text": "string"
2202
+ },
2203
+ "optional": true,
2204
+ "description": "ID of an element that describes the input"
2205
+ },
2206
+ {
2207
+ "kind": "field",
2208
+ "name": "error",
2209
+ "type": {
2210
+ "text": "string"
2211
+ },
2212
+ "optional": true,
2213
+ "description": "Error message"
2214
+ },
2215
+ {
2216
+ "kind": "field",
2217
+ "name": "disabled",
2218
+ "type": {
2219
+ "text": "boolean"
2220
+ },
2221
+ "optional": true,
2222
+ "description": "Disabled"
2223
+ },
2224
+ {
2225
+ "kind": "field",
2226
+ "name": "modelValue",
2227
+ "type": {
2228
+ "text": "boolean | null"
2229
+ },
2230
+ "optional": true
2231
+ }
2232
+ ],
2233
+ "events": [
2234
+ {
2235
+ "name": "change",
2236
+ "type": {
2237
+ "text": "CustomEvent"
2238
+ }
2239
+ }
2240
+ ]
2241
+ }
2242
+ ]
2243
+ },
2244
+ {
2245
+ "kind": "javascript-module",
2246
+ "path": "dist/web-components.js",
2247
+ "declarations": [
2248
+ {
2249
+ "kind": "custom-element",
2250
+ "name": "GTreeMenuElement",
2251
+ "tagName": "g-tree-menu",
2252
+ "members": [
2253
+ {
2254
+ "kind": "field",
2255
+ "name": "title",
2256
+ "type": {
2257
+ "text": "string"
2258
+ },
2259
+ "optional": true,
2260
+ "description": "Title and accessible name for the nav landmark"
2261
+ },
2262
+ {
2263
+ "kind": "field",
2264
+ "name": "items",
2265
+ "type": {
2266
+ "text": "TreeMenuItem[]"
2267
+ },
2268
+ "optional": false,
2269
+ "description": "Items for the menu"
2270
+ },
2271
+ {
2272
+ "kind": "field",
2273
+ "name": "listType",
2274
+ "type": {
2275
+ "text": "\"ul\" | \"ol\""
2276
+ },
2277
+ "optional": true,
2278
+ "description": "List element type — use `ol` for numbered hierarchies like book chapters",
2279
+ "default": "\"ul\""
2280
+ },
2281
+ {
2282
+ "kind": "field",
2283
+ "name": "theme",
2284
+ "type": {
2285
+ "text": "\"light\" | \"dark\""
2286
+ },
2287
+ "optional": true,
2288
+ "description": "Theme",
2289
+ "default": "\"light\""
2290
+ }
2291
+ ],
2292
+ "events": []
2293
+ }
2294
+ ]
2295
+ },
2296
+ {
2297
+ "kind": "javascript-module",
2298
+ "path": "dist/web-components.js",
2299
+ "declarations": [
2300
+ {
2301
+ "kind": "custom-element",
2302
+ "name": "GUserMenuElement",
2303
+ "tagName": "g-user-menu",
2304
+ "members": [
2305
+ {
2306
+ "kind": "field",
2307
+ "name": "initials",
2308
+ "type": {
2309
+ "text": "string"
2310
+ },
2311
+ "optional": false,
2312
+ "description": "User initial(s)"
2313
+ },
2314
+ {
2315
+ "kind": "field",
2316
+ "name": "email",
2317
+ "type": {
2318
+ "text": "string"
2319
+ },
2320
+ "optional": false,
2321
+ "description": "User email"
2322
+ },
2323
+ {
2324
+ "kind": "field",
2325
+ "name": "color",
2326
+ "type": {
2327
+ "text": "string"
2328
+ },
2329
+ "optional": true,
2330
+ "description": "Background color",
2331
+ "default": "\"var(--g-surface-700)\""
2332
+ },
2333
+ {
2334
+ "kind": "field",
2335
+ "name": "label",
2336
+ "type": {
2337
+ "text": "string"
2338
+ },
2339
+ "optional": true,
2340
+ "description": "Accessible label",
2341
+ "default": "\"User menu\""
2342
+ }
2343
+ ],
2344
+ "events": []
2345
+ }
2346
+ ]
2347
+ }
2348
+ ]
2349
+ }