@sheerid/jslib 1.150.0 → 1.152.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 (57) hide show
  1. package/es5/Tmetrix.bundle.js +4 -4
  2. package/es5/messages_ar.bundle.js +4 -4
  3. package/es5/messages_bg.bundle.js +4 -4
  4. package/es5/messages_cs.bundle.js +4 -4
  5. package/es5/messages_da.bundle.js +4 -4
  6. package/es5/messages_de.bundle.js +4 -4
  7. package/es5/messages_el.bundle.js +4 -4
  8. package/es5/messages_en-GB.bundle.js +4 -4
  9. package/es5/messages_es-ES.bundle.js +4 -4
  10. package/es5/messages_es.bundle.js +4 -4
  11. package/es5/messages_fi.bundle.js +4 -4
  12. package/es5/messages_fr-CA.bundle.js +4 -4
  13. package/es5/messages_fr.bundle.js +4 -4
  14. package/es5/messages_ga.bundle.js +4 -4
  15. package/es5/messages_hr.bundle.js +4 -4
  16. package/es5/messages_hu.bundle.js +4 -4
  17. package/es5/messages_id.bundle.js +4 -4
  18. package/es5/messages_it.bundle.js +4 -4
  19. package/es5/messages_iw.bundle.js +4 -4
  20. package/es5/messages_ja.bundle.js +4 -4
  21. package/es5/messages_ko.bundle.js +4 -4
  22. package/es5/messages_lo.bundle.js +4 -4
  23. package/es5/messages_lt.bundle.js +4 -4
  24. package/es5/messages_ms.bundle.js +4 -4
  25. package/es5/messages_nl.bundle.js +4 -4
  26. package/es5/messages_no.bundle.js +4 -4
  27. package/es5/messages_pl.bundle.js +4 -4
  28. package/es5/messages_pt-BR.bundle.js +4 -4
  29. package/es5/messages_pt.bundle.js +4 -4
  30. package/es5/messages_ru.bundle.js +4 -4
  31. package/es5/messages_sk.bundle.js +4 -4
  32. package/es5/messages_sl.bundle.js +4 -4
  33. package/es5/messages_sr.bundle.js +4 -4
  34. package/es5/messages_sv.bundle.js +4 -4
  35. package/es5/messages_th.bundle.js +4 -4
  36. package/es5/messages_tr.bundle.js +4 -4
  37. package/es5/messages_zh-HK.bundle.js +4 -4
  38. package/es5/messages_zh.bundle.js +4 -4
  39. package/manifest.json +43 -43
  40. package/package.json +1 -1
  41. package/sheerid-requestOrg.css +4 -4
  42. package/sheerid-requestOrg.js +4 -4
  43. package/sheerid-requestOrg.js.map +1 -1
  44. package/sheerid-utils.js +4 -4
  45. package/sheerid-utils.js.map +1 -1
  46. package/sheerid.css +4 -4
  47. package/sheerid.js +6 -6
  48. package/sheerid.js.map +1 -1
  49. package/sheerides6.js +56 -13
  50. package/sheerides6.js.map +1 -1
  51. package/src/components/StepMilitaryPersonalInfo/militaryStepHelpers.d.ts +0 -5
  52. package/src/es6.d.ts +2 -2
  53. package/src/lib/frames/frameMessages.d.ts +7 -2
  54. package/src/lib/installScript/iframe.d.ts +2 -1
  55. package/src/lib/installScript/modal.d.ts +2 -1
  56. package/src/lib/utils/stepComponentHelpers/stepComponentHelpers.d.ts +5 -0
  57. package/types-reference.zip +0 -0
package/sheerides6.js CHANGED
@@ -5028,6 +5028,11 @@ const getStatusLabel = (intl, status, defaultMessages) => {
5028
5028
  }
5029
5029
  return intl.formatHTMLMessage({ id: status, defaultMessage: defaultMessages[status] });
5030
5030
  };
5031
+ const orgToOption = (org) => ({
5032
+ value: org.id,
5033
+ label: org.name,
5034
+ country: org.country,
5035
+ });
5031
5036
  // The jslib should not be the owner of this mapping,
5032
5037
  // DATA-3164 exists to find another way.
5033
5038
  const countryStatusAllowList = new Map([
@@ -14348,7 +14353,7 @@ const createFetchVerificationRequest = async ({ dispatch, verificationResponsePr
14348
14353
  const messagesPromise = getMessages(locale, themeMessages, verificationResponse.segment);
14349
14354
  const nextSegment = verificationResponse.segment;
14350
14355
  let orgList = null;
14351
- if (nextSegment === SegmentEnum.MILITARY) {
14356
+ if (nextSegment === SegmentEnum.MILITARY || nextSegment === SegmentEnum.LOW_INCOME) {
14352
14357
  const orgListPromise = fetchProgramOrganizations(programTheme.config.orgSearchUrl, "");
14353
14358
  orgList = await orgListPromise;
14354
14359
  logger.info("orgList received: ", orgList);
@@ -18221,11 +18226,6 @@ const orgsInStatus = (status) => (org) => {
18221
18226
  }
18222
18227
  return !!org.name;
18223
18228
  };
18224
- const orgToOption = (org) => ({
18225
- value: org.id,
18226
- label: org.name,
18227
- country: org.country,
18228
- });
18229
18229
  const updateMilitaryViewModel = (key, value, verificationService, availableStatuses) => {
18230
18230
  const viewModel = verificationService.viewModel;
18231
18231
  const nextState = fn(viewModel, (draft) => {
@@ -19399,15 +19399,39 @@ const StepMoverPersonalInfo = ({ verificationService }) => {
19399
19399
  const StepMoverPersonalInfoComponent = injectIntl(StepMoverPersonalInfo);
19400
19400
 
19401
19401
  const LowIncomeOrganization = ({ value, isErrored, onChange, verificationService, intl, placeholder = "", isRequired = false, }) => {
19402
- const { programId } = verificationService;
19402
+ const { viewModel, orgList } = verificationService;
19403
+ const { countryChoice } = viewModel;
19404
+ let options = [];
19405
+ const inputId = "sid-low-income";
19406
+ if (orgList) {
19407
+ let newOrganizations = orgList;
19408
+ if (countryChoice) {
19409
+ newOrganizations = orgList.filter((org) => org.country === countryChoice.value);
19410
+ }
19411
+ options = newOrganizations.map(orgToOption);
19412
+ }
19413
+ const handleStateChange = (selectedOrgOption, onChange) => {
19414
+ if (selectedOrgOption) {
19415
+ onChange({
19416
+ id: selectedOrgOption.value,
19417
+ name: selectedOrgOption.label,
19418
+ });
19419
+ }
19420
+ else {
19421
+ onChange({
19422
+ id: 0,
19423
+ name: "",
19424
+ });
19425
+ }
19426
+ };
19403
19427
  return (React.createElement("div", { className: "sid-field sid-low-income-id" },
19404
19428
  React.createElement("div", { className: "sid-l-space-top-md" }),
19405
19429
  React.createElement(FieldLabel, { text: React.createElement(FormattedHTMLMessage, { id: "lowIncomeOrganization", defaultMessage: "Government Assistance Program" }), htmlForLabel: "sid-low-income", id: "sid-low-income-label", displayClasses: placeholder && "sid-h-screen-reader-only", isRequired: isRequired }),
19406
- React.createElement(TypeaheadComponent, { className: isErrored ? "sid-text-input--error" : "", countryCode: getSafe(() => verificationService.viewModel.countryChoice.value), onChange: (choice) => onChange(choice), minimumSearchValueLength: getOptions().minimumOrganizationSearchLength, placeholder: placeholder ||
19430
+ React.createElement(InputSelectComponent, { fieldId: "organization", inputId: inputId, fieldLabelId: `${inputId}-label`, isErrored: isErrored, options: SortByLabel(options), onChange: (organization) => handleStateChange(organization, onChange), value: options.find((option) => option.value === (value && value.value)), placeholder: placeholder ||
19407
19431
  intl.formatHTMLMessage({
19408
19432
  id: "lowIncomeOrganizationPlaceholder",
19409
19433
  defaultMessage: "Government Assistance Program",
19410
- }), programId: programId, value: value, inputHtmlId: "sid-low-income", openOrgSearchEnabled: verificationService.programTheme.openOrgSearchEnabled, orgSearchUrl: verificationService.programTheme.config.orgSearchUrl }),
19434
+ }), isRequired: isRequired }),
19411
19435
  isErrored ? (React.createElement("div", { className: "sid-field-error" },
19412
19436
  React.createElement(FormattedHTMLMessage, { id: "errorId.invalidOrganization", defaultMessage: "You must select an organization from the list" }))) : null));
19413
19437
  };
@@ -19494,7 +19518,7 @@ const StepLowIncomePersonalInfo = ({ intl, verificationService, }) => {
19494
19518
  selectedStatus === "OTHER_GOVERNMENT_ASSISTANCE" && (React.createElement(LowIncomeOrganizationComponent, { isErrored: !!fieldValidationErrors.organization, onChange: (choice) => {
19495
19519
  updateViewModelOrganization(choice, verificationService);
19496
19520
  updateFieldValidationErrorsByFieldId("organization", choice, verificationService);
19497
- }, value: verificationService.viewModel.organization, verificationService: verificationService, isRequired: true })),
19521
+ }, value: orgToOption(verificationService.viewModel.organization), verificationService: verificationService, isRequired: true })),
19498
19522
  React.createElement("div", { className: "sid-names" },
19499
19523
  React.createElement(FirstNameComponent, { value: viewModel.firstName, isErrored: !!fieldValidationErrors.firstName, onChange: (newValue) => {
19500
19524
  updateLowIncomeViewModel("firstName", newValue);
@@ -22290,8 +22314,13 @@ class NewVerification extends React.Component {
22290
22314
  N(); // https://sheerid.atlassian.net/browse/UX-362
22291
22315
  maintainFocusInLightbox();
22292
22316
  listenToInstallPage((event) => {
22293
- if (event.data.action === "setViewModel") {
22294
- setViewModel(event.data.viewModel);
22317
+ switch (event.data.action) {
22318
+ case "setViewModel":
22319
+ setViewModel(event.data.viewModel);
22320
+ break;
22321
+ case "setOptions":
22322
+ setOptions(event.data.options);
22323
+ break;
22295
22324
  }
22296
22325
  });
22297
22326
  // Special-case, mocking the loading psuedo-step
@@ -22538,7 +22567,18 @@ class Iframe {
22538
22567
  action: "setViewModel",
22539
22568
  viewModel,
22540
22569
  };
22541
- this.addOnLoadEvent(() => this.iframe.contentWindow.postMessage(message, this.verificationUrl.origin));
22570
+ this.addOnLoadEvent(() => {
22571
+ this.iframe.contentWindow.postMessage(message, this.verificationUrl.origin);
22572
+ });
22573
+ }
22574
+ setOptions(options) {
22575
+ const message = {
22576
+ action: "setOptions",
22577
+ options,
22578
+ };
22579
+ this.addOnLoadEvent(() => {
22580
+ this.iframe.contentWindow.postMessage(message, this.verificationUrl.origin);
22581
+ });
22542
22582
  }
22543
22583
  setInstallType(installType) {
22544
22584
  this.installType = installType;
@@ -22659,6 +22699,9 @@ class Modal {
22659
22699
  setViewModel(viewModel) {
22660
22700
  this.iframeInstance.setViewModel(viewModel);
22661
22701
  }
22702
+ setOptions(options) {
22703
+ this.iframeInstance.setOptions(options);
22704
+ }
22662
22705
  }
22663
22706
 
22664
22707
  // 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