idmission-web-sdk 2.2.138 → 2.2.140

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 (37) hide show
  1. package/dist/components/customer_flows/FaceValidation.d.ts +1 -1
  2. package/dist/components/customer_flows/FaceValidation.d.ts.map +1 -1
  3. package/dist/components/face_liveness/FaceLivenessCapture.d.ts.map +1 -1
  4. package/dist/components/face_liveness/FaceLivenessWizard.d.ts +1 -1
  5. package/dist/components/face_liveness/FaceLivenessWizard.d.ts.map +1 -1
  6. package/dist/components/selfie_capture/SelfieCapture.d.ts.map +1 -1
  7. package/dist/components/video_signature_capture/VideoSignatureWizard.d.ts.map +1 -1
  8. package/dist/lib/locales/de.d.ts +1 -0
  9. package/dist/lib/locales/de.d.ts.map +1 -1
  10. package/dist/lib/locales/es.d.ts +1 -0
  11. package/dist/lib/locales/es.d.ts.map +1 -1
  12. package/dist/lib/locales/fr.d.ts +1 -0
  13. package/dist/lib/locales/fr.d.ts.map +1 -1
  14. package/dist/lib/locales/index.d.ts +8 -0
  15. package/dist/lib/locales/index.d.ts.map +1 -1
  16. package/dist/lib/locales/it.d.ts +1 -0
  17. package/dist/lib/locales/it.d.ts.map +1 -1
  18. package/dist/lib/locales/ja.d.ts +1 -0
  19. package/dist/lib/locales/ja.d.ts.map +1 -1
  20. package/dist/lib/locales/pt.d.ts +1 -0
  21. package/dist/lib/locales/pt.d.ts.map +1 -1
  22. package/dist/lib/locales/ru.d.ts +1 -0
  23. package/dist/lib/locales/ru.d.ts.map +1 -1
  24. package/dist/lib/locales/zh.d.ts +1 -0
  25. package/dist/lib/locales/zh.d.ts.map +1 -1
  26. package/dist/sdk2.cjs.development.js +60 -45
  27. package/dist/sdk2.cjs.development.js.map +1 -1
  28. package/dist/sdk2.cjs.production.js +1 -1
  29. package/dist/sdk2.cjs.production.js.map +1 -1
  30. package/dist/sdk2.esm.js +60 -45
  31. package/dist/sdk2.esm.js.map +1 -1
  32. package/dist/sdk2.umd.development.js +60 -45
  33. package/dist/sdk2.umd.development.js.map +1 -1
  34. package/dist/sdk2.umd.production.js +1 -1
  35. package/dist/sdk2.umd.production.js.map +1 -1
  36. package/dist/version.d.ts +1 -1
  37. package/package.json +1 -1
@@ -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.138';
214
+ var webSdkVersion = '2.2.140';
215
215
 
216
216
  function getPlatform() {
217
217
  // eslint-disable-next-line @typescript-eslint/ban-ts-comment
@@ -14190,6 +14190,7 @@
14190
14190
  'Move back...': 'Hay que moverse hacia atrás...',
14191
14191
  'Move forward...': 'Hay que moverse hacia adelante...',
14192
14192
  'Move to the center...': 'Hay que moverse hacia el centro...',
14193
+ 'Waiting for face to be detected...': 'Esperando que se detecte la cara...',
14193
14194
  'Please remove your eye coverings (sunglasses eye patch etc.)...': 'Hay que quitarse lo que cubre los ojos (lentes, parche, etc.)...',
14194
14195
  'Please remove your head coverings (hat scarf etc.)...': 'Hay que quitarse lo que cubre la cabeza (gorra, mascada, etc.)...',
14195
14196
  'Please remove your mask...': 'Hay que quitarse el cubrebocas...',
@@ -14314,6 +14315,7 @@
14314
14315
  'Move back...': 'Nach hinten bewegen...',
14315
14316
  'Move forward...': 'Nach vorne bewegen...',
14316
14317
  'Move to the center...': 'In die Mitte bewegen...',
14318
+ 'Waiting for face to be detected...': 'Warte auf die Gesichtserkennung...',
14317
14319
  'Please remove your eye coverings (sunglasses eye patch etc.)...': 'Bitte Augenbedeckung entfernen (Sonnenbrille, Augenklappe usw.)...',
14318
14320
  'Please remove your head coverings (hat scarf etc.)...': 'Bitte Kopfbedeckung abnehmen (Mütze, Schal usw.)...',
14319
14321
  'Please remove your mask...': 'Bitte Maske ablegen...',
@@ -14438,6 +14440,7 @@
14438
14440
  'Move back...': 'Reculez...',
14439
14441
  'Move forward...': 'Avancez...',
14440
14442
  'Move to the center...': 'Déplacez-vous vers le centre...',
14443
+ 'Waiting for face to be detected...': 'En attente de détection du visage...',
14441
14444
  'Please remove your eye coverings (sunglasses eye patch etc.)...': 'Veuillez retirer ce qui recouvre vos yeux (lunettes de soleil, cache-œil, etc.)...',
14442
14445
  'Please remove your head coverings (hat scarf etc.)...': 'Veuillez retirer vos couvre-chefs (chapeau, foulard, etc.)...',
14443
14446
  'Please remove your mask...': 'Veuillez retirer votre masque...',
@@ -14562,6 +14565,7 @@
14562
14565
  'Move back...': 'Spostarsi più lontano...',
14563
14566
  'Move forward...': 'Spostarsi più vicino...',
14564
14567
  'Move to the center...': 'Spostarsi al centro...',
14568
+ 'Waiting for face to be detected...': 'In attesa che venga rilevato il volto...',
14565
14569
  'Please remove your eye coverings (sunglasses eye patch etc.)...': 'Rimuovere tutto ciò che copre gli occhi (occhiali da sole, bende, ecc.)...',
14566
14570
  'Please remove your head coverings (hat scarf etc.)...': 'Rimuovere tutto ciò che ricopre il capo (cappello, sciarpa, ecc.)...',
14567
14571
  'Please remove your mask...': 'Rimuovere la mascherina...',
@@ -14686,6 +14690,7 @@
14686
14690
  'Move back...': '遠ざかってください…',
14687
14691
  'Move forward...': '近づいてください…',
14688
14692
  'Move to the center...': '中央へ移動してください…',
14693
+ 'Waiting for face to be detected...': '顔が検出されるのを待っています…',
14689
14694
  'Please remove your eye coverings (sunglasses eye patch etc.)...': '目を覆うもの(サングラスや眼帯など)を取り外してください…',
14690
14695
  'Please remove your head coverings (hat scarf etc.)...': '頭を覆うもの(帽子やスカーフなど)を取り外してください…',
14691
14696
  'Please remove your mask...': 'マスクを取り外してください…',
@@ -14810,6 +14815,7 @@
14810
14815
  'Move back...': 'Mover para trás...',
14811
14816
  'Move forward...': 'Mover para frente...',
14812
14817
  'Move to the center...': 'Mover para o centro...',
14818
+ 'Waiting for face to be detected...': 'Aguardando a detecção de rosto...',
14813
14819
  'Please remove your eye coverings (sunglasses eye patch etc.)...': 'Por favor, remova as coberturas dos olhos (óculos de sol, tapa-olho, etc.)...',
14814
14820
  'Please remove your head coverings (hat scarf etc.)...': 'Por favor, remova as coberturas da cabeça (chapéu, cachecol, etc.)...',
14815
14821
  'Please remove your mask...': 'Por favor, remova sua máscara...',
@@ -14934,6 +14940,7 @@
14934
14940
  'Move back...': 'Отойдите назад…',
14935
14941
  'Move forward...': 'Подвиньтесь вперед…',
14936
14942
  'Move to the center...': 'Переместите к центру…',
14943
+ 'Waiting for face to be detected...': 'Ожидание обнаружения лица…',
14937
14944
  'Please remove your eye coverings (sunglasses eye patch etc.)...': 'Снимите предметы, закрывающие глаза (солнцезащитные очки, повязку и т.д.)…',
14938
14945
  'Please remove your head coverings (hat scarf etc.)...': 'Снимите предметы, покрывающие голову (шапку, шарф и т.д.)…',
14939
14946
  'Please remove your mask...': 'Снимите маску…',
@@ -15058,6 +15065,7 @@
15058
15065
  'Move back...': '請後退...',
15059
15066
  'Move forward...': '請前進...',
15060
15067
  'Move to the center...': '請移至中心...',
15068
+ 'Waiting for face to be detected...': '正在等待臉部辨識...',
15061
15069
  'Please remove your eye coverings (sunglasses eye patch etc.)...': '請取下眼睛遮蓋物(太陽眼鏡、眼罩等)...',
15062
15070
  'Please remove your head coverings (hat scarf etc.)...': '請取下頭部遮蓋物(帽子、圍巾等)...',
15063
15071
  'Please remove your mask...': '請脫下口罩...',
@@ -20591,7 +20599,7 @@
20591
20599
  face: prediction.face,
20592
20600
  scaling: debugScalingDetails,
20593
20601
  color: satisfied ? 'green' : 'red'
20594
- }))), debugMode && ( /*#__PURE__*/React.createElement(DebugStatsPane, null, camera ? ( /*#__PURE__*/React.createElement(React.Fragment, null, "\u2705 Camera: ", camera.label, " (", camera.width, "x", camera.height, ")")) : '❌ Camera not ready', /*#__PURE__*/React.createElement("br", null), !(prediction === null || prediction === void 0 ? void 0 : prediction.faceNotCentered) ? '✅' : '❌', " Face Centered", /*#__PURE__*/React.createElement("br", null), !(prediction === null || prediction === void 0 ? void 0 : prediction.faceTooClose) && !(prediction === null || prediction === void 0 ? void 0 : prediction.faceTooFar) ? '✅' : '❌', ' ', "Face", ' ', (prediction === null || prediction === void 0 ? void 0 : prediction.faceTooClose) ? 'Too Close' : (prediction === null || prediction === void 0 ? void 0 : prediction.faceTooFar) ? 'Too Far' : 'Distance Correct', /*#__PURE__*/React.createElement("br", null), !(prediction === null || prediction === void 0 ? void 0 : prediction.faceLookingAway) ? '✅' : '❌', " Face Looking Forward", /*#__PURE__*/React.createElement("br", null), !(prediction === null || prediction === void 0 ? void 0 : prediction.faceIsStable) ? '✅' : '❌', " Face Is Stable", /*#__PURE__*/React.createElement("br", null), !timedOut ? '✅' : '❌', " Time Remaining:", ' ', Math.max(0, timeoutDurationMs - (new Date().getTime() - (timeoutStartedAt !== null && timeoutStartedAt !== void 0 ? timeoutStartedAt : new Date()).getTime())), "ms")), /*#__PURE__*/React.createElement(ExitCaptureButton, {
20602
+ }))), debugMode && ( /*#__PURE__*/React.createElement(DebugStatsPane, null, camera ? ( /*#__PURE__*/React.createElement(React.Fragment, null, "\u2705 Camera: ", camera.label, " (", camera.width, "x", camera.height, ")")) : '❌ Camera not ready', /*#__PURE__*/React.createElement("br", null), !(prediction === null || prediction === void 0 ? void 0 : prediction.faceNotDetected) ? '✅' : '❌', " Face Detected", /*#__PURE__*/React.createElement("br", null), !(prediction === null || prediction === void 0 ? void 0 : prediction.faceNotCentered) ? '✅' : '❌', " Face Centered", /*#__PURE__*/React.createElement("br", null), !(prediction === null || prediction === void 0 ? void 0 : prediction.faceTooClose) && !(prediction === null || prediction === void 0 ? void 0 : prediction.faceTooFar) ? '✅' : '❌', ' ', "Face", ' ', (prediction === null || prediction === void 0 ? void 0 : prediction.faceTooClose) ? 'Too Close' : (prediction === null || prediction === void 0 ? void 0 : prediction.faceTooFar) ? 'Too Far' : 'Distance Correct', /*#__PURE__*/React.createElement("br", null), !(prediction === null || prediction === void 0 ? void 0 : prediction.faceLookingAway) ? '✅' : '❌', " Face Looking Forward", /*#__PURE__*/React.createElement("br", null), !(prediction === null || prediction === void 0 ? void 0 : prediction.faceIsStable) ? '✅' : '❌', " Face Is Stable", /*#__PURE__*/React.createElement("br", null), !timedOut ? '✅' : '❌', " Time Remaining:", ' ', Math.max(0, timeoutDurationMs - (new Date().getTime() - (timeoutStartedAt !== null && timeoutStartedAt !== void 0 ? timeoutStartedAt : new Date()).getTime())), "ms")), /*#__PURE__*/React.createElement(ExitCaptureButton, {
20595
20603
  onClick: onExit,
20596
20604
  className: classNames.exitCaptureBtn
20597
20605
  }));
@@ -20759,19 +20767,16 @@
20759
20767
  });
20760
20768
  (function () {
20761
20769
  return __awaiter(_this, void 0, void 0, function () {
20762
- var imageUrl_1, response, _a, e_1;
20763
- return __generator(this, function (_b) {
20764
- switch (_b.label) {
20770
+ var imageUrl_1, response, e_1;
20771
+ return __generator(this, function (_a) {
20772
+ switch (_a.label) {
20765
20773
  case 0:
20766
- _b.trys.push([0, 3,, 4]);
20774
+ _a.trys.push([0, 2,, 3]);
20767
20775
  imageUrl_1 = cropToShoulders(rawCanvas.current, cropCanvas.current, resizeCanvas.current, frame, face, 0.92, 600);
20768
20776
  setImageUrl(imageUrl_1);
20769
- _a = checkLiveness;
20770
- return [4 /*yield*/, dataUrlToBase64(imageUrl_1)];
20777
+ return [4 /*yield*/, checkLiveness(dataUrlToBase64Sync(imageUrl_1))];
20771
20778
  case 1:
20772
- return [4 /*yield*/, _a.apply(void 0, [_b.sent()])];
20773
- case 2:
20774
- response = _b.sent();
20779
+ response = _a.sent();
20775
20780
  onLivenessChecked === null || onLivenessChecked === void 0 ? void 0 : onLivenessChecked(response);
20776
20781
  dispatch({
20777
20782
  type: 'livenessChecked',
@@ -20782,17 +20787,17 @@
20782
20787
  response: response
20783
20788
  }
20784
20789
  });
20785
- return [3 /*break*/, 4];
20786
- case 3:
20787
- e_1 = _b.sent();
20790
+ return [3 /*break*/, 3];
20791
+ case 2:
20792
+ e_1 = _a.sent();
20788
20793
  dispatch({
20789
20794
  type: 'livenessCheckFailed',
20790
20795
  payload: {
20791
20796
  error: e_1
20792
20797
  }
20793
20798
  });
20794
- return [3 /*break*/, 4];
20795
- case 4:
20799
+ return [3 /*break*/, 3];
20800
+ case 3:
20796
20801
  return [2 /*return*/];
20797
20802
  }
20798
20803
  });
@@ -20801,7 +20806,7 @@
20801
20806
  }, [checkLiveness, face, frame, isReady, onLivenessChecked, submissionError]);
20802
20807
  var onFallbackImageCaptured = React.useCallback(function (imageUrl) {
20803
20808
  return __awaiter(void 0, void 0, void 0, function () {
20804
- var imageData, response, e_2;
20809
+ var response, e_2;
20805
20810
  var _a;
20806
20811
  return __generator(this, function (_b) {
20807
20812
  switch (_b.label) {
@@ -20811,12 +20816,9 @@
20811
20816
  });
20812
20817
  _b.label = 1;
20813
20818
  case 1:
20814
- _b.trys.push([1, 4,, 5]);
20815
- return [4 /*yield*/, dataUrlToBase64(imageUrl)];
20819
+ _b.trys.push([1, 3,, 4]);
20820
+ return [4 /*yield*/, checkLiveness(dataUrlToBase64Sync(imageUrl))];
20816
20821
  case 2:
20817
- imageData = _b.sent();
20818
- return [4 /*yield*/, checkLiveness(imageData)];
20819
- case 3:
20820
20822
  response = _b.sent();
20821
20823
  if (((_a = response === null || response === void 0 ? void 0 : response.resultData) === null || _a === void 0 ? void 0 : _a.verificationResult) !== 'Live Face Detected') {
20822
20824
  onFailure === null || onFailure === void 0 ? void 0 : onFailure();
@@ -20829,8 +20831,8 @@
20829
20831
  response: response
20830
20832
  }
20831
20833
  });
20832
- return [3 /*break*/, 5];
20833
- case 4:
20834
+ return [3 /*break*/, 4];
20835
+ case 3:
20834
20836
  e_2 = _b.sent();
20835
20837
  dispatch({
20836
20838
  type: 'livenessCheckFailed',
@@ -20838,8 +20840,8 @@
20838
20840
  error: e_2
20839
20841
  }
20840
20842
  });
20841
- return [3 /*break*/, 5];
20842
- case 5:
20843
+ return [3 /*break*/, 4];
20844
+ case 4:
20843
20845
  return [2 /*return*/];
20844
20846
  }
20845
20847
  });
@@ -21483,20 +21485,13 @@
21483
21485
  }, [logCaptureMetadata]);
21484
21486
  var onSuccessCallback = React.useCallback(function (faceCropImageUrl) {
21485
21487
  return __awaiter(void 0, void 0, void 0, function () {
21486
- var _a;
21487
- return __generator(this, function (_b) {
21488
- switch (_b.label) {
21489
- case 0:
21490
- if (!livenessCheckRequest || !submissionResponse) return [2 /*return*/];
21491
- setCaptureState('SUCCESS');
21492
- setFaceCropImageUrl(faceCropImageUrl);
21493
- _a = setSelfieImage;
21494
- return [4 /*yield*/, dataUrlToBase64(faceCropImageUrl)];
21495
- case 1:
21496
- _a.apply(void 0, [_b.sent()]);
21497
- onSuccess === null || onSuccess === void 0 ? void 0 : onSuccess(submissionResponse, livenessCheckRequest);
21498
- return [2 /*return*/];
21499
- }
21488
+ return __generator(this, function (_a) {
21489
+ if (!livenessCheckRequest || !submissionResponse) return [2 /*return*/];
21490
+ setCaptureState('SUCCESS');
21491
+ setFaceCropImageUrl(faceCropImageUrl);
21492
+ setSelfieImage(dataUrlToBase64Sync(faceCropImageUrl));
21493
+ onSuccess === null || onSuccess === void 0 ? void 0 : onSuccess(submissionResponse, livenessCheckRequest);
21494
+ return [2 /*return*/];
21500
21495
  });
21501
21496
  });
21502
21497
  }, [onSuccess, setSelfieImage, livenessCheckRequest, submissionResponse]);
@@ -21511,7 +21506,25 @@
21511
21506
  return [2 /*return*/];
21512
21507
  });
21513
21508
  });
21514
- }, [livenessCheckRequest, onFailure, submissionResponse]);
21509
+ }, [allowLivenessFailure, livenessCheckRequest, onFailure, onSuccess, submissionResponse]);
21510
+ var selfieGuidanceCanvasRef = React.useContext(SelfieGuidanceModelsContext).canvasRef;
21511
+ var resizeCanvas = React.useRef(null);
21512
+ var onTimeoutCallback = React.useCallback(function () {
21513
+ if (allowLivenessFailure) {
21514
+ setCaptureState('SUCCESS');
21515
+ if (selfieGuidanceCanvasRef.current && resizeCanvas.current) {
21516
+ var srcCanvas = selfieGuidanceCanvasRef.current;
21517
+ resizeCanvas.current.height = 600;
21518
+ resizeCanvas.current.width = srcCanvas.width * (resizeCanvas.current.height / srcCanvas.height);
21519
+ var resizeCtx = resizeCanvas.current.getContext('2d');
21520
+ resizeCtx.drawImage(srcCanvas, 0, 0, resizeCanvas.current.width, 600);
21521
+ var dataURL = resizeCanvas.current.toDataURL('image/jpeg', 0.92);
21522
+ setSelfieImage(dataUrlToBase64Sync(dataURL));
21523
+ }
21524
+ onSuccess === null || onSuccess === void 0 ? void 0 : onSuccess(submissionResponse, livenessCheckRequest);
21525
+ }
21526
+ onTimeout === null || onTimeout === void 0 ? void 0 : onTimeout();
21527
+ }, [allowLivenessFailure, livenessCheckRequest, onSuccess, onTimeout, selfieGuidanceCanvasRef, setSelfieImage, submissionResponse]);
21515
21528
  var onDeniedCallback = React.useCallback(function () {
21516
21529
  if (!allowLivenessFailure) {
21517
21530
  setCaptureState('FAILED');
@@ -21519,7 +21532,7 @@
21519
21532
  setCaptureState('SUCCESS');
21520
21533
  }
21521
21534
  onDenied === null || onDenied === void 0 ? void 0 : onDenied(submissionResponse, livenessCheckRequest);
21522
- }, [onDenied, submissionResponse, livenessCheckRequest]);
21535
+ }, [allowLivenessFailure, onDenied, submissionResponse, livenessCheckRequest]);
21523
21536
  var _1 = React.useState(0),
21524
21537
  attempt = _1[0],
21525
21538
  setAttempt = _1[1];
@@ -21568,7 +21581,9 @@
21568
21581
  onExitAfterFailure === null || onExitAfterFailure === void 0 ? void 0 : onExitAfterFailure(submissionResponse, livenessCheckRequest);
21569
21582
  }, 0);
21570
21583
  }, [livenessCheckRequest, onExitAfterFailure, releaseCameraAccess, releaseCameraAccessOnExit, submissionResponse]);
21571
- return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(PageContainer, {
21584
+ return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(InvisibleCanvas, {
21585
+ ref: resizeCanvas
21586
+ }), /*#__PURE__*/React.createElement(PageContainer, {
21572
21587
  className: "flex ".concat((_c = (_b = classNames.capture) === null || _b === void 0 ? void 0 : _b.container) !== null && _c !== void 0 ? _c : '')
21573
21588
  }, renderCameraFeed && ( /*#__PURE__*/React.createElement(CameraVideoTag, {
21574
21589
  className: (_d = classNames.capture) === null || _d === void 0 ? void 0 : _d.cameraFeed
@@ -21582,7 +21597,7 @@
21582
21597
  onLivenessChecked: onLivenessChecked,
21583
21598
  onSuccess: onSuccessCallback,
21584
21599
  onFailure: onFailureCallback,
21585
- onTimeout: onTimeout,
21600
+ onTimeout: onTimeoutCallback,
21586
21601
  onDenied: onDeniedCallback,
21587
21602
  onExit: onExitCallback,
21588
21603
  initialCaptureDelayMs: initialCaptureDelayMs,
@@ -23397,7 +23412,7 @@
23397
23412
  onFaceLivenessSuccessProp === null || onFaceLivenessSuccessProp === void 0 ? void 0 : onFaceLivenessSuccessProp(response, request);
23398
23413
  setCaptureState('CAPTURING_SIGNATURE');
23399
23414
  logCaptureMetadata();
23400
- var selfieFromRequest = (_b = (_a = request.customerData) === null || _a === void 0 ? void 0 : _a.biometricData) === null || _b === void 0 ? void 0 : _b.selfie;
23415
+ var selfieFromRequest = (_b = (_a = request === null || request === void 0 ? void 0 : request.customerData) === null || _a === void 0 ? void 0 : _a.biometricData) === null || _b === void 0 ? void 0 : _b.selfie;
23401
23416
  if (!selfieImage && selfieFromRequest) {
23402
23417
  setSelfieImage(selfieFromRequest);
23403
23418
  }