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
package/dist/sdk2.esm.js CHANGED
@@ -203,7 +203,7 @@ typeof SuppressedError === "function" ? SuppressedError : function (error, suppr
203
203
  return e.name = "SuppressedError", e.error = error, e.suppressed = suppressed, e;
204
204
  };
205
205
 
206
- var webSdkVersion = '2.2.138';
206
+ var webSdkVersion = '2.2.140';
207
207
 
208
208
  function getPlatform() {
209
209
  // eslint-disable-next-line @typescript-eslint/ban-ts-comment
@@ -5066,6 +5066,7 @@ var es = {
5066
5066
  'Move back...': 'Hay que moverse hacia atrás...',
5067
5067
  'Move forward...': 'Hay que moverse hacia adelante...',
5068
5068
  'Move to the center...': 'Hay que moverse hacia el centro...',
5069
+ 'Waiting for face to be detected...': 'Esperando que se detecte la cara...',
5069
5070
  'Please remove your eye coverings (sunglasses eye patch etc.)...': 'Hay que quitarse lo que cubre los ojos (lentes, parche, etc.)...',
5070
5071
  'Please remove your head coverings (hat scarf etc.)...': 'Hay que quitarse lo que cubre la cabeza (gorra, mascada, etc.)...',
5071
5072
  'Please remove your mask...': 'Hay que quitarse el cubrebocas...',
@@ -5190,6 +5191,7 @@ var de = {
5190
5191
  'Move back...': 'Nach hinten bewegen...',
5191
5192
  'Move forward...': 'Nach vorne bewegen...',
5192
5193
  'Move to the center...': 'In die Mitte bewegen...',
5194
+ 'Waiting for face to be detected...': 'Warte auf die Gesichtserkennung...',
5193
5195
  'Please remove your eye coverings (sunglasses eye patch etc.)...': 'Bitte Augenbedeckung entfernen (Sonnenbrille, Augenklappe usw.)...',
5194
5196
  'Please remove your head coverings (hat scarf etc.)...': 'Bitte Kopfbedeckung abnehmen (Mütze, Schal usw.)...',
5195
5197
  'Please remove your mask...': 'Bitte Maske ablegen...',
@@ -5314,6 +5316,7 @@ var fr = {
5314
5316
  'Move back...': 'Reculez...',
5315
5317
  'Move forward...': 'Avancez...',
5316
5318
  'Move to the center...': 'Déplacez-vous vers le centre...',
5319
+ 'Waiting for face to be detected...': 'En attente de détection du visage...',
5317
5320
  'Please remove your eye coverings (sunglasses eye patch etc.)...': 'Veuillez retirer ce qui recouvre vos yeux (lunettes de soleil, cache-œil, etc.)...',
5318
5321
  'Please remove your head coverings (hat scarf etc.)...': 'Veuillez retirer vos couvre-chefs (chapeau, foulard, etc.)...',
5319
5322
  'Please remove your mask...': 'Veuillez retirer votre masque...',
@@ -5438,6 +5441,7 @@ var it = {
5438
5441
  'Move back...': 'Spostarsi più lontano...',
5439
5442
  'Move forward...': 'Spostarsi più vicino...',
5440
5443
  'Move to the center...': 'Spostarsi al centro...',
5444
+ 'Waiting for face to be detected...': 'In attesa che venga rilevato il volto...',
5441
5445
  'Please remove your eye coverings (sunglasses eye patch etc.)...': 'Rimuovere tutto ciò che copre gli occhi (occhiali da sole, bende, ecc.)...',
5442
5446
  'Please remove your head coverings (hat scarf etc.)...': 'Rimuovere tutto ciò che ricopre il capo (cappello, sciarpa, ecc.)...',
5443
5447
  'Please remove your mask...': 'Rimuovere la mascherina...',
@@ -5562,6 +5566,7 @@ var ja = {
5562
5566
  'Move back...': '遠ざかってください…',
5563
5567
  'Move forward...': '近づいてください…',
5564
5568
  'Move to the center...': '中央へ移動してください…',
5569
+ 'Waiting for face to be detected...': '顔が検出されるのを待っています…',
5565
5570
  'Please remove your eye coverings (sunglasses eye patch etc.)...': '目を覆うもの(サングラスや眼帯など)を取り外してください…',
5566
5571
  'Please remove your head coverings (hat scarf etc.)...': '頭を覆うもの(帽子やスカーフなど)を取り外してください…',
5567
5572
  'Please remove your mask...': 'マスクを取り外してください…',
@@ -5686,6 +5691,7 @@ var pt = {
5686
5691
  'Move back...': 'Mover para trás...',
5687
5692
  'Move forward...': 'Mover para frente...',
5688
5693
  'Move to the center...': 'Mover para o centro...',
5694
+ 'Waiting for face to be detected...': 'Aguardando a detecção de rosto...',
5689
5695
  'Please remove your eye coverings (sunglasses eye patch etc.)...': 'Por favor, remova as coberturas dos olhos (óculos de sol, tapa-olho, etc.)...',
5690
5696
  'Please remove your head coverings (hat scarf etc.)...': 'Por favor, remova as coberturas da cabeça (chapéu, cachecol, etc.)...',
5691
5697
  'Please remove your mask...': 'Por favor, remova sua máscara...',
@@ -5810,6 +5816,7 @@ var ru = {
5810
5816
  'Move back...': 'Отойдите назад…',
5811
5817
  'Move forward...': 'Подвиньтесь вперед…',
5812
5818
  'Move to the center...': 'Переместите к центру…',
5819
+ 'Waiting for face to be detected...': 'Ожидание обнаружения лица…',
5813
5820
  'Please remove your eye coverings (sunglasses eye patch etc.)...': 'Снимите предметы, закрывающие глаза (солнцезащитные очки, повязку и т.д.)…',
5814
5821
  'Please remove your head coverings (hat scarf etc.)...': 'Снимите предметы, покрывающие голову (шапку, шарф и т.д.)…',
5815
5822
  'Please remove your mask...': 'Снимите маску…',
@@ -5934,6 +5941,7 @@ var zh = {
5934
5941
  'Move back...': '請後退...',
5935
5942
  'Move forward...': '請前進...',
5936
5943
  'Move to the center...': '請移至中心...',
5944
+ 'Waiting for face to be detected...': '正在等待臉部辨識...',
5937
5945
  'Please remove your eye coverings (sunglasses eye patch etc.)...': '請取下眼睛遮蓋物(太陽眼鏡、眼罩等)...',
5938
5946
  'Please remove your head coverings (hat scarf etc.)...': '請取下頭部遮蓋物(帽子、圍巾等)...',
5939
5947
  'Please remove your mask...': '請脫下口罩...',
@@ -11467,7 +11475,7 @@ var SelfieCapture = function SelfieCapture(_a) {
11467
11475
  face: prediction.face,
11468
11476
  scaling: debugScalingDetails,
11469
11477
  color: satisfied ? 'green' : 'red'
11470
- }))), debugMode && ( /*#__PURE__*/React__default.createElement(DebugStatsPane, null, camera ? ( /*#__PURE__*/React__default.createElement(React__default.Fragment, null, "\u2705 Camera: ", camera.label, " (", camera.width, "x", camera.height, ")")) : '❌ Camera not ready', /*#__PURE__*/React__default.createElement("br", null), !(prediction === null || prediction === void 0 ? void 0 : prediction.faceNotCentered) ? '✅' : '❌', " Face Centered", /*#__PURE__*/React__default.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__default.createElement("br", null), !(prediction === null || prediction === void 0 ? void 0 : prediction.faceLookingAway) ? '✅' : '❌', " Face Looking Forward", /*#__PURE__*/React__default.createElement("br", null), !(prediction === null || prediction === void 0 ? void 0 : prediction.faceIsStable) ? '✅' : '❌', " Face Is Stable", /*#__PURE__*/React__default.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__default.createElement(ExitCaptureButton, {
11478
+ }))), debugMode && ( /*#__PURE__*/React__default.createElement(DebugStatsPane, null, camera ? ( /*#__PURE__*/React__default.createElement(React__default.Fragment, null, "\u2705 Camera: ", camera.label, " (", camera.width, "x", camera.height, ")")) : '❌ Camera not ready', /*#__PURE__*/React__default.createElement("br", null), !(prediction === null || prediction === void 0 ? void 0 : prediction.faceNotDetected) ? '✅' : '❌', " Face Detected", /*#__PURE__*/React__default.createElement("br", null), !(prediction === null || prediction === void 0 ? void 0 : prediction.faceNotCentered) ? '✅' : '❌', " Face Centered", /*#__PURE__*/React__default.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__default.createElement("br", null), !(prediction === null || prediction === void 0 ? void 0 : prediction.faceLookingAway) ? '✅' : '❌', " Face Looking Forward", /*#__PURE__*/React__default.createElement("br", null), !(prediction === null || prediction === void 0 ? void 0 : prediction.faceIsStable) ? '✅' : '❌', " Face Is Stable", /*#__PURE__*/React__default.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__default.createElement(ExitCaptureButton, {
11471
11479
  onClick: onExit,
11472
11480
  className: classNames.exitCaptureBtn
11473
11481
  }));
@@ -11635,19 +11643,16 @@ var FaceLivenessCapture = function FaceLivenessCapture(_a) {
11635
11643
  });
11636
11644
  (function () {
11637
11645
  return __awaiter(_this, void 0, void 0, function () {
11638
- var imageUrl_1, response, _a, e_1;
11639
- return __generator(this, function (_b) {
11640
- switch (_b.label) {
11646
+ var imageUrl_1, response, e_1;
11647
+ return __generator(this, function (_a) {
11648
+ switch (_a.label) {
11641
11649
  case 0:
11642
- _b.trys.push([0, 3,, 4]);
11650
+ _a.trys.push([0, 2,, 3]);
11643
11651
  imageUrl_1 = cropToShoulders(rawCanvas.current, cropCanvas.current, resizeCanvas.current, frame, face, 0.92, 600);
11644
11652
  setImageUrl(imageUrl_1);
11645
- _a = checkLiveness;
11646
- return [4 /*yield*/, dataUrlToBase64(imageUrl_1)];
11653
+ return [4 /*yield*/, checkLiveness(dataUrlToBase64Sync(imageUrl_1))];
11647
11654
  case 1:
11648
- return [4 /*yield*/, _a.apply(void 0, [_b.sent()])];
11649
- case 2:
11650
- response = _b.sent();
11655
+ response = _a.sent();
11651
11656
  onLivenessChecked === null || onLivenessChecked === void 0 ? void 0 : onLivenessChecked(response);
11652
11657
  dispatch({
11653
11658
  type: 'livenessChecked',
@@ -11658,17 +11663,17 @@ var FaceLivenessCapture = function FaceLivenessCapture(_a) {
11658
11663
  response: response
11659
11664
  }
11660
11665
  });
11661
- return [3 /*break*/, 4];
11662
- case 3:
11663
- e_1 = _b.sent();
11666
+ return [3 /*break*/, 3];
11667
+ case 2:
11668
+ e_1 = _a.sent();
11664
11669
  dispatch({
11665
11670
  type: 'livenessCheckFailed',
11666
11671
  payload: {
11667
11672
  error: e_1
11668
11673
  }
11669
11674
  });
11670
- return [3 /*break*/, 4];
11671
- case 4:
11675
+ return [3 /*break*/, 3];
11676
+ case 3:
11672
11677
  return [2 /*return*/];
11673
11678
  }
11674
11679
  });
@@ -11677,7 +11682,7 @@ var FaceLivenessCapture = function FaceLivenessCapture(_a) {
11677
11682
  }, [checkLiveness, face, frame, isReady, onLivenessChecked, submissionError]);
11678
11683
  var onFallbackImageCaptured = useCallback(function (imageUrl) {
11679
11684
  return __awaiter(void 0, void 0, void 0, function () {
11680
- var imageData, response, e_2;
11685
+ var response, e_2;
11681
11686
  var _a;
11682
11687
  return __generator(this, function (_b) {
11683
11688
  switch (_b.label) {
@@ -11687,12 +11692,9 @@ var FaceLivenessCapture = function FaceLivenessCapture(_a) {
11687
11692
  });
11688
11693
  _b.label = 1;
11689
11694
  case 1:
11690
- _b.trys.push([1, 4,, 5]);
11691
- return [4 /*yield*/, dataUrlToBase64(imageUrl)];
11695
+ _b.trys.push([1, 3,, 4]);
11696
+ return [4 /*yield*/, checkLiveness(dataUrlToBase64Sync(imageUrl))];
11692
11697
  case 2:
11693
- imageData = _b.sent();
11694
- return [4 /*yield*/, checkLiveness(imageData)];
11695
- case 3:
11696
11698
  response = _b.sent();
11697
11699
  if (((_a = response === null || response === void 0 ? void 0 : response.resultData) === null || _a === void 0 ? void 0 : _a.verificationResult) !== 'Live Face Detected') {
11698
11700
  onFailure === null || onFailure === void 0 ? void 0 : onFailure();
@@ -11705,8 +11707,8 @@ var FaceLivenessCapture = function FaceLivenessCapture(_a) {
11705
11707
  response: response
11706
11708
  }
11707
11709
  });
11708
- return [3 /*break*/, 5];
11709
- case 4:
11710
+ return [3 /*break*/, 4];
11711
+ case 3:
11710
11712
  e_2 = _b.sent();
11711
11713
  dispatch({
11712
11714
  type: 'livenessCheckFailed',
@@ -11714,8 +11716,8 @@ var FaceLivenessCapture = function FaceLivenessCapture(_a) {
11714
11716
  error: e_2
11715
11717
  }
11716
11718
  });
11717
- return [3 /*break*/, 5];
11718
- case 5:
11719
+ return [3 /*break*/, 4];
11720
+ case 4:
11719
11721
  return [2 /*return*/];
11720
11722
  }
11721
11723
  });
@@ -12359,20 +12361,13 @@ var FaceLivenessWizard = function FaceLivenessWizard(_a) {
12359
12361
  }, [logCaptureMetadata]);
12360
12362
  var onSuccessCallback = useCallback(function (faceCropImageUrl) {
12361
12363
  return __awaiter(void 0, void 0, void 0, function () {
12362
- var _a;
12363
- return __generator(this, function (_b) {
12364
- switch (_b.label) {
12365
- case 0:
12366
- if (!livenessCheckRequest || !submissionResponse) return [2 /*return*/];
12367
- setCaptureState('SUCCESS');
12368
- setFaceCropImageUrl(faceCropImageUrl);
12369
- _a = setSelfieImage;
12370
- return [4 /*yield*/, dataUrlToBase64(faceCropImageUrl)];
12371
- case 1:
12372
- _a.apply(void 0, [_b.sent()]);
12373
- onSuccess === null || onSuccess === void 0 ? void 0 : onSuccess(submissionResponse, livenessCheckRequest);
12374
- return [2 /*return*/];
12375
- }
12364
+ return __generator(this, function (_a) {
12365
+ if (!livenessCheckRequest || !submissionResponse) return [2 /*return*/];
12366
+ setCaptureState('SUCCESS');
12367
+ setFaceCropImageUrl(faceCropImageUrl);
12368
+ setSelfieImage(dataUrlToBase64Sync(faceCropImageUrl));
12369
+ onSuccess === null || onSuccess === void 0 ? void 0 : onSuccess(submissionResponse, livenessCheckRequest);
12370
+ return [2 /*return*/];
12376
12371
  });
12377
12372
  });
12378
12373
  }, [onSuccess, setSelfieImage, livenessCheckRequest, submissionResponse]);
@@ -12387,7 +12382,25 @@ var FaceLivenessWizard = function FaceLivenessWizard(_a) {
12387
12382
  return [2 /*return*/];
12388
12383
  });
12389
12384
  });
12390
- }, [livenessCheckRequest, onFailure, submissionResponse]);
12385
+ }, [allowLivenessFailure, livenessCheckRequest, onFailure, onSuccess, submissionResponse]);
12386
+ var selfieGuidanceCanvasRef = useContext(SelfieGuidanceModelsContext).canvasRef;
12387
+ var resizeCanvas = useRef(null);
12388
+ var onTimeoutCallback = useCallback(function () {
12389
+ if (allowLivenessFailure) {
12390
+ setCaptureState('SUCCESS');
12391
+ if (selfieGuidanceCanvasRef.current && resizeCanvas.current) {
12392
+ var srcCanvas = selfieGuidanceCanvasRef.current;
12393
+ resizeCanvas.current.height = 600;
12394
+ resizeCanvas.current.width = srcCanvas.width * (resizeCanvas.current.height / srcCanvas.height);
12395
+ var resizeCtx = resizeCanvas.current.getContext('2d');
12396
+ resizeCtx.drawImage(srcCanvas, 0, 0, resizeCanvas.current.width, 600);
12397
+ var dataURL = resizeCanvas.current.toDataURL('image/jpeg', 0.92);
12398
+ setSelfieImage(dataUrlToBase64Sync(dataURL));
12399
+ }
12400
+ onSuccess === null || onSuccess === void 0 ? void 0 : onSuccess(submissionResponse, livenessCheckRequest);
12401
+ }
12402
+ onTimeout === null || onTimeout === void 0 ? void 0 : onTimeout();
12403
+ }, [allowLivenessFailure, livenessCheckRequest, onSuccess, onTimeout, selfieGuidanceCanvasRef, setSelfieImage, submissionResponse]);
12391
12404
  var onDeniedCallback = useCallback(function () {
12392
12405
  if (!allowLivenessFailure) {
12393
12406
  setCaptureState('FAILED');
@@ -12395,7 +12408,7 @@ var FaceLivenessWizard = function FaceLivenessWizard(_a) {
12395
12408
  setCaptureState('SUCCESS');
12396
12409
  }
12397
12410
  onDenied === null || onDenied === void 0 ? void 0 : onDenied(submissionResponse, livenessCheckRequest);
12398
- }, [onDenied, submissionResponse, livenessCheckRequest]);
12411
+ }, [allowLivenessFailure, onDenied, submissionResponse, livenessCheckRequest]);
12399
12412
  var _1 = useState(0),
12400
12413
  attempt = _1[0],
12401
12414
  setAttempt = _1[1];
@@ -12444,7 +12457,9 @@ var FaceLivenessWizard = function FaceLivenessWizard(_a) {
12444
12457
  onExitAfterFailure === null || onExitAfterFailure === void 0 ? void 0 : onExitAfterFailure(submissionResponse, livenessCheckRequest);
12445
12458
  }, 0);
12446
12459
  }, [livenessCheckRequest, onExitAfterFailure, releaseCameraAccess, releaseCameraAccessOnExit, submissionResponse]);
12447
- return /*#__PURE__*/React__default.createElement(React__default.Fragment, null, /*#__PURE__*/React__default.createElement(PageContainer, {
12460
+ return /*#__PURE__*/React__default.createElement(React__default.Fragment, null, /*#__PURE__*/React__default.createElement(InvisibleCanvas, {
12461
+ ref: resizeCanvas
12462
+ }), /*#__PURE__*/React__default.createElement(PageContainer, {
12448
12463
  className: "flex ".concat((_c = (_b = classNames.capture) === null || _b === void 0 ? void 0 : _b.container) !== null && _c !== void 0 ? _c : '')
12449
12464
  }, renderCameraFeed && ( /*#__PURE__*/React__default.createElement(CameraVideoTag, {
12450
12465
  className: (_d = classNames.capture) === null || _d === void 0 ? void 0 : _d.cameraFeed
@@ -12458,7 +12473,7 @@ var FaceLivenessWizard = function FaceLivenessWizard(_a) {
12458
12473
  onLivenessChecked: onLivenessChecked,
12459
12474
  onSuccess: onSuccessCallback,
12460
12475
  onFailure: onFailureCallback,
12461
- onTimeout: onTimeout,
12476
+ onTimeout: onTimeoutCallback,
12462
12477
  onDenied: onDeniedCallback,
12463
12478
  onExit: onExitCallback,
12464
12479
  initialCaptureDelayMs: initialCaptureDelayMs,
@@ -13505,7 +13520,7 @@ var VideoSignatureWizard = function VideoSignatureWizard(_a) {
13505
13520
  onFaceLivenessSuccessProp === null || onFaceLivenessSuccessProp === void 0 ? void 0 : onFaceLivenessSuccessProp(response, request);
13506
13521
  setCaptureState('CAPTURING_SIGNATURE');
13507
13522
  logCaptureMetadata();
13508
- var selfieFromRequest = (_b = (_a = request.customerData) === null || _a === void 0 ? void 0 : _a.biometricData) === null || _b === void 0 ? void 0 : _b.selfie;
13523
+ 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;
13509
13524
  if (!selfieImage && selfieFromRequest) {
13510
13525
  setSelfieImage(selfieFromRequest);
13511
13526
  }