idmission-web-sdk 2.2.139 → 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.
@@ -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.139';
214
+ var webSdkVersion = '2.2.140';
215
215
 
216
216
  function getPlatform() {
217
217
  // eslint-disable-next-line @typescript-eslint/ban-ts-comment
@@ -20599,7 +20599,7 @@
20599
20599
  face: prediction.face,
20600
20600
  scaling: debugScalingDetails,
20601
20601
  color: satisfied ? 'green' : 'red'
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.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, {
20603
20603
  onClick: onExit,
20604
20604
  className: classNames.exitCaptureBtn
20605
20605
  }));
@@ -20767,19 +20767,16 @@
20767
20767
  });
20768
20768
  (function () {
20769
20769
  return __awaiter(_this, void 0, void 0, function () {
20770
- var imageUrl_1, response, _a, e_1;
20771
- return __generator(this, function (_b) {
20772
- switch (_b.label) {
20770
+ var imageUrl_1, response, e_1;
20771
+ return __generator(this, function (_a) {
20772
+ switch (_a.label) {
20773
20773
  case 0:
20774
- _b.trys.push([0, 3,, 4]);
20774
+ _a.trys.push([0, 2,, 3]);
20775
20775
  imageUrl_1 = cropToShoulders(rawCanvas.current, cropCanvas.current, resizeCanvas.current, frame, face, 0.92, 600);
20776
20776
  setImageUrl(imageUrl_1);
20777
- _a = checkLiveness;
20778
- return [4 /*yield*/, dataUrlToBase64(imageUrl_1)];
20777
+ return [4 /*yield*/, checkLiveness(dataUrlToBase64Sync(imageUrl_1))];
20779
20778
  case 1:
20780
- return [4 /*yield*/, _a.apply(void 0, [_b.sent()])];
20781
- case 2:
20782
- response = _b.sent();
20779
+ response = _a.sent();
20783
20780
  onLivenessChecked === null || onLivenessChecked === void 0 ? void 0 : onLivenessChecked(response);
20784
20781
  dispatch({
20785
20782
  type: 'livenessChecked',
@@ -20790,17 +20787,17 @@
20790
20787
  response: response
20791
20788
  }
20792
20789
  });
20793
- return [3 /*break*/, 4];
20794
- case 3:
20795
- e_1 = _b.sent();
20790
+ return [3 /*break*/, 3];
20791
+ case 2:
20792
+ e_1 = _a.sent();
20796
20793
  dispatch({
20797
20794
  type: 'livenessCheckFailed',
20798
20795
  payload: {
20799
20796
  error: e_1
20800
20797
  }
20801
20798
  });
20802
- return [3 /*break*/, 4];
20803
- case 4:
20799
+ return [3 /*break*/, 3];
20800
+ case 3:
20804
20801
  return [2 /*return*/];
20805
20802
  }
20806
20803
  });
@@ -20809,7 +20806,7 @@
20809
20806
  }, [checkLiveness, face, frame, isReady, onLivenessChecked, submissionError]);
20810
20807
  var onFallbackImageCaptured = React.useCallback(function (imageUrl) {
20811
20808
  return __awaiter(void 0, void 0, void 0, function () {
20812
- var imageData, response, e_2;
20809
+ var response, e_2;
20813
20810
  var _a;
20814
20811
  return __generator(this, function (_b) {
20815
20812
  switch (_b.label) {
@@ -20819,12 +20816,9 @@
20819
20816
  });
20820
20817
  _b.label = 1;
20821
20818
  case 1:
20822
- _b.trys.push([1, 4,, 5]);
20823
- return [4 /*yield*/, dataUrlToBase64(imageUrl)];
20819
+ _b.trys.push([1, 3,, 4]);
20820
+ return [4 /*yield*/, checkLiveness(dataUrlToBase64Sync(imageUrl))];
20824
20821
  case 2:
20825
- imageData = _b.sent();
20826
- return [4 /*yield*/, checkLiveness(imageData)];
20827
- case 3:
20828
20822
  response = _b.sent();
20829
20823
  if (((_a = response === null || response === void 0 ? void 0 : response.resultData) === null || _a === void 0 ? void 0 : _a.verificationResult) !== 'Live Face Detected') {
20830
20824
  onFailure === null || onFailure === void 0 ? void 0 : onFailure();
@@ -20837,8 +20831,8 @@
20837
20831
  response: response
20838
20832
  }
20839
20833
  });
20840
- return [3 /*break*/, 5];
20841
- case 4:
20834
+ return [3 /*break*/, 4];
20835
+ case 3:
20842
20836
  e_2 = _b.sent();
20843
20837
  dispatch({
20844
20838
  type: 'livenessCheckFailed',
@@ -20846,8 +20840,8 @@
20846
20840
  error: e_2
20847
20841
  }
20848
20842
  });
20849
- return [3 /*break*/, 5];
20850
- case 5:
20843
+ return [3 /*break*/, 4];
20844
+ case 4:
20851
20845
  return [2 /*return*/];
20852
20846
  }
20853
20847
  });
@@ -21491,20 +21485,13 @@
21491
21485
  }, [logCaptureMetadata]);
21492
21486
  var onSuccessCallback = React.useCallback(function (faceCropImageUrl) {
21493
21487
  return __awaiter(void 0, void 0, void 0, function () {
21494
- var _a;
21495
- return __generator(this, function (_b) {
21496
- switch (_b.label) {
21497
- case 0:
21498
- if (!livenessCheckRequest || !submissionResponse) return [2 /*return*/];
21499
- setCaptureState('SUCCESS');
21500
- setFaceCropImageUrl(faceCropImageUrl);
21501
- _a = setSelfieImage;
21502
- return [4 /*yield*/, dataUrlToBase64(faceCropImageUrl)];
21503
- case 1:
21504
- _a.apply(void 0, [_b.sent()]);
21505
- onSuccess === null || onSuccess === void 0 ? void 0 : onSuccess(submissionResponse, livenessCheckRequest);
21506
- return [2 /*return*/];
21507
- }
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*/];
21508
21495
  });
21509
21496
  });
21510
21497
  }, [onSuccess, setSelfieImage, livenessCheckRequest, submissionResponse]);
@@ -21519,7 +21506,25 @@
21519
21506
  return [2 /*return*/];
21520
21507
  });
21521
21508
  });
21522
- }, [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]);
21523
21528
  var onDeniedCallback = React.useCallback(function () {
21524
21529
  if (!allowLivenessFailure) {
21525
21530
  setCaptureState('FAILED');
@@ -21527,7 +21532,7 @@
21527
21532
  setCaptureState('SUCCESS');
21528
21533
  }
21529
21534
  onDenied === null || onDenied === void 0 ? void 0 : onDenied(submissionResponse, livenessCheckRequest);
21530
- }, [onDenied, submissionResponse, livenessCheckRequest]);
21535
+ }, [allowLivenessFailure, onDenied, submissionResponse, livenessCheckRequest]);
21531
21536
  var _1 = React.useState(0),
21532
21537
  attempt = _1[0],
21533
21538
  setAttempt = _1[1];
@@ -21576,7 +21581,9 @@
21576
21581
  onExitAfterFailure === null || onExitAfterFailure === void 0 ? void 0 : onExitAfterFailure(submissionResponse, livenessCheckRequest);
21577
21582
  }, 0);
21578
21583
  }, [livenessCheckRequest, onExitAfterFailure, releaseCameraAccess, releaseCameraAccessOnExit, submissionResponse]);
21579
- 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, {
21580
21587
  className: "flex ".concat((_c = (_b = classNames.capture) === null || _b === void 0 ? void 0 : _b.container) !== null && _c !== void 0 ? _c : '')
21581
21588
  }, renderCameraFeed && ( /*#__PURE__*/React.createElement(CameraVideoTag, {
21582
21589
  className: (_d = classNames.capture) === null || _d === void 0 ? void 0 : _d.cameraFeed
@@ -21590,7 +21597,7 @@
21590
21597
  onLivenessChecked: onLivenessChecked,
21591
21598
  onSuccess: onSuccessCallback,
21592
21599
  onFailure: onFailureCallback,
21593
- onTimeout: onTimeout,
21600
+ onTimeout: onTimeoutCallback,
21594
21601
  onDenied: onDeniedCallback,
21595
21602
  onExit: onExitCallback,
21596
21603
  initialCaptureDelayMs: initialCaptureDelayMs,
@@ -23405,7 +23412,7 @@
23405
23412
  onFaceLivenessSuccessProp === null || onFaceLivenessSuccessProp === void 0 ? void 0 : onFaceLivenessSuccessProp(response, request);
23406
23413
  setCaptureState('CAPTURING_SIGNATURE');
23407
23414
  logCaptureMetadata();
23408
- 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;
23409
23416
  if (!selfieImage && selfieFromRequest) {
23410
23417
  setSelfieImage(selfieFromRequest);
23411
23418
  }