@sheerid/jslib 1.97.0 → 1.100.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 (206) hide show
  1. package/es5/Tmetrix.bundle.js +5 -5
  2. package/es5/Tmetrix.bundle.js.map +1 -1
  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-5460f3d0.es.js → ar-aa7923c0.es.js} +2 -2
  41. package/es6/{cs-e565db80.es.js.map → ar-aa7923c0.es.js.map} +1 -1
  42. package/es6/{bg-281f24b3.es.js → bg-7716e1e1.es.js} +2 -2
  43. package/es6/{ar-5460f3d0.es.js.map → bg-7716e1e1.es.js.map} +1 -1
  44. package/es6/{cs-e565db80.es.js → cs-0102f276.es.js} +2 -2
  45. package/es6/{da-3c705e46.es.js.map → cs-0102f276.es.js.map} +1 -1
  46. package/es6/{da-3c705e46.es.js → da-7ea93323.es.js} +2 -2
  47. package/es6/{bg-281f24b3.es.js.map → da-7ea93323.es.js.map} +1 -1
  48. package/es6/{de-537321c2.es.js → de-37bf2739.es.js} +2 -2
  49. package/es6/de-37bf2739.es.js.map +1 -0
  50. package/es6/{el-c9990bcf.es.js → el-04fa4103.es.js} +2 -2
  51. package/es6/el-04fa4103.es.js.map +1 -0
  52. package/es6/{en-GB-e9dcfb39.es.js → en-GB-8acf43be.es.js} +2 -2
  53. package/es6/{en-GB-e9dcfb39.es.js.map → en-GB-8acf43be.es.js.map} +1 -1
  54. package/es6/{es-d1c5b93d.es.js → es-5112b32e.es.js} +2 -2
  55. package/es6/es-5112b32e.es.js.map +1 -0
  56. package/es6/{es-ES-85e3b001.es.js → es-ES-c906634a.es.js} +2 -2
  57. package/es6/{es-ES-85e3b001.es.js.map → es-ES-c906634a.es.js.map} +1 -1
  58. package/es6/{fi-6d449d20.es.js → fi-2277ea1e.es.js} +2 -2
  59. package/es6/fi-2277ea1e.es.js.map +1 -0
  60. package/es6/{fr-CA-22a7b622.es.js → fr-CA-bfca14f3.es.js} +2 -2
  61. package/es6/{fr-CA-22a7b622.es.js.map → fr-CA-bfca14f3.es.js.map} +1 -1
  62. package/es6/{fr-2173007f.es.js → fr-b9d3dc58.es.js} +2 -2
  63. package/es6/fr-b9d3dc58.es.js.map +1 -0
  64. package/es6/{ga-ea05536c.es.js → ga-4bf9710e.es.js} +2 -2
  65. package/es6/ga-4bf9710e.es.js.map +1 -0
  66. package/es6/{hr-744c126e.es.js → hr-ed9b974f.es.js} +2 -2
  67. package/es6/hr-ed9b974f.es.js.map +1 -0
  68. package/es6/{hu-04580e0a.es.js → hu-a36c8244.es.js} +2 -2
  69. package/es6/hu-a36c8244.es.js.map +1 -0
  70. package/es6/{id-b071e0a1.es.js → id-5896c7f1.es.js} +2 -2
  71. package/es6/id-5896c7f1.es.js.map +1 -0
  72. package/es6/{it-9e7905e9.es.js → it-7c28e015.es.js} +2 -2
  73. package/es6/it-7c28e015.es.js.map +1 -0
  74. package/es6/{iw-b55daf23.es.js → iw-e61ca28b.es.js} +2 -2
  75. package/es6/iw-e61ca28b.es.js.map +1 -0
  76. package/es6/{ja-c2c69eac.es.js → ja-5e5d13be.es.js} +2 -2
  77. package/es6/ja-5e5d13be.es.js.map +1 -0
  78. package/es6/{ko-057bdc1e.es.js → ko-e4c5d44d.es.js} +2 -2
  79. package/es6/ko-e4c5d44d.es.js.map +1 -0
  80. package/es6/{lo-28326ffd.es.js → lo-3d03c534.es.js} +2 -2
  81. package/es6/lo-3d03c534.es.js.map +1 -0
  82. package/es6/{lt-f8a551a7.es.js → lt-99c6971e.es.js} +2 -2
  83. package/es6/lt-99c6971e.es.js.map +1 -0
  84. package/es6/{ms-fdd8472d.es.js → ms-e537ec43.es.js} +2 -2
  85. package/es6/ms-e537ec43.es.js.map +1 -0
  86. package/es6/{nl-6659a0b5.es.js → nl-162d7a39.es.js} +2 -2
  87. package/es6/nl-162d7a39.es.js.map +1 -0
  88. package/es6/{no-6038f686.es.js → no-53861522.es.js} +2 -2
  89. package/es6/no-53861522.es.js.map +1 -0
  90. package/es6/{pl-efd4f6a9.es.js → pl-b2b55c9f.es.js} +2 -2
  91. package/es6/pl-b2b55c9f.es.js.map +1 -0
  92. package/es6/{pt-b63dcda6.es.js → pt-61825a2b.es.js} +2 -2
  93. package/es6/pt-61825a2b.es.js.map +1 -0
  94. package/es6/{pt-BR-e6fa02bd.es.js → pt-BR-a9efa2ab.es.js} +2 -2
  95. package/es6/{pt-BR-e6fa02bd.es.js.map → pt-BR-a9efa2ab.es.js.map} +1 -1
  96. package/es6/{ru-d458eb7d.es.js → ru-cba590b5.es.js} +2 -2
  97. package/es6/ru-cba590b5.es.js.map +1 -0
  98. package/es6/{sk-94bb280e.es.js → sk-a190ec18.es.js} +2 -2
  99. package/es6/sk-a190ec18.es.js.map +1 -0
  100. package/es6/{sl-1b8b2783.es.js → sl-fb23d48f.es.js} +2 -2
  101. package/es6/sl-fb23d48f.es.js.map +1 -0
  102. package/es6/{sr-2bdcef9d.es.js → sr-07ed6a42.es.js} +2 -2
  103. package/es6/sr-07ed6a42.es.js.map +1 -0
  104. package/es6/{sv-ff0880c0.es.js → sv-bd7e69b0.es.js} +2 -2
  105. package/es6/sv-bd7e69b0.es.js.map +1 -0
  106. package/es6/{th-22c1fd69.es.js → th-ee9b4c94.es.js} +2 -2
  107. package/es6/th-ee9b4c94.es.js.map +1 -0
  108. package/es6/{tr-37531685.es.js → tr-133c4315.es.js} +2 -2
  109. package/es6/tr-133c4315.es.js.map +1 -0
  110. package/es6/{zh-44805cba.es.js → zh-52690171.es.js} +2 -2
  111. package/es6/zh-52690171.es.js.map +1 -0
  112. package/es6/{zh-HK-287fa77c.es.js → zh-HK-bea37a07.es.js} +2 -2
  113. package/es6/zh-HK-bea37a07.es.js.map +1 -0
  114. package/localized-messages/ar.json +1 -1
  115. package/localized-messages/bg.json +1 -1
  116. package/localized-messages/cs.json +1 -1
  117. package/localized-messages/da.json +1 -1
  118. package/localized-messages/de.json +1 -1
  119. package/localized-messages/el.json +1 -1
  120. package/localized-messages/en-GB.json +1 -1
  121. package/localized-messages/en-US.json +18 -18
  122. package/localized-messages/es-ES.json +1 -1
  123. package/localized-messages/es.json +1 -1
  124. package/localized-messages/fi.json +1 -1
  125. package/localized-messages/fr-CA.json +1 -1
  126. package/localized-messages/fr.json +1 -1
  127. package/localized-messages/ga.json +1 -1
  128. package/localized-messages/hr.json +1 -1
  129. package/localized-messages/hu.json +1 -1
  130. package/localized-messages/id.json +1 -1
  131. package/localized-messages/it.json +1 -1
  132. package/localized-messages/iw.json +1 -1
  133. package/localized-messages/ja.json +1 -1
  134. package/localized-messages/ko.json +1 -1
  135. package/localized-messages/lo.json +1 -1
  136. package/localized-messages/lt.json +1 -1
  137. package/localized-messages/ms.json +1 -1
  138. package/localized-messages/nl.json +1 -1
  139. package/localized-messages/no.json +1 -1
  140. package/localized-messages/pl.json +1 -1
  141. package/localized-messages/pt-BR.json +1 -1
  142. package/localized-messages/pt.json +1 -1
  143. package/localized-messages/ru.json +1 -1
  144. package/localized-messages/sk.json +1 -1
  145. package/localized-messages/sl.json +1 -1
  146. package/localized-messages/sr.json +1 -1
  147. package/localized-messages/sv.json +1 -1
  148. package/localized-messages/th.json +1 -1
  149. package/localized-messages/tr.json +1 -1
  150. package/localized-messages/zh-HK.json +1 -1
  151. package/localized-messages/zh.json +1 -1
  152. package/manifest.json +49 -49
  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 +18 -18
  163. package/sheerid.js.map +1 -1
  164. package/sheerides6.js +362 -313
  165. package/sheerides6.js.map +1 -1
  166. package/src/components/CopyToClipboard/CopyToClipboardComponent.d.ts +1 -1
  167. package/src/components/FeatureFlags/flags.d.ts +0 -1
  168. package/src/components/FeatureFlags/hooks.d.ts +1 -1
  169. package/src/lib/ServerApi/Network.d.ts +1 -4
  170. package/src/lib/ServerApi/VerificationApiClient.d.ts +1 -1
  171. package/src/lib/VerificationService/ViewModel.d.ts +3 -2
  172. package/src/lib/frames/frameMessages.d.ts +7 -7
  173. package/src/lib/installScript/iframe.d.ts +6 -0
  174. package/src/lib/installScript/index.d.ts +4 -2
  175. package/src/lib/installScript/modal.d.ts +4 -1
  176. package/src/lib/types/types.d.ts +5 -3
  177. package/types-reference.zip +0 -0
  178. package/es6/de-537321c2.es.js.map +0 -1
  179. package/es6/el-c9990bcf.es.js.map +0 -1
  180. package/es6/es-d1c5b93d.es.js.map +0 -1
  181. package/es6/fi-6d449d20.es.js.map +0 -1
  182. package/es6/fr-2173007f.es.js.map +0 -1
  183. package/es6/ga-ea05536c.es.js.map +0 -1
  184. package/es6/hr-744c126e.es.js.map +0 -1
  185. package/es6/hu-04580e0a.es.js.map +0 -1
  186. package/es6/id-b071e0a1.es.js.map +0 -1
  187. package/es6/it-9e7905e9.es.js.map +0 -1
  188. package/es6/iw-b55daf23.es.js.map +0 -1
  189. package/es6/ja-c2c69eac.es.js.map +0 -1
  190. package/es6/ko-057bdc1e.es.js.map +0 -1
  191. package/es6/lo-28326ffd.es.js.map +0 -1
  192. package/es6/lt-f8a551a7.es.js.map +0 -1
  193. package/es6/ms-fdd8472d.es.js.map +0 -1
  194. package/es6/nl-6659a0b5.es.js.map +0 -1
  195. package/es6/no-6038f686.es.js.map +0 -1
  196. package/es6/pl-efd4f6a9.es.js.map +0 -1
  197. package/es6/pt-b63dcda6.es.js.map +0 -1
  198. package/es6/ru-d458eb7d.es.js.map +0 -1
  199. package/es6/sk-94bb280e.es.js.map +0 -1
  200. package/es6/sl-1b8b2783.es.js.map +0 -1
  201. package/es6/sr-2bdcef9d.es.js.map +0 -1
  202. package/es6/sv-ff0880c0.es.js.map +0 -1
  203. package/es6/th-22c1fd69.es.js.map +0 -1
  204. package/es6/tr-37531685.es.js.map +0 -1
  205. package/es6/zh-44805cba.es.js.map +0 -1
  206. package/es6/zh-HK-287fa77c.es.js.map +0 -1
package/sheerides6.js CHANGED
@@ -1,5 +1,5 @@
1
1
  import React, { useRef, useCallback, useEffect, useMemo, cloneElement, Component, useLayoutEffect, useReducer, PureComponent, useState, forwardRef, useImperativeHandle, Fragment as Fragment$4, Suspense as Suspense$4 } from 'react';
2
- import { FormattedHTMLMessage, injectIntl, FormattedMessage, IntlProvider } from 'react-intl';
2
+ import { FormattedHTMLMessage, injectIntl, IntlProvider } from 'react-intl';
3
3
  import 'react-intl/locale-data/en.js';
4
4
  import ReactDOMServer from 'react-dom/server';
5
5
 
@@ -886,7 +886,7 @@ var copyToClipboard = copy;
886
886
  * Wrap a button or link with copy-to-clipboard behavior.
887
887
  *
888
888
  * Example Use:
889
- <CopyToClipboard textToCopy={htmlSource} notificationText={<FormattedMessage id="copied" />}>
889
+ <CopyToClipboard textToCopy={htmlSource} notificationText={<FormattedHTMLMessage id="copied" />}>
890
890
  <LinkButton ... />
891
891
  </CopyToClipboard>
892
892
  */
@@ -1180,6 +1180,7 @@ const defaultOptions = {
1180
1180
  minimumOrganizationSearchLength: DEFAULT_MINIMUM_ORG_SEARCH_VALUE_LENGTH,
1181
1181
  httpRequestTimeout: HTTP_REQUEST_TIMEOUT,
1182
1182
  hideTestModeFlag: false,
1183
+ hideMilitaryFamilyAcceptableUploads: true,
1183
1184
  };
1184
1185
  let options$1 = { ...defaultOptions };
1185
1186
  const getOptions = () => options$1;
@@ -1344,6 +1345,10 @@ const setOptions = (newOptions) => {
1344
1345
  newOptions.hideTestModeFlag || getQueryParam("hideTestModeFlag") === "true";
1345
1346
  logger.info('option "hideTestModeFlag" set to', options$1.hideTestModeFlag);
1346
1347
  }
1348
+ if (newOptions.hasOwnProperty("hideMilitaryFamilyAcceptableUploads")) {
1349
+ options$1.hideMilitaryFamilyAcceptableUploads = newOptions.hideMilitaryFamilyAcceptableUploads;
1350
+ logger.info('option "hideMilitaryFamilyAcceptableUploads" set to', options$1.hideMilitaryFamilyAcceptableUploads);
1351
+ }
1347
1352
  };
1348
1353
 
1349
1354
  class ResponseTimeLogger {
@@ -1372,9 +1377,6 @@ const defaultJsonHeaders = {
1372
1377
  Accept: "application/json",
1373
1378
  "Content-Type": "application/json",
1374
1379
  };
1375
- const defaultFileUploadHeaders = {
1376
- Accept: "application/json",
1377
- };
1378
1380
  const defaultUploadHeaders = {
1379
1381
  "Content-Type": "application/json",
1380
1382
  };
@@ -1440,26 +1442,6 @@ const GetResponse = async (url, headers = defaultJsonHeaders) => fetchWithTimeou
1440
1442
  headers,
1441
1443
  method: "GET",
1442
1444
  });
1443
- const createFormData = (files) => {
1444
- const formData = new FormData();
1445
- files.forEach((file, index) => {
1446
- if (file) {
1447
- formData.append(`file${index}`, file);
1448
- }
1449
- });
1450
- return formData;
1451
- };
1452
- const PostFiles = async (url, files, headers = defaultFileUploadHeaders) => {
1453
- const timeLog = new ResponseTimeLogger(url);
1454
- logger.info(`PostFiles posting to ${url}`, files);
1455
- const formData = createFormData(files);
1456
- const response = await fetch(url, {
1457
- headers,
1458
- method: "POST",
1459
- body: formData,
1460
- });
1461
- return processResponse(response, timeLog);
1462
- };
1463
1445
  const createDocUploadData = (files) => files
1464
1446
  .filter((file) => !!file)
1465
1447
  .map((file) => ({
@@ -1467,10 +1449,12 @@ const createDocUploadData = (files) => files
1467
1449
  mimeType: file.type,
1468
1450
  fileSize: file.size,
1469
1451
  }));
1470
- const PostFilesS3 = async (url, files, headers = defaultUploadHeaders) => {
1452
+ const PostFiles = async (url, files, headers = defaultUploadHeaders) => {
1471
1453
  const timeLog = new ResponseTimeLogger(url);
1472
1454
  logger.info(`PostFiles posting to ${url}`, files);
1473
- const docUploadData = JSON.stringify(createDocUploadData(files));
1455
+ const docUploadData = JSON.stringify({
1456
+ files: createDocUploadData(files),
1457
+ });
1474
1458
  const response = await fetch(url, {
1475
1459
  headers,
1476
1460
  method: "POST",
@@ -1823,15 +1807,15 @@ var enUSMessages = {
1823
1807
  "defaultMessages.VETERAN": "Military Veteran or Retiree",
1824
1808
  "defaultMessages.VETERINARIAN": "Veterinarian",
1825
1809
  "defaultMessages.address": "Address",
1826
- "defaultMessages.addressPlaceholder": "Address*",
1810
+ "defaultMessages.addressPlaceholder": "Address",
1827
1811
  "defaultMessages.birthDate": "Date of birth",
1828
1812
  "defaultMessages.branchOfService": "Branch of service",
1829
- "defaultMessages.branchOfServicePlaceholder": "Branch Of Service*",
1813
+ "defaultMessages.branchOfServicePlaceholder": "Branch Of Service",
1830
1814
  "defaultMessages.changeLanguage": "Change language",
1831
1815
  "defaultMessages.city": "City",
1832
- "defaultMessages.cityPlaceholder": "City*",
1816
+ "defaultMessages.cityPlaceholder": "City",
1833
1817
  "defaultMessages.company": "Company",
1834
- "defaultMessages.companyPlaceholder": "Company*",
1818
+ "defaultMessages.companyPlaceholder": "Company",
1835
1819
  "defaultMessages.copied": "Copied",
1836
1820
  "defaultMessages.countries.AD": "Andorra",
1837
1821
  "defaultMessages.countries.AE": "United Arab Emirates",
@@ -2072,7 +2056,7 @@ var enUSMessages = {
2072
2056
  "defaultMessages.countries.ZM": "Zambia",
2073
2057
  "defaultMessages.countries.ZW": "Zimbabwe",
2074
2058
  "defaultMessages.country": "Country",
2075
- "defaultMessages.countryPlaceholder": "Country*",
2059
+ "defaultMessages.countryPlaceholder": "Country",
2076
2060
  "defaultMessages.dateTime.20_MIN": "20 minutes",
2077
2061
  "defaultMessages.dateTime.24_HRS": "24 hours",
2078
2062
  "defaultMessages.dateTime.2_DAY": "2 days",
@@ -2100,10 +2084,10 @@ var enUSMessages = {
2100
2084
  "defaultMessages.dateTime.year": "Year",
2101
2085
  "defaultMessages.dischargeDate": "Discharge date",
2102
2086
  "defaultMessages.driverLicenseNumber": "Driver license number",
2103
- "defaultMessages.driverLicenseNumberPlaceholder": "Driver license number*",
2087
+ "defaultMessages.driverLicenseNumberPlaceholder": "Driver license number",
2104
2088
  "defaultMessages.driverLicenseState": "Driver license state",
2105
2089
  "defaultMessages.emailAddress": "Email address",
2106
- "defaultMessages.emailAddressPlaceholder": "Email address*",
2090
+ "defaultMessages.emailAddressPlaceholder": "Email address",
2107
2091
  "defaultMessages.error": "Error",
2108
2092
  "defaultMessages.errorId.apiRateLimitExceeded": "Unable to process your request at this time, please try again later",
2109
2093
  "defaultMessages.errorId.dischargeDateBeforeBirthDate": "Discharge Date before birthdate",
@@ -2166,7 +2150,7 @@ var enUSMessages = {
2166
2150
  "defaultMessages.errorId.unsupportedDocMimeType": "One or more files is an unsupported format",
2167
2151
  "defaultMessages.errorId.verificationLimitExceeded": "We're glad you're enthusiastic, but it looks like you've already redeemed or attempted to redeem this offer.",
2168
2152
  "defaultMessages.firstName": "First name",
2169
- "defaultMessages.firstNamePlaceholder": "First name*",
2153
+ "defaultMessages.firstNamePlaceholder": "First name",
2170
2154
  "defaultMessages.firstResponderInfoShared": "Information entered here will be used for verification purposes. ",
2171
2155
  "defaultMessages.footerText": "By submitting the personal information above, I acknowledge that my personal information is being collected under the <privacyPolicy>privacy policy</privacyPolicy> of the business from which I am seeking a discount, and I understand that my personal information will be shared with SheerID as a processor/third-party service provider in order for SheerID to confirm my eligibility for a special offer. <aboutSheerID>More about SheerID</aboutSheerID>.",
2172
2156
  "defaultMessages.getHelp": "Get help",
@@ -2176,7 +2160,7 @@ var enUSMessages = {
2176
2160
  "defaultMessages.infoShared2": ". I understand that my information will be shared with {companyName}. ",
2177
2161
  "defaultMessages.informationTransferredToUS": "Your information will be transferred to the United States and will be treated according to SheerID’s privacy policy.",
2178
2162
  "defaultMessages.lastName": "Last name",
2179
- "defaultMessages.lastNamePlaceholder": "Last name*",
2163
+ "defaultMessages.lastNamePlaceholder": "Last name",
2180
2164
  "defaultMessages.limitExceededError": "Verification Limit Exceeded",
2181
2165
  "defaultMessages.loading": "Loading...",
2182
2166
  "defaultMessages.locales.ar": "Arabic",
@@ -2219,7 +2203,7 @@ var enUSMessages = {
2219
2203
  "defaultMessages.locales.zh-HK": "Chinese (Hong Kong)",
2220
2204
  "defaultMessages.lowRewardPool": "<span class='sid-fire-emoji'>&#128293;</span> Only {offersRemaining} offers left!",
2221
2205
  "defaultMessages.memberId": "ID Number",
2222
- "defaultMessages.memberIdPlaceholder": "ID Number*",
2206
+ "defaultMessages.memberIdPlaceholder": "ID Number",
2223
2207
  "defaultMessages.militaryFamilyCardNote": "Note: this offer is only available to military family members with a Dependent ID card.",
2224
2208
  "defaultMessages.militaryInfoShared": "Information entered here will be used for verification purposes. ",
2225
2209
  "defaultMessages.militaryStatus": "Military status",
@@ -2227,7 +2211,7 @@ var enUSMessages = {
2227
2211
  "defaultMessages.optIn": "Yes, send me {company} marketing communications about exclusive sales, special offers, latest products and more",
2228
2212
  "defaultMessages.optional": "Optional",
2229
2213
  "defaultMessages.organization": "Organization",
2230
- "defaultMessages.organizationPlaceholder": "Organization*",
2214
+ "defaultMessages.organizationPlaceholder": "Organization",
2231
2215
  "defaultMessages.personalInformation": "Personal Information",
2232
2216
  "defaultMessages.personalOrSchoolIsFine": "Personal or school email is fine",
2233
2217
  "defaultMessages.phoneNumber": "Mobile Number",
@@ -2237,7 +2221,7 @@ var enUSMessages = {
2237
2221
  "defaultMessages.phoneUsPlaceholder": "555-555-5555",
2238
2222
  "defaultMessages.postalCode": "Postal code",
2239
2223
  "defaultMessages.postalCodeExplanation": "Use the location on file with your licensing body",
2240
- "defaultMessages.postalCodePlaceholder": "Postal code*",
2224
+ "defaultMessages.postalCodePlaceholder": "Postal code",
2241
2225
  "defaultMessages.poweredBy": "Verification services powered by SheerID",
2242
2226
  "defaultMessages.privacyPolicy": "Privacy Policy",
2243
2227
  "defaultMessages.proceed": "Proceed",
@@ -2245,13 +2229,13 @@ var enUSMessages = {
2245
2229
  "defaultMessages.requiredFields": "All fields are required",
2246
2230
  "defaultMessages.school": "School",
2247
2231
  "defaultMessages.schoolName": "University / College name",
2248
- "defaultMessages.schoolNamePlaceholder": "University / College name*",
2232
+ "defaultMessages.schoolNamePlaceholder": "University / College name",
2249
2233
  "defaultMessages.sheeridFaqs": "SheerID FAQs",
2250
- "defaultMessages.smsCodePlaceholder": "SMS Code*",
2234
+ "defaultMessages.smsCodePlaceholder": "SMS Code",
2251
2235
  "defaultMessages.ssn": "Social Security Number",
2252
2236
  "defaultMessages.ssnPlaceholder": "000-00-0000",
2253
2237
  "defaultMessages.state": "State",
2254
- "defaultMessages.statePlaceholder": "State*",
2238
+ "defaultMessages.statePlaceholder": "State",
2255
2239
  "defaultMessages.states.AK": "Alaska",
2256
2240
  "defaultMessages.states.AL": "Alabama",
2257
2241
  "defaultMessages.states.AR": "Arkansas",
@@ -2304,7 +2288,7 @@ var enUSMessages = {
2304
2288
  "defaultMessages.states.WV": "West Virginia",
2305
2289
  "defaultMessages.states.WY": "Wyoming",
2306
2290
  "defaultMessages.status": "Status",
2307
- "defaultMessages.statusPlaceholder": "Status*",
2291
+ "defaultMessages.statusPlaceholder": "Status",
2308
2292
  "defaultMessages.step.collectMedicalPersonalInfo.autorisationsIdExplanation": "Your Professional Membership Registration Number",
2309
2293
  "defaultMessages.step.collectMedicalPersonalInfo.autorisationsIdLabel": "Registration Number",
2310
2294
  "defaultMessages.step.collectMedicalPersonalInfo.gbrNummerExplanation": "Your Professional Membership Registration Number",
@@ -2502,7 +2486,7 @@ var enUSMessages = {
2502
2486
  "requestOrganizationMessages.changeLanguage": "Change language",
2503
2487
  "requestOrganizationMessages.completeRequest": "Don't see your school in the list of eligible or ineligible schools? Complete your request",
2504
2488
  "requestOrganizationMessages.copied": "Copied",
2505
- "requestOrganizationMessages.country": "Where do you go to school?",
2489
+ "requestOrganizationMessages.country": "Where is your educational institution located?",
2506
2490
  "requestOrganizationMessages.description": "Please fill out the form below. Schools submitted are not guaranteed to be added, but all requests are researched and considered by SheerID.",
2507
2491
  "requestOrganizationMessages.eligibleOrgs": "Eligible schools. Click the icon to copy name then return to the verification form:",
2508
2492
  "requestOrganizationMessages.errorId.invalidCountry": "Field is required",
@@ -2698,7 +2682,7 @@ var enUSMessages = {
2698
2682
  "segmentMessages.student.step.success.title": "You've been verified",
2699
2683
  "segmentMessages.teacher.emailExplanation": "Must be your school-issued email address",
2700
2684
  "segmentMessages.teacher.schoolName": "School name",
2701
- "segmentMessages.teacher.schoolNamePlaceholder": "School name*",
2685
+ "segmentMessages.teacher.schoolNamePlaceholder": "School name",
2702
2686
  "segmentMessages.teacher.step.docUpload.howDoesVerifyingWorkDetails": "Document review is handled by SheerID, a trusted partner who specializes in verifying teachers.\n <br><br>\n Documents are used only for verifying your teacher or faculty status is current and will be permanently\n deleted after review is finalized. They will not be shared with {companyName}",
2703
2687
  "segmentMessages.teacher.step.docUpload.subtitle": "Documents will be reviewed in {estimatedWaitTime} by staff at SheerID, a trusted partner.",
2704
2688
  "segmentMessages.teacher.step.docUpload.title": "We need more information",
@@ -2734,154 +2718,154 @@ const getMessagesModuleByLocale = async (locale) => {
2734
2718
  switch (locale) {
2735
2719
  case "ar":
2736
2720
  localizedMessages = await import(
2737
- /* webpackChunkName: "messages_ar" */ './es6/ar-5460f3d0.es.js').then((m) => m.default);
2721
+ /* webpackChunkName: "messages_ar" */ './es6/ar-aa7923c0.es.js').then((m) => m.default);
2738
2722
  break;
2739
2723
  case "bg":
2740
2724
  localizedMessages = await import(
2741
- /* webpackChunkName: "messages_bg" */ './es6/bg-281f24b3.es.js').then((m) => m.default);
2725
+ /* webpackChunkName: "messages_bg" */ './es6/bg-7716e1e1.es.js').then((m) => m.default);
2742
2726
  break;
2743
2727
  case "cs":
2744
2728
  localizedMessages = await import(
2745
- /* webpackChunkName: "messages_cs" */ './es6/cs-e565db80.es.js').then((m) => m.default);
2729
+ /* webpackChunkName: "messages_cs" */ './es6/cs-0102f276.es.js').then((m) => m.default);
2746
2730
  break;
2747
2731
  case "da":
2748
2732
  localizedMessages = await import(
2749
- /* webpackChunkName: "messages_da" */ './es6/da-3c705e46.es.js').then((m) => m.default);
2733
+ /* webpackChunkName: "messages_da" */ './es6/da-7ea93323.es.js').then((m) => m.default);
2750
2734
  break;
2751
2735
  case "de":
2752
2736
  localizedMessages = await import(
2753
- /* webpackChunkName: "messages_de" */ './es6/de-537321c2.es.js').then((m) => m.default);
2737
+ /* webpackChunkName: "messages_de" */ './es6/de-37bf2739.es.js').then((m) => m.default);
2754
2738
  break;
2755
2739
  case "el":
2756
2740
  localizedMessages = await import(
2757
- /* webpackChunkName: "messages_el" */ './es6/el-c9990bcf.es.js').then((m) => m.default);
2741
+ /* webpackChunkName: "messages_el" */ './es6/el-04fa4103.es.js').then((m) => m.default);
2758
2742
  break;
2759
2743
  case "en-GB":
2760
2744
  localizedMessages = await import(
2761
- /* webpackChunkName: "messages_en-GB" */ './es6/en-GB-e9dcfb39.es.js').then((m) => m.default);
2745
+ /* webpackChunkName: "messages_en-GB" */ './es6/en-GB-8acf43be.es.js').then((m) => m.default);
2762
2746
  break;
2763
2747
  case "en-US":
2764
2748
  localizedMessages = enUSMessages;
2765
2749
  break;
2766
2750
  case "es-ES":
2767
2751
  localizedMessages = await import(
2768
- /* webpackChunkName: "messages_es-ES" */ './es6/es-ES-85e3b001.es.js').then((m) => m.default);
2752
+ /* webpackChunkName: "messages_es-ES" */ './es6/es-ES-c906634a.es.js').then((m) => m.default);
2769
2753
  break;
2770
2754
  case "es":
2771
2755
  localizedMessages = await import(
2772
- /* webpackChunkName: "messages_es" */ './es6/es-d1c5b93d.es.js').then((m) => m.default);
2756
+ /* webpackChunkName: "messages_es" */ './es6/es-5112b32e.es.js').then((m) => m.default);
2773
2757
  break;
2774
2758
  case "fi":
2775
2759
  localizedMessages = await import(
2776
- /* webpackChunkName: "messages_fi" */ './es6/fi-6d449d20.es.js').then((m) => m.default);
2760
+ /* webpackChunkName: "messages_fi" */ './es6/fi-2277ea1e.es.js').then((m) => m.default);
2777
2761
  break;
2778
2762
  case "fr-CA":
2779
2763
  localizedMessages = await import(
2780
- /* webpackChunkName: "messages_fr-CA" */ './es6/fr-CA-22a7b622.es.js').then((m) => m.default);
2764
+ /* webpackChunkName: "messages_fr-CA" */ './es6/fr-CA-bfca14f3.es.js').then((m) => m.default);
2781
2765
  break;
2782
2766
  case "fr":
2783
2767
  localizedMessages = await import(
2784
- /* webpackChunkName: "messages_fr" */ './es6/fr-2173007f.es.js').then((m) => m.default);
2768
+ /* webpackChunkName: "messages_fr" */ './es6/fr-b9d3dc58.es.js').then((m) => m.default);
2785
2769
  break;
2786
2770
  case "ga":
2787
2771
  localizedMessages = await import(
2788
- /* webpackChunkName: "messages_ga" */ './es6/ga-ea05536c.es.js').then((m) => m.default);
2772
+ /* webpackChunkName: "messages_ga" */ './es6/ga-4bf9710e.es.js').then((m) => m.default);
2789
2773
  break;
2790
2774
  case "hr":
2791
2775
  localizedMessages = await import(
2792
- /* webpackChunkName: "messages_hr" */ './es6/hr-744c126e.es.js').then((m) => m.default);
2776
+ /* webpackChunkName: "messages_hr" */ './es6/hr-ed9b974f.es.js').then((m) => m.default);
2793
2777
  break;
2794
2778
  case "hu":
2795
2779
  localizedMessages = await import(
2796
- /* webpackChunkName: "messages_hu" */ './es6/hu-04580e0a.es.js').then((m) => m.default);
2780
+ /* webpackChunkName: "messages_hu" */ './es6/hu-a36c8244.es.js').then((m) => m.default);
2797
2781
  break;
2798
2782
  case "id":
2799
2783
  localizedMessages = await import(
2800
- /* webpackChunkName: "messages_id" */ './es6/id-b071e0a1.es.js').then((m) => m.default);
2784
+ /* webpackChunkName: "messages_id" */ './es6/id-5896c7f1.es.js').then((m) => m.default);
2801
2785
  break;
2802
2786
  case "it":
2803
2787
  localizedMessages = await import(
2804
- /* webpackChunkName: "messages_it" */ './es6/it-9e7905e9.es.js').then((m) => m.default);
2788
+ /* webpackChunkName: "messages_it" */ './es6/it-7c28e015.es.js').then((m) => m.default);
2805
2789
  break;
2806
2790
  case "iw":
2807
2791
  localizedMessages = await import(
2808
- /* webpackChunkName: "messages_iw" */ './es6/iw-b55daf23.es.js').then((m) => m.default);
2792
+ /* webpackChunkName: "messages_iw" */ './es6/iw-e61ca28b.es.js').then((m) => m.default);
2809
2793
  break;
2810
2794
  case "ja":
2811
2795
  localizedMessages = await import(
2812
- /* webpackChunkName: "messages_ja" */ './es6/ja-c2c69eac.es.js').then((m) => m.default);
2796
+ /* webpackChunkName: "messages_ja" */ './es6/ja-5e5d13be.es.js').then((m) => m.default);
2813
2797
  break;
2814
2798
  case "ko":
2815
2799
  localizedMessages = await import(
2816
- /* webpackChunkName: "messages_ko" */ './es6/ko-057bdc1e.es.js').then((m) => m.default);
2800
+ /* webpackChunkName: "messages_ko" */ './es6/ko-e4c5d44d.es.js').then((m) => m.default);
2817
2801
  break;
2818
2802
  case "lo":
2819
2803
  localizedMessages = await import(
2820
- /* webpackChunkName: "messages_lo" */ './es6/lo-28326ffd.es.js').then((m) => m.default);
2804
+ /* webpackChunkName: "messages_lo" */ './es6/lo-3d03c534.es.js').then((m) => m.default);
2821
2805
  break;
2822
2806
  case "lt":
2823
2807
  localizedMessages = await import(
2824
- /* webpackChunkName: "messages_lt" */ './es6/lt-f8a551a7.es.js').then((m) => m.default);
2808
+ /* webpackChunkName: "messages_lt" */ './es6/lt-99c6971e.es.js').then((m) => m.default);
2825
2809
  break;
2826
2810
  case "ms":
2827
2811
  localizedMessages = await import(
2828
- /* webpackChunkName: "messages_ms" */ './es6/ms-fdd8472d.es.js').then((m) => m.default);
2812
+ /* webpackChunkName: "messages_ms" */ './es6/ms-e537ec43.es.js').then((m) => m.default);
2829
2813
  break;
2830
2814
  case "nl":
2831
2815
  localizedMessages = await import(
2832
- /* webpackChunkName: "messages_nl" */ './es6/nl-6659a0b5.es.js').then((m) => m.default);
2816
+ /* webpackChunkName: "messages_nl" */ './es6/nl-162d7a39.es.js').then((m) => m.default);
2833
2817
  break;
2834
2818
  case "no":
2835
2819
  localizedMessages = await import(
2836
- /* webpackChunkName: "messages_no" */ './es6/no-6038f686.es.js').then((m) => m.default);
2820
+ /* webpackChunkName: "messages_no" */ './es6/no-53861522.es.js').then((m) => m.default);
2837
2821
  break;
2838
2822
  case "pl":
2839
2823
  localizedMessages = await import(
2840
- /* webpackChunkName: "messages_pl" */ './es6/pl-efd4f6a9.es.js').then((m) => m.default);
2824
+ /* webpackChunkName: "messages_pl" */ './es6/pl-b2b55c9f.es.js').then((m) => m.default);
2841
2825
  break;
2842
2826
  case "pt-BR":
2843
2827
  localizedMessages = await import(
2844
- /* webpackChunkName: "messages_pt-BR" */ './es6/pt-BR-e6fa02bd.es.js').then((m) => m.default);
2828
+ /* webpackChunkName: "messages_pt-BR" */ './es6/pt-BR-a9efa2ab.es.js').then((m) => m.default);
2845
2829
  break;
2846
2830
  case "pt":
2847
2831
  localizedMessages = await import(
2848
- /* webpackChunkName: "messages_pt" */ './es6/pt-b63dcda6.es.js').then((m) => m.default);
2832
+ /* webpackChunkName: "messages_pt" */ './es6/pt-61825a2b.es.js').then((m) => m.default);
2849
2833
  break;
2850
2834
  case "ru":
2851
2835
  localizedMessages = await import(
2852
- /* webpackChunkName: "messages_ru" */ './es6/ru-d458eb7d.es.js').then((m) => m.default);
2836
+ /* webpackChunkName: "messages_ru" */ './es6/ru-cba590b5.es.js').then((m) => m.default);
2853
2837
  break;
2854
2838
  case "sk":
2855
2839
  localizedMessages = await import(
2856
- /* webpackChunkName: "messages_sk" */ './es6/sk-94bb280e.es.js').then((m) => m.default);
2840
+ /* webpackChunkName: "messages_sk" */ './es6/sk-a190ec18.es.js').then((m) => m.default);
2857
2841
  break;
2858
2842
  case "sl":
2859
2843
  localizedMessages = await import(
2860
- /* webpackChunkName: "messages_sl" */ './es6/sl-1b8b2783.es.js').then((m) => m.default);
2844
+ /* webpackChunkName: "messages_sl" */ './es6/sl-fb23d48f.es.js').then((m) => m.default);
2861
2845
  break;
2862
2846
  case "sr":
2863
2847
  localizedMessages = await import(
2864
- /* webpackChunkName: "messages_sr" */ './es6/sr-2bdcef9d.es.js').then((m) => m.default);
2848
+ /* webpackChunkName: "messages_sr" */ './es6/sr-07ed6a42.es.js').then((m) => m.default);
2865
2849
  break;
2866
2850
  case "sv":
2867
2851
  localizedMessages = await import(
2868
- /* webpackChunkName: "messages_sv" */ './es6/sv-ff0880c0.es.js').then((m) => m.default);
2852
+ /* webpackChunkName: "messages_sv" */ './es6/sv-bd7e69b0.es.js').then((m) => m.default);
2869
2853
  break;
2870
2854
  case "th":
2871
2855
  localizedMessages = await import(
2872
- /* webpackChunkName: "messages_th" */ './es6/th-22c1fd69.es.js').then((m) => m.default);
2856
+ /* webpackChunkName: "messages_th" */ './es6/th-ee9b4c94.es.js').then((m) => m.default);
2873
2857
  break;
2874
2858
  case "tr":
2875
2859
  localizedMessages = await import(
2876
- /* webpackChunkName: "messages_tr" */ './es6/tr-37531685.es.js').then((m) => m.default);
2860
+ /* webpackChunkName: "messages_tr" */ './es6/tr-133c4315.es.js').then((m) => m.default);
2877
2861
  break;
2878
2862
  case "zh-HK":
2879
2863
  localizedMessages = await import(
2880
- /* webpackChunkName: "messages_zh-HK" */ './es6/zh-HK-287fa77c.es.js').then((m) => m.default);
2864
+ /* webpackChunkName: "messages_zh-HK" */ './es6/zh-HK-bea37a07.es.js').then((m) => m.default);
2881
2865
  break;
2882
2866
  case "zh":
2883
2867
  localizedMessages = await import(
2884
- /* webpackChunkName: "messages_zh" */ './es6/zh-44805cba.es.js').then((m) => m.default);
2868
+ /* webpackChunkName: "messages_zh" */ './es6/zh-52690171.es.js').then((m) => m.default);
2885
2869
  break;
2886
2870
  default:
2887
2871
  logger.warn(`getMessagesModuleByLocale: Unable to load messages for ${locale}, falling back to en-US`);
@@ -3160,7 +3144,7 @@ const getPrivacyPolicyCompanyName = (programTheme, intl) => {
3160
3144
  if (privacyPolicyHostName === DEFAULT_PRIVACY_POLICY_HOST) {
3161
3145
  return SHEERID;
3162
3146
  }
3163
- return intl.formatMessage({
3147
+ return intl.formatHTMLMessage({
3164
3148
  id: "companyName",
3165
3149
  defaultMessage: "{companyName}",
3166
3150
  });
@@ -4758,7 +4742,7 @@ const getStatusLabel = (intl, status, defaultMessages) => {
4758
4742
  if (!status) {
4759
4743
  return "";
4760
4744
  }
4761
- return intl.formatMessage({ id: status, defaultMessage: defaultMessages[status] });
4745
+ return intl.formatHTMLMessage({ id: status, defaultMessage: defaultMessages[status] });
4762
4746
  };
4763
4747
  const getAvailableMilitaryStatuses = (verificationService, intl) => {
4764
4748
  const availableStatusesResponse = verificationService.verificationResponse.availableStatuses ||
@@ -4849,12 +4833,12 @@ const submitForm = (viewModel, verificationService, step) => {
4849
4833
  * @return {Object}
4850
4834
  */
4851
4835
  const getEstAndMaxReviewTimes = (verificationResponse, programTheme, intl) => {
4852
- const estReviewTime = intl.formatMessage({
4836
+ const estReviewTime = intl.formatHTMLMessage({
4853
4837
  id: `dateTime.${getSafe(() => verificationResponse.estimatedReviewTime) ||
4854
4838
  getEstimatedReviewTime(programTheme)}`,
4855
4839
  default: "a few minutes",
4856
4840
  });
4857
- const maxReviewTime = intl.formatMessage({
4841
+ const maxReviewTime = intl.formatHTMLMessage({
4858
4842
  id: `dateTime.${getSafe(() => verificationResponse.maxReviewTime) || getMaxReviewTime(programTheme)}`,
4859
4843
  default: "2 hours",
4860
4844
  });
@@ -4870,7 +4854,7 @@ const getAvailableCountryChoices = (programTheme, intl) => {
4870
4854
  const availableCountries = getConfiguredCountries(programTheme);
4871
4855
  return availableCountries.map((countryCode) => ({
4872
4856
  value: countryCode,
4873
- label: intl.formatMessage({
4857
+ label: intl.formatHTMLMessage({
4874
4858
  id: `countries.${countryCode}`,
4875
4859
  defaultMessage: countryCode,
4876
4860
  }),
@@ -4880,7 +4864,7 @@ const getAvailableStateChoices = (programTheme, intl) => {
4880
4864
  const availableStates = getConfiguredStates(programTheme);
4881
4865
  return availableStates.map((stateCode) => ({
4882
4866
  value: stateCode,
4883
- label: intl.formatMessage({
4867
+ label: intl.formatHTMLMessage({
4884
4868
  id: `states.${stateCode}`,
4885
4869
  defaultMessage: stateCode,
4886
4870
  }),
@@ -4904,7 +4888,7 @@ const getAvailableLocaleChoices = (programTheme, intl) => {
4904
4888
  const availableLocales = getAvailableLocales(programTheme);
4905
4889
  return availableLocales.map((locale) => ({
4906
4890
  value: locale,
4907
- label: intl.formatMessage({
4891
+ label: intl.formatHTMLMessage({
4908
4892
  id: `locales.${locale}`,
4909
4893
  defaultMessage: locale,
4910
4894
  }),
@@ -4961,7 +4945,7 @@ const FirstName = ({ value, isErrored, onChange, intl, placeholder = "", }) => (
4961
4945
  React.createElement("div", { className: "sid-l-space-top-md" }),
4962
4946
  React.createElement(FieldLabel, { text: React.createElement(FormattedHTMLMessage, { id: "firstName", defaultMessage: "First name" }), htmlForLabel: "sid-first-name", id: "sid-first-name-label", displayClasses: placeholder && "sid-h-screen-reader-only" }),
4963
4947
  React.createElement(InputTextComponent, { id: "first-name", isErrored: isErrored, onChange: (e) => onChange(e.target.value), placeholder: placeholder ||
4964
- intl.formatMessage({ id: "firstNamePlaceholder", defaultMessage: "First Name*" }), refId: "firstName", value: value, required: true, "aria-labelledby": "sid-first-name-label" }),
4948
+ intl.formatHTMLMessage({ id: "firstNamePlaceholder", defaultMessage: "First Name" }), refId: "firstName", value: value, required: true, "aria-labelledby": "sid-first-name-label" }),
4965
4949
  isErrored ? (React.createElement("div", { className: "sid-field-error" },
4966
4950
  React.createElement(FormattedHTMLMessage, { id: "errorId.invalidFirstName", defaultMessage: "Invalid first name" }))) : null));
4967
4951
  const FirstNameComponent = injectIntl(FirstName);
@@ -4970,7 +4954,7 @@ const LastName = ({ value, isErrored, onChange, intl, placeholder = "", }) => (R
4970
4954
  React.createElement("div", { className: "sid-l-space-top-md" }),
4971
4955
  React.createElement(FieldLabel, { text: React.createElement(FormattedHTMLMessage, { id: "lastName", defaultMessage: "Last name" }), htmlForLabel: "sid-last-name", id: "sid-last-name-label", displayClasses: placeholder && "sid-h-screen-reader-only" }),
4972
4956
  React.createElement(InputTextComponent, { id: "last-name", isErrored: isErrored, onChange: (event) => onChange(event.target.value), placeholder: placeholder ||
4973
- intl.formatMessage({ id: "lastNamePlaceholder", defaultMessage: "Last Name*" }), refId: "lastName", value: value, required: true, "aria-labelledby": "sid-last-name-label" }),
4957
+ intl.formatHTMLMessage({ id: "lastNamePlaceholder", defaultMessage: "Last Name" }), refId: "lastName", value: value, required: true, "aria-labelledby": "sid-last-name-label" }),
4974
4958
  isErrored ? (React.createElement("div", { className: "sid-field-error" },
4975
4959
  React.createElement(FormattedHTMLMessage, { id: "errorId.invalidLastName", defaultMessage: "Invalid last name" }))) : null));
4976
4960
  const LastNameComponent = injectIntl(LastName);
@@ -4979,7 +4963,7 @@ const Email = ({ value, isErrored, onChange, explanation, intl, onKeyDown = unde
4979
4963
  React.createElement("div", { className: "sid-l-space-top-md" }),
4980
4964
  React.createElement(FieldLabel, { text: React.createElement(FormattedHTMLMessage, { id: "emailAddress", defaultMessage: "Email address" }), htmlForLabel: "sid-email", id: "sid-email-label", displayClasses: `sid-field__label-with-explanation${placeholder && " sid-h-screen-reader-only"}` }, explanation || (React.createElement(FormattedHTMLMessage, { id: "emailExplanation", defaultMessage: "Needed to send you your unique code" }))),
4981
4965
  React.createElement(InputTextComponent, { id: "email", isErrored: isErrored, onChange: (event) => onChange(event.target.value), onKeyDown: typeof onKeyDown === "function" ? (e) => onKeyDown(e) : undefined, placeholder: placeholder ||
4982
- intl.formatMessage({ id: "emailAddressPlaceholder", defaultMessage: "Email*" }), type: "email", value: value, required: true, "aria-labelledby": "sid-email-label" }),
4966
+ intl.formatHTMLMessage({ id: "emailAddressPlaceholder", defaultMessage: "Email" }), type: "email", value: value, required: true, "aria-labelledby": "sid-email-label" }),
4983
4967
  isErrored ? (React.createElement("div", { className: "sid-field-error" },
4984
4968
  React.createElement(FormattedHTMLMessage, { id: "errorId.invalidEmail", defaultMessage: "Invalid email" }))) : null));
4985
4969
  const EmailComponent = injectIntl(Email);
@@ -9639,12 +9623,12 @@ const Country = ({ value, isErrored, options, onChange, onKeyDown, intl, placeho
9639
9623
  const inputId = "sid-country";
9640
9624
  return (React.createElement("div", { className: `sid-field ${inputId}` },
9641
9625
  React.createElement("div", { className: "sid-l-space-top-md" }),
9642
- React.createElement(FieldLabel, { text: React.createElement(FormattedHTMLMessage, { id: "country", defaultMessage: "Country" }), htmlForLabel: inputId, id: `${inputId}-label`, displayClasses: placeholder && "sid-h-screen-reader-only", isRequired: isRequired }),
9626
+ React.createElement(FieldLabel, { text: React.createElement(FormattedHTMLMessage, { id: "country", defaultMessage: "Country" }), htmlForLabel: inputId, id: `${inputId}-label`, isRequired: isRequired }),
9643
9627
  React.createElement(InputSelectComponent, { fieldId: "country", inputId: inputId, fieldLabelId: `${inputId}-label`, isErrored: isErrored, options: options, onChange: (country) => onChange(country), onKeyDown: onKeyDown, placeholder: placeholder ||
9644
- intl.formatMessage({ id: "countryPlaceholder", defaultMessage: "Country*" }), value: value
9628
+ intl.formatHTMLMessage({ id: "countryPlaceholder", defaultMessage: "Country" }), value: value
9645
9629
  ? {
9646
9630
  value: value.value,
9647
- label: intl.formatMessage({
9631
+ label: intl.formatHTMLMessage({
9648
9632
  id: `countries.${value.value}`,
9649
9633
  defaultMessage: value.label || value.value,
9650
9634
  }),
@@ -9697,14 +9681,17 @@ const SelectComponent = Select;
9697
9681
  const ChangeLocale = ({ value, options, onChange, intl, }) => {
9698
9682
  const newOptions = options.map((option) => ({
9699
9683
  value: option.value,
9700
- label: intl.formatMessage({ id: `locales.${option.value}`, defaultMessage: "Label not found" }),
9684
+ label: intl.formatHTMLMessage({
9685
+ id: `locales.${option.value}`,
9686
+ defaultMessage: "Label not found",
9687
+ }),
9701
9688
  }));
9702
9689
  return (React.createElement("div", { className: "sid-change-locale" },
9703
9690
  React.createElement("div", { className: "sid-field__label sid-change-locale__label " },
9704
9691
  React.createElement(FormattedHTMLMessage, { id: "changeLanguage", defaultMessage: "Change language" })),
9705
9692
  React.createElement(SelectComponent, { className: "sid-change-locale__select", hideDropDownButton: true, options: newOptions, onChange: (locale) => onChange(locale), overrideInputClassName: "sid-change-locale__input", value: {
9706
9693
  value: value.value,
9707
- label: intl.formatMessage({
9694
+ label: intl.formatHTMLMessage({
9708
9695
  id: `locales.${value.value}`,
9709
9696
  defaultMessage: "Label not found",
9710
9697
  }),
@@ -10171,7 +10158,7 @@ const studentMessages = {
10171
10158
  const teacherMessages = {
10172
10159
  emailExplanation: "Must be your school-issued email address",
10173
10160
  schoolName: "School name",
10174
- schoolNamePlaceholder: "School name*",
10161
+ schoolNamePlaceholder: "School name",
10175
10162
  step: {
10176
10163
  personalInfo: {
10177
10164
  title: "Unlock this Teaching Staff-Only Offer",
@@ -10907,9 +10894,9 @@ const getOverriddenMock = async (overriddenStep, serverResponse) => {
10907
10894
  // eslint-disable-next-line react/prop-types
10908
10895
  const LoadingScreenMessage = ({ step }) => (React.createElement("div", { className: "sid-loading-screen__message" },
10909
10896
  CollectInfoSteps.includes(step) && (React.createElement("div", { className: "sid-loading-screen__message-header" },
10910
- React.createElement(FormattedMessage, { id: "step.personalInfo.verifyingTitle", defaultMessage: "Verifying your status" }))),
10897
+ React.createElement(FormattedHTMLMessage, { id: "step.personalInfo.verifyingTitle", defaultMessage: "Verifying your status" }))),
10911
10898
  React.createElement("div", { className: "sid-loading-screen__message-subhead" },
10912
- React.createElement(FormattedMessage, { id: "step.personalInfo.verifyingSubtitle", defaultMessage: "This should only take a minute" }))));
10899
+ React.createElement(FormattedHTMLMessage, { id: "step.personalInfo.verifyingSubtitle", defaultMessage: "This should only take a minute" }))));
10913
10900
 
10914
10901
  // By default, try and getMockedLoadingStep to allow text to be shown when mocking the loading step
10915
10902
  // eslint-disable-next-line react/prop-types
@@ -11171,11 +11158,16 @@ const convertByTrackingId = async (accountId, trackingId, conversionRequest) =>
11171
11158
 
11172
11159
  // Create IE + others compatible event handler
11173
11160
  const eventMethod = window.addEventListener ? "addEventListener" : "attachEvent";
11174
- const eventer = window[eventMethod];
11175
11161
  const messageEvent = eventMethod === "attachEvent" ? "onmessage" : "message";
11176
- /**
11177
- * @private
11178
- */
11162
+ /* =========== From an install page =========== */
11163
+ const listenToSheerIdFrame = (callback) => {
11164
+ assertValidFunction(callback);
11165
+ const receiveMessage = (event) => {
11166
+ callback(event);
11167
+ };
11168
+ window[eventMethod](messageEvent, receiveMessage, false);
11169
+ };
11170
+ /* =========== From within a MySheerID iFrame =========== */
11179
11171
  const speakToOuterFrame = (message) => {
11180
11172
  if (window.parent &&
11181
11173
  window.parent.postMessage &&
@@ -11183,15 +11175,12 @@ const speakToOuterFrame = (message) => {
11183
11175
  window.parent.postMessage(message, "*");
11184
11176
  }
11185
11177
  };
11186
- /**
11187
- * @private
11188
- */
11189
- const listenToSheerIdFrame = (callback) => {
11178
+ const listenToInstallPage = (callback) => {
11190
11179
  assertValidFunction(callback);
11191
11180
  const receiveMessage = (event) => {
11192
11181
  callback(event);
11193
11182
  };
11194
- eventer(messageEvent, receiveMessage, false);
11183
+ window[eventMethod](messageEvent, receiveMessage, false);
11195
11184
  };
11196
11185
 
11197
11186
  const VERIFICATION_ID_COOKIE_NAME = "sid-verificationId";
@@ -11348,14 +11337,7 @@ async function fetchProgramTheme(programId, locale) {
11348
11337
  if (locale)
11349
11338
  assertValidLocale(locale);
11350
11339
  const cleanLocale = locale || getLocaleSafely();
11351
- let url;
11352
- if (cleanLocale !== DEFAULT_LOCALE) {
11353
- url = getProgramThemeUrl(programId, cleanLocale);
11354
- }
11355
- else {
11356
- url = getProgramThemeUrl(programId);
11357
- }
11358
- return (await GetJson(url));
11340
+ return (await GetJson(getProgramThemeUrl(programId, cleanLocale)));
11359
11341
  }
11360
11342
  catch (e) {
11361
11343
  logger.error(e, "fetchProgramTheme");
@@ -11651,27 +11633,18 @@ const stepToRequest = {
11651
11633
  sso: null,
11652
11634
  docUpload: null,
11653
11635
  };
11654
- async function submitFromVerificationStep(step, previousResponse, viewModel, flag) {
11636
+ async function submitFromVerificationStep(step, previousResponse, viewModel) {
11655
11637
  let response;
11656
11638
  const { docUpload, cancelSocialSecurityNumber, sso, cancelEmailLoop } = VerificationStepsEnum;
11657
11639
  try {
11658
11640
  if (step === docUpload) {
11659
11641
  const requestBody = viewModel;
11660
11642
  const { file1, file2, file3 } = requestBody;
11661
- if (flag) {
11662
- response = await PostFilesS3(previousResponse.submissionUrl, [
11663
- file1,
11664
- file2,
11665
- file3,
11666
- ]);
11667
- }
11668
- else {
11669
- response = await PostFiles(previousResponse.submissionUrl, [
11670
- file1,
11671
- file2,
11672
- file3,
11673
- ]);
11674
- }
11643
+ response = await PostFiles(previousResponse.submissionUrl, [
11644
+ file1,
11645
+ file2,
11646
+ file3,
11647
+ ]);
11675
11648
  return response;
11676
11649
  }
11677
11650
  if (step === cancelSocialSecurityNumber || step === sso) {
@@ -11705,10 +11678,10 @@ function getUnrecoverableErrorStep() {
11705
11678
  };
11706
11679
  return response;
11707
11680
  }
11708
- async function submitStep(stepName, previousResponse, viewModel, flag) {
11681
+ async function submitStep(stepName, previousResponse, viewModel) {
11709
11682
  assertValidVerificationStepName(stepName);
11710
11683
  if (VerificationStepsEnum[stepName]) {
11711
- return submitFromVerificationStep(stepName, previousResponse, viewModel, flag);
11684
+ return submitFromVerificationStep(stepName, previousResponse, viewModel);
11712
11685
  }
11713
11686
  return Promise.reject(new Error(`Unknown step ${stepName}`));
11714
11687
  }
@@ -13807,8 +13780,8 @@ const createFetchVerificationRequest = async ({ dispatch, verificationResponsePr
13807
13780
  * @description Action creator to update the view model in redux.
13808
13781
  * @param dispatch
13809
13782
  */
13810
- const createUpdateViewModel = (dispatch) => async (viewModel) => await Promise.all([
13811
- dispatch({ viewModel, type: "VIEW_MODEL" }),
13783
+ const createUpdateViewModel = (dispatch) => async (viewModel, partial = false) => Promise.all([
13784
+ dispatch({ viewModel, type: "VIEW_MODEL", partial }),
13812
13785
  dispatch({ type: "FORM_VALIDATION_OPTIONS" }),
13813
13786
  ]);
13814
13787
  const createUpdateLocale = (dispatch, programId) => async (viewModel, programTheme, segment) => {
@@ -13839,13 +13812,13 @@ const createUpdateFieldValidationErrors = (dispatch) => async (fieldValidationEr
13839
13812
  * @description Action creator to submit a step to the backend REST API
13840
13813
  * @param dispatch
13841
13814
  */
13842
- const createSubmitStep = (dispatch) => async (stepName, viewModel, previousResponse, flag) => {
13815
+ const createSubmitStep = (dispatch) => async (stepName, viewModel, previousResponse) => {
13843
13816
  logger.log(`submitStep(): submitting stepName ${stepName}, viewModel:`, viewModel);
13844
13817
  scrollToWindowTop();
13845
13818
  await dispatch({ type: "IS_LOADING", isLoading: true, loadingStep: stepName });
13846
13819
  logger.info(`submitting step ${stepName}`, viewModel);
13847
13820
  setGaDimensionIsTest(viewModel);
13848
- const verificationResponse = await VerificationApiClient.submitStep(stepName, previousResponse, viewModel, flag);
13821
+ const verificationResponse = await VerificationApiClient.submitStep(stepName, previousResponse, viewModel);
13849
13822
  const newViewModel = handleSubmitResponse(verificationResponse, viewModel);
13850
13823
  const promiseVerificationResponse = dispatch({
13851
13824
  verificationResponse,
@@ -14412,8 +14385,16 @@ const verificationServiceReducer = (state = getInitialState(), action) => {
14412
14385
  case "VIEW_MODEL":
14413
14386
  const newState = { ...state };
14414
14387
  if (action.viewModel) {
14415
- // Allow action.viewModel to be a sparse object. Bring along all previous viewModel
14416
- newState.viewModel = { ...action.viewModel };
14388
+ if (action.partial) {
14389
+ // New functionality: action.viewModel can be a sparse object. Bring along all previous viewModel
14390
+ // This allows devs to set just one field, like firstName, without supplying the rest of the viewModel object
14391
+ newState.viewModel = deepMerge({}, state.viewModel, action.viewModel);
14392
+ }
14393
+ else {
14394
+ // Existing functionality: replace viewModel object. Leave here for backwards compatibility.
14395
+ // WARNING - this is not a deep clone!
14396
+ newState.viewModel = { ...action.viewModel };
14397
+ }
14417
14398
  }
14418
14399
  if (action.viewModel && action.viewModel.metadata) {
14419
14400
  setMetadata(action.viewModel.metadata);
@@ -14496,14 +14477,13 @@ const refreshStore = () => {
14496
14477
  const store$1 = getStore();
14497
14478
  /**
14498
14479
  * @description Set the viewModel for the form or reset it by passing an empty object
14499
- * @todo allow sparse viewModel to be provided
14500
14480
  */
14501
- const setViewModel = (newViewModel) => {
14481
+ const setViewModel = (newViewModel, options = { partial: false }) => {
14502
14482
  const state = store$1.getState();
14503
14483
  const doSet = () => {
14504
14484
  const updatedViewModel = deepClone(newViewModel);
14505
14485
  logger.info("Setting viewModel", updatedViewModel);
14506
- createUpdateViewModel(store$1.dispatch)(updatedViewModel);
14486
+ createUpdateViewModel(store$1.dispatch)(updatedViewModel, options.partial);
14507
14487
  };
14508
14488
  // The viewModel may not be set until later, and default messages may fail to load
14509
14489
  // so re-use setOptions to make sure we know about the desire to use this locale
@@ -17472,7 +17452,7 @@ unwrapExports(lib$1);
17472
17452
  lib$1.withLDConsumer;
17473
17453
  lib$1.withLDProvider;
17474
17454
  lib$1.useLDClient;
17475
- var lib_4 = lib$1.useFlags;
17455
+ lib$1.useFlags;
17476
17456
  lib$1.camelCaseKeys;
17477
17457
  lib$1.asyncWithLDProvider;
17478
17458
  var lib_7 = lib$1.LDProvider;
@@ -17687,7 +17667,7 @@ const OptInComponent = ({ isErrored, isRequired, onChange, value, verificationSe
17687
17667
  React.createElement("div", { className: "sid-l-position" },
17688
17668
  React.createElement("label", { htmlFor: "sid-opt-in__optIn" },
17689
17669
  React.createElement(OptInInputComponent, { id: "optIn", isErrored: isErrored, onChange: onChange, value: value }),
17690
- React.createElement("div", { className: "sid-field__label sid-checkbox__label" }, verificationService ? (React.createElement(FormattedMessage, { id: "companyName", defaultMessage: "{Company}" }, (companyName) => (React.createElement(FormattedHTMLMessage, { id: "optIn", values: { company: companyName }, defaultMessage: defaultMessage })))) : (React.createElement(FormattedHTMLMessage, { id: "optIn", defaultMessage: defaultMessage }))),
17670
+ React.createElement("div", { className: "sid-field__label sid-checkbox__label" }, verificationService ? (React.createElement(FormattedHTMLMessage, { id: "companyName", defaultMessage: "{Company}" }, (companyName) => (React.createElement(FormattedHTMLMessage, { id: "optIn", values: { company: companyName }, defaultMessage: defaultMessage })))) : (React.createElement(FormattedHTMLMessage, { id: "optIn", defaultMessage: defaultMessage }))),
17691
17671
  isErrored ? (React.createElement("div", { className: "sid-field-error" },
17692
17672
  React.createElement(FormattedHTMLMessage, { id: "errorId.invalidOptIn", defaultMessage: "Must be selected to continue" }))) : null))));
17693
17673
  };
@@ -17702,7 +17682,7 @@ const LogoComponent = ({ verificationService }) => {
17702
17682
  const logoUrl = getLogoUrl(verificationService.programTheme);
17703
17683
  if (logoUrl) {
17704
17684
  return (React.createElement("div", { className: "sid-logo sid-l-space-top-md" },
17705
- React.createElement(FormattedMessage, { id: "companyName", defaultMessage: "{Company}" }, (companyName) => (React.createElement("img", { className: "sid-logo__img", alt: `${companyName} logo`, src: logoUrl })))));
17685
+ React.createElement(FormattedHTMLMessage, { id: "companyName", defaultMessage: "{Company}" }, (companyName) => (React.createElement("img", { className: "sid-logo__img", alt: `${companyName} logo`, src: logoUrl })))));
17706
17686
  }
17707
17687
  return null;
17708
17688
  };
@@ -17740,13 +17720,13 @@ selectedCountryCode = "us", }) => {
17740
17720
  isErrored ? (React.createElement("div", { className: "sid-field-error" },
17741
17721
  React.createElement(FormattedHTMLMessage, { id: "errorId.invalidPhoneNumber", defaultMessage: "Invalid mobile number" }))) : null,
17742
17722
  displaySmsConsent && (React.createElement("div", { className: "sid-h-small-text sid-l-space-top-md sid-sms-consent" },
17743
- React.createElement(FormattedMessage, { id: "phoneNumberWarnMessage1", defaultMessage: "By submitting this form with a mobile number, you consent to receive SMS/text messages for verification purposes. Standard phone carrier text messaging (SMS) and data rates may apply." }))),
17723
+ React.createElement(FormattedHTMLMessage, { id: "phoneNumberWarnMessage1", defaultMessage: "By submitting this form with a mobile number, you consent to receive SMS/text messages for verification purposes. Standard phone carrier text messaging (SMS) and data rates may apply." }))),
17744
17724
  requireCarrierConsent && (React.createElement("div", { className: "sid-l-position sid-carrier-disclosure-consent" },
17745
17725
  React.createElement("div", { className: "sid-h-small-text sid-l-space-top-md" },
17746
17726
  React.createElement("label", { htmlFor: "sid-opt-in__carrier-consent" },
17747
17727
  React.createElement(OptInInputComponent, { id: "carrier-consent", isErrored: isErrored, value: carrierConsent, onChange: (value) => onCarrierConsentChange(value) }),
17748
17728
  React.createElement("div", { className: "sid-field__label sid-checkbox__label" },
17749
- React.createElement(FormattedMessage, { id: "phoneNumberWarnMessage2", defaultMessage: "You authorize your mobile service provider to disclose your mobile number and certain account information to SheerID, solely for identity verification and to avoid fraud." }))))))));
17729
+ React.createElement(FormattedHTMLMessage, { id: "phoneNumberWarnMessage2", defaultMessage: "You authorize your mobile service provider to disclose your mobile number and certain account information to SheerID, solely for identity verification and to avoid fraud." }))))))));
17750
17730
  };
17751
17731
  const PhoneNumberComponent = injectIntl(PhoneNumber);
17752
17732
 
@@ -17994,9 +17974,9 @@ const CollegeName = ({ onChange, value, isErrored, verificationService, intl, pl
17994
17974
  React.createElement("div", { className: "sid-l-space-top-md" }),
17995
17975
  React.createElement(FieldLabel, { text: React.createElement(FormattedHTMLMessage, { id: "schoolName", defaultMessage: "University / College name" }), htmlForLabel: "sid-college-name", id: "sid-college-name-label", displayClasses: placeholder && "sid-h-screen-reader-only" }),
17996
17976
  React.createElement(TypeaheadComponent, { className: isErrored ? "sid-text-input--error" : "", countryCode: country, minimumSearchValueLength: getOptions().minimumOrganizationSearchLength, onChange: (choice) => onChange(choice), placeholder: placeholder ||
17997
- intl.formatMessage({
17977
+ intl.formatHTMLMessage({
17998
17978
  id: "schoolNamePlaceholder",
17999
- defaultMessage: "University / College name*",
17979
+ defaultMessage: "University / College name",
18000
17980
  }), programId: programId, value: value, inputHtmlId: "sid-college-name", openOrgSearchEnabled: verificationService.programTheme.openOrgSearchEnabled, orgSearchUrl: verificationService.programTheme.config.orgSearchUrl, orgSearchTags: searchTags, locale: locale, urlAddSchoolForm: urlAddSchoolForm, isRequired: isRequired }),
18001
17981
  isErrored ? (React.createElement("div", { className: "sid-field-error" },
18002
17982
  React.createElement(FormattedHTMLMessage, { id: "errorId.invalidOrganization", defaultMessage: "You must select an organization from the list" }))) : null));
@@ -18019,33 +17999,42 @@ const BirthDate = ({ onChange, intl, isErrored, isRequired = true, errorId, valu
18019
17999
  const months = [
18020
18000
  {
18021
18001
  value: "1",
18022
- label: intl.formatMessage({ id: "dateTime.january", defaultMessage: "January" }),
18002
+ label: intl.formatHTMLMessage({ id: "dateTime.january", defaultMessage: "January" }),
18023
18003
  },
18024
18004
  {
18025
18005
  value: "2",
18026
- label: intl.formatMessage({ id: "dateTime.february", defaultMessage: "February" }),
18006
+ label: intl.formatHTMLMessage({ id: "dateTime.february", defaultMessage: "February" }),
18007
+ },
18008
+ {
18009
+ value: "3",
18010
+ label: intl.formatHTMLMessage({ id: "dateTime.march", defaultMessage: "March" }),
18011
+ },
18012
+ {
18013
+ value: "4",
18014
+ label: intl.formatHTMLMessage({ id: "dateTime.april", defaultMessage: "April" }),
18015
+ },
18016
+ { value: "5", label: intl.formatHTMLMessage({ id: "dateTime.may", defaultMessage: "May" }) },
18017
+ { value: "6", label: intl.formatHTMLMessage({ id: "dateTime.june", defaultMessage: "June" }) },
18018
+ { value: "7", label: intl.formatHTMLMessage({ id: "dateTime.july", defaultMessage: "July" }) },
18019
+ {
18020
+ value: "8",
18021
+ label: intl.formatHTMLMessage({ id: "dateTime.august", defaultMessage: "August" }),
18027
18022
  },
18028
- { value: "3", label: intl.formatMessage({ id: "dateTime.march", defaultMessage: "March" }) },
18029
- { value: "4", label: intl.formatMessage({ id: "dateTime.april", defaultMessage: "April" }) },
18030
- { value: "5", label: intl.formatMessage({ id: "dateTime.may", defaultMessage: "May" }) },
18031
- { value: "6", label: intl.formatMessage({ id: "dateTime.june", defaultMessage: "June" }) },
18032
- { value: "7", label: intl.formatMessage({ id: "dateTime.july", defaultMessage: "July" }) },
18033
- { value: "8", label: intl.formatMessage({ id: "dateTime.august", defaultMessage: "August" }) },
18034
18023
  {
18035
18024
  value: "9",
18036
- label: intl.formatMessage({ id: "dateTime.september", defaultMessage: "September" }),
18025
+ label: intl.formatHTMLMessage({ id: "dateTime.september", defaultMessage: "September" }),
18037
18026
  },
18038
18027
  {
18039
18028
  value: "10",
18040
- label: intl.formatMessage({ id: "dateTime.october", defaultMessage: "October" }),
18029
+ label: intl.formatHTMLMessage({ id: "dateTime.october", defaultMessage: "October" }),
18041
18030
  },
18042
18031
  {
18043
18032
  value: "11",
18044
- label: intl.formatMessage({ id: "dateTime.november", defaultMessage: "November" }),
18033
+ label: intl.formatHTMLMessage({ id: "dateTime.november", defaultMessage: "November" }),
18045
18034
  },
18046
18035
  {
18047
18036
  value: "12",
18048
- label: intl.formatMessage({ id: "dateTime.december", defaultMessage: "December" }),
18037
+ label: intl.formatHTMLMessage({ id: "dateTime.december", defaultMessage: "December" }),
18049
18038
  },
18050
18039
  ];
18051
18040
  const isDateFieldEmpty = (year, month, day) => (!day || day === "") && (!month || month === "") && (!year || year === "");
@@ -18129,9 +18118,9 @@ const BirthDate = ({ onChange, intl, isErrored, isRequired = true, errorId, valu
18129
18118
  // clear the birth month
18130
18119
  updateBirthMonth(null);
18131
18120
  }
18132
- }, placeholder: intl.formatMessage({ id: "dateTime.month", defaultMessage: "Month" }), suppressPlaceholder: false, value: birthDateMonth ? months[birthDateMonth - 1] : undefined, isRequired: isRequired, buttonRef: "inputSelectButtonBirthDate" }),
18133
- React.createElement("input", { className: `sid-birthdate__day sid-text-input sid-text-input--required ${isErrored ? "sid-text-input--error" : ""}`, id: "sid-birthdate-day", min: 1, max: 31, name: "sid-birthdate-day", onChange: (e) => updateBirthDay(e.target.value), onBlur: getBirthDate, pattern: "\\d*", placeholder: intl.formatMessage({ id: "dateTime.day", defaultMessage: "Day" }), "aria-label": intl.formatMessage({ id: "dateTime.day", defaultMessage: "Day" }), "aria-labelledby": "sid-birthdate", "aria-required": isRequired, ref: (input) => setRef("birthDateDay", input), type: "text", value: birthDateDay || "" }),
18134
- React.createElement("input", { className: `sid-birthdate__year sid-text-input sid-text-input--required ${isErrored ? "sid-text-input--error" : ""}`, id: "sid-birthdate-year", name: "sid-birthdate-year", type: "text", min: minBirthYear, max: thisYear, value: birthDateYear || "", pattern: "\\d*", placeholder: intl.formatMessage({ id: "dateTime.year", defaultMessage: "Year" }), "aria-label": intl.formatMessage({ id: "dateTime.year", defaultMessage: "Year" }), "aria-labelledby": "sid-birthdate", "aria-required": isRequired, ref: (input) => setRef("birthDateYear", input), onChange: (e) => updateBirthYear(e.target.value), onBlur: getBirthDate })),
18121
+ }, placeholder: intl.formatHTMLMessage({ id: "dateTime.month", defaultMessage: "Month" }), suppressPlaceholder: false, value: birthDateMonth ? months[birthDateMonth - 1] : undefined, isRequired: isRequired, buttonRef: "inputSelectButtonBirthDate" }),
18122
+ React.createElement("input", { className: `sid-birthdate__day sid-text-input sid-text-input--required ${isErrored ? "sid-text-input--error" : ""}`, id: "sid-birthdate-day", min: 1, max: 31, name: "sid-birthdate-day", onChange: (e) => updateBirthDay(e.target.value), onBlur: getBirthDate, pattern: "\\d*", placeholder: intl.formatHTMLMessage({ id: "dateTime.day", defaultMessage: "Day" }), "aria-label": intl.formatHTMLMessage({ id: "dateTime.day", defaultMessage: "Day" }), "aria-labelledby": "sid-birthdate", "aria-required": isRequired, ref: (input) => setRef("birthDateDay", input), type: "text", value: birthDateDay || "" }),
18123
+ React.createElement("input", { className: `sid-birthdate__year sid-text-input sid-text-input--required ${isErrored ? "sid-text-input--error" : ""}`, id: "sid-birthdate-year", name: "sid-birthdate-year", type: "text", min: minBirthYear, max: thisYear, value: birthDateYear || "", pattern: "\\d*", placeholder: intl.formatHTMLMessage({ id: "dateTime.year", defaultMessage: "Year" }), "aria-label": intl.formatHTMLMessage({ id: "dateTime.year", defaultMessage: "Year" }), "aria-labelledby": "sid-birthdate", "aria-required": isRequired, ref: (input) => setRef("birthDateYear", input), onChange: (e) => updateBirthYear(e.target.value), onBlur: getBirthDate })),
18135
18124
  isErrored ? errMsg : null));
18136
18125
  };
18137
18126
  BirthDate.defaultProps = {
@@ -18310,7 +18299,7 @@ const HowDoesVerifyingWorkComponent = ({ verificationService, initialVisibility
18310
18299
  tooltipVisibility ? (React.createElement("div", { className: "sid-how-verify-works__container" },
18311
18300
  React.createElement("div", { className: "sid-how-verify-works__caret" }),
18312
18301
  React.createElement("div", { className: "sid-how-verify-works__tooltip", "aria-live": "polite", role: "tooltip", id: "how-does-verifying-work" },
18313
- React.createElement(FormattedMessage, { id: "companyName", defaultMessage: "{Company}" }, (companyName) => (React.createElement(FormattedHTMLMessage, { id: `step.${step === VerificationStepsEnum.docUpload ? "docUpload" : "personalInfo"}.howDoesVerifyingWorkDetails`, defaultMessage: defaultMessage, values: { companyName } }))),
18302
+ React.createElement(FormattedHTMLMessage, { id: "companyName", defaultMessage: "{Company}" }, (companyName) => (React.createElement(FormattedHTMLMessage, { id: `step.${step === VerificationStepsEnum.docUpload ? "docUpload" : "personalInfo"}.howDoesVerifyingWorkDetails`, defaultMessage: defaultMessage, values: { companyName } }))),
18314
18303
  "\u00A0",
18315
18304
  React.createElement(FaqLinkComponent, { verificationService: verificationService })))) : null));
18316
18305
  };
@@ -18339,26 +18328,27 @@ const BaseCountryComponentWrapper = ({ verificationService, viewModel, intl, vie
18339
18328
  ? viewModel.countryChoice
18340
18329
  : defaultCountryChoice;
18341
18330
  updateCountryChoice(countryChoice);
18342
- return;
18343
18331
  }
18332
+ }, [firstRender]);
18333
+ React.useEffect(() => {
18344
18334
  if (!hasMultipleCountries) {
18345
18335
  const fieldsToSkip = viewModel.fieldsToSkipValidation
18346
18336
  ? [...viewModel.fieldsToSkipValidation, "country"]
18347
18337
  : ["country"];
18348
18338
  verificationService.updateViewModel(produceDraftViewModel(viewModel, "fieldsToSkipValidation", fieldsToSkip));
18349
18339
  }
18350
- else {
18351
- const updatedFieldValidationErrors = fn(verificationService.fieldValidationErrors, (draft) => {
18352
- if (draft.country) {
18353
- draft.country = validateFieldById("country", viewModel.countryChoice, verificationService.formValidationOptions);
18354
- }
18355
- if ("postalCode" in viewModel && viewModel.postalCode) {
18356
- draft.postalCode = validateFieldById("postalCode", viewModel.postalCode, verificationService.formValidationOptions);
18357
- }
18358
- });
18359
- updateFieldValidationErrors(updatedFieldValidationErrors, verificationService);
18360
- }
18361
- }, [viewModel.countryChoice, hasMultipleCountries, firstRender]);
18340
+ }, [hasMultipleCountries]);
18341
+ React.useEffect(() => {
18342
+ const updatedFieldValidationErrors = fn(verificationService.fieldValidationErrors, (draft) => {
18343
+ if (draft.country) {
18344
+ draft.country = validateFieldById("country", viewModel.countryChoice, verificationService.formValidationOptions);
18345
+ }
18346
+ if ("postalCode" in viewModel && viewModel.postalCode) {
18347
+ draft.postalCode = validateFieldById("postalCode", viewModel.postalCode, verificationService.formValidationOptions);
18348
+ }
18349
+ });
18350
+ updateFieldValidationErrors(updatedFieldValidationErrors, verificationService);
18351
+ }, [viewModel.countryChoice]);
18362
18352
  if (!hasMultipleCountries) {
18363
18353
  return null;
18364
18354
  }
@@ -18469,7 +18459,7 @@ const StepStudentPersonalInfo = ({ intl, verificationService, }) => {
18469
18459
  const StepStudentPersonalInfoComponent = injectIntl(StepStudentPersonalInfo);
18470
18460
 
18471
18461
  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 ||
18472
- intl.formatMessage({ id: "postalCodePlaceholder", defaultMessage: "Postal Code*" }), refId: "postalCode", value: value, required: true, "aria-labelledby": ariaLabelledBy }));
18462
+ intl.formatHTMLMessage({ id: "postalCodePlaceholder", defaultMessage: "Postal Code" }), refId: "postalCode", value: value, required: true, "aria-labelledby": ariaLabelledBy }));
18473
18463
  PostalCodeInput.defaultProps = {
18474
18464
  isValid: true,
18475
18465
  };
@@ -18579,7 +18569,7 @@ const carrierConsentValueValidator = (countryChoiceValue) => (value, programThem
18579
18569
  const City = ({ value, isErrored, onChange, intl, onKeyDown = undefined, placeholder = "", }) => (React.createElement("div", { className: "sid-field sid-city" },
18580
18570
  React.createElement("div", { className: "sid-l-space-top-md" }),
18581
18571
  React.createElement(FieldLabel, { text: React.createElement(FormattedHTMLMessage, { id: "city", defaultMessage: "City" }), htmlForLabel: "sid-city", id: "sid-city-label", displayClasses: placeholder && "sid-h-screen-reader-only" }),
18582
- React.createElement(InputTextComponent, { id: "city", isErrored: isErrored, onChange: (e) => onChange(e.target.value), onKeyDown: typeof onKeyDown === "function" ? (e) => onKeyDown(e) : undefined, placeholder: placeholder || intl.formatMessage({ id: "cityPlaceholder", defaultMessage: "City*" }), value: value, "aria-labelledby": "sid-city-label" }),
18572
+ React.createElement(InputTextComponent, { id: "city", isErrored: isErrored, onChange: (e) => onChange(e.target.value), onKeyDown: typeof onKeyDown === "function" ? (e) => onKeyDown(e) : undefined, placeholder: placeholder || intl.formatHTMLMessage({ id: "cityPlaceholder", defaultMessage: "City" }), value: value, "aria-labelledby": "sid-city-label" }),
18583
18573
  isErrored ? (React.createElement("div", { className: "sid-field-error" },
18584
18574
  React.createElement(FormattedHTMLMessage, { id: "errorId.invalidCity", defaultMessage: "Invalid city" }))) : null));
18585
18575
  const CityComponent = injectIntl(City);
@@ -18587,7 +18577,8 @@ const CityComponent = injectIntl(City);
18587
18577
  const Address = ({ value, isErrored, onChange, intl, onKeyDown = undefined, placeholder = "", }) => (React.createElement("div", { className: "sid-field sid-address" },
18588
18578
  React.createElement("div", { className: "sid-l-space-top-md" }),
18589
18579
  React.createElement(FieldLabel, { text: React.createElement(FormattedHTMLMessage, { id: "address", defaultMessage: "Address" }), htmlForLabel: "sid-address", id: "sid-address-label", displayClasses: placeholder && "sid-h-screen-reader-only" }),
18590
- React.createElement(InputTextComponent, { id: "address", isErrored: isErrored, onChange: (e) => onChange(e.target.value), onKeyDown: typeof onKeyDown === "function" ? (e) => onKeyDown(e) : undefined, placeholder: placeholder || intl.formatMessage({ id: "addressPlaceholder", defaultMessage: "Address*" }), value: value, "aria-labelledby": "sid-address-label" }),
18580
+ React.createElement(InputTextComponent, { id: "address", isErrored: isErrored, onChange: (e) => onChange(e.target.value), onKeyDown: typeof onKeyDown === "function" ? (e) => onKeyDown(e) : undefined, placeholder: placeholder ||
18581
+ intl.formatHTMLMessage({ id: "addressPlaceholder", defaultMessage: "Address" }), value: value, "aria-labelledby": "sid-address-label" }),
18591
18582
  isErrored ? (React.createElement("div", { className: "sid-field-error" },
18592
18583
  React.createElement(FormattedHTMLMessage, { id: "errorId.invalidAddress", defaultMessage: "Invalid address" }))) : null));
18593
18584
  const AddressComponent = injectIntl(Address);
@@ -18742,9 +18733,9 @@ const TeacherSchool = ({ value, isErrored, onChange, verificationService, intl,
18742
18733
  React.createElement("div", { className: "sid-l-space-top-md" }),
18743
18734
  React.createElement(FieldLabel, { text: React.createElement(FormattedHTMLMessage, { id: "schoolName", defaultMessage: "School name" }), htmlForLabel: id, id: `${id}-label`, displayClasses: placeholder && "sid-h-screen-reader-only" }),
18744
18735
  React.createElement(TypeaheadComponent, { className: isErrored ? "sid-text-input--error" : "", countryCode: country, onChange: (choice) => onChange(choice), minimumSearchValueLength: getOptions().minimumOrganizationSearchLength, placeholder: placeholder ||
18745
- intl.formatMessage({
18736
+ intl.formatHTMLMessage({
18746
18737
  id: "schoolNamePlaceholder",
18747
- defaultMessage: "School name*",
18738
+ defaultMessage: "School name",
18748
18739
  }), programId: programId, value: value, inputHtmlId: id, openOrgSearchEnabled: verificationService.programTheme.openOrgSearchEnabled, orgSearchUrl: verificationService.programTheme.config.orgSearchUrl, orgSearchTags: searchTags, locale: locale, urlAddSchoolForm: urlAddSchoolForm, isRequired: true }),
18749
18740
  isErrored ? (React.createElement("div", { className: "sid-field-error" },
18750
18741
  React.createElement(FormattedHTMLMessage, { id: "errorId.invalidOrganization", defaultMessage: "You must select an organization from the list" }))) : null));
@@ -18859,7 +18850,7 @@ const MemberId = ({ value, isErrored, onChange, explanation, intl, placeholder =
18859
18850
  React.createElement("div", { className: "sid-l-space-top-md" }),
18860
18851
  React.createElement(FieldLabel, { text: label || React.createElement(FormattedHTMLMessage, { id: "memberId", defaultMessage: "ID Number" }), htmlForLabel: "sid-member-id", id: "sid-member-id-label", displayClasses: `sid-field__label-with-explanation${placeholder && " sid-h-screen-reader-only"}`, isRequired: isRequired }, explanation || getDefaultExplanation()),
18861
18852
  React.createElement(InputTextComponent, { id: "member-id", isErrored: isErrored, onChange: (e) => onChange(e.target.value), placeholder: placeholder ||
18862
- intl.formatMessage({ id: "memberIdPlaceholder", defaultMessage: "ID Number*" }), refId: "memberId", value: value, "aria-labelledby": "sid-member-id-label" }),
18853
+ intl.formatHTMLMessage({ id: "memberIdPlaceholder", defaultMessage: "ID Number" }), refId: "memberId", value: value, "aria-labelledby": "sid-member-id-label" }),
18863
18854
  isErrored ? (React.createElement("div", { className: "sid-field-error" },
18864
18855
  React.createElement(FormattedHTMLMessage, { id: "errorId.invalidMemberId", defaultMessage: "Invalid ID Number" }))) : null));
18865
18856
  };
@@ -18871,7 +18862,10 @@ const MembershipOrganization = ({ value, isErrored, onChange, verificationServic
18871
18862
  React.createElement("div", { className: "sid-l-space-top-md" }),
18872
18863
  React.createElement(FieldLabel, { text: React.createElement(FormattedHTMLMessage, { id: "organization", defaultMessage: "Organization" }), htmlForLabel: "sid-membership", id: "sid-membership-label", displayClasses: placeholder && "sid-h-screen-reader-only" }),
18873
18864
  React.createElement(TypeaheadComponent, { className: isErrored ? "sid-text-input--error" : "", countryCode: getSafe(() => verificationService.viewModel.countryChoice.value), onChange: (choice) => onChange(choice), minimumSearchValueLength: getOptions().minimumOrganizationSearchLength, placeholder: placeholder ||
18874
- intl.formatMessage({ id: "organizationNamePlaceholder", defaultMessage: "Organization*" }), programId: programId, value: value, inputHtmlId: "sid-membership", openOrgSearchEnabled: verificationService.programTheme.openOrgSearchEnabled, orgSearchUrl: verificationService.programTheme.config.orgSearchUrl }),
18865
+ intl.formatHTMLMessage({
18866
+ id: "organizationNamePlaceholder",
18867
+ defaultMessage: "Organization",
18868
+ }), programId: programId, value: value, inputHtmlId: "sid-membership", openOrgSearchEnabled: verificationService.programTheme.openOrgSearchEnabled, orgSearchUrl: verificationService.programTheme.config.orgSearchUrl }),
18875
18869
  isErrored ? (React.createElement("div", { className: "sid-field-error" },
18876
18870
  React.createElement(FormattedHTMLMessage, { id: "errorId.invalidOrganization", defaultMessage: "You must select an organization from the list" }))) : null));
18877
18871
  };
@@ -18986,7 +18980,8 @@ const MilitaryStatus = ({ value, isErrored, options, onChange, intl, placeholder
18986
18980
  return (React.createElement("div", { className: `sid-field ${inputId}` },
18987
18981
  React.createElement("div", { className: "sid-l-space-top-md" }),
18988
18982
  React.createElement(FieldLabel, { text: React.createElement(FormattedHTMLMessage, { id: "status", defaultMessage: "Status" }), htmlForLabel: inputId, id: `${inputId}-label`, displayClasses: placeholder && "sid-h-screen-reader-only" }),
18989
- React.createElement(InputSelectComponent, { fieldId: "status", inputId: inputId, fieldLabelId: `${inputId}-label`, isErrored: isErrored, options: SortByLabel(options), onChange: (status) => onChange(status), value: value, placeholder: placeholder || intl.formatMessage({ id: "statusPlaceholder", defaultMessage: "Status*" }) }),
18983
+ React.createElement(InputSelectComponent, { fieldId: "status", inputId: inputId, fieldLabelId: `${inputId}-label`, isErrored: isErrored, options: SortByLabel(options), onChange: (status) => onChange(status), value: value, placeholder: placeholder ||
18984
+ intl.formatHTMLMessage({ id: "statusPlaceholder", defaultMessage: "Status" }) }),
18990
18985
  isErrored ? (React.createElement("div", { className: "sid-field-error" },
18991
18986
  React.createElement(FormattedHTMLMessage, { id: "errorId.invalidStatus", defaultMessage: "Invalid military status" }))) : null));
18992
18987
  };
@@ -19029,7 +19024,7 @@ const BranchOfService = ({ autoFocus, onChange, value, isErrored, organizations,
19029
19024
  const { status } = verificationService.viewModel;
19030
19025
  const viewModel = verificationService.viewModel;
19031
19026
  const inputId = "sid-branch-of-service";
19032
- const countryChoice = viewModel.countryChoice;
19027
+ const { countryChoice } = viewModel;
19033
19028
  if (organizations) {
19034
19029
  let newOrganizations;
19035
19030
  newOrganizations = organizations.filter(orgsInStatus(status));
@@ -19056,9 +19051,9 @@ const BranchOfService = ({ autoFocus, onChange, value, isErrored, organizations,
19056
19051
  React.createElement("div", { className: "sid-l-space-top-md" }),
19057
19052
  React.createElement(FieldLabel, { text: React.createElement(FormattedHTMLMessage, { id: "branchOfService", defaultMessage: "Branch Of Service" }), htmlForLabel: inputId, id: `${inputId}-label`, displayClasses: placeholder && "sid-h-screen-reader-only" }),
19058
19053
  React.createElement(InputSelectComponent, { autoFocus: autoFocus, fieldId: "organization", inputId: inputId, fieldLabelId: `${inputId}-label`, isErrored: isErrored, options: SortByLabel(options), onChange: (branch) => handleStateChange(branch, onChange), value: value, placeholder: placeholder ||
19059
- intl.formatMessage({
19054
+ intl.formatHTMLMessage({
19060
19055
  id: "branchOfServicePlaceholder",
19061
- defaultMessage: "Branch Of Service*",
19056
+ defaultMessage: "Branch Of Service",
19062
19057
  }) }),
19063
19058
  isErrored ? (React.createElement("div", { className: "sid-field-error" },
19064
19059
  React.createElement(FormattedHTMLMessage, { id: "errorId.invalidOrganization", defaultMessage: "You must select an organization from the list" }))) : null));
@@ -19178,33 +19173,42 @@ const DischargeDate = ({ onChange, intl, isErrored, value, }) => {
19178
19173
  const months = [
19179
19174
  {
19180
19175
  value: "1",
19181
- label: intl.formatMessage({ id: "dateTime.january", defaultMessage: "January" }),
19176
+ label: intl.formatHTMLMessage({ id: "dateTime.january", defaultMessage: "January" }),
19182
19177
  },
19183
19178
  {
19184
19179
  value: "2",
19185
- label: intl.formatMessage({ id: "dateTime.february", defaultMessage: "February" }),
19180
+ label: intl.formatHTMLMessage({ id: "dateTime.february", defaultMessage: "February" }),
19181
+ },
19182
+ {
19183
+ value: "3",
19184
+ label: intl.formatHTMLMessage({ id: "dateTime.march", defaultMessage: "March" }),
19185
+ },
19186
+ {
19187
+ value: "4",
19188
+ label: intl.formatHTMLMessage({ id: "dateTime.april", defaultMessage: "April" }),
19189
+ },
19190
+ { value: "5", label: intl.formatHTMLMessage({ id: "dateTime.may", defaultMessage: "May" }) },
19191
+ { value: "6", label: intl.formatHTMLMessage({ id: "dateTime.june", defaultMessage: "June" }) },
19192
+ { value: "7", label: intl.formatHTMLMessage({ id: "dateTime.july", defaultMessage: "July" }) },
19193
+ {
19194
+ value: "8",
19195
+ label: intl.formatHTMLMessage({ id: "dateTime.august", defaultMessage: "August" }),
19186
19196
  },
19187
- { value: "3", label: intl.formatMessage({ id: "dateTime.march", defaultMessage: "March" }) },
19188
- { value: "4", label: intl.formatMessage({ id: "dateTime.april", defaultMessage: "April" }) },
19189
- { value: "5", label: intl.formatMessage({ id: "dateTime.may", defaultMessage: "May" }) },
19190
- { value: "6", label: intl.formatMessage({ id: "dateTime.june", defaultMessage: "June" }) },
19191
- { value: "7", label: intl.formatMessage({ id: "dateTime.july", defaultMessage: "July" }) },
19192
- { value: "8", label: intl.formatMessage({ id: "dateTime.august", defaultMessage: "August" }) },
19193
19197
  {
19194
19198
  value: "9",
19195
- label: intl.formatMessage({ id: "dateTime.september", defaultMessage: "September" }),
19199
+ label: intl.formatHTMLMessage({ id: "dateTime.september", defaultMessage: "September" }),
19196
19200
  },
19197
19201
  {
19198
19202
  value: "10",
19199
- label: intl.formatMessage({ id: "dateTime.october", defaultMessage: "October" }),
19203
+ label: intl.formatHTMLMessage({ id: "dateTime.october", defaultMessage: "October" }),
19200
19204
  },
19201
19205
  {
19202
19206
  value: "11",
19203
- label: intl.formatMessage({ id: "dateTime.november", defaultMessage: "November" }),
19207
+ label: intl.formatHTMLMessage({ id: "dateTime.november", defaultMessage: "November" }),
19204
19208
  },
19205
19209
  {
19206
19210
  value: "12",
19207
- label: intl.formatMessage({ id: "dateTime.december", defaultMessage: "December" }),
19211
+ label: intl.formatHTMLMessage({ id: "dateTime.december", defaultMessage: "December" }),
19208
19212
  },
19209
19213
  ];
19210
19214
  const updateDischargeMonth = (month) => {
@@ -19255,8 +19259,8 @@ const DischargeDate = ({ onChange, intl, isErrored, value, }) => {
19255
19259
  // clear the discharge month
19256
19260
  updateDischargeMonth(null);
19257
19261
  }
19258
- }, placeholder: intl.formatMessage({ id: "dateTime.month", defaultMessage: "Month" }), suppressPlaceholder: false, value: dischargeDateMonth ? months[dischargeDateMonth - 1] : undefined, buttonRef: "inputSelectButtonDischargeDate", isRequired: true }),
19259
- React.createElement(InputTextComponent, { className: `${inputId}__year`, id: "discharge-date-year", isErrored: isErrored, max: thisYear, min: minDischargeYear, onBlur: getDischargeDate, onChange: (e) => updateDischargeYear(e.target.value), pattern: "\\d*", placeholder: intl.formatMessage({ id: "dateTime.year", defaultMessage: "Year" }), hidePlaceholder: false, refId: "dischargeDateYear", required: true, value: dischargeDateYear || "", "aria-labelledby": "sid-discharge-date-label" })),
19262
+ }, placeholder: intl.formatHTMLMessage({ id: "dateTime.month", defaultMessage: "Month" }), suppressPlaceholder: false, value: dischargeDateMonth ? months[dischargeDateMonth - 1] : undefined, buttonRef: "inputSelectButtonDischargeDate", isRequired: true }),
19263
+ React.createElement(InputTextComponent, { className: `${inputId}__year`, id: "discharge-date-year", isErrored: isErrored, max: thisYear, min: minDischargeYear, onBlur: getDischargeDate, onChange: (e) => updateDischargeYear(e.target.value), pattern: "\\d*", placeholder: intl.formatHTMLMessage({ id: "dateTime.year", defaultMessage: "Year" }), hidePlaceholder: false, refId: "dischargeDateYear", required: true, value: dischargeDateYear || "", "aria-labelledby": "sid-discharge-date-label" })),
19260
19264
  isErrored ? (React.createElement("div", { className: "sid-field-error" },
19261
19265
  React.createElement(FormattedHTMLMessage, { id: "errorId.invalidDischargeDate", defaultMessage: "Invalid discharge date" }))) : null));
19262
19266
  };
@@ -19373,7 +19377,8 @@ const FirstResponderStatus = ({ value, isErrored, options, onChange, placeholder
19373
19377
  return (React.createElement("div", { className: `sid-field ${inputId}` },
19374
19378
  React.createElement("div", { className: "sid-l-space-top-md" }),
19375
19379
  React.createElement(FieldLabel, { text: React.createElement(FormattedHTMLMessage, { id: "status", defaultMessage: "Status" }), htmlForLabel: `${inputId}`, id: `${inputId}-label`, displayClasses: placeholder && "sid-h-screen-reader-only" }),
19376
- React.createElement(InputSelectComponent, { fieldId: "status", inputId: inputId, fieldLabelId: `${inputId}-label`, isErrored: isErrored, options: options, onChange: (status) => onChange(status), onKeyDown: onKeyDown, value: value, placeholder: placeholder || intl.formatMessage({ id: "statusPlaceholder", defaultMessage: "Status*" }) }),
19380
+ React.createElement(InputSelectComponent, { fieldId: "status", inputId: inputId, fieldLabelId: `${inputId}-label`, isErrored: isErrored, options: options, onChange: (status) => onChange(status), onKeyDown: onKeyDown, value: value, placeholder: placeholder ||
19381
+ intl.formatHTMLMessage({ id: "statusPlaceholder", defaultMessage: "Status" }) }),
19377
19382
  isErrored ? (React.createElement("div", { className: "sid-field-error" },
19378
19383
  React.createElement(FormattedHTMLMessage, { id: "errorId.invalidStatus", defaultMessage: "Invalid first responder status" }))) : null));
19379
19384
  };
@@ -19386,7 +19391,7 @@ const FirstResponderOrganization = ({ onChange, value, isErrored, verificationSe
19386
19391
  React.createElement("div", { className: "sid-l-space-top-md" }),
19387
19392
  React.createElement(FieldLabel, { text: React.createElement(FormattedHTMLMessage, { id: "organization", defaultMessage: "Organization" }), htmlForLabel: id, id: `${id}-label`, displayClasses: placeholder && "sid-h-screen-reader-only" }),
19388
19393
  React.createElement(TypeaheadComponent, { className: isErrored ? "sid-text-input--error" : "", countryCode: getSafe(() => verificationService.viewModel.countryChoice.value), minimumSearchValueLength: getOptions().minimumOrganizationSearchLength, onChange: (choice) => onChange(choice), placeholder: placeholder ||
19389
- intl.formatMessage({ id: "organizationPlaceholder", defaultMessage: "Organization*" }), programId: programId, value: value, inputHtmlId: id, openOrgSearchEnabled: verificationService.programTheme.openOrgSearchEnabled, orgSearchUrl: verificationService.programTheme.config.orgSearchUrl }),
19394
+ intl.formatHTMLMessage({ id: "organizationPlaceholder", defaultMessage: "Organization" }), programId: programId, value: value, inputHtmlId: id, openOrgSearchEnabled: verificationService.programTheme.openOrgSearchEnabled, orgSearchUrl: verificationService.programTheme.config.orgSearchUrl }),
19390
19395
  isErrored ? (React.createElement("div", { className: "sid-field-error" },
19391
19396
  React.createElement(FormattedHTMLMessage, { id: "errorId.invalidOrganization", defaultMessage: "You must select an organization from the list" }))) : null));
19392
19397
  };
@@ -19504,7 +19509,8 @@ const MedicalStatus = ({ value, isErrored, options, onChange, intl, placeholder
19504
19509
  return (React.createElement("div", { className: `sid-field ${inputId}` },
19505
19510
  React.createElement("div", { className: "sid-l-space-top-md" }),
19506
19511
  React.createElement(FieldLabel, { text: React.createElement(FormattedHTMLMessage, { id: "status", defaultMessage: "Status" }), htmlForLabel: inputId, id: `${inputId}-label`, displayClasses: placeholder && "sid-h-screen-reader-only" }),
19507
- React.createElement(InputSelectComponent, { fieldId: "status", inputId: inputId, fieldLabelId: `${inputId}-label`, isErrored: isErrored, options: options, onChange: (status) => onChange(status), onKeyDown: onKeyDown, value: value, placeholder: placeholder || intl.formatMessage({ id: "statusPlaceholder", defaultMessage: "Status*" }), isRequired: true }),
19512
+ React.createElement(InputSelectComponent, { fieldId: "status", inputId: inputId, fieldLabelId: `${inputId}-label`, isErrored: isErrored, options: options, onChange: (status) => onChange(status), onKeyDown: onKeyDown, value: value, placeholder: placeholder ||
19513
+ intl.formatHTMLMessage({ id: "statusPlaceholder", defaultMessage: "Status" }), isRequired: true }),
19508
19514
  isErrored ? (React.createElement("div", { className: "sid-field-error" },
19509
19515
  React.createElement(FormattedHTMLMessage, { id: "errorId.invalidStatus", defaultMessage: "Invalid medical status" }))) : null));
19510
19516
  };
@@ -19517,7 +19523,7 @@ const MedicalProfessionalOrganization = ({ onChange, value, isErrored, verificat
19517
19523
  React.createElement("div", { className: "sid-l-space-top-md" }),
19518
19524
  React.createElement(FieldLabel, { text: React.createElement(FormattedHTMLMessage, { id: "organization", defaultMessage: "Organization" }), htmlForLabel: id, id: `${id}-label`, displayClasses: placeholder && "sid-h-screen-reader-only" }),
19519
19525
  React.createElement(TypeaheadComponent, { className: isErrored ? "sid-text-input--error" : "", countryCode: getSafe(() => verificationService.viewModel.countryChoice.value), minimumSearchValueLength: getOptions().minimumOrganizationSearchLength, onChange: (choice) => onChange(choice), placeholder: placeholder ||
19520
- intl.formatMessage({ id: "organizationPlaceholder", defaultMessage: "Organization*" }), programId: programId, value: value, inputHtmlId: id, openOrgSearchEnabled: verificationService.programTheme.openOrgSearchEnabled, orgSearchUrl: verificationService.programTheme.config.orgSearchUrl, isRequired: true }),
19526
+ intl.formatHTMLMessage({ id: "organizationPlaceholder", defaultMessage: "Organization" }), programId: programId, value: value, inputHtmlId: id, openOrgSearchEnabled: verificationService.programTheme.openOrgSearchEnabled, orgSearchUrl: verificationService.programTheme.config.orgSearchUrl, isRequired: true }),
19521
19527
  isErrored ? (React.createElement("div", { className: "sid-field-error" },
19522
19528
  React.createElement(FormattedHTMLMessage, { id: "errorId.invalidOrganization", defaultMessage: "You must select an organization from the list" }))) : null));
19523
19529
  };
@@ -19658,7 +19664,7 @@ const StepMedicalProfessionalPersonalInfoComponent = injectIntl(StepMedicalProfe
19658
19664
  const State = ({ value, isErrored, onChange, intl, onKeyDown = undefined, placeholder = "", }) => (React.createElement("div", { className: "sid-field sid-state" },
19659
19665
  React.createElement("div", { className: "sid-l-space-top-md" }),
19660
19666
  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" }),
19661
- React.createElement(InputTextComponent, { id: "state", isErrored: isErrored, onChange: (e) => onChange(e.target.value), onKeyDown: typeof onKeyDown === "function" ? (e) => onKeyDown(e) : undefined, placeholder: placeholder || intl.formatMessage({ id: "statePlaceholder", defaultMessage: "State*" }), value: value, "aria-labelledby": "sid-state-label" }),
19667
+ 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" }),
19662
19668
  isErrored ? (React.createElement("div", { className: "sid-field-error" },
19663
19669
  React.createElement(FormattedHTMLMessage, { id: "errorId.invalidState", defaultMessage: "Invalid state" }))) : null));
19664
19670
  const StateComponent = injectIntl(State);
@@ -19669,7 +19675,7 @@ const Company = ({ onChange, value, isErrored, verificationService, intl, placeh
19669
19675
  React.createElement("div", { className: "sid-l-space-top-md" }),
19670
19676
  React.createElement(FieldLabel, { text: React.createElement(FormattedHTMLMessage, { id: "company", defaultMessage: "Company" }), htmlForLabel: "sid-company", id: "sid-company-label", displayClasses: placeholder && "sid-h-screen-reader-only" }),
19671
19677
  React.createElement(TypeaheadComponent, { className: isErrored ? "sid-text-input--error" : "", countryCode: getSafe(() => verificationService.viewModel.countryChoice.value), minimumSearchValueLength: getOptions().minimumOrganizationSearchLength, onChange: (choice) => onChange(choice), placeholder: placeholder ||
19672
- intl.formatMessage({ id: "companyPlaceholder", defaultMessage: "Company*" }), programId: programId, value: value, inputHtmlId: "sid-company", openOrgSearchEnabled: verificationService.programTheme.openOrgSearchEnabled, orgSearchUrl: verificationService.programTheme.config.orgSearchUrl }),
19678
+ intl.formatHTMLMessage({ id: "companyPlaceholder", defaultMessage: "Company" }), programId: programId, value: value, inputHtmlId: "sid-company", openOrgSearchEnabled: verificationService.programTheme.openOrgSearchEnabled, orgSearchUrl: verificationService.programTheme.config.orgSearchUrl }),
19673
19679
  isErrored ? (React.createElement("div", { className: "sid-field-error" },
19674
19680
  React.createElement(FormattedHTMLMessage, { id: "errorId.invalidOrganization", defaultMessage: "You must select an organization from the list" }))) : null));
19675
19681
  };
@@ -19776,9 +19782,9 @@ const DriverLicenseNumber = ({ value, isErrored, onChange, explanation, intl, pl
19776
19782
  React.createElement("div", { className: "sid-l-space-top-md" }),
19777
19783
  React.createElement(FieldLabel, { text: React.createElement(FormattedHTMLMessage, { id: "driverLicenseNumber", defaultMessage: "Driver license number" }), htmlForLabel: "sid-driver-license-number", id: "sid-driver-license-number-label", displayClasses: `sid-field__label-with-explanation${placeholder && " sid-h-screen-reader-only"}`, isRequired: isRequired }, explanation || getDefaultExplanation()),
19778
19784
  React.createElement(InputTextComponent, { id: "driver-license-number", isErrored: isErrored, onChange: (e) => onChange(e.target.value), placeholder: placeholder ||
19779
- intl.formatMessage({
19785
+ intl.formatHTMLMessage({
19780
19786
  id: "driverLicenseNumberPlaceholder",
19781
- defaultMessage: isRequired ? "Driver license number*" : "Driver license number",
19787
+ defaultMessage: "Driver license number",
19782
19788
  }), refId: "driverLicenseNumber", value: value, required: isRequired, "aria-labelledby": "sid-driver-license-number-label" }),
19783
19789
  isErrored ? (React.createElement("div", { className: "sid-field-error" },
19784
19790
  React.createElement(FormattedHTMLMessage, { id: "errorId.invalidDriverLicenseNumber", defaultMessage: "Invalid driver license number" }))) : null));
@@ -19791,13 +19797,13 @@ const StateSelect = ({ value, isErrored, options, onChange, onKeyDown, intl, pla
19791
19797
  React.createElement("div", { className: "sid-l-space-top-md" }),
19792
19798
  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 }),
19793
19799
  React.createElement(InputSelectComponent, { fieldId: "state", inputId: inputId, fieldLabelId: `${inputId}-label`, isErrored: isErrored, options: options, onChange: (state) => onChange(state), onKeyDown: onKeyDown, placeholder: placeholder ||
19794
- intl.formatMessage({
19800
+ intl.formatHTMLMessage({
19795
19801
  id: "statePlaceholder",
19796
- defaultMessage: isRequired ? "State*" : "State",
19802
+ defaultMessage: "State",
19797
19803
  }), value: value
19798
19804
  ? {
19799
19805
  value: value.value,
19800
- label: intl.formatMessage({
19806
+ label: intl.formatHTMLMessage({
19801
19807
  id: `states.${value.value}`,
19802
19808
  defaultMessage: value.label || value.value,
19803
19809
  }),
@@ -20074,7 +20080,8 @@ const Status = ({ value, isErrored, options, onChange, intl, placeholder = "", o
20074
20080
  return (React.createElement("div", { className: `sid-field ${inputId}` },
20075
20081
  React.createElement("div", { className: "sid-l-space-top-md" }),
20076
20082
  React.createElement(FieldLabel, { text: React.createElement(FormattedHTMLMessage, { id: "status", defaultMessage: "Status" }), htmlForLabel: inputId, id: `${inputId}-label`, displayClasses: placeholder && "sid-h-screen-reader-only" }),
20077
- React.createElement(InputSelectComponent, { fieldId: "status", inputId: inputId, fieldLabelId: `${inputId}-label`, isErrored: isErrored, options: options, onChange: (status) => onChange(status), onKeyDown: onKeyDown, value: value, placeholder: placeholder || intl.formatMessage({ id: "statusPlaceholder", defaultMessage: "Status*" }), isRequired: true }),
20083
+ React.createElement(InputSelectComponent, { fieldId: "status", inputId: inputId, fieldLabelId: `${inputId}-label`, isErrored: isErrored, options: options, onChange: (status) => onChange(status), onKeyDown: onKeyDown, value: value, placeholder: placeholder ||
20084
+ intl.formatHTMLMessage({ id: "statusPlaceholder", defaultMessage: "Status" }), isRequired: true }),
20078
20085
  isErrored ? (React.createElement("div", { className: "sid-field-error" },
20079
20086
  React.createElement(FormattedHTMLMessage, { id: "errorId.invalidStatus", defaultMessage: "Invalid status" }))) : null));
20080
20087
  };
@@ -20086,7 +20093,10 @@ const LicensedProfessionalOrganization = ({ value, isErrored, onChange, verifica
20086
20093
  React.createElement("div", { className: "sid-l-space-top-md" }),
20087
20094
  React.createElement(FieldLabel, { text: React.createElement(FormattedHTMLMessage, { id: "organization", defaultMessage: "Organization" }), htmlForLabel: "sid-licensed-professional", id: "sid-licensed-professional-label", displayClasses: placeholder && "sid-h-screen-reader-only" }),
20088
20095
  React.createElement(TypeaheadComponent, { className: isErrored ? "sid-text-input--error" : "", countryCode: getSafe(() => verificationService.viewModel.countryChoice.value), onChange: (choice) => onChange(choice), minimumSearchValueLength: getOptions().minimumOrganizationSearchLength, placeholder: placeholder ||
20089
- intl.formatMessage({ id: "organizationNamePlaceholder", defaultMessage: "Organization*" }), programId: programId, value: value, inputHtmlId: "sid-licensed-professional", openOrgSearchEnabled: verificationService.programTheme.openOrgSearchEnabled, orgSearchUrl: verificationService.programTheme.config.orgSearchUrl }),
20096
+ intl.formatHTMLMessage({
20097
+ id: "organizationNamePlaceholder",
20098
+ defaultMessage: "Organization",
20099
+ }), programId: programId, value: value, inputHtmlId: "sid-licensed-professional", openOrgSearchEnabled: verificationService.programTheme.openOrgSearchEnabled, orgSearchUrl: verificationService.programTheme.config.orgSearchUrl }),
20090
20100
  isErrored ? (React.createElement("div", { className: "sid-field-error" },
20091
20101
  React.createElement(FormattedHTMLMessage, { id: "errorId.invalidOrganization", defaultMessage: "You must select an organization from the list" }))) : null));
20092
20102
  };
@@ -20113,7 +20123,7 @@ const StepLicensedProfessionalPersonalInfo = ({ intl, verificationService, }) =>
20113
20123
  if (!status) {
20114
20124
  return "";
20115
20125
  }
20116
- return intl.formatMessage({ id: status, defaultMessage: defaultStatusMessages[status] });
20126
+ return intl.formatHTMLMessage({ id: status, defaultMessage: defaultStatusMessages[status] });
20117
20127
  };
20118
20128
  const getAvailableLicensedProfessionalStatuses = () => {
20119
20129
  const availableStatusesResponse = verificationResponse.availableStatuses;
@@ -20306,7 +20316,8 @@ const SocialSecurity = ({ value, isErrored, onChange, intl, placeholder = "", })
20306
20316
  return (React.createElement("div", { className: "sid-field sid-ssn" },
20307
20317
  React.createElement("div", { className: "sid-l-space-top-md" }),
20308
20318
  React.createElement(FieldLabel, { text: React.createElement(FormattedHTMLMessage, { id: "ssn", defaultMessage: "Social Security Number" }), htmlForLabel: "sid-ssn", id: "sid-ssn-label", displayClasses: placeholder && "sid-h-screen-reader-only" }),
20309
- React.createElement(InputTextComponent, { id: "ssn", refId: FieldIdEnum.socialSecurityNumber, className: "sid-ssn__input", isErrored: isErrored, required: true, placeholder: placeholder || intl.formatMessage({ id: "ssnPlaceholder", defaultMessage: "000-00-0000" }), value: displaySSN(value), hidePlaceholder: false, onChange: (e) => changeSsn(unDisplaySSN(e.target.value)), "aria-labelledby": "sid-ssn-label" }),
20319
+ React.createElement(InputTextComponent, { id: "ssn", refId: FieldIdEnum.socialSecurityNumber, className: "sid-ssn__input", isErrored: isErrored, required: true, placeholder: placeholder ||
20320
+ intl.formatHTMLMessage({ id: "ssnPlaceholder", defaultMessage: "000-00-0000" }), value: displaySSN(value), hidePlaceholder: false, onChange: (e) => changeSsn(unDisplaySSN(e.target.value)), "aria-labelledby": "sid-ssn-label" }),
20310
20321
  isErrored ? (React.createElement("div", { className: "sid-field-error" },
20311
20322
  React.createElement(FormattedHTMLMessage, { id: "errorId.invalidSocialSecurityNumber", defaultMessage: "Invalid SSN" }))) : null));
20312
20323
  };
@@ -20537,7 +20548,7 @@ const StepSuccess = ({ verificationService }) => {
20537
20548
  React.createElement("button", { type: "button", onClick: () => redirect(redirectDestination), className: "sid-btn sid-btn--dark" },
20538
20549
  React.createElement(FormattedHTMLMessage, { id: "step.success.redirectButtonText", defaultMessage: "Use code now" })))) : (""),
20539
20550
  React.createElement("div", { className: "sid-footer sid-l-horz-center sid-l-space-top-lg sid-h-small-text" },
20540
- React.createElement(FormattedMessage, { id: "companyName", defaultMessage: "{Company}" }, (companyName) => (React.createElement(FormattedHTMLMessage, { id: "step.success.verificationOnly", defaultMessage: `
20551
+ React.createElement(FormattedHTMLMessage, { id: "companyName", defaultMessage: "{Company}" }, (companyName) => (React.createElement(FormattedHTMLMessage, { id: "step.success.verificationOnly", defaultMessage: `
20541
20552
  SheerID handles verification only.
20542
20553
  Now that you've been approved, please direct all questions about the
20543
20554
  promotion terms to {companyName} customer service.
@@ -20708,18 +20719,18 @@ const SMSCode = ({ onChange, value, isErrored, errorId, intl, placeholder = "",
20708
20719
  const getErrorMessage = (errorId) => {
20709
20720
  switch (errorId) {
20710
20721
  case "invalidSMSCode":
20711
- return (React.createElement(FormattedMessage, { id: "step.smsLoop.errors.codeVerification", defaultMessage: "Verification code could not be validated." }));
20722
+ return (React.createElement(FormattedHTMLMessage, { id: "step.smsLoop.errors.codeVerification", defaultMessage: "Verification code could not be validated." }));
20712
20723
  case "expiredSMSCode":
20713
- return (React.createElement(FormattedMessage, { id: "step.smsLoop.errors.codeExpired", defaultMessage: "Verification code expired." }));
20724
+ return (React.createElement(FormattedHTMLMessage, { id: "step.smsLoop.errors.codeExpired", defaultMessage: "Verification code expired." }));
20714
20725
  default:
20715
- return React.createElement(FormattedMessage, { id: "errorId.unknownError", defaultMessage: "Unknown Error" });
20726
+ return React.createElement(FormattedHTMLMessage, { id: "errorId.unknownError", defaultMessage: "Unknown Error" });
20716
20727
  }
20717
20728
  };
20718
20729
  return (React.createElement("div", { className: "sid-field sid-sms-code-id" },
20719
20730
  React.createElement("div", { className: "sid-l-space-top-md" }),
20720
20731
  isErrored ? React.createElement("div", { className: "sid-field-error" }, getErrorMessage(errorId)) : null,
20721
20732
  React.createElement(InputTextComponent, { id: "sms-code", isErrored: isErrored, required: true, placeholder: placeholder ||
20722
- intl.formatMessage({ id: "smsCodePlaceholder", defaultMessage: "SMS Code*" }), value: value, onChange: (e) => onChange(e.target.value) })));
20733
+ intl.formatHTMLMessage({ id: "smsCodePlaceholder", defaultMessage: "SMS Code" }), value: value, onChange: (e) => onChange(e.target.value) })));
20723
20734
  };
20724
20735
  const SMSCodeComponent = injectIntl(SMSCode);
20725
20736
 
@@ -20731,19 +20742,19 @@ const StepSMSLoop = ({ intl, verificationService }) => {
20731
20742
  const [stepResultMessage, setStepResultMessage] = React.useState("");
20732
20743
  const [isAttemptLimitExceeded, setAttemptLimitExceeded] = React.useState(verificationResponse.errorIds &&
20733
20744
  verificationResponse.errorIds.includes("incorrectSMSCodeAttemptLimitExceeded"));
20734
- const stepSuccessMessage = intl.formatMessage({
20745
+ const stepSuccessMessage = intl.formatHTMLMessage({
20735
20746
  id: "step.smsLoop.successResend",
20736
20747
  defaultMessage: "SMS message re-sent successfully",
20737
20748
  });
20738
- const maxTotalRetriesMessage = intl.formatMessage({
20749
+ const maxTotalRetriesMessage = intl.formatHTMLMessage({
20739
20750
  id: "step.smsLoop.errors.codeResendLimit",
20740
20751
  defaultMessage: "Maximum number of re-tries has been reached.",
20741
20752
  });
20742
- const maxRetriesPerCodeMessage = intl.formatMessage({
20753
+ const maxRetriesPerCodeMessage = intl.formatHTMLMessage({
20743
20754
  id: "step.smsLoop.errors.codeResendLimit",
20744
20755
  defaultMessage: "Maximum number of re-tries has been reached.",
20745
20756
  });
20746
- const errorResendingSMSMessage = intl.formatMessage({
20757
+ const errorResendingSMSMessage = intl.formatHTMLMessage({
20747
20758
  id: "step.smsLoop.errors.resend",
20748
20759
  defaultMessage: "Error sending the SMS message",
20749
20760
  });
@@ -20782,25 +20793,25 @@ const StepSMSLoop = ({ intl, verificationService }) => {
20782
20793
  };
20783
20794
  return (React.createElement("div", { id: "sid-step-sms-loop", className: "sid-l-container" },
20784
20795
  React.createElement("div", { className: "sid-header__title sid-l-horz-center" },
20785
- React.createElement(FormattedMessage, { id: "step.smsLoop.verificationCode", defaultMessage: "Verification Code" })),
20786
- React.createElement("div", { className: "sid-header__subtitle" }, getSafe(() => previousViewModel.phoneNumber) ? (React.createElement(FormattedMessage, { id: "step.smsLoop.titleWithNumber", defaultMessage: "We've sent an SMS message to the mobile number ending in {number}. Enter your code here.", values: {
20796
+ React.createElement(FormattedHTMLMessage, { id: "step.smsLoop.verificationCode", defaultMessage: "Verification Code" })),
20797
+ React.createElement("div", { className: "sid-header__subtitle" }, getSafe(() => previousViewModel.phoneNumber) ? (React.createElement(FormattedHTMLMessage, { id: "step.smsLoop.titleWithNumber", defaultMessage: "We've sent an SMS message to the mobile number ending in {number}. Enter your code here.", values: {
20787
20798
  number: getSafe(() => previousViewModel.phoneNumber.slice(-4), ""),
20788
- } })) : (React.createElement(FormattedMessage, { id: "step.smsLoop.titleWithoutNumber", defaultMessage: "We've sent an SMS to your mobile number. Please enter the code here." }))),
20799
+ } })) : (React.createElement(FormattedHTMLMessage, { id: "step.smsLoop.titleWithoutNumber", defaultMessage: "We've sent an SMS to your mobile number. Please enter the code here." }))),
20789
20800
  React.createElement("div", { className: "sid-sms-code-id-wrapper sid-l-horz-center" },
20790
20801
  React.createElement(SMSCodeComponent, { onChange: updateSmsCode, value: viewModel.smsCode, isErrored: isErrored, errorId: verificationService.fieldValidationErrors.smsCode })),
20791
20802
  stepResultMessage && (React.createElement("div", null,
20792
20803
  React.createElement("p", null, stepResultMessage))),
20793
20804
  React.createElement("div", { className: "sid-submit sid-l-space-top-md sid-l-horz-center" },
20794
20805
  React.createElement("button", { id: "sid-submit-sms-code", onClick: submitForm, type: "button", className: "sid-btn sid-btn--dark sid-submit__continue", "aria-label": "submit", disabled: !!(!viewModel.smsCode || viewModel.smsCode.length <= 0 || isAttemptLimitExceeded) },
20795
- React.createElement(FormattedMessage, { id: "step.smsLoop.submitButton", defaultMessage: "Submit" })),
20806
+ React.createElement(FormattedHTMLMessage, { id: "step.smsLoop.submitButton", defaultMessage: "Submit" })),
20796
20807
  React.createElement("div", { className: "sid-l-space-left-sm" }, "\u00A0"),
20797
20808
  React.createElement("button", { id: "sid-resend-sms-code", onClick: () => resendSmsCode(verificationResponse.verificationId), type: "submit", className: "sid-btn sid-btn--light sid-submit__cancel", "aria-label": "re-send" },
20798
- React.createElement(FormattedMessage, { id: "step.smsLoop.resendButton", defaultMessage: "Re-send" }))),
20809
+ React.createElement(FormattedHTMLMessage, { id: "step.smsLoop.resendButton", defaultMessage: "Re-send" }))),
20799
20810
  React.createElement("div", { className: "sid-incorrect-number sid-l-horz-center" },
20800
- React.createElement(FormattedMessage, { id: "step.smsLoop.incorrectNumber.incorrectNumber1", defaultMessage: "Incorrect number? Click " }),
20811
+ React.createElement(FormattedHTMLMessage, { id: "step.smsLoop.incorrectNumber.incorrectNumber1", defaultMessage: "Incorrect number? Click " }),
20801
20812
  React.createElement("button", { type: "button", onClick: () => window.location.reload(), className: "sid-incorrect-number__refresh-link" },
20802
20813
  React.createElement(FormattedHTMLMessage, { id: "step.smsLoop.incorrectNumber.incorrectNumber2", defaultMessage: "here " })),
20803
- React.createElement(FormattedMessage, { id: "companyName", defaultMessage: "{Company}" }, (companyName) => (React.createElement(FormattedMessage, { id: "step.smsLoop.incorrectNumber.incorrectNumber3", defaultMessage: "to return to {companyName}", values: { companyName } }))))));
20814
+ React.createElement(FormattedHTMLMessage, { id: "companyName", defaultMessage: "{Company}" }, (companyName) => (React.createElement(FormattedHTMLMessage, { id: "step.smsLoop.incorrectNumber.incorrectNumber3", defaultMessage: "to return to {companyName}", values: { companyName } }))))));
20804
20815
  };
20805
20816
  const StepSMSLoopComponent = injectIntl(StepSMSLoop);
20806
20817
 
@@ -20845,12 +20856,12 @@ const StepEmailLoop = ({ intl, verificationService }) => {
20845
20856
  defaultMessage: "Error sending email",
20846
20857
  };
20847
20858
  const message = response.status === 204
20848
- ? intl.formatMessage(successMsgObject)
20849
- : intl.formatMessage(maxRetriesMsgObject);
20859
+ ? intl.formatHTMLMessage(successMsgObject)
20860
+ : intl.formatHTMLMessage(maxRetriesMsgObject);
20850
20861
  setResendMessage(message);
20851
20862
  }
20852
20863
  else {
20853
- setResendMessage(intl.formatMessage({
20864
+ setResendMessage(intl.formatHTMLMessage({
20854
20865
  id: "step.emailLoop.errors.resend",
20855
20866
  defaultMessage: "Error sending email",
20856
20867
  }));
@@ -20865,19 +20876,19 @@ const StepEmailLoop = ({ intl, verificationService }) => {
20865
20876
  React.createElement("div", { className: "sid-header sid-l-horz-center" },
20866
20877
  React.createElement("div", { className: "sid-l-horz-center" }, logo),
20867
20878
  React.createElement("div", { className: "sid-header__title sid-l-horz-center sid-l-space-top-md" },
20868
- React.createElement(FormattedMessage, { id: "step.emailLoop.title", defaultMessage: "Check your email" })),
20869
- React.createElement("div", { className: "sid-header__subtitle-one" }, email ? (React.createElement(FormattedMessage, { id: "step.emailLoop.subtitleWithEmail", defaultMessage: "An email has been sent to {email} with a personalized link to complete the verification process.", values: { email } })) : (React.createElement(FormattedMessage, { id: "step.emailLoop.subtitleWithoutEmail", defaultMessage: "An email has been sent to your email account with a personalized link to complete the verification process." }))),
20879
+ React.createElement(FormattedHTMLMessage, { id: "step.emailLoop.title", defaultMessage: "Check your email" })),
20880
+ React.createElement("div", { className: "sid-header__subtitle-one" }, email ? (React.createElement(FormattedHTMLMessage, { id: "step.emailLoop.subtitleWithEmail", defaultMessage: "An email has been sent to {email} with a personalized link to complete the verification process.", values: { email } })) : (React.createElement(FormattedHTMLMessage, { id: "step.emailLoop.subtitleWithoutEmail", defaultMessage: "An email has been sent to your email account with a personalized link to complete the verification process." }))),
20870
20881
  React.createElement("div", { className: "sid-l-space-top-md" }),
20871
20882
  React.createElement("div", { className: "sid-header__subtitle-two sid-h-small-text sid-l-space-top-md" },
20872
- React.createElement(FormattedMessage, { id: "step.emailLoop.subtitle2", defaultMessage: "Please check for an email from us (verify@sheerid.com) for all the details." })),
20883
+ React.createElement(FormattedHTMLMessage, { id: "step.emailLoop.subtitle2", defaultMessage: "Please check for an email from us (verify@sheerid.com) for all the details." })),
20873
20884
  canCancelEmailLoop && (React.createElement("div", { className: "sid-skip-email sid-l-space-top-lg" },
20874
- React.createElement(FormattedMessage, { id: "step.emailLoop.skipEmail", defaultMessage: "Unable to retrieve this email? Click " }),
20885
+ React.createElement(FormattedHTMLMessage, { id: "step.emailLoop.skipEmail", defaultMessage: "Unable to retrieve this email? Click " }),
20875
20886
  React.createElement("button", { type: "button", onClick: () => cancelEmailLoop(), className: "sid-incorrect-number__refresh-link" },
20876
20887
  React.createElement(FormattedHTMLMessage, { id: "step.emailLoop.skipEmailCTA", defaultMessage: "here" })),
20877
- React.createElement(FormattedMessage, { id: "step.emailLoop.skipEmail2", defaultMessage: " to proceed." }))),
20888
+ React.createElement(FormattedHTMLMessage, { id: "step.emailLoop.skipEmail2", defaultMessage: " to proceed." }))),
20878
20889
  canResendEmailLoop && (React.createElement("div", { className: "sid-header__resend-btn sid-l-space-top-md" },
20879
20890
  React.createElement("button", { id: "sid-resend-email", onClick: () => resendEmail(verificationId), type: "submit", className: "sid-btn sid-btn--light sid-submit__cancel sid-l-horz-center", "aria-label": "re-send" },
20880
- React.createElement(FormattedMessage, { id: "step.emailLoop.resendButton", defaultMessage: "Re-send" })))),
20891
+ React.createElement(FormattedHTMLMessage, { id: "step.emailLoop.resendButton", defaultMessage: "Re-send" })))),
20881
20892
  resendMessage && (React.createElement("div", null,
20882
20893
  React.createElement("p", null, resendMessage))),
20883
20894
  React.createElement("div", { className: "sid-l-space-top-xl" }))));
@@ -22347,7 +22358,7 @@ const AcceptableUploadsComponent = ({ verificationService }) => {
22347
22358
  return (React.createElement("div", null,
22348
22359
  React.createElement("span", null,
22349
22360
  React.createElement("strong", null,
22350
- React.createElement(FormattedMessage, { id: "step.docUpload.acceptableUploadExamples", defaultMessage: "Acceptable examples include:" }))),
22361
+ React.createElement(FormattedHTMLMessage, { id: "step.docUpload.acceptableUploadExamples", defaultMessage: "Acceptable examples include:" }))),
22351
22362
  acceptableUploads));
22352
22363
  };
22353
22364
 
@@ -22360,160 +22371,155 @@ const UploadInfoComponent = ({ verificationService }) => {
22360
22371
  return (React.createElement("div", null,
22361
22372
  React.createElement("span", null,
22362
22373
  React.createElement("strong", null,
22363
- React.createElement(FormattedMessage, { id: "step.docUpload.uploadInstructions", defaultMessage: "Upload your school-issued document that shows:" }))),
22374
+ React.createElement(FormattedHTMLMessage, { id: "step.docUpload.uploadInstructions", defaultMessage: "Upload your school-issued document that shows:" }))),
22364
22375
  React.createElement("ul", { className: "sid-upload-info-list" },
22365
22376
  React.createElement("li", { className: "sid-upload-info-list__li" },
22366
- React.createElement(FormattedMessage, { id: "step.docUpload.uploadInfo.fullName", defaultMessage: "Your full name" })),
22377
+ React.createElement(FormattedHTMLMessage, { id: "step.docUpload.uploadInfo.fullName", defaultMessage: "Your full name" })),
22367
22378
  React.createElement("li", { className: "sid-upload-info-list__li" },
22368
- React.createElement(FormattedMessage, { id: "step.docUpload.uploadInfo.student.school", defaultMessage: "Your school" })),
22379
+ React.createElement(FormattedHTMLMessage, { id: "step.docUpload.uploadInfo.student.school", defaultMessage: "Your school" })),
22369
22380
  React.createElement("li", { className: "sid-upload-info-list__li" },
22370
- React.createElement(FormattedMessage, { id: "step.docUpload.uploadInfo.student.enrollmentDate", defaultMessage: "Date proving enrollment for the current term (or within last 3 months)" })))));
22381
+ React.createElement(FormattedHTMLMessage, { id: "step.docUpload.uploadInfo.student.enrollmentDate", defaultMessage: "Date proving enrollment for the current term (or within last 3 months)" })))));
22371
22382
  case SegmentEnum.TEACHER:
22372
22383
  return (React.createElement("div", null,
22373
22384
  React.createElement("span", null,
22374
22385
  React.createElement("strong", null,
22375
- React.createElement(FormattedMessage, { id: "step.docUpload.uploadInstructions", defaultMessage: "Upload your school-issued document that shows:" }))),
22386
+ React.createElement(FormattedHTMLMessage, { id: "step.docUpload.uploadInstructions", defaultMessage: "Upload your school-issued document that shows:" }))),
22376
22387
  React.createElement("ul", { className: "sid-upload-info-list" },
22377
22388
  React.createElement("li", { className: "sid-upload-info-list__li" },
22378
- React.createElement(FormattedMessage, { id: "step.docUpload.uploadInfo.fullName", defaultMessage: "Your full name" })),
22389
+ React.createElement(FormattedHTMLMessage, { id: "step.docUpload.uploadInfo.fullName", defaultMessage: "Your full name" })),
22379
22390
  React.createElement("li", { className: "sid-upload-info-list__li" },
22380
- React.createElement(FormattedMessage, { id: "step.docUpload.uploadInfo.teacher.school", defaultMessage: "Your school" })),
22391
+ React.createElement(FormattedHTMLMessage, { id: "step.docUpload.uploadInfo.teacher.school", defaultMessage: "Your school" })),
22381
22392
  React.createElement("li", { className: "sid-upload-info-list__li" },
22382
- React.createElement(FormattedMessage, { id: "step.docUpload.uploadInfo.teacher.currentSchoolYear", defaultMessage: "A date in the current school year" })))));
22393
+ React.createElement(FormattedHTMLMessage, { id: "step.docUpload.uploadInfo.teacher.currentSchoolYear", defaultMessage: "A date in the current school year" })))));
22383
22394
  case SegmentEnum.MEMBER:
22384
22395
  return (React.createElement("div", null,
22385
22396
  React.createElement("span", null,
22386
22397
  React.createElement("strong", null,
22387
- React.createElement(FormattedMessage, { id: "step.docUpload.uploadInstructions", defaultMessage: "Upload an official document that shows:" }))),
22398
+ React.createElement(FormattedHTMLMessage, { id: "step.docUpload.uploadInstructions", defaultMessage: "Upload an official document that shows:" }))),
22388
22399
  React.createElement("ul", { className: "sid-upload-info-list" },
22389
22400
  React.createElement("li", { className: "sid-upload-info-list__li" },
22390
- React.createElement(FormattedMessage, { id: "step.docUpload.uploadInfo.fullName", defaultMessage: "Your full name" })),
22401
+ React.createElement(FormattedHTMLMessage, { id: "step.docUpload.uploadInfo.fullName", defaultMessage: "Your full name" })),
22391
22402
  React.createElement("li", { className: "sid-upload-info-list__li" },
22392
- React.createElement(FormattedMessage, { id: "step.docUpload.uploadInfo.organization", defaultMessage: "Your organization" })),
22403
+ React.createElement(FormattedHTMLMessage, { id: "step.docUpload.uploadInfo.organization", defaultMessage: "Your organization" })),
22393
22404
  React.createElement("li", { className: "sid-upload-info-list__li" },
22394
- React.createElement(FormattedMessage, { id: "step.docUpload.uploadInfo.affiliation", defaultMessage: "Your current affiliation with that organization" })))));
22405
+ React.createElement(FormattedHTMLMessage, { id: "step.docUpload.uploadInfo.affiliation", defaultMessage: "Your current affiliation with that organization" })))));
22395
22406
  case SegmentEnum.MILITARY:
22396
22407
  switch (subSegment) {
22397
22408
  case SubSegmentEnum.MILITARY_FAMILY:
22398
22409
  return (React.createElement("div", null,
22399
22410
  React.createElement("span", null,
22400
22411
  React.createElement("strong", null,
22401
- React.createElement(FormattedMessage, { id: "step.docUpload.uploadInfo.military.uploadInstructionsDependent", defaultMessage: "Please upload a Dependent ID card that clearly shows your first name, last name, valid dates and status" })))));
22412
+ React.createElement(FormattedHTMLMessage, { id: "step.docUpload.uploadInfo.military.uploadInstructionsDependent", defaultMessage: "Please upload a Dependent ID card that clearly shows your first name, last name, valid dates and status" })))));
22402
22413
  default:
22403
22414
  return (React.createElement("div", null,
22404
22415
  React.createElement("span", null,
22405
22416
  React.createElement("strong", null,
22406
- React.createElement(FormattedMessage, { id: "step.docUpload.uploadInstructions", defaultMessage: "Upload your government-issued document that shows:" }))),
22417
+ React.createElement(FormattedHTMLMessage, { id: "step.docUpload.uploadInstructions", defaultMessage: "Upload your government-issued document that shows:" }))),
22407
22418
  React.createElement("ul", { className: "sid-upload-info-list" },
22408
22419
  React.createElement("li", { className: "sid-upload-info-list__li" },
22409
- React.createElement(FormattedMessage, { id: "step.docUpload.uploadInfo.fullName", defaultMessage: "Your full name" })),
22420
+ React.createElement(FormattedHTMLMessage, { id: "step.docUpload.uploadInfo.fullName", defaultMessage: "Your full name" })),
22410
22421
  React.createElement("li", { className: "sid-upload-info-list__li" },
22411
- React.createElement(FormattedMessage, { id: "step.docUpload.uploadInfo.military.serviceBranch", defaultMessage: "Your branch of service" })),
22422
+ React.createElement(FormattedHTMLMessage, { id: "step.docUpload.uploadInfo.military.serviceBranch", defaultMessage: "Your branch of service" })),
22412
22423
  React.createElement("li", { className: "sid-upload-info-list__li" },
22413
- React.createElement(FormattedMessage, { id: "step.docUpload.uploadInfo.military.dischargeDate", defaultMessage: "Your discharge date (if applicable)" })),
22424
+ React.createElement(FormattedHTMLMessage, { id: "step.docUpload.uploadInfo.military.dischargeDate", defaultMessage: "Your discharge date (if applicable)" })),
22414
22425
  React.createElement("li", { className: "sid-upload-info-list__li" },
22415
- React.createElement(FormattedMessage, { id: "step.docUpload.uploadInfo.military.currentAffiliation", defaultMessage: "Your current affiliation with the armed services" })))));
22426
+ React.createElement(FormattedHTMLMessage, { id: "step.docUpload.uploadInfo.military.currentAffiliation", defaultMessage: "Your current affiliation with the armed services" })))));
22416
22427
  }
22417
22428
  case SegmentEnum.SENIOR:
22418
22429
  return (React.createElement("div", null,
22419
22430
  React.createElement("span", null,
22420
22431
  React.createElement("strong", null,
22421
- React.createElement(FormattedMessage, { id: "step.docUpload.uploadInstructions", defaultMessage: "Upload a government-issued document that shows:" }))),
22432
+ React.createElement(FormattedHTMLMessage, { id: "step.docUpload.uploadInstructions", defaultMessage: "Upload a government-issued document that shows:" }))),
22422
22433
  React.createElement("ul", { className: "sid-upload-info-list" },
22423
22434
  React.createElement("li", { className: "sid-upload-info-list__li" },
22424
- React.createElement(FormattedMessage, { id: "step.docUpload.uploadInfo.fullName", defaultMessage: "Your full name" })),
22435
+ React.createElement(FormattedHTMLMessage, { id: "step.docUpload.uploadInfo.fullName", defaultMessage: "Your full name" })),
22425
22436
  React.createElement("li", { className: "sid-upload-info-list__li" },
22426
- React.createElement(FormattedMessage, { id: "step.docUpload.uploadInfo.senior.birthDate", defaultMessage: "Your date of birth" })))));
22437
+ React.createElement(FormattedHTMLMessage, { id: "step.docUpload.uploadInfo.senior.birthDate", defaultMessage: "Your date of birth" })))));
22427
22438
  case SegmentEnum.AGE:
22428
22439
  return (React.createElement("div", null,
22429
22440
  React.createElement("span", null,
22430
22441
  React.createElement("strong", null,
22431
- React.createElement(FormattedMessage, { id: "step.docUpload.uploadInstructions", defaultMessage: "Upload a government-issued document that shows:" }))),
22442
+ React.createElement(FormattedHTMLMessage, { id: "step.docUpload.uploadInstructions", defaultMessage: "Upload a government-issued document that shows:" }))),
22432
22443
  React.createElement("ul", { className: "sid-upload-info-list" },
22433
22444
  React.createElement("li", { className: "sid-upload-info-list__li" },
22434
- React.createElement(FormattedMessage, { id: "step.docUpload.uploadInfo.fullName", defaultMessage: "Your full name" })),
22445
+ React.createElement(FormattedHTMLMessage, { id: "step.docUpload.uploadInfo.fullName", defaultMessage: "Your full name" })),
22435
22446
  React.createElement("li", { className: "sid-upload-info-list__li" },
22436
- React.createElement(FormattedMessage, { id: "step.docUpload.uploadInfo.age.birthDate", defaultMessage: "Your date of birth" })))));
22447
+ React.createElement(FormattedHTMLMessage, { id: "step.docUpload.uploadInfo.age.birthDate", defaultMessage: "Your date of birth" })))));
22437
22448
  case SegmentEnum.FIRST_RESPONDER:
22438
22449
  return (React.createElement("div", null,
22439
22450
  React.createElement("span", null,
22440
22451
  React.createElement("strong", null,
22441
- React.createElement(FormattedMessage, { id: "step.docUpload.uploadInstructions", defaultMessage: "Upload an official document that shows:" }))),
22452
+ React.createElement(FormattedHTMLMessage, { id: "step.docUpload.uploadInstructions", defaultMessage: "Upload an official document that shows:" }))),
22442
22453
  React.createElement("ul", { className: "sid-upload-info-list" },
22443
22454
  React.createElement("li", { className: "sid-upload-info-list__li" },
22444
- React.createElement(FormattedMessage, { id: "step.docUpload.uploadInfo.fullName", defaultMessage: "Your full name" })),
22455
+ React.createElement(FormattedHTMLMessage, { id: "step.docUpload.uploadInfo.fullName", defaultMessage: "Your full name" })),
22445
22456
  React.createElement("li", { className: "sid-upload-info-list__li" },
22446
- React.createElement(FormattedMessage, { id: "step.docUpload.uploadInfo.firstResponder.organization", defaultMessage: "Your organization" })),
22457
+ React.createElement(FormattedHTMLMessage, { id: "step.docUpload.uploadInfo.firstResponder.organization", defaultMessage: "Your organization" })),
22447
22458
  React.createElement("li", { className: "sid-upload-info-list__li" },
22448
- React.createElement(FormattedMessage, { id: "step.docUpload.uploadInfo.firstResponder.currentAffiliation", defaultMessage: "Your current affiliation with that organization" })),
22459
+ React.createElement(FormattedHTMLMessage, { id: "step.docUpload.uploadInfo.firstResponder.currentAffiliation", defaultMessage: "Your current affiliation with that organization" })),
22449
22460
  React.createElement("li", { className: "sid-upload-info-list__li" },
22450
- React.createElement(FormattedMessage, { id: "step.docUpload.uploadInfo.firstResponder.license", defaultMessage: "Your status or license as a First Responder" })))));
22461
+ React.createElement(FormattedHTMLMessage, { id: "step.docUpload.uploadInfo.firstResponder.license", defaultMessage: "Your status or license as a First Responder" })))));
22451
22462
  case SegmentEnum.MEDICAL:
22452
22463
  return (React.createElement("div", null,
22453
22464
  React.createElement("span", null,
22454
22465
  React.createElement("strong", null,
22455
- React.createElement(FormattedMessage, { id: "step.docUpload.uploadInstructions", defaultMessage: "Upload an official document that shows:" }))),
22466
+ React.createElement(FormattedHTMLMessage, { id: "step.docUpload.uploadInstructions", defaultMessage: "Upload an official document that shows:" }))),
22456
22467
  React.createElement("ul", { className: "sid-upload-info-list" },
22457
22468
  React.createElement("li", { className: "sid-upload-info-list__li" },
22458
- React.createElement(FormattedMessage, { id: "step.docUpload.uploadInfo.fullName", defaultMessage: "Your full name" })),
22469
+ React.createElement(FormattedHTMLMessage, { id: "step.docUpload.uploadInfo.fullName", defaultMessage: "Your full name" })),
22459
22470
  React.createElement("li", { className: "sid-upload-info-list__li" },
22460
- React.createElement(FormattedMessage, { id: "step.docUpload.uploadInfo.medical.status", defaultMessage: "Your nursing status" })),
22471
+ React.createElement(FormattedHTMLMessage, { id: "step.docUpload.uploadInfo.medical.status", defaultMessage: "Your nursing status" })),
22461
22472
  React.createElement("li", { className: "sid-upload-info-list__li" },
22462
- React.createElement(FormattedMessage, { id: "step.docUpload.uploadInfo.medical.validDate", defaultMessage: "A currently valid date" })))));
22473
+ React.createElement(FormattedHTMLMessage, { id: "step.docUpload.uploadInfo.medical.validDate", defaultMessage: "A currently valid date" })))));
22463
22474
  case SegmentEnum.EMPLOYMENT:
22464
22475
  return (React.createElement("div", null,
22465
22476
  React.createElement("span", null,
22466
22477
  React.createElement("strong", null,
22467
- React.createElement(FormattedMessage, { id: "step.docUpload.uploadInstructions", defaultMessage: "Upload an official document that shows:" }))),
22478
+ React.createElement(FormattedHTMLMessage, { id: "step.docUpload.uploadInstructions", defaultMessage: "Upload an official document that shows:" }))),
22468
22479
  React.createElement("ul", { className: "sid-upload-info-list" },
22469
22480
  React.createElement("li", { className: "sid-upload-info-list__li" },
22470
- React.createElement(FormattedMessage, { id: "step.docUpload.uploadInfo.employment.company", defaultMessage: "Your company" })),
22481
+ React.createElement(FormattedHTMLMessage, { id: "step.docUpload.uploadInfo.employment.company", defaultMessage: "Your company" })),
22471
22482
  React.createElement("li", { className: "sid-upload-info-list__li" },
22472
- React.createElement(FormattedMessage, { id: "step.docUpload.uploadInfo.employment.currentAffiliation", defaultMessage: "Your current affiliation with that company" })))));
22483
+ React.createElement(FormattedHTMLMessage, { id: "step.docUpload.uploadInfo.employment.currentAffiliation", defaultMessage: "Your current affiliation with that company" })))));
22473
22484
  case SegmentEnum.IDENTITY:
22474
22485
  return (React.createElement("div", null,
22475
22486
  React.createElement("span", null,
22476
22487
  React.createElement("strong", null,
22477
- React.createElement(FormattedMessage, { id: "step.docUpload.uploadInstructions", defaultMessage: "Upload an official document that shows:" }))),
22488
+ React.createElement(FormattedHTMLMessage, { id: "step.docUpload.uploadInstructions", defaultMessage: "Upload an official document that shows:" }))),
22478
22489
  React.createElement("ul", { className: "sid-upload-info-list" },
22479
22490
  React.createElement("li", { className: "sid-upload-info-list__li" },
22480
- React.createElement(FormattedMessage, { id: "step.docUpload.uploadInfo.fullName", defaultMessage: "Your full name" })),
22491
+ React.createElement(FormattedHTMLMessage, { id: "step.docUpload.uploadInfo.fullName", defaultMessage: "Your full name" })),
22481
22492
  React.createElement("li", { className: "sid-upload-info-list__li" },
22482
- React.createElement(FormattedMessage, { id: "step.docUpload.uploadInfo.identity.validDate", defaultMessage: "A currently valid date" })))));
22493
+ React.createElement(FormattedHTMLMessage, { id: "step.docUpload.uploadInfo.identity.validDate", defaultMessage: "A currently valid date" })))));
22483
22494
  case SegmentEnum.LICENSED_PROFESSIONAL:
22484
22495
  return (React.createElement("div", null,
22485
22496
  React.createElement("span", null,
22486
22497
  React.createElement("strong", null,
22487
- React.createElement(FormattedMessage, { id: "step.docUpload.uploadInstructions", defaultMessage: "Upload an official document that shows:" }))),
22498
+ React.createElement(FormattedHTMLMessage, { id: "step.docUpload.uploadInstructions", defaultMessage: "Upload an official document that shows:" }))),
22488
22499
  React.createElement("ul", { className: "sid-upload-info-list" },
22489
22500
  React.createElement("li", { className: "sid-upload-info-list__li" },
22490
- React.createElement(FormattedMessage, { id: "step.docUpload.uploadInfo.fullName", defaultMessage: "Your full name" })),
22501
+ React.createElement(FormattedHTMLMessage, { id: "step.docUpload.uploadInfo.fullName", defaultMessage: "Your full name" })),
22491
22502
  React.createElement("li", { className: "sid-upload-info-list__li" },
22492
- React.createElement(FormattedMessage, { id: "step.docUpload.uploadInfo.licensedProfessional.licenseStatus", defaultMessage: "Your professional license and/or certification status" })),
22503
+ React.createElement(FormattedHTMLMessage, { id: "step.docUpload.uploadInfo.licensedProfessional.licenseStatus", defaultMessage: "Your professional license and/or certification status" })),
22493
22504
  React.createElement("li", { className: "sid-upload-info-list__li" },
22494
- React.createElement(FormattedMessage, { id: "step.docUpload.uploadInfo.identity.validDate", defaultMessage: "A currently valid date" })))));
22505
+ React.createElement(FormattedHTMLMessage, { id: "step.docUpload.uploadInfo.identity.validDate", defaultMessage: "A currently valid date" })))));
22495
22506
  case SegmentEnum.RECENT_MOVER:
22496
22507
  return (React.createElement("div", null,
22497
22508
  React.createElement("span", null,
22498
22509
  React.createElement("strong", null,
22499
- React.createElement(FormattedMessage, { id: "step.docUpload.uploadInstructions", defaultMessage: "Upload an official document that shows:" }))),
22510
+ React.createElement(FormattedHTMLMessage, { id: "step.docUpload.uploadInstructions", defaultMessage: "Upload an official document that shows:" }))),
22500
22511
  React.createElement("ul", { className: "sid-upload-info-list" },
22501
22512
  React.createElement("li", { className: "sid-upload-info-list__li" },
22502
- React.createElement(FormattedMessage, { id: "step.docUpload.uploadInfo.fullName", defaultMessage: "Your full name" })),
22513
+ React.createElement(FormattedHTMLMessage, { id: "step.docUpload.uploadInfo.fullName", defaultMessage: "Your full name" })),
22503
22514
  React.createElement("li", { className: "sid-upload-info-list__li" },
22504
- React.createElement(FormattedMessage, { id: "step.docUpload.uploadInfo.recentMover.address", defaultMessage: "Your new address" })),
22515
+ React.createElement(FormattedHTMLMessage, { id: "step.docUpload.uploadInfo.recentMover.address", defaultMessage: "Your new address" })),
22505
22516
  React.createElement("li", { className: "sid-upload-info-list__li" },
22506
- React.createElement(FormattedMessage, { id: "step.docUpload.uploadInfo.recentMover.validDate", defaultMessage: "A valid date for your recent move" })))));
22517
+ React.createElement(FormattedHTMLMessage, { id: "step.docUpload.uploadInfo.recentMover.validDate", defaultMessage: "A valid date for your recent move" })))));
22507
22518
  default:
22508
22519
  return null;
22509
22520
  }
22510
22521
  };
22511
22522
 
22512
- const useFlag = (name) => {
22513
- const flags = lib_4();
22514
- return flags[name];
22515
- };
22516
-
22517
22523
  const StepDocUpload = ({ verificationService, intl }) => {
22518
22524
  const verificationResponse = verificationService.verificationResponse;
22519
22525
  const { rejectionReasons } = verificationResponse;
@@ -22573,11 +22579,9 @@ const StepDocUpload = ({ verificationService, intl }) => {
22573
22579
  verificationService.updateFieldValidationErrors(nextFieldValidationErrors);
22574
22580
  addFilesAndUpdate(acceptedFiles, erroredFilenames);
22575
22581
  };
22576
- // HD-4214
22577
- const directToS3DocUploadFlag = useFlag("directToS3DocUpload");
22578
22582
  const submitForm = () => {
22579
22583
  logger.info("StepDocUploadComponent submitting form");
22580
- verificationService.submitStep(VerificationStepsEnum.docUpload, viewModel, verificationService.verificationResponse, directToS3DocUploadFlag);
22584
+ verificationService.submitStep(VerificationStepsEnum.docUpload, viewModel, verificationService.verificationResponse);
22581
22585
  };
22582
22586
  const onFileDrop = (draggedFiles) => {
22583
22587
  if (draggedFiles.length > 0) {
@@ -22611,11 +22615,11 @@ const StepDocUpload = ({ verificationService, intl }) => {
22611
22615
  React.createElement(RewardsRemainingComponent, { verificationService: verificationService }),
22612
22616
  rejectionReasons && rejectionReasons.length > 0 ? (React.createElement("div", { className: "sid-header__subtitle sid-l-horz-center sid-l-position" },
22613
22617
  React.createElement("div", null,
22614
- React.createElement(FormattedMessage, { id: "step.docUpload.rejectedSubtitle", defaultMessage: "We were unable to confirm your eligibility due to:" })),
22618
+ React.createElement(FormattedHTMLMessage, { id: "step.docUpload.rejectedSubtitle", defaultMessage: "We were unable to confirm your eligibility due to:" })),
22615
22619
  React.createElement("ul", { className: "sid-upload-rejection-list" }, rejectionReasons.map((rejectionReason) => (React.createElement("li", { key: rejectionReason, className: "sid-upload-rejection-list__li" },
22616
- React.createElement(FormattedMessage, { id: `step.docUpload.rejectionReasons.${rejectionReason}`, defaultMessage: `${rejectionReason}` }))))))) : (React.createElement("div", { className: "sid-header__subtitle sid-l-horz-center sid-l-position" },
22620
+ React.createElement(FormattedHTMLMessage, { id: `step.docUpload.rejectionReasons.${rejectionReason}`, defaultMessage: `${rejectionReason}` }))))))) : (React.createElement("div", { className: "sid-header__subtitle sid-l-horz-center sid-l-position" },
22617
22621
  React.createElement("div", null,
22618
- React.createElement(FormattedMessage, { id: "step.docUpload.subtitle", defaultMessage: "Documents will be reviewed in {estimatedWaitTime} by staff at SheerID, a trusted partner.", values: {
22622
+ React.createElement(FormattedHTMLMessage, { id: "step.docUpload.subtitle", defaultMessage: "Documents will be reviewed in {estimatedWaitTime} by staff at SheerID, a trusted partner.", values: {
22619
22623
  estimatedWaitTime: getEstAndMaxReviewTimes(verificationResponse, programTheme, intl).estReviewTime,
22620
22624
  } }),
22621
22625
  "\u00A0",
@@ -22624,7 +22628,8 @@ const StepDocUpload = ({ verificationService, intl }) => {
22624
22628
  React.createElement("div", { className: "sid-upload-info sid-l-space-top-md" },
22625
22629
  React.createElement("div", { className: "sid-l-space-top-sm" },
22626
22630
  React.createElement(UploadInfoComponent, { verificationService: verificationService })),
22627
- subSegment === SubSegmentEnum.MILITARY_FAMILY ? null : (React.createElement("div", { className: "sid-l-space-top-md" },
22631
+ getOptions().hideMilitaryFamilyAcceptableUploads &&
22632
+ subSegment === SubSegmentEnum.MILITARY_FAMILY ? null : (React.createElement("div", { className: "sid-l-space-top-md" },
22628
22633
  React.createElement(AcceptableUploadsComponent, { verificationService: verificationService })))),
22629
22634
  React.createElement("div", { className: "sid-upload-wrap sid-l-space-top-sm" },
22630
22635
  React.createElement("div", { className: "sid-dropzone-wrap" },
@@ -22648,9 +22653,9 @@ const StepDocUpload = ({ verificationService, intl }) => {
22648
22653
  role: "button", tabIndex: 0, onKeyDown: (e) => handleAddFileOnKeyDown(e) },
22649
22654
  React.createElement("input", { type: "file", id: "file", tabIndex: -1, className: "sid-add-more-files__input", "aria-describedby": "sid-add-file", onChange: fileHandler, accept: "image/jpeg,image/gif,image/png,application/pdf,image/bmp,image/gif", ref: (input) => setRef("addFile", input) }),
22650
22655
  React.createElement("img", { className: "sid-add-more-files__image", alt: "add more files", src: "https://assets-resources.sheerid.com/common/images/2018/icons/add-file.svg" }),
22651
- React.createElement(FormattedMessage, { id: "step.docUpload.addFile", defaultMessage: "Add file" })))) : null,
22656
+ React.createElement(FormattedHTMLMessage, { id: "step.docUpload.addFile", defaultMessage: "Add file" })))) : null,
22652
22657
  React.createElement("div", { className: "sid-submit sid-l-space-top-md" },
22653
- React.createElement("button", { id: "sid-submit-doc-upload", onClick: submitForm, type: "submit", className: "sid-btn sid-btn--dark sid-submit__continue", "aria-label": intl.formatMessage({
22658
+ React.createElement("button", { id: "sid-submit-doc-upload", onClick: submitForm, type: "submit", className: "sid-btn sid-btn--dark sid-submit__continue", "aria-label": intl.formatHTMLMessage({
22654
22659
  id: "step.docUpload.submitButtonLabel",
22655
22660
  defaultMessage: "Continue",
22656
22661
  }), disabled: currentFileNames.length <= 0 },
@@ -22909,6 +22914,11 @@ class NewVerification extends React.Component {
22909
22914
  componentDidMount() {
22910
22915
  N$1(); // https://sheerid.atlassian.net/browse/UX-362
22911
22916
  maintainFocusInLightbox();
22917
+ listenToInstallPage((event) => {
22918
+ if (event.data.action === "setViewModel") {
22919
+ setViewModel(event.data.viewModel, { partial: true });
22920
+ }
22921
+ });
22912
22922
  // Special-case, mocking the loading psuedo-step
22913
22923
  if (isMockingLoading()) {
22914
22924
  logger.info("Mocking loading screen. Not fetching new verification request.");
@@ -22932,7 +22942,7 @@ class NewVerification extends React.Component {
22932
22942
  logger.info("NewVerificationComponent: verificationResponse, viewModel", verificationResponse, viewModel);
22933
22943
  const locale = getLocaleSafely(viewModel);
22934
22944
  let messages;
22935
- // optional param `messages`. If we do not have it, all <FormattedMessages /> should use default fallback anyway.
22945
+ // optional param `messages`. If we do not have it, all <FormattedHTMLMessages /> should use default fallback anyway.
22936
22946
  if (this.props.messages) {
22937
22947
  messages = this.props.messages;
22938
22948
  }
@@ -23033,6 +23043,8 @@ const getVerificationUrl = (url) => {
23033
23043
 
23034
23044
  class Iframe {
23035
23045
  constructor(containerElement, url) {
23046
+ this.hasLoaded = false;
23047
+ this.onLoadEvents = [];
23036
23048
  if (Iframe.isValidHttpUrl(url)) {
23037
23049
  const options = {
23038
23050
  className: iframeConstants.CLASS_NAMES.INLINE_IFRAME_CONTENT,
@@ -23068,8 +23080,30 @@ class Iframe {
23068
23080
  mark = "&";
23069
23081
  }
23070
23082
  this.iframe.src = `${this.verificationUrl.href}${mark}verificationIframeUid=${this.verificationIframeUid}&${QUERY_STRING_INSTALL_PAGE_URL}=${encodeURIComponent(getCurrentUrl())}`;
23083
+ this.iframe.onload = () => this.onLoad();
23071
23084
  return this.iframe;
23072
23085
  }
23086
+ // If iFrame hasn't loaded yet, queue up the callback
23087
+ // otherwise call it immediately
23088
+ addOnLoadEvent(callback) {
23089
+ try {
23090
+ assertValidFunction(callback);
23091
+ }
23092
+ catch (e) {
23093
+ logger.error("Invalid callback provided to iFrame.onLoad()", e);
23094
+ return;
23095
+ }
23096
+ if (this.hasLoaded) {
23097
+ callback();
23098
+ }
23099
+ else {
23100
+ this.onLoadEvents.push(callback);
23101
+ }
23102
+ }
23103
+ onLoad() {
23104
+ this.hasLoaded = true;
23105
+ this.onLoadEvents.forEach((callback) => callback());
23106
+ }
23073
23107
  addVerificationSizeUpdatesListener() {
23074
23108
  window.addEventListener("message", (event) => {
23075
23109
  if (this.verificationUrl.origin !== event.origin) {
@@ -23094,6 +23128,13 @@ class Iframe {
23094
23128
  }
23095
23129
  });
23096
23130
  }
23131
+ setViewModel(viewModel) {
23132
+ const message = {
23133
+ action: "setViewModel",
23134
+ viewModel,
23135
+ };
23136
+ this.addOnLoadEvent(() => this.iframe.contentWindow.postMessage(message, this.verificationUrl.origin));
23137
+ }
23097
23138
  init() {
23098
23139
  this.containerElement.appendChild(this.iframe);
23099
23140
  }
@@ -23158,12 +23199,12 @@ class Modal {
23158
23199
  wrapper.tabIndex = -1;
23159
23200
  wrapper.setAttribute("role", "dialog");
23160
23201
  wrapper.appendChild(this.createCloseBtn());
23161
- const iframe = new Iframe(wrapper, this.verificationUrl);
23202
+ this.iframeInstance = new Iframe(wrapper, this.verificationUrl);
23162
23203
  const options = {
23163
23204
  className: iframeConstants.CLASS_NAMES.MODAL_IFRAME,
23164
23205
  };
23165
- this.iframe = iframe.createIframe(options);
23166
- wrapper.appendChild(this.iframe);
23206
+ this.iframeInstance.createIframe(options);
23207
+ wrapper.appendChild(this.iframeInstance.iframe);
23167
23208
  return wrapper;
23168
23209
  }
23169
23210
  addPopStateListener() {
@@ -23182,16 +23223,16 @@ class Modal {
23182
23223
  return;
23183
23224
  }
23184
23225
  if (e.shiftKey && document.activeElement === this.closeButton) {
23185
- this.iframe.contentWindow.postMessage({ focusOn: "lastElement" }, "*");
23226
+ this.iframeInstance.iframe.contentWindow.postMessage({ focusOn: "lastElement" }, "*");
23186
23227
  e.preventDefault();
23187
23228
  }
23188
23229
  });
23189
23230
  }
23190
23231
  isInLightboxPostMessage(inLightbox) {
23191
- this.iframe.contentWindow.postMessage({ isInLightBox: inLightbox }, "*");
23232
+ this.iframeInstance.iframe.contentWindow.postMessage({ isInLightBox: inLightbox }, "*");
23192
23233
  }
23193
23234
  displayModal() {
23194
- this.iframe.addEventListener("load", () => {
23235
+ this.iframeInstance.iframe.addEventListener("load", () => {
23195
23236
  fadeInElements([this.overlay, this.wrapper]);
23196
23237
  document.body.style.overflow = "hidden";
23197
23238
  this.isInLightboxPostMessage("true");
@@ -23209,16 +23250,24 @@ class Modal {
23209
23250
  this.displayModal();
23210
23251
  }
23211
23252
  }
23253
+ setViewModel(viewModel) {
23254
+ this.iframeInstance.setViewModel(viewModel);
23255
+ }
23212
23256
  }
23213
23257
 
23258
+ // Called from the parent page to load the jslib within an iFrame NOT in a modal, but in the flow of a page. e.g. between two divs
23214
23259
  function loadInlineIframe(containerElement, url) {
23215
23260
  const iframe = new Iframe(containerElement, url);
23216
23261
  iframe.init();
23262
+ return iframe;
23217
23263
  }
23264
+ // Called from the parent page to load the jslib within an iFrame in a modal
23218
23265
  function loadInModal(url, userConfig = {}) {
23219
23266
  const modal = new Modal(url, userConfig);
23220
23267
  modal.init();
23268
+ return modal;
23221
23269
  }
23270
+ // Called from the inner iFrame window to let the parent window know about size updates
23222
23271
  function postVerificationSizeUpdates(options = { origin: "*", interval: 100 }) {
23223
23272
  if (window.self !== window.top) {
23224
23273
  let bodyHeight = document.body.offsetHeight;