@sheerid/jslib 1.79.0 → 1.82.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 (200) hide show
  1. package/es5/Tmetrix.bundle.js +5 -5
  2. package/es5/messages_ar.bundle.js +5 -5
  3. package/es5/messages_bg.bundle.js +5 -5
  4. package/es5/messages_cs.bundle.js +5 -5
  5. package/es5/messages_da.bundle.js +5 -5
  6. package/es5/messages_de.bundle.js +5 -5
  7. package/es5/messages_el.bundle.js +5 -5
  8. package/es5/messages_en-GB.bundle.js +5 -5
  9. package/es5/messages_es-ES.bundle.js +5 -5
  10. package/es5/messages_es.bundle.js +5 -5
  11. package/es5/messages_fi.bundle.js +5 -5
  12. package/es5/messages_fr-CA.bundle.js +5 -5
  13. package/es5/messages_fr.bundle.js +5 -5
  14. package/es5/messages_ga.bundle.js +5 -5
  15. package/es5/messages_hr.bundle.js +5 -5
  16. package/es5/messages_hu.bundle.js +5 -5
  17. package/es5/messages_id.bundle.js +5 -5
  18. package/es5/messages_it.bundle.js +5 -5
  19. package/es5/messages_iw.bundle.js +5 -5
  20. package/es5/messages_ja.bundle.js +5 -5
  21. package/es5/messages_ko.bundle.js +5 -5
  22. package/es5/messages_lo.bundle.js +5 -5
  23. package/es5/messages_lt.bundle.js +5 -5
  24. package/es5/messages_ms.bundle.js +5 -5
  25. package/es5/messages_nl.bundle.js +5 -5
  26. package/es5/messages_no.bundle.js +5 -5
  27. package/es5/messages_pl.bundle.js +5 -5
  28. package/es5/messages_pt-BR.bundle.js +5 -5
  29. package/es5/messages_pt.bundle.js +5 -5
  30. package/es5/messages_ru.bundle.js +5 -5
  31. package/es5/messages_sk.bundle.js +5 -5
  32. package/es5/messages_sl.bundle.js +5 -5
  33. package/es5/messages_sr.bundle.js +5 -5
  34. package/es5/messages_sv.bundle.js +5 -5
  35. package/es5/messages_th.bundle.js +5 -5
  36. package/es5/messages_tr.bundle.js +5 -5
  37. package/es5/messages_zh-HK.bundle.js +5 -5
  38. package/es5/messages_zh.bundle.js +5 -5
  39. package/es6/{ar-481cd210.es.js → ar-9e0fad1f.es.js} +17 -2
  40. package/es6/{cs-941cae5e.es.js.map → ar-9e0fad1f.es.js.map} +1 -1
  41. package/es6/{bg-967186c2.es.js → bg-2aca771b.es.js} +17 -2
  42. package/es6/{ar-481cd210.es.js.map → bg-2aca771b.es.js.map} +1 -1
  43. package/es6/{cs-941cae5e.es.js → cs-f5c83c6a.es.js} +17 -2
  44. package/es6/{da-37c952f5.es.js.map → cs-f5c83c6a.es.js.map} +1 -1
  45. package/es6/{da-37c952f5.es.js → da-b8d9bd0b.es.js} +17 -2
  46. package/es6/{bg-967186c2.es.js.map → da-b8d9bd0b.es.js.map} +1 -1
  47. package/es6/{de-f8771ad4.es.js → de-0a779e2e.es.js} +17 -2
  48. package/es6/de-0a779e2e.es.js.map +1 -0
  49. package/es6/{el-69113ed6.es.js → el-0408a569.es.js} +17 -2
  50. package/es6/el-0408a569.es.js.map +1 -0
  51. package/es6/{en-GB-81009ab2.es.js → en-GB-8b783a90.es.js} +110 -95
  52. package/es6/{en-GB-81009ab2.es.js.map → en-GB-8b783a90.es.js.map} +1 -1
  53. package/es6/{es-5b88b172.es.js → es-20274dff.es.js} +17 -2
  54. package/es6/es-20274dff.es.js.map +1 -0
  55. package/es6/{es-ES-eaf56509.es.js → es-ES-0f1f844e.es.js} +17 -2
  56. package/es6/{es-ES-eaf56509.es.js.map → es-ES-0f1f844e.es.js.map} +1 -1
  57. package/es6/{fi-96ae876a.es.js → fi-a7b09e0e.es.js} +17 -2
  58. package/es6/fi-a7b09e0e.es.js.map +1 -0
  59. package/es6/{fr-c77a54c2.es.js → fr-759c23ea.es.js} +17 -2
  60. package/es6/fr-759c23ea.es.js.map +1 -0
  61. package/es6/{fr-CA-aec0d809.es.js → fr-CA-77227517.es.js} +17 -2
  62. package/es6/{fr-CA-aec0d809.es.js.map → fr-CA-77227517.es.js.map} +1 -1
  63. package/es6/{ga-54aeb796.es.js → ga-8ad780c1.es.js} +17 -2
  64. package/es6/ga-8ad780c1.es.js.map +1 -0
  65. package/es6/{hr-520dd74c.es.js → hr-8f666201.es.js} +17 -2
  66. package/es6/hr-8f666201.es.js.map +1 -0
  67. package/es6/{hu-37c28fd2.es.js → hu-2d552fd1.es.js} +17 -2
  68. package/es6/hu-2d552fd1.es.js.map +1 -0
  69. package/es6/{id-551ab33e.es.js → id-d4274ccb.es.js} +17 -2
  70. package/es6/id-d4274ccb.es.js.map +1 -0
  71. package/es6/{it-59f6a6e3.es.js → it-e6743833.es.js} +17 -2
  72. package/es6/it-e6743833.es.js.map +1 -0
  73. package/es6/{iw-5032294d.es.js → iw-0aa73f61.es.js} +17 -2
  74. package/es6/iw-0aa73f61.es.js.map +1 -0
  75. package/es6/{ja-df9e5ea0.es.js → ja-c1f752a6.es.js} +17 -2
  76. package/es6/ja-c1f752a6.es.js.map +1 -0
  77. package/es6/{ko-8ab4262e.es.js → ko-bcddc775.es.js} +17 -2
  78. package/es6/ko-bcddc775.es.js.map +1 -0
  79. package/es6/{lo-e46589d5.es.js → lo-ab067913.es.js} +17 -2
  80. package/es6/lo-ab067913.es.js.map +1 -0
  81. package/es6/{lt-ea5fa591.es.js → lt-7f1cd913.es.js} +17 -2
  82. package/es6/lt-7f1cd913.es.js.map +1 -0
  83. package/es6/{ms-a29a33e2.es.js → ms-e3f64cc3.es.js} +17 -2
  84. package/es6/ms-e3f64cc3.es.js.map +1 -0
  85. package/es6/{nl-78571c81.es.js → nl-7a4d62d2.es.js} +17 -2
  86. package/es6/nl-7a4d62d2.es.js.map +1 -0
  87. package/es6/{no-10c55c06.es.js → no-a25a637c.es.js} +17 -2
  88. package/es6/no-a25a637c.es.js.map +1 -0
  89. package/es6/{pl-27e3a4a0.es.js → pl-8981210c.es.js} +17 -2
  90. package/es6/pl-8981210c.es.js.map +1 -0
  91. package/es6/{pt-BR-ee1febf4.es.js → pt-BR-ea998ac8.es.js} +17 -2
  92. package/es6/{pt-BR-ee1febf4.es.js.map → pt-BR-ea998ac8.es.js.map} +1 -1
  93. package/es6/{pt-272eca82.es.js → pt-db66cedf.es.js} +17 -2
  94. package/es6/pt-db66cedf.es.js.map +1 -0
  95. package/es6/{ru-c7e2ed39.es.js → ru-b8865189.es.js} +17 -2
  96. package/es6/ru-b8865189.es.js.map +1 -0
  97. package/es6/{sk-65b1511c.es.js → sk-43185e62.es.js} +17 -2
  98. package/es6/sk-43185e62.es.js.map +1 -0
  99. package/es6/{sl-9fde4f54.es.js → sl-efe6c730.es.js} +17 -2
  100. package/es6/sl-efe6c730.es.js.map +1 -0
  101. package/es6/{sr-d8059e6f.es.js → sr-a179f1ae.es.js} +17 -2
  102. package/es6/sr-a179f1ae.es.js.map +1 -0
  103. package/es6/{sv-a784863d.es.js → sv-28a792ba.es.js} +17 -2
  104. package/es6/sv-28a792ba.es.js.map +1 -0
  105. package/es6/{th-ae9238db.es.js → th-243f9d7e.es.js} +17 -2
  106. package/es6/th-243f9d7e.es.js.map +1 -0
  107. package/es6/{tr-6b854f37.es.js → tr-68ce213a.es.js} +17 -2
  108. package/es6/tr-68ce213a.es.js.map +1 -0
  109. package/es6/{zh-1f46e2fc.es.js → zh-14c4dc8f.es.js} +17 -2
  110. package/es6/zh-14c4dc8f.es.js.map +1 -0
  111. package/es6/{zh-HK-ebb896c5.es.js → zh-HK-cc047d27.es.js} +17 -2
  112. package/es6/zh-HK-cc047d27.es.js.map +1 -0
  113. package/localized-messages/ar.json +17 -2
  114. package/localized-messages/bg.json +17 -2
  115. package/localized-messages/cs.json +17 -2
  116. package/localized-messages/da.json +17 -2
  117. package/localized-messages/de.json +17 -2
  118. package/localized-messages/el.json +17 -2
  119. package/localized-messages/en-GB.json +110 -95
  120. package/localized-messages/en-US.json +16 -1
  121. package/localized-messages/es-ES.json +17 -2
  122. package/localized-messages/es.json +17 -2
  123. package/localized-messages/fi.json +17 -2
  124. package/localized-messages/fr-CA.json +17 -2
  125. package/localized-messages/fr.json +17 -2
  126. package/localized-messages/ga.json +17 -2
  127. package/localized-messages/hr.json +17 -2
  128. package/localized-messages/hu.json +17 -2
  129. package/localized-messages/id.json +17 -2
  130. package/localized-messages/it.json +17 -2
  131. package/localized-messages/iw.json +17 -2
  132. package/localized-messages/ja.json +17 -2
  133. package/localized-messages/ko.json +17 -2
  134. package/localized-messages/lo.json +17 -2
  135. package/localized-messages/lt.json +17 -2
  136. package/localized-messages/ms.json +17 -2
  137. package/localized-messages/nl.json +17 -2
  138. package/localized-messages/no.json +17 -2
  139. package/localized-messages/pl.json +17 -2
  140. package/localized-messages/pt-BR.json +17 -2
  141. package/localized-messages/pt.json +17 -2
  142. package/localized-messages/ru.json +17 -2
  143. package/localized-messages/sk.json +17 -2
  144. package/localized-messages/sl.json +17 -2
  145. package/localized-messages/sr.json +17 -2
  146. package/localized-messages/sv.json +17 -2
  147. package/localized-messages/th.json +17 -2
  148. package/localized-messages/tr.json +17 -2
  149. package/localized-messages/zh-HK.json +17 -2
  150. package/localized-messages/zh.json +17 -2
  151. package/manifest.json +48 -48
  152. package/package.json +2 -2
  153. package/sheerid-requestOrg.css +5 -5
  154. package/sheerid-requestOrg.css.map +1 -1
  155. package/sheerid-requestOrg.js +15 -15
  156. package/sheerid-requestOrg.js.map +1 -1
  157. package/sheerid-utils.js +9 -9
  158. package/sheerid-utils.js.map +1 -1
  159. package/sheerid.css +5 -5
  160. package/sheerid.css.map +1 -1
  161. package/sheerid.js +17 -17
  162. package/sheerid.js.map +1 -1
  163. package/sheerides6.js +195 -118
  164. package/sheerides6.js.map +1 -1
  165. package/src/components/LoadingScreen/LoadingScreenComponent.d.ts +6 -1
  166. package/src/components/LoadingScreen/LoadingScreenMessage.d.ts +7 -0
  167. package/src/es6.d.ts +2 -1
  168. package/src/lib/types/runtimeTypes.d.ts +1 -0
  169. package/src/lib/types/types.d.ts +11 -0
  170. package/src/lib/utils/stepComponentHelpers/stepComponentHelpers.d.ts +9 -7
  171. package/types-reference.zip +0 -0
  172. package/es6/de-f8771ad4.es.js.map +0 -1
  173. package/es6/el-69113ed6.es.js.map +0 -1
  174. package/es6/es-5b88b172.es.js.map +0 -1
  175. package/es6/fi-96ae876a.es.js.map +0 -1
  176. package/es6/fr-c77a54c2.es.js.map +0 -1
  177. package/es6/ga-54aeb796.es.js.map +0 -1
  178. package/es6/hr-520dd74c.es.js.map +0 -1
  179. package/es6/hu-37c28fd2.es.js.map +0 -1
  180. package/es6/id-551ab33e.es.js.map +0 -1
  181. package/es6/it-59f6a6e3.es.js.map +0 -1
  182. package/es6/iw-5032294d.es.js.map +0 -1
  183. package/es6/ja-df9e5ea0.es.js.map +0 -1
  184. package/es6/ko-8ab4262e.es.js.map +0 -1
  185. package/es6/lo-e46589d5.es.js.map +0 -1
  186. package/es6/lt-ea5fa591.es.js.map +0 -1
  187. package/es6/ms-a29a33e2.es.js.map +0 -1
  188. package/es6/nl-78571c81.es.js.map +0 -1
  189. package/es6/no-10c55c06.es.js.map +0 -1
  190. package/es6/pl-27e3a4a0.es.js.map +0 -1
  191. package/es6/pt-272eca82.es.js.map +0 -1
  192. package/es6/ru-c7e2ed39.es.js.map +0 -1
  193. package/es6/sk-65b1511c.es.js.map +0 -1
  194. package/es6/sl-9fde4f54.es.js.map +0 -1
  195. package/es6/sr-d8059e6f.es.js.map +0 -1
  196. package/es6/sv-a784863d.es.js.map +0 -1
  197. package/es6/th-ae9238db.es.js.map +0 -1
  198. package/es6/tr-6b854f37.es.js.map +0 -1
  199. package/es6/zh-1f46e2fc.es.js.map +0 -1
  200. package/es6/zh-HK-ebb896c5.es.js.map +0 -1
package/sheerides6.js CHANGED
@@ -1,5 +1,5 @@
1
1
  import React, { useRef, useCallback, useEffect, useMemo, cloneElement, Component, useLayoutEffect, useReducer, PureComponent, useState, forwardRef, useImperativeHandle, Fragment as Fragment$4, Suspense as Suspense$4 } from 'react';
2
- import { FormattedHTMLMessage, injectIntl, IntlProvider, FormattedMessage } from 'react-intl';
2
+ import { FormattedHTMLMessage, injectIntl, FormattedMessage, IntlProvider } from 'react-intl';
3
3
  import 'react-intl/locale-data/en.js';
4
4
 
5
5
  var commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};
@@ -484,6 +484,9 @@ var VerificationStepsEnum;
484
484
  VerificationStepsEnum["cancelEmailLoop"] = "cancelEmailLoop";
485
485
  })(VerificationStepsEnum || (VerificationStepsEnum = {}));
486
486
  const VerificationSteps = Object.values(VerificationStepsEnum); // For runtime checks
487
+ // This depends on all collect steps starting with the string 'collect' if that
488
+ // stops being true this will need to change.
489
+ const CollectInfoSteps = VerificationSteps.filter((step) => step.startsWith('collect'));
487
490
  var TryAgainStepsEnum;
488
491
  (function (TryAgainStepsEnum) {
489
492
  TryAgainStepsEnum["docUpload"] = "docUpload";
@@ -2112,6 +2115,7 @@ var enUSMessages = {
2112
2115
  "defaultMessages.militaryInfoShared": "Information entered here will be used for verification purposes. ",
2113
2116
  "defaultMessages.militaryStatus": "Military status",
2114
2117
  "defaultMessages.noOptions": "No options",
2118
+ "defaultMessages.optIn": "Yes, send me {company} marketing communications about exclusive sales, special offers, latest products and more",
2115
2119
  "defaultMessages.optional": "Optional",
2116
2120
  "defaultMessages.organization": "Organization",
2117
2121
  "defaultMessages.organizationPlaceholder": "Organization*",
@@ -2347,6 +2351,8 @@ var enUSMessages = {
2347
2351
  "defaultMessages.step.pending.titleCountdown": "Processing",
2348
2352
  "defaultMessages.step.pending.titleReview": "Reviewing",
2349
2353
  "defaultMessages.step.pending.turnaroundTime": "Turnaround time for your language is typically {estReviewTime}, and in rare times of high volume may take up to {maxReviewTime}.",
2354
+ "defaultMessages.step.personalInfo.verifyingSubtitle": "This should only take a minute",
2355
+ "defaultMessages.step.personalInfo.verifyingTitle": "Verifying your status",
2350
2356
  "defaultMessages.step.smsLoop.errors.codeExpired": "Verification code could not be validated.",
2351
2357
  "defaultMessages.step.smsLoop.errors.codeResendLimit": "Maximum number of re-tries has been reached.",
2352
2358
  "defaultMessages.step.smsLoop.errors.codeVerification": "Verification code could not be validated.",
@@ -2426,6 +2432,7 @@ var enUSMessages = {
2426
2432
  "segmentMessages.age.step.personalInfo.title": "Unlock Your Special Offer",
2427
2433
  "segmentMessages.age.step.personalInfo.tryAgain.subtitle": "Your full name and birthdate must match what is on your government-issued documents.",
2428
2434
  "segmentMessages.age.step.personalInfo.tryAgain.title": "Check Your Name & Birthdate",
2435
+ "segmentMessages.age.step.personalInfo.verifyingTitle": "Verifying your age",
2429
2436
  "segmentMessages.age.step.success.redirectButtonText": "Use code now",
2430
2437
  "segmentMessages.age.step.success.subtitle": "Here is your personal coupon code. It is unique to you and can only be used once.",
2431
2438
  "segmentMessages.age.step.success.title": "You've been verified",
@@ -2439,6 +2446,7 @@ var enUSMessages = {
2439
2446
  "segmentMessages.employment.step.personalInfo.title": "Unlock this Employment-Only Offer",
2440
2447
  "segmentMessages.employment.step.personalInfo.tryAgain.subtitle": "The information you have provided should match your official documents.",
2441
2448
  "segmentMessages.employment.step.personalInfo.tryAgain.title": "Check the information that you have provided",
2449
+ "segmentMessages.employment.step.personalInfo.verifyingTitle": "Verifying your employment status",
2442
2450
  "segmentMessages.employment.step.sso.cancel": "Upload proof of employment",
2443
2451
  "segmentMessages.employment.step.sso.login": "Sign in to my email",
2444
2452
  "segmentMessages.employment.step.sso.subtitle": "Please sign in to your company's email portal. It will open in a new tab.",
@@ -2457,6 +2465,7 @@ var enUSMessages = {
2457
2465
  "segmentMessages.firstResponder.step.personalInfo.title": "Unlock this 1st Responder-Only Offer",
2458
2466
  "segmentMessages.firstResponder.step.personalInfo.tryAgain.subtitle": "Your full name, organization name, and email must match what is on record with your agency.",
2459
2467
  "segmentMessages.firstResponder.step.personalInfo.tryAgain.title": "Check Your Name, Email & Organization",
2468
+ "segmentMessages.firstResponder.step.personalInfo.verifyingTitle": "Verifying your first responder status",
2460
2469
  "segmentMessages.firstResponder.step.success.redirectButtonText": "Use code now",
2461
2470
  "segmentMessages.firstResponder.step.success.subtitle": "Here is your personal coupon code. It is unique to you and can only be used once.",
2462
2471
  "segmentMessages.firstResponder.step.success.title": "You've been verified",
@@ -2470,6 +2479,7 @@ var enUSMessages = {
2470
2479
  "segmentMessages.identity.step.personalInfo.title": "Unlock Your Special Offer",
2471
2480
  "segmentMessages.identity.step.personalInfo.tryAgain.subtitle": "Your information must match what is on your government-issued document(s).",
2472
2481
  "segmentMessages.identity.step.personalInfo.tryAgain.title": "Check Your Name & other fields",
2482
+ "segmentMessages.identity.step.personalInfo.verifyingTitle": "Verifying your identity",
2473
2483
  "segmentMessages.identity.step.success.redirectButtonText": "Use code now",
2474
2484
  "segmentMessages.identity.step.success.subtitle": "Here is your personal coupon code. It is unique to you and can only be used once.",
2475
2485
  "segmentMessages.identity.step.success.title": "You've been verified",
@@ -2483,6 +2493,7 @@ var enUSMessages = {
2483
2493
  "segmentMessages.licensedProfessional.step.personalInfo.title": "Unlock this Special Offer",
2484
2494
  "segmentMessages.licensedProfessional.step.personalInfo.tryAgain.subtitle": "Your information must match what is on your government-issued document(s).",
2485
2495
  "segmentMessages.licensedProfessional.step.personalInfo.tryAgain.title": "Check Your Name & other fields",
2496
+ "segmentMessages.licensedProfessional.step.personalInfo.verifyingTitle": "Verifying your license",
2486
2497
  "segmentMessages.licensedProfessional.step.success.redirectButtonText": "Use code now",
2487
2498
  "segmentMessages.licensedProfessional.step.success.subtitle": "Here is your personal coupon code. It is unique to you and can only be used once.",
2488
2499
  "segmentMessages.licensedProfessional.step.success.title": "You've been verified",
@@ -2496,6 +2507,7 @@ var enUSMessages = {
2496
2507
  "segmentMessages.medical.step.personalInfo.title": "Unlock this Medical Professional-Only Offer",
2497
2508
  "segmentMessages.medical.step.personalInfo.tryAgain.subtitle": "Your first and last name, birthdate and organization must match what is on your official documents.",
2498
2509
  "segmentMessages.medical.step.personalInfo.tryAgain.title": "Check your Name, Birthdate & Organization",
2510
+ "segmentMessages.medical.step.personalInfo.verifyingTitle": "Verifying your medical professional status",
2499
2511
  "segmentMessages.medical.step.sso.login": "Sign into my employer web portal",
2500
2512
  "segmentMessages.medical.step.sso.subtitle": "Please sign into your employer's web portal. It will open in a new tab.",
2501
2513
  "segmentMessages.medical.step.sso.title": "Verify your Healthcare status",
@@ -2512,6 +2524,7 @@ var enUSMessages = {
2512
2524
  "segmentMessages.member.step.personalInfo.title": "Unlock this Members-Only Offer",
2513
2525
  "segmentMessages.member.step.personalInfo.tryAgain.subtitle": "The information you have provided should match your official documents.",
2514
2526
  "segmentMessages.member.step.personalInfo.tryAgain.title": "Check the information that you have provided",
2527
+ "segmentMessages.member.step.personalInfo.verifyingTitle": "Verifying your membership status",
2515
2528
  "segmentMessages.member.step.success.redirectButtonText": "Use code now",
2516
2529
  "segmentMessages.member.step.success.subtitle": "Here is your personal coupon code. It is unique to you and can only be used once.",
2517
2530
  "segmentMessages.member.step.success.title": "You've been verified",
@@ -2525,6 +2538,7 @@ var enUSMessages = {
2525
2538
  "segmentMessages.military.step.personalInfo.title": "Unlock this Military-Only Offer",
2526
2539
  "segmentMessages.military.step.personalInfo.tryAgain.subtitle": "Enter your first and last name on the form as it appears on your military document(s). Keep in mind that may be your given name.",
2527
2540
  "segmentMessages.military.step.personalInfo.tryAgain.title": "Check Your Name & Birthdate",
2541
+ "segmentMessages.military.step.personalInfo.verifyingTitle": "Verifying your military status",
2528
2542
  "segmentMessages.military.step.success.redirectButtonText": "Use code now",
2529
2543
  "segmentMessages.military.step.success.subtitle": "Here is your personal coupon code. It is unique to you and can only be used once.",
2530
2544
  "segmentMessages.military.step.success.title": "You've been verified",
@@ -2538,6 +2552,7 @@ var enUSMessages = {
2538
2552
  "segmentMessages.recentMover.step.personalInfo.title": "Unlock this Special Offer",
2539
2553
  "segmentMessages.recentMover.step.personalInfo.tryAgain.subtitle": "Your first and last name and address must match what is on your official documents.",
2540
2554
  "segmentMessages.recentMover.step.personalInfo.tryAgain.title": "Check Your Name & Address Information",
2555
+ "segmentMessages.recentMover.step.personalInfo.verifyingTitle": "Verifying your moving status",
2541
2556
  "segmentMessages.recentMover.step.success.redirectButtonText": "Use code now",
2542
2557
  "segmentMessages.recentMover.step.success.subtitle": "Here is your personal coupon code. It is unique to you and can only be used once.",
2543
2558
  "segmentMessages.recentMover.step.success.title": "You've been verified",
@@ -2551,12 +2566,13 @@ var enUSMessages = {
2551
2566
  "segmentMessages.senior.step.personalInfo.title": "Unlock Your Special Offer",
2552
2567
  "segmentMessages.senior.step.personalInfo.tryAgain.subtitle": "Your full name and birthdate must match what is on your government-issued documents.",
2553
2568
  "segmentMessages.senior.step.personalInfo.tryAgain.title": "Check Your Name & Birthdate",
2569
+ "segmentMessages.senior.step.personalInfo.verifyingTitle": "Verifying your age",
2554
2570
  "segmentMessages.senior.step.success.redirectButtonText": "Use code now",
2555
2571
  "segmentMessages.senior.step.success.subtitle": "Here is your personal coupon code. It is unique to you and can only be used once.",
2556
2572
  "segmentMessages.senior.step.success.title": "You've been verified",
2557
2573
  "segmentMessages.student.emailExplanation": "Needed to send you your unique code",
2558
2574
  "segmentMessages.student.schoolName": "University / college name",
2559
- "segmentMessages.student.step.docUpload.howDoesVerifyingWorkDetails": "Document review is handled by SheerID, a trusted partner who specializes in verifying students.\n <br/><br/>\n Documents are used only for verifying your student status is current and will be permanently deleted after review is finalized. They will not be shared with {companyName}",
2575
+ "segmentMessages.student.step.docUpload.howDoesVerifyingWorkDetails": "Document review is handled by SheerID, a trusted partner who specializes in verifying students.\n <br/><br/>\n Documents are used only for verifying your student status is current and will be permanently deleted after review is finalized.",
2560
2576
  "segmentMessages.student.step.docUpload.subtitle": "Documents will be reviewed in {estimatedWaitTime} by staff at SheerID, a trusted partner.",
2561
2577
  "segmentMessages.student.step.docUpload.title": "We need your ID & class schedule",
2562
2578
  "segmentMessages.student.step.docUpload.uploadInstructions": "Upload your school-issued document that shows",
@@ -2565,6 +2581,7 @@ var enUSMessages = {
2565
2581
  "segmentMessages.student.step.personalInfo.title": "Unlock this Student-Only Offer",
2566
2582
  "segmentMessages.student.step.personalInfo.tryAgain.subtitle": "Your full name and birthdate must match what is on your official school records.",
2567
2583
  "segmentMessages.student.step.personalInfo.tryAgain.title": "Check Your Name & Birthdate",
2584
+ "segmentMessages.student.step.personalInfo.verifyingTitle": "Verifying your student status",
2568
2585
  "segmentMessages.student.step.sso.cancel": "Upload Proof of Enrollment",
2569
2586
  "segmentMessages.student.step.success.redirectButtonText": "Use code now",
2570
2587
  "segmentMessages.student.step.success.subtitle": "Here is your personal coupon code. It is unique to you and can only be used once.",
@@ -2580,6 +2597,7 @@ var enUSMessages = {
2580
2597
  "segmentMessages.teacher.step.personalInfo.title": "Unlock this Teaching Staff-Only Offer",
2581
2598
  "segmentMessages.teacher.step.personalInfo.tryAgain.subtitle": "Your full name and email address must match what is on record with your school.",
2582
2599
  "segmentMessages.teacher.step.personalInfo.tryAgain.title": "Check Your Name & Email",
2600
+ "segmentMessages.teacher.step.personalInfo.verifyingTitle": "Verifying your teacher status",
2583
2601
  "segmentMessages.teacher.step.success.redirectButtonText": "Use code now",
2584
2602
  "segmentMessages.teacher.step.success.subtitle": "Here is your personal coupon code. It is unique to you and can only be used once.",
2585
2603
  "segmentMessages.teacher.step.success.title": "You've been verified"
@@ -2604,118 +2622,118 @@ const getMessagesModuleByLocale = async (locale) => {
2604
2622
  /* tslint:disable:space-in-parens */
2605
2623
  switch (locale) {
2606
2624
  case 'ar':
2607
- localizedMessages = await import(/* webpackChunkName: "messages_ar" */ './es6/ar-481cd210.es.js').then(m => m.default);
2625
+ localizedMessages = await import(/* webpackChunkName: "messages_ar" */ './es6/ar-9e0fad1f.es.js').then(m => m.default);
2608
2626
  break;
2609
2627
  case 'bg':
2610
- localizedMessages = await import(/* webpackChunkName: "messages_bg" */ './es6/bg-967186c2.es.js').then(m => m.default);
2628
+ localizedMessages = await import(/* webpackChunkName: "messages_bg" */ './es6/bg-2aca771b.es.js').then(m => m.default);
2611
2629
  break;
2612
2630
  case 'cs':
2613
- localizedMessages = await import(/* webpackChunkName: "messages_cs" */ './es6/cs-941cae5e.es.js').then(m => m.default);
2631
+ localizedMessages = await import(/* webpackChunkName: "messages_cs" */ './es6/cs-f5c83c6a.es.js').then(m => m.default);
2614
2632
  break;
2615
2633
  case 'da':
2616
- localizedMessages = await import(/* webpackChunkName: "messages_da" */ './es6/da-37c952f5.es.js').then(m => m.default);
2634
+ localizedMessages = await import(/* webpackChunkName: "messages_da" */ './es6/da-b8d9bd0b.es.js').then(m => m.default);
2617
2635
  break;
2618
2636
  case 'de':
2619
- localizedMessages = await import(/* webpackChunkName: "messages_de" */ './es6/de-f8771ad4.es.js').then(m => m.default);
2637
+ localizedMessages = await import(/* webpackChunkName: "messages_de" */ './es6/de-0a779e2e.es.js').then(m => m.default);
2620
2638
  break;
2621
2639
  case 'el':
2622
- localizedMessages = await import(/* webpackChunkName: "messages_el" */ './es6/el-69113ed6.es.js').then(m => m.default);
2640
+ localizedMessages = await import(/* webpackChunkName: "messages_el" */ './es6/el-0408a569.es.js').then(m => m.default);
2623
2641
  break;
2624
2642
  case 'en-GB':
2625
- localizedMessages = await import(/* webpackChunkName: "messages_en-GB" */ './es6/en-GB-81009ab2.es.js').then(m => m.default);
2643
+ localizedMessages = await import(/* webpackChunkName: "messages_en-GB" */ './es6/en-GB-8b783a90.es.js').then(m => m.default);
2626
2644
  break;
2627
2645
  case 'en-US':
2628
2646
  localizedMessages = enUSMessages;
2629
2647
  break;
2630
2648
  case 'es-ES':
2631
- localizedMessages = await import(/* webpackChunkName: "messages_es-ES" */ './es6/es-ES-eaf56509.es.js').then(m => m.default);
2649
+ localizedMessages = await import(/* webpackChunkName: "messages_es-ES" */ './es6/es-ES-0f1f844e.es.js').then(m => m.default);
2632
2650
  break;
2633
2651
  case 'es':
2634
- localizedMessages = await import(/* webpackChunkName: "messages_es" */ './es6/es-5b88b172.es.js').then(m => m.default);
2652
+ localizedMessages = await import(/* webpackChunkName: "messages_es" */ './es6/es-20274dff.es.js').then(m => m.default);
2635
2653
  break;
2636
2654
  case 'fi':
2637
- localizedMessages = await import(/* webpackChunkName: "messages_fi" */ './es6/fi-96ae876a.es.js').then(m => m.default);
2655
+ localizedMessages = await import(/* webpackChunkName: "messages_fi" */ './es6/fi-a7b09e0e.es.js').then(m => m.default);
2638
2656
  break;
2639
2657
  case 'fr-CA':
2640
- localizedMessages = await import(/* webpackChunkName: "messages_fr-CA" */ './es6/fr-CA-aec0d809.es.js').then(m => m.default);
2658
+ localizedMessages = await import(/* webpackChunkName: "messages_fr-CA" */ './es6/fr-CA-77227517.es.js').then(m => m.default);
2641
2659
  break;
2642
2660
  case 'fr':
2643
- localizedMessages = await import(/* webpackChunkName: "messages_fr" */ './es6/fr-c77a54c2.es.js').then(m => m.default);
2661
+ localizedMessages = await import(/* webpackChunkName: "messages_fr" */ './es6/fr-759c23ea.es.js').then(m => m.default);
2644
2662
  break;
2645
2663
  case 'ga':
2646
- localizedMessages = await import(/* webpackChunkName: "messages_ga" */ './es6/ga-54aeb796.es.js').then(m => m.default);
2664
+ localizedMessages = await import(/* webpackChunkName: "messages_ga" */ './es6/ga-8ad780c1.es.js').then(m => m.default);
2647
2665
  break;
2648
2666
  case 'hr':
2649
- localizedMessages = await import(/* webpackChunkName: "messages_hr" */ './es6/hr-520dd74c.es.js').then(m => m.default);
2667
+ localizedMessages = await import(/* webpackChunkName: "messages_hr" */ './es6/hr-8f666201.es.js').then(m => m.default);
2650
2668
  break;
2651
2669
  case 'hu':
2652
- localizedMessages = await import(/* webpackChunkName: "messages_hu" */ './es6/hu-37c28fd2.es.js').then(m => m.default);
2670
+ localizedMessages = await import(/* webpackChunkName: "messages_hu" */ './es6/hu-2d552fd1.es.js').then(m => m.default);
2653
2671
  break;
2654
2672
  case 'id':
2655
- localizedMessages = await import(/* webpackChunkName: "messages_id" */ './es6/id-551ab33e.es.js').then(m => m.default);
2673
+ localizedMessages = await import(/* webpackChunkName: "messages_id" */ './es6/id-d4274ccb.es.js').then(m => m.default);
2656
2674
  break;
2657
2675
  case 'it':
2658
- localizedMessages = await import(/* webpackChunkName: "messages_it" */ './es6/it-59f6a6e3.es.js').then(m => m.default);
2676
+ localizedMessages = await import(/* webpackChunkName: "messages_it" */ './es6/it-e6743833.es.js').then(m => m.default);
2659
2677
  break;
2660
2678
  case 'iw':
2661
- localizedMessages = await import(/* webpackChunkName: "messages_iw" */ './es6/iw-5032294d.es.js').then(m => m.default);
2679
+ localizedMessages = await import(/* webpackChunkName: "messages_iw" */ './es6/iw-0aa73f61.es.js').then(m => m.default);
2662
2680
  break;
2663
2681
  case 'ja':
2664
- localizedMessages = await import(/* webpackChunkName: "messages_ja" */ './es6/ja-df9e5ea0.es.js').then(m => m.default);
2682
+ localizedMessages = await import(/* webpackChunkName: "messages_ja" */ './es6/ja-c1f752a6.es.js').then(m => m.default);
2665
2683
  break;
2666
2684
  case 'ko':
2667
- localizedMessages = await import(/* webpackChunkName: "messages_ko" */ './es6/ko-8ab4262e.es.js').then(m => m.default);
2685
+ localizedMessages = await import(/* webpackChunkName: "messages_ko" */ './es6/ko-bcddc775.es.js').then(m => m.default);
2668
2686
  break;
2669
2687
  case 'lo':
2670
- localizedMessages = await import(/* webpackChunkName: "messages_lo" */ './es6/lo-e46589d5.es.js').then(m => m.default);
2688
+ localizedMessages = await import(/* webpackChunkName: "messages_lo" */ './es6/lo-ab067913.es.js').then(m => m.default);
2671
2689
  break;
2672
2690
  case 'lt':
2673
- localizedMessages = await import(/* webpackChunkName: "messages_lt" */ './es6/lt-ea5fa591.es.js').then(m => m.default);
2691
+ localizedMessages = await import(/* webpackChunkName: "messages_lt" */ './es6/lt-7f1cd913.es.js').then(m => m.default);
2674
2692
  break;
2675
2693
  case 'ms':
2676
- localizedMessages = await import(/* webpackChunkName: "messages_ms" */ './es6/ms-a29a33e2.es.js').then(m => m.default);
2694
+ localizedMessages = await import(/* webpackChunkName: "messages_ms" */ './es6/ms-e3f64cc3.es.js').then(m => m.default);
2677
2695
  break;
2678
2696
  case 'nl':
2679
- localizedMessages = await import(/* webpackChunkName: "messages_nl" */ './es6/nl-78571c81.es.js').then(m => m.default);
2697
+ localizedMessages = await import(/* webpackChunkName: "messages_nl" */ './es6/nl-7a4d62d2.es.js').then(m => m.default);
2680
2698
  break;
2681
2699
  case 'no':
2682
- localizedMessages = await import(/* webpackChunkName: "messages_no" */ './es6/no-10c55c06.es.js').then(m => m.default);
2700
+ localizedMessages = await import(/* webpackChunkName: "messages_no" */ './es6/no-a25a637c.es.js').then(m => m.default);
2683
2701
  break;
2684
2702
  case 'pl':
2685
- localizedMessages = await import(/* webpackChunkName: "messages_pl" */ './es6/pl-27e3a4a0.es.js').then(m => m.default);
2703
+ localizedMessages = await import(/* webpackChunkName: "messages_pl" */ './es6/pl-8981210c.es.js').then(m => m.default);
2686
2704
  break;
2687
2705
  case 'pt-BR':
2688
- localizedMessages = await import(/* webpackChunkName: "messages_pt-BR" */ './es6/pt-BR-ee1febf4.es.js').then(m => m.default);
2706
+ localizedMessages = await import(/* webpackChunkName: "messages_pt-BR" */ './es6/pt-BR-ea998ac8.es.js').then(m => m.default);
2689
2707
  break;
2690
2708
  case 'pt':
2691
- localizedMessages = await import(/* webpackChunkName: "messages_pt" */ './es6/pt-272eca82.es.js').then(m => m.default);
2709
+ localizedMessages = await import(/* webpackChunkName: "messages_pt" */ './es6/pt-db66cedf.es.js').then(m => m.default);
2692
2710
  break;
2693
2711
  case 'ru':
2694
- localizedMessages = await import(/* webpackChunkName: "messages_ru" */ './es6/ru-c7e2ed39.es.js').then(m => m.default);
2712
+ localizedMessages = await import(/* webpackChunkName: "messages_ru" */ './es6/ru-b8865189.es.js').then(m => m.default);
2695
2713
  break;
2696
2714
  case 'sk':
2697
- localizedMessages = await import(/* webpackChunkName: "messages_sk" */ './es6/sk-65b1511c.es.js').then(m => m.default);
2715
+ localizedMessages = await import(/* webpackChunkName: "messages_sk" */ './es6/sk-43185e62.es.js').then(m => m.default);
2698
2716
  break;
2699
2717
  case 'sl':
2700
- localizedMessages = await import(/* webpackChunkName: "messages_sl" */ './es6/sl-9fde4f54.es.js').then(m => m.default);
2718
+ localizedMessages = await import(/* webpackChunkName: "messages_sl" */ './es6/sl-efe6c730.es.js').then(m => m.default);
2701
2719
  break;
2702
2720
  case 'sr':
2703
- localizedMessages = await import(/* webpackChunkName: "messages_sr" */ './es6/sr-d8059e6f.es.js').then(m => m.default);
2721
+ localizedMessages = await import(/* webpackChunkName: "messages_sr" */ './es6/sr-a179f1ae.es.js').then(m => m.default);
2704
2722
  break;
2705
2723
  case 'sv':
2706
- localizedMessages = await import(/* webpackChunkName: "messages_sv" */ './es6/sv-a784863d.es.js').then(m => m.default);
2724
+ localizedMessages = await import(/* webpackChunkName: "messages_sv" */ './es6/sv-28a792ba.es.js').then(m => m.default);
2707
2725
  break;
2708
2726
  case 'th':
2709
- localizedMessages = await import(/* webpackChunkName: "messages_th" */ './es6/th-ae9238db.es.js').then(m => m.default);
2727
+ localizedMessages = await import(/* webpackChunkName: "messages_th" */ './es6/th-243f9d7e.es.js').then(m => m.default);
2710
2728
  break;
2711
2729
  case 'tr':
2712
- localizedMessages = await import(/* webpackChunkName: "messages_tr" */ './es6/tr-6b854f37.es.js').then(m => m.default);
2730
+ localizedMessages = await import(/* webpackChunkName: "messages_tr" */ './es6/tr-68ce213a.es.js').then(m => m.default);
2713
2731
  break;
2714
2732
  case 'zh-HK':
2715
- localizedMessages = await import(/* webpackChunkName: "messages_zh-HK" */ './es6/zh-HK-ebb896c5.es.js').then(m => m.default);
2733
+ localizedMessages = await import(/* webpackChunkName: "messages_zh-HK" */ './es6/zh-HK-cc047d27.es.js').then(m => m.default);
2716
2734
  break;
2717
2735
  case 'zh':
2718
- localizedMessages = await import(/* webpackChunkName: "messages_zh" */ './es6/zh-1f46e2fc.es.js').then(m => m.default);
2736
+ localizedMessages = await import(/* webpackChunkName: "messages_zh" */ './es6/zh-14c4dc8f.es.js').then(m => m.default);
2719
2737
  break;
2720
2738
  default:
2721
2739
  logger.warn(`getMessagesModuleByLocale: Unable to load messages for ${locale}, falling back to en-US`);
@@ -4488,6 +4506,9 @@ const populateViewModelFromQueryParams = (verificationService) => {
4488
4506
  });
4489
4507
  verificationService.updateViewModel(nextState);
4490
4508
  };
4509
+ const updateFieldValidationErrors = (fieldValidationErrors, verificationService) => {
4510
+ verificationService.updateFieldValidationErrors(fieldValidationErrors);
4511
+ };
4491
4512
  const updateFieldValidationErrorsByFieldId = (fieldId, value, verificationService) => {
4492
4513
  const { fieldValidationErrors } = verificationService;
4493
4514
  const nextState = fn(fieldValidationErrors, (draft) => {
@@ -4497,13 +4518,16 @@ const updateFieldValidationErrorsByFieldId = (fieldId, value, verificationServic
4497
4518
  });
4498
4519
  updateFieldValidationErrors(nextState, verificationService);
4499
4520
  };
4500
- const updateFieldValidationErrors = (fieldValidationErrors, verificationService) => {
4501
- verificationService.updateFieldValidationErrors(fieldValidationErrors);
4502
- };
4503
4521
  const shouldCollectAddressFields = (countryChoice, countries) => (getSafe(() => countries.length === 1)
4504
4522
  && getSafe(() => countries[0]) === 'US')
4505
4523
  || getSafe(() => countryChoice.value === 'US')
4506
4524
  || getSafe(() => countryChoice.value === undefined);
4525
+ const getStatusLabel = (intl, status, defaultMessages) => {
4526
+ if (!status) {
4527
+ return '';
4528
+ }
4529
+ return intl.formatMessage({ id: status, defaultMessage: defaultMessages[status] });
4530
+ };
4507
4531
  const getAvailableMilitaryStatuses = (verificationService, intl) => {
4508
4532
  const availableStatusesResponse = verificationService.verificationResponse.availableStatuses
4509
4533
  || (verificationService.previousVerificationResponse
@@ -4512,12 +4536,12 @@ const getAvailableMilitaryStatuses = (verificationService, intl) => {
4512
4536
  if (!availableStatusesResponse) {
4513
4537
  return null;
4514
4538
  }
4515
- for (const status of availableStatusesResponse) {
4539
+ availableStatusesResponse.forEach((status) => {
4516
4540
  availableStatuses.push({
4517
4541
  value: status,
4518
- label: intl.formatMessage({ id: status, defaultMessage: MilitaryStatusDefaultMessagesEnum[status] }),
4542
+ label: getStatusLabel(intl, status, MilitaryStatusDefaultMessagesEnum),
4519
4543
  });
4520
- }
4544
+ });
4521
4545
  return availableStatuses;
4522
4546
  };
4523
4547
  /**
@@ -4529,18 +4553,6 @@ const getFieldDisplayOrderFromRefs = () => {
4529
4553
  refs.map((refObject) => fieldDisplayOrder.push(refObject.fieldId));
4530
4554
  return fieldDisplayOrder;
4531
4555
  };
4532
- /**
4533
- * @private
4534
- */
4535
- const getFirstErroredFieldId = (fieldDisplayOrder, fieldValidationErrors) => {
4536
- let firstErrordFieldId;
4537
- for (const field of fieldDisplayOrder) {
4538
- if (fieldValidationErrors[field]) {
4539
- firstErrordFieldId = field;
4540
- return adjustFirstErroredFieldId(firstErrordFieldId);
4541
- }
4542
- }
4543
- };
4544
4556
  /**
4545
4557
  * HD-638 - focus on year, rather than month (which is an open <select> that covers error msg)
4546
4558
  */
@@ -4550,6 +4562,19 @@ const adjustFirstErroredFieldId = (firstErroredFieldId) => {
4550
4562
  }
4551
4563
  return firstErroredFieldId;
4552
4564
  };
4565
+ /**
4566
+ * @private
4567
+ */
4568
+ const getFirstErroredFieldId = (fieldDisplayOrder, fieldValidationErrors) => {
4569
+ let firstErroredFieldId;
4570
+ fieldDisplayOrder.forEach((field) => {
4571
+ if (fieldValidationErrors[field]) {
4572
+ firstErroredFieldId = field;
4573
+ return adjustFirstErroredFieldId(firstErroredFieldId);
4574
+ }
4575
+ });
4576
+ return adjustFirstErroredFieldId(firstErroredFieldId);
4577
+ };
4553
4578
  /**
4554
4579
  * @private
4555
4580
  */
@@ -4629,6 +4654,16 @@ const getAvailableStateChoices = (programTheme, intl) => {
4629
4654
  }),
4630
4655
  }));
4631
4656
  };
4657
+ const produceDraftViewModelWithRequiredFields = (previousModel, newRequiredFields, conditionalRequiredFieldKeys) => (fn(previousModel, (draft) => {
4658
+ conditionalRequiredFieldKeys.forEach((requiredFieldKey) => {
4659
+ if (newRequiredFields.some((field) => field.key === requiredFieldKey)) {
4660
+ draft[requiredFieldKey] = previousModel[requiredFieldKey] !== undefined ? previousModel[requiredFieldKey] : '';
4661
+ }
4662
+ else {
4663
+ delete draft[requiredFieldKey];
4664
+ }
4665
+ });
4666
+ }));
4632
4667
  /**
4633
4668
  * @private
4634
4669
  */
@@ -9713,8 +9748,17 @@ const RequestOrganizationSearch = ({ intl }) => {
9713
9748
  };
9714
9749
  const RequestOrganizationSearchComponent = injectIntl(RequestOrganizationSearch);
9715
9750
 
9716
- const LoadingScreenComponent = () => (React.createElement("div", { className: "sid-loading-screen" },
9717
- React.createElement(LoadingSpinnerComponent, null)));
9751
+ // eslint-disable-next-line react/prop-types
9752
+ const LoadingScreenMessage = ({ step }) => (React.createElement("div", { className: "sid-loading-screen__message" },
9753
+ CollectInfoSteps.includes(step) && (React.createElement("div", { className: "sid-loading-screen__message-header" },
9754
+ React.createElement(FormattedMessage, { id: "step.personalInfo.verifyingTitle", defaultMessage: "Verifying your status" }))),
9755
+ React.createElement("div", { className: "sid-loading-screen__message-subhead" },
9756
+ React.createElement(FormattedMessage, { id: "step.personalInfo.verifyingSubtitle", defaultMessage: "This should only take a minute" }))));
9757
+
9758
+ // eslint-disable-next-line react/prop-types
9759
+ const LoadingScreenComponent = ({ step }) => (React.createElement("div", { className: "sid-loading-screen" },
9760
+ React.createElement(LoadingSpinnerComponent, null),
9761
+ step && React.createElement(LoadingScreenMessage, { step: step })));
9718
9762
 
9719
9763
  let overriddenComponents = {};
9720
9764
  const overrideComponent = (componentName, newComponent) => {
@@ -9780,6 +9824,7 @@ const firstResponderMessages = {
9780
9824
  title: 'Check Your Name, Email & Organization',
9781
9825
  subtitle: 'Your full name, organization name, and email must match what is on record with your agency.',
9782
9826
  },
9827
+ verifyingTitle: 'Verifying your first responder status',
9783
9828
  },
9784
9829
  docUpload: {
9785
9830
  title: 'We need your ID',
@@ -9813,6 +9858,7 @@ const militaryMessages = {
9813
9858
  title: 'Check Your Name & Birthdate',
9814
9859
  subtitle: 'Enter your first and last name on the form as it appears on your military document(s). Keep in mind that may be your given name.',
9815
9860
  },
9861
+ verifyingTitle: 'Verifying your military status',
9816
9862
  },
9817
9863
  docUpload: {
9818
9864
  title: 'We need more information',
@@ -9846,6 +9892,7 @@ const seniorMessages = {
9846
9892
  title: 'Check Your Name & Birthdate',
9847
9893
  subtitle: 'Your full name and birthdate must match what is on your government-issued documents.',
9848
9894
  },
9895
+ verifyingTitle: 'Verifying your age',
9849
9896
  },
9850
9897
  docUpload: {
9851
9898
  title: 'We need your license or passport',
@@ -9878,6 +9925,7 @@ const ageMessages = {
9878
9925
  title: 'Check Your Name & Birthdate',
9879
9926
  subtitle: 'Your full name and birthdate must match what is on your government-issued documents.',
9880
9927
  },
9928
+ verifyingTitle: 'Verifying your age',
9881
9929
  },
9882
9930
  docUpload: {
9883
9931
  howDoesVerifyingWorkDetails: `Document review is handled by SheerID, a trusted partner who specializes in verifying age.
@@ -9913,13 +9961,14 @@ const studentMessages = {
9913
9961
  title: 'Check Your Name & Birthdate',
9914
9962
  subtitle: 'Your full name and birthdate must match what is on your official school records.',
9915
9963
  },
9964
+ verifyingTitle: 'Verifying your student status',
9916
9965
  },
9917
9966
  docUpload: {
9918
9967
  title: 'We need your ID & class schedule',
9919
9968
  subtitle: 'Documents will be reviewed in {estimatedWaitTime} by staff at SheerID, a trusted partner.',
9920
9969
  howDoesVerifyingWorkDetails: `Document review is handled by SheerID, a trusted partner who specializes in verifying students.
9921
9970
  <br/><br/>
9922
- Documents are used only for verifying your student status is current and will be permanently deleted after review is finalized. They will not be shared with {companyName}`,
9971
+ Documents are used only for verifying your student status is current and will be permanently deleted after review is finalized.`,
9923
9972
  uploadInstructions: 'Upload your school-issued document that shows',
9924
9973
  },
9925
9974
  success: {
@@ -9951,6 +10000,7 @@ const teacherMessages = {
9951
10000
  title: 'Check Your Name & Email',
9952
10001
  subtitle: 'Your full name and email address must match what is on record with your school.',
9953
10002
  },
10003
+ verifyingTitle: 'Verifying your teacher status',
9954
10004
  },
9955
10005
  docUpload: {
9956
10006
  title: 'We need more information',
@@ -9983,6 +10033,7 @@ const memberMessages = {
9983
10033
  title: 'Check the information that you have provided',
9984
10034
  subtitle: 'The information you have provided should match your official documents.',
9985
10035
  },
10036
+ verifyingTitle: 'Verifying your membership status',
9986
10037
  },
9987
10038
  docUpload: {
9988
10039
  title: 'We need more information',
@@ -10015,6 +10066,7 @@ const medicalMessages = {
10015
10066
  title: 'Check your Name, Birthdate & Organization',
10016
10067
  subtitle: 'Your first and last name, birthdate and organization must match what is on your official documents.',
10017
10068
  },
10069
+ verifyingTitle: 'Verifying your medical professional status',
10018
10070
  },
10019
10071
  docUpload: {
10020
10072
  title: 'We need more information',
@@ -10050,6 +10102,7 @@ const employmentMessages = {
10050
10102
  title: 'Check the information that you have provided',
10051
10103
  subtitle: 'The information you have provided should match your official documents.',
10052
10104
  },
10105
+ verifyingTitle: 'Verifying your employment status',
10053
10106
  },
10054
10107
  docUpload: {
10055
10108
  title: 'We need more information',
@@ -10089,6 +10142,7 @@ const identityMessages = {
10089
10142
  title: 'Check Your Name & other fields',
10090
10143
  subtitle: 'Your information must match what is on your government-issued document(s).',
10091
10144
  },
10145
+ verifyingTitle: 'Verifying your identity',
10092
10146
  },
10093
10147
  docUpload: {
10094
10148
  howDoesVerifyingWorkDetails: `Document review is handled by SheerID, a trusted partner who specializes in verifying identity.
@@ -10121,6 +10175,7 @@ const licensedProfessionalMessages = {
10121
10175
  title: 'Check Your Name & other fields',
10122
10176
  subtitle: 'Your information must match what is on your government-issued document(s).',
10123
10177
  },
10178
+ verifyingTitle: 'Verifying your license',
10124
10179
  },
10125
10180
  docUpload: {
10126
10181
  title: 'We need your professional license or certificate',
@@ -10154,6 +10209,7 @@ const moverMessages = {
10154
10209
  title: 'Check Your Name & Address Information',
10155
10210
  subtitle: 'Your first and last name and address must match what is on your official documents.',
10156
10211
  },
10212
+ verifyingTitle: 'Verifying your moving status',
10157
10213
  },
10158
10214
  docUpload: {
10159
10215
  title: 'We need some more info',
@@ -11079,6 +11135,8 @@ const ageViewModelToRequest = (viewModel) => ({
11079
11135
  deviceFingerprintHash: viewModel.deviceFingerprintHash,
11080
11136
  locale: viewModel.localeChoice.value,
11081
11137
  country: viewModel.countryChoice ? viewModel.countryChoice.value : undefined,
11138
+ city: viewModel.city !== '' ? viewModel.city : undefined,
11139
+ address1: viewModel.address1 !== '' ? viewModel.address1 : undefined,
11082
11140
  metadata: viewModel.metadata,
11083
11141
  });
11084
11142
  // ActiveMilitaryPersonalInfoViewModel contains multiple keys we don't want so we can't return the full viewModel as the request body
@@ -13430,7 +13488,7 @@ const createUpdateFieldValidationErrors = (dispatch) => async (fieldValidationEr
13430
13488
  const createSubmitStep = (dispatch) => async (stepName, viewModel, previousResponse) => {
13431
13489
  logger.log(`submitStep(): submitting stepName ${stepName}, viewModel:`, viewModel);
13432
13490
  scrollToWindowTop();
13433
- await dispatch({ type: 'IS_LOADING', isLoading: true });
13491
+ await dispatch({ type: 'IS_LOADING', isLoading: true, loadingStep: stepName });
13434
13492
  logger.info(`submitting step ${stepName}`, viewModel);
13435
13493
  setGaDimensionIsTest(viewModel);
13436
13494
  const verificationResponse = await VerificationApiClient.submitStep(stepName, previousResponse, viewModel);
@@ -14026,6 +14084,7 @@ const verificationServiceReducer = (state = getInitialState(), action) => {
14026
14084
  return {
14027
14085
  ...state,
14028
14086
  isLoading: action.isLoading,
14087
+ loadingStep: action.isLoading ? action.loadingStep : undefined,
14029
14088
  };
14030
14089
  case 'IS_ERRORED':
14031
14090
  return {
@@ -15681,7 +15740,7 @@ const OptInComponent = ({ isErrored, isRequired, onChange, value, verificationSe
15681
15740
  const marketConsentConfig = (verificationService
15682
15741
  && verificationService.programTheme && getMarketConsent(verificationService.programTheme)) || {};
15683
15742
  const defaultMessage = marketConsentConfig.message
15684
- || 'I would like to receive marketing communications, including email, from {company} and its family of brands.';
15743
+ || 'Yes, send me {company} marketing communications about exclusive sales, special offers, latest products and more';
15685
15744
  React.useEffect(() => {
15686
15745
  setCustomValidator(optInFieldId, getOptInValidationError);
15687
15746
  }, [optInFieldId, getOptInValidationError]);
@@ -15692,7 +15751,7 @@ const OptInComponent = ({ isErrored, isRequired, onChange, value, verificationSe
15692
15751
  React.createElement(OptInInputComponent, { isErrored: isErrored, onChange: onChange, value: value }),
15693
15752
  React.createElement("div", { className: "sid-field__label sid-checkbox__label" }, verificationService
15694
15753
  ? (React.createElement(FormattedMessage, { id: "companyName", defaultMessage: "{Company}" }, companyName => (React.createElement(FormattedHTMLMessage, { id: "optIn", values: { company: companyName }, defaultMessage: defaultMessage }))))
15695
- : (React.createElement(FormattedHTMLMessage, { id: "optIn", defaultMessage: "I would like to receive marketing communications, including email, from {company} and its family of brands." }))),
15754
+ : (React.createElement(FormattedHTMLMessage, { id: "optIn", defaultMessage: defaultMessage }))),
15696
15755
  isErrored
15697
15756
  ? (React.createElement("div", { className: "sid-field-error" },
15698
15757
  React.createElement(FormattedHTMLMessage, { id: "errorId.invalidOptIn", defaultMessage: "Must be selected to continue" })))
@@ -16548,6 +16607,28 @@ const carrierConsentValueValidator = (countryChoiceValue) => (value, programThem
16548
16607
  }
16549
16608
  };
16550
16609
 
16610
+ const City = ({ value, isErrored, onChange, intl, onKeyDown = undefined, placeholder = '', }) => (React.createElement("div", { className: "sid-field sid-city" },
16611
+ React.createElement("div", { className: "sid-l-space-top-md" }),
16612
+ React.createElement("label", { htmlFor: "sid-city" },
16613
+ React.createElement("div", { className: `sid-field__label sid-l-space-btm-sm ${placeholder ? 'sid-h-screen-reader-only' : ''}` },
16614
+ React.createElement("div", { className: "sid-field__label sid-field__label--required" },
16615
+ React.createElement(FormattedHTMLMessage, { id: "city", defaultMessage: "City" })))),
16616
+ 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 }),
16617
+ isErrored ? (React.createElement("div", { className: "sid-field-error" },
16618
+ React.createElement(FormattedHTMLMessage, { id: "errorId.invalidCity", defaultMessage: "Invalid city" }))) : null));
16619
+ const CityComponent = injectIntl(City);
16620
+
16621
+ const Address = ({ value, isErrored, onChange, intl, onKeyDown = undefined, placeholder = '', }) => (React.createElement("div", { className: "sid-field sid-address" },
16622
+ React.createElement("div", { className: "sid-l-space-top-md" }),
16623
+ React.createElement("label", { htmlFor: "sid-address" },
16624
+ React.createElement("div", { className: `sid-field__label sid-l-space-btm-sm ${placeholder ? 'sid-h-screen-reader-only' : ''}` },
16625
+ React.createElement("div", { className: "sid-field__label sid-field__label--required" },
16626
+ React.createElement(FormattedHTMLMessage, { id: "address", defaultMessage: "Address" })))),
16627
+ 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 }),
16628
+ isErrored ? (React.createElement("div", { className: "sid-field-error" },
16629
+ React.createElement(FormattedHTMLMessage, { id: "errorId.invalidAddress", defaultMessage: "Invalid address" }))) : null));
16630
+ const AddressComponent = injectIntl(Address);
16631
+
16551
16632
  /**
16552
16633
  * TODO - preamble
16553
16634
  */
@@ -16560,6 +16641,8 @@ const StepAgePersonalInfo = ({ verificationService, intl }) => {
16560
16641
  const defaultCountryChoice = getDefaultCountryChoice(countryChoices);
16561
16642
  const { isSmsNotifierConfigured, smsLoopEnabled } = verificationService.programTheme;
16562
16643
  const safeCountryValue = getSafe(() => viewModel.countryChoice.value, defaultCountryChoice.value);
16644
+ const defaultRequiredFields = safeCountryValue === 'US' ? [{ key: 'postalCode' }] : [];
16645
+ const [requiredFields, setRequiredFields] = React.useState(defaultRequiredFields);
16563
16646
  if (!fieldValidationErrors.phoneNumber && verificationResponse.errorIds && verificationResponse.errorIds.includes('invalidPhoneNumber')) {
16564
16647
  verificationService.updateFieldValidationErrors({
16565
16648
  ...fieldValidationErrors,
@@ -16568,13 +16651,15 @@ const StepAgePersonalInfo = ({ verificationService, intl }) => {
16568
16651
  }
16569
16652
  const displayPhoneNumber = (country, displayForSmsLoop) => (country !== 'US' || displayForSmsLoop);
16570
16653
  const updateAgeViewModel = (key, value) => {
16571
- const nextState = fn(viewModel, (draft) => {
16572
- draft[key] = value;
16573
- });
16654
+ const nextState = produceDraftViewModel(viewModel, key, value);
16655
+ verificationService.updateViewModel(nextState);
16656
+ };
16657
+ const updateViewModelWithRequiredFields = (newRequiredFields, conditionalRequiredFieldKeys) => {
16658
+ const nextState = produceDraftViewModelWithRequiredFields(viewModel, newRequiredFields, conditionalRequiredFieldKeys);
16574
16659
  verificationService.updateViewModel(nextState);
16575
16660
  };
16661
+ const isFieldRequired = (key) => requiredFields.some((field) => field.key === key);
16576
16662
  overrideValidator('phoneNumber', phoneNumberValidator(safeCountryValue));
16577
- overrideValidator('postalCode', postalCodeValidator(safeCountryValue));
16578
16663
  if (displayPhoneNumber(safeCountryValue, smsLoopEnabled)) {
16579
16664
  if (!customValidatorExists$1('carrierConsentValue')) {
16580
16665
  setCustomValidator('carrierConsentValue', carrierConsentValueValidator(safeCountryValue));
@@ -16587,6 +16672,19 @@ const StepAgePersonalInfo = ({ verificationService, intl }) => {
16587
16672
  updateAgeViewModel('metadata', { ...verificationService.viewModel.metadata, carrierConsentValue: newValue });
16588
16673
  updateFieldValidationErrorsByFieldId('carrierConsentValue', newValue, verificationService);
16589
16674
  };
16675
+ React.useEffect(() => {
16676
+ (async () => {
16677
+ try {
16678
+ const collectFieldsResponse = await getFieldsToCollect(verificationResponse.verificationId, verificationResponse.currentStep, viewModel);
16679
+ const newRequiredFields = getSafe(() => collectFieldsResponse.fieldsToCollect.required, []);
16680
+ updateViewModelWithRequiredFields(newRequiredFields, ['postalCode', 'city', 'address1']);
16681
+ setRequiredFields(newRequiredFields);
16682
+ }
16683
+ catch (error) {
16684
+ logger.error(`Failed to determine fields to collect: ${error}`);
16685
+ }
16686
+ })();
16687
+ }, [viewModel.country]);
16590
16688
  return (React.createElement("div", { id: "sid-step-student-personal-info", className: "sid-l-container" },
16591
16689
  failedInstantMatch
16592
16690
  ? (React.createElement("div", { className: "sid-header" },
@@ -16612,9 +16710,6 @@ const StepAgePersonalInfo = ({ verificationService, intl }) => {
16612
16710
  if (!displayPhoneNumber(country, smsLoopEnabled)) {
16613
16711
  viewModelDraft.phoneNumber = '';
16614
16712
  }
16615
- if (country !== 'US') {
16616
- viewModelDraft.postalCode = '';
16617
- }
16618
16713
  } }),
16619
16714
  React.createElement("div", { className: "sid-names" },
16620
16715
  React.createElement(FirstNameComponent, { value: viewModel.firstName, isErrored: !!fieldValidationErrors.firstName, onChange: (newValue) => {
@@ -16629,7 +16724,15 @@ const StepAgePersonalInfo = ({ verificationService, intl }) => {
16629
16724
  updateAgeViewModel('birthDate', newValue);
16630
16725
  updateFieldValidationErrorsByFieldId('birthDate', newValue, verificationService);
16631
16726
  }, value: viewModel.birthDate }),
16632
- safeCountryValue === 'US' && (React.createElement(PostalCodeComponent, { isErrored: !!fieldValidationErrors.postalCode, onChange: (newValue) => {
16727
+ isFieldRequired('city') && (React.createElement(CityComponent, { value: viewModel.city, isRequired: true, isErrored: !!fieldValidationErrors.city, errorId: fieldValidationErrors.city, onChange: (value) => {
16728
+ updateAgeViewModel('city', value);
16729
+ updateFieldValidationErrorsByFieldId('city', value, verificationService);
16730
+ } })),
16731
+ isFieldRequired('address1') && (React.createElement(AddressComponent, { value: viewModel.address1, isRequired: true, isErrored: !!fieldValidationErrors.address1, errorId: fieldValidationErrors.address1, onChange: (value) => {
16732
+ updateAgeViewModel('address1', value);
16733
+ updateFieldValidationErrorsByFieldId('address1', value, verificationService);
16734
+ } })),
16735
+ isFieldRequired('postalCode') && (React.createElement(PostalCodeComponent, { isErrored: !!fieldValidationErrors.postalCode, onChange: (newValue) => {
16633
16736
  updateAgeViewModel('postalCode', newValue);
16634
16737
  updateFieldValidationErrorsByFieldId('postalCode', newValue, verificationService);
16635
16738
  }, value: viewModel.postalCode })),
@@ -17030,8 +17133,8 @@ const StepActiveMilitaryPersonalInfo = ({ intl, verificationService }) => {
17030
17133
  React.createElement(CountryComponentWrapper, { verificationService: verificationService, viewModel: viewModel, nextFocusField: "status" }),
17031
17134
  availableStatuses
17032
17135
  ? (React.createElement(MilitaryStatusComponent, { value: {
17033
- value: verificationService.viewModel.status,
17034
- label: MilitaryStatusDefaultMessagesEnum[verificationService.viewModel.status],
17136
+ value: viewModel.status,
17137
+ label: getStatusLabel(intl, viewModel.status, MilitaryStatusDefaultMessagesEnum),
17035
17138
  }, isErrored: !!fieldValidationErrors.status, options: availableStatuses, onChange: (status) => {
17036
17139
  updateActiveMilitaryViewModel('status', status ? status.value : '');
17037
17140
  updateFieldValidationErrorsByFieldId('status', status ? status.value : '', verificationService);
@@ -17213,8 +17316,8 @@ const StepInactiveMilitaryPersonalInfo = ({ intl, verificationService }) => {
17213
17316
  React.createElement(CountryComponentWrapper, { verificationService: verificationService, viewModel: viewModel, nextFocusField: "status" }),
17214
17317
  availableStatuses
17215
17318
  ? (React.createElement(MilitaryStatusComponent, { value: {
17216
- value: verificationService.viewModel.status,
17217
- label: MilitaryStatusDefaultMessagesEnum[verificationService.viewModel.status],
17319
+ value: viewModel.status,
17320
+ label: getStatusLabel(intl, viewModel.status, MilitaryStatusDefaultMessagesEnum),
17218
17321
  }, isErrored: !!fieldValidationErrors.status, options: availableStatuses, onChange: (status) => {
17219
17322
  updateInactiveMilitaryViewModel('status', status ? status.value : '');
17220
17323
  updateFieldValidationErrorsByFieldId('status', status ? status.value : '', verificationService);
@@ -17308,12 +17411,12 @@ const StepFirstResponderPersonalInfo = ({ intl, verificationService }) => {
17308
17411
  const getAvailableFirstResponderStatuses = () => {
17309
17412
  const availableStatusesResponse = verificationService.verificationResponse.availableStatuses;
17310
17413
  const availableStatuses = [];
17311
- for (const status of availableStatusesResponse) {
17414
+ availableStatusesResponse.forEach((status) => {
17312
17415
  availableStatuses.push({
17313
17416
  value: status,
17314
- label: intl.formatMessage({ id: status, defaultMessage: FirstResponderStatusDefaultMessagesEnum[status] }),
17417
+ label: getStatusLabel(intl, status, FirstResponderStatusDefaultMessagesEnum),
17315
17418
  });
17316
- }
17419
+ });
17317
17420
  return availableStatuses;
17318
17421
  };
17319
17422
  const handleFirstResponderStatusOnKeyDown = (event) => {
@@ -17353,8 +17456,8 @@ const StepFirstResponderPersonalInfo = ({ intl, verificationService }) => {
17353
17456
  React.createElement(RewardsRemainingComponent, { verificationService: verificationService })))),
17354
17457
  React.createElement(CountryComponentWrapper, { verificationService: verificationService, viewModel: viewModel, nextFocusField: "status" }),
17355
17458
  React.createElement(FirstResponderStatusComponent, { value: {
17356
- value: verificationService.viewModel.status,
17357
- label: FirstResponderStatusDefaultMessagesEnum[verificationService.viewModel.status],
17459
+ value: viewModel.status,
17460
+ label: getStatusLabel(intl, viewModel.status, FirstResponderStatusDefaultMessagesEnum),
17358
17461
  }, isErrored: !!fieldValidationErrors.status, options: getAvailableFirstResponderStatuses(), onChange: (status) => {
17359
17462
  updateFirstResponderViewModel('status', status ? status.value : '');
17360
17463
  updateFieldValidationErrorsByFieldId('status', status ? status.value : '', verificationService);
@@ -17454,12 +17557,6 @@ const StepMedicalProfessionalPersonalInfo = ({ intl, verificationService }) => {
17454
17557
  const failedInstantMatch = hasFailedInstantMatch(verificationResponse);
17455
17558
  const [memberIdMessageKeys, setMemberIdMessageKeys] = React.useState(undefined);
17456
17559
  const [showMemberId, setShowMemberId] = React.useState(false);
17457
- const getStatusLabel = (status) => {
17458
- if (!status) {
17459
- return '';
17460
- }
17461
- return intl.formatMessage({ id: status, defaultMessage: MedicalProfessionalStatusDefaultMessagesEnum[status] });
17462
- };
17463
17560
  const updateMedicalProfessionalViewModel = (key, value) => {
17464
17561
  const nextState = produceDraftViewModel(viewModel, key, value);
17465
17562
  verificationService.updateViewModel(nextState);
@@ -17467,12 +17564,12 @@ const StepMedicalProfessionalPersonalInfo = ({ intl, verificationService }) => {
17467
17564
  const getAvailableMedicalStatuses = () => {
17468
17565
  const availableStatusesResponse = verificationResponse.availableStatuses;
17469
17566
  const availableStatuses = [];
17470
- for (const status of availableStatusesResponse) {
17567
+ availableStatusesResponse.forEach((status) => {
17471
17568
  availableStatuses.push({
17472
17569
  value: status,
17473
- label: getStatusLabel(status),
17570
+ label: getStatusLabel(intl, status, MedicalProfessionalStatusDefaultMessagesEnum),
17474
17571
  });
17475
- }
17572
+ });
17476
17573
  return availableStatuses;
17477
17574
  };
17478
17575
  const handleMedicalStatusOnKeyDown = (event) => {
@@ -17524,7 +17621,7 @@ const StepMedicalProfessionalPersonalInfo = ({ intl, verificationService }) => {
17524
17621
  React.createElement(CountryComponentWrapper, { verificationService: verificationService, viewModel: viewModel }),
17525
17622
  React.createElement(MedicalStatusComponent, { value: {
17526
17623
  value: viewModel.status,
17527
- label: getStatusLabel(viewModel.status),
17624
+ label: getStatusLabel(intl, viewModel.status, MedicalProfessionalStatusDefaultMessagesEnum),
17528
17625
  }, isErrored: !!fieldValidationErrors.status, options: getAvailableMedicalStatuses(), onChange: (status) => {
17529
17626
  updateMedicalProfessionalViewModel('status', status ? status.value : '');
17530
17627
  updateFieldValidationErrorsByFieldId('status', status ? status.value : '', verificationService);
@@ -17581,28 +17678,6 @@ const StepMedicalProfessionalPersonalInfo = ({ intl, verificationService }) => {
17581
17678
  };
17582
17679
  const StepMedicalProfessionalPersonalInfoComponent = injectIntl(StepMedicalProfessionalPersonalInfo);
17583
17680
 
17584
- const Address = ({ value, isErrored, onChange, intl, onKeyDown = undefined, placeholder = '', }) => (React.createElement("div", { className: "sid-field sid-address" },
17585
- React.createElement("div", { className: "sid-l-space-top-md" }),
17586
- React.createElement("label", { htmlFor: "sid-address" },
17587
- React.createElement("div", { className: `sid-field__label sid-l-space-btm-sm ${placeholder ? 'sid-h-screen-reader-only' : ''}` },
17588
- React.createElement("div", { className: "sid-field__label sid-field__label--required" },
17589
- React.createElement(FormattedHTMLMessage, { id: "address", defaultMessage: "Address" })))),
17590
- 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 }),
17591
- isErrored ? (React.createElement("div", { className: "sid-field-error" },
17592
- React.createElement(FormattedHTMLMessage, { id: "errorId.invalidAddress", defaultMessage: "Invalid address" }))) : null));
17593
- const AddressComponent = injectIntl(Address);
17594
-
17595
- const City = ({ value, isErrored, onChange, intl, onKeyDown = undefined, placeholder = '', }) => (React.createElement("div", { className: "sid-field sid-city" },
17596
- React.createElement("div", { className: "sid-l-space-top-md" }),
17597
- React.createElement("label", { htmlFor: "sid-city" },
17598
- React.createElement("div", { className: `sid-field__label sid-l-space-btm-sm ${placeholder ? 'sid-h-screen-reader-only' : ''}` },
17599
- React.createElement("div", { className: "sid-field__label sid-field__label--required" },
17600
- React.createElement(FormattedHTMLMessage, { id: "city", defaultMessage: "City" })))),
17601
- 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 }),
17602
- isErrored ? (React.createElement("div", { className: "sid-field-error" },
17603
- React.createElement(FormattedHTMLMessage, { id: "errorId.invalidCity", defaultMessage: "Invalid city" }))) : null));
17604
- const CityComponent = injectIntl(City);
17605
-
17606
17681
  const State = ({ value, isErrored, onChange, intl, onKeyDown = undefined, placeholder = '', }) => (React.createElement("div", { className: "sid-field sid-state" },
17607
17682
  React.createElement("div", { className: "sid-l-space-top-md" }),
17608
17683
  React.createElement("label", { htmlFor: "sid-state" },
@@ -20782,10 +20857,10 @@ const NewVerificationInnerComponent = ({ locale, messages, programTheme, verific
20782
20857
  return (
20783
20858
  // Don't change locale, so we don't have to load pluralization data, which has complications. HD-560
20784
20859
  React.createElement(IntlProvider, { locale: "en", key: locale, messages: messagesWithOptions, textComponent: CustomTextWrapper },
20785
- React.createElement(CustomCssWrapperComponent, { styles: getCustomCss(programTheme) },
20786
- React.createElement("div", { className: rtlDetect_1.isRtlLang(modernizeLocale(locale)) ? 'sid-rtl' : 'sid-ltr' },
20860
+ React.createElement(CustomCssWrapperComponent, { styles: getCustomCss(programTheme) }, verificationService.isLoading ? React.createElement(LoadingScreenComponent, { step: verificationService.loadingStep })
20861
+ : (React.createElement("div", { className: rtlDetect_1.isRtlLang(modernizeLocale(locale)) ? 'sid-rtl' : 'sid-ltr' },
20787
20862
  React.createElement(TestModeFlagComponent, { verificationService: verificationService }),
20788
- React.createElement(LoadStepComponent, { stepToLoad: verificationService.verificationResponse.currentStep, verificationService: verificationService })))));
20863
+ React.createElement(LoadStepComponent, { stepToLoad: verificationService.verificationResponse.currentStep, verificationService: verificationService }))))));
20789
20864
  };
20790
20865
 
20791
20866
  /* eslint-disable */
@@ -20813,9 +20888,11 @@ class NewVerification extends React.Component {
20813
20888
  }
20814
20889
  }
20815
20890
  render() {
20816
- if (this.props.verificationService.isLoading) {
20891
+ // Note: If we have a loadingStep set we don't use this loading screen, we use the one inside
20892
+ // the inner component that is inside the internationalization provoder.
20893
+ if (this.props.verificationService.isLoading && !this.props.verificationService.loadingStep) {
20817
20894
  logger.info('NewVerificationComponent: VerificationService is loading');
20818
- return React.createElement(LoadingScreenComponent, null); // Note: we don't know locale yet
20895
+ return React.createElement(LoadingScreenComponent, null);
20819
20896
  }
20820
20897
  const { programTheme } = this.props.verificationService;
20821
20898
  const { verificationResponse } = this.props.verificationService;
@@ -21097,5 +21174,5 @@ const collectDeviceProfile = async (verificationId, programId) => {
21097
21174
  includeIPQSDeviceFingerprintScript(programTheme, verificationId);
21098
21175
  };
21099
21176
 
21100
- 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, 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_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, getTabRef, getTrackingIdFromQueryString, getVerificationIdFromQueryString, getVerificationStatusUrl, handleCountryOnKeyDown, handleEmailOnKeyDown, handleStateChange, hasFailedInstantMatch, howDoesVerifyingWorkMessages, isFormErrored, isFormFilled, isValidLocale, isValidUsPostalCode, listenToSheerIdFrame, loadInModal, loadInlineIframe, logger, orgToOption, orgsInStatus, overrideComponent, overrideValidator, phoneNumberValidator, populateViewModelFromQueryParams, postVerificationSizeUpdates, postalCodeMatchers, postalCodeValidator, produceDraftViewModel, refreshStore, registerAdditionalLocales, removeAllFiles, removeCustomValidator, removeFile, requestOrganizationConstants, resetCustomValidators, resetHooks, resetMetadata, resetOptions, resetOverriddenComponents, resetOverriddenValidators, resetRefs, resetStore, resetTabRef, resetViewModel, resolveTrackingId, setCustomValidator, setFocus, setMetadata, setOptions, setRef, setTabRef, setViewModel, shouldCollectAddressFields, shouldCollectPostalCode, socialSecurityEmpty, speakToOuterFrame, submitAddSchoolRequest, submitForm, unDisplaySSN, updateFieldValidationErrors, updateFieldValidationErrorsByFieldId, updateMilitaryViewModel, updateViewModelOrganization, usePollingInterval, validateFieldById, validateMetadata };
21177
+ 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, 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_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 };
21101
21178
  //# sourceMappingURL=sheerides6.js.map