idmission-web-sdk 2.2.139 → 2.2.141

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.
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.139';
206
+ var webSdkVersion = '2.2.141';
207
207
 
208
208
  function getPlatform() {
209
209
  // eslint-disable-next-line @typescript-eslint/ban-ts-comment
@@ -11475,7 +11475,7 @@ var SelfieCapture = function SelfieCapture(_a) {
11475
11475
  face: prediction.face,
11476
11476
  scaling: debugScalingDetails,
11477
11477
  color: satisfied ? 'green' : 'red'
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.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, {
11479
11479
  onClick: onExit,
11480
11480
  className: classNames.exitCaptureBtn
11481
11481
  }));
@@ -11643,19 +11643,16 @@ var FaceLivenessCapture = function FaceLivenessCapture(_a) {
11643
11643
  });
11644
11644
  (function () {
11645
11645
  return __awaiter(_this, void 0, void 0, function () {
11646
- var imageUrl_1, response, _a, e_1;
11647
- return __generator(this, function (_b) {
11648
- switch (_b.label) {
11646
+ var imageUrl_1, response, e_1;
11647
+ return __generator(this, function (_a) {
11648
+ switch (_a.label) {
11649
11649
  case 0:
11650
- _b.trys.push([0, 3,, 4]);
11650
+ _a.trys.push([0, 2,, 3]);
11651
11651
  imageUrl_1 = cropToShoulders(rawCanvas.current, cropCanvas.current, resizeCanvas.current, frame, face, 0.92, 600);
11652
11652
  setImageUrl(imageUrl_1);
11653
- _a = checkLiveness;
11654
- return [4 /*yield*/, dataUrlToBase64(imageUrl_1)];
11653
+ return [4 /*yield*/, checkLiveness(dataUrlToBase64Sync(imageUrl_1))];
11655
11654
  case 1:
11656
- return [4 /*yield*/, _a.apply(void 0, [_b.sent()])];
11657
- case 2:
11658
- response = _b.sent();
11655
+ response = _a.sent();
11659
11656
  onLivenessChecked === null || onLivenessChecked === void 0 ? void 0 : onLivenessChecked(response);
11660
11657
  dispatch({
11661
11658
  type: 'livenessChecked',
@@ -11666,17 +11663,17 @@ var FaceLivenessCapture = function FaceLivenessCapture(_a) {
11666
11663
  response: response
11667
11664
  }
11668
11665
  });
11669
- return [3 /*break*/, 4];
11670
- case 3:
11671
- e_1 = _b.sent();
11666
+ return [3 /*break*/, 3];
11667
+ case 2:
11668
+ e_1 = _a.sent();
11672
11669
  dispatch({
11673
11670
  type: 'livenessCheckFailed',
11674
11671
  payload: {
11675
11672
  error: e_1
11676
11673
  }
11677
11674
  });
11678
- return [3 /*break*/, 4];
11679
- case 4:
11675
+ return [3 /*break*/, 3];
11676
+ case 3:
11680
11677
  return [2 /*return*/];
11681
11678
  }
11682
11679
  });
@@ -11685,7 +11682,7 @@ var FaceLivenessCapture = function FaceLivenessCapture(_a) {
11685
11682
  }, [checkLiveness, face, frame, isReady, onLivenessChecked, submissionError]);
11686
11683
  var onFallbackImageCaptured = useCallback(function (imageUrl) {
11687
11684
  return __awaiter(void 0, void 0, void 0, function () {
11688
- var imageData, response, e_2;
11685
+ var response, e_2;
11689
11686
  var _a;
11690
11687
  return __generator(this, function (_b) {
11691
11688
  switch (_b.label) {
@@ -11695,12 +11692,9 @@ var FaceLivenessCapture = function FaceLivenessCapture(_a) {
11695
11692
  });
11696
11693
  _b.label = 1;
11697
11694
  case 1:
11698
- _b.trys.push([1, 4,, 5]);
11699
- return [4 /*yield*/, dataUrlToBase64(imageUrl)];
11695
+ _b.trys.push([1, 3,, 4]);
11696
+ return [4 /*yield*/, checkLiveness(dataUrlToBase64Sync(imageUrl))];
11700
11697
  case 2:
11701
- imageData = _b.sent();
11702
- return [4 /*yield*/, checkLiveness(imageData)];
11703
- case 3:
11704
11698
  response = _b.sent();
11705
11699
  if (((_a = response === null || response === void 0 ? void 0 : response.resultData) === null || _a === void 0 ? void 0 : _a.verificationResult) !== 'Live Face Detected') {
11706
11700
  onFailure === null || onFailure === void 0 ? void 0 : onFailure();
@@ -11713,8 +11707,8 @@ var FaceLivenessCapture = function FaceLivenessCapture(_a) {
11713
11707
  response: response
11714
11708
  }
11715
11709
  });
11716
- return [3 /*break*/, 5];
11717
- case 4:
11710
+ return [3 /*break*/, 4];
11711
+ case 3:
11718
11712
  e_2 = _b.sent();
11719
11713
  dispatch({
11720
11714
  type: 'livenessCheckFailed',
@@ -11722,8 +11716,8 @@ var FaceLivenessCapture = function FaceLivenessCapture(_a) {
11722
11716
  error: e_2
11723
11717
  }
11724
11718
  });
11725
- return [3 /*break*/, 5];
11726
- case 5:
11719
+ return [3 /*break*/, 4];
11720
+ case 4:
11727
11721
  return [2 /*return*/];
11728
11722
  }
11729
11723
  });
@@ -12367,20 +12361,13 @@ var FaceLivenessWizard = function FaceLivenessWizard(_a) {
12367
12361
  }, [logCaptureMetadata]);
12368
12362
  var onSuccessCallback = useCallback(function (faceCropImageUrl) {
12369
12363
  return __awaiter(void 0, void 0, void 0, function () {
12370
- var _a;
12371
- return __generator(this, function (_b) {
12372
- switch (_b.label) {
12373
- case 0:
12374
- if (!livenessCheckRequest || !submissionResponse) return [2 /*return*/];
12375
- setCaptureState('SUCCESS');
12376
- setFaceCropImageUrl(faceCropImageUrl);
12377
- _a = setSelfieImage;
12378
- return [4 /*yield*/, dataUrlToBase64(faceCropImageUrl)];
12379
- case 1:
12380
- _a.apply(void 0, [_b.sent()]);
12381
- onSuccess === null || onSuccess === void 0 ? void 0 : onSuccess(submissionResponse, livenessCheckRequest);
12382
- return [2 /*return*/];
12383
- }
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*/];
12384
12371
  });
12385
12372
  });
12386
12373
  }, [onSuccess, setSelfieImage, livenessCheckRequest, submissionResponse]);
@@ -12395,7 +12382,25 @@ var FaceLivenessWizard = function FaceLivenessWizard(_a) {
12395
12382
  return [2 /*return*/];
12396
12383
  });
12397
12384
  });
12398
- }, [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]);
12399
12404
  var onDeniedCallback = useCallback(function () {
12400
12405
  if (!allowLivenessFailure) {
12401
12406
  setCaptureState('FAILED');
@@ -12403,7 +12408,7 @@ var FaceLivenessWizard = function FaceLivenessWizard(_a) {
12403
12408
  setCaptureState('SUCCESS');
12404
12409
  }
12405
12410
  onDenied === null || onDenied === void 0 ? void 0 : onDenied(submissionResponse, livenessCheckRequest);
12406
- }, [onDenied, submissionResponse, livenessCheckRequest]);
12411
+ }, [allowLivenessFailure, onDenied, submissionResponse, livenessCheckRequest]);
12407
12412
  var _1 = useState(0),
12408
12413
  attempt = _1[0],
12409
12414
  setAttempt = _1[1];
@@ -12452,7 +12457,9 @@ var FaceLivenessWizard = function FaceLivenessWizard(_a) {
12452
12457
  onExitAfterFailure === null || onExitAfterFailure === void 0 ? void 0 : onExitAfterFailure(submissionResponse, livenessCheckRequest);
12453
12458
  }, 0);
12454
12459
  }, [livenessCheckRequest, onExitAfterFailure, releaseCameraAccess, releaseCameraAccessOnExit, submissionResponse]);
12455
- 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, {
12456
12463
  className: "flex ".concat((_c = (_b = classNames.capture) === null || _b === void 0 ? void 0 : _b.container) !== null && _c !== void 0 ? _c : '')
12457
12464
  }, renderCameraFeed && ( /*#__PURE__*/React__default.createElement(CameraVideoTag, {
12458
12465
  className: (_d = classNames.capture) === null || _d === void 0 ? void 0 : _d.cameraFeed
@@ -12466,7 +12473,7 @@ var FaceLivenessWizard = function FaceLivenessWizard(_a) {
12466
12473
  onLivenessChecked: onLivenessChecked,
12467
12474
  onSuccess: onSuccessCallback,
12468
12475
  onFailure: onFailureCallback,
12469
- onTimeout: onTimeout,
12476
+ onTimeout: onTimeoutCallback,
12470
12477
  onDenied: onDeniedCallback,
12471
12478
  onExit: onExitCallback,
12472
12479
  initialCaptureDelayMs: initialCaptureDelayMs,
@@ -13513,7 +13520,7 @@ var VideoSignatureWizard = function VideoSignatureWizard(_a) {
13513
13520
  onFaceLivenessSuccessProp === null || onFaceLivenessSuccessProp === void 0 ? void 0 : onFaceLivenessSuccessProp(response, request);
13514
13521
  setCaptureState('CAPTURING_SIGNATURE');
13515
13522
  logCaptureMetadata();
13516
- 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;
13517
13524
  if (!selfieImage && selfieFromRequest) {
13518
13525
  setSelfieImage(selfieFromRequest);
13519
13526
  }