@abgov/react-components 5.0.0 → 5.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (55) hide show
  1. package/index.d.ts +4 -0
  2. package/index.js +186 -58
  3. package/index.js.map +1 -1
  4. package/index.mjs +186 -58
  5. package/index.mjs.map +1 -1
  6. package/lib/accordion/accordion.d.ts +1 -0
  7. package/lib/app-header/app-header.d.ts +1 -0
  8. package/lib/app-header-menu/app-header-menu.d.ts +1 -0
  9. package/lib/badge/badge.d.ts +1 -0
  10. package/lib/block/block.d.ts +1 -0
  11. package/lib/button/button.d.ts +1 -0
  12. package/lib/button-group/button-group.d.ts +1 -0
  13. package/lib/calendar/calendar.d.ts +1 -0
  14. package/lib/callout/callout.d.ts +1 -0
  15. package/lib/checkbox/checkbox.d.ts +2 -1
  16. package/lib/chip/chip.d.ts +1 -0
  17. package/lib/circular-progress/circular-progress.d.ts +1 -0
  18. package/lib/container/container.d.ts +1 -0
  19. package/lib/date-picker/date-picker.d.ts +7 -2
  20. package/lib/details/details.d.ts +1 -0
  21. package/lib/divider/divider.d.ts +4 -1
  22. package/lib/dropdown/dropdown.d.ts +2 -1
  23. package/lib/fieldset/fieldset.d.ts +29 -0
  24. package/lib/file-upload-card/file-upload-card.d.ts +1 -0
  25. package/lib/file-upload-input/file-upload-input.d.ts +1 -0
  26. package/lib/footer/footer.d.ts +1 -0
  27. package/lib/footer-meta-section/footer-meta-section.d.ts +4 -1
  28. package/lib/footer-nav-section/footer-nav-section.d.ts +1 -0
  29. package/lib/form-item/form-item.d.ts +1 -0
  30. package/lib/form-stepper/form-stepper.d.ts +1 -0
  31. package/lib/grid/grid.d.ts +1 -0
  32. package/lib/hero-banner/hero-banner.d.ts +1 -0
  33. package/lib/icon-button/icon-button.d.ts +1 -0
  34. package/lib/input/input.d.ts +4 -3
  35. package/lib/link/link.d.ts +21 -0
  36. package/lib/link-button/link-button.d.ts +24 -0
  37. package/lib/microsite-header/microsite-header.d.ts +6 -2
  38. package/lib/modal/modal.d.ts +1 -0
  39. package/lib/notification/notification.d.ts +1 -0
  40. package/lib/page-block/page-block.d.ts +1 -0
  41. package/lib/pagination/pagination.d.ts +1 -0
  42. package/lib/popover/popover.d.ts +1 -0
  43. package/lib/radio-group/radio-group.d.ts +2 -1
  44. package/lib/side-menu/side-menu.d.ts +4 -1
  45. package/lib/side-menu-group/side-menu-group.d.ts +1 -0
  46. package/lib/side-menu-heading/side-menu-heading.d.ts +1 -0
  47. package/lib/skeleton/skeleton.d.ts +1 -0
  48. package/lib/spacer/spacer.d.ts +1 -0
  49. package/lib/spinner/spinner.d.ts +1 -0
  50. package/lib/table/table.d.ts +1 -0
  51. package/lib/tabs/tabs.d.ts +1 -0
  52. package/lib/text/text.d.ts +28 -0
  53. package/lib/textarea/textarea.d.ts +2 -1
  54. package/lib/tooltip/tooltip.d.ts +1 -0
  55. package/package.json +1 -1
package/index.mjs CHANGED
@@ -22,7 +22,7 @@ function GoAAccordion({
22
22
  heading,
23
23
  secondaryText,
24
24
  maxwidth: maxWidth,
25
- "data-testid": testid,
25
+ testid,
26
26
  mt,
27
27
  mr,
28
28
  mb,
@@ -49,7 +49,7 @@ function GoAAppHeader({
49
49
  url,
50
50
  fullmenubreakpoint: fullMenuBreakpoint,
51
51
  maxcontentwidth: maxContentWidth,
52
- "data-testid": testId,
52
+ testid: testId,
53
53
  children
54
54
  }
55
55
  );
@@ -60,7 +60,7 @@ function GoAAppHeaderMenu(props) {
60
60
  {
61
61
  heading: props.heading,
62
62
  leadingicon: props.leadingIcon,
63
- "data-testid": props.testId,
63
+ testid: props.testId,
64
64
  children: props.children
65
65
  }
66
66
  );
@@ -82,7 +82,7 @@ function GoABadge({
82
82
  type,
83
83
  content,
84
84
  icon,
85
- "data-testid": testId,
85
+ testid: testId,
86
86
  arialabel: ariaLabel,
87
87
  mt,
88
88
  mr,
@@ -202,7 +202,7 @@ function GoABlock(props) {
202
202
  mr: props.mr,
203
203
  mb: props.mb,
204
204
  ml: props.ml,
205
- "data-testid": props.testId,
205
+ testid: props.testId,
206
206
  children: props.children
207
207
  }
208
208
  );
@@ -249,7 +249,7 @@ function GoAButton({
249
249
  disabled,
250
250
  leadingicon: leadingIcon,
251
251
  trailingicon: trailingIcon,
252
- "data-testid": testId,
252
+ testid: testId,
253
253
  mt,
254
254
  mr,
255
255
  mb,
@@ -277,7 +277,7 @@ function GoAButtonGroup({
277
277
  mr,
278
278
  mb,
279
279
  ml,
280
- "data-testid": testId,
280
+ testid: testId,
281
281
  children
282
282
  }
283
283
  );
@@ -312,7 +312,7 @@ function GoACalendar({
312
312
  value: value == null ? void 0 : value.toISOString(),
313
313
  min: min == null ? void 0 : min.toISOString(),
314
314
  max: max == null ? void 0 : max.toISOString(),
315
- "data-testid": testId,
315
+ testid: testId,
316
316
  mt,
317
317
  mr,
318
318
  mb,
@@ -345,7 +345,7 @@ const GoACallout = ({
345
345
  mr,
346
346
  mb,
347
347
  ml,
348
- "data-testid": testId,
348
+ testid: testId,
349
349
  children
350
350
  }
351
351
  );
@@ -387,12 +387,12 @@ function GoACheckbox({
387
387
  return /* @__PURE__ */ jsxs(
388
388
  "goa-checkbox",
389
389
  {
390
- "data-testid": testId,
390
+ testid: testId,
391
391
  ref: el,
392
392
  id,
393
393
  name,
394
394
  error,
395
- checked,
395
+ checked: checked || false,
396
396
  disabled,
397
397
  text,
398
398
  value,
@@ -451,7 +451,7 @@ const GoAChip = ({
451
451
  mr,
452
452
  mb,
453
453
  ml,
454
- "data-testid": testId
454
+ testid: testId
455
455
  }
456
456
  );
457
457
  };
@@ -471,7 +471,7 @@ const GoACircularProgress = ({
471
471
  progress,
472
472
  variant,
473
473
  size,
474
- "data-testid": testId
474
+ testid: testId
475
475
  }
476
476
  );
477
477
  };
@@ -504,7 +504,7 @@ function GoAContainer({
504
504
  mr,
505
505
  mb,
506
506
  ml,
507
- "data-testid": testId,
507
+ testid: testId,
508
508
  children: [
509
509
  headingContent && /* @__PURE__ */ jsx("div", { slot: "title", children: headingContent }),
510
510
  children,
@@ -520,10 +520,12 @@ function GoADatePicker({
520
520
  min,
521
521
  max,
522
522
  testId,
523
+ disabled,
523
524
  mt,
524
525
  mr,
525
526
  mb,
526
527
  ml,
528
+ relative,
527
529
  onChange
528
530
  }) {
529
531
  const ref = useRef(null);
@@ -533,7 +535,8 @@ function GoADatePicker({
533
535
  }
534
536
  const current = ref.current;
535
537
  const handleChange = (e) => {
536
- onChange(name || "", e.detail.value);
538
+ const newValue = e.detail.value;
539
+ onChange == null ? void 0 : onChange(name || "", newValue ? new Date(newValue) : void 0);
537
540
  };
538
541
  current.addEventListener("_change", handleChange);
539
542
  return () => {
@@ -545,15 +548,17 @@ function GoADatePicker({
545
548
  {
546
549
  ref,
547
550
  name,
548
- value: value == null ? void 0 : value.toISOString(),
551
+ value: (value == null ? void 0 : value.toISOString()) || "",
549
552
  error,
553
+ disabled,
550
554
  min: min == null ? void 0 : min.toISOString(),
551
555
  max: max == null ? void 0 : max.toISOString(),
552
- "data-testid": testId,
556
+ testid: testId,
553
557
  mt,
554
558
  mr,
555
559
  mb,
556
- ml
560
+ ml,
561
+ relative
557
562
  }
558
563
  );
559
564
  }
@@ -564,7 +569,7 @@ function GoADetails(props) {
564
569
  heading: props.heading,
565
570
  open: props.open,
566
571
  maxwidth: props.maxWidth,
567
- "data-testid": props.testId,
572
+ testid: props.testId,
568
573
  mt: props.mt,
569
574
  mr: props.mr,
570
575
  mb: props.mb,
@@ -581,7 +586,7 @@ function GoADivider(props) {
581
586
  mr: props.mr,
582
587
  mb: props.mb,
583
588
  ml: props.ml,
584
- "data-testid": props.testId
589
+ testid: props.testId
585
590
  }
586
591
  );
587
592
  }
@@ -602,8 +607,9 @@ function GoADropdown(props) {
602
607
  }
603
608
  const current = el.current;
604
609
  const handler = (e) => {
610
+ var _a;
605
611
  const { name, value, values } = e.detail;
606
- props.onChange(name, props.multiselect ? values : value);
612
+ (_a = props.onChange) == null ? void 0 : _a.call(props, name, props.multiselect ? values : value);
607
613
  };
608
614
  current.addEventListener("_change", handler);
609
615
  return () => {
@@ -630,7 +636,7 @@ function GoADropdown(props) {
630
636
  multiselect: props.multiselect,
631
637
  native: props.native,
632
638
  placeholder: props.placeholder,
633
- "data-testid": props.testId,
639
+ testid: props.testId,
634
640
  width: props.width,
635
641
  relative: props.relative,
636
642
  id: props.id,
@@ -657,6 +663,53 @@ function GoADropdownItem({ value, label, filter, name, testId, mountType = "appe
657
663
  }
658
664
  );
659
665
  }
666
+ function GoAFieldset({
667
+ heading,
668
+ buttonText,
669
+ id,
670
+ onContinue,
671
+ children,
672
+ mt,
673
+ mr,
674
+ mb,
675
+ ml,
676
+ first,
677
+ last
678
+ }) {
679
+ const ref = useRef(null);
680
+ useEffect(() => {
681
+ var _a;
682
+ const _continue = (e) => {
683
+ const { el, state } = e.detail;
684
+ return onContinue == null ? void 0 : onContinue(el, state);
685
+ };
686
+ if (onContinue) {
687
+ (_a = ref.current) == null ? void 0 : _a.addEventListener("_continue", _continue);
688
+ }
689
+ return () => {
690
+ var _a2;
691
+ if (onContinue) {
692
+ (_a2 = ref.current) == null ? void 0 : _a2.removeEventListener("_continue", _continue);
693
+ }
694
+ };
695
+ }, [ref.current, onContinue]);
696
+ return /* @__PURE__ */ jsx(
697
+ "goa-fieldset",
698
+ {
699
+ ref,
700
+ id,
701
+ first,
702
+ last,
703
+ heading,
704
+ buttontext: buttonText,
705
+ mt,
706
+ mr,
707
+ mb,
708
+ ml,
709
+ children
710
+ }
711
+ );
712
+ }
660
713
  function GoAFileUploadCard({
661
714
  filename,
662
715
  size,
@@ -689,7 +742,7 @@ function GoAFileUploadCard({
689
742
  type,
690
743
  progress,
691
744
  error,
692
- "data-testid": testId
745
+ testid: testId
693
746
  }
694
747
  );
695
748
  }
@@ -719,7 +772,7 @@ function GoAFileUploadInput({
719
772
  variant,
720
773
  accept,
721
774
  maxfilesize: maxFileSize,
722
- "data-testid": testId
775
+ testid: testId
723
776
  }
724
777
  );
725
778
  }
@@ -728,13 +781,13 @@ function GoAAppFooter({
728
781
  children,
729
782
  testId
730
783
  }) {
731
- return /* @__PURE__ */ jsx("goa-app-footer", { maxcontentwidth: maxContentWidth, "data-testid": testId, children });
784
+ return /* @__PURE__ */ jsx("goa-app-footer", { maxcontentwidth: maxContentWidth, testid: testId, children });
732
785
  }
733
786
  function GoAAppFooterMetaSection({ testId, children }) {
734
787
  return /* @__PURE__ */ jsx(
735
788
  "goa-app-footer-meta-section",
736
789
  {
737
- "data-testid": testId,
790
+ testid: testId,
738
791
  slot: "meta",
739
792
  children
740
793
  }
@@ -752,7 +805,7 @@ function GoAAppFooterNavSection({
752
805
  slot: "nav",
753
806
  heading,
754
807
  maxcolumncount: maxColumnCount,
755
- "data-testid": testId,
808
+ testid: testId,
756
809
  children
757
810
  }
758
811
  );
@@ -785,7 +838,7 @@ function GoAFormItem({
785
838
  mr,
786
839
  mb,
787
840
  ml,
788
- "data-testid": testId,
841
+ testid: testId,
789
842
  id,
790
843
  children: [
791
844
  error && typeof error !== "string" && /* @__PURE__ */ jsx("div", { slot: "error", children: error }),
@@ -827,7 +880,7 @@ function GoAFormStepper({
827
880
  "goa-form-stepper",
828
881
  {
829
882
  ref,
830
- "data-testid": testId,
883
+ testid: testId,
831
884
  step,
832
885
  mt,
833
886
  mr,
@@ -856,7 +909,7 @@ function GoAGrid({
856
909
  mr,
857
910
  mb,
858
911
  ml,
859
- "data-testid": testId,
912
+ testid: testId,
860
913
  children
861
914
  }
862
915
  );
@@ -880,7 +933,7 @@ function GoAHeroBanner({
880
933
  maxcontentwidth: maxContentWidth,
881
934
  backgroundcolor: backgroundColor,
882
935
  textcolor: textColor,
883
- "data-testid": testId,
936
+ testid: testId,
884
937
  children
885
938
  }
886
939
  );
@@ -936,7 +989,7 @@ function GoAIconButton({
936
989
  mr,
937
990
  mb,
938
991
  ml,
939
- "data-testid": testId,
992
+ testid: testId,
940
993
  children
941
994
  }
942
995
  );
@@ -971,7 +1024,7 @@ function GoAIcon({
971
1024
  mr,
972
1025
  mb,
973
1026
  ml,
974
- "data-testid": testId
1027
+ testid: testId
975
1028
  }
976
1029
  );
977
1030
  }
@@ -2623,7 +2676,7 @@ function GoAInput({
2623
2676
  const current = ref.current;
2624
2677
  const changeListener = (e) => {
2625
2678
  const { name: name2, value: value2 } = e.detail;
2626
- onChange(name2, value2);
2679
+ onChange == null ? void 0 : onChange(name2, value2);
2627
2680
  };
2628
2681
  const clickListener = () => {
2629
2682
  onTrailingIconClick == null ? void 0 : onTrailingIconClick();
@@ -2670,7 +2723,7 @@ function GoAInput({
2670
2723
  readonly,
2671
2724
  placeholder,
2672
2725
  error,
2673
- "data-testid": testId,
2726
+ testid: testId,
2674
2727
  value,
2675
2728
  width,
2676
2729
  min,
@@ -2694,6 +2747,7 @@ function GoAInput({
2694
2747
  }
2695
2748
  const onDateChangeHandler = (onChange) => {
2696
2749
  return (name, value) => {
2750
+ if (!onChange) return;
2697
2751
  if (!value) {
2698
2752
  onChange(name, "");
2699
2753
  return;
@@ -2705,6 +2759,7 @@ const onDateChangeHandler = (onChange) => {
2705
2759
  };
2706
2760
  const onTimeChangeHandler = (onChange) => {
2707
2761
  return (name, value) => {
2762
+ if (!onChange) return;
2708
2763
  if (!value) {
2709
2764
  onChange(name, "");
2710
2765
  return;
@@ -2799,7 +2854,10 @@ function GoAInputFile(props) {
2799
2854
  id: props.id,
2800
2855
  name: props.name,
2801
2856
  type: "file",
2802
- onChange: (e) => props.onChange(e.target.name, e.target.value),
2857
+ onChange: (e) => {
2858
+ var _a;
2859
+ return (_a = props.onChange) == null ? void 0 : _a.call(props, e.target.name, e.target.value);
2860
+ },
2803
2861
  style: { backgroundColor: "revert" }
2804
2862
  }
2805
2863
  );
@@ -2814,7 +2872,8 @@ function GoAInputNumber({
2814
2872
  ...props
2815
2873
  }) {
2816
2874
  const onNumberChange = (name, value2) => {
2817
- props.onChange(name, parseFloat(value2));
2875
+ var _a;
2876
+ (_a = props.onChange) == null ? void 0 : _a.call(props, name, parseFloat(value2));
2818
2877
  };
2819
2878
  const onFocus = (name, value2) => {
2820
2879
  var _a;
@@ -2846,6 +2905,35 @@ function GoAInputNumber({
2846
2905
  function GoAInputRange(props) {
2847
2906
  return /* @__PURE__ */ jsx(GoAInput, { ...props, type: "range" });
2848
2907
  }
2908
+ function GoALink(props) {
2909
+ return /* @__PURE__ */ jsx(
2910
+ "goa-link",
2911
+ {
2912
+ leadingicon: props.leadingIcon,
2913
+ trailingicon: props.trailingIcon,
2914
+ mt: props.mt,
2915
+ mb: props.mb,
2916
+ ml: props.ml,
2917
+ mr: props.mr,
2918
+ children: props.children
2919
+ }
2920
+ );
2921
+ }
2922
+ function GoALinkButton({ type = "primary", ...props }) {
2923
+ return /* @__PURE__ */ jsx(
2924
+ "goa-link-button",
2925
+ {
2926
+ type,
2927
+ leadingicon: props.leadingIcon,
2928
+ trailingicon: props.trailingIcon,
2929
+ mt: props.mt,
2930
+ mb: props.mb,
2931
+ ml: props.ml,
2932
+ mr: props.mr,
2933
+ children: props.children
2934
+ }
2935
+ );
2936
+ }
2849
2937
  function GoAMicrositeHeader({
2850
2938
  type,
2851
2939
  version,
@@ -2853,18 +2941,39 @@ function GoAMicrositeHeader({
2853
2941
  maxContentWidth,
2854
2942
  feedbackUrlTarget,
2855
2943
  headerUrlTarget,
2856
- testId
2944
+ testId,
2945
+ onFeedbackClick
2857
2946
  }) {
2947
+ const el = useRef(null);
2948
+ useEffect(() => {
2949
+ if (!el.current) {
2950
+ return;
2951
+ }
2952
+ if (!onFeedbackClick) {
2953
+ return;
2954
+ }
2955
+ const current = el.current;
2956
+ const listener = () => {
2957
+ onFeedbackClick();
2958
+ };
2959
+ current.addEventListener("_feedbackClick", listener);
2960
+ return () => {
2961
+ current.removeEventListener("_feedbackClick", listener);
2962
+ };
2963
+ }, [el, onFeedbackClick]);
2858
2964
  return /* @__PURE__ */ jsx(
2859
2965
  "goa-microsite-header",
2860
2966
  {
2967
+ ref: el,
2861
2968
  type,
2862
- version,
2969
+ version: typeof version === "string" ? version : void 0,
2863
2970
  feedbackurl: feedbackUrl,
2864
- "data-testid": testId,
2971
+ testid: testId,
2865
2972
  maxcontentwidth: maxContentWidth,
2866
2973
  feedbackurltarget: feedbackUrlTarget,
2867
- headerurltarget: headerUrlTarget
2974
+ headerurltarget: headerUrlTarget,
2975
+ hasfeedbackhandler: !!onFeedbackClick,
2976
+ children: version && typeof version !== "string" && /* @__PURE__ */ jsx("div", { slot: "version", children: version })
2868
2977
  }
2869
2978
  );
2870
2979
  }
@@ -2913,7 +3022,7 @@ function GoAModal({
2913
3022
  maxwidth: maxWidth,
2914
3023
  transition,
2915
3024
  calloutvariant: calloutVariant,
2916
- "data-testid": testId,
3025
+ testid: testId,
2917
3026
  role,
2918
3027
  children: [
2919
3028
  heading && /* @__PURE__ */ jsx("div", { slot: "heading", children: heading }),
@@ -2950,7 +3059,7 @@ const GoANotification = ({
2950
3059
  {
2951
3060
  ref: el,
2952
3061
  type,
2953
- "data-testid": testId,
3062
+ testid: testId,
2954
3063
  maxcontentwidth: maxContentWidth,
2955
3064
  arialive: ariaLive,
2956
3065
  children
@@ -2961,7 +3070,7 @@ function GoAOneColumnLayout(props) {
2961
3070
  return /* @__PURE__ */ jsx("goa-one-column-layout", { children: props.children });
2962
3071
  }
2963
3072
  function GoAPageBlock(props) {
2964
- return /* @__PURE__ */ jsx("goa-page-block", { width: props.width, "data-testid": props.testId, children: props.children });
3073
+ return /* @__PURE__ */ jsx("goa-page-block", { width: props.width, testid: props.testId, children: props.children });
2965
3074
  }
2966
3075
  function GoAPages(props) {
2967
3076
  return /* @__PURE__ */ jsx(
@@ -3004,7 +3113,7 @@ function GoAPagination({ onChange, ...props }) {
3004
3113
  mb: props.mb,
3005
3114
  ml: props.ml,
3006
3115
  mr: props.mr,
3007
- "data-testid": props.testId
3116
+ testid: props.testId
3008
3117
  }
3009
3118
  );
3010
3119
  }
@@ -3025,7 +3134,7 @@ function GoAPopover({
3025
3134
  return /* @__PURE__ */ jsxs(
3026
3135
  "goa-popover",
3027
3136
  {
3028
- "data-testid": testId,
3137
+ testid: testId,
3029
3138
  maxwidth: maxWidth,
3030
3139
  minwidth: minWidth,
3031
3140
  padded,
@@ -3119,7 +3228,7 @@ function GoARadioGroup({
3119
3228
  return /* @__PURE__ */ jsx(
3120
3229
  "goa-radio-group",
3121
3230
  {
3122
- "data-testid": testId,
3231
+ testid: testId,
3123
3232
  ref: el,
3124
3233
  name,
3125
3234
  value,
@@ -3140,7 +3249,7 @@ function GoASideMenuGroup(props) {
3140
3249
  "goa-side-menu-group",
3141
3250
  {
3142
3251
  heading: props.heading,
3143
- "data-testid": props.testId,
3252
+ testid: props.testId,
3144
3253
  children: props.children
3145
3254
  }
3146
3255
  );
@@ -3150,7 +3259,7 @@ function GoASideMenuHeading(props) {
3150
3259
  "goa-side-menu-heading",
3151
3260
  {
3152
3261
  icon: props.icon,
3153
- "data-testid": props.testId,
3262
+ testid: props.testId,
3154
3263
  children: [
3155
3264
  props.children,
3156
3265
  props.meta && /* @__PURE__ */ jsx("span", { slot: "meta", children: props.meta })
@@ -3159,7 +3268,7 @@ function GoASideMenuHeading(props) {
3159
3268
  );
3160
3269
  }
3161
3270
  function GoASideMenu(props) {
3162
- return /* @__PURE__ */ jsx("goa-side-menu", { "data-testid": props.testId, children: props.children });
3271
+ return /* @__PURE__ */ jsx("goa-side-menu", { testid: props.testId, children: props.children });
3163
3272
  }
3164
3273
  const GoASkeleton = ({
3165
3274
  maxWidth,
@@ -3183,7 +3292,7 @@ const GoASkeleton = ({
3183
3292
  mr,
3184
3293
  mb,
3185
3294
  ml,
3186
- "data-testid": testId
3295
+ testid: testId
3187
3296
  }
3188
3297
  );
3189
3298
  };
@@ -3193,7 +3302,7 @@ function GoASpacer(props) {
3193
3302
  {
3194
3303
  hspacing: props.hSpacing,
3195
3304
  vspacing: props.vSpacing,
3196
- "data-testid": props.testId
3305
+ testid: props.testId
3197
3306
  }
3198
3307
  );
3199
3308
  }
@@ -3211,7 +3320,7 @@ function GoASpinner({
3211
3320
  size,
3212
3321
  progress,
3213
3322
  invert,
3214
- "data-testid": testId
3323
+ testid: testId
3215
3324
  }
3216
3325
  );
3217
3326
  }
@@ -3238,7 +3347,7 @@ function GoATable({ onSort, ...props }) {
3238
3347
  width: props.width,
3239
3348
  stickyheader: false,
3240
3349
  variant: props.variant,
3241
- "data-testid": props.testId,
3350
+ testid: props.testId,
3242
3351
  mt: props.mt,
3243
3352
  mb: props.mb,
3244
3353
  ml: props.ml,
@@ -3274,7 +3383,7 @@ function GoATabs({
3274
3383
  };
3275
3384
  }
3276
3385
  }, [onChange]);
3277
- return /* @__PURE__ */ jsx("goa-tabs", { ref, initialtab: initialTab, "data-testid": testId, children });
3386
+ return /* @__PURE__ */ jsx("goa-tabs", { ref, initialtab: initialTab, testid: testId, children });
3278
3387
  }
3279
3388
  function GoATab({ heading, children }) {
3280
3389
  return /* @__PURE__ */ jsxs("goa-tab", { children: [
@@ -3282,6 +3391,21 @@ function GoATab({ heading, children }) {
3282
3391
  children
3283
3392
  ] });
3284
3393
  }
3394
+ function GoAText(props) {
3395
+ return /* @__PURE__ */ jsx(
3396
+ "goa-text",
3397
+ {
3398
+ as: props.as || "div",
3399
+ size: props.size,
3400
+ maxwidth: props.maxWidth || "65ch",
3401
+ mt: props.mt,
3402
+ mb: props.mb,
3403
+ ml: props.ml,
3404
+ mr: props.mr,
3405
+ children: props.children
3406
+ }
3407
+ );
3408
+ }
3285
3409
  function GoATextarea({
3286
3410
  name,
3287
3411
  value,
@@ -3310,7 +3434,7 @@ function GoATextarea({
3310
3434
  const current = el.current;
3311
3435
  const listener = (e) => {
3312
3436
  const { name: name2, value: value2 } = e.detail;
3313
- onChange(name2, value2);
3437
+ onChange == null ? void 0 : onChange(name2, value2);
3314
3438
  };
3315
3439
  current.addEventListener("_change", listener);
3316
3440
  return () => {
@@ -3345,7 +3469,7 @@ function GoATextarea({
3345
3469
  width,
3346
3470
  maxwidth: maxWidth,
3347
3471
  error,
3348
- "data-testid": testId,
3472
+ testid: testId,
3349
3473
  arialabel: ariaLabel,
3350
3474
  mt,
3351
3475
  mr,
@@ -3379,7 +3503,7 @@ function GoATooltip(props) {
3379
3503
  position: props.position,
3380
3504
  content: props.content,
3381
3505
  halign: props.hAlign,
3382
- "data-testid": props.testId,
3506
+ testid: props.testId,
3383
3507
  mt: props.mt,
3384
3508
  mr: props.mr,
3385
3509
  mb: props.mb,
@@ -3427,6 +3551,7 @@ export {
3427
3551
  GoADropdownItem,
3428
3552
  GoADropdownOption,
3429
3553
  GoAEmergencyBadge,
3554
+ GoAFieldset,
3430
3555
  GoAFileUploadCard,
3431
3556
  GoAFileUploadInput,
3432
3557
  GoAFormItem,
@@ -3453,6 +3578,8 @@ export {
3453
3578
  GoAInputText,
3454
3579
  GoAInputTime,
3455
3580
  GoAInputUrl,
3581
+ GoALink,
3582
+ GoALinkButton,
3456
3583
  GoAMicrositeHeader,
3457
3584
  GoAModal,
3458
3585
  GoANotification,
@@ -3474,6 +3601,7 @@ export {
3474
3601
  GoATable,
3475
3602
  GoATableSortHeader,
3476
3603
  GoATabs,
3604
+ GoAText,
3477
3605
  GoATextarea as GoATextArea,
3478
3606
  GoATextarea,
3479
3607
  GoAThreeColumnLayout,