@sheerid/jslib 1.105.0 → 1.106.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 (54) hide show
  1. package/es5/Tmetrix.bundle.js +5 -5
  2. package/es5/messages_ar.bundle.js +5 -5
  3. package/es5/messages_bg.bundle.js +5 -5
  4. package/es5/messages_cs.bundle.js +5 -5
  5. package/es5/messages_da.bundle.js +5 -5
  6. package/es5/messages_de.bundle.js +5 -5
  7. package/es5/messages_el.bundle.js +5 -5
  8. package/es5/messages_en-GB.bundle.js +5 -5
  9. package/es5/messages_es-ES.bundle.js +5 -5
  10. package/es5/messages_es.bundle.js +5 -5
  11. package/es5/messages_fi.bundle.js +5 -5
  12. package/es5/messages_fr-CA.bundle.js +5 -5
  13. package/es5/messages_fr.bundle.js +5 -5
  14. package/es5/messages_ga.bundle.js +5 -5
  15. package/es5/messages_hr.bundle.js +5 -5
  16. package/es5/messages_hu.bundle.js +5 -5
  17. package/es5/messages_id.bundle.js +5 -5
  18. package/es5/messages_it.bundle.js +5 -5
  19. package/es5/messages_iw.bundle.js +5 -5
  20. package/es5/messages_ja.bundle.js +5 -5
  21. package/es5/messages_ko.bundle.js +5 -5
  22. package/es5/messages_lo.bundle.js +5 -5
  23. package/es5/messages_lt.bundle.js +5 -5
  24. package/es5/messages_ms.bundle.js +5 -5
  25. package/es5/messages_nl.bundle.js +5 -5
  26. package/es5/messages_no.bundle.js +5 -5
  27. package/es5/messages_pl.bundle.js +5 -5
  28. package/es5/messages_pt-BR.bundle.js +5 -5
  29. package/es5/messages_pt.bundle.js +5 -5
  30. package/es5/messages_ru.bundle.js +5 -5
  31. package/es5/messages_sk.bundle.js +5 -5
  32. package/es5/messages_sl.bundle.js +5 -5
  33. package/es5/messages_sr.bundle.js +5 -5
  34. package/es5/messages_sv.bundle.js +5 -5
  35. package/es5/messages_th.bundle.js +5 -5
  36. package/es5/messages_tr.bundle.js +5 -5
  37. package/es5/messages_zh-HK.bundle.js +5 -5
  38. package/es5/messages_zh.bundle.js +5 -5
  39. package/manifest.json +46 -46
  40. package/package.json +1 -1
  41. package/sheerid-requestOrg.css +4 -4
  42. package/sheerid-requestOrg.js +10 -10
  43. package/sheerid-requestOrg.js.map +1 -1
  44. package/sheerid-utils.js +7 -7
  45. package/sheerid-utils.js.map +1 -1
  46. package/sheerid.css +4 -4
  47. package/sheerid.js +11 -11
  48. package/sheerid.js.map +1 -1
  49. package/sheerides6.js +55 -56
  50. package/sheerides6.js.map +1 -1
  51. package/src/components/FieldLabel.d.ts +1 -1
  52. package/src/components/FormFields/SSN/SSN.d.ts +8 -3
  53. package/src/lib/types/types.d.ts +1 -0
  54. package/types-reference.zip +0 -0
package/sheerides6.js CHANGED
@@ -11566,6 +11566,7 @@ const inactiveMilitaryViewModelToRequest = (viewModel) => ({
11566
11566
  locale: viewModel.localeChoice.value,
11567
11567
  country: viewModel.countryChoice ? viewModel.countryChoice.value : undefined,
11568
11568
  metadata: viewModel.metadata,
11569
+ socialSecurityNumber: viewModel.socialSecurityNumber,
11569
11570
  });
11570
11571
  const firstResponderViewModelToRequest = (viewModel) => {
11571
11572
  const request = {
@@ -18295,7 +18296,7 @@ const FaqLinkComponent = ({ verificationService, linkText }) => {
18295
18296
  };
18296
18297
 
18297
18298
  const FormFooterComponent = ({ verificationService, children }) => {
18298
- const { viewModel, updateViewModel } = verificationService;
18299
+ const { viewModel } = verificationService;
18299
18300
  const countryChoice = getSafe(() => viewModel.countryChoice.value, undefined);
18300
18301
  const locale = getLocaleSafely(viewModel);
18301
18302
  const privacyPolicyRef = React.useRef({});
@@ -18306,13 +18307,8 @@ const FormFooterComponent = ({ verificationService, children }) => {
18306
18307
  return;
18307
18308
  }
18308
18309
  const privacyPolicyText = privacyPolicyRef.current.innerHTML.replace(cleanupCommonTags, "");
18309
- const updatedViewModel = fn(viewModel, (draft) => {
18310
- if (!draft.metadata) {
18311
- draft.metadata = {};
18312
- }
18313
- draft.metadata.submissionOptIn = privacyPolicyText;
18314
- });
18315
- updateViewModel(updatedViewModel);
18310
+ const updatedViewModel = { metadata: { submissionOptIn: privacyPolicyText } };
18311
+ setViewModel(updatedViewModel, { partial: true });
18316
18312
  }, [privacyPolicyRef, locale]);
18317
18313
  return (React.createElement("div", { className: "sid-footer sid-h-small-text sid-l-space-top-md" },
18318
18314
  !children && (React.createElement("div", { className: "sid-footer__shield" },
@@ -18450,10 +18446,11 @@ const BaseCountryComponentWrapper = ({ verificationService, viewModel, intl, vie
18450
18446
  }
18451
18447
  }, [firstRender]);
18452
18448
  React.useEffect(() => {
18453
- if (!hasMultipleCountries) {
18449
+ const includesUS = countryChoices.some((choice) => choice.value === "US");
18450
+ if (!hasMultipleCountries && !includesUS) {
18454
18451
  const fieldsToSkip = viewModel.fieldsToSkipValidation
18455
18452
  ? [...viewModel.fieldsToSkipValidation, "country"]
18456
- : ["country"];
18453
+ : ["country", "address1", "postalCode", "state", "city"];
18457
18454
  verificationService.updateViewModel(produceDraftViewModel(viewModel, "fieldsToSkipValidation", fieldsToSkip));
18458
18455
  }
18459
18456
  }, [hasMultipleCountries]);
@@ -19388,6 +19385,50 @@ DischargeDate.defaultProps = {
19388
19385
  };
19389
19386
  const DischargeDateComponent = injectIntl(DischargeDate);
19390
19387
 
19388
+ /**
19389
+ * Insert `newPart` into a string
19390
+ * Use:
19391
+ * "Hi !".insertAt(3, "world"); // "Hi world!"
19392
+ */
19393
+ String.prototype.insertAt = function (index, newPart) {
19394
+ if (index > this.length) {
19395
+ return this;
19396
+ }
19397
+ return `${this.slice(0, index)}${newPart}${this.slice(index)}`;
19398
+ };
19399
+
19400
+ const displaySSN = (value) => {
19401
+ let stringValue;
19402
+ try {
19403
+ stringValue = value.toString();
19404
+ if (!stringValue)
19405
+ throw new Error();
19406
+ }
19407
+ catch (e) {
19408
+ return "";
19409
+ }
19410
+ return stringValue
19411
+ .replace(/[^\d]/g, "") // replce non-digit chars
19412
+ .insertAt(3, "-") // for display
19413
+ .insertAt(6, "-")
19414
+ .replace("--", "") // just in case
19415
+ .replace(/-$/, ""); // don't add trailing hyphen, breaks backspace
19416
+ };
19417
+ // The viewModel and API don't include hyphens. Also enforces max length, prior to setting viewModel, avoiding off-by-one error.
19418
+ const unDisplaySSN = (value) => value.replace(/-/g, "").slice(0, SSN_STRING_LENGTH);
19419
+
19420
+ const SocialSecurity = ({ value, isErrored, onChange, intl, explanation, placeholder = "", isRequired = false, label, }) => {
19421
+ const getDefaultExplanation = () => (!isRequired ? explanation : "");
19422
+ return (React.createElement("div", { className: "sid-field sid-ssn" },
19423
+ React.createElement("div", { className: "sid-l-space-top-md" }),
19424
+ React.createElement(FieldLabel, { text: label, htmlForLabel: "sid-ssn", id: "sid-ssn-label", displayClasses: "sid-field__label-with-explanation", isRequired: isRequired }, getDefaultExplanation()),
19425
+ React.createElement(InputTextComponent, { id: "ssn", refId: FieldIdEnum.socialSecurityNumber, className: "sid-ssn__input", isErrored: isErrored, required: true, placeholder: placeholder ||
19426
+ intl.formatHTMLMessage({ id: "ssnPlaceholder", defaultMessage: "000-00-0000" }), value: displaySSN(value), hidePlaceholder: false, onChange: (e) => onChange(unDisplaySSN(e.target.value)), "aria-labelledby": "sid-ssn-label" }),
19427
+ isErrored ? (React.createElement("div", { className: "sid-field-error" },
19428
+ React.createElement(FormattedHTMLMessage, { id: "errorId.invalidSocialSecurityNumber", defaultMessage: "Invalid SSN" }))) : null));
19429
+ };
19430
+ const SocialSecurityNumber = injectIntl(SocialSecurity);
19431
+
19391
19432
  /**
19392
19433
  * TODO - preamble
19393
19434
  */
@@ -19474,6 +19515,10 @@ const StepInactiveMilitaryPersonalInfo = ({ intl, verificationService, }) => {
19474
19515
  updateInactiveMilitaryViewModel("phoneNumber", newValue);
19475
19516
  updateFieldValidationErrorsByFieldId("phoneNumber", newValue, verificationService);
19476
19517
  }, selectedCountryCode: viewModel.countryChoice && viewModel.countryChoice.value })) : null,
19518
+ React.createElement(SocialSecurity, { value: viewModel.socialSecurityNumber, onChange: (value) => {
19519
+ updateInactiveMilitaryViewModel("socialSecurityNumber", value);
19520
+ updateFieldValidationErrorsByFieldId("socialSecurityNumber", value, verificationService);
19521
+ }, isRequired: false, isErrored: !!fieldValidationErrors[FieldIdEnum.socialSecurityNumber], placeholder: "000-00-0000", label: React.createElement(FormattedHTMLMessage, { id: "ssn", defaultMessage: "Social Security Number" }), explanation: React.createElement(FormattedHTMLMessage, { id: "optional", defaultMessage: "Optional" }) }),
19477
19522
  React.createElement(MarketConsentWrapperComponent, { verificationService: verificationService, isErrored: !!fieldValidationErrors.marketConsentValue, onChange: (newValue) => {
19478
19523
  updateInactiveMilitaryViewModel("metadata", {
19479
19524
  ...verificationService.viewModel.metadata,
@@ -20500,52 +20545,6 @@ const StepLowIncomePersonalInfoComponent = injectIntl(StepLowIncomePersonalInfo)
20500
20545
  // Collect status is identical to Active at this time.
20501
20546
  const StepCollectMilitaryStatusComponent = ({ verificationService, }) => (React.createElement(StepActiveMilitaryPersonalInfoComponent, { verificationService: verificationService }));
20502
20547
 
20503
- /**
20504
- * Insert `newPart` into a string
20505
- * Use:
20506
- * "Hi !".insertAt(3, "world"); // "Hi world!"
20507
- */
20508
- String.prototype.insertAt = function (index, newPart) {
20509
- if (index > this.length) {
20510
- return this;
20511
- }
20512
- return `${this.slice(0, index)}${newPart}${this.slice(index)}`;
20513
- };
20514
-
20515
- const displaySSN = (value) => {
20516
- let stringValue;
20517
- try {
20518
- stringValue = value.toString();
20519
- if (!stringValue)
20520
- throw new Error();
20521
- }
20522
- catch (e) {
20523
- return "";
20524
- }
20525
- return stringValue
20526
- .replace(/[^\d]/g, "") // replce non-digit chars
20527
- .insertAt(3, "-") // for display
20528
- .insertAt(6, "-")
20529
- .replace("--", "") // just in case
20530
- .replace(/-$/, ""); // don't add trailing hyphen, breaks backspace
20531
- };
20532
- // The viewModel and API don't include hyphens. Also enforces max length, prior to setting viewModel, avoiding off-by-one error.
20533
- const unDisplaySSN = (value) => value.replace(/-/g, "").slice(0, SSN_STRING_LENGTH);
20534
-
20535
- const SocialSecurity = ({ value, isErrored, onChange, intl, placeholder = "", }) => {
20536
- const changeSsn = (value) => {
20537
- onChange(value);
20538
- };
20539
- return (React.createElement("div", { className: "sid-field sid-ssn" },
20540
- React.createElement("div", { className: "sid-l-space-top-md" }),
20541
- 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" }),
20542
- React.createElement(InputTextComponent, { id: "ssn", refId: FieldIdEnum.socialSecurityNumber, className: "sid-ssn__input", isErrored: isErrored, required: true, placeholder: placeholder ||
20543
- 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" }),
20544
- isErrored ? (React.createElement("div", { className: "sid-field-error" },
20545
- React.createElement(FormattedHTMLMessage, { id: "errorId.invalidSocialSecurityNumber", defaultMessage: "Invalid SSN" }))) : null));
20546
- };
20547
- const SocialSecurityNumber = injectIntl(SocialSecurity);
20548
-
20549
20548
  const Step$1 = ({ useSsn, useDocUpload, verificationService }) => (React.createElement("div", { id: "sid-ssn-choice", className: "sid-l-container sid-l-horz-center" },
20550
20549
  React.createElement("div", { className: "sid-header" },
20551
20550
  React.createElement("div", { className: "sid-l-horz-center" },