idmission-web-sdk 2.2.95 → 2.2.97

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.
@@ -211,7 +211,7 @@
211
211
  return e.name = "SuppressedError", e.error = error, e.suppressed = suppressed, e;
212
212
  };
213
213
 
214
- var webSdkVersion = '2.2.95';
214
+ var webSdkVersion = '2.2.97';
215
215
 
216
216
  function getPlatform() {
217
217
  // eslint-disable-next-line @typescript-eslint/ban-ts-comment
@@ -2371,14 +2371,15 @@
2371
2371
  if (!documentServiceUrl) return [3 /*break*/, 8];
2372
2372
  return [4 /*yield*/, Promise.all(Object.keys(documents).map(function (k) {
2373
2373
  return __awaiter(void 0, void 0, void 0, function () {
2374
- var _a, _b;
2374
+ var filetype, _a, _b;
2375
2375
  return __generator(this, function (_c) {
2376
2376
  switch (_c.label) {
2377
2377
  case 0:
2378
2378
  if (!documents[k]) return [3 /*break*/, 2];
2379
+ filetype = k.endsWith('Video') ? 'video/mp4' : k.endsWith('Audio') ? 'audio/mp4' : 'image/jpeg';
2379
2380
  _a = documents;
2380
2381
  _b = k;
2381
- return [4 /*yield*/, uploadIfPossible(documents[k], k)];
2382
+ return [4 /*yield*/, uploadIfPossible(documents[k], k, filetype)];
2382
2383
  case 1:
2383
2384
  _a[_b] = _c.sent();
2384
2385
  _c.label = 2;
@@ -10884,11 +10885,15 @@
10884
10885
  captureState: action.payload ? 'initializing' : 'capturing'
10885
10886
  });
10886
10887
  case 'setUploadingDocumentsType':
10887
- return _assign(_assign({}, state), {
10888
- captureState: action.payload ? 'uploading' : 'initializing',
10889
- uploadingDocumentsType: action.payload,
10890
- requestedDocumentType: action.payload === 'passport' ? 'passport' : 'idCardFront'
10891
- });
10888
+ {
10889
+ var requestedDocumentType = !action.payload || action.payload === 'idCard' ? 'idCardFront' : action.payload;
10890
+ var uploadingDocumentsType = action.payload === 'singlePage' ? 'idCard' : action.payload;
10891
+ return _assign(_assign({}, state), {
10892
+ captureState: action.payload ? 'uploading' : 'initializing',
10893
+ uploadingDocumentsType: uploadingDocumentsType,
10894
+ requestedDocumentType: requestedDocumentType
10895
+ });
10896
+ }
10892
10897
  case 'resetWizard':
10893
10898
  return _assign(_assign({}, initialState$4), {
10894
10899
  captureRequirement: state.captureRequirement,
@@ -15968,7 +15973,7 @@
15968
15973
  var LoadingList$1 = styled.ul(templateObject_10$2 || (templateObject_10$2 = __makeTemplateObject(["\n display: block;\n margin: auto;\n list-style: none;\n padding: 0;\n"], ["\n display: block;\n margin: auto;\n list-style: none;\n padding: 0;\n"])));
15969
15974
  var LoadingListItem$1 = styled.li(templateObject_11$2 || (templateObject_11$2 = __makeTemplateObject(["\n display: inline-flex;\n justify-content: center;\n align-items: center;\n padding: 2px 1.25rem 2px 0;\n line-height: 1rem;\n"], ["\n display: inline-flex;\n justify-content: center;\n align-items: center;\n padding: 2px 1.25rem 2px 0;\n line-height: 1rem;\n"])));
15970
15975
  var ProgressContainer$1 = styled.div(templateObject_12$2 || (templateObject_12$2 = __makeTemplateObject(["\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n"], ["\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n"])));
15971
- var ProgressBarBackground$1 = styled.div(templateObject_13$1 || (templateObject_13$1 = __makeTemplateObject(["\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n background: ", ";\n opacity: ", ";\n"], ["\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n background: ", ";\n opacity: ", ";\n"])), function (props) {
15976
+ var ProgressBarBackground$1 = styled.div(templateObject_13$2 || (templateObject_13$2 = __makeTemplateObject(["\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n background: ", ";\n opacity: ", ";\n"], ["\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n background: ", ";\n opacity: ", ";\n"])), function (props) {
15972
15977
  var _a, _b, _c, _d;
15973
15978
  return (_d = (_c = (_b = (_a = props.theme) === null || _a === void 0 ? void 0 : _a.idCapture) === null || _b === void 0 ? void 0 : _b.loadingOverlay) === null || _c === void 0 ? void 0 : _c.progressBarBackgroundColor) !== null && _d !== void 0 ? _d : 'var(--idm-color-positive-600)';
15974
15979
  }, function (props) {
@@ -15991,7 +15996,7 @@
15991
15996
  var _a, _b, _c, _d, _e, _f;
15992
15997
  return ((_c = (_b = (_a = props.theme) === null || _a === void 0 ? void 0 : _a.idCapture) === null || _b === void 0 ? void 0 : _b.loadingOverlay) === null || _c === void 0 ? void 0 : _c.continueBtnBorder) ? "border: ".concat((_f = (_e = (_d = props.theme) === null || _d === void 0 ? void 0 : _d.idCapture) === null || _e === void 0 ? void 0 : _e.loadingOverlay) === null || _f === void 0 ? void 0 : _f.continueBtnBorder, ";") : '';
15993
15998
  });
15994
- var templateObject_1$z, templateObject_2$u, templateObject_3$m, templateObject_4$g, templateObject_5$b, templateObject_6$9, templateObject_7$6, templateObject_8$3, templateObject_9$3, templateObject_10$2, templateObject_11$2, templateObject_12$2, templateObject_13$1, templateObject_14$1, templateObject_15$1, templateObject_16, templateObject_17, templateObject_18;
15999
+ var templateObject_1$z, templateObject_2$u, templateObject_3$m, templateObject_4$g, templateObject_5$b, templateObject_6$9, templateObject_7$6, templateObject_8$3, templateObject_9$3, templateObject_10$2, templateObject_11$2, templateObject_12$2, templateObject_13$2, templateObject_14$1, templateObject_15$1, templateObject_16, templateObject_17, templateObject_18;
15995
16000
 
15996
16001
  function _createForOfIteratorHelperLoose(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (t) return (t = t.call(r)).next.bind(t); if (Array.isArray(r) || (t = _unsupportedIterableToArray(r)) || e) { t && (r = t); var o = 0; return function () { return o >= r.length ? { done: !0 } : { done: !1, value: r[o++] }; }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
15997
16002
  function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
@@ -18330,16 +18335,20 @@
18330
18335
  classNames = _b === void 0 ? {} : _b,
18331
18336
  _c = _a.verbiage,
18332
18337
  rawVerbiage = _c === void 0 ? {} : _c;
18333
- var _d = React.useState(null),
18334
- idFrontFile = _d[0],
18335
- setIdFrontFile = _d[1];
18338
+ var _d = useIdCaptureState(),
18339
+ state = _d[0],
18340
+ dispatch = _d[1];
18336
18341
  var _e = React.useState(null),
18337
- idBackFile = _e[0],
18338
- setIdBackFile = _e[1];
18342
+ idFrontFile = _e[0],
18343
+ setIdFrontFile = _e[1];
18344
+ var _f = React.useState(null),
18345
+ idBackFile = _f[0],
18346
+ setIdBackFile = _f[1];
18339
18347
  var onCapturedManually = useOnCapturedManually();
18340
18348
  var verbiage = useTranslations(rawVerbiage, {
18341
18349
  uploadIdFrontText: 'Upload ID Front',
18342
18350
  uploadIdBackText: 'Upload ID Back',
18351
+ uploadIdBackHelpTextIfSinglePageAllowed: 'Upload the back of the ID if it is not included in the front image.',
18343
18352
  loadingText: 'Loading...',
18344
18353
  continueText: 'Continue',
18345
18354
  cancelText: 'Cancel'
@@ -18364,16 +18373,24 @@
18364
18373
  className: classNames.uploadIdBackButton,
18365
18374
  onFileSelected: setIdBackFile,
18366
18375
  loadingText: verbiage.loadingText
18367
- }, verbiage.uploadIdBackText)), /*#__PURE__*/React.createElement(ScreenActionsBar, {
18376
+ }, verbiage.uploadIdBackText), state.allowSinglePageIdCapture && ( /*#__PURE__*/React.createElement(UploadIdBackHelpText, {
18377
+ className: classNames.uploadIdBackHelpTextIfSinglePageAllowed
18378
+ }, verbiage.uploadIdBackHelpTextIfSinglePageAllowed))), /*#__PURE__*/React.createElement(ScreenActionsBar, {
18368
18379
  className: classNames.actionsBar
18369
18380
  }, /*#__PURE__*/React.createElement(CancelUploadTypeButton, {
18370
18381
  className: classNames.cancelButton
18371
18382
  }, verbiage.cancelText), /*#__PURE__*/React.createElement(Button, {
18372
18383
  className: classNames.continueButton,
18373
- disabled: !idFrontFile || !idBackFile,
18384
+ disabled: !idFrontFile || !state.allowSinglePageIdCapture && !idBackFile,
18374
18385
  colors: buttonColors,
18375
18386
  onClick: function onClick() {
18376
- return onCapturedManually(idFrontFile, idBackFile);
18387
+ if (!idBackFile && state.allowSinglePageIdCapture) {
18388
+ dispatch({
18389
+ type: 'setUploadingDocumentsType',
18390
+ payload: 'singlePage'
18391
+ });
18392
+ }
18393
+ void onCapturedManually(idFrontFile, idBackFile);
18377
18394
  }
18378
18395
  }, verbiage.continueText)));
18379
18396
  }
@@ -18399,7 +18416,7 @@
18399
18416
  for (var _i = 0; _i < arguments.length; _i++) {
18400
18417
  files[_i] = arguments[_i];
18401
18418
  }
18402
- return Promise.all(files.map(readFile)).then(function (f) {
18419
+ return Promise.all(files.filter(Boolean).map(readFile)).then(function (f) {
18403
18420
  for (var _i = 0, f_1 = f; _i < f_1.length; _i++) {
18404
18421
  var imageData = f_1[_i];
18405
18422
  dispatch({
@@ -18414,6 +18431,7 @@
18414
18431
  }
18415
18432
  function readFile(file) {
18416
18433
  return new Promise(function (resolve, reject) {
18434
+ if (!file) return reject(new Error('File is undefined'));
18417
18435
  var reader = new FileReader();
18418
18436
  reader.onload = function () {
18419
18437
  return resolve(reader.result);
@@ -18479,13 +18497,14 @@
18479
18497
  var ScreenActionsBar = styled.div(templateObject_5$5 || (templateObject_5$5 = __makeTemplateObject(["\n display: flex;\n align-items: center;\n justify-content: end;\n gap: 20px;\n padding: 20px;\n width: 100%;\n box-sizing: border-box;\n border-top: 1px solid #ccc;\n\n @media (max-width: 600px) {\n justify-content: center;\n }\n"], ["\n display: flex;\n align-items: center;\n justify-content: end;\n gap: 20px;\n padding: 20px;\n width: 100%;\n box-sizing: border-box;\n border-top: 1px solid #ccc;\n\n @media (max-width: 600px) {\n justify-content: center;\n }\n"])));
18480
18498
  var DashedSeparator = styled.div(templateObject_6$4 || (templateObject_6$4 = __makeTemplateObject(["\n width: 100%;\n height: 0;\n border-top: 2px solid #606060;\n border-top-style: dashed;\n display: flex;\n align-items: center;\n justify-content: center;\n"], ["\n width: 100%;\n height: 0;\n border-top: 2px solid #606060;\n border-top-style: dashed;\n display: flex;\n align-items: center;\n justify-content: center;\n"])));
18481
18499
  var OrWrapper = styled.div(templateObject_7$3 || (templateObject_7$3 = __makeTemplateObject(["\n color: #323232;\n font-weight: bold;\n background: white;\n border-radius: 50%;\n top: -2px;\n position: relative;\n width: 60px;\n height: 60px;\n display: flex;\n align-items: center;\n justify-content: center;\n"], ["\n color: #323232;\n font-weight: bold;\n background: white;\n border-radius: 50%;\n top: -2px;\n position: relative;\n width: 60px;\n height: 60px;\n display: flex;\n align-items: center;\n justify-content: center;\n"])));
18482
- var Button = styled(WideBorderButton)(templateObject_8$1 || (templateObject_8$1 = __makeTemplateObject(["\n width: auto;\n font-weight: 500;\n padding-left: 40px;\n padding-right: 40px;\n transition: background-color 0.3s ease;\n background-color: #ffffff;\n white-space: nowrap;\n\n &:disabled,\n &.disabled {\n background-color: #f1f1f1 !important;\n border-color: #dbdbdb !important;\n color: #323232 !important;\n }\n\n &:hover {\n filter: none;\n background-color: #fafafa !important;\n }\n"], ["\n width: auto;\n font-weight: 500;\n padding-left: 40px;\n padding-right: 40px;\n transition: background-color 0.3s ease;\n background-color: #ffffff;\n white-space: nowrap;\n\n &:disabled,\n &.disabled {\n background-color: #f1f1f1 !important;\n border-color: #dbdbdb !important;\n color: #323232 !important;\n }\n\n &:hover {\n filter: none;\n background-color: #fafafa !important;\n }\n"])));
18483
- var Modal = styled.div(templateObject_9$1 || (templateObject_9$1 = __makeTemplateObject(["\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n background: rgba(0, 0, 0, 0.5);\n z-index: 10000;\n box-sizing: border-box;\n display: flex;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n"], ["\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n background: rgba(0, 0, 0, 0.5);\n z-index: 10000;\n box-sizing: border-box;\n display: flex;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n"])));
18484
- var Dialog = styled.div(templateObject_10$1 || (templateObject_10$1 = __makeTemplateObject(["\n width: 100%;\n max-width: 500px;\n height: 100%;\n max-height: 600px;\n background: white;\n border-radius: 25px;\n overflow: auto;\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n box-sizing: border-box;\n box-shadow: 0 0 10px rgba(0, 0, 0, 0.2);\n font-family: ", ";\n //margin: 25px;\n"], ["\n width: 100%;\n max-width: 500px;\n height: 100%;\n max-height: 600px;\n background: white;\n border-radius: 25px;\n overflow: auto;\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n box-sizing: border-box;\n box-shadow: 0 0 10px rgba(0, 0, 0, 0.2);\n font-family: ", ";\n //margin: 25px;\n"])), function (props) {
18500
+ var UploadIdBackHelpText = styled.p(templateObject_8$1 || (templateObject_8$1 = __makeTemplateObject(["\n color: #323232;\n font-style: italic;\n margin: 30px 0 0;\n"], ["\n color: #323232;\n font-style: italic;\n margin: 30px 0 0;\n"])));
18501
+ var Button = styled(WideBorderButton)(templateObject_9$1 || (templateObject_9$1 = __makeTemplateObject(["\n width: auto;\n font-weight: 500;\n padding-left: 40px;\n padding-right: 40px;\n transition: background-color 0.3s ease;\n background-color: #ffffff;\n white-space: nowrap;\n\n &:disabled,\n &.disabled {\n background-color: #f1f1f1 !important;\n border-color: #dbdbdb !important;\n color: #323232 !important;\n }\n\n &:hover {\n filter: none;\n background-color: #fafafa !important;\n }\n"], ["\n width: auto;\n font-weight: 500;\n padding-left: 40px;\n padding-right: 40px;\n transition: background-color 0.3s ease;\n background-color: #ffffff;\n white-space: nowrap;\n\n &:disabled,\n &.disabled {\n background-color: #f1f1f1 !important;\n border-color: #dbdbdb !important;\n color: #323232 !important;\n }\n\n &:hover {\n filter: none;\n background-color: #fafafa !important;\n }\n"])));
18502
+ var Modal = styled.div(templateObject_10$1 || (templateObject_10$1 = __makeTemplateObject(["\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n background: rgba(0, 0, 0, 0.5);\n z-index: 10000;\n box-sizing: border-box;\n display: flex;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n"], ["\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n background: rgba(0, 0, 0, 0.5);\n z-index: 10000;\n box-sizing: border-box;\n display: flex;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n"])));
18503
+ var Dialog = styled.div(templateObject_11$1 || (templateObject_11$1 = __makeTemplateObject(["\n width: 100%;\n max-width: 500px;\n height: 100%;\n max-height: 600px;\n background: white;\n border-radius: 25px;\n overflow: auto;\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n box-sizing: border-box;\n box-shadow: 0 0 10px rgba(0, 0, 0, 0.2);\n font-family: ", ";\n //margin: 25px;\n"], ["\n width: 100%;\n max-width: 500px;\n height: 100%;\n max-height: 600px;\n background: white;\n border-radius: 25px;\n overflow: auto;\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n box-sizing: border-box;\n box-shadow: 0 0 10px rgba(0, 0, 0, 0.2);\n font-family: ", ";\n //margin: 25px;\n"])), function (props) {
18485
18504
  var _a;
18486
18505
  return (_a = props.theme) === null || _a === void 0 ? void 0 : _a.fontFamily;
18487
18506
  });
18488
- var ModalCloseButton = styled.button(templateObject_11$1 || (templateObject_11$1 = __makeTemplateObject(["\n width: 60px;\n height: 60px;\n background: black;\n color: whitesmoke;\n border-radius: 50%;\n font-size: 32px;\n border: none;\n cursor: pointer;\n margin: 20px 0;\n box-shadow: 0 0 10px rgba(0, 0, 0, 0.2);\n transition: background 0.3s ease;\n display: flex;\n align-items: center;\n justify-content: center;\n box-sizing: border-box;\n padding: 0;\n\n &:hover {\n background: #222;\n color: white;\n }\n"], ["\n width: 60px;\n height: 60px;\n background: black;\n color: whitesmoke;\n border-radius: 50%;\n font-size: 32px;\n border: none;\n cursor: pointer;\n margin: 20px 0;\n box-shadow: 0 0 10px rgba(0, 0, 0, 0.2);\n transition: background 0.3s ease;\n display: flex;\n align-items: center;\n justify-content: center;\n box-sizing: border-box;\n padding: 0;\n\n &:hover {\n background: #222;\n color: white;\n }\n"])));
18507
+ var ModalCloseButton = styled.button(templateObject_12$1 || (templateObject_12$1 = __makeTemplateObject(["\n width: 60px;\n height: 60px;\n background: black;\n color: whitesmoke;\n border-radius: 50%;\n font-size: 32px;\n border: none;\n cursor: pointer;\n margin: 20px 0;\n box-shadow: 0 0 10px rgba(0, 0, 0, 0.2);\n transition: background 0.3s ease;\n display: flex;\n align-items: center;\n justify-content: center;\n box-sizing: border-box;\n padding: 0;\n\n &:hover {\n background: #222;\n color: white;\n }\n"], ["\n width: 60px;\n height: 60px;\n background: black;\n color: whitesmoke;\n border-radius: 50%;\n font-size: 32px;\n border: none;\n cursor: pointer;\n margin: 20px 0;\n box-shadow: 0 0 10px rgba(0, 0, 0, 0.2);\n transition: background 0.3s ease;\n display: flex;\n align-items: center;\n justify-content: center;\n box-sizing: border-box;\n padding: 0;\n\n &:hover {\n background: #222;\n color: white;\n }\n"])));
18489
18508
  function XIcon(props) {
18490
18509
  return /*#__PURE__*/React.createElement("svg", _assign({
18491
18510
  width: "25",
@@ -18736,7 +18755,7 @@
18736
18755
  strokeWidth: "3"
18737
18756
  }));
18738
18757
  }
18739
- var InlineSvg = styled.svg(templateObject_12$1 || (templateObject_12$1 = __makeTemplateObject(["\n display: inline;\n"], ["\n display: inline;\n"])));
18758
+ var InlineSvg = styled.svg(templateObject_13$1 || (templateObject_13$1 = __makeTemplateObject(["\n display: inline;\n"], ["\n display: inline;\n"])));
18740
18759
  function humanFileSize(bytes, si, dp) {
18741
18760
  if (si === void 0) {
18742
18761
  si = false;
@@ -18757,7 +18776,7 @@
18757
18776
  } while (Math.round(Math.abs(bytes) * r) / r >= thresh && u < units.length - 1);
18758
18777
  return bytes.toFixed(dp) + ' ' + units[u];
18759
18778
  }
18760
- var templateObject_1$l, templateObject_2$j, templateObject_3$f, templateObject_4$9, templateObject_5$5, templateObject_6$4, templateObject_7$3, templateObject_8$1, templateObject_9$1, templateObject_10$1, templateObject_11$1, templateObject_12$1;
18779
+ var templateObject_1$l, templateObject_2$j, templateObject_3$f, templateObject_4$9, templateObject_5$5, templateObject_6$4, templateObject_7$3, templateObject_8$1, templateObject_9$1, templateObject_10$1, templateObject_11$1, templateObject_12$1, templateObject_13$1;
18761
18780
 
18762
18781
  var IdCaptureWizard = function IdCaptureWizard(_a) {
18763
18782
  var _b, _c, _d, _e, _f, _g;