@sheerid/jslib 1.91.0 → 1.92.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (200) hide show
  1. package/__tests__/__mocks__/mockResponses.d.ts +21 -0
  2. package/es5/Tmetrix.bundle.js +5 -5
  3. package/es5/messages_ar.bundle.js +5 -5
  4. package/es5/messages_bg.bundle.js +5 -5
  5. package/es5/messages_cs.bundle.js +5 -5
  6. package/es5/messages_da.bundle.js +5 -5
  7. package/es5/messages_de.bundle.js +5 -5
  8. package/es5/messages_el.bundle.js +5 -5
  9. package/es5/messages_en-GB.bundle.js +5 -5
  10. package/es5/messages_es-ES.bundle.js +5 -5
  11. package/es5/messages_es.bundle.js +5 -5
  12. package/es5/messages_fi.bundle.js +5 -5
  13. package/es5/messages_fr-CA.bundle.js +5 -5
  14. package/es5/messages_fr.bundle.js +5 -5
  15. package/es5/messages_ga.bundle.js +5 -5
  16. package/es5/messages_hr.bundle.js +5 -5
  17. package/es5/messages_hu.bundle.js +5 -5
  18. package/es5/messages_id.bundle.js +5 -5
  19. package/es5/messages_it.bundle.js +5 -5
  20. package/es5/messages_iw.bundle.js +5 -5
  21. package/es5/messages_ja.bundle.js +5 -5
  22. package/es5/messages_ko.bundle.js +5 -5
  23. package/es5/messages_lo.bundle.js +5 -5
  24. package/es5/messages_lt.bundle.js +5 -5
  25. package/es5/messages_ms.bundle.js +5 -5
  26. package/es5/messages_nl.bundle.js +5 -5
  27. package/es5/messages_no.bundle.js +5 -5
  28. package/es5/messages_pl.bundle.js +5 -5
  29. package/es5/messages_pt-BR.bundle.js +5 -5
  30. package/es5/messages_pt.bundle.js +5 -5
  31. package/es5/messages_ru.bundle.js +5 -5
  32. package/es5/messages_sk.bundle.js +5 -5
  33. package/es5/messages_sl.bundle.js +5 -5
  34. package/es5/messages_sr.bundle.js +5 -5
  35. package/es5/messages_sv.bundle.js +5 -5
  36. package/es5/messages_th.bundle.js +5 -5
  37. package/es5/messages_tr.bundle.js +5 -5
  38. package/es5/messages_zh-HK.bundle.js +5 -5
  39. package/es5/messages_zh.bundle.js +5 -5
  40. package/es6/{ar-2cdf6160.es.js → ar-e4426378.es.js} +2 -1
  41. package/es6/{cs-35678f6e.es.js.map → ar-e4426378.es.js.map} +1 -1
  42. package/es6/{bg-0c5aca6e.es.js → bg-28d102d8.es.js} +2 -1
  43. package/es6/{ar-2cdf6160.es.js.map → bg-28d102d8.es.js.map} +1 -1
  44. package/es6/{cs-35678f6e.es.js → cs-009862ff.es.js} +2 -1
  45. package/es6/{da-86579c7f.es.js.map → cs-009862ff.es.js.map} +1 -1
  46. package/es6/{da-86579c7f.es.js → da-23fd29bf.es.js} +2 -1
  47. package/es6/{bg-0c5aca6e.es.js.map → da-23fd29bf.es.js.map} +1 -1
  48. package/es6/{de-7a1545e0.es.js → de-631d5fbb.es.js} +2 -1
  49. package/es6/de-631d5fbb.es.js.map +1 -0
  50. package/es6/{el-51fca2f8.es.js → el-f4ec2c54.es.js} +2 -1
  51. package/es6/el-f4ec2c54.es.js.map +1 -0
  52. package/es6/{en-GB-86160d8c.es.js → en-GB-fe9eb9b0.es.js} +2 -1
  53. package/es6/{en-GB-86160d8c.es.js.map → en-GB-fe9eb9b0.es.js.map} +1 -1
  54. package/es6/{es-ES-a4e211eb.es.js → es-ES-10f9fdff.es.js} +2 -1
  55. package/es6/{es-ES-a4e211eb.es.js.map → es-ES-10f9fdff.es.js.map} +1 -1
  56. package/es6/{es-bba0a374.es.js → es-c62f014d.es.js} +2 -1
  57. package/es6/es-c62f014d.es.js.map +1 -0
  58. package/es6/{fi-6a14a1cc.es.js → fi-223505a5.es.js} +2 -1
  59. package/es6/fi-223505a5.es.js.map +1 -0
  60. package/es6/{fr-CA-2fd4d0a9.es.js → fr-CA-ad36d485.es.js} +2 -1
  61. package/es6/{fr-CA-2fd4d0a9.es.js.map → fr-CA-ad36d485.es.js.map} +1 -1
  62. package/es6/{fr-8eeb4cc9.es.js → fr-d95ed053.es.js} +2 -1
  63. package/es6/fr-d95ed053.es.js.map +1 -0
  64. package/es6/{ga-ccef7fbe.es.js → ga-e3d32042.es.js} +2 -1
  65. package/es6/ga-e3d32042.es.js.map +1 -0
  66. package/es6/{hr-4b754dfc.es.js → hr-99420cb2.es.js} +2 -1
  67. package/es6/hr-99420cb2.es.js.map +1 -0
  68. package/es6/{hu-2b5530ec.es.js → hu-940be90f.es.js} +2 -1
  69. package/es6/hu-940be90f.es.js.map +1 -0
  70. package/es6/{id-2597e3fc.es.js → id-4dbe6e4a.es.js} +2 -1
  71. package/es6/id-4dbe6e4a.es.js.map +1 -0
  72. package/es6/{it-6ca81474.es.js → it-bd0201c2.es.js} +2 -1
  73. package/es6/it-bd0201c2.es.js.map +1 -0
  74. package/es6/{iw-9a0510d1.es.js → iw-1e2ccfec.es.js} +2 -1
  75. package/es6/iw-1e2ccfec.es.js.map +1 -0
  76. package/es6/{ja-a74ecfcc.es.js → ja-968816ba.es.js} +2 -1
  77. package/es6/ja-968816ba.es.js.map +1 -0
  78. package/es6/{ko-fdd52f9f.es.js → ko-647f0392.es.js} +2 -1
  79. package/es6/ko-647f0392.es.js.map +1 -0
  80. package/es6/{lo-35d1c157.es.js → lo-85e62f11.es.js} +2 -1
  81. package/es6/lo-85e62f11.es.js.map +1 -0
  82. package/es6/{lt-661bd367.es.js → lt-8fbfeba3.es.js} +2 -1
  83. package/es6/lt-8fbfeba3.es.js.map +1 -0
  84. package/es6/{ms-d15b844f.es.js → ms-00d9987c.es.js} +2 -1
  85. package/es6/ms-00d9987c.es.js.map +1 -0
  86. package/es6/{nl-06292d84.es.js → nl-9cc1ac7d.es.js} +2 -1
  87. package/es6/nl-9cc1ac7d.es.js.map +1 -0
  88. package/es6/{no-5357d59b.es.js → no-b77a5547.es.js} +2 -1
  89. package/es6/no-b77a5547.es.js.map +1 -0
  90. package/es6/{pl-7faa9204.es.js → pl-a3e8e224.es.js} +2 -1
  91. package/es6/pl-a3e8e224.es.js.map +1 -0
  92. package/es6/{pt-BR-d80f044a.es.js → pt-BR-0bcf59cc.es.js} +2 -1
  93. package/es6/{pt-BR-d80f044a.es.js.map → pt-BR-0bcf59cc.es.js.map} +1 -1
  94. package/es6/{pt-8ff17f0d.es.js → pt-abf00cf3.es.js} +2 -1
  95. package/es6/pt-abf00cf3.es.js.map +1 -0
  96. package/es6/{ru-31708887.es.js → ru-85c381c9.es.js} +2 -1
  97. package/es6/ru-85c381c9.es.js.map +1 -0
  98. package/es6/{sk-49eb81f5.es.js → sk-46225bc4.es.js} +2 -1
  99. package/es6/sk-46225bc4.es.js.map +1 -0
  100. package/es6/{sl-bed73b06.es.js → sl-5cbd6630.es.js} +2 -1
  101. package/es6/sl-5cbd6630.es.js.map +1 -0
  102. package/es6/{sr-4d57ff97.es.js → sr-1f95f780.es.js} +2 -1
  103. package/es6/sr-1f95f780.es.js.map +1 -0
  104. package/es6/{sv-4d2ca38b.es.js → sv-ae6fc750.es.js} +2 -1
  105. package/es6/sv-ae6fc750.es.js.map +1 -0
  106. package/es6/{th-b730cf5f.es.js → th-2523e6ef.es.js} +2 -1
  107. package/es6/th-2523e6ef.es.js.map +1 -0
  108. package/es6/{tr-888d9efb.es.js → tr-09b3bcea.es.js} +2 -1
  109. package/es6/tr-09b3bcea.es.js.map +1 -0
  110. package/es6/{zh-HK-f6240d59.es.js → zh-HK-81171043.es.js} +2 -1
  111. package/es6/zh-HK-81171043.es.js.map +1 -0
  112. package/es6/{zh-35daaed2.es.js → zh-a7f7ad44.es.js} +2 -1
  113. package/es6/zh-a7f7ad44.es.js.map +1 -0
  114. package/localized-messages/ar.json +1 -0
  115. package/localized-messages/bg.json +1 -0
  116. package/localized-messages/cs.json +1 -0
  117. package/localized-messages/da.json +1 -0
  118. package/localized-messages/de.json +1 -0
  119. package/localized-messages/el.json +1 -0
  120. package/localized-messages/en-GB.json +1 -0
  121. package/localized-messages/en-US.json +1 -0
  122. package/localized-messages/es-ES.json +1 -0
  123. package/localized-messages/es.json +1 -0
  124. package/localized-messages/fi.json +1 -0
  125. package/localized-messages/fr-CA.json +1 -0
  126. package/localized-messages/fr.json +1 -0
  127. package/localized-messages/ga.json +1 -0
  128. package/localized-messages/hr.json +1 -0
  129. package/localized-messages/hu.json +1 -0
  130. package/localized-messages/id.json +1 -0
  131. package/localized-messages/it.json +1 -0
  132. package/localized-messages/iw.json +1 -0
  133. package/localized-messages/ja.json +1 -0
  134. package/localized-messages/ko.json +1 -0
  135. package/localized-messages/lo.json +1 -0
  136. package/localized-messages/lt.json +1 -0
  137. package/localized-messages/ms.json +1 -0
  138. package/localized-messages/nl.json +1 -0
  139. package/localized-messages/no.json +1 -0
  140. package/localized-messages/pl.json +1 -0
  141. package/localized-messages/pt-BR.json +1 -0
  142. package/localized-messages/pt.json +1 -0
  143. package/localized-messages/ru.json +1 -0
  144. package/localized-messages/sk.json +1 -0
  145. package/localized-messages/sl.json +1 -0
  146. package/localized-messages/sr.json +1 -0
  147. package/localized-messages/sv.json +1 -0
  148. package/localized-messages/th.json +1 -0
  149. package/localized-messages/tr.json +1 -0
  150. package/localized-messages/zh-HK.json +1 -0
  151. package/localized-messages/zh.json +1 -0
  152. package/manifest.json +48 -48
  153. package/package.json +1 -1
  154. package/sheerid-requestOrg.css +5 -5
  155. package/sheerid-requestOrg.css.map +1 -1
  156. package/sheerid-requestOrg.js +14 -14
  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 +17 -17
  163. package/sheerid.js.map +1 -1
  164. package/sheerides6.js +163 -113
  165. package/sheerides6.js.map +1 -1
  166. package/src/components/FeatureFlags/flags.d.ts +1 -0
  167. package/src/components/FeatureFlags/hooks.d.ts +1 -1
  168. package/src/lib/ServerApi/Network.d.ts +5 -0
  169. package/src/lib/ServerApi/VerificationApiClient.d.ts +1 -1
  170. package/src/lib/types/types.d.ts +15 -1
  171. package/types-reference.zip +0 -0
  172. package/es6/de-7a1545e0.es.js.map +0 -1
  173. package/es6/el-51fca2f8.es.js.map +0 -1
  174. package/es6/es-bba0a374.es.js.map +0 -1
  175. package/es6/fi-6a14a1cc.es.js.map +0 -1
  176. package/es6/fr-8eeb4cc9.es.js.map +0 -1
  177. package/es6/ga-ccef7fbe.es.js.map +0 -1
  178. package/es6/hr-4b754dfc.es.js.map +0 -1
  179. package/es6/hu-2b5530ec.es.js.map +0 -1
  180. package/es6/id-2597e3fc.es.js.map +0 -1
  181. package/es6/it-6ca81474.es.js.map +0 -1
  182. package/es6/iw-9a0510d1.es.js.map +0 -1
  183. package/es6/ja-a74ecfcc.es.js.map +0 -1
  184. package/es6/ko-fdd52f9f.es.js.map +0 -1
  185. package/es6/lo-35d1c157.es.js.map +0 -1
  186. package/es6/lt-661bd367.es.js.map +0 -1
  187. package/es6/ms-d15b844f.es.js.map +0 -1
  188. package/es6/nl-06292d84.es.js.map +0 -1
  189. package/es6/no-5357d59b.es.js.map +0 -1
  190. package/es6/pl-7faa9204.es.js.map +0 -1
  191. package/es6/pt-8ff17f0d.es.js.map +0 -1
  192. package/es6/ru-31708887.es.js.map +0 -1
  193. package/es6/sk-49eb81f5.es.js.map +0 -1
  194. package/es6/sl-bed73b06.es.js.map +0 -1
  195. package/es6/sr-4d57ff97.es.js.map +0 -1
  196. package/es6/sv-4d2ca38b.es.js.map +0 -1
  197. package/es6/th-b730cf5f.es.js.map +0 -1
  198. package/es6/tr-888d9efb.es.js.map +0 -1
  199. package/es6/zh-35daaed2.es.js.map +0 -1
  200. package/es6/zh-HK-f6240d59.es.js.map +0 -1
package/sheerides6.js CHANGED
@@ -921,30 +921,8 @@ class CopyToClipboard extends React.Component {
921
921
  const { isShowing } = this.state;
922
922
  const { notificationText, children } = this.props;
923
923
  return (React.createElement("div", { className: "sid-to-clipboard" },
924
- React.createElement("div", { className: `${isShowing ? classNameVisible : classNameHidden}` }, notificationText || "Copied"),
925
- React.createElement("div", { onClick: this.doCopy, onKeyPress: this.doCopy, role: "button", tabIndex: 0, className: "sid-h-link-like sid-to-clipboard__clickable-text sid-link" }, children || "Copy")));
926
- }
927
- }
928
-
929
- class ResponseTimeLogger {
930
- constructor(url) {
931
- this.url = url;
932
- this.start = Date.now();
933
- }
934
- logNow() {
935
- // eslint-disable-next-line
936
- let result;
937
- if (window.NREUM) {
938
- result = {
939
- api_call: this.url,
940
- api_response_time: Date.now() - this.start,
941
- };
942
- window.NREUM.addPageAction("API-calls-timing", result);
943
- }
944
- else {
945
- logger.warn("Off-site logging not available.");
946
- }
947
- return result;
924
+ React.createElement("div", { className: `${isShowing ? classNameVisible : classNameHidden}`, role: "alert", "aria-live": "polite", "aria-label": "Copied" }, notificationText || "Copied"),
925
+ React.createElement("div", { onClick: this.doCopy, onKeyPress: this.doCopy, role: "button", tabIndex: 0, className: "sid-to-clipboard__clickable-text sid-link" }, children || "Copy")));
948
926
  }
949
927
  }
950
928
 
@@ -1127,8 +1105,8 @@ const requestOrganizationConstants = {
1127
1105
  ORG_TYPES: "UNIVERSITY,HIGH_SCHOOL,K12",
1128
1106
  DEFAULT_ORG_TYPES: "UNIVERSITY",
1129
1107
  URL_REGEX: /(http:\/\/www\.|https:\/\/www\.|http:\/\/|https:\/\/)?[-a-zA-Z0-9@:%._\+~#=]{1,256}\.[a-zA-Z0-9()]{1,10}\b([-a-zA-Z0-9()@:%_\+.~#?&//=]*)/,
1130
- SCHOOL_HOUSE_URL: "https://s3.amazonaws.com/com.sheerid.resources/common/images/requestOrganization/school.svg",
1131
- SHEERID_LOGO_URL: "https://s3.amazonaws.com/com.sheerid.resources/common/images/requestOrganization/logo.svg",
1108
+ SCHOOL_HOUSE_URL: "https://assets-resources.sheerid.com/common/images/requestOrganization/school.svg",
1109
+ SHEERID_LOGO_URL: "https://assets-resources.sheerid.com/common/images/requestOrganization/logo.svg",
1132
1110
  FEEDBACK_FORM_URL: "https://verify.sheerid.com/verification-support/feedback.html?token=",
1133
1111
  };
1134
1112
  const HTTP_REQUEST_TIMEOUT = 10000;
@@ -1361,6 +1339,28 @@ const setOptions = (newOptions) => {
1361
1339
  }
1362
1340
  };
1363
1341
 
1342
+ class ResponseTimeLogger {
1343
+ constructor(url) {
1344
+ this.url = url;
1345
+ this.start = Date.now();
1346
+ }
1347
+ logNow() {
1348
+ // eslint-disable-next-line
1349
+ let result;
1350
+ if (window.NREUM) {
1351
+ result = {
1352
+ api_call: this.url,
1353
+ api_response_time: Date.now() - this.start,
1354
+ };
1355
+ window.NREUM.addPageAction("API-calls-timing", result);
1356
+ }
1357
+ else {
1358
+ logger.warn("Off-site logging not available.");
1359
+ }
1360
+ return result;
1361
+ }
1362
+ }
1363
+
1364
1364
  const defaultJsonHeaders = {
1365
1365
  Accept: "application/json",
1366
1366
  "Content-Type": "application/json",
@@ -1368,6 +1368,9 @@ const defaultJsonHeaders = {
1368
1368
  const defaultFileUploadHeaders = {
1369
1369
  Accept: "application/json",
1370
1370
  };
1371
+ const defaultUploadHeaders = {
1372
+ "Content-Type": "application/json",
1373
+ };
1371
1374
  const fetchWithTimeout = (url, options = {}) => {
1372
1375
  const timeout = getOptions().httpRequestTimeout;
1373
1376
  return new Promise((resolve, reject) => {
@@ -1386,6 +1389,21 @@ const fetchWithTimeout = (url, options = {}) => {
1386
1389
  });
1387
1390
  });
1388
1391
  };
1392
+ const processResponse = async (response, timeLog) => {
1393
+ let responseData;
1394
+ try {
1395
+ responseData = await response.json();
1396
+ }
1397
+ catch (error) {
1398
+ // Handle 204 response
1399
+ responseData = Promise.resolve({});
1400
+ }
1401
+ finally {
1402
+ timeLog.logNow();
1403
+ logger.info("Response received", responseData);
1404
+ }
1405
+ return responseData;
1406
+ };
1389
1407
  const PostJson = async (url, body, headers = defaultJsonHeaders) => {
1390
1408
  const timeLog = new ResponseTimeLogger(url);
1391
1409
  const response = await fetchWithTimeout(url, {
@@ -1393,7 +1411,7 @@ const PostJson = async (url, body, headers = defaultJsonHeaders) => {
1393
1411
  method: "POST",
1394
1412
  body: JSON.stringify(body),
1395
1413
  });
1396
- return await processResponse(response, timeLog);
1414
+ return processResponse(response, timeLog);
1397
1415
  };
1398
1416
  const DeleteJson = async (url, headers = defaultJsonHeaders) => {
1399
1417
  const timeLog = new ResponseTimeLogger(url);
@@ -1401,7 +1419,7 @@ const DeleteJson = async (url, headers = defaultJsonHeaders) => {
1401
1419
  headers,
1402
1420
  method: "DELETE",
1403
1421
  });
1404
- return await processResponse(response, timeLog);
1422
+ return processResponse(response, timeLog);
1405
1423
  };
1406
1424
  const GetJson = async (url, headers = defaultJsonHeaders) => {
1407
1425
  const timeLog = new ResponseTimeLogger(url);
@@ -1409,9 +1427,9 @@ const GetJson = async (url, headers = defaultJsonHeaders) => {
1409
1427
  headers,
1410
1428
  method: "GET",
1411
1429
  });
1412
- return await processResponse(response, timeLog);
1430
+ return processResponse(response, timeLog);
1413
1431
  };
1414
- const GetResponse = async (url, headers = defaultJsonHeaders) => await fetchWithTimeout(url, {
1432
+ const GetResponse = async (url, headers = defaultJsonHeaders) => fetchWithTimeout(url, {
1415
1433
  headers,
1416
1434
  method: "GET",
1417
1435
  });
@@ -1433,22 +1451,34 @@ const PostFiles = async (url, files, headers = defaultFileUploadHeaders) => {
1433
1451
  method: "POST",
1434
1452
  body: formData,
1435
1453
  });
1436
- return await processResponse(response, timeLog);
1437
- };
1438
- const processResponse = async (response, timeLog) => {
1439
- let responseData;
1440
- try {
1441
- responseData = await response.json();
1442
- }
1443
- catch (error) {
1444
- // Handle 204 response
1445
- responseData = Promise.resolve({});
1446
- }
1447
- finally {
1448
- timeLog.logNow();
1449
- logger.info("Response received", responseData);
1450
- }
1451
- return responseData;
1454
+ return processResponse(response, timeLog);
1455
+ };
1456
+ const createDocUploadData = (files) => files
1457
+ .filter((file) => !!file)
1458
+ .map((file) => ({
1459
+ fileName: file.name,
1460
+ mimeType: file.type,
1461
+ fileSize: file.size,
1462
+ }));
1463
+ const PostFilesS3 = async (url, files, headers = defaultUploadHeaders) => {
1464
+ const timeLog = new ResponseTimeLogger(url);
1465
+ logger.info(`PostFiles posting to ${url}`, files);
1466
+ const docUploadData = JSON.stringify(createDocUploadData(files));
1467
+ const response = await fetch(url, {
1468
+ headers,
1469
+ method: "POST",
1470
+ body: docUploadData,
1471
+ });
1472
+ const { documents, submissionUrl, } = await response.json();
1473
+ await Promise.all(documents.map((document, index) => fetch(document.uploadUrl, {
1474
+ method: "PUT",
1475
+ body: files[index],
1476
+ })));
1477
+ const completeDocUpload = await fetch(submissionUrl, {
1478
+ headers,
1479
+ method: "POST",
1480
+ });
1481
+ return processResponse(completeDocUpload, timeLog);
1452
1482
  };
1453
1483
 
1454
1484
  const getVerificationUrl$1 = () => `${getOptions().restApi.serviceUrl}${getOptions().restApi.resources.verification}`;
@@ -1617,7 +1647,7 @@ const getOrgNameWithoutLocation = (organizationName) => {
1617
1647
  return organizationName.replace(regex, "");
1618
1648
  };
1619
1649
 
1620
- const eligibleSchoolIconSrc = "https://s3.amazonaws.com/com.sheerid.resources/common/images/requestOrganization/doc-right.svg";
1650
+ const eligibleSchoolIconSrc = "https://assets-resources.sheerid.com/common/images/requestOrganization/doc-right.svg";
1621
1651
  const OrganizationResultComponent = ({ organization, isEligible, }) => isEligible ? (React.createElement("div", { className: "sid-search-result" },
1622
1652
  React.createElement("img", { src: eligibleSchoolIconSrc, alt: "School Icon" }),
1623
1653
  " ",
@@ -2660,6 +2690,7 @@ var enUSMessages = {
2660
2690
  "segmentMessages.student.step.success.title": "You've been verified",
2661
2691
  "segmentMessages.teacher.emailExplanation": "Must be your school-issued email address",
2662
2692
  "segmentMessages.teacher.schoolName": "School name",
2693
+ "segmentMessages.teacher.schoolNamePlaceholder": "School name*",
2663
2694
  "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}",
2664
2695
  "segmentMessages.teacher.step.docUpload.subtitle": "Documents will be reviewed in {estimatedWaitTime} by staff at SheerID, a trusted partner.",
2665
2696
  "segmentMessages.teacher.step.docUpload.title": "We need more information",
@@ -2695,154 +2726,154 @@ const getMessagesModuleByLocale = async (locale) => {
2695
2726
  switch (locale) {
2696
2727
  case "ar":
2697
2728
  localizedMessages = await import(
2698
- /* webpackChunkName: "messages_ar" */ './es6/ar-2cdf6160.es.js').then((m) => m.default);
2729
+ /* webpackChunkName: "messages_ar" */ './es6/ar-e4426378.es.js').then((m) => m.default);
2699
2730
  break;
2700
2731
  case "bg":
2701
2732
  localizedMessages = await import(
2702
- /* webpackChunkName: "messages_bg" */ './es6/bg-0c5aca6e.es.js').then((m) => m.default);
2733
+ /* webpackChunkName: "messages_bg" */ './es6/bg-28d102d8.es.js').then((m) => m.default);
2703
2734
  break;
2704
2735
  case "cs":
2705
2736
  localizedMessages = await import(
2706
- /* webpackChunkName: "messages_cs" */ './es6/cs-35678f6e.es.js').then((m) => m.default);
2737
+ /* webpackChunkName: "messages_cs" */ './es6/cs-009862ff.es.js').then((m) => m.default);
2707
2738
  break;
2708
2739
  case "da":
2709
2740
  localizedMessages = await import(
2710
- /* webpackChunkName: "messages_da" */ './es6/da-86579c7f.es.js').then((m) => m.default);
2741
+ /* webpackChunkName: "messages_da" */ './es6/da-23fd29bf.es.js').then((m) => m.default);
2711
2742
  break;
2712
2743
  case "de":
2713
2744
  localizedMessages = await import(
2714
- /* webpackChunkName: "messages_de" */ './es6/de-7a1545e0.es.js').then((m) => m.default);
2745
+ /* webpackChunkName: "messages_de" */ './es6/de-631d5fbb.es.js').then((m) => m.default);
2715
2746
  break;
2716
2747
  case "el":
2717
2748
  localizedMessages = await import(
2718
- /* webpackChunkName: "messages_el" */ './es6/el-51fca2f8.es.js').then((m) => m.default);
2749
+ /* webpackChunkName: "messages_el" */ './es6/el-f4ec2c54.es.js').then((m) => m.default);
2719
2750
  break;
2720
2751
  case "en-GB":
2721
2752
  localizedMessages = await import(
2722
- /* webpackChunkName: "messages_en-GB" */ './es6/en-GB-86160d8c.es.js').then((m) => m.default);
2753
+ /* webpackChunkName: "messages_en-GB" */ './es6/en-GB-fe9eb9b0.es.js').then((m) => m.default);
2723
2754
  break;
2724
2755
  case "en-US":
2725
2756
  localizedMessages = enUSMessages;
2726
2757
  break;
2727
2758
  case "es-ES":
2728
2759
  localizedMessages = await import(
2729
- /* webpackChunkName: "messages_es-ES" */ './es6/es-ES-a4e211eb.es.js').then((m) => m.default);
2760
+ /* webpackChunkName: "messages_es-ES" */ './es6/es-ES-10f9fdff.es.js').then((m) => m.default);
2730
2761
  break;
2731
2762
  case "es":
2732
2763
  localizedMessages = await import(
2733
- /* webpackChunkName: "messages_es" */ './es6/es-bba0a374.es.js').then((m) => m.default);
2764
+ /* webpackChunkName: "messages_es" */ './es6/es-c62f014d.es.js').then((m) => m.default);
2734
2765
  break;
2735
2766
  case "fi":
2736
2767
  localizedMessages = await import(
2737
- /* webpackChunkName: "messages_fi" */ './es6/fi-6a14a1cc.es.js').then((m) => m.default);
2768
+ /* webpackChunkName: "messages_fi" */ './es6/fi-223505a5.es.js').then((m) => m.default);
2738
2769
  break;
2739
2770
  case "fr-CA":
2740
2771
  localizedMessages = await import(
2741
- /* webpackChunkName: "messages_fr-CA" */ './es6/fr-CA-2fd4d0a9.es.js').then((m) => m.default);
2772
+ /* webpackChunkName: "messages_fr-CA" */ './es6/fr-CA-ad36d485.es.js').then((m) => m.default);
2742
2773
  break;
2743
2774
  case "fr":
2744
2775
  localizedMessages = await import(
2745
- /* webpackChunkName: "messages_fr" */ './es6/fr-8eeb4cc9.es.js').then((m) => m.default);
2776
+ /* webpackChunkName: "messages_fr" */ './es6/fr-d95ed053.es.js').then((m) => m.default);
2746
2777
  break;
2747
2778
  case "ga":
2748
2779
  localizedMessages = await import(
2749
- /* webpackChunkName: "messages_ga" */ './es6/ga-ccef7fbe.es.js').then((m) => m.default);
2780
+ /* webpackChunkName: "messages_ga" */ './es6/ga-e3d32042.es.js').then((m) => m.default);
2750
2781
  break;
2751
2782
  case "hr":
2752
2783
  localizedMessages = await import(
2753
- /* webpackChunkName: "messages_hr" */ './es6/hr-4b754dfc.es.js').then((m) => m.default);
2784
+ /* webpackChunkName: "messages_hr" */ './es6/hr-99420cb2.es.js').then((m) => m.default);
2754
2785
  break;
2755
2786
  case "hu":
2756
2787
  localizedMessages = await import(
2757
- /* webpackChunkName: "messages_hu" */ './es6/hu-2b5530ec.es.js').then((m) => m.default);
2788
+ /* webpackChunkName: "messages_hu" */ './es6/hu-940be90f.es.js').then((m) => m.default);
2758
2789
  break;
2759
2790
  case "id":
2760
2791
  localizedMessages = await import(
2761
- /* webpackChunkName: "messages_id" */ './es6/id-2597e3fc.es.js').then((m) => m.default);
2792
+ /* webpackChunkName: "messages_id" */ './es6/id-4dbe6e4a.es.js').then((m) => m.default);
2762
2793
  break;
2763
2794
  case "it":
2764
2795
  localizedMessages = await import(
2765
- /* webpackChunkName: "messages_it" */ './es6/it-6ca81474.es.js').then((m) => m.default);
2796
+ /* webpackChunkName: "messages_it" */ './es6/it-bd0201c2.es.js').then((m) => m.default);
2766
2797
  break;
2767
2798
  case "iw":
2768
2799
  localizedMessages = await import(
2769
- /* webpackChunkName: "messages_iw" */ './es6/iw-9a0510d1.es.js').then((m) => m.default);
2800
+ /* webpackChunkName: "messages_iw" */ './es6/iw-1e2ccfec.es.js').then((m) => m.default);
2770
2801
  break;
2771
2802
  case "ja":
2772
2803
  localizedMessages = await import(
2773
- /* webpackChunkName: "messages_ja" */ './es6/ja-a74ecfcc.es.js').then((m) => m.default);
2804
+ /* webpackChunkName: "messages_ja" */ './es6/ja-968816ba.es.js').then((m) => m.default);
2774
2805
  break;
2775
2806
  case "ko":
2776
2807
  localizedMessages = await import(
2777
- /* webpackChunkName: "messages_ko" */ './es6/ko-fdd52f9f.es.js').then((m) => m.default);
2808
+ /* webpackChunkName: "messages_ko" */ './es6/ko-647f0392.es.js').then((m) => m.default);
2778
2809
  break;
2779
2810
  case "lo":
2780
2811
  localizedMessages = await import(
2781
- /* webpackChunkName: "messages_lo" */ './es6/lo-35d1c157.es.js').then((m) => m.default);
2812
+ /* webpackChunkName: "messages_lo" */ './es6/lo-85e62f11.es.js').then((m) => m.default);
2782
2813
  break;
2783
2814
  case "lt":
2784
2815
  localizedMessages = await import(
2785
- /* webpackChunkName: "messages_lt" */ './es6/lt-661bd367.es.js').then((m) => m.default);
2816
+ /* webpackChunkName: "messages_lt" */ './es6/lt-8fbfeba3.es.js').then((m) => m.default);
2786
2817
  break;
2787
2818
  case "ms":
2788
2819
  localizedMessages = await import(
2789
- /* webpackChunkName: "messages_ms" */ './es6/ms-d15b844f.es.js').then((m) => m.default);
2820
+ /* webpackChunkName: "messages_ms" */ './es6/ms-00d9987c.es.js').then((m) => m.default);
2790
2821
  break;
2791
2822
  case "nl":
2792
2823
  localizedMessages = await import(
2793
- /* webpackChunkName: "messages_nl" */ './es6/nl-06292d84.es.js').then((m) => m.default);
2824
+ /* webpackChunkName: "messages_nl" */ './es6/nl-9cc1ac7d.es.js').then((m) => m.default);
2794
2825
  break;
2795
2826
  case "no":
2796
2827
  localizedMessages = await import(
2797
- /* webpackChunkName: "messages_no" */ './es6/no-5357d59b.es.js').then((m) => m.default);
2828
+ /* webpackChunkName: "messages_no" */ './es6/no-b77a5547.es.js').then((m) => m.default);
2798
2829
  break;
2799
2830
  case "pl":
2800
2831
  localizedMessages = await import(
2801
- /* webpackChunkName: "messages_pl" */ './es6/pl-7faa9204.es.js').then((m) => m.default);
2832
+ /* webpackChunkName: "messages_pl" */ './es6/pl-a3e8e224.es.js').then((m) => m.default);
2802
2833
  break;
2803
2834
  case "pt-BR":
2804
2835
  localizedMessages = await import(
2805
- /* webpackChunkName: "messages_pt-BR" */ './es6/pt-BR-d80f044a.es.js').then((m) => m.default);
2836
+ /* webpackChunkName: "messages_pt-BR" */ './es6/pt-BR-0bcf59cc.es.js').then((m) => m.default);
2806
2837
  break;
2807
2838
  case "pt":
2808
2839
  localizedMessages = await import(
2809
- /* webpackChunkName: "messages_pt" */ './es6/pt-8ff17f0d.es.js').then((m) => m.default);
2840
+ /* webpackChunkName: "messages_pt" */ './es6/pt-abf00cf3.es.js').then((m) => m.default);
2810
2841
  break;
2811
2842
  case "ru":
2812
2843
  localizedMessages = await import(
2813
- /* webpackChunkName: "messages_ru" */ './es6/ru-31708887.es.js').then((m) => m.default);
2844
+ /* webpackChunkName: "messages_ru" */ './es6/ru-85c381c9.es.js').then((m) => m.default);
2814
2845
  break;
2815
2846
  case "sk":
2816
2847
  localizedMessages = await import(
2817
- /* webpackChunkName: "messages_sk" */ './es6/sk-49eb81f5.es.js').then((m) => m.default);
2848
+ /* webpackChunkName: "messages_sk" */ './es6/sk-46225bc4.es.js').then((m) => m.default);
2818
2849
  break;
2819
2850
  case "sl":
2820
2851
  localizedMessages = await import(
2821
- /* webpackChunkName: "messages_sl" */ './es6/sl-bed73b06.es.js').then((m) => m.default);
2852
+ /* webpackChunkName: "messages_sl" */ './es6/sl-5cbd6630.es.js').then((m) => m.default);
2822
2853
  break;
2823
2854
  case "sr":
2824
2855
  localizedMessages = await import(
2825
- /* webpackChunkName: "messages_sr" */ './es6/sr-4d57ff97.es.js').then((m) => m.default);
2856
+ /* webpackChunkName: "messages_sr" */ './es6/sr-1f95f780.es.js').then((m) => m.default);
2826
2857
  break;
2827
2858
  case "sv":
2828
2859
  localizedMessages = await import(
2829
- /* webpackChunkName: "messages_sv" */ './es6/sv-4d2ca38b.es.js').then((m) => m.default);
2860
+ /* webpackChunkName: "messages_sv" */ './es6/sv-ae6fc750.es.js').then((m) => m.default);
2830
2861
  break;
2831
2862
  case "th":
2832
2863
  localizedMessages = await import(
2833
- /* webpackChunkName: "messages_th" */ './es6/th-b730cf5f.es.js').then((m) => m.default);
2864
+ /* webpackChunkName: "messages_th" */ './es6/th-2523e6ef.es.js').then((m) => m.default);
2834
2865
  break;
2835
2866
  case "tr":
2836
2867
  localizedMessages = await import(
2837
- /* webpackChunkName: "messages_tr" */ './es6/tr-888d9efb.es.js').then((m) => m.default);
2868
+ /* webpackChunkName: "messages_tr" */ './es6/tr-09b3bcea.es.js').then((m) => m.default);
2838
2869
  break;
2839
2870
  case "zh-HK":
2840
2871
  localizedMessages = await import(
2841
- /* webpackChunkName: "messages_zh-HK" */ './es6/zh-HK-f6240d59.es.js').then((m) => m.default);
2872
+ /* webpackChunkName: "messages_zh-HK" */ './es6/zh-HK-81171043.es.js').then((m) => m.default);
2842
2873
  break;
2843
2874
  case "zh":
2844
2875
  localizedMessages = await import(
2845
- /* webpackChunkName: "messages_zh" */ './es6/zh-35daaed2.es.js').then((m) => m.default);
2876
+ /* webpackChunkName: "messages_zh" */ './es6/zh-a7f7ad44.es.js').then((m) => m.default);
2846
2877
  break;
2847
2878
  default:
2848
2879
  logger.warn(`getMessagesModuleByLocale: Unable to load messages for ${locale}, falling back to en-US`);
@@ -3247,7 +3278,7 @@ const RequestOrganizationErrorComponent = ({ requestOrganizationService, }) => {
3247
3278
  React.createElement("img", { className: "sid-logo__img", alt: "Logo", src: logoUrl || requestOrganizationConstants.SHEERID_LOGO_URL })),
3248
3279
  React.createElement("div", { className: "sid-l-horz-center" },
3249
3280
  React.createElement("div", { className: "sid-logo sid-l-space-top-lg" },
3250
- React.createElement("img", { className: "sid-logo__icon", alt: "Error", src: "https://s3.amazonaws.com/com.sheerid.resources/common/images/requestOrganization/circle-exclamation.svg" })),
3281
+ React.createElement("img", { className: "sid-logo__icon", alt: "Error", src: "https://assets-resources.sheerid.com/common/images/requestOrganization/circle-exclamation.svg" })),
3251
3282
  React.createElement("div", { className: "sid-title" },
3252
3283
  React.createElement(FormattedHTMLMessage, { id: "step.error.title", defaultMessage: "An unexpected error occurred" })),
3253
3284
  React.createElement("div", { className: "sid-soft-font-color" },
@@ -3671,7 +3702,7 @@ const RequestOrganizationSuccessComponent = ({ requestOrganizationService, }) =>
3671
3702
  : requestOrganizationConstants.SHEERID_LOGO_URL })),
3672
3703
  React.createElement("div", { className: "sid-l-horz-center" },
3673
3704
  React.createElement("div", { className: "sid-logo sid-l-space-top-lg" },
3674
- React.createElement("img", { className: "sid-logo__icon", alt: "Success", src: "https://s3.amazonaws.com/com.sheerid.resources/common/images/requestOrganization/circle-check.svg" })),
3705
+ React.createElement("img", { className: "sid-logo__icon", alt: "Success", src: "https://assets-resources.sheerid.com/common/images/requestOrganization/circle-check.svg" })),
3675
3706
  React.createElement("div", { className: "sid-title" },
3676
3707
  React.createElement(FormattedHTMLMessage, { id: "step.success.title", defaultMessage: "Thank you for submitting your school request" })),
3677
3708
  React.createElement("div", { className: "sid-soft-font-color" },
@@ -4930,7 +4961,7 @@ const SearchFieldComponent = ({ name, label, value, placeholder, isErrored, onCh
4930
4961
  React.createElement("input", { className: `sid-text-input sid-text-input--required sid-field-search-input
4931
4962
  sid-l-full-width ${isErrored ? "sid-text-input--error" : ""}`, id: `sid-${name}`, name: `sid-${name}`, type: "text", value: value, onChange: (e) => onChange(e.target.value), onKeyDown: (e) => handleOnKeyDown(e), placeholder: placeholder }),
4932
4963
  React.createElement("div", { tabIndex: 0, onClick: () => search(), onKeyUp: () => search(), role: "button" },
4933
- React.createElement("img", { className: "sid-l-search-icon", src: "https://s3.amazonaws.com/com.sheerid.resources/common/images/requestOrganization/search.svg", alt: "Search" }))),
4964
+ React.createElement("img", { className: "sid-l-search-icon", src: "https://assets-resources.sheerid.com/common/images/requestOrganization/search.svg", alt: "Search" }))),
4934
4965
  isErrored ? (React.createElement("div", { className: "sid-field-error" },
4935
4966
  React.createElement("span", null,
4936
4967
  React.createElement(FormattedHTMLMessage, { id: `errorId.${isErrored}`, defaultMessage: "An unexpected error occurred" })))) : null));
@@ -10146,6 +10177,7 @@ const studentMessages = {
10146
10177
  const teacherMessages = {
10147
10178
  emailExplanation: "Must be your school-issued email address",
10148
10179
  schoolName: "School name",
10180
+ schoolNamePlaceholder: "School name*",
10149
10181
  step: {
10150
10182
  personalInfo: {
10151
10183
  title: "Unlock this Teaching Staff-Only Offer",
@@ -11554,18 +11586,27 @@ const stepToRequest = {
11554
11586
  sso: null,
11555
11587
  docUpload: null,
11556
11588
  };
11557
- async function submitFromVerificationStep(step, previousResponse, viewModel) {
11589
+ async function submitFromVerificationStep(step, previousResponse, viewModel, flag) {
11558
11590
  let response;
11559
11591
  const { docUpload, cancelSocialSecurityNumber, sso, cancelEmailLoop } = VerificationStepsEnum;
11560
11592
  try {
11561
11593
  if (step === docUpload) {
11562
11594
  const requestBody = viewModel;
11563
11595
  const { file1, file2, file3 } = requestBody;
11564
- response = await PostFiles(previousResponse.submissionUrl, [
11565
- file1,
11566
- file2,
11567
- file3,
11568
- ]);
11596
+ if (flag) {
11597
+ response = await PostFilesS3(previousResponse.submissionUrl, [
11598
+ file1,
11599
+ file2,
11600
+ file3,
11601
+ ]);
11602
+ }
11603
+ else {
11604
+ response = await PostFiles(previousResponse.submissionUrl, [
11605
+ file1,
11606
+ file2,
11607
+ file3,
11608
+ ]);
11609
+ }
11569
11610
  return response;
11570
11611
  }
11571
11612
  if (step === cancelSocialSecurityNumber || step === sso) {
@@ -11599,10 +11640,10 @@ function getUnrecoverableErrorStep() {
11599
11640
  };
11600
11641
  return response;
11601
11642
  }
11602
- async function submitStep(stepName, previousResponse, viewModel) {
11643
+ async function submitStep(stepName, previousResponse, viewModel, flag) {
11603
11644
  assertValidVerificationStepName(stepName);
11604
11645
  if (VerificationStepsEnum[stepName]) {
11605
- return submitFromVerificationStep(stepName, previousResponse, viewModel);
11646
+ return submitFromVerificationStep(stepName, previousResponse, viewModel, flag);
11606
11647
  }
11607
11648
  return Promise.reject(new Error(`Unknown step ${stepName}`));
11608
11649
  }
@@ -13733,13 +13774,13 @@ const createUpdateFieldValidationErrors = (dispatch) => async (fieldValidationEr
13733
13774
  * @description Action creator to submit a step to the backend REST API
13734
13775
  * @param dispatch
13735
13776
  */
13736
- const createSubmitStep = (dispatch) => async (stepName, viewModel, previousResponse) => {
13777
+ const createSubmitStep = (dispatch) => async (stepName, viewModel, previousResponse, flag) => {
13737
13778
  logger.log(`submitStep(): submitting stepName ${stepName}, viewModel:`, viewModel);
13738
13779
  scrollToWindowTop();
13739
13780
  await dispatch({ type: "IS_LOADING", isLoading: true, loadingStep: stepName });
13740
13781
  logger.info(`submitting step ${stepName}`, viewModel);
13741
13782
  setGaDimensionIsTest(viewModel);
13742
- const verificationResponse = await VerificationApiClient.submitStep(stepName, previousResponse, viewModel);
13783
+ const verificationResponse = await VerificationApiClient.submitStep(stepName, previousResponse, viewModel, flag);
13743
13784
  const newViewModel = handleSubmitResponse(verificationResponse, viewModel);
13744
13785
  const promiseVerificationResponse = dispatch({
13745
13786
  verificationResponse,
@@ -17366,7 +17407,7 @@ unwrapExports(lib$1);
17366
17407
  lib$1.withLDConsumer;
17367
17408
  lib$1.withLDProvider;
17368
17409
  lib$1.useLDClient;
17369
- lib$1.useFlags;
17410
+ var lib_4 = lib$1.useFlags;
17370
17411
  lib$1.camelCaseKeys;
17371
17412
  lib$1.asyncWithLDProvider;
17372
17413
  var lib_7 = lib$1.LDProvider;
@@ -18106,7 +18147,7 @@ const FormFooterComponent = ({ verificationService, children }) => {
18106
18147
  }, [privacyPolicyRef, locale]);
18107
18148
  return (React.createElement("div", { className: "sid-footer sid-h-small-text sid-l-space-top-md" },
18108
18149
  React.createElement("div", { className: "sid-footer__shield" },
18109
- React.createElement("img", { title: "Powered by SheerID", alt: "design element", src: "https://s3.amazonaws.com/com.sheerid.resources/common/images/2018/icons/shield-check.svg" })),
18150
+ React.createElement("img", { title: "Powered by SheerID", alt: "design element", src: "https://assets-resources.sheerid.com/common/images/2018/icons/shield-check.svg" })),
18110
18151
  React.createElement("div", null,
18111
18152
  React.createElement("div", { className: "sid-footer__one", ref: privacyPolicyRef }, children || (
18112
18153
  // The footer text block is collapsed until focused and as such is interactive.
@@ -18638,7 +18679,7 @@ const TeacherSchool = ({ value, isErrored, onChange, verificationService, intl,
18638
18679
  React.createElement(TypeaheadComponent, { className: isErrored ? "sid-text-input--error" : "", countryCode: country, onChange: (choice) => onChange(choice), minimumSearchValueLength: getOptions().minimumOrganizationSearchLength, placeholder: placeholder ||
18639
18680
  intl.formatMessage({
18640
18681
  id: "schoolNamePlaceholder",
18641
- defaultMessage: "University / College name*",
18682
+ defaultMessage: "School name*",
18642
18683
  }), programId: programId, value: value, inputHtmlId: id, openOrgSearchEnabled: verificationService.programTheme.openOrgSearchEnabled, orgSearchUrl: verificationService.programTheme.config.orgSearchUrl, orgSearchTags: searchTags, locale: locale, urlAddSchoolForm: urlAddSchoolForm, isRequired: true }),
18643
18684
  isErrored ? (React.createElement("div", { className: "sid-field-error" },
18644
18685
  React.createElement(FormattedHTMLMessage, { id: "errorId.invalidOrganization", defaultMessage: "You must select an organization from the list" }))) : null));
@@ -19263,11 +19304,12 @@ const FirstResponderStatusComponent = injectIntl(FirstResponderStatus);
19263
19304
 
19264
19305
  const FirstResponderOrganization = ({ onChange, value, isErrored, verificationService, intl, placeholder = "", }) => {
19265
19306
  const { programId } = verificationService;
19266
- return (React.createElement("div", { className: "sid-field sid-first-responder-organization-id" },
19307
+ const id = "sid-first-responder-organization";
19308
+ return (React.createElement("div", { className: `sid-field ${id}-id` },
19267
19309
  React.createElement("div", { className: "sid-l-space-top-md" }),
19268
- React.createElement(FieldLabel, { text: React.createElement(FormattedHTMLMessage, { id: "organization", defaultMessage: "Organization" }), htmlForLabel: "sid-first-responder-organization", id: "sid-first-responder-organization-label", displayClasses: placeholder && "sid-h-screen-reader-only" }),
19310
+ React.createElement(FieldLabel, { text: React.createElement(FormattedHTMLMessage, { id: "organization", defaultMessage: "Organization" }), htmlForLabel: id, id: `${id}-label`, displayClasses: placeholder && "sid-h-screen-reader-only" }),
19269
19311
  React.createElement(TypeaheadComponent, { className: isErrored ? "sid-text-input--error" : "", countryCode: getSafe(() => verificationService.viewModel.countryChoice.value), minimumSearchValueLength: getOptions().minimumOrganizationSearchLength, onChange: (choice) => onChange(choice), placeholder: placeholder ||
19270
- intl.formatMessage({ id: "organizationPlaceholder", defaultMessage: "Organization*" }), programId: programId, value: value, inputHtmlId: "sid-first-responder-organization", openOrgSearchEnabled: verificationService.programTheme.openOrgSearchEnabled, orgSearchUrl: verificationService.programTheme.config.orgSearchUrl }),
19312
+ intl.formatMessage({ id: "organizationPlaceholder", defaultMessage: "Organization*" }), programId: programId, value: value, inputHtmlId: id, openOrgSearchEnabled: verificationService.programTheme.openOrgSearchEnabled, orgSearchUrl: verificationService.programTheme.config.orgSearchUrl }),
19271
19313
  isErrored ? (React.createElement("div", { className: "sid-field-error" },
19272
19314
  React.createElement(FormattedHTMLMessage, { id: "errorId.invalidOrganization", defaultMessage: "You must select an organization from the list" }))) : null));
19273
19315
  };
@@ -20303,7 +20345,7 @@ const StepError = ({ verificationService, errorId }) => {
20303
20345
  }
20304
20346
  return (React.createElement("div", { id: "sid-step-error", className: "sid-l-container" },
20305
20347
  React.createElement("div", { className: "sid-header sid-l-horz-center" },
20306
- React.createElement("div", { className: logoContainerClass }, hasLogo ? (React.createElement(LogoComponent, { verificationService: verificationService })) : (React.createElement("img", { className: "sid-l-lead-image", alt: "design element", src: "https://s3.amazonaws.com/com.sheerid.resources/common/images/2018/icons/circle-exclamation.svg" }))),
20348
+ React.createElement("div", { className: logoContainerClass }, hasLogo ? (React.createElement(LogoComponent, { verificationService: verificationService })) : (React.createElement("img", { className: "sid-l-lead-image", alt: "design element", src: "https://assets-resources.sheerid.com/common/images/2018/icons/circle-exclamation.svg" }))),
20307
20349
  React.createElement("div", { className: "sid-header__title sid-l-horz-center sid-l-space-top-md" },
20308
20350
  React.createElement(FormattedHTMLMessage, Object.assign({}, errorTitle))),
20309
20351
  React.createElement("div", { className: "sid-header__subtitle sid-l-horz-center sid-l-space-top-md" },
@@ -20361,7 +20403,7 @@ const StepSSOComponent = ({ verificationService }) => {
20361
20403
  }
20362
20404
  return (React.createElement("div", { id: "sid-step-sso", className: "sid-l-container" },
20363
20405
  viewModel.isSSOActive ? (React.createElement("div", { className: "sid-header sid-l-horz-center" },
20364
- React.createElement("div", { className: "sid-l-horz-center" }, hasLogo ? (React.createElement(LogoComponent, { verificationService: verificationService })) : (React.createElement("img", { className: "sid-l-lead-image", alt: "design element", src: "https://s3.amazonaws.com/com.sheerid.resources/common/images/2018/icons/doc-pending.svg" }))),
20406
+ React.createElement("div", { className: "sid-l-horz-center" }, hasLogo ? (React.createElement(LogoComponent, { verificationService: verificationService })) : (React.createElement("img", { className: "sid-l-lead-image", alt: "design element", src: "https://assets-resources.sheerid.com/common/images/2018/icons/doc-pending.svg" }))),
20365
20407
  React.createElement("div", { className: "sid-header__title sid-l-horz-center sid-l-space-top-md" },
20366
20408
  React.createElement(FormattedHTMLMessage, { id: "step.sso.title", defaultMessage: "Verify using your school credentials" })),
20367
20409
  React.createElement("div", { className: "sid-header__subtitle-one" },
@@ -20373,7 +20415,7 @@ const StepSSOComponent = ({ verificationService }) => {
20373
20415
  React.createElement("button", { onClick: cancelSSOStep, type: "submit", className: "sid-btn sid-btn--dark sid-l-full-width", "aria-label": "submit" },
20374
20416
  React.createElement(FormattedHTMLMessage, { id: "step.sso.cancel", defaultMessage: "Upload Proof of Enrollment" })))),
20375
20417
  React.createElement("div", { className: "sid-l-space-top-xl" }))) : (React.createElement("div", { className: "sid-header sid-l-horz-center" },
20376
- React.createElement("div", { className: "sid-l-horz-center" }, hasLogo ? (React.createElement(LogoComponent, { verificationService: verificationService })) : (React.createElement("img", { className: "sid-l-lead-image", alt: "design element", src: "https://s3.amazonaws.com/com.sheerid.resources/common/images/2018/icons/sso-step.svg" }))),
20418
+ React.createElement("div", { className: "sid-l-horz-center" }, hasLogo ? (React.createElement(LogoComponent, { verificationService: verificationService })) : (React.createElement("img", { className: "sid-l-lead-image", alt: "design element", src: "https://assets-resources.sheerid.com/common/images/2018/icons/sso-step.svg" }))),
20377
20419
  React.createElement("div", { className: "sid-header__title sid-l-horz-center sid-l-space-top-md" },
20378
20420
  React.createElement(FormattedHTMLMessage, { id: "step.sso.title", defaultMessage: "Verify using your school credentials" })),
20379
20421
  React.createElement("div", { className: "sid-header__subtitle-one" },
@@ -20399,7 +20441,7 @@ const StepSuccess = ({ verificationService }) => {
20399
20441
  const noCodeType = verificationService.programTheme.config.offerType === "noCode";
20400
20442
  return (React.createElement("div", { id: "sid-step-success", className: "sid-l-container" },
20401
20443
  React.createElement("div", { className: "sid-header sid-l-horz-center sid-l-space-top-md" },
20402
- React.createElement("div", { className: "sid-l-horz-center" }, hasLogo ? (React.createElement(LogoComponent, { verificationService: verificationService })) : (React.createElement("img", { className: "sid-l-lead-image", alt: "", src: "https://s3.amazonaws.com/com.sheerid.resources/common/images/2018/icons/circle-check.svg" }))),
20444
+ React.createElement("div", { className: "sid-l-horz-center" }, hasLogo ? (React.createElement(LogoComponent, { verificationService: verificationService })) : (React.createElement("img", { className: "sid-l-lead-image", alt: "", src: "https://assets-resources.sheerid.com/common/images/2018/icons/circle-check.svg" }))),
20403
20445
  React.createElement("div", { className: "sid-header__title sid-l-horz-center sid-l-space-top-md", role: "alert", "aria-live": "polite" },
20404
20446
  React.createElement(FormattedHTMLMessage, { id: "step.success.title", defaultMessage: "Success! You've been verified." })),
20405
20447
  React.createElement("div", { className: "sid-header__subtitle sid-l-horz-center sid-l-two-thirds-width" },
@@ -20548,7 +20590,7 @@ const StepPending = ({ verificationService, intl }) => {
20548
20590
  return false;
20549
20591
  };
20550
20592
  const [showCountDown, setShowCountDown] = React.useState(calculateShowCountdown(isPreviousStepSSO(), isMockingPreviousStepSSO, isMockingPreviousStepDocUpload));
20551
- const getLogo = () => hasLogo ? (React.createElement(LogoComponent, { verificationService: verificationService })) : (React.createElement("img", { className: "sid-l-lead-image", alt: "design element", src: "https://s3.amazonaws.com/com.sheerid.resources/common/images/2018/icons/doc-pending.svg" }));
20593
+ const getLogo = () => hasLogo ? (React.createElement(LogoComponent, { verificationService: verificationService })) : (React.createElement("img", { className: "sid-l-lead-image", alt: "design element", src: "https://assets-resources.sheerid.com/common/images/2018/icons/doc-pending.svg" }));
20552
20594
  const pollTime = isPreviousStepSSO()
20553
20595
  ? SSO_POLL_DURATION
20554
20596
  : showCountDown
@@ -20697,7 +20739,7 @@ const StepEmailLoop = ({ intl, verificationService }) => {
20697
20739
  const previousVerificationResponse = verificationService.previousVerificationResponse || undefined;
20698
20740
  const [resendMessage, setResendMessage] = React.useState("");
20699
20741
  const hasLogo = !!getLogoUrl(verificationService.programTheme);
20700
- const logo = hasLogo ? (React.createElement(LogoComponent, { verificationService: verificationService })) : (React.createElement("img", { className: "sid-l-lead-image", alt: "design element", src: "https://s3.amazonaws.com/com.sheerid.resources/common/images/2018/icons/doc-pending.svg" }));
20742
+ const logo = hasLogo ? (React.createElement(LogoComponent, { verificationService: verificationService })) : (React.createElement("img", { className: "sid-l-lead-image", alt: "design element", src: "https://assets-resources.sheerid.com/common/images/2018/icons/doc-pending.svg" }));
20701
20743
  const email = getSafe(() => previousViewModel.email);
20702
20744
  const submitForm = () => {
20703
20745
  logger.info("StepEmailLoopComponent submitting form");
@@ -22390,6 +22432,11 @@ const UploadInfoComponent = ({ verificationService }) => {
22390
22432
  }
22391
22433
  };
22392
22434
 
22435
+ const useFlag = (name) => {
22436
+ const flags = lib_4();
22437
+ return flags[name];
22438
+ };
22439
+
22393
22440
  const StepDocUpload = ({ verificationService, intl }) => {
22394
22441
  const verificationResponse = verificationService.verificationResponse;
22395
22442
  const { rejectionReasons } = verificationResponse;
@@ -22449,9 +22496,11 @@ const StepDocUpload = ({ verificationService, intl }) => {
22449
22496
  verificationService.updateFieldValidationErrors(nextFieldValidationErrors);
22450
22497
  addFilesAndUpdate(acceptedFiles, erroredFilenames);
22451
22498
  };
22499
+ // HD-4214
22500
+ const directToS3DocUploadFlag = useFlag("directToS3DocUpload");
22452
22501
  const submitForm = () => {
22453
22502
  logger.info("StepDocUploadComponent submitting form");
22454
- verificationService.submitStep(VerificationStepsEnum.docUpload, viewModel, verificationService.verificationResponse);
22503
+ verificationService.submitStep(VerificationStepsEnum.docUpload, viewModel, verificationService.verificationResponse, directToS3DocUploadFlag);
22455
22504
  };
22456
22505
  const onFileDrop = (draggedFiles) => {
22457
22506
  if (draggedFiles.length > 0) {
@@ -22479,7 +22528,7 @@ const StepDocUpload = ({ verificationService, intl }) => {
22479
22528
  : null)) : null;
22480
22529
  return (React.createElement("div", { id: "sid-step-doc-upload", className: "sid-l-container" },
22481
22530
  React.createElement("div", { className: "sid-header sid-l-horz-center sid-l-space-top-md" },
22482
- React.createElement("div", { className: "sid-l-horz-center" }, hasLogo ? (React.createElement(LogoComponent, { verificationService: verificationService })) : (React.createElement("img", { className: "sid-l-lead-image", alt: "design element", src: "https://s3.amazonaws.com/com.sheerid.resources/common/images/2018/icons/doc-upload2.svg" }))),
22531
+ React.createElement("div", { className: "sid-l-horz-center" }, hasLogo ? (React.createElement(LogoComponent, { verificationService: verificationService })) : (React.createElement("img", { className: "sid-l-lead-image", alt: "design element", src: "https://assets-resources.sheerid.com/common/images/2018/icons/doc-upload2.svg" }))),
22483
22532
  React.createElement("div", { className: "sid-header__title sid-l-horz-center sid-l-space-top-md" },
22484
22533
  React.createElement(FormattedHTMLMessage, { id: "step.docUpload.title", defaultMessage: "We need more information" })),
22485
22534
  React.createElement(RewardsRemainingComponent, { verificationService: verificationService }),
@@ -22512,7 +22561,7 @@ const StepDocUpload = ({ verificationService, intl }) => {
22512
22561
  React.createElement("div", { className: "sid-upload-wrap sid-l-space-top-sm" }, currentFileNames.length > 0 ? (React.createElement("div", { className: "sid-file-list sid-l-space-top-md" },
22513
22562
  currentFileNames.map((file, arrayIndex) => (React.createElement("div", { className: "sid-file-list__file", key: file.name },
22514
22563
  file.url ? (React.createElement("img", { className: "sid-file-list__thumbnail", src: file.url, alt: "File thumbnail" })) : (React.createElement("div", { className: "sid-file-list__no-thumbnail" },
22515
- React.createElement("img", { alt: "File thumbnail", src: "https://s3.amazonaws.com/com.sheerid.resources/common/images/2018/icons/default-image.svg" }))),
22564
+ React.createElement("img", { alt: "File thumbnail", src: "https://assets-resources.sheerid.com/common/images/2018/icons/default-image.svg" }))),
22516
22565
  React.createElement("div", { className: "sid-file-list__name" }, file.name),
22517
22566
  React.createElement("div", { role: "button", tabIndex: 0, "aria-label": `Remove file ${file.name}`, className: "sid-file-list__remove-btn", onClick: () => removeFileAndUpdate(arrayIndex), onKeyPress: () => removeFileAndUpdate(arrayIndex) })))),
22518
22567
  conditionalErrorMsg,
@@ -22521,7 +22570,7 @@ const StepDocUpload = ({ verificationService, intl }) => {
22521
22570
  // eslint-disable-next-line jsx-a11y/no-noninteractive-element-to-interactive-role
22522
22571
  role: "button", tabIndex: 0, onKeyDown: (e) => handleAddFileOnKeyDown(e) },
22523
22572
  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) }),
22524
- React.createElement("img", { className: "sid-add-more-files__image", alt: "add more files", src: "https://s3.amazonaws.com/com.sheerid.resources/common/images/2018/icons/add-file.svg" }),
22573
+ 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" }),
22525
22574
  React.createElement(FormattedMessage, { id: "step.docUpload.addFile", defaultMessage: "Add file" })))) : null,
22526
22575
  React.createElement("div", { className: "sid-submit sid-l-space-top-md" },
22527
22576
  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({
@@ -22986,6 +23035,7 @@ class Modal {
22986
23035
  createCloseBtn() {
22987
23036
  this.closeButton = document.createElement("button");
22988
23037
  this.closeButton.classList.add(iframeConstants.CLASS_NAMES.CLOSE_BUTTON);
23038
+ this.closeButton.setAttribute("aria-label", "close");
22989
23039
  if (this.closeButtonText) {
22990
23040
  const closeTxt = document.createElement("div");
22991
23041
  closeTxt.classList.add(iframeConstants.CLASS_NAMES.CLOSE_TEXT);