@abgov/react-components 6.9.3 → 6.10.0-dev.10

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 (71) hide show
  1. package/experimental/index.d.ts +2 -0
  2. package/experimental/work-side-menu/work-side-menu.d.ts +34 -0
  3. package/experimental/work-side-menu-item/work-side-menu-item.d.ts +32 -0
  4. package/experimental.js +61 -1
  5. package/experimental.js.map +1 -1
  6. package/experimental.mjs +62 -2
  7. package/experimental.mjs.map +1 -1
  8. package/{icon-CK55b563.js → icon-B3p90m2x.js} +21 -26
  9. package/icon-B3p90m2x.js.map +1 -0
  10. package/{icon-CoYGOp1V.mjs → icon-CCNDGfBO.mjs} +22 -27
  11. package/icon-CCNDGfBO.mjs.map +1 -0
  12. package/index.d.ts +2 -0
  13. package/index.js +382 -718
  14. package/index.js.map +1 -1
  15. package/index.mjs +381 -716
  16. package/index.mjs.map +1 -1
  17. package/lib/accordion/accordion.d.ts +6 -5
  18. package/lib/app-header/app-header.d.ts +6 -4
  19. package/lib/app-header-menu/app-header-menu.d.ts +3 -3
  20. package/lib/badge/badge.d.ts +3 -3
  21. package/lib/block/block.d.ts +9 -3
  22. package/lib/button/button.d.ts +6 -5
  23. package/lib/button-group/button-group.d.ts +3 -3
  24. package/lib/calendar/calendar.d.ts +6 -5
  25. package/lib/callout/callout.d.ts +3 -3
  26. package/lib/card/card-actions.d.ts +3 -2
  27. package/lib/card/card-content.d.ts +3 -2
  28. package/lib/card/card-group.d.ts +3 -2
  29. package/lib/card/card-image.d.ts +3 -2
  30. package/lib/card/card.d.ts +3 -3
  31. package/lib/checkbox/checkbox.d.ts +6 -5
  32. package/lib/chip/chip.d.ts +6 -5
  33. package/lib/common/extract-props.d.ts +32 -0
  34. package/lib/container/container.d.ts +7 -3
  35. package/lib/data-grid/data-grid.d.ts +21 -0
  36. package/lib/date-picker/date-picker.d.ts +6 -5
  37. package/lib/details/details.d.ts +3 -3
  38. package/lib/dropdown/dropdown.d.ts +6 -5
  39. package/lib/file-upload-card/file-upload-card.d.ts +6 -5
  40. package/lib/file-upload-input/file-upload-input.d.ts +6 -5
  41. package/lib/filter-chip/filter-chip.d.ts +6 -5
  42. package/lib/footer/footer.d.ts +3 -2
  43. package/lib/footer-meta-section/footer-meta-section.d.ts +3 -2
  44. package/lib/footer-nav-section/footer-nav-section.d.ts +3 -2
  45. package/lib/form/fieldset.d.ts +7 -6
  46. package/lib/form/public-form-page.d.ts +6 -5
  47. package/lib/form/public-form-summary.d.ts +3 -3
  48. package/lib/form/public-form.d.ts +6 -5
  49. package/lib/form/public-subform-index.d.ts +3 -4
  50. package/lib/form/public-subform.d.ts +6 -5
  51. package/lib/form/task-list.d.ts +3 -3
  52. package/lib/form/task.d.ts +4 -4
  53. package/lib/form-item/form-item.d.ts +3 -3
  54. package/lib/icon/icon.d.ts +3 -4
  55. package/lib/icon-button/icon-button.d.ts +6 -5
  56. package/lib/input/input.d.ts +6 -5
  57. package/lib/linear-progress/linear-progress.d.ts +23 -0
  58. package/lib/link/link.d.ts +3 -3
  59. package/lib/link-button/link-button.d.ts +3 -3
  60. package/lib/menu-button/menu-action.d.ts +3 -3
  61. package/lib/menu-button/menu-button.d.ts +9 -3
  62. package/lib/popover/popover.d.ts +3 -3
  63. package/lib/radio-group/radio-group.d.ts +6 -5
  64. package/lib/table/table-sort-header.d.ts +3 -3
  65. package/lib/temporary-notification-ctrl/temporary-notification-ctrl.d.ts +6 -5
  66. package/lib/text/text.d.ts +5 -3
  67. package/lib/textarea/textarea.d.ts +6 -5
  68. package/lib/tooltip/tooltip.d.ts +3 -3
  69. package/package.json +1 -1
  70. package/icon-CK55b563.js.map +0 -1
  71. package/icon-CoYGOp1V.mjs.map +0 -1
package/index.mjs CHANGED
@@ -10,30 +10,23 @@ var __privateMethod = (obj, member, method) => (__accessCheck(obj, member, "acce
10
10
  var _PublicFormController_instances, updateObjectListState_fn, dispatchError_fn;
11
11
  import { jsxs, jsx } from "react/jsx-runtime";
12
12
  import { useRef, useEffect, useLayoutEffect, useState, useCallback } from "react";
13
- import { G, a } from "./icon-CoYGOp1V.mjs";
13
+ import { t as transformProps, l as lowercase, k as kebab } from "./icon-CCNDGfBO.mjs";
14
+ import { G, a } from "./icon-CCNDGfBO.mjs";
14
15
  function GoabAccordion({
15
16
  open,
16
- heading,
17
- headingSize,
18
- secondaryText,
19
- headingContent,
20
- iconPosition,
21
- maxWidth,
22
- testId,
23
17
  onChange,
18
+ headingContent,
24
19
  children,
25
- mt,
26
- mr,
27
- mb,
28
- ml
20
+ ...rest
29
21
  }) {
30
22
  const ref = useRef(null);
23
+ const _props = transformProps(rest, lowercase);
31
24
  useEffect(() => {
32
25
  const element = ref.current;
33
26
  if (element && onChange) {
34
27
  const handler = (event) => {
35
28
  const customEvent = event;
36
- onChange(customEvent.detail.open);
29
+ onChange == null ? void 0 : onChange(customEvent.detail.open);
37
30
  };
38
31
  element.addEventListener("_change", handler);
39
32
  return () => {
@@ -46,16 +39,7 @@ function GoabAccordion({
46
39
  {
47
40
  ref,
48
41
  open: open ? "true" : void 0,
49
- headingsize: headingSize,
50
- heading,
51
- secondarytext: secondaryText,
52
- iconposition: iconPosition,
53
- maxwidth: maxWidth,
54
- testid: testId,
55
- mt,
56
- mr,
57
- mb,
58
- ml,
42
+ ..._props,
59
43
  children: [
60
44
  headingContent && /* @__PURE__ */ jsx("div", { slot: "headingcontent", children: headingContent }),
61
45
  children
@@ -64,15 +48,12 @@ function GoabAccordion({
64
48
  );
65
49
  }
66
50
  function GoabAppHeader({
67
- heading,
68
- url,
69
- maxContentWidth,
70
- fullMenuBreakpoint,
71
- testId,
51
+ onMenuClick,
72
52
  children,
73
- onMenuClick
53
+ ...rest
74
54
  }) {
75
55
  const el = useRef(null);
56
+ const _props = transformProps(rest, lowercase);
76
57
  useEffect(() => {
77
58
  if (!el.current) {
78
59
  return;
@@ -82,7 +63,7 @@ function GoabAppHeader({
82
63
  }
83
64
  const current = el.current;
84
65
  const listener = () => {
85
- onMenuClick();
66
+ onMenuClick == null ? void 0 : onMenuClick();
86
67
  };
87
68
  current.addEventListener("_menuClick", listener);
88
69
  return () => {
@@ -93,26 +74,18 @@ function GoabAppHeader({
93
74
  "goa-app-header",
94
75
  {
95
76
  ref: el,
96
- heading,
97
- url,
98
- fullmenubreakpoint: fullMenuBreakpoint,
99
- maxcontentwidth: maxContentWidth,
100
- testid: testId,
101
77
  hasmenuclickhandler: onMenuClick ? "true" : "false",
78
+ ..._props,
102
79
  children
103
80
  }
104
81
  );
105
82
  }
106
- function GoabAppHeaderMenu(props) {
107
- return /* @__PURE__ */ jsx(
108
- "goa-app-header-menu",
109
- {
110
- heading: props.heading,
111
- leadingicon: props.leadingIcon,
112
- testid: props.testId,
113
- children: props.children
114
- }
115
- );
83
+ function GoabAppHeaderMenu({
84
+ children,
85
+ ...rest
86
+ }) {
87
+ const _props = transformProps(rest, lowercase);
88
+ return /* @__PURE__ */ jsx("goa-app-header-menu", { ..._props, children });
116
89
  }
117
90
  function getIconValue(icon, iconType) {
118
91
  if (icon !== void 0) {
@@ -121,30 +94,17 @@ function getIconValue(icon, iconType) {
121
94
  return iconType ? "true" : "false";
122
95
  }
123
96
  function GoabBadge({
124
- type,
125
- content,
126
97
  icon,
127
- testId,
128
- mt,
129
- mr,
130
- mb,
131
- ml,
132
- ariaLabel,
133
- iconType
98
+ iconType,
99
+ ...rest
134
100
  }) {
101
+ const _props = transformProps(rest, lowercase);
135
102
  return /* @__PURE__ */ jsx(
136
103
  "goa-badge",
137
104
  {
138
- type,
139
- content,
140
105
  icon: getIconValue(icon, iconType),
141
- testid: testId,
142
- arialabel: ariaLabel,
143
106
  icontype: iconType,
144
- mt,
145
- mr,
146
- mb,
147
- ml
107
+ ..._props
148
108
  }
149
109
  );
150
110
  }
@@ -248,42 +208,27 @@ function GoabEmergencyBadge({
248
208
  }
249
209
  );
250
210
  }
251
- function GoabBlock(props) {
252
- return /* @__PURE__ */ jsx(
253
- "goa-block",
254
- {
255
- gap: props.gap,
256
- direction: props.direction,
257
- alignment: props.alignment,
258
- mt: props.mt,
259
- mr: props.mr,
260
- mb: props.mb,
261
- ml: props.ml,
262
- testid: props.testId,
263
- children: props.children
264
- }
211
+ function GoabBlock({
212
+ testId,
213
+ children,
214
+ ...rest
215
+ }) {
216
+ const _props = transformProps(
217
+ { testid: testId, ...rest },
218
+ kebab
265
219
  );
220
+ return /* @__PURE__ */ jsx("goa-block", { ..._props, children });
266
221
  }
267
222
  function GoabButton({
268
223
  disabled,
269
- type,
270
- size,
271
- variant,
272
- leadingIcon,
273
- trailingIcon,
274
- width,
275
- testId,
276
- children,
277
224
  onClick,
278
- mt,
279
- mr,
280
- mb,
281
- ml,
282
- action,
283
225
  actionArgs,
284
- actionArg
226
+ actionArg,
227
+ children,
228
+ ...rest
285
229
  }) {
286
230
  const el = useRef(null);
231
+ const _props = transformProps(rest, lowercase);
287
232
  useEffect(() => {
288
233
  if (!el.current) {
289
234
  return;
@@ -293,7 +238,7 @@ function GoabButton({
293
238
  }
294
239
  const current = el.current;
295
240
  const listener = () => {
296
- onClick();
241
+ onClick == null ? void 0 : onClick();
297
242
  };
298
243
  current.addEventListener("_click", listener);
299
244
  return () => {
@@ -304,62 +249,30 @@ function GoabButton({
304
249
  "goa-button",
305
250
  {
306
251
  ref: el,
307
- type,
308
- size,
309
- variant,
310
252
  disabled: disabled ? "true" : void 0,
311
- leadingicon: leadingIcon,
312
- trailingicon: trailingIcon,
313
- width,
314
- testid: testId,
315
- action,
316
253
  "action-arg": actionArg,
317
254
  "action-args": JSON.stringify(actionArgs),
318
- mt,
319
- mr,
320
- mb,
321
- ml,
255
+ ..._props,
322
256
  children
323
257
  }
324
258
  );
325
259
  }
326
260
  function GoabButtonGroup({
327
- alignment,
328
- gap,
329
- testId,
330
261
  children,
331
- mt,
332
- mr,
333
- mb,
334
- ml
262
+ ...rest
335
263
  }) {
336
- return /* @__PURE__ */ jsx(
337
- "goa-button-group",
338
- {
339
- alignment,
340
- gap,
341
- mt,
342
- mr,
343
- mb,
344
- ml,
345
- testid: testId,
346
- children
347
- }
348
- );
264
+ const _props = transformProps(rest, lowercase);
265
+ return /* @__PURE__ */ jsx("goa-button-group", { ..._props, children });
349
266
  }
350
267
  function GoabCalendar({
351
- name,
352
- value,
353
268
  min,
354
269
  max,
355
- testId,
356
- mt,
357
- mr,
358
- mb,
359
- ml,
360
- onChange
270
+ onChange,
271
+ name,
272
+ ...rest
361
273
  }) {
362
274
  const ref = useRef(null);
275
+ const _props = transformProps(rest, lowercase);
363
276
  useEffect(() => {
364
277
  if (!ref.current) {
365
278
  return;
@@ -381,72 +294,41 @@ function GoabCalendar({
381
294
  {
382
295
  ref,
383
296
  name,
384
- value,
385
297
  min: min || void 0,
386
298
  max: max || void 0,
387
- testid: testId,
388
- mt,
389
- mr,
390
- mb,
391
- ml
299
+ ..._props
392
300
  }
393
301
  );
394
302
  }
395
303
  const GoabCallout = ({
396
- heading,
397
304
  type = "information",
398
305
  iconTheme = "outline",
399
306
  size = "large",
400
- maxWidth,
401
- testId,
402
307
  ariaLive = "off",
403
308
  children,
404
- mt,
405
- mr,
406
- mb,
407
- ml
309
+ ...rest
408
310
  }) => {
409
- return /* @__PURE__ */ jsx(
410
- "goa-callout",
411
- {
412
- heading,
413
- type,
414
- size,
415
- maxwidth: maxWidth,
416
- arialive: ariaLive,
417
- icontheme: iconTheme,
418
- mt,
419
- mr,
420
- mb,
421
- ml,
422
- testid: testId,
423
- children
424
- }
311
+ const _props = transformProps(
312
+ { type, icontheme: iconTheme, size, arialive: ariaLive, ...rest },
313
+ lowercase
425
314
  );
315
+ return /* @__PURE__ */ jsx("goa-callout", { ..._props, children });
426
316
  };
427
317
  function GoabCheckbox({
428
- id,
429
- name,
430
- testId,
431
318
  error,
432
- disabled,
433
319
  checked,
434
320
  indeterminate,
321
+ disabled,
435
322
  value,
436
- text,
437
323
  description,
438
324
  reveal,
439
- revealAriaLabel,
440
- maxWidth,
441
- children,
442
325
  onChange,
443
- ariaLabel,
444
- mt,
445
- mr,
446
- mb,
447
- ml
326
+ name,
327
+ children,
328
+ ...rest
448
329
  }) {
449
330
  const el = useRef(null);
331
+ const _props = transformProps(rest, lowercase);
450
332
  useEffect(() => {
451
333
  if (!el.current) {
452
334
  return;
@@ -464,24 +346,15 @@ function GoabCheckbox({
464
346
  return /* @__PURE__ */ jsxs(
465
347
  "goa-checkbox",
466
348
  {
467
- testid: testId,
468
349
  ref: el,
469
- id,
350
+ ..._props,
470
351
  name,
471
352
  error: error ? "true" : void 0,
472
353
  checked: checked ? "true" : void 0,
473
354
  indeterminate: indeterminate ? "true" : void 0,
474
355
  disabled: disabled ? "true" : void 0,
475
- text,
476
356
  value: typeof value === "boolean" ? value ? "true" : void 0 : value,
477
- arialabel: ariaLabel,
478
- revealarialabel: revealAriaLabel,
479
357
  description: typeof description === "string" ? description : void 0,
480
- maxwidth: maxWidth,
481
- mt,
482
- mr,
483
- mb,
484
- ml,
485
358
  children: [
486
359
  children,
487
360
  typeof description !== "string" && description && /* @__PURE__ */ jsx("div", { slot: "description", children: description }),
@@ -548,26 +421,19 @@ function GoabCheckboxList({
548
421
  );
549
422
  }
550
423
  const GoabChip = ({
551
- leadingIcon,
552
- iconTheme,
553
- deletable,
554
424
  error,
555
- variant,
556
- content,
425
+ deletable,
557
426
  onClick,
558
- mt,
559
- mr,
560
- mb,
561
- ml,
562
- testId
427
+ ...rest
563
428
  }) => {
564
429
  const el = useRef(null);
430
+ const _props = transformProps(rest, lowercase);
565
431
  useEffect(() => {
566
432
  if (!el.current) return;
567
433
  if (!onClick) return;
568
434
  const current = el.current;
569
435
  const listener = () => {
570
- onClick();
436
+ onClick == null ? void 0 : onClick();
571
437
  };
572
438
  current.addEventListener("_click", listener);
573
439
  return () => {
@@ -578,17 +444,9 @@ const GoabChip = ({
578
444
  "goa-chip",
579
445
  {
580
446
  ref: el,
581
- leadingicon: leadingIcon,
582
- icontheme: iconTheme,
583
447
  error: error ? "true" : void 0,
584
448
  deletable: deletable ? "true" : void 0,
585
- content,
586
- variant,
587
- mt,
588
- mr,
589
- mb,
590
- ml,
591
- testid: testId
449
+ ..._props
592
450
  }
593
451
  );
594
452
  };
@@ -613,61 +471,48 @@ const GoabCircularProgress = ({
613
471
  );
614
472
  };
615
473
  function GoabContainer({
616
- accent,
617
474
  heading,
618
475
  title,
619
- padding,
620
- children,
621
476
  actions,
622
- type,
623
- width,
624
- maxWidth,
625
- mt,
626
- mr,
627
- mb,
628
- ml,
629
- testId
477
+ children,
478
+ ...rest
630
479
  }) {
480
+ const _props = transformProps(rest, lowercase);
631
481
  const headingContent = heading || title;
632
- return /* @__PURE__ */ jsxs(
633
- "goa-container",
482
+ return /* @__PURE__ */ jsxs("goa-container", { ..._props, children: [
483
+ headingContent && /* @__PURE__ */ jsx("div", { slot: "title", children: headingContent }),
484
+ children,
485
+ actions && /* @__PURE__ */ jsx("div", { slot: "actions", children: actions })
486
+ ] });
487
+ }
488
+ function GoabDataGrid({
489
+ keyboardIconVisibility = "visible",
490
+ keyboardIconPosition = "left",
491
+ keyboardNav,
492
+ children
493
+ }) {
494
+ return /* @__PURE__ */ jsx(
495
+ "goa-data-grid",
634
496
  {
635
- type,
636
- padding,
637
- accent,
638
- width,
639
- maxwidth: maxWidth,
640
- mt,
641
- mr,
642
- mb,
643
- ml,
644
- testid: testId,
645
- children: [
646
- headingContent && /* @__PURE__ */ jsx("div", { slot: "title", children: headingContent }),
647
- children,
648
- actions && /* @__PURE__ */ jsx("div", { slot: "actions", children: actions })
649
- ]
497
+ "keyboard-icon-visibility": keyboardIconVisibility,
498
+ "keyboard-icon-position": keyboardIconPosition,
499
+ "keyboard-nav": keyboardNav,
500
+ children
650
501
  }
651
502
  );
652
503
  }
653
504
  function GoabDatePicker({
654
- name,
655
505
  value,
656
506
  error,
657
507
  min,
658
508
  max,
659
- testId,
660
509
  disabled,
661
- type,
662
- mt,
663
- mr,
664
- mb,
665
- ml,
666
510
  relative,
667
- width,
668
- onChange
511
+ onChange,
512
+ ...rest
669
513
  }) {
670
514
  const ref = useRef(null);
515
+ const _props = transformProps(rest, lowercase);
671
516
  useEffect(() => {
672
517
  if (value && typeof value !== "string") {
673
518
  console.warn("Using a `Date` type for value is deprecated. Instead use a string of the format `yyyy-mm-dd`");
@@ -691,47 +536,39 @@ function GoabDatePicker({
691
536
  }
692
537
  };
693
538
  }, [onChange]);
694
- const formatValue = (value2) => {
695
- if (!value2) return "";
696
- if (value2 instanceof Date) {
697
- return value2.toISOString();
539
+ const formatValue = (val) => {
540
+ if (!val) return "";
541
+ if (val instanceof Date) {
542
+ return val.toISOString();
698
543
  }
699
- return value2;
544
+ return val;
700
545
  };
701
546
  return /* @__PURE__ */ jsx(
702
547
  "goa-date-picker",
703
548
  {
704
549
  ref,
705
- name,
706
550
  value: formatValue(value) || void 0,
707
- type,
708
551
  error: error ? "true" : void 0,
709
552
  disabled: disabled ? "true" : void 0,
710
553
  min: formatValue(min) || void 0,
711
554
  max: formatValue(max) || void 0,
712
- testid: testId,
713
- mt,
714
- mr,
715
- mb,
716
- ml,
717
555
  relative: relative ? "true" : void 0,
718
- width
556
+ ..._props
719
557
  }
720
558
  );
721
559
  }
722
- function GoabDetails(props) {
560
+ function GoabDetails({
561
+ open,
562
+ children,
563
+ ...rest
564
+ }) {
565
+ const _props = transformProps(rest, lowercase);
723
566
  return /* @__PURE__ */ jsx(
724
567
  "goa-details",
725
568
  {
726
- heading: props.heading,
727
- open: props.open ? "true" : void 0,
728
- maxwidth: props.maxWidth,
729
- testid: props.testId,
730
- mt: props.mt,
731
- mr: props.mr,
732
- mb: props.mb,
733
- ml: props.ml,
734
- children: props.children
569
+ open: open ? "true" : void 0,
570
+ ..._props,
571
+ children
735
572
  }
736
573
  );
737
574
  }
@@ -756,54 +593,51 @@ function stringify(value) {
756
593
  }
757
594
  return JSON.stringify(value);
758
595
  }
759
- function GoabDropdown(props) {
596
+ function GoabDropdown({
597
+ value,
598
+ onChange,
599
+ disabled,
600
+ error,
601
+ filterable,
602
+ multiselect,
603
+ native,
604
+ relative,
605
+ children,
606
+ ...rest
607
+ }) {
760
608
  const el = useRef(null);
609
+ const _props = transformProps(rest, lowercase);
761
610
  useEffect(() => {
762
611
  if (!el.current) {
763
612
  return;
764
613
  }
765
614
  const current = el.current;
766
615
  const handler = (e) => {
767
- var _a;
768
616
  const detail = e.detail;
769
- (_a = props.onChange) == null ? void 0 : _a.call(props, detail);
617
+ onChange == null ? void 0 : onChange(detail);
770
618
  };
771
- if (props.onChange) {
619
+ if (onChange) {
772
620
  current.addEventListener("_change", handler);
773
621
  }
774
622
  return () => {
775
- if (props.onChange) {
623
+ if (onChange) {
776
624
  current.removeEventListener("_change", handler);
777
625
  }
778
626
  };
779
- }, [el, props]);
627
+ }, [el, onChange]);
780
628
  return /* @__PURE__ */ jsx(
781
629
  "goa-dropdown",
782
630
  {
783
631
  ref: el,
784
- name: props.name,
785
- value: stringify(props.value),
786
- arialabel: props.ariaLabel,
787
- arialabelledby: props.ariaLabelledBy,
788
- disabled: props.disabled ? "true" : void 0,
789
- error: props.error ? "true" : void 0,
790
- filterable: props.filterable ? "true" : void 0,
791
- leadingicon: props.leadingIcon,
792
- maxheight: props.maxHeight,
793
- mb: props.mb,
794
- ml: props.ml,
795
- mr: props.mr,
796
- mt: props.mt,
797
- multiselect: props.multiselect ? "true" : void 0,
798
- native: props.native ? "true" : void 0,
799
- placeholder: props.placeholder,
800
- testid: props.testId,
801
- width: props.width,
802
- maxwidth: props.maxWidth,
803
- relative: props.relative ? "true" : void 0,
804
- autocomplete: props.autoComplete,
805
- id: props.id,
806
- children: props.children
632
+ value: stringify(value),
633
+ disabled: disabled ? "true" : void 0,
634
+ error: error ? "true" : void 0,
635
+ filterable: filterable ? "true" : void 0,
636
+ multiselect: multiselect ? "true" : void 0,
637
+ native: native ? "true" : void 0,
638
+ relative: relative ? "true" : void 0,
639
+ ..._props,
640
+ children
807
641
  }
808
642
  );
809
643
  }
@@ -832,16 +666,13 @@ function GoabDropdownItem({
832
666
  );
833
667
  }
834
668
  function GoabFileUploadCard({
835
- filename,
836
- size,
837
- type,
838
- progress,
839
- error,
840
- testId,
841
669
  onDelete,
842
- onCancel
670
+ onCancel,
671
+ filename,
672
+ ...rest
843
673
  }) {
844
674
  const el = useRef(null);
675
+ const _props = transformProps({ filename, ...rest }, lowercase);
845
676
  useEffect(() => {
846
677
  if (!el.current) return;
847
678
  const current = el.current;
@@ -853,28 +684,15 @@ function GoabFileUploadCard({
853
684
  current.removeEventListener("_delete", deleteHandler);
854
685
  current.removeEventListener("_cancel", cancelHandler);
855
686
  };
856
- }, [el, onDelete, onCancel]);
857
- return /* @__PURE__ */ jsx(
858
- "goa-file-upload-card",
859
- {
860
- ref: el,
861
- filename,
862
- size,
863
- type,
864
- progress,
865
- error,
866
- testid: testId
867
- }
868
- );
687
+ }, [el, onDelete, onCancel, filename]);
688
+ return /* @__PURE__ */ jsx("goa-file-upload-card", { ref: el, ..._props });
869
689
  }
870
690
  function GoabFileUploadInput({
871
- variant,
872
- accept,
873
- maxFileSize,
874
- testId,
875
- onSelectFile
691
+ onSelectFile,
692
+ ...rest
876
693
  }) {
877
694
  const el = useRef(null);
695
+ const _props = transformProps(rest, lowercase);
878
696
  useEffect(() => {
879
697
  if (!el.current) return;
880
698
  const current = el.current;
@@ -887,56 +705,36 @@ function GoabFileUploadInput({
887
705
  current.removeEventListener("_selectFile", handler);
888
706
  };
889
707
  }, [el, onSelectFile]);
890
- return /* @__PURE__ */ jsx(
891
- "goa-file-upload-input",
892
- {
893
- ref: el,
894
- variant,
895
- accept,
896
- maxfilesize: maxFileSize,
897
- testid: testId
898
- }
899
- );
708
+ return /* @__PURE__ */ jsx("goa-file-upload-input", { ref: el, ..._props });
900
709
  }
901
710
  function GoabAppFooter({
902
- maxContentWidth,
903
711
  children,
904
- testId,
905
- url
712
+ ...rest
906
713
  }) {
907
- return /* @__PURE__ */ jsx("goa-app-footer", { maxcontentwidth: maxContentWidth, testid: testId, url, children });
714
+ const _props = transformProps(rest, lowercase);
715
+ return /* @__PURE__ */ jsx("goa-app-footer", { ..._props, children });
908
716
  }
909
717
  function GoabAppFooterMetaSection({
910
- testId,
911
- children
718
+ children,
719
+ ...rest
912
720
  }) {
913
- return /* @__PURE__ */ jsx("goa-app-footer-meta-section", { testid: testId, slot: "meta", children });
721
+ const _props = transformProps(rest, lowercase);
722
+ return /* @__PURE__ */ jsx("goa-app-footer-meta-section", { slot: "meta", ..._props, children });
914
723
  }
915
724
  function GoabAppFooterNavSection({
916
- heading,
917
- maxColumnCount = 1,
918
- testId,
919
- children
725
+ children,
726
+ ...rest
920
727
  }) {
921
- return /* @__PURE__ */ jsx(
922
- "goa-app-footer-nav-section",
923
- {
924
- slot: "nav",
925
- heading,
926
- maxcolumncount: maxColumnCount,
927
- testid: testId,
928
- children
929
- }
930
- );
728
+ const _props = transformProps(rest, lowercase);
729
+ return /* @__PURE__ */ jsx("goa-app-footer-nav-section", { slot: "nav", ..._props, children });
931
730
  }
932
731
  function GoabFieldset({
933
- id,
934
- sectionTitle,
935
- dispatchOn,
936
732
  onContinue,
937
- children
733
+ children,
734
+ ...rest
938
735
  }) {
939
736
  const ref = useRef(null);
737
+ const _props = transformProps(rest, kebab);
940
738
  useEffect(() => {
941
739
  if (!ref.current) return;
942
740
  const current = ref.current;
@@ -953,35 +751,15 @@ function GoabFieldset({
953
751
  }
954
752
  };
955
753
  }, [ref, onContinue]);
956
- return /* @__PURE__ */ jsx(
957
- "goa-fieldset",
958
- {
959
- ref,
960
- id,
961
- "section-title": sectionTitle,
962
- "dispatch-on": dispatchOn,
963
- children
964
- }
965
- );
754
+ return /* @__PURE__ */ jsx("goa-fieldset", { ref, ..._props, children });
966
755
  }
967
756
  function GoabPublicFormPage({
968
- id = "",
969
- heading = "",
970
- subHeading = "",
971
- summaryHeading = "",
972
- sectionTitle = "",
973
- backUrl = "",
974
- type = "step",
975
- buttonText = "",
976
- buttonVisibility = "visible",
977
757
  onContinue,
978
758
  children,
979
- mt,
980
- mr,
981
- mb,
982
- ml
759
+ ...rest
983
760
  }) {
984
761
  const ref = useRef(null);
762
+ const _props = transformProps(rest, kebab);
985
763
  useEffect(() => {
986
764
  if (!ref.current) return;
987
765
  const current = ref.current;
@@ -997,49 +775,28 @@ function GoabPublicFormPage({
997
775
  }
998
776
  };
999
777
  }, [ref, onContinue]);
1000
- return /* @__PURE__ */ jsx(
1001
- "goa-public-form-page",
1002
- {
1003
- ref,
1004
- id,
1005
- heading,
1006
- "sub-heading": subHeading,
1007
- "section-title": sectionTitle,
1008
- "back-url": backUrl,
1009
- type,
1010
- "button-text": buttonText,
1011
- "button-visibility": buttonVisibility,
1012
- "summary-heading": summaryHeading,
1013
- mt,
1014
- mr,
1015
- mb,
1016
- ml,
1017
- children
1018
- }
1019
- );
1020
- }
1021
- function GoabPublicFormSummary({
1022
- heading = ""
1023
- }) {
1024
- const ref = useRef(null);
1025
- return /* @__PURE__ */ jsx(
1026
- "goa-public-form-summary",
1027
- {
1028
- ref,
1029
- heading
1030
- }
778
+ return /* @__PURE__ */ jsx("goa-public-form-page", { ref, ..._props, children });
779
+ }
780
+ function GoabPublicFormSummary({
781
+ heading = "",
782
+ ...rest
783
+ }) {
784
+ const _props = transformProps(
785
+ { heading, ...rest },
786
+ lowercase
1031
787
  );
788
+ return /* @__PURE__ */ jsx("goa-public-form-summary", { ..._props });
1032
789
  }
1033
790
  function GoabPublicForm({
1034
- status = "complete",
1035
- name,
1036
791
  onInit,
1037
792
  onComplete,
1038
793
  onStateChange,
1039
- children
794
+ children,
795
+ ...rest
1040
796
  }) {
1041
797
  const ref = useRef(null);
1042
798
  const initialized = useRef(false);
799
+ const _props = transformProps(rest, lowercase);
1043
800
  useLayoutEffect(() => {
1044
801
  if (!ref.current) return;
1045
802
  const current = ref.current;
@@ -1075,15 +832,7 @@ function GoabPublicForm({
1075
832
  }
1076
833
  };
1077
834
  }, [onInit, onComplete, onStateChange]);
1078
- return /* @__PURE__ */ jsx(
1079
- "goa-public-form",
1080
- {
1081
- ref,
1082
- status,
1083
- name,
1084
- children
1085
- }
1086
- );
835
+ return /* @__PURE__ */ jsx("goa-public-form", { ref, ..._props, children });
1087
836
  }
1088
837
  function GoabPublicSubform({
1089
838
  id = "",
@@ -1092,12 +841,13 @@ function GoabPublicSubform({
1092
841
  onInit,
1093
842
  onStateChange,
1094
843
  children,
1095
- mt,
1096
- mr,
1097
- mb,
1098
- ml
844
+ ...rest
1099
845
  }) {
1100
846
  const ref = useRef(null);
847
+ const _props = transformProps(
848
+ { id, name, "continue-msg": continueMsg, ...rest },
849
+ kebab
850
+ );
1101
851
  useEffect(() => {
1102
852
  if (!ref.current) return;
1103
853
  const current = ref.current;
@@ -1122,20 +872,7 @@ function GoabPublicSubform({
1122
872
  }
1123
873
  };
1124
874
  }, [ref, onInit, onStateChange]);
1125
- return /* @__PURE__ */ jsx(
1126
- "goa-public-subform",
1127
- {
1128
- ref,
1129
- id,
1130
- name,
1131
- "continue-msg": continueMsg,
1132
- mt,
1133
- mr,
1134
- mb,
1135
- ml,
1136
- children
1137
- }
1138
- );
875
+ return /* @__PURE__ */ jsx("goa-public-subform", { ref, ..._props, children });
1139
876
  }
1140
877
  function GoabPublicSubformIndex({
1141
878
  heading = "",
@@ -1143,86 +880,47 @@ function GoabPublicSubformIndex({
1143
880
  actionButtonText = "",
1144
881
  buttonVisibility = "hidden",
1145
882
  children,
1146
- mt,
1147
- mr,
1148
- mb,
1149
- ml
883
+ ...rest
1150
884
  }) {
1151
- const ref = useRef(null);
1152
- return /* @__PURE__ */ jsx(
1153
- "goa-public-subform-index",
1154
- {
1155
- ref,
1156
- heading,
1157
- "section-title": sectionTitle,
1158
- "action-button-text": actionButtonText,
1159
- "button-visibility": buttonVisibility,
1160
- slot: "subform-index",
1161
- mt,
1162
- mr,
1163
- mb,
1164
- ml,
1165
- children
1166
- }
885
+ const _props = transformProps(
886
+ { heading, "section-title": sectionTitle, "action-button-text": actionButtonText, "button-visibility": buttonVisibility, ...rest },
887
+ kebab
1167
888
  );
889
+ return /* @__PURE__ */ jsx("goa-public-subform-index", { slot: "subform-index", ..._props, children });
1168
890
  }
1169
- function GoabPublicFormTask({ status = "cannot-start", children }) {
1170
- return /* @__PURE__ */ jsx("goa-public-form-task", { status, children });
891
+ function GoabPublicFormTask({
892
+ status = "cannot-start",
893
+ children,
894
+ ...rest
895
+ }) {
896
+ const _props = transformProps(
897
+ { status, ...rest },
898
+ lowercase
899
+ );
900
+ return /* @__PURE__ */ jsx("goa-public-form-task", { ..._props, children });
1171
901
  }
1172
902
  function GoabPublicFormTaskList({
1173
- heading = "",
1174
903
  children,
1175
- mt,
1176
- mr,
1177
- mb,
1178
- ml
904
+ ...rest
1179
905
  }) {
1180
- return /* @__PURE__ */ jsx(
1181
- "goa-public-form-task-list",
1182
- {
1183
- heading,
1184
- mt,
1185
- mr,
1186
- mb,
1187
- ml,
1188
- children
1189
- }
1190
- );
906
+ const _props = transformProps(rest, lowercase);
907
+ return /* @__PURE__ */ jsx("goa-public-form-task-list", { ..._props, children });
1191
908
  }
1192
909
  function GoabFormItem({
1193
- children,
1194
- helpText,
1195
910
  error,
1196
- requirement,
1197
- label,
1198
- labelSize,
1199
- maxWidth,
911
+ helpText,
1200
912
  publicFormSummaryOrder,
1201
- name,
1202
- mt,
1203
- mr,
1204
- mb,
1205
- ml,
1206
- testId,
1207
- id
913
+ children,
914
+ ...rest
1208
915
  }) {
916
+ const _props = transformProps(rest, lowercase);
1209
917
  return /* @__PURE__ */ jsxs(
1210
918
  "goa-form-item",
1211
919
  {
1212
- label,
1213
- labelsize: labelSize,
1214
920
  error: typeof error === "string" ? error : void 0,
1215
- requirement,
1216
921
  helptext: typeof helpText === "string" ? helpText : void 0,
1217
- maxwidth: maxWidth,
1218
922
  "public-form-summary-order": publicFormSummaryOrder,
1219
- name,
1220
- mt,
1221
- mr,
1222
- mb,
1223
- ml,
1224
- testid: testId,
1225
- id,
923
+ ..._props,
1226
924
  children: [
1227
925
  error && typeof error !== "string" && /* @__PURE__ */ jsx("div", { slot: "error", children: error }),
1228
926
  helpText && typeof helpText !== "string" && /* @__PURE__ */ jsx("div", { slot: "helptext", children: helpText }),
@@ -1327,24 +1025,20 @@ function GoabHeroBannerActions({
1327
1025
  return /* @__PURE__ */ jsx("div", { slot: "actions", children });
1328
1026
  }
1329
1027
  function GoabIconButton({
1330
- icon,
1331
- disabled,
1332
1028
  variant = "color",
1333
- onClick,
1334
1029
  size = "medium",
1335
- title,
1336
- ariaLabel,
1337
- testId,
1338
- children,
1339
- mt,
1340
- mr,
1341
- mb,
1342
- ml,
1343
- action,
1030
+ disabled,
1031
+ onClick,
1344
1032
  actionArgs,
1345
- actionArg
1033
+ actionArg,
1034
+ children,
1035
+ ...rest
1346
1036
  }) {
1347
1037
  const ref = useRef(null);
1038
+ const _props = transformProps(
1039
+ { variant, size, ...rest },
1040
+ lowercase
1041
+ );
1348
1042
  useEffect(() => {
1349
1043
  if (!ref.current) {
1350
1044
  return;
@@ -1354,7 +1048,7 @@ function GoabIconButton({
1354
1048
  }
1355
1049
  const current = ref.current;
1356
1050
  const listener = () => {
1357
- onClick();
1051
+ onClick == null ? void 0 : onClick();
1358
1052
  };
1359
1053
  current.addEventListener("_click", listener);
1360
1054
  return () => {
@@ -1365,20 +1059,10 @@ function GoabIconButton({
1365
1059
  "goa-icon-button",
1366
1060
  {
1367
1061
  ref,
1368
- icon,
1369
1062
  disabled: disabled ? "true" : void 0,
1370
- variant,
1371
- size,
1372
- title,
1373
- arialabel: ariaLabel,
1374
- action,
1375
1063
  "action-arg": actionArg,
1376
1064
  "action-args": JSON.stringify(actionArgs),
1377
- mt,
1378
- mr,
1379
- mb,
1380
- ml,
1381
- testid: testId,
1065
+ ..._props,
1382
1066
  children
1383
1067
  }
1384
1068
  );
@@ -2107,12 +1791,15 @@ const formatters = {
2107
1791
  G: function(date, token, localize2) {
2108
1792
  const era = date.getFullYear() > 0 ? 1 : 0;
2109
1793
  switch (token) {
1794
+ // AD, BC
2110
1795
  case "G":
2111
1796
  case "GG":
2112
1797
  case "GGG":
2113
1798
  return localize2.era(era, { width: "abbreviated" });
1799
+ // A, B
2114
1800
  case "GGGGG":
2115
1801
  return localize2.era(era, { width: "narrow" });
1802
+ // Anno Domini, Before Christ
2116
1803
  case "GGGG":
2117
1804
  default:
2118
1805
  return localize2.era(era, { width: "wide" });
@@ -2162,22 +1849,28 @@ const formatters = {
2162
1849
  Q: function(date, token, localize2) {
2163
1850
  const quarter = Math.ceil((date.getMonth() + 1) / 3);
2164
1851
  switch (token) {
1852
+ // 1, 2, 3, 4
2165
1853
  case "Q":
2166
1854
  return String(quarter);
1855
+ // 01, 02, 03, 04
2167
1856
  case "QQ":
2168
1857
  return addLeadingZeros(quarter, 2);
1858
+ // 1st, 2nd, 3rd, 4th
2169
1859
  case "Qo":
2170
1860
  return localize2.ordinalNumber(quarter, { unit: "quarter" });
1861
+ // Q1, Q2, Q3, Q4
2171
1862
  case "QQQ":
2172
1863
  return localize2.quarter(quarter, {
2173
1864
  width: "abbreviated",
2174
1865
  context: "formatting"
2175
1866
  });
1867
+ // 1, 2, 3, 4 (narrow quarter; could be not numerical)
2176
1868
  case "QQQQQ":
2177
1869
  return localize2.quarter(quarter, {
2178
1870
  width: "narrow",
2179
1871
  context: "formatting"
2180
1872
  });
1873
+ // 1st quarter, 2nd quarter, ...
2181
1874
  case "QQQQ":
2182
1875
  default:
2183
1876
  return localize2.quarter(quarter, {
@@ -2190,22 +1883,28 @@ const formatters = {
2190
1883
  q: function(date, token, localize2) {
2191
1884
  const quarter = Math.ceil((date.getMonth() + 1) / 3);
2192
1885
  switch (token) {
1886
+ // 1, 2, 3, 4
2193
1887
  case "q":
2194
1888
  return String(quarter);
1889
+ // 01, 02, 03, 04
2195
1890
  case "qq":
2196
1891
  return addLeadingZeros(quarter, 2);
1892
+ // 1st, 2nd, 3rd, 4th
2197
1893
  case "qo":
2198
1894
  return localize2.ordinalNumber(quarter, { unit: "quarter" });
1895
+ // Q1, Q2, Q3, Q4
2199
1896
  case "qqq":
2200
1897
  return localize2.quarter(quarter, {
2201
1898
  width: "abbreviated",
2202
1899
  context: "standalone"
2203
1900
  });
1901
+ // 1, 2, 3, 4 (narrow quarter; could be not numerical)
2204
1902
  case "qqqqq":
2205
1903
  return localize2.quarter(quarter, {
2206
1904
  width: "narrow",
2207
1905
  context: "standalone"
2208
1906
  });
1907
+ // 1st quarter, 2nd quarter, ...
2209
1908
  case "qqqq":
2210
1909
  default:
2211
1910
  return localize2.quarter(quarter, {
@@ -2221,18 +1920,22 @@ const formatters = {
2221
1920
  case "M":
2222
1921
  case "MM":
2223
1922
  return lightFormatters.M(date, token);
1923
+ // 1st, 2nd, ..., 12th
2224
1924
  case "Mo":
2225
1925
  return localize2.ordinalNumber(month + 1, { unit: "month" });
1926
+ // Jan, Feb, ..., Dec
2226
1927
  case "MMM":
2227
1928
  return localize2.month(month, {
2228
1929
  width: "abbreviated",
2229
1930
  context: "formatting"
2230
1931
  });
1932
+ // J, F, ..., D
2231
1933
  case "MMMMM":
2232
1934
  return localize2.month(month, {
2233
1935
  width: "narrow",
2234
1936
  context: "formatting"
2235
1937
  });
1938
+ // January, February, ..., December
2236
1939
  case "MMMM":
2237
1940
  default:
2238
1941
  return localize2.month(month, { width: "wide", context: "formatting" });
@@ -2242,22 +1945,28 @@ const formatters = {
2242
1945
  L: function(date, token, localize2) {
2243
1946
  const month = date.getMonth();
2244
1947
  switch (token) {
1948
+ // 1, 2, ..., 12
2245
1949
  case "L":
2246
1950
  return String(month + 1);
1951
+ // 01, 02, ..., 12
2247
1952
  case "LL":
2248
1953
  return addLeadingZeros(month + 1, 2);
1954
+ // 1st, 2nd, ..., 12th
2249
1955
  case "Lo":
2250
1956
  return localize2.ordinalNumber(month + 1, { unit: "month" });
1957
+ // Jan, Feb, ..., Dec
2251
1958
  case "LLL":
2252
1959
  return localize2.month(month, {
2253
1960
  width: "abbreviated",
2254
1961
  context: "standalone"
2255
1962
  });
1963
+ // J, F, ..., D
2256
1964
  case "LLLLL":
2257
1965
  return localize2.month(month, {
2258
1966
  width: "narrow",
2259
1967
  context: "standalone"
2260
1968
  });
1969
+ // January, February, ..., December
2261
1970
  case "LLLL":
2262
1971
  default:
2263
1972
  return localize2.month(month, { width: "wide", context: "standalone" });
@@ -2298,6 +2007,7 @@ const formatters = {
2298
2007
  E: function(date, token, localize2) {
2299
2008
  const dayOfWeek = date.getDay();
2300
2009
  switch (token) {
2010
+ // Tue
2301
2011
  case "E":
2302
2012
  case "EE":
2303
2013
  case "EEE":
@@ -2305,16 +2015,19 @@ const formatters = {
2305
2015
  width: "abbreviated",
2306
2016
  context: "formatting"
2307
2017
  });
2018
+ // T
2308
2019
  case "EEEEE":
2309
2020
  return localize2.day(dayOfWeek, {
2310
2021
  width: "narrow",
2311
2022
  context: "formatting"
2312
2023
  });
2024
+ // Tu
2313
2025
  case "EEEEEE":
2314
2026
  return localize2.day(dayOfWeek, {
2315
2027
  width: "short",
2316
2028
  context: "formatting"
2317
2029
  });
2030
+ // Tuesday
2318
2031
  case "EEEE":
2319
2032
  default:
2320
2033
  return localize2.day(dayOfWeek, {
@@ -2328,10 +2041,13 @@ const formatters = {
2328
2041
  const dayOfWeek = date.getDay();
2329
2042
  const localDayOfWeek = (dayOfWeek - options.weekStartsOn + 8) % 7 || 7;
2330
2043
  switch (token) {
2044
+ // Numerical value (Nth day of week with current locale or weekStartsOn)
2331
2045
  case "e":
2332
2046
  return String(localDayOfWeek);
2047
+ // Padded numerical value
2333
2048
  case "ee":
2334
2049
  return addLeadingZeros(localDayOfWeek, 2);
2050
+ // 1st, 2nd, ..., 7th
2335
2051
  case "eo":
2336
2052
  return localize2.ordinalNumber(localDayOfWeek, { unit: "day" });
2337
2053
  case "eee":
@@ -2339,16 +2055,19 @@ const formatters = {
2339
2055
  width: "abbreviated",
2340
2056
  context: "formatting"
2341
2057
  });
2058
+ // T
2342
2059
  case "eeeee":
2343
2060
  return localize2.day(dayOfWeek, {
2344
2061
  width: "narrow",
2345
2062
  context: "formatting"
2346
2063
  });
2064
+ // Tu
2347
2065
  case "eeeeee":
2348
2066
  return localize2.day(dayOfWeek, {
2349
2067
  width: "short",
2350
2068
  context: "formatting"
2351
2069
  });
2070
+ // Tuesday
2352
2071
  case "eeee":
2353
2072
  default:
2354
2073
  return localize2.day(dayOfWeek, {
@@ -2362,10 +2081,13 @@ const formatters = {
2362
2081
  const dayOfWeek = date.getDay();
2363
2082
  const localDayOfWeek = (dayOfWeek - options.weekStartsOn + 8) % 7 || 7;
2364
2083
  switch (token) {
2084
+ // Numerical value (same as in `e`)
2365
2085
  case "c":
2366
2086
  return String(localDayOfWeek);
2087
+ // Padded numerical value
2367
2088
  case "cc":
2368
2089
  return addLeadingZeros(localDayOfWeek, token.length);
2090
+ // 1st, 2nd, ..., 7th
2369
2091
  case "co":
2370
2092
  return localize2.ordinalNumber(localDayOfWeek, { unit: "day" });
2371
2093
  case "ccc":
@@ -2373,16 +2095,19 @@ const formatters = {
2373
2095
  width: "abbreviated",
2374
2096
  context: "standalone"
2375
2097
  });
2098
+ // T
2376
2099
  case "ccccc":
2377
2100
  return localize2.day(dayOfWeek, {
2378
2101
  width: "narrow",
2379
2102
  context: "standalone"
2380
2103
  });
2104
+ // Tu
2381
2105
  case "cccccc":
2382
2106
  return localize2.day(dayOfWeek, {
2383
2107
  width: "short",
2384
2108
  context: "standalone"
2385
2109
  });
2110
+ // Tuesday
2386
2111
  case "cccc":
2387
2112
  default:
2388
2113
  return localize2.day(dayOfWeek, {
@@ -2396,27 +2121,34 @@ const formatters = {
2396
2121
  const dayOfWeek = date.getDay();
2397
2122
  const isoDayOfWeek = dayOfWeek === 0 ? 7 : dayOfWeek;
2398
2123
  switch (token) {
2124
+ // 2
2399
2125
  case "i":
2400
2126
  return String(isoDayOfWeek);
2127
+ // 02
2401
2128
  case "ii":
2402
2129
  return addLeadingZeros(isoDayOfWeek, token.length);
2130
+ // 2nd
2403
2131
  case "io":
2404
2132
  return localize2.ordinalNumber(isoDayOfWeek, { unit: "day" });
2133
+ // Tue
2405
2134
  case "iii":
2406
2135
  return localize2.day(dayOfWeek, {
2407
2136
  width: "abbreviated",
2408
2137
  context: "formatting"
2409
2138
  });
2139
+ // T
2410
2140
  case "iiiii":
2411
2141
  return localize2.day(dayOfWeek, {
2412
2142
  width: "narrow",
2413
2143
  context: "formatting"
2414
2144
  });
2145
+ // Tu
2415
2146
  case "iiiiii":
2416
2147
  return localize2.day(dayOfWeek, {
2417
2148
  width: "short",
2418
2149
  context: "formatting"
2419
2150
  });
2151
+ // Tuesday
2420
2152
  case "iiii":
2421
2153
  default:
2422
2154
  return localize2.day(dayOfWeek, {
@@ -2582,13 +2314,21 @@ const formatters = {
2582
2314
  return "Z";
2583
2315
  }
2584
2316
  switch (token) {
2317
+ // Hours and optional minutes
2585
2318
  case "X":
2586
2319
  return formatTimezoneWithOptionalMinutes(timezoneOffset);
2320
+ // Hours, minutes and optional seconds without `:` delimiter
2321
+ // Note: neither ISO-8601 nor JavaScript supports seconds in timezone offsets
2322
+ // so this token always has the same output as `XX`
2587
2323
  case "XXXX":
2588
2324
  case "XX":
2589
2325
  return formatTimezone(timezoneOffset);
2326
+ // Hours, minutes and optional seconds with `:` delimiter
2327
+ // Note: neither ISO-8601 nor JavaScript supports seconds in timezone offsets
2328
+ // so this token always has the same output as `XXX`
2590
2329
  case "XXXXX":
2591
2330
  case "XXX":
2331
+ // Hours and minutes with `:` delimiter
2592
2332
  default:
2593
2333
  return formatTimezone(timezoneOffset, ":");
2594
2334
  }
@@ -2597,13 +2337,21 @@ const formatters = {
2597
2337
  x: function(date, token, _localize) {
2598
2338
  const timezoneOffset = date.getTimezoneOffset();
2599
2339
  switch (token) {
2340
+ // Hours and optional minutes
2600
2341
  case "x":
2601
2342
  return formatTimezoneWithOptionalMinutes(timezoneOffset);
2343
+ // Hours, minutes and optional seconds without `:` delimiter
2344
+ // Note: neither ISO-8601 nor JavaScript supports seconds in timezone offsets
2345
+ // so this token always has the same output as `xx`
2602
2346
  case "xxxx":
2603
2347
  case "xx":
2604
2348
  return formatTimezone(timezoneOffset);
2349
+ // Hours, minutes and optional seconds with `:` delimiter
2350
+ // Note: neither ISO-8601 nor JavaScript supports seconds in timezone offsets
2351
+ // so this token always has the same output as `xxx`
2605
2352
  case "xxxxx":
2606
2353
  case "xxx":
2354
+ // Hours and minutes with `:` delimiter
2607
2355
  default:
2608
2356
  return formatTimezone(timezoneOffset, ":");
2609
2357
  }
@@ -2612,10 +2360,12 @@ const formatters = {
2612
2360
  O: function(date, token, _localize) {
2613
2361
  const timezoneOffset = date.getTimezoneOffset();
2614
2362
  switch (token) {
2363
+ // Short
2615
2364
  case "O":
2616
2365
  case "OO":
2617
2366
  case "OOO":
2618
2367
  return "GMT" + formatTimezoneShort(timezoneOffset, ":");
2368
+ // Long
2619
2369
  case "OOOO":
2620
2370
  default:
2621
2371
  return "GMT" + formatTimezone(timezoneOffset, ":");
@@ -2625,10 +2375,12 @@ const formatters = {
2625
2375
  z: function(date, token, _localize) {
2626
2376
  const timezoneOffset = date.getTimezoneOffset();
2627
2377
  switch (token) {
2378
+ // Short
2628
2379
  case "z":
2629
2380
  case "zz":
2630
2381
  case "zzz":
2631
2382
  return "GMT" + formatTimezoneShort(timezoneOffset, ":");
2383
+ // Long
2632
2384
  case "zzzz":
2633
2385
  default:
2634
2386
  return "GMT" + formatTimezone(timezoneOffset, ":");
@@ -2986,45 +2738,23 @@ function validateTimezone(_hours, minutes) {
2986
2738
  return minutes >= 0 && minutes <= 59;
2987
2739
  }
2988
2740
  function GoabInput({
2989
- id,
2990
- debounce,
2991
- name,
2992
- type,
2993
- autoCapitalize,
2994
- autoComplete,
2995
- leadingIcon,
2996
- trailingIcon,
2997
2741
  variant = "goa",
2742
+ textAlign = "left",
2998
2743
  focused,
2999
2744
  disabled,
3000
2745
  readonly,
3001
- value,
3002
- placeholder,
3003
2746
  error,
3004
- width,
3005
- testId,
3006
- min,
3007
- max,
3008
- step,
3009
- prefix,
3010
- suffix,
3011
- ariaLabel,
3012
- mt,
3013
- mr,
3014
- mb,
3015
- ml,
3016
2747
  leadingContent,
3017
2748
  trailingContent,
3018
- maxLength,
3019
- trailingIconAriaLabel,
3020
- textAlign = "left",
3021
2749
  onTrailingIconClick,
3022
2750
  onChange,
3023
2751
  onFocus,
3024
2752
  onBlur,
3025
- onKeyPress
2753
+ onKeyPress,
2754
+ ...rest
3026
2755
  }) {
3027
2756
  const ref = useRef(null);
2757
+ const _props = transformProps({ variant, textalign: textAlign, ...rest }, lowercase);
3028
2758
  useEffect(() => {
3029
2759
  if (!ref.current) {
3030
2760
  return;
@@ -3066,37 +2796,12 @@ function GoabInput({
3066
2796
  "goa-input",
3067
2797
  {
3068
2798
  ref,
3069
- debounce,
2799
+ ..._props,
3070
2800
  focused: focused ? "true" : void 0,
3071
- type,
3072
- name,
3073
- autocapitalize: autoCapitalize,
3074
- autocomplete: autoComplete,
3075
- id,
3076
- leadingicon: leadingIcon,
3077
- trailingicon: trailingIcon,
3078
- variant,
3079
2801
  disabled: disabled ? "true" : void 0,
3080
2802
  readonly: readonly ? "true" : void 0,
3081
- placeholder,
3082
2803
  error: error ? "true" : void 0,
3083
- testid: testId,
3084
- value,
3085
- width,
3086
- min,
3087
- max,
3088
- step,
3089
- maxlength: maxLength,
3090
- prefix,
3091
- suffix,
3092
- arialabel: ariaLabel,
3093
- mt,
3094
- mr,
3095
- mb,
3096
- ml,
3097
2804
  handletrailingiconclick: onTrailingIconClick ? "true" : "false",
3098
- trailingiconarialabel: trailingIconAriaLabel,
3099
- textalign: textAlign,
3100
2805
  children: [
3101
2806
  leadingContent && /* @__PURE__ */ jsx("div", { slot: "leadingContent", children: leadingContent }),
3102
2807
  trailingContent && /* @__PURE__ */ jsx("div", { slot: "trailingContent", children: trailingContent })
@@ -3269,47 +2974,64 @@ function GoabInputNumber({
3269
2974
  function GoabInputRange(props) {
3270
2975
  return /* @__PURE__ */ jsx(GoabInput, { ...props, type: "range" });
3271
2976
  }
3272
- function GoabLink(props) {
2977
+ const GoabLinearProgress = ({
2978
+ progress,
2979
+ percentVisibility,
2980
+ ariaLabel,
2981
+ ariaLabelledBy,
2982
+ testId
2983
+ }) => {
3273
2984
  return /* @__PURE__ */ jsx(
3274
- "goa-link",
2985
+ "goa-linear-progress",
3275
2986
  {
3276
- leadingicon: props.leadingIcon,
3277
- trailingicon: props.trailingIcon,
3278
- action: props.action,
3279
- "action-arg": props.actionArg,
3280
- "action-args": JSON.stringify(props.actionArgs),
3281
- testid: props.testId,
3282
- mt: props.mt,
3283
- mb: props.mb,
3284
- ml: props.ml,
3285
- mr: props.mr,
3286
- children: props.children
2987
+ progress,
2988
+ "percent-visibility": percentVisibility,
2989
+ "aria-label": ariaLabel,
2990
+ "aria-labelledby": ariaLabelledBy,
2991
+ testid: testId
3287
2992
  }
3288
2993
  );
3289
- }
3290
- function GoALinkButton({ type = "primary", ...props }) {
2994
+ };
2995
+ function GoabLink({
2996
+ actionArgs,
2997
+ actionArg,
2998
+ children,
2999
+ ...rest
3000
+ }) {
3001
+ const _props = transformProps(rest, lowercase);
3291
3002
  return /* @__PURE__ */ jsx(
3292
- "goa-link-button",
3003
+ "goa-link",
3293
3004
  {
3294
- type,
3295
- leadingicon: props.leadingIcon,
3296
- trailingicon: props.trailingIcon,
3297
- mt: props.mt,
3298
- mb: props.mb,
3299
- ml: props.ml,
3300
- mr: props.mr,
3301
- children: props.children
3005
+ "action-arg": actionArg,
3006
+ "action-args": JSON.stringify(actionArgs),
3007
+ ..._props,
3008
+ children
3302
3009
  }
3303
3010
  );
3304
3011
  }
3012
+ function GoALinkButton({
3013
+ type = "primary",
3014
+ children,
3015
+ ...rest
3016
+ }) {
3017
+ const _props = transformProps(
3018
+ { type, ...rest },
3019
+ lowercase
3020
+ );
3021
+ return /* @__PURE__ */ jsx("goa-link-button", { ..._props, children });
3022
+ }
3305
3023
  function GoabMenuButton({
3306
- text,
3307
3024
  type = "primary",
3308
3025
  testId,
3309
3026
  onAction,
3310
- children
3027
+ children,
3028
+ ...rest
3311
3029
  }) {
3312
3030
  const el = useRef(null);
3031
+ const _props = transformProps(
3032
+ { type, testid: testId, ...rest },
3033
+ kebab
3034
+ );
3313
3035
  useEffect(() => {
3314
3036
  if (!el.current) {
3315
3037
  return;
@@ -3320,17 +3042,18 @@ function GoabMenuButton({
3320
3042
  const current = el.current;
3321
3043
  const listener = (e) => {
3322
3044
  const detail = e.detail;
3323
- onAction(detail);
3045
+ onAction == null ? void 0 : onAction(detail);
3324
3046
  };
3325
3047
  current.addEventListener("_action", listener);
3326
3048
  return () => {
3327
3049
  current.removeEventListener("_action", listener);
3328
3050
  };
3329
3051
  }, [el, onAction]);
3330
- return /* @__PURE__ */ jsx("goa-menu-button", { ref: el, text, type, testid: testId, children });
3052
+ return /* @__PURE__ */ jsx("goa-menu-button", { ..._props, ref: el, children });
3331
3053
  }
3332
- function GoabMenuAction({ text, icon, action, testId }) {
3333
- return /* @__PURE__ */ jsx("goa-menu-action", { text, action, icon, testid: testId });
3054
+ function GoabMenuAction(props) {
3055
+ const _props = transformProps(props, lowercase);
3056
+ return /* @__PURE__ */ jsx("goa-menu-action", { ..._props });
3334
3057
  }
3335
3058
  function GoabMicrositeHeader({
3336
3059
  type,
@@ -3506,31 +3229,18 @@ function GoabPagination({ onChange, ...props }) {
3506
3229
  }
3507
3230
  function GoabPopover({
3508
3231
  target,
3509
- testId,
3510
- maxWidth,
3511
- minWidth,
3512
3232
  padded,
3513
- position,
3514
3233
  relative,
3515
3234
  children,
3516
- mt,
3517
- mr,
3518
- mb,
3519
- ml
3235
+ ...rest
3520
3236
  }) {
3237
+ const _props = transformProps(rest, lowercase);
3521
3238
  return /* @__PURE__ */ jsxs(
3522
3239
  "goa-popover",
3523
3240
  {
3524
- testid: testId,
3525
- maxwidth: maxWidth,
3526
- minwidth: minWidth,
3527
3241
  padded: typeof padded === "undefined" ? void 0 : padded ? "true" : "false",
3528
- position,
3529
3242
  relative: relative ? "true" : void 0,
3530
- mt,
3531
- mr,
3532
- mb,
3533
- ml,
3243
+ ..._props,
3534
3244
  children: [
3535
3245
  children,
3536
3246
  target && /* @__PURE__ */ jsx("div", { slot: "target", children: target })
@@ -3582,22 +3292,15 @@ function GoabRadioItem({
3582
3292
  );
3583
3293
  }
3584
3294
  function GoabRadioGroup({
3585
- name,
3586
- value,
3587
- children,
3588
- orientation,
3589
3295
  disabled,
3590
3296
  error,
3591
- id,
3592
- testId,
3593
- ariaLabel,
3594
- mt,
3595
- mr,
3596
- mb,
3597
- ml,
3598
- onChange
3297
+ onChange,
3298
+ name,
3299
+ children,
3300
+ ...rest
3599
3301
  }) {
3600
3302
  const el = useRef(null);
3303
+ const _props = transformProps(rest, lowercase);
3601
3304
  useEffect(() => {
3602
3305
  if (!el.current) return;
3603
3306
  const listener = (e) => {
@@ -3617,19 +3320,11 @@ function GoabRadioGroup({
3617
3320
  return /* @__PURE__ */ jsx(
3618
3321
  "goa-radio-group",
3619
3322
  {
3620
- testid: testId,
3621
3323
  ref: el,
3622
- id,
3324
+ ..._props,
3623
3325
  name,
3624
- value,
3625
- orientation,
3626
3326
  disabled: disabled ? "true" : void 0,
3627
3327
  error: error ? "true" : void 0,
3628
- arialabel: ariaLabel,
3629
- mt,
3630
- mr,
3631
- mb,
3632
- ml,
3633
3328
  children
3634
3329
  }
3635
3330
  );
@@ -3744,11 +3439,11 @@ function GoabTable({ onSort, ...props }) {
3744
3439
  );
3745
3440
  }
3746
3441
  function GoabTableSortHeader({
3747
- name,
3748
- direction = "none",
3749
- children
3442
+ children,
3443
+ ...rest
3750
3444
  }) {
3751
- return /* @__PURE__ */ jsx("goa-table-sort-header", { name, direction, children });
3445
+ const _props = transformProps(rest, lowercase);
3446
+ return /* @__PURE__ */ jsx("goa-table-sort-header", { ..._props, children });
3752
3447
  }
3753
3448
  function GoabTabs({
3754
3449
  initialTab,
@@ -3781,59 +3476,50 @@ function GoabTab({ heading, children }) {
3781
3476
  const GoabTemporaryNotificationCtrl = ({
3782
3477
  verticalPosition = "bottom",
3783
3478
  horizontalPosition = "center",
3784
- testId
3479
+ testId,
3480
+ ...rest
3785
3481
  }) => {
3786
3482
  const el = useRef(null);
3483
+ const _props = transformProps(
3484
+ { "vertical-position": verticalPosition, "horizontal-position": horizontalPosition, ...rest },
3485
+ kebab
3486
+ );
3787
3487
  return /* @__PURE__ */ jsx(
3788
3488
  "goa-temp-notification-ctrl",
3789
3489
  {
3790
3490
  ref: el,
3791
- "vertical-position": verticalPosition,
3792
- "horizontal-position": horizontalPosition,
3491
+ ..._props,
3793
3492
  testid: testId
3794
3493
  }
3795
3494
  );
3796
3495
  };
3797
- function GoabText(props) {
3496
+ function GoabText({
3497
+ as,
3498
+ tag,
3499
+ children,
3500
+ ...rest
3501
+ }) {
3502
+ const _props = transformProps(rest, lowercase);
3798
3503
  return /* @__PURE__ */ jsx(
3799
3504
  "goa-text",
3800
3505
  {
3801
- as: props.tag || props.as,
3802
- size: props.size,
3803
- maxwidth: props.maxWidth,
3804
- color: props.color,
3805
- mt: props.mt,
3806
- mb: props.mb,
3807
- ml: props.ml,
3808
- mr: props.mr,
3809
- children: props.children
3506
+ as: tag || as,
3507
+ ..._props,
3508
+ children
3810
3509
  }
3811
3510
  );
3812
3511
  }
3813
3512
  function GoabTextArea({
3814
- name,
3815
- value,
3816
- placeholder,
3817
- rows,
3818
3513
  readOnly,
3819
3514
  disabled,
3820
- countBy,
3821
- maxCount,
3822
- width,
3823
- maxWidth,
3824
- testId,
3825
3515
  error,
3826
- ariaLabel,
3827
- mt,
3828
- mr,
3829
- mb,
3830
- ml,
3831
- autoComplete,
3832
3516
  onChange,
3833
3517
  onKeyPress,
3834
- onBlur
3518
+ onBlur,
3519
+ ...rest
3835
3520
  }) {
3836
3521
  const el = useRef(null);
3522
+ const _props = transformProps(rest, lowercase);
3837
3523
  useEffect(() => {
3838
3524
  if (!el.current) {
3839
3525
  return;
@@ -3864,24 +3550,10 @@ function GoabTextArea({
3864
3550
  "goa-textarea",
3865
3551
  {
3866
3552
  ref: el,
3867
- name,
3868
- placeholder,
3869
- value,
3870
- rows,
3871
3553
  readOnly: readOnly ? "true" : void 0,
3872
3554
  disabled: disabled ? "true" : void 0,
3873
- countby: countBy,
3874
- maxcount: maxCount,
3875
- width,
3876
- maxwidth: maxWidth,
3877
3555
  error: error ? "true" : void 0,
3878
- testid: testId,
3879
- arialabel: ariaLabel,
3880
- mt,
3881
- mr,
3882
- mb,
3883
- ml,
3884
- autocomplete: autoComplete
3556
+ ..._props
3885
3557
  }
3886
3558
  );
3887
3559
  }
@@ -3903,23 +3575,21 @@ function GoabThreeColumnLayout(props) {
3903
3575
  }
3904
3576
  );
3905
3577
  }
3906
- function GoabTooltip(props) {
3907
- const isStringContent = typeof props.content === "string";
3578
+ function GoabTooltip({
3579
+ content,
3580
+ children,
3581
+ ...rest
3582
+ }) {
3583
+ const _props = transformProps(rest, lowercase);
3584
+ const isStringContent = typeof content === "string";
3908
3585
  return /* @__PURE__ */ jsxs(
3909
3586
  "goa-tooltip",
3910
3587
  {
3911
- position: props.position,
3912
- content: isStringContent ? props.content : void 0,
3913
- halign: props.hAlign,
3914
- testid: props.testId,
3915
- maxwidth: props.maxWidth,
3916
- mt: props.mt,
3917
- mr: props.mr,
3918
- mb: props.mb,
3919
- ml: props.ml,
3588
+ content: isStringContent ? content : void 0,
3589
+ ..._props,
3920
3590
  children: [
3921
- !isStringContent && props.content && /* @__PURE__ */ jsx("div", { slot: "content", children: props.content }),
3922
- props.children
3591
+ !isStringContent && content && /* @__PURE__ */ jsx("div", { slot: "content", children: content }),
3592
+ children
3923
3593
  ]
3924
3594
  }
3925
3595
  );
@@ -3942,15 +3612,14 @@ function GoabTwoColumnLayout(props) {
3942
3612
  const GoabFilterChip = ({
3943
3613
  iconTheme = "outline",
3944
3614
  error,
3945
- content,
3946
3615
  onClick,
3947
- mt,
3948
- mr,
3949
- mb,
3950
- ml,
3951
- testId
3616
+ ...rest
3952
3617
  }) => {
3953
3618
  const el = useRef(null);
3619
+ const _props = transformProps(
3620
+ { icontheme: iconTheme, ...rest },
3621
+ lowercase
3622
+ );
3954
3623
  useEffect(() => {
3955
3624
  if (!el.current) return;
3956
3625
  if (!onClick) return;
@@ -3964,14 +3633,8 @@ const GoabFilterChip = ({
3964
3633
  "goa-filter-chip",
3965
3634
  {
3966
3635
  ref: el,
3967
- icontheme: iconTheme,
3968
3636
  error: error ? "true" : void 0,
3969
- content,
3970
- mt,
3971
- mr,
3972
- mb,
3973
- ml,
3974
- testid: testId
3637
+ ..._props
3975
3638
  }
3976
3639
  );
3977
3640
  };
@@ -4400,6 +4063,7 @@ export {
4400
4063
  GoabChip,
4401
4064
  GoabCircularProgress,
4402
4065
  GoabContainer,
4066
+ GoabDataGrid,
4403
4067
  GoabDatePicker,
4404
4068
  GoabDetails,
4405
4069
  GoabDivider,
@@ -4436,6 +4100,7 @@ export {
4436
4100
  GoabInputText,
4437
4101
  GoabInputTime,
4438
4102
  GoabInputUrl,
4103
+ GoabLinearProgress,
4439
4104
  GoabLink,
4440
4105
  GoabMenuAction,
4441
4106
  GoabMenuButton,