@sheerid/jslib 1.98.0 → 1.101.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 (218) hide show
  1. package/__tests__/__mocks__/mockRequestsAndViewModels.d.ts +2 -1
  2. package/__tests__/__mocks__/mockResponses.d.ts +2 -1
  3. package/__tests__/__mocks__/mockVerificationService.d.ts +1 -0
  4. package/es5/Tmetrix.bundle.js +5 -5
  5. package/es5/Tmetrix.bundle.js.map +1 -1
  6. package/es5/messages_ar.bundle.js +5 -5
  7. package/es5/messages_bg.bundle.js +5 -5
  8. package/es5/messages_cs.bundle.js +5 -5
  9. package/es5/messages_da.bundle.js +5 -5
  10. package/es5/messages_de.bundle.js +5 -5
  11. package/es5/messages_el.bundle.js +5 -5
  12. package/es5/messages_en-GB.bundle.js +5 -5
  13. package/es5/messages_es-ES.bundle.js +5 -5
  14. package/es5/messages_es.bundle.js +5 -5
  15. package/es5/messages_fi.bundle.js +5 -5
  16. package/es5/messages_fr-CA.bundle.js +5 -5
  17. package/es5/messages_fr.bundle.js +5 -5
  18. package/es5/messages_ga.bundle.js +5 -5
  19. package/es5/messages_hr.bundle.js +5 -5
  20. package/es5/messages_hu.bundle.js +5 -5
  21. package/es5/messages_id.bundle.js +5 -5
  22. package/es5/messages_it.bundle.js +5 -5
  23. package/es5/messages_iw.bundle.js +5 -5
  24. package/es5/messages_ja.bundle.js +5 -5
  25. package/es5/messages_ko.bundle.js +5 -5
  26. package/es5/messages_lo.bundle.js +5 -5
  27. package/es5/messages_lt.bundle.js +5 -5
  28. package/es5/messages_ms.bundle.js +5 -5
  29. package/es5/messages_nl.bundle.js +5 -5
  30. package/es5/messages_no.bundle.js +5 -5
  31. package/es5/messages_pl.bundle.js +5 -5
  32. package/es5/messages_pt-BR.bundle.js +5 -5
  33. package/es5/messages_pt.bundle.js +5 -5
  34. package/es5/messages_ru.bundle.js +5 -5
  35. package/es5/messages_sk.bundle.js +5 -5
  36. package/es5/messages_sl.bundle.js +5 -5
  37. package/es5/messages_sr.bundle.js +5 -5
  38. package/es5/messages_sv.bundle.js +5 -5
  39. package/es5/messages_th.bundle.js +5 -5
  40. package/es5/messages_tr.bundle.js +5 -5
  41. package/es5/messages_zh-HK.bundle.js +5 -5
  42. package/es5/messages_zh.bundle.js +5 -5
  43. package/es6/{ar-aa7923c0.es.js → ar-1faa4db1.es.js} +23 -1
  44. package/es6/{cs-0102f276.es.js.map → ar-1faa4db1.es.js.map} +1 -1
  45. package/es6/{bg-7716e1e1.es.js → bg-45d1d14b.es.js} +23 -1
  46. package/es6/{ar-aa7923c0.es.js.map → bg-45d1d14b.es.js.map} +1 -1
  47. package/es6/{cs-0102f276.es.js → cs-e8160a36.es.js} +30 -8
  48. package/es6/{da-7ea93323.es.js.map → cs-e8160a36.es.js.map} +1 -1
  49. package/es6/{da-7ea93323.es.js → da-f9ed1458.es.js} +24 -2
  50. package/es6/{bg-7716e1e1.es.js.map → da-f9ed1458.es.js.map} +1 -1
  51. package/es6/{de-37bf2739.es.js → de-e7a08b06.es.js} +24 -2
  52. package/es6/de-e7a08b06.es.js.map +1 -0
  53. package/es6/{el-04fa4103.es.js → el-04b888ea.es.js} +24 -2
  54. package/es6/el-04b888ea.es.js.map +1 -0
  55. package/es6/{en-GB-8acf43be.es.js → en-GB-2db915cc.es.js} +24 -2
  56. package/es6/{en-GB-8acf43be.es.js.map → en-GB-2db915cc.es.js.map} +1 -1
  57. package/es6/{es-5112b32e.es.js → es-5a900d0c.es.js} +42 -20
  58. package/es6/es-5a900d0c.es.js.map +1 -0
  59. package/es6/{es-ES-c906634a.es.js → es-ES-941e8db9.es.js} +40 -18
  60. package/es6/{es-ES-c906634a.es.js.map → es-ES-941e8db9.es.js.map} +1 -1
  61. package/es6/{fi-2277ea1e.es.js → fi-fde4fec9.es.js} +24 -2
  62. package/es6/fi-fde4fec9.es.js.map +1 -0
  63. package/es6/{fr-b9d3dc58.es.js → fr-80a2a26c.es.js} +23 -1
  64. package/es6/fr-80a2a26c.es.js.map +1 -0
  65. package/es6/{fr-CA-bfca14f3.es.js → fr-CA-3826bfe9.es.js} +57 -35
  66. package/es6/{fr-CA-bfca14f3.es.js.map → fr-CA-3826bfe9.es.js.map} +1 -1
  67. package/es6/{ga-4bf9710e.es.js → ga-7703dbc9.es.js} +23 -1
  68. package/es6/ga-7703dbc9.es.js.map +1 -0
  69. package/es6/{hr-ed9b974f.es.js → hr-a7f4488e.es.js} +23 -1
  70. package/es6/hr-a7f4488e.es.js.map +1 -0
  71. package/es6/{hu-a36c8244.es.js → hu-bb1a7231.es.js} +23 -1
  72. package/es6/hu-bb1a7231.es.js.map +1 -0
  73. package/es6/{id-5896c7f1.es.js → id-edc10c45.es.js} +23 -1
  74. package/es6/id-edc10c45.es.js.map +1 -0
  75. package/es6/{it-7c28e015.es.js → it-6d7b10ed.es.js} +23 -1
  76. package/es6/it-6d7b10ed.es.js.map +1 -0
  77. package/es6/{iw-e61ca28b.es.js → iw-ca617691.es.js} +23 -1
  78. package/es6/iw-ca617691.es.js.map +1 -0
  79. package/es6/{ja-5e5d13be.es.js → ja-b39bfd96.es.js} +23 -1
  80. package/es6/ja-b39bfd96.es.js.map +1 -0
  81. package/es6/{ko-e4c5d44d.es.js → ko-f5f37c0e.es.js} +23 -1
  82. package/es6/ko-f5f37c0e.es.js.map +1 -0
  83. package/es6/{lo-3d03c534.es.js → lo-1375d6dc.es.js} +23 -1
  84. package/es6/lo-1375d6dc.es.js.map +1 -0
  85. package/es6/{lt-99c6971e.es.js → lt-272ca866.es.js} +23 -1
  86. package/es6/lt-272ca866.es.js.map +1 -0
  87. package/es6/{ms-e537ec43.es.js → ms-4eabd6f7.es.js} +23 -1
  88. package/es6/ms-4eabd6f7.es.js.map +1 -0
  89. package/es6/{nl-162d7a39.es.js → nl-cf693076.es.js} +23 -1
  90. package/es6/nl-cf693076.es.js.map +1 -0
  91. package/es6/{no-53861522.es.js → no-7ebde5a4.es.js} +23 -1
  92. package/es6/no-7ebde5a4.es.js.map +1 -0
  93. package/es6/{pl-b2b55c9f.es.js → pl-e70aadbd.es.js} +23 -1
  94. package/es6/pl-e70aadbd.es.js.map +1 -0
  95. package/es6/{pt-61825a2b.es.js → pt-2c7668f4.es.js} +23 -1
  96. package/es6/pt-2c7668f4.es.js.map +1 -0
  97. package/es6/{pt-BR-a9efa2ab.es.js → pt-BR-37b0709b.es.js} +23 -1
  98. package/es6/{pt-BR-a9efa2ab.es.js.map → pt-BR-37b0709b.es.js.map} +1 -1
  99. package/es6/{ru-cba590b5.es.js → ru-4165ace7.es.js} +23 -1
  100. package/es6/ru-4165ace7.es.js.map +1 -0
  101. package/es6/{sk-a190ec18.es.js → sk-139145b7.es.js} +23 -1
  102. package/es6/sk-139145b7.es.js.map +1 -0
  103. package/es6/{sl-fb23d48f.es.js → sl-04fc215b.es.js} +23 -1
  104. package/es6/sl-04fc215b.es.js.map +1 -0
  105. package/es6/{sr-07ed6a42.es.js → sr-0a49e21b.es.js} +23 -1
  106. package/es6/sr-0a49e21b.es.js.map +1 -0
  107. package/es6/{sv-bd7e69b0.es.js → sv-10054373.es.js} +23 -1
  108. package/es6/sv-10054373.es.js.map +1 -0
  109. package/es6/{th-ee9b4c94.es.js → th-37fb110c.es.js} +23 -1
  110. package/es6/th-37fb110c.es.js.map +1 -0
  111. package/es6/{tr-133c4315.es.js → tr-af77cc51.es.js} +23 -1
  112. package/es6/tr-af77cc51.es.js.map +1 -0
  113. package/es6/{zh-HK-bea37a07.es.js → zh-HK-625f012f.es.js} +23 -1
  114. package/es6/zh-HK-625f012f.es.js.map +1 -0
  115. package/es6/{zh-52690171.es.js → zh-ec86f7f8.es.js} +23 -1
  116. package/es6/zh-ec86f7f8.es.js.map +1 -0
  117. package/localized-messages/ar.json +22 -0
  118. package/localized-messages/bg.json +22 -0
  119. package/localized-messages/cs.json +29 -7
  120. package/localized-messages/da.json +23 -1
  121. package/localized-messages/de.json +23 -1
  122. package/localized-messages/el.json +23 -1
  123. package/localized-messages/en-GB.json +23 -1
  124. package/localized-messages/en-US.json +22 -0
  125. package/localized-messages/es-ES.json +39 -17
  126. package/localized-messages/es.json +41 -19
  127. package/localized-messages/fi.json +23 -1
  128. package/localized-messages/fr-CA.json +56 -34
  129. package/localized-messages/fr.json +22 -0
  130. package/localized-messages/ga.json +22 -0
  131. package/localized-messages/hr.json +22 -0
  132. package/localized-messages/hu.json +22 -0
  133. package/localized-messages/id.json +22 -0
  134. package/localized-messages/it.json +22 -0
  135. package/localized-messages/iw.json +22 -0
  136. package/localized-messages/ja.json +22 -0
  137. package/localized-messages/ko.json +22 -0
  138. package/localized-messages/lo.json +22 -0
  139. package/localized-messages/lt.json +22 -0
  140. package/localized-messages/ms.json +22 -0
  141. package/localized-messages/nl.json +22 -0
  142. package/localized-messages/no.json +22 -0
  143. package/localized-messages/pl.json +22 -0
  144. package/localized-messages/pt-BR.json +22 -0
  145. package/localized-messages/pt.json +22 -0
  146. package/localized-messages/ru.json +22 -0
  147. package/localized-messages/sk.json +22 -0
  148. package/localized-messages/sl.json +22 -0
  149. package/localized-messages/sr.json +22 -0
  150. package/localized-messages/sv.json +22 -0
  151. package/localized-messages/th.json +22 -0
  152. package/localized-messages/tr.json +22 -0
  153. package/localized-messages/zh-HK.json +22 -0
  154. package/localized-messages/zh.json +22 -0
  155. package/manifest.json +49 -49
  156. package/package.json +1 -1
  157. package/sheerid-requestOrg.css +5 -5
  158. package/sheerid-requestOrg.css.map +1 -1
  159. package/sheerid-requestOrg.js +15 -15
  160. package/sheerid-requestOrg.js.map +1 -1
  161. package/sheerid-utils.js +9 -9
  162. package/sheerid-utils.js.map +1 -1
  163. package/sheerid.css +5 -5
  164. package/sheerid.css.map +1 -1
  165. package/sheerid.js +18 -18
  166. package/sheerid.js.map +1 -1
  167. package/sheerides6.js +573 -290
  168. package/sheerides6.js.map +1 -1
  169. package/src/components/CopyToClipboard/CopyToClipboardComponent.d.ts +1 -1
  170. package/src/components/FeatureFlags/flags.d.ts +0 -1
  171. package/src/components/FeatureFlags/hooks.d.ts +1 -1
  172. package/src/components/FormFields/LowIncomeOrganization/LowIncomeOrganizationComponent.d.ts +7 -0
  173. package/src/components/FormFields/LowIncomeOrganization/LowIncomeOrganizationComponent.test.d.ts +1 -0
  174. package/src/components/StepLowIncomePersonalInfo/StepLowIncomePersonalInfoComponent.d.ts +11 -0
  175. package/src/components/StepLowIncomePersonalInfo/StepLowIncomePersonalInfoComponent.test.d.ts +1 -0
  176. package/src/es6.d.ts +3 -2
  177. package/src/lib/ServerApi/Network.d.ts +1 -4
  178. package/src/lib/ServerApi/VerificationApiClient.d.ts +1 -1
  179. package/src/lib/VerificationService/ViewModel.d.ts +3 -2
  180. package/src/lib/frames/frameMessages.d.ts +7 -7
  181. package/src/lib/installScript/iframe.d.ts +6 -0
  182. package/src/lib/installScript/index.d.ts +4 -2
  183. package/src/lib/installScript/modal.d.ts +4 -1
  184. package/src/lib/intl/messages/lowIncomeMessages.d.ts +2 -0
  185. package/src/lib/types/empties.d.ts +2 -1
  186. package/src/lib/types/runtimeTypes.d.ts +9 -2
  187. package/src/lib/types/types.d.ts +44 -12
  188. package/src/serverMocks/mocks.d.ts +3 -1
  189. package/types-reference.zip +0 -0
  190. package/es6/de-37bf2739.es.js.map +0 -1
  191. package/es6/el-04fa4103.es.js.map +0 -1
  192. package/es6/es-5112b32e.es.js.map +0 -1
  193. package/es6/fi-2277ea1e.es.js.map +0 -1
  194. package/es6/fr-b9d3dc58.es.js.map +0 -1
  195. package/es6/ga-4bf9710e.es.js.map +0 -1
  196. package/es6/hr-ed9b974f.es.js.map +0 -1
  197. package/es6/hu-a36c8244.es.js.map +0 -1
  198. package/es6/id-5896c7f1.es.js.map +0 -1
  199. package/es6/it-7c28e015.es.js.map +0 -1
  200. package/es6/iw-e61ca28b.es.js.map +0 -1
  201. package/es6/ja-5e5d13be.es.js.map +0 -1
  202. package/es6/ko-e4c5d44d.es.js.map +0 -1
  203. package/es6/lo-3d03c534.es.js.map +0 -1
  204. package/es6/lt-99c6971e.es.js.map +0 -1
  205. package/es6/ms-e537ec43.es.js.map +0 -1
  206. package/es6/nl-162d7a39.es.js.map +0 -1
  207. package/es6/no-53861522.es.js.map +0 -1
  208. package/es6/pl-b2b55c9f.es.js.map +0 -1
  209. package/es6/pt-61825a2b.es.js.map +0 -1
  210. package/es6/ru-cba590b5.es.js.map +0 -1
  211. package/es6/sk-a190ec18.es.js.map +0 -1
  212. package/es6/sl-fb23d48f.es.js.map +0 -1
  213. package/es6/sr-07ed6a42.es.js.map +0 -1
  214. package/es6/sv-bd7e69b0.es.js.map +0 -1
  215. package/es6/th-ee9b4c94.es.js.map +0 -1
  216. package/es6/tr-133c4315.es.js.map +0 -1
  217. package/es6/zh-52690171.es.js.map +0 -1
  218. package/es6/zh-HK-bea37a07.es.js.map +0 -1
package/sheerides6.js CHANGED
@@ -1,5 +1,5 @@
1
1
  import React, { useRef, useCallback, useEffect, useMemo, cloneElement, Component, useLayoutEffect, useReducer, PureComponent, useState, forwardRef, useImperativeHandle, Fragment as Fragment$4, Suspense as Suspense$4 } from 'react';
2
- import { FormattedHTMLMessage, injectIntl, FormattedMessage, IntlProvider } from 'react-intl';
2
+ import { FormattedHTMLMessage, injectIntl, IntlProvider } from 'react-intl';
3
3
  import 'react-intl/locale-data/en.js';
4
4
  import ReactDOMServer from 'react-dom/server';
5
5
 
@@ -517,6 +517,7 @@ var VerificationStepsEnum;
517
517
  VerificationStepsEnum["collectHybridIdentityPersonalInfo"] = "collectHybridIdentityPersonalInfo";
518
518
  VerificationStepsEnum["collectLicensedProfessionalPersonalInfo"] = "collectLicensedProfessionalPersonalInfo";
519
519
  VerificationStepsEnum["collectMoverPersonalInfo"] = "collectMoverPersonalInfo";
520
+ VerificationStepsEnum["collectLowIncomePersonalInfo"] = "collectLowIncomePersonalInfo";
520
521
  VerificationStepsEnum["docUpload"] = "docUpload";
521
522
  VerificationStepsEnum["pending"] = "pending";
522
523
  VerificationStepsEnum["docReviewLimitExceeded"] = "docReviewLimitExceeded";
@@ -575,6 +576,7 @@ var SegmentEnum;
575
576
  SegmentEnum["IDENTITY"] = "identity";
576
577
  SegmentEnum["LICENSED_PROFESSIONAL"] = "licensedProfessional";
577
578
  SegmentEnum["RECENT_MOVER"] = "recentMover";
579
+ SegmentEnum["LOW_INCOME"] = "lowIncome";
578
580
  })(SegmentEnum || (SegmentEnum = {}));
579
581
  const Segments = Object.values(SegmentEnum); // For runtime checks
580
582
  var SubSegmentEnum;
@@ -597,6 +599,7 @@ var SubSegmentEnum;
597
599
  SubSegmentEnum["LICENSED_COSMETOLOGIST"] = "licensedCosmetologist";
598
600
  SubSegmentEnum["LICENSED_REAL_ESTATE_AGENT"] = "licensedRealEstateAgent";
599
601
  SubSegmentEnum["VETERINARIAN"] = "Veterinarian";
602
+ SubSegmentEnum["SNAP_BENEFITS"] = "snapBenefits";
600
603
  })(SubSegmentEnum || (SubSegmentEnum = {}));
601
604
  Object.values(SubSegmentEnum); // For runtime checks
602
605
  var MilitaryStatusDefaultMessagesEnum;
@@ -636,10 +639,15 @@ var RecentMoverStatusDefaultMessagesEnum;
636
639
  RecentMoverStatusDefaultMessagesEnum["HOME_BUYER"] = "Home Buyer";
637
640
  RecentMoverStatusDefaultMessagesEnum["OTHER_MOVER"] = "Other Mover";
638
641
  })(RecentMoverStatusDefaultMessagesEnum || (RecentMoverStatusDefaultMessagesEnum = {}));
642
+ var LowIncomeStatusDefaultMessagesEnum;
643
+ (function (LowIncomeStatusDefaultMessagesEnum) {
644
+ LowIncomeStatusDefaultMessagesEnum["SNAP_BENEFITS"] = "Snap Benefits Recipient";
645
+ })(LowIncomeStatusDefaultMessagesEnum || (LowIncomeStatusDefaultMessagesEnum = {}));
639
646
  Object.values(MilitaryStatusDefaultMessagesEnum); // For runtime checks
640
647
  Object.values(FirstResponderStatusDefaultMessagesEnum); // For runtime checks
641
648
  Object.values(MedicalProfessionalStatusDefaultMessagesEnum); // For runtime checks
642
649
  Object.values(RecentMoverStatusDefaultMessagesEnum); // For runtime checks
650
+ Object.values(LowIncomeStatusDefaultMessagesEnum); // For runtime checks
643
651
  var FieldIdEnum;
644
652
  (function (FieldIdEnum) {
645
653
  FieldIdEnum["firstName"] = "firstName";
@@ -886,7 +894,7 @@ var copyToClipboard = copy;
886
894
  * Wrap a button or link with copy-to-clipboard behavior.
887
895
  *
888
896
  * Example Use:
889
- <CopyToClipboard textToCopy={htmlSource} notificationText={<FormattedMessage id="copied" />}>
897
+ <CopyToClipboard textToCopy={htmlSource} notificationText={<FormattedHTMLMessage id="copied" />}>
890
898
  <LinkButton ... />
891
899
  </CopyToClipboard>
892
900
  */
@@ -1180,6 +1188,7 @@ const defaultOptions = {
1180
1188
  minimumOrganizationSearchLength: DEFAULT_MINIMUM_ORG_SEARCH_VALUE_LENGTH,
1181
1189
  httpRequestTimeout: HTTP_REQUEST_TIMEOUT,
1182
1190
  hideTestModeFlag: false,
1191
+ hideMilitaryFamilyAcceptableUploads: true,
1183
1192
  };
1184
1193
  let options$1 = { ...defaultOptions };
1185
1194
  const getOptions = () => options$1;
@@ -1344,6 +1353,10 @@ const setOptions = (newOptions) => {
1344
1353
  newOptions.hideTestModeFlag || getQueryParam("hideTestModeFlag") === "true";
1345
1354
  logger.info('option "hideTestModeFlag" set to', options$1.hideTestModeFlag);
1346
1355
  }
1356
+ if (newOptions.hasOwnProperty("hideMilitaryFamilyAcceptableUploads")) {
1357
+ options$1.hideMilitaryFamilyAcceptableUploads = newOptions.hideMilitaryFamilyAcceptableUploads;
1358
+ logger.info('option "hideMilitaryFamilyAcceptableUploads" set to', options$1.hideMilitaryFamilyAcceptableUploads);
1359
+ }
1347
1360
  };
1348
1361
 
1349
1362
  class ResponseTimeLogger {
@@ -1372,9 +1385,6 @@ const defaultJsonHeaders = {
1372
1385
  Accept: "application/json",
1373
1386
  "Content-Type": "application/json",
1374
1387
  };
1375
- const defaultFileUploadHeaders = {
1376
- Accept: "application/json",
1377
- };
1378
1388
  const defaultUploadHeaders = {
1379
1389
  "Content-Type": "application/json",
1380
1390
  };
@@ -1440,26 +1450,6 @@ const GetResponse = async (url, headers = defaultJsonHeaders) => fetchWithTimeou
1440
1450
  headers,
1441
1451
  method: "GET",
1442
1452
  });
1443
- const createFormData = (files) => {
1444
- const formData = new FormData();
1445
- files.forEach((file, index) => {
1446
- if (file) {
1447
- formData.append(`file${index}`, file);
1448
- }
1449
- });
1450
- return formData;
1451
- };
1452
- const PostFiles = async (url, files, headers = defaultFileUploadHeaders) => {
1453
- const timeLog = new ResponseTimeLogger(url);
1454
- logger.info(`PostFiles posting to ${url}`, files);
1455
- const formData = createFormData(files);
1456
- const response = await fetch(url, {
1457
- headers,
1458
- method: "POST",
1459
- body: formData,
1460
- });
1461
- return processResponse(response, timeLog);
1462
- };
1463
1453
  const createDocUploadData = (files) => files
1464
1454
  .filter((file) => !!file)
1465
1455
  .map((file) => ({
@@ -1467,10 +1457,12 @@ const createDocUploadData = (files) => files
1467
1457
  mimeType: file.type,
1468
1458
  fileSize: file.size,
1469
1459
  }));
1470
- const PostFilesS3 = async (url, files, headers = defaultUploadHeaders) => {
1460
+ const PostFiles = async (url, files, headers = defaultUploadHeaders) => {
1471
1461
  const timeLog = new ResponseTimeLogger(url);
1472
1462
  logger.info(`PostFiles posting to ${url}`, files);
1473
- const docUploadData = JSON.stringify(createDocUploadData(files));
1463
+ const docUploadData = JSON.stringify({
1464
+ files: createDocUploadData(files),
1465
+ });
1474
1466
  const response = await fetch(url, {
1475
1467
  headers,
1476
1468
  method: "POST",
@@ -1820,6 +1812,7 @@ var enUSMessages = {
1820
1812
  "defaultMessages.PHARMACIST": "Pharmacist",
1821
1813
  "defaultMessages.POLICE": "Police",
1822
1814
  "defaultMessages.RESERVIST": "Reservist or National Guard",
1815
+ "defaultMessages.SNAP_BENEFITS": "Snap Benefits Recipient",
1823
1816
  "defaultMessages.VETERAN": "Military Veteran or Retiree",
1824
1817
  "defaultMessages.VETERINARIAN": "Veterinarian",
1825
1818
  "defaultMessages.address": "Address",
@@ -2332,6 +2325,10 @@ var enUSMessages = {
2332
2325
  "defaultMessages.step.docUpload.acceptableUploads.firstResponder.letter": "An official letter",
2333
2326
  "defaultMessages.step.docUpload.acceptableUploads.firstResponder.payStub": "Pay stub from within last 60 days",
2334
2327
  "defaultMessages.step.docUpload.acceptableUploads.licensedProfessional.license": "Certificate of license",
2328
+ "defaultMessages.step.docUpload.acceptableUploads.lowIncome.programApprovalLetter": "Approval letter of the selected government assistance program issued by a government agency (for example, a Supplemental Security Income (SSI) eligibility letter).",
2329
+ "defaultMessages.step.docUpload.acceptableUploads.lowIncome.programApprovalScreenshot": "A screenshot of the online portal of the selected government assistance program showing you qualify for it (Screenshot of your Medicare application status on your online account).",
2330
+ "defaultMessages.step.docUpload.acceptableUploads.lowIncome.programBankStatement": "A bank statement showing recent payment of the selected benefit.",
2331
+ "defaultMessages.step.docUpload.acceptableUploads.lowIncome.programCard": "Back and front of a card showing you qualify for the selected government assistance program (for example, an EBT card for a SNAP Program).",
2335
2332
  "defaultMessages.step.docUpload.acceptableUploads.medical.idCard": "Nursing ID card with expiration date",
2336
2333
  "defaultMessages.step.docUpload.acceptableUploads.medical.licenseCertificate": "Certificate of license",
2337
2334
  "defaultMessages.step.docUpload.acceptableUploads.medical.photoPayStub": "Photo ID and recent Pay Stub",
@@ -2421,6 +2418,8 @@ var enUSMessages = {
2421
2418
  "defaultMessages.step.docUpload.uploadInfo.identity.validDate": "A currently valid date",
2422
2419
  "defaultMessages.step.docUpload.uploadInfo.licensedProfessional.licenseStatus": "Your professional license and/or certification status",
2423
2420
  "defaultMessages.step.docUpload.uploadInfo.licensedProfessional.validDate": "A currently valid date",
2421
+ "defaultMessages.step.docUpload.uploadInfo.lowIncome.fullName": "Your full name",
2422
+ "defaultMessages.step.docUpload.uploadInfo.lowIncome.validDate": "A valid date of issue (within the last 12 months) or date of expiry (must be valid)",
2424
2423
  "defaultMessages.step.docUpload.uploadInfo.medical.status": "Your medical professional status",
2425
2424
  "defaultMessages.step.docUpload.uploadInfo.medical.validDate": "A currently valid date",
2426
2425
  "defaultMessages.step.docUpload.uploadInfo.military.currentAffiliation": "Your current affiliation with the armed services",
@@ -2489,6 +2488,7 @@ var enUSMessages = {
2489
2488
  "defaultMessages.universityName": "University name",
2490
2489
  "defaultMessages.verificationPurposesOnly": "Used for verification purposes only",
2491
2490
  "defaultMessages.verifyAndContinue": "Verify and continue",
2491
+ "defaultMessages.verifyLowIncomeStatus": "Verify my status",
2492
2492
  "defaultMessages.verifyMyEmploymentStatus": "Verify My Employee Status",
2493
2493
  "defaultMessages.verifyMyFirstResponderStatus": "Verify My First Responder Status",
2494
2494
  "defaultMessages.verifyMyIdentityStatus": "Verify My Identity",
@@ -2607,6 +2607,20 @@ var enUSMessages = {
2607
2607
  "segmentMessages.licensedProfessional.step.success.redirectButtonText": "Use code now",
2608
2608
  "segmentMessages.licensedProfessional.step.success.subtitle": "Here is your personal coupon code. It is unique to you and can only be used once.",
2609
2609
  "segmentMessages.licensedProfessional.step.success.title": "You've been verified",
2610
+ "segmentMessages.lowIncome.emailExplanation": "Needed to send you your unique code",
2611
+ "segmentMessages.lowIncome.step.docUpload.howDoesVerifyingWorkDetails": "Document review is handled by SheerID, a trusted partner who specializes in verifying your eligibility.\n <br><br>\n Documents are used only for verifying your eligibility status is current and will be permanently deleted after review is finalized. They will not be shared with {companyName}",
2612
+ "segmentMessages.lowIncome.step.docUpload.subtitle": "Documents will be reviewed in {estimatedWaitTime} by staff at SheerID, a trusted partner.",
2613
+ "segmentMessages.lowIncome.step.docUpload.title": "We need some more info",
2614
+ "segmentMessages.lowIncome.step.docUpload.uploadInstructions": "Upload an official document that shows:",
2615
+ "segmentMessages.lowIncome.step.personalInfo.howDoesVerifyingWorkDetails": "\n To be eligible for this offer, you must currently qualify for an eligible government assistance program. The eligible Government Assistance Programs for this offer can be found in the box below. \n <br><br>\n {companyName} uses SheerID, a trusted partner, to verify that you are a recipient of these benefits. \n SheerID only collects information that assists in verifying your eligibility. Additional information or documentation may be requested.",
2616
+ "segmentMessages.lowIncome.step.personalInfo.subtitle": "Verify you qualify for an eligible government assistance program.",
2617
+ "segmentMessages.lowIncome.step.personalInfo.title": "Unlock this Special Offer",
2618
+ "segmentMessages.lowIncome.step.personalInfo.tryAgain.subtitle": "Your information must match what is on your government-issued document(s).",
2619
+ "segmentMessages.lowIncome.step.personalInfo.tryAgain.title": "Check Your full name & other fields",
2620
+ "segmentMessages.lowIncome.step.personalInfo.verifyingTitle": "Verifying your status",
2621
+ "segmentMessages.lowIncome.step.success.redirectButtonText": "Use code now",
2622
+ "segmentMessages.lowIncome.step.success.subtitle": "Here is your personal coupon code. It is unique to you and can only be used once.",
2623
+ "segmentMessages.lowIncome.step.success.title": "You've been verified",
2610
2624
  "segmentMessages.medical.emailExplanation": "Use your work email if you have one",
2611
2625
  "segmentMessages.medical.step.docUpload.howDoesVerifyingWorkDetails": "Document review is handled by SheerID, a trusted partner who specializes in verifying\n medical professionals.<br><br>Documents are used only for verifying your medical professional status is\n current and will be permanently deleted after review is finalized. They will not be shared with {companyName}.",
2612
2626
  "segmentMessages.medical.step.docUpload.subtitle": "Documents will be reviewed in {estimatedWaitTime} by staff at SheerID, a trusted partner.",
@@ -2734,154 +2748,154 @@ const getMessagesModuleByLocale = async (locale) => {
2734
2748
  switch (locale) {
2735
2749
  case "ar":
2736
2750
  localizedMessages = await import(
2737
- /* webpackChunkName: "messages_ar" */ './es6/ar-aa7923c0.es.js').then((m) => m.default);
2751
+ /* webpackChunkName: "messages_ar" */ './es6/ar-1faa4db1.es.js').then((m) => m.default);
2738
2752
  break;
2739
2753
  case "bg":
2740
2754
  localizedMessages = await import(
2741
- /* webpackChunkName: "messages_bg" */ './es6/bg-7716e1e1.es.js').then((m) => m.default);
2755
+ /* webpackChunkName: "messages_bg" */ './es6/bg-45d1d14b.es.js').then((m) => m.default);
2742
2756
  break;
2743
2757
  case "cs":
2744
2758
  localizedMessages = await import(
2745
- /* webpackChunkName: "messages_cs" */ './es6/cs-0102f276.es.js').then((m) => m.default);
2759
+ /* webpackChunkName: "messages_cs" */ './es6/cs-e8160a36.es.js').then((m) => m.default);
2746
2760
  break;
2747
2761
  case "da":
2748
2762
  localizedMessages = await import(
2749
- /* webpackChunkName: "messages_da" */ './es6/da-7ea93323.es.js').then((m) => m.default);
2763
+ /* webpackChunkName: "messages_da" */ './es6/da-f9ed1458.es.js').then((m) => m.default);
2750
2764
  break;
2751
2765
  case "de":
2752
2766
  localizedMessages = await import(
2753
- /* webpackChunkName: "messages_de" */ './es6/de-37bf2739.es.js').then((m) => m.default);
2767
+ /* webpackChunkName: "messages_de" */ './es6/de-e7a08b06.es.js').then((m) => m.default);
2754
2768
  break;
2755
2769
  case "el":
2756
2770
  localizedMessages = await import(
2757
- /* webpackChunkName: "messages_el" */ './es6/el-04fa4103.es.js').then((m) => m.default);
2771
+ /* webpackChunkName: "messages_el" */ './es6/el-04b888ea.es.js').then((m) => m.default);
2758
2772
  break;
2759
2773
  case "en-GB":
2760
2774
  localizedMessages = await import(
2761
- /* webpackChunkName: "messages_en-GB" */ './es6/en-GB-8acf43be.es.js').then((m) => m.default);
2775
+ /* webpackChunkName: "messages_en-GB" */ './es6/en-GB-2db915cc.es.js').then((m) => m.default);
2762
2776
  break;
2763
2777
  case "en-US":
2764
2778
  localizedMessages = enUSMessages;
2765
2779
  break;
2766
2780
  case "es-ES":
2767
2781
  localizedMessages = await import(
2768
- /* webpackChunkName: "messages_es-ES" */ './es6/es-ES-c906634a.es.js').then((m) => m.default);
2782
+ /* webpackChunkName: "messages_es-ES" */ './es6/es-ES-941e8db9.es.js').then((m) => m.default);
2769
2783
  break;
2770
2784
  case "es":
2771
2785
  localizedMessages = await import(
2772
- /* webpackChunkName: "messages_es" */ './es6/es-5112b32e.es.js').then((m) => m.default);
2786
+ /* webpackChunkName: "messages_es" */ './es6/es-5a900d0c.es.js').then((m) => m.default);
2773
2787
  break;
2774
2788
  case "fi":
2775
2789
  localizedMessages = await import(
2776
- /* webpackChunkName: "messages_fi" */ './es6/fi-2277ea1e.es.js').then((m) => m.default);
2790
+ /* webpackChunkName: "messages_fi" */ './es6/fi-fde4fec9.es.js').then((m) => m.default);
2777
2791
  break;
2778
2792
  case "fr-CA":
2779
2793
  localizedMessages = await import(
2780
- /* webpackChunkName: "messages_fr-CA" */ './es6/fr-CA-bfca14f3.es.js').then((m) => m.default);
2794
+ /* webpackChunkName: "messages_fr-CA" */ './es6/fr-CA-3826bfe9.es.js').then((m) => m.default);
2781
2795
  break;
2782
2796
  case "fr":
2783
2797
  localizedMessages = await import(
2784
- /* webpackChunkName: "messages_fr" */ './es6/fr-b9d3dc58.es.js').then((m) => m.default);
2798
+ /* webpackChunkName: "messages_fr" */ './es6/fr-80a2a26c.es.js').then((m) => m.default);
2785
2799
  break;
2786
2800
  case "ga":
2787
2801
  localizedMessages = await import(
2788
- /* webpackChunkName: "messages_ga" */ './es6/ga-4bf9710e.es.js').then((m) => m.default);
2802
+ /* webpackChunkName: "messages_ga" */ './es6/ga-7703dbc9.es.js').then((m) => m.default);
2789
2803
  break;
2790
2804
  case "hr":
2791
2805
  localizedMessages = await import(
2792
- /* webpackChunkName: "messages_hr" */ './es6/hr-ed9b974f.es.js').then((m) => m.default);
2806
+ /* webpackChunkName: "messages_hr" */ './es6/hr-a7f4488e.es.js').then((m) => m.default);
2793
2807
  break;
2794
2808
  case "hu":
2795
2809
  localizedMessages = await import(
2796
- /* webpackChunkName: "messages_hu" */ './es6/hu-a36c8244.es.js').then((m) => m.default);
2810
+ /* webpackChunkName: "messages_hu" */ './es6/hu-bb1a7231.es.js').then((m) => m.default);
2797
2811
  break;
2798
2812
  case "id":
2799
2813
  localizedMessages = await import(
2800
- /* webpackChunkName: "messages_id" */ './es6/id-5896c7f1.es.js').then((m) => m.default);
2814
+ /* webpackChunkName: "messages_id" */ './es6/id-edc10c45.es.js').then((m) => m.default);
2801
2815
  break;
2802
2816
  case "it":
2803
2817
  localizedMessages = await import(
2804
- /* webpackChunkName: "messages_it" */ './es6/it-7c28e015.es.js').then((m) => m.default);
2818
+ /* webpackChunkName: "messages_it" */ './es6/it-6d7b10ed.es.js').then((m) => m.default);
2805
2819
  break;
2806
2820
  case "iw":
2807
2821
  localizedMessages = await import(
2808
- /* webpackChunkName: "messages_iw" */ './es6/iw-e61ca28b.es.js').then((m) => m.default);
2822
+ /* webpackChunkName: "messages_iw" */ './es6/iw-ca617691.es.js').then((m) => m.default);
2809
2823
  break;
2810
2824
  case "ja":
2811
2825
  localizedMessages = await import(
2812
- /* webpackChunkName: "messages_ja" */ './es6/ja-5e5d13be.es.js').then((m) => m.default);
2826
+ /* webpackChunkName: "messages_ja" */ './es6/ja-b39bfd96.es.js').then((m) => m.default);
2813
2827
  break;
2814
2828
  case "ko":
2815
2829
  localizedMessages = await import(
2816
- /* webpackChunkName: "messages_ko" */ './es6/ko-e4c5d44d.es.js').then((m) => m.default);
2830
+ /* webpackChunkName: "messages_ko" */ './es6/ko-f5f37c0e.es.js').then((m) => m.default);
2817
2831
  break;
2818
2832
  case "lo":
2819
2833
  localizedMessages = await import(
2820
- /* webpackChunkName: "messages_lo" */ './es6/lo-3d03c534.es.js').then((m) => m.default);
2834
+ /* webpackChunkName: "messages_lo" */ './es6/lo-1375d6dc.es.js').then((m) => m.default);
2821
2835
  break;
2822
2836
  case "lt":
2823
2837
  localizedMessages = await import(
2824
- /* webpackChunkName: "messages_lt" */ './es6/lt-99c6971e.es.js').then((m) => m.default);
2838
+ /* webpackChunkName: "messages_lt" */ './es6/lt-272ca866.es.js').then((m) => m.default);
2825
2839
  break;
2826
2840
  case "ms":
2827
2841
  localizedMessages = await import(
2828
- /* webpackChunkName: "messages_ms" */ './es6/ms-e537ec43.es.js').then((m) => m.default);
2842
+ /* webpackChunkName: "messages_ms" */ './es6/ms-4eabd6f7.es.js').then((m) => m.default);
2829
2843
  break;
2830
2844
  case "nl":
2831
2845
  localizedMessages = await import(
2832
- /* webpackChunkName: "messages_nl" */ './es6/nl-162d7a39.es.js').then((m) => m.default);
2846
+ /* webpackChunkName: "messages_nl" */ './es6/nl-cf693076.es.js').then((m) => m.default);
2833
2847
  break;
2834
2848
  case "no":
2835
2849
  localizedMessages = await import(
2836
- /* webpackChunkName: "messages_no" */ './es6/no-53861522.es.js').then((m) => m.default);
2850
+ /* webpackChunkName: "messages_no" */ './es6/no-7ebde5a4.es.js').then((m) => m.default);
2837
2851
  break;
2838
2852
  case "pl":
2839
2853
  localizedMessages = await import(
2840
- /* webpackChunkName: "messages_pl" */ './es6/pl-b2b55c9f.es.js').then((m) => m.default);
2854
+ /* webpackChunkName: "messages_pl" */ './es6/pl-e70aadbd.es.js').then((m) => m.default);
2841
2855
  break;
2842
2856
  case "pt-BR":
2843
2857
  localizedMessages = await import(
2844
- /* webpackChunkName: "messages_pt-BR" */ './es6/pt-BR-a9efa2ab.es.js').then((m) => m.default);
2858
+ /* webpackChunkName: "messages_pt-BR" */ './es6/pt-BR-37b0709b.es.js').then((m) => m.default);
2845
2859
  break;
2846
2860
  case "pt":
2847
2861
  localizedMessages = await import(
2848
- /* webpackChunkName: "messages_pt" */ './es6/pt-61825a2b.es.js').then((m) => m.default);
2862
+ /* webpackChunkName: "messages_pt" */ './es6/pt-2c7668f4.es.js').then((m) => m.default);
2849
2863
  break;
2850
2864
  case "ru":
2851
2865
  localizedMessages = await import(
2852
- /* webpackChunkName: "messages_ru" */ './es6/ru-cba590b5.es.js').then((m) => m.default);
2866
+ /* webpackChunkName: "messages_ru" */ './es6/ru-4165ace7.es.js').then((m) => m.default);
2853
2867
  break;
2854
2868
  case "sk":
2855
2869
  localizedMessages = await import(
2856
- /* webpackChunkName: "messages_sk" */ './es6/sk-a190ec18.es.js').then((m) => m.default);
2870
+ /* webpackChunkName: "messages_sk" */ './es6/sk-139145b7.es.js').then((m) => m.default);
2857
2871
  break;
2858
2872
  case "sl":
2859
2873
  localizedMessages = await import(
2860
- /* webpackChunkName: "messages_sl" */ './es6/sl-fb23d48f.es.js').then((m) => m.default);
2874
+ /* webpackChunkName: "messages_sl" */ './es6/sl-04fc215b.es.js').then((m) => m.default);
2861
2875
  break;
2862
2876
  case "sr":
2863
2877
  localizedMessages = await import(
2864
- /* webpackChunkName: "messages_sr" */ './es6/sr-07ed6a42.es.js').then((m) => m.default);
2878
+ /* webpackChunkName: "messages_sr" */ './es6/sr-0a49e21b.es.js').then((m) => m.default);
2865
2879
  break;
2866
2880
  case "sv":
2867
2881
  localizedMessages = await import(
2868
- /* webpackChunkName: "messages_sv" */ './es6/sv-bd7e69b0.es.js').then((m) => m.default);
2882
+ /* webpackChunkName: "messages_sv" */ './es6/sv-10054373.es.js').then((m) => m.default);
2869
2883
  break;
2870
2884
  case "th":
2871
2885
  localizedMessages = await import(
2872
- /* webpackChunkName: "messages_th" */ './es6/th-ee9b4c94.es.js').then((m) => m.default);
2886
+ /* webpackChunkName: "messages_th" */ './es6/th-37fb110c.es.js').then((m) => m.default);
2873
2887
  break;
2874
2888
  case "tr":
2875
2889
  localizedMessages = await import(
2876
- /* webpackChunkName: "messages_tr" */ './es6/tr-133c4315.es.js').then((m) => m.default);
2890
+ /* webpackChunkName: "messages_tr" */ './es6/tr-af77cc51.es.js').then((m) => m.default);
2877
2891
  break;
2878
2892
  case "zh-HK":
2879
2893
  localizedMessages = await import(
2880
- /* webpackChunkName: "messages_zh-HK" */ './es6/zh-HK-bea37a07.es.js').then((m) => m.default);
2894
+ /* webpackChunkName: "messages_zh-HK" */ './es6/zh-HK-625f012f.es.js').then((m) => m.default);
2881
2895
  break;
2882
2896
  case "zh":
2883
2897
  localizedMessages = await import(
2884
- /* webpackChunkName: "messages_zh" */ './es6/zh-52690171.es.js').then((m) => m.default);
2898
+ /* webpackChunkName: "messages_zh" */ './es6/zh-ec86f7f8.es.js').then((m) => m.default);
2885
2899
  break;
2886
2900
  default:
2887
2901
  logger.warn(`getMessagesModuleByLocale: Unable to load messages for ${locale}, falling back to en-US`);
@@ -3160,7 +3174,7 @@ const getPrivacyPolicyCompanyName = (programTheme, intl) => {
3160
3174
  if (privacyPolicyHostName === DEFAULT_PRIVACY_POLICY_HOST) {
3161
3175
  return SHEERID;
3162
3176
  }
3163
- return intl.formatMessage({
3177
+ return intl.formatHTMLMessage({
3164
3178
  id: "companyName",
3165
3179
  defaultMessage: "{companyName}",
3166
3180
  });
@@ -3541,6 +3555,22 @@ const moverPInfoReqEmpty = {
3541
3555
  refererUrl: window.location.href,
3542
3556
  },
3543
3557
  };
3558
+ const lowIncomePInfoReqEmpty = {
3559
+ ...coreFieldsEmpty,
3560
+ ...withFieldsToSkipValidationEmpty,
3561
+ ...withLocaleAndCountryEmpty,
3562
+ birthDate: "",
3563
+ postalCode: "",
3564
+ organization: {
3565
+ id: 0,
3566
+ name: "",
3567
+ },
3568
+ statuses: [],
3569
+ metadata: {
3570
+ marketConsentValue: false,
3571
+ refererUrl: window.location.href,
3572
+ },
3573
+ };
3544
3574
  // TODO use Object.freeze here
3545
3575
  const docUploadEmpty = {
3546
3576
  ...withLocaleAndCountryEmpty,
@@ -3610,6 +3640,7 @@ const getAllEmptyViewModels = () => ({
3610
3640
  collectGeneralIdentityPersonalInfo: deepClone(generalIdentityPInfoReqEmpty),
3611
3641
  collectHybridIdentityPersonalInfo: deepClone(hybridIdentityPInfoReqEmpty),
3612
3642
  collectLicensedProfessionalPersonalInfo: deepClone(licensedProfessionalPInfoReqEmpty),
3643
+ collectLowIncomePersonalInfo: deepClone(lowIncomePInfoReqEmpty),
3613
3644
  collectMoverPersonalInfo: deepClone(moverPInfoReqEmpty),
3614
3645
  docUpload: deepClone(docUploadEmpty),
3615
3646
  cancelEmailLoop: deepClone(emailLoopEmpty),
@@ -4758,7 +4789,7 @@ const getStatusLabel = (intl, status, defaultMessages) => {
4758
4789
  if (!status) {
4759
4790
  return "";
4760
4791
  }
4761
- return intl.formatMessage({ id: status, defaultMessage: defaultMessages[status] });
4792
+ return intl.formatHTMLMessage({ id: status, defaultMessage: defaultMessages[status] });
4762
4793
  };
4763
4794
  const getAvailableMilitaryStatuses = (verificationService, intl) => {
4764
4795
  const availableStatusesResponse = verificationService.verificationResponse.availableStatuses ||
@@ -4849,12 +4880,12 @@ const submitForm = (viewModel, verificationService, step) => {
4849
4880
  * @return {Object}
4850
4881
  */
4851
4882
  const getEstAndMaxReviewTimes = (verificationResponse, programTheme, intl) => {
4852
- const estReviewTime = intl.formatMessage({
4883
+ const estReviewTime = intl.formatHTMLMessage({
4853
4884
  id: `dateTime.${getSafe(() => verificationResponse.estimatedReviewTime) ||
4854
4885
  getEstimatedReviewTime(programTheme)}`,
4855
4886
  default: "a few minutes",
4856
4887
  });
4857
- const maxReviewTime = intl.formatMessage({
4888
+ const maxReviewTime = intl.formatHTMLMessage({
4858
4889
  id: `dateTime.${getSafe(() => verificationResponse.maxReviewTime) || getMaxReviewTime(programTheme)}`,
4859
4890
  default: "2 hours",
4860
4891
  });
@@ -4870,7 +4901,7 @@ const getAvailableCountryChoices = (programTheme, intl) => {
4870
4901
  const availableCountries = getConfiguredCountries(programTheme);
4871
4902
  return availableCountries.map((countryCode) => ({
4872
4903
  value: countryCode,
4873
- label: intl.formatMessage({
4904
+ label: intl.formatHTMLMessage({
4874
4905
  id: `countries.${countryCode}`,
4875
4906
  defaultMessage: countryCode,
4876
4907
  }),
@@ -4880,7 +4911,7 @@ const getAvailableStateChoices = (programTheme, intl) => {
4880
4911
  const availableStates = getConfiguredStates(programTheme);
4881
4912
  return availableStates.map((stateCode) => ({
4882
4913
  value: stateCode,
4883
- label: intl.formatMessage({
4914
+ label: intl.formatHTMLMessage({
4884
4915
  id: `states.${stateCode}`,
4885
4916
  defaultMessage: stateCode,
4886
4917
  }),
@@ -4904,7 +4935,7 @@ const getAvailableLocaleChoices = (programTheme, intl) => {
4904
4935
  const availableLocales = getAvailableLocales(programTheme);
4905
4936
  return availableLocales.map((locale) => ({
4906
4937
  value: locale,
4907
- label: intl.formatMessage({
4938
+ label: intl.formatHTMLMessage({
4908
4939
  id: `locales.${locale}`,
4909
4940
  defaultMessage: locale,
4910
4941
  }),
@@ -4961,7 +4992,7 @@ const FirstName = ({ value, isErrored, onChange, intl, placeholder = "", }) => (
4961
4992
  React.createElement("div", { className: "sid-l-space-top-md" }),
4962
4993
  React.createElement(FieldLabel, { text: React.createElement(FormattedHTMLMessage, { id: "firstName", defaultMessage: "First name" }), htmlForLabel: "sid-first-name", id: "sid-first-name-label", displayClasses: placeholder && "sid-h-screen-reader-only" }),
4963
4994
  React.createElement(InputTextComponent, { id: "first-name", isErrored: isErrored, onChange: (e) => onChange(e.target.value), placeholder: placeholder ||
4964
- intl.formatMessage({ id: "firstNamePlaceholder", defaultMessage: "First Name" }), refId: "firstName", value: value, required: true, "aria-labelledby": "sid-first-name-label" }),
4995
+ intl.formatHTMLMessage({ id: "firstNamePlaceholder", defaultMessage: "First Name" }), refId: "firstName", value: value, required: true, "aria-labelledby": "sid-first-name-label" }),
4965
4996
  isErrored ? (React.createElement("div", { className: "sid-field-error" },
4966
4997
  React.createElement(FormattedHTMLMessage, { id: "errorId.invalidFirstName", defaultMessage: "Invalid first name" }))) : null));
4967
4998
  const FirstNameComponent = injectIntl(FirstName);
@@ -4970,7 +5001,7 @@ const LastName = ({ value, isErrored, onChange, intl, placeholder = "", }) => (R
4970
5001
  React.createElement("div", { className: "sid-l-space-top-md" }),
4971
5002
  React.createElement(FieldLabel, { text: React.createElement(FormattedHTMLMessage, { id: "lastName", defaultMessage: "Last name" }), htmlForLabel: "sid-last-name", id: "sid-last-name-label", displayClasses: placeholder && "sid-h-screen-reader-only" }),
4972
5003
  React.createElement(InputTextComponent, { id: "last-name", isErrored: isErrored, onChange: (event) => onChange(event.target.value), placeholder: placeholder ||
4973
- intl.formatMessage({ id: "lastNamePlaceholder", defaultMessage: "Last Name" }), refId: "lastName", value: value, required: true, "aria-labelledby": "sid-last-name-label" }),
5004
+ intl.formatHTMLMessage({ id: "lastNamePlaceholder", defaultMessage: "Last Name" }), refId: "lastName", value: value, required: true, "aria-labelledby": "sid-last-name-label" }),
4974
5005
  isErrored ? (React.createElement("div", { className: "sid-field-error" },
4975
5006
  React.createElement(FormattedHTMLMessage, { id: "errorId.invalidLastName", defaultMessage: "Invalid last name" }))) : null));
4976
5007
  const LastNameComponent = injectIntl(LastName);
@@ -4979,7 +5010,7 @@ const Email = ({ value, isErrored, onChange, explanation, intl, onKeyDown = unde
4979
5010
  React.createElement("div", { className: "sid-l-space-top-md" }),
4980
5011
  React.createElement(FieldLabel, { text: React.createElement(FormattedHTMLMessage, { id: "emailAddress", defaultMessage: "Email address" }), htmlForLabel: "sid-email", id: "sid-email-label", displayClasses: `sid-field__label-with-explanation${placeholder && " sid-h-screen-reader-only"}` }, explanation || (React.createElement(FormattedHTMLMessage, { id: "emailExplanation", defaultMessage: "Needed to send you your unique code" }))),
4981
5012
  React.createElement(InputTextComponent, { id: "email", isErrored: isErrored, onChange: (event) => onChange(event.target.value), onKeyDown: typeof onKeyDown === "function" ? (e) => onKeyDown(e) : undefined, placeholder: placeholder ||
4982
- intl.formatMessage({ id: "emailAddressPlaceholder", defaultMessage: "Email" }), type: "email", value: value, required: true, "aria-labelledby": "sid-email-label" }),
5013
+ intl.formatHTMLMessage({ id: "emailAddressPlaceholder", defaultMessage: "Email" }), type: "email", value: value, required: true, "aria-labelledby": "sid-email-label" }),
4983
5014
  isErrored ? (React.createElement("div", { className: "sid-field-error" },
4984
5015
  React.createElement(FormattedHTMLMessage, { id: "errorId.invalidEmail", defaultMessage: "Invalid email" }))) : null));
4985
5016
  const EmailComponent = injectIntl(Email);
@@ -9640,10 +9671,11 @@ const Country = ({ value, isErrored, options, onChange, onKeyDown, intl, placeho
9640
9671
  return (React.createElement("div", { className: `sid-field ${inputId}` },
9641
9672
  React.createElement("div", { className: "sid-l-space-top-md" }),
9642
9673
  React.createElement(FieldLabel, { text: React.createElement(FormattedHTMLMessage, { id: "country", defaultMessage: "Country" }), htmlForLabel: inputId, id: `${inputId}-label`, isRequired: isRequired }),
9643
- React.createElement(InputSelectComponent, { fieldId: "country", inputId: inputId, fieldLabelId: `${inputId}-label`, isErrored: isErrored, options: options, onChange: (country) => onChange(country), onKeyDown: onKeyDown, placeholder: placeholder || intl.formatMessage({ id: "countryPlaceholder", defaultMessage: "Country" }), value: value
9674
+ React.createElement(InputSelectComponent, { fieldId: "country", inputId: inputId, fieldLabelId: `${inputId}-label`, isErrored: isErrored, options: options, onChange: (country) => onChange(country), onKeyDown: onKeyDown, placeholder: placeholder ||
9675
+ intl.formatHTMLMessage({ id: "countryPlaceholder", defaultMessage: "Country" }), value: value
9644
9676
  ? {
9645
9677
  value: value.value,
9646
- label: intl.formatMessage({
9678
+ label: intl.formatHTMLMessage({
9647
9679
  id: `countries.${value.value}`,
9648
9680
  defaultMessage: value.label || value.value,
9649
9681
  }),
@@ -9696,14 +9728,17 @@ const SelectComponent = Select;
9696
9728
  const ChangeLocale = ({ value, options, onChange, intl, }) => {
9697
9729
  const newOptions = options.map((option) => ({
9698
9730
  value: option.value,
9699
- label: intl.formatMessage({ id: `locales.${option.value}`, defaultMessage: "Label not found" }),
9731
+ label: intl.formatHTMLMessage({
9732
+ id: `locales.${option.value}`,
9733
+ defaultMessage: "Label not found",
9734
+ }),
9700
9735
  }));
9701
9736
  return (React.createElement("div", { className: "sid-change-locale" },
9702
9737
  React.createElement("div", { className: "sid-field__label sid-change-locale__label " },
9703
9738
  React.createElement(FormattedHTMLMessage, { id: "changeLanguage", defaultMessage: "Change language" })),
9704
9739
  React.createElement(SelectComponent, { className: "sid-change-locale__select", hideDropDownButton: true, options: newOptions, onChange: (locale) => onChange(locale), overrideInputClassName: "sid-change-locale__input", value: {
9705
9740
  value: value.value,
9706
- label: intl.formatMessage({
9741
+ label: intl.formatHTMLMessage({
9707
9742
  id: `locales.${value.value}`,
9708
9743
  defaultMessage: "Label not found",
9709
9744
  }),
@@ -10413,6 +10448,39 @@ const moverMessages = {
10413
10448
  },
10414
10449
  };
10415
10450
 
10451
+ const lowIncomeMessages = {
10452
+ emailExplanation: "Needed to send you your unique code",
10453
+ step: {
10454
+ personalInfo: {
10455
+ title: "Unlock this Special Offer",
10456
+ subtitle: "Verify you qualify for an eligible government assistance program.",
10457
+ howDoesVerifyingWorkDetails: `
10458
+ To be eligible for this offer, you must currently qualify for an eligible government assistance program. The eligible Government Assistance Programs for this offer can be found in the box below.
10459
+ <br><br>
10460
+ {companyName} uses SheerID, a trusted partner, to verify that you are a recipient of these benefits.
10461
+ SheerID only collects information that assists in verifying your eligibility. Additional information or documentation may be requested.`,
10462
+ tryAgain: {
10463
+ title: "Check Your full name & other fields",
10464
+ subtitle: "Your information must match what is on your government-issued document(s).",
10465
+ },
10466
+ verifyingTitle: "Verifying your status",
10467
+ },
10468
+ docUpload: {
10469
+ title: "We need some more info",
10470
+ subtitle: "Documents will be reviewed in {estimatedWaitTime} by staff at SheerID, a trusted partner.",
10471
+ howDoesVerifyingWorkDetails: `Document review is handled by SheerID, a trusted partner who specializes in verifying your eligibility.
10472
+ <br><br>
10473
+ Documents are used only for verifying your eligibility status is current and will be permanently deleted after review is finalized. They will not be shared with {companyName}`,
10474
+ uploadInstructions: "Upload an official document that shows:",
10475
+ },
10476
+ success: {
10477
+ title: "You've been verified",
10478
+ subtitle: "Here is your personal coupon code. It is unique to you and can only be used once.",
10479
+ redirectButtonText: "Use code now",
10480
+ },
10481
+ },
10482
+ };
10483
+
10416
10484
  // ===================== Student Personal Info ====================
10417
10485
  const mockStudentPersonalInfoResponse = {
10418
10486
  verificationId: "5a3bffd5e4b05f0b878a9762",
@@ -10574,6 +10642,16 @@ const mockMoverPersonalInfoResponse = {
10574
10642
  instantMatchAttempts: 0,
10575
10643
  locale: "en-US",
10576
10644
  };
10645
+ // ===================== Low Income Personal Info =========================
10646
+ const mockLowIncomePersonalInfoResponse = {
10647
+ verificationId: "5a3bffd5e4b05f0b878a9761",
10648
+ currentStep: "collectLowIncomePersonalInfo",
10649
+ segment: "lowIncome",
10650
+ submissionUrl: "",
10651
+ subSegment: "snapBenefits",
10652
+ instantMatchAttempts: 0,
10653
+ locale: "en-US",
10654
+ };
10577
10655
  // ===================== Social Security Number step ====================
10578
10656
  const mockSocialSecurityResponse = {
10579
10657
  verificationId: "5a3bffd5e4b05f0b878a9762",
@@ -10695,6 +10773,7 @@ const allMockedResponses = {
10695
10773
  collectHybridIdentityPersonalInfo: mockHybridIdentityPersonalInfoResponse,
10696
10774
  collectLicensedProfessionalPersonalInfo: mockLicensedProfessionalPersonalInfoResponse,
10697
10775
  collectMoverPersonalInfo: mockMoverPersonalInfoResponse,
10776
+ collectLowIncomePersonalInfo: mockLowIncomePersonalInfoResponse,
10698
10777
  sso: mockSSOResponse,
10699
10778
  smsLoop: mockSMSLoopResponse,
10700
10779
  emailLoop: mockEmailLoopResponse,
@@ -10906,9 +10985,9 @@ const getOverriddenMock = async (overriddenStep, serverResponse) => {
10906
10985
  // eslint-disable-next-line react/prop-types
10907
10986
  const LoadingScreenMessage = ({ step }) => (React.createElement("div", { className: "sid-loading-screen__message" },
10908
10987
  CollectInfoSteps.includes(step) && (React.createElement("div", { className: "sid-loading-screen__message-header" },
10909
- React.createElement(FormattedMessage, { id: "step.personalInfo.verifyingTitle", defaultMessage: "Verifying your status" }))),
10988
+ React.createElement(FormattedHTMLMessage, { id: "step.personalInfo.verifyingTitle", defaultMessage: "Verifying your status" }))),
10910
10989
  React.createElement("div", { className: "sid-loading-screen__message-subhead" },
10911
- React.createElement(FormattedMessage, { id: "step.personalInfo.verifyingSubtitle", defaultMessage: "This should only take a minute" }))));
10990
+ React.createElement(FormattedHTMLMessage, { id: "step.personalInfo.verifyingSubtitle", defaultMessage: "This should only take a minute" }))));
10912
10991
 
10913
10992
  // By default, try and getMockedLoadingStep to allow text to be shown when mocking the loading step
10914
10993
  // eslint-disable-next-line react/prop-types
@@ -11170,11 +11249,16 @@ const convertByTrackingId = async (accountId, trackingId, conversionRequest) =>
11170
11249
 
11171
11250
  // Create IE + others compatible event handler
11172
11251
  const eventMethod = window.addEventListener ? "addEventListener" : "attachEvent";
11173
- const eventer = window[eventMethod];
11174
11252
  const messageEvent = eventMethod === "attachEvent" ? "onmessage" : "message";
11175
- /**
11176
- * @private
11177
- */
11253
+ /* =========== From an install page =========== */
11254
+ const listenToSheerIdFrame = (callback) => {
11255
+ assertValidFunction(callback);
11256
+ const receiveMessage = (event) => {
11257
+ callback(event);
11258
+ };
11259
+ window[eventMethod](messageEvent, receiveMessage, false);
11260
+ };
11261
+ /* =========== From within a MySheerID iFrame =========== */
11178
11262
  const speakToOuterFrame = (message) => {
11179
11263
  if (window.parent &&
11180
11264
  window.parent.postMessage &&
@@ -11182,15 +11266,12 @@ const speakToOuterFrame = (message) => {
11182
11266
  window.parent.postMessage(message, "*");
11183
11267
  }
11184
11268
  };
11185
- /**
11186
- * @private
11187
- */
11188
- const listenToSheerIdFrame = (callback) => {
11269
+ const listenToInstallPage = (callback) => {
11189
11270
  assertValidFunction(callback);
11190
11271
  const receiveMessage = (event) => {
11191
11272
  callback(event);
11192
11273
  };
11193
- eventer(messageEvent, receiveMessage, false);
11274
+ window[eventMethod](messageEvent, receiveMessage, false);
11194
11275
  };
11195
11276
 
11196
11277
  const VERIFICATION_ID_COOKIE_NAME = "sid-verificationId";
@@ -11347,14 +11428,7 @@ async function fetchProgramTheme(programId, locale) {
11347
11428
  if (locale)
11348
11429
  assertValidLocale(locale);
11349
11430
  const cleanLocale = locale || getLocaleSafely();
11350
- let url;
11351
- if (cleanLocale !== DEFAULT_LOCALE) {
11352
- url = getProgramThemeUrl(programId, cleanLocale);
11353
- }
11354
- else {
11355
- url = getProgramThemeUrl(programId);
11356
- }
11357
- return (await GetJson(url));
11431
+ return (await GetJson(getProgramThemeUrl(programId, cleanLocale)));
11358
11432
  }
11359
11433
  catch (e) {
11360
11434
  logger.error(e, "fetchProgramTheme");
@@ -11609,6 +11683,19 @@ const moverViewModelToRequest = (viewModel) => ({
11609
11683
  locale: viewModel.localeChoice.value,
11610
11684
  metadata: viewModel.metadata,
11611
11685
  });
11686
+ const lowIncomeViewModelToRequest = (viewModel) => ({
11687
+ firstName: viewModel.firstName,
11688
+ lastName: viewModel.lastName,
11689
+ email: viewModel.email,
11690
+ phoneNumber: viewModel.phoneNumber,
11691
+ birthDate: viewModel.birthDate,
11692
+ postalCode: viewModel.postalCode,
11693
+ statuses: viewModel.statuses,
11694
+ organization: viewModel.organization,
11695
+ deviceFingerprintHash: viewModel.deviceFingerprintHash,
11696
+ locale: viewModel.localeChoice.value,
11697
+ metadata: viewModel.metadata,
11698
+ });
11612
11699
  const smsLoopViewModelToRequest = (viewModel) => ({
11613
11700
  smsCode: viewModel.smsCode,
11614
11701
  deviceFingerprintHash: viewModel.deviceFingerprintHash,
@@ -11644,33 +11731,25 @@ const stepToRequest = {
11644
11731
  collectHybridIdentityPersonalInfo: hybridIdentityViewModelToRequest,
11645
11732
  collectLicensedProfessionalPersonalInfo: licensedProfessionalViewModelToRequest,
11646
11733
  collectMoverPersonalInfo: moverViewModelToRequest,
11734
+ collectLowIncomePersonalInfo: lowIncomeViewModelToRequest,
11647
11735
  smsLoop: smsLoopViewModelToRequest,
11648
11736
  emailLoop: emailLoopViewModelToRequest,
11649
11737
  cancelSocialSecurityNumber: null,
11650
11738
  sso: null,
11651
11739
  docUpload: null,
11652
11740
  };
11653
- async function submitFromVerificationStep(step, previousResponse, viewModel, flag) {
11741
+ async function submitFromVerificationStep(step, previousResponse, viewModel) {
11654
11742
  let response;
11655
11743
  const { docUpload, cancelSocialSecurityNumber, sso, cancelEmailLoop } = VerificationStepsEnum;
11656
11744
  try {
11657
11745
  if (step === docUpload) {
11658
11746
  const requestBody = viewModel;
11659
11747
  const { file1, file2, file3 } = requestBody;
11660
- if (flag) {
11661
- response = await PostFilesS3(previousResponse.submissionUrl, [
11662
- file1,
11663
- file2,
11664
- file3,
11665
- ]);
11666
- }
11667
- else {
11668
- response = await PostFiles(previousResponse.submissionUrl, [
11669
- file1,
11670
- file2,
11671
- file3,
11672
- ]);
11673
- }
11748
+ response = await PostFiles(previousResponse.submissionUrl, [
11749
+ file1,
11750
+ file2,
11751
+ file3,
11752
+ ]);
11674
11753
  return response;
11675
11754
  }
11676
11755
  if (step === cancelSocialSecurityNumber || step === sso) {
@@ -11704,10 +11783,10 @@ function getUnrecoverableErrorStep() {
11704
11783
  };
11705
11784
  return response;
11706
11785
  }
11707
- async function submitStep(stepName, previousResponse, viewModel, flag) {
11786
+ async function submitStep(stepName, previousResponse, viewModel) {
11708
11787
  assertValidVerificationStepName(stepName);
11709
11788
  if (VerificationStepsEnum[stepName]) {
11710
- return submitFromVerificationStep(stepName, previousResponse, viewModel, flag);
11789
+ return submitFromVerificationStep(stepName, previousResponse, viewModel);
11711
11790
  }
11712
11791
  return Promise.reject(new Error(`Unknown step ${stepName}`));
11713
11792
  }
@@ -13806,8 +13885,8 @@ const createFetchVerificationRequest = async ({ dispatch, verificationResponsePr
13806
13885
  * @description Action creator to update the view model in redux.
13807
13886
  * @param dispatch
13808
13887
  */
13809
- const createUpdateViewModel = (dispatch) => async (viewModel) => await Promise.all([
13810
- dispatch({ viewModel, type: "VIEW_MODEL" }),
13888
+ const createUpdateViewModel = (dispatch) => async (viewModel, partial = false) => Promise.all([
13889
+ dispatch({ viewModel, type: "VIEW_MODEL", partial }),
13811
13890
  dispatch({ type: "FORM_VALIDATION_OPTIONS" }),
13812
13891
  ]);
13813
13892
  const createUpdateLocale = (dispatch, programId) => async (viewModel, programTheme, segment) => {
@@ -13838,13 +13917,13 @@ const createUpdateFieldValidationErrors = (dispatch) => async (fieldValidationEr
13838
13917
  * @description Action creator to submit a step to the backend REST API
13839
13918
  * @param dispatch
13840
13919
  */
13841
- const createSubmitStep = (dispatch) => async (stepName, viewModel, previousResponse, flag) => {
13920
+ const createSubmitStep = (dispatch) => async (stepName, viewModel, previousResponse) => {
13842
13921
  logger.log(`submitStep(): submitting stepName ${stepName}, viewModel:`, viewModel);
13843
13922
  scrollToWindowTop();
13844
13923
  await dispatch({ type: "IS_LOADING", isLoading: true, loadingStep: stepName });
13845
13924
  logger.info(`submitting step ${stepName}`, viewModel);
13846
13925
  setGaDimensionIsTest(viewModel);
13847
- const verificationResponse = await VerificationApiClient.submitStep(stepName, previousResponse, viewModel, flag);
13926
+ const verificationResponse = await VerificationApiClient.submitStep(stepName, previousResponse, viewModel);
13848
13927
  const newViewModel = handleSubmitResponse(verificationResponse, viewModel);
13849
13928
  const promiseVerificationResponse = dispatch({
13850
13929
  verificationResponse,
@@ -14411,8 +14490,16 @@ const verificationServiceReducer = (state = getInitialState(), action) => {
14411
14490
  case "VIEW_MODEL":
14412
14491
  const newState = { ...state };
14413
14492
  if (action.viewModel) {
14414
- // Allow action.viewModel to be a sparse object. Bring along all previous viewModel
14415
- newState.viewModel = { ...action.viewModel };
14493
+ if (action.partial) {
14494
+ // New functionality: action.viewModel can be a sparse object. Bring along all previous viewModel
14495
+ // This allows devs to set just one field, like firstName, without supplying the rest of the viewModel object
14496
+ newState.viewModel = deepMerge({}, state.viewModel, action.viewModel);
14497
+ }
14498
+ else {
14499
+ // Existing functionality: replace viewModel object. Leave here for backwards compatibility.
14500
+ // WARNING - this is not a deep clone!
14501
+ newState.viewModel = { ...action.viewModel };
14502
+ }
14416
14503
  }
14417
14504
  if (action.viewModel && action.viewModel.metadata) {
14418
14505
  setMetadata(action.viewModel.metadata);
@@ -14495,14 +14582,13 @@ const refreshStore = () => {
14495
14582
  const store$1 = getStore();
14496
14583
  /**
14497
14584
  * @description Set the viewModel for the form or reset it by passing an empty object
14498
- * @todo allow sparse viewModel to be provided
14499
14585
  */
14500
- const setViewModel = (newViewModel) => {
14586
+ const setViewModel = (newViewModel, options = { partial: false }) => {
14501
14587
  const state = store$1.getState();
14502
14588
  const doSet = () => {
14503
14589
  const updatedViewModel = deepClone(newViewModel);
14504
14590
  logger.info("Setting viewModel", updatedViewModel);
14505
- createUpdateViewModel(store$1.dispatch)(updatedViewModel);
14591
+ createUpdateViewModel(store$1.dispatch)(updatedViewModel, options.partial);
14506
14592
  };
14507
14593
  // The viewModel may not be set until later, and default messages may fail to load
14508
14594
  // so re-use setOptions to make sure we know about the desire to use this locale
@@ -17471,7 +17557,7 @@ unwrapExports(lib$1);
17471
17557
  lib$1.withLDConsumer;
17472
17558
  lib$1.withLDProvider;
17473
17559
  lib$1.useLDClient;
17474
- var lib_4 = lib$1.useFlags;
17560
+ lib$1.useFlags;
17475
17561
  lib$1.camelCaseKeys;
17476
17562
  lib$1.asyncWithLDProvider;
17477
17563
  var lib_7 = lib$1.LDProvider;
@@ -17686,7 +17772,7 @@ const OptInComponent = ({ isErrored, isRequired, onChange, value, verificationSe
17686
17772
  React.createElement("div", { className: "sid-l-position" },
17687
17773
  React.createElement("label", { htmlFor: "sid-opt-in__optIn" },
17688
17774
  React.createElement(OptInInputComponent, { id: "optIn", isErrored: isErrored, onChange: onChange, value: value }),
17689
- React.createElement("div", { className: "sid-field__label sid-checkbox__label" }, verificationService ? (React.createElement(FormattedMessage, { id: "companyName", defaultMessage: "{Company}" }, (companyName) => (React.createElement(FormattedHTMLMessage, { id: "optIn", values: { company: companyName }, defaultMessage: defaultMessage })))) : (React.createElement(FormattedHTMLMessage, { id: "optIn", defaultMessage: defaultMessage }))),
17775
+ React.createElement("div", { className: "sid-field__label sid-checkbox__label" }, verificationService ? (React.createElement(FormattedHTMLMessage, { id: "companyName", defaultMessage: "{Company}" }, (companyName) => (React.createElement(FormattedHTMLMessage, { id: "optIn", values: { company: companyName }, defaultMessage: defaultMessage })))) : (React.createElement(FormattedHTMLMessage, { id: "optIn", defaultMessage: defaultMessage }))),
17690
17776
  isErrored ? (React.createElement("div", { className: "sid-field-error" },
17691
17777
  React.createElement(FormattedHTMLMessage, { id: "errorId.invalidOptIn", defaultMessage: "Must be selected to continue" }))) : null))));
17692
17778
  };
@@ -17701,7 +17787,7 @@ const LogoComponent = ({ verificationService }) => {
17701
17787
  const logoUrl = getLogoUrl(verificationService.programTheme);
17702
17788
  if (logoUrl) {
17703
17789
  return (React.createElement("div", { className: "sid-logo sid-l-space-top-md" },
17704
- React.createElement(FormattedMessage, { id: "companyName", defaultMessage: "{Company}" }, (companyName) => (React.createElement("img", { className: "sid-logo__img", alt: `${companyName} logo`, src: logoUrl })))));
17790
+ React.createElement(FormattedHTMLMessage, { id: "companyName", defaultMessage: "{Company}" }, (companyName) => (React.createElement("img", { className: "sid-logo__img", alt: `${companyName} logo`, src: logoUrl })))));
17705
17791
  }
17706
17792
  return null;
17707
17793
  };
@@ -17739,13 +17825,13 @@ selectedCountryCode = "us", }) => {
17739
17825
  isErrored ? (React.createElement("div", { className: "sid-field-error" },
17740
17826
  React.createElement(FormattedHTMLMessage, { id: "errorId.invalidPhoneNumber", defaultMessage: "Invalid mobile number" }))) : null,
17741
17827
  displaySmsConsent && (React.createElement("div", { className: "sid-h-small-text sid-l-space-top-md sid-sms-consent" },
17742
- React.createElement(FormattedMessage, { id: "phoneNumberWarnMessage1", defaultMessage: "By submitting this form with a mobile number, you consent to receive SMS/text messages for verification purposes. Standard phone carrier text messaging (SMS) and data rates may apply." }))),
17828
+ React.createElement(FormattedHTMLMessage, { id: "phoneNumberWarnMessage1", defaultMessage: "By submitting this form with a mobile number, you consent to receive SMS/text messages for verification purposes. Standard phone carrier text messaging (SMS) and data rates may apply." }))),
17743
17829
  requireCarrierConsent && (React.createElement("div", { className: "sid-l-position sid-carrier-disclosure-consent" },
17744
17830
  React.createElement("div", { className: "sid-h-small-text sid-l-space-top-md" },
17745
17831
  React.createElement("label", { htmlFor: "sid-opt-in__carrier-consent" },
17746
17832
  React.createElement(OptInInputComponent, { id: "carrier-consent", isErrored: isErrored, value: carrierConsent, onChange: (value) => onCarrierConsentChange(value) }),
17747
17833
  React.createElement("div", { className: "sid-field__label sid-checkbox__label" },
17748
- React.createElement(FormattedMessage, { id: "phoneNumberWarnMessage2", defaultMessage: "You authorize your mobile service provider to disclose your mobile number and certain account information to SheerID, solely for identity verification and to avoid fraud." }))))))));
17834
+ React.createElement(FormattedHTMLMessage, { id: "phoneNumberWarnMessage2", defaultMessage: "You authorize your mobile service provider to disclose your mobile number and certain account information to SheerID, solely for identity verification and to avoid fraud." }))))))));
17749
17835
  };
17750
17836
  const PhoneNumberComponent = injectIntl(PhoneNumber);
17751
17837
 
@@ -17993,7 +18079,7 @@ const CollegeName = ({ onChange, value, isErrored, verificationService, intl, pl
17993
18079
  React.createElement("div", { className: "sid-l-space-top-md" }),
17994
18080
  React.createElement(FieldLabel, { text: React.createElement(FormattedHTMLMessage, { id: "schoolName", defaultMessage: "University / College name" }), htmlForLabel: "sid-college-name", id: "sid-college-name-label", displayClasses: placeholder && "sid-h-screen-reader-only" }),
17995
18081
  React.createElement(TypeaheadComponent, { className: isErrored ? "sid-text-input--error" : "", countryCode: country, minimumSearchValueLength: getOptions().minimumOrganizationSearchLength, onChange: (choice) => onChange(choice), placeholder: placeholder ||
17996
- intl.formatMessage({
18082
+ intl.formatHTMLMessage({
17997
18083
  id: "schoolNamePlaceholder",
17998
18084
  defaultMessage: "University / College name",
17999
18085
  }), programId: programId, value: value, inputHtmlId: "sid-college-name", openOrgSearchEnabled: verificationService.programTheme.openOrgSearchEnabled, orgSearchUrl: verificationService.programTheme.config.orgSearchUrl, orgSearchTags: searchTags, locale: locale, urlAddSchoolForm: urlAddSchoolForm, isRequired: isRequired }),
@@ -18018,33 +18104,42 @@ const BirthDate = ({ onChange, intl, isErrored, isRequired = true, errorId, valu
18018
18104
  const months = [
18019
18105
  {
18020
18106
  value: "1",
18021
- label: intl.formatMessage({ id: "dateTime.january", defaultMessage: "January" }),
18107
+ label: intl.formatHTMLMessage({ id: "dateTime.january", defaultMessage: "January" }),
18022
18108
  },
18023
18109
  {
18024
18110
  value: "2",
18025
- label: intl.formatMessage({ id: "dateTime.february", defaultMessage: "February" }),
18111
+ label: intl.formatHTMLMessage({ id: "dateTime.february", defaultMessage: "February" }),
18112
+ },
18113
+ {
18114
+ value: "3",
18115
+ label: intl.formatHTMLMessage({ id: "dateTime.march", defaultMessage: "March" }),
18116
+ },
18117
+ {
18118
+ value: "4",
18119
+ label: intl.formatHTMLMessage({ id: "dateTime.april", defaultMessage: "April" }),
18120
+ },
18121
+ { value: "5", label: intl.formatHTMLMessage({ id: "dateTime.may", defaultMessage: "May" }) },
18122
+ { value: "6", label: intl.formatHTMLMessage({ id: "dateTime.june", defaultMessage: "June" }) },
18123
+ { value: "7", label: intl.formatHTMLMessage({ id: "dateTime.july", defaultMessage: "July" }) },
18124
+ {
18125
+ value: "8",
18126
+ label: intl.formatHTMLMessage({ id: "dateTime.august", defaultMessage: "August" }),
18026
18127
  },
18027
- { value: "3", label: intl.formatMessage({ id: "dateTime.march", defaultMessage: "March" }) },
18028
- { value: "4", label: intl.formatMessage({ id: "dateTime.april", defaultMessage: "April" }) },
18029
- { value: "5", label: intl.formatMessage({ id: "dateTime.may", defaultMessage: "May" }) },
18030
- { value: "6", label: intl.formatMessage({ id: "dateTime.june", defaultMessage: "June" }) },
18031
- { value: "7", label: intl.formatMessage({ id: "dateTime.july", defaultMessage: "July" }) },
18032
- { value: "8", label: intl.formatMessage({ id: "dateTime.august", defaultMessage: "August" }) },
18033
18128
  {
18034
18129
  value: "9",
18035
- label: intl.formatMessage({ id: "dateTime.september", defaultMessage: "September" }),
18130
+ label: intl.formatHTMLMessage({ id: "dateTime.september", defaultMessage: "September" }),
18036
18131
  },
18037
18132
  {
18038
18133
  value: "10",
18039
- label: intl.formatMessage({ id: "dateTime.october", defaultMessage: "October" }),
18134
+ label: intl.formatHTMLMessage({ id: "dateTime.october", defaultMessage: "October" }),
18040
18135
  },
18041
18136
  {
18042
18137
  value: "11",
18043
- label: intl.formatMessage({ id: "dateTime.november", defaultMessage: "November" }),
18138
+ label: intl.formatHTMLMessage({ id: "dateTime.november", defaultMessage: "November" }),
18044
18139
  },
18045
18140
  {
18046
18141
  value: "12",
18047
- label: intl.formatMessage({ id: "dateTime.december", defaultMessage: "December" }),
18142
+ label: intl.formatHTMLMessage({ id: "dateTime.december", defaultMessage: "December" }),
18048
18143
  },
18049
18144
  ];
18050
18145
  const isDateFieldEmpty = (year, month, day) => (!day || day === "") && (!month || month === "") && (!year || year === "");
@@ -18128,9 +18223,9 @@ const BirthDate = ({ onChange, intl, isErrored, isRequired = true, errorId, valu
18128
18223
  // clear the birth month
18129
18224
  updateBirthMonth(null);
18130
18225
  }
18131
- }, placeholder: intl.formatMessage({ id: "dateTime.month", defaultMessage: "Month" }), suppressPlaceholder: false, value: birthDateMonth ? months[birthDateMonth - 1] : undefined, isRequired: isRequired, buttonRef: "inputSelectButtonBirthDate" }),
18132
- React.createElement("input", { className: `sid-birthdate__day sid-text-input sid-text-input--required ${isErrored ? "sid-text-input--error" : ""}`, id: "sid-birthdate-day", min: 1, max: 31, name: "sid-birthdate-day", onChange: (e) => updateBirthDay(e.target.value), onBlur: getBirthDate, pattern: "\\d*", placeholder: intl.formatMessage({ id: "dateTime.day", defaultMessage: "Day" }), "aria-label": intl.formatMessage({ id: "dateTime.day", defaultMessage: "Day" }), "aria-labelledby": "sid-birthdate", "aria-required": isRequired, ref: (input) => setRef("birthDateDay", input), type: "text", value: birthDateDay || "" }),
18133
- React.createElement("input", { className: `sid-birthdate__year sid-text-input sid-text-input--required ${isErrored ? "sid-text-input--error" : ""}`, id: "sid-birthdate-year", name: "sid-birthdate-year", type: "text", min: minBirthYear, max: thisYear, value: birthDateYear || "", pattern: "\\d*", placeholder: intl.formatMessage({ id: "dateTime.year", defaultMessage: "Year" }), "aria-label": intl.formatMessage({ id: "dateTime.year", defaultMessage: "Year" }), "aria-labelledby": "sid-birthdate", "aria-required": isRequired, ref: (input) => setRef("birthDateYear", input), onChange: (e) => updateBirthYear(e.target.value), onBlur: getBirthDate })),
18226
+ }, placeholder: intl.formatHTMLMessage({ id: "dateTime.month", defaultMessage: "Month" }), suppressPlaceholder: false, value: birthDateMonth ? months[birthDateMonth - 1] : undefined, isRequired: isRequired, buttonRef: "inputSelectButtonBirthDate" }),
18227
+ React.createElement("input", { className: `sid-birthdate__day sid-text-input sid-text-input--required ${isErrored ? "sid-text-input--error" : ""}`, id: "sid-birthdate-day", min: 1, max: 31, name: "sid-birthdate-day", onChange: (e) => updateBirthDay(e.target.value), onBlur: getBirthDate, pattern: "\\d*", placeholder: intl.formatHTMLMessage({ id: "dateTime.day", defaultMessage: "Day" }), "aria-label": intl.formatHTMLMessage({ id: "dateTime.day", defaultMessage: "Day" }), "aria-labelledby": "sid-birthdate", "aria-required": isRequired, ref: (input) => setRef("birthDateDay", input), type: "text", value: birthDateDay || "" }),
18228
+ React.createElement("input", { className: `sid-birthdate__year sid-text-input sid-text-input--required ${isErrored ? "sid-text-input--error" : ""}`, id: "sid-birthdate-year", name: "sid-birthdate-year", type: "text", min: minBirthYear, max: thisYear, value: birthDateYear || "", pattern: "\\d*", placeholder: intl.formatHTMLMessage({ id: "dateTime.year", defaultMessage: "Year" }), "aria-label": intl.formatHTMLMessage({ id: "dateTime.year", defaultMessage: "Year" }), "aria-labelledby": "sid-birthdate", "aria-required": isRequired, ref: (input) => setRef("birthDateYear", input), onChange: (e) => updateBirthYear(e.target.value), onBlur: getBirthDate })),
18134
18229
  isErrored ? errMsg : null));
18135
18230
  };
18136
18231
  BirthDate.defaultProps = {
@@ -18279,6 +18374,10 @@ function howDoesVerifyingWorkMessages() {
18279
18374
  default: moverMessages.step.personalInfo.howDoesVerifyingWorkDetails,
18280
18375
  docUpload: moverMessages.step.docUpload.howDoesVerifyingWorkDetails,
18281
18376
  },
18377
+ lowIncome: {
18378
+ default: lowIncomeMessages.step.personalInfo.howDoesVerifyingWorkDetails,
18379
+ docUpload: lowIncomeMessages.step.docUpload.howDoesVerifyingWorkDetails,
18380
+ },
18282
18381
  };
18283
18382
  }
18284
18383
 
@@ -18309,7 +18408,7 @@ const HowDoesVerifyingWorkComponent = ({ verificationService, initialVisibility
18309
18408
  tooltipVisibility ? (React.createElement("div", { className: "sid-how-verify-works__container" },
18310
18409
  React.createElement("div", { className: "sid-how-verify-works__caret" }),
18311
18410
  React.createElement("div", { className: "sid-how-verify-works__tooltip", "aria-live": "polite", role: "tooltip", id: "how-does-verifying-work" },
18312
- React.createElement(FormattedMessage, { id: "companyName", defaultMessage: "{Company}" }, (companyName) => (React.createElement(FormattedHTMLMessage, { id: `step.${step === VerificationStepsEnum.docUpload ? "docUpload" : "personalInfo"}.howDoesVerifyingWorkDetails`, defaultMessage: defaultMessage, values: { companyName } }))),
18411
+ React.createElement(FormattedHTMLMessage, { id: "companyName", defaultMessage: "{Company}" }, (companyName) => (React.createElement(FormattedHTMLMessage, { id: `step.${step === VerificationStepsEnum.docUpload ? "docUpload" : "personalInfo"}.howDoesVerifyingWorkDetails`, defaultMessage: defaultMessage, values: { companyName } }))),
18313
18412
  "\u00A0",
18314
18413
  React.createElement(FaqLinkComponent, { verificationService: verificationService })))) : null));
18315
18414
  };
@@ -18338,26 +18437,27 @@ const BaseCountryComponentWrapper = ({ verificationService, viewModel, intl, vie
18338
18437
  ? viewModel.countryChoice
18339
18438
  : defaultCountryChoice;
18340
18439
  updateCountryChoice(countryChoice);
18341
- return;
18342
18440
  }
18441
+ }, [firstRender]);
18442
+ React.useEffect(() => {
18343
18443
  if (!hasMultipleCountries) {
18344
18444
  const fieldsToSkip = viewModel.fieldsToSkipValidation
18345
18445
  ? [...viewModel.fieldsToSkipValidation, "country"]
18346
18446
  : ["country"];
18347
18447
  verificationService.updateViewModel(produceDraftViewModel(viewModel, "fieldsToSkipValidation", fieldsToSkip));
18348
18448
  }
18349
- else {
18350
- const updatedFieldValidationErrors = fn(verificationService.fieldValidationErrors, (draft) => {
18351
- if (draft.country) {
18352
- draft.country = validateFieldById("country", viewModel.countryChoice, verificationService.formValidationOptions);
18353
- }
18354
- if ("postalCode" in viewModel && viewModel.postalCode) {
18355
- draft.postalCode = validateFieldById("postalCode", viewModel.postalCode, verificationService.formValidationOptions);
18356
- }
18357
- });
18358
- updateFieldValidationErrors(updatedFieldValidationErrors, verificationService);
18359
- }
18360
- }, [viewModel.countryChoice, hasMultipleCountries, firstRender]);
18449
+ }, [hasMultipleCountries]);
18450
+ React.useEffect(() => {
18451
+ const updatedFieldValidationErrors = fn(verificationService.fieldValidationErrors, (draft) => {
18452
+ if (draft.country) {
18453
+ draft.country = validateFieldById("country", viewModel.countryChoice, verificationService.formValidationOptions);
18454
+ }
18455
+ if ("postalCode" in viewModel && viewModel.postalCode) {
18456
+ draft.postalCode = validateFieldById("postalCode", viewModel.postalCode, verificationService.formValidationOptions);
18457
+ }
18458
+ });
18459
+ updateFieldValidationErrors(updatedFieldValidationErrors, verificationService);
18460
+ }, [viewModel.countryChoice]);
18361
18461
  if (!hasMultipleCountries) {
18362
18462
  return null;
18363
18463
  }
@@ -18468,7 +18568,7 @@ const StepStudentPersonalInfo = ({ intl, verificationService, }) => {
18468
18568
  const StepStudentPersonalInfoComponent = injectIntl(StepStudentPersonalInfo);
18469
18569
 
18470
18570
  const PostalCodeInput = ({ onChange, value, isValid, intl, placeholder = "", ariaLabelledBy, }) => (React.createElement(InputTextComponent, { id: "postal-code", isErrored: !isValid, onChange: (e) => onChange(e.target.value), pattern: "[a-zA-Z0-9 ]*", placeholder: placeholder ||
18471
- intl.formatMessage({ id: "postalCodePlaceholder", defaultMessage: "Postal Code" }), refId: "postalCode", value: value, required: true, "aria-labelledby": ariaLabelledBy }));
18571
+ intl.formatHTMLMessage({ id: "postalCodePlaceholder", defaultMessage: "Postal Code" }), refId: "postalCode", value: value, required: true, "aria-labelledby": ariaLabelledBy }));
18472
18572
  PostalCodeInput.defaultProps = {
18473
18573
  isValid: true,
18474
18574
  };
@@ -18578,7 +18678,7 @@ const carrierConsentValueValidator = (countryChoiceValue) => (value, programThem
18578
18678
  const City = ({ value, isErrored, onChange, intl, onKeyDown = undefined, placeholder = "", }) => (React.createElement("div", { className: "sid-field sid-city" },
18579
18679
  React.createElement("div", { className: "sid-l-space-top-md" }),
18580
18680
  React.createElement(FieldLabel, { text: React.createElement(FormattedHTMLMessage, { id: "city", defaultMessage: "City" }), htmlForLabel: "sid-city", id: "sid-city-label", displayClasses: placeholder && "sid-h-screen-reader-only" }),
18581
- React.createElement(InputTextComponent, { id: "city", isErrored: isErrored, onChange: (e) => onChange(e.target.value), onKeyDown: typeof onKeyDown === "function" ? (e) => onKeyDown(e) : undefined, placeholder: placeholder || intl.formatMessage({ id: "cityPlaceholder", defaultMessage: "City" }), value: value, "aria-labelledby": "sid-city-label" }),
18681
+ React.createElement(InputTextComponent, { id: "city", isErrored: isErrored, onChange: (e) => onChange(e.target.value), onKeyDown: typeof onKeyDown === "function" ? (e) => onKeyDown(e) : undefined, placeholder: placeholder || intl.formatHTMLMessage({ id: "cityPlaceholder", defaultMessage: "City" }), value: value, "aria-labelledby": "sid-city-label" }),
18582
18682
  isErrored ? (React.createElement("div", { className: "sid-field-error" },
18583
18683
  React.createElement(FormattedHTMLMessage, { id: "errorId.invalidCity", defaultMessage: "Invalid city" }))) : null));
18584
18684
  const CityComponent = injectIntl(City);
@@ -18586,7 +18686,8 @@ const CityComponent = injectIntl(City);
18586
18686
  const Address = ({ value, isErrored, onChange, intl, onKeyDown = undefined, placeholder = "", }) => (React.createElement("div", { className: "sid-field sid-address" },
18587
18687
  React.createElement("div", { className: "sid-l-space-top-md" }),
18588
18688
  React.createElement(FieldLabel, { text: React.createElement(FormattedHTMLMessage, { id: "address", defaultMessage: "Address" }), htmlForLabel: "sid-address", id: "sid-address-label", displayClasses: placeholder && "sid-h-screen-reader-only" }),
18589
- React.createElement(InputTextComponent, { id: "address", isErrored: isErrored, onChange: (e) => onChange(e.target.value), onKeyDown: typeof onKeyDown === "function" ? (e) => onKeyDown(e) : undefined, placeholder: placeholder || intl.formatMessage({ id: "addressPlaceholder", defaultMessage: "Address" }), value: value, "aria-labelledby": "sid-address-label" }),
18689
+ React.createElement(InputTextComponent, { id: "address", isErrored: isErrored, onChange: (e) => onChange(e.target.value), onKeyDown: typeof onKeyDown === "function" ? (e) => onKeyDown(e) : undefined, placeholder: placeholder ||
18690
+ intl.formatHTMLMessage({ id: "addressPlaceholder", defaultMessage: "Address" }), value: value, "aria-labelledby": "sid-address-label" }),
18590
18691
  isErrored ? (React.createElement("div", { className: "sid-field-error" },
18591
18692
  React.createElement(FormattedHTMLMessage, { id: "errorId.invalidAddress", defaultMessage: "Invalid address" }))) : null));
18592
18693
  const AddressComponent = injectIntl(Address);
@@ -18741,7 +18842,7 @@ const TeacherSchool = ({ value, isErrored, onChange, verificationService, intl,
18741
18842
  React.createElement("div", { className: "sid-l-space-top-md" }),
18742
18843
  React.createElement(FieldLabel, { text: React.createElement(FormattedHTMLMessage, { id: "schoolName", defaultMessage: "School name" }), htmlForLabel: id, id: `${id}-label`, displayClasses: placeholder && "sid-h-screen-reader-only" }),
18743
18844
  React.createElement(TypeaheadComponent, { className: isErrored ? "sid-text-input--error" : "", countryCode: country, onChange: (choice) => onChange(choice), minimumSearchValueLength: getOptions().minimumOrganizationSearchLength, placeholder: placeholder ||
18744
- intl.formatMessage({
18845
+ intl.formatHTMLMessage({
18745
18846
  id: "schoolNamePlaceholder",
18746
18847
  defaultMessage: "School name",
18747
18848
  }), programId: programId, value: value, inputHtmlId: id, openOrgSearchEnabled: verificationService.programTheme.openOrgSearchEnabled, orgSearchUrl: verificationService.programTheme.config.orgSearchUrl, orgSearchTags: searchTags, locale: locale, urlAddSchoolForm: urlAddSchoolForm, isRequired: true }),
@@ -18858,7 +18959,7 @@ const MemberId = ({ value, isErrored, onChange, explanation, intl, placeholder =
18858
18959
  React.createElement("div", { className: "sid-l-space-top-md" }),
18859
18960
  React.createElement(FieldLabel, { text: label || React.createElement(FormattedHTMLMessage, { id: "memberId", defaultMessage: "ID Number" }), htmlForLabel: "sid-member-id", id: "sid-member-id-label", displayClasses: `sid-field__label-with-explanation${placeholder && " sid-h-screen-reader-only"}`, isRequired: isRequired }, explanation || getDefaultExplanation()),
18860
18961
  React.createElement(InputTextComponent, { id: "member-id", isErrored: isErrored, onChange: (e) => onChange(e.target.value), placeholder: placeholder ||
18861
- intl.formatMessage({ id: "memberIdPlaceholder", defaultMessage: "ID Number" }), refId: "memberId", value: value, "aria-labelledby": "sid-member-id-label" }),
18962
+ intl.formatHTMLMessage({ id: "memberIdPlaceholder", defaultMessage: "ID Number" }), refId: "memberId", value: value, "aria-labelledby": "sid-member-id-label" }),
18862
18963
  isErrored ? (React.createElement("div", { className: "sid-field-error" },
18863
18964
  React.createElement(FormattedHTMLMessage, { id: "errorId.invalidMemberId", defaultMessage: "Invalid ID Number" }))) : null));
18864
18965
  };
@@ -18870,7 +18971,10 @@ const MembershipOrganization = ({ value, isErrored, onChange, verificationServic
18870
18971
  React.createElement("div", { className: "sid-l-space-top-md" }),
18871
18972
  React.createElement(FieldLabel, { text: React.createElement(FormattedHTMLMessage, { id: "organization", defaultMessage: "Organization" }), htmlForLabel: "sid-membership", id: "sid-membership-label", displayClasses: placeholder && "sid-h-screen-reader-only" }),
18872
18973
  React.createElement(TypeaheadComponent, { className: isErrored ? "sid-text-input--error" : "", countryCode: getSafe(() => verificationService.viewModel.countryChoice.value), onChange: (choice) => onChange(choice), minimumSearchValueLength: getOptions().minimumOrganizationSearchLength, placeholder: placeholder ||
18873
- intl.formatMessage({ id: "organizationNamePlaceholder", defaultMessage: "Organization" }), programId: programId, value: value, inputHtmlId: "sid-membership", openOrgSearchEnabled: verificationService.programTheme.openOrgSearchEnabled, orgSearchUrl: verificationService.programTheme.config.orgSearchUrl }),
18974
+ intl.formatHTMLMessage({
18975
+ id: "organizationNamePlaceholder",
18976
+ defaultMessage: "Organization",
18977
+ }), programId: programId, value: value, inputHtmlId: "sid-membership", openOrgSearchEnabled: verificationService.programTheme.openOrgSearchEnabled, orgSearchUrl: verificationService.programTheme.config.orgSearchUrl }),
18874
18978
  isErrored ? (React.createElement("div", { className: "sid-field-error" },
18875
18979
  React.createElement(FormattedHTMLMessage, { id: "errorId.invalidOrganization", defaultMessage: "You must select an organization from the list" }))) : null));
18876
18980
  };
@@ -18985,7 +19089,8 @@ const MilitaryStatus = ({ value, isErrored, options, onChange, intl, placeholder
18985
19089
  return (React.createElement("div", { className: `sid-field ${inputId}` },
18986
19090
  React.createElement("div", { className: "sid-l-space-top-md" }),
18987
19091
  React.createElement(FieldLabel, { text: React.createElement(FormattedHTMLMessage, { id: "status", defaultMessage: "Status" }), htmlForLabel: inputId, id: `${inputId}-label`, displayClasses: placeholder && "sid-h-screen-reader-only" }),
18988
- React.createElement(InputSelectComponent, { fieldId: "status", inputId: inputId, fieldLabelId: `${inputId}-label`, isErrored: isErrored, options: SortByLabel(options), onChange: (status) => onChange(status), value: value, placeholder: placeholder || intl.formatMessage({ id: "statusPlaceholder", defaultMessage: "Status" }) }),
19092
+ React.createElement(InputSelectComponent, { fieldId: "status", inputId: inputId, fieldLabelId: `${inputId}-label`, isErrored: isErrored, options: SortByLabel(options), onChange: (status) => onChange(status), value: value, isRequired: true, placeholder: placeholder ||
19093
+ intl.formatHTMLMessage({ id: "statusPlaceholder", defaultMessage: "Status" }) }),
18989
19094
  isErrored ? (React.createElement("div", { className: "sid-field-error" },
18990
19095
  React.createElement(FormattedHTMLMessage, { id: "errorId.invalidStatus", defaultMessage: "Invalid military status" }))) : null));
18991
19096
  };
@@ -19054,8 +19159,8 @@ const BranchOfService = ({ autoFocus, onChange, value, isErrored, organizations,
19054
19159
  return (React.createElement("div", { className: `sid-field ${inputId}-id` },
19055
19160
  React.createElement("div", { className: "sid-l-space-top-md" }),
19056
19161
  React.createElement(FieldLabel, { text: React.createElement(FormattedHTMLMessage, { id: "branchOfService", defaultMessage: "Branch Of Service" }), htmlForLabel: inputId, id: `${inputId}-label`, displayClasses: placeholder && "sid-h-screen-reader-only" }),
19057
- React.createElement(InputSelectComponent, { autoFocus: autoFocus, fieldId: "organization", inputId: inputId, fieldLabelId: `${inputId}-label`, isErrored: isErrored, options: SortByLabel(options), onChange: (branch) => handleStateChange(branch, onChange), value: value, placeholder: placeholder ||
19058
- intl.formatMessage({
19162
+ React.createElement(InputSelectComponent, { autoFocus: autoFocus, fieldId: "organization", inputId: inputId, fieldLabelId: `${inputId}-label`, isErrored: isErrored, options: SortByLabel(options), onChange: (branch) => handleStateChange(branch, onChange), value: value, isRequired: true, placeholder: placeholder ||
19163
+ intl.formatHTMLMessage({
19059
19164
  id: "branchOfServicePlaceholder",
19060
19165
  defaultMessage: "Branch Of Service",
19061
19166
  }) }),
@@ -19177,33 +19282,42 @@ const DischargeDate = ({ onChange, intl, isErrored, value, }) => {
19177
19282
  const months = [
19178
19283
  {
19179
19284
  value: "1",
19180
- label: intl.formatMessage({ id: "dateTime.january", defaultMessage: "January" }),
19285
+ label: intl.formatHTMLMessage({ id: "dateTime.january", defaultMessage: "January" }),
19181
19286
  },
19182
19287
  {
19183
19288
  value: "2",
19184
- label: intl.formatMessage({ id: "dateTime.february", defaultMessage: "February" }),
19289
+ label: intl.formatHTMLMessage({ id: "dateTime.february", defaultMessage: "February" }),
19290
+ },
19291
+ {
19292
+ value: "3",
19293
+ label: intl.formatHTMLMessage({ id: "dateTime.march", defaultMessage: "March" }),
19294
+ },
19295
+ {
19296
+ value: "4",
19297
+ label: intl.formatHTMLMessage({ id: "dateTime.april", defaultMessage: "April" }),
19298
+ },
19299
+ { value: "5", label: intl.formatHTMLMessage({ id: "dateTime.may", defaultMessage: "May" }) },
19300
+ { value: "6", label: intl.formatHTMLMessage({ id: "dateTime.june", defaultMessage: "June" }) },
19301
+ { value: "7", label: intl.formatHTMLMessage({ id: "dateTime.july", defaultMessage: "July" }) },
19302
+ {
19303
+ value: "8",
19304
+ label: intl.formatHTMLMessage({ id: "dateTime.august", defaultMessage: "August" }),
19185
19305
  },
19186
- { value: "3", label: intl.formatMessage({ id: "dateTime.march", defaultMessage: "March" }) },
19187
- { value: "4", label: intl.formatMessage({ id: "dateTime.april", defaultMessage: "April" }) },
19188
- { value: "5", label: intl.formatMessage({ id: "dateTime.may", defaultMessage: "May" }) },
19189
- { value: "6", label: intl.formatMessage({ id: "dateTime.june", defaultMessage: "June" }) },
19190
- { value: "7", label: intl.formatMessage({ id: "dateTime.july", defaultMessage: "July" }) },
19191
- { value: "8", label: intl.formatMessage({ id: "dateTime.august", defaultMessage: "August" }) },
19192
19306
  {
19193
19307
  value: "9",
19194
- label: intl.formatMessage({ id: "dateTime.september", defaultMessage: "September" }),
19308
+ label: intl.formatHTMLMessage({ id: "dateTime.september", defaultMessage: "September" }),
19195
19309
  },
19196
19310
  {
19197
19311
  value: "10",
19198
- label: intl.formatMessage({ id: "dateTime.october", defaultMessage: "October" }),
19312
+ label: intl.formatHTMLMessage({ id: "dateTime.october", defaultMessage: "October" }),
19199
19313
  },
19200
19314
  {
19201
19315
  value: "11",
19202
- label: intl.formatMessage({ id: "dateTime.november", defaultMessage: "November" }),
19316
+ label: intl.formatHTMLMessage({ id: "dateTime.november", defaultMessage: "November" }),
19203
19317
  },
19204
19318
  {
19205
19319
  value: "12",
19206
- label: intl.formatMessage({ id: "dateTime.december", defaultMessage: "December" }),
19320
+ label: intl.formatHTMLMessage({ id: "dateTime.december", defaultMessage: "December" }),
19207
19321
  },
19208
19322
  ];
19209
19323
  const updateDischargeMonth = (month) => {
@@ -19254,8 +19368,8 @@ const DischargeDate = ({ onChange, intl, isErrored, value, }) => {
19254
19368
  // clear the discharge month
19255
19369
  updateDischargeMonth(null);
19256
19370
  }
19257
- }, placeholder: intl.formatMessage({ id: "dateTime.month", defaultMessage: "Month" }), suppressPlaceholder: false, value: dischargeDateMonth ? months[dischargeDateMonth - 1] : undefined, buttonRef: "inputSelectButtonDischargeDate", isRequired: true }),
19258
- React.createElement(InputTextComponent, { className: `${inputId}__year`, id: "discharge-date-year", isErrored: isErrored, max: thisYear, min: minDischargeYear, onBlur: getDischargeDate, onChange: (e) => updateDischargeYear(e.target.value), pattern: "\\d*", placeholder: intl.formatMessage({ id: "dateTime.year", defaultMessage: "Year" }), hidePlaceholder: false, refId: "dischargeDateYear", required: true, value: dischargeDateYear || "", "aria-labelledby": "sid-discharge-date-label" })),
19371
+ }, placeholder: intl.formatHTMLMessage({ id: "dateTime.month", defaultMessage: "Month" }), suppressPlaceholder: false, value: dischargeDateMonth ? months[dischargeDateMonth - 1] : undefined, buttonRef: "inputSelectButtonDischargeDate", isRequired: true }),
19372
+ React.createElement(InputTextComponent, { className: `${inputId}__year`, id: "discharge-date-year", isErrored: isErrored, max: thisYear, min: minDischargeYear, onBlur: getDischargeDate, onChange: (e) => updateDischargeYear(e.target.value), pattern: "\\d*", placeholder: intl.formatHTMLMessage({ id: "dateTime.year", defaultMessage: "Year" }), hidePlaceholder: false, refId: "dischargeDateYear", required: true, value: dischargeDateYear || "", "aria-labelledby": "sid-discharge-date-label" })),
19259
19373
  isErrored ? (React.createElement("div", { className: "sid-field-error" },
19260
19374
  React.createElement(FormattedHTMLMessage, { id: "errorId.invalidDischargeDate", defaultMessage: "Invalid discharge date" }))) : null));
19261
19375
  };
@@ -19372,7 +19486,8 @@ const FirstResponderStatus = ({ value, isErrored, options, onChange, placeholder
19372
19486
  return (React.createElement("div", { className: `sid-field ${inputId}` },
19373
19487
  React.createElement("div", { className: "sid-l-space-top-md" }),
19374
19488
  React.createElement(FieldLabel, { text: React.createElement(FormattedHTMLMessage, { id: "status", defaultMessage: "Status" }), htmlForLabel: `${inputId}`, id: `${inputId}-label`, displayClasses: placeholder && "sid-h-screen-reader-only" }),
19375
- React.createElement(InputSelectComponent, { fieldId: "status", inputId: inputId, fieldLabelId: `${inputId}-label`, isErrored: isErrored, options: options, onChange: (status) => onChange(status), onKeyDown: onKeyDown, value: value, placeholder: placeholder || intl.formatMessage({ id: "statusPlaceholder", defaultMessage: "Status" }) }),
19489
+ React.createElement(InputSelectComponent, { fieldId: "status", inputId: inputId, fieldLabelId: `${inputId}-label`, isErrored: isErrored, options: options, onChange: (status) => onChange(status), onKeyDown: onKeyDown, value: value, isRequired: true, placeholder: placeholder ||
19490
+ intl.formatHTMLMessage({ id: "statusPlaceholder", defaultMessage: "Status" }) }),
19376
19491
  isErrored ? (React.createElement("div", { className: "sid-field-error" },
19377
19492
  React.createElement(FormattedHTMLMessage, { id: "errorId.invalidStatus", defaultMessage: "Invalid first responder status" }))) : null));
19378
19493
  };
@@ -19385,7 +19500,7 @@ const FirstResponderOrganization = ({ onChange, value, isErrored, verificationSe
19385
19500
  React.createElement("div", { className: "sid-l-space-top-md" }),
19386
19501
  React.createElement(FieldLabel, { text: React.createElement(FormattedHTMLMessage, { id: "organization", defaultMessage: "Organization" }), htmlForLabel: id, id: `${id}-label`, displayClasses: placeholder && "sid-h-screen-reader-only" }),
19387
19502
  React.createElement(TypeaheadComponent, { className: isErrored ? "sid-text-input--error" : "", countryCode: getSafe(() => verificationService.viewModel.countryChoice.value), minimumSearchValueLength: getOptions().minimumOrganizationSearchLength, onChange: (choice) => onChange(choice), placeholder: placeholder ||
19388
- intl.formatMessage({ id: "organizationPlaceholder", defaultMessage: "Organization" }), programId: programId, value: value, inputHtmlId: id, openOrgSearchEnabled: verificationService.programTheme.openOrgSearchEnabled, orgSearchUrl: verificationService.programTheme.config.orgSearchUrl }),
19503
+ intl.formatHTMLMessage({ id: "organizationPlaceholder", defaultMessage: "Organization" }), programId: programId, value: value, isRequired: true, inputHtmlId: id, openOrgSearchEnabled: verificationService.programTheme.openOrgSearchEnabled, orgSearchUrl: verificationService.programTheme.config.orgSearchUrl }),
19389
19504
  isErrored ? (React.createElement("div", { className: "sid-field-error" },
19390
19505
  React.createElement(FormattedHTMLMessage, { id: "errorId.invalidOrganization", defaultMessage: "You must select an organization from the list" }))) : null));
19391
19506
  };
@@ -19503,7 +19618,8 @@ const MedicalStatus = ({ value, isErrored, options, onChange, intl, placeholder
19503
19618
  return (React.createElement("div", { className: `sid-field ${inputId}` },
19504
19619
  React.createElement("div", { className: "sid-l-space-top-md" }),
19505
19620
  React.createElement(FieldLabel, { text: React.createElement(FormattedHTMLMessage, { id: "status", defaultMessage: "Status" }), htmlForLabel: inputId, id: `${inputId}-label`, displayClasses: placeholder && "sid-h-screen-reader-only" }),
19506
- React.createElement(InputSelectComponent, { fieldId: "status", inputId: inputId, fieldLabelId: `${inputId}-label`, isErrored: isErrored, options: options, onChange: (status) => onChange(status), onKeyDown: onKeyDown, value: value, placeholder: placeholder || intl.formatMessage({ id: "statusPlaceholder", defaultMessage: "Status" }), isRequired: true }),
19621
+ React.createElement(InputSelectComponent, { fieldId: "status", inputId: inputId, fieldLabelId: `${inputId}-label`, isErrored: isErrored, options: options, onChange: (status) => onChange(status), onKeyDown: onKeyDown, value: value, placeholder: placeholder ||
19622
+ intl.formatHTMLMessage({ id: "statusPlaceholder", defaultMessage: "Status" }), isRequired: true }),
19507
19623
  isErrored ? (React.createElement("div", { className: "sid-field-error" },
19508
19624
  React.createElement(FormattedHTMLMessage, { id: "errorId.invalidStatus", defaultMessage: "Invalid medical status" }))) : null));
19509
19625
  };
@@ -19516,7 +19632,7 @@ const MedicalProfessionalOrganization = ({ onChange, value, isErrored, verificat
19516
19632
  React.createElement("div", { className: "sid-l-space-top-md" }),
19517
19633
  React.createElement(FieldLabel, { text: React.createElement(FormattedHTMLMessage, { id: "organization", defaultMessage: "Organization" }), htmlForLabel: id, id: `${id}-label`, displayClasses: placeholder && "sid-h-screen-reader-only" }),
19518
19634
  React.createElement(TypeaheadComponent, { className: isErrored ? "sid-text-input--error" : "", countryCode: getSafe(() => verificationService.viewModel.countryChoice.value), minimumSearchValueLength: getOptions().minimumOrganizationSearchLength, onChange: (choice) => onChange(choice), placeholder: placeholder ||
19519
- intl.formatMessage({ id: "organizationPlaceholder", defaultMessage: "Organization" }), programId: programId, value: value, inputHtmlId: id, openOrgSearchEnabled: verificationService.programTheme.openOrgSearchEnabled, orgSearchUrl: verificationService.programTheme.config.orgSearchUrl, isRequired: true }),
19635
+ intl.formatHTMLMessage({ id: "organizationPlaceholder", defaultMessage: "Organization" }), programId: programId, value: value, inputHtmlId: id, openOrgSearchEnabled: verificationService.programTheme.openOrgSearchEnabled, orgSearchUrl: verificationService.programTheme.config.orgSearchUrl, isRequired: true }),
19520
19636
  isErrored ? (React.createElement("div", { className: "sid-field-error" },
19521
19637
  React.createElement(FormattedHTMLMessage, { id: "errorId.invalidOrganization", defaultMessage: "You must select an organization from the list" }))) : null));
19522
19638
  };
@@ -19657,7 +19773,7 @@ const StepMedicalProfessionalPersonalInfoComponent = injectIntl(StepMedicalProfe
19657
19773
  const State = ({ value, isErrored, onChange, intl, onKeyDown = undefined, placeholder = "", }) => (React.createElement("div", { className: "sid-field sid-state" },
19658
19774
  React.createElement("div", { className: "sid-l-space-top-md" }),
19659
19775
  React.createElement(FieldLabel, { text: React.createElement(FormattedHTMLMessage, { id: "state", defaultMessage: "State" }), htmlForLabel: "sid-state", id: "sid-state-label", displayClasses: placeholder && "sid-h-screen-reader-only" }),
19660
- React.createElement(InputTextComponent, { id: "state", isErrored: isErrored, onChange: (e) => onChange(e.target.value), onKeyDown: typeof onKeyDown === "function" ? (e) => onKeyDown(e) : undefined, placeholder: placeholder || intl.formatMessage({ id: "statePlaceholder", defaultMessage: "State" }), value: value, "aria-labelledby": "sid-state-label" }),
19776
+ React.createElement(InputTextComponent, { id: "state", isErrored: isErrored, onChange: (e) => onChange(e.target.value), onKeyDown: typeof onKeyDown === "function" ? (e) => onKeyDown(e) : undefined, placeholder: placeholder || intl.formatHTMLMessage({ id: "statePlaceholder", defaultMessage: "State" }), value: value, "aria-labelledby": "sid-state-label" }),
19661
19777
  isErrored ? (React.createElement("div", { className: "sid-field-error" },
19662
19778
  React.createElement(FormattedHTMLMessage, { id: "errorId.invalidState", defaultMessage: "Invalid state" }))) : null));
19663
19779
  const StateComponent = injectIntl(State);
@@ -19667,7 +19783,8 @@ const Company = ({ onChange, value, isErrored, verificationService, intl, placeh
19667
19783
  return (React.createElement("div", { className: "sid-field sid-company-id" },
19668
19784
  React.createElement("div", { className: "sid-l-space-top-md" }),
19669
19785
  React.createElement(FieldLabel, { text: React.createElement(FormattedHTMLMessage, { id: "company", defaultMessage: "Company" }), htmlForLabel: "sid-company", id: "sid-company-label", displayClasses: placeholder && "sid-h-screen-reader-only" }),
19670
- React.createElement(TypeaheadComponent, { className: isErrored ? "sid-text-input--error" : "", countryCode: getSafe(() => verificationService.viewModel.countryChoice.value), minimumSearchValueLength: getOptions().minimumOrganizationSearchLength, onChange: (choice) => onChange(choice), placeholder: placeholder || intl.formatMessage({ id: "companyPlaceholder", defaultMessage: "Company" }), programId: programId, value: value, inputHtmlId: "sid-company", openOrgSearchEnabled: verificationService.programTheme.openOrgSearchEnabled, orgSearchUrl: verificationService.programTheme.config.orgSearchUrl }),
19786
+ React.createElement(TypeaheadComponent, { className: isErrored ? "sid-text-input--error" : "", countryCode: getSafe(() => verificationService.viewModel.countryChoice.value), minimumSearchValueLength: getOptions().minimumOrganizationSearchLength, onChange: (choice) => onChange(choice), placeholder: placeholder ||
19787
+ intl.formatHTMLMessage({ id: "companyPlaceholder", defaultMessage: "Company" }), programId: programId, value: value, inputHtmlId: "sid-company", openOrgSearchEnabled: verificationService.programTheme.openOrgSearchEnabled, orgSearchUrl: verificationService.programTheme.config.orgSearchUrl }),
19671
19788
  isErrored ? (React.createElement("div", { className: "sid-field-error" },
19672
19789
  React.createElement(FormattedHTMLMessage, { id: "errorId.invalidOrganization", defaultMessage: "You must select an organization from the list" }))) : null));
19673
19790
  };
@@ -19774,7 +19891,7 @@ const DriverLicenseNumber = ({ value, isErrored, onChange, explanation, intl, pl
19774
19891
  React.createElement("div", { className: "sid-l-space-top-md" }),
19775
19892
  React.createElement(FieldLabel, { text: React.createElement(FormattedHTMLMessage, { id: "driverLicenseNumber", defaultMessage: "Driver license number" }), htmlForLabel: "sid-driver-license-number", id: "sid-driver-license-number-label", displayClasses: `sid-field__label-with-explanation${placeholder && " sid-h-screen-reader-only"}`, isRequired: isRequired }, explanation || getDefaultExplanation()),
19776
19893
  React.createElement(InputTextComponent, { id: "driver-license-number", isErrored: isErrored, onChange: (e) => onChange(e.target.value), placeholder: placeholder ||
19777
- intl.formatMessage({
19894
+ intl.formatHTMLMessage({
19778
19895
  id: "driverLicenseNumberPlaceholder",
19779
19896
  defaultMessage: "Driver license number",
19780
19897
  }), refId: "driverLicenseNumber", value: value, required: isRequired, "aria-labelledby": "sid-driver-license-number-label" }),
@@ -19789,13 +19906,13 @@ const StateSelect = ({ value, isErrored, options, onChange, onKeyDown, intl, pla
19789
19906
  React.createElement("div", { className: "sid-l-space-top-md" }),
19790
19907
  React.createElement(FieldLabel, { text: label || React.createElement(FormattedHTMLMessage, { id: "state", defaultMessage: "State where you live" }), htmlForLabel: inputId, id: `${inputId}-label`, displayClasses: placeholder && "sid-h-screen-reader-only", isRequired: isRequired }),
19791
19908
  React.createElement(InputSelectComponent, { fieldId: "state", inputId: inputId, fieldLabelId: `${inputId}-label`, isErrored: isErrored, options: options, onChange: (state) => onChange(state), onKeyDown: onKeyDown, placeholder: placeholder ||
19792
- intl.formatMessage({
19909
+ intl.formatHTMLMessage({
19793
19910
  id: "statePlaceholder",
19794
19911
  defaultMessage: "State",
19795
19912
  }), value: value
19796
19913
  ? {
19797
19914
  value: value.value,
19798
- label: intl.formatMessage({
19915
+ label: intl.formatHTMLMessage({
19799
19916
  id: `states.${value.value}`,
19800
19917
  defaultMessage: value.label || value.value,
19801
19918
  }),
@@ -20072,7 +20189,8 @@ const Status = ({ value, isErrored, options, onChange, intl, placeholder = "", o
20072
20189
  return (React.createElement("div", { className: `sid-field ${inputId}` },
20073
20190
  React.createElement("div", { className: "sid-l-space-top-md" }),
20074
20191
  React.createElement(FieldLabel, { text: React.createElement(FormattedHTMLMessage, { id: "status", defaultMessage: "Status" }), htmlForLabel: inputId, id: `${inputId}-label`, displayClasses: placeholder && "sid-h-screen-reader-only" }),
20075
- React.createElement(InputSelectComponent, { fieldId: "status", inputId: inputId, fieldLabelId: `${inputId}-label`, isErrored: isErrored, options: options, onChange: (status) => onChange(status), onKeyDown: onKeyDown, value: value, placeholder: placeholder || intl.formatMessage({ id: "statusPlaceholder", defaultMessage: "Status" }), isRequired: true }),
20192
+ React.createElement(InputSelectComponent, { fieldId: "status", inputId: inputId, fieldLabelId: `${inputId}-label`, isErrored: isErrored, options: options, onChange: (status) => onChange(status), onKeyDown: onKeyDown, value: value, placeholder: placeholder ||
20193
+ intl.formatHTMLMessage({ id: "statusPlaceholder", defaultMessage: "Status" }), isRequired: true }),
20076
20194
  isErrored ? (React.createElement("div", { className: "sid-field-error" },
20077
20195
  React.createElement(FormattedHTMLMessage, { id: "errorId.invalidStatus", defaultMessage: "Invalid status" }))) : null));
20078
20196
  };
@@ -20084,7 +20202,10 @@ const LicensedProfessionalOrganization = ({ value, isErrored, onChange, verifica
20084
20202
  React.createElement("div", { className: "sid-l-space-top-md" }),
20085
20203
  React.createElement(FieldLabel, { text: React.createElement(FormattedHTMLMessage, { id: "organization", defaultMessage: "Organization" }), htmlForLabel: "sid-licensed-professional", id: "sid-licensed-professional-label", displayClasses: placeholder && "sid-h-screen-reader-only" }),
20086
20204
  React.createElement(TypeaheadComponent, { className: isErrored ? "sid-text-input--error" : "", countryCode: getSafe(() => verificationService.viewModel.countryChoice.value), onChange: (choice) => onChange(choice), minimumSearchValueLength: getOptions().minimumOrganizationSearchLength, placeholder: placeholder ||
20087
- intl.formatMessage({ id: "organizationNamePlaceholder", defaultMessage: "Organization" }), programId: programId, value: value, inputHtmlId: "sid-licensed-professional", openOrgSearchEnabled: verificationService.programTheme.openOrgSearchEnabled, orgSearchUrl: verificationService.programTheme.config.orgSearchUrl }),
20205
+ intl.formatHTMLMessage({
20206
+ id: "organizationNamePlaceholder",
20207
+ defaultMessage: "Organization",
20208
+ }), programId: programId, value: value, inputHtmlId: "sid-licensed-professional", openOrgSearchEnabled: verificationService.programTheme.openOrgSearchEnabled, orgSearchUrl: verificationService.programTheme.config.orgSearchUrl }),
20088
20209
  isErrored ? (React.createElement("div", { className: "sid-field-error" },
20089
20210
  React.createElement(FormattedHTMLMessage, { id: "errorId.invalidOrganization", defaultMessage: "You must select an organization from the list" }))) : null));
20090
20211
  };
@@ -20111,7 +20232,7 @@ const StepLicensedProfessionalPersonalInfo = ({ intl, verificationService, }) =>
20111
20232
  if (!status) {
20112
20233
  return "";
20113
20234
  }
20114
- return intl.formatMessage({ id: status, defaultMessage: defaultStatusMessages[status] });
20235
+ return intl.formatHTMLMessage({ id: status, defaultMessage: defaultStatusMessages[status] });
20115
20236
  };
20116
20237
  const getAvailableLicensedProfessionalStatuses = () => {
20117
20238
  const availableStatusesResponse = verificationResponse.availableStatuses;
@@ -20262,6 +20383,104 @@ const StepMoverPersonalInfo = ({ verificationService }) => {
20262
20383
  };
20263
20384
  const StepMoverPersonalInfoComponent = injectIntl(StepMoverPersonalInfo);
20264
20385
 
20386
+ const LowIncomeOrganization = ({ value, isErrored, onChange, verificationService, intl, placeholder = "", }) => {
20387
+ const { programId } = verificationService;
20388
+ return (React.createElement("div", { className: "sid-field sid-low-income-id" },
20389
+ React.createElement("div", { className: "sid-l-space-top-md" }),
20390
+ React.createElement(FieldLabel, { text: React.createElement(FormattedHTMLMessage, { id: "organization", defaultMessage: "Government Assistance Program" }), htmlForLabel: "sid-low-income", id: "sid-low-income-label", displayClasses: placeholder && "sid-h-screen-reader-only" }),
20391
+ React.createElement(TypeaheadComponent, { className: isErrored ? "sid-text-input--error" : "", countryCode: getSafe(() => verificationService.viewModel.countryChoice.value), onChange: (choice) => onChange(choice), minimumSearchValueLength: getOptions().minimumOrganizationSearchLength, placeholder: placeholder ||
20392
+ intl.formatHTMLMessage({
20393
+ id: "organizationNamePlaceholder",
20394
+ defaultMessage: "Government Assistance Program",
20395
+ }), programId: programId, value: value, inputHtmlId: "sid-low-income", openOrgSearchEnabled: verificationService.programTheme.openOrgSearchEnabled, orgSearchUrl: verificationService.programTheme.config.orgSearchUrl }),
20396
+ isErrored ? (React.createElement("div", { className: "sid-field-error" },
20397
+ React.createElement(FormattedHTMLMessage, { id: "errorId.invalidOrganization", defaultMessage: "You must select an organization from the list" }))) : null));
20398
+ };
20399
+ const LowIncomeOrganizationComponent = injectIntl(LowIncomeOrganization);
20400
+
20401
+ const StepLowIncomePersonalInfo = ({ intl, verificationService, }) => {
20402
+ const viewModel = verificationService.viewModel;
20403
+ const { fieldValidationErrors } = verificationService;
20404
+ const verificationResponse = verificationService.verificationResponse;
20405
+ const failedInstantMatch = hasFailedInstantMatch(verificationResponse);
20406
+ const localeChoices = getAvailableLocaleChoices(verificationService.programTheme, intl);
20407
+ const defaultLocaleChoice = {
20408
+ value: "en-US",
20409
+ label: "English",
20410
+ };
20411
+ const updateLowIncomeViewModel = (key, value) => {
20412
+ const nextState = fn(viewModel, (draft) => {
20413
+ draft[key] = value;
20414
+ });
20415
+ verificationService.updateViewModel(nextState);
20416
+ };
20417
+ const updateLocale = (localeChoice) => {
20418
+ const nextState = fn(viewModel, (draft) => {
20419
+ draft.localeChoice = localeChoice;
20420
+ });
20421
+ verificationService.updateLocale(nextState, verificationService.programTheme, verificationService.verificationResponse.segment);
20422
+ };
20423
+ return (React.createElement("div", { id: "sid-step-low-income-personal-info", className: "sid-l-container" },
20424
+ failedInstantMatch ? (React.createElement("div", { className: "sid-header" },
20425
+ React.createElement("div", { className: "sid-l-horz-center" },
20426
+ React.createElement(LogoComponent, { verificationService: verificationService })),
20427
+ React.createElement("div", { className: "sid-header__title sid-l-horz-center" },
20428
+ React.createElement(FormattedHTMLMessage, { id: "step.personalInfo.tryAgain.title", defaultMessage: "Check Your full name & other fields" })),
20429
+ React.createElement("div", { className: "sid-header__subtitle sid-l-horz-center sid-header__subtitle--error" },
20430
+ React.createElement(FormattedHTMLMessage, { id: "step.personalInfo.tryAgain.subtitle", defaultMessage: "Your information must match what is on your government-issued document(s)." })))) : (React.createElement("div", { className: "sid-header" },
20431
+ React.createElement("div", { className: "sid-l-horz-center" },
20432
+ React.createElement(LogoComponent, { verificationService: verificationService })),
20433
+ React.createElement("div", { className: "sid-header__title sid-l-horz-center" },
20434
+ React.createElement(FormattedHTMLMessage, { id: "step.personalInfo.title", defaultMessage: "Unlock this Special Offer", tagName: "h1" })),
20435
+ React.createElement("div", { className: "sid-header__subtitle sid-l-horz-center" },
20436
+ React.createElement(FormattedHTMLMessage, { id: "step.personalInfo.subtitle", defaultMessage: "Verify you qualify for an eligible government assistance program." }),
20437
+ "\u00A0",
20438
+ React.createElement(HowDoesVerifyingWorkComponent, { verificationService: verificationService }),
20439
+ React.createElement(RewardsRemainingComponent, { verificationService: verificationService })))),
20440
+ localeChoices.length > 1 ? (React.createElement(ChangeLocaleComponent, { options: localeChoices, value: viewModel.localeChoice || defaultLocaleChoice, isErrored: false, onChange: (localeChoice) => updateLocale(localeChoice) })) : null,
20441
+ React.createElement(CountryComponentWrapper, { verificationService: verificationService, viewModel: viewModel }),
20442
+ React.createElement(LowIncomeOrganizationComponent, { isErrored: !!fieldValidationErrors.organization, onChange: (choice) => {
20443
+ updateViewModelOrganization(choice, verificationService);
20444
+ updateFieldValidationErrorsByFieldId("organization", choice, verificationService);
20445
+ }, value: verificationService.viewModel.organization, verificationService: verificationService }),
20446
+ React.createElement("div", { className: "sid-names" },
20447
+ React.createElement(FirstNameComponent, { value: viewModel.firstName, isErrored: !!fieldValidationErrors.firstName, onChange: (newValue) => {
20448
+ updateLowIncomeViewModel("firstName", newValue);
20449
+ updateFieldValidationErrorsByFieldId("firstName", newValue, verificationService);
20450
+ } }),
20451
+ React.createElement(LastNameComponent, { value: viewModel.lastName, isErrored: !!fieldValidationErrors.lastName, onChange: (newValue) => {
20452
+ updateLowIncomeViewModel("lastName", newValue);
20453
+ updateFieldValidationErrorsByFieldId("lastName", newValue, verificationService);
20454
+ } })),
20455
+ React.createElement(BirthDateComponent, { isErrored: !!fieldValidationErrors.birthDate, errorId: fieldValidationErrors.birthDate, onChange: (newValue) => {
20456
+ updateLowIncomeViewModel("birthDate", newValue);
20457
+ updateFieldValidationErrorsByFieldId("birthDate", newValue, verificationService);
20458
+ }, value: viewModel.birthDate }),
20459
+ React.createElement(PostalCodeComponent, { isErrored: !!fieldValidationErrors.postalCode, onChange: (newValue) => {
20460
+ updateLowIncomeViewModel("postalCode", newValue);
20461
+ updateFieldValidationErrorsByFieldId("postalCode", newValue, verificationService);
20462
+ }, value: viewModel.postalCode, explanation: React.createElement(FormattedHTMLMessage, { id: "postalCodeExplanation", defaultMessage: "Use the location on file with your licensing body" }) }),
20463
+ React.createElement(EmailComponent, { value: viewModel.email, isErrored: !!fieldValidationErrors.email, explanation: React.createElement(FormattedHTMLMessage, { id: "emailExplanation", defaultMessage: "Needed to send you your unique code" }), onChange: (newValue) => {
20464
+ updateLowIncomeViewModel("email", newValue);
20465
+ updateFieldValidationErrorsByFieldId("email", newValue, verificationService);
20466
+ }, onKeyDown: (event) => handleEmailOnKeyDown(event) }),
20467
+ React.createElement(MarketConsentWrapperComponent, { verificationService: verificationService, isErrored: !!fieldValidationErrors.marketConsentValue, onChange: (newValue) => {
20468
+ updateLowIncomeViewModel("metadata", {
20469
+ ...verificationService.viewModel.metadata,
20470
+ marketConsentValue: newValue,
20471
+ });
20472
+ updateFieldValidationErrorsByFieldId("marketConsentValue", newValue, verificationService);
20473
+ }, viewModel: viewModel }),
20474
+ React.createElement("div", { className: "sid-form-region sid-submit-wrapper sid-l-space-top-md" },
20475
+ React.createElement("div", { className: "sid-submit" },
20476
+ React.createElement("button", { id: "sid-submit-btn-collect-info", onClick: () => submitForm(viewModel, verificationService, VerificationStepsEnum.collectLowIncomePersonalInfo), type: "submit", className: `sid-btn sid-btn--dark sid-l-full-width ${!isFormFilled(viewModel, verificationService.formValidationOptions)
20477
+ ? "sid-btn--disabled-like"
20478
+ : ""}`, "aria-labelledby": "verify-status-text", ref: (button) => setRef("submitButton", button) },
20479
+ React.createElement("span", { id: "verify-status-text" }, failedInstantMatch ? (React.createElement(FormattedHTMLMessage, { id: "tryAgain", defaultMessage: "Try Again" })) : (React.createElement(FormattedHTMLMessage, { id: "verifyMyLowIncomeStatus", defaultMessage: "Verify My Status" })))))),
20480
+ React.createElement(FormFooterComponent, { verificationService: verificationService })));
20481
+ };
20482
+ const StepLowIncomePersonalInfoComponent = injectIntl(StepLowIncomePersonalInfo);
20483
+
20265
20484
  // Collect status is identical to Active at this time.
20266
20485
  const StepCollectMilitaryStatusComponent = ({ verificationService, }) => (React.createElement(StepActiveMilitaryPersonalInfoComponent, { verificationService: verificationService }));
20267
20486
 
@@ -20304,7 +20523,8 @@ const SocialSecurity = ({ value, isErrored, onChange, intl, placeholder = "", })
20304
20523
  return (React.createElement("div", { className: "sid-field sid-ssn" },
20305
20524
  React.createElement("div", { className: "sid-l-space-top-md" }),
20306
20525
  React.createElement(FieldLabel, { text: React.createElement(FormattedHTMLMessage, { id: "ssn", defaultMessage: "Social Security Number" }), htmlForLabel: "sid-ssn", id: "sid-ssn-label", displayClasses: placeholder && "sid-h-screen-reader-only" }),
20307
- React.createElement(InputTextComponent, { id: "ssn", refId: FieldIdEnum.socialSecurityNumber, className: "sid-ssn__input", isErrored: isErrored, required: true, placeholder: placeholder || intl.formatMessage({ id: "ssnPlaceholder", defaultMessage: "000-00-0000" }), value: displaySSN(value), hidePlaceholder: false, onChange: (e) => changeSsn(unDisplaySSN(e.target.value)), "aria-labelledby": "sid-ssn-label" }),
20526
+ React.createElement(InputTextComponent, { id: "ssn", refId: FieldIdEnum.socialSecurityNumber, className: "sid-ssn__input", isErrored: isErrored, required: true, placeholder: placeholder ||
20527
+ intl.formatHTMLMessage({ id: "ssnPlaceholder", defaultMessage: "000-00-0000" }), value: displaySSN(value), hidePlaceholder: false, onChange: (e) => changeSsn(unDisplaySSN(e.target.value)), "aria-labelledby": "sid-ssn-label" }),
20308
20528
  isErrored ? (React.createElement("div", { className: "sid-field-error" },
20309
20529
  React.createElement(FormattedHTMLMessage, { id: "errorId.invalidSocialSecurityNumber", defaultMessage: "Invalid SSN" }))) : null));
20310
20530
  };
@@ -20517,7 +20737,7 @@ const StepSuccess = ({ verificationService }) => {
20517
20737
  return (React.createElement("div", { id: "sid-step-success", className: "sid-l-container" },
20518
20738
  React.createElement("div", { className: "sid-header sid-l-horz-center sid-l-space-top-md" },
20519
20739
  React.createElement("div", { className: "sid-l-horz-center" }, hasLogo ? (React.createElement(LogoComponent, { verificationService: verificationService })) : (React.createElement("img", { className: "sid-l-lead-image", alt: "", src: "https://assets-resources.sheerid.com/common/images/2018/icons/circle-check.svg" }))),
20520
- React.createElement("div", { className: "sid-header__title sid-l-horz-center sid-l-space-top-md", role: "status", "aria-live": "polite" },
20740
+ React.createElement("div", { className: "sid-header__title sid-l-horz-center sid-l-space-top-md", role: "alert", "aria-live": "polite" },
20521
20741
  React.createElement(FormattedHTMLMessage, { id: "step.success.title", defaultMessage: "Success! You've been verified." })),
20522
20742
  React.createElement("div", { className: "sid-header__subtitle sid-l-horz-center sid-l-two-thirds-width" },
20523
20743
  React.createElement(FormattedHTMLMessage, { id: "step.success.subtitle", defaultMessage: `Here is your personal coupon code.
@@ -20535,7 +20755,7 @@ const StepSuccess = ({ verificationService }) => {
20535
20755
  React.createElement("button", { type: "button", onClick: () => redirect(redirectDestination), className: "sid-btn sid-btn--dark" },
20536
20756
  React.createElement(FormattedHTMLMessage, { id: "step.success.redirectButtonText", defaultMessage: "Use code now" })))) : (""),
20537
20757
  React.createElement("div", { className: "sid-footer sid-l-horz-center sid-l-space-top-lg sid-h-small-text" },
20538
- React.createElement(FormattedMessage, { id: "companyName", defaultMessage: "{Company}" }, (companyName) => (React.createElement(FormattedHTMLMessage, { id: "step.success.verificationOnly", defaultMessage: `
20758
+ React.createElement(FormattedHTMLMessage, { id: "companyName", defaultMessage: "{Company}" }, (companyName) => (React.createElement(FormattedHTMLMessage, { id: "step.success.verificationOnly", defaultMessage: `
20539
20759
  SheerID handles verification only.
20540
20760
  Now that you've been approved, please direct all questions about the
20541
20761
  promotion terms to {companyName} customer service.
@@ -20706,18 +20926,18 @@ const SMSCode = ({ onChange, value, isErrored, errorId, intl, placeholder = "",
20706
20926
  const getErrorMessage = (errorId) => {
20707
20927
  switch (errorId) {
20708
20928
  case "invalidSMSCode":
20709
- return (React.createElement(FormattedMessage, { id: "step.smsLoop.errors.codeVerification", defaultMessage: "Verification code could not be validated." }));
20929
+ return (React.createElement(FormattedHTMLMessage, { id: "step.smsLoop.errors.codeVerification", defaultMessage: "Verification code could not be validated." }));
20710
20930
  case "expiredSMSCode":
20711
- return (React.createElement(FormattedMessage, { id: "step.smsLoop.errors.codeExpired", defaultMessage: "Verification code expired." }));
20931
+ return (React.createElement(FormattedHTMLMessage, { id: "step.smsLoop.errors.codeExpired", defaultMessage: "Verification code expired." }));
20712
20932
  default:
20713
- return React.createElement(FormattedMessage, { id: "errorId.unknownError", defaultMessage: "Unknown Error" });
20933
+ return React.createElement(FormattedHTMLMessage, { id: "errorId.unknownError", defaultMessage: "Unknown Error" });
20714
20934
  }
20715
20935
  };
20716
20936
  return (React.createElement("div", { className: "sid-field sid-sms-code-id" },
20717
20937
  React.createElement("div", { className: "sid-l-space-top-md" }),
20718
20938
  isErrored ? React.createElement("div", { className: "sid-field-error" }, getErrorMessage(errorId)) : null,
20719
20939
  React.createElement(InputTextComponent, { id: "sms-code", isErrored: isErrored, required: true, placeholder: placeholder ||
20720
- intl.formatMessage({ id: "smsCodePlaceholder", defaultMessage: "SMS Code" }), value: value, onChange: (e) => onChange(e.target.value) })));
20940
+ intl.formatHTMLMessage({ id: "smsCodePlaceholder", defaultMessage: "SMS Code" }), value: value, onChange: (e) => onChange(e.target.value) })));
20721
20941
  };
20722
20942
  const SMSCodeComponent = injectIntl(SMSCode);
20723
20943
 
@@ -20729,19 +20949,19 @@ const StepSMSLoop = ({ intl, verificationService }) => {
20729
20949
  const [stepResultMessage, setStepResultMessage] = React.useState("");
20730
20950
  const [isAttemptLimitExceeded, setAttemptLimitExceeded] = React.useState(verificationResponse.errorIds &&
20731
20951
  verificationResponse.errorIds.includes("incorrectSMSCodeAttemptLimitExceeded"));
20732
- const stepSuccessMessage = intl.formatMessage({
20952
+ const stepSuccessMessage = intl.formatHTMLMessage({
20733
20953
  id: "step.smsLoop.successResend",
20734
20954
  defaultMessage: "SMS message re-sent successfully",
20735
20955
  });
20736
- const maxTotalRetriesMessage = intl.formatMessage({
20956
+ const maxTotalRetriesMessage = intl.formatHTMLMessage({
20737
20957
  id: "step.smsLoop.errors.codeResendLimit",
20738
20958
  defaultMessage: "Maximum number of re-tries has been reached.",
20739
20959
  });
20740
- const maxRetriesPerCodeMessage = intl.formatMessage({
20960
+ const maxRetriesPerCodeMessage = intl.formatHTMLMessage({
20741
20961
  id: "step.smsLoop.errors.codeResendLimit",
20742
20962
  defaultMessage: "Maximum number of re-tries has been reached.",
20743
20963
  });
20744
- const errorResendingSMSMessage = intl.formatMessage({
20964
+ const errorResendingSMSMessage = intl.formatHTMLMessage({
20745
20965
  id: "step.smsLoop.errors.resend",
20746
20966
  defaultMessage: "Error sending the SMS message",
20747
20967
  });
@@ -20780,25 +21000,25 @@ const StepSMSLoop = ({ intl, verificationService }) => {
20780
21000
  };
20781
21001
  return (React.createElement("div", { id: "sid-step-sms-loop", className: "sid-l-container" },
20782
21002
  React.createElement("div", { className: "sid-header__title sid-l-horz-center" },
20783
- React.createElement(FormattedMessage, { id: "step.smsLoop.verificationCode", defaultMessage: "Verification Code" })),
20784
- React.createElement("div", { className: "sid-header__subtitle" }, getSafe(() => previousViewModel.phoneNumber) ? (React.createElement(FormattedMessage, { id: "step.smsLoop.titleWithNumber", defaultMessage: "We've sent an SMS message to the mobile number ending in {number}. Enter your code here.", values: {
21003
+ React.createElement(FormattedHTMLMessage, { id: "step.smsLoop.verificationCode", defaultMessage: "Verification Code" })),
21004
+ React.createElement("div", { className: "sid-header__subtitle" }, getSafe(() => previousViewModel.phoneNumber) ? (React.createElement(FormattedHTMLMessage, { id: "step.smsLoop.titleWithNumber", defaultMessage: "We've sent an SMS message to the mobile number ending in {number}. Enter your code here.", values: {
20785
21005
  number: getSafe(() => previousViewModel.phoneNumber.slice(-4), ""),
20786
- } })) : (React.createElement(FormattedMessage, { id: "step.smsLoop.titleWithoutNumber", defaultMessage: "We've sent an SMS to your mobile number. Please enter the code here." }))),
21006
+ } })) : (React.createElement(FormattedHTMLMessage, { id: "step.smsLoop.titleWithoutNumber", defaultMessage: "We've sent an SMS to your mobile number. Please enter the code here." }))),
20787
21007
  React.createElement("div", { className: "sid-sms-code-id-wrapper sid-l-horz-center" },
20788
21008
  React.createElement(SMSCodeComponent, { onChange: updateSmsCode, value: viewModel.smsCode, isErrored: isErrored, errorId: verificationService.fieldValidationErrors.smsCode })),
20789
21009
  stepResultMessage && (React.createElement("div", null,
20790
21010
  React.createElement("p", null, stepResultMessage))),
20791
21011
  React.createElement("div", { className: "sid-submit sid-l-space-top-md sid-l-horz-center" },
20792
21012
  React.createElement("button", { id: "sid-submit-sms-code", onClick: submitForm, type: "button", className: "sid-btn sid-btn--dark sid-submit__continue", "aria-label": "submit", disabled: !!(!viewModel.smsCode || viewModel.smsCode.length <= 0 || isAttemptLimitExceeded) },
20793
- React.createElement(FormattedMessage, { id: "step.smsLoop.submitButton", defaultMessage: "Submit" })),
21013
+ React.createElement(FormattedHTMLMessage, { id: "step.smsLoop.submitButton", defaultMessage: "Submit" })),
20794
21014
  React.createElement("div", { className: "sid-l-space-left-sm" }, "\u00A0"),
20795
21015
  React.createElement("button", { id: "sid-resend-sms-code", onClick: () => resendSmsCode(verificationResponse.verificationId), type: "submit", className: "sid-btn sid-btn--light sid-submit__cancel", "aria-label": "re-send" },
20796
- React.createElement(FormattedMessage, { id: "step.smsLoop.resendButton", defaultMessage: "Re-send" }))),
21016
+ React.createElement(FormattedHTMLMessage, { id: "step.smsLoop.resendButton", defaultMessage: "Re-send" }))),
20797
21017
  React.createElement("div", { className: "sid-incorrect-number sid-l-horz-center" },
20798
- React.createElement(FormattedMessage, { id: "step.smsLoop.incorrectNumber.incorrectNumber1", defaultMessage: "Incorrect number? Click " }),
21018
+ React.createElement(FormattedHTMLMessage, { id: "step.smsLoop.incorrectNumber.incorrectNumber1", defaultMessage: "Incorrect number? Click " }),
20799
21019
  React.createElement("button", { type: "button", onClick: () => window.location.reload(), className: "sid-incorrect-number__refresh-link" },
20800
21020
  React.createElement(FormattedHTMLMessage, { id: "step.smsLoop.incorrectNumber.incorrectNumber2", defaultMessage: "here " })),
20801
- React.createElement(FormattedMessage, { id: "companyName", defaultMessage: "{Company}" }, (companyName) => (React.createElement(FormattedMessage, { id: "step.smsLoop.incorrectNumber.incorrectNumber3", defaultMessage: "to return to {companyName}", values: { companyName } }))))));
21021
+ React.createElement(FormattedHTMLMessage, { id: "companyName", defaultMessage: "{Company}" }, (companyName) => (React.createElement(FormattedHTMLMessage, { id: "step.smsLoop.incorrectNumber.incorrectNumber3", defaultMessage: "to return to {companyName}", values: { companyName } }))))));
20802
21022
  };
20803
21023
  const StepSMSLoopComponent = injectIntl(StepSMSLoop);
20804
21024
 
@@ -20843,12 +21063,12 @@ const StepEmailLoop = ({ intl, verificationService }) => {
20843
21063
  defaultMessage: "Error sending email",
20844
21064
  };
20845
21065
  const message = response.status === 204
20846
- ? intl.formatMessage(successMsgObject)
20847
- : intl.formatMessage(maxRetriesMsgObject);
21066
+ ? intl.formatHTMLMessage(successMsgObject)
21067
+ : intl.formatHTMLMessage(maxRetriesMsgObject);
20848
21068
  setResendMessage(message);
20849
21069
  }
20850
21070
  else {
20851
- setResendMessage(intl.formatMessage({
21071
+ setResendMessage(intl.formatHTMLMessage({
20852
21072
  id: "step.emailLoop.errors.resend",
20853
21073
  defaultMessage: "Error sending email",
20854
21074
  }));
@@ -20863,19 +21083,19 @@ const StepEmailLoop = ({ intl, verificationService }) => {
20863
21083
  React.createElement("div", { className: "sid-header sid-l-horz-center" },
20864
21084
  React.createElement("div", { className: "sid-l-horz-center" }, logo),
20865
21085
  React.createElement("div", { className: "sid-header__title sid-l-horz-center sid-l-space-top-md" },
20866
- React.createElement(FormattedMessage, { id: "step.emailLoop.title", defaultMessage: "Check your email" })),
20867
- React.createElement("div", { className: "sid-header__subtitle-one" }, email ? (React.createElement(FormattedMessage, { id: "step.emailLoop.subtitleWithEmail", defaultMessage: "An email has been sent to {email} with a personalized link to complete the verification process.", values: { email } })) : (React.createElement(FormattedMessage, { id: "step.emailLoop.subtitleWithoutEmail", defaultMessage: "An email has been sent to your email account with a personalized link to complete the verification process." }))),
21086
+ React.createElement(FormattedHTMLMessage, { id: "step.emailLoop.title", defaultMessage: "Check your email" })),
21087
+ React.createElement("div", { className: "sid-header__subtitle-one" }, email ? (React.createElement(FormattedHTMLMessage, { id: "step.emailLoop.subtitleWithEmail", defaultMessage: "An email has been sent to {email} with a personalized link to complete the verification process.", values: { email } })) : (React.createElement(FormattedHTMLMessage, { id: "step.emailLoop.subtitleWithoutEmail", defaultMessage: "An email has been sent to your email account with a personalized link to complete the verification process." }))),
20868
21088
  React.createElement("div", { className: "sid-l-space-top-md" }),
20869
21089
  React.createElement("div", { className: "sid-header__subtitle-two sid-h-small-text sid-l-space-top-md" },
20870
- React.createElement(FormattedMessage, { id: "step.emailLoop.subtitle2", defaultMessage: "Please check for an email from us (verify@sheerid.com) for all the details." })),
21090
+ React.createElement(FormattedHTMLMessage, { id: "step.emailLoop.subtitle2", defaultMessage: "Please check for an email from us (verify@sheerid.com) for all the details." })),
20871
21091
  canCancelEmailLoop && (React.createElement("div", { className: "sid-skip-email sid-l-space-top-lg" },
20872
- React.createElement(FormattedMessage, { id: "step.emailLoop.skipEmail", defaultMessage: "Unable to retrieve this email? Click " }),
21092
+ React.createElement(FormattedHTMLMessage, { id: "step.emailLoop.skipEmail", defaultMessage: "Unable to retrieve this email? Click " }),
20873
21093
  React.createElement("button", { type: "button", onClick: () => cancelEmailLoop(), className: "sid-incorrect-number__refresh-link" },
20874
21094
  React.createElement(FormattedHTMLMessage, { id: "step.emailLoop.skipEmailCTA", defaultMessage: "here" })),
20875
- React.createElement(FormattedMessage, { id: "step.emailLoop.skipEmail2", defaultMessage: " to proceed." }))),
21095
+ React.createElement(FormattedHTMLMessage, { id: "step.emailLoop.skipEmail2", defaultMessage: " to proceed." }))),
20876
21096
  canResendEmailLoop && (React.createElement("div", { className: "sid-header__resend-btn sid-l-space-top-md" },
20877
21097
  React.createElement("button", { id: "sid-resend-email", onClick: () => resendEmail(verificationId), type: "submit", className: "sid-btn sid-btn--light sid-submit__cancel sid-l-horz-center", "aria-label": "re-send" },
20878
- React.createElement(FormattedMessage, { id: "step.emailLoop.resendButton", defaultMessage: "Re-send" })))),
21098
+ React.createElement(FormattedHTMLMessage, { id: "step.emailLoop.resendButton", defaultMessage: "Re-send" })))),
20879
21099
  resendMessage && (React.createElement("div", null,
20880
21100
  React.createElement("p", null, resendMessage))),
20881
21101
  React.createElement("div", { className: "sid-l-space-top-xl" }))));
@@ -22339,13 +22559,24 @@ const AcceptableUploadsComponent = ({ verificationService }) => {
22339
22559
  React.createElement("li", { className: "sid-acceptable-uploads-list__li" },
22340
22560
  React.createElement(FormattedHTMLMessage, { id: "step.docUpload.acceptableUploads.recentMover.rentalAgreement", defaultMessage: "Lease or rental agreement" }))));
22341
22561
  break;
22562
+ case SegmentEnum.LOW_INCOME:
22563
+ acceptableUploads = (React.createElement("ul", { className: "sid-acceptable-uploads-list" },
22564
+ React.createElement("li", { className: "sid-acceptable-uploads-list__li" },
22565
+ React.createElement(FormattedHTMLMessage, { id: "step.docUpload.acceptableUploads.lowIncome.programCard", defaultMessage: "Back and front of a card showing you qualify for the selected government assistance program (for example, an EBT card for a SNAP Program)." })),
22566
+ React.createElement("li", { className: "sid-acceptable-uploads-list__li" },
22567
+ React.createElement(FormattedHTMLMessage, { id: "step.docUpload.acceptableUploads.lowIncome.programApprovalLetter", defaultMessage: "Approval letter of the selected government assistance program issued by a government agency (for example, a Supplemental Security Income (SSI) eligibility letter)." })),
22568
+ React.createElement("li", { className: "sid-acceptable-uploads-list__li" },
22569
+ React.createElement(FormattedHTMLMessage, { id: "step.docUpload.acceptableUploads.lowIncome.programApprovalScreenshot", defaultMessage: "A screenshot of the online portal of the selected government assistance program showing you qualify for it (Screenshot of your Medicare application status on your online account)." })),
22570
+ React.createElement("li", { className: "sid-acceptable-uploads-list__li" },
22571
+ React.createElement(FormattedHTMLMessage, { id: "step.docUpload.acceptableUploads.lowIncome.programBankStatement", defaultMessage: "A bank statement showing recent payment of the selected benefit." }))));
22572
+ break;
22342
22573
  default:
22343
22574
  return null;
22344
22575
  }
22345
22576
  return (React.createElement("div", null,
22346
22577
  React.createElement("span", null,
22347
22578
  React.createElement("strong", null,
22348
- React.createElement(FormattedMessage, { id: "step.docUpload.acceptableUploadExamples", defaultMessage: "Acceptable examples include:" }))),
22579
+ React.createElement(FormattedHTMLMessage, { id: "step.docUpload.acceptableUploadExamples", defaultMessage: "Acceptable examples include:" }))),
22349
22580
  acceptableUploads));
22350
22581
  };
22351
22582
 
@@ -22358,160 +22589,165 @@ const UploadInfoComponent = ({ verificationService }) => {
22358
22589
  return (React.createElement("div", null,
22359
22590
  React.createElement("span", null,
22360
22591
  React.createElement("strong", null,
22361
- React.createElement(FormattedMessage, { id: "step.docUpload.uploadInstructions", defaultMessage: "Upload your school-issued document that shows:" }))),
22592
+ React.createElement(FormattedHTMLMessage, { id: "step.docUpload.uploadInstructions", defaultMessage: "Upload your school-issued document that shows:" }))),
22362
22593
  React.createElement("ul", { className: "sid-upload-info-list" },
22363
22594
  React.createElement("li", { className: "sid-upload-info-list__li" },
22364
- React.createElement(FormattedMessage, { id: "step.docUpload.uploadInfo.fullName", defaultMessage: "Your full name" })),
22595
+ React.createElement(FormattedHTMLMessage, { id: "step.docUpload.uploadInfo.fullName", defaultMessage: "Your full name" })),
22365
22596
  React.createElement("li", { className: "sid-upload-info-list__li" },
22366
- React.createElement(FormattedMessage, { id: "step.docUpload.uploadInfo.student.school", defaultMessage: "Your school" })),
22597
+ React.createElement(FormattedHTMLMessage, { id: "step.docUpload.uploadInfo.student.school", defaultMessage: "Your school" })),
22367
22598
  React.createElement("li", { className: "sid-upload-info-list__li" },
22368
- React.createElement(FormattedMessage, { id: "step.docUpload.uploadInfo.student.enrollmentDate", defaultMessage: "Date proving enrollment for the current term (or within last 3 months)" })))));
22599
+ React.createElement(FormattedHTMLMessage, { id: "step.docUpload.uploadInfo.student.enrollmentDate", defaultMessage: "Date proving enrollment for the current term (or within last 3 months)" })))));
22369
22600
  case SegmentEnum.TEACHER:
22370
22601
  return (React.createElement("div", null,
22371
22602
  React.createElement("span", null,
22372
22603
  React.createElement("strong", null,
22373
- React.createElement(FormattedMessage, { id: "step.docUpload.uploadInstructions", defaultMessage: "Upload your school-issued document that shows:" }))),
22604
+ React.createElement(FormattedHTMLMessage, { id: "step.docUpload.uploadInstructions", defaultMessage: "Upload your school-issued document that shows:" }))),
22374
22605
  React.createElement("ul", { className: "sid-upload-info-list" },
22375
22606
  React.createElement("li", { className: "sid-upload-info-list__li" },
22376
- React.createElement(FormattedMessage, { id: "step.docUpload.uploadInfo.fullName", defaultMessage: "Your full name" })),
22607
+ React.createElement(FormattedHTMLMessage, { id: "step.docUpload.uploadInfo.fullName", defaultMessage: "Your full name" })),
22377
22608
  React.createElement("li", { className: "sid-upload-info-list__li" },
22378
- React.createElement(FormattedMessage, { id: "step.docUpload.uploadInfo.teacher.school", defaultMessage: "Your school" })),
22609
+ React.createElement(FormattedHTMLMessage, { id: "step.docUpload.uploadInfo.teacher.school", defaultMessage: "Your school" })),
22379
22610
  React.createElement("li", { className: "sid-upload-info-list__li" },
22380
- React.createElement(FormattedMessage, { id: "step.docUpload.uploadInfo.teacher.currentSchoolYear", defaultMessage: "A date in the current school year" })))));
22611
+ React.createElement(FormattedHTMLMessage, { id: "step.docUpload.uploadInfo.teacher.currentSchoolYear", defaultMessage: "A date in the current school year" })))));
22381
22612
  case SegmentEnum.MEMBER:
22382
22613
  return (React.createElement("div", null,
22383
22614
  React.createElement("span", null,
22384
22615
  React.createElement("strong", null,
22385
- React.createElement(FormattedMessage, { id: "step.docUpload.uploadInstructions", defaultMessage: "Upload an official document that shows:" }))),
22616
+ React.createElement(FormattedHTMLMessage, { id: "step.docUpload.uploadInstructions", defaultMessage: "Upload an official document that shows:" }))),
22386
22617
  React.createElement("ul", { className: "sid-upload-info-list" },
22387
22618
  React.createElement("li", { className: "sid-upload-info-list__li" },
22388
- React.createElement(FormattedMessage, { id: "step.docUpload.uploadInfo.fullName", defaultMessage: "Your full name" })),
22619
+ React.createElement(FormattedHTMLMessage, { id: "step.docUpload.uploadInfo.fullName", defaultMessage: "Your full name" })),
22389
22620
  React.createElement("li", { className: "sid-upload-info-list__li" },
22390
- React.createElement(FormattedMessage, { id: "step.docUpload.uploadInfo.organization", defaultMessage: "Your organization" })),
22621
+ React.createElement(FormattedHTMLMessage, { id: "step.docUpload.uploadInfo.organization", defaultMessage: "Your organization" })),
22391
22622
  React.createElement("li", { className: "sid-upload-info-list__li" },
22392
- React.createElement(FormattedMessage, { id: "step.docUpload.uploadInfo.affiliation", defaultMessage: "Your current affiliation with that organization" })))));
22623
+ React.createElement(FormattedHTMLMessage, { id: "step.docUpload.uploadInfo.affiliation", defaultMessage: "Your current affiliation with that organization" })))));
22393
22624
  case SegmentEnum.MILITARY:
22394
22625
  switch (subSegment) {
22395
22626
  case SubSegmentEnum.MILITARY_FAMILY:
22396
22627
  return (React.createElement("div", null,
22397
22628
  React.createElement("span", null,
22398
22629
  React.createElement("strong", null,
22399
- React.createElement(FormattedMessage, { id: "step.docUpload.uploadInfo.military.uploadInstructionsDependent", defaultMessage: "Please upload a Dependent ID card that clearly shows your first name, last name, valid dates and status" })))));
22630
+ React.createElement(FormattedHTMLMessage, { id: "step.docUpload.uploadInfo.military.uploadInstructionsDependent", defaultMessage: "Please upload a Dependent ID card that clearly shows your first name, last name, valid dates and status" })))));
22400
22631
  default:
22401
22632
  return (React.createElement("div", null,
22402
22633
  React.createElement("span", null,
22403
22634
  React.createElement("strong", null,
22404
- React.createElement(FormattedMessage, { id: "step.docUpload.uploadInstructions", defaultMessage: "Upload your government-issued document that shows:" }))),
22635
+ React.createElement(FormattedHTMLMessage, { id: "step.docUpload.uploadInstructions", defaultMessage: "Upload your government-issued document that shows:" }))),
22405
22636
  React.createElement("ul", { className: "sid-upload-info-list" },
22406
22637
  React.createElement("li", { className: "sid-upload-info-list__li" },
22407
- React.createElement(FormattedMessage, { id: "step.docUpload.uploadInfo.fullName", defaultMessage: "Your full name" })),
22638
+ React.createElement(FormattedHTMLMessage, { id: "step.docUpload.uploadInfo.fullName", defaultMessage: "Your full name" })),
22408
22639
  React.createElement("li", { className: "sid-upload-info-list__li" },
22409
- React.createElement(FormattedMessage, { id: "step.docUpload.uploadInfo.military.serviceBranch", defaultMessage: "Your branch of service" })),
22640
+ React.createElement(FormattedHTMLMessage, { id: "step.docUpload.uploadInfo.military.serviceBranch", defaultMessage: "Your branch of service" })),
22410
22641
  React.createElement("li", { className: "sid-upload-info-list__li" },
22411
- React.createElement(FormattedMessage, { id: "step.docUpload.uploadInfo.military.dischargeDate", defaultMessage: "Your discharge date (if applicable)" })),
22642
+ React.createElement(FormattedHTMLMessage, { id: "step.docUpload.uploadInfo.military.dischargeDate", defaultMessage: "Your discharge date (if applicable)" })),
22412
22643
  React.createElement("li", { className: "sid-upload-info-list__li" },
22413
- React.createElement(FormattedMessage, { id: "step.docUpload.uploadInfo.military.currentAffiliation", defaultMessage: "Your current affiliation with the armed services" })))));
22644
+ React.createElement(FormattedHTMLMessage, { id: "step.docUpload.uploadInfo.military.currentAffiliation", defaultMessage: "Your current affiliation with the armed services" })))));
22414
22645
  }
22415
22646
  case SegmentEnum.SENIOR:
22416
22647
  return (React.createElement("div", null,
22417
22648
  React.createElement("span", null,
22418
22649
  React.createElement("strong", null,
22419
- React.createElement(FormattedMessage, { id: "step.docUpload.uploadInstructions", defaultMessage: "Upload a government-issued document that shows:" }))),
22650
+ React.createElement(FormattedHTMLMessage, { id: "step.docUpload.uploadInstructions", defaultMessage: "Upload a government-issued document that shows:" }))),
22420
22651
  React.createElement("ul", { className: "sid-upload-info-list" },
22421
22652
  React.createElement("li", { className: "sid-upload-info-list__li" },
22422
- React.createElement(FormattedMessage, { id: "step.docUpload.uploadInfo.fullName", defaultMessage: "Your full name" })),
22653
+ React.createElement(FormattedHTMLMessage, { id: "step.docUpload.uploadInfo.fullName", defaultMessage: "Your full name" })),
22423
22654
  React.createElement("li", { className: "sid-upload-info-list__li" },
22424
- React.createElement(FormattedMessage, { id: "step.docUpload.uploadInfo.senior.birthDate", defaultMessage: "Your date of birth" })))));
22655
+ React.createElement(FormattedHTMLMessage, { id: "step.docUpload.uploadInfo.senior.birthDate", defaultMessage: "Your date of birth" })))));
22425
22656
  case SegmentEnum.AGE:
22426
22657
  return (React.createElement("div", null,
22427
22658
  React.createElement("span", null,
22428
22659
  React.createElement("strong", null,
22429
- React.createElement(FormattedMessage, { id: "step.docUpload.uploadInstructions", defaultMessage: "Upload a government-issued document that shows:" }))),
22660
+ React.createElement(FormattedHTMLMessage, { id: "step.docUpload.uploadInstructions", defaultMessage: "Upload a government-issued document that shows:" }))),
22430
22661
  React.createElement("ul", { className: "sid-upload-info-list" },
22431
22662
  React.createElement("li", { className: "sid-upload-info-list__li" },
22432
- React.createElement(FormattedMessage, { id: "step.docUpload.uploadInfo.fullName", defaultMessage: "Your full name" })),
22663
+ React.createElement(FormattedHTMLMessage, { id: "step.docUpload.uploadInfo.fullName", defaultMessage: "Your full name" })),
22433
22664
  React.createElement("li", { className: "sid-upload-info-list__li" },
22434
- React.createElement(FormattedMessage, { id: "step.docUpload.uploadInfo.age.birthDate", defaultMessage: "Your date of birth" })))));
22665
+ React.createElement(FormattedHTMLMessage, { id: "step.docUpload.uploadInfo.age.birthDate", defaultMessage: "Your date of birth" })))));
22435
22666
  case SegmentEnum.FIRST_RESPONDER:
22436
22667
  return (React.createElement("div", null,
22437
22668
  React.createElement("span", null,
22438
22669
  React.createElement("strong", null,
22439
- React.createElement(FormattedMessage, { id: "step.docUpload.uploadInstructions", defaultMessage: "Upload an official document that shows:" }))),
22670
+ React.createElement(FormattedHTMLMessage, { id: "step.docUpload.uploadInstructions", defaultMessage: "Upload an official document that shows:" }))),
22440
22671
  React.createElement("ul", { className: "sid-upload-info-list" },
22441
22672
  React.createElement("li", { className: "sid-upload-info-list__li" },
22442
- React.createElement(FormattedMessage, { id: "step.docUpload.uploadInfo.fullName", defaultMessage: "Your full name" })),
22673
+ React.createElement(FormattedHTMLMessage, { id: "step.docUpload.uploadInfo.fullName", defaultMessage: "Your full name" })),
22443
22674
  React.createElement("li", { className: "sid-upload-info-list__li" },
22444
- React.createElement(FormattedMessage, { id: "step.docUpload.uploadInfo.firstResponder.organization", defaultMessage: "Your organization" })),
22675
+ React.createElement(FormattedHTMLMessage, { id: "step.docUpload.uploadInfo.firstResponder.organization", defaultMessage: "Your organization" })),
22445
22676
  React.createElement("li", { className: "sid-upload-info-list__li" },
22446
- React.createElement(FormattedMessage, { id: "step.docUpload.uploadInfo.firstResponder.currentAffiliation", defaultMessage: "Your current affiliation with that organization" })),
22677
+ React.createElement(FormattedHTMLMessage, { id: "step.docUpload.uploadInfo.firstResponder.currentAffiliation", defaultMessage: "Your current affiliation with that organization" })),
22447
22678
  React.createElement("li", { className: "sid-upload-info-list__li" },
22448
- React.createElement(FormattedMessage, { id: "step.docUpload.uploadInfo.firstResponder.license", defaultMessage: "Your status or license as a First Responder" })))));
22679
+ React.createElement(FormattedHTMLMessage, { id: "step.docUpload.uploadInfo.firstResponder.license", defaultMessage: "Your status or license as a First Responder" })))));
22449
22680
  case SegmentEnum.MEDICAL:
22450
22681
  return (React.createElement("div", null,
22451
22682
  React.createElement("span", null,
22452
22683
  React.createElement("strong", null,
22453
- React.createElement(FormattedMessage, { id: "step.docUpload.uploadInstructions", defaultMessage: "Upload an official document that shows:" }))),
22684
+ React.createElement(FormattedHTMLMessage, { id: "step.docUpload.uploadInstructions", defaultMessage: "Upload an official document that shows:" }))),
22454
22685
  React.createElement("ul", { className: "sid-upload-info-list" },
22455
22686
  React.createElement("li", { className: "sid-upload-info-list__li" },
22456
- React.createElement(FormattedMessage, { id: "step.docUpload.uploadInfo.fullName", defaultMessage: "Your full name" })),
22687
+ React.createElement(FormattedHTMLMessage, { id: "step.docUpload.uploadInfo.fullName", defaultMessage: "Your full name" })),
22457
22688
  React.createElement("li", { className: "sid-upload-info-list__li" },
22458
- React.createElement(FormattedMessage, { id: "step.docUpload.uploadInfo.medical.status", defaultMessage: "Your nursing status" })),
22689
+ React.createElement(FormattedHTMLMessage, { id: "step.docUpload.uploadInfo.medical.status", defaultMessage: "Your nursing status" })),
22459
22690
  React.createElement("li", { className: "sid-upload-info-list__li" },
22460
- React.createElement(FormattedMessage, { id: "step.docUpload.uploadInfo.medical.validDate", defaultMessage: "A currently valid date" })))));
22691
+ React.createElement(FormattedHTMLMessage, { id: "step.docUpload.uploadInfo.medical.validDate", defaultMessage: "A currently valid date" })))));
22461
22692
  case SegmentEnum.EMPLOYMENT:
22462
22693
  return (React.createElement("div", null,
22463
22694
  React.createElement("span", null,
22464
22695
  React.createElement("strong", null,
22465
- React.createElement(FormattedMessage, { id: "step.docUpload.uploadInstructions", defaultMessage: "Upload an official document that shows:" }))),
22696
+ React.createElement(FormattedHTMLMessage, { id: "step.docUpload.uploadInstructions", defaultMessage: "Upload an official document that shows:" }))),
22466
22697
  React.createElement("ul", { className: "sid-upload-info-list" },
22467
22698
  React.createElement("li", { className: "sid-upload-info-list__li" },
22468
- React.createElement(FormattedMessage, { id: "step.docUpload.uploadInfo.employment.company", defaultMessage: "Your company" })),
22699
+ React.createElement(FormattedHTMLMessage, { id: "step.docUpload.uploadInfo.employment.company", defaultMessage: "Your company" })),
22469
22700
  React.createElement("li", { className: "sid-upload-info-list__li" },
22470
- React.createElement(FormattedMessage, { id: "step.docUpload.uploadInfo.employment.currentAffiliation", defaultMessage: "Your current affiliation with that company" })))));
22701
+ React.createElement(FormattedHTMLMessage, { id: "step.docUpload.uploadInfo.employment.currentAffiliation", defaultMessage: "Your current affiliation with that company" })))));
22471
22702
  case SegmentEnum.IDENTITY:
22472
22703
  return (React.createElement("div", null,
22473
22704
  React.createElement("span", null,
22474
22705
  React.createElement("strong", null,
22475
- React.createElement(FormattedMessage, { id: "step.docUpload.uploadInstructions", defaultMessage: "Upload an official document that shows:" }))),
22706
+ React.createElement(FormattedHTMLMessage, { id: "step.docUpload.uploadInstructions", defaultMessage: "Upload an official document that shows:" }))),
22476
22707
  React.createElement("ul", { className: "sid-upload-info-list" },
22477
22708
  React.createElement("li", { className: "sid-upload-info-list__li" },
22478
- React.createElement(FormattedMessage, { id: "step.docUpload.uploadInfo.fullName", defaultMessage: "Your full name" })),
22709
+ React.createElement(FormattedHTMLMessage, { id: "step.docUpload.uploadInfo.fullName", defaultMessage: "Your full name" })),
22479
22710
  React.createElement("li", { className: "sid-upload-info-list__li" },
22480
- React.createElement(FormattedMessage, { id: "step.docUpload.uploadInfo.identity.validDate", defaultMessage: "A currently valid date" })))));
22711
+ React.createElement(FormattedHTMLMessage, { id: "step.docUpload.uploadInfo.identity.validDate", defaultMessage: "A currently valid date" })))));
22481
22712
  case SegmentEnum.LICENSED_PROFESSIONAL:
22482
22713
  return (React.createElement("div", null,
22483
22714
  React.createElement("span", null,
22484
22715
  React.createElement("strong", null,
22485
- React.createElement(FormattedMessage, { id: "step.docUpload.uploadInstructions", defaultMessage: "Upload an official document that shows:" }))),
22716
+ React.createElement(FormattedHTMLMessage, { id: "step.docUpload.uploadInstructions", defaultMessage: "Upload an official document that shows:" }))),
22486
22717
  React.createElement("ul", { className: "sid-upload-info-list" },
22487
22718
  React.createElement("li", { className: "sid-upload-info-list__li" },
22488
- React.createElement(FormattedMessage, { id: "step.docUpload.uploadInfo.fullName", defaultMessage: "Your full name" })),
22719
+ React.createElement(FormattedHTMLMessage, { id: "step.docUpload.uploadInfo.fullName", defaultMessage: "Your full name" })),
22720
+ React.createElement("li", { className: "sid-upload-info-list__li" },
22721
+ React.createElement(FormattedHTMLMessage, { id: "step.docUpload.uploadInfo.licensedProfessional.licenseStatus", defaultMessage: "Your professional license and/or certification status" })),
22722
+ React.createElement("li", { className: "sid-upload-info-list__li" },
22723
+ React.createElement(FormattedHTMLMessage, { id: "step.docUpload.uploadInfo.identity.validDate", defaultMessage: "A currently valid date" })))));
22724
+ case SegmentEnum.LOW_INCOME:
22725
+ return (React.createElement("div", null,
22726
+ React.createElement("span", null,
22727
+ React.createElement("strong", null,
22728
+ React.createElement(FormattedHTMLMessage, { id: "step.docUpload.uploadInstructions", defaultMessage: "Upload an official document that shows:" }))),
22729
+ React.createElement("ul", { className: "sid-upload-info-list" },
22489
22730
  React.createElement("li", { className: "sid-upload-info-list__li" },
22490
- React.createElement(FormattedMessage, { id: "step.docUpload.uploadInfo.licensedProfessional.licenseStatus", defaultMessage: "Your professional license and/or certification status" })),
22731
+ React.createElement(FormattedHTMLMessage, { id: "step.docUpload.uploadInfo.fullName", defaultMessage: "Your full name" })),
22491
22732
  React.createElement("li", { className: "sid-upload-info-list__li" },
22492
- React.createElement(FormattedMessage, { id: "step.docUpload.uploadInfo.identity.validDate", defaultMessage: "A currently valid date" })))));
22733
+ React.createElement(FormattedHTMLMessage, { id: "step.docUpload.uploadInfo.lowIncome.validDate", defaultMessage: "The date when the document was issued (should be within the last 12 months) or the expiry date" })))));
22493
22734
  case SegmentEnum.RECENT_MOVER:
22494
22735
  return (React.createElement("div", null,
22495
22736
  React.createElement("span", null,
22496
22737
  React.createElement("strong", null,
22497
- React.createElement(FormattedMessage, { id: "step.docUpload.uploadInstructions", defaultMessage: "Upload an official document that shows:" }))),
22738
+ React.createElement(FormattedHTMLMessage, { id: "step.docUpload.uploadInstructions", defaultMessage: "Upload an official document that shows:" }))),
22498
22739
  React.createElement("ul", { className: "sid-upload-info-list" },
22499
22740
  React.createElement("li", { className: "sid-upload-info-list__li" },
22500
- React.createElement(FormattedMessage, { id: "step.docUpload.uploadInfo.fullName", defaultMessage: "Your full name" })),
22741
+ React.createElement(FormattedHTMLMessage, { id: "step.docUpload.uploadInfo.fullName", defaultMessage: "Your full name" })),
22501
22742
  React.createElement("li", { className: "sid-upload-info-list__li" },
22502
- React.createElement(FormattedMessage, { id: "step.docUpload.uploadInfo.recentMover.address", defaultMessage: "Your new address" })),
22743
+ React.createElement(FormattedHTMLMessage, { id: "step.docUpload.uploadInfo.recentMover.address", defaultMessage: "Your new address" })),
22503
22744
  React.createElement("li", { className: "sid-upload-info-list__li" },
22504
- React.createElement(FormattedMessage, { id: "step.docUpload.uploadInfo.recentMover.validDate", defaultMessage: "A valid date for your recent move" })))));
22745
+ React.createElement(FormattedHTMLMessage, { id: "step.docUpload.uploadInfo.recentMover.validDate", defaultMessage: "A valid date for your recent move" })))));
22505
22746
  default:
22506
22747
  return null;
22507
22748
  }
22508
22749
  };
22509
22750
 
22510
- const useFlag = (name) => {
22511
- const flags = lib_4();
22512
- return flags[name];
22513
- };
22514
-
22515
22751
  const StepDocUpload = ({ verificationService, intl }) => {
22516
22752
  const verificationResponse = verificationService.verificationResponse;
22517
22753
  const { rejectionReasons } = verificationResponse;
@@ -22571,11 +22807,9 @@ const StepDocUpload = ({ verificationService, intl }) => {
22571
22807
  verificationService.updateFieldValidationErrors(nextFieldValidationErrors);
22572
22808
  addFilesAndUpdate(acceptedFiles, erroredFilenames);
22573
22809
  };
22574
- // HD-4214
22575
- const directToS3DocUploadFlag = useFlag("directToS3DocUpload");
22576
22810
  const submitForm = () => {
22577
22811
  logger.info("StepDocUploadComponent submitting form");
22578
- verificationService.submitStep(VerificationStepsEnum.docUpload, viewModel, verificationService.verificationResponse, directToS3DocUploadFlag);
22812
+ verificationService.submitStep(VerificationStepsEnum.docUpload, viewModel, verificationService.verificationResponse);
22579
22813
  };
22580
22814
  const onFileDrop = (draggedFiles) => {
22581
22815
  if (draggedFiles.length > 0) {
@@ -22609,11 +22843,11 @@ const StepDocUpload = ({ verificationService, intl }) => {
22609
22843
  React.createElement(RewardsRemainingComponent, { verificationService: verificationService }),
22610
22844
  rejectionReasons && rejectionReasons.length > 0 ? (React.createElement("div", { className: "sid-header__subtitle sid-l-horz-center sid-l-position" },
22611
22845
  React.createElement("div", null,
22612
- React.createElement(FormattedMessage, { id: "step.docUpload.rejectedSubtitle", defaultMessage: "We were unable to confirm your eligibility due to:" })),
22846
+ React.createElement(FormattedHTMLMessage, { id: "step.docUpload.rejectedSubtitle", defaultMessage: "We were unable to confirm your eligibility due to:" })),
22613
22847
  React.createElement("ul", { className: "sid-upload-rejection-list" }, rejectionReasons.map((rejectionReason) => (React.createElement("li", { key: rejectionReason, className: "sid-upload-rejection-list__li" },
22614
- React.createElement(FormattedMessage, { id: `step.docUpload.rejectionReasons.${rejectionReason}`, defaultMessage: `${rejectionReason}` }))))))) : (React.createElement("div", { className: "sid-header__subtitle sid-l-horz-center sid-l-position" },
22848
+ React.createElement(FormattedHTMLMessage, { id: `step.docUpload.rejectionReasons.${rejectionReason}`, defaultMessage: `${rejectionReason}` }))))))) : (React.createElement("div", { className: "sid-header__subtitle sid-l-horz-center sid-l-position" },
22615
22849
  React.createElement("div", null,
22616
- React.createElement(FormattedMessage, { id: "step.docUpload.subtitle", defaultMessage: "Documents will be reviewed in {estimatedWaitTime} by staff at SheerID, a trusted partner.", values: {
22850
+ React.createElement(FormattedHTMLMessage, { id: "step.docUpload.subtitle", defaultMessage: "Documents will be reviewed in {estimatedWaitTime} by staff at SheerID, a trusted partner.", values: {
22617
22851
  estimatedWaitTime: getEstAndMaxReviewTimes(verificationResponse, programTheme, intl).estReviewTime,
22618
22852
  } }),
22619
22853
  "\u00A0",
@@ -22622,7 +22856,8 @@ const StepDocUpload = ({ verificationService, intl }) => {
22622
22856
  React.createElement("div", { className: "sid-upload-info sid-l-space-top-md" },
22623
22857
  React.createElement("div", { className: "sid-l-space-top-sm" },
22624
22858
  React.createElement(UploadInfoComponent, { verificationService: verificationService })),
22625
- subSegment === SubSegmentEnum.MILITARY_FAMILY ? null : (React.createElement("div", { className: "sid-l-space-top-md" },
22859
+ getOptions().hideMilitaryFamilyAcceptableUploads &&
22860
+ subSegment === SubSegmentEnum.MILITARY_FAMILY ? null : (React.createElement("div", { className: "sid-l-space-top-md" },
22626
22861
  React.createElement(AcceptableUploadsComponent, { verificationService: verificationService })))),
22627
22862
  React.createElement("div", { className: "sid-upload-wrap sid-l-space-top-sm" },
22628
22863
  React.createElement("div", { className: "sid-dropzone-wrap" },
@@ -22646,9 +22881,9 @@ const StepDocUpload = ({ verificationService, intl }) => {
22646
22881
  role: "button", tabIndex: 0, onKeyDown: (e) => handleAddFileOnKeyDown(e) },
22647
22882
  React.createElement("input", { type: "file", id: "file", tabIndex: -1, className: "sid-add-more-files__input", "aria-describedby": "sid-add-file", onChange: fileHandler, accept: "image/jpeg,image/gif,image/png,application/pdf,image/bmp,image/gif", ref: (input) => setRef("addFile", input) }),
22648
22883
  React.createElement("img", { className: "sid-add-more-files__image", alt: "add more files", src: "https://assets-resources.sheerid.com/common/images/2018/icons/add-file.svg" }),
22649
- React.createElement(FormattedMessage, { id: "step.docUpload.addFile", defaultMessage: "Add file" })))) : null,
22884
+ React.createElement(FormattedHTMLMessage, { id: "step.docUpload.addFile", defaultMessage: "Add file" })))) : null,
22650
22885
  React.createElement("div", { className: "sid-submit sid-l-space-top-md" },
22651
- React.createElement("button", { id: "sid-submit-doc-upload", onClick: submitForm, type: "submit", className: "sid-btn sid-btn--dark sid-submit__continue", "aria-label": intl.formatMessage({
22886
+ React.createElement("button", { id: "sid-submit-doc-upload", onClick: submitForm, type: "submit", className: "sid-btn sid-btn--dark sid-submit__continue", "aria-label": intl.formatHTMLMessage({
22652
22887
  id: "step.docUpload.submitButtonLabel",
22653
22888
  defaultMessage: "Continue",
22654
22889
  }), disabled: currentFileNames.length <= 0 },
@@ -22679,6 +22914,7 @@ const defaultComponents = {
22679
22914
  StepHybridIdentityPersonalInfoComponent,
22680
22915
  StepLicensedProfessionalPersonalInfoComponent,
22681
22916
  StepMoverPersonalInfoComponent,
22917
+ StepLowIncomePersonalInfoComponent,
22682
22918
  StepSocialSecurityNumber,
22683
22919
  StepSuccessComponent,
22684
22920
  StepDocUploadComponent,
@@ -22750,6 +22986,9 @@ const LoadStepComponent = ({ stepToLoad, verificationService }) => {
22750
22986
  case VerificationStepsEnum.collectMoverPersonalInfo:
22751
22987
  Component = getComponent("StepMoverPersonalInfoComponent");
22752
22988
  break;
22989
+ case VerificationStepsEnum.collectLowIncomePersonalInfo:
22990
+ Component = getComponent("StepLowIncomePersonalInfoComponent");
22991
+ break;
22753
22992
  case VerificationStepsEnum.collectSocialSecurityNumber:
22754
22993
  Component = getComponent("StepSocialSecurityNumber");
22755
22994
  break;
@@ -22907,6 +23146,11 @@ class NewVerification extends React.Component {
22907
23146
  componentDidMount() {
22908
23147
  N$1(); // https://sheerid.atlassian.net/browse/UX-362
22909
23148
  maintainFocusInLightbox();
23149
+ listenToInstallPage((event) => {
23150
+ if (event.data.action === "setViewModel") {
23151
+ setViewModel(event.data.viewModel, { partial: true });
23152
+ }
23153
+ });
22910
23154
  // Special-case, mocking the loading psuedo-step
22911
23155
  if (isMockingLoading()) {
22912
23156
  logger.info("Mocking loading screen. Not fetching new verification request.");
@@ -22930,7 +23174,7 @@ class NewVerification extends React.Component {
22930
23174
  logger.info("NewVerificationComponent: verificationResponse, viewModel", verificationResponse, viewModel);
22931
23175
  const locale = getLocaleSafely(viewModel);
22932
23176
  let messages;
22933
- // optional param `messages`. If we do not have it, all <FormattedMessages /> should use default fallback anyway.
23177
+ // optional param `messages`. If we do not have it, all <FormattedHTMLMessages /> should use default fallback anyway.
22934
23178
  if (this.props.messages) {
22935
23179
  messages = this.props.messages;
22936
23180
  }
@@ -23031,6 +23275,8 @@ const getVerificationUrl = (url) => {
23031
23275
 
23032
23276
  class Iframe {
23033
23277
  constructor(containerElement, url) {
23278
+ this.hasLoaded = false;
23279
+ this.onLoadEvents = [];
23034
23280
  if (Iframe.isValidHttpUrl(url)) {
23035
23281
  const options = {
23036
23282
  className: iframeConstants.CLASS_NAMES.INLINE_IFRAME_CONTENT,
@@ -23066,8 +23312,30 @@ class Iframe {
23066
23312
  mark = "&";
23067
23313
  }
23068
23314
  this.iframe.src = `${this.verificationUrl.href}${mark}verificationIframeUid=${this.verificationIframeUid}&${QUERY_STRING_INSTALL_PAGE_URL}=${encodeURIComponent(getCurrentUrl())}`;
23315
+ this.iframe.onload = () => this.onLoad();
23069
23316
  return this.iframe;
23070
23317
  }
23318
+ // If iFrame hasn't loaded yet, queue up the callback
23319
+ // otherwise call it immediately
23320
+ addOnLoadEvent(callback) {
23321
+ try {
23322
+ assertValidFunction(callback);
23323
+ }
23324
+ catch (e) {
23325
+ logger.error("Invalid callback provided to iFrame.onLoad()", e);
23326
+ return;
23327
+ }
23328
+ if (this.hasLoaded) {
23329
+ callback();
23330
+ }
23331
+ else {
23332
+ this.onLoadEvents.push(callback);
23333
+ }
23334
+ }
23335
+ onLoad() {
23336
+ this.hasLoaded = true;
23337
+ this.onLoadEvents.forEach((callback) => callback());
23338
+ }
23071
23339
  addVerificationSizeUpdatesListener() {
23072
23340
  window.addEventListener("message", (event) => {
23073
23341
  if (this.verificationUrl.origin !== event.origin) {
@@ -23092,6 +23360,13 @@ class Iframe {
23092
23360
  }
23093
23361
  });
23094
23362
  }
23363
+ setViewModel(viewModel) {
23364
+ const message = {
23365
+ action: "setViewModel",
23366
+ viewModel,
23367
+ };
23368
+ this.addOnLoadEvent(() => this.iframe.contentWindow.postMessage(message, this.verificationUrl.origin));
23369
+ }
23095
23370
  init() {
23096
23371
  this.containerElement.appendChild(this.iframe);
23097
23372
  }
@@ -23156,12 +23431,12 @@ class Modal {
23156
23431
  wrapper.tabIndex = -1;
23157
23432
  wrapper.setAttribute("role", "dialog");
23158
23433
  wrapper.appendChild(this.createCloseBtn());
23159
- const iframe = new Iframe(wrapper, this.verificationUrl);
23434
+ this.iframeInstance = new Iframe(wrapper, this.verificationUrl);
23160
23435
  const options = {
23161
23436
  className: iframeConstants.CLASS_NAMES.MODAL_IFRAME,
23162
23437
  };
23163
- this.iframe = iframe.createIframe(options);
23164
- wrapper.appendChild(this.iframe);
23438
+ this.iframeInstance.createIframe(options);
23439
+ wrapper.appendChild(this.iframeInstance.iframe);
23165
23440
  return wrapper;
23166
23441
  }
23167
23442
  addPopStateListener() {
@@ -23180,16 +23455,16 @@ class Modal {
23180
23455
  return;
23181
23456
  }
23182
23457
  if (e.shiftKey && document.activeElement === this.closeButton) {
23183
- this.iframe.contentWindow.postMessage({ focusOn: "lastElement" }, "*");
23458
+ this.iframeInstance.iframe.contentWindow.postMessage({ focusOn: "lastElement" }, "*");
23184
23459
  e.preventDefault();
23185
23460
  }
23186
23461
  });
23187
23462
  }
23188
23463
  isInLightboxPostMessage(inLightbox) {
23189
- this.iframe.contentWindow.postMessage({ isInLightBox: inLightbox }, "*");
23464
+ this.iframeInstance.iframe.contentWindow.postMessage({ isInLightBox: inLightbox }, "*");
23190
23465
  }
23191
23466
  displayModal() {
23192
- this.iframe.addEventListener("load", () => {
23467
+ this.iframeInstance.iframe.addEventListener("load", () => {
23193
23468
  fadeInElements([this.overlay, this.wrapper]);
23194
23469
  document.body.style.overflow = "hidden";
23195
23470
  this.isInLightboxPostMessage("true");
@@ -23207,16 +23482,24 @@ class Modal {
23207
23482
  this.displayModal();
23208
23483
  }
23209
23484
  }
23485
+ setViewModel(viewModel) {
23486
+ this.iframeInstance.setViewModel(viewModel);
23487
+ }
23210
23488
  }
23211
23489
 
23490
+ // Called from the parent page to load the jslib within an iFrame NOT in a modal, but in the flow of a page. e.g. between two divs
23212
23491
  function loadInlineIframe(containerElement, url) {
23213
23492
  const iframe = new Iframe(containerElement, url);
23214
23493
  iframe.init();
23494
+ return iframe;
23215
23495
  }
23496
+ // Called from the parent page to load the jslib within an iFrame in a modal
23216
23497
  function loadInModal(url, userConfig = {}) {
23217
23498
  const modal = new Modal(url, userConfig);
23218
23499
  modal.init();
23500
+ return modal;
23219
23501
  }
23502
+ // Called from the inner iFrame window to let the parent window know about size updates
23220
23503
  function postVerificationSizeUpdates(options = { origin: "*", interval: 100 }) {
23221
23504
  if (window.self !== window.top) {
23222
23505
  let bodyHeight = document.body.offsetHeight;
@@ -23247,5 +23530,5 @@ const collectDeviceProfile = async (verificationId, programId) => {
23247
23530
  includeIPQSDeviceFingerprintScript(programTheme, verificationId);
23248
23531
  };
23249
23532
 
23250
- export { ACCEPTED_DOC_MIME_TYPES, AcceptableUploadsComponent, AddressComponent, BirthDateComponent, BranchOfServiceComponent, ChangeLocaleComponent, CityComponent, CollegeNameComponent, CompanyComponent, CopyToClipboard, CountDownComponent, CountryComponent, CountryComponentWrapper, DEFAULT_LOCALE, DEFAULT_MINIMUM_ORG_SEARCH_VALUE_LENGTH, DEFAULT_PRIVACY_POLICY_URL, DeleteJson, DischargeDateComponent, DriverLicenseNumberComponent, EmailComponent, FaqLinkComponent, FetchOrganizationsComponent, FieldIdEnum, FieldIds, FieldLabel, FirstNameComponent, FirstResponderOrganizationComponent, FirstResponderStatusComponent, FirstResponderStatusDefaultMessagesEnum, FormFooterComponent, GetEmptyTheme, GetJson, GetResponse, HTTP_REQUEST_TIMEOUT, HookNameEnum, HookNames, HowDoesVerifyingWorkComponent, InputSelectButtonComponent, InputSelectComponent, InputSelectListComponent, InputTextComponent, LastNameComponent, LicensedProfessionalOrganizationComponent, LinkExternal, LoadingSpinnerComponent, Locales, LogoComponent, MAX_DOC_UPLOAD_DOCS_ALLOWED, MarketConsentWrapperComponent as MarketConsentWrapper, MedicalProfessionalOrganizationComponent, MedicalProfessionalStatusDefaultMessagesEnum, MedicalStatusComponent, MemberIdComponent, MembershipOrganizationComponent, MilitaryStatusComponent, MilitaryStatusDefaultMessagesEnum, MockSteps, MockStepsEnum, OptInComponent, OptInInputComponent, OrganizationListComponent, OrganizationResultComponent, PhoneNumberComponent, PostFiles, PostJson, PostalCodeComponent, PostalCodeInputComponent, PoweredByComponent, PrivacyPolicyLinkComponent, QUERY_STRING_ERRORID_OVERRIDE, QUERY_STRING_INSTALL_PAGE_URL, QUERY_STRING_REDIRECT_URL_OVERRIDE, QUERY_STRING_REWARD_CODE_OVERRIDE, QUERY_STRING_SEGMENT_OVERRIDE, QUERY_STRING_STEP_OVERRIDE, QUERY_STRING_SUBSEGMENT_OVERRIDE, RequestOrganizationContext, RequestOrganizationErrorComponent, RequestOrganizationForm, RequestOrganizationFormFooterComponent, RequestOrganizationSearchComponent, RequestOrganizationSearchResultComponent, RequestOrganizationSuccessComponent, ReviewPendingComponent, RewardsRemainingComponent, SHEERID, SMSCodeComponent, SSN_STRING_LENGTH, SSOPendingComponent, SearchFieldComponent, SegmentEnum, Segments, SelectButtonComponent, SelectComponent, SelectListComponent, SocialSecurityNumber, SortByLabel, SsnChoice, StateComponent, StateEnum, StateSelectComponent, StatusComponent, StepActiveMilitaryPersonalInfoComponent, StepDriverLicensePersonalInfoComponent, StepGeneralIdentityPersonalInfoComponent, StepHybridIdentityPersonalInfoComponent, SubSegmentEnum, TeacherSchoolComponent, TryAgainButtonComponent, TryAgainSteps, TypeaheadComponent, UPLOAD_FILE_PREFIX, UploadInfoComponent, VerificationApiClient, VerificationForm, VerificationSteps, VerificationStepsEnum, addFiles, addHook, allMockedResponses, arrayUnique, assertValidConversionRequest, assertValidDatabaseId, assertValidFieldId, assertValidFunction, assertValidHook, assertValidHookName, assertValidHtmlElement, assertValidLocale, assertValidMockStepName, assertValidProgramId, assertValidSegmentName, assertValidTrackingId, assertValidTryAgainStep, assertValidVerificationStepName, carrierConsentValueValidator, closeTabRef, collectDeviceProfile, conversion, convertByTrackingId, convertByVerificationId, customValidatorExists$1 as customValidatorExists, deepClone, deepMerge, displaySSN, employmentPInfoReqEmpty, ensureMaxMetadataKeyValueLengths, ensureTrailingSlash, fetchExistingVerificationRequest, fetchProgramOrganizations, fetchRequestOrganizations, formatTwoDigitValues, getAddSchoolRequestUrl, getAllEmptyViewModels, getAvailableCountryChoices, getAvailableLocaleChoices, getAvailableLocales, getAvailableMilitaryStatuses, getAvailableStateChoices, getCompanyName, getConfiguredCountries, getConfiguredStates, getCustomValidator, getCustomValidatorFields, getDefaultCountryChoice, getDomainFromUrl, getEmptyViewModel, getEstAndMaxReviewTimes, getEstimatedReviewTime, getExtendedFieldValidationErrorsEmpty, getFaqLink, getFieldDisplayOrderFromRefs, getFieldValidationErrors, getFieldValidationErrorsEmpty, getFingerprint, getFirstErroredFieldId, getHook, getLocaleSafely, getLogoUrl, getMarketConsent, getMaxReviewTime, getMessages, getMetadata, getNewEmailCodeResendUrl, getNewSmsCodeResendUrl, getNewVerificationRequestUrl, getOptions, getOrgSearchCountryTags, getOverriddenMock, getOverridenValidator, getPhoneNumberValidationError, getPrivacyPolicyCompanyName, getPrivacyPolicyUrl, getProgramThemeUrl, getQueryParamsFromUrl, getRefByFieldId, getRefs, getRouteOverride, getSafe, getSheerIdScriptBasePath, getStatusLabel, getTabRef, getTrackingIdFromQueryString, getVerificationIdFromQueryString, getVerificationStatusUrl, handleCountryOnKeyDown, handleEmailOnKeyDown, handleStateChange, hasFailedInstantMatch, howDoesVerifyingWorkMessages, isFormErrored, isFormFilled, isTestEmailDomains, isValidLocale, isValidUsPostalCode, listenToSheerIdFrame, loadInModal, loadInlineIframe, logger, orgToOption, orgsInStatus, overrideComponent, overrideValidator, phoneNumberValidator, populateViewModelFromQueryParams, postVerificationSizeUpdates, postalCodeMatchers, postalCodeValidator, produceDraftViewModel, produceDraftViewModelWithRequiredFields, recordEvent, recordVerificationResponse, recordViewModelChange, refreshStore, registerAdditionalLocales, removeAllFiles, removeCustomValidator, removeFile, requestOrganizationConstants, resetCustomValidators, resetHooks, resetMetadata, resetOptions, resetOverriddenComponents, resetOverriddenValidators, resetRefs, resetStore, resetTabRef, resetViewModel, resolveTrackingId, setCustomValidator, setDimension, setFocus, setGaDimensionIsTest, setMetadata, setOptions, setRef, setTabRef, setViewModel, shouldCollectAddressFields, shouldCollectPostalCode, socialSecurityEmpty, speakToOuterFrame, submitAddSchoolRequest, submitForm, unDisplaySSN, updateFieldValidationErrors, updateFieldValidationErrorsByFieldId, updateMilitaryViewModel, updateViewModelOrganization, usePollingInterval, validateFieldById, validateMetadata };
23533
+ export { ACCEPTED_DOC_MIME_TYPES, AcceptableUploadsComponent, AddressComponent, BirthDateComponent, BranchOfServiceComponent, ChangeLocaleComponent, CityComponent, CollegeNameComponent, CompanyComponent, CopyToClipboard, CountDownComponent, CountryComponent, CountryComponentWrapper, DEFAULT_LOCALE, DEFAULT_MINIMUM_ORG_SEARCH_VALUE_LENGTH, DEFAULT_PRIVACY_POLICY_URL, DeleteJson, DischargeDateComponent, DriverLicenseNumberComponent, EmailComponent, FaqLinkComponent, FetchOrganizationsComponent, FieldIdEnum, FieldIds, FieldLabel, FirstNameComponent, FirstResponderOrganizationComponent, FirstResponderStatusComponent, FirstResponderStatusDefaultMessagesEnum, FormFooterComponent, GetEmptyTheme, GetJson, GetResponse, HTTP_REQUEST_TIMEOUT, HookNameEnum, HookNames, HowDoesVerifyingWorkComponent, InputSelectButtonComponent, InputSelectComponent, InputSelectListComponent, InputTextComponent, LastNameComponent, LinkExternal, LoadingSpinnerComponent, Locales, LogoComponent, LowIncomeOrganizationComponent, LowIncomeStatusDefaultMessagesEnum, MAX_DOC_UPLOAD_DOCS_ALLOWED, MarketConsentWrapperComponent as MarketConsentWrapper, MedicalProfessionalOrganizationComponent, MedicalProfessionalStatusDefaultMessagesEnum, MedicalStatusComponent, MemberIdComponent, MembershipOrganizationComponent, MilitaryStatusComponent, MilitaryStatusDefaultMessagesEnum, MockSteps, MockStepsEnum, OptInComponent, OptInInputComponent, OrganizationListComponent, OrganizationResultComponent, PhoneNumberComponent, PostFiles, PostJson, PostalCodeComponent, PostalCodeInputComponent, PoweredByComponent, PrivacyPolicyLinkComponent, QUERY_STRING_ERRORID_OVERRIDE, QUERY_STRING_INSTALL_PAGE_URL, QUERY_STRING_REDIRECT_URL_OVERRIDE, QUERY_STRING_REWARD_CODE_OVERRIDE, QUERY_STRING_SEGMENT_OVERRIDE, QUERY_STRING_STEP_OVERRIDE, QUERY_STRING_SUBSEGMENT_OVERRIDE, RequestOrganizationContext, RequestOrganizationErrorComponent, RequestOrganizationForm, RequestOrganizationFormFooterComponent, RequestOrganizationSearchComponent, RequestOrganizationSearchResultComponent, RequestOrganizationSuccessComponent, ReviewPendingComponent, RewardsRemainingComponent, SHEERID, SMSCodeComponent, SSN_STRING_LENGTH, SSOPendingComponent, SearchFieldComponent, SegmentEnum, Segments, SelectButtonComponent, SelectComponent, SelectListComponent, SocialSecurityNumber, SortByLabel, SsnChoice, StateComponent, StateEnum, StateSelectComponent, StatusComponent, StepActiveMilitaryPersonalInfoComponent, StepDriverLicensePersonalInfoComponent, StepGeneralIdentityPersonalInfoComponent, StepHybridIdentityPersonalInfoComponent, StepLowIncomePersonalInfoComponent, SubSegmentEnum, TeacherSchoolComponent, TryAgainButtonComponent, TryAgainSteps, TypeaheadComponent, UPLOAD_FILE_PREFIX, UploadInfoComponent, VerificationApiClient, VerificationForm, VerificationSteps, VerificationStepsEnum, addFiles, addHook, allMockedResponses, arrayUnique, assertValidConversionRequest, assertValidDatabaseId, assertValidFieldId, assertValidFunction, assertValidHook, assertValidHookName, assertValidHtmlElement, assertValidLocale, assertValidMockStepName, assertValidProgramId, assertValidSegmentName, assertValidTrackingId, assertValidTryAgainStep, assertValidVerificationStepName, carrierConsentValueValidator, closeTabRef, collectDeviceProfile, conversion, convertByTrackingId, convertByVerificationId, customValidatorExists$1 as customValidatorExists, deepClone, deepMerge, displaySSN, employmentPInfoReqEmpty, ensureMaxMetadataKeyValueLengths, ensureTrailingSlash, fetchExistingVerificationRequest, fetchProgramOrganizations, fetchRequestOrganizations, formatTwoDigitValues, getAddSchoolRequestUrl, getAllEmptyViewModels, getAvailableCountryChoices, getAvailableLocaleChoices, getAvailableLocales, getAvailableMilitaryStatuses, getAvailableStateChoices, getCompanyName, getConfiguredCountries, getConfiguredStates, getCustomValidator, getCustomValidatorFields, getDefaultCountryChoice, getDomainFromUrl, getEmptyViewModel, getEstAndMaxReviewTimes, getEstimatedReviewTime, getExtendedFieldValidationErrorsEmpty, getFaqLink, getFieldDisplayOrderFromRefs, getFieldValidationErrors, getFieldValidationErrorsEmpty, getFingerprint, getFirstErroredFieldId, getHook, getLocaleSafely, getLogoUrl, getMarketConsent, getMaxReviewTime, getMessages, getMetadata, getNewEmailCodeResendUrl, getNewSmsCodeResendUrl, getNewVerificationRequestUrl, getOptions, getOrgSearchCountryTags, getOverriddenMock, getOverridenValidator, getPhoneNumberValidationError, getPrivacyPolicyCompanyName, getPrivacyPolicyUrl, getProgramThemeUrl, getQueryParamsFromUrl, getRefByFieldId, getRefs, getRouteOverride, getSafe, getSheerIdScriptBasePath, getStatusLabel, getTabRef, getTrackingIdFromQueryString, getVerificationIdFromQueryString, getVerificationStatusUrl, handleCountryOnKeyDown, handleEmailOnKeyDown, handleStateChange, hasFailedInstantMatch, howDoesVerifyingWorkMessages, isFormErrored, isFormFilled, isTestEmailDomains, isValidLocale, isValidUsPostalCode, listenToSheerIdFrame, loadInModal, loadInlineIframe, logger, orgToOption, orgsInStatus, overrideComponent, overrideValidator, phoneNumberValidator, populateViewModelFromQueryParams, postVerificationSizeUpdates, postalCodeMatchers, postalCodeValidator, produceDraftViewModel, produceDraftViewModelWithRequiredFields, recordEvent, recordVerificationResponse, recordViewModelChange, refreshStore, registerAdditionalLocales, removeAllFiles, removeCustomValidator, removeFile, requestOrganizationConstants, resetCustomValidators, resetHooks, resetMetadata, resetOptions, resetOverriddenComponents, resetOverriddenValidators, resetRefs, resetStore, resetTabRef, resetViewModel, resolveTrackingId, setCustomValidator, setDimension, setFocus, setGaDimensionIsTest, setMetadata, setOptions, setRef, setTabRef, setViewModel, shouldCollectAddressFields, shouldCollectPostalCode, socialSecurityEmpty, speakToOuterFrame, submitAddSchoolRequest, submitForm, unDisplaySSN, updateFieldValidationErrors, updateFieldValidationErrorsByFieldId, updateMilitaryViewModel, updateViewModelOrganization, usePollingInterval, validateFieldById, validateMetadata };
23251
23534
  //# sourceMappingURL=sheerides6.js.map