@sheerid/jslib 1.108.0 → 1.111.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 (229) hide show
  1. package/README.md +57 -0
  2. package/es5/Tmetrix.bundle.js +5 -5
  3. package/es5/messages_ar.bundle.js +5 -5
  4. package/es5/messages_bg.bundle.js +5 -5
  5. package/es5/messages_cs.bundle.js +5 -5
  6. package/es5/messages_da.bundle.js +5 -5
  7. package/es5/messages_de.bundle.js +5 -5
  8. package/es5/messages_el.bundle.js +5 -5
  9. package/es5/messages_en-GB.bundle.js +5 -5
  10. package/es5/messages_es-ES.bundle.js +5 -5
  11. package/es5/messages_es.bundle.js +5 -5
  12. package/es5/messages_fi.bundle.js +5 -5
  13. package/es5/messages_fr-CA.bundle.js +5 -5
  14. package/es5/messages_fr.bundle.js +5 -5
  15. package/es5/messages_ga.bundle.js +5 -5
  16. package/es5/messages_hr.bundle.js +5 -5
  17. package/es5/messages_hu.bundle.js +5 -5
  18. package/es5/messages_id.bundle.js +5 -5
  19. package/es5/messages_it.bundle.js +5 -5
  20. package/es5/messages_iw.bundle.js +5 -5
  21. package/es5/messages_ja.bundle.js +5 -5
  22. package/es5/messages_ko.bundle.js +5 -5
  23. package/es5/messages_lo.bundle.js +5 -5
  24. package/es5/messages_lt.bundle.js +5 -5
  25. package/es5/messages_ms.bundle.js +5 -5
  26. package/es5/messages_nl.bundle.js +5 -5
  27. package/es5/messages_no.bundle.js +5 -5
  28. package/es5/messages_pl.bundle.js +5 -5
  29. package/es5/messages_pt-BR.bundle.js +5 -5
  30. package/es5/messages_pt.bundle.js +5 -5
  31. package/es5/messages_ru.bundle.js +5 -5
  32. package/es5/messages_sk.bundle.js +5 -5
  33. package/es5/messages_sl.bundle.js +5 -5
  34. package/es5/messages_sr.bundle.js +5 -5
  35. package/es5/messages_sv.bundle.js +5 -5
  36. package/es5/messages_th.bundle.js +5 -5
  37. package/es5/messages_tr.bundle.js +5 -5
  38. package/es5/messages_zh-HK.bundle.js +5 -5
  39. package/es5/messages_zh.bundle.js +5 -5
  40. package/es6/{ar-288286e0.es.js → ar-3ae39586.es.js} +6 -1
  41. package/es6/{cs-4271d18a.es.js.map → ar-3ae39586.es.js.map} +1 -1
  42. package/es6/{bg-0f8e51c1.es.js → bg-6620ee13.es.js} +6 -1
  43. package/es6/{ar-288286e0.es.js.map → bg-6620ee13.es.js.map} +1 -1
  44. package/es6/{cs-4271d18a.es.js → cs-9acf0460.es.js} +6 -1
  45. package/es6/{da-8defb182.es.js.map → cs-9acf0460.es.js.map} +1 -1
  46. package/es6/{da-8defb182.es.js → da-0b0465fd.es.js} +6 -1
  47. package/es6/{bg-0f8e51c1.es.js.map → da-0b0465fd.es.js.map} +1 -1
  48. package/es6/{de-c8a45653.es.js → de-e370c535.es.js} +6 -1
  49. package/es6/de-e370c535.es.js.map +1 -0
  50. package/es6/{el-56ae1c62.es.js → el-98e713da.es.js} +6 -1
  51. package/es6/el-98e713da.es.js.map +1 -0
  52. package/es6/{en-GB-49f2eb19.es.js → en-GB-4c9b2809.es.js} +6 -1
  53. package/es6/{en-GB-49f2eb19.es.js.map → en-GB-4c9b2809.es.js.map} +1 -1
  54. package/es6/{es-6fc00483.es.js → es-29447ba1.es.js} +6 -1
  55. package/es6/es-29447ba1.es.js.map +1 -0
  56. package/es6/{es-ES-20716550.es.js → es-ES-ad689109.es.js} +6 -1
  57. package/es6/{es-ES-20716550.es.js.map → es-ES-ad689109.es.js.map} +1 -1
  58. package/es6/{fi-b757d26d.es.js → fi-9a9cfb4b.es.js} +6 -1
  59. package/es6/fi-9a9cfb4b.es.js.map +1 -0
  60. package/es6/{fr-CA-f496eea2.es.js → fr-CA-6318fdae.es.js} +6 -1
  61. package/es6/{fr-CA-f496eea2.es.js.map → fr-CA-6318fdae.es.js.map} +1 -1
  62. package/es6/{fr-2022d0a3.es.js → fr-bbb1ff16.es.js} +6 -1
  63. package/es6/fr-bbb1ff16.es.js.map +1 -0
  64. package/es6/{ga-e61d6003.es.js → ga-1ef386d0.es.js} +6 -1
  65. package/es6/ga-1ef386d0.es.js.map +1 -0
  66. package/es6/{hr-83152e8b.es.js → hr-3a56687e.es.js} +6 -1
  67. package/es6/hr-3a56687e.es.js.map +1 -0
  68. package/es6/{hu-8b12fc61.es.js → hu-a70ecd9a.es.js} +6 -1
  69. package/es6/hu-a70ecd9a.es.js.map +1 -0
  70. package/es6/{id-1b2c0542.es.js → id-66daacc1.es.js} +6 -1
  71. package/es6/id-66daacc1.es.js.map +1 -0
  72. package/es6/{it-8aac76b1.es.js → it-2032b91e.es.js} +6 -1
  73. package/es6/it-2032b91e.es.js.map +1 -0
  74. package/es6/{iw-a34505ba.es.js → iw-7c41f1f9.es.js} +6 -1
  75. package/es6/iw-7c41f1f9.es.js.map +1 -0
  76. package/es6/{ja-ce2dfdf8.es.js → ja-fb4128c9.es.js} +6 -1
  77. package/es6/ja-fb4128c9.es.js.map +1 -0
  78. package/es6/{ko-091bd7aa.es.js → ko-54d59d72.es.js} +6 -1
  79. package/es6/ko-54d59d72.es.js.map +1 -0
  80. package/es6/{lo-c29356cd.es.js → lo-0b09b49c.es.js} +6 -1
  81. package/es6/lo-0b09b49c.es.js.map +1 -0
  82. package/es6/{lt-3bc40051.es.js → lt-85367514.es.js} +6 -1
  83. package/es6/lt-85367514.es.js.map +1 -0
  84. package/es6/{ms-ea756d26.es.js → ms-0decdf24.es.js} +6 -1
  85. package/es6/ms-0decdf24.es.js.map +1 -0
  86. package/es6/{nl-22d9a59e.es.js → nl-06109373.es.js} +6 -1
  87. package/es6/nl-06109373.es.js.map +1 -0
  88. package/es6/{no-b3c5470c.es.js → no-a26a72a5.es.js} +6 -1
  89. package/es6/no-a26a72a5.es.js.map +1 -0
  90. package/es6/{pl-8bb19e6f.es.js → pl-dc0c2f70.es.js} +6 -1
  91. package/es6/pl-dc0c2f70.es.js.map +1 -0
  92. package/es6/{pt-BR-309dfb01.es.js → pt-BR-80d5ee2f.es.js} +6 -1
  93. package/es6/{pt-BR-309dfb01.es.js.map → pt-BR-80d5ee2f.es.js.map} +1 -1
  94. package/es6/{pt-1b4b8464.es.js → pt-c72dbd5e.es.js} +6 -1
  95. package/es6/pt-c72dbd5e.es.js.map +1 -0
  96. package/es6/{ru-edccb291.es.js → ru-18843366.es.js} +6 -1
  97. package/es6/ru-18843366.es.js.map +1 -0
  98. package/es6/{sk-994b26d9.es.js → sk-1cd8142d.es.js} +6 -1
  99. package/es6/sk-1cd8142d.es.js.map +1 -0
  100. package/es6/{sl-8ea29e0e.es.js → sl-626bf398.es.js} +6 -1
  101. package/es6/sl-626bf398.es.js.map +1 -0
  102. package/es6/{sr-33379c3b.es.js → sr-81bca4d0.es.js} +6 -1
  103. package/es6/sr-81bca4d0.es.js.map +1 -0
  104. package/es6/{sv-90f9a322.es.js → sv-98cd630e.es.js} +6 -1
  105. package/es6/sv-98cd630e.es.js.map +1 -0
  106. package/es6/{th-f155fe9e.es.js → th-36130f7a.es.js} +6 -1
  107. package/es6/th-36130f7a.es.js.map +1 -0
  108. package/es6/{tr-f8115c78.es.js → tr-b8f5e402.es.js} +6 -1
  109. package/es6/tr-b8f5e402.es.js.map +1 -0
  110. package/es6/{zh-586743ca.es.js → zh-866fc64f.es.js} +6 -1
  111. package/es6/zh-866fc64f.es.js.map +1 -0
  112. package/es6/{zh-HK-ca14e632.es.js → zh-HK-f2672873.es.js} +6 -1
  113. package/es6/zh-HK-f2672873.es.js.map +1 -0
  114. package/localized-messages/ar.json +5 -0
  115. package/localized-messages/bg.json +5 -0
  116. package/localized-messages/cs.json +5 -0
  117. package/localized-messages/da.json +5 -0
  118. package/localized-messages/de.json +5 -0
  119. package/localized-messages/el.json +5 -0
  120. package/localized-messages/en-GB.json +5 -0
  121. package/localized-messages/en-US.json +6 -1
  122. package/localized-messages/es-ES.json +5 -0
  123. package/localized-messages/es.json +5 -0
  124. package/localized-messages/fi.json +5 -0
  125. package/localized-messages/fr-CA.json +5 -0
  126. package/localized-messages/fr.json +5 -0
  127. package/localized-messages/ga.json +5 -0
  128. package/localized-messages/hr.json +5 -0
  129. package/localized-messages/hu.json +5 -0
  130. package/localized-messages/id.json +5 -0
  131. package/localized-messages/it.json +5 -0
  132. package/localized-messages/iw.json +5 -0
  133. package/localized-messages/ja.json +5 -0
  134. package/localized-messages/ko.json +5 -0
  135. package/localized-messages/lo.json +5 -0
  136. package/localized-messages/lt.json +5 -0
  137. package/localized-messages/ms.json +5 -0
  138. package/localized-messages/nl.json +5 -0
  139. package/localized-messages/no.json +5 -0
  140. package/localized-messages/pl.json +5 -0
  141. package/localized-messages/pt-BR.json +5 -0
  142. package/localized-messages/pt.json +5 -0
  143. package/localized-messages/ru.json +5 -0
  144. package/localized-messages/sk.json +5 -0
  145. package/localized-messages/sl.json +5 -0
  146. package/localized-messages/sr.json +5 -0
  147. package/localized-messages/sv.json +5 -0
  148. package/localized-messages/th.json +5 -0
  149. package/localized-messages/tr.json +5 -0
  150. package/localized-messages/zh-HK.json +5 -0
  151. package/localized-messages/zh.json +5 -0
  152. package/manifest.json +48 -48
  153. package/package.json +1 -1
  154. package/sheerid-requestOrg.css +5 -5
  155. package/sheerid-requestOrg.css.map +1 -1
  156. package/sheerid-requestOrg.js +13 -13
  157. package/sheerid-requestOrg.js.map +1 -1
  158. package/sheerid-utils.js +7 -7
  159. package/sheerid-utils.js.map +1 -1
  160. package/sheerid.css +5 -5
  161. package/sheerid.css.map +1 -1
  162. package/sheerid.js +12 -12
  163. package/sheerid.js.map +1 -1
  164. package/sheerides6.js +218 -149
  165. package/sheerides6.js.map +1 -1
  166. package/src/components/ExtraMessage.d.ts +17 -0
  167. package/src/components/FormFields/Address/AddressComponent.d.ts +2 -2
  168. package/src/components/FormFields/BirthDate/BirthDateComponent.d.ts +1 -1
  169. package/src/components/FormFields/BranchOfService/BranchOfServiceComponent.d.ts +1 -1
  170. package/src/components/FormFields/City/City.d.ts +1 -1
  171. package/src/components/FormFields/CollegeName/CollegeNameComponent.d.ts +1 -1
  172. package/src/components/FormFields/Company/CompanyComponent.d.ts +1 -1
  173. package/src/components/FormFields/DischargeDate/DischargeDateComponent.d.ts +1 -1
  174. package/src/components/FormFields/DriverLicenseNumber/DriverLicenseNumberComponent.d.ts +1 -1
  175. package/src/components/FormFields/EBTCardNumber/EBTCardNumberComponent.d.ts +1 -1
  176. package/src/components/FormFields/Email/EmailComponent.d.ts +1 -1
  177. package/src/components/FormFields/FirstName/FirstNameComponent.d.ts +1 -1
  178. package/src/components/FormFields/FirstResponderOrganization/FirstResponderOrganizationComponent.d.ts +1 -1
  179. package/src/components/FormFields/FormFieldCheckbox/FormFieldCheckbox.d.ts +10 -0
  180. package/src/components/FormFields/FormFieldCheckbox/FormFieldCheckbox.test.d.ts +1 -0
  181. package/src/components/FormFields/LastName/LastNameComponent.d.ts +1 -1
  182. package/src/components/FormFields/LicensedProfessionalOrganization/LicensedProfessionalOrganizationComponent.d.ts +1 -1
  183. package/src/components/FormFields/LowIncomeOrganization/LowIncomeOrganizationComponent.d.ts +1 -1
  184. package/src/components/FormFields/MedicalProfessionalOrganization/MedicalProfessionalOrganizationComponent.d.ts +1 -1
  185. package/src/components/FormFields/MembershipOrganization/MembershipOrganizationComponent.d.ts +1 -1
  186. package/src/components/FormFields/PhoneNumber/PhoneNumberComponent.d.ts +1 -1
  187. package/src/components/FormFields/SMSCode/SMSCodeComponent.d.ts +1 -1
  188. package/src/components/FormFields/SSN/SSN.d.ts +3 -8
  189. package/src/components/FormFields/State/State.d.ts +1 -1
  190. package/src/components/FormFields/State/StateSelectComponent.d.ts +1 -1
  191. package/src/components/FormFields/TeacherSchool/TeacherSchoolComponent.d.ts +1 -1
  192. package/src/components/FormInputs/OptInInput/OptInInputComponent.d.ts +3 -2
  193. package/src/components/StepEmploymentPersonalInfo/StepEmploymentPersonalInfoComponent.d.ts +1 -0
  194. package/src/components/TryAgainButtonComponent.d.ts +1 -1
  195. package/src/components/TryAgainButtonComponent.test.d.ts +1 -0
  196. package/src/es6.d.ts +2 -0
  197. package/src/lib/types/runtimeTypes.d.ts +4 -0
  198. package/src/lib/types/types.d.ts +6 -1
  199. package/src/lib/validators/validators.d.ts +1 -0
  200. package/types-reference.zip +0 -0
  201. package/es6/de-c8a45653.es.js.map +0 -1
  202. package/es6/el-56ae1c62.es.js.map +0 -1
  203. package/es6/es-6fc00483.es.js.map +0 -1
  204. package/es6/fi-b757d26d.es.js.map +0 -1
  205. package/es6/fr-2022d0a3.es.js.map +0 -1
  206. package/es6/ga-e61d6003.es.js.map +0 -1
  207. package/es6/hr-83152e8b.es.js.map +0 -1
  208. package/es6/hu-8b12fc61.es.js.map +0 -1
  209. package/es6/id-1b2c0542.es.js.map +0 -1
  210. package/es6/it-8aac76b1.es.js.map +0 -1
  211. package/es6/iw-a34505ba.es.js.map +0 -1
  212. package/es6/ja-ce2dfdf8.es.js.map +0 -1
  213. package/es6/ko-091bd7aa.es.js.map +0 -1
  214. package/es6/lo-c29356cd.es.js.map +0 -1
  215. package/es6/lt-3bc40051.es.js.map +0 -1
  216. package/es6/ms-ea756d26.es.js.map +0 -1
  217. package/es6/nl-22d9a59e.es.js.map +0 -1
  218. package/es6/no-b3c5470c.es.js.map +0 -1
  219. package/es6/pl-8bb19e6f.es.js.map +0 -1
  220. package/es6/pt-1b4b8464.es.js.map +0 -1
  221. package/es6/ru-edccb291.es.js.map +0 -1
  222. package/es6/sk-994b26d9.es.js.map +0 -1
  223. package/es6/sl-8ea29e0e.es.js.map +0 -1
  224. package/es6/sr-33379c3b.es.js.map +0 -1
  225. package/es6/sv-90f9a322.es.js.map +0 -1
  226. package/es6/th-f155fe9e.es.js.map +0 -1
  227. package/es6/tr-f8115c78.es.js.map +0 -1
  228. package/es6/zh-586743ca.es.js.map +0 -1
  229. package/es6/zh-HK-ca14e632.es.js.map +0 -1
package/sheerides6.js CHANGED
@@ -696,6 +696,7 @@ var StateEnum;
696
696
  StateEnum["AL"] = "AL";
697
697
  StateEnum["AR"] = "AR";
698
698
  StateEnum["AZ"] = "AZ";
699
+ StateEnum["AS"] = "AS";
699
700
  StateEnum["CA"] = "CA";
700
701
  StateEnum["CO"] = "CO";
701
702
  StateEnum["CT"] = "CT";
@@ -703,6 +704,7 @@ var StateEnum;
703
704
  StateEnum["DE"] = "DE";
704
705
  StateEnum["FL"] = "FL";
705
706
  StateEnum["GA"] = "GA";
707
+ StateEnum["GU"] = "GU";
706
708
  StateEnum["HI"] = "HI";
707
709
  StateEnum["IA"] = "IA";
708
710
  StateEnum["ID"] = "ID";
@@ -731,6 +733,7 @@ var StateEnum;
731
733
  StateEnum["OK"] = "OK";
732
734
  StateEnum["OR"] = "OR";
733
735
  StateEnum["PA"] = "PA";
736
+ StateEnum["PR"] = "PR";
734
737
  StateEnum["RI"] = "RI";
735
738
  StateEnum["SC"] = "SC";
736
739
  StateEnum["SD"] = "SD";
@@ -738,6 +741,7 @@ var StateEnum;
738
741
  StateEnum["TX"] = "TX";
739
742
  StateEnum["UT"] = "UT";
740
743
  StateEnum["VA"] = "VA";
744
+ StateEnum["VI"] = "VI";
741
745
  StateEnum["VT"] = "VT";
742
746
  StateEnum["WA"] = "WA";
743
747
  StateEnum["WI"] = "WI";
@@ -2265,6 +2269,7 @@ var enUSMessages = {
2265
2269
  "defaultMessages.states.AK": "Alaska",
2266
2270
  "defaultMessages.states.AL": "Alabama",
2267
2271
  "defaultMessages.states.AR": "Arkansas",
2272
+ "defaultMessages.states.AS": "American Samoa",
2268
2273
  "defaultMessages.states.AZ": "Arizona",
2269
2274
  "defaultMessages.states.CA": "California",
2270
2275
  "defaultMessages.states.CO": "Colorado",
@@ -2273,6 +2278,7 @@ var enUSMessages = {
2273
2278
  "defaultMessages.states.DE": "Delaware",
2274
2279
  "defaultMessages.states.FL": "Florida",
2275
2280
  "defaultMessages.states.GA": "Georgia",
2281
+ "defaultMessages.states.GU": "Guam",
2276
2282
  "defaultMessages.states.HI": "Hawaii",
2277
2283
  "defaultMessages.states.IA": "Iowa",
2278
2284
  "defaultMessages.states.ID": "Idaho",
@@ -2281,7 +2287,7 @@ var enUSMessages = {
2281
2287
  "defaultMessages.states.KS": "Kansas",
2282
2288
  "defaultMessages.states.KY": "Kentucky",
2283
2289
  "defaultMessages.states.LA": "Louisiana",
2284
- "defaultMessages.states.MA": "Massachusettes",
2290
+ "defaultMessages.states.MA": "Massachusetts",
2285
2291
  "defaultMessages.states.MD": "Maryland",
2286
2292
  "defaultMessages.states.ME": "Maine",
2287
2293
  "defaultMessages.states.MI": "Michigan",
@@ -2301,6 +2307,7 @@ var enUSMessages = {
2301
2307
  "defaultMessages.states.OK": "Oklahoma",
2302
2308
  "defaultMessages.states.OR": "Oregon",
2303
2309
  "defaultMessages.states.PA": "Pennsylvania",
2310
+ "defaultMessages.states.PR": "Puerto Rico",
2304
2311
  "defaultMessages.states.RI": "Rhode Island",
2305
2312
  "defaultMessages.states.SC": "South Carolina",
2306
2313
  "defaultMessages.states.SD": "South Dakota",
@@ -2308,6 +2315,7 @@ var enUSMessages = {
2308
2315
  "defaultMessages.states.TX": "Texas",
2309
2316
  "defaultMessages.states.UT": "Utah",
2310
2317
  "defaultMessages.states.VA": "Virginia",
2318
+ "defaultMessages.states.VI": "Virgin Islands",
2311
2319
  "defaultMessages.states.VT": "Vermont",
2312
2320
  "defaultMessages.states.WA": "Washington",
2313
2321
  "defaultMessages.states.WI": "Wisconsin",
@@ -2502,6 +2510,7 @@ var enUSMessages = {
2502
2510
  "defaultMessages.step.success.copyCouponCode": "Copy Coupon code",
2503
2511
  "defaultMessages.step.success.emailNotification": "We have emailed you a copy so you can use your new code now or later. Look for the email from verify@sheerid.com.",
2504
2512
  "defaultMessages.step.success.verificationOnly": "\n SheerID handles verification only.\n Now that you've been approved, please direct all questions about the\n promotion terms to {companyName} customer service.\n ",
2513
+ "defaultMessages.streetAddress": "Street Address",
2505
2514
  "defaultMessages.studentInfoShared": "Information entered here will be used for verification purposes and shared with {companyName}. ",
2506
2515
  "defaultMessages.tryAgain": "Try again",
2507
2516
  "defaultMessages.universityName": "University name",
@@ -2767,154 +2776,154 @@ const getMessagesModuleByLocale = async (locale) => {
2767
2776
  switch (locale) {
2768
2777
  case "ar":
2769
2778
  localizedMessages = await import(
2770
- /* webpackChunkName: "messages_ar" */ './es6/ar-288286e0.es.js').then((m) => m.default);
2779
+ /* webpackChunkName: "messages_ar" */ './es6/ar-3ae39586.es.js').then((m) => m.default);
2771
2780
  break;
2772
2781
  case "bg":
2773
2782
  localizedMessages = await import(
2774
- /* webpackChunkName: "messages_bg" */ './es6/bg-0f8e51c1.es.js').then((m) => m.default);
2783
+ /* webpackChunkName: "messages_bg" */ './es6/bg-6620ee13.es.js').then((m) => m.default);
2775
2784
  break;
2776
2785
  case "cs":
2777
2786
  localizedMessages = await import(
2778
- /* webpackChunkName: "messages_cs" */ './es6/cs-4271d18a.es.js').then((m) => m.default);
2787
+ /* webpackChunkName: "messages_cs" */ './es6/cs-9acf0460.es.js').then((m) => m.default);
2779
2788
  break;
2780
2789
  case "da":
2781
2790
  localizedMessages = await import(
2782
- /* webpackChunkName: "messages_da" */ './es6/da-8defb182.es.js').then((m) => m.default);
2791
+ /* webpackChunkName: "messages_da" */ './es6/da-0b0465fd.es.js').then((m) => m.default);
2783
2792
  break;
2784
2793
  case "de":
2785
2794
  localizedMessages = await import(
2786
- /* webpackChunkName: "messages_de" */ './es6/de-c8a45653.es.js').then((m) => m.default);
2795
+ /* webpackChunkName: "messages_de" */ './es6/de-e370c535.es.js').then((m) => m.default);
2787
2796
  break;
2788
2797
  case "el":
2789
2798
  localizedMessages = await import(
2790
- /* webpackChunkName: "messages_el" */ './es6/el-56ae1c62.es.js').then((m) => m.default);
2799
+ /* webpackChunkName: "messages_el" */ './es6/el-98e713da.es.js').then((m) => m.default);
2791
2800
  break;
2792
2801
  case "en-GB":
2793
2802
  localizedMessages = await import(
2794
- /* webpackChunkName: "messages_en-GB" */ './es6/en-GB-49f2eb19.es.js').then((m) => m.default);
2803
+ /* webpackChunkName: "messages_en-GB" */ './es6/en-GB-4c9b2809.es.js').then((m) => m.default);
2795
2804
  break;
2796
2805
  case "en-US":
2797
2806
  localizedMessages = enUSMessages;
2798
2807
  break;
2799
2808
  case "es-ES":
2800
2809
  localizedMessages = await import(
2801
- /* webpackChunkName: "messages_es-ES" */ './es6/es-ES-20716550.es.js').then((m) => m.default);
2810
+ /* webpackChunkName: "messages_es-ES" */ './es6/es-ES-ad689109.es.js').then((m) => m.default);
2802
2811
  break;
2803
2812
  case "es":
2804
2813
  localizedMessages = await import(
2805
- /* webpackChunkName: "messages_es" */ './es6/es-6fc00483.es.js').then((m) => m.default);
2814
+ /* webpackChunkName: "messages_es" */ './es6/es-29447ba1.es.js').then((m) => m.default);
2806
2815
  break;
2807
2816
  case "fi":
2808
2817
  localizedMessages = await import(
2809
- /* webpackChunkName: "messages_fi" */ './es6/fi-b757d26d.es.js').then((m) => m.default);
2818
+ /* webpackChunkName: "messages_fi" */ './es6/fi-9a9cfb4b.es.js').then((m) => m.default);
2810
2819
  break;
2811
2820
  case "fr-CA":
2812
2821
  localizedMessages = await import(
2813
- /* webpackChunkName: "messages_fr-CA" */ './es6/fr-CA-f496eea2.es.js').then((m) => m.default);
2822
+ /* webpackChunkName: "messages_fr-CA" */ './es6/fr-CA-6318fdae.es.js').then((m) => m.default);
2814
2823
  break;
2815
2824
  case "fr":
2816
2825
  localizedMessages = await import(
2817
- /* webpackChunkName: "messages_fr" */ './es6/fr-2022d0a3.es.js').then((m) => m.default);
2826
+ /* webpackChunkName: "messages_fr" */ './es6/fr-bbb1ff16.es.js').then((m) => m.default);
2818
2827
  break;
2819
2828
  case "ga":
2820
2829
  localizedMessages = await import(
2821
- /* webpackChunkName: "messages_ga" */ './es6/ga-e61d6003.es.js').then((m) => m.default);
2830
+ /* webpackChunkName: "messages_ga" */ './es6/ga-1ef386d0.es.js').then((m) => m.default);
2822
2831
  break;
2823
2832
  case "hr":
2824
2833
  localizedMessages = await import(
2825
- /* webpackChunkName: "messages_hr" */ './es6/hr-83152e8b.es.js').then((m) => m.default);
2834
+ /* webpackChunkName: "messages_hr" */ './es6/hr-3a56687e.es.js').then((m) => m.default);
2826
2835
  break;
2827
2836
  case "hu":
2828
2837
  localizedMessages = await import(
2829
- /* webpackChunkName: "messages_hu" */ './es6/hu-8b12fc61.es.js').then((m) => m.default);
2838
+ /* webpackChunkName: "messages_hu" */ './es6/hu-a70ecd9a.es.js').then((m) => m.default);
2830
2839
  break;
2831
2840
  case "id":
2832
2841
  localizedMessages = await import(
2833
- /* webpackChunkName: "messages_id" */ './es6/id-1b2c0542.es.js').then((m) => m.default);
2842
+ /* webpackChunkName: "messages_id" */ './es6/id-66daacc1.es.js').then((m) => m.default);
2834
2843
  break;
2835
2844
  case "it":
2836
2845
  localizedMessages = await import(
2837
- /* webpackChunkName: "messages_it" */ './es6/it-8aac76b1.es.js').then((m) => m.default);
2846
+ /* webpackChunkName: "messages_it" */ './es6/it-2032b91e.es.js').then((m) => m.default);
2838
2847
  break;
2839
2848
  case "iw":
2840
2849
  localizedMessages = await import(
2841
- /* webpackChunkName: "messages_iw" */ './es6/iw-a34505ba.es.js').then((m) => m.default);
2850
+ /* webpackChunkName: "messages_iw" */ './es6/iw-7c41f1f9.es.js').then((m) => m.default);
2842
2851
  break;
2843
2852
  case "ja":
2844
2853
  localizedMessages = await import(
2845
- /* webpackChunkName: "messages_ja" */ './es6/ja-ce2dfdf8.es.js').then((m) => m.default);
2854
+ /* webpackChunkName: "messages_ja" */ './es6/ja-fb4128c9.es.js').then((m) => m.default);
2846
2855
  break;
2847
2856
  case "ko":
2848
2857
  localizedMessages = await import(
2849
- /* webpackChunkName: "messages_ko" */ './es6/ko-091bd7aa.es.js').then((m) => m.default);
2858
+ /* webpackChunkName: "messages_ko" */ './es6/ko-54d59d72.es.js').then((m) => m.default);
2850
2859
  break;
2851
2860
  case "lo":
2852
2861
  localizedMessages = await import(
2853
- /* webpackChunkName: "messages_lo" */ './es6/lo-c29356cd.es.js').then((m) => m.default);
2862
+ /* webpackChunkName: "messages_lo" */ './es6/lo-0b09b49c.es.js').then((m) => m.default);
2854
2863
  break;
2855
2864
  case "lt":
2856
2865
  localizedMessages = await import(
2857
- /* webpackChunkName: "messages_lt" */ './es6/lt-3bc40051.es.js').then((m) => m.default);
2866
+ /* webpackChunkName: "messages_lt" */ './es6/lt-85367514.es.js').then((m) => m.default);
2858
2867
  break;
2859
2868
  case "ms":
2860
2869
  localizedMessages = await import(
2861
- /* webpackChunkName: "messages_ms" */ './es6/ms-ea756d26.es.js').then((m) => m.default);
2870
+ /* webpackChunkName: "messages_ms" */ './es6/ms-0decdf24.es.js').then((m) => m.default);
2862
2871
  break;
2863
2872
  case "nl":
2864
2873
  localizedMessages = await import(
2865
- /* webpackChunkName: "messages_nl" */ './es6/nl-22d9a59e.es.js').then((m) => m.default);
2874
+ /* webpackChunkName: "messages_nl" */ './es6/nl-06109373.es.js').then((m) => m.default);
2866
2875
  break;
2867
2876
  case "no":
2868
2877
  localizedMessages = await import(
2869
- /* webpackChunkName: "messages_no" */ './es6/no-b3c5470c.es.js').then((m) => m.default);
2878
+ /* webpackChunkName: "messages_no" */ './es6/no-a26a72a5.es.js').then((m) => m.default);
2870
2879
  break;
2871
2880
  case "pl":
2872
2881
  localizedMessages = await import(
2873
- /* webpackChunkName: "messages_pl" */ './es6/pl-8bb19e6f.es.js').then((m) => m.default);
2882
+ /* webpackChunkName: "messages_pl" */ './es6/pl-dc0c2f70.es.js').then((m) => m.default);
2874
2883
  break;
2875
2884
  case "pt-BR":
2876
2885
  localizedMessages = await import(
2877
- /* webpackChunkName: "messages_pt-BR" */ './es6/pt-BR-309dfb01.es.js').then((m) => m.default);
2886
+ /* webpackChunkName: "messages_pt-BR" */ './es6/pt-BR-80d5ee2f.es.js').then((m) => m.default);
2878
2887
  break;
2879
2888
  case "pt":
2880
2889
  localizedMessages = await import(
2881
- /* webpackChunkName: "messages_pt" */ './es6/pt-1b4b8464.es.js').then((m) => m.default);
2890
+ /* webpackChunkName: "messages_pt" */ './es6/pt-c72dbd5e.es.js').then((m) => m.default);
2882
2891
  break;
2883
2892
  case "ru":
2884
2893
  localizedMessages = await import(
2885
- /* webpackChunkName: "messages_ru" */ './es6/ru-edccb291.es.js').then((m) => m.default);
2894
+ /* webpackChunkName: "messages_ru" */ './es6/ru-18843366.es.js').then((m) => m.default);
2886
2895
  break;
2887
2896
  case "sk":
2888
2897
  localizedMessages = await import(
2889
- /* webpackChunkName: "messages_sk" */ './es6/sk-994b26d9.es.js').then((m) => m.default);
2898
+ /* webpackChunkName: "messages_sk" */ './es6/sk-1cd8142d.es.js').then((m) => m.default);
2890
2899
  break;
2891
2900
  case "sl":
2892
2901
  localizedMessages = await import(
2893
- /* webpackChunkName: "messages_sl" */ './es6/sl-8ea29e0e.es.js').then((m) => m.default);
2902
+ /* webpackChunkName: "messages_sl" */ './es6/sl-626bf398.es.js').then((m) => m.default);
2894
2903
  break;
2895
2904
  case "sr":
2896
2905
  localizedMessages = await import(
2897
- /* webpackChunkName: "messages_sr" */ './es6/sr-33379c3b.es.js').then((m) => m.default);
2906
+ /* webpackChunkName: "messages_sr" */ './es6/sr-81bca4d0.es.js').then((m) => m.default);
2898
2907
  break;
2899
2908
  case "sv":
2900
2909
  localizedMessages = await import(
2901
- /* webpackChunkName: "messages_sv" */ './es6/sv-90f9a322.es.js').then((m) => m.default);
2910
+ /* webpackChunkName: "messages_sv" */ './es6/sv-98cd630e.es.js').then((m) => m.default);
2902
2911
  break;
2903
2912
  case "th":
2904
2913
  localizedMessages = await import(
2905
- /* webpackChunkName: "messages_th" */ './es6/th-f155fe9e.es.js').then((m) => m.default);
2914
+ /* webpackChunkName: "messages_th" */ './es6/th-36130f7a.es.js').then((m) => m.default);
2906
2915
  break;
2907
2916
  case "tr":
2908
2917
  localizedMessages = await import(
2909
- /* webpackChunkName: "messages_tr" */ './es6/tr-f8115c78.es.js').then((m) => m.default);
2918
+ /* webpackChunkName: "messages_tr" */ './es6/tr-b8f5e402.es.js').then((m) => m.default);
2910
2919
  break;
2911
2920
  case "zh-HK":
2912
2921
  localizedMessages = await import(
2913
- /* webpackChunkName: "messages_zh-HK" */ './es6/zh-HK-ca14e632.es.js').then((m) => m.default);
2922
+ /* webpackChunkName: "messages_zh-HK" */ './es6/zh-HK-f2672873.es.js').then((m) => m.default);
2914
2923
  break;
2915
2924
  case "zh":
2916
2925
  localizedMessages = await import(
2917
- /* webpackChunkName: "messages_zh" */ './es6/zh-586743ca.es.js').then((m) => m.default);
2926
+ /* webpackChunkName: "messages_zh" */ './es6/zh-866fc64f.es.js').then((m) => m.default);
2918
2927
  break;
2919
2928
  default:
2920
2929
  logger.warn(`getMessagesModuleByLocale: Unable to load messages for ${locale}, falling back to en-US`);
@@ -4183,6 +4192,7 @@ const DECIMAL_RADIX = 10;
4183
4192
  const ADOLESCENT_AGE = 16;
4184
4193
  const MIN_BIRTHYEAR = 1900;
4185
4194
  const MAX_BIRTHYEAR = 3000;
4195
+ const MAX_METADATA_KEYS = 50;
4186
4196
  const VALID_PHONE_NUMBER_REGEXPS = [
4187
4197
  /^\+?0*\d{10,}(x[0-9]{0,5})?$/,
4188
4198
  /(^\D?(\d{3})\D?\D?(\d{3})\D?(\d{4})$)/,
@@ -4190,8 +4200,8 @@ const VALID_PHONE_NUMBER_REGEXPS = [
4190
4200
  const validateMetadata = (metadata) => {
4191
4201
  const metadataKeyCount = Object.keys(metadata).length;
4192
4202
  // TOOD: Other metadata restrictions?
4193
- if (metadataKeyCount > 20) {
4194
- logger.error("Invalid number of metadata keys (max 20)", "metadata keys");
4203
+ if (metadataKeyCount > MAX_METADATA_KEYS) {
4204
+ logger.error(`Invalid number of metadata keys (max ${MAX_METADATA_KEYS})`, "metadata keys");
4195
4205
  return false;
4196
4206
  }
4197
4207
  return true;
@@ -5020,11 +5030,12 @@ const InputText = ({ id, isErrored, className = undefined, hidePlaceholder = tru
5020
5030
  // DO NOT INJECT INTL. Localize your strings pass them down as props
5021
5031
  const InputTextComponent = InputText;
5022
5032
 
5033
+ const isEmptyText = (allegedNode) => !React.isValidElement(allegedNode) && allegedNode === "";
5023
5034
  const FieldLabel = ({ text, htmlForLabel, id, displayClasses, isRequired, children, }) => (React.createElement("label", { htmlFor: htmlForLabel },
5024
5035
  React.createElement("div", { id: id, className: `sid-field__label sid-l-space-btm-sm ${displayClasses}` },
5025
5036
  React.createElement("span", { className: "sid-field__label-name", "aria-hidden": "true" },
5026
5037
  text,
5027
- isRequired && (React.createElement("span", { "aria-hidden": "true", className: "sid-field__label--required" }, "*"))),
5038
+ isRequired && !isEmptyText(text) && (React.createElement("span", { "aria-hidden": "true", className: "sid-field__label--required" }, "*"))),
5028
5039
  children && React.createElement("div", { className: "sid-field__label-explanation" }, children))));
5029
5040
  FieldLabel.defaultProps = {
5030
5041
  id: "",
@@ -9701,8 +9712,10 @@ suppressPlaceholder = true, value, autoFocus, ariaLabel, isRequired, buttonRef,
9701
9712
  onKeyDown(event);
9702
9713
  }
9703
9714
  };
9715
+ const inputRef = React.createRef();
9704
9716
  return (React.createElement(Downshift, { id: inputId, onChange: onChange, itemToString: itemToString, selectedItem: value && value.value && value.label ? value : "", defaultHighlightedIndex: 0 }, ({ clearSelection, getInputProps, getItemProps, getMenuProps, getToggleButtonProps, highlightedIndex, inputValue, isOpen, openMenu, selectedItem, selectHighlightedItem, }) => (React.createElement("div", { className: `sid-input-select-list ${className}` },
9705
9717
  React.createElement("input", Object.assign({}, getInputProps({
9718
+ ref: inputRef,
9706
9719
  onClick: () => openMenu(),
9707
9720
  onBlur: (event) => handleOnBlur(event, selectHighlightedItem, selectedItem),
9708
9721
  onKeyDown: (event) => handleOnKeyDown(event),
@@ -9711,9 +9724,9 @@ suppressPlaceholder = true, value, autoFocus, ariaLabel, isRequired, buttonRef,
9711
9724
  // eslint-disable-next-line
9712
9725
  autoFocus: autoFocus, id: inputId, className: `sid-l-full-width sid-text-input ${suppressPlaceholder ? "sid-hidden-placeholder" : ""} ${isErrored ? "sid-text-input--error" : ""}`, disabled: disabled, placeholder: placeholder, ref: (input) => setRef(fieldId, input), "aria-required": isRequired, "aria-labelledby": fieldLabelId, role: role })),
9713
9726
  React.createElement(InputSelectButtonComponent, { disabled: disabled, getToggleButtonProps: getToggleButtonProps, isOpen: isOpen, clearSelection: selectedItem ? clearSelection : undefined, buttonRef: buttonRef }),
9714
- isOpen ? (React.createElement("div", null, filterOptions(options, inputValue).length > 0 ? (React.createElement(InputSelectListComponent, { highlightedIndex: highlightedIndex, itemToString: itemToString, options: filterOptions(options, inputValue), getItemProps: getItemProps, getMenuProps: getMenuProps })) : (React.createElement("div", Object.assign({ className: "sid-input-select-list__menu" }, getMenuProps({ "aria-label": ariaLabel })),
9727
+ React.createElement("div", Object.assign({}, getMenuProps()), isOpen ? (React.createElement("div", null, filterOptions(options, inputValue).length > 0 ? (React.createElement(InputSelectListComponent, { highlightedIndex: highlightedIndex, itemToString: itemToString, options: filterOptions(options, inputValue), getItemProps: getItemProps, getMenuProps: getMenuProps })) : (React.createElement("div", Object.assign({ className: "sid-input-select-list__menu" }, getMenuProps({ "aria-label": ariaLabel })),
9715
9728
  React.createElement("div", { className: "sid-input-select-list__message" },
9716
- React.createElement(FormattedHTMLMessage, { id: "noOptions", defaultMessage: "No Options" })))))) : null))));
9729
+ React.createElement(FormattedHTMLMessage, { id: "noOptions", defaultMessage: "No Options" })))))) : null)))));
9717
9730
  };
9718
9731
  InputSelect.defaultProps = {
9719
9732
  className: undefined,
@@ -11624,7 +11637,6 @@ const inactiveMilitaryViewModelToRequest = (viewModel) => ({
11624
11637
  locale: viewModel.localeChoice.value,
11625
11638
  country: viewModel.countryChoice ? viewModel.countryChoice.value : undefined,
11626
11639
  metadata: viewModel.metadata,
11627
- socialSecurityNumber: viewModel.socialSecurityNumber,
11628
11640
  });
11629
11641
  const firstResponderViewModelToRequest = (viewModel) => {
11630
11642
  const request = {
@@ -14653,7 +14665,7 @@ const store$1 = getStore();
14653
14665
  /**
14654
14666
  * @description Set the viewModel for the form or reset it by passing an empty object
14655
14667
  */
14656
- const setViewModel = (newViewModel, options = { partial: false }) => {
14668
+ const setViewModel = (newViewModel, options = { partial: true }) => {
14657
14669
  const state = store$1.getState();
14658
14670
  const doSet = () => {
14659
14671
  const updatedViewModel = deepClone(newViewModel);
@@ -17812,9 +17824,12 @@ var rtlDetect_1 = {
17812
17824
  rtlDetect_1.isRtlLang;
17813
17825
  rtlDetect_1.getLangDir;
17814
17826
 
17815
- const OptInInput = ({ id = "new", isErrored, onChange, value }) => (React.createElement("div", { className: "sid-checkbox" },
17816
- React.createElement("input", { className: "sid-checkbox__input", id: `sid-opt-in__${id}`, name: "sid-opt-in", type: "checkbox", checked: value, ref: (ref) => setRef("optIn", ref), onChange: (e) => onChange(e.target.checked) }),
17817
- React.createElement("span", { className: `sid-checkbox__input-like ${isErrored ? "sid-checkbox__input-like--error" : ""}` })));
17827
+ const OptInInput = ({ id = "new", isErrored, onChange, value, ariaLabelledby, }) => {
17828
+ const a = ariaLabelledby ? { "aria-labelledby": ariaLabelledby } : {};
17829
+ return (React.createElement("div", { className: "sid-checkbox" },
17830
+ React.createElement("input", { className: "sid-checkbox__input", id: `sid-opt-in__${id}`, name: "sid-opt-in", type: "checkbox", checked: value, ref: (ref) => setRef("optIn", ref), onChange: (e) => onChange(e.target.checked), "aria-hidden": true }),
17831
+ React.createElement("span", Object.assign({}, a, { className: `sid-checkbox__input-like ${isErrored ? "sid-checkbox__input-like--error" : ""}`, onClick: onChange, onKeyUp: onChange, role: "checkbox", "aria-checked": value, tabIndex: 0, "data-testid": "stylable-checkbox-input" }))));
17832
+ };
17818
17833
  const OptInInputComponent = OptInInput;
17819
17834
 
17820
17835
  const OptInComponent = ({ isErrored, isRequired, onChange, value, verificationService, }) => {
@@ -17976,7 +17991,7 @@ var debounce_1 = debounce;
17976
17991
  var debounce_2 = debounce_1.debounce;
17977
17992
 
17978
17993
  const ROW_HEIGHT = 42;
17979
- const MAX_ITEMS = 25;
17994
+ const MAX_ITEMS = 26;
17980
17995
  const OrganizationList = ({ getItemProps, highlightedIndex, organizations, itemToString, children, maxItemsToDisplay = MAX_ITEMS, }) => {
17981
17996
  const fullHeight = organizations.length * ROW_HEIGHT;
17982
17997
  const item = (organization, index) => (React.createElement("div", Object.assign({ className: `sid-organization-list__item ${highlightedIndex === index ? "sid-organization-list__item--highlighted" : ""}`, key: index }, getItemProps({
@@ -17984,10 +17999,11 @@ const OrganizationList = ({ getItemProps, highlightedIndex, organizations, itemT
17984
17999
  item: organization,
17985
18000
  })), itemToString(organization)));
17986
18001
  return (React.createElement("div", { className: "sid-organization-list__menu", tabIndex: -1 },
17987
- React.createElement("div", { style: { height: Math.min(fullHeight, 280) } }, organizations
17988
- .filter((_, index) => index <= maxItemsToDisplay - 1)
17989
- .map((organization, index) => item(organization, index))),
17990
- children));
18002
+ React.createElement("div", { style: { height: Math.min(fullHeight, 280) } },
18003
+ organizations
18004
+ .filter((_, index) => index <= maxItemsToDisplay - 1)
18005
+ .map((organization, index) => item(organization, index)),
18006
+ children)));
17991
18007
  };
17992
18008
  const OrganizationListComponent = OrganizationList;
17993
18009
 
@@ -18068,7 +18084,7 @@ class FetchOrganizations extends React.Component {
18068
18084
  return (React.createElement(OrganizationListComponent, { getItemProps: getItemProps, getMenuProps: getMenuProps, highlightedIndex: highlightedIndex, itemToString: itemToString, organizations: organizations }, searchValue &&
18069
18085
  !openOrgSearchEnabled &&
18070
18086
  urlAddSchoolForm &&
18071
- (!organizations || organizations.length <= 5) && (React.createElement(AddSchoolRequestRow, { urlAddSchoolForm: urlAddSchoolForm, programId: programId, locale: locale }))));
18087
+ (!organizations || organizations.length < 26) && (React.createElement(AddSchoolRequestRow, { urlAddSchoolForm: urlAddSchoolForm, programId: programId, locale: locale }))));
18072
18088
  }
18073
18089
  if (searchValue &&
18074
18090
  !openOrgSearchEnabled &&
@@ -18367,7 +18383,7 @@ const FormFooterComponent = ({ verificationService, children }) => {
18367
18383
  }
18368
18384
  const privacyPolicyText = privacyPolicyRef.current.innerHTML.replace(cleanupCommonTags, "");
18369
18385
  const updatedViewModel = { metadata: { submissionOptIn: privacyPolicyText } };
18370
- setViewModel(updatedViewModel, { partial: true });
18386
+ setViewModel(updatedViewModel);
18371
18387
  }, [privacyPolicyRef, locale]);
18372
18388
  return (React.createElement("div", { className: "sid-footer sid-h-small-text sid-l-space-top-md" },
18373
18389
  !children && (React.createElement("div", { className: "sid-footer__shield" },
@@ -18546,13 +18562,25 @@ const RewardsRemainingComponent = ({ verificationService, }) => {
18546
18562
  return null;
18547
18563
  };
18548
18564
 
18565
+ const FormFieldCheckbox = ({ fieldId, value, onChange, label, errorMessage, }) => {
18566
+ const labelIntlId = `${fieldId}Label`;
18567
+ const labelHtmlId = `sid-${dashed(labelIntlId)}`;
18568
+ const setOppositeValue = () => onChange(!value);
18569
+ return (React.createElement("div", { className: `sid-field sid-${dashed(fieldId)}` },
18570
+ React.createElement("div", { className: "sid-l-space-top-md" }),
18571
+ React.createElement("div", { className: "sid-checkbox-flex" },
18572
+ React.createElement(OptInInputComponent, { id: dashed(fieldId), isErrored: !!errorMessage, value: value, onChange: setOppositeValue, ariaLabelledby: labelHtmlId }),
18573
+ React.createElement("div", { className: "sid-checkbox__label", onClick: setOppositeValue, onKeyPress: setOppositeValue, role: "button", tabIndex: 0, id: labelHtmlId }, label)),
18574
+ errorMessage && React.createElement("div", { className: "sid-field-error" }, errorMessage)));
18575
+ };
18576
+
18549
18577
  /**
18550
18578
  * Custom form field component.
18551
18579
  * Implementors can render a form field passing in config using setOptions, rather than
18552
18580
  * having to create an entire React project and override component(s).
18553
18581
  */
18554
18582
  const FormFieldCustom = injectIntl(({ config, verificationService, intl }) => {
18555
- const currentValue = getSafe(() => verificationService.viewModel.metadata[config.fieldId]) || "";
18583
+ const currentValue = getSafe(() => verificationService.viewModel.metadata[config.fieldId]);
18556
18584
  const errorId = getSafe(() => verificationService.fieldValidationErrors[config.fieldId]);
18557
18585
  const onChange = (value) => {
18558
18586
  verificationService.updateViewModel(fn(verificationService.viewModel, (draft) => {
@@ -18567,12 +18595,33 @@ const FormFieldCustom = injectIntl(({ config, verificationService, intl }) => {
18567
18595
  // Don't set error. Only do that when submit is clicked, same as jslib's built-in fields
18568
18596
  }));
18569
18597
  };
18570
- return (React.createElement(FormFieldText, { fieldId: config.fieldId, value: `${currentValue}`, onChange: onChange, placeholder: intl.formatHTMLMessage({
18571
- id: `${config.fieldId}Placeholder`,
18572
- defaultMessage: config.fieldId,
18573
- }), label: React.createElement(FormattedHTMLMessage, { id: `${config.fieldId}Label`, defaultMessage: config.fieldId }), errorMessage: errorId && (React.createElement(FormattedHTMLMessage, { id: `errorId.${errorId}`, defaultMessage: `Invalid ${config.fieldId}` })), showPlaceholderAndHideLabel: config.showPlaceholderAndHideLabel, required: config.required }));
18598
+ switch (config.fieldType) {
18599
+ case "text":
18600
+ return (React.createElement(FormFieldText, { fieldId: config.fieldId, value: `${currentValue || ""}`, onChange: onChange, placeholder: intl.formatHTMLMessage({
18601
+ id: `${config.fieldId}Placeholder`,
18602
+ defaultMessage: config.fieldId,
18603
+ }), label: React.createElement(FormattedHTMLMessage, { id: `${config.fieldId}Label`, defaultMessage: config.fieldId }), errorMessage: errorId && (React.createElement(FormattedHTMLMessage, { id: `errorId.${errorId}`, defaultMessage: `Invalid ${config.fieldId}` })), showPlaceholderAndHideLabel: config.showPlaceholderAndHideLabel, required: config.required }));
18604
+ case "checkbox":
18605
+ return (React.createElement(FormFieldCheckbox, { fieldId: config.fieldId, value: typeof currentValue === "boolean" ? currentValue : false, onChange: onChange, label: React.createElement(FormattedHTMLMessage, { id: `${config.fieldId}Label`, defaultMessage: config.fieldId }), errorMessage: errorId && (React.createElement(FormattedHTMLMessage, { id: `errorId.${errorId}`, defaultMessage: `Invalid ${config.fieldId}` })) }));
18606
+ default:
18607
+ logger.warn(`Unknown field type: ${config.fieldType}`);
18608
+ return null;
18609
+ }
18574
18610
  });
18575
18611
 
18612
+ /**
18613
+ * Extra message component
18614
+ *
18615
+ * Easily register extra messages to specific spots in the form using this component
18616
+ *
18617
+ * These new regions do NOT have a message by default, but messages can be added simply by specifying the messageId + value
18618
+ * either in my.sheerid.com or via setOptions(). No need to override a component just to add a message as long as the ExtraMessage
18619
+ * appears in a desirable spot.
18620
+ */
18621
+ const ExtraMessage = ({ verificationService, suffix }) => verificationService.messages[`extraMessage${suffix}`] ? (React.createElement("div", { className: `sid-extra-message sid-extra-message-${suffix}` },
18622
+ React.createElement("div", { className: "sid-l-space-top-md" }),
18623
+ React.createElement(FormattedHTMLMessage, { id: `extraMessage${suffix}`, defaultMessage: " " }))) : null;
18624
+
18576
18625
  /**
18577
18626
  * TODO - preamble
18578
18627
  */
@@ -18651,6 +18700,7 @@ const StepStudentPersonalInfo = ({ intl, verificationService, }) => {
18651
18700
  });
18652
18701
  updateFieldValidationErrorsByFieldId("marketConsentValue", newValue, verificationService);
18653
18702
  }, viewModel: viewModel }),
18703
+ React.createElement(ExtraMessage, { verificationService: verificationService, suffix: "CollectAboveSubmit" }),
18654
18704
  React.createElement("div", { className: "sid-form-region sid-submit-wrapper sid-l-space-top-md" },
18655
18705
  React.createElement("div", { className: "sid-submit" },
18656
18706
  React.createElement("button", { id: "sid-submit-wrapper__collect-info", onClick: () => submitForm(viewModel, verificationService, VerificationStepsEnum.collectStudentPersonalInfo), type: "submit", className: `sid-btn sid-btn--dark sid-l-full-width ${!isFormFilled(viewModel, verificationService.formValidationOptions)
@@ -18740,6 +18790,7 @@ const StepSeniorPersonalInfo = ({ verificationService }) => {
18740
18790
  });
18741
18791
  updateFieldValidationErrorsByFieldId("marketConsentValue", newValue, verificationService);
18742
18792
  }, viewModel: viewModel }),
18793
+ React.createElement(ExtraMessage, { verificationService: verificationService, suffix: "CollectAboveSubmit" }),
18743
18794
  React.createElement("div", { className: "sid-form-region sid-submit-wrapper sid-l-space-top-md" },
18744
18795
  React.createElement("div", { className: "sid-submit" },
18745
18796
  React.createElement("button", { id: "sid-submit-btn-collect-info", onClick: () => submitForm(viewModel, verificationService, VerificationStepsEnum.collectSeniorPersonalInfo), type: "submit", className: `sid-btn sid-btn--dark sid-l-full-width ${!isFormFilled(viewModel, verificationService.formValidationOptions)
@@ -18773,7 +18824,7 @@ const carrierConsentValueValidator = (countryChoiceValue) => (value, programThem
18773
18824
  const City = ({ value, isErrored, onChange, intl, isRequired = false, onKeyDown = undefined, placeholder = "", }) => (React.createElement(FormFieldText, { fieldId: "city", value: value, onChange: onChange, placeholder: placeholder || intl.formatHTMLMessage({ id: "cityPlaceholder", defaultMessage: "City" }), label: React.createElement(FormattedHTMLMessage, { id: "city", defaultMessage: "City" }), errorMessage: isErrored && React.createElement(FormattedHTMLMessage, { id: "errorId.invalidCity", defaultMessage: "Invalid city" }), showPlaceholderAndHideLabel: !!placeholder, required: isRequired, onKeyDown: typeof onKeyDown === "function" ? (e) => onKeyDown(e) : undefined }));
18774
18825
  const CityComponent = injectIntl(City);
18775
18826
 
18776
- const Address = ({ value, isErrored, onChange, intl, isRequired = false, onKeyDown = undefined, placeholder = "", }) => (React.createElement(FormFieldText, { fieldId: "address", value: value, onChange: onChange, placeholder: placeholder || intl.formatHTMLMessage({ id: "addressPlaceholder", defaultMessage: "Address" }), label: React.createElement(FormattedHTMLMessage, { id: "address", defaultMessage: "Address" }), errorMessage: isErrored && (React.createElement(FormattedHTMLMessage, { id: "errorId.invalidAddress", defaultMessage: "Invalid address" })), showPlaceholderAndHideLabel: !!placeholder, required: isRequired, onKeyDown: typeof onKeyDown === "function" ? (e) => onKeyDown(e) : undefined }));
18827
+ const Address = ({ value, isErrored, onChange, intl, isRequired = false, onKeyDown = undefined, placeholder = "", label, }) => (React.createElement(FormFieldText, { fieldId: "address", value: value, onChange: onChange, placeholder: placeholder || intl.formatHTMLMessage({ id: "addressPlaceholder", defaultMessage: "Address" }), label: label || React.createElement(FormattedHTMLMessage, { id: "address", defaultMessage: "Address" }), errorMessage: isErrored && (React.createElement(FormattedHTMLMessage, { id: "errorId.invalidAddress", defaultMessage: "Invalid address" })), showPlaceholderAndHideLabel: !!placeholder, required: isRequired, onKeyDown: typeof onKeyDown === "function" ? (e) => onKeyDown(e) : undefined }));
18777
18828
  const AddressComponent = injectIntl(Address);
18778
18829
 
18779
18830
  /**
@@ -18902,6 +18953,7 @@ const StepAgePersonalInfo = ({ verificationService, intl }) => {
18902
18953
  });
18903
18954
  updateFieldValidationErrorsByFieldId("marketConsentValue", newValue, verificationService);
18904
18955
  }, viewModel: viewModel }),
18956
+ React.createElement(ExtraMessage, { verificationService: verificationService, suffix: "CollectAboveSubmit" }),
18905
18957
  React.createElement("div", { className: "sid-form-region sid-submit-wrapper sid-l-space-top-md" },
18906
18958
  React.createElement("div", { className: "sid-submit" },
18907
18959
  React.createElement("button", { id: "sid-submit-btn-collect-info", onClick: () => submitForm(viewModel, verificationService, VerificationStepsEnum.collectAgePersonalInfo), type: "submit", className: `sid-btn sid-btn--dark sid-l-full-width ${!isFormFilled(viewModel, verificationService.formValidationOptions)
@@ -19029,6 +19081,7 @@ const StepTeacherPersonalInfo = ({ intl, verificationService, }) => {
19029
19081
  });
19030
19082
  updateFieldValidationErrorsByFieldId("marketConsentValue", newValue, verificationService);
19031
19083
  }, viewModel: viewModel }),
19084
+ React.createElement(ExtraMessage, { verificationService: verificationService, suffix: "CollectAboveSubmit" }),
19032
19085
  React.createElement("div", { className: "sid-form-region sid-submit-wrapper sid-l-space-top-md" },
19033
19086
  React.createElement("div", { className: "sid-submit" },
19034
19087
  React.createElement("button", { id: "sid-submit-btn-collect-info", onClick: () => submitForm(viewModel, verificationService, VerificationStepsEnum.collectTeacherPersonalInfo), type: "submit", className: `sid-btn sid-btn--dark sid-l-full-width ${!isFormFilled(viewModel, verificationService.formValidationOptions)
@@ -19148,6 +19201,7 @@ const StepMemberPersonalInfo = ({ intl, verificationService, }) => {
19148
19201
  });
19149
19202
  updateFieldValidationErrorsByFieldId("marketConsentValue", newValue, verificationService);
19150
19203
  }, viewModel: viewModel }),
19204
+ React.createElement(ExtraMessage, { verificationService: verificationService, suffix: "CollectAboveSubmit" }),
19151
19205
  React.createElement("div", { className: "sid-form-region sid-submit-wrapper sid-l-space-top-md" },
19152
19206
  React.createElement("div", { className: "sid-submit" },
19153
19207
  React.createElement("button", { id: "sid-submit-btn-collect-info", onClick: () => submitForm(viewModel, verificationService, VerificationStepsEnum.collectMemberPersonalInfo), type: "submit", className: `sid-btn sid-btn--dark sid-l-full-width ${!isFormFilled(viewModel, verificationService.formValidationOptions)
@@ -19348,6 +19402,7 @@ const StepActiveMilitaryPersonalInfo = ({ intl, verificationService, }) => {
19348
19402
  });
19349
19403
  updateFieldValidationErrorsByFieldId("marketConsentValue", newValue, verificationService);
19350
19404
  }, viewModel: viewModel }),
19405
+ React.createElement(ExtraMessage, { verificationService: verificationService, suffix: "CollectAboveSubmit" }),
19351
19406
  React.createElement("div", { className: "sid-form-region sid-submit-wrapper sid-l-space-top-md" },
19352
19407
  React.createElement("div", { className: "sid-submit" },
19353
19408
  React.createElement("button", { id: "sid-submit-btn-collect-info", onClick: () => submitForm(viewModel, verificationService, VerificationStepsEnum.collectActiveMilitaryPersonalInfo), type: "submit", className: `sid-btn sid-btn--dark sid-l-full-width ${!isFormFilled(viewModel, verificationService.formValidationOptions)
@@ -19465,50 +19520,6 @@ DischargeDate.defaultProps = {
19465
19520
  };
19466
19521
  const DischargeDateComponent = injectIntl(DischargeDate);
19467
19522
 
19468
- /**
19469
- * Insert `newPart` into a string
19470
- * Use:
19471
- * "Hi !".insertAt(3, "world"); // "Hi world!"
19472
- */
19473
- String.prototype.insertAt = function (index, newPart) {
19474
- if (index > this.length) {
19475
- return this;
19476
- }
19477
- return `${this.slice(0, index)}${newPart}${this.slice(index)}`;
19478
- };
19479
-
19480
- const displaySSN = (value) => {
19481
- let stringValue;
19482
- try {
19483
- stringValue = value.toString();
19484
- if (!stringValue)
19485
- throw new Error();
19486
- }
19487
- catch (e) {
19488
- return "";
19489
- }
19490
- return stringValue
19491
- .replace(/[^\d]/g, "") // replce non-digit chars
19492
- .insertAt(3, "-") // for display
19493
- .insertAt(6, "-")
19494
- .replace("--", "") // just in case
19495
- .replace(/-$/, ""); // don't add trailing hyphen, breaks backspace
19496
- };
19497
- // The viewModel and API don't include hyphens. Also enforces max length, prior to setting viewModel, avoiding off-by-one error.
19498
- const unDisplaySSN = (value) => value.replace(/-/g, "").slice(0, SSN_STRING_LENGTH);
19499
-
19500
- const SocialSecurity = ({ value, isErrored, onChange, intl, explanation, placeholder = "", isRequired = false, label, }) => {
19501
- const getDefaultExplanation = () => (!isRequired ? explanation : "");
19502
- return (React.createElement("div", { className: "sid-field sid-ssn" },
19503
- React.createElement("div", { className: "sid-l-space-top-md" }),
19504
- React.createElement(FieldLabel, { text: label, htmlForLabel: "sid-ssn", id: "sid-ssn-label", displayClasses: "sid-field__label-with-explanation", isRequired: isRequired }, getDefaultExplanation()),
19505
- React.createElement(InputTextComponent, { id: "ssn", refId: FieldIdEnum.socialSecurityNumber, className: "sid-ssn__input", isErrored: isErrored, required: true, placeholder: placeholder ||
19506
- intl.formatHTMLMessage({ id: "ssnPlaceholder", defaultMessage: "000-00-0000" }), value: displaySSN(value), hidePlaceholder: false, onChange: (e) => onChange(unDisplaySSN(e.target.value)), "aria-labelledby": "sid-ssn-label" }),
19507
- isErrored ? (React.createElement("div", { className: "sid-field-error" },
19508
- React.createElement(FormattedHTMLMessage, { id: "errorId.invalidSocialSecurityNumber", defaultMessage: "Invalid SSN" }))) : null));
19509
- };
19510
- const SocialSecurityNumber = injectIntl(SocialSecurity);
19511
-
19512
19523
  /**
19513
19524
  * TODO - preamble
19514
19525
  */
@@ -19595,10 +19606,6 @@ const StepInactiveMilitaryPersonalInfo = ({ intl, verificationService, }) => {
19595
19606
  updateInactiveMilitaryViewModel("phoneNumber", newValue);
19596
19607
  updateFieldValidationErrorsByFieldId("phoneNumber", newValue, verificationService);
19597
19608
  }, selectedCountryCode: viewModel.countryChoice && viewModel.countryChoice.value })) : null,
19598
- React.createElement(SocialSecurity, { value: viewModel.socialSecurityNumber, onChange: (value) => {
19599
- updateInactiveMilitaryViewModel("socialSecurityNumber", value);
19600
- updateFieldValidationErrorsByFieldId("socialSecurityNumber", value, verificationService);
19601
- }, isRequired: false, isErrored: !!fieldValidationErrors[FieldIdEnum.socialSecurityNumber], placeholder: "000-00-0000", label: React.createElement(FormattedHTMLMessage, { id: "ssn", defaultMessage: "Social Security Number" }), explanation: React.createElement(FormattedHTMLMessage, { id: "optional", defaultMessage: "Optional" }) }),
19602
19609
  getOptions().customFormFields.map((config) => (React.createElement(FormFieldCustom, { config: config, verificationService: verificationService }))),
19603
19610
  React.createElement(MarketConsentWrapperComponent, { verificationService: verificationService, isErrored: !!fieldValidationErrors.marketConsentValue, onChange: (newValue) => {
19604
19611
  updateInactiveMilitaryViewModel("metadata", {
@@ -19607,6 +19614,7 @@ const StepInactiveMilitaryPersonalInfo = ({ intl, verificationService, }) => {
19607
19614
  });
19608
19615
  updateFieldValidationErrorsByFieldId("marketConsentValue", newValue, verificationService);
19609
19616
  }, viewModel: viewModel }),
19617
+ React.createElement(ExtraMessage, { verificationService: verificationService, suffix: "CollectAboveSubmit" }),
19610
19618
  React.createElement("div", { className: "sid-form-region sid-submit-wrapper sid-l-space-top-md" },
19611
19619
  React.createElement("div", { className: "sid-submit" },
19612
19620
  React.createElement("button", { id: "sid-submit-btn-collect-info", onClick: () => submitForm(viewModel, verificationService, VerificationStepsEnum.collectInactiveMilitaryPersonalInfo), type: "submit", className: `sid-btn sid-btn--dark sid-l-full-width ${!isFormFilled(viewModel, verificationService.formValidationOptions)
@@ -19740,6 +19748,7 @@ const StepFirstResponderPersonalInfo = ({ intl, verificationService, }) => {
19740
19748
  });
19741
19749
  updateFieldValidationErrorsByFieldId("marketConsentValue", newValue, verificationService);
19742
19750
  }, viewModel: viewModel }),
19751
+ React.createElement(ExtraMessage, { verificationService: verificationService, suffix: "CollectAboveSubmit" }),
19743
19752
  React.createElement("div", { className: "sid-form-region sid-submit-wrapper sid-l-space-top-md" },
19744
19753
  React.createElement("div", { className: "sid-submit" },
19745
19754
  React.createElement("button", { id: "sid-submit-btn-collect-info", onClick: () => submitForm(viewModel, verificationService, VerificationStepsEnum.collectFirstResponderPersonalInfo), type: "submit", className: `sid-btn sid-btn--dark sid-l-full-width ${!isFormFilled(viewModel, verificationService.formValidationOptions)
@@ -19898,6 +19907,7 @@ const StepMedicalProfessionalPersonalInfo = ({ intl, verificationService, }) =>
19898
19907
  });
19899
19908
  updateFieldValidationErrorsByFieldId("marketConsentValue", newValue, verificationService);
19900
19909
  }, viewModel: viewModel }),
19910
+ React.createElement(ExtraMessage, { verificationService: verificationService, suffix: "CollectAboveSubmit" }),
19901
19911
  React.createElement("div", { className: "sid-form-region sid-submit-wrapper sid-l-space-top-md" },
19902
19912
  React.createElement("div", { className: "sid-submit" },
19903
19913
  React.createElement("button", { id: "sid-submit-btn-collect-info", onClick: () => submitForm(viewModel, verificationService, VerificationStepsEnum.collectMedicalProfessionalPersonalInfo), type: "submit", className: `sid-btn sid-btn--dark sid-l-full-width ${!isFormFilled(viewModel, verificationService.formValidationOptions)
@@ -19908,13 +19918,33 @@ const StepMedicalProfessionalPersonalInfo = ({ intl, verificationService, }) =>
19908
19918
  };
19909
19919
  const StepMedicalProfessionalPersonalInfoComponent = injectIntl(StepMedicalProfessionalPersonalInfo);
19910
19920
 
19911
- const State = ({ value, isErrored, onChange, intl, onKeyDown = undefined, placeholder = "", }) => (React.createElement("div", { className: "sid-field sid-state" },
19912
- React.createElement("div", { className: "sid-l-space-top-md" }),
19913
- 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" }),
19914
- 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" }),
19915
- isErrored ? (React.createElement("div", { className: "sid-field-error" },
19916
- React.createElement(FormattedHTMLMessage, { id: "errorId.invalidState", defaultMessage: "Invalid state" }))) : null));
19917
- const StateComponent = injectIntl(State);
19921
+ const StateSelect = ({ value, isErrored, options, onChange, intl, placeholder = "", label = "", isRequired = false, }) => {
19922
+ const stateFieldId = "sid-state";
19923
+ const handleOnKeyDown = (event) => {
19924
+ if (event.key === "Tab" && !event.shiftKey) {
19925
+ event.preventDefault();
19926
+ setFocus("inputSelectButtonState");
19927
+ }
19928
+ };
19929
+ return (React.createElement("div", { className: `sid-field ${stateFieldId}__select` },
19930
+ React.createElement("div", { className: "sid-l-space-top-md" }),
19931
+ React.createElement(FieldLabel, { text: label || React.createElement(FormattedHTMLMessage, { id: "state", defaultMessage: "State where you live" }), htmlForLabel: stateFieldId, id: `${stateFieldId}-label`, displayClasses: placeholder && "sid-h-screen-reader-only", isRequired: isRequired }),
19932
+ React.createElement(InputSelectComponent, { fieldId: "state", inputId: stateFieldId, fieldLabelId: `${stateFieldId}-label`, isErrored: isErrored, options: options, onChange: (state) => onChange(state), onKeyDown: (event) => handleOnKeyDown(event), placeholder: intl.formatHTMLMessage({
19933
+ id: "statePlaceholder",
19934
+ defaultMessage: "State",
19935
+ }), value: value
19936
+ ? {
19937
+ value,
19938
+ label: intl.formatHTMLMessage({
19939
+ id: `states.${value}`,
19940
+ defaultMessage: value.label || value,
19941
+ }),
19942
+ }
19943
+ : undefined, suppressPlaceholder: false, isRequired: isRequired, buttonRef: "inputSelectButtonState" }),
19944
+ isErrored ? (React.createElement("div", { className: "sid-field-error" },
19945
+ React.createElement(FormattedHTMLMessage, { id: "errorId.invalidState", defaultMessage: "Invalid state" }))) : null));
19946
+ };
19947
+ const StateSelectComponent = injectIntl(StateSelect);
19918
19948
 
19919
19949
  const Company = ({ onChange, value, isErrored, verificationService, intl, placeholder = "", }) => {
19920
19950
  const { programId } = verificationService;
@@ -19931,7 +19961,7 @@ const CompanyComponent = injectIntl(Company);
19931
19961
  /**
19932
19962
  * TODO - preamble
19933
19963
  */
19934
- const StepEmploymentPersonalInfo = ({ verificationService, }) => {
19964
+ const StepEmploymentPersonalInfo = ({ intl, verificationService, }) => {
19935
19965
  const viewModel = verificationService.viewModel;
19936
19966
  const { fieldValidationErrors } = verificationService;
19937
19967
  const updateEmploymentViewModel = (key, value) => {
@@ -19987,10 +20017,11 @@ const StepEmploymentPersonalInfo = ({ verificationService, }) => {
19987
20017
  updateEmploymentViewModel("city", newValue);
19988
20018
  updateFieldValidationErrorsByFieldId("city", newValue, verificationService);
19989
20019
  }, value: viewModel.city, isRequired: true }),
19990
- React.createElement(StateComponent, { isErrored: !!fieldValidationErrors.state, errorId: fieldValidationErrors.state, onChange: (newValue) => {
19991
- updateEmploymentViewModel("state", newValue);
19992
- updateFieldValidationErrorsByFieldId("state", newValue, verificationService);
19993
- }, value: viewModel.state }),
20020
+ React.createElement(StateSelectComponent, { isRequired: true, options: getAvailableStateChoices(verificationService.programTheme, intl), value: viewModel.state || undefined, isErrored: Boolean(fieldValidationErrors.state), onChange: async (stateChoice) => {
20021
+ const stateValue = stateChoice ? stateChoice.value : undefined;
20022
+ updateEmploymentViewModel("state", stateValue);
20023
+ updateFieldValidationErrorsByFieldId("state", stateValue, verificationService);
20024
+ }, label: React.createElement(FormattedHTMLMessage, { id: "state", defaultMessage: "State" }) }),
19994
20025
  React.createElement(PostalCodeComponent, { isErrored: !!fieldValidationErrors.postalCode, onChange: (newValue) => {
19995
20026
  updateEmploymentViewModel("postalCode", newValue);
19996
20027
  updateFieldValidationErrorsByFieldId("postalCode", newValue, verificationService);
@@ -20012,6 +20043,7 @@ const StepEmploymentPersonalInfo = ({ verificationService, }) => {
20012
20043
  });
20013
20044
  updateFieldValidationErrorsByFieldId("marketConsentValue", newValue, verificationService);
20014
20045
  }, viewModel: viewModel }),
20046
+ React.createElement(ExtraMessage, { verificationService: verificationService, suffix: "CollectAboveSubmit" }),
20015
20047
  React.createElement("div", { className: "sid-form-region sid-submit-wrapper sid-l-space-top-md" },
20016
20048
  React.createElement("div", { className: "sid-submit" },
20017
20049
  React.createElement("button", { id: "sid-submit-wrapper__collect-info", onClick: () => submitForm(viewModel, verificationService, VerificationStepsEnum.collectEmployeePersonalInfo), type: "submit", className: `sid-btn sid-btn--dark sid-l-full-width ${!isFormFilled(viewModel, verificationService.formValidationOptions)
@@ -20039,29 +20071,6 @@ const DriverLicenseNumber = ({ value, isErrored, onChange, explanation, intl, pl
20039
20071
  };
20040
20072
  const DriverLicenseNumberComponent = injectIntl(DriverLicenseNumber);
20041
20073
 
20042
- const StateSelect = ({ value, isErrored, options, onChange, onKeyDown, intl, placeholder = "", label = "", isRequired = false, }) => {
20043
- const inputId = "sid-state";
20044
- return (React.createElement("div", { className: `sid-field ${inputId}` },
20045
- React.createElement("div", { className: "sid-l-space-top-md" }),
20046
- 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 }),
20047
- React.createElement(InputSelectComponent, { fieldId: "state", inputId: inputId, fieldLabelId: `${inputId}-label`, isErrored: isErrored, options: options, onChange: (state) => onChange(state), onKeyDown: onKeyDown, placeholder: placeholder ||
20048
- intl.formatHTMLMessage({
20049
- id: "statePlaceholder",
20050
- defaultMessage: "State",
20051
- }), value: value
20052
- ? {
20053
- value: value.value,
20054
- label: intl.formatHTMLMessage({
20055
- id: `states.${value.value}`,
20056
- defaultMessage: value.label || value.value,
20057
- }),
20058
- }
20059
- : undefined }),
20060
- isErrored ? (React.createElement("div", { className: "sid-field-error" },
20061
- React.createElement(FormattedHTMLMessage, { id: "errorId.invalidState", defaultMessage: "Invalid state" }))) : null));
20062
- };
20063
- const StateSelectComponent = injectIntl(StateSelect);
20064
-
20065
20074
  /**
20066
20075
  * TODO - preamble
20067
20076
  */
@@ -20130,6 +20139,7 @@ const StepDriverLicensePersonalInfo = ({ intl, verificationService, }) => {
20130
20139
  });
20131
20140
  updateFieldValidationErrorsByFieldId("marketConsentValue", newValue, verificationService);
20132
20141
  }, viewModel: viewModel }),
20142
+ React.createElement(ExtraMessage, { verificationService: verificationService, suffix: "CollectAboveSubmit" }),
20133
20143
  React.createElement("div", { className: "sid-form-region sid-submit-wrapper sid-l-space-top-md" },
20134
20144
  React.createElement("div", { className: "sid-submit" },
20135
20145
  React.createElement("button", { id: "sid-submit-btn-collect-info", onClick: () => submitForm(viewModel, verificationService, VerificationStepsEnum.collectDriverLicensePersonalInfo), type: "submit", className: `sid-btn sid-btn--dark sid-l-full-width ${!isFormFilled(viewModel, verificationService.formValidationOptions)
@@ -20221,6 +20231,7 @@ const StepGeneralIdentityPersonalInfo = ({ intl, verificationService, }) => {
20221
20231
  });
20222
20232
  updateFieldValidationErrorsByFieldId("marketConsentValue", newValue, verificationService);
20223
20233
  }, viewModel: viewModel }),
20234
+ React.createElement(ExtraMessage, { verificationService: verificationService, suffix: "CollectAboveSubmit" }),
20224
20235
  React.createElement("div", { className: "sid-form-region sid-submit-wrapper sid-l-space-top-md" },
20225
20236
  React.createElement("div", { className: "sid-submit" },
20226
20237
  React.createElement("button", { id: "sid-submit-btn-collect-info", onClick: () => submitForm(viewModel, verificationService, VerificationStepsEnum.collectGeneralIdentityPersonalInfo), type: "submit", className: `sid-btn sid-btn--dark sid-l-full-width ${!isFormFilled(viewModel, verificationService.formValidationOptions)
@@ -20316,6 +20327,7 @@ const StepHybridIdentityPersonalInfo = ({ intl, verificationService, }) => {
20316
20327
  });
20317
20328
  updateFieldValidationErrorsByFieldId("marketConsentValue", newValue, verificationService);
20318
20329
  }, viewModel: viewModel }),
20330
+ React.createElement(ExtraMessage, { verificationService: verificationService, suffix: "CollectAboveSubmit" }),
20319
20331
  React.createElement("div", { className: "sid-form-region sid-submit-wrapper sid-l-space-top-md" },
20320
20332
  React.createElement("div", { className: "sid-submit" },
20321
20333
  React.createElement("button", { id: "sid-submit-btn-collect-info", onClick: () => submitForm(viewModel, verificationService, VerificationStepsEnum.collectHybridIdentityPersonalInfo), type: "submit", className: `sid-btn sid-btn--dark sid-l-full-width ${!isFormFilled(viewModel, verificationService.formValidationOptions)
@@ -20447,6 +20459,7 @@ const StepLicensedProfessionalPersonalInfo = ({ intl, verificationService, }) =>
20447
20459
  });
20448
20460
  updateFieldValidationErrorsByFieldId("marketConsentValue", newValue, verificationService);
20449
20461
  }, viewModel: viewModel }),
20462
+ React.createElement(ExtraMessage, { verificationService: verificationService, suffix: "CollectAboveSubmit" }),
20450
20463
  React.createElement("div", { className: "sid-form-region sid-submit-wrapper sid-l-space-top-md" },
20451
20464
  React.createElement("div", { className: "sid-submit" },
20452
20465
  React.createElement("button", { id: "sid-submit-btn-collect-info", onClick: () => submitForm(viewModel, verificationService, VerificationStepsEnum.collectLicensedProfessionalPersonalInfo), type: "submit", className: `sid-btn sid-btn--dark sid-l-full-width ${!isFormFilled(viewModel, verificationService.formValidationOptions)
@@ -20501,7 +20514,7 @@ const StepMoverPersonalInfo = ({ verificationService }) => {
20501
20514
  React.createElement(AddressComponent, { value: viewModel.address1, isErrored: !!fieldValidationErrors.address1, errorId: fieldValidationErrors.address1, onChange: (newValue) => {
20502
20515
  updateMoverViewModel("address1", newValue);
20503
20516
  updateFieldValidationErrorsByFieldId("address1", newValue, verificationService);
20504
- }, isRequired: true }),
20517
+ }, label: React.createElement(FormattedHTMLMessage, { id: "streetAddress", defaultMessage: "Street Address" }), isRequired: true }),
20505
20518
  React.createElement(PostalCodeComponent, { value: viewModel.postalCode, isErrored: !!fieldValidationErrors.postalCode, onChange: (newValue) => {
20506
20519
  updateMoverViewModel("postalCode", newValue);
20507
20520
  updateFieldValidationErrorsByFieldId("postalCode", newValue, verificationService);
@@ -20523,6 +20536,7 @@ const StepMoverPersonalInfo = ({ verificationService }) => {
20523
20536
  });
20524
20537
  updateFieldValidationErrorsByFieldId("marketConsentValue", newValue, verificationService);
20525
20538
  }, viewModel: viewModel }),
20539
+ React.createElement(ExtraMessage, { verificationService: verificationService, suffix: "CollectAboveSubmit" }),
20526
20540
  React.createElement("div", { className: "sid-form-region sid-submit-wrapper sid-l-space-top-md" },
20527
20541
  React.createElement("div", { className: "sid-submit" },
20528
20542
  React.createElement("button", { id: "sid-submit-wrapper__collect-info", onClick: () => submitForm(viewModel, verificationService, VerificationStepsEnum.collectMoverPersonalInfo), type: "submit", className: `sid-btn sid-btn--dark sid-l-full-width ${!isFormFilled(viewModel, verificationService.formValidationOptions)
@@ -20603,7 +20617,7 @@ const StepLowIncomePersonalInfo = ({ intl, verificationService, }) => {
20603
20617
  React.useEffect(() => {
20604
20618
  if (isSelectedStatusSnapBenefits) {
20605
20619
  const updatedViewModel = { fieldsToSkipValidation: ["organization"] };
20606
- setViewModel(updatedViewModel, { partial: true });
20620
+ setViewModel(updatedViewModel);
20607
20621
  }
20608
20622
  }, [isSelectedStatusSnapBenefits]);
20609
20623
  return (React.createElement("div", { id: "sid-step-low-income-personal-info", className: "sid-l-container" },
@@ -20687,6 +20701,52 @@ const StepLowIncomePersonalInfoComponent = injectIntl(StepLowIncomePersonalInfo)
20687
20701
  // Collect status is identical to Active at this time.
20688
20702
  const StepCollectMilitaryStatusComponent = ({ verificationService, }) => (React.createElement(StepActiveMilitaryPersonalInfoComponent, { verificationService: verificationService }));
20689
20703
 
20704
+ /**
20705
+ * Insert `newPart` into a string
20706
+ * Use:
20707
+ * "Hi !".insertAt(3, "world"); // "Hi world!"
20708
+ */
20709
+ String.prototype.insertAt = function (index, newPart) {
20710
+ if (index > this.length) {
20711
+ return this;
20712
+ }
20713
+ return `${this.slice(0, index)}${newPart}${this.slice(index)}`;
20714
+ };
20715
+
20716
+ const displaySSN = (value) => {
20717
+ let stringValue;
20718
+ try {
20719
+ stringValue = value.toString();
20720
+ if (!stringValue)
20721
+ throw new Error();
20722
+ }
20723
+ catch (e) {
20724
+ return "";
20725
+ }
20726
+ return stringValue
20727
+ .replace(/[^\d]/g, "") // replce non-digit chars
20728
+ .insertAt(3, "-") // for display
20729
+ .insertAt(6, "-")
20730
+ .replace("--", "") // just in case
20731
+ .replace(/-$/, ""); // don't add trailing hyphen, breaks backspace
20732
+ };
20733
+ // The viewModel and API don't include hyphens. Also enforces max length, prior to setting viewModel, avoiding off-by-one error.
20734
+ const unDisplaySSN = (value) => value.replace(/-/g, "").slice(0, SSN_STRING_LENGTH);
20735
+
20736
+ const SocialSecurity = ({ value, isErrored, onChange, intl, placeholder = "", }) => {
20737
+ const changeSsn = (value) => {
20738
+ onChange(value);
20739
+ };
20740
+ return (React.createElement("div", { className: "sid-field sid-ssn" },
20741
+ React.createElement("div", { className: "sid-l-space-top-md" }),
20742
+ 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" }),
20743
+ React.createElement(InputTextComponent, { id: "ssn", refId: FieldIdEnum.socialSecurityNumber, className: "sid-ssn__input", isErrored: isErrored, required: true, placeholder: placeholder ||
20744
+ 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" }),
20745
+ isErrored ? (React.createElement("div", { className: "sid-field-error" },
20746
+ React.createElement(FormattedHTMLMessage, { id: "errorId.invalidSocialSecurityNumber", defaultMessage: "Invalid SSN" }))) : null));
20747
+ };
20748
+ const SocialSecurityNumber = injectIntl(SocialSecurity);
20749
+
20690
20750
  const Step$1 = ({ useSsn, useDocUpload, verificationService }) => (React.createElement("div", { id: "sid-ssn-choice", className: "sid-l-container sid-l-horz-center" },
20691
20751
  React.createElement("div", { className: "sid-header" },
20692
20752
  React.createElement("div", { className: "sid-l-horz-center" },
@@ -20756,8 +20816,9 @@ const TryAgainButtonComponent = ({ verificationService }) => {
20756
20816
  (async () => {
20757
20817
  const trackingId = undefined;
20758
20818
  const forceNewVerificationRequest = true;
20819
+ const { programId } = verificationService;
20759
20820
  await verificationService.resetState();
20760
- verificationService.fetchNewVerificationRequest(verificationService.programId, currentSegment, undefined, trackingId, forceNewVerificationRequest);
20821
+ verificationService.fetchNewVerificationRequest(programId, currentSegment, undefined, trackingId, forceNewVerificationRequest);
20761
20822
  })();
20762
20823
  }, [verificationService.programId, currentSegment]);
20763
20824
  return (React.createElement("button", { type: "button", className: "sid-btn sid-btn-light", "aria-label": "submit", onClick: fetchNewVerificationRequest, onKeyPress: fetchNewVerificationRequest, tabIndex: 0 },
@@ -23326,7 +23387,7 @@ class NewVerification extends React.Component {
23326
23387
  maintainFocusInLightbox();
23327
23388
  listenToInstallPage((event) => {
23328
23389
  if (event.data.action === "setViewModel") {
23329
- setViewModel(event.data.viewModel, { partial: true });
23390
+ setViewModel(event.data.viewModel);
23330
23391
  }
23331
23392
  });
23332
23393
  // Special-case, mocking the loading psuedo-step
@@ -23406,6 +23467,14 @@ const VerificationForm = React.forwardRef(({ programId, trackingId = undefined }
23406
23467
  React.createElement(NewVerificationComponent, { programId: programId, trackingId: trackingId })))));
23407
23468
  });
23408
23469
 
23470
+ const State = ({ value, isErrored, onChange, intl, onKeyDown = undefined, placeholder = "", }) => (React.createElement("div", { className: "sid-field sid-state" },
23471
+ React.createElement("div", { className: "sid-l-space-top-md" }),
23472
+ 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" }),
23473
+ 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" }),
23474
+ isErrored ? (React.createElement("div", { className: "sid-field-error" },
23475
+ React.createElement(FormattedHTMLMessage, { id: "errorId.invalidState", defaultMessage: "Invalid state" }))) : null));
23476
+ const StateComponent = injectIntl(State);
23477
+
23409
23478
  const PrivacyPolicyLink = ({ verificationService, includeCompanyName, intl, }) => {
23410
23479
  const { programTheme } = verificationService;
23411
23480
  const privacyPolicyHref = getPrivacyPolicyUrl(programTheme);
@@ -23707,5 +23776,5 @@ const collectDeviceProfile = async (verificationId, programId) => {
23707
23776
  includeIPQSDeviceFingerprintScript(programTheme, verificationId);
23708
23777
  };
23709
23778
 
23710
- 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, FormFieldCustom, FormFieldLayout, FormFieldText, 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 };
23779
+ 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, ExtraMessage, FaqLinkComponent, FetchOrganizationsComponent, FieldIdEnum, FieldIds, FieldLabel, FirstNameComponent, FirstResponderOrganizationComponent, FirstResponderStatusComponent, FirstResponderStatusDefaultMessagesEnum, FormFieldCheckbox, FormFieldCustom, FormFieldLayout, FormFieldText, 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 };
23711
23780
  //# sourceMappingURL=sheerides6.js.map