@bloom-housing/ui-components 3.0.1-alpha.4 → 3.0.1-alpha.40
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.
- package/.jest/setup-tests.js +3 -0
- package/CHANGELOG.md +330 -0
- package/package.json +4 -4
- package/src/actions/Button.tsx +3 -0
- package/src/actions/LinkButton.tsx +7 -2
- package/src/blocks/DashBlock.tsx +6 -1
- package/src/forms/DOBField.tsx +3 -0
- package/src/forms/Field.tsx +3 -0
- package/src/forms/FieldGroup.tsx +100 -16
- package/src/forms/HouseholdMemberForm.tsx +2 -1
- package/src/forms/PhoneField.tsx +2 -1
- package/src/forms/Select.tsx +4 -0
- package/src/global/forms.scss +1 -0
- package/src/headers/Hero.tsx +1 -1
- package/src/helpers/blankApplication.ts +3 -1
- package/src/helpers/unitTypes.ts +1 -1
- package/src/icons/Icon.tsx +2 -1
- package/src/locales/es.json +53 -6
- package/src/locales/general.json +192 -18
- package/src/locales/general_OLD.json +1 -1
- package/src/locales/missing-translations.ts +2 -0
- package/src/locales/tl.json +5 -0
- package/src/locales/vi.json +51 -5
- package/src/locales/zh.json +53 -7
- package/src/notifications/AlertBox.tsx +1 -1
- package/src/notifications/ErrorMessage.tsx +6 -1
- package/src/overlays/Modal.scss +4 -1
- package/src/overlays/Modal.tsx +5 -6
- package/src/page_components/listing/AdditionalFees.tsx +2 -1
- package/src/page_components/listing/ListingCard.tsx +1 -1
- package/src/page_components/listing/listing_sidebar/GetApplication.tsx +2 -1
- package/src/page_components/listing/listing_sidebar/Waitlist.tsx +31 -62
- package/src/sections/GridSection.tsx +1 -1
- package/src/tables/MinimalTable.tsx +2 -0
- package/src/tables/StandardTable.tsx +2 -1
package/.jest/setup-tests.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import "@testing-library/jest-dom/extend-expect"
|
|
2
|
+
import { configure } from "@testing-library/dom"
|
|
2
3
|
|
|
3
4
|
import { addTranslation } from "../src/helpers/translator"
|
|
4
5
|
import general from "../src/locales/general.json"
|
|
@@ -18,3 +19,5 @@ window.matchMedia = jest.fn().mockImplementation((query) => {
|
|
|
18
19
|
})
|
|
19
20
|
|
|
20
21
|
addTranslation(general)
|
|
22
|
+
|
|
23
|
+
configure({ testIdAttribute: "data-test-id" })
|
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,336 @@
|
|
|
3
3
|
All notable changes to this project will be documented in this file.
|
|
4
4
|
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
|
5
5
|
|
|
6
|
+
## [3.0.1-alpha.40](https://github.com/bloom-housing/bloom/compare/@bloom-housing/ui-components@3.0.1-alpha.39...@bloom-housing/ui-components@3.0.1-alpha.40) (2021-12-10)
|
|
7
|
+
|
|
8
|
+
**Note:** Version bump only for package @bloom-housing/ui-components
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
## [3.0.1-alpha.39](https://github.com/bloom-housing/bloom/compare/@bloom-housing/ui-components@3.0.1-alpha.38...@bloom-housing/ui-components@3.0.1-alpha.39) (2021-12-09)
|
|
15
|
+
|
|
16
|
+
**Note:** Version bump only for package @bloom-housing/ui-components
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
## [3.0.1-alpha.38](https://github.com/bloom-housing/bloom/compare/@bloom-housing/ui-components@3.0.1-alpha.37...@bloom-housing/ui-components@3.0.1-alpha.38) (2021-12-09)
|
|
23
|
+
|
|
24
|
+
**Note:** Version bump only for package @bloom-housing/ui-components
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+
|
|
29
|
+
|
|
30
|
+
## [3.0.1-alpha.37](https://github.com/bloom-housing/bloom/compare/@bloom-housing/ui-components@3.0.1-alpha.36...@bloom-housing/ui-components@3.0.1-alpha.37) (2021-12-09)
|
|
31
|
+
|
|
32
|
+
**Note:** Version bump only for package @bloom-housing/ui-components
|
|
33
|
+
|
|
34
|
+
|
|
35
|
+
|
|
36
|
+
|
|
37
|
+
|
|
38
|
+
## [3.0.1-alpha.36](https://github.com/bloom-housing/bloom/compare/@bloom-housing/ui-components@3.0.1-alpha.35...@bloom-housing/ui-components@3.0.1-alpha.36) (2021-12-09)
|
|
39
|
+
|
|
40
|
+
**Note:** Version bump only for package @bloom-housing/ui-components
|
|
41
|
+
|
|
42
|
+
|
|
43
|
+
|
|
44
|
+
|
|
45
|
+
|
|
46
|
+
## [3.0.1-alpha.35](https://github.com/bloom-housing/bloom/compare/@bloom-housing/ui-components@3.0.1-alpha.34...@bloom-housing/ui-components@3.0.1-alpha.35) (2021-12-08)
|
|
47
|
+
|
|
48
|
+
**Note:** Version bump only for package @bloom-housing/ui-components
|
|
49
|
+
|
|
50
|
+
|
|
51
|
+
|
|
52
|
+
|
|
53
|
+
|
|
54
|
+
## [3.0.1-alpha.34](https://github.com/bloom-housing/bloom/compare/@bloom-housing/ui-components@3.0.1-alpha.33...@bloom-housing/ui-components@3.0.1-alpha.34) (2021-12-07)
|
|
55
|
+
|
|
56
|
+
|
|
57
|
+
### Bug Fixes
|
|
58
|
+
|
|
59
|
+
* account translations ([#2278](https://github.com/bloom-housing/bloom/issues/2278)) ([1420282](https://github.com/bloom-housing/bloom/commit/1420282ec0de17b8629f2a7dd6c1149f7a1f8894))
|
|
60
|
+
|
|
61
|
+
|
|
62
|
+
|
|
63
|
+
|
|
64
|
+
|
|
65
|
+
## [3.0.1-alpha.33](https://github.com/bloom-housing/bloom/compare/@bloom-housing/ui-components@3.0.1-alpha.32...@bloom-housing/ui-components@3.0.1-alpha.33) (2021-12-07)
|
|
66
|
+
|
|
67
|
+
|
|
68
|
+
### Features
|
|
69
|
+
|
|
70
|
+
* overrides fallback to english, tagalog support ([#2262](https://github.com/bloom-housing/bloom/issues/2262)) ([679ab9b](https://github.com/bloom-housing/bloom/commit/679ab9b1816d5934f48f02ca5f5696952ef88ae7))
|
|
71
|
+
|
|
72
|
+
|
|
73
|
+
|
|
74
|
+
|
|
75
|
+
|
|
76
|
+
## [3.0.1-alpha.32](https://github.com/bloom-housing/bloom/compare/@bloom-housing/ui-components@3.0.1-alpha.31...@bloom-housing/ui-components@3.0.1-alpha.32) (2021-12-07)
|
|
77
|
+
|
|
78
|
+
|
|
79
|
+
### Bug Fixes
|
|
80
|
+
|
|
81
|
+
* Fix modal styles on mobile ([#2280](https://github.com/bloom-housing/bloom/issues/2280)) ([95f45e5](https://github.com/bloom-housing/bloom/commit/95f45e5a6d2c38c512f59d8cb35847cab59dc8bb)), closes [#2253](https://github.com/bloom-housing/bloom/issues/2253)
|
|
82
|
+
|
|
83
|
+
|
|
84
|
+
|
|
85
|
+
|
|
86
|
+
|
|
87
|
+
## [3.0.1-alpha.31](https://github.com/bloom-housing/bloom/compare/@bloom-housing/ui-components@3.0.1-alpha.30...@bloom-housing/ui-components@3.0.1-alpha.31) (2021-12-06)
|
|
88
|
+
|
|
89
|
+
**Note:** Version bump only for package @bloom-housing/ui-components
|
|
90
|
+
|
|
91
|
+
|
|
92
|
+
|
|
93
|
+
|
|
94
|
+
|
|
95
|
+
## [3.0.1-alpha.30](https://github.com/bloom-housing/bloom/compare/@bloom-housing/ui-components@3.0.1-alpha.29...@bloom-housing/ui-components@3.0.1-alpha.30) (2021-12-03)
|
|
96
|
+
|
|
97
|
+
**Note:** Version bump only for package @bloom-housing/ui-components
|
|
98
|
+
|
|
99
|
+
|
|
100
|
+
|
|
101
|
+
|
|
102
|
+
|
|
103
|
+
## [3.0.1-alpha.29](https://github.com/bloom-housing/bloom/compare/@bloom-housing/ui-components@3.0.1-alpha.28...@bloom-housing/ui-components@3.0.1-alpha.29) (2021-12-03)
|
|
104
|
+
|
|
105
|
+
**Note:** Version bump only for package @bloom-housing/ui-components
|
|
106
|
+
|
|
107
|
+
|
|
108
|
+
|
|
109
|
+
|
|
110
|
+
|
|
111
|
+
## [3.0.1-alpha.28](https://github.com/bloom-housing/bloom/compare/@bloom-housing/ui-components@3.0.1-alpha.27...@bloom-housing/ui-components@3.0.1-alpha.28) (2021-12-03)
|
|
112
|
+
|
|
113
|
+
**Note:** Version bump only for package @bloom-housing/ui-components
|
|
114
|
+
|
|
115
|
+
|
|
116
|
+
|
|
117
|
+
|
|
118
|
+
|
|
119
|
+
## [3.0.1-alpha.27](https://github.com/bloom-housing/bloom/compare/@bloom-housing/ui-components@3.0.1-alpha.26...@bloom-housing/ui-components@3.0.1-alpha.27) (2021-12-01)
|
|
120
|
+
|
|
121
|
+
**Note:** Version bump only for package @bloom-housing/ui-components
|
|
122
|
+
|
|
123
|
+
|
|
124
|
+
|
|
125
|
+
|
|
126
|
+
|
|
127
|
+
## [3.0.1-alpha.26](https://github.com/bloom-housing/bloom/compare/@bloom-housing/ui-components@3.0.1-alpha.25...@bloom-housing/ui-components@3.0.1-alpha.26) (2021-12-01)
|
|
128
|
+
|
|
129
|
+
**Note:** Version bump only for package @bloom-housing/ui-components
|
|
130
|
+
|
|
131
|
+
|
|
132
|
+
|
|
133
|
+
|
|
134
|
+
|
|
135
|
+
## [3.0.1-alpha.25](https://github.com/bloom-housing/bloom/compare/@bloom-housing/ui-components@3.0.1-alpha.24...@bloom-housing/ui-components@3.0.1-alpha.25) (2021-11-30)
|
|
136
|
+
|
|
137
|
+
**Note:** Version bump only for package @bloom-housing/ui-components
|
|
138
|
+
|
|
139
|
+
|
|
140
|
+
|
|
141
|
+
|
|
142
|
+
|
|
143
|
+
## [3.0.1-alpha.24](https://github.com/bloom-housing/bloom/compare/@bloom-housing/ui-components@3.0.1-alpha.23...@bloom-housing/ui-components@3.0.1-alpha.24) (2021-11-29)
|
|
144
|
+
|
|
145
|
+
|
|
146
|
+
### Bug Fixes
|
|
147
|
+
|
|
148
|
+
* guard against 0 output ([0ea9012](https://github.com/bloom-housing/bloom/commit/0ea9012fdac02fb1cb4357abec2ec69633902654))
|
|
149
|
+
* remove bold style from current waitlist size ([2e2f414](https://github.com/bloom-housing/bloom/commit/2e2f4141e62c8544c0828b29de0b99bb97abb201))
|
|
150
|
+
* show waitlist values even if they're zero ([6a35e67](https://github.com/bloom-housing/bloom/commit/6a35e679f142105e40719e89bda3d957e3200e1d))
|
|
151
|
+
* simpler conditionals ([f3e588d](https://github.com/bloom-housing/bloom/commit/f3e588d5e6dd0a39d1aed99ef6eba0054540ed14))
|
|
152
|
+
* waitlist: handle both null and undefined ([90fd369](https://github.com/bloom-housing/bloom/commit/90fd369b471c7f9baa0a1d58f452159449fe6fcf))
|
|
153
|
+
|
|
154
|
+
|
|
155
|
+
### Features
|
|
156
|
+
|
|
157
|
+
* simplify Waitlist component and use more flexible schema ([96df149](https://github.com/bloom-housing/bloom/commit/96df1496f377ddfa6f0e6c016c84954b6a43ff4a))
|
|
158
|
+
|
|
159
|
+
|
|
160
|
+
|
|
161
|
+
|
|
162
|
+
|
|
163
|
+
## [3.0.1-alpha.23](https://github.com/bloom-housing/bloom/compare/@bloom-housing/ui-components@3.0.1-alpha.22...@bloom-housing/ui-components@3.0.1-alpha.23) (2021-11-29)
|
|
164
|
+
|
|
165
|
+
**Note:** Version bump only for package @bloom-housing/ui-components
|
|
166
|
+
|
|
167
|
+
|
|
168
|
+
|
|
169
|
+
|
|
170
|
+
|
|
171
|
+
## [3.0.1-alpha.22](https://github.com/bloom-housing/bloom/compare/@bloom-housing/ui-components@3.0.1-alpha.21...@bloom-housing/ui-components@3.0.1-alpha.22) (2021-11-23)
|
|
172
|
+
|
|
173
|
+
|
|
174
|
+
### Bug Fixes
|
|
175
|
+
|
|
176
|
+
* remove alameda reference in demographics ([#2209](https://github.com/bloom-housing/bloom/issues/2209)) ([7d5991c](https://github.com/bloom-housing/bloom/commit/7d5991cbf6dbe0b61f2b14d265e87ce3687f743d))
|
|
177
|
+
|
|
178
|
+
|
|
179
|
+
|
|
180
|
+
|
|
181
|
+
|
|
182
|
+
## [3.0.1-alpha.21](https://github.com/bloom-housing/bloom/compare/@bloom-housing/ui-components@3.0.1-alpha.20...@bloom-housing/ui-components@3.0.1-alpha.21) (2021-11-23)
|
|
183
|
+
|
|
184
|
+
|
|
185
|
+
### Bug Fixes
|
|
186
|
+
|
|
187
|
+
* change the yes/no radio text to be more descriptive ([#2208](https://github.com/bloom-housing/bloom/issues/2208)) ([0c46054](https://github.com/bloom-housing/bloom/commit/0c46054574535523d6f217bb0677bbe732b8945f))
|
|
188
|
+
|
|
189
|
+
|
|
190
|
+
|
|
191
|
+
|
|
192
|
+
|
|
193
|
+
## [3.0.1-alpha.20](https://github.com/bloom-housing/bloom/compare/@bloom-housing/ui-components@3.0.1-alpha.19...@bloom-housing/ui-components@3.0.1-alpha.20) (2021-11-23)
|
|
194
|
+
|
|
195
|
+
|
|
196
|
+
### Bug Fixes
|
|
197
|
+
|
|
198
|
+
* add ariaLabel prop to Button component ([509ddc8](https://github.com/bloom-housing/bloom/commit/509ddc898ba44c05e26f8ed8c777f1ba456eeee5))
|
|
199
|
+
|
|
200
|
+
|
|
201
|
+
|
|
202
|
+
|
|
203
|
+
|
|
204
|
+
## [3.0.1-alpha.19](https://github.com/bloom-housing/bloom/compare/@bloom-housing/ui-components@3.0.1-alpha.18...@bloom-housing/ui-components@3.0.1-alpha.19) (2021-11-23)
|
|
205
|
+
|
|
206
|
+
|
|
207
|
+
### Bug Fixes
|
|
208
|
+
|
|
209
|
+
* add ariaHidden to Icon component ([c7bb86a](https://github.com/bloom-housing/bloom/commit/c7bb86aec6fd5ad386c7ca50087d0113b14503be))
|
|
210
|
+
|
|
211
|
+
|
|
212
|
+
|
|
213
|
+
|
|
214
|
+
|
|
215
|
+
## [3.0.1-alpha.18](https://github.com/bloom-housing/bloom/compare/@bloom-housing/ui-components@3.0.1-alpha.17...@bloom-housing/ui-components@3.0.1-alpha.18) (2021-11-23)
|
|
216
|
+
|
|
217
|
+
|
|
218
|
+
### Features
|
|
219
|
+
|
|
220
|
+
* new demographics sub-race questions ([#2109](https://github.com/bloom-housing/bloom/issues/2109)) ([9ab8926](https://github.com/bloom-housing/bloom/commit/9ab892694c1ad2fa8890b411b3b32af68ade1fc3))
|
|
221
|
+
|
|
222
|
+
|
|
223
|
+
|
|
224
|
+
|
|
225
|
+
|
|
226
|
+
## [3.0.1-alpha.17](https://github.com/bloom-housing/bloom/compare/@bloom-housing/ui-components@3.0.1-alpha.16...@bloom-housing/ui-components@3.0.1-alpha.17) (2021-11-22)
|
|
227
|
+
|
|
228
|
+
**Note:** Version bump only for package @bloom-housing/ui-components
|
|
229
|
+
|
|
230
|
+
|
|
231
|
+
|
|
232
|
+
|
|
233
|
+
|
|
234
|
+
## [3.0.1-alpha.16](https://github.com/bloom-housing/bloom/compare/@bloom-housing/ui-components@3.0.1-alpha.15...@bloom-housing/ui-components@3.0.1-alpha.16) (2021-11-22)
|
|
235
|
+
|
|
236
|
+
**Note:** Version bump only for package @bloom-housing/ui-components
|
|
237
|
+
|
|
238
|
+
|
|
239
|
+
|
|
240
|
+
|
|
241
|
+
|
|
242
|
+
## [3.0.1-alpha.15](https://github.com/bloom-housing/bloom/compare/@bloom-housing/ui-components@3.0.1-alpha.14...@bloom-housing/ui-components@3.0.1-alpha.15) (2021-11-16)
|
|
243
|
+
|
|
244
|
+
**Note:** Version bump only for package @bloom-housing/ui-components
|
|
245
|
+
|
|
246
|
+
|
|
247
|
+
|
|
248
|
+
|
|
249
|
+
|
|
250
|
+
## [3.0.1-alpha.14](https://github.com/bloom-housing/bloom/compare/@bloom-housing/ui-components@3.0.1-alpha.13...@bloom-housing/ui-components@3.0.1-alpha.14) (2021-11-16)
|
|
251
|
+
|
|
252
|
+
|
|
253
|
+
### Bug Fixes
|
|
254
|
+
|
|
255
|
+
* preference cleanup for avance ([d0aebbc](https://github.com/bloom-housing/bloom/commit/d0aebbcd334dfffc4a7a1a39e9964c90155c5bfb))
|
|
256
|
+
|
|
257
|
+
|
|
258
|
+
|
|
259
|
+
|
|
260
|
+
|
|
261
|
+
## [3.0.1-alpha.13](https://github.com/bloom-housing/bloom/compare/@bloom-housing/ui-components@3.0.1-alpha.12...@bloom-housing/ui-components@3.0.1-alpha.13) (2021-11-16)
|
|
262
|
+
|
|
263
|
+
**Note:** Version bump only for package @bloom-housing/ui-components
|
|
264
|
+
|
|
265
|
+
|
|
266
|
+
|
|
267
|
+
|
|
268
|
+
|
|
269
|
+
## [3.0.1-alpha.12](https://github.com/bloom-housing/bloom/compare/@bloom-housing/ui-components@3.0.1-alpha.11...@bloom-housing/ui-components@3.0.1-alpha.12) (2021-11-16)
|
|
270
|
+
|
|
271
|
+
**Note:** Version bump only for package @bloom-housing/ui-components
|
|
272
|
+
|
|
273
|
+
|
|
274
|
+
|
|
275
|
+
|
|
276
|
+
|
|
277
|
+
## [3.0.1-alpha.11](https://github.com/bloom-housing/bloom/compare/@bloom-housing/ui-components@3.0.1-alpha.10...@bloom-housing/ui-components@3.0.1-alpha.11) (2021-11-15)
|
|
278
|
+
|
|
279
|
+
**Note:** Version bump only for package @bloom-housing/ui-components
|
|
280
|
+
|
|
281
|
+
|
|
282
|
+
|
|
283
|
+
|
|
284
|
+
|
|
285
|
+
## [3.0.1-alpha.10](https://github.com/bloom-housing/bloom/compare/@bloom-housing/ui-components@3.0.1-alpha.9...@bloom-housing/ui-components@3.0.1-alpha.10) (2021-11-12)
|
|
286
|
+
|
|
287
|
+
|
|
288
|
+
### Features
|
|
289
|
+
|
|
290
|
+
* refactor and add public site application flow cypress tests ([#2118](https://github.com/bloom-housing/bloom/issues/2118)) ([9ec0e8d](https://github.com/bloom-housing/bloom/commit/9ec0e8d05f9570773110754e7fdaf49254d1eab8))
|
|
291
|
+
|
|
292
|
+
|
|
293
|
+
|
|
294
|
+
|
|
295
|
+
|
|
296
|
+
## [3.0.1-alpha.9](https://github.com/bloom-housing/bloom/compare/@bloom-housing/ui-components@3.0.1-alpha.8...@bloom-housing/ui-components@3.0.1-alpha.9) (2021-11-12)
|
|
297
|
+
|
|
298
|
+
**Note:** Version bump only for package @bloom-housing/ui-components
|
|
299
|
+
|
|
300
|
+
|
|
301
|
+
|
|
302
|
+
|
|
303
|
+
|
|
304
|
+
## [3.0.1-alpha.8](https://github.com/bloom-housing/bloom/compare/@bloom-housing/ui-components@3.0.1-alpha.7...@bloom-housing/ui-components@3.0.1-alpha.8) (2021-11-09)
|
|
305
|
+
|
|
306
|
+
**Note:** Version bump only for package @bloom-housing/ui-components
|
|
307
|
+
|
|
308
|
+
|
|
309
|
+
|
|
310
|
+
|
|
311
|
+
|
|
312
|
+
## [3.0.1-alpha.7](https://github.com/bloom-housing/bloom/compare/@bloom-housing/ui-components@3.0.1-alpha.6...@bloom-housing/ui-components@3.0.1-alpha.7) (2021-11-09)
|
|
313
|
+
|
|
314
|
+
**Note:** Version bump only for package @bloom-housing/ui-components
|
|
315
|
+
|
|
316
|
+
|
|
317
|
+
|
|
318
|
+
|
|
319
|
+
|
|
320
|
+
## [3.0.1-alpha.6](https://github.com/bloom-housing/bloom/compare/@bloom-housing/ui-components@3.0.1-alpha.5...@bloom-housing/ui-components@3.0.1-alpha.6) (2021-11-09)
|
|
321
|
+
|
|
322
|
+
**Note:** Version bump only for package @bloom-housing/ui-components
|
|
323
|
+
|
|
324
|
+
|
|
325
|
+
|
|
326
|
+
|
|
327
|
+
|
|
328
|
+
## [3.0.1-alpha.5](https://github.com/bloom-housing/bloom/compare/@bloom-housing/ui-components@3.0.1-alpha.4...@bloom-housing/ui-components@3.0.1-alpha.5) (2021-11-09)
|
|
329
|
+
|
|
330
|
+
**Note:** Version bump only for package @bloom-housing/ui-components
|
|
331
|
+
|
|
332
|
+
|
|
333
|
+
|
|
334
|
+
|
|
335
|
+
|
|
6
336
|
## [3.0.1-alpha.4](https://github.com/bloom-housing/bloom/compare/@bloom-housing/ui-components@3.0.1-alpha.3...@bloom-housing/ui-components@3.0.1-alpha.4) (2021-11-09)
|
|
7
337
|
|
|
8
338
|
**Note:** Version bump only for package @bloom-housing/ui-components
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@bloom-housing/ui-components",
|
|
3
|
-
"version": "3.0.1-alpha.
|
|
3
|
+
"version": "3.0.1-alpha.40",
|
|
4
4
|
"author": "Sean Albert <sean.albert@exygy.com>",
|
|
5
5
|
"description": "Shared user interface components for Bloom affordable housing system",
|
|
6
6
|
"homepage": "https://github.com/bloom-housing/bloom/tree/master/shared/ui-components",
|
|
@@ -69,7 +69,7 @@
|
|
|
69
69
|
"webpack": "^4.44.2"
|
|
70
70
|
},
|
|
71
71
|
"dependencies": {
|
|
72
|
-
"@bloom-housing/backend-core": "^3.0.1-alpha.
|
|
72
|
+
"@bloom-housing/backend-core": "^3.0.1-alpha.35",
|
|
73
73
|
"@mapbox/mapbox-sdk": "^0.13.0",
|
|
74
74
|
"@types/body-scroll-lock": "^2.6.1",
|
|
75
75
|
"@types/jwt-decode": "^2.2.1",
|
|
@@ -80,7 +80,7 @@
|
|
|
80
80
|
"@types/react-dom": "^16.9.5",
|
|
81
81
|
"@types/react-text-mask": "^5.4.6",
|
|
82
82
|
"@types/react-transition-group": "^4.4.0",
|
|
83
|
-
"axios": "
|
|
83
|
+
"axios": "0.21.1",
|
|
84
84
|
"body-scroll-lock": "^3.1.5",
|
|
85
85
|
"jwt-decode": "^2.2.0",
|
|
86
86
|
"markdown-to-jsx": "^6.11.4",
|
|
@@ -100,5 +100,5 @@
|
|
|
100
100
|
"tailwindcss": "2.2.10",
|
|
101
101
|
"typesafe-actions": "^5.1.0"
|
|
102
102
|
},
|
|
103
|
-
"gitHead": "
|
|
103
|
+
"gitHead": "66128b887f8eef065184137a00d2d3ed31d31ed9"
|
|
104
104
|
}
|
package/src/actions/Button.tsx
CHANGED
|
@@ -19,6 +19,7 @@ export interface ButtonProps extends AppearanceProps {
|
|
|
19
19
|
className?: string
|
|
20
20
|
disabled?: boolean
|
|
21
21
|
loading?: boolean
|
|
22
|
+
ariaLabel?: string
|
|
22
23
|
}
|
|
23
24
|
|
|
24
25
|
export const buttonClassesForProps = (props: Omit<ButtonProps, "onClick">) => {
|
|
@@ -67,11 +68,13 @@ const Button = (props: ButtonProps) => {
|
|
|
67
68
|
|
|
68
69
|
return (
|
|
69
70
|
<button
|
|
71
|
+
{...props}
|
|
70
72
|
id={props.id}
|
|
71
73
|
type={props.type}
|
|
72
74
|
className={buttonClasses.join(" ")}
|
|
73
75
|
onClick={props.onClick}
|
|
74
76
|
disabled={props.disabled || props.loading}
|
|
77
|
+
aria-label={props.ariaLabel}
|
|
75
78
|
>
|
|
76
79
|
{buttonInner(props)}
|
|
77
80
|
</button>
|
|
@@ -6,6 +6,7 @@ import { isExternalLink } from "../helpers/links"
|
|
|
6
6
|
|
|
7
7
|
export interface LinkButtonProps extends Omit<ButtonProps, "onClick"> {
|
|
8
8
|
href: string
|
|
9
|
+
dataTestId?: string
|
|
9
10
|
}
|
|
10
11
|
|
|
11
12
|
const LinkButton = (props: LinkButtonProps) => {
|
|
@@ -14,13 +15,17 @@ const LinkButton = (props: LinkButtonProps) => {
|
|
|
14
15
|
|
|
15
16
|
if (isExternalLink(props.href)) {
|
|
16
17
|
return (
|
|
17
|
-
<a href={props.href} className={buttonClasses.join(" ")}>
|
|
18
|
+
<a href={props.href} className={buttonClasses.join(" ")} data-test-id={props.dataTestId}>
|
|
18
19
|
{buttonInner(props)}
|
|
19
20
|
</a>
|
|
20
21
|
)
|
|
21
22
|
} else {
|
|
22
23
|
return (
|
|
23
|
-
<LinkComponent
|
|
24
|
+
<LinkComponent
|
|
25
|
+
href={props.href}
|
|
26
|
+
className={buttonClasses.join(" ")}
|
|
27
|
+
data-test-id={props.dataTestId}
|
|
28
|
+
>
|
|
24
29
|
{buttonInner(props)}
|
|
25
30
|
</LinkComponent>
|
|
26
31
|
)
|
package/src/blocks/DashBlock.tsx
CHANGED
|
@@ -7,6 +7,7 @@ interface DashBlockProps {
|
|
|
7
7
|
subtitle?: string
|
|
8
8
|
icon: React.ReactNode
|
|
9
9
|
children?: React.ReactNode
|
|
10
|
+
dataTestId?: string
|
|
10
11
|
}
|
|
11
12
|
const DashBlock = (props: DashBlockProps) => {
|
|
12
13
|
const { href, title, subtitle, icon, children } = props
|
|
@@ -37,6 +38,10 @@ const DashBlock = (props: DashBlockProps) => {
|
|
|
37
38
|
</>
|
|
38
39
|
)
|
|
39
40
|
}
|
|
40
|
-
return
|
|
41
|
+
return (
|
|
42
|
+
<div className="dash-block" data-test-id={props.dataTestId}>
|
|
43
|
+
{wrapper}
|
|
44
|
+
</div>
|
|
45
|
+
)
|
|
41
46
|
}
|
|
42
47
|
export { DashBlock as default, DashBlock }
|
package/src/forms/DOBField.tsx
CHANGED
|
@@ -71,6 +71,7 @@ const DOBField = (props: DOBFieldProps) => {
|
|
|
71
71
|
}}
|
|
72
72
|
inputProps={{ maxLength: 2 }}
|
|
73
73
|
register={register}
|
|
74
|
+
dataTestId={"dob-field-month"}
|
|
74
75
|
/>
|
|
75
76
|
<Field
|
|
76
77
|
name={getFieldName("birthDay")}
|
|
@@ -92,6 +93,7 @@ const DOBField = (props: DOBFieldProps) => {
|
|
|
92
93
|
}}
|
|
93
94
|
inputProps={{ maxLength: 2 }}
|
|
94
95
|
register={register}
|
|
96
|
+
dataTestId={"dob-field-day"}
|
|
95
97
|
/>
|
|
96
98
|
<Field
|
|
97
99
|
name={getFieldName("birthYear")}
|
|
@@ -115,6 +117,7 @@ const DOBField = (props: DOBFieldProps) => {
|
|
|
115
117
|
}}
|
|
116
118
|
inputProps={{ maxLength: 4 }}
|
|
117
119
|
register={register}
|
|
120
|
+
dataTestId={"dob-field-year"}
|
|
118
121
|
/>
|
|
119
122
|
</div>
|
|
120
123
|
|
package/src/forms/Field.tsx
CHANGED
|
@@ -29,6 +29,7 @@ export interface FieldProps {
|
|
|
29
29
|
describedBy?: string
|
|
30
30
|
getValues?: UseFormMethods["getValues"]
|
|
31
31
|
setValue?: UseFormMethods["setValue"]
|
|
32
|
+
dataTestId?: string
|
|
32
33
|
}
|
|
33
34
|
|
|
34
35
|
const Field = (props: FieldProps) => {
|
|
@@ -94,6 +95,7 @@ const Field = (props: FieldProps) => {
|
|
|
94
95
|
<div className={controlClasses.join(" ")}>
|
|
95
96
|
{props.prepend && <span className="prepend">{props.prepend}</span>}
|
|
96
97
|
<input
|
|
98
|
+
{...props}
|
|
97
99
|
aria-describedby={props.describedBy ? props.describedBy : `${idOrName}`}
|
|
98
100
|
aria-invalid={!!props.error || false}
|
|
99
101
|
className="input"
|
|
@@ -107,6 +109,7 @@ const Field = (props: FieldProps) => {
|
|
|
107
109
|
onPaste={props.onPaste}
|
|
108
110
|
onDrop={props.onDrop}
|
|
109
111
|
onChange={props.onChange}
|
|
112
|
+
data-test-id={props.dataTestId}
|
|
110
113
|
{...inputProps}
|
|
111
114
|
/>
|
|
112
115
|
{isRadioOrCheckbox && label}
|
package/src/forms/FieldGroup.tsx
CHANGED
|
@@ -1,14 +1,22 @@
|
|
|
1
|
-
import React from "react"
|
|
1
|
+
import React, { useState, useEffect } from "react"
|
|
2
|
+
import { ExpandableContent } from "../actions/ExpandableContent"
|
|
2
3
|
import { ErrorMessage } from "../notifications/ErrorMessage"
|
|
3
4
|
import { UseFormMethods } from "react-hook-form"
|
|
5
|
+
import { Field } from "./Field"
|
|
6
|
+
import { t } from "../helpers/translator"
|
|
4
7
|
|
|
5
8
|
interface FieldSingle {
|
|
6
9
|
id: string
|
|
7
10
|
label: string
|
|
8
11
|
value?: string
|
|
9
12
|
defaultChecked?: boolean
|
|
13
|
+
description?: React.ReactNode
|
|
14
|
+
defaultText?: string
|
|
10
15
|
note?: string
|
|
11
16
|
inputProps?: Record<string, unknown>
|
|
17
|
+
subFields?: FieldSingle[]
|
|
18
|
+
type?: string
|
|
19
|
+
additionalText?: boolean
|
|
12
20
|
}
|
|
13
21
|
|
|
14
22
|
interface FieldGroupProps {
|
|
@@ -25,6 +33,7 @@ interface FieldGroupProps {
|
|
|
25
33
|
fieldGroupClassName?: string
|
|
26
34
|
fieldClassName?: string
|
|
27
35
|
fieldLabelClassName?: string
|
|
36
|
+
dataTestId?: string
|
|
28
37
|
}
|
|
29
38
|
|
|
30
39
|
const FieldGroup = ({
|
|
@@ -41,12 +50,94 @@ const FieldGroup = ({
|
|
|
41
50
|
fieldClassName,
|
|
42
51
|
fieldLabelClassName,
|
|
43
52
|
groupSubNote,
|
|
53
|
+
dataTestId,
|
|
44
54
|
}: FieldGroupProps) => {
|
|
45
55
|
// Always align two-option radio groups side by side
|
|
46
56
|
if (fields?.length === 2) {
|
|
47
57
|
fieldGroupClassName = `${fieldGroupClassName} flex`
|
|
48
58
|
fieldClassName = `${fieldClassName} flex-initial mr-4`
|
|
49
59
|
}
|
|
60
|
+
|
|
61
|
+
const [checkedInputs, setCheckedInputs] = useState<string[]>([])
|
|
62
|
+
|
|
63
|
+
const subfieldsExist = () => {
|
|
64
|
+
return fields?.filter((field) => field.subFields).length
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
const getIndividualInput = (item: FieldSingle): React.ReactNode => {
|
|
68
|
+
return (
|
|
69
|
+
<div key={item.value}>
|
|
70
|
+
<input
|
|
71
|
+
aria-describedby={`${name}-error`}
|
|
72
|
+
aria-invalid={!!error || false}
|
|
73
|
+
type={type}
|
|
74
|
+
id={item.id}
|
|
75
|
+
defaultValue={item.value || item.id}
|
|
76
|
+
name={subfieldsExist() ? `${name}-${item.value}` : name}
|
|
77
|
+
onClick={(e) => {
|
|
78
|
+
// We cannot reliably target an individual checkbox in a field group since they have the same name, so we keep track on our own
|
|
79
|
+
if (e.currentTarget.checked) {
|
|
80
|
+
setCheckedInputs([...checkedInputs, item.label])
|
|
81
|
+
} else {
|
|
82
|
+
setCheckedInputs(checkedInputs.filter((subset) => item.label !== subset))
|
|
83
|
+
}
|
|
84
|
+
}}
|
|
85
|
+
defaultChecked={item.defaultChecked || false}
|
|
86
|
+
ref={register(validation)}
|
|
87
|
+
{...item.inputProps}
|
|
88
|
+
data-test-id={dataTestId}
|
|
89
|
+
/>
|
|
90
|
+
<label htmlFor={item.id} className={`font-semibold ${fieldLabelClassName}`}>
|
|
91
|
+
{item.label}
|
|
92
|
+
</label>
|
|
93
|
+
{item.note && <span className={"field-note font-normal"}>{item.note}</span>}
|
|
94
|
+
|
|
95
|
+
{item.description && (
|
|
96
|
+
<div className="ml-8 -mt-1 mb-5">
|
|
97
|
+
<ExpandableContent>
|
|
98
|
+
<p className="field-note mb-2 -mt-2">{item.description}</p>
|
|
99
|
+
</ExpandableContent>
|
|
100
|
+
</div>
|
|
101
|
+
)}
|
|
102
|
+
</div>
|
|
103
|
+
)
|
|
104
|
+
}
|
|
105
|
+
|
|
106
|
+
const checkSelected = (formFields: FieldSingle[] | undefined, checkedValues: string[]) => {
|
|
107
|
+
formFields?.forEach((field) => {
|
|
108
|
+
if (field.defaultChecked) {
|
|
109
|
+
checkedValues.push(field.label)
|
|
110
|
+
}
|
|
111
|
+
if (field.subFields) {
|
|
112
|
+
checkSelected(field.subFields, checkedValues)
|
|
113
|
+
}
|
|
114
|
+
})
|
|
115
|
+
}
|
|
116
|
+
|
|
117
|
+
useEffect(() => {
|
|
118
|
+
const initialValues: string[] = []
|
|
119
|
+
checkSelected(fields, initialValues)
|
|
120
|
+
setCheckedInputs([...initialValues])
|
|
121
|
+
}, [])
|
|
122
|
+
|
|
123
|
+
const getInputSet = (item: FieldSingle): React.ReactNode => {
|
|
124
|
+
return (
|
|
125
|
+
<div key={item.value}>
|
|
126
|
+
{getIndividualInput(item)}
|
|
127
|
+
{item.additionalText && checkedInputs.indexOf(item.label) >= 0 && (
|
|
128
|
+
<Field
|
|
129
|
+
id={item.id}
|
|
130
|
+
key={`${item.value}-additionalText`}
|
|
131
|
+
name={`${name}-${item.value}`}
|
|
132
|
+
register={register}
|
|
133
|
+
defaultValue={item.defaultText}
|
|
134
|
+
placeholder={t("t.description")}
|
|
135
|
+
className={"mb-4"}
|
|
136
|
+
/>
|
|
137
|
+
)}
|
|
138
|
+
</div>
|
|
139
|
+
)
|
|
140
|
+
}
|
|
50
141
|
return (
|
|
51
142
|
<>
|
|
52
143
|
{groupLabel && <label className="field-label--caps">{groupLabel}</label>}
|
|
@@ -55,21 +146,14 @@ const FieldGroup = ({
|
|
|
55
146
|
<div className={`field ${error && "error"} ${fieldGroupClassName || ""} mb-0`}>
|
|
56
147
|
{fields?.map((item) => (
|
|
57
148
|
<div className={`field ${fieldClassName || ""} mb-1`} key={item.id}>
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
ref={register(validation)}
|
|
67
|
-
{...item.inputProps}
|
|
68
|
-
/>
|
|
69
|
-
<label htmlFor={item.id} className={`font-semibold ${fieldLabelClassName}`}>
|
|
70
|
-
{item.label}
|
|
71
|
-
</label>
|
|
72
|
-
{item.note && <span className={"field-note font-normal"}>{item.note}</span>}
|
|
149
|
+
{getInputSet(item)}
|
|
150
|
+
{item.subFields && checkedInputs.indexOf(item.label) >= 0 && (
|
|
151
|
+
<div className={"ml-8"} key={`${item.value}-subfields`}>
|
|
152
|
+
{item.subFields?.map((subItem) => {
|
|
153
|
+
return getInputSet(subItem)
|
|
154
|
+
})}
|
|
155
|
+
</div>
|
|
156
|
+
)}
|
|
73
157
|
</div>
|
|
74
158
|
))}
|
|
75
159
|
</div>
|
|
@@ -20,10 +20,11 @@ const HouseholdMemberForm = (props: HouseholdMemberFormProps) => {
|
|
|
20
20
|
{props.memberFirstName} {props.memberLastName}
|
|
21
21
|
{editMode ? (
|
|
22
22
|
<button
|
|
23
|
-
id=
|
|
23
|
+
id={`edit-member-${props.memberFirstName}-${props.memberLastName}`}
|
|
24
24
|
className="edit-link"
|
|
25
25
|
onClick={() => props.editMember && props.editMember(props.memberId)}
|
|
26
26
|
type={"button"}
|
|
27
|
+
data-test-id={"app-household-member-edit-button"}
|
|
27
28
|
>
|
|
28
29
|
{t("t.edit")}
|
|
29
30
|
</button>
|
package/src/forms/PhoneField.tsx
CHANGED
|
@@ -19,6 +19,7 @@ export const PhoneField = (props: {
|
|
|
19
19
|
disabled?: boolean
|
|
20
20
|
required?: boolean
|
|
21
21
|
mask?: (args: any) => JSX.Element
|
|
22
|
+
dataTestId?: string
|
|
22
23
|
}) => {
|
|
23
24
|
const labelClasses = ["label"]
|
|
24
25
|
if (props.caps) labelClasses.push("field-label--caps")
|
|
@@ -55,7 +56,7 @@ export const PhoneField = (props: {
|
|
|
55
56
|
return (
|
|
56
57
|
<div className={"field " + (props.error ? "error" : "")}>
|
|
57
58
|
{props.label && <label className={labelClasses.join(" ")}>{props.label}</label>}
|
|
58
|
-
<div className={props.controlClassName}>
|
|
59
|
+
<div className={props.controlClassName} data-test-id={props.dataTestId}>
|
|
59
60
|
{props.mask ? (
|
|
60
61
|
<Controller {...controllerProps} render={props.mask} />
|
|
61
62
|
) : (
|