idmission-web-sdk 2.3.60 → 2.3.62

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 (66) hide show
  1. package/dist/components/common/GuidanceMessage.d.ts.map +1 -1
  2. package/dist/components/common/overlay.d.ts.map +1 -1
  3. package/dist/components/customer_flows/CustomerBiometricsEnrollment.d.ts +2 -0
  4. package/dist/components/customer_flows/CustomerBiometricsEnrollment.d.ts.map +1 -1
  5. package/dist/components/customer_flows/CustomerIdAndBiometricsEnrollment.d.ts +2 -0
  6. package/dist/components/customer_flows/CustomerIdAndBiometricsEnrollment.d.ts.map +1 -1
  7. package/dist/components/customer_flows/CustomerIdentification.d.ts +2 -0
  8. package/dist/components/customer_flows/CustomerIdentification.d.ts.map +1 -1
  9. package/dist/components/customer_flows/CustomerVerification.d.ts +2 -0
  10. package/dist/components/customer_flows/CustomerVerification.d.ts.map +1 -1
  11. package/dist/components/customer_flows/FaceValidation.d.ts +2 -0
  12. package/dist/components/customer_flows/FaceValidation.d.ts.map +1 -1
  13. package/dist/components/customer_flows/IdAndFaceValidation.d.ts +2 -0
  14. package/dist/components/customer_flows/IdAndFaceValidation.d.ts.map +1 -1
  15. package/dist/components/customer_flows/IdValidation.d.ts +2 -0
  16. package/dist/components/customer_flows/IdValidation.d.ts.map +1 -1
  17. package/dist/components/customer_flows/SignatureKYC.d.ts +4 -0
  18. package/dist/components/customer_flows/SignatureKYC.d.ts.map +1 -1
  19. package/dist/components/customer_flows/VideoIdValidation.d.ts +2 -0
  20. package/dist/components/customer_flows/VideoIdValidation.d.ts.map +1 -1
  21. package/dist/components/customer_identification/CustomerIdentificationCapture.d.ts.map +1 -1
  22. package/dist/components/customer_identification/CustomerIdentificationWizard.d.ts +2 -1
  23. package/dist/components/customer_identification/CustomerIdentificationWizard.d.ts.map +1 -1
  24. package/dist/components/customer_verification/CustomerVerificationCapture.d.ts.map +1 -1
  25. package/dist/components/customer_verification/CustomerVerificationWizard.d.ts +2 -1
  26. package/dist/components/customer_verification/CustomerVerificationWizard.d.ts.map +1 -1
  27. package/dist/components/face_liveness/FaceLivenessCapture.d.ts +2 -1
  28. package/dist/components/face_liveness/FaceLivenessCapture.d.ts.map +1 -1
  29. package/dist/components/face_liveness/FaceLivenessWizard.d.ts +3 -1
  30. package/dist/components/face_liveness/FaceLivenessWizard.d.ts.map +1 -1
  31. package/dist/components/id_capture/IdCaptureLoadingOverlay.d.ts +1 -0
  32. package/dist/components/id_capture/IdCaptureLoadingOverlay.d.ts.map +1 -1
  33. package/dist/components/id_capture/IdCaptureLoadingOverlayDefault.d.ts +1 -1
  34. package/dist/components/id_capture/IdCaptureLoadingOverlayDefault.d.ts.map +1 -1
  35. package/dist/components/id_capture/IdCaptureWizard.d.ts +2 -1
  36. package/dist/components/id_capture/IdCaptureWizard.d.ts.map +1 -1
  37. package/dist/components/selfie_capture/SelfieCapture.d.ts +5 -2
  38. package/dist/components/selfie_capture/SelfieCapture.d.ts.map +1 -1
  39. package/dist/components/selfie_capture/SelfieCaptureLoadingOverlay.d.ts +2 -0
  40. package/dist/components/selfie_capture/SelfieCaptureLoadingOverlay.d.ts.map +1 -1
  41. package/dist/components/selfie_capture/SelfieCaptureLoadingOverlayDefault.d.ts +1 -1
  42. package/dist/components/selfie_capture/SelfieCaptureLoadingOverlayDefault.d.ts.map +1 -1
  43. package/dist/components/selfie_capture/SelfieCaptureWizard.d.ts +3 -1
  44. package/dist/components/selfie_capture/SelfieCaptureWizard.d.ts.map +1 -1
  45. package/dist/components/video_id/IdVideoCaptureWizard.d.ts +2 -1
  46. package/dist/components/video_id/IdVideoCaptureWizard.d.ts.map +1 -1
  47. package/dist/components/video_signature_capture/VideoSignatureCapture.d.ts.map +1 -1
  48. package/dist/components/video_signature_capture/VideoSignatureWizard.d.ts +3 -1
  49. package/dist/components/video_signature_capture/VideoSignatureWizard.d.ts.map +1 -1
  50. package/dist/lib/models/FaceDetection.d.ts.map +1 -1
  51. package/dist/lib/models/loadProgressHooks.d.ts +3 -1
  52. package/dist/lib/models/loadProgressHooks.d.ts.map +1 -1
  53. package/dist/lib/utils/cropping.d.ts +1 -1
  54. package/dist/lib/utils/cropping.d.ts.map +1 -1
  55. package/dist/sdk2.cjs.development.js +438 -317
  56. package/dist/sdk2.cjs.development.js.map +1 -1
  57. package/dist/sdk2.cjs.production.js +1 -1
  58. package/dist/sdk2.cjs.production.js.map +1 -1
  59. package/dist/sdk2.esm.js +438 -317
  60. package/dist/sdk2.esm.js.map +1 -1
  61. package/dist/sdk2.umd.development.js +438 -317
  62. package/dist/sdk2.umd.development.js.map +1 -1
  63. package/dist/sdk2.umd.production.js +1 -1
  64. package/dist/sdk2.umd.production.js.map +1 -1
  65. package/dist/version.d.ts +1 -1
  66. 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.3.60';
214
+ var webSdkVersion = '2.3.62';
215
215
 
216
216
  function getPlatform() {
217
217
  // eslint-disable-next-line @typescript-eslint/ban-ts-comment
@@ -459,7 +459,7 @@
459
459
  var ButtonsRow$2 = styled.div(templateObject_1$R || (templateObject_1$R = __makeTemplateObject(["\n display: flex;\n gap: 0 15px;\n justify-content: center;\n text-align: left;\n"], ["\n display: flex;\n gap: 0 15px;\n justify-content: center;\n text-align: left;\n"])));
460
460
  var templateObject_1$R;
461
461
 
462
- var GuidanceMessageContainerDiv = styled.div(templateObject_1$Q || (templateObject_1$Q = __makeTemplateObject(["\n position: absolute;\n top: calc(", ");\n ", "\n font-weight: bold;\n width: 100%;\n display: flex;\n"], ["\n position: absolute;\n top: calc(", ");\n ", "\n font-weight: bold;\n width: 100%;\n display: flex;\n"])), function (_a) {
462
+ var GuidanceMessageContainerDiv = styled.div(templateObject_1$Q || (templateObject_1$Q = __makeTemplateObject(["\n position: absolute;\n top: calc(", ");\n ", "\n font-weight: bold;\n width: 100%;\n display: flex;\n padding: 0 10%;\n box-sizing: border-box;\n"], ["\n position: absolute;\n top: calc(", ");\n ", "\n font-weight: bold;\n width: 100%;\n display: flex;\n padding: 0 10%;\n box-sizing: border-box;\n"])), function (_a) {
463
463
  var $top = _a.$top;
464
464
  return $top !== null && $top !== void 0 ? $top : '10%';
465
465
  }, function (_a) {
@@ -472,33 +472,33 @@
472
472
  if (!portalLocation) return element;
473
473
  return /*#__PURE__*/reactDom.createPortal(element, portalLocation);
474
474
  };
475
- var GuidanceMessage = styled.div(templateObject_2$H || (templateObject_2$H = __makeTemplateObject(["\n margin-left: auto;\n margin-right: auto;\n background: ", ";\n color: ", ";\n padding: 10px 12px 8px;\n border-radius: 8px;\n z-index: 10001;\n"], ["\n margin-left: auto;\n margin-right: auto;\n background: ", ";\n color: ", ";\n padding: 10px 12px 8px;\n border-radius: 8px;\n z-index: 10001;\n"])), function (props) {
475
+ var GuidanceMessage = styled.div(templateObject_2$I || (templateObject_2$I = __makeTemplateObject(["\n margin-left: auto;\n margin-right: auto;\n background: ", ";\n color: ", ";\n border-radius: 8px;\n z-index: 10001;\n padding: 16px 24px;\n font-size: 18px;\n font-weight: bold;\n box-shadow:\n 0 1px 3px 0 rgb(0 0 0 / 0.1),\n 0 1px 2px -1px rgb(0 0 0 / 0.1);\n"], ["\n margin-left: auto;\n margin-right: auto;\n background: ", ";\n color: ", ";\n border-radius: 8px;\n z-index: 10001;\n padding: 16px 24px;\n font-size: 18px;\n font-weight: bold;\n box-shadow:\n 0 1px 3px 0 rgb(0 0 0 / 0.1),\n 0 1px 2px -1px rgb(0 0 0 / 0.1);\n"])), function (props) {
476
476
  var _a, _b, _c, _d, _e, _f;
477
- return (_f = (_a = props.$background) !== null && _a !== void 0 ? _a : (_e = (_c = (_b = props.theme) === null || _b === void 0 ? void 0 : _b.guidanceMessages) === null || _c === void 0 ? void 0 : _c[(_d = props.$variant) !== null && _d !== void 0 ? _d : 'default']) === null || _e === void 0 ? void 0 : _e.backgroundColor) !== null && _f !== void 0 ? _f : '#ccc';
477
+ return (_f = (_a = props.$background) !== null && _a !== void 0 ? _a : (_e = (_c = (_b = props.theme) === null || _b === void 0 ? void 0 : _b.guidanceMessages) === null || _c === void 0 ? void 0 : _c[(_d = props.$variant) !== null && _d !== void 0 ? _d : 'default']) === null || _e === void 0 ? void 0 : _e.backgroundColor) !== null && _f !== void 0 ? _f : 'white';
478
478
  }, function (props) {
479
479
  var _a, _b, _c, _d, _e, _f;
480
480
  return (_f = (_a = props.$textColor) !== null && _a !== void 0 ? _a : (_e = (_c = (_b = props.theme) === null || _b === void 0 ? void 0 : _b.guidanceMessages) === null || _c === void 0 ? void 0 : _c[(_d = props.$variant) !== null && _d !== void 0 ? _d : 'default']) === null || _e === void 0 ? void 0 : _e.textColor) !== null && _f !== void 0 ? _f : 'black';
481
481
  });
482
- var templateObject_1$Q, templateObject_2$H;
482
+ var templateObject_1$Q, templateObject_2$I;
483
483
 
484
484
  var wavesAnimation = styled.keyframes(templateObject_1$P || (templateObject_1$P = __makeTemplateObject(["\n 0% {\n opacity: 0;\n transform: scale3d(1, 1, 1);\n }\n 80% {\n opacity: 1;\n }\n 100% {\n transform: scale3d(2, 2, 1);\n opacity: 0;\n }\n"], ["\n 0% {\n opacity: 0;\n transform: scale3d(1, 1, 1);\n }\n 80% {\n opacity: 1;\n }\n 100% {\n transform: scale3d(2, 2, 1);\n opacity: 0;\n }\n"])));
485
- var progressBarAnimation = styled.keyframes(templateObject_2$G || (templateObject_2$G = __makeTemplateObject(["\n 0% {\n width: 0;\n }\n 100% {\n width: 100%;\n }\n"], ["\n 0% {\n width: 0;\n }\n 100% {\n width: 100%;\n }\n"])));
486
- var dualRingSpinnerAnimation = styled.keyframes(templateObject_3$t || (templateObject_3$t = __makeTemplateObject(["\n 0% {\n transform: rotate(0deg);\n }\n 100% {\n transform: rotate(360deg);\n }\n"], ["\n 0% {\n transform: rotate(0deg);\n }\n 100% {\n transform: rotate(360deg);\n }\n"])));
485
+ var progressBarAnimation = styled.keyframes(templateObject_2$H || (templateObject_2$H = __makeTemplateObject(["\n 0% {\n width: 0;\n }\n 100% {\n width: 100%;\n }\n"], ["\n 0% {\n width: 0;\n }\n 100% {\n width: 100%;\n }\n"])));
486
+ var dualRingSpinnerAnimation = styled.keyframes(templateObject_3$u || (templateObject_3$u = __makeTemplateObject(["\n 0% {\n transform: rotate(0deg);\n }\n 100% {\n transform: rotate(360deg);\n }\n"], ["\n 0% {\n transform: rotate(0deg);\n }\n 100% {\n transform: rotate(360deg);\n }\n"])));
487
487
  var progressBorderAnimation = styled.keyframes(templateObject_4$n || (templateObject_4$n = __makeTemplateObject(["\n to {\n stroke-dashoffset: 0;\n }\n"], ["\n to {\n stroke-dashoffset: 0;\n }\n"])));
488
- var templateObject_1$P, templateObject_2$G, templateObject_3$t, templateObject_4$n;
488
+ var templateObject_1$P, templateObject_2$H, templateObject_3$u, templateObject_4$n;
489
489
 
490
490
  var OverlayContainer = styled.div(templateObject_1$O || (templateObject_1$O = __makeTemplateObject(["\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n\n display: flex;\n flex-direction: column;\n\n overflow-x: hidden;\n overflow-y: auto;\n\n background: ", ";\n ", "\n\n z-index: 10000;\n"], ["\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n\n display: flex;\n flex-direction: column;\n\n overflow-x: hidden;\n overflow-y: auto;\n\n background: ", ";\n ", "\n\n z-index: 10000;\n"])), function (props) {
491
491
  return props.theme.background ? "".concat(props.theme.background) : "white";
492
492
  }, function (props) {
493
493
  return props.theme.textColor ? "color: ".concat(props.theme.textColor, ";") : "";
494
494
  });
495
- var OverlayInner$2 = styled.div(templateObject_2$F || (templateObject_2$F = __makeTemplateObject(["\n text-align: ", ";\n display: flex;\n flex-direction: column;\n flex-wrap: nowrap;\n width: 100%;\n height: 100%;\n ", "\n"], ["\n text-align: ", ";\n display: flex;\n flex-direction: column;\n flex-wrap: nowrap;\n width: 100%;\n height: 100%;\n ", "\n"])), function (props) {
495
+ var OverlayInner$2 = styled.div(templateObject_2$G || (templateObject_2$G = __makeTemplateObject(["\n text-align: ", ";\n display: flex;\n flex-direction: column;\n flex-wrap: nowrap;\n width: 100%;\n height: 100%;\n ", "\n"], ["\n text-align: ", ";\n display: flex;\n flex-direction: column;\n flex-wrap: nowrap;\n width: 100%;\n height: 100%;\n ", "\n"])), function (props) {
496
496
  var _a;
497
497
  return (_a = props.theme.textAlign) !== null && _a !== void 0 ? _a : 'center';
498
498
  }, function (props) {
499
499
  return props.theme.padding ? "box-sizing: border-box; padding: ".concat(props.theme.padding, ";") : "";
500
500
  });
501
- var OverlayImageContainer = styled.div(templateObject_3$s || (templateObject_3$s = __makeTemplateObject(["\n position: relative;\n display: flex;\n flex-grow: 1;\n padding-bottom: 25px;\n overflow: hidden;\n\n & > img,\n & > svg {\n margin: 0 auto;\n width: max-content;\n max-width: 100%;\n max-height: 100%;\n aspect-ratio: initial;\n object-fit: contain;\n display: block;\n }\n"], ["\n position: relative;\n display: flex;\n flex-grow: 1;\n padding-bottom: 25px;\n overflow: hidden;\n\n & > img,\n & > svg {\n margin: 0 auto;\n width: max-content;\n max-width: 100%;\n max-height: 100%;\n aspect-ratio: initial;\n object-fit: contain;\n display: block;\n }\n"])));
501
+ var OverlayImageContainer = styled.div(templateObject_3$t || (templateObject_3$t = __makeTemplateObject(["\n position: relative;\n display: flex;\n flex-grow: 1;\n padding-bottom: 25px;\n overflow: hidden;\n\n & > img,\n & > svg {\n margin: 0 auto;\n width: max-content;\n max-width: 100%;\n max-height: 100%;\n aspect-ratio: initial;\n object-fit: contain;\n display: block;\n }\n"], ["\n position: relative;\n display: flex;\n flex-grow: 1;\n padding-bottom: 25px;\n overflow: hidden;\n\n & > img,\n & > svg {\n margin: 0 auto;\n width: max-content;\n max-width: 100%;\n max-height: 100%;\n aspect-ratio: initial;\n object-fit: contain;\n display: block;\n }\n"])));
502
502
  var OverlayImageRow = styled.div(templateObject_4$m || (templateObject_4$m = __makeTemplateObject(["\n display: flex;\n margin: auto;\n\n & > div {\n max-height: calc(100% - 320px);\n\n & > img {\n width: 100%;\n max-height: 100%;\n height: auto;\n object-fit: contain;\n }\n }\n"], ["\n display: flex;\n margin: auto;\n\n & > div {\n max-height: calc(100% - 320px);\n\n & > img {\n width: 100%;\n max-height: 100%;\n height: auto;\n object-fit: contain;\n }\n }\n"])));
503
503
  var GrayOverlayContainer = styled(OverlayContainer)(templateObject_5$e || (templateObject_5$e = __makeTemplateObject(["\n background: #f7f6fb;\n"], ["\n background: #f7f6fb;\n"])));
504
504
  var ButtonsColumn = styled.div(templateObject_6$9 || (templateObject_6$9 = __makeTemplateObject(["\n display: flex;\n flex-direction: column;\n gap: 15px 0;\n justify-content: center;\n margin-top: 24px;\n"], ["\n display: flex;\n flex-direction: column;\n gap: 15px 0;\n justify-content: center;\n margin-top: 24px;\n"])));
@@ -520,7 +520,7 @@
520
520
  }, function (props) {
521
521
  return props.theme.padding ? "box-sizing: border-box; padding: ".concat(props.theme.padding, ";") : "";
522
522
  });
523
- var LoadingOverlayGuidanceMessage = styled(GuidanceMessage)(templateObject_11$1 || (templateObject_11$1 = __makeTemplateObject(["\n padding: 16px 24px;\n margin-top: 16px;\n font-size: 18px;\n font-weight: bold;\n background: white;\n box-shadow:\n 0 1px 3px 0 rgb(0 0 0 / 0.1),\n 0 1px 2px -1px rgb(0 0 0 / 0.1);\n"], ["\n padding: 16px 24px;\n margin-top: 16px;\n font-size: 18px;\n font-weight: bold;\n background: white;\n box-shadow:\n 0 1px 3px 0 rgb(0 0 0 / 0.1),\n 0 1px 2px -1px rgb(0 0 0 / 0.1);\n"])));
523
+ var LoadingOverlayGuidanceMessage = styled(GuidanceMessage)(templateObject_11$1 || (templateObject_11$1 = __makeTemplateObject(["\n padding: 16px 24px;\n margin-top: 16px;\n font-size: 18px;\n font-weight: bold;\n"], ["\n padding: 16px 24px;\n margin-top: 16px;\n font-size: 18px;\n font-weight: bold;\n"])));
524
524
  var LoadingOverlayImageContainer = styled(OverlayImageContainer)(templateObject_12$1 || (templateObject_12$1 = __makeTemplateObject(["\n padding: 0;\n max-height: 100%;\n pointer-events: none;\n"], ["\n padding: 0;\n max-height: 100%;\n pointer-events: none;\n"])));
525
525
  var LoadingOverlayProgressBarBackground = styled.div.attrs({
526
526
  className: 'loading-overlay-progress-bar-background'
@@ -540,7 +540,7 @@
540
540
  var LoadingOverlayProgressContainer = styled.div(templateObject_20 || (templateObject_20 = __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"])));
541
541
  var LoadingOverlayCustomLoadingGraphic = styled.img(templateObject_21 || (templateObject_21 = __makeTemplateObject(["\n transform-style: preserve-3d;\n"], ["\n transform-style: preserve-3d;\n"])));
542
542
  var LoadingOverlayContinueButtonContainer = styled.div(templateObject_22 || (templateObject_22 = __makeTemplateObject(["\n display: flex;\n"], ["\n display: flex;\n"])));
543
- var templateObject_1$O, templateObject_2$F, templateObject_3$s, templateObject_4$m, templateObject_5$e, templateObject_6$9, templateObject_7$5, templateObject_8$4, templateObject_9$2, templateObject_10$1, templateObject_11$1, templateObject_12$1, templateObject_13$1, templateObject_14, templateObject_15, templateObject_16, templateObject_17, templateObject_18, templateObject_19, templateObject_20, templateObject_21, templateObject_22;
543
+ var templateObject_1$O, templateObject_2$G, templateObject_3$t, templateObject_4$m, templateObject_5$e, templateObject_6$9, templateObject_7$5, templateObject_8$4, templateObject_9$2, templateObject_10$1, templateObject_11$1, templateObject_12$1, templateObject_13$1, templateObject_14, templateObject_15, templateObject_16, templateObject_17, templateObject_18, templateObject_19, templateObject_20, templateObject_21, templateObject_22;
544
544
 
545
545
  function _extends() {
546
546
  return _extends = Object.assign ? Object.assign.bind() : function (n) {
@@ -8112,6 +8112,7 @@
8112
8112
  var templateObject_1$N;
8113
8113
 
8114
8114
  function cropToShoulders(rawCanvas, cropCanvas, resizeCanvas, frame, face, quality, maxHeight) {
8115
+ var _a;
8115
8116
  if (quality === void 0) {
8116
8117
  quality = 0.92;
8117
8118
  }
@@ -8128,10 +8129,14 @@
8128
8129
  cropCanvas.height = frame.height;
8129
8130
  cropCtx.drawImage(rawCanvas, 0, 0, cropCanvas.width, cropCanvas.height);
8130
8131
  } else {
8131
- var _a = face.box,
8132
- xMin = _a.xMin,
8133
- width = _a.width;
8132
+ var _b = (_a = face === null || face === void 0 ? void 0 : face.box) !== null && _a !== void 0 ? _a : {
8133
+ xMin: 0,
8134
+ width: frame.width
8135
+ },
8136
+ xMin = _b.xMin,
8137
+ width = _b.width;
8134
8138
  var desiredWidth = frame.height * 0.6;
8139
+ alert("this side! ".concat(desiredWidth, "x").concat(frame.height));
8135
8140
  var faceCenterX = xMin + width / 2;
8136
8141
  var xPos = Math.max(0, faceCenterX - desiredWidth / 2);
8137
8142
  cropCanvas.width = desiredWidth;
@@ -8630,6 +8635,9 @@
8630
8635
  clearTimeout(modelLoadTimeout);
8631
8636
  setModelLoadState('warming');
8632
8637
  setModelWarmingStartedAt(new Date().getTime());
8638
+ return [4 /*yield*/, testFaceDetectionAgainstKnownImage(model)];
8639
+ case 1:
8640
+ _b.sent();
8633
8641
  _a = waitForVideoReady(videoRef), videoReady = _a[0], cancel = _a[1];
8634
8642
  cancelled = false;
8635
8643
  cancelVideoReady = function cancelVideoReady() {
@@ -8637,7 +8645,7 @@
8637
8645
  cancel();
8638
8646
  };
8639
8647
  return [4 /*yield*/, videoReady];
8640
- case 1:
8648
+ case 2:
8641
8649
  _b.sent();
8642
8650
  if (cancelled) return [2 /*return*/];
8643
8651
  model.detectForVideo(videoRef.current, performance.now());
@@ -8789,6 +8797,26 @@
8789
8797
  faceIsStable: faceIsStable
8790
8798
  };
8791
8799
  }
8800
+ function testFaceDetectionAgainstKnownImage(detector) {
8801
+ return new Promise(function (resolve, reject) {
8802
+ var img = new Image();
8803
+ img.crossOrigin = 'anonymous';
8804
+ img.onload = function () {
8805
+ var prediction = detector.detectForVideo(img, performance.now());
8806
+ if (prediction.detections.length > 0) {
8807
+ debug('face detection test result', prediction.detections);
8808
+ resolve(void 0);
8809
+ } else {
8810
+ warn('face detection test failed');
8811
+ reject(new Error('testFaceDetectionAgainstKnownImage failed to predict'));
8812
+ }
8813
+ };
8814
+ img.onerror = function () {
8815
+ return reject(new Error('testFaceDetectionAgainstKnownImage failed to load image'));
8816
+ };
8817
+ img.src = "".concat(DEFAULT_CDN_URL, "/head-test.jpg");
8818
+ });
8819
+ }
8792
8820
 
8793
8821
  var preloadModels = function preloadModels(_a) {
8794
8822
  return __awaiter(void 0, [_a], void 0, function (_b) {
@@ -14014,13 +14042,13 @@
14014
14042
  }, messageText)));
14015
14043
  }
14016
14044
  var StyledOverlayInner$4 = styled(OverlayInner$2)(templateObject_1$M || (templateObject_1$M = __makeTemplateObject(["\n justify-content: center;\n"], ["\n justify-content: center;\n"])));
14017
- var StyledOverlayHeading = styled.h3(templateObject_2$E || (templateObject_2$E = __makeTemplateObject(["\n margin-bottom: 8px;\n"], ["\n margin-bottom: 8px;\n"])));
14045
+ var StyledOverlayHeading = styled.h3(templateObject_2$F || (templateObject_2$F = __makeTemplateObject(["\n margin-bottom: 8px;\n"], ["\n margin-bottom: 8px;\n"])));
14018
14046
  function useCameraStore(selector) {
14019
14047
  var store = React.useContext(CameraStoreContext);
14020
14048
  if (!store) throw new Error('useCameraStore cannot be used without Provider');
14021
14049
  return useStore(store, selector);
14022
14050
  }
14023
- var templateObject_1$M, templateObject_2$E;
14051
+ var templateObject_1$M, templateObject_2$F;
14024
14052
 
14025
14053
  var DocumentDetectionModelContext = /*#__PURE__*/React.createContext({
14026
14054
  startDocumentDetection: function startDocumentDetection() {
@@ -15368,11 +15396,11 @@
15368
15396
  return /*#__PURE__*/reactDom.createPortal(element, portalLocation);
15369
15397
  }
15370
15398
  var DebugStatsPaneDiv = styled.span(templateObject_1$L || (templateObject_1$L = __makeTemplateObject(["\n font-size: 16px;\n font-family: monospace;\n position: absolute;\n left: 20px;\n bottom: 20px;\n margin-right: 20px;\n padding: 8px;\n color: limegreen;\n background: rgba(0, 0, 0, 0.5);\n z-index: 10002;\n pointer-events: none;\n"], ["\n font-size: 16px;\n font-family: monospace;\n position: absolute;\n left: 20px;\n bottom: 20px;\n margin-right: 20px;\n padding: 8px;\n color: limegreen;\n background: rgba(0, 0, 0, 0.5);\n z-index: 10002;\n pointer-events: none;\n"])));
15371
- var ObjectDetectionDebugOverlayDiv = styled.div(templateObject_2$D || (templateObject_2$D = __makeTemplateObject(["\n position: absolute;\n z-index: 1001;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n max-width: 100%;\n max-height: 100%;\n overflow: hidden;\n pointer-events: none;\n ", "\n transform-style: preserve-3d;\n"], ["\n position: absolute;\n z-index: 1001;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n max-width: 100%;\n max-height: 100%;\n overflow: hidden;\n pointer-events: none;\n ", "\n transform-style: preserve-3d;\n"])), function (_a) {
15399
+ var ObjectDetectionDebugOverlayDiv = styled.div(templateObject_2$E || (templateObject_2$E = __makeTemplateObject(["\n position: absolute;\n z-index: 1001;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n max-width: 100%;\n max-height: 100%;\n overflow: hidden;\n pointer-events: none;\n ", "\n transform-style: preserve-3d;\n"], ["\n position: absolute;\n z-index: 1001;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n max-width: 100%;\n max-height: 100%;\n overflow: hidden;\n pointer-events: none;\n ", "\n transform-style: preserve-3d;\n"])), function (_a) {
15372
15400
  var $flipX = _a.$flipX;
15373
15401
  return $flipX ? 'transform: scaleX(-1);' : '';
15374
15402
  });
15375
- var ObjectDetectionDebugBox = styled.div(templateObject_3$r || (templateObject_3$r = __makeTemplateObject(["\n font: 10px monospace;\n position: absolute;\n border: 3px solid ", ";\n color: ", ";\n ", "\n transform-style: preserve-3d;\n"], ["\n font: 10px monospace;\n position: absolute;\n border: 3px solid ", ";\n color: ", ";\n ", "\n transform-style: preserve-3d;\n"])), function (_a) {
15403
+ var ObjectDetectionDebugBox = styled.div(templateObject_3$s || (templateObject_3$s = __makeTemplateObject(["\n font: 10px monospace;\n position: absolute;\n border: 3px solid ", ";\n color: ", ";\n ", "\n transform-style: preserve-3d;\n"], ["\n font: 10px monospace;\n position: absolute;\n border: 3px solid ", ";\n color: ", ";\n ", "\n transform-style: preserve-3d;\n"])), function (_a) {
15376
15404
  var $color = _a.$color;
15377
15405
  return $color !== null && $color !== void 0 ? $color : 'green';
15378
15406
  }, function (_a) {
@@ -15579,7 +15607,7 @@
15579
15607
  }
15580
15608
  });
15581
15609
  }
15582
- var templateObject_1$L, templateObject_2$D, templateObject_3$r, templateObject_4$l;
15610
+ var templateObject_1$L, templateObject_2$E, templateObject_3$s, templateObject_4$l;
15583
15611
 
15584
15612
  function OverrideWrongDocumentTypeGuidanceDialog(_a) {
15585
15613
  var _b = _a.classNames,
@@ -15619,11 +15647,11 @@
15619
15647
  var _a, _b, _c;
15620
15648
  return (_c = (_b = (_a = props.theme.idCapture) === null || _a === void 0 ? void 0 : _a.overrideWrongDocumentTypeGuidance) === null || _b === void 0 ? void 0 : _b.textColor) !== null && _c !== void 0 ? _c : 'black';
15621
15649
  });
15622
- var InnerContainer = styled.div(templateObject_2$C || (templateObject_2$C = __makeTemplateObject(["\n display: flex;\n flex-direction: row;\n padding: 16px 24px;\n margin: auto 0;\n width: 100%;\n"], ["\n display: flex;\n flex-direction: row;\n padding: 16px 24px;\n margin: auto 0;\n width: 100%;\n"])));
15623
- var Message = styled.span(templateObject_3$q || (templateObject_3$q = __makeTemplateObject(["\n display: block;\n margin: auto 12px auto 0;\n"], ["\n display: block;\n margin: auto 12px auto 0;\n"])));
15650
+ var InnerContainer = styled.div(templateObject_2$D || (templateObject_2$D = __makeTemplateObject(["\n display: flex;\n flex-direction: row;\n padding: 16px 24px;\n margin: auto 0;\n width: 100%;\n"], ["\n display: flex;\n flex-direction: row;\n padding: 16px 24px;\n margin: auto 0;\n width: 100%;\n"])));
15651
+ var Message = styled.span(templateObject_3$r || (templateObject_3$r = __makeTemplateObject(["\n display: block;\n margin: auto 12px auto 0;\n"], ["\n display: block;\n margin: auto 12px auto 0;\n"])));
15624
15652
  var ButtonContainer = styled.div(templateObject_4$k || (templateObject_4$k = __makeTemplateObject(["\n display: flex;\n margin-left: auto;\n"], ["\n display: flex;\n margin-left: auto;\n"])));
15625
15653
  var Button$1 = styled(LoaderButton)(templateObject_5$d || (templateObject_5$d = __makeTemplateObject(["\n white-space: nowrap;\n margin: auto;\n"], ["\n white-space: nowrap;\n margin: auto;\n"])));
15626
- var templateObject_1$K, templateObject_2$C, templateObject_3$q, templateObject_4$k, templateObject_5$d;
15654
+ var templateObject_1$K, templateObject_2$D, templateObject_3$r, templateObject_4$k, templateObject_5$d;
15627
15655
 
15628
15656
  // This is a simplified version of https://github.com/ZeeCoder/use-resize-observer.
15629
15657
  // We have removed all options and made it compliant with React Compiler/React 19.
@@ -15952,12 +15980,12 @@
15952
15980
  }, verbiage.retryBtnText)));
15953
15981
  };
15954
15982
  var StyledOverlayInner$3 = styled(OverlayInner$2)(templateObject_1$J || (templateObject_1$J = __makeTemplateObject(["\n max-width: 500px;\n height: auto;\n margin: auto;\n"], ["\n max-width: 500px;\n height: auto;\n margin: auto;\n"])));
15955
- var StyledOverlayImageContainer$1 = styled(OverlayImageContainer)(templateObject_2$B || (templateObject_2$B = __makeTemplateObject(["\n flex-grow: 0;\n"], ["\n flex-grow: 0;\n"])));
15956
- var Description$4 = styled.p(templateObject_3$p || (templateObject_3$p = __makeTemplateObject(["\n line-height: 1.5;\n margin-bottom: 50px;\n"], ["\n line-height: 1.5;\n margin-bottom: 50px;\n"])));
15983
+ var StyledOverlayImageContainer$1 = styled(OverlayImageContainer)(templateObject_2$C || (templateObject_2$C = __makeTemplateObject(["\n flex-grow: 0;\n"], ["\n flex-grow: 0;\n"])));
15984
+ var Description$4 = styled.p(templateObject_3$q || (templateObject_3$q = __makeTemplateObject(["\n line-height: 1.5;\n margin-bottom: 50px;\n"], ["\n line-height: 1.5;\n margin-bottom: 50px;\n"])));
15957
15985
  var RetryButton$1 = styled(LoaderButton)(templateObject_4$j || (templateObject_4$j = __makeTemplateObject(["\n width: 200px;\n margin: 0 auto;\n"], ["\n width: 200px;\n margin: 0 auto;\n"])));
15958
- var templateObject_1$J, templateObject_2$B, templateObject_3$p, templateObject_4$j;
15986
+ var templateObject_1$J, templateObject_2$C, templateObject_3$q, templateObject_4$j;
15959
15987
 
15960
- var ExitCaptureStyledButton = styled.button(templateObject_1$I || (templateObject_1$I = __makeTemplateObject(["\n position: absolute;\n top: 12px;\n right: 12px;\n font-size: 20px;\n width: 32px;\n height: 32px;\n font-family: monospace;\n z-index: 1002;\n border: none;\n border-radius: 4px;\n background: #ccc;\n cursor: pointer;\n padding: 8px;\n box-sizing: border-box;\n display: flex;\n\n &:hover {\n background: #ddd;\n }\n\n & > svg {\n margin: 0;\n padding: 0;\n box-sizing: border-box;\n }\n"], ["\n position: absolute;\n top: 12px;\n right: 12px;\n font-size: 20px;\n width: 32px;\n height: 32px;\n font-family: monospace;\n z-index: 1002;\n border: none;\n border-radius: 4px;\n background: #ccc;\n cursor: pointer;\n padding: 8px;\n box-sizing: border-box;\n display: flex;\n\n &:hover {\n background: #ddd;\n }\n\n & > svg {\n margin: 0;\n padding: 0;\n box-sizing: border-box;\n }\n"])));
15988
+ var ExitCaptureStyledButton = styled.button(templateObject_1$I || (templateObject_1$I = __makeTemplateObject(["\n position: absolute;\n top: 12px;\n right: 12px;\n font-size: 20px;\n width: 32px;\n height: 32px;\n font-family: monospace;\n z-index: 10002;\n border: none;\n border-radius: 4px;\n background: var(--idm-color-secondary-200);\n cursor: pointer;\n padding: 8px;\n box-sizing: border-box;\n display: flex;\n\n &:hover {\n background: #ddd;\n }\n\n & > svg {\n margin: 0;\n padding: 0;\n box-sizing: border-box;\n }\n"], ["\n position: absolute;\n top: 12px;\n right: 12px;\n font-size: 20px;\n width: 32px;\n height: 32px;\n font-family: monospace;\n z-index: 10002;\n border: none;\n border-radius: 4px;\n background: var(--idm-color-secondary-200);\n cursor: pointer;\n padding: 8px;\n box-sizing: border-box;\n display: flex;\n\n &:hover {\n background: #ddd;\n }\n\n & > svg {\n margin: 0;\n padding: 0;\n box-sizing: border-box;\n }\n"])));
15961
15989
  var ExitCaptureButton = function ExitCaptureButton(_a) {
15962
15990
  var onClick = _a.onClick,
15963
15991
  className = _a.className;
@@ -16477,20 +16505,20 @@
16477
16505
  }))));
16478
16506
  }
16479
16507
  var LoadingGraphicWrapper = styled.div(templateObject_1$H || (templateObject_1$H = __makeTemplateObject(["\n display: flex;\n width: 100%;\n height: 100%;\n"], ["\n display: flex;\n width: 100%;\n height: 100%;\n"])));
16480
- var LoadingGraphicSvg = styled.svg(templateObject_2$A || (templateObject_2$A = __makeTemplateObject(["\n margin: auto;\n transform: scale(\n ", "\n );\n transform-style: preserve-3d;\n transition:\n transform 0.2s linear,\n border-width 0.2s linear;\n border: ", "px solid\n ", ";\n max-height: 80%;\n max-width: 80%;\n"], ["\n margin: auto;\n transform: scale(\n ", "\n );\n transform-style: preserve-3d;\n transition:\n transform 0.2s linear,\n border-width 0.2s linear;\n border: ", "px solid\n ", ";\n max-height: 80%;\n max-width: 80%;\n"])), function (props) {
16508
+ var LoadingGraphicSvg = styled.svg(templateObject_2$B || (templateObject_2$B = __makeTemplateObject(["\n margin: auto;\n transform: scale(\n ", "\n );\n transform-style: preserve-3d;\n transition:\n transform 0.2s linear,\n border-width 0.2s linear;\n border: ", "px solid\n ", ";\n max-height: 80%;\n max-width: 80%;\n"], ["\n margin: auto;\n transform: scale(\n ", "\n );\n transform-style: preserve-3d;\n transition:\n transform 0.2s linear,\n border-width 0.2s linear;\n border: ", "px solid\n ", ";\n max-height: 80%;\n max-width: 80%;\n"])), function (props) {
16481
16509
  return props.$frame > 1 ? 1 : props.$frame === 1 ? 1.25 : 0.75;
16482
16510
  }, function (props) {
16483
16511
  return props.$frame >= 5 ? 10 : 0;
16484
16512
  }, function (props) {
16485
16513
  return props.$borderColor;
16486
16514
  });
16487
- var LoadingGraphicCardGroup = styled.g(templateObject_3$o || (templateObject_3$o = __makeTemplateObject(["\n transform: translate(", ", 0);\n transform-style: preserve-3d;\n transition: transform 0.3s linear;\n"], ["\n transform: translate(", ", 0);\n transform-style: preserve-3d;\n transition: transform 0.3s linear;\n"])), function (props) {
16515
+ var LoadingGraphicCardGroup = styled.g(templateObject_3$p || (templateObject_3$p = __makeTemplateObject(["\n transform: translate(", ", 0);\n transform-style: preserve-3d;\n transition: transform 0.3s linear;\n"], ["\n transform: translate(", ", 0);\n transform-style: preserve-3d;\n transition: transform 0.3s linear;\n"])), function (props) {
16488
16516
  return props.$offScreen ? '-500px' : '0';
16489
16517
  });
16490
16518
  var LoadingGraphicPhoneGroup = styled.g(templateObject_4$i || (templateObject_4$i = __makeTemplateObject(["\n transform: translate(", ", 0);\n transform-style: preserve-3d;\n transition: transform 0.3s linear;\n"], ["\n transform: translate(", ", 0);\n transform-style: preserve-3d;\n transition: transform 0.3s linear;\n"])), function (props) {
16491
16519
  return props.$offScreen ? '40px' : '0';
16492
16520
  });
16493
- var templateObject_1$H, templateObject_2$A, templateObject_3$o, templateObject_4$i;
16521
+ var templateObject_1$H, templateObject_2$B, templateObject_3$p, templateObject_4$i;
16494
16522
 
16495
16523
  function LoadingListItemIndicator(_a) {
16496
16524
  var _b = _a.state,
@@ -16545,9 +16573,11 @@
16545
16573
  var ready = _a.ready,
16546
16574
  modelLoadState = _a.modelLoadState,
16547
16575
  modelLoadProgress = _a.modelLoadProgress,
16576
+ modelError = _a.modelError,
16548
16577
  onLoadingStarted = _a.onLoadingStarted,
16549
16578
  onLoadingProgress = _a.onLoadingProgress,
16550
- onLoadingCompleted = _a.onLoadingCompleted;
16579
+ onLoadingCompleted = _a.onLoadingCompleted,
16580
+ onLoadingFailed = _a.onLoadingFailed;
16551
16581
  var onLoadingStartedRef = React.useRef(onLoadingStarted);
16552
16582
  React.useEffect(function () {
16553
16583
  onLoadingStartedRef.current = onLoadingStarted;
@@ -16560,6 +16590,10 @@
16560
16590
  React.useEffect(function () {
16561
16591
  onLoadingCompletedRef.current = onLoadingCompleted;
16562
16592
  }, [onLoadingCompleted]);
16593
+ var onLoadingFailedRef = React.useRef(onLoadingFailed);
16594
+ React.useEffect(function () {
16595
+ onLoadingFailedRef.current = onLoadingFailed;
16596
+ }, [onLoadingFailed]);
16563
16597
  var loadingStarted = modelLoadState !== 'not-started';
16564
16598
  React.useEffect(function () {
16565
16599
  var _a;
@@ -16575,6 +16609,12 @@
16575
16609
  var _a;
16576
16610
  if (ready) (_a = onLoadingCompletedRef.current) === null || _a === void 0 ? void 0 : _a.call(onLoadingCompletedRef);
16577
16611
  }, [ready]);
16612
+ React.useEffect(function () {
16613
+ var _a;
16614
+ if (modelLoadState === 'error') {
16615
+ (_a = onLoadingFailedRef.current) === null || _a === void 0 ? void 0 : _a.call(onLoadingFailedRef, modelError !== null && modelError !== void 0 ? modelError : undefined);
16616
+ }
16617
+ }, [modelLoadState, modelError]);
16578
16618
  }
16579
16619
 
16580
16620
  var legacyInstructionImageUrl$1 = "".concat(DEFAULT_CDN_URL, "/WebSDK-Instruction-DL-Capture-3-Portrait.png");
@@ -16583,6 +16623,7 @@
16583
16623
  var onLoadingStarted = _a.onLoadingStarted,
16584
16624
  onLoadingProgress = _a.onLoadingProgress,
16585
16625
  onLoadingCompleted = _a.onLoadingCompleted,
16626
+ onLoadingFailed = _a.onLoadingFailed,
16586
16627
  onDismissed = _a.onDismissed,
16587
16628
  onUserCancel = _a.onUserCancel,
16588
16629
  instructions = _a.instructions,
@@ -16603,7 +16644,8 @@
16603
16644
  modelsReady = _o.ready,
16604
16645
  modelLoadState = _o.modelLoadState,
16605
16646
  modelDownloadProgress = _o.modelDownloadProgress,
16606
- modelWarmingStartedAt = _o.modelWarmingStartedAt;
16647
+ modelWarmingStartedAt = _o.modelWarmingStartedAt,
16648
+ modelError = _o.modelError;
16607
16649
  var _p = useCameraStore(),
16608
16650
  cameraReady = _p.cameraReady,
16609
16651
  cameraAccessDenied = _p.cameraAccessDenied,
@@ -16647,9 +16689,11 @@
16647
16689
  ready: ready,
16648
16690
  modelLoadState: modelLoadState,
16649
16691
  modelLoadProgress: modelLoadProgress,
16692
+ modelError: modelError,
16650
16693
  onLoadingStarted: onLoadingStarted,
16651
16694
  onLoadingProgress: onLoadingProgress,
16652
- onLoadingCompleted: onLoadingCompleted
16695
+ onLoadingCompleted: onLoadingCompleted,
16696
+ onLoadingFailed: onLoadingFailed
16653
16697
  });
16654
16698
  if (dismissed) return /*#__PURE__*/React.createElement(React.Fragment, null);
16655
16699
  if (cameraAccessDenied) {
@@ -16750,8 +16794,8 @@
16750
16794
  var _a, _b, _c, _d;
16751
16795
  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.textColor) !== null && _d !== void 0 ? _d : 'black';
16752
16796
  });
16753
- var ContinuityCameraCheckboxContainer$1 = styled.div(templateObject_2$z || (templateObject_2$z = __makeTemplateObject(["\n position: absolute;\n bottom: 120px;\n width: 100%;\n display: flex;\n"], ["\n position: absolute;\n bottom: 120px;\n width: 100%;\n display: flex;\n"])));
16754
- var ContinuityCameraCheckboxInner = styled(GuidanceMessage)(templateObject_3$n || (templateObject_3$n = __makeTemplateObject(["\n display: flex;\n gap: 8px;\n align-items: center;\n padding: 12px 18px;\n margin: 0 auto;\n font-size: 14px;\n font-weight: bold;\n background: white;\n box-shadow:\n 0 1px 3px 0 rgb(0 0 0 / 0.1),\n 0 1px 2px -1px rgb(0 0 0 / 0.1);\n"], ["\n display: flex;\n gap: 8px;\n align-items: center;\n padding: 12px 18px;\n margin: 0 auto;\n font-size: 14px;\n font-weight: bold;\n background: white;\n box-shadow:\n 0 1px 3px 0 rgb(0 0 0 / 0.1),\n 0 1px 2px -1px rgb(0 0 0 / 0.1);\n"])));
16797
+ var ContinuityCameraCheckboxContainer$1 = styled.div(templateObject_2$A || (templateObject_2$A = __makeTemplateObject(["\n position: absolute;\n bottom: 120px;\n width: 100%;\n display: flex;\n"], ["\n position: absolute;\n bottom: 120px;\n width: 100%;\n display: flex;\n"])));
16798
+ var ContinuityCameraCheckboxInner = styled(GuidanceMessage)(templateObject_3$o || (templateObject_3$o = __makeTemplateObject(["\n display: flex;\n gap: 8px;\n align-items: center;\n padding: 12px 18px;\n margin: 0 auto;\n font-size: 14px;\n font-weight: bold;\n background: white;\n box-shadow:\n 0 1px 3px 0 rgb(0 0 0 / 0.1),\n 0 1px 2px -1px rgb(0 0 0 / 0.1);\n"], ["\n display: flex;\n gap: 8px;\n align-items: center;\n padding: 12px 18px;\n margin: 0 auto;\n font-size: 14px;\n font-weight: bold;\n background: white;\n box-shadow:\n 0 1px 3px 0 rgb(0 0 0 / 0.1),\n 0 1px 2px -1px rgb(0 0 0 / 0.1);\n"])));
16755
16799
  var ContinuityCameraCheckbox$1 = styled.input(templateObject_4$h || (templateObject_4$h = __makeTemplateObject(["\n margin: 0;\n"], ["\n margin: 0;\n"])));
16756
16800
  var ButtonsRow$1 = styled(LoadingOverlayButtonsRow)(templateObject_5$c || (templateObject_5$c = __makeTemplateObject(["\n color: ", ";\n ", "\n"], ["\n color: ", ";\n ", "\n"])), function (props) {
16757
16801
  var _a, _b, _c, _d;
@@ -16790,10 +16834,10 @@
16790
16834
  var _a, _b, _c, _d;
16791
16835
  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.continueBtnDisabledBorder) !== null && _d !== void 0 ? _d : 'none';
16792
16836
  });
16793
- var templateObject_1$G, templateObject_2$z, templateObject_3$n, templateObject_4$h, templateObject_5$c, templateObject_6$8, templateObject_7$4, templateObject_8$3;
16837
+ var templateObject_1$G, templateObject_2$A, templateObject_3$o, templateObject_4$h, templateObject_5$c, templateObject_6$8, templateObject_7$4, templateObject_8$3;
16794
16838
 
16795
16839
  var ContinuityCameraCheckboxContainer = styled.div(templateObject_1$F || (templateObject_1$F = __makeTemplateObject(["\n margin-top: 15px;\n margin-bottom: 15px;\n"], ["\n margin-top: 15px;\n margin-bottom: 15px;\n"])));
16796
- var ContinuityCameraCheckbox = styled.input(templateObject_2$y || (templateObject_2$y = __makeTemplateObject(["\n margin-right: 8px;\n"], ["\n margin-right: 8px;\n"])));
16840
+ var ContinuityCameraCheckbox = styled.input(templateObject_2$z || (templateObject_2$z = __makeTemplateObject(["\n margin-right: 8px;\n"], ["\n margin-right: 8px;\n"])));
16797
16841
  var IdCaptureLoadingOverlayLegacy = function IdCaptureLoadingOverlayLegacy(_a) {
16798
16842
  var _b, _c, _d, _e;
16799
16843
  var onDismissed = _a.onDismissed,
@@ -16914,7 +16958,7 @@
16914
16958
  }
16915
16959
  }, ready ? verbiage.continueText : modelsReady ? verbiage.cameraInitializingText : modelDownloadProgress >= 100 ? verbiage.modelsWarmingUpText : "".concat(verbiage.downloadingText, " (").concat(modelDownloadProgress, "%)"))));
16916
16960
  };
16917
- var templateObject_1$F, templateObject_2$y;
16961
+ var templateObject_1$F, templateObject_2$z;
16918
16962
 
16919
16963
  var components$1 = {
16920
16964
  "default": IdCaptureLoadingOverlayDefault,
@@ -16973,8 +17017,8 @@
16973
17017
  };
16974
17018
 
16975
17019
  var Card = styled.div(templateObject_1$E || (templateObject_1$E = __makeTemplateObject(["\n background: white;\n border-radius: 8px;\n padding: 24px;\n box-shadow: 0 0 8px rgba(0, 0, 0, 0.1);\n margin: auto;\n max-width: min(500px, 100% - 48px);\n max-height: 100%;\n overflow: auto;\n box-sizing: border-box;\n"], ["\n background: white;\n border-radius: 8px;\n padding: 24px;\n box-shadow: 0 0 8px rgba(0, 0, 0, 0.1);\n margin: auto;\n max-width: min(500px, 100% - 48px);\n max-height: 100%;\n overflow: auto;\n box-sizing: border-box;\n"])));
16976
- var FlexCard = styled(Card)(templateObject_2$x || (templateObject_2$x = __makeTemplateObject(["\n display: flex;\n flex-direction: column;\n"], ["\n display: flex;\n flex-direction: column;\n"])));
16977
- var templateObject_1$E, templateObject_2$x;
17020
+ var FlexCard = styled(Card)(templateObject_2$y || (templateObject_2$y = __makeTemplateObject(["\n display: flex;\n flex-direction: column;\n"], ["\n display: flex;\n flex-direction: column;\n"])));
17021
+ var templateObject_1$E, templateObject_2$y;
16978
17022
 
16979
17023
  var imageDisplayOrder = ['idCardFront', 'idCardBack', 'passport', 'singlePage', 'idFrontIrImage', 'idBackIrImage', 'idFrontUvImage', 'idBackUvImage'];
16980
17024
  var IdCaptureSuccess = function IdCaptureSuccess(_a) {
@@ -17037,12 +17081,12 @@
17037
17081
  }, verbiage.retryText)))));
17038
17082
  };
17039
17083
  var Heading$a = styled.h1(templateObject_1$D || (templateObject_1$D = __makeTemplateObject(["\n font-size: 1.5rem;\n margin-top: 0;\n margin-bottom: 1.5rem;\n"], ["\n font-size: 1.5rem;\n margin-top: 0;\n margin-bottom: 1.5rem;\n"])));
17040
- var ImagesContainer = styled(OverlayImageContainer)(templateObject_2$w || (templateObject_2$w = __makeTemplateObject(["\n flex-grow: 1;\n overflow-y: auto;\n padding-bottom: 0;\n max-width: 100%;\n"], ["\n flex-grow: 1;\n overflow-y: auto;\n padding-bottom: 0;\n max-width: 100%;\n"])));
17041
- var ImageRow = styled(OverlayImageRow)(templateObject_3$m || (templateObject_3$m = __makeTemplateObject(["\n max-width: 100%;\n flex-direction: column;\n position: relative;\n width: 100%;\n"], ["\n max-width: 100%;\n flex-direction: column;\n position: relative;\n width: 100%;\n"])));
17084
+ var ImagesContainer = styled(OverlayImageContainer)(templateObject_2$x || (templateObject_2$x = __makeTemplateObject(["\n flex-grow: 1;\n overflow-y: auto;\n padding-bottom: 0;\n max-width: 100%;\n"], ["\n flex-grow: 1;\n overflow-y: auto;\n padding-bottom: 0;\n max-width: 100%;\n"])));
17085
+ var ImageRow = styled(OverlayImageRow)(templateObject_3$n || (templateObject_3$n = __makeTemplateObject(["\n max-width: 100%;\n flex-direction: column;\n position: relative;\n width: 100%;\n"], ["\n max-width: 100%;\n flex-direction: column;\n position: relative;\n width: 100%;\n"])));
17042
17086
  var ImageCol$1 = styled.div(templateObject_4$g || (templateObject_4$g = __makeTemplateObject(["\n width: 450px;\n max-width: 100%;\n max-height: none !important;\n"], ["\n width: 450px;\n max-width: 100%;\n max-height: none !important;\n"])));
17043
17087
  var StyledImage = styled(CapturedDocumentImg)(templateObject_5$b || (templateObject_5$b = __makeTemplateObject(["\n width: 100%;\n border-radius: 12px;\n"], ["\n width: 100%;\n border-radius: 12px;\n"])));
17044
17088
  var DebugPre = styled.pre(templateObject_6$7 || (templateObject_6$7 = __makeTemplateObject(["\n display: block;\n text-align: left;\n width: 100%;\n max-width: 100%;\n overflow-x: auto;\n"], ["\n display: block;\n text-align: left;\n width: 100%;\n max-width: 100%;\n overflow-x: auto;\n"])));
17045
- var templateObject_1$D, templateObject_2$w, templateObject_3$m, templateObject_4$g, templateObject_5$b, templateObject_6$7;
17089
+ var templateObject_1$D, templateObject_2$x, templateObject_3$n, templateObject_4$g, templateObject_5$b, templateObject_6$7;
17046
17090
 
17047
17091
  function useShowSuccessScreen(skipSuccessScreen, successScreenReady, onDoneCallback) {
17048
17092
  var _this = this;
@@ -17099,7 +17143,7 @@
17099
17143
  }, function (props) {
17100
17144
  return props.$isMobile ? props.$isLandscape ? 'height: 100%;' : 'width: 80%;' : props.$isLandscape ? 'height: 70%;' : 'width: 82%;';
17101
17145
  });
17102
- var IdCardGuideImage = styled.img(templateObject_2$v || (templateObject_2$v = __makeTemplateObject(["\n max-height: 100%;\n transform-style: preserve-3d;\n ", "\n ", "\n"], ["\n max-height: 100%;\n transform-style: preserve-3d;\n ", "\n ", "\n"])), function (props) {
17146
+ var IdCardGuideImage = styled.img(templateObject_2$w || (templateObject_2$w = __makeTemplateObject(["\n max-height: 100%;\n transform-style: preserve-3d;\n ", "\n ", "\n"], ["\n max-height: 100%;\n transform-style: preserve-3d;\n ", "\n ", "\n"])), function (props) {
17103
17147
  return props.$isMirrored ? 'transform: scaleX(-1);' : '';
17104
17148
  }, function (props) {
17105
17149
  return props.$isInvisible ? 'opacity: 0;' : '';
@@ -17249,7 +17293,7 @@
17249
17293
  className: isProgressBar ? "idmSdkProgressBorder ".concat(progressPaused ? 'idmSdkProgressPaused' : '') : ''
17250
17294
  }));
17251
17295
  }
17252
- var IdCardBorderContainer = styled.div(templateObject_3$l || (templateObject_3$l = __makeTemplateObject(["\n align-items: center;\n justify-content: center;\n display: flex;\n position: relative;\n margin: auto;\n\n & .idmSdkWaves {\n position: absolute;\n animation: ", " 2s ease-out infinite;\n transform-style: preserve-3d;\n\n &:nth-child(3) {\n animation-delay: 0.66s;\n }\n\n &:nth-child(4) {\n animation-delay: 1.33s;\n }\n }\n"], ["\n align-items: center;\n justify-content: center;\n display: flex;\n position: relative;\n margin: auto;\n\n & .idmSdkWaves {\n position: absolute;\n animation: ", " 2s ease-out infinite;\n transform-style: preserve-3d;\n\n &:nth-child(3) {\n animation-delay: 0.66s;\n }\n\n &:nth-child(4) {\n animation-delay: 1.33s;\n }\n }\n"])), wavesAnimation);
17296
+ var IdCardBorderContainer = styled.div(templateObject_3$m || (templateObject_3$m = __makeTemplateObject(["\n align-items: center;\n justify-content: center;\n display: flex;\n position: relative;\n margin: auto;\n\n & .idmSdkWaves {\n position: absolute;\n animation: ", " 2s ease-out infinite;\n transform-style: preserve-3d;\n\n &:nth-child(3) {\n animation-delay: 0.66s;\n }\n\n &:nth-child(4) {\n animation-delay: 1.33s;\n }\n }\n"], ["\n align-items: center;\n justify-content: center;\n display: flex;\n position: relative;\n margin: auto;\n\n & .idmSdkWaves {\n position: absolute;\n animation: ", " 2s ease-out infinite;\n transform-style: preserve-3d;\n\n &:nth-child(3) {\n animation-delay: 0.66s;\n }\n\n &:nth-child(4) {\n animation-delay: 1.33s;\n }\n }\n"])), wavesAnimation);
17253
17297
  var IdCardBorderInner = styled.div(templateObject_4$f || (templateObject_4$f = __makeTemplateObject(["\n max-height: 100%;\n max-width: 100%;\n flex: 1;\n display: flex;\n align-items: center;\n justify-content: center;\n position: relative;\n"], ["\n max-height: 100%;\n max-width: 100%;\n flex: 1;\n display: flex;\n align-items: center;\n justify-content: center;\n position: relative;\n"])));
17254
17298
  var SvgOverlay = styled.svg(templateObject_5$a || (templateObject_5$a = __makeTemplateObject(["\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n pointer-events: none;\n"], ["\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n pointer-events: none;\n"])));
17255
17299
  var IdCardBorderRect = styled.rect(templateObject_6$6 || (templateObject_6$6 = __makeTemplateObject(["\n &.idmSdkProgressBorder {\n animation: ", " ", "\n ", ";\n }\n\n &.idmSdkProgressPaused {\n animation-play-state: paused;\n }\n"], ["\n &.idmSdkProgressBorder {\n animation: ", " ", "\n ", ";\n }\n\n &.idmSdkProgressPaused {\n animation-play-state: paused;\n }\n"])), progressBorderAnimation, function (props) {
@@ -17259,7 +17303,7 @@
17259
17303
  var _a;
17260
17304
  return (_a = props.$fillMode) !== null && _a !== void 0 ? _a : 'forwards';
17261
17305
  });
17262
- var templateObject_1$C, templateObject_2$v, templateObject_3$l, templateObject_4$f, templateObject_5$a, templateObject_6$6;
17306
+ var templateObject_1$C, templateObject_2$w, templateObject_3$m, templateObject_4$f, templateObject_5$a, templateObject_6$6;
17263
17307
 
17264
17308
  var defaultIdCaptureGuideImages = {
17265
17309
  portrait: {
@@ -17451,12 +17495,12 @@
17451
17495
  var Wrapper$1 = styled.div(templateObject_1$B || (templateObject_1$B = __makeTemplateObject(["\n display: flex;\n align-items: center;\n justify-content: center;\n ", "\n\n position: absolute;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n"], ["\n display: flex;\n align-items: center;\n justify-content: center;\n ", "\n\n position: absolute;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n"])), function (props) {
17452
17496
  return props.$isLandscape ? 'height: 100%;' : 'height: 100%;';
17453
17497
  });
17454
- var FlipImageContainer = styled(IdCardGuideImageContainer)(templateObject_2$u || (templateObject_2$u = __makeTemplateObject(["\n backface-visibility: hidden;\n transition: transform ", "s;\n transform: ", ";\n transform-style: preserve-3d;\n position: absolute;\n display: block;\n top: 0;\n height: 100%; // todo: branch between desktop and mobile\n"], ["\n backface-visibility: hidden;\n transition: transform ", "s;\n transform: ", ";\n transform-style: preserve-3d;\n position: absolute;\n display: block;\n top: 0;\n height: 100%; // todo: branch between desktop and mobile\n"])), function (props) {
17498
+ var FlipImageContainer = styled(IdCardGuideImageContainer)(templateObject_2$v || (templateObject_2$v = __makeTemplateObject(["\n backface-visibility: hidden;\n transition: transform ", "s;\n transform: ", ";\n transform-style: preserve-3d;\n position: absolute;\n display: block;\n top: 0;\n height: 100%; // todo: branch between desktop and mobile\n"], ["\n backface-visibility: hidden;\n transition: transform ", "s;\n transform: ", ";\n transform-style: preserve-3d;\n position: absolute;\n display: block;\n top: 0;\n height: 100%; // todo: branch between desktop and mobile\n"])), function (props) {
17455
17499
  return props.$transitionTime;
17456
17500
  }, function (props) {
17457
17501
  return props.$transforms;
17458
17502
  });
17459
- var templateObject_1$B, templateObject_2$u;
17503
+ var templateObject_1$B, templateObject_2$v;
17460
17504
 
17461
17505
  var GuideOrientationContext = /*#__PURE__*/React.createContext({
17462
17506
  orientation: 'landscape',
@@ -17745,8 +17789,8 @@
17745
17789
  }).join(' ');
17746
17790
  };
17747
17791
  var StyledPageContainer = styled.div(templateObject_1$z || (templateObject_1$z = __makeTemplateObject(["\n position: relative;\n width: 100%;\n height: 100%;\n z-index: 1000;\n overflow: hidden;\n"], ["\n position: relative;\n width: 100%;\n height: 100%;\n z-index: 1000;\n overflow: hidden;\n"])));
17748
- var GuidesContainer = styled.div(templateObject_2$t || (templateObject_2$t = __makeTemplateObject(["\n display: flex;\n flex-flow: column nowrap;\n width: 100%;\n height: 100%;\n"], ["\n display: flex;\n flex-flow: column nowrap;\n width: 100%;\n height: 100%;\n"])));
17749
- var GuideCenterRow = styled.div(templateObject_3$k || (templateObject_3$k = __makeTemplateObject(["\n position: relative;\n display: flex;\n flex-flow: row nowrap;\n align-items: center;\n justify-items: center;\n box-sizing: border-box;\n max-width: 100%;\n max-height: 100%;\n min-height: 0;\n flex: 1;\n"], ["\n position: relative;\n display: flex;\n flex-flow: row nowrap;\n align-items: center;\n justify-items: center;\n box-sizing: border-box;\n max-width: 100%;\n max-height: 100%;\n min-height: 0;\n flex: 1;\n"])));
17792
+ var GuidesContainer = styled.div(templateObject_2$u || (templateObject_2$u = __makeTemplateObject(["\n display: flex;\n flex-flow: column nowrap;\n width: 100%;\n height: 100%;\n"], ["\n display: flex;\n flex-flow: column nowrap;\n width: 100%;\n height: 100%;\n"])));
17793
+ var GuideCenterRow = styled.div(templateObject_3$l || (templateObject_3$l = __makeTemplateObject(["\n position: relative;\n display: flex;\n flex-flow: row nowrap;\n align-items: center;\n justify-items: center;\n box-sizing: border-box;\n max-width: 100%;\n max-height: 100%;\n min-height: 0;\n flex: 1;\n"], ["\n position: relative;\n display: flex;\n flex-flow: row nowrap;\n align-items: center;\n justify-items: center;\n box-sizing: border-box;\n max-width: 100%;\n max-height: 100%;\n min-height: 0;\n flex: 1;\n"])));
17750
17794
  var GuideRegion = styled.div(templateObject_4$e || (templateObject_4$e = __makeTemplateObject(["\n display: flex;\n flex-direction: column;\n justify-content: end;\n width: 100%;\n position: relative;\n z-index: 1000;\n background: ", ";\n color: ", ";\n text-align: center;\n ", "\n ", "\n"], ["\n display: flex;\n flex-direction: column;\n justify-content: end;\n width: 100%;\n position: relative;\n z-index: 1000;\n background: ", ";\n color: ", ";\n text-align: center;\n ", "\n ", "\n"])), function (props) {
17751
17795
  var _a, _b, _c, _d, _e;
17752
17796
  return (_e = (_a = props.$maskColor) !== null && _a !== void 0 ? _a : (_d = (_c = (_b = props.theme) === null || _b === void 0 ? void 0 : _b.idCapture) === null || _c === void 0 ? void 0 : _c.guideOverlay) === null || _d === void 0 ? void 0 : _d.backgroundColor) !== null && _e !== void 0 ? _e : 'rgba(0, 0, 0, 0.5)';
@@ -17774,7 +17818,7 @@
17774
17818
  var GuideCenterInner = styled.div(templateObject_9$1 || (templateObject_9$1 = __makeTemplateObject(["\n position: relative;\n top: 0;\n margin: auto;\n ", "\n max-height: 100%;\n max-width: 100%;\n display: flex;\n align-items: center;\n justify-content: center;\n"], ["\n position: relative;\n top: 0;\n margin: auto;\n ", "\n max-height: 100%;\n max-width: 100%;\n display: flex;\n align-items: center;\n justify-content: center;\n"])), function (props) {
17775
17819
  return props.$isLandscape ? 'height: 100%;' : 'width: 90%;';
17776
17820
  });
17777
- var templateObject_1$z, templateObject_2$t, templateObject_3$k, templateObject_4$e, templateObject_5$9, templateObject_6$5, templateObject_7$3, templateObject_8$2, templateObject_9$1;
17821
+ var templateObject_1$z, templateObject_2$u, templateObject_3$l, templateObject_4$e, templateObject_5$9, templateObject_6$5, templateObject_7$3, templateObject_8$2, templateObject_9$1;
17778
17822
 
17779
17823
  var IdCaptureFitGuide = function IdCaptureFitGuide(_a) {
17780
17824
  var _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o;
@@ -17918,8 +17962,8 @@
17918
17962
  var CanvasWrapper$1 = styled.div(templateObject_1$y || (templateObject_1$y = __makeTemplateObject(["\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n flex-grow: 1;\n background-clip: padding-box;\n box-shadow: inset 0 0 0 2px ", ";\n z-index: -1;\n"], ["\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n flex-grow: 1;\n background-clip: padding-box;\n box-shadow: inset 0 0 0 2px ", ";\n z-index: -1;\n"])), function (props) {
17919
17963
  return props.$maskColor;
17920
17964
  });
17921
- var Canvas$1 = styled.canvas(templateObject_2$s || (templateObject_2$s = __makeTemplateObject(["\n display: block;\n"], ["\n display: block;\n"])));
17922
- var templateObject_1$y, templateObject_2$s;
17965
+ var Canvas$1 = styled.canvas(templateObject_2$t || (templateObject_2$t = __makeTemplateObject(["\n display: block;\n"], ["\n display: block;\n"])));
17966
+ var templateObject_1$y, templateObject_2$t;
17923
17967
 
17924
17968
  function IdCaptureGuides(_a) {
17925
17969
  var _b = _a.guideType,
@@ -18000,11 +18044,11 @@
18000
18044
  var $color = _a.$color;
18001
18045
  return $color !== null && $color !== void 0 ? $color : '#888';
18002
18046
  }, dualRingSpinnerAnimation);
18003
- var SpinnerPageContainer = styled.div(templateObject_2$r || (templateObject_2$r = __makeTemplateObject(["\n display: flex;\n justify-content: center;\n align-items: center;\n width: 100%;\n height: 100%;\n"], ["\n display: flex;\n justify-content: center;\n align-items: center;\n width: 100%;\n height: 100%;\n"])));
18047
+ var SpinnerPageContainer = styled.div(templateObject_2$s || (templateObject_2$s = __makeTemplateObject(["\n display: flex;\n justify-content: center;\n align-items: center;\n width: 100%;\n height: 100%;\n"], ["\n display: flex;\n justify-content: center;\n align-items: center;\n width: 100%;\n height: 100%;\n"])));
18004
18048
  function SpinnerPage() {
18005
18049
  return /*#__PURE__*/React.createElement(SpinnerPageContainer, null, /*#__PURE__*/React.createElement(Spinner$1, null));
18006
18050
  }
18007
- var templateObject_1$x, templateObject_2$r;
18051
+ var templateObject_1$x, templateObject_2$s;
18008
18052
 
18009
18053
  var IdCaptureImagePreview = function IdCaptureImagePreview(_a) {
18010
18054
  var _b = _a.classNames,
@@ -18092,10 +18136,10 @@
18092
18136
  })));
18093
18137
  };
18094
18138
  var StyledSpinner = styled(Spinner$1)(templateObject_1$w || (templateObject_1$w = __makeTemplateObject(["\n position: relative;\n top: 4px;\n left: -3px;\n margin: 0 3px 0 -12px;\n"], ["\n position: relative;\n top: 4px;\n left: -3px;\n margin: 0 3px 0 -12px;\n"])));
18095
- var ImagePreviewWrapper = styled.div(templateObject_2$q || (templateObject_2$q = __makeTemplateObject(["\n position: absolute;\n display: flex;\n flex-direction: column;\n height: 33%;\n bottom: 12px;\n right: 12px;\n"], ["\n position: absolute;\n display: flex;\n flex-direction: column;\n height: 33%;\n bottom: 12px;\n right: 12px;\n"])));
18096
- var ImagePreviewText = styled.div(templateObject_3$j || (templateObject_3$j = __makeTemplateObject(["\n display: block;\n position: absolute;\n top: -32px;\n font:\n 14px -apple-system,\n BlinkMacSystemFont,\n 'Segoe UI',\n Roboto,\n Helvetica,\n Arial,\n sans-serif,\n 'Apple Color Emoji',\n 'Segoe UI Emoji',\n 'Segoe UI Symbol';\n color: white;\n text-align: center;\n margin: 0 auto;\n width: 100%;\n"], ["\n display: block;\n position: absolute;\n top: -32px;\n font:\n 14px -apple-system,\n BlinkMacSystemFont,\n 'Segoe UI',\n Roboto,\n Helvetica,\n Arial,\n sans-serif,\n 'Apple Color Emoji',\n 'Segoe UI Emoji',\n 'Segoe UI Symbol';\n color: white;\n text-align: center;\n margin: 0 auto;\n width: 100%;\n"])));
18139
+ var ImagePreviewWrapper = styled.div(templateObject_2$r || (templateObject_2$r = __makeTemplateObject(["\n position: absolute;\n display: flex;\n flex-direction: column;\n height: 33%;\n bottom: 12px;\n right: 12px;\n"], ["\n position: absolute;\n display: flex;\n flex-direction: column;\n height: 33%;\n bottom: 12px;\n right: 12px;\n"])));
18140
+ var ImagePreviewText = styled.div(templateObject_3$k || (templateObject_3$k = __makeTemplateObject(["\n display: block;\n position: absolute;\n top: -32px;\n font:\n 14px -apple-system,\n BlinkMacSystemFont,\n 'Segoe UI',\n Roboto,\n Helvetica,\n Arial,\n sans-serif,\n 'Apple Color Emoji',\n 'Segoe UI Emoji',\n 'Segoe UI Symbol';\n color: white;\n text-align: center;\n margin: 0 auto;\n width: 100%;\n"], ["\n display: block;\n position: absolute;\n top: -32px;\n font:\n 14px -apple-system,\n BlinkMacSystemFont,\n 'Segoe UI',\n Roboto,\n Helvetica,\n Arial,\n sans-serif,\n 'Apple Color Emoji',\n 'Segoe UI Emoji',\n 'Segoe UI Symbol';\n color: white;\n text-align: center;\n margin: 0 auto;\n width: 100%;\n"])));
18097
18141
  var ImagePreviewImageWrapper = styled.div(templateObject_4$d || (templateObject_4$d = __makeTemplateObject(["\n position: relative;\n height: calc(100% - 8px);\n padding: 4px;\n border-radius: 4px;\n background: white;\n\n & > img {\n border-radius: 4px;\n width: auto;\n max-height: 100%;\n }\n"], ["\n position: relative;\n height: calc(100% - 8px);\n padding: 4px;\n border-radius: 4px;\n background: white;\n\n & > img {\n border-radius: 4px;\n width: auto;\n max-height: 100%;\n }\n"])));
18098
- var templateObject_1$w, templateObject_2$q, templateObject_3$j, templateObject_4$d;
18142
+ var templateObject_1$w, templateObject_2$r, templateObject_3$k, templateObject_4$d;
18099
18143
 
18100
18144
  var documentCaptureInitialState = {
18101
18145
  documents: [],
@@ -18444,8 +18488,8 @@
18444
18488
  var CanvasWrapper = styled.div(templateObject_1$v || (templateObject_1$v = __makeTemplateObject(["\n flex-grow: 1;\n background-clip: padding-box;\n box-shadow: inset 0 0 0 2px ", ";\n"], ["\n flex-grow: 1;\n background-clip: padding-box;\n box-shadow: inset 0 0 0 2px ", ";\n"])), function (props) {
18445
18489
  return props.$maskColor;
18446
18490
  });
18447
- var Canvas = styled.canvas(templateObject_2$p || (templateObject_2$p = __makeTemplateObject(["\n display: block;\n"], ["\n display: block;\n"])));
18448
- var templateObject_1$v, templateObject_2$p;
18491
+ var Canvas = styled.canvas(templateObject_2$q || (templateObject_2$q = __makeTemplateObject(["\n display: block;\n"], ["\n display: block;\n"])));
18492
+ var templateObject_1$v, templateObject_2$q;
18449
18493
 
18450
18494
  var CameraFeedWrapper = styled.div(templateObject_1$u || (templateObject_1$u = __makeTemplateObject(["\n ", "\n"], ["\n ", "\n"])), function (props) {
18451
18495
  return props.$mode === 'snapToGuides' ? "display: flex;\n position: absolute;\n left: ".concat(props.$x, "px;\n top: ").concat(props.$y, "px;\n width: ").concat(props.$w, "px;\n height: ").concat(props.$h, "px;") : "";
@@ -18631,10 +18675,10 @@
18631
18675
  }, !cameraReady ? verbiage.loadingBtnText : capturing ? verbiage.capturingBtnText : verbiage.captureBtnText))))));
18632
18676
  };
18633
18677
  var CaptureContainer = styled.div(templateObject_1$s || (templateObject_1$s = __makeTemplateObject(["\n display: flex;\n flex-direction: column;\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n"], ["\n display: flex;\n flex-direction: column;\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n"])));
18634
- var HeadingRow = styled.div(templateObject_2$o || (templateObject_2$o = __makeTemplateObject(["\n background: ", ";\n text-align: center;\n color: white;\n"], ["\n background: ", ";\n text-align: center;\n color: white;\n"])), function (props) {
18678
+ var HeadingRow = styled.div(templateObject_2$p || (templateObject_2$p = __makeTemplateObject(["\n background: ", ";\n text-align: center;\n color: white;\n"], ["\n background: ", ";\n text-align: center;\n color: white;\n"])), function (props) {
18635
18679
  return props.$maskColor;
18636
18680
  });
18637
- var Heading$9 = styled.h1(templateObject_3$i || (templateObject_3$i = __makeTemplateObject(["\n font-size: 22px;\n"], ["\n font-size: 22px;\n"])));
18681
+ var Heading$9 = styled.h1(templateObject_3$j || (templateObject_3$j = __makeTemplateObject(["\n font-size: 22px;\n"], ["\n font-size: 22px;\n"])));
18638
18682
  var FooterRow = styled.div(templateObject_4$c || (templateObject_4$c = __makeTemplateObject(["\n background: ", ";\n display: flex;\n flex-direction: column;\n justify-content: center;\n padding: 0 20px 20px;\n height: auto;\n color: white;\n"], ["\n background: ", ";\n display: flex;\n flex-direction: column;\n justify-content: center;\n padding: 0 20px 20px;\n height: auto;\n color: white;\n"])), function (props) {
18639
18683
  return props.$maskColor;
18640
18684
  });
@@ -18644,7 +18688,7 @@
18644
18688
  });
18645
18689
  var StyledButtonsRow$8 = styled(ButtonsRow$2)(templateObject_6$4 || (templateObject_6$4 = __makeTemplateObject(["\n padding-top: 20px;\n"], ["\n padding-top: 20px;\n"])));
18646
18690
  var PreviewImage = styled.img(templateObject_7$2 || (templateObject_7$2 = __makeTemplateObject(["\n width: 100%;\n height: 100%;\n object-fit: cover;\n"], ["\n width: 100%;\n height: 100%;\n object-fit: cover;\n"])));
18647
- var templateObject_1$s, templateObject_2$o, templateObject_3$i, templateObject_4$c, templateObject_5$8, templateObject_6$4, templateObject_7$2;
18691
+ var templateObject_1$s, templateObject_2$p, templateObject_3$j, templateObject_4$c, templateObject_5$8, templateObject_6$4, templateObject_7$2;
18648
18692
 
18649
18693
  var DocumentCaptureWizard = function DocumentCaptureWizard(_a) {
18650
18694
  var onSuccess = _a.onSuccess,
@@ -18916,12 +18960,12 @@
18916
18960
  }, verbiage.doneBtnText))))));
18917
18961
  };
18918
18962
  var StyledOverlayInner$2 = styled(OverlayInner$2)(templateObject_1$r || (templateObject_1$r = __makeTemplateObject(["\n justify-content: center;\n"], ["\n justify-content: center;\n"])));
18919
- var Heading$8 = styled.h3(templateObject_2$n || (templateObject_2$n = __makeTemplateObject(["\n margin-bottom: 8px;\n"], ["\n margin-bottom: 8px;\n"])));
18920
- var Description$3 = styled.p(templateObject_3$h || (templateObject_3$h = __makeTemplateObject(["\n margin-bottom: 8px;\n"], ["\n margin-bottom: 8px;\n"])));
18963
+ var Heading$8 = styled.h3(templateObject_2$o || (templateObject_2$o = __makeTemplateObject(["\n margin-bottom: 8px;\n"], ["\n margin-bottom: 8px;\n"])));
18964
+ var Description$3 = styled.p(templateObject_3$i || (templateObject_3$i = __makeTemplateObject(["\n margin-bottom: 8px;\n"], ["\n margin-bottom: 8px;\n"])));
18921
18965
  var Instruction = styled.p(templateObject_4$b || (templateObject_4$b = __makeTemplateObject(["\n font-weight: bold;\n"], ["\n font-weight: bold;\n"])));
18922
18966
  var ImageCol = styled.div(templateObject_5$7 || (templateObject_5$7 = __makeTemplateObject(["\n display: flex;\n justify-content: center;\n flex-grow: 1;\n flex-basis: 0;\n"], ["\n display: flex;\n justify-content: center;\n flex-grow: 1;\n flex-basis: 0;\n"])));
18923
18967
  var StyledButtonsRow$7 = styled(ButtonsRow$2)(templateObject_6$3 || (templateObject_6$3 = __makeTemplateObject(["\n margin-top: 32px;\n"], ["\n margin-top: 32px;\n"])));
18924
- var templateObject_1$r, templateObject_2$n, templateObject_3$h, templateObject_4$b, templateObject_5$7, templateObject_6$3;
18968
+ var templateObject_1$r, templateObject_2$o, templateObject_3$i, templateObject_4$b, templateObject_5$7, templateObject_6$3;
18925
18969
 
18926
18970
  function ScalingCameraFeed() {
18927
18971
  var _a = useIdCaptureStore(),
@@ -19277,8 +19321,8 @@
19277
19321
  var _a;
19278
19322
  return (_a = props.theme) === null || _a === void 0 ? void 0 : _a.fontFamily;
19279
19323
  });
19280
- var ScreenPanel = styled.div(templateObject_2$m || (templateObject_2$m = __makeTemplateObject(["\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n width: 100%;\n flex-grow: 1;\n background: #f7f6fb;\n box-sizing: border-box;\n padding: 40px;\n"], ["\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n width: 100%;\n flex-grow: 1;\n background: #f7f6fb;\n box-sizing: border-box;\n padding: 40px;\n"])));
19281
- var SelectIdCardScreenPanel = styled(ScreenPanel)(templateObject_3$g || (templateObject_3$g = __makeTemplateObject(["\n background: white;\n padding: 80px 0;\n\n @media (max-height: 1000px) {\n padding: 40px 0;\n }\n"], ["\n background: white;\n padding: 80px 0;\n\n @media (max-height: 1000px) {\n padding: 40px 0;\n }\n"])));
19324
+ var ScreenPanel = styled.div(templateObject_2$n || (templateObject_2$n = __makeTemplateObject(["\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n width: 100%;\n flex-grow: 1;\n background: #f7f6fb;\n box-sizing: border-box;\n padding: 40px;\n"], ["\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n width: 100%;\n flex-grow: 1;\n background: #f7f6fb;\n box-sizing: border-box;\n padding: 40px;\n"])));
19325
+ var SelectIdCardScreenPanel = styled(ScreenPanel)(templateObject_3$h || (templateObject_3$h = __makeTemplateObject(["\n background: white;\n padding: 80px 0;\n\n @media (max-height: 1000px) {\n padding: 40px 0;\n }\n"], ["\n background: white;\n padding: 80px 0;\n\n @media (max-height: 1000px) {\n padding: 40px 0;\n }\n"])));
19282
19326
  var ScreenPanelHeading = styled.h3(templateObject_4$a || (templateObject_4$a = __makeTemplateObject(["\n margin: 0 0 30px;\n"], ["\n margin: 0 0 30px;\n"])));
19283
19327
  var ScreenActionsBar = styled.div(templateObject_5$6 || (templateObject_5$6 = __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"])));
19284
19328
  var DashedSeparator = styled.div(templateObject_6$2 || (templateObject_6$2 = __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"])));
@@ -19562,13 +19606,14 @@
19562
19606
  } while (Math.round(Math.abs(bytes) * r) / r >= thresh && u < units.length - 1);
19563
19607
  return bytes.toFixed(dp) + ' ' + units[u];
19564
19608
  }
19565
- var templateObject_1$q, templateObject_2$m, templateObject_3$g, templateObject_4$a, templateObject_5$6, templateObject_6$2, templateObject_7$1, templateObject_8$1, templateObject_9, templateObject_10, templateObject_11, templateObject_12, templateObject_13;
19609
+ var templateObject_1$q, templateObject_2$n, templateObject_3$h, templateObject_4$a, templateObject_5$6, templateObject_6$2, templateObject_7$1, templateObject_8$1, templateObject_9, templateObject_10, templateObject_11, templateObject_12, templateObject_13;
19566
19610
 
19567
19611
  var IdCaptureWizard = function IdCaptureWizard(_a) {
19568
19612
  var _b, _c, _d, _e, _f;
19569
19613
  var onLoadingStarted = _a.onLoadingStarted,
19570
19614
  onLoadingProgress = _a.onLoadingProgress,
19571
19615
  onLoadingCompleted = _a.onLoadingCompleted,
19616
+ onLoadingFailed = _a.onLoadingFailed,
19572
19617
  onSuccess = _a.onSuccess,
19573
19618
  onExitCapture = _a.onExitCapture,
19574
19619
  onUserCancel = _a.onUserCancel,
@@ -19926,6 +19971,7 @@
19926
19971
  onLoadingStarted: onLoadingStarted,
19927
19972
  onLoadingProgress: onLoadingProgress,
19928
19973
  onLoadingCompleted: onLoadingCompleted,
19974
+ onLoadingFailed: onLoadingFailed,
19929
19975
  onDismissed: function onDismissed() {
19930
19976
  setOverlayDismissed(true);
19931
19977
  onLoadingOverlayDismissed === null || onLoadingOverlayDismissed === void 0 ? void 0 : onLoadingOverlayDismissed();
@@ -20340,8 +20386,8 @@
20340
20386
  height: parentHeight
20341
20387
  })));
20342
20388
  }
20343
- var AbsoluteSvg = styled.svg(templateObject_2$l || (templateObject_2$l = __makeTemplateObject(["\n position: absolute;\n width: 100%;\n height: 100%;\n top: 0;\n left: 0;\n"], ["\n position: absolute;\n width: 100%;\n height: 100%;\n top: 0;\n left: 0;\n"])));
20344
- var RelativeSvgContainer = styled.div(templateObject_3$f || (templateObject_3$f = __makeTemplateObject(["\n position: relative;\n height: 100%;\n display: flex;\n align-items: ", ";\n"], ["\n position: relative;\n height: 100%;\n display: flex;\n align-items: ", ";\n"])), function (props) {
20389
+ var AbsoluteSvg = styled.svg(templateObject_2$m || (templateObject_2$m = __makeTemplateObject(["\n position: absolute;\n width: 100%;\n height: 100%;\n top: 0;\n left: 0;\n"], ["\n position: absolute;\n width: 100%;\n height: 100%;\n top: 0;\n left: 0;\n"])));
20390
+ var RelativeSvgContainer = styled.div(templateObject_3$g || (templateObject_3$g = __makeTemplateObject(["\n position: relative;\n height: 100%;\n display: flex;\n align-items: ", ";\n"], ["\n position: relative;\n height: 100%;\n display: flex;\n align-items: ", ";\n"])), function (props) {
20345
20391
  return props.$verticalAlign === 'bottom' ? 'flex-end' : 'center';
20346
20392
  });
20347
20393
  function SelfieCaptureAnimatedMask(_a) {
@@ -20568,10 +20614,10 @@
20568
20614
  status: status
20569
20615
  }));
20570
20616
  }
20571
- var templateObject_1$p, templateObject_2$l, templateObject_3$f;
20617
+ var templateObject_1$p, templateObject_2$m, templateObject_3$g;
20572
20618
 
20573
20619
  var FaceCaptureGuideContainer = styled.div(templateObject_1$o || (templateObject_1$o = __makeTemplateObject(["\n position: absolute;\n z-index: 1000;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n padding: 40px;\n box-sizing: border-box;\n"], ["\n position: absolute;\n z-index: 1000;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n padding: 40px;\n box-sizing: border-box;\n"])));
20574
- var FaceCaptureGuideInner = styled.div(templateObject_2$k || (templateObject_2$k = __makeTemplateObject(["\n position: relative;\n height: 60%;\n"], ["\n position: relative;\n height: 60%;\n"])));
20620
+ var FaceCaptureGuideInner = styled.div(templateObject_2$l || (templateObject_2$l = __makeTemplateObject(["\n position: relative;\n height: 60%;\n"], ["\n position: relative;\n height: 60%;\n"])));
20575
20621
  var FaceCaptureGuideOverlay = function FaceCaptureGuideOverlay(_a) {
20576
20622
  var _b = _a.classNames,
20577
20623
  classNames = _b === void 0 ? {} : _b,
@@ -20593,7 +20639,7 @@
20593
20639
  verticalAlign: "center"
20594
20640
  })));
20595
20641
  };
20596
- var templateObject_1$o, templateObject_2$k;
20642
+ var templateObject_1$o, templateObject_2$l;
20597
20643
 
20598
20644
  var SelfieGuidanceModelsContext = /*#__PURE__*/React.createContext({
20599
20645
  start: function start() {
@@ -20922,11 +20968,11 @@
20922
20968
  }, !image ? invalidSelfie ? verbiage.retryButtonText : verbiage.captureBtnText : loading ? verbiage.doneBtnLoadingText : verbiage.doneBtnText)))));
20923
20969
  };
20924
20970
  var StyledOverlayInner$1 = styled(OverlayInner$2)(templateObject_1$n || (templateObject_1$n = __makeTemplateObject(["\n justify-content: center;\n"], ["\n justify-content: center;\n"])));
20925
- var Heading$7 = styled.h3(templateObject_2$j || (templateObject_2$j = __makeTemplateObject(["\n margin-bottom: 8px;\n"], ["\n margin-bottom: 8px;\n"])));
20926
- var Description$2 = styled.p(templateObject_3$e || (templateObject_3$e = __makeTemplateObject(["\n margin-bottom: 8px;\n"], ["\n margin-bottom: 8px;\n"])));
20971
+ var Heading$7 = styled.h3(templateObject_2$k || (templateObject_2$k = __makeTemplateObject(["\n margin-bottom: 8px;\n"], ["\n margin-bottom: 8px;\n"])));
20972
+ var Description$2 = styled.p(templateObject_3$f || (templateObject_3$f = __makeTemplateObject(["\n margin-bottom: 8px;\n"], ["\n margin-bottom: 8px;\n"])));
20927
20973
  var ImageContainer$6 = styled(OverlayImageContainer)(templateObject_4$9 || (templateObject_4$9 = __makeTemplateObject(["\n margin-top: 32px;\n"], ["\n margin-top: 32px;\n"])));
20928
20974
  var StyledButtonsRow$6 = styled(ButtonsRow$2)(templateObject_5$5 || (templateObject_5$5 = __makeTemplateObject(["\n margin-top: 32px;\n"], ["\n margin-top: 32px;\n"])));
20929
- var templateObject_1$n, templateObject_2$j, templateObject_3$e, templateObject_4$9, templateObject_5$5;
20975
+ var templateObject_1$n, templateObject_2$k, templateObject_3$f, templateObject_4$9, templateObject_5$5;
20930
20976
 
20931
20977
  var initialState$4 = {
20932
20978
  busy: false,
@@ -20967,32 +21013,39 @@
20967
21013
  guidanceMessage = _a.guidanceMessage,
20968
21014
  guidanceSatisfied = _a.guidanceSatisfied,
20969
21015
  guidesComponent = _a.guidesComponent,
20970
- _d = _a.shouldCapture,
20971
- shouldCapture = _d === void 0 ? true : _d,
20972
- _e = _a.classNames,
20973
- classNames = _e === void 0 ? {} : _e,
20974
- _f = _a.colors,
20975
- colors = _f === void 0 ? {} : _f,
20976
- _g = _a.verbiage,
20977
- rawVerbiage = _g === void 0 ? {} : _g,
20978
- _h = _a.debugMode,
20979
- debugMode = _h === void 0 ? false : _h;
20980
- var _j = useResizeObserver(),
20981
- ref = _j.ref,
20982
- _k = _j.width,
20983
- width = _k === void 0 ? 1 : _k,
20984
- _l = _j.height,
20985
- height = _l === void 0 ? 1 : _l;
20986
- var _m = React.useReducer(reducer$3, initialState$4),
20987
- _o = _m[0],
20988
- busy = _o.busy,
20989
- prediction = _o.prediction,
20990
- dispatch = _m[1];
21016
+ _d = _a.allowManualSelfieCaptureOnLoadingError,
21017
+ allowManualSelfieCaptureOnLoadingError = _d === void 0 ? false : _d,
21018
+ _e = _a.shouldCapture,
21019
+ shouldCapture = _e === void 0 ? true : _e,
21020
+ _f = _a.classNames,
21021
+ classNames = _f === void 0 ? {} : _f,
21022
+ _g = _a.colors,
21023
+ colors = _g === void 0 ? {} : _g,
21024
+ _h = _a.verbiage,
21025
+ rawVerbiage = _h === void 0 ? {} : _h,
21026
+ _j = _a.debugMode,
21027
+ debugMode = _j === void 0 ? false : _j;
21028
+ var _k = useResizeObserver(),
21029
+ ref = _k.ref,
21030
+ _l = _k.width,
21031
+ width = _l === void 0 ? 1 : _l,
21032
+ _m = _k.height,
21033
+ height = _m === void 0 ? 1 : _m;
21034
+ var _o = React.useReducer(reducer$3, initialState$4),
21035
+ _p = _o[0],
21036
+ busy = _p.busy,
21037
+ prediction = _p.prediction,
21038
+ dispatch = _o[1];
20991
21039
  var lastPredictionCanvas = React.useRef(null);
20992
- var _p = React.useContext(SelfieGuidanceModelsContext),
20993
- onPredictionMade = _p.onPredictionMade,
20994
- canvasRef = _p.canvasRef,
20995
- guidanceError = _p.error;
21040
+ var videoRef = useCameraStore(useShallow(function (state) {
21041
+ return {
21042
+ videoRef: state.videoRef
21043
+ };
21044
+ })).videoRef;
21045
+ var _q = useSelfieGuidanceModelsContext(),
21046
+ onPredictionMade = _q.onPredictionMade,
21047
+ canvasRef = _q.canvasRef,
21048
+ guidanceError = _q.error;
20996
21049
  onPredictionMade(f(React.useCallback(function (prediction) {
20997
21050
  return __awaiter(void 0, void 0, void 0, function () {
20998
21051
  return __generator(this, function (_a) {
@@ -21015,31 +21068,33 @@
21015
21068
  onGuidanceNotSatisfied === null || onGuidanceNotSatisfied === void 0 ? void 0 : onGuidanceNotSatisfied();
21016
21069
  }
21017
21070
  }, [onGuidanceNotSatisfied, onGuidanceSatisfied, prediction === null || prediction === void 0 ? void 0 : prediction.faceReady]);
21071
+ var doCapture = React.useCallback(function () {
21072
+ var _a;
21073
+ dispatch({
21074
+ type: 'captureStarted'
21075
+ });
21076
+ onSelfieCaptureStarted === null || onSelfieCaptureStarted === void 0 ? void 0 : onSelfieCaptureStarted();
21077
+ var frame = lastPredictionCanvas.current;
21078
+ if (!frame) return;
21079
+ var ctx = frame.getContext('2d');
21080
+ if (!ctx) return;
21081
+ var imageData = ctx.getImageData(0, 0, frame.width, frame.height);
21082
+ onSelfieCaptured === null || onSelfieCaptured === void 0 ? void 0 : onSelfieCaptured(imageData, (_a = prediction === null || prediction === void 0 ? void 0 : prediction.face) !== null && _a !== void 0 ? _a : undefined);
21083
+ clearCanvas(frame);
21084
+ dispatch({
21085
+ type: 'captureCompleted'
21086
+ });
21087
+ }, [onSelfieCaptureStarted, onSelfieCaptured, prediction]);
21018
21088
  React.useEffect(function () {
21019
21089
  if (!(prediction === null || prediction === void 0 ? void 0 : prediction.faceReady)) return;
21020
- var timer = setTimeout(function () {
21021
- dispatch({
21022
- type: 'captureStarted'
21023
- });
21024
- onSelfieCaptureStarted === null || onSelfieCaptureStarted === void 0 ? void 0 : onSelfieCaptureStarted();
21025
- var frame = lastPredictionCanvas.current;
21026
- if (!frame) return;
21027
- var ctx = frame.getContext('2d');
21028
- if (!ctx) return;
21029
- var imageData = ctx.getImageData(0, 0, frame.width, frame.height);
21030
- onSelfieCaptured === null || onSelfieCaptured === void 0 ? void 0 : onSelfieCaptured(imageData, prediction.face);
21031
- clearCanvas(frame);
21032
- dispatch({
21033
- type: 'captureCompleted'
21034
- });
21035
- }, 100);
21090
+ var timer = setTimeout(doCapture, 100);
21036
21091
  return function () {
21037
- if (timer) clearTimeout(timer);
21092
+ return timer && clearTimeout(timer);
21038
21093
  };
21039
- }, [onSelfieCaptureStarted, onSelfieCaptured, prediction]);
21040
- var _q = useTimeout(timeoutDurationMs, onTimeout),
21041
- timedOut = _q.timedOut,
21042
- timeoutStartedAt = _q.timeoutStartedAt;
21094
+ }, [doCapture, prediction]);
21095
+ var _r = useTimeout(timeoutDurationMs, onTimeout),
21096
+ timedOut = _r.timedOut,
21097
+ timeoutStartedAt = _r.timeoutStartedAt;
21043
21098
  var debugScalingDetails = useDebugScalingDetails({
21044
21099
  enabled: debugMode,
21045
21100
  pageWidth: width,
@@ -21054,17 +21109,21 @@
21054
21109
  guidanceMoveForwardText: 'Move forward...',
21055
21110
  guidanceMoveToCenterText: 'Move to the center...',
21056
21111
  guidanceNoFaceDetectedText: 'Waiting for face to be detected...',
21057
- guidanceNotStableText: 'Please hold still...'
21112
+ guidanceNotStableText: 'Please hold still...',
21113
+ guidanceManualCaptureText: 'Position your face in the circle and click to capture.',
21114
+ manualCaptureBtnText: 'Capture'
21058
21115
  });
21059
- var satisfied = (_b = prediction === null || prediction === void 0 ? void 0 : prediction.faceReady) !== null && _b !== void 0 ? _b : false;
21116
+ var allowManualCapture = !!guidanceError && allowManualSelfieCaptureOnLoadingError;
21117
+ var satisfied = allowManualCapture || ((_b = prediction === null || prediction === void 0 ? void 0 : prediction.faceReady) !== null && _b !== void 0 ? _b : false);
21060
21118
  if (typeof guidanceSatisfied === 'boolean') satisfied = guidanceSatisfied;
21061
- guidanceMessage || (guidanceMessage = satisfied ? verbiage.guidanceHoldStillText : !prediction || (prediction === null || prediction === void 0 ? void 0 : prediction.faceNotDetected) ? verbiage.guidanceNoFaceDetectedText : (prediction === null || prediction === void 0 ? void 0 : prediction.faceNotCentered) ? verbiage.guidanceMoveToCenterText : (prediction === null || prediction === void 0 ? void 0 : prediction.faceLookingAway) ? verbiage.guidanceLookStraightText : (prediction === null || prediction === void 0 ? void 0 : prediction.faceTooClose) ? verbiage.guidanceMoveBackText : (prediction === null || prediction === void 0 ? void 0 : prediction.faceTooFar) ? verbiage.guidanceMoveForwardText : !(prediction === null || prediction === void 0 ? void 0 : prediction.faceIsStable) ? verbiage.guidanceNotStableText : '');
21062
- if (guidanceError) {
21119
+ guidanceMessage || (guidanceMessage = allowManualCapture ? verbiage.guidanceManualCaptureText : satisfied ? verbiage.guidanceHoldStillText : !prediction || (prediction === null || prediction === void 0 ? void 0 : prediction.faceNotDetected) ? verbiage.guidanceNoFaceDetectedText : (prediction === null || prediction === void 0 ? void 0 : prediction.faceNotCentered) ? verbiage.guidanceMoveToCenterText : (prediction === null || prediction === void 0 ? void 0 : prediction.faceLookingAway) ? verbiage.guidanceLookStraightText : (prediction === null || prediction === void 0 ? void 0 : prediction.faceTooClose) ? verbiage.guidanceMoveBackText : (prediction === null || prediction === void 0 ? void 0 : prediction.faceTooFar) ? verbiage.guidanceMoveForwardText : !(prediction === null || prediction === void 0 ? void 0 : prediction.faceIsStable) ? verbiage.guidanceNotStableText : '');
21120
+ if (guidanceError && !allowManualSelfieCaptureOnLoadingError) {
21063
21121
  return /*#__PURE__*/React.createElement(SelfieCaptureFallback, {
21064
21122
  classNames: classNames.fallback
21065
21123
  });
21066
21124
  }
21067
21125
  var GuidesComponent = guidesComponent !== null && guidesComponent !== void 0 ? guidesComponent : FaceCaptureGuideOverlay;
21126
+ var guidanceVariant = allowManualCapture ? 'default' : satisfied ? 'positive' : 'negative';
21068
21127
  return /*#__PURE__*/React.createElement(Container$6, {
21069
21128
  ref: ref,
21070
21129
  className: classNames.container
@@ -21074,28 +21133,40 @@
21074
21133
  classNames: classNames.guides,
21075
21134
  status: satisfied ? 'processing' : 'ready'
21076
21135
  }), !!guidanceMessage && ( /*#__PURE__*/React.createElement(GuidanceMessageContainer, {
21136
+ "$top": "12px",
21077
21137
  className: classNames.guidanceMessageContainer
21078
21138
  }, /*#__PURE__*/React.createElement(GuidanceMessage, {
21079
- "$variant": satisfied ? 'positive' : 'negative',
21139
+ "$variant": guidanceVariant,
21080
21140
  className: classNames.guidanceMessage
21081
21141
  }, guidanceMessage))), debugMode && (prediction === null || prediction === void 0 ? void 0 : prediction.face) && ( /*#__PURE__*/React.createElement(ObjectDetectionDebugOverlayDiv, null, /*#__PURE__*/React.createElement(SelfieCaptureFaceDebugBox, {
21082
21142
  face: prediction.face,
21083
21143
  scaling: debugScalingDetails,
21084
21144
  color: satisfied ? 'green' : 'red'
21085
- }))), 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, {
21145
+ }))), 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")), allowManualCapture && ( /*#__PURE__*/React.createElement(CaptureButtonContainer$1, null, /*#__PURE__*/React.createElement(CaptureButton$1, {
21146
+ disabled: !videoRef.current,
21147
+ onClick: function onClick() {
21148
+ var _a;
21149
+ // draw the current frame from videoRef to the canvas
21150
+ if (!lastPredictionCanvas.current || !videoRef.current) return;
21151
+ lastPredictionCanvas.current.width = videoRef.current.videoWidth;
21152
+ lastPredictionCanvas.current.height = videoRef.current.videoHeight;
21153
+ var ctx = (_a = lastPredictionCanvas.current) === null || _a === void 0 ? void 0 : _a.getContext('2d');
21154
+ if (!ctx) return;
21155
+ ctx.drawImage(videoRef.current, 0, 0);
21156
+ doCapture();
21157
+ }
21158
+ }, verbiage.manualCaptureBtnText))), /*#__PURE__*/React.createElement(ExitCaptureButton, {
21086
21159
  onClick: onExit,
21087
21160
  className: classNames.exitCaptureBtn
21088
21161
  }));
21089
21162
  };
21090
21163
  var Container$6 = styled.div(templateObject_1$m || (templateObject_1$m = __makeTemplateObject(["\n width: 100%;\n height: 100%;\n"], ["\n width: 100%;\n height: 100%;\n"])));
21091
- var templateObject_1$m;
21164
+ var CaptureButtonContainer$1 = styled.div(templateObject_2$j || (templateObject_2$j = __makeTemplateObject(["\n position: absolute;\n bottom: 0;\n width: 100%;\n display: flex;\n z-index: 100000;\n box-sizing: border-box;\n padding: 0 12px 12px;\n"], ["\n position: absolute;\n bottom: 0;\n width: 100%;\n display: flex;\n z-index: 100000;\n box-sizing: border-box;\n padding: 0 12px 12px;\n"])));
21165
+ var CaptureButton$1 = styled(LoaderButton)(templateObject_3$e || (templateObject_3$e = __makeTemplateObject(["\n margin: 0 auto;\n width: 100%;\n border-radius: 30px;\n"], ["\n margin: 0 auto;\n width: 100%;\n border-radius: 30px;\n"])));
21166
+ var templateObject_1$m, templateObject_2$j, templateObject_3$e;
21092
21167
 
21093
21168
  var initialState$3 = {
21094
- frame: null,
21095
- face: null,
21096
21169
  requestState: 'CAPTURING',
21097
- requestError: null,
21098
- imageUrl: null,
21099
21170
  faceLive: false,
21100
21171
  eyeCoveringDetected: false,
21101
21172
  maskDetected: false,
@@ -21104,7 +21175,6 @@
21104
21175
  timesLivenessCheckFailed: 0
21105
21176
  };
21106
21177
  var reducer$2 = function reducer(state, action) {
21107
- var _a, _b;
21108
21178
  switch (action.type) {
21109
21179
  case 'resetLivenessCheck':
21110
21180
  return _assign(_assign({}, initialState$3), {
@@ -21139,12 +21209,12 @@
21139
21209
  });
21140
21210
  case 'livenessChecked':
21141
21211
  {
21142
- var _c = action.payload.response,
21143
- _d = _c.status,
21144
- statusCode = _d.statusCode,
21145
- statusMessage = _d.statusMessage,
21146
- errorData = _d.errorData,
21147
- resultData = _c.resultData;
21212
+ var _a = action.payload.response,
21213
+ _b = _a.status,
21214
+ statusCode = _b.statusCode,
21215
+ statusMessage = _b.statusMessage,
21216
+ errorData = _b.errorData,
21217
+ resultData = _a.resultData;
21148
21218
  if (statusCode !== '000') {
21149
21219
  return _assign(_assign({}, state), {
21150
21220
  requestState: 'ERROR',
@@ -21165,8 +21235,8 @@
21165
21235
  timesLivenessCheckFailed += 1;
21166
21236
  }
21167
21237
  return _assign(_assign({}, state), {
21168
- frame: (_a = action.payload.frame) !== null && _a !== void 0 ? _a : null,
21169
- face: (_b = action.payload.face) !== null && _b !== void 0 ? _b : null,
21238
+ frame: action.payload.frame,
21239
+ face: action.payload.face,
21170
21240
  imageUrl: action.payload.imageUrl,
21171
21241
  requestState: requestState,
21172
21242
  faceLive: faceLive,
@@ -21204,23 +21274,25 @@
21204
21274
  silentFallback = _h === void 0 ? false : _h,
21205
21275
  guidesComponent = _a.guidesComponent,
21206
21276
  disableCapturePreview = _a.disableCapturePreview,
21207
- _j = _a.classNames,
21208
- classNames = _j === void 0 ? {} : _j,
21209
- _k = _a.colors,
21210
- colors = _k === void 0 ? {} : _k,
21211
- _l = _a.verbiage,
21212
- rawVerbiage = _l === void 0 ? {} : _l,
21277
+ _j = _a.allowManualSelfieCaptureOnLoadingError,
21278
+ allowManualSelfieCaptureOnLoadingError = _j === void 0 ? false : _j,
21279
+ _k = _a.classNames,
21280
+ classNames = _k === void 0 ? {} : _k,
21281
+ _l = _a.colors,
21282
+ colors = _l === void 0 ? {} : _l,
21283
+ _m = _a.verbiage,
21284
+ rawVerbiage = _m === void 0 ? {} : _m,
21213
21285
  debugMode = _a.debugMode;
21214
- var _m = React.useContext(SubmissionContext),
21215
- checkLiveness = _m.checkLiveness,
21216
- submissionError = _m.submissionError;
21286
+ var _o = React.useContext(SubmissionContext),
21287
+ checkLiveness = _o.checkLiveness,
21288
+ submissionError = _o.submissionError;
21217
21289
  var modelError = useSelfieGuidanceModelsContext().error;
21218
- var _o = React.useReducer(reducer$2, initialState$3),
21219
- state = _o[0],
21220
- dispatch = _o[1];
21221
- var _p = React.useState(null),
21222
- imageUrl = _p[0],
21223
- setImageUrl = _p[1];
21290
+ var _p = React.useReducer(reducer$2, initialState$3),
21291
+ state = _p[0],
21292
+ dispatch = _p[1];
21293
+ var _q = React.useState(null),
21294
+ imageUrl = _q[0],
21295
+ setImageUrl = _q[1];
21224
21296
  var rawCanvas = React.useRef(null);
21225
21297
  var cropCanvas = React.useRef(null);
21226
21298
  var resizeCanvas = React.useRef(null);
@@ -21246,7 +21318,7 @@
21246
21318
  var isPassed = state.requestState === 'PASSED';
21247
21319
  React.useEffect(function checkLivenessIfPossible() {
21248
21320
  var _this = this;
21249
- if (!frame || !face || !isReady || submissionError) return;
21321
+ if (!frame || !isReady || submissionError) return;
21250
21322
  dispatch({
21251
21323
  type: 'livenessChecking'
21252
21324
  });
@@ -21385,7 +21457,7 @@
21385
21457
  });
21386
21458
  }, []);
21387
21459
  var initialDelayOver = useTimeout(initialCaptureDelayMs).timedOut;
21388
- if (modelError) {
21460
+ if (modelError && !allowManualSelfieCaptureOnLoadingError) {
21389
21461
  return /*#__PURE__*/React.createElement(SelfieCaptureFallback, {
21390
21462
  key: state.timesLivenessCheckFailed,
21391
21463
  onFinished: onFallbackImageCaptured,
@@ -21412,6 +21484,7 @@
21412
21484
  onGuidanceSatisfied: onGuidanceSatisfied,
21413
21485
  onGuidanceNotSatisfied: onGuidanceNotSatisfied,
21414
21486
  guidesComponent: guidesByRequestState,
21487
+ allowManualSelfieCaptureOnLoadingError: allowManualSelfieCaptureOnLoadingError,
21415
21488
  classNames: classNames,
21416
21489
  colors: colors,
21417
21490
  verbiage: rawVerbiage,
@@ -21678,35 +21751,39 @@
21678
21751
  var onLoadingStarted = _a.onLoadingStarted,
21679
21752
  onLoadingProgress = _a.onLoadingProgress,
21680
21753
  onLoadingCompleted = _a.onLoadingCompleted,
21754
+ onLoadingFailed = _a.onLoadingFailed,
21681
21755
  onDismissed = _a.onDismissed,
21682
21756
  onUserCancel = _a.onUserCancel,
21683
21757
  customOverlayContent = _a.customOverlayContent,
21684
21758
  _d = _a.waitForIdCaptureModels,
21685
21759
  waitForIdCaptureModels = _d === void 0 ? false : _d,
21686
- _e = _a.assets,
21687
- assets = _e === void 0 ? {} : _e,
21688
- _f = _a.classNames,
21689
- classNames = _f === void 0 ? {} : _f,
21690
- _g = _a.colors,
21691
- colors = _g === void 0 ? {} : _g,
21692
- _h = _a.verbiage,
21693
- rawVerbiage = _h === void 0 ? {} : _h;
21760
+ _e = _a.allowManualSelfieCaptureOnLoadingError,
21761
+ allowManualSelfieCaptureOnLoadingError = _e === void 0 ? false : _e,
21762
+ _f = _a.assets,
21763
+ assets = _f === void 0 ? {} : _f,
21764
+ _g = _a.classNames,
21765
+ classNames = _g === void 0 ? {} : _g,
21766
+ _h = _a.colors,
21767
+ colors = _h === void 0 ? {} : _h,
21768
+ _j = _a.verbiage,
21769
+ rawVerbiage = _j === void 0 ? {} : _j;
21694
21770
  var sessionCheckState = useAuthContext()[0].sessionCheckState;
21695
21771
  var sessionReady = sessionCheckState === 'PASSED';
21696
- var _j = useCameraStore(useShallow(function (state) {
21772
+ var _k = useCameraStore(useShallow(function (state) {
21697
21773
  return {
21698
21774
  cameraReady: state.cameraReady,
21699
21775
  cameraAccessDenied: state.cameraAccessDenied,
21700
21776
  microphoneAccessDenied: state.microphoneAccessDenied
21701
21777
  };
21702
21778
  })),
21703
- cameraReady = _j.cameraReady,
21704
- cameraAccessDenied = _j.cameraAccessDenied,
21705
- microphoneAccessDenied = _j.microphoneAccessDenied;
21706
- var _k = useSelfieGuidanceModelsContext(),
21707
- modelLoadState = _k.modelLoadState,
21708
- modelDownloadProgress = _k.modelDownloadProgress,
21709
- modelWarmingStartedAt = _k.modelWarmingStartedAt;
21779
+ cameraReady = _k.cameraReady,
21780
+ cameraAccessDenied = _k.cameraAccessDenied,
21781
+ microphoneAccessDenied = _k.microphoneAccessDenied;
21782
+ var _l = useSelfieGuidanceModelsContext(),
21783
+ modelLoadState = _l.modelLoadState,
21784
+ modelDownloadProgress = _l.modelDownloadProgress,
21785
+ modelWarmingStartedAt = _l.modelWarmingStartedAt,
21786
+ modelError = _l.error;
21710
21787
  var idCaptureModelsContext = React.useContext(IdCaptureModelsContext);
21711
21788
  var theme = styled.useTheme();
21712
21789
  var verbiage = useTranslations(rawVerbiage, {
@@ -21722,9 +21799,9 @@
21722
21799
  modelsReadyText: 'Guided capture experience ready',
21723
21800
  sessionCheckingText: 'Authenticating...'
21724
21801
  });
21725
- var _l = React.useState(0),
21726
- headingTextIndex = _l[0],
21727
- setHeadingTextIndex = _l[1];
21802
+ var _m = React.useState(0),
21803
+ headingTextIndex = _m[0],
21804
+ setHeadingTextIndex = _m[1];
21728
21805
  var headingText = [verbiage.headingText, verbiage.removeEyeCoveringsText, verbiage.avoidExcessiveBacklightingText][headingTextIndex];
21729
21806
  React.useEffect(function () {
21730
21807
  setInterval(function () {
@@ -21735,20 +21812,29 @@
21735
21812
  }, []);
21736
21813
  var timeSinceWarmingStarted = modelWarmingStartedAt ? new Date().getTime() - modelWarmingStartedAt : 0;
21737
21814
  var warmingProgress = timeSinceWarmingStarted / 5000.0;
21738
- var allModelsReady = modelLoadState === 'ready' && (!waitForIdCaptureModels || (idCaptureModelsContext === null || idCaptureModelsContext === void 0 ? void 0 : idCaptureModelsContext.ready));
21815
+ var _o = React.useState(false),
21816
+ overrideModelsReady = _o[0],
21817
+ setOverrideModelsReady = _o[1];
21818
+ var onLoadingFailedCallback = React.useCallback(function (error) {
21819
+ setOverrideModelsReady(allowManualSelfieCaptureOnLoadingError);
21820
+ return onLoadingFailed === null || onLoadingFailed === void 0 ? void 0 : onLoadingFailed(error);
21821
+ }, [onLoadingFailed, allowManualSelfieCaptureOnLoadingError]);
21822
+ var allModelsReady = overrideModelsReady || modelLoadState === 'ready' && (!waitForIdCaptureModels || (idCaptureModelsContext === null || idCaptureModelsContext === void 0 ? void 0 : idCaptureModelsContext.ready));
21739
21823
  var ready = sessionReady && allModelsReady && cameraReady;
21740
21824
  var modelLoadProgress = allModelsReady ? 100 : modelDownloadProgress * 0.5 + warmingProgress * 49.0;
21741
21825
  useLoadProgressHooks({
21742
21826
  ready: ready,
21743
21827
  modelLoadState: modelLoadState,
21744
21828
  modelLoadProgress: modelLoadProgress,
21829
+ modelError: modelError,
21745
21830
  onLoadingStarted: onLoadingStarted,
21746
21831
  onLoadingProgress: onLoadingProgress,
21747
- onLoadingCompleted: onLoadingCompleted
21832
+ onLoadingCompleted: onLoadingCompleted,
21833
+ onLoadingFailed: onLoadingFailedCallback
21748
21834
  });
21749
- var _m = React.useState(false),
21750
- dismissed = _m[0],
21751
- setDismissed = _m[1];
21835
+ var _p = React.useState(false),
21836
+ dismissed = _p[0],
21837
+ setDismissed = _p[1];
21752
21838
  if (dismissed) return /*#__PURE__*/React.createElement(React.Fragment, null);
21753
21839
  if (cameraAccessDenied) {
21754
21840
  return /*#__PURE__*/React.createElement(CameraAccessDeniedOverlay, {
@@ -21889,6 +21975,7 @@
21889
21975
  var onLoadingStarted = _a.onLoadingStarted,
21890
21976
  onLoadingProgress = _a.onLoadingProgress,
21891
21977
  onLoadingCompleted = _a.onLoadingCompleted,
21978
+ onLoadingFailed = _a.onLoadingFailed,
21892
21979
  onComplete = _a.onComplete,
21893
21980
  onSuccess = _a.onSuccess,
21894
21981
  onFailure = _a.onFailure,
@@ -21922,49 +22009,51 @@
21922
22009
  waitForIdCaptureModels = _m === void 0 ? false : _m,
21923
22010
  guidesComponent = _a.guidesComponent,
21924
22011
  disableCapturePreview = _a.disableCapturePreview,
21925
- _o = _a.assets,
21926
- assets = _o === void 0 ? {} : _o,
21927
- _p = _a.classNames,
21928
- classNames = _p === void 0 ? {} : _p,
21929
- _q = _a.colors,
21930
- colors = _q === void 0 ? {} : _q,
21931
- _r = _a.verbiage,
21932
- verbiage = _r === void 0 ? {} : _r,
21933
- _s = _a.debugMode,
21934
- debugMode = _s === void 0 ? false : _s,
21935
- _t = _a.showLoadingOverlay,
21936
- showLoadingOverlay = _t === void 0 ? true : _t;
21937
- var _u = useSubmissionContext(),
21938
- submissionResponse = _u.submissionResponse,
21939
- livenessCheckRequest = _u.livenessCheckRequest,
21940
- setSelfieImage = _u.setSelfieImage,
21941
- logSelfieCaptureAttempt = _u.logSelfieCaptureAttempt;
21942
- var _v = useCameraStore(useShallow(function (state) {
22012
+ _o = _a.allowManualSelfieCaptureOnLoadingError,
22013
+ allowManualSelfieCaptureOnLoadingError = _o === void 0 ? false : _o,
22014
+ _p = _a.assets,
22015
+ assets = _p === void 0 ? {} : _p,
22016
+ _q = _a.classNames,
22017
+ classNames = _q === void 0 ? {} : _q,
22018
+ _r = _a.colors,
22019
+ colors = _r === void 0 ? {} : _r,
22020
+ _s = _a.verbiage,
22021
+ verbiage = _s === void 0 ? {} : _s,
22022
+ _t = _a.debugMode,
22023
+ debugMode = _t === void 0 ? false : _t,
22024
+ _u = _a.showLoadingOverlay,
22025
+ showLoadingOverlay = _u === void 0 ? true : _u;
22026
+ var _v = useSubmissionContext(),
22027
+ submissionResponse = _v.submissionResponse,
22028
+ livenessCheckRequest = _v.livenessCheckRequest,
22029
+ setSelfieImage = _v.setSelfieImage,
22030
+ logSelfieCaptureAttempt = _v.logSelfieCaptureAttempt;
22031
+ var _w = useCameraStore(useShallow(function (state) {
21943
22032
  return {
21944
22033
  cameraAccessDenied: state.cameraAccessDenied,
21945
22034
  requestCameraAccess: state.requestCameraAccess,
21946
22035
  releaseCameraAccess: state.releaseCameraAccess
21947
22036
  };
21948
22037
  })),
21949
- cameraAccessDenied = _v.cameraAccessDenied,
21950
- requestCameraAccess = _v.requestCameraAccess,
21951
- releaseCameraAccess = _v.releaseCameraAccess;
21952
- var _w = React.useState(''),
21953
- faceCropImageUrl = _w[0],
21954
- setFaceCropImageUrl = _w[1];
21955
- var _x = React.useState(0),
21956
- retryCount = _x[0],
21957
- setRetryCount = _x[1];
21958
- var _y = React.useState(showLoadingOverlay ? 'LOADING' : 'CAPTURING'),
21959
- captureState = _y[0],
21960
- setCaptureState = _y[1];
22038
+ cameraAccessDenied = _w.cameraAccessDenied,
22039
+ requestCameraAccess = _w.requestCameraAccess,
22040
+ releaseCameraAccess = _w.releaseCameraAccess;
22041
+ var _x = React.useState(''),
22042
+ faceCropImageUrl = _x[0],
22043
+ setFaceCropImageUrl = _x[1];
22044
+ var _y = React.useState(0),
22045
+ retryCount = _y[0],
22046
+ setRetryCount = _y[1];
22047
+ var _z = React.useState(showLoadingOverlay ? 'LOADING' : 'CAPTURING'),
22048
+ captureState = _z[0],
22049
+ setCaptureState = _z[1];
21961
22050
  var captureStartedAt = React.useRef();
21962
22051
  var operationStartedAt = React.useRef();
21963
22052
  var livenessScore = React.useRef();
21964
- var _z = useSelfieGuidanceModelsContext(),
21965
- start = _z.start,
21966
- stop = _z.stop,
21967
- selfieGuidanceCanvasRef = _z.canvasRef;
22053
+ var _0 = useSelfieGuidanceModelsContext(),
22054
+ start = _0.start,
22055
+ stop = _0.stop,
22056
+ selfieGuidanceCanvasRef = _0.canvasRef;
21968
22057
  React.useEffect(function () {
21969
22058
  if (precapturedDocuments === null || precapturedDocuments === void 0 ? void 0 : precapturedDocuments.selfie) {
21970
22059
  setSelfieImage(precapturedDocuments.selfie.imageData);
@@ -22047,9 +22136,9 @@
22047
22136
  }
22048
22137
  onDenied === null || onDenied === void 0 ? void 0 : onDenied(submissionResponse, livenessCheckRequest);
22049
22138
  }, [allowLivenessFailure, onDenied, submissionResponse, livenessCheckRequest]);
22050
- var _0 = React.useState(0),
22051
- attempt = _0[0],
22052
- setAttempt = _0[1];
22139
+ var _1 = React.useState(0),
22140
+ attempt = _1[0],
22141
+ setAttempt = _1[1];
22053
22142
  var onExitCallback = React.useCallback(function () {
22054
22143
  setAttempt(function (n) {
22055
22144
  return n + 1;
@@ -22117,6 +22206,7 @@
22117
22206
  silentFallback: silentFallback,
22118
22207
  guidesComponent: guidesComponent,
22119
22208
  disableCapturePreview: disableCapturePreview,
22209
+ allowManualSelfieCaptureOnLoadingError: allowManualSelfieCaptureOnLoadingError,
22120
22210
  classNames: classNames.capture,
22121
22211
  colors: colors,
22122
22212
  verbiage: verbiage,
@@ -22159,9 +22249,11 @@
22159
22249
  onLoadingStarted: onLoadingStarted,
22160
22250
  onLoadingProgress: onLoadingProgress,
22161
22251
  onLoadingCompleted: onLoadingCompleted,
22252
+ onLoadingFailed: onLoadingFailed,
22162
22253
  onUserCancel: onUserCancel,
22163
22254
  onDismissed: onLoadingOverlayDismissedCallback,
22164
- waitForIdCaptureModels: waitForIdCaptureModels
22255
+ waitForIdCaptureModels: waitForIdCaptureModels,
22256
+ allowManualSelfieCaptureOnLoadingError: allowManualSelfieCaptureOnLoadingError
22165
22257
  })));
22166
22258
  };
22167
22259
  function FaceLivenessWizardWithProviders(_a) {
@@ -23885,8 +23977,6 @@
23885
23977
  setTimeout(startHeadTracking, 1);
23886
23978
  return stopHeadTracking;
23887
23979
  }, [startHeadTracking, stopHeadTracking]);
23888
- colors.guidanceMessageBackgroundColor || (colors.guidanceMessageBackgroundColor = '#ccc');
23889
- colors.guidanceMessageTextColor || (colors.guidanceMessageTextColor = 'black');
23890
23980
  var verbiage = useTranslations(rawVerbiage, {
23891
23981
  guidanceMessageText: 'Please sign the box below'
23892
23982
  });
@@ -23934,7 +24024,7 @@
23934
24024
  ref: ref,
23935
24025
  className: classNames.container
23936
24026
  }, !!verbiage.guidanceMessageText && ( /*#__PURE__*/React.createElement(GuidanceMessageContainer, {
23937
- "$top": "10%",
24027
+ "$top": "12px",
23938
24028
  className: classNames.guidanceMessageContainer
23939
24029
  }, /*#__PURE__*/React.createElement(GuidanceMessage, {
23940
24030
  className: classNames.guidanceMessage,
@@ -24024,6 +24114,7 @@
24024
24114
  var onLoadingStarted = _a.onLoadingStarted,
24025
24115
  onLoadingProgress = _a.onLoadingProgress,
24026
24116
  onLoadingCompleted = _a.onLoadingCompleted,
24117
+ onLoadingFailed = _a.onLoadingFailed,
24027
24118
  onLoadingOverlayDismissed = _a.onLoadingOverlayDismissed,
24028
24119
  onCapture = _a.onCapture,
24029
24120
  onUserCancel = _a.onUserCancel,
@@ -24042,43 +24133,45 @@
24042
24133
  initialCaptureDelayMs = _g === void 0 ? 1000 : _g,
24043
24134
  _h = _a.silentFallback,
24044
24135
  silentFallback = _h === void 0 ? false : _h,
24136
+ _j = _a.allowManualSelfieCaptureOnLoadingError,
24137
+ allowManualSelfieCaptureOnLoadingError = _j === void 0 ? false : _j,
24045
24138
  guidanceMessage = _a.guidanceMessage,
24046
24139
  guidesComponent = _a.guidesComponent,
24047
- _j = _a.assets,
24048
- assets = _j === void 0 ? {} : _j,
24049
- _k = _a.classNames,
24050
- classNames = _k === void 0 ? {} : _k,
24051
- _l = _a.colors,
24052
- colors = _l === void 0 ? {} : _l,
24053
- _m = _a.verbiage,
24054
- verbiage = _m === void 0 ? {} : _m,
24055
- _o = _a.debugMode,
24056
- debugMode = _o === void 0 ? false : _o;
24057
- var _p = useSubmissionContext(),
24058
- setSelfieImage = _p.setSelfieImage,
24059
- logSelfieCaptureAttempt = _p.logSelfieCaptureAttempt;
24060
- var _q = useCameraStore(useShallow(function (state) {
24140
+ _k = _a.assets,
24141
+ assets = _k === void 0 ? {} : _k,
24142
+ _l = _a.classNames,
24143
+ classNames = _l === void 0 ? {} : _l,
24144
+ _m = _a.colors,
24145
+ colors = _m === void 0 ? {} : _m,
24146
+ _o = _a.verbiage,
24147
+ verbiage = _o === void 0 ? {} : _o,
24148
+ _p = _a.debugMode,
24149
+ debugMode = _p === void 0 ? false : _p;
24150
+ var _q = useSubmissionContext(),
24151
+ setSelfieImage = _q.setSelfieImage,
24152
+ logSelfieCaptureAttempt = _q.logSelfieCaptureAttempt;
24153
+ var _r = useCameraStore(useShallow(function (state) {
24061
24154
  return {
24062
24155
  cameraAccessDenied: state.cameraAccessDenied,
24063
24156
  requestCameraAccess: state.requestCameraAccess,
24064
24157
  releaseCameraAccess: state.releaseCameraAccess
24065
24158
  };
24066
24159
  })),
24067
- cameraAccessDenied = _q.cameraAccessDenied,
24068
- requestCameraAccess = _q.requestCameraAccess,
24069
- releaseCameraAccess = _q.releaseCameraAccess;
24070
- var _r = React.useState(showLoadingOverlay ? 'LOADING' : 'CAPTURING'),
24071
- captureState = _r[0],
24072
- setCaptureState = _r[1];
24160
+ cameraAccessDenied = _r.cameraAccessDenied,
24161
+ requestCameraAccess = _r.requestCameraAccess,
24162
+ releaseCameraAccess = _r.releaseCameraAccess;
24163
+ var _s = React.useState(showLoadingOverlay ? 'LOADING' : 'CAPTURING'),
24164
+ captureState = _s[0],
24165
+ setCaptureState = _s[1];
24073
24166
  var rawCanvas = React.useRef(null);
24074
24167
  var cropCanvas = React.useRef(null);
24075
24168
  var resizeCanvas = React.useRef(null);
24076
24169
  var captureStartedAt = React.useRef();
24077
24170
  var operationStartedAt = React.useRef();
24078
- var _s = useSelfieGuidanceModelsContext(),
24079
- start = _s.start,
24080
- stop = _s.stop,
24081
- modelError = _s.error;
24171
+ var _t = useSelfieGuidanceModelsContext(),
24172
+ start = _t.start,
24173
+ stop = _t.stop,
24174
+ modelError = _t.error;
24082
24175
  React.useEffect(function () {
24083
24176
  if (precapturedDocuments === null || precapturedDocuments === void 0 ? void 0 : precapturedDocuments.selfie) {
24084
24177
  setSelfieImage(precapturedDocuments.selfie.imageData);
@@ -24126,9 +24219,9 @@
24126
24219
  status: status
24127
24220
  }));
24128
24221
  }, [captureState, guidesComponent]);
24129
- var _t = React.useState(0),
24130
- attempt = _t[0],
24131
- setAttempt = _t[1];
24222
+ var _u = React.useState(0),
24223
+ attempt = _u[0],
24224
+ setAttempt = _u[1];
24132
24225
  var onExitCallback = React.useCallback(function () {
24133
24226
  setAttempt(function (n) {
24134
24227
  return n + 1;
@@ -24147,7 +24240,7 @@
24147
24240
  }
24148
24241
  }, [cameraAccessDenied]);
24149
24242
  var initialDelayOver = useTimeout(initialCaptureDelayMs, undefined, undefined, undefined, captureState === 'CAPTURING').timedOut;
24150
- if (modelError) {
24243
+ if (modelError && !allowManualSelfieCaptureOnLoadingError) {
24151
24244
  return /*#__PURE__*/React.createElement(SelfieCaptureFallback, {
24152
24245
  onFinished: onFallbackImageCaptured,
24153
24246
  silentFallback: silentFallback,
@@ -24171,6 +24264,7 @@
24171
24264
  guidanceMessage: guidanceMessage,
24172
24265
  guidanceSatisfied: guidanceMessage ? false : undefined,
24173
24266
  guidesComponent: guidesByRequestState,
24267
+ allowManualSelfieCaptureOnLoadingError: allowManualSelfieCaptureOnLoadingError,
24174
24268
  classNames: classNames.capture,
24175
24269
  colors: colors.capture,
24176
24270
  verbiage: verbiage.capture,
@@ -24186,9 +24280,11 @@
24186
24280
  onLoadingStarted: onLoadingStarted,
24187
24281
  onLoadingProgress: onLoadingProgress,
24188
24282
  onLoadingCompleted: onLoadingCompleted,
24283
+ onLoadingFailed: onLoadingFailed,
24189
24284
  onUserCancel: onUserCancel,
24190
24285
  onDismissed: onLoadingOverlayDismissedCallback,
24191
- waitForIdCaptureModels: waitForIdCaptureModels
24286
+ waitForIdCaptureModels: waitForIdCaptureModels,
24287
+ allowManualSelfieCaptureOnLoadingError: allowManualSelfieCaptureOnLoadingError
24192
24288
  })));
24193
24289
  }
24194
24290
 
@@ -24198,6 +24294,7 @@
24198
24294
  var onLoadingStarted = _a.onLoadingStarted,
24199
24295
  onLoadingProgress = _a.onLoadingProgress,
24200
24296
  onLoadingCompleted = _a.onLoadingCompleted,
24297
+ onLoadingFailed = _a.onLoadingFailed,
24201
24298
  onSelfieCaptured = _a.onSelfieCaptured,
24202
24299
  onComplete = _a.onComplete,
24203
24300
  onVideoCaptured = _a.onVideoCaptured,
@@ -24226,39 +24323,41 @@
24226
24323
  restartVideoOnSignaturePadCleared = _k === void 0 ? true : _k,
24227
24324
  _l = _a.skipLivenessValidation,
24228
24325
  skipLivenessValidation = _l === void 0 ? false : _l,
24326
+ _m = _a.allowManualSelfieCaptureOnLoadingError,
24327
+ allowManualSelfieCaptureOnLoadingError = _m === void 0 ? false : _m,
24229
24328
  faceLivenessProps = _a.faceLivenessProps,
24230
24329
  guidesComponent = _a.guidesComponent,
24231
- _m = _a.assets,
24232
- assets = _m === void 0 ? {} : _m,
24233
- _o = _a.classNames,
24234
- classNames = _o === void 0 ? {} : _o,
24235
- _p = _a.colors,
24236
- colors = _p === void 0 ? {} : _p,
24237
- _q = _a.verbiage,
24238
- verbiage = _q === void 0 ? {} : _q,
24239
- _r = _a.debugMode,
24240
- debugMode = _r === void 0 ? false : _r;
24241
- var _s = useSubmissionContext(),
24242
- selfieImage = _s.selfieImage,
24243
- setSelfieImage = _s.setSelfieImage,
24244
- setSignatureData = _s.setSignatureData,
24245
- setSignatureVideoUrl = _s.setSignatureVideoUrl,
24246
- logSelfieCaptureAttempt = _s.logSelfieCaptureAttempt,
24247
- uploadDocument = _s.uploadDocument;
24330
+ _o = _a.assets,
24331
+ assets = _o === void 0 ? {} : _o,
24332
+ _p = _a.classNames,
24333
+ classNames = _p === void 0 ? {} : _p,
24334
+ _q = _a.colors,
24335
+ colors = _q === void 0 ? {} : _q,
24336
+ _r = _a.verbiage,
24337
+ verbiage = _r === void 0 ? {} : _r,
24338
+ _s = _a.debugMode,
24339
+ debugMode = _s === void 0 ? false : _s;
24340
+ var _t = useSubmissionContext(),
24341
+ selfieImage = _t.selfieImage,
24342
+ setSelfieImage = _t.setSelfieImage,
24343
+ setSignatureData = _t.setSignatureData,
24344
+ setSignatureVideoUrl = _t.setSignatureVideoUrl,
24345
+ logSelfieCaptureAttempt = _t.logSelfieCaptureAttempt,
24346
+ uploadDocument = _t.uploadDocument;
24248
24347
  var cameraAccessDenied = useCameraStore(useShallow(function (state) {
24249
24348
  return {
24250
24349
  cameraAccessDenied: state.cameraAccessDenied
24251
24350
  };
24252
24351
  })).cameraAccessDenied;
24253
- var _t = React.useState(skipLivenessValidation ? 'CAPTURING_SELFIE' : 'CHECKING_LIVENESS'),
24254
- captureState = _t[0],
24255
- setCaptureState = _t[1];
24352
+ var _u = React.useState(skipLivenessValidation ? 'CAPTURING_SELFIE' : 'CHECKING_LIVENESS'),
24353
+ captureState = _u[0],
24354
+ setCaptureState = _u[1];
24256
24355
  var operationStartedAt = React.useRef();
24257
24356
  var captureStartedAt = React.useRef();
24258
24357
  var captureEndedAt = React.useRef();
24259
- var _u = useSelfieGuidanceModelsContext(),
24260
- start = _u.start,
24261
- stop = _u.stop;
24358
+ var _v = useSelfieGuidanceModelsContext(),
24359
+ start = _v.start,
24360
+ stop = _v.stop;
24262
24361
  React.useEffect(function () {
24263
24362
  operationStartedAt.current = new Date();
24264
24363
  }, []);
@@ -24302,9 +24401,9 @@
24302
24401
  filetype: 'image/jpeg'
24303
24402
  }).then(onSelfieCaptured);
24304
24403
  }, [logCaptureMetadata, onSelfieCaptured, setSelfieImage, uploadDocument]);
24305
- var _v = React.useState(null),
24306
- signatureImageUrl = _v[0],
24307
- setSignatureImageUrl = _v[1];
24404
+ var _w = React.useState(null),
24405
+ signatureImageUrl = _w[0],
24406
+ setSignatureImageUrl = _w[1];
24308
24407
  var onSignatureCaptureCompleted = React.useCallback(function (videoData, signatureData, signatureImageData) {
24309
24408
  setSignatureData(signatureData);
24310
24409
  setSignatureVideoUrl(URL.createObjectURL(videoData));
@@ -24312,17 +24411,17 @@
24312
24411
  setCaptureState('SUCCESS');
24313
24412
  onVideoCaptured === null || onVideoCaptured === void 0 ? void 0 : onVideoCaptured(videoData, signatureData, signatureImageData);
24314
24413
  }, [onVideoCaptured, setSignatureData, setSignatureVideoUrl]);
24315
- var _w = React.useState(true),
24316
- showLoadingOverlay = _w[0],
24317
- setShowLoadingOverlay = _w[1];
24414
+ var _x = React.useState(true),
24415
+ showLoadingOverlay = _x[0],
24416
+ setShowLoadingOverlay = _x[1];
24318
24417
  var onSignatureCaptureFacesNotDetected = React.useCallback(function () {
24319
24418
  setShowLoadingOverlay(false);
24320
24419
  setCaptureState(skipLivenessValidation ? 'CAPTURING_SELFIE' : 'CHECKING_LIVENESS');
24321
24420
  useVideoSignatureStore.getState().clearRecordedData();
24322
24421
  }, [skipLivenessValidation]);
24323
- var _x = React.useState(0),
24324
- attempt = _x[0],
24325
- setAttempt = _x[1];
24422
+ var _y = React.useState(0),
24423
+ attempt = _y[0],
24424
+ setAttempt = _y[1];
24326
24425
  var onRetry = React.useCallback(function () {
24327
24426
  onRetryClicked === null || onRetryClicked === void 0 ? void 0 : onRetryClicked();
24328
24427
  setAttempt(function (n) {
@@ -24382,6 +24481,7 @@
24382
24481
  onLoadingStarted: onLoadingStarted,
24383
24482
  onLoadingProgress: onLoadingProgress,
24384
24483
  onLoadingCompleted: onLoadingCompleted,
24484
+ onLoadingFailed: onLoadingFailed,
24385
24485
  onSuccess: onFaceCaptureSuccess,
24386
24486
  onExitCapture: onExitCapture,
24387
24487
  onUserCancel: onUserCancel,
@@ -24390,6 +24490,7 @@
24390
24490
  showLoadingOverlay: showLoadingOverlay,
24391
24491
  customOverlayContent: customOverlayContent,
24392
24492
  loadingOverlayMode: loadingOverlayMode,
24493
+ allowManualSelfieCaptureOnLoadingError: allowManualSelfieCaptureOnLoadingError,
24393
24494
  guidesComponent: resolvedGuidesComponent,
24394
24495
  assets: assets.faceLiveness,
24395
24496
  classNames: classNames.faceLiveness,
@@ -24405,6 +24506,7 @@
24405
24506
  onLoadingStarted: onLoadingStarted,
24406
24507
  onLoadingProgress: onLoadingProgress,
24407
24508
  onLoadingCompleted: onLoadingCompleted,
24509
+ onLoadingFailed: onLoadingFailed,
24408
24510
  onLoadingOverlayDismissed: onLoadingOverlayDismissedCallback,
24409
24511
  onCapture: onSelfieCapture,
24410
24512
  onUserCancel: onUserCancel,
@@ -24412,6 +24514,7 @@
24412
24514
  showLoadingOverlay: showLoadingOverlay,
24413
24515
  customOverlayContent: customOverlayContent,
24414
24516
  loadingOverlayMode: loadingOverlayMode,
24517
+ allowManualSelfieCaptureOnLoadingError: allowManualSelfieCaptureOnLoadingError,
24415
24518
  guidesComponent: resolvedGuidesComponent,
24416
24519
  assets: assets.faceLiveness,
24417
24520
  classNames: classNames.faceLiveness,
@@ -25380,6 +25483,7 @@
25380
25483
  onLoadingStarted = _a.onLoadingStarted,
25381
25484
  onLoadingProgress = _a.onLoadingProgress,
25382
25485
  onLoadingCompleted = _a.onLoadingCompleted,
25486
+ onLoadingFailed = _a.onLoadingFailed,
25383
25487
  onLoadingOverlayDismissed = _a.onLoadingOverlayDismissed,
25384
25488
  _t = _a.idDocumentType,
25385
25489
  idDocumentType = _t === void 0 ? 'idCardOrPassport' : _t,
@@ -25541,6 +25645,7 @@
25541
25645
  onLoadingStarted: onLoadingStarted,
25542
25646
  onLoadingProgress: onLoadingProgress,
25543
25647
  onLoadingCompleted: onLoadingCompleted,
25648
+ onLoadingFailed: onLoadingFailed,
25544
25649
  onLoadingOverlayDismissed: onLoadingOverlayDismissed,
25545
25650
  silentFallback: silentFallback,
25546
25651
  guideImages: idCaptureGuideImages
@@ -25568,6 +25673,7 @@
25568
25673
  onLoadingStarted: onLoadingStarted,
25569
25674
  onLoadingProgress: onLoadingProgress,
25570
25675
  onLoadingCompleted: onLoadingCompleted,
25676
+ onLoadingFailed: onLoadingFailed,
25571
25677
  onLoadingOverlayDismissed: onLoadingOverlayDismissed,
25572
25678
  silentFallback: silentFallback
25573
25679
  }, faceLivenessProps, {
@@ -25918,7 +26024,7 @@
25918
26024
  },
25919
26025
  guidanceMessages: {
25920
26026
  "default": {
25921
- backgroundColor: 'var(--idm-color-secondary-200)',
26027
+ backgroundColor: 'white',
25922
26028
  textColor: 'black'
25923
26029
  },
25924
26030
  positive: {
@@ -26152,6 +26258,7 @@
26152
26258
  onLoadingStarted = _a.onLoadingStarted,
26153
26259
  onLoadingProgress = _a.onLoadingProgress,
26154
26260
  onLoadingCompleted = _a.onLoadingCompleted,
26261
+ onLoadingFailed = _a.onLoadingFailed,
26155
26262
  onAuthError = _a.onAuthError,
26156
26263
  onBeforeSubmit = _a.onBeforeSubmit,
26157
26264
  onBeforeDocumentUpload = _a.onBeforeDocumentUpload,
@@ -26198,6 +26305,7 @@
26198
26305
  onLoadingStarted: onLoadingStarted,
26199
26306
  onLoadingProgress: onLoadingProgress,
26200
26307
  onLoadingCompleted: onLoadingCompleted,
26308
+ onLoadingFailed: onLoadingFailed,
26201
26309
  onExitCapture: onExitCapture,
26202
26310
  onUserCancel: onUserCancel,
26203
26311
  onModelError: onModelError,
@@ -26229,7 +26337,7 @@
26229
26337
  verbiage: verbiage,
26230
26338
  debugMode: debugMode
26231
26339
  };
26232
- }, [onLoadingStarted, onLoadingProgress, onLoadingCompleted, onExitCapture, onUserCancel, onModelError, onDocumentCaptured, precapturedDocuments, idCaptureRequirement, allowSinglePageIdCapture, separateIdCardCaptureSequence, idCaptureThresholds, skipSuccessScreen, loadingOverlayMode, customOverlayContent, onLoadingOverlayDismissed, forceFallbackMode, silentFallback, allowIdCardBackToFrontCapture, allowUploadingDocumentsFromStorage, instructions, guideType, guideImages, portraitGuidesOnMobile, rotateLoadingOverlayImageWhenPortrait, modelLoadTimeoutMs, enableOverrideWrongDocumentTypeDialog, allowOverrideWrongDocumentTypeAfterMs, assets, classNames, colors, verbiage, debugMode]);
26340
+ }, [onLoadingStarted, onLoadingProgress, onLoadingCompleted, onLoadingFailed, onExitCapture, onUserCancel, onModelError, onDocumentCaptured, precapturedDocuments, idCaptureRequirement, allowSinglePageIdCapture, separateIdCardCaptureSequence, idCaptureThresholds, skipSuccessScreen, loadingOverlayMode, customOverlayContent, onLoadingOverlayDismissed, forceFallbackMode, silentFallback, allowIdCardBackToFrontCapture, allowUploadingDocumentsFromStorage, instructions, guideType, guideImages, portraitGuidesOnMobile, rotateLoadingOverlayImageWhenPortrait, modelLoadTimeoutMs, enableOverrideWrongDocumentTypeDialog, allowOverrideWrongDocumentTypeAfterMs, assets, classNames, colors, verbiage, debugMode]);
26233
26341
  var additionalDocumentCaptureProps = React.useMemo(function () {
26234
26342
  return {
26235
26343
  documents: captureAdditionalDocuments,
@@ -26362,6 +26470,7 @@
26362
26470
  onLoadingStarted = _a.onLoadingStarted,
26363
26471
  onLoadingProgress = _a.onLoadingProgress,
26364
26472
  onLoadingCompleted = _a.onLoadingCompleted,
26473
+ onLoadingFailed = _a.onLoadingFailed,
26365
26474
  onAuthError = _a.onAuthError,
26366
26475
  onBeforeDocumentUpload = _a.onBeforeDocumentUpload,
26367
26476
  onDocumentUploadProgress = _a.onDocumentUploadProgress,
@@ -26402,6 +26511,7 @@
26402
26511
  onLoadingStarted: onLoadingStarted,
26403
26512
  onLoadingProgress: onLoadingProgress,
26404
26513
  onLoadingCompleted: onLoadingCompleted,
26514
+ onLoadingFailed: onLoadingFailed,
26405
26515
  onComplete: onComplete,
26406
26516
  onSuccess: onApproved,
26407
26517
  onDenied: onDenied,
@@ -26415,7 +26525,7 @@
26415
26525
  verbiage: verbiage,
26416
26526
  debugMode: debugMode
26417
26527
  };
26418
- }, [assets, classNames, colors, debugMode, initialCaptureDelayMs, loadingOverlayMode, modelLoadTimeoutMs, onApproved, onComplete, onDenied, onExitAfterFailure, onExitCapture, onLoadingCompleted, onLoadingProgress, onLoadingStarted, onModelError, onUserCancel, skipSuccessScreen, timeoutDurationMs, verbiage]);
26528
+ }, [assets, classNames, colors, debugMode, initialCaptureDelayMs, loadingOverlayMode, modelLoadTimeoutMs, onApproved, onComplete, onDenied, onExitAfterFailure, onExitCapture, onLoadingCompleted, onLoadingFailed, onLoadingProgress, onLoadingStarted, onModelError, onUserCancel, skipSuccessScreen, timeoutDurationMs, verbiage]);
26419
26529
  return /*#__PURE__*/React.createElement(AuthProvider, {
26420
26530
  sessionId: sessionId,
26421
26531
  authUrl: authUrl,
@@ -26542,6 +26652,7 @@
26542
26652
  onLoadingStarted = _a.onLoadingStarted,
26543
26653
  onLoadingProgress = _a.onLoadingProgress,
26544
26654
  onLoadingCompleted = _a.onLoadingCompleted,
26655
+ onLoadingFailed = _a.onLoadingFailed,
26545
26656
  onAuthError = _a.onAuthError,
26546
26657
  onBeforeDocumentUpload = _a.onBeforeDocumentUpload,
26547
26658
  onDocumentUploaded = _a.onDocumentUploaded,
@@ -26590,6 +26701,7 @@
26590
26701
  onLoadingStarted: onLoadingStarted,
26591
26702
  onLoadingProgress: onLoadingProgress,
26592
26703
  onLoadingCompleted: onLoadingCompleted,
26704
+ onLoadingFailed: onLoadingFailed,
26593
26705
  onExitCapture: onExitCapture,
26594
26706
  onUserCancel: onUserCancel,
26595
26707
  onModelError: onIdCaptureModelError,
@@ -26617,12 +26729,13 @@
26617
26729
  skipSuccessScreen: skipSuccessScreen,
26618
26730
  debugMode: debugMode
26619
26731
  };
26620
- }, [onLoadingStarted, onLoadingProgress, onLoadingCompleted, onExitCapture, onUserCancel, onIdCaptureModelError, assets.idCapture, classNames.idCapture, colors.idCapture, verbiage.idCapture, precapturedDocuments, idCaptureRequirement, allowSinglePageIdCapture, idCaptureThresholds, idCaptureLoadingOverlayMode, idCaptureInstructions, idCaptureGuideType, idCaptureGuideImages, idCapturePortraitGuidesOnMobile, idCaptureRotateLoadingOverlayImageWhenPortrait, idCaptureModelLoadTimeoutMs, allowIdCardBackToFrontCapture, idCaptureAllowUploadingDocumentsFromStorage, enableOverrideWrongDocumentTypeDialog, allowOverrideWrongDocumentTypeAfterMs, idCaptureForceFallbackMode, separateIdCardCaptureSequence, skipSuccessScreen, debugMode]);
26732
+ }, [onLoadingStarted, onLoadingProgress, onLoadingCompleted, onLoadingFailed, onExitCapture, onUserCancel, onIdCaptureModelError, assets.idCapture, classNames.idCapture, colors.idCapture, verbiage.idCapture, precapturedDocuments, idCaptureRequirement, allowSinglePageIdCapture, idCaptureThresholds, idCaptureLoadingOverlayMode, idCaptureInstructions, idCaptureGuideType, idCaptureGuideImages, idCapturePortraitGuidesOnMobile, idCaptureRotateLoadingOverlayImageWhenPortrait, idCaptureModelLoadTimeoutMs, allowIdCardBackToFrontCapture, idCaptureAllowUploadingDocumentsFromStorage, enableOverrideWrongDocumentTypeDialog, allowOverrideWrongDocumentTypeAfterMs, idCaptureForceFallbackMode, separateIdCardCaptureSequence, skipSuccessScreen, debugMode]);
26621
26733
  var faceLivenessProps = React.useMemo(function () {
26622
26734
  return {
26623
26735
  onLoadingStarted: onLoadingStarted,
26624
26736
  onLoadingProgress: onLoadingProgress,
26625
26737
  onLoadingCompleted: onLoadingCompleted,
26738
+ onLoadingFailed: onLoadingFailed,
26626
26739
  loadingOverlayMode: faceLivenessLoadingOverlayMode,
26627
26740
  initialCaptureDelayMs: faceLivenessInitialCaptureDelayMs,
26628
26741
  timeoutDurationMs: faceLivenessTimeoutDurationMs,
@@ -26640,7 +26753,7 @@
26640
26753
  verbiage: verbiage.faceLiveness,
26641
26754
  debugMode: debugMode
26642
26755
  };
26643
- }, [assets.faceLiveness, classNames.faceLiveness, colors.faceLiveness, debugMode, faceLivenessInitialCaptureDelayMs, faceLivenessLoadingOverlayMode, faceLivenessTimeoutDurationMs, onDenied, onExitAfterFailure, onExitCapture, onLoadingCompleted, onLoadingProgress, onLoadingStarted, onSelfieCaptureModelError, onUserCancel, precapturedDocuments, selfieCaptureModelLoadTimeoutMs, skipSuccessScreen, verbiage.faceLiveness]);
26756
+ }, [assets.faceLiveness, classNames.faceLiveness, colors.faceLiveness, debugMode, faceLivenessInitialCaptureDelayMs, faceLivenessLoadingOverlayMode, faceLivenessTimeoutDurationMs, onDenied, onExitAfterFailure, onExitCapture, onLoadingCompleted, onLoadingFailed, onLoadingProgress, onLoadingStarted, onSelfieCaptureModelError, onUserCancel, precapturedDocuments, selfieCaptureModelLoadTimeoutMs, skipSuccessScreen, verbiage.faceLiveness]);
26644
26757
  var additionalDocumentCaptureProps = React.useMemo(function () {
26645
26758
  return {
26646
26759
  documents: captureAdditionalDocuments,
@@ -26820,6 +26933,7 @@
26820
26933
  onLoadingStarted = _a.onLoadingStarted,
26821
26934
  onLoadingProgress = _a.onLoadingProgress,
26822
26935
  onLoadingCompleted = _a.onLoadingCompleted,
26936
+ onLoadingFailed = _a.onLoadingFailed,
26823
26937
  onAuthError = _a.onAuthError,
26824
26938
  onBeforeDocumentUpload = _a.onBeforeDocumentUpload,
26825
26939
  onDocumentUploadProgress = _a.onDocumentUploadProgress,
@@ -26870,6 +26984,7 @@
26870
26984
  onLoadingStarted: onLoadingStarted,
26871
26985
  onLoadingProgress: onLoadingProgress,
26872
26986
  onLoadingCompleted: onLoadingCompleted,
26987
+ onLoadingFailed: onLoadingFailed,
26873
26988
  assets: assets.idCapture,
26874
26989
  classNames: classNames.idCapture,
26875
26990
  colors: colors.idCapture,
@@ -26897,12 +27012,13 @@
26897
27012
  skipSuccessScreen: skipSuccessScreen,
26898
27013
  debugMode: debugMode
26899
27014
  };
26900
- }, [onLoadingCompleted, onLoadingProgress, onLoadingStarted, assets.idCapture, classNames.idCapture, colors.idCapture, verbiage.idCapture, precapturedDocuments, idCaptureRequirement, allowSinglePageIdCapture, idCaptureThresholds, idCaptureLoadingOverlayMode, idCaptureInstructions, idCaptureGuideType, idCaptureGuideImages, idCapturePortraitGuidesOnMobile, idCaptureRotateLoadingOverlayImageWhenPortrait, idCaptureModelLoadTimeoutMs, allowIdCardBackToFrontCapture, idCaptureForceFallbackMode, enableOverrideWrongDocumentTypeDialog, allowOverrideWrongDocumentTypeAfterMs, allowUploadingDocumentsFromStorage, separateIdCardCaptureSequence, onExitCapture, onUserCancel, onIdCaptureModelError, skipSuccessScreen, debugMode]);
27015
+ }, [onLoadingCompleted, onLoadingProgress, onLoadingStarted, onLoadingFailed, assets.idCapture, classNames.idCapture, colors.idCapture, verbiage.idCapture, precapturedDocuments, idCaptureRequirement, allowSinglePageIdCapture, idCaptureThresholds, idCaptureLoadingOverlayMode, idCaptureInstructions, idCaptureGuideType, idCaptureGuideImages, idCapturePortraitGuidesOnMobile, idCaptureRotateLoadingOverlayImageWhenPortrait, idCaptureModelLoadTimeoutMs, allowIdCardBackToFrontCapture, idCaptureForceFallbackMode, enableOverrideWrongDocumentTypeDialog, allowOverrideWrongDocumentTypeAfterMs, allowUploadingDocumentsFromStorage, separateIdCardCaptureSequence, onExitCapture, onUserCancel, onIdCaptureModelError, skipSuccessScreen, debugMode]);
26901
27016
  var faceLivenessProps = React.useMemo(function () {
26902
27017
  return {
26903
27018
  onLoadingStarted: onLoadingStarted,
26904
27019
  onLoadingProgress: onLoadingProgress,
26905
27020
  onLoadingCompleted: onLoadingCompleted,
27021
+ onLoadingFailed: onLoadingFailed,
26906
27022
  onExitCapture: onExitCapture,
26907
27023
  onExitAfterFailure: onExitAfterFailure,
26908
27024
  onUserCancel: onUserCancel,
@@ -26919,7 +27035,7 @@
26919
27035
  verbiage: verbiage.faceLiveness,
26920
27036
  debugMode: debugMode
26921
27037
  };
26922
- }, [onLoadingCompleted, onLoadingProgress, onLoadingStarted, assets.faceLiveness, classNames.faceLiveness, colors.faceLiveness, debugMode, faceLivenessInitialCaptureDelayMs, faceLivenessLoadingOverlayMode, faceLivenessTimeoutDurationMs, onExitAfterFailure, onExitCapture, onSelfieCaptureModelError, onUserCancel, precapturedDocuments, selfieCaptureModelLoadTimeoutMs, skipSuccessScreen, verbiage.faceLiveness]);
27038
+ }, [onLoadingCompleted, onLoadingProgress, onLoadingStarted, onLoadingFailed, assets.faceLiveness, classNames.faceLiveness, colors.faceLiveness, debugMode, faceLivenessInitialCaptureDelayMs, faceLivenessLoadingOverlayMode, faceLivenessTimeoutDurationMs, onExitAfterFailure, onExitCapture, onSelfieCaptureModelError, onUserCancel, precapturedDocuments, selfieCaptureModelLoadTimeoutMs, skipSuccessScreen, verbiage.faceLiveness]);
26923
27039
  var videoIdCaptureProps = React.useMemo(function () {
26924
27040
  return _assign({
26925
27041
  onExitCapture: onExitCapture,
@@ -27039,11 +27155,7 @@
27039
27155
 
27040
27156
  var ALLOWED_RETRIES$3 = 0;
27041
27157
  var initialState$1 = {
27042
- frame: null,
27043
- face: null,
27044
- imageUrl: null,
27045
27158
  requestState: 'CAPTURING',
27046
- requestError: null,
27047
27159
  unverifiedTimes: 0
27048
27160
  };
27049
27161
  var reducer$1 = function reducer(state, action) {
@@ -27134,7 +27246,7 @@
27134
27246
  submissionError = _j.submissionError,
27135
27247
  selfieImage = _j.selfieImage,
27136
27248
  setSelfieImage = _j.setSelfieImage;
27137
- var _k = React.useState(null),
27249
+ var _k = React.useState(),
27138
27250
  imageUrl = _k[0],
27139
27251
  setImageUrl = _k[1];
27140
27252
  var rawCanvas = React.useRef(null);
@@ -27154,9 +27266,7 @@
27154
27266
  if (!frame || !face || submissionError) return;
27155
27267
  var imageUrl = cropToShoulders(rawCanvas.current, cropCanvas.current, resizeCanvas.current, frame, face);
27156
27268
  setImageUrl(imageUrl);
27157
- dataUrlToBase64(imageUrl).then(function (img) {
27158
- setSelfieImage(img);
27159
- });
27269
+ dataUrlToBase64(imageUrl).then(setSelfieImage);
27160
27270
  }, [face, frame, setSelfieImage, submissionError]);
27161
27271
  React.useEffect(function () {
27162
27272
  if (!isReady || !selfieImage || submissionError) return;
@@ -27338,6 +27448,7 @@
27338
27448
  var onLoadingStarted = _a.onLoadingStarted,
27339
27449
  onLoadingProgress = _a.onLoadingProgress,
27340
27450
  onLoadingCompleted = _a.onLoadingCompleted,
27451
+ onLoadingFailed = _a.onLoadingFailed,
27341
27452
  onComplete = _a.onComplete,
27342
27453
  onCustomerMatched = _a.onCustomerMatched,
27343
27454
  onCustomerNotMatched = _a.onCustomerNotMatched,
@@ -27486,6 +27597,7 @@
27486
27597
  onLoadingStarted: onLoadingStarted,
27487
27598
  onLoadingProgress: onLoadingProgress,
27488
27599
  onLoadingCompleted: onLoadingCompleted,
27600
+ onLoadingFailed: onLoadingFailed,
27489
27601
  onUserCancel: onUserCancel,
27490
27602
  onDismissed: function onDismissed() {
27491
27603
  return setCaptureState('CAPTURING');
@@ -27533,6 +27645,7 @@
27533
27645
  onLoadingStarted = _a.onLoadingStarted,
27534
27646
  onLoadingProgress = _a.onLoadingProgress,
27535
27647
  onLoadingCompleted = _a.onLoadingCompleted,
27648
+ onLoadingFailed = _a.onLoadingFailed,
27536
27649
  onAuthError = _a.onAuthError,
27537
27650
  onBeforeDocumentUpload = _a.onBeforeDocumentUpload,
27538
27651
  onDocumentUploadProgress = _a.onDocumentUploadProgress,
@@ -27606,6 +27719,7 @@
27606
27719
  onLoadingStarted: onLoadingStarted,
27607
27720
  onLoadingProgress: onLoadingProgress,
27608
27721
  onLoadingCompleted: onLoadingCompleted,
27722
+ onLoadingFailed: onLoadingFailed,
27609
27723
  onComplete: onComplete,
27610
27724
  onCustomerMatched: onCustomerMatched,
27611
27725
  onCustomerNotMatched: onCustomerNotMatched,
@@ -27625,11 +27739,7 @@
27625
27739
 
27626
27740
  var ALLOWED_RETRIES$1 = 0;
27627
27741
  var initialState = {
27628
- frame: null,
27629
- face: null,
27630
- imageUrl: null,
27631
27742
  requestState: 'CAPTURING',
27632
- requestError: null,
27633
27743
  notFoundTimes: 0
27634
27744
  };
27635
27745
  var reducer = function reducer(state, action) {
@@ -27716,7 +27826,7 @@
27716
27826
  submissionError = _j.submissionError,
27717
27827
  selfieImage = _j.selfieImage,
27718
27828
  setSelfieImage = _j.setSelfieImage;
27719
- var _k = React.useState(null),
27829
+ var _k = React.useState(),
27720
27830
  imageUrl = _k[0],
27721
27831
  setImageUrl = _k[1];
27722
27832
  var rawCanvas = React.useRef(null);
@@ -27738,9 +27848,7 @@
27738
27848
  if (!frame || !face || submissionError) return;
27739
27849
  var imageUrl = cropToShoulders(rawCanvas.current, cropCanvas.current, resizeCanvas.current, frame, face);
27740
27850
  setImageUrl(imageUrl);
27741
- dataUrlToBase64(imageUrl).then(function (img) {
27742
- setSelfieImage(img);
27743
- });
27851
+ dataUrlToBase64(imageUrl).then(setSelfieImage);
27744
27852
  }, [face, frame, setSelfieImage, submissionError]);
27745
27853
  React.useEffect(function () {
27746
27854
  if (!isReady || !selfieImage || submissionError) return;
@@ -27922,6 +28030,7 @@
27922
28030
  var onLoadingStarted = _a.onLoadingStarted,
27923
28031
  onLoadingProgress = _a.onLoadingProgress,
27924
28032
  onLoadingCompleted = _a.onLoadingCompleted,
28033
+ onLoadingFailed = _a.onLoadingFailed,
27925
28034
  onComplete = _a.onComplete,
27926
28035
  onCustomerMatched = _a.onCustomerMatched,
27927
28036
  onCustomerNotMatched = _a.onCustomerNotMatched,
@@ -28070,6 +28179,7 @@
28070
28179
  onLoadingStarted: onLoadingStarted,
28071
28180
  onLoadingProgress: onLoadingProgress,
28072
28181
  onLoadingCompleted: onLoadingCompleted,
28182
+ onLoadingFailed: onLoadingFailed,
28073
28183
  onUserCancel: onUserCancel,
28074
28184
  onDismissed: function onDismissed() {
28075
28185
  setCaptureState('CAPTURING');
@@ -28110,6 +28220,7 @@
28110
28220
  onLoadingStarted = _a.onLoadingStarted,
28111
28221
  onLoadingProgress = _a.onLoadingProgress,
28112
28222
  onLoadingCompleted = _a.onLoadingCompleted,
28223
+ onLoadingFailed = _a.onLoadingFailed,
28113
28224
  onAuthError = _a.onAuthError,
28114
28225
  onBeforeDocumentUpload = _a.onBeforeDocumentUpload,
28115
28226
  onDocumentUploadProgress = _a.onDocumentUploadProgress,
@@ -28188,6 +28299,7 @@
28188
28299
  onLoadingStarted: onLoadingStarted,
28189
28300
  onLoadingProgress: onLoadingProgress,
28190
28301
  onLoadingCompleted: onLoadingCompleted,
28302
+ onLoadingFailed: onLoadingFailed,
28191
28303
  onComplete: onComplete,
28192
28304
  onCustomerMatched: onCustomerMatched,
28193
28305
  onCustomerNotMatched: onCustomerNotMatched,
@@ -28222,6 +28334,7 @@
28222
28334
  onLoadingStarted = _a.onLoadingStarted,
28223
28335
  onLoadingProgress = _a.onLoadingProgress,
28224
28336
  onLoadingCompleted = _a.onLoadingCompleted,
28337
+ onLoadingFailed = _a.onLoadingFailed,
28225
28338
  onAuthError = _a.onAuthError,
28226
28339
  onBeforeDocumentUpload = _a.onBeforeDocumentUpload,
28227
28340
  onDocumentUploadProgress = _a.onDocumentUploadProgress,
@@ -28262,16 +28375,18 @@
28262
28375
  faceLivenessProps = _a.faceLivenessProps,
28263
28376
  _o = _a.skipLivenessValidation,
28264
28377
  skipLivenessValidation = _o === void 0 ? false : _o,
28378
+ _p = _a.allowManualSelfieCaptureOnLoadingError,
28379
+ allowManualSelfieCaptureOnLoadingError = _p === void 0 ? false : _p,
28265
28380
  guidesComponent = _a.guidesComponent,
28266
- _p = _a.theme,
28267
- theme = _p === void 0 ? 'default' : _p,
28381
+ _q = _a.theme,
28382
+ theme = _q === void 0 ? 'default' : _q,
28268
28383
  classNames = _a.classNames,
28269
28384
  colors = _a.colors,
28270
28385
  verbiage = _a.verbiage,
28271
28386
  geolocationEnabled = _a.geolocationEnabled,
28272
28387
  geolocationRequired = _a.geolocationRequired,
28273
- _q = _a.debugMode,
28274
- debugMode = _q === void 0 ? false : _q;
28388
+ _r = _a.debugMode,
28389
+ debugMode = _r === void 0 ? false : _r;
28275
28390
  useLanguage(lang);
28276
28391
  useDebugLogging(debugMode);
28277
28392
  return /*#__PURE__*/React.createElement(AuthProvider, {
@@ -28314,6 +28429,7 @@
28314
28429
  onLoadingStarted: onLoadingStarted,
28315
28430
  onLoadingProgress: onLoadingProgress,
28316
28431
  onLoadingCompleted: onLoadingCompleted,
28432
+ onLoadingFailed: onLoadingFailed,
28317
28433
  onSelfieCaptured: onSelfieCaptured,
28318
28434
  customOverlayContent: customOverlayContent,
28319
28435
  onLoadingOverlayDismissed: onLoadingOverlayDismissed,
@@ -28329,6 +28445,7 @@
28329
28445
  allowSignatureAfterLivenessCheckFailure: allowSignatureAfterLivenessCheckFailure,
28330
28446
  restartVideoOnSignaturePadCleared: restartVideoOnSignaturePadCleared,
28331
28447
  skipLivenessValidation: skipLivenessValidation,
28448
+ allowManualSelfieCaptureOnLoadingError: allowManualSelfieCaptureOnLoadingError,
28332
28449
  guidesComponent: guidesComponent,
28333
28450
  classNames: classNames,
28334
28451
  colors: colors,
@@ -28337,7 +28454,7 @@
28337
28454
  onModelError: onModelError,
28338
28455
  onUserCancel: onUserCancel
28339
28456
  };
28340
- }, [onLoadingStarted, onLoadingProgress, onLoadingCompleted, onSelfieCaptured, customOverlayContent, onLoadingOverlayDismissed, loadingOverlayMode, skipSuccessScreen, captureAudio, minSignaturePadPoints, headTrackingDisabled, headTrackingBoundaryPercentage, headTrackingBoundaryType, modelLoadTimeoutMs, faceLivenessProps, allowSignatureAfterLivenessCheckFailure, restartVideoOnSignaturePadCleared, skipLivenessValidation, guidesComponent, classNames, colors, debugMode, verbiage, onModelError, onUserCancel])
28457
+ }, [onLoadingStarted, onLoadingProgress, onLoadingCompleted, onLoadingFailed, onSelfieCaptured, customOverlayContent, onLoadingOverlayDismissed, loadingOverlayMode, skipSuccessScreen, captureAudio, minSignaturePadPoints, headTrackingDisabled, headTrackingBoundaryPercentage, headTrackingBoundaryType, modelLoadTimeoutMs, faceLivenessProps, allowSignatureAfterLivenessCheckFailure, restartVideoOnSignaturePadCleared, skipLivenessValidation, allowManualSelfieCaptureOnLoadingError, guidesComponent, classNames, colors, debugMode, verbiage, onModelError, onUserCancel])
28341
28458
  })))));
28342
28459
  };
28343
28460
 
@@ -28378,6 +28495,7 @@
28378
28495
  onLoadingStarted = _a.onLoadingStarted,
28379
28496
  onLoadingProgress = _a.onLoadingProgress,
28380
28497
  onLoadingCompleted = _a.onLoadingCompleted,
28498
+ onLoadingFailed = _a.onLoadingFailed,
28381
28499
  onAuthError = _a.onAuthError,
28382
28500
  onBeforeDocumentUpload = _a.onBeforeDocumentUpload,
28383
28501
  onDocumentUploadProgress = _a.onDocumentUploadProgress,
@@ -28466,6 +28584,7 @@
28466
28584
  onLoadingStarted: onLoadingStarted,
28467
28585
  onLoadingProgress: onLoadingProgress,
28468
28586
  onLoadingCompleted: onLoadingCompleted,
28587
+ onLoadingFailed: onLoadingFailed,
28469
28588
  idCaptureProps: idCaptureProps,
28470
28589
  faceLivenessProps: faceLivenessProps,
28471
28590
  idCaptureModelsEnabled: idCaptureModelsEnabled,
@@ -28498,7 +28617,7 @@
28498
28617
  verbiage: verbiage,
28499
28618
  debugMode: debugMode
28500
28619
  };
28501
- }, [onLoadingStarted, onLoadingProgress, onLoadingCompleted, idCaptureProps, faceLivenessProps, idCaptureModelsEnabled, videoIdCaptureThresholds, readTextPrompt, readTextTimeoutDurationMs, readTextMinReadingMs, onExitCapture, onExitAfterFailure, onUserCancel, skipSuccessScreen, skipIdCapture, skipShowIdCardBack, idCaptureLoadingOverlayMode, customOverlayContent, onLoadingOverlayDismissed, idDocumentType, idCaptureGuideType, idCaptureGuideImages, idCapturePortraitGuidesOnMobile, idCaptureRotateLoadingOverlayImageWhenPortrait, faceLivenessLoadingOverlayMode, disableFaceDetectionWhileAudioCapture, disableFaceDetectionWhileAudioCaptureMsDelay, silentFallback, mergeAVStreams, assets, classNames, colors, verbiage, debugMode]);
28620
+ }, [onLoadingStarted, onLoadingProgress, onLoadingCompleted, onLoadingFailed, idCaptureProps, faceLivenessProps, idCaptureModelsEnabled, videoIdCaptureThresholds, readTextPrompt, readTextTimeoutDurationMs, readTextMinReadingMs, onExitCapture, onExitAfterFailure, onUserCancel, skipSuccessScreen, skipIdCapture, skipShowIdCardBack, idCaptureLoadingOverlayMode, customOverlayContent, onLoadingOverlayDismissed, idDocumentType, idCaptureGuideType, idCaptureGuideImages, idCapturePortraitGuidesOnMobile, idCaptureRotateLoadingOverlayImageWhenPortrait, faceLivenessLoadingOverlayMode, disableFaceDetectionWhileAudioCapture, disableFaceDetectionWhileAudioCaptureMsDelay, silentFallback, mergeAVStreams, assets, classNames, colors, verbiage, debugMode]);
28502
28621
  var additionalDocumentCaptureProps = React.useMemo(function () {
28503
28622
  return {
28504
28623
  documents: captureAdditionalDocuments,
@@ -28625,6 +28744,7 @@
28625
28744
  onLoadingStarted = _a.onLoadingStarted,
28626
28745
  onLoadingProgress = _a.onLoadingProgress,
28627
28746
  onLoadingCompleted = _a.onLoadingCompleted,
28747
+ onLoadingFailed = _a.onLoadingFailed,
28628
28748
  onAuthError = _a.onAuthError,
28629
28749
  onBeforeDocumentUpload = _a.onBeforeDocumentUpload,
28630
28750
  onDocumentUploadProgress = _a.onDocumentUploadProgress,
@@ -28671,6 +28791,7 @@
28671
28791
  onLoadingStarted: onLoadingStarted,
28672
28792
  onLoadingProgress: onLoadingProgress,
28673
28793
  onLoadingCompleted: onLoadingCompleted,
28794
+ onLoadingFailed: onLoadingFailed,
28674
28795
  onExitCapture: onExitCapture,
28675
28796
  onUserCancel: onUserCancel,
28676
28797
  onExitAfterFailure: onExitAfterFailure,
@@ -28686,7 +28807,7 @@
28686
28807
  verbiage: verbiage.faceLiveness,
28687
28808
  debugMode: debugMode
28688
28809
  };
28689
- }, [assets.faceLiveness, classNames.faceLiveness, colors.faceLiveness, debugMode, initialCaptureDelayMs, loadingOverlayMode, modelLoadTimeoutMs, onExitAfterFailure, onExitCapture, onLoadingCompleted, onLoadingProgress, onLoadingStarted, onModelError, onUserCancel, skipSuccessScreen, timeoutDurationMs, verbiage.faceLiveness]);
28810
+ }, [assets.faceLiveness, classNames.faceLiveness, colors.faceLiveness, debugMode, initialCaptureDelayMs, loadingOverlayMode, modelLoadTimeoutMs, onExitAfterFailure, onExitCapture, onLoadingCompleted, onLoadingFailed, onLoadingProgress, onLoadingStarted, onModelError, onUserCancel, skipSuccessScreen, timeoutDurationMs, verbiage.faceLiveness]);
28690
28811
  var additionalDocumentCaptureProps = React.useMemo(function () {
28691
28812
  return {
28692
28813
  documents: captureAdditionalDocuments,