@sheerid/jslib 1.110.0 → 1.113.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 (213) hide show
  1. package/README.md +21 -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-4956061a.es.js → ar-1e2dd534.es.js} +11 -1
  41. package/es6/{cs-1de96b4c.es.js.map → ar-1e2dd534.es.js.map} +1 -1
  42. package/es6/{bg-d6354db2.es.js → bg-5c429e6b.es.js} +11 -1
  43. package/es6/{ar-4956061a.es.js.map → bg-5c429e6b.es.js.map} +1 -1
  44. package/es6/{cs-1de96b4c.es.js → cs-90717579.es.js} +11 -1
  45. package/es6/{da-8f1dfa43.es.js.map → cs-90717579.es.js.map} +1 -1
  46. package/es6/{da-8f1dfa43.es.js → da-71b63950.es.js} +11 -1
  47. package/es6/{bg-d6354db2.es.js.map → da-71b63950.es.js.map} +1 -1
  48. package/es6/{de-1aa4e429.es.js → de-3b984816.es.js} +11 -1
  49. package/es6/de-3b984816.es.js.map +1 -0
  50. package/es6/{el-2d5e12dd.es.js → el-053af9cf.es.js} +11 -1
  51. package/es6/el-053af9cf.es.js.map +1 -0
  52. package/es6/{en-GB-20967dc5.es.js → en-GB-2c5ef0f5.es.js} +11 -1
  53. package/es6/{en-GB-20967dc5.es.js.map → en-GB-2c5ef0f5.es.js.map} +1 -1
  54. package/es6/{es-8e86100a.es.js → es-7041d126.es.js} +11 -1
  55. package/es6/es-7041d126.es.js.map +1 -0
  56. package/es6/{es-ES-4bd1e82e.es.js → es-ES-be1a5bf6.es.js} +11 -1
  57. package/es6/{es-ES-4bd1e82e.es.js.map → es-ES-be1a5bf6.es.js.map} +1 -1
  58. package/es6/{fi-1d11aab4.es.js → fi-c30a028c.es.js} +11 -1
  59. package/es6/fi-c30a028c.es.js.map +1 -0
  60. package/es6/{fr-d80e65df.es.js → fr-43310daf.es.js} +11 -1
  61. package/es6/fr-43310daf.es.js.map +1 -0
  62. package/es6/{fr-CA-5adbcd22.es.js → fr-CA-3988a887.es.js} +11 -1
  63. package/es6/{fr-CA-5adbcd22.es.js.map → fr-CA-3988a887.es.js.map} +1 -1
  64. package/es6/{ga-06830697.es.js → ga-2a96d83b.es.js} +11 -1
  65. package/es6/ga-2a96d83b.es.js.map +1 -0
  66. package/es6/{hr-4684ff5d.es.js → hr-fa3d1d6f.es.js} +11 -1
  67. package/es6/hr-fa3d1d6f.es.js.map +1 -0
  68. package/es6/{hu-7a4f3a78.es.js → hu-604849e9.es.js} +11 -1
  69. package/es6/hu-604849e9.es.js.map +1 -0
  70. package/es6/{id-b6fe2fcd.es.js → id-0ca161c5.es.js} +11 -1
  71. package/es6/id-0ca161c5.es.js.map +1 -0
  72. package/es6/{it-18fd5526.es.js → it-b0b02cad.es.js} +11 -1
  73. package/es6/it-b0b02cad.es.js.map +1 -0
  74. package/es6/{iw-b1f73ffa.es.js → iw-0ec6d108.es.js} +11 -1
  75. package/es6/iw-0ec6d108.es.js.map +1 -0
  76. package/es6/{ja-05eb217d.es.js → ja-14ea01f0.es.js} +11 -1
  77. package/es6/ja-14ea01f0.es.js.map +1 -0
  78. package/es6/{ko-6026fe32.es.js → ko-e2f2ba21.es.js} +11 -1
  79. package/es6/ko-e2f2ba21.es.js.map +1 -0
  80. package/es6/{lo-30da01da.es.js → lo-88425266.es.js} +11 -1
  81. package/es6/lo-88425266.es.js.map +1 -0
  82. package/es6/{lt-a08f94d6.es.js → lt-fe0fdb6d.es.js} +11 -1
  83. package/es6/lt-fe0fdb6d.es.js.map +1 -0
  84. package/es6/{ms-4b69e218.es.js → ms-1408e13c.es.js} +11 -1
  85. package/es6/ms-1408e13c.es.js.map +1 -0
  86. package/es6/{nl-9acf82f8.es.js → nl-fa194db7.es.js} +11 -1
  87. package/es6/nl-fa194db7.es.js.map +1 -0
  88. package/es6/{no-443dff87.es.js → no-9f53f7ee.es.js} +11 -1
  89. package/es6/no-9f53f7ee.es.js.map +1 -0
  90. package/es6/{pl-0b4902db.es.js → pl-41cc976c.es.js} +11 -1
  91. package/es6/pl-41cc976c.es.js.map +1 -0
  92. package/es6/{pt-eefd6a76.es.js → pt-97782315.es.js} +11 -1
  93. package/es6/pt-97782315.es.js.map +1 -0
  94. package/es6/{pt-BR-afd2234b.es.js → pt-BR-1a435f85.es.js} +11 -1
  95. package/es6/{pt-BR-afd2234b.es.js.map → pt-BR-1a435f85.es.js.map} +1 -1
  96. package/es6/{ru-55b959b7.es.js → ru-75c64f50.es.js} +11 -1
  97. package/es6/ru-75c64f50.es.js.map +1 -0
  98. package/es6/{sk-1751ddd2.es.js → sk-37158cc0.es.js} +11 -1
  99. package/es6/sk-37158cc0.es.js.map +1 -0
  100. package/es6/{sl-3d874685.es.js → sl-7b670604.es.js} +11 -1
  101. package/es6/sl-7b670604.es.js.map +1 -0
  102. package/es6/{sr-9449946e.es.js → sr-9b9bfc47.es.js} +11 -1
  103. package/es6/sr-9b9bfc47.es.js.map +1 -0
  104. package/es6/{sv-b3117f27.es.js → sv-fb35deaf.es.js} +11 -1
  105. package/es6/sv-fb35deaf.es.js.map +1 -0
  106. package/es6/{th-1fb295d2.es.js → th-d4647473.es.js} +11 -1
  107. package/es6/th-d4647473.es.js.map +1 -0
  108. package/es6/{tr-b7aed90b.es.js → tr-afdee5e0.es.js} +11 -1
  109. package/es6/tr-afdee5e0.es.js.map +1 -0
  110. package/es6/{zh-6c863e80.es.js → zh-80147ef5.es.js} +11 -1
  111. package/es6/zh-80147ef5.es.js.map +1 -0
  112. package/es6/{zh-HK-8bc1767d.es.js → zh-HK-a648db8e.es.js} +11 -1
  113. package/es6/zh-HK-a648db8e.es.js.map +1 -0
  114. package/localized-messages/ar.json +10 -0
  115. package/localized-messages/bg.json +10 -0
  116. package/localized-messages/cs.json +10 -0
  117. package/localized-messages/da.json +10 -0
  118. package/localized-messages/de.json +10 -0
  119. package/localized-messages/el.json +10 -0
  120. package/localized-messages/en-GB.json +10 -0
  121. package/localized-messages/en-US.json +11 -1
  122. package/localized-messages/es-ES.json +10 -0
  123. package/localized-messages/es.json +10 -0
  124. package/localized-messages/fi.json +10 -0
  125. package/localized-messages/fr-CA.json +10 -0
  126. package/localized-messages/fr.json +10 -0
  127. package/localized-messages/ga.json +10 -0
  128. package/localized-messages/hr.json +10 -0
  129. package/localized-messages/hu.json +10 -0
  130. package/localized-messages/id.json +10 -0
  131. package/localized-messages/it.json +10 -0
  132. package/localized-messages/iw.json +10 -0
  133. package/localized-messages/ja.json +10 -0
  134. package/localized-messages/ko.json +10 -0
  135. package/localized-messages/lo.json +10 -0
  136. package/localized-messages/lt.json +10 -0
  137. package/localized-messages/ms.json +10 -0
  138. package/localized-messages/nl.json +10 -0
  139. package/localized-messages/no.json +10 -0
  140. package/localized-messages/pl.json +10 -0
  141. package/localized-messages/pt-BR.json +10 -0
  142. package/localized-messages/pt.json +10 -0
  143. package/localized-messages/ru.json +10 -0
  144. package/localized-messages/sk.json +10 -0
  145. package/localized-messages/sl.json +10 -0
  146. package/localized-messages/sr.json +10 -0
  147. package/localized-messages/sv.json +10 -0
  148. package/localized-messages/th.json +10 -0
  149. package/localized-messages/tr.json +10 -0
  150. package/localized-messages/zh-HK.json +10 -0
  151. package/localized-messages/zh.json +10 -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 +15 -15
  157. package/sheerid-requestOrg.js.map +1 -1
  158. package/sheerid-utils.js +9 -9
  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 +14 -14
  163. package/sheerid.js.map +1 -1
  164. package/sheerides6.js +305 -188
  165. package/sheerides6.js.map +1 -1
  166. package/src/components/ExtraMessage.d.ts +17 -0
  167. package/src/components/FormFields/ChangeLocale/ChangeLocaleComponent.d.ts +14 -2
  168. package/src/components/FormFields/Country/CountryComponentWrapper.d.ts +6 -4
  169. package/src/components/FormFields/FormFieldCheckbox/FormFieldCheckbox.d.ts +10 -0
  170. package/src/components/FormFields/FormFieldCheckbox/FormFieldCheckbox.test.d.ts +1 -0
  171. package/src/components/FormFields/State/StateSelectComponent.d.ts +1 -1
  172. package/src/components/FormInputs/OptInInput/OptInInputComponent.d.ts +3 -2
  173. package/src/components/RequestOrganization/RequestOrganizationSearchResultComponent.d.ts +7 -2
  174. package/src/components/StepEmploymentPersonalInfo/StepEmploymentPersonalInfoComponent.d.ts +1 -0
  175. package/src/components/StepMemberPersonalInfo/StepMemberPersonalInfoComponent.d.ts +2 -9
  176. package/src/components/StepStudentPersonalInfo/StepStudentPersonalInfoComponent.d.ts +2 -9
  177. package/src/components/StepTeacherPersonalInfo/StepTeacherPersonalInfoComponent.d.ts +2 -10
  178. package/src/constants.d.ts +1 -0
  179. package/src/es6.d.ts +2 -0
  180. package/src/lib/installScript/iframe.d.ts +1 -0
  181. package/src/lib/types/runtimeTypes.d.ts +4 -0
  182. package/src/lib/types/types.d.ts +12 -0
  183. package/src/lib/validators/validators.d.ts +1 -0
  184. package/types-reference.zip +0 -0
  185. package/es6/de-1aa4e429.es.js.map +0 -1
  186. package/es6/el-2d5e12dd.es.js.map +0 -1
  187. package/es6/es-8e86100a.es.js.map +0 -1
  188. package/es6/fi-1d11aab4.es.js.map +0 -1
  189. package/es6/fr-d80e65df.es.js.map +0 -1
  190. package/es6/ga-06830697.es.js.map +0 -1
  191. package/es6/hr-4684ff5d.es.js.map +0 -1
  192. package/es6/hu-7a4f3a78.es.js.map +0 -1
  193. package/es6/id-b6fe2fcd.es.js.map +0 -1
  194. package/es6/it-18fd5526.es.js.map +0 -1
  195. package/es6/iw-b1f73ffa.es.js.map +0 -1
  196. package/es6/ja-05eb217d.es.js.map +0 -1
  197. package/es6/ko-6026fe32.es.js.map +0 -1
  198. package/es6/lo-30da01da.es.js.map +0 -1
  199. package/es6/lt-a08f94d6.es.js.map +0 -1
  200. package/es6/ms-4b69e218.es.js.map +0 -1
  201. package/es6/nl-9acf82f8.es.js.map +0 -1
  202. package/es6/no-443dff87.es.js.map +0 -1
  203. package/es6/pl-0b4902db.es.js.map +0 -1
  204. package/es6/pt-eefd6a76.es.js.map +0 -1
  205. package/es6/ru-55b959b7.es.js.map +0 -1
  206. package/es6/sk-1751ddd2.es.js.map +0 -1
  207. package/es6/sl-3d874685.es.js.map +0 -1
  208. package/es6/sr-9449946e.es.js.map +0 -1
  209. package/es6/sv-b3117f27.es.js.map +0 -1
  210. package/es6/th-1fb295d2.es.js.map +0 -1
  211. package/es6/tr-b7aed90b.es.js.map +0 -1
  212. package/es6/zh-6c863e80.es.js.map +0 -1
  213. package/es6/zh-HK-8bc1767d.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";
@@ -1132,6 +1136,7 @@ const iframeClassNames = {
1132
1136
  CLOSE_TEXT: "sid-modal__close-text",
1133
1137
  CLOSE_ICON: "sid-modal__close-icon",
1134
1138
  };
1139
+ const iframeTitle = "SheerID Verification Form";
1135
1140
  const iframeConstants = {
1136
1141
  CLASS_NAMES: iframeClassNames,
1137
1142
  DEFAULT_MOBILE_THRESHOLD_WIDTH: 620,
@@ -2265,6 +2270,7 @@ var enUSMessages = {
2265
2270
  "defaultMessages.states.AK": "Alaska",
2266
2271
  "defaultMessages.states.AL": "Alabama",
2267
2272
  "defaultMessages.states.AR": "Arkansas",
2273
+ "defaultMessages.states.AS": "American Samoa",
2268
2274
  "defaultMessages.states.AZ": "Arizona",
2269
2275
  "defaultMessages.states.CA": "California",
2270
2276
  "defaultMessages.states.CO": "Colorado",
@@ -2273,6 +2279,7 @@ var enUSMessages = {
2273
2279
  "defaultMessages.states.DE": "Delaware",
2274
2280
  "defaultMessages.states.FL": "Florida",
2275
2281
  "defaultMessages.states.GA": "Georgia",
2282
+ "defaultMessages.states.GU": "Guam",
2276
2283
  "defaultMessages.states.HI": "Hawaii",
2277
2284
  "defaultMessages.states.IA": "Iowa",
2278
2285
  "defaultMessages.states.ID": "Idaho",
@@ -2281,7 +2288,7 @@ var enUSMessages = {
2281
2288
  "defaultMessages.states.KS": "Kansas",
2282
2289
  "defaultMessages.states.KY": "Kentucky",
2283
2290
  "defaultMessages.states.LA": "Louisiana",
2284
- "defaultMessages.states.MA": "Massachusettes",
2291
+ "defaultMessages.states.MA": "Massachusetts",
2285
2292
  "defaultMessages.states.MD": "Maryland",
2286
2293
  "defaultMessages.states.ME": "Maine",
2287
2294
  "defaultMessages.states.MI": "Michigan",
@@ -2301,6 +2308,7 @@ var enUSMessages = {
2301
2308
  "defaultMessages.states.OK": "Oklahoma",
2302
2309
  "defaultMessages.states.OR": "Oregon",
2303
2310
  "defaultMessages.states.PA": "Pennsylvania",
2311
+ "defaultMessages.states.PR": "Puerto Rico",
2304
2312
  "defaultMessages.states.RI": "Rhode Island",
2305
2313
  "defaultMessages.states.SC": "South Carolina",
2306
2314
  "defaultMessages.states.SD": "South Dakota",
@@ -2308,6 +2316,7 @@ var enUSMessages = {
2308
2316
  "defaultMessages.states.TX": "Texas",
2309
2317
  "defaultMessages.states.UT": "Utah",
2310
2318
  "defaultMessages.states.VA": "Virginia",
2319
+ "defaultMessages.states.VI": "Virgin Islands",
2311
2320
  "defaultMessages.states.VT": "Vermont",
2312
2321
  "defaultMessages.states.WA": "Washington",
2313
2322
  "defaultMessages.states.WI": "Wisconsin",
@@ -2542,6 +2551,12 @@ var enUSMessages = {
2542
2551
  "requestOrganizationMessages.ineligibleOrgs": "Ineligible Schools. We are sorry, people from these schools are not eligible for this offer:",
2543
2552
  "requestOrganizationMessages.noCountry": "Don't see your school’s country or region? You are not eligible for this offer.",
2544
2553
  "requestOrganizationMessages.none": "None",
2554
+ "requestOrganizationMessages.orgType.eligible": " - Eligible for this offer. Click the icon to copy name then return to the verification form:",
2555
+ "requestOrganizationMessages.orgType.highSchool": "High Schools / Secondary Schools {e}",
2556
+ "requestOrganizationMessages.orgType.ineligible": " - (Not eligible for this offer)",
2557
+ "requestOrganizationMessages.orgType.k12": "K12 {e}",
2558
+ "requestOrganizationMessages.orgType.postSecondary": "Post Secondary Institutions {e}",
2559
+ "requestOrganizationMessages.orgType.university": "Universities {e}",
2545
2560
  "requestOrganizationMessages.poweredBy": "Verification services powered by SheerID",
2546
2561
  "requestOrganizationMessages.searchByOrgName": "Don't see your school? Search by name.",
2547
2562
  "requestOrganizationMessages.step.error.contactUs": "contact us",
@@ -2768,154 +2783,154 @@ const getMessagesModuleByLocale = async (locale) => {
2768
2783
  switch (locale) {
2769
2784
  case "ar":
2770
2785
  localizedMessages = await import(
2771
- /* webpackChunkName: "messages_ar" */ './es6/ar-4956061a.es.js').then((m) => m.default);
2786
+ /* webpackChunkName: "messages_ar" */ './es6/ar-1e2dd534.es.js').then((m) => m.default);
2772
2787
  break;
2773
2788
  case "bg":
2774
2789
  localizedMessages = await import(
2775
- /* webpackChunkName: "messages_bg" */ './es6/bg-d6354db2.es.js').then((m) => m.default);
2790
+ /* webpackChunkName: "messages_bg" */ './es6/bg-5c429e6b.es.js').then((m) => m.default);
2776
2791
  break;
2777
2792
  case "cs":
2778
2793
  localizedMessages = await import(
2779
- /* webpackChunkName: "messages_cs" */ './es6/cs-1de96b4c.es.js').then((m) => m.default);
2794
+ /* webpackChunkName: "messages_cs" */ './es6/cs-90717579.es.js').then((m) => m.default);
2780
2795
  break;
2781
2796
  case "da":
2782
2797
  localizedMessages = await import(
2783
- /* webpackChunkName: "messages_da" */ './es6/da-8f1dfa43.es.js').then((m) => m.default);
2798
+ /* webpackChunkName: "messages_da" */ './es6/da-71b63950.es.js').then((m) => m.default);
2784
2799
  break;
2785
2800
  case "de":
2786
2801
  localizedMessages = await import(
2787
- /* webpackChunkName: "messages_de" */ './es6/de-1aa4e429.es.js').then((m) => m.default);
2802
+ /* webpackChunkName: "messages_de" */ './es6/de-3b984816.es.js').then((m) => m.default);
2788
2803
  break;
2789
2804
  case "el":
2790
2805
  localizedMessages = await import(
2791
- /* webpackChunkName: "messages_el" */ './es6/el-2d5e12dd.es.js').then((m) => m.default);
2806
+ /* webpackChunkName: "messages_el" */ './es6/el-053af9cf.es.js').then((m) => m.default);
2792
2807
  break;
2793
2808
  case "en-GB":
2794
2809
  localizedMessages = await import(
2795
- /* webpackChunkName: "messages_en-GB" */ './es6/en-GB-20967dc5.es.js').then((m) => m.default);
2810
+ /* webpackChunkName: "messages_en-GB" */ './es6/en-GB-2c5ef0f5.es.js').then((m) => m.default);
2796
2811
  break;
2797
2812
  case "en-US":
2798
2813
  localizedMessages = enUSMessages;
2799
2814
  break;
2800
2815
  case "es-ES":
2801
2816
  localizedMessages = await import(
2802
- /* webpackChunkName: "messages_es-ES" */ './es6/es-ES-4bd1e82e.es.js').then((m) => m.default);
2817
+ /* webpackChunkName: "messages_es-ES" */ './es6/es-ES-be1a5bf6.es.js').then((m) => m.default);
2803
2818
  break;
2804
2819
  case "es":
2805
2820
  localizedMessages = await import(
2806
- /* webpackChunkName: "messages_es" */ './es6/es-8e86100a.es.js').then((m) => m.default);
2821
+ /* webpackChunkName: "messages_es" */ './es6/es-7041d126.es.js').then((m) => m.default);
2807
2822
  break;
2808
2823
  case "fi":
2809
2824
  localizedMessages = await import(
2810
- /* webpackChunkName: "messages_fi" */ './es6/fi-1d11aab4.es.js').then((m) => m.default);
2825
+ /* webpackChunkName: "messages_fi" */ './es6/fi-c30a028c.es.js').then((m) => m.default);
2811
2826
  break;
2812
2827
  case "fr-CA":
2813
2828
  localizedMessages = await import(
2814
- /* webpackChunkName: "messages_fr-CA" */ './es6/fr-CA-5adbcd22.es.js').then((m) => m.default);
2829
+ /* webpackChunkName: "messages_fr-CA" */ './es6/fr-CA-3988a887.es.js').then((m) => m.default);
2815
2830
  break;
2816
2831
  case "fr":
2817
2832
  localizedMessages = await import(
2818
- /* webpackChunkName: "messages_fr" */ './es6/fr-d80e65df.es.js').then((m) => m.default);
2833
+ /* webpackChunkName: "messages_fr" */ './es6/fr-43310daf.es.js').then((m) => m.default);
2819
2834
  break;
2820
2835
  case "ga":
2821
2836
  localizedMessages = await import(
2822
- /* webpackChunkName: "messages_ga" */ './es6/ga-06830697.es.js').then((m) => m.default);
2837
+ /* webpackChunkName: "messages_ga" */ './es6/ga-2a96d83b.es.js').then((m) => m.default);
2823
2838
  break;
2824
2839
  case "hr":
2825
2840
  localizedMessages = await import(
2826
- /* webpackChunkName: "messages_hr" */ './es6/hr-4684ff5d.es.js').then((m) => m.default);
2841
+ /* webpackChunkName: "messages_hr" */ './es6/hr-fa3d1d6f.es.js').then((m) => m.default);
2827
2842
  break;
2828
2843
  case "hu":
2829
2844
  localizedMessages = await import(
2830
- /* webpackChunkName: "messages_hu" */ './es6/hu-7a4f3a78.es.js').then((m) => m.default);
2845
+ /* webpackChunkName: "messages_hu" */ './es6/hu-604849e9.es.js').then((m) => m.default);
2831
2846
  break;
2832
2847
  case "id":
2833
2848
  localizedMessages = await import(
2834
- /* webpackChunkName: "messages_id" */ './es6/id-b6fe2fcd.es.js').then((m) => m.default);
2849
+ /* webpackChunkName: "messages_id" */ './es6/id-0ca161c5.es.js').then((m) => m.default);
2835
2850
  break;
2836
2851
  case "it":
2837
2852
  localizedMessages = await import(
2838
- /* webpackChunkName: "messages_it" */ './es6/it-18fd5526.es.js').then((m) => m.default);
2853
+ /* webpackChunkName: "messages_it" */ './es6/it-b0b02cad.es.js').then((m) => m.default);
2839
2854
  break;
2840
2855
  case "iw":
2841
2856
  localizedMessages = await import(
2842
- /* webpackChunkName: "messages_iw" */ './es6/iw-b1f73ffa.es.js').then((m) => m.default);
2857
+ /* webpackChunkName: "messages_iw" */ './es6/iw-0ec6d108.es.js').then((m) => m.default);
2843
2858
  break;
2844
2859
  case "ja":
2845
2860
  localizedMessages = await import(
2846
- /* webpackChunkName: "messages_ja" */ './es6/ja-05eb217d.es.js').then((m) => m.default);
2861
+ /* webpackChunkName: "messages_ja" */ './es6/ja-14ea01f0.es.js').then((m) => m.default);
2847
2862
  break;
2848
2863
  case "ko":
2849
2864
  localizedMessages = await import(
2850
- /* webpackChunkName: "messages_ko" */ './es6/ko-6026fe32.es.js').then((m) => m.default);
2865
+ /* webpackChunkName: "messages_ko" */ './es6/ko-e2f2ba21.es.js').then((m) => m.default);
2851
2866
  break;
2852
2867
  case "lo":
2853
2868
  localizedMessages = await import(
2854
- /* webpackChunkName: "messages_lo" */ './es6/lo-30da01da.es.js').then((m) => m.default);
2869
+ /* webpackChunkName: "messages_lo" */ './es6/lo-88425266.es.js').then((m) => m.default);
2855
2870
  break;
2856
2871
  case "lt":
2857
2872
  localizedMessages = await import(
2858
- /* webpackChunkName: "messages_lt" */ './es6/lt-a08f94d6.es.js').then((m) => m.default);
2873
+ /* webpackChunkName: "messages_lt" */ './es6/lt-fe0fdb6d.es.js').then((m) => m.default);
2859
2874
  break;
2860
2875
  case "ms":
2861
2876
  localizedMessages = await import(
2862
- /* webpackChunkName: "messages_ms" */ './es6/ms-4b69e218.es.js').then((m) => m.default);
2877
+ /* webpackChunkName: "messages_ms" */ './es6/ms-1408e13c.es.js').then((m) => m.default);
2863
2878
  break;
2864
2879
  case "nl":
2865
2880
  localizedMessages = await import(
2866
- /* webpackChunkName: "messages_nl" */ './es6/nl-9acf82f8.es.js').then((m) => m.default);
2881
+ /* webpackChunkName: "messages_nl" */ './es6/nl-fa194db7.es.js').then((m) => m.default);
2867
2882
  break;
2868
2883
  case "no":
2869
2884
  localizedMessages = await import(
2870
- /* webpackChunkName: "messages_no" */ './es6/no-443dff87.es.js').then((m) => m.default);
2885
+ /* webpackChunkName: "messages_no" */ './es6/no-9f53f7ee.es.js').then((m) => m.default);
2871
2886
  break;
2872
2887
  case "pl":
2873
2888
  localizedMessages = await import(
2874
- /* webpackChunkName: "messages_pl" */ './es6/pl-0b4902db.es.js').then((m) => m.default);
2889
+ /* webpackChunkName: "messages_pl" */ './es6/pl-41cc976c.es.js').then((m) => m.default);
2875
2890
  break;
2876
2891
  case "pt-BR":
2877
2892
  localizedMessages = await import(
2878
- /* webpackChunkName: "messages_pt-BR" */ './es6/pt-BR-afd2234b.es.js').then((m) => m.default);
2893
+ /* webpackChunkName: "messages_pt-BR" */ './es6/pt-BR-1a435f85.es.js').then((m) => m.default);
2879
2894
  break;
2880
2895
  case "pt":
2881
2896
  localizedMessages = await import(
2882
- /* webpackChunkName: "messages_pt" */ './es6/pt-eefd6a76.es.js').then((m) => m.default);
2897
+ /* webpackChunkName: "messages_pt" */ './es6/pt-97782315.es.js').then((m) => m.default);
2883
2898
  break;
2884
2899
  case "ru":
2885
2900
  localizedMessages = await import(
2886
- /* webpackChunkName: "messages_ru" */ './es6/ru-55b959b7.es.js').then((m) => m.default);
2901
+ /* webpackChunkName: "messages_ru" */ './es6/ru-75c64f50.es.js').then((m) => m.default);
2887
2902
  break;
2888
2903
  case "sk":
2889
2904
  localizedMessages = await import(
2890
- /* webpackChunkName: "messages_sk" */ './es6/sk-1751ddd2.es.js').then((m) => m.default);
2905
+ /* webpackChunkName: "messages_sk" */ './es6/sk-37158cc0.es.js').then((m) => m.default);
2891
2906
  break;
2892
2907
  case "sl":
2893
2908
  localizedMessages = await import(
2894
- /* webpackChunkName: "messages_sl" */ './es6/sl-3d874685.es.js').then((m) => m.default);
2909
+ /* webpackChunkName: "messages_sl" */ './es6/sl-7b670604.es.js').then((m) => m.default);
2895
2910
  break;
2896
2911
  case "sr":
2897
2912
  localizedMessages = await import(
2898
- /* webpackChunkName: "messages_sr" */ './es6/sr-9449946e.es.js').then((m) => m.default);
2913
+ /* webpackChunkName: "messages_sr" */ './es6/sr-9b9bfc47.es.js').then((m) => m.default);
2899
2914
  break;
2900
2915
  case "sv":
2901
2916
  localizedMessages = await import(
2902
- /* webpackChunkName: "messages_sv" */ './es6/sv-b3117f27.es.js').then((m) => m.default);
2917
+ /* webpackChunkName: "messages_sv" */ './es6/sv-fb35deaf.es.js').then((m) => m.default);
2903
2918
  break;
2904
2919
  case "th":
2905
2920
  localizedMessages = await import(
2906
- /* webpackChunkName: "messages_th" */ './es6/th-1fb295d2.es.js').then((m) => m.default);
2921
+ /* webpackChunkName: "messages_th" */ './es6/th-d4647473.es.js').then((m) => m.default);
2907
2922
  break;
2908
2923
  case "tr":
2909
2924
  localizedMessages = await import(
2910
- /* webpackChunkName: "messages_tr" */ './es6/tr-b7aed90b.es.js').then((m) => m.default);
2925
+ /* webpackChunkName: "messages_tr" */ './es6/tr-afdee5e0.es.js').then((m) => m.default);
2911
2926
  break;
2912
2927
  case "zh-HK":
2913
2928
  localizedMessages = await import(
2914
- /* webpackChunkName: "messages_zh-HK" */ './es6/zh-HK-8bc1767d.es.js').then((m) => m.default);
2929
+ /* webpackChunkName: "messages_zh-HK" */ './es6/zh-HK-a648db8e.es.js').then((m) => m.default);
2915
2930
  break;
2916
2931
  case "zh":
2917
2932
  localizedMessages = await import(
2918
- /* webpackChunkName: "messages_zh" */ './es6/zh-6c863e80.es.js').then((m) => m.default);
2933
+ /* webpackChunkName: "messages_zh" */ './es6/zh-80147ef5.es.js').then((m) => m.default);
2919
2934
  break;
2920
2935
  default:
2921
2936
  logger.warn(`getMessagesModuleByLocale: Unable to load messages for ${locale}, falling back to en-US`);
@@ -4184,6 +4199,7 @@ const DECIMAL_RADIX = 10;
4184
4199
  const ADOLESCENT_AGE = 16;
4185
4200
  const MIN_BIRTHYEAR = 1900;
4186
4201
  const MAX_BIRTHYEAR = 3000;
4202
+ const MAX_METADATA_KEYS = 50;
4187
4203
  const VALID_PHONE_NUMBER_REGEXPS = [
4188
4204
  /^\+?0*\d{10,}(x[0-9]{0,5})?$/,
4189
4205
  /(^\D?(\d{3})\D?\D?(\d{3})\D?(\d{4})$)/,
@@ -4191,8 +4207,8 @@ const VALID_PHONE_NUMBER_REGEXPS = [
4191
4207
  const validateMetadata = (metadata) => {
4192
4208
  const metadataKeyCount = Object.keys(metadata).length;
4193
4209
  // TOOD: Other metadata restrictions?
4194
- if (metadataKeyCount > 20) {
4195
- logger.error("Invalid number of metadata keys (max 20)", "metadata keys");
4210
+ if (metadataKeyCount > MAX_METADATA_KEYS) {
4211
+ logger.error(`Invalid number of metadata keys (max ${MAX_METADATA_KEYS})`, "metadata keys");
4196
4212
  return false;
4197
4213
  }
4198
4214
  return true;
@@ -5021,11 +5037,12 @@ const InputText = ({ id, isErrored, className = undefined, hidePlaceholder = tru
5021
5037
  // DO NOT INJECT INTL. Localize your strings pass them down as props
5022
5038
  const InputTextComponent = InputText;
5023
5039
 
5040
+ const isEmptyText = (allegedNode) => !React.isValidElement(allegedNode) && allegedNode === "";
5024
5041
  const FieldLabel = ({ text, htmlForLabel, id, displayClasses, isRequired, children, }) => (React.createElement("label", { htmlFor: htmlForLabel },
5025
5042
  React.createElement("div", { id: id, className: `sid-field__label sid-l-space-btm-sm ${displayClasses}` },
5026
5043
  React.createElement("span", { className: "sid-field__label-name", "aria-hidden": "true" },
5027
5044
  text,
5028
- isRequired && (React.createElement("span", { "aria-hidden": "true", className: "sid-field__label--required" }, "*"))),
5045
+ isRequired && !isEmptyText(text) && (React.createElement("span", { "aria-hidden": "true", className: "sid-field__label--required" }, "*"))),
5029
5046
  children && React.createElement("div", { className: "sid-field__label-explanation" }, children))));
5030
5047
  FieldLabel.defaultProps = {
5031
5048
  id: "",
@@ -5076,20 +5093,64 @@ const Email = ({ value, isErrored, onChange, explanation, intl, onKeyDown = unde
5076
5093
  React.createElement(FormattedHTMLMessage, { id: "errorId.invalidEmail", defaultMessage: "Invalid email" }))) : null));
5077
5094
  const EmailComponent = injectIntl(Email);
5078
5095
 
5079
- const RequestOrganizationSearchResultComponent = ({ eligibleOrgs, ineligibleOrgs, }) => {
5096
+ const orgTypes = {
5097
+ university: "UNIVERSITY",
5098
+ k12: "K12",
5099
+ postSecondary: "POST_SECONDARY",
5100
+ highSchool: "HIGH_SCHOOL",
5101
+ };
5102
+ function byType(org) {
5103
+ return org.type === orgTypes[this];
5104
+ } // "this" is the second parameter (the string) provided to .filter() on the following lines. Note you can't use an arrow function b/c of `this` scoping rules. This defn can be moved outside (above) the React component as well.
5105
+ const RequestOrganizationSearchResult = ({ eligibleOrgs, ineligibleOrgs, intl, }) => {
5080
5106
  const hasMaxResults = () => eligibleOrgs.length + ineligibleOrgs.length >= requestOrganizationConstants.MAX_RESULT_SIZE;
5107
+ const eligibleUniversities = eligibleOrgs.filter(byType, "university");
5108
+ const eligibleK12 = eligibleOrgs.filter(byType, "k12");
5109
+ const eligiblePostSecondaries = eligibleOrgs.filter(byType, "postSecondary");
5110
+ const eligibleHighSchools = eligibleOrgs.filter(byType, "highSchool");
5111
+ const ineligibleUniversities = ineligibleOrgs.filter(byType, "university");
5112
+ const ineligibleK12 = ineligibleOrgs.filter(byType, "k12");
5113
+ const ineligiblePostSecondaries = ineligibleOrgs.filter(byType, "postSecondary");
5114
+ const ineligibleHighSchools = ineligibleOrgs.filter(byType, "highSchool");
5081
5115
  return (React.createElement("div", { className: "sid-l-space-top-md" },
5082
5116
  hasMaxResults() ? (React.createElement("div", { className: "sid-header__subtitle--error" },
5083
5117
  React.createElement(FormattedHTMLMessage, { id: "errorId.tooManyResults", defaultMessage: "Your search returned too many results, please refine your search and try again" }))) : null,
5084
- React.createElement("div", null,
5085
- React.createElement(FormattedHTMLMessage, { id: "eligibleOrgs", defaultMessage: "Eligible schools. Click the icon to copy name then return to the verification form:" })),
5086
- React.createElement("div", { className: "sid-l-space-top-sm" }, eligibleOrgs.length > 0 ? (eligibleOrgs.map((organization) => (React.createElement(OrganizationResultComponent, { key: organization.id, organization: organization, isEligible: true })))) : (React.createElement("div", null,
5087
- React.createElement(FormattedHTMLMessage, { id: "none", defaultMessage: "None" })))),
5088
- React.createElement("div", { className: "sid-l-space-top-md" },
5089
- React.createElement(FormattedHTMLMessage, { id: "ineligibleOrgs", defaultMessage: "Ineligible Schools. We are sorry, people from these schools are not eligible for this offer:" })),
5090
- React.createElement("div", { className: "sid-l-space-top-sm" }, ineligibleOrgs.length > 0 ? (ineligibleOrgs.map((organization) => (React.createElement(OrganizationResultComponent, { key: organization.id, organization: organization, isEligible: false })))) : (React.createElement("div", null,
5091
- React.createElement(FormattedHTMLMessage, { id: "none", defaultMessage: "None" }))))));
5092
- };
5118
+ (eligibleOrgs.length === 0 || ineligibleOrgs.length === 0) && (React.createElement("div", null,
5119
+ React.createElement(FormattedHTMLMessage, { id: "none", defaultMessage: "None" }))),
5120
+ eligibleUniversities.length > 0 && (React.createElement(React.Fragment, null,
5121
+ React.createElement("div", { className: "sid-l-space-top-sm" },
5122
+ React.createElement(FormattedHTMLMessage, { id: "orgType.university", defaultMessage: "Universities ({e})", values: { e: intl.formatHTMLMessage({ id: "orgType.eligible" }) } })),
5123
+ React.createElement("div", { className: "sid-l-space-top-sm" }, eligibleUniversities.map((organization) => (React.createElement(OrganizationResultComponent, { key: organization.id, organization: organization, isEligible: true })))))),
5124
+ eligibleK12.length > 0 && (React.createElement(React.Fragment, null,
5125
+ React.createElement("div", { className: "sid-l-space-top-sm" },
5126
+ React.createElement(FormattedHTMLMessage, { id: "orgType.k12", defaultMessage: "K12 ({e})", values: { e: intl.formatHTMLMessage({ id: "orgType.eligible" }) } })),
5127
+ React.createElement("div", { className: "sid-l-space-top-sm" }, eligibleK12.map((organization) => (React.createElement(OrganizationResultComponent, { key: organization.id, organization: organization, isEligible: true })))))),
5128
+ eligiblePostSecondaries.length > 0 && (React.createElement(React.Fragment, null,
5129
+ React.createElement("div", { className: "sid-l-space-top-sm" },
5130
+ React.createElement(FormattedHTMLMessage, { id: "orgType.postSecondary", defaultMessage: "Post Secondary Institutions ({e})", values: { e: intl.formatHTMLMessage({ id: "orgType.eligible" }) } })),
5131
+ React.createElement("div", { className: "sid-l-space-top-sm" }, eligiblePostSecondaries.map((organization) => (React.createElement(OrganizationResultComponent, { key: organization.id, organization: organization, isEligible: true })))))),
5132
+ eligibleHighSchools.length > 0 && (React.createElement(React.Fragment, null,
5133
+ React.createElement("div", { className: "sid-l-space-top-sm" },
5134
+ React.createElement(FormattedHTMLMessage, { id: "orgType.highSchool", defaultMessage: "High Schools / Secondary Schools ({e})", values: { e: intl.formatHTMLMessage({ id: "orgType.eligible" }) } })),
5135
+ React.createElement("div", { className: "sid-l-space-top-sm" }, eligibleHighSchools.map((organization) => (React.createElement(OrganizationResultComponent, { key: organization.id, organization: organization, isEligible: true })))))),
5136
+ ineligibleUniversities.length > 0 && (React.createElement(React.Fragment, null,
5137
+ React.createElement("div", { className: "sid-l-space-top-sm" },
5138
+ React.createElement(FormattedHTMLMessage, { id: "orgType.university", defaultMessage: "Universities ({e})", values: { e: intl.formatHTMLMessage({ id: "orgType.ineligible" }) } })),
5139
+ React.createElement("div", { className: "sid-l-space-top-sm" }, ineligibleUniversities.map((organization) => (React.createElement(OrganizationResultComponent, { key: organization.id, organization: organization, isEligible: false })))))),
5140
+ ineligibleK12.length > 0 && (React.createElement(React.Fragment, null,
5141
+ React.createElement("div", { className: "sid-l-space-top-sm" },
5142
+ React.createElement(FormattedHTMLMessage, { id: "orgType.k12", defaultMessage: "K12 ({e})", values: { e: intl.formatHTMLMessage({ id: "orgType.ineligible" }) } })),
5143
+ React.createElement("div", { className: "sid-l-space-top-sm" }, ineligibleK12.map((organization) => (React.createElement(OrganizationResultComponent, { key: organization.id, organization: organization, isEligible: false })))))),
5144
+ ineligiblePostSecondaries.length > 0 && (React.createElement(React.Fragment, null,
5145
+ React.createElement("div", { className: "sid-l-space-top-sm" },
5146
+ React.createElement(FormattedHTMLMessage, { id: "orgType.postSecondary", defaultMessage: "Post Secondary Institutions ({e})", values: { e: intl.formatHTMLMessage({ id: "orgType.ineligible" }) } })),
5147
+ React.createElement("div", { className: "sid-l-space-top-sm" }, ineligiblePostSecondaries.map((organization) => (React.createElement(OrganizationResultComponent, { key: organization.id, organization: organization, isEligible: false })))))),
5148
+ ineligibleHighSchools.length > 0 && (React.createElement(React.Fragment, null,
5149
+ React.createElement("div", { className: "sid-l-space-top-sm" },
5150
+ React.createElement(FormattedHTMLMessage, { id: "orgType.highSchool", defaultMessage: "High Schools / Secondary Schools ({e})", values: { e: intl.formatHTMLMessage({ id: "orgType.ineligible" }) } })),
5151
+ React.createElement("div", { className: "sid-l-space-top-sm" }, ineligibleHighSchools.map((organization) => (React.createElement(OrganizationResultComponent, { key: organization.id, organization: organization, isEligible: false }))))))));
5152
+ };
5153
+ const RequestOrganizationSearchResultComponent = injectIntl(RequestOrganizationSearchResult);
5093
5154
 
5094
5155
  const SearchFieldComponent = ({ name, label, value, placeholder, isErrored, onChange, onKeyDown, search, }) => {
5095
5156
  const handleOnKeyDown = (e) => {
@@ -9702,8 +9763,10 @@ suppressPlaceholder = true, value, autoFocus, ariaLabel, isRequired, buttonRef,
9702
9763
  onKeyDown(event);
9703
9764
  }
9704
9765
  };
9766
+ const inputRef = React.createRef();
9705
9767
  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}` },
9706
9768
  React.createElement("input", Object.assign({}, getInputProps({
9769
+ ref: inputRef,
9707
9770
  onClick: () => openMenu(),
9708
9771
  onBlur: (event) => handleOnBlur(event, selectHighlightedItem, selectedItem),
9709
9772
  onKeyDown: (event) => handleOnKeyDown(event),
@@ -9712,9 +9775,9 @@ suppressPlaceholder = true, value, autoFocus, ariaLabel, isRequired, buttonRef,
9712
9775
  // eslint-disable-next-line
9713
9776
  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 })),
9714
9777
  React.createElement(InputSelectButtonComponent, { disabled: disabled, getToggleButtonProps: getToggleButtonProps, isOpen: isOpen, clearSelection: selectedItem ? clearSelection : undefined, buttonRef: buttonRef }),
9715
- 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 })),
9778
+ 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 })),
9716
9779
  React.createElement("div", { className: "sid-input-select-list__message" },
9717
- React.createElement(FormattedHTMLMessage, { id: "noOptions", defaultMessage: "No Options" })))))) : null))));
9780
+ React.createElement(FormattedHTMLMessage, { id: "noOptions", defaultMessage: "No Options" })))))) : null)))));
9718
9781
  };
9719
9782
  InputSelect.defaultProps = {
9720
9783
  className: undefined,
@@ -9806,7 +9869,25 @@ const ChangeLocale = ({ value, options, onChange, intl, }) => {
9806
9869
  } }),
9807
9870
  React.createElement("div", { className: "sid-l-space-btm-sm" })));
9808
9871
  };
9809
- const ChangeLocaleComponent = injectIntl(ChangeLocale);
9872
+ const ChangeLocaleComponent = injectIntl(ChangeLocale);
9873
+ const ChangeLocaleV2 = ({ verificationService, intl }) => {
9874
+ const localeChoices = getAvailableLocaleChoices(verificationService.programTheme, intl);
9875
+ const defaultLocaleChoice = {
9876
+ value: "en-US",
9877
+ label: "English",
9878
+ };
9879
+ const updateLocale = (localeChoice) => {
9880
+ const nextState = fn(verificationService.viewModel, (draft) => {
9881
+ draft.localeChoice = localeChoice;
9882
+ });
9883
+ verificationService.updateLocale(nextState, verificationService.programTheme, verificationService.verificationResponse.segment);
9884
+ };
9885
+ if (localeChoices.length <= 1) {
9886
+ return null;
9887
+ }
9888
+ return (React.createElement(ChangeLocaleComponent, { options: localeChoices, value: verificationService.viewModel.localeChoice || defaultLocaleChoice, isErrored: false, onChange: (localeChoice) => updateLocale(localeChoice) }));
9889
+ };
9890
+ const ChangeLocaleV2Component = injectIntl(ChangeLocaleV2);
9810
9891
 
9811
9892
  const LoadingSpinnerComponent = () => (React.createElement("div", { className: "sid-spinner" },
9812
9893
  React.createElement("div", { className: "sid-spinner__frame" }),
@@ -10983,9 +11064,13 @@ const getRedirectUrlOverride = () => {
10983
11064
  const getErrorStepMockResponseOverrides = (mockResponse) => {
10984
11065
  const mockResponseClone = deepClone(mockResponse);
10985
11066
  const errorMock = getErrorIdOverride();
11067
+ const redirectUrlMock = getRedirectUrlOverride();
10986
11068
  if (errorMock) {
10987
11069
  mockResponseClone.errorIds = [errorMock];
10988
11070
  }
11071
+ if (redirectUrlMock) {
11072
+ mockResponseClone.redirectUrl = redirectUrlMock;
11073
+ }
10989
11074
  return mockResponseClone;
10990
11075
  };
10991
11076
  const getSuccessStepMockResponseOverrides = (mockResponse) => {
@@ -14619,6 +14704,7 @@ const verificationServiceReducer = (state = getInitialState(), action) => {
14619
14704
  case "RESET_STATE":
14620
14705
  return {
14621
14706
  ...deepClone(getInitialState()),
14707
+ programId: state.programId,
14622
14708
  };
14623
14709
  case "FORCE_UPDATE":
14624
14710
  return deepClone(state);
@@ -14653,7 +14739,7 @@ const store$1 = getStore();
14653
14739
  /**
14654
14740
  * @description Set the viewModel for the form or reset it by passing an empty object
14655
14741
  */
14656
- const setViewModel = (newViewModel, options = { partial: false }) => {
14742
+ const setViewModel = (newViewModel, options = { partial: true }) => {
14657
14743
  const state = store$1.getState();
14658
14744
  const doSet = () => {
14659
14745
  const updatedViewModel = deepClone(newViewModel);
@@ -17812,9 +17898,12 @@ var rtlDetect_1 = {
17812
17898
  rtlDetect_1.isRtlLang;
17813
17899
  rtlDetect_1.getLangDir;
17814
17900
 
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" : ""}` })));
17901
+ const OptInInput = ({ id = "new", isErrored, onChange, value, ariaLabelledby, }) => {
17902
+ const a = ariaLabelledby ? { "aria-labelledby": ariaLabelledby } : {};
17903
+ return (React.createElement("div", { className: "sid-checkbox" },
17904
+ 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 }),
17905
+ 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" }))));
17906
+ };
17818
17907
  const OptInInputComponent = OptInInput;
17819
17908
 
17820
17909
  const OptInComponent = ({ isErrored, isRequired, onChange, value, verificationService, }) => {
@@ -18368,7 +18457,7 @@ const FormFooterComponent = ({ verificationService, children }) => {
18368
18457
  }
18369
18458
  const privacyPolicyText = privacyPolicyRef.current.innerHTML.replace(cleanupCommonTags, "");
18370
18459
  const updatedViewModel = { metadata: { submissionOptIn: privacyPolicyText } };
18371
- setViewModel(updatedViewModel, { partial: true });
18460
+ setViewModel(updatedViewModel);
18372
18461
  }, [privacyPolicyRef, locale]);
18373
18462
  return (React.createElement("div", { className: "sid-footer sid-h-small-text sid-l-space-top-md" },
18374
18463
  !children && (React.createElement("div", { className: "sid-footer__shield" },
@@ -18479,14 +18568,20 @@ const HowDoesVerifyingWorkComponent = ({ verificationService, initialVisibility
18479
18568
  React.createElement(FaqLinkComponent, { verificationService: verificationService })))) : null));
18480
18569
  };
18481
18570
 
18482
- const BaseCountryComponentWrapper = ({ verificationService, viewModel, intl, viewModelDraftDecorator, }) => {
18571
+ const BaseCountryComponentWrapper = ({ verificationService, viewModelDraftDecorator = undefined, intl, viewModel = undefined, nextFocusField = undefined, }) => {
18572
+ if (viewModel) {
18573
+ logger.warn("viewModel prop is deprecated, use verificationService.viewModel instead");
18574
+ }
18575
+ if (nextFocusField) {
18576
+ logger.warn("nextFocusField prop is deprecated");
18577
+ }
18483
18578
  const countryChoices = getAvailableCountryChoices(verificationService.programTheme, intl);
18484
18579
  const defaultCountryChoice = getDefaultCountryChoice(countryChoices);
18485
18580
  const { fieldValidationErrors } = verificationService;
18486
18581
  const hasMultipleCountries = countryChoices.length > 1;
18487
18582
  const [firstRender, setFirstRender] = React.useState(true);
18488
18583
  const updateCountryChoice = (countryChoice) => {
18489
- const nextState = fn(viewModel, (draft) => {
18584
+ const nextState = fn(verificationService.viewModel, (draft) => {
18490
18585
  draft.countryChoice = countryChoice || undefined;
18491
18586
  // Adds backwards compatibility with Age and Employment programs
18492
18587
  draft.country = countryChoice ? countryChoice.value : undefined;
@@ -18499,8 +18594,8 @@ const BaseCountryComponentWrapper = ({ verificationService, viewModel, intl, vie
18499
18594
  React.useEffect(() => {
18500
18595
  if (firstRender) {
18501
18596
  setFirstRender(false);
18502
- const countryChoice = viewModel.countryChoice
18503
- ? viewModel.countryChoice
18597
+ const countryChoice = verificationService.viewModel.countryChoice
18598
+ ? verificationService.viewModel.countryChoice
18504
18599
  : defaultCountryChoice;
18505
18600
  updateCountryChoice(countryChoice);
18506
18601
  }
@@ -18508,27 +18603,28 @@ const BaseCountryComponentWrapper = ({ verificationService, viewModel, intl, vie
18508
18603
  React.useEffect(() => {
18509
18604
  const includesUS = countryChoices.some((choice) => choice.value === "US");
18510
18605
  if (!hasMultipleCountries && !includesUS) {
18511
- const fieldsToSkip = viewModel.fieldsToSkipValidation
18512
- ? [...viewModel.fieldsToSkipValidation, "country"]
18606
+ const fieldsToSkip = verificationService.viewModel.fieldsToSkipValidation
18607
+ ? [...verificationService.viewModel.fieldsToSkipValidation, "country"]
18513
18608
  : ["country", "address1", "postalCode", "state", "city"];
18514
- verificationService.updateViewModel(produceDraftViewModel(viewModel, "fieldsToSkipValidation", fieldsToSkip));
18609
+ verificationService.updateViewModel(produceDraftViewModel(verificationService.viewModel, "fieldsToSkipValidation", fieldsToSkip));
18515
18610
  }
18516
18611
  }, [hasMultipleCountries]);
18517
18612
  React.useEffect(() => {
18518
18613
  const updatedFieldValidationErrors = fn(verificationService.fieldValidationErrors, (draft) => {
18519
18614
  if (draft.country) {
18520
- draft.country = validateFieldById("country", viewModel.countryChoice, verificationService.formValidationOptions);
18615
+ draft.country = validateFieldById("country", verificationService.viewModel.countryChoice, verificationService.formValidationOptions);
18521
18616
  }
18522
- if ("postalCode" in viewModel && viewModel.postalCode) {
18523
- draft.postalCode = validateFieldById("postalCode", viewModel.postalCode, verificationService.formValidationOptions);
18617
+ if ("postalCode" in verificationService.viewModel &&
18618
+ verificationService.viewModel.postalCode) {
18619
+ draft.postalCode = validateFieldById("postalCode", verificationService.viewModel.postalCode, verificationService.formValidationOptions);
18524
18620
  }
18525
18621
  });
18526
18622
  updateFieldValidationErrors(updatedFieldValidationErrors, verificationService);
18527
- }, [viewModel.countryChoice]);
18623
+ }, [verificationService.viewModel.countryChoice]);
18528
18624
  if (!hasMultipleCountries) {
18529
18625
  return null;
18530
18626
  }
18531
- return (React.createElement(CountryComponent, { isRequired: true, options: countryChoices, value: viewModel.countryChoice, isErrored: Boolean(fieldValidationErrors.country), onChange: async (countryChoice) => {
18627
+ return (React.createElement(CountryComponent, { isRequired: true, options: countryChoices, value: verificationService.viewModel.countryChoice, isErrored: Boolean(fieldValidationErrors.country), onChange: async (countryChoice) => {
18532
18628
  const countryValue = countryChoice ? countryChoice.value : undefined;
18533
18629
  updateCountryChoice(countryChoice);
18534
18630
  updateFieldValidationErrorsByFieldId("country", countryValue, verificationService);
@@ -18547,13 +18643,25 @@ const RewardsRemainingComponent = ({ verificationService, }) => {
18547
18643
  return null;
18548
18644
  };
18549
18645
 
18646
+ const FormFieldCheckbox = ({ fieldId, value, onChange, label, errorMessage, }) => {
18647
+ const labelIntlId = `${fieldId}Label`;
18648
+ const labelHtmlId = `sid-${dashed(labelIntlId)}`;
18649
+ const setOppositeValue = () => onChange(!value);
18650
+ return (React.createElement("div", { className: `sid-field sid-${dashed(fieldId)}` },
18651
+ React.createElement("div", { className: "sid-l-space-top-md" }),
18652
+ React.createElement("div", { className: "sid-checkbox-flex" },
18653
+ React.createElement(OptInInputComponent, { id: dashed(fieldId), isErrored: !!errorMessage, value: value, onChange: setOppositeValue, ariaLabelledby: labelHtmlId }),
18654
+ React.createElement("div", { className: "sid-checkbox__label", onClick: setOppositeValue, onKeyPress: setOppositeValue, role: "button", tabIndex: 0, id: labelHtmlId }, label)),
18655
+ errorMessage && React.createElement("div", { className: "sid-field-error" }, errorMessage)));
18656
+ };
18657
+
18550
18658
  /**
18551
18659
  * Custom form field component.
18552
18660
  * Implementors can render a form field passing in config using setOptions, rather than
18553
18661
  * having to create an entire React project and override component(s).
18554
18662
  */
18555
18663
  const FormFieldCustom = injectIntl(({ config, verificationService, intl }) => {
18556
- const currentValue = getSafe(() => verificationService.viewModel.metadata[config.fieldId]) || "";
18664
+ const currentValue = getSafe(() => verificationService.viewModel.metadata[config.fieldId]);
18557
18665
  const errorId = getSafe(() => verificationService.fieldValidationErrors[config.fieldId]);
18558
18666
  const onChange = (value) => {
18559
18667
  verificationService.updateViewModel(fn(verificationService.viewModel, (draft) => {
@@ -18568,23 +18676,39 @@ const FormFieldCustom = injectIntl(({ config, verificationService, intl }) => {
18568
18676
  // Don't set error. Only do that when submit is clicked, same as jslib's built-in fields
18569
18677
  }));
18570
18678
  };
18571
- return (React.createElement(FormFieldText, { fieldId: config.fieldId, value: `${currentValue}`, onChange: onChange, placeholder: intl.formatHTMLMessage({
18572
- id: `${config.fieldId}Placeholder`,
18573
- defaultMessage: config.fieldId,
18574
- }), 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 }));
18679
+ switch (config.fieldType) {
18680
+ case "text":
18681
+ return (React.createElement(FormFieldText, { fieldId: config.fieldId, value: `${currentValue || ""}`, onChange: onChange, placeholder: intl.formatHTMLMessage({
18682
+ id: `${config.fieldId}Placeholder`,
18683
+ defaultMessage: config.fieldId,
18684
+ }), 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 }));
18685
+ case "checkbox":
18686
+ 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}` })) }));
18687
+ default:
18688
+ logger.warn(`Unknown field type: ${config.fieldType}`);
18689
+ return null;
18690
+ }
18575
18691
  });
18576
18692
 
18693
+ /**
18694
+ * Extra message component
18695
+ *
18696
+ * Easily register extra messages to specific spots in the form using this component
18697
+ *
18698
+ * These new regions do NOT have a message by default, but messages can be added simply by specifying the messageId + value
18699
+ * either in my.sheerid.com or via setOptions(). No need to override a component just to add a message as long as the ExtraMessage
18700
+ * appears in a desirable spot.
18701
+ */
18702
+ const ExtraMessage = ({ verificationService, suffix }) => verificationService.messages[`extraMessage${suffix}`] ? (React.createElement("div", { className: `sid-extra-message sid-extra-message-${suffix}` },
18703
+ React.createElement("div", { className: "sid-l-space-top-md" }),
18704
+ React.createElement(FormattedHTMLMessage, { id: `extraMessage${suffix}`, defaultMessage: " " }))) : null;
18705
+
18577
18706
  /**
18578
18707
  * TODO - preamble
18579
18708
  */
18580
- const StepStudentPersonalInfo = ({ intl, verificationService, }) => {
18709
+ const StepStudentPersonalInfo = ({ verificationService, }) => {
18581
18710
  const viewModel = verificationService.viewModel;
18582
18711
  const { fieldValidationErrors } = verificationService;
18583
- const localeChoices = getAvailableLocaleChoices(verificationService.programTheme, intl);
18584
- const defaultLocaleChoice = {
18585
- value: "en-US",
18586
- label: "English",
18587
- };
18588
18712
  const verificationResponse = verificationService.verificationResponse;
18589
18713
  const failedInstantMatch = hasFailedInstantMatch(verificationResponse);
18590
18714
  const updateStudentViewModel = (key, value) => {
@@ -18593,12 +18717,6 @@ const StepStudentPersonalInfo = ({ intl, verificationService, }) => {
18593
18717
  });
18594
18718
  verificationService.updateViewModel(nextState);
18595
18719
  };
18596
- const updateLocale = (localeChoice) => {
18597
- const nextState = fn(viewModel, (draft) => {
18598
- draft.localeChoice = localeChoice;
18599
- });
18600
- verificationService.updateLocale(nextState, verificationService.programTheme, verificationService.verificationResponse.segment);
18601
- };
18602
18720
  return (React.createElement("div", { id: "sid-step-student-personal-info", className: "sid-l-container" },
18603
18721
  failedInstantMatch ? (React.createElement("div", { className: "sid-header" },
18604
18722
  React.createElement("div", { className: "sid-l-horz-center" },
@@ -18616,8 +18734,8 @@ const StepStudentPersonalInfo = ({ intl, verificationService, }) => {
18616
18734
  "\u00A0",
18617
18735
  React.createElement(HowDoesVerifyingWorkComponent, { verificationService: verificationService }),
18618
18736
  React.createElement(RewardsRemainingComponent, { verificationService: verificationService })))),
18619
- localeChoices.length > 1 ? (React.createElement(ChangeLocaleComponent, { options: localeChoices, value: viewModel.localeChoice || defaultLocaleChoice, isErrored: false, onChange: (localeChoice) => updateLocale(localeChoice) })) : null,
18620
- React.createElement(CountryComponentWrapper, { verificationService: verificationService, viewModel: viewModel }),
18737
+ React.createElement(ChangeLocaleV2Component, { verificationService: verificationService }),
18738
+ React.createElement(CountryComponentWrapper, { verificationService: verificationService }),
18621
18739
  React.createElement(CollegeNameComponent, { value: verificationService.viewModel.organization, verificationService: verificationService, isErrored: !!fieldValidationErrors.organization, isRequired: true, onChange: (choice) => {
18622
18740
  updateViewModelOrganization(choice, verificationService);
18623
18741
  updateFieldValidationErrorsByFieldId("organization", choice, verificationService);
@@ -18652,6 +18770,7 @@ const StepStudentPersonalInfo = ({ intl, verificationService, }) => {
18652
18770
  });
18653
18771
  updateFieldValidationErrorsByFieldId("marketConsentValue", newValue, verificationService);
18654
18772
  }, viewModel: viewModel }),
18773
+ React.createElement(ExtraMessage, { verificationService: verificationService, suffix: "CollectAboveSubmit" }),
18655
18774
  React.createElement("div", { className: "sid-form-region sid-submit-wrapper sid-l-space-top-md" },
18656
18775
  React.createElement("div", { className: "sid-submit" },
18657
18776
  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)
@@ -18660,7 +18779,7 @@ const StepStudentPersonalInfo = ({ intl, verificationService, }) => {
18660
18779
  React.createElement("span", { id: "verify-status-text" }, failedInstantMatch ? (React.createElement(FormattedHTMLMessage, { id: "tryAgain", defaultMessage: "Try Again" })) : (React.createElement(FormattedHTMLMessage, { id: "verifyMyStudentStatus", defaultMessage: "Verify My Student Status" })))))),
18661
18780
  React.createElement(FormFooterComponent, { verificationService: verificationService })));
18662
18781
  };
18663
- const StepStudentPersonalInfoComponent = injectIntl(StepStudentPersonalInfo);
18782
+ const StepStudentPersonalInfoComponent = StepStudentPersonalInfo;
18664
18783
 
18665
18784
  const PostalCodeInput = ({ onChange, value, isValid, intl, placeholder = "", ariaLabelledBy, }) => (React.createElement(InputTextComponent, { id: "postal-code", isErrored: !isValid, onChange: (e) => onChange(e.target.value), pattern: "[a-zA-Z0-9 ]*", placeholder: placeholder ||
18666
18785
  intl.formatHTMLMessage({ id: "postalCodePlaceholder", defaultMessage: "Postal Code" }), refId: "postalCode", value: value, required: true, "aria-labelledby": ariaLabelledBy }));
@@ -18690,7 +18809,7 @@ const StepSeniorPersonalInfo = ({ verificationService }) => {
18690
18809
  });
18691
18810
  verificationService.updateViewModel(nextState);
18692
18811
  };
18693
- return (React.createElement("div", { id: "sid-step-student-personal-info", className: "sid-l-container" },
18812
+ return (React.createElement("div", { id: "sid-step-senior-personal-info", className: "sid-l-container" },
18694
18813
  failedInstantMatch ? (React.createElement("div", { className: "sid-header" },
18695
18814
  React.createElement("div", { className: "sid-l-horz-center" },
18696
18815
  React.createElement(LogoComponent, { verificationService: verificationService })),
@@ -18707,6 +18826,7 @@ const StepSeniorPersonalInfo = ({ verificationService }) => {
18707
18826
  "\u00A0",
18708
18827
  React.createElement(HowDoesVerifyingWorkComponent, { verificationService: verificationService }),
18709
18828
  React.createElement(RewardsRemainingComponent, { verificationService: verificationService })))),
18829
+ React.createElement(ChangeLocaleV2Component, { verificationService: verificationService }),
18710
18830
  React.createElement("div", { className: "sid-names" },
18711
18831
  React.createElement(FirstNameComponent, { value: viewModel.firstName, isErrored: !!fieldValidationErrors.firstName, onChange: (newValue) => {
18712
18832
  updateSeniorViewModel("firstName", newValue);
@@ -18741,6 +18861,7 @@ const StepSeniorPersonalInfo = ({ verificationService }) => {
18741
18861
  });
18742
18862
  updateFieldValidationErrorsByFieldId("marketConsentValue", newValue, verificationService);
18743
18863
  }, viewModel: viewModel }),
18864
+ React.createElement(ExtraMessage, { verificationService: verificationService, suffix: "CollectAboveSubmit" }),
18744
18865
  React.createElement("div", { className: "sid-form-region sid-submit-wrapper sid-l-space-top-md" },
18745
18866
  React.createElement("div", { className: "sid-submit" },
18746
18867
  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)
@@ -18855,7 +18976,8 @@ const StepAgePersonalInfo = ({ verificationService, intl }) => {
18855
18976
  "\u00A0",
18856
18977
  React.createElement(HowDoesVerifyingWorkComponent, { verificationService: verificationService }),
18857
18978
  React.createElement(RewardsRemainingComponent, { verificationService: verificationService })))),
18858
- React.createElement(CountryComponentWrapper, { verificationService: verificationService, viewModel: viewModel, viewModelDraftDecorator: (draft, countryChoice) => {
18979
+ React.createElement(ChangeLocaleV2Component, { verificationService: verificationService }),
18980
+ React.createElement(CountryComponentWrapper, { verificationService: verificationService, viewModelDraftDecorator: (draft, countryChoice) => {
18859
18981
  const viewModelDraft = draft;
18860
18982
  const country = countryChoice ? countryChoice.value : undefined;
18861
18983
  if (!displayPhoneNumber(country, smsLoopEnabled)) {
@@ -18903,6 +19025,7 @@ const StepAgePersonalInfo = ({ verificationService, intl }) => {
18903
19025
  });
18904
19026
  updateFieldValidationErrorsByFieldId("marketConsentValue", newValue, verificationService);
18905
19027
  }, viewModel: viewModel }),
19028
+ React.createElement(ExtraMessage, { verificationService: verificationService, suffix: "CollectAboveSubmit" }),
18906
19029
  React.createElement("div", { className: "sid-form-region sid-submit-wrapper sid-l-space-top-md" },
18907
19030
  React.createElement("div", { className: "sid-submit" },
18908
19031
  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)
@@ -18937,32 +19060,17 @@ const TeacherSchool = ({ value, isErrored, onChange, verificationService, intl,
18937
19060
  };
18938
19061
  const TeacherSchoolComponent = injectIntl(TeacherSchool);
18939
19062
 
18940
- /**
18941
- * Step Teacher Personal Info Component
18942
- * TODO - We need to import more from es6
18943
- */
18944
- const StepTeacherPersonalInfo = ({ intl, verificationService, }) => {
19063
+ const StepTeacherPersonalInfo = ({ verificationService, }) => {
18945
19064
  const viewModel = verificationService.viewModel;
18946
19065
  const { fieldValidationErrors } = verificationService;
18947
19066
  const verificationResponse = verificationService.verificationResponse;
18948
19067
  const failedInstantMatch = hasFailedInstantMatch(verificationResponse);
18949
- const localeChoices = getAvailableLocaleChoices(verificationService.programTheme, intl);
18950
- const defaultLocaleChoice = {
18951
- value: "en-US",
18952
- label: "English",
18953
- };
18954
19068
  const updateTeacherViewModel = (key, value) => {
18955
19069
  const nextState = fn(viewModel, (draft) => {
18956
19070
  draft[key] = value;
18957
19071
  });
18958
19072
  verificationService.updateViewModel(nextState);
18959
19073
  };
18960
- const updateLocale = (localeChoice) => {
18961
- const nextState = fn(viewModel, (draft) => {
18962
- draft.localeChoice = localeChoice;
18963
- });
18964
- verificationService.updateLocale(nextState, verificationService.programTheme, verificationService.verificationResponse.segment);
18965
- };
18966
19074
  // Don't validate DOB if ID Check is not enabled
18967
19075
  useEffect(() => {
18968
19076
  if (!verificationService.programTheme.idCheckAddOnEnabled) {
@@ -18990,8 +19098,8 @@ const StepTeacherPersonalInfo = ({ intl, verificationService, }) => {
18990
19098
  "\u00A0",
18991
19099
  React.createElement(HowDoesVerifyingWorkComponent, { verificationService: verificationService }),
18992
19100
  React.createElement(RewardsRemainingComponent, { verificationService: verificationService })))),
18993
- localeChoices.length > 1 ? (React.createElement(ChangeLocaleComponent, { options: localeChoices, value: viewModel.localeChoice || defaultLocaleChoice, isErrored: false, onChange: (localeChoice) => updateLocale(localeChoice) })) : null,
18994
- React.createElement(CountryComponentWrapper, { verificationService: verificationService, viewModel: viewModel }),
19101
+ React.createElement(ChangeLocaleV2Component, { verificationService: verificationService }),
19102
+ React.createElement(CountryComponentWrapper, { verificationService: verificationService }),
18995
19103
  React.createElement(TeacherSchoolComponent, { value: verificationService.viewModel.organization, verificationService: verificationService, isErrored: !!fieldValidationErrors.organization, onChange: (choice) => {
18996
19104
  updateViewModelOrganization(choice, verificationService);
18997
19105
  updateFieldValidationErrorsByFieldId("organization", choice, verificationService);
@@ -19030,6 +19138,7 @@ const StepTeacherPersonalInfo = ({ intl, verificationService, }) => {
19030
19138
  });
19031
19139
  updateFieldValidationErrorsByFieldId("marketConsentValue", newValue, verificationService);
19032
19140
  }, viewModel: viewModel }),
19141
+ React.createElement(ExtraMessage, { verificationService: verificationService, suffix: "CollectAboveSubmit" }),
19033
19142
  React.createElement("div", { className: "sid-form-region sid-submit-wrapper sid-l-space-top-md" },
19034
19143
  React.createElement("div", { className: "sid-submit" },
19035
19144
  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)
@@ -19038,7 +19147,7 @@ const StepTeacherPersonalInfo = ({ intl, verificationService, }) => {
19038
19147
  React.createElement("span", { id: "verify-status-text" }, failedInstantMatch ? (React.createElement(FormattedHTMLMessage, { id: "tryAgain", defaultMessage: "Try Again" })) : (React.createElement(FormattedHTMLMessage, { id: "verifyMyTeacherStatus", defaultMessage: "Verify My Teacher Status" })))))),
19039
19148
  React.createElement(FormFooterComponent, { verificationService: verificationService })));
19040
19149
  };
19041
- const StepTeacherPersonalInfoComponent = injectIntl(StepTeacherPersonalInfo);
19150
+ const StepTeacherPersonalInfoComponent = StepTeacherPersonalInfo;
19042
19151
 
19043
19152
  const MemberId = ({ value, isErrored, onChange, explanation, intl, placeholder = "", isRequired = false, label, }) => {
19044
19153
  const getDefaultExplanation = () => !isRequired ? React.createElement(FormattedHTMLMessage, { id: "optional", defaultMessage: "Optional" }) : "";
@@ -19067,31 +19176,17 @@ const MembershipOrganization = ({ value, isErrored, onChange, verificationServic
19067
19176
  };
19068
19177
  const MembershipOrganizationComponent = injectIntl(MembershipOrganization);
19069
19178
 
19070
- /**
19071
- * Step Member Personal Info Component
19072
- */
19073
- const StepMemberPersonalInfo = ({ intl, verificationService, }) => {
19179
+ const StepMemberPersonalInfo = ({ verificationService }) => {
19074
19180
  const viewModel = verificationService.viewModel;
19075
19181
  const { fieldValidationErrors } = verificationService;
19076
19182
  const verificationResponse = verificationService.verificationResponse;
19077
19183
  const failedInstantMatch = hasFailedInstantMatch(verificationResponse);
19078
- const localeChoices = getAvailableLocaleChoices(verificationService.programTheme, intl);
19079
- const defaultLocaleChoice = {
19080
- value: "en-US",
19081
- label: "English",
19082
- };
19083
19184
  const updateMemberViewModel = (key, value) => {
19084
19185
  const nextState = fn(viewModel, (draft) => {
19085
19186
  draft[key] = value;
19086
19187
  });
19087
19188
  verificationService.updateViewModel(nextState);
19088
19189
  };
19089
- const updateLocale = (localeChoice) => {
19090
- const nextState = fn(viewModel, (draft) => {
19091
- draft.localeChoice = localeChoice;
19092
- });
19093
- verificationService.updateLocale(nextState, verificationService.programTheme, verificationService.verificationResponse.segment);
19094
- };
19095
19190
  return (React.createElement("div", { id: "sid-step-member-personal-info", className: "sid-l-container" },
19096
19191
  failedInstantMatch ? (React.createElement("div", { className: "sid-header" },
19097
19192
  React.createElement("div", { className: "sid-l-horz-center" },
@@ -19109,8 +19204,8 @@ const StepMemberPersonalInfo = ({ intl, verificationService, }) => {
19109
19204
  "\u00A0",
19110
19205
  React.createElement(HowDoesVerifyingWorkComponent, { verificationService: verificationService }),
19111
19206
  React.createElement(RewardsRemainingComponent, { verificationService: verificationService })))),
19112
- localeChoices.length > 1 ? (React.createElement(ChangeLocaleComponent, { options: localeChoices, value: viewModel.localeChoice || defaultLocaleChoice, isErrored: false, onChange: (localeChoice) => updateLocale(localeChoice) })) : null,
19113
- React.createElement(CountryComponentWrapper, { verificationService: verificationService, viewModel: viewModel }),
19207
+ React.createElement(ChangeLocaleV2Component, { verificationService: verificationService }),
19208
+ React.createElement(CountryComponentWrapper, { verificationService: verificationService }),
19114
19209
  React.createElement(MembershipOrganizationComponent, { value: verificationService.viewModel.organization, verificationService: verificationService, isErrored: !!fieldValidationErrors.organization, onChange: (choice) => {
19115
19210
  updateViewModelOrganization(choice, verificationService);
19116
19211
  updateFieldValidationErrorsByFieldId("organization", choice, verificationService);
@@ -19149,6 +19244,7 @@ const StepMemberPersonalInfo = ({ intl, verificationService, }) => {
19149
19244
  });
19150
19245
  updateFieldValidationErrorsByFieldId("marketConsentValue", newValue, verificationService);
19151
19246
  }, viewModel: viewModel }),
19247
+ React.createElement(ExtraMessage, { verificationService: verificationService, suffix: "CollectAboveSubmit" }),
19152
19248
  React.createElement("div", { className: "sid-form-region sid-submit-wrapper sid-l-space-top-md" },
19153
19249
  React.createElement("div", { className: "sid-submit" },
19154
19250
  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)
@@ -19157,7 +19253,7 @@ const StepMemberPersonalInfo = ({ intl, verificationService, }) => {
19157
19253
  React.createElement("span", { id: "verify-status-text" }, failedInstantMatch ? (React.createElement(FormattedHTMLMessage, { id: "tryAgain", defaultMessage: "Try Again" })) : (React.createElement(FormattedHTMLMessage, { id: "verifyMyMembershipStatus", defaultMessage: "Verify My Membership Status" })))))),
19158
19254
  React.createElement(FormFooterComponent, { verificationService: verificationService })));
19159
19255
  };
19160
- const StepMemberPersonalInfoComponent = injectIntl(StepMemberPersonalInfo);
19256
+ const StepMemberPersonalInfoComponent = StepMemberPersonalInfo;
19161
19257
 
19162
19258
  const compareLabel = (a, b) => {
19163
19259
  let sortValue;
@@ -19300,7 +19396,8 @@ const StepActiveMilitaryPersonalInfo = ({ intl, verificationService, }) => {
19300
19396
  React.createElement("div", { className: "sid-header__how-verifying-works sid-l-horz-center" },
19301
19397
  React.createElement(HowDoesVerifyingWorkComponent, { verificationService: verificationService }),
19302
19398
  React.createElement(RewardsRemainingComponent, { verificationService: verificationService })))),
19303
- React.createElement(CountryComponentWrapper, { verificationService: verificationService, viewModel: viewModel }),
19399
+ React.createElement(ChangeLocaleV2Component, { verificationService: verificationService }),
19400
+ React.createElement(CountryComponentWrapper, { verificationService: verificationService }),
19304
19401
  availableStatuses ? (React.createElement(MilitaryStatusComponent, { value: {
19305
19402
  value: viewModel.status,
19306
19403
  label: getStatusLabel(intl, viewModel.status, MilitaryStatusDefaultMessagesEnum),
@@ -19349,6 +19446,7 @@ const StepActiveMilitaryPersonalInfo = ({ intl, verificationService, }) => {
19349
19446
  });
19350
19447
  updateFieldValidationErrorsByFieldId("marketConsentValue", newValue, verificationService);
19351
19448
  }, viewModel: viewModel }),
19449
+ React.createElement(ExtraMessage, { verificationService: verificationService, suffix: "CollectAboveSubmit" }),
19352
19450
  React.createElement("div", { className: "sid-form-region sid-submit-wrapper sid-l-space-top-md" },
19353
19451
  React.createElement("div", { className: "sid-submit" },
19354
19452
  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)
@@ -19509,7 +19607,8 @@ const StepInactiveMilitaryPersonalInfo = ({ intl, verificationService, }) => {
19509
19607
  "\u00A0",
19510
19608
  React.createElement(HowDoesVerifyingWorkComponent, { verificationService: verificationService }),
19511
19609
  React.createElement(RewardsRemainingComponent, { verificationService: verificationService })))),
19512
- React.createElement(CountryComponentWrapper, { verificationService: verificationService, viewModel: viewModel }),
19610
+ React.createElement(ChangeLocaleV2Component, { verificationService: verificationService }),
19611
+ React.createElement(CountryComponentWrapper, { verificationService: verificationService }),
19513
19612
  availableStatuses ? (React.createElement(MilitaryStatusComponent, { value: {
19514
19613
  value: viewModel.status,
19515
19614
  label: getStatusLabel(intl, viewModel.status, MilitaryStatusDefaultMessagesEnum),
@@ -19560,6 +19659,7 @@ const StepInactiveMilitaryPersonalInfo = ({ intl, verificationService, }) => {
19560
19659
  });
19561
19660
  updateFieldValidationErrorsByFieldId("marketConsentValue", newValue, verificationService);
19562
19661
  }, viewModel: viewModel }),
19662
+ React.createElement(ExtraMessage, { verificationService: verificationService, suffix: "CollectAboveSubmit" }),
19563
19663
  React.createElement("div", { className: "sid-form-region sid-submit-wrapper sid-l-space-top-md" },
19564
19664
  React.createElement("div", { className: "sid-submit" },
19565
19665
  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)
@@ -19647,7 +19747,8 @@ const StepFirstResponderPersonalInfo = ({ intl, verificationService, }) => {
19647
19747
  React.createElement("div", { className: "sid-header__how-verifying-works sid-l-horz-center" },
19648
19748
  React.createElement(HowDoesVerifyingWorkComponent, { verificationService: verificationService }),
19649
19749
  React.createElement(RewardsRemainingComponent, { verificationService: verificationService })))),
19650
- React.createElement(CountryComponentWrapper, { verificationService: verificationService, viewModel: viewModel }),
19750
+ React.createElement(ChangeLocaleV2Component, { verificationService: verificationService }),
19751
+ React.createElement(CountryComponentWrapper, { verificationService: verificationService }),
19651
19752
  React.createElement(FirstResponderStatusComponent, { value: {
19652
19753
  value: viewModel.status,
19653
19754
  label: getStatusLabel(intl, viewModel.status, FirstResponderStatusDefaultMessagesEnum),
@@ -19693,6 +19794,7 @@ const StepFirstResponderPersonalInfo = ({ intl, verificationService, }) => {
19693
19794
  });
19694
19795
  updateFieldValidationErrorsByFieldId("marketConsentValue", newValue, verificationService);
19695
19796
  }, viewModel: viewModel }),
19797
+ React.createElement(ExtraMessage, { verificationService: verificationService, suffix: "CollectAboveSubmit" }),
19696
19798
  React.createElement("div", { className: "sid-form-region sid-submit-wrapper sid-l-space-top-md" },
19697
19799
  React.createElement("div", { className: "sid-submit" },
19698
19800
  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)
@@ -19801,7 +19903,8 @@ const StepMedicalProfessionalPersonalInfo = ({ intl, verificationService, }) =>
19801
19903
  React.createElement("div", { className: "sid-header__how-verifying-works sid-l-horz-center" },
19802
19904
  React.createElement(HowDoesVerifyingWorkComponent, { verificationService: verificationService }),
19803
19905
  React.createElement(RewardsRemainingComponent, { verificationService: verificationService })))),
19804
- React.createElement(CountryComponentWrapper, { verificationService: verificationService, viewModel: viewModel }),
19906
+ React.createElement(ChangeLocaleV2Component, { verificationService: verificationService }),
19907
+ React.createElement(CountryComponentWrapper, { verificationService: verificationService }),
19805
19908
  React.createElement(MedicalStatusComponent, { value: {
19806
19909
  value: viewModel.status,
19807
19910
  label: getStatusLabel(intl, viewModel.status, MedicalProfessionalStatusDefaultMessagesEnum),
@@ -19851,6 +19954,7 @@ const StepMedicalProfessionalPersonalInfo = ({ intl, verificationService, }) =>
19851
19954
  });
19852
19955
  updateFieldValidationErrorsByFieldId("marketConsentValue", newValue, verificationService);
19853
19956
  }, viewModel: viewModel }),
19957
+ React.createElement(ExtraMessage, { verificationService: verificationService, suffix: "CollectAboveSubmit" }),
19854
19958
  React.createElement("div", { className: "sid-form-region sid-submit-wrapper sid-l-space-top-md" },
19855
19959
  React.createElement("div", { className: "sid-submit" },
19856
19960
  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)
@@ -19861,13 +19965,33 @@ const StepMedicalProfessionalPersonalInfo = ({ intl, verificationService, }) =>
19861
19965
  };
19862
19966
  const StepMedicalProfessionalPersonalInfoComponent = injectIntl(StepMedicalProfessionalPersonalInfo);
19863
19967
 
19864
- const State = ({ value, isErrored, onChange, intl, onKeyDown = undefined, placeholder = "", }) => (React.createElement("div", { className: "sid-field sid-state" },
19865
- React.createElement("div", { className: "sid-l-space-top-md" }),
19866
- 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" }),
19867
- 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" }),
19868
- isErrored ? (React.createElement("div", { className: "sid-field-error" },
19869
- React.createElement(FormattedHTMLMessage, { id: "errorId.invalidState", defaultMessage: "Invalid state" }))) : null));
19870
- const StateComponent = injectIntl(State);
19968
+ const StateSelect = ({ value, isErrored, options, onChange, intl, placeholder = "", label = "", isRequired = false, }) => {
19969
+ const stateFieldId = "sid-state";
19970
+ const handleOnKeyDown = (event) => {
19971
+ if (event.key === "Tab" && !event.shiftKey) {
19972
+ event.preventDefault();
19973
+ setFocus("inputSelectButtonState");
19974
+ }
19975
+ };
19976
+ return (React.createElement("div", { className: `sid-field ${stateFieldId}__select` },
19977
+ React.createElement("div", { className: "sid-l-space-top-md" }),
19978
+ 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 }),
19979
+ 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({
19980
+ id: "statePlaceholder",
19981
+ defaultMessage: "State",
19982
+ }), value: value
19983
+ ? {
19984
+ value,
19985
+ label: intl.formatHTMLMessage({
19986
+ id: `states.${value}`,
19987
+ defaultMessage: value.label || value,
19988
+ }),
19989
+ }
19990
+ : undefined, suppressPlaceholder: false, isRequired: isRequired, buttonRef: "inputSelectButtonState" }),
19991
+ isErrored ? (React.createElement("div", { className: "sid-field-error" },
19992
+ React.createElement(FormattedHTMLMessage, { id: "errorId.invalidState", defaultMessage: "Invalid state" }))) : null));
19993
+ };
19994
+ const StateSelectComponent = injectIntl(StateSelect);
19871
19995
 
19872
19996
  const Company = ({ onChange, value, isErrored, verificationService, intl, placeholder = "", }) => {
19873
19997
  const { programId } = verificationService;
@@ -19884,7 +20008,7 @@ const CompanyComponent = injectIntl(Company);
19884
20008
  /**
19885
20009
  * TODO - preamble
19886
20010
  */
19887
- const StepEmploymentPersonalInfo = ({ verificationService, }) => {
20011
+ const StepEmploymentPersonalInfo = ({ intl, verificationService, }) => {
19888
20012
  const viewModel = verificationService.viewModel;
19889
20013
  const { fieldValidationErrors } = verificationService;
19890
20014
  const updateEmploymentViewModel = (key, value) => {
@@ -19904,7 +20028,8 @@ const StepEmploymentPersonalInfo = ({ verificationService, }) => {
19904
20028
  "\u00A0",
19905
20029
  React.createElement(HowDoesVerifyingWorkComponent, { verificationService: verificationService }),
19906
20030
  React.createElement(RewardsRemainingComponent, { verificationService: verificationService }))),
19907
- React.createElement(CountryComponentWrapper, { verificationService: verificationService, viewModel: viewModel, viewModelDraftDecorator: (draft, countryChoice) => {
20031
+ React.createElement(ChangeLocaleV2Component, { verificationService: verificationService }),
20032
+ React.createElement(CountryComponentWrapper, { verificationService: verificationService, viewModelDraftDecorator: (draft, countryChoice) => {
19908
20033
  const viewModel = draft;
19909
20034
  viewModel.shouldCollectAddress = shouldCollectAddressFields(countryChoice, verificationService.programTheme.config.countries);
19910
20035
  if (!viewModel.shouldCollectAddress) {
@@ -19940,10 +20065,11 @@ const StepEmploymentPersonalInfo = ({ verificationService, }) => {
19940
20065
  updateEmploymentViewModel("city", newValue);
19941
20066
  updateFieldValidationErrorsByFieldId("city", newValue, verificationService);
19942
20067
  }, value: viewModel.city, isRequired: true }),
19943
- React.createElement(StateComponent, { isErrored: !!fieldValidationErrors.state, errorId: fieldValidationErrors.state, onChange: (newValue) => {
19944
- updateEmploymentViewModel("state", newValue);
19945
- updateFieldValidationErrorsByFieldId("state", newValue, verificationService);
19946
- }, value: viewModel.state }),
20068
+ React.createElement(StateSelectComponent, { isRequired: true, options: getAvailableStateChoices(verificationService.programTheme, intl), value: viewModel.state || undefined, isErrored: Boolean(fieldValidationErrors.state), onChange: async (stateChoice) => {
20069
+ const stateValue = stateChoice ? stateChoice.value : undefined;
20070
+ updateEmploymentViewModel("state", stateValue);
20071
+ updateFieldValidationErrorsByFieldId("state", stateValue, verificationService);
20072
+ }, label: React.createElement(FormattedHTMLMessage, { id: "state", defaultMessage: "State" }) }),
19947
20073
  React.createElement(PostalCodeComponent, { isErrored: !!fieldValidationErrors.postalCode, onChange: (newValue) => {
19948
20074
  updateEmploymentViewModel("postalCode", newValue);
19949
20075
  updateFieldValidationErrorsByFieldId("postalCode", newValue, verificationService);
@@ -19965,6 +20091,7 @@ const StepEmploymentPersonalInfo = ({ verificationService, }) => {
19965
20091
  });
19966
20092
  updateFieldValidationErrorsByFieldId("marketConsentValue", newValue, verificationService);
19967
20093
  }, viewModel: viewModel }),
20094
+ React.createElement(ExtraMessage, { verificationService: verificationService, suffix: "CollectAboveSubmit" }),
19968
20095
  React.createElement("div", { className: "sid-form-region sid-submit-wrapper sid-l-space-top-md" },
19969
20096
  React.createElement("div", { className: "sid-submit" },
19970
20097
  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)
@@ -19992,29 +20119,6 @@ const DriverLicenseNumber = ({ value, isErrored, onChange, explanation, intl, pl
19992
20119
  };
19993
20120
  const DriverLicenseNumberComponent = injectIntl(DriverLicenseNumber);
19994
20121
 
19995
- const StateSelect = ({ value, isErrored, options, onChange, onKeyDown, intl, placeholder = "", label = "", isRequired = false, }) => {
19996
- const inputId = "sid-state";
19997
- return (React.createElement("div", { className: `sid-field ${inputId}` },
19998
- React.createElement("div", { className: "sid-l-space-top-md" }),
19999
- 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 }),
20000
- React.createElement(InputSelectComponent, { fieldId: "state", inputId: inputId, fieldLabelId: `${inputId}-label`, isErrored: isErrored, options: options, onChange: (state) => onChange(state), onKeyDown: onKeyDown, placeholder: placeholder ||
20001
- intl.formatHTMLMessage({
20002
- id: "statePlaceholder",
20003
- defaultMessage: "State",
20004
- }), value: value
20005
- ? {
20006
- value: value.value,
20007
- label: intl.formatHTMLMessage({
20008
- id: `states.${value.value}`,
20009
- defaultMessage: value.label || value.value,
20010
- }),
20011
- }
20012
- : undefined }),
20013
- isErrored ? (React.createElement("div", { className: "sid-field-error" },
20014
- React.createElement(FormattedHTMLMessage, { id: "errorId.invalidState", defaultMessage: "Invalid state" }))) : null));
20015
- };
20016
- const StateSelectComponent = injectIntl(StateSelect);
20017
-
20018
20122
  /**
20019
20123
  * TODO - preamble
20020
20124
  */
@@ -20048,6 +20152,7 @@ const StepDriverLicensePersonalInfo = ({ intl, verificationService, }) => {
20048
20152
  React.createElement("div", { className: "sid-header__how-verifying-works sid-l-horz-center" },
20049
20153
  React.createElement(HowDoesVerifyingWorkComponent, { verificationService: verificationService }),
20050
20154
  React.createElement(RewardsRemainingComponent, { verificationService: verificationService })))),
20155
+ React.createElement(ChangeLocaleV2Component, { verificationService: verificationService }),
20051
20156
  React.createElement("div", { className: "sid-names" },
20052
20157
  React.createElement(FirstNameComponent, { value: viewModel.firstName, isErrored: !!fieldValidationErrors.firstName, onChange: (newValue) => {
20053
20158
  updateIdentityViewModel("firstName", newValue);
@@ -20083,6 +20188,7 @@ const StepDriverLicensePersonalInfo = ({ intl, verificationService, }) => {
20083
20188
  });
20084
20189
  updateFieldValidationErrorsByFieldId("marketConsentValue", newValue, verificationService);
20085
20190
  }, viewModel: viewModel }),
20191
+ React.createElement(ExtraMessage, { verificationService: verificationService, suffix: "CollectAboveSubmit" }),
20086
20192
  React.createElement("div", { className: "sid-form-region sid-submit-wrapper sid-l-space-top-md" },
20087
20193
  React.createElement("div", { className: "sid-submit" },
20088
20194
  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)
@@ -20126,6 +20232,7 @@ const StepGeneralIdentityPersonalInfo = ({ intl, verificationService, }) => {
20126
20232
  React.createElement("div", { className: "sid-header__how-verifying-works sid-l-horz-center" },
20127
20233
  React.createElement(HowDoesVerifyingWorkComponent, { verificationService: verificationService }),
20128
20234
  React.createElement(RewardsRemainingComponent, { verificationService: verificationService })))),
20235
+ React.createElement(ChangeLocaleV2Component, { verificationService: verificationService }),
20129
20236
  React.createElement("div", { className: "sid-names" },
20130
20237
  React.createElement(FirstNameComponent, { value: viewModel.firstName, isErrored: !!fieldValidationErrors.firstName, onChange: (newValue) => {
20131
20238
  updateIdentityViewModel("firstName", newValue);
@@ -20174,6 +20281,7 @@ const StepGeneralIdentityPersonalInfo = ({ intl, verificationService, }) => {
20174
20281
  });
20175
20282
  updateFieldValidationErrorsByFieldId("marketConsentValue", newValue, verificationService);
20176
20283
  }, viewModel: viewModel }),
20284
+ React.createElement(ExtraMessage, { verificationService: verificationService, suffix: "CollectAboveSubmit" }),
20177
20285
  React.createElement("div", { className: "sid-form-region sid-submit-wrapper sid-l-space-top-md" },
20178
20286
  React.createElement("div", { className: "sid-submit" },
20179
20287
  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)
@@ -20217,6 +20325,7 @@ const StepHybridIdentityPersonalInfo = ({ intl, verificationService, }) => {
20217
20325
  React.createElement("div", { className: "sid-header__how-verifying-works sid-l-horz-center" },
20218
20326
  React.createElement(HowDoesVerifyingWorkComponent, { verificationService: verificationService }),
20219
20327
  React.createElement(RewardsRemainingComponent, { verificationService: verificationService })))),
20328
+ React.createElement(ChangeLocaleV2Component, { verificationService: verificationService }),
20220
20329
  React.createElement("div", { className: "sid-names" },
20221
20330
  React.createElement(FirstNameComponent, { value: viewModel.firstName, isErrored: !!fieldValidationErrors.firstName, onChange: (newValue) => {
20222
20331
  updateIdentityViewModel("firstName", newValue);
@@ -20269,6 +20378,7 @@ const StepHybridIdentityPersonalInfo = ({ intl, verificationService, }) => {
20269
20378
  });
20270
20379
  updateFieldValidationErrorsByFieldId("marketConsentValue", newValue, verificationService);
20271
20380
  }, viewModel: viewModel }),
20381
+ React.createElement(ExtraMessage, { verificationService: verificationService, suffix: "CollectAboveSubmit" }),
20272
20382
  React.createElement("div", { className: "sid-form-region sid-submit-wrapper sid-l-space-top-md" },
20273
20383
  React.createElement("div", { className: "sid-submit" },
20274
20384
  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)
@@ -20344,7 +20454,9 @@ const StepLicensedProfessionalPersonalInfo = ({ intl, verificationService, }) =>
20344
20454
  return availableStatuses;
20345
20455
  };
20346
20456
  return (React.createElement("div", { id: "sid-step-licensed-professional-personal-info", className: "sid-l-container" },
20347
- failedInstantMatch ? (React.createElement("p", null, "Failied instant match")) : (React.createElement("div", { className: "sid-header" },
20457
+ failedInstantMatch ? (
20458
+ // TODO localize this message
20459
+ React.createElement("p", null, "Failied instant match")) : (React.createElement("div", { className: "sid-header" },
20348
20460
  React.createElement("div", { className: "sid-l-horz-center" },
20349
20461
  React.createElement(LogoComponent, { verificationService: verificationService })),
20350
20462
  React.createElement("div", { className: "sid-header__title sid-l-horz-center" },
@@ -20354,6 +20466,8 @@ const StepLicensedProfessionalPersonalInfo = ({ intl, verificationService, }) =>
20354
20466
  React.createElement("div", { className: "sid-header__how-verifying-works sid-l-horz-center" },
20355
20467
  React.createElement(HowDoesVerifyingWorkComponent, { verificationService: verificationService }),
20356
20468
  React.createElement(RewardsRemainingComponent, { verificationService: verificationService })))),
20469
+ React.createElement(ChangeLocaleV2Component, { verificationService: verificationService }),
20470
+ React.createElement(CountryComponentWrapper, { verificationService: verificationService }),
20357
20471
  React.createElement(StatusComponent, { segmentId: SEGMENT_ID$1, value: {
20358
20472
  value: viewModel.statuses ? viewModel.statuses[0] : "",
20359
20473
  label: viewModel.statuses ? getStatusLabel(viewModel.statuses[0]) : "",
@@ -20400,6 +20514,7 @@ const StepLicensedProfessionalPersonalInfo = ({ intl, verificationService, }) =>
20400
20514
  });
20401
20515
  updateFieldValidationErrorsByFieldId("marketConsentValue", newValue, verificationService);
20402
20516
  }, viewModel: viewModel }),
20517
+ React.createElement(ExtraMessage, { verificationService: verificationService, suffix: "CollectAboveSubmit" }),
20403
20518
  React.createElement("div", { className: "sid-form-region sid-submit-wrapper sid-l-space-top-md" },
20404
20519
  React.createElement("div", { className: "sid-submit" },
20405
20520
  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)
@@ -20442,6 +20557,7 @@ const StepMoverPersonalInfo = ({ verificationService }) => {
20442
20557
  React.createElement("br", null),
20443
20558
  React.createElement(HowDoesVerifyingWorkComponent, { verificationService: verificationService }),
20444
20559
  React.createElement(RewardsRemainingComponent, { verificationService: verificationService })))),
20560
+ React.createElement(ChangeLocaleV2Component, { verificationService: verificationService }),
20445
20561
  React.createElement("div", { className: "sid-names" },
20446
20562
  React.createElement(FirstNameComponent, { value: viewModel.firstName, isErrored: !!fieldValidationErrors.firstName, onChange: (newValue) => {
20447
20563
  updateMoverViewModel("firstName", newValue);
@@ -20476,6 +20592,7 @@ const StepMoverPersonalInfo = ({ verificationService }) => {
20476
20592
  });
20477
20593
  updateFieldValidationErrorsByFieldId("marketConsentValue", newValue, verificationService);
20478
20594
  }, viewModel: viewModel }),
20595
+ React.createElement(ExtraMessage, { verificationService: verificationService, suffix: "CollectAboveSubmit" }),
20479
20596
  React.createElement("div", { className: "sid-form-region sid-submit-wrapper sid-l-space-top-md" },
20480
20597
  React.createElement("div", { className: "sid-submit" },
20481
20598
  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)
@@ -20515,11 +20632,6 @@ const StepLowIncomePersonalInfo = ({ intl, verificationService, }) => {
20515
20632
  const { fieldValidationErrors } = verificationService;
20516
20633
  const verificationResponse = verificationService.verificationResponse;
20517
20634
  const failedInstantMatch = hasFailedInstantMatch(verificationResponse);
20518
- const localeChoices = getAvailableLocaleChoices(verificationService.programTheme, intl);
20519
- const defaultLocaleChoice = {
20520
- value: "en-US",
20521
- label: "English",
20522
- };
20523
20635
  const selectedStatus = viewModel.statuses[0] ? viewModel.statuses[0] : undefined;
20524
20636
  const isSelectedStatusSnapBenefits = selectedStatus === "SNAP_BENEFITS";
20525
20637
  const updateLowIncomeViewModel = (key, value) => {
@@ -20547,16 +20659,10 @@ const StepLowIncomePersonalInfo = ({ intl, verificationService, }) => {
20547
20659
  }
20548
20660
  return availableStatuses;
20549
20661
  };
20550
- const updateLocale = (localeChoice) => {
20551
- const nextState = fn(viewModel, (draft) => {
20552
- draft.localeChoice = localeChoice;
20553
- });
20554
- verificationService.updateLocale(nextState, verificationService.programTheme, verificationService.verificationResponse.segment);
20555
- };
20556
20662
  React.useEffect(() => {
20557
20663
  if (isSelectedStatusSnapBenefits) {
20558
20664
  const updatedViewModel = { fieldsToSkipValidation: ["organization"] };
20559
- setViewModel(updatedViewModel, { partial: true });
20665
+ setViewModel(updatedViewModel);
20560
20666
  }
20561
20667
  }, [isSelectedStatusSnapBenefits]);
20562
20668
  return (React.createElement("div", { id: "sid-step-low-income-personal-info", className: "sid-l-container" },
@@ -20576,8 +20682,8 @@ const StepLowIncomePersonalInfo = ({ intl, verificationService, }) => {
20576
20682
  "\u00A0",
20577
20683
  React.createElement(HowDoesVerifyingWorkComponent, { verificationService: verificationService }),
20578
20684
  React.createElement(RewardsRemainingComponent, { verificationService: verificationService })))),
20579
- localeChoices.length > 1 ? (React.createElement(ChangeLocaleComponent, { options: localeChoices, value: viewModel.localeChoice || defaultLocaleChoice, isErrored: false, onChange: (localeChoice) => updateLocale(localeChoice) })) : null,
20580
- React.createElement(CountryComponentWrapper, { verificationService: verificationService, viewModel: viewModel }),
20685
+ React.createElement(ChangeLocaleV2Component, { verificationService: verificationService }),
20686
+ React.createElement(CountryComponentWrapper, { verificationService: verificationService }),
20581
20687
  React.createElement(StatusComponent, { segmentId: SEGMENT_ID, value: {
20582
20688
  value: viewModel.statuses ? viewModel.statuses[0] : "",
20583
20689
  label: viewModel.statuses ? getStatusLabel(viewModel.statuses[0]) : "",
@@ -20723,6 +20829,7 @@ const Step = ({ verificationService }) => {
20723
20829
  React.createElement(LogoComponent, { verificationService: verificationService })),
20724
20830
  React.createElement("div", { className: "sid-header__title sid-l-horz-center" },
20725
20831
  React.createElement(FormattedHTMLMessage, { id: "step.collectSocialSecurityNumber.title", defaultMessage: "Enter your social security number" })),
20832
+ React.createElement(ChangeLocaleV2Component, { verificationService: verificationService }),
20726
20833
  React.createElement("div", { className: "sid-ssn-wrapper" },
20727
20834
  React.createElement(SocialSecurityNumber, { value: viewModel.socialSecurityNumber, onChange: (value) => {
20728
20835
  updateSSNViewModel("socialSecurityNumber", value);
@@ -23326,7 +23433,7 @@ class NewVerification extends React.Component {
23326
23433
  maintainFocusInLightbox();
23327
23434
  listenToInstallPage((event) => {
23328
23435
  if (event.data.action === "setViewModel") {
23329
- setViewModel(event.data.viewModel, { partial: true });
23436
+ setViewModel(event.data.viewModel);
23330
23437
  }
23331
23438
  });
23332
23439
  // Special-case, mocking the loading psuedo-step
@@ -23406,6 +23513,14 @@ const VerificationForm = React.forwardRef(({ programId, trackingId = undefined }
23406
23513
  React.createElement(NewVerificationComponent, { programId: programId, trackingId: trackingId })))));
23407
23514
  });
23408
23515
 
23516
+ const State = ({ value, isErrored, onChange, intl, onKeyDown = undefined, placeholder = "", }) => (React.createElement("div", { className: "sid-field sid-state" },
23517
+ React.createElement("div", { className: "sid-l-space-top-md" }),
23518
+ 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" }),
23519
+ 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" }),
23520
+ isErrored ? (React.createElement("div", { className: "sid-field-error" },
23521
+ React.createElement(FormattedHTMLMessage, { id: "errorId.invalidState", defaultMessage: "Invalid state" }))) : null));
23522
+ const StateComponent = injectIntl(State);
23523
+
23409
23524
  const PrivacyPolicyLink = ({ verificationService, includeCompanyName, intl, }) => {
23410
23525
  const { programTheme } = verificationService;
23411
23526
  const privacyPolicyHref = getPrivacyPolicyUrl(programTheme);
@@ -23461,6 +23576,7 @@ class Iframe {
23461
23576
  if (Iframe.isValidHttpUrl(url)) {
23462
23577
  const options = {
23463
23578
  className: iframeConstants.CLASS_NAMES.INLINE_IFRAME_CONTENT,
23579
+ title: iframeTitle,
23464
23580
  };
23465
23581
  this.containerElement = containerElement;
23466
23582
  this.verificationUrl = new URL(getVerificationUrl(url));
@@ -23487,7 +23603,7 @@ class Iframe {
23487
23603
  createIframe(options) {
23488
23604
  this.iframe = document.createElement("iframe");
23489
23605
  this.iframe.classList.add(options.className);
23490
- this.iframe.title = this.verificationUrl.href;
23606
+ this.iframe.title = options.title;
23491
23607
  let mark = "?";
23492
23608
  if (this.verificationUrl.search) {
23493
23609
  mark = "&";
@@ -23612,6 +23728,7 @@ class Modal {
23612
23728
  this.iframeInstance = new Iframe(wrapper, this.verificationUrl);
23613
23729
  const options = {
23614
23730
  className: iframeConstants.CLASS_NAMES.MODAL_IFRAME,
23731
+ title: iframeTitle,
23615
23732
  };
23616
23733
  this.iframeInstance.createIframe(options);
23617
23734
  wrapper.appendChild(this.iframeInstance.iframe);
@@ -23707,5 +23824,5 @@ const collectDeviceProfile = async (verificationId, programId) => {
23707
23824
  includeIPQSDeviceFingerprintScript(programTheme, verificationId);
23708
23825
  };
23709
23826
 
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 };
23827
+ 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
23828
  //# sourceMappingURL=sheerides6.js.map