@bloom-housing/ui-components 9.0.0-alpha.1 → 9.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (137) hide show
  1. package/dist/__tests__/actions/ExpandableContent.test.js +1 -1
  2. package/dist/__tests__/actions/ExpandableContent.test.js.map +1 -1
  3. package/dist/__tests__/page_components/ContentAccordion.test.js +2 -2
  4. package/dist/__tests__/page_components/ContentAccordion.test.js.map +1 -1
  5. package/dist/index.d.ts +1 -0
  6. package/dist/index.js +1 -0
  7. package/dist/index.js.map +1 -1
  8. package/dist/src/actions/Button.d.ts +1 -1
  9. package/dist/src/actions/Button.js +1 -1
  10. package/dist/src/actions/Button.js.map +1 -1
  11. package/dist/src/actions/LinkButton.js +2 -2
  12. package/dist/src/actions/LinkButton.js.map +1 -1
  13. package/dist/src/blocks/DashBlock.js +1 -1
  14. package/dist/src/blocks/DashBlock.js.map +1 -1
  15. package/dist/src/blocks/ImageCard.d.ts +3 -0
  16. package/dist/src/blocks/ImageCard.js +31 -17
  17. package/dist/src/blocks/ImageCard.js.map +1 -1
  18. package/dist/src/blocks/ImageCard.stories.d.ts +1 -0
  19. package/dist/src/blocks/ImageCard.stories.js +17 -0
  20. package/dist/src/blocks/ImageCard.stories.js.map +1 -1
  21. package/dist/src/blocks/InfoCard.d.ts +1 -1
  22. package/dist/src/blocks/InfoCard.js +1 -1
  23. package/dist/src/blocks/InfoCard.stories.d.ts +1 -0
  24. package/dist/src/blocks/InfoCard.stories.js +3 -1
  25. package/dist/src/blocks/InfoCard.stories.js.map +1 -1
  26. package/dist/src/blocks/Tooltip.d.ts +13 -0
  27. package/dist/src/blocks/Tooltip.js +28 -0
  28. package/dist/src/blocks/Tooltip.js.map +1 -0
  29. package/dist/src/blocks/ViewItem.js +2 -2
  30. package/dist/src/blocks/ViewItem.js.map +1 -1
  31. package/dist/src/forms/Dropzone.js +1 -1
  32. package/dist/src/forms/Dropzone.js.map +1 -1
  33. package/dist/src/forms/Field.js +1 -1
  34. package/dist/src/forms/Field.js.map +1 -1
  35. package/dist/src/forms/FieldGroup.js +8 -8
  36. package/dist/src/forms/FieldGroup.js.map +1 -1
  37. package/dist/src/forms/HouseholdMemberForm.js +1 -1
  38. package/dist/src/forms/HouseholdMemberForm.js.map +1 -1
  39. package/dist/src/forms/MultiSelectField.js +1 -1
  40. package/dist/src/forms/MultiSelectField.js.map +1 -1
  41. package/dist/src/forms/PhoneField.js +2 -2
  42. package/dist/src/forms/PhoneField.js.map +1 -1
  43. package/dist/src/forms/Select.js +2 -2
  44. package/dist/src/forms/Select.js.map +1 -1
  45. package/dist/src/forms/Textarea.js +1 -1
  46. package/dist/src/forms/Textarea.js.map +1 -1
  47. package/dist/src/headers/Hero.js +2 -2
  48. package/dist/src/headers/Hero.js.map +1 -1
  49. package/dist/src/headers/PageHeader.js +1 -1
  50. package/dist/src/headers/PageHeader.js.map +1 -1
  51. package/dist/src/headers/SiteHeader.js +3 -3
  52. package/dist/src/headers/SiteHeader.js.map +1 -1
  53. package/dist/src/icons/Icon.js +2 -2
  54. package/dist/src/icons/Icon.js.map +1 -1
  55. package/dist/src/notifications/AlertBox.js +1 -1
  56. package/dist/src/notifications/AlertBox.js.map +1 -1
  57. package/dist/src/notifications/ErrorMessage.js +1 -1
  58. package/dist/src/notifications/ErrorMessage.js.map +1 -1
  59. package/dist/src/overlays/LoadingOverlay.js +1 -1
  60. package/dist/src/overlays/LoadingOverlay.js.map +1 -1
  61. package/dist/src/overlays/Modal.d.ts +2 -1
  62. package/dist/src/overlays/Modal.js +2 -2
  63. package/dist/src/overlays/Modal.js.map +1 -1
  64. package/dist/src/overlays/Modal.stories.js +4 -4
  65. package/dist/src/overlays/Modal.stories.js.map +1 -1
  66. package/dist/src/page_components/listing/AdditionalFees.stories.d.ts +1 -0
  67. package/dist/src/page_components/listing/AdditionalFees.stories.js +3 -0
  68. package/dist/src/page_components/listing/AdditionalFees.stories.js.map +1 -1
  69. package/dist/src/page_components/listing/ContentAccordion.js +1 -1
  70. package/dist/src/page_components/listing/ContentAccordion.js.map +1 -1
  71. package/dist/src/page_components/listing/ListingCard.js +1 -1
  72. package/dist/src/page_components/listing/ListingCard.js.map +1 -1
  73. package/dist/src/page_components/listing/listing_sidebar/GetApplication.js +2 -2
  74. package/dist/src/page_components/listing/listing_sidebar/GetApplication.js.map +1 -1
  75. package/dist/src/page_components/sign-in/FormSignIn.js +1 -1
  76. package/dist/src/page_components/sign-in/FormSignIn.js.map +1 -1
  77. package/dist/src/page_components/sign-in/FormSignInAddPhone.js +1 -1
  78. package/dist/src/page_components/sign-in/FormSignInAddPhone.js.map +1 -1
  79. package/dist/src/page_components/sign-in/FormSignInMFACode.js +1 -1
  80. package/dist/src/page_components/sign-in/FormSignInMFACode.js.map +1 -1
  81. package/dist/src/page_components/sign-in/FormSignInMFAType.js +2 -2
  82. package/dist/src/page_components/sign-in/FormSignInMFAType.js.map +1 -1
  83. package/dist/src/page_components/sign-in/FormTerms.js +1 -1
  84. package/dist/src/page_components/sign-in/FormTerms.js.map +1 -1
  85. package/dist/src/sections/InfoCardGrid.js +1 -1
  86. package/dist/src/sections/InfoCardGrid.js.map +1 -1
  87. package/dist/src/tables/AgPagination.js +4 -4
  88. package/dist/src/tables/AgPagination.js.map +1 -1
  89. package/dist/src/text/Tag.d.ts +1 -0
  90. package/dist/src/text/Tag.js +1 -1
  91. package/dist/src/text/Tag.js.map +1 -1
  92. package/index.ts +1 -0
  93. package/package.json +24 -25
  94. package/src/actions/Button.tsx +2 -2
  95. package/src/actions/LinkButton.tsx +2 -2
  96. package/src/blocks/DashBlock.tsx +1 -1
  97. package/src/blocks/ImageCard.scss +27 -1
  98. package/src/blocks/ImageCard.stories.tsx +27 -1
  99. package/src/blocks/ImageCard.tsx +49 -38
  100. package/src/blocks/InfoCard.scss +18 -0
  101. package/src/blocks/InfoCard.stories.tsx +12 -0
  102. package/src/blocks/InfoCard.tsx +2 -2
  103. package/src/blocks/Tooltip.scss +43 -0
  104. package/src/blocks/Tooltip.tsx +65 -0
  105. package/src/blocks/ViewItem.tsx +2 -2
  106. package/src/forms/Dropzone.tsx +1 -1
  107. package/src/forms/Field.tsx +1 -1
  108. package/src/forms/FieldGroup.tsx +10 -10
  109. package/src/forms/HouseholdMemberForm.tsx +1 -1
  110. package/src/forms/MultiSelectField.tsx +1 -1
  111. package/src/forms/PhoneField.tsx +2 -2
  112. package/src/forms/Select.tsx +3 -3
  113. package/src/forms/Textarea.tsx +1 -1
  114. package/src/global/tokens/sizes.scss +1 -1
  115. package/src/headers/Hero.tsx +2 -2
  116. package/src/headers/PageHeader.tsx +1 -1
  117. package/src/headers/SiteHeader.tsx +3 -3
  118. package/src/icons/Icon.tsx +2 -2
  119. package/src/notifications/AlertBox.tsx +1 -1
  120. package/src/notifications/ErrorMessage.tsx +1 -1
  121. package/src/overlays/LoadingOverlay.tsx +1 -1
  122. package/src/overlays/Modal.scss +28 -11
  123. package/src/overlays/Modal.stories.tsx +4 -4
  124. package/src/overlays/Modal.tsx +4 -3
  125. package/src/page_components/listing/AdditionalFees.stories.tsx +4 -0
  126. package/src/page_components/listing/ContentAccordion.tsx +1 -1
  127. package/src/page_components/listing/ListingCard.tsx +1 -1
  128. package/src/page_components/listing/listing_sidebar/GetApplication.tsx +2 -2
  129. package/src/page_components/sign-in/FormSignIn.tsx +1 -1
  130. package/src/page_components/sign-in/FormSignInAddPhone.tsx +1 -1
  131. package/src/page_components/sign-in/FormSignInMFACode.tsx +1 -1
  132. package/src/page_components/sign-in/FormSignInMFAType.tsx +2 -2
  133. package/src/page_components/sign-in/FormTerms.tsx +1 -1
  134. package/src/sections/InfoCardGrid.scss +12 -16
  135. package/src/sections/InfoCardGrid.tsx +1 -1
  136. package/src/tables/AgPagination.tsx +4 -4
  137. package/src/text/Tag.tsx +6 -1
@@ -83,7 +83,7 @@ const AlertBox = (props: AlertBoxProps) => {
83
83
  }
84
84
 
85
85
  return showing ? (
86
- <div className={classNames} role="alert" data-testid={"alert-box"}>
86
+ <div className={classNames} role="alert" data-test-id={"alert-box"}>
87
87
  {innerSection}
88
88
  </div>
89
89
  ) : null
@@ -17,7 +17,7 @@ const ErrorMessage = (props: {
17
17
  id={props.id}
18
18
  className={classes.join(" ")}
19
19
  aria-live="assertive"
20
- data-testid={"error-message"}
20
+ data-test-id={"error-message"}
21
21
  >
22
22
  {props.children}
23
23
  </span>
@@ -12,7 +12,7 @@ const LoadingOverlay = ({ isLoading, children }: LoadingOverlayProps) => {
12
12
  if (!isLoading) return children
13
13
 
14
14
  return (
15
- <div className="loading-overlay" data-testid="loading-overlay">
15
+ <div className="loading-overlay" data-test-id="loading-overlay">
16
16
  <Icon size="3xl" symbol="spinner" className="loading-overlay__spinner" />
17
17
  {children}
18
18
  </div>
@@ -4,9 +4,16 @@
4
4
  --title-font-size: var(--bloom-font-size-lg);
5
5
  --title-font-family: var(--bloom-font-sans);
6
6
  --content-font-color: var(--bloom-color-gray-700);
7
- --content-padding: var(--bloom-s6);
7
+ --content-padding-block: 0 var(--bloom-s6);
8
+ --content-padding-inline: var(--bloom-s6);
9
+ --content-margin-top: var(--bloom-s6);
10
+ --title-padding-block: var(--bloom-s6) 0px;
11
+ --title-padding-inline: var(--bloom-s6) var(--bloom-s12);
12
+ --footer-padding-block: var(--bloom-s6);
13
+ --footer-padding-inline: var(--bloom-s6);
8
14
  --max-width: var(--bloom-width-5xl);
9
15
  --desktop-min-width: var(--bloom-width-xl);
16
+ --scroll-max-height: 100vh;
10
17
  --footer-background-color: var(--bloom-color-primary-lighter);
11
18
  --border-radius: var(--bloom-rounded);
12
19
  --mobile-border-radius: 0;
@@ -14,7 +21,12 @@
14
21
  --modal-shadow: var(--bloom-shadow-md);
15
22
  --modal-border: var(--bloom-border-1) solid var(--bloom-color-gray-400);
16
23
  --footer-justify: normal;
17
- overflow: auto;
24
+ --max-height: 100vh;
25
+ --overflow: auto;
26
+ --width: 100vw;
27
+ --modal-header-min-height: auto;
28
+
29
+ overflow: var(--overflow);
18
30
  -webkit-overflow-scrolling: touch;
19
31
 
20
32
  display: flex;
@@ -22,12 +34,12 @@
22
34
 
23
35
  position: relative;
24
36
  max-width: var(--max-width);
25
- max-height: 100vh;
37
+ max-height: var(--max-height);
26
38
  margin: auto;
27
39
  border: var(--modal-border);
28
40
  background-color: var(--background-color);
29
41
  box-shadow: var(--modal-shadow);
30
- width: 100vw;
42
+ width: var(--width);
31
43
  border-radius: var(--mobile-border-radius);
32
44
 
33
45
  @media (min-width: $screen-sm) {
@@ -44,18 +56,22 @@
44
56
  }
45
57
  }
46
58
 
59
+ .modal__header {
60
+ min-height: var(--modal-header-min-height);
61
+ }
62
+
47
63
  .modal__title {
48
- padding-block: var(--content-padding) 0px;
49
- padding-inline: var(--content-padding) var(--bloom-s12);
64
+ padding-block: var(--title-padding-block);
65
+ padding-inline: var(--title-padding-inline);
50
66
  color: var(--title-color);
51
67
  font-size: var(--title-font-size);
52
68
  font-family: var(--title-font-family);
53
69
  }
54
70
 
55
71
  .modal__inner {
56
- padding: var(--content-padding);
57
- padding-top: 0px;
58
- margin-top: var(--content-padding);
72
+ padding-block: var(--content-padding-block);
73
+ padding-inline: var(--content-padding-inline);
74
+ margin-top: var(--content-margin-top);
59
75
 
60
76
  &:last-of-type {
61
77
  border-bottom-right-radius: var(--border-radius);
@@ -63,7 +79,7 @@
63
79
  }
64
80
 
65
81
  &.is-scrollable {
66
- max-height: 100vh;
82
+ max-height: var(--scroll-max-height);
67
83
  max-width: 100vw;
68
84
  @media (min-width: $screen-md) {
69
85
  max-height: calc(100vh - var(--bloom-s6));
@@ -79,7 +95,8 @@
79
95
  }
80
96
 
81
97
  .modal__footer {
82
- padding: var(--content-padding);
98
+ padding-block: var(--footer-padding-block);
99
+ padding-inline: var(--footer-padding-inline);
83
100
  border-bottom-right-radius: var(--border-radius);
84
101
  border-bottom-left-radius: var(--border-radius);
85
102
  background-color: var(--footer-background-color);
@@ -134,7 +134,7 @@ export const ScrollableModal = () => {
134
134
  {text("Action 1 Label", "Cancel")}
135
135
  </Button>,
136
136
  ]}
137
- scrollable
137
+ scrollableModal
138
138
  >
139
139
  {text(
140
140
  "Content",
@@ -156,7 +156,7 @@ export const ScrollableModalNoFooter = () => {
156
156
  title={text("Title", "Modal Title")}
157
157
  ariaDescription="Modal description"
158
158
  onClose={() => setOpenModal(!openModal)}
159
- scrollable
159
+ scrollableModal
160
160
  >
161
161
  {text(
162
162
  "Content",
@@ -175,7 +175,7 @@ export const ScrollableModalManyButtons = () => {
175
175
  title={text("Title", "Modal Title")}
176
176
  ariaDescription="Modal description"
177
177
  onClose={() => setOpenModal(!openModal)}
178
- scrollable
178
+ scrollableModal
179
179
  actions={[
180
180
  <Button
181
181
  onClick={() => setOpenModal(!openModal)}
@@ -241,7 +241,7 @@ export const ScrollableModalMinimalContent = () => {
241
241
  {text("Action 1 Label", "Cancel")}
242
242
  </Button>,
243
243
  ]}
244
- scrollable
244
+ scrollableModal
245
245
  >
246
246
  {text(
247
247
  "Content",
@@ -14,7 +14,8 @@ export interface ModalProps extends Omit<OverlayProps, "children"> {
14
14
  modalClassNames?: string
15
15
  headerClassNames?: string
16
16
  role?: string
17
- scrollable?: boolean
17
+ scrollableModal?: boolean
18
+ scrollableOverlay?: boolean
18
19
  slim?: boolean
19
20
  title: string
20
21
  }
@@ -46,7 +47,7 @@ export const Modal = (props: ModalProps) => {
46
47
  const modalClassNames = ["modal"]
47
48
  const innerClassNames = ["modal__inner"]
48
49
  const closeClassNames = ["modal__close"]
49
- if (props.scrollable) innerClassNames.push("is-scrollable")
50
+ if (props.scrollableModal) innerClassNames.push("is-scrollable")
50
51
  if (props.modalClassNames) modalClassNames.push(...props.modalClassNames.split(" "))
51
52
  if (props.innerClassNames) innerClassNames.push(...props.innerClassNames.split(" "))
52
53
  if (props.closeClassNames) closeClassNames.push(...props.closeClassNames.split(" "))
@@ -59,9 +60,9 @@ export const Modal = (props: ModalProps) => {
59
60
  onClose={props.onClose}
60
61
  className={props.className}
61
62
  backdrop={props.backdrop}
62
- scrollable={props.scrollable}
63
63
  slim={props.slim}
64
64
  role={props.role ? props.role : "dialog"}
65
+ scrollable={props.scrollableOverlay}
65
66
  >
66
67
  <div className={modalClassNames.join(" ")}>
67
68
  {!props.hideCloseIcon && (
@@ -111,3 +111,7 @@ export const costsNotIncluded = () => {
111
111
  />
112
112
  )
113
113
  }
114
+
115
+ export const multipleFooters = () => {
116
+ return <AdditionalFees strings={strings} footerContent={["Footer 1", "Footer 2", "Footer 3"]} />
117
+ }
@@ -35,7 +35,7 @@ const ContentAccordion = (props: ContentAccordionProps) => {
35
35
  className={`w-full text-left ${props.disableAccordion ? "cursor-default" : ""}`}
36
36
  ref={buttonRef}
37
37
  aria-expanded={accordionOpen}
38
- data-testid={"content-accordion-button"}
38
+ data-test-id={"content-accordion-button"}
39
39
  >
40
40
  <div
41
41
  className={`flex justify-between ${props.barClass ? props.barClass : ""} ${
@@ -182,7 +182,7 @@ const ListingCard = (props: ListingCardProps) => {
182
182
  }
183
183
 
184
184
  return (
185
- <article className="listings-row" data-testid={"listing-card-component"}>
185
+ <article className="listings-row" data-test-id={"listing-card-component"}>
186
186
  <div className="listings-row_figure">
187
187
  <ImageCard {...imageCardProps} />
188
188
  </div>
@@ -55,7 +55,7 @@ const GetApplication = (props: ApplicationsProps) => {
55
55
  if (!showSection) return null
56
56
 
57
57
  return (
58
- <section className="aside-block" data-testid="get-application-section">
58
+ <section className="aside-block" data-test-id="get-application-section">
59
59
  <Heading priority={2} styleType={"underlineWeighted"}>
60
60
  {props.strings?.howToApply ?? t("listings.apply.howToApply")}
61
61
  </Heading>
@@ -71,7 +71,7 @@ const GetApplication = (props: ApplicationsProps) => {
71
71
  {props.applicationsOpen && props.onlineApplicationURL && (
72
72
  <>
73
73
  {props.preview ? (
74
- <Button disabled className="w-full mb-2" data-testid={"listing-view-apply-button"}>
74
+ <Button disabled className="w-full mb-2" data-test-id={"listing-view-apply-button"}>
75
75
  {props.strings?.applyOnline ?? t("listings.apply.applyOnline")}
76
76
  </Button>
77
77
  ) : (
@@ -105,7 +105,7 @@ const FormSignIn = ({
105
105
  />
106
106
 
107
107
  <div className="text-center mt-6">
108
- <Button styleType={AppearanceStyleType.primary} data-testid="sign-in-button">
108
+ <Button styleType={AppearanceStyleType.primary} data-test-id="sign-in-button">
109
109
  {t("nav.signIn")}
110
110
  </Button>
111
111
  </div>
@@ -73,7 +73,7 @@ const FormSignInAddPhone = ({
73
73
  <div className="text-center mt-10">
74
74
  <Button
75
75
  styleType={AppearanceStyleType.primary}
76
- data-testid="request-mfa-code-and-add-phone"
76
+ data-test-id="request-mfa-code-and-add-phone"
77
77
  >
78
78
  {t("nav.signInMFA.addPhoneNumber")}
79
79
  </Button>
@@ -93,7 +93,7 @@ const FormSignInMFACode = ({
93
93
  note={note}
94
94
  />
95
95
  <div className="text-center mt-10">
96
- <Button styleType={AppearanceStyleType.primary} data-testid="verify-and-sign-in">
96
+ <Button styleType={AppearanceStyleType.primary} data-test-id="verify-and-sign-in">
97
97
  {t("nav.signInMFA.signIn")}
98
98
  </Button>
99
99
  </div>
@@ -74,7 +74,7 @@ const FormSignInMFAType = ({
74
74
  <div className="text-center mt-6">
75
75
  <Button
76
76
  styleType={AppearanceStyleType.accentCool}
77
- data-testid="verify-by-email"
77
+ data-test-id="verify-by-email"
78
78
  onClick={emailOnClick}
79
79
  >
80
80
  {t("nav.signInMFA.verifyByEmail")}
@@ -83,7 +83,7 @@ const FormSignInMFAType = ({
83
83
  <div className="text-center mt-6">
84
84
  <Button
85
85
  styleType={AppearanceStyleType.accentCool}
86
- data-testid="verify-by-phone"
86
+ data-test-id="verify-by-phone"
87
87
  onClick={smsOnClick}
88
88
  >
89
89
  {t("nav.signInMFA.verifyByPhone")}
@@ -63,7 +63,7 @@ const FormTerms = (props: FormTermsProps) => {
63
63
 
64
64
  <div className="form-card__pager">
65
65
  <div className="form-card__pager-row primary">
66
- <Button styleType={AppearanceStyleType.primary} data-testid="form-submit">
66
+ <Button styleType={AppearanceStyleType.primary} data-test-id="form-submit">
67
67
  {t("t.submit")}
68
68
  </Button>
69
69
  </div>
@@ -1,5 +1,11 @@
1
+ .info-cards {
2
+ --header-margin: var(--bloom-s3) 0 var(--bloom-s3) 0;
3
+ --title-font-size: var(--bloom-font-size-sm);
4
+ --info-card-font-size: var(--bloom-font-size-sm);
5
+ }
6
+
1
7
  .info-cards__header {
2
- @apply my-3;
8
+ margin: var(--header-margin);
3
9
 
4
10
  @screen md {
5
11
  margin-right: 1rem;
@@ -7,18 +13,7 @@
7
13
  }
8
14
 
9
15
  .info-cards__title {
10
- @apply font-alt-sans;
11
- @apply uppercase;
12
- @apply text-sm;
13
- @apply mb-5;
14
- @apply pb-2;
15
- @apply border-0;
16
- @apply border-b-4;
17
- @apply border-primary;
18
- @apply font-semibold;
19
- @apply text-gray-800;
20
- @apply tracking-widest;
21
- @apply inline-block;
16
+ font-size: var(--title-font-size);
22
17
  }
23
18
 
24
19
  .info-cards__subtitle {
@@ -30,16 +25,17 @@
30
25
  @screen md {
31
26
  @apply flex;
32
27
  @apply flex-wrap;
28
+ column-gap: 1rem;
33
29
  }
34
30
 
35
31
  .info-card {
36
32
  & > :not(.info-card__title) {
37
- @apply text-sm;
33
+ font-size: var(--info-card-font-size);
38
34
  }
39
35
 
40
36
  @screen md {
41
- width: calc(50% - 1rem);
42
- margin-right: 1rem;
37
+ width: calc(50% - 0.5rem);
38
+ margin-right: auto;
43
39
  }
44
40
  }
45
41
  }
@@ -11,7 +11,7 @@ export interface InfoCardGridProps {
11
11
  const InfoCardGrid = (props: InfoCardGridProps) => (
12
12
  <section className="info-cards">
13
13
  <header className="info-cards__header">
14
- <Heading styleType={"underlineWeighted"} priority={2} className={"text-sm"}>
14
+ <Heading styleType={"underlineWeighted"} priority={2} className={"info-cards__title"}>
15
15
  {props.title}
16
16
  </Heading>
17
17
  {props.subtitle && <p className="info-cards__subtitle">{props.subtitle}</p>}
@@ -67,7 +67,7 @@ const AgPagination = ({
67
67
  {t("t.show")}
68
68
  </label>
69
69
  <select
70
- data-testid="ag-page-size"
70
+ data-test-id="ag-page-size"
71
71
  name="page-size"
72
72
  id="page-size"
73
73
  value={itemsPerPage}
@@ -86,7 +86,7 @@ const AgPagination = ({
86
86
  {t("t.jumpTo")}
87
87
  </label>
88
88
  <select
89
- data-testid="ag-page-select"
89
+ data-test-id="ag-page-select"
90
90
  name="page-jump"
91
91
  id="page-jump"
92
92
  onChange={(e: React.ChangeEvent<HTMLSelectElement>) =>
@@ -112,7 +112,7 @@ const AgPagination = ({
112
112
  <div className="w-full md:w-auto flex justify-between mt-5 md:mt-0 ">
113
113
  <div className="md:hidden">
114
114
  <Button
115
- data-testid="ag-btn-prev"
115
+ data-test-id="ag-btn-prev"
116
116
  className="data-pager__previous data-pager__control"
117
117
  onClick={onPrevClick}
118
118
  disabled={currentPage === 1}
@@ -122,7 +122,7 @@ const AgPagination = ({
122
122
  </div>
123
123
 
124
124
  <Button
125
- data-testid="ag-btn-next"
125
+ data-test-id="ag-btn-next"
126
126
  className="data-pager__next data-pager__control"
127
127
  onClick={onNextClick}
128
128
  disabled={totalPages === currentPage || totalPages === 0}
package/src/text/Tag.tsx CHANGED
@@ -8,6 +8,7 @@ export interface TagProps extends AppearanceProps {
8
8
  capitalized?: boolean
9
9
  children: React.ReactNode
10
10
  fillContainer?: boolean
11
+ ariaLabel?: string
11
12
  }
12
13
 
13
14
  export const Tag = (props: TagProps) => {
@@ -18,5 +19,9 @@ export const Tag = (props: TagProps) => {
18
19
  if (props.capitalized) tagClasses.push("is-capitalized")
19
20
  if (props.className) tagClasses.push(props.className)
20
21
 
21
- return <span className={tagClasses.join(" ")}>{props.children}</span>
22
+ return (
23
+ <span className={tagClasses.join(" ")} aria-label={props.ariaLabel || undefined}>
24
+ {props.children}
25
+ </span>
26
+ )
22
27
  }