@sheerid/jslib 1.99.0 → 1.102.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 (212) 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-93a526ca.es.js} +27 -5
  44. package/es6/{cs-0102f276.es.js.map → ar-93a526ca.es.js.map} +1 -1
  45. package/es6/{bg-7716e1e1.es.js → bg-22178b64.es.js} +26 -4
  46. package/es6/{ar-aa7923c0.es.js.map → bg-22178b64.es.js.map} +1 -1
  47. package/es6/{cs-0102f276.es.js → cs-283f4f4f.es.js} +33 -11
  48. package/es6/{da-7ea93323.es.js.map → cs-283f4f4f.es.js.map} +1 -1
  49. package/es6/{da-7ea93323.es.js → da-2d24d349.es.js} +28 -6
  50. package/es6/{bg-7716e1e1.es.js.map → da-2d24d349.es.js.map} +1 -1
  51. package/es6/{de-37bf2739.es.js → de-6b0a9bd8.es.js} +27 -5
  52. package/es6/de-6b0a9bd8.es.js.map +1 -0
  53. package/es6/{el-04fa4103.es.js → el-677aadeb.es.js} +28 -6
  54. package/es6/el-677aadeb.es.js.map +1 -0
  55. package/es6/{en-GB-8acf43be.es.js → en-GB-5874ccc1.es.js} +28 -6
  56. package/es6/{en-GB-8acf43be.es.js.map → en-GB-5874ccc1.es.js.map} +1 -1
  57. package/es6/{es-5112b32e.es.js → es-833eb4a0.es.js} +46 -24
  58. package/es6/es-833eb4a0.es.js.map +1 -0
  59. package/es6/{es-ES-c906634a.es.js → es-ES-21ddc896.es.js} +44 -22
  60. package/es6/{es-ES-c906634a.es.js.map → es-ES-21ddc896.es.js.map} +1 -1
  61. package/es6/{fi-2277ea1e.es.js → fi-91fed483.es.js} +28 -6
  62. package/es6/fi-91fed483.es.js.map +1 -0
  63. package/es6/{fr-CA-bfca14f3.es.js → fr-CA-479f7e7e.es.js} +61 -39
  64. package/es6/{fr-CA-bfca14f3.es.js.map → fr-CA-479f7e7e.es.js.map} +1 -1
  65. package/es6/{fr-b9d3dc58.es.js → fr-d3dc580b.es.js} +27 -5
  66. package/es6/fr-d3dc580b.es.js.map +1 -0
  67. package/es6/{ga-4bf9710e.es.js → ga-d8610062.es.js} +27 -5
  68. package/es6/ga-d8610062.es.js.map +1 -0
  69. package/es6/{hr-ed9b974f.es.js → hr-602b4ef6.es.js} +27 -5
  70. package/es6/hr-602b4ef6.es.js.map +1 -0
  71. package/es6/{hu-a36c8244.es.js → hu-c9db7f8e.es.js} +27 -5
  72. package/es6/hu-c9db7f8e.es.js.map +1 -0
  73. package/es6/{id-5896c7f1.es.js → id-d5f251dc.es.js} +26 -4
  74. package/es6/id-d5f251dc.es.js.map +1 -0
  75. package/es6/{it-7c28e015.es.js → it-d2da9a96.es.js} +27 -5
  76. package/es6/it-d2da9a96.es.js.map +1 -0
  77. package/es6/{iw-e61ca28b.es.js → iw-0e212eca.es.js} +27 -5
  78. package/es6/iw-0e212eca.es.js.map +1 -0
  79. package/es6/{ja-5e5d13be.es.js → ja-88e60aa3.es.js} +27 -5
  80. package/es6/ja-88e60aa3.es.js.map +1 -0
  81. package/es6/{ko-e4c5d44d.es.js → ko-fbc8a84a.es.js} +27 -5
  82. package/es6/ko-fbc8a84a.es.js.map +1 -0
  83. package/es6/{lo-3d03c534.es.js → lo-d483fdaa.es.js} +27 -5
  84. package/es6/lo-d483fdaa.es.js.map +1 -0
  85. package/es6/{lt-99c6971e.es.js → lt-146f2d30.es.js} +26 -4
  86. package/es6/lt-146f2d30.es.js.map +1 -0
  87. package/es6/{ms-e537ec43.es.js → ms-a9a79e9a.es.js} +27 -5
  88. package/es6/ms-a9a79e9a.es.js.map +1 -0
  89. package/es6/{nl-162d7a39.es.js → nl-fedc45b6.es.js} +27 -5
  90. package/es6/nl-fedc45b6.es.js.map +1 -0
  91. package/es6/{no-53861522.es.js → no-bbf26a90.es.js} +27 -5
  92. package/es6/no-bbf26a90.es.js.map +1 -0
  93. package/es6/{pl-b2b55c9f.es.js → pl-8e2c1688.es.js} +26 -4
  94. package/es6/pl-8e2c1688.es.js.map +1 -0
  95. package/es6/{pt-61825a2b.es.js → pt-3bdb1ff1.es.js} +27 -5
  96. package/es6/pt-3bdb1ff1.es.js.map +1 -0
  97. package/es6/{pt-BR-a9efa2ab.es.js → pt-BR-a4783678.es.js} +27 -5
  98. package/es6/{pt-BR-a9efa2ab.es.js.map → pt-BR-a4783678.es.js.map} +1 -1
  99. package/es6/{ru-cba590b5.es.js → ru-84d7d4fb.es.js} +26 -4
  100. package/es6/ru-84d7d4fb.es.js.map +1 -0
  101. package/es6/{sk-a190ec18.es.js → sk-43ad741e.es.js} +26 -4
  102. package/es6/sk-43ad741e.es.js.map +1 -0
  103. package/es6/{sl-fb23d48f.es.js → sl-34da7717.es.js} +26 -4
  104. package/es6/sl-34da7717.es.js.map +1 -0
  105. package/es6/{sr-07ed6a42.es.js → sr-06f3f223.es.js} +27 -5
  106. package/es6/sr-06f3f223.es.js.map +1 -0
  107. package/es6/{sv-bd7e69b0.es.js → sv-997fb8ea.es.js} +27 -5
  108. package/es6/sv-997fb8ea.es.js.map +1 -0
  109. package/es6/{th-ee9b4c94.es.js → th-1d7d80c5.es.js} +27 -5
  110. package/es6/th-1d7d80c5.es.js.map +1 -0
  111. package/es6/{tr-133c4315.es.js → tr-b4dd39c1.es.js} +27 -5
  112. package/es6/tr-b4dd39c1.es.js.map +1 -0
  113. package/es6/{zh-52690171.es.js → zh-5b4411b0.es.js} +25 -3
  114. package/es6/zh-5b4411b0.es.js.map +1 -0
  115. package/es6/{zh-HK-bea37a07.es.js → zh-HK-e929b1ae.es.js} +25 -3
  116. package/es6/zh-HK-e929b1ae.es.js.map +1 -0
  117. package/localized-messages/ar.json +26 -4
  118. package/localized-messages/bg.json +25 -3
  119. package/localized-messages/cs.json +32 -10
  120. package/localized-messages/da.json +27 -5
  121. package/localized-messages/de.json +26 -4
  122. package/localized-messages/el.json +27 -5
  123. package/localized-messages/en-GB.json +27 -5
  124. package/localized-messages/en-US.json +26 -4
  125. package/localized-messages/es-ES.json +43 -21
  126. package/localized-messages/es.json +45 -23
  127. package/localized-messages/fi.json +27 -5
  128. package/localized-messages/fr-CA.json +60 -38
  129. package/localized-messages/fr.json +26 -4
  130. package/localized-messages/ga.json +26 -4
  131. package/localized-messages/hr.json +26 -4
  132. package/localized-messages/hu.json +26 -4
  133. package/localized-messages/id.json +25 -3
  134. package/localized-messages/it.json +26 -4
  135. package/localized-messages/iw.json +26 -4
  136. package/localized-messages/ja.json +26 -4
  137. package/localized-messages/ko.json +26 -4
  138. package/localized-messages/lo.json +26 -4
  139. package/localized-messages/lt.json +25 -3
  140. package/localized-messages/ms.json +26 -4
  141. package/localized-messages/nl.json +26 -4
  142. package/localized-messages/no.json +26 -4
  143. package/localized-messages/pl.json +25 -3
  144. package/localized-messages/pt-BR.json +26 -4
  145. package/localized-messages/pt.json +26 -4
  146. package/localized-messages/ru.json +25 -3
  147. package/localized-messages/sk.json +25 -3
  148. package/localized-messages/sl.json +25 -3
  149. package/localized-messages/sr.json +26 -4
  150. package/localized-messages/sv.json +26 -4
  151. package/localized-messages/th.json +26 -4
  152. package/localized-messages/tr.json +26 -4
  153. package/localized-messages/zh-HK.json +24 -2
  154. package/localized-messages/zh.json +24 -2
  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 +433 -189
  168. package/sheerides6.js.map +1 -1
  169. package/src/components/FeatureFlags/flags.d.ts +0 -1
  170. package/src/components/FeatureFlags/hooks.d.ts +1 -1
  171. package/src/components/FormFields/LowIncomeOrganization/LowIncomeOrganizationComponent.d.ts +7 -0
  172. package/src/components/FormFields/LowIncomeOrganization/LowIncomeOrganizationComponent.test.d.ts +1 -0
  173. package/src/components/StepLowIncomePersonalInfo/StepLowIncomePersonalInfoComponent.d.ts +11 -0
  174. package/src/components/StepLowIncomePersonalInfo/StepLowIncomePersonalInfoComponent.test.d.ts +1 -0
  175. package/src/es6.d.ts +3 -2
  176. package/src/lib/ServerApi/Network.d.ts +1 -4
  177. package/src/lib/ServerApi/VerificationApiClient.d.ts +1 -1
  178. package/src/lib/intl/messages/lowIncomeMessages.d.ts +2 -0
  179. package/src/lib/types/empties.d.ts +2 -1
  180. package/src/lib/types/runtimeTypes.d.ts +9 -2
  181. package/src/lib/types/types.d.ts +41 -11
  182. package/src/serverMocks/mocks.d.ts +3 -1
  183. package/types-reference.zip +0 -0
  184. package/es6/de-37bf2739.es.js.map +0 -1
  185. package/es6/el-04fa4103.es.js.map +0 -1
  186. package/es6/es-5112b32e.es.js.map +0 -1
  187. package/es6/fi-2277ea1e.es.js.map +0 -1
  188. package/es6/fr-b9d3dc58.es.js.map +0 -1
  189. package/es6/ga-4bf9710e.es.js.map +0 -1
  190. package/es6/hr-ed9b974f.es.js.map +0 -1
  191. package/es6/hu-a36c8244.es.js.map +0 -1
  192. package/es6/id-5896c7f1.es.js.map +0 -1
  193. package/es6/it-7c28e015.es.js.map +0 -1
  194. package/es6/iw-e61ca28b.es.js.map +0 -1
  195. package/es6/ja-5e5d13be.es.js.map +0 -1
  196. package/es6/ko-e4c5d44d.es.js.map +0 -1
  197. package/es6/lo-3d03c534.es.js.map +0 -1
  198. package/es6/lt-99c6971e.es.js.map +0 -1
  199. package/es6/ms-e537ec43.es.js.map +0 -1
  200. package/es6/nl-162d7a39.es.js.map +0 -1
  201. package/es6/no-53861522.es.js.map +0 -1
  202. package/es6/pl-b2b55c9f.es.js.map +0 -1
  203. package/es6/pt-61825a2b.es.js.map +0 -1
  204. package/es6/ru-cba590b5.es.js.map +0 -1
  205. package/es6/sk-a190ec18.es.js.map +0 -1
  206. package/es6/sl-fb23d48f.es.js.map +0 -1
  207. package/es6/sr-07ed6a42.es.js.map +0 -1
  208. package/es6/sv-bd7e69b0.es.js.map +0 -1
  209. package/es6/th-ee9b4c94.es.js.map +0 -1
  210. package/es6/tr-133c4315.es.js.map +0 -1
  211. package/es6/zh-52690171.es.js.map +0 -1
  212. package/es6/zh-HK-bea37a07.es.js.map +0 -1
package/sheerides6.js CHANGED
@@ -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";
@@ -1377,9 +1385,6 @@ const defaultJsonHeaders = {
1377
1385
  Accept: "application/json",
1378
1386
  "Content-Type": "application/json",
1379
1387
  };
1380
- const defaultFileUploadHeaders = {
1381
- Accept: "application/json",
1382
- };
1383
1388
  const defaultUploadHeaders = {
1384
1389
  "Content-Type": "application/json",
1385
1390
  };
@@ -1445,26 +1450,6 @@ const GetResponse = async (url, headers = defaultJsonHeaders) => fetchWithTimeou
1445
1450
  headers,
1446
1451
  method: "GET",
1447
1452
  });
1448
- const createFormData = (files) => {
1449
- const formData = new FormData();
1450
- files.forEach((file, index) => {
1451
- if (file) {
1452
- formData.append(`file${index}`, file);
1453
- }
1454
- });
1455
- return formData;
1456
- };
1457
- const PostFiles = async (url, files, headers = defaultFileUploadHeaders) => {
1458
- const timeLog = new ResponseTimeLogger(url);
1459
- logger.info(`PostFiles posting to ${url}`, files);
1460
- const formData = createFormData(files);
1461
- const response = await fetch(url, {
1462
- headers,
1463
- method: "POST",
1464
- body: formData,
1465
- });
1466
- return processResponse(response, timeLog);
1467
- };
1468
1453
  const createDocUploadData = (files) => files
1469
1454
  .filter((file) => !!file)
1470
1455
  .map((file) => ({
@@ -1472,10 +1457,12 @@ const createDocUploadData = (files) => files
1472
1457
  mimeType: file.type,
1473
1458
  fileSize: file.size,
1474
1459
  }));
1475
- const PostFilesS3 = async (url, files, headers = defaultUploadHeaders) => {
1460
+ const PostFiles = async (url, files, headers = defaultUploadHeaders) => {
1476
1461
  const timeLog = new ResponseTimeLogger(url);
1477
1462
  logger.info(`PostFiles posting to ${url}`, files);
1478
- const docUploadData = JSON.stringify(createDocUploadData(files));
1463
+ const docUploadData = JSON.stringify({
1464
+ files: createDocUploadData(files),
1465
+ });
1479
1466
  const response = await fetch(url, {
1480
1467
  headers,
1481
1468
  method: "POST",
@@ -1825,6 +1812,7 @@ var enUSMessages = {
1825
1812
  "defaultMessages.PHARMACIST": "Pharmacist",
1826
1813
  "defaultMessages.POLICE": "Police",
1827
1814
  "defaultMessages.RESERVIST": "Reservist or National Guard",
1815
+ "defaultMessages.SNAP_BENEFITS": "Snap Benefits Recipient",
1828
1816
  "defaultMessages.VETERAN": "Military Veteran or Retiree",
1829
1817
  "defaultMessages.VETERINARIAN": "Veterinarian",
1830
1818
  "defaultMessages.address": "Address",
@@ -2337,6 +2325,10 @@ var enUSMessages = {
2337
2325
  "defaultMessages.step.docUpload.acceptableUploads.firstResponder.letter": "An official letter",
2338
2326
  "defaultMessages.step.docUpload.acceptableUploads.firstResponder.payStub": "Pay stub from within last 60 days",
2339
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).",
2340
2332
  "defaultMessages.step.docUpload.acceptableUploads.medical.idCard": "Nursing ID card with expiration date",
2341
2333
  "defaultMessages.step.docUpload.acceptableUploads.medical.licenseCertificate": "Certificate of license",
2342
2334
  "defaultMessages.step.docUpload.acceptableUploads.medical.photoPayStub": "Photo ID and recent Pay Stub",
@@ -2426,6 +2418,8 @@ var enUSMessages = {
2426
2418
  "defaultMessages.step.docUpload.uploadInfo.identity.validDate": "A currently valid date",
2427
2419
  "defaultMessages.step.docUpload.uploadInfo.licensedProfessional.licenseStatus": "Your professional license and/or certification status",
2428
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)",
2429
2423
  "defaultMessages.step.docUpload.uploadInfo.medical.status": "Your medical professional status",
2430
2424
  "defaultMessages.step.docUpload.uploadInfo.medical.validDate": "A currently valid date",
2431
2425
  "defaultMessages.step.docUpload.uploadInfo.military.currentAffiliation": "Your current affiliation with the armed services",
@@ -2442,8 +2436,8 @@ var enUSMessages = {
2442
2436
  "defaultMessages.step.docUpload.uploadInfo.teacher.school": "Your school",
2443
2437
  "defaultMessages.step.emailLoop.errors.resend": "Error sending email",
2444
2438
  "defaultMessages.step.emailLoop.resendButton": "Re-send",
2445
- "defaultMessages.step.emailLoop.skipEmail": "Unable to retrieve this email? Click ",
2446
- "defaultMessages.step.emailLoop.skipEmail2": " to proceed.",
2439
+ "defaultMessages.step.emailLoop.skipEmail": "Unable to retrieve this email? Click",
2440
+ "defaultMessages.step.emailLoop.skipEmail2": "to proceed.",
2447
2441
  "defaultMessages.step.emailLoop.skipEmailCTA": "here",
2448
2442
  "defaultMessages.step.emailLoop.subtitle2": "Please check for an email from us (verify@sheerid.com) for all the details.",
2449
2443
  "defaultMessages.step.emailLoop.subtitleWithEmail": "An email has been sent to {email} with a personalized link to complete the verification process.",
@@ -2472,8 +2466,8 @@ var enUSMessages = {
2472
2466
  "defaultMessages.step.smsLoop.errors.codeResendLimit": "Maximum number of re-tries has been reached.",
2473
2467
  "defaultMessages.step.smsLoop.errors.codeVerification": "Verification code could not be validated.",
2474
2468
  "defaultMessages.step.smsLoop.errors.resend": "Error sending the SMS message",
2475
- "defaultMessages.step.smsLoop.incorrectNumber.incorrectNumber1": "Incorrect number? Click ",
2476
- "defaultMessages.step.smsLoop.incorrectNumber.incorrectNumber2": "here ",
2469
+ "defaultMessages.step.smsLoop.incorrectNumber.incorrectNumber1": "Incorrect number? Click",
2470
+ "defaultMessages.step.smsLoop.incorrectNumber.incorrectNumber2": "here",
2477
2471
  "defaultMessages.step.smsLoop.incorrectNumber.incorrectNumber3": "to return to {companyName}",
2478
2472
  "defaultMessages.step.smsLoop.resendButton": "Re-send",
2479
2473
  "defaultMessages.step.smsLoop.submitButton": "Submit",
@@ -2494,6 +2488,7 @@ var enUSMessages = {
2494
2488
  "defaultMessages.universityName": "University name",
2495
2489
  "defaultMessages.verificationPurposesOnly": "Used for verification purposes only",
2496
2490
  "defaultMessages.verifyAndContinue": "Verify and continue",
2491
+ "defaultMessages.verifyLowIncomeStatus": "Verify my status",
2497
2492
  "defaultMessages.verifyMyEmploymentStatus": "Verify My Employee Status",
2498
2493
  "defaultMessages.verifyMyFirstResponderStatus": "Verify My First Responder Status",
2499
2494
  "defaultMessages.verifyMyIdentityStatus": "Verify My Identity",
@@ -2612,6 +2607,20 @@ var enUSMessages = {
2612
2607
  "segmentMessages.licensedProfessional.step.success.redirectButtonText": "Use code now",
2613
2608
  "segmentMessages.licensedProfessional.step.success.subtitle": "Here is your personal coupon code. It is unique to you and can only be used once.",
2614
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",
2615
2624
  "segmentMessages.medical.emailExplanation": "Use your work email if you have one",
2616
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}.",
2617
2626
  "segmentMessages.medical.step.docUpload.subtitle": "Documents will be reviewed in {estimatedWaitTime} by staff at SheerID, a trusted partner.",
@@ -2739,154 +2748,154 @@ const getMessagesModuleByLocale = async (locale) => {
2739
2748
  switch (locale) {
2740
2749
  case "ar":
2741
2750
  localizedMessages = await import(
2742
- /* webpackChunkName: "messages_ar" */ './es6/ar-aa7923c0.es.js').then((m) => m.default);
2751
+ /* webpackChunkName: "messages_ar" */ './es6/ar-93a526ca.es.js').then((m) => m.default);
2743
2752
  break;
2744
2753
  case "bg":
2745
2754
  localizedMessages = await import(
2746
- /* webpackChunkName: "messages_bg" */ './es6/bg-7716e1e1.es.js').then((m) => m.default);
2755
+ /* webpackChunkName: "messages_bg" */ './es6/bg-22178b64.es.js').then((m) => m.default);
2747
2756
  break;
2748
2757
  case "cs":
2749
2758
  localizedMessages = await import(
2750
- /* webpackChunkName: "messages_cs" */ './es6/cs-0102f276.es.js').then((m) => m.default);
2759
+ /* webpackChunkName: "messages_cs" */ './es6/cs-283f4f4f.es.js').then((m) => m.default);
2751
2760
  break;
2752
2761
  case "da":
2753
2762
  localizedMessages = await import(
2754
- /* webpackChunkName: "messages_da" */ './es6/da-7ea93323.es.js').then((m) => m.default);
2763
+ /* webpackChunkName: "messages_da" */ './es6/da-2d24d349.es.js').then((m) => m.default);
2755
2764
  break;
2756
2765
  case "de":
2757
2766
  localizedMessages = await import(
2758
- /* webpackChunkName: "messages_de" */ './es6/de-37bf2739.es.js').then((m) => m.default);
2767
+ /* webpackChunkName: "messages_de" */ './es6/de-6b0a9bd8.es.js').then((m) => m.default);
2759
2768
  break;
2760
2769
  case "el":
2761
2770
  localizedMessages = await import(
2762
- /* webpackChunkName: "messages_el" */ './es6/el-04fa4103.es.js').then((m) => m.default);
2771
+ /* webpackChunkName: "messages_el" */ './es6/el-677aadeb.es.js').then((m) => m.default);
2763
2772
  break;
2764
2773
  case "en-GB":
2765
2774
  localizedMessages = await import(
2766
- /* webpackChunkName: "messages_en-GB" */ './es6/en-GB-8acf43be.es.js').then((m) => m.default);
2775
+ /* webpackChunkName: "messages_en-GB" */ './es6/en-GB-5874ccc1.es.js').then((m) => m.default);
2767
2776
  break;
2768
2777
  case "en-US":
2769
2778
  localizedMessages = enUSMessages;
2770
2779
  break;
2771
2780
  case "es-ES":
2772
2781
  localizedMessages = await import(
2773
- /* webpackChunkName: "messages_es-ES" */ './es6/es-ES-c906634a.es.js').then((m) => m.default);
2782
+ /* webpackChunkName: "messages_es-ES" */ './es6/es-ES-21ddc896.es.js').then((m) => m.default);
2774
2783
  break;
2775
2784
  case "es":
2776
2785
  localizedMessages = await import(
2777
- /* webpackChunkName: "messages_es" */ './es6/es-5112b32e.es.js').then((m) => m.default);
2786
+ /* webpackChunkName: "messages_es" */ './es6/es-833eb4a0.es.js').then((m) => m.default);
2778
2787
  break;
2779
2788
  case "fi":
2780
2789
  localizedMessages = await import(
2781
- /* webpackChunkName: "messages_fi" */ './es6/fi-2277ea1e.es.js').then((m) => m.default);
2790
+ /* webpackChunkName: "messages_fi" */ './es6/fi-91fed483.es.js').then((m) => m.default);
2782
2791
  break;
2783
2792
  case "fr-CA":
2784
2793
  localizedMessages = await import(
2785
- /* webpackChunkName: "messages_fr-CA" */ './es6/fr-CA-bfca14f3.es.js').then((m) => m.default);
2794
+ /* webpackChunkName: "messages_fr-CA" */ './es6/fr-CA-479f7e7e.es.js').then((m) => m.default);
2786
2795
  break;
2787
2796
  case "fr":
2788
2797
  localizedMessages = await import(
2789
- /* webpackChunkName: "messages_fr" */ './es6/fr-b9d3dc58.es.js').then((m) => m.default);
2798
+ /* webpackChunkName: "messages_fr" */ './es6/fr-d3dc580b.es.js').then((m) => m.default);
2790
2799
  break;
2791
2800
  case "ga":
2792
2801
  localizedMessages = await import(
2793
- /* webpackChunkName: "messages_ga" */ './es6/ga-4bf9710e.es.js').then((m) => m.default);
2802
+ /* webpackChunkName: "messages_ga" */ './es6/ga-d8610062.es.js').then((m) => m.default);
2794
2803
  break;
2795
2804
  case "hr":
2796
2805
  localizedMessages = await import(
2797
- /* webpackChunkName: "messages_hr" */ './es6/hr-ed9b974f.es.js').then((m) => m.default);
2806
+ /* webpackChunkName: "messages_hr" */ './es6/hr-602b4ef6.es.js').then((m) => m.default);
2798
2807
  break;
2799
2808
  case "hu":
2800
2809
  localizedMessages = await import(
2801
- /* webpackChunkName: "messages_hu" */ './es6/hu-a36c8244.es.js').then((m) => m.default);
2810
+ /* webpackChunkName: "messages_hu" */ './es6/hu-c9db7f8e.es.js').then((m) => m.default);
2802
2811
  break;
2803
2812
  case "id":
2804
2813
  localizedMessages = await import(
2805
- /* webpackChunkName: "messages_id" */ './es6/id-5896c7f1.es.js').then((m) => m.default);
2814
+ /* webpackChunkName: "messages_id" */ './es6/id-d5f251dc.es.js').then((m) => m.default);
2806
2815
  break;
2807
2816
  case "it":
2808
2817
  localizedMessages = await import(
2809
- /* webpackChunkName: "messages_it" */ './es6/it-7c28e015.es.js').then((m) => m.default);
2818
+ /* webpackChunkName: "messages_it" */ './es6/it-d2da9a96.es.js').then((m) => m.default);
2810
2819
  break;
2811
2820
  case "iw":
2812
2821
  localizedMessages = await import(
2813
- /* webpackChunkName: "messages_iw" */ './es6/iw-e61ca28b.es.js').then((m) => m.default);
2822
+ /* webpackChunkName: "messages_iw" */ './es6/iw-0e212eca.es.js').then((m) => m.default);
2814
2823
  break;
2815
2824
  case "ja":
2816
2825
  localizedMessages = await import(
2817
- /* webpackChunkName: "messages_ja" */ './es6/ja-5e5d13be.es.js').then((m) => m.default);
2826
+ /* webpackChunkName: "messages_ja" */ './es6/ja-88e60aa3.es.js').then((m) => m.default);
2818
2827
  break;
2819
2828
  case "ko":
2820
2829
  localizedMessages = await import(
2821
- /* webpackChunkName: "messages_ko" */ './es6/ko-e4c5d44d.es.js').then((m) => m.default);
2830
+ /* webpackChunkName: "messages_ko" */ './es6/ko-fbc8a84a.es.js').then((m) => m.default);
2822
2831
  break;
2823
2832
  case "lo":
2824
2833
  localizedMessages = await import(
2825
- /* webpackChunkName: "messages_lo" */ './es6/lo-3d03c534.es.js').then((m) => m.default);
2834
+ /* webpackChunkName: "messages_lo" */ './es6/lo-d483fdaa.es.js').then((m) => m.default);
2826
2835
  break;
2827
2836
  case "lt":
2828
2837
  localizedMessages = await import(
2829
- /* webpackChunkName: "messages_lt" */ './es6/lt-99c6971e.es.js').then((m) => m.default);
2838
+ /* webpackChunkName: "messages_lt" */ './es6/lt-146f2d30.es.js').then((m) => m.default);
2830
2839
  break;
2831
2840
  case "ms":
2832
2841
  localizedMessages = await import(
2833
- /* webpackChunkName: "messages_ms" */ './es6/ms-e537ec43.es.js').then((m) => m.default);
2842
+ /* webpackChunkName: "messages_ms" */ './es6/ms-a9a79e9a.es.js').then((m) => m.default);
2834
2843
  break;
2835
2844
  case "nl":
2836
2845
  localizedMessages = await import(
2837
- /* webpackChunkName: "messages_nl" */ './es6/nl-162d7a39.es.js').then((m) => m.default);
2846
+ /* webpackChunkName: "messages_nl" */ './es6/nl-fedc45b6.es.js').then((m) => m.default);
2838
2847
  break;
2839
2848
  case "no":
2840
2849
  localizedMessages = await import(
2841
- /* webpackChunkName: "messages_no" */ './es6/no-53861522.es.js').then((m) => m.default);
2850
+ /* webpackChunkName: "messages_no" */ './es6/no-bbf26a90.es.js').then((m) => m.default);
2842
2851
  break;
2843
2852
  case "pl":
2844
2853
  localizedMessages = await import(
2845
- /* webpackChunkName: "messages_pl" */ './es6/pl-b2b55c9f.es.js').then((m) => m.default);
2854
+ /* webpackChunkName: "messages_pl" */ './es6/pl-8e2c1688.es.js').then((m) => m.default);
2846
2855
  break;
2847
2856
  case "pt-BR":
2848
2857
  localizedMessages = await import(
2849
- /* webpackChunkName: "messages_pt-BR" */ './es6/pt-BR-a9efa2ab.es.js').then((m) => m.default);
2858
+ /* webpackChunkName: "messages_pt-BR" */ './es6/pt-BR-a4783678.es.js').then((m) => m.default);
2850
2859
  break;
2851
2860
  case "pt":
2852
2861
  localizedMessages = await import(
2853
- /* webpackChunkName: "messages_pt" */ './es6/pt-61825a2b.es.js').then((m) => m.default);
2862
+ /* webpackChunkName: "messages_pt" */ './es6/pt-3bdb1ff1.es.js').then((m) => m.default);
2854
2863
  break;
2855
2864
  case "ru":
2856
2865
  localizedMessages = await import(
2857
- /* webpackChunkName: "messages_ru" */ './es6/ru-cba590b5.es.js').then((m) => m.default);
2866
+ /* webpackChunkName: "messages_ru" */ './es6/ru-84d7d4fb.es.js').then((m) => m.default);
2858
2867
  break;
2859
2868
  case "sk":
2860
2869
  localizedMessages = await import(
2861
- /* webpackChunkName: "messages_sk" */ './es6/sk-a190ec18.es.js').then((m) => m.default);
2870
+ /* webpackChunkName: "messages_sk" */ './es6/sk-43ad741e.es.js').then((m) => m.default);
2862
2871
  break;
2863
2872
  case "sl":
2864
2873
  localizedMessages = await import(
2865
- /* webpackChunkName: "messages_sl" */ './es6/sl-fb23d48f.es.js').then((m) => m.default);
2874
+ /* webpackChunkName: "messages_sl" */ './es6/sl-34da7717.es.js').then((m) => m.default);
2866
2875
  break;
2867
2876
  case "sr":
2868
2877
  localizedMessages = await import(
2869
- /* webpackChunkName: "messages_sr" */ './es6/sr-07ed6a42.es.js').then((m) => m.default);
2878
+ /* webpackChunkName: "messages_sr" */ './es6/sr-06f3f223.es.js').then((m) => m.default);
2870
2879
  break;
2871
2880
  case "sv":
2872
2881
  localizedMessages = await import(
2873
- /* webpackChunkName: "messages_sv" */ './es6/sv-bd7e69b0.es.js').then((m) => m.default);
2882
+ /* webpackChunkName: "messages_sv" */ './es6/sv-997fb8ea.es.js').then((m) => m.default);
2874
2883
  break;
2875
2884
  case "th":
2876
2885
  localizedMessages = await import(
2877
- /* webpackChunkName: "messages_th" */ './es6/th-ee9b4c94.es.js').then((m) => m.default);
2886
+ /* webpackChunkName: "messages_th" */ './es6/th-1d7d80c5.es.js').then((m) => m.default);
2878
2887
  break;
2879
2888
  case "tr":
2880
2889
  localizedMessages = await import(
2881
- /* webpackChunkName: "messages_tr" */ './es6/tr-133c4315.es.js').then((m) => m.default);
2890
+ /* webpackChunkName: "messages_tr" */ './es6/tr-b4dd39c1.es.js').then((m) => m.default);
2882
2891
  break;
2883
2892
  case "zh-HK":
2884
2893
  localizedMessages = await import(
2885
- /* webpackChunkName: "messages_zh-HK" */ './es6/zh-HK-bea37a07.es.js').then((m) => m.default);
2894
+ /* webpackChunkName: "messages_zh-HK" */ './es6/zh-HK-e929b1ae.es.js').then((m) => m.default);
2886
2895
  break;
2887
2896
  case "zh":
2888
2897
  localizedMessages = await import(
2889
- /* webpackChunkName: "messages_zh" */ './es6/zh-52690171.es.js').then((m) => m.default);
2898
+ /* webpackChunkName: "messages_zh" */ './es6/zh-5b4411b0.es.js').then((m) => m.default);
2890
2899
  break;
2891
2900
  default:
2892
2901
  logger.warn(`getMessagesModuleByLocale: Unable to load messages for ${locale}, falling back to en-US`);
@@ -3165,7 +3174,7 @@ const getPrivacyPolicyCompanyName = (programTheme, intl) => {
3165
3174
  if (privacyPolicyHostName === DEFAULT_PRIVACY_POLICY_HOST) {
3166
3175
  return SHEERID;
3167
3176
  }
3168
- return intl.formatMessage({
3177
+ return intl.formatHTMLMessage({
3169
3178
  id: "companyName",
3170
3179
  defaultMessage: "{companyName}",
3171
3180
  });
@@ -3546,6 +3555,22 @@ const moverPInfoReqEmpty = {
3546
3555
  refererUrl: window.location.href,
3547
3556
  },
3548
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
+ };
3549
3574
  // TODO use Object.freeze here
3550
3575
  const docUploadEmpty = {
3551
3576
  ...withLocaleAndCountryEmpty,
@@ -3615,6 +3640,7 @@ const getAllEmptyViewModels = () => ({
3615
3640
  collectGeneralIdentityPersonalInfo: deepClone(generalIdentityPInfoReqEmpty),
3616
3641
  collectHybridIdentityPersonalInfo: deepClone(hybridIdentityPInfoReqEmpty),
3617
3642
  collectLicensedProfessionalPersonalInfo: deepClone(licensedProfessionalPInfoReqEmpty),
3643
+ collectLowIncomePersonalInfo: deepClone(lowIncomePInfoReqEmpty),
3618
3644
  collectMoverPersonalInfo: deepClone(moverPInfoReqEmpty),
3619
3645
  docUpload: deepClone(docUploadEmpty),
3620
3646
  cancelEmailLoop: deepClone(emailLoopEmpty),
@@ -4763,7 +4789,7 @@ const getStatusLabel = (intl, status, defaultMessages) => {
4763
4789
  if (!status) {
4764
4790
  return "";
4765
4791
  }
4766
- return intl.formatMessage({ id: status, defaultMessage: defaultMessages[status] });
4792
+ return intl.formatHTMLMessage({ id: status, defaultMessage: defaultMessages[status] });
4767
4793
  };
4768
4794
  const getAvailableMilitaryStatuses = (verificationService, intl) => {
4769
4795
  const availableStatusesResponse = verificationService.verificationResponse.availableStatuses ||
@@ -4854,12 +4880,12 @@ const submitForm = (viewModel, verificationService, step) => {
4854
4880
  * @return {Object}
4855
4881
  */
4856
4882
  const getEstAndMaxReviewTimes = (verificationResponse, programTheme, intl) => {
4857
- const estReviewTime = intl.formatMessage({
4883
+ const estReviewTime = intl.formatHTMLMessage({
4858
4884
  id: `dateTime.${getSafe(() => verificationResponse.estimatedReviewTime) ||
4859
4885
  getEstimatedReviewTime(programTheme)}`,
4860
4886
  default: "a few minutes",
4861
4887
  });
4862
- const maxReviewTime = intl.formatMessage({
4888
+ const maxReviewTime = intl.formatHTMLMessage({
4863
4889
  id: `dateTime.${getSafe(() => verificationResponse.maxReviewTime) || getMaxReviewTime(programTheme)}`,
4864
4890
  default: "2 hours",
4865
4891
  });
@@ -4875,7 +4901,7 @@ const getAvailableCountryChoices = (programTheme, intl) => {
4875
4901
  const availableCountries = getConfiguredCountries(programTheme);
4876
4902
  return availableCountries.map((countryCode) => ({
4877
4903
  value: countryCode,
4878
- label: intl.formatMessage({
4904
+ label: intl.formatHTMLMessage({
4879
4905
  id: `countries.${countryCode}`,
4880
4906
  defaultMessage: countryCode,
4881
4907
  }),
@@ -4885,7 +4911,7 @@ const getAvailableStateChoices = (programTheme, intl) => {
4885
4911
  const availableStates = getConfiguredStates(programTheme);
4886
4912
  return availableStates.map((stateCode) => ({
4887
4913
  value: stateCode,
4888
- label: intl.formatMessage({
4914
+ label: intl.formatHTMLMessage({
4889
4915
  id: `states.${stateCode}`,
4890
4916
  defaultMessage: stateCode,
4891
4917
  }),
@@ -4909,7 +4935,7 @@ const getAvailableLocaleChoices = (programTheme, intl) => {
4909
4935
  const availableLocales = getAvailableLocales(programTheme);
4910
4936
  return availableLocales.map((locale) => ({
4911
4937
  value: locale,
4912
- label: intl.formatMessage({
4938
+ label: intl.formatHTMLMessage({
4913
4939
  id: `locales.${locale}`,
4914
4940
  defaultMessage: locale,
4915
4941
  }),
@@ -4966,7 +4992,7 @@ const FirstName = ({ value, isErrored, onChange, intl, placeholder = "", }) => (
4966
4992
  React.createElement("div", { className: "sid-l-space-top-md" }),
4967
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" }),
4968
4994
  React.createElement(InputTextComponent, { id: "first-name", isErrored: isErrored, onChange: (e) => onChange(e.target.value), placeholder: placeholder ||
4969
- 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" }),
4970
4996
  isErrored ? (React.createElement("div", { className: "sid-field-error" },
4971
4997
  React.createElement(FormattedHTMLMessage, { id: "errorId.invalidFirstName", defaultMessage: "Invalid first name" }))) : null));
4972
4998
  const FirstNameComponent = injectIntl(FirstName);
@@ -4975,7 +5001,7 @@ const LastName = ({ value, isErrored, onChange, intl, placeholder = "", }) => (R
4975
5001
  React.createElement("div", { className: "sid-l-space-top-md" }),
4976
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" }),
4977
5003
  React.createElement(InputTextComponent, { id: "last-name", isErrored: isErrored, onChange: (event) => onChange(event.target.value), placeholder: placeholder ||
4978
- 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" }),
4979
5005
  isErrored ? (React.createElement("div", { className: "sid-field-error" },
4980
5006
  React.createElement(FormattedHTMLMessage, { id: "errorId.invalidLastName", defaultMessage: "Invalid last name" }))) : null));
4981
5007
  const LastNameComponent = injectIntl(LastName);
@@ -4984,7 +5010,7 @@ const Email = ({ value, isErrored, onChange, explanation, intl, onKeyDown = unde
4984
5010
  React.createElement("div", { className: "sid-l-space-top-md" }),
4985
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" }))),
4986
5012
  React.createElement(InputTextComponent, { id: "email", isErrored: isErrored, onChange: (event) => onChange(event.target.value), onKeyDown: typeof onKeyDown === "function" ? (e) => onKeyDown(e) : undefined, placeholder: placeholder ||
4987
- 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" }),
4988
5014
  isErrored ? (React.createElement("div", { className: "sid-field-error" },
4989
5015
  React.createElement(FormattedHTMLMessage, { id: "errorId.invalidEmail", defaultMessage: "Invalid email" }))) : null));
4990
5016
  const EmailComponent = injectIntl(Email);
@@ -9645,10 +9671,11 @@ const Country = ({ value, isErrored, options, onChange, onKeyDown, intl, placeho
9645
9671
  return (React.createElement("div", { className: `sid-field ${inputId}` },
9646
9672
  React.createElement("div", { className: "sid-l-space-top-md" }),
9647
9673
  React.createElement(FieldLabel, { text: React.createElement(FormattedHTMLMessage, { id: "country", defaultMessage: "Country" }), htmlForLabel: inputId, id: `${inputId}-label`, isRequired: isRequired }),
9648
- 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
9649
9676
  ? {
9650
9677
  value: value.value,
9651
- label: intl.formatMessage({
9678
+ label: intl.formatHTMLMessage({
9652
9679
  id: `countries.${value.value}`,
9653
9680
  defaultMessage: value.label || value.value,
9654
9681
  }),
@@ -9701,14 +9728,17 @@ const SelectComponent = Select;
9701
9728
  const ChangeLocale = ({ value, options, onChange, intl, }) => {
9702
9729
  const newOptions = options.map((option) => ({
9703
9730
  value: option.value,
9704
- 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
+ }),
9705
9735
  }));
9706
9736
  return (React.createElement("div", { className: "sid-change-locale" },
9707
9737
  React.createElement("div", { className: "sid-field__label sid-change-locale__label " },
9708
9738
  React.createElement(FormattedHTMLMessage, { id: "changeLanguage", defaultMessage: "Change language" })),
9709
9739
  React.createElement(SelectComponent, { className: "sid-change-locale__select", hideDropDownButton: true, options: newOptions, onChange: (locale) => onChange(locale), overrideInputClassName: "sid-change-locale__input", value: {
9710
9740
  value: value.value,
9711
- label: intl.formatMessage({
9741
+ label: intl.formatHTMLMessage({
9712
9742
  id: `locales.${value.value}`,
9713
9743
  defaultMessage: "Label not found",
9714
9744
  }),
@@ -10418,6 +10448,39 @@ const moverMessages = {
10418
10448
  },
10419
10449
  };
10420
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
+
10421
10484
  // ===================== Student Personal Info ====================
10422
10485
  const mockStudentPersonalInfoResponse = {
10423
10486
  verificationId: "5a3bffd5e4b05f0b878a9762",
@@ -10579,6 +10642,16 @@ const mockMoverPersonalInfoResponse = {
10579
10642
  instantMatchAttempts: 0,
10580
10643
  locale: "en-US",
10581
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
+ };
10582
10655
  // ===================== Social Security Number step ====================
10583
10656
  const mockSocialSecurityResponse = {
10584
10657
  verificationId: "5a3bffd5e4b05f0b878a9762",
@@ -10700,6 +10773,7 @@ const allMockedResponses = {
10700
10773
  collectHybridIdentityPersonalInfo: mockHybridIdentityPersonalInfoResponse,
10701
10774
  collectLicensedProfessionalPersonalInfo: mockLicensedProfessionalPersonalInfoResponse,
10702
10775
  collectMoverPersonalInfo: mockMoverPersonalInfoResponse,
10776
+ collectLowIncomePersonalInfo: mockLowIncomePersonalInfoResponse,
10703
10777
  sso: mockSSOResponse,
10704
10778
  smsLoop: mockSMSLoopResponse,
10705
10779
  emailLoop: mockEmailLoopResponse,
@@ -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
  }
@@ -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,
@@ -17478,7 +17557,7 @@ unwrapExports(lib$1);
17478
17557
  lib$1.withLDConsumer;
17479
17558
  lib$1.withLDProvider;
17480
17559
  lib$1.useLDClient;
17481
- var lib_4 = lib$1.useFlags;
17560
+ lib$1.useFlags;
17482
17561
  lib$1.camelCaseKeys;
17483
17562
  lib$1.asyncWithLDProvider;
17484
17563
  var lib_7 = lib$1.LDProvider;
@@ -18000,7 +18079,7 @@ const CollegeName = ({ onChange, value, isErrored, verificationService, intl, pl
18000
18079
  React.createElement("div", { className: "sid-l-space-top-md" }),
18001
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" }),
18002
18081
  React.createElement(TypeaheadComponent, { className: isErrored ? "sid-text-input--error" : "", countryCode: country, minimumSearchValueLength: getOptions().minimumOrganizationSearchLength, onChange: (choice) => onChange(choice), placeholder: placeholder ||
18003
- intl.formatMessage({
18082
+ intl.formatHTMLMessage({
18004
18083
  id: "schoolNamePlaceholder",
18005
18084
  defaultMessage: "University / College name",
18006
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 }),
@@ -18025,33 +18104,42 @@ const BirthDate = ({ onChange, intl, isErrored, isRequired = true, errorId, valu
18025
18104
  const months = [
18026
18105
  {
18027
18106
  value: "1",
18028
- label: intl.formatMessage({ id: "dateTime.january", defaultMessage: "January" }),
18107
+ label: intl.formatHTMLMessage({ id: "dateTime.january", defaultMessage: "January" }),
18029
18108
  },
18030
18109
  {
18031
18110
  value: "2",
18032
- 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" }),
18033
18127
  },
18034
- { value: "3", label: intl.formatMessage({ id: "dateTime.march", defaultMessage: "March" }) },
18035
- { value: "4", label: intl.formatMessage({ id: "dateTime.april", defaultMessage: "April" }) },
18036
- { value: "5", label: intl.formatMessage({ id: "dateTime.may", defaultMessage: "May" }) },
18037
- { value: "6", label: intl.formatMessage({ id: "dateTime.june", defaultMessage: "June" }) },
18038
- { value: "7", label: intl.formatMessage({ id: "dateTime.july", defaultMessage: "July" }) },
18039
- { value: "8", label: intl.formatMessage({ id: "dateTime.august", defaultMessage: "August" }) },
18040
18128
  {
18041
18129
  value: "9",
18042
- label: intl.formatMessage({ id: "dateTime.september", defaultMessage: "September" }),
18130
+ label: intl.formatHTMLMessage({ id: "dateTime.september", defaultMessage: "September" }),
18043
18131
  },
18044
18132
  {
18045
18133
  value: "10",
18046
- label: intl.formatMessage({ id: "dateTime.october", defaultMessage: "October" }),
18134
+ label: intl.formatHTMLMessage({ id: "dateTime.october", defaultMessage: "October" }),
18047
18135
  },
18048
18136
  {
18049
18137
  value: "11",
18050
- label: intl.formatMessage({ id: "dateTime.november", defaultMessage: "November" }),
18138
+ label: intl.formatHTMLMessage({ id: "dateTime.november", defaultMessage: "November" }),
18051
18139
  },
18052
18140
  {
18053
18141
  value: "12",
18054
- label: intl.formatMessage({ id: "dateTime.december", defaultMessage: "December" }),
18142
+ label: intl.formatHTMLMessage({ id: "dateTime.december", defaultMessage: "December" }),
18055
18143
  },
18056
18144
  ];
18057
18145
  const isDateFieldEmpty = (year, month, day) => (!day || day === "") && (!month || month === "") && (!year || year === "");
@@ -18135,9 +18223,9 @@ const BirthDate = ({ onChange, intl, isErrored, isRequired = true, errorId, valu
18135
18223
  // clear the birth month
18136
18224
  updateBirthMonth(null);
18137
18225
  }
18138
- }, placeholder: intl.formatMessage({ id: "dateTime.month", defaultMessage: "Month" }), suppressPlaceholder: false, value: birthDateMonth ? months[birthDateMonth - 1] : undefined, isRequired: isRequired, buttonRef: "inputSelectButtonBirthDate" }),
18139
- 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 || "" }),
18140
- 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 })),
18141
18229
  isErrored ? errMsg : null));
18142
18230
  };
18143
18231
  BirthDate.defaultProps = {
@@ -18217,8 +18305,8 @@ const FormFooterComponent = ({ verificationService, children }) => {
18217
18305
  updateViewModel(updatedViewModel);
18218
18306
  }, [privacyPolicyRef, locale]);
18219
18307
  return (React.createElement("div", { className: "sid-footer sid-h-small-text sid-l-space-top-md" },
18220
- React.createElement("div", { className: "sid-footer__shield" },
18221
- React.createElement("img", { title: "Powered by SheerID", alt: "design element", src: "https://assets-resources.sheerid.com/common/images/2018/icons/shield-check.svg" })),
18308
+ !children && (React.createElement("div", { className: "sid-footer__shield" },
18309
+ React.createElement("img", { title: "Powered by SheerID", alt: "design element", src: "https://assets-resources.sheerid.com/common/images/2018/icons/shield-check.svg" }))),
18222
18310
  React.createElement("div", null,
18223
18311
  React.createElement("div", { className: "sid-footer__one", ref: privacyPolicyRef }, children || (
18224
18312
  // The footer text block is collapsed until focused and as such is interactive.
@@ -18286,6 +18374,10 @@ function howDoesVerifyingWorkMessages() {
18286
18374
  default: moverMessages.step.personalInfo.howDoesVerifyingWorkDetails,
18287
18375
  docUpload: moverMessages.step.docUpload.howDoesVerifyingWorkDetails,
18288
18376
  },
18377
+ lowIncome: {
18378
+ default: lowIncomeMessages.step.personalInfo.howDoesVerifyingWorkDetails,
18379
+ docUpload: lowIncomeMessages.step.docUpload.howDoesVerifyingWorkDetails,
18380
+ },
18289
18381
  };
18290
18382
  }
18291
18383
 
@@ -18476,7 +18568,7 @@ const StepStudentPersonalInfo = ({ intl, verificationService, }) => {
18476
18568
  const StepStudentPersonalInfoComponent = injectIntl(StepStudentPersonalInfo);
18477
18569
 
18478
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 ||
18479
- 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 }));
18480
18572
  PostalCodeInput.defaultProps = {
18481
18573
  isValid: true,
18482
18574
  };
@@ -18586,7 +18678,7 @@ const carrierConsentValueValidator = (countryChoiceValue) => (value, programThem
18586
18678
  const City = ({ value, isErrored, onChange, intl, onKeyDown = undefined, placeholder = "", }) => (React.createElement("div", { className: "sid-field sid-city" },
18587
18679
  React.createElement("div", { className: "sid-l-space-top-md" }),
18588
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" }),
18589
- 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" }),
18590
18682
  isErrored ? (React.createElement("div", { className: "sid-field-error" },
18591
18683
  React.createElement(FormattedHTMLMessage, { id: "errorId.invalidCity", defaultMessage: "Invalid city" }))) : null));
18592
18684
  const CityComponent = injectIntl(City);
@@ -18594,7 +18686,8 @@ const CityComponent = injectIntl(City);
18594
18686
  const Address = ({ value, isErrored, onChange, intl, onKeyDown = undefined, placeholder = "", }) => (React.createElement("div", { className: "sid-field sid-address" },
18595
18687
  React.createElement("div", { className: "sid-l-space-top-md" }),
18596
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" }),
18597
- 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" }),
18598
18691
  isErrored ? (React.createElement("div", { className: "sid-field-error" },
18599
18692
  React.createElement(FormattedHTMLMessage, { id: "errorId.invalidAddress", defaultMessage: "Invalid address" }))) : null));
18600
18693
  const AddressComponent = injectIntl(Address);
@@ -18749,7 +18842,7 @@ const TeacherSchool = ({ value, isErrored, onChange, verificationService, intl,
18749
18842
  React.createElement("div", { className: "sid-l-space-top-md" }),
18750
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" }),
18751
18844
  React.createElement(TypeaheadComponent, { className: isErrored ? "sid-text-input--error" : "", countryCode: country, onChange: (choice) => onChange(choice), minimumSearchValueLength: getOptions().minimumOrganizationSearchLength, placeholder: placeholder ||
18752
- intl.formatMessage({
18845
+ intl.formatHTMLMessage({
18753
18846
  id: "schoolNamePlaceholder",
18754
18847
  defaultMessage: "School name",
18755
18848
  }), programId: programId, value: value, inputHtmlId: id, openOrgSearchEnabled: verificationService.programTheme.openOrgSearchEnabled, orgSearchUrl: verificationService.programTheme.config.orgSearchUrl, orgSearchTags: searchTags, locale: locale, urlAddSchoolForm: urlAddSchoolForm, isRequired: true }),
@@ -18866,7 +18959,7 @@ const MemberId = ({ value, isErrored, onChange, explanation, intl, placeholder =
18866
18959
  React.createElement("div", { className: "sid-l-space-top-md" }),
18867
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()),
18868
18961
  React.createElement(InputTextComponent, { id: "member-id", isErrored: isErrored, onChange: (e) => onChange(e.target.value), placeholder: placeholder ||
18869
- 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" }),
18870
18963
  isErrored ? (React.createElement("div", { className: "sid-field-error" },
18871
18964
  React.createElement(FormattedHTMLMessage, { id: "errorId.invalidMemberId", defaultMessage: "Invalid ID Number" }))) : null));
18872
18965
  };
@@ -18878,7 +18971,10 @@ const MembershipOrganization = ({ value, isErrored, onChange, verificationServic
18878
18971
  React.createElement("div", { className: "sid-l-space-top-md" }),
18879
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" }),
18880
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 ||
18881
- 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 }),
18882
18978
  isErrored ? (React.createElement("div", { className: "sid-field-error" },
18883
18979
  React.createElement(FormattedHTMLMessage, { id: "errorId.invalidOrganization", defaultMessage: "You must select an organization from the list" }))) : null));
18884
18980
  };
@@ -18993,7 +19089,8 @@ const MilitaryStatus = ({ value, isErrored, options, onChange, intl, placeholder
18993
19089
  return (React.createElement("div", { className: `sid-field ${inputId}` },
18994
19090
  React.createElement("div", { className: "sid-l-space-top-md" }),
18995
19091
  React.createElement(FieldLabel, { text: React.createElement(FormattedHTMLMessage, { id: "status", defaultMessage: "Status" }), htmlForLabel: inputId, id: `${inputId}-label`, displayClasses: placeholder && "sid-h-screen-reader-only" }),
18996
- 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" }) }),
18997
19094
  isErrored ? (React.createElement("div", { className: "sid-field-error" },
18998
19095
  React.createElement(FormattedHTMLMessage, { id: "errorId.invalidStatus", defaultMessage: "Invalid military status" }))) : null));
18999
19096
  };
@@ -19062,8 +19159,8 @@ const BranchOfService = ({ autoFocus, onChange, value, isErrored, organizations,
19062
19159
  return (React.createElement("div", { className: `sid-field ${inputId}-id` },
19063
19160
  React.createElement("div", { className: "sid-l-space-top-md" }),
19064
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" }),
19065
- 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 ||
19066
- 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({
19067
19164
  id: "branchOfServicePlaceholder",
19068
19165
  defaultMessage: "Branch Of Service",
19069
19166
  }) }),
@@ -19185,33 +19282,42 @@ const DischargeDate = ({ onChange, intl, isErrored, value, }) => {
19185
19282
  const months = [
19186
19283
  {
19187
19284
  value: "1",
19188
- label: intl.formatMessage({ id: "dateTime.january", defaultMessage: "January" }),
19285
+ label: intl.formatHTMLMessage({ id: "dateTime.january", defaultMessage: "January" }),
19189
19286
  },
19190
19287
  {
19191
19288
  value: "2",
19192
- 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" }),
19193
19305
  },
19194
- { value: "3", label: intl.formatMessage({ id: "dateTime.march", defaultMessage: "March" }) },
19195
- { value: "4", label: intl.formatMessage({ id: "dateTime.april", defaultMessage: "April" }) },
19196
- { value: "5", label: intl.formatMessage({ id: "dateTime.may", defaultMessage: "May" }) },
19197
- { value: "6", label: intl.formatMessage({ id: "dateTime.june", defaultMessage: "June" }) },
19198
- { value: "7", label: intl.formatMessage({ id: "dateTime.july", defaultMessage: "July" }) },
19199
- { value: "8", label: intl.formatMessage({ id: "dateTime.august", defaultMessage: "August" }) },
19200
19306
  {
19201
19307
  value: "9",
19202
- label: intl.formatMessage({ id: "dateTime.september", defaultMessage: "September" }),
19308
+ label: intl.formatHTMLMessage({ id: "dateTime.september", defaultMessage: "September" }),
19203
19309
  },
19204
19310
  {
19205
19311
  value: "10",
19206
- label: intl.formatMessage({ id: "dateTime.october", defaultMessage: "October" }),
19312
+ label: intl.formatHTMLMessage({ id: "dateTime.october", defaultMessage: "October" }),
19207
19313
  },
19208
19314
  {
19209
19315
  value: "11",
19210
- label: intl.formatMessage({ id: "dateTime.november", defaultMessage: "November" }),
19316
+ label: intl.formatHTMLMessage({ id: "dateTime.november", defaultMessage: "November" }),
19211
19317
  },
19212
19318
  {
19213
19319
  value: "12",
19214
- label: intl.formatMessage({ id: "dateTime.december", defaultMessage: "December" }),
19320
+ label: intl.formatHTMLMessage({ id: "dateTime.december", defaultMessage: "December" }),
19215
19321
  },
19216
19322
  ];
19217
19323
  const updateDischargeMonth = (month) => {
@@ -19262,8 +19368,8 @@ const DischargeDate = ({ onChange, intl, isErrored, value, }) => {
19262
19368
  // clear the discharge month
19263
19369
  updateDischargeMonth(null);
19264
19370
  }
19265
- }, placeholder: intl.formatMessage({ id: "dateTime.month", defaultMessage: "Month" }), suppressPlaceholder: false, value: dischargeDateMonth ? months[dischargeDateMonth - 1] : undefined, buttonRef: "inputSelectButtonDischargeDate", isRequired: true }),
19266
- 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" })),
19267
19373
  isErrored ? (React.createElement("div", { className: "sid-field-error" },
19268
19374
  React.createElement(FormattedHTMLMessage, { id: "errorId.invalidDischargeDate", defaultMessage: "Invalid discharge date" }))) : null));
19269
19375
  };
@@ -19380,7 +19486,8 @@ const FirstResponderStatus = ({ value, isErrored, options, onChange, placeholder
19380
19486
  return (React.createElement("div", { className: `sid-field ${inputId}` },
19381
19487
  React.createElement("div", { className: "sid-l-space-top-md" }),
19382
19488
  React.createElement(FieldLabel, { text: React.createElement(FormattedHTMLMessage, { id: "status", defaultMessage: "Status" }), htmlForLabel: `${inputId}`, id: `${inputId}-label`, displayClasses: placeholder && "sid-h-screen-reader-only" }),
19383
- 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" }) }),
19384
19491
  isErrored ? (React.createElement("div", { className: "sid-field-error" },
19385
19492
  React.createElement(FormattedHTMLMessage, { id: "errorId.invalidStatus", defaultMessage: "Invalid first responder status" }))) : null));
19386
19493
  };
@@ -19393,7 +19500,7 @@ const FirstResponderOrganization = ({ onChange, value, isErrored, verificationSe
19393
19500
  React.createElement("div", { className: "sid-l-space-top-md" }),
19394
19501
  React.createElement(FieldLabel, { text: React.createElement(FormattedHTMLMessage, { id: "organization", defaultMessage: "Organization" }), htmlForLabel: id, id: `${id}-label`, displayClasses: placeholder && "sid-h-screen-reader-only" }),
19395
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 ||
19396
- 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 }),
19397
19504
  isErrored ? (React.createElement("div", { className: "sid-field-error" },
19398
19505
  React.createElement(FormattedHTMLMessage, { id: "errorId.invalidOrganization", defaultMessage: "You must select an organization from the list" }))) : null));
19399
19506
  };
@@ -19511,7 +19618,8 @@ const MedicalStatus = ({ value, isErrored, options, onChange, intl, placeholder
19511
19618
  return (React.createElement("div", { className: `sid-field ${inputId}` },
19512
19619
  React.createElement("div", { className: "sid-l-space-top-md" }),
19513
19620
  React.createElement(FieldLabel, { text: React.createElement(FormattedHTMLMessage, { id: "status", defaultMessage: "Status" }), htmlForLabel: inputId, id: `${inputId}-label`, displayClasses: placeholder && "sid-h-screen-reader-only" }),
19514
- 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 }),
19515
19623
  isErrored ? (React.createElement("div", { className: "sid-field-error" },
19516
19624
  React.createElement(FormattedHTMLMessage, { id: "errorId.invalidStatus", defaultMessage: "Invalid medical status" }))) : null));
19517
19625
  };
@@ -19524,7 +19632,7 @@ const MedicalProfessionalOrganization = ({ onChange, value, isErrored, verificat
19524
19632
  React.createElement("div", { className: "sid-l-space-top-md" }),
19525
19633
  React.createElement(FieldLabel, { text: React.createElement(FormattedHTMLMessage, { id: "organization", defaultMessage: "Organization" }), htmlForLabel: id, id: `${id}-label`, displayClasses: placeholder && "sid-h-screen-reader-only" }),
19526
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 ||
19527
- 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 }),
19528
19636
  isErrored ? (React.createElement("div", { className: "sid-field-error" },
19529
19637
  React.createElement(FormattedHTMLMessage, { id: "errorId.invalidOrganization", defaultMessage: "You must select an organization from the list" }))) : null));
19530
19638
  };
@@ -19665,7 +19773,7 @@ const StepMedicalProfessionalPersonalInfoComponent = injectIntl(StepMedicalProfe
19665
19773
  const State = ({ value, isErrored, onChange, intl, onKeyDown = undefined, placeholder = "", }) => (React.createElement("div", { className: "sid-field sid-state" },
19666
19774
  React.createElement("div", { className: "sid-l-space-top-md" }),
19667
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" }),
19668
- 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" }),
19669
19777
  isErrored ? (React.createElement("div", { className: "sid-field-error" },
19670
19778
  React.createElement(FormattedHTMLMessage, { id: "errorId.invalidState", defaultMessage: "Invalid state" }))) : null));
19671
19779
  const StateComponent = injectIntl(State);
@@ -19675,7 +19783,8 @@ const Company = ({ onChange, value, isErrored, verificationService, intl, placeh
19675
19783
  return (React.createElement("div", { className: "sid-field sid-company-id" },
19676
19784
  React.createElement("div", { className: "sid-l-space-top-md" }),
19677
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" }),
19678
- 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 }),
19679
19788
  isErrored ? (React.createElement("div", { className: "sid-field-error" },
19680
19789
  React.createElement(FormattedHTMLMessage, { id: "errorId.invalidOrganization", defaultMessage: "You must select an organization from the list" }))) : null));
19681
19790
  };
@@ -19782,7 +19891,7 @@ const DriverLicenseNumber = ({ value, isErrored, onChange, explanation, intl, pl
19782
19891
  React.createElement("div", { className: "sid-l-space-top-md" }),
19783
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()),
19784
19893
  React.createElement(InputTextComponent, { id: "driver-license-number", isErrored: isErrored, onChange: (e) => onChange(e.target.value), placeholder: placeholder ||
19785
- intl.formatMessage({
19894
+ intl.formatHTMLMessage({
19786
19895
  id: "driverLicenseNumberPlaceholder",
19787
19896
  defaultMessage: "Driver license number",
19788
19897
  }), refId: "driverLicenseNumber", value: value, required: isRequired, "aria-labelledby": "sid-driver-license-number-label" }),
@@ -19797,13 +19906,13 @@ const StateSelect = ({ value, isErrored, options, onChange, onKeyDown, intl, pla
19797
19906
  React.createElement("div", { className: "sid-l-space-top-md" }),
19798
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 }),
19799
19908
  React.createElement(InputSelectComponent, { fieldId: "state", inputId: inputId, fieldLabelId: `${inputId}-label`, isErrored: isErrored, options: options, onChange: (state) => onChange(state), onKeyDown: onKeyDown, placeholder: placeholder ||
19800
- intl.formatMessage({
19909
+ intl.formatHTMLMessage({
19801
19910
  id: "statePlaceholder",
19802
19911
  defaultMessage: "State",
19803
19912
  }), value: value
19804
19913
  ? {
19805
19914
  value: value.value,
19806
- label: intl.formatMessage({
19915
+ label: intl.formatHTMLMessage({
19807
19916
  id: `states.${value.value}`,
19808
19917
  defaultMessage: value.label || value.value,
19809
19918
  }),
@@ -20080,7 +20189,8 @@ const Status = ({ value, isErrored, options, onChange, intl, placeholder = "", o
20080
20189
  return (React.createElement("div", { className: `sid-field ${inputId}` },
20081
20190
  React.createElement("div", { className: "sid-l-space-top-md" }),
20082
20191
  React.createElement(FieldLabel, { text: React.createElement(FormattedHTMLMessage, { id: "status", defaultMessage: "Status" }), htmlForLabel: inputId, id: `${inputId}-label`, displayClasses: placeholder && "sid-h-screen-reader-only" }),
20083
- 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 }),
20084
20194
  isErrored ? (React.createElement("div", { className: "sid-field-error" },
20085
20195
  React.createElement(FormattedHTMLMessage, { id: "errorId.invalidStatus", defaultMessage: "Invalid status" }))) : null));
20086
20196
  };
@@ -20092,7 +20202,10 @@ const LicensedProfessionalOrganization = ({ value, isErrored, onChange, verifica
20092
20202
  React.createElement("div", { className: "sid-l-space-top-md" }),
20093
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" }),
20094
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 ||
20095
- 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 }),
20096
20209
  isErrored ? (React.createElement("div", { className: "sid-field-error" },
20097
20210
  React.createElement(FormattedHTMLMessage, { id: "errorId.invalidOrganization", defaultMessage: "You must select an organization from the list" }))) : null));
20098
20211
  };
@@ -20119,7 +20232,7 @@ const StepLicensedProfessionalPersonalInfo = ({ intl, verificationService, }) =>
20119
20232
  if (!status) {
20120
20233
  return "";
20121
20234
  }
20122
- return intl.formatMessage({ id: status, defaultMessage: defaultStatusMessages[status] });
20235
+ return intl.formatHTMLMessage({ id: status, defaultMessage: defaultStatusMessages[status] });
20123
20236
  };
20124
20237
  const getAvailableLicensedProfessionalStatuses = () => {
20125
20238
  const availableStatusesResponse = verificationResponse.availableStatuses;
@@ -20270,6 +20383,104 @@ const StepMoverPersonalInfo = ({ verificationService }) => {
20270
20383
  };
20271
20384
  const StepMoverPersonalInfoComponent = injectIntl(StepMoverPersonalInfo);
20272
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
+
20273
20484
  // Collect status is identical to Active at this time.
20274
20485
  const StepCollectMilitaryStatusComponent = ({ verificationService, }) => (React.createElement(StepActiveMilitaryPersonalInfoComponent, { verificationService: verificationService }));
20275
20486
 
@@ -20312,7 +20523,8 @@ const SocialSecurity = ({ value, isErrored, onChange, intl, placeholder = "", })
20312
20523
  return (React.createElement("div", { className: "sid-field sid-ssn" },
20313
20524
  React.createElement("div", { className: "sid-l-space-top-md" }),
20314
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" }),
20315
- 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" }),
20316
20528
  isErrored ? (React.createElement("div", { className: "sid-field-error" },
20317
20529
  React.createElement(FormattedHTMLMessage, { id: "errorId.invalidSocialSecurityNumber", defaultMessage: "Invalid SSN" }))) : null));
20318
20530
  };
@@ -20525,7 +20737,7 @@ const StepSuccess = ({ verificationService }) => {
20525
20737
  return (React.createElement("div", { id: "sid-step-success", className: "sid-l-container" },
20526
20738
  React.createElement("div", { className: "sid-header sid-l-horz-center sid-l-space-top-md" },
20527
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" }))),
20528
- 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" },
20529
20741
  React.createElement(FormattedHTMLMessage, { id: "step.success.title", defaultMessage: "Success! You've been verified." })),
20530
20742
  React.createElement("div", { className: "sid-header__subtitle sid-l-horz-center sid-l-two-thirds-width" },
20531
20743
  React.createElement(FormattedHTMLMessage, { id: "step.success.subtitle", defaultMessage: `Here is your personal coupon code.
@@ -20569,8 +20781,12 @@ const CountDown = React.memo(({ countdownSeconds, onCountdownFinish, logo }) =>
20569
20781
  return `00:${seconds}`;
20570
20782
  };
20571
20783
  React.useEffect(() => {
20572
- timerRef.current = setInterval(tickTimer, 1000);
20573
- return () => clearInterval(timerRef.current);
20784
+ // Don't actually count down when mocking the step, CX-229
20785
+ const isMockingStep = getRouteOverride();
20786
+ if (!isMockingStep) {
20787
+ timerRef.current = setInterval(tickTimer, 1000);
20788
+ return () => clearInterval(timerRef.current);
20789
+ }
20574
20790
  }, []);
20575
20791
  return (React.createElement("div", { className: "sid-header sid-l-horz-center", "data-testid": "sid-countdown-pending" },
20576
20792
  React.createElement("div", { className: "sid-l-horz-center" }, logo),
@@ -20602,6 +20818,10 @@ const SSOPending = ({ logo, cancelSSO }) => (React.createElement("div", { classN
20602
20818
  const SSOPendingComponent = SSOPending;
20603
20819
 
20604
20820
  const timesChanged = (previousResponse, currentResponse) => {
20821
+ const parsed = new URLSearchParams(window.location.search);
20822
+ if (parsed.get("alerting")) {
20823
+ return true;
20824
+ }
20605
20825
  const previousEst = getSafe(() => previousResponse.estimatedReviewTime);
20606
20826
  const previousMax = getSafe(() => previousResponse.maxReviewTime);
20607
20827
  const newEst = getSafe(() => currentResponse.estimatedReviewTime);
@@ -20725,7 +20945,7 @@ const SMSCode = ({ onChange, value, isErrored, errorId, intl, placeholder = "",
20725
20945
  React.createElement("div", { className: "sid-l-space-top-md" }),
20726
20946
  isErrored ? React.createElement("div", { className: "sid-field-error" }, getErrorMessage(errorId)) : null,
20727
20947
  React.createElement(InputTextComponent, { id: "sms-code", isErrored: isErrored, required: true, placeholder: placeholder ||
20728
- intl.formatMessage({ id: "smsCodePlaceholder", defaultMessage: "SMS Code" }), value: value, onChange: (e) => onChange(e.target.value) })));
20948
+ intl.formatHTMLMessage({ id: "smsCodePlaceholder", defaultMessage: "SMS Code" }), value: value, onChange: (e) => onChange(e.target.value) })));
20729
20949
  };
20730
20950
  const SMSCodeComponent = injectIntl(SMSCode);
20731
20951
 
@@ -20737,19 +20957,19 @@ const StepSMSLoop = ({ intl, verificationService }) => {
20737
20957
  const [stepResultMessage, setStepResultMessage] = React.useState("");
20738
20958
  const [isAttemptLimitExceeded, setAttemptLimitExceeded] = React.useState(verificationResponse.errorIds &&
20739
20959
  verificationResponse.errorIds.includes("incorrectSMSCodeAttemptLimitExceeded"));
20740
- const stepSuccessMessage = intl.formatMessage({
20960
+ const stepSuccessMessage = intl.formatHTMLMessage({
20741
20961
  id: "step.smsLoop.successResend",
20742
20962
  defaultMessage: "SMS message re-sent successfully",
20743
20963
  });
20744
- const maxTotalRetriesMessage = intl.formatMessage({
20964
+ const maxTotalRetriesMessage = intl.formatHTMLMessage({
20745
20965
  id: "step.smsLoop.errors.codeResendLimit",
20746
20966
  defaultMessage: "Maximum number of re-tries has been reached.",
20747
20967
  });
20748
- const maxRetriesPerCodeMessage = intl.formatMessage({
20968
+ const maxRetriesPerCodeMessage = intl.formatHTMLMessage({
20749
20969
  id: "step.smsLoop.errors.codeResendLimit",
20750
20970
  defaultMessage: "Maximum number of re-tries has been reached.",
20751
20971
  });
20752
- const errorResendingSMSMessage = intl.formatMessage({
20972
+ const errorResendingSMSMessage = intl.formatHTMLMessage({
20753
20973
  id: "step.smsLoop.errors.resend",
20754
20974
  defaultMessage: "Error sending the SMS message",
20755
20975
  });
@@ -20803,9 +21023,11 @@ const StepSMSLoop = ({ intl, verificationService }) => {
20803
21023
  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" },
20804
21024
  React.createElement(FormattedHTMLMessage, { id: "step.smsLoop.resendButton", defaultMessage: "Re-send" }))),
20805
21025
  React.createElement("div", { className: "sid-incorrect-number sid-l-horz-center" },
20806
- React.createElement(FormattedHTMLMessage, { id: "step.smsLoop.incorrectNumber.incorrectNumber1", defaultMessage: "Incorrect number? Click " }),
20807
- React.createElement("button", { type: "button", onClick: () => window.location.reload(), className: "sid-incorrect-number__refresh-link" },
20808
- React.createElement(FormattedHTMLMessage, { id: "step.smsLoop.incorrectNumber.incorrectNumber2", defaultMessage: "here " })),
21026
+ React.createElement(FormattedHTMLMessage, { id: "step.smsLoop.incorrectNumber.incorrectNumber1", defaultMessage: "Incorrect number? Click" }),
21027
+ "\u00A0",
21028
+ React.createElement("button", { type: "button", onClick: () => window.location.reload(), className: "sid-incorrect-number__refresh-link sid-h-btn-link-like" },
21029
+ React.createElement(FormattedHTMLMessage, { id: "step.smsLoop.incorrectNumber.incorrectNumber2", defaultMessage: "here" }),
21030
+ "\u00A0"),
20809
21031
  React.createElement(FormattedHTMLMessage, { id: "companyName", defaultMessage: "{Company}" }, (companyName) => (React.createElement(FormattedHTMLMessage, { id: "step.smsLoop.incorrectNumber.incorrectNumber3", defaultMessage: "to return to {companyName}", values: { companyName } }))))));
20810
21032
  };
20811
21033
  const StepSMSLoopComponent = injectIntl(StepSMSLoop);
@@ -20851,12 +21073,12 @@ const StepEmailLoop = ({ intl, verificationService }) => {
20851
21073
  defaultMessage: "Error sending email",
20852
21074
  };
20853
21075
  const message = response.status === 204
20854
- ? intl.formatMessage(successMsgObject)
20855
- : intl.formatMessage(maxRetriesMsgObject);
21076
+ ? intl.formatHTMLMessage(successMsgObject)
21077
+ : intl.formatHTMLMessage(maxRetriesMsgObject);
20856
21078
  setResendMessage(message);
20857
21079
  }
20858
21080
  else {
20859
- setResendMessage(intl.formatMessage({
21081
+ setResendMessage(intl.formatHTMLMessage({
20860
21082
  id: "step.emailLoop.errors.resend",
20861
21083
  defaultMessage: "Error sending email",
20862
21084
  }));
@@ -20878,11 +21100,13 @@ const StepEmailLoop = ({ intl, verificationService }) => {
20878
21100
  React.createElement(FormattedHTMLMessage, { id: "step.emailLoop.subtitle2", defaultMessage: "Please check for an email from us (verify@sheerid.com) for all the details." })),
20879
21101
  canCancelEmailLoop && (React.createElement("div", { className: "sid-skip-email sid-l-space-top-lg" },
20880
21102
  React.createElement(FormattedHTMLMessage, { id: "step.emailLoop.skipEmail", defaultMessage: "Unable to retrieve this email? Click " }),
20881
- React.createElement("button", { type: "button", onClick: () => cancelEmailLoop(), className: "sid-incorrect-number__refresh-link" },
21103
+ "\u00A0",
21104
+ React.createElement("button", { type: "button", onClick: () => cancelEmailLoop(), className: "sid-incorrect-number__refresh-link sid-h-btn-link-like" },
20882
21105
  React.createElement(FormattedHTMLMessage, { id: "step.emailLoop.skipEmailCTA", defaultMessage: "here" })),
21106
+ "\u00A0",
20883
21107
  React.createElement(FormattedHTMLMessage, { id: "step.emailLoop.skipEmail2", defaultMessage: " to proceed." }))),
20884
- canResendEmailLoop && (React.createElement("div", { className: "sid-header__resend-btn sid-l-space-top-md" },
20885
- 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" },
21108
+ canResendEmailLoop && (React.createElement("div", { className: "sid-header__resend-btn sid-l-space-top-md sid-submit sid-l-horz-center" },
21109
+ React.createElement("button", { id: "sid-resend-email", onClick: () => resendEmail(verificationId), type: "submit", className: "sid-btn sid-btn--light sid-submit__cancel", "aria-label": "re-send" },
20886
21110
  React.createElement(FormattedHTMLMessage, { id: "step.emailLoop.resendButton", defaultMessage: "Re-send" })))),
20887
21111
  resendMessage && (React.createElement("div", null,
20888
21112
  React.createElement("p", null, resendMessage))),
@@ -22347,6 +22571,17 @@ const AcceptableUploadsComponent = ({ verificationService }) => {
22347
22571
  React.createElement("li", { className: "sid-acceptable-uploads-list__li" },
22348
22572
  React.createElement(FormattedHTMLMessage, { id: "step.docUpload.acceptableUploads.recentMover.rentalAgreement", defaultMessage: "Lease or rental agreement" }))));
22349
22573
  break;
22574
+ case SegmentEnum.LOW_INCOME:
22575
+ acceptableUploads = (React.createElement("ul", { className: "sid-acceptable-uploads-list" },
22576
+ React.createElement("li", { className: "sid-acceptable-uploads-list__li" },
22577
+ 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)." })),
22578
+ React.createElement("li", { className: "sid-acceptable-uploads-list__li" },
22579
+ 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)." })),
22580
+ React.createElement("li", { className: "sid-acceptable-uploads-list__li" },
22581
+ 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)." })),
22582
+ React.createElement("li", { className: "sid-acceptable-uploads-list__li" },
22583
+ React.createElement(FormattedHTMLMessage, { id: "step.docUpload.acceptableUploads.lowIncome.programBankStatement", defaultMessage: "A bank statement showing recent payment of the selected benefit." }))));
22584
+ break;
22350
22585
  default:
22351
22586
  return null;
22352
22587
  }
@@ -22498,6 +22733,16 @@ const UploadInfoComponent = ({ verificationService }) => {
22498
22733
  React.createElement(FormattedHTMLMessage, { id: "step.docUpload.uploadInfo.licensedProfessional.licenseStatus", defaultMessage: "Your professional license and/or certification status" })),
22499
22734
  React.createElement("li", { className: "sid-upload-info-list__li" },
22500
22735
  React.createElement(FormattedHTMLMessage, { id: "step.docUpload.uploadInfo.identity.validDate", defaultMessage: "A currently valid date" })))));
22736
+ case SegmentEnum.LOW_INCOME:
22737
+ return (React.createElement("div", null,
22738
+ React.createElement("span", null,
22739
+ React.createElement("strong", null,
22740
+ React.createElement(FormattedHTMLMessage, { id: "step.docUpload.uploadInstructions", defaultMessage: "Upload an official document that shows:" }))),
22741
+ React.createElement("ul", { className: "sid-upload-info-list" },
22742
+ React.createElement("li", { className: "sid-upload-info-list__li" },
22743
+ React.createElement(FormattedHTMLMessage, { id: "step.docUpload.uploadInfo.fullName", defaultMessage: "Your full name" })),
22744
+ React.createElement("li", { className: "sid-upload-info-list__li" },
22745
+ 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" })))));
22501
22746
  case SegmentEnum.RECENT_MOVER:
22502
22747
  return (React.createElement("div", null,
22503
22748
  React.createElement("span", null,
@@ -22515,11 +22760,6 @@ const UploadInfoComponent = ({ verificationService }) => {
22515
22760
  }
22516
22761
  };
22517
22762
 
22518
- const useFlag = (name) => {
22519
- const flags = lib_4();
22520
- return flags[name];
22521
- };
22522
-
22523
22763
  const StepDocUpload = ({ verificationService, intl }) => {
22524
22764
  const verificationResponse = verificationService.verificationResponse;
22525
22765
  const { rejectionReasons } = verificationResponse;
@@ -22579,11 +22819,9 @@ const StepDocUpload = ({ verificationService, intl }) => {
22579
22819
  verificationService.updateFieldValidationErrors(nextFieldValidationErrors);
22580
22820
  addFilesAndUpdate(acceptedFiles, erroredFilenames);
22581
22821
  };
22582
- // HD-4214
22583
- const directToS3DocUploadFlag = useFlag("directToS3DocUpload");
22584
22822
  const submitForm = () => {
22585
22823
  logger.info("StepDocUploadComponent submitting form");
22586
- verificationService.submitStep(VerificationStepsEnum.docUpload, viewModel, verificationService.verificationResponse, directToS3DocUploadFlag);
22824
+ verificationService.submitStep(VerificationStepsEnum.docUpload, viewModel, verificationService.verificationResponse);
22587
22825
  };
22588
22826
  const onFileDrop = (draggedFiles) => {
22589
22827
  if (draggedFiles.length > 0) {
@@ -22657,7 +22895,7 @@ const StepDocUpload = ({ verificationService, intl }) => {
22657
22895
  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" }),
22658
22896
  React.createElement(FormattedHTMLMessage, { id: "step.docUpload.addFile", defaultMessage: "Add file" })))) : null,
22659
22897
  React.createElement("div", { className: "sid-submit sid-l-space-top-md" },
22660
- 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({
22898
+ 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({
22661
22899
  id: "step.docUpload.submitButtonLabel",
22662
22900
  defaultMessage: "Continue",
22663
22901
  }), disabled: currentFileNames.length <= 0 },
@@ -22688,6 +22926,7 @@ const defaultComponents = {
22688
22926
  StepHybridIdentityPersonalInfoComponent,
22689
22927
  StepLicensedProfessionalPersonalInfoComponent,
22690
22928
  StepMoverPersonalInfoComponent,
22929
+ StepLowIncomePersonalInfoComponent,
22691
22930
  StepSocialSecurityNumber,
22692
22931
  StepSuccessComponent,
22693
22932
  StepDocUploadComponent,
@@ -22759,6 +22998,9 @@ const LoadStepComponent = ({ stepToLoad, verificationService }) => {
22759
22998
  case VerificationStepsEnum.collectMoverPersonalInfo:
22760
22999
  Component = getComponent("StepMoverPersonalInfoComponent");
22761
23000
  break;
23001
+ case VerificationStepsEnum.collectLowIncomePersonalInfo:
23002
+ Component = getComponent("StepLowIncomePersonalInfoComponent");
23003
+ break;
22762
23004
  case VerificationStepsEnum.collectSocialSecurityNumber:
22763
23005
  Component = getComponent("StepSocialSecurityNumber");
22764
23006
  break;
@@ -22932,22 +23174,24 @@ class NewVerification extends React.Component {
22932
23174
  }
22933
23175
  }
22934
23176
  render() {
23177
+ const { viewModel } = this.props.verificationService;
23178
+ const locale = getLocaleSafely(viewModel);
23179
+ let messages;
23180
+ // optional param `messages`. If we do not have it, all <FormattedHTMLMessages /> should use default fallback anyway.
23181
+ if (this.props.messages) {
23182
+ messages = this.props.messages;
23183
+ }
23184
+ const messagesWithOptions = { ...messages, ...flat(getOptionsMessages(locale)) };
22935
23185
  // Note: If we have a loadingStep set we don't use this loading screen, we use the one inside
22936
23186
  // the inner component that is inside the internationalization provoder.
22937
23187
  if (this.props.verificationService.isLoading && !this.props.verificationService.loadingStep) {
22938
23188
  logger.info("NewVerificationComponent: VerificationService is loading");
22939
- return React.createElement(LoadingScreenComponent, null);
23189
+ return (React.createElement(IntlProvider, { locale: "en", key: locale, messages: messagesWithOptions, textComponent: CustomTextWrapper },
23190
+ React.createElement(LoadingScreenComponent, null)));
22940
23191
  }
22941
23192
  const { programTheme } = this.props.verificationService;
22942
23193
  const { verificationResponse } = this.props.verificationService;
22943
- const { viewModel } = this.props.verificationService;
22944
23194
  logger.info("NewVerificationComponent: verificationResponse, viewModel", verificationResponse, viewModel);
22945
- const locale = getLocaleSafely(viewModel);
22946
- let messages;
22947
- // optional param `messages`. If we do not have it, all <FormattedHTMLMessages /> should use default fallback anyway.
22948
- if (this.props.messages) {
22949
- messages = this.props.messages;
22950
- }
22951
23195
  logger.info(`NewVerificationComponent: locale: ${locale}, currentStep: ${verificationResponse.currentStep}, messages: `, messages);
22952
23196
  return (React.createElement(NewVerificationInnerComponent, { locale: locale, messages: messages, programTheme: programTheme, verificationService: this.props.verificationService }));
22953
23197
  }
@@ -23300,5 +23544,5 @@ const collectDeviceProfile = async (verificationId, programId) => {
23300
23544
  includeIPQSDeviceFingerprintScript(programTheme, verificationId);
23301
23545
  };
23302
23546
 
23303
- 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 };
23547
+ 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 };
23304
23548
  //# sourceMappingURL=sheerides6.js.map