@illinois-grad/grad-vue 2.5.0 → 2.5.2

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 +539 -1
  2. package/dist/components/GButton.vue.d.ts +9 -0
  3. package/dist/components/GCheckboxGroup.vue.d.ts +120 -0
  4. package/dist/components/GCurrencyInput.vue.d.ts +15 -2
  5. package/dist/components/GDateInput.vue.d.ts +15 -2
  6. package/dist/components/GDateRangeInput.vue.d.ts +15 -2
  7. package/dist/components/GEmailInput.vue.d.ts +2 -2
  8. package/dist/components/GFileInput.vue.d.ts +138 -0
  9. package/dist/components/GForm.vue.d.ts +13 -0
  10. package/dist/components/GHamburgerMenu.vue.d.ts +13 -0
  11. package/dist/components/GModal.vue.d.ts +0 -6
  12. package/dist/components/GPopover.vue.d.ts +24 -8
  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 +14 -0
  16. package/dist/components/GSubmitButton.vue.d.ts +15 -0
  17. package/dist/components/GTextInput.vue.d.ts +15 -2
  18. package/dist/components/GTextarea.vue.d.ts +170 -0
  19. package/dist/components/GTooltip.vue.d.ts +37 -0
  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-_KJazv6D.js +3829 -0
  27. package/dist/grad-vue-_KJazv6D.js.map +1 -0
  28. package/dist/grad-vue-elements.css +2 -1
  29. package/dist/grad-vue-elements.d.ts +12 -0
  30. package/dist/grad-vue-elements.js +8435 -9418
  31. package/dist/grad-vue-elements.js.map +1 -1
  32. package/dist/grad-vue.css +2 -1
  33. package/dist/grad-vue.d.ts +8 -1
  34. package/dist/grad-vue.js +2 -240
  35. package/dist/plugin.d.ts +4 -1
  36. package/dist/plugin.js +9 -12
  37. package/dist/plugin.js.map +1 -1
  38. package/package.json +1 -1
  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
@@ -170,6 +170,16 @@
170
170
  "optional": true,
171
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
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\""
173
183
  }
174
184
  ],
175
185
  "events": [
@@ -231,6 +241,114 @@
231
241
  }
232
242
  ]
233
243
  },
244
+ {
245
+ "kind": "javascript-module",
246
+ "path": "dist/web-components.js",
247
+ "declarations": [
248
+ {
249
+ "kind": "custom-element",
250
+ "name": "GCheckboxGroupElement",
251
+ "tagName": "g-checkbox-group",
252
+ "members": [
253
+ {
254
+ "kind": "field",
255
+ "name": "label",
256
+ "type": {
257
+ "text": "string"
258
+ },
259
+ "optional": true,
260
+ "description": "Legend / accessible label for the group",
261
+ "default": "undefined"
262
+ },
263
+ {
264
+ "kind": "field",
265
+ "name": "options",
266
+ "type": {
267
+ "text": "CheckboxOption[]"
268
+ },
269
+ "optional": false,
270
+ "description": "List of checkbox options"
271
+ },
272
+ {
273
+ "kind": "field",
274
+ "name": "instructions",
275
+ "type": {
276
+ "text": "string"
277
+ },
278
+ "optional": true,
279
+ "description": "Instructions shown below the legend",
280
+ "default": "\"\""
281
+ },
282
+ {
283
+ "kind": "field",
284
+ "name": "errors",
285
+ "type": {
286
+ "text": "string[]"
287
+ },
288
+ "optional": true,
289
+ "description": "Error messages array (supports multiple validation errors)",
290
+ "default": "() => []"
291
+ },
292
+ {
293
+ "kind": "field",
294
+ "name": "required",
295
+ "type": {
296
+ "text": "boolean"
297
+ },
298
+ "optional": true,
299
+ "description": "Mark the group as required",
300
+ "default": "false"
301
+ },
302
+ {
303
+ "kind": "field",
304
+ "name": "radio",
305
+ "type": {
306
+ "text": "boolean"
307
+ },
308
+ "optional": true,
309
+ "description": "Render as radio buttons (single-select)",
310
+ "default": "false"
311
+ },
312
+ {
313
+ "kind": "field",
314
+ "name": "name",
315
+ "type": {
316
+ "text": "string"
317
+ },
318
+ "optional": true,
319
+ "description": "Name for form registration and native input `name` attribute",
320
+ "default": "undefined"
321
+ },
322
+ {
323
+ "kind": "field",
324
+ "name": "formKey",
325
+ "type": {
326
+ "text": "string"
327
+ },
328
+ "optional": true,
329
+ "description": "Form channel key for custom elements mode",
330
+ "default": "undefined"
331
+ },
332
+ {
333
+ "kind": "field",
334
+ "name": "modelValue",
335
+ "type": {
336
+ "text": "string[]"
337
+ },
338
+ "optional": true
339
+ }
340
+ ],
341
+ "events": [
342
+ {
343
+ "name": "change",
344
+ "type": {
345
+ "text": "CustomEvent"
346
+ }
347
+ }
348
+ ]
349
+ }
350
+ ]
351
+ },
234
352
  {
235
353
  "kind": "javascript-module",
236
354
  "path": "dist/web-components.js",
@@ -341,6 +459,16 @@
341
459
  "description": "Name for form registration",
342
460
  "default": "undefined"
343
461
  },
462
+ {
463
+ "kind": "field",
464
+ "name": "formKey",
465
+ "type": {
466
+ "text": "string"
467
+ },
468
+ "optional": true,
469
+ "description": "Form channel key for custom elements mode",
470
+ "default": "undefined"
471
+ },
344
472
  {
345
473
  "kind": "field",
346
474
  "name": "modelValue",
@@ -423,6 +551,16 @@
423
551
  "description": "Name for form registration",
424
552
  "default": "undefined"
425
553
  },
554
+ {
555
+ "kind": "field",
556
+ "name": "formKey",
557
+ "type": {
558
+ "text": "string"
559
+ },
560
+ "optional": true,
561
+ "description": "Form channel key for custom elements mode",
562
+ "default": "undefined"
563
+ },
426
564
  {
427
565
  "kind": "field",
428
566
  "name": "modelValue",
@@ -515,6 +653,16 @@
515
653
  "description": "Name for form registration",
516
654
  "default": "undefined"
517
655
  },
656
+ {
657
+ "kind": "field",
658
+ "name": "formKey",
659
+ "type": {
660
+ "text": "string"
661
+ },
662
+ "optional": true,
663
+ "description": "Form channel key for custom elements mode",
664
+ "default": "undefined"
665
+ },
518
666
  {
519
667
  "kind": "field",
520
668
  "name": "modelValue",
@@ -657,6 +805,139 @@
657
805
  }
658
806
  ]
659
807
  },
808
+ {
809
+ "kind": "javascript-module",
810
+ "path": "dist/web-components.js",
811
+ "declarations": [
812
+ {
813
+ "kind": "custom-element",
814
+ "name": "GFileInputElement",
815
+ "tagName": "g-file-input",
816
+ "members": [
817
+ {
818
+ "kind": "field",
819
+ "name": "label",
820
+ "type": {
821
+ "text": "string"
822
+ },
823
+ "optional": true,
824
+ "description": "Label"
825
+ },
826
+ {
827
+ "kind": "field",
828
+ "name": "instructions",
829
+ "type": {
830
+ "text": "string"
831
+ },
832
+ "optional": true,
833
+ "description": "Instructions",
834
+ "default": "\"\""
835
+ },
836
+ {
837
+ "kind": "field",
838
+ "name": "disabled",
839
+ "type": {
840
+ "text": "boolean"
841
+ },
842
+ "optional": true,
843
+ "description": "Disabled",
844
+ "default": "false"
845
+ },
846
+ {
847
+ "kind": "field",
848
+ "name": "errors",
849
+ "type": {
850
+ "text": "string[]"
851
+ },
852
+ "optional": true,
853
+ "description": "Error messages array (supports multiple validation errors)",
854
+ "default": "() => []"
855
+ },
856
+ {
857
+ "kind": "field",
858
+ "name": "required",
859
+ "type": {
860
+ "text": "boolean"
861
+ },
862
+ "optional": true,
863
+ "description": "Required",
864
+ "default": "false"
865
+ },
866
+ {
867
+ "kind": "field",
868
+ "name": "name",
869
+ "type": {
870
+ "text": "string"
871
+ },
872
+ "optional": true,
873
+ "description": "Name for form registration"
874
+ },
875
+ {
876
+ "kind": "field",
877
+ "name": "formKey",
878
+ "type": {
879
+ "text": "string"
880
+ },
881
+ "optional": true,
882
+ "description": "Form channel key for custom elements mode"
883
+ },
884
+ {
885
+ "kind": "field",
886
+ "name": "accept",
887
+ "type": {
888
+ "text": "string"
889
+ },
890
+ "optional": true,
891
+ "description": "Accepted file types (e.g. \".pdf,.docx\" or \"image/*\")"
892
+ },
893
+ {
894
+ "kind": "field",
895
+ "name": "multiple",
896
+ "type": {
897
+ "text": "boolean"
898
+ },
899
+ "optional": true,
900
+ "description": "Allow multiple file selection",
901
+ "default": "false"
902
+ },
903
+ {
904
+ "kind": "field",
905
+ "name": "maxFileSize",
906
+ "type": {
907
+ "text": "number"
908
+ },
909
+ "optional": true,
910
+ "description": "Maximum file size in bytes for client-side validation"
911
+ },
912
+ {
913
+ "kind": "field",
914
+ "name": "maxFiles",
915
+ "type": {
916
+ "text": "number"
917
+ },
918
+ "optional": true,
919
+ "description": "Maximum number of files allowed for client-side validation"
920
+ },
921
+ {
922
+ "kind": "field",
923
+ "name": "modelValue",
924
+ "type": {
925
+ "text": "File[]"
926
+ },
927
+ "optional": true
928
+ }
929
+ ],
930
+ "events": [
931
+ {
932
+ "name": "change",
933
+ "type": {
934
+ "text": "CustomEvent"
935
+ }
936
+ }
937
+ ]
938
+ }
939
+ ]
940
+ },
660
941
  {
661
942
  "kind": "javascript-module",
662
943
  "path": "dist/web-components.js",
@@ -686,6 +967,16 @@
686
967
  "description": "HTTP method (optional, for native form submission)",
687
968
  "default": "\"post\""
688
969
  },
970
+ {
971
+ "kind": "field",
972
+ "name": "formKey",
973
+ "type": {
974
+ "text": "string"
975
+ },
976
+ "optional": true,
977
+ "description": "Form channel key for custom elements mode",
978
+ "default": "\"default\""
979
+ },
689
980
  {
690
981
  "kind": "field",
691
982
  "name": "modelValue",
@@ -724,6 +1015,16 @@
724
1015
  "optional": true,
725
1016
  "description": "Accessible label",
726
1017
  "default": "\"Main Navigation\""
1018
+ },
1019
+ {
1020
+ "kind": "field",
1021
+ "name": "sidebarKey",
1022
+ "type": {
1023
+ "text": "string"
1024
+ },
1025
+ "optional": true,
1026
+ "description": "Sidebar channel key for custom elements mode",
1027
+ "default": "\"default\""
727
1028
  }
728
1029
  ],
729
1030
  "events": [
@@ -877,7 +1178,9 @@
877
1178
  "type": {
878
1179
  "text": "boolean"
879
1180
  },
880
- "optional": true
1181
+ "optional": true,
1182
+ "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.",
1183
+ "default": "false"
881
1184
  }
882
1185
  ],
883
1186
  "events": [
@@ -892,6 +1195,42 @@
892
1195
  "type": {
893
1196
  "text": "CustomEvent"
894
1197
  }
1198
+ },
1199
+ {
1200
+ "name": "update:modelValue",
1201
+ "type": {
1202
+ "text": "CustomEvent"
1203
+ }
1204
+ }
1205
+ ]
1206
+ }
1207
+ ]
1208
+ },
1209
+ {
1210
+ "kind": "javascript-module",
1211
+ "path": "dist/web-components.js",
1212
+ "declarations": [
1213
+ {
1214
+ "kind": "custom-element",
1215
+ "name": "GTooltipElement",
1216
+ "tagName": "g-tooltip",
1217
+ "members": [
1218
+ {
1219
+ "kind": "field",
1220
+ "name": "text",
1221
+ "type": {
1222
+ "text": "string"
1223
+ },
1224
+ "optional": false,
1225
+ "description": "Tooltip text"
1226
+ }
1227
+ ],
1228
+ "events": [
1229
+ {
1230
+ "name": "tooltip-hide",
1231
+ "type": {
1232
+ "text": "CustomEvent"
1233
+ }
895
1234
  }
896
1235
  ]
897
1236
  }
@@ -1127,6 +1466,16 @@
1127
1466
  "description": "Error messages array (supports multiple validation errors)",
1128
1467
  "default": "() => []"
1129
1468
  },
1469
+ {
1470
+ "kind": "field",
1471
+ "name": "formKey",
1472
+ "type": {
1473
+ "text": "string"
1474
+ },
1475
+ "optional": true,
1476
+ "description": "Form channel key for custom elements mode",
1477
+ "default": "undefined"
1478
+ },
1130
1479
  {
1131
1480
  "kind": "field",
1132
1481
  "name": "modelValue",
@@ -1214,6 +1563,16 @@
1214
1563
  "description": "Error messages array (supports multiple validation errors)",
1215
1564
  "default": "() => []"
1216
1565
  },
1566
+ {
1567
+ "kind": "field",
1568
+ "name": "formKey",
1569
+ "type": {
1570
+ "text": "string"
1571
+ },
1572
+ "optional": true,
1573
+ "description": "Form channel key for custom elements mode",
1574
+ "default": "undefined"
1575
+ },
1217
1576
  {
1218
1577
  "kind": "field",
1219
1578
  "name": "modelValue",
@@ -1302,6 +1661,16 @@
1302
1661
  "optional": true,
1303
1662
  "description": "Width Width of the sidebar",
1304
1663
  "default": "\"300px\""
1664
+ },
1665
+ {
1666
+ "kind": "field",
1667
+ "name": "sidebarKey",
1668
+ "type": {
1669
+ "text": "string"
1670
+ },
1671
+ "optional": true,
1672
+ "description": "Sidebar channel key for custom elements mode",
1673
+ "default": "\"default\""
1305
1674
  }
1306
1675
  ],
1307
1676
  "events": []
@@ -1426,6 +1795,16 @@
1426
1795
  "optional": true,
1427
1796
  "description": "Variant",
1428
1797
  "default": "\"primary\""
1798
+ },
1799
+ {
1800
+ "kind": "field",
1801
+ "name": "formKey",
1802
+ "type": {
1803
+ "text": "string"
1804
+ },
1805
+ "optional": true,
1806
+ "description": "Form channel key for custom elements mode",
1807
+ "default": "\"default\""
1429
1808
  }
1430
1809
  ],
1431
1810
  "events": []
@@ -2008,6 +2387,165 @@
2008
2387
  "description": "Name for form registration",
2009
2388
  "default": "undefined"
2010
2389
  },
2390
+ {
2391
+ "kind": "field",
2392
+ "name": "formKey",
2393
+ "type": {
2394
+ "text": "string"
2395
+ },
2396
+ "optional": true,
2397
+ "description": "Form channel key for custom elements mode",
2398
+ "default": "undefined"
2399
+ },
2400
+ {
2401
+ "kind": "field",
2402
+ "name": "modelValue",
2403
+ "type": {
2404
+ "text": "string | null"
2405
+ },
2406
+ "optional": true
2407
+ }
2408
+ ],
2409
+ "events": [
2410
+ {
2411
+ "name": "change",
2412
+ "type": {
2413
+ "text": "CustomEvent"
2414
+ }
2415
+ }
2416
+ ]
2417
+ }
2418
+ ]
2419
+ },
2420
+ {
2421
+ "kind": "javascript-module",
2422
+ "path": "dist/web-components.js",
2423
+ "declarations": [
2424
+ {
2425
+ "kind": "custom-element",
2426
+ "name": "GTextareaElement",
2427
+ "tagName": "g-textarea",
2428
+ "members": [
2429
+ {
2430
+ "kind": "field",
2431
+ "name": "label",
2432
+ "type": {
2433
+ "text": "string"
2434
+ },
2435
+ "optional": true,
2436
+ "description": "Label",
2437
+ "default": "undefined"
2438
+ },
2439
+ {
2440
+ "kind": "field",
2441
+ "name": "placeholder",
2442
+ "type": {
2443
+ "text": "string"
2444
+ },
2445
+ "optional": true,
2446
+ "description": "Placeholder text",
2447
+ "default": "\"\""
2448
+ },
2449
+ {
2450
+ "kind": "field",
2451
+ "name": "disabled",
2452
+ "type": {
2453
+ "text": "boolean"
2454
+ },
2455
+ "optional": true,
2456
+ "description": "Disabled",
2457
+ "default": "false"
2458
+ },
2459
+ {
2460
+ "kind": "field",
2461
+ "name": "readonly",
2462
+ "type": {
2463
+ "text": "boolean"
2464
+ },
2465
+ "optional": true,
2466
+ "description": "Read-only",
2467
+ "default": "false"
2468
+ },
2469
+ {
2470
+ "kind": "field",
2471
+ "name": "required",
2472
+ "type": {
2473
+ "text": "boolean"
2474
+ },
2475
+ "optional": true,
2476
+ "description": "Required",
2477
+ "default": "false"
2478
+ },
2479
+ {
2480
+ "kind": "field",
2481
+ "name": "errors",
2482
+ "type": {
2483
+ "text": "string[]"
2484
+ },
2485
+ "optional": true,
2486
+ "description": "Error messages array (supports multiple validation errors)",
2487
+ "default": "() => []"
2488
+ },
2489
+ {
2490
+ "kind": "field",
2491
+ "name": "instructions",
2492
+ "type": {
2493
+ "text": "string"
2494
+ },
2495
+ "optional": true,
2496
+ "description": "Instructions",
2497
+ "default": "\"\""
2498
+ },
2499
+ {
2500
+ "kind": "field",
2501
+ "name": "rows",
2502
+ "type": {
2503
+ "text": "number"
2504
+ },
2505
+ "optional": true,
2506
+ "description": "Number of visible text rows",
2507
+ "default": "4"
2508
+ },
2509
+ {
2510
+ "kind": "field",
2511
+ "name": "maxlength",
2512
+ "type": {
2513
+ "text": "number"
2514
+ },
2515
+ "optional": true,
2516
+ "description": "Maximum number of characters allowed",
2517
+ "default": "undefined"
2518
+ },
2519
+ {
2520
+ "kind": "field",
2521
+ "name": "autoGrow",
2522
+ "type": {
2523
+ "text": "boolean"
2524
+ },
2525
+ "optional": true,
2526
+ "description": "Automatically grow the textarea height to fit content",
2527
+ "default": "false"
2528
+ },
2529
+ {
2530
+ "kind": "field",
2531
+ "name": "name",
2532
+ "type": {
2533
+ "text": "string"
2534
+ },
2535
+ "optional": true,
2536
+ "description": "Name for form registration",
2537
+ "default": "undefined"
2538
+ },
2539
+ {
2540
+ "kind": "field",
2541
+ "name": "formKey",
2542
+ "type": {
2543
+ "text": "string"
2544
+ },
2545
+ "optional": true,
2546
+ "description": "Form channel key for custom elements mode",
2547
+ "default": "undefined"
2548
+ },
2011
2549
  {
2012
2550
  "kind": "field",
2013
2551
  "name": "modelValue",
@@ -53,6 +53,10 @@ declare const __VLS_export: __VLS_WithSlots<import("vue").DefineComponent<{
53
53
  * If a named slot `icon` is provided, it takes precedence over this prop.
54
54
  */
55
55
  icon?: string;
56
+ /**
57
+ * Native button type
58
+ */
59
+ type?: "button" | "submit" | "reset";
56
60
  }, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
57
61
  click: (...args: any[]) => void;
58
62
  focus: (...args: any[]) => void;
@@ -98,6 +102,10 @@ declare const __VLS_export: __VLS_WithSlots<import("vue").DefineComponent<{
98
102
  * If a named slot `icon` is provided, it takes precedence over this prop.
99
103
  */
100
104
  icon?: string;
105
+ /**
106
+ * Native button type
107
+ */
108
+ type?: "button" | "submit" | "reset";
101
109
  }> & Readonly<{
102
110
  onClick?: ((...args: any[]) => any) | undefined;
103
111
  onFocus?: ((...args: any[]) => any) | undefined;
@@ -110,6 +118,7 @@ declare const __VLS_export: __VLS_WithSlots<import("vue").DefineComponent<{
110
118
  onMouseleave?: ((...args: any[]) => any) | undefined;
111
119
  }>, {
112
120
  size: "small" | "medium" | "large";
121
+ type: "button" | "submit" | "reset";
113
122
  text: boolean;
114
123
  theme: "primary" | "secondary" | "accent" | "danger" | "none";
115
124
  outlined: boolean;