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
package/dist/sdk2.esm.js CHANGED
@@ -205,7 +205,7 @@ typeof SuppressedError === "function" ? SuppressedError : function (error, suppr
205
205
  return e.name = "SuppressedError", e.error = error, e.suppressed = suppressed, e;
206
206
  };
207
207
 
208
- var webSdkVersion = '2.3.60';
208
+ var webSdkVersion = '2.3.62';
209
209
 
210
210
  function getPlatform() {
211
211
  // eslint-disable-next-line @typescript-eslint/ban-ts-comment
@@ -453,7 +453,7 @@ var templateObject_1$S;
453
453
  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"])));
454
454
  var templateObject_1$R;
455
455
 
456
- 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) {
456
+ 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) {
457
457
  var $top = _a.$top;
458
458
  return $top !== null && $top !== void 0 ? $top : '10%';
459
459
  }, function (_a) {
@@ -466,33 +466,33 @@ var GuidanceMessageContainer = function GuidanceMessageContainer(props) {
466
466
  if (!portalLocation) return element;
467
467
  return /*#__PURE__*/createPortal(element, portalLocation);
468
468
  };
469
- 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) {
469
+ 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) {
470
470
  var _a, _b, _c, _d, _e, _f;
471
- 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';
471
+ 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';
472
472
  }, function (props) {
473
473
  var _a, _b, _c, _d, _e, _f;
474
474
  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';
475
475
  });
476
- var templateObject_1$Q, templateObject_2$H;
476
+ var templateObject_1$Q, templateObject_2$I;
477
477
 
478
478
  var wavesAnimation = 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"])));
479
- var progressBarAnimation = 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"])));
480
- var dualRingSpinnerAnimation = 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"])));
479
+ var progressBarAnimation = 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"])));
480
+ var dualRingSpinnerAnimation = 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"])));
481
481
  var progressBorderAnimation = keyframes(templateObject_4$n || (templateObject_4$n = __makeTemplateObject(["\n to {\n stroke-dashoffset: 0;\n }\n"], ["\n to {\n stroke-dashoffset: 0;\n }\n"])));
482
- var templateObject_1$P, templateObject_2$G, templateObject_3$t, templateObject_4$n;
482
+ var templateObject_1$P, templateObject_2$H, templateObject_3$u, templateObject_4$n;
483
483
 
484
484
  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) {
485
485
  return props.theme.background ? "".concat(props.theme.background) : "white";
486
486
  }, function (props) {
487
487
  return props.theme.textColor ? "color: ".concat(props.theme.textColor, ";") : "";
488
488
  });
489
- 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) {
489
+ 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) {
490
490
  var _a;
491
491
  return (_a = props.theme.textAlign) !== null && _a !== void 0 ? _a : 'center';
492
492
  }, function (props) {
493
493
  return props.theme.padding ? "box-sizing: border-box; padding: ".concat(props.theme.padding, ";") : "";
494
494
  });
495
- 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"])));
495
+ 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"])));
496
496
  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"])));
497
497
  var GrayOverlayContainer = styled(OverlayContainer)(templateObject_5$e || (templateObject_5$e = __makeTemplateObject(["\n background: #f7f6fb;\n"], ["\n background: #f7f6fb;\n"])));
498
498
  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"])));
@@ -514,7 +514,7 @@ var LoadingOverlayHeader = styled.div(templateObject_10$1 || (templateObject_10$
514
514
  }, function (props) {
515
515
  return props.theme.padding ? "box-sizing: border-box; padding: ".concat(props.theme.padding, ";") : "";
516
516
  });
517
- 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"])));
517
+ 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"])));
518
518
  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"])));
519
519
  var LoadingOverlayProgressBarBackground = styled.div.attrs({
520
520
  className: 'loading-overlay-progress-bar-background'
@@ -534,7 +534,7 @@ var LoadingOverlayLoadingListItem = styled.li(templateObject_19 || (templateObje
534
534
  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"])));
535
535
  var LoadingOverlayCustomLoadingGraphic = styled.img(templateObject_21 || (templateObject_21 = __makeTemplateObject(["\n transform-style: preserve-3d;\n"], ["\n transform-style: preserve-3d;\n"])));
536
536
  var LoadingOverlayContinueButtonContainer = styled.div(templateObject_22 || (templateObject_22 = __makeTemplateObject(["\n display: flex;\n"], ["\n display: flex;\n"])));
537
- 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;
537
+ 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;
538
538
 
539
539
  var GeolocationAccessDeniedOverlay = function GeolocationAccessDeniedOverlay(_a) {
540
540
  var accessBlockedImageUrl = _a.accessBlockedImageUrl;
@@ -2208,6 +2208,7 @@ function clearCanvas(canvas) {
2208
2208
  var templateObject_1$N;
2209
2209
 
2210
2210
  function cropToShoulders(rawCanvas, cropCanvas, resizeCanvas, frame, face, quality, maxHeight) {
2211
+ var _a;
2211
2212
  if (quality === void 0) {
2212
2213
  quality = 0.92;
2213
2214
  }
@@ -2224,10 +2225,14 @@ function cropToShoulders(rawCanvas, cropCanvas, resizeCanvas, frame, face, quali
2224
2225
  cropCanvas.height = frame.height;
2225
2226
  cropCtx.drawImage(rawCanvas, 0, 0, cropCanvas.width, cropCanvas.height);
2226
2227
  } else {
2227
- var _a = face.box,
2228
- xMin = _a.xMin,
2229
- width = _a.width;
2228
+ var _b = (_a = face === null || face === void 0 ? void 0 : face.box) !== null && _a !== void 0 ? _a : {
2229
+ xMin: 0,
2230
+ width: frame.width
2231
+ },
2232
+ xMin = _b.xMin,
2233
+ width = _b.width;
2230
2234
  var desiredWidth = frame.height * 0.6;
2235
+ alert("this side! ".concat(desiredWidth, "x").concat(frame.height));
2231
2236
  var faceCenterX = xMin + width / 2;
2232
2237
  var xPos = Math.max(0, faceCenterX - desiredWidth / 2);
2233
2238
  cropCanvas.width = desiredWidth;
@@ -2726,6 +2731,9 @@ function useLoadFaceDetector(_a) {
2726
2731
  clearTimeout(modelLoadTimeout);
2727
2732
  setModelLoadState('warming');
2728
2733
  setModelWarmingStartedAt(new Date().getTime());
2734
+ return [4 /*yield*/, testFaceDetectionAgainstKnownImage(model)];
2735
+ case 1:
2736
+ _b.sent();
2729
2737
  _a = waitForVideoReady(videoRef), videoReady = _a[0], cancel = _a[1];
2730
2738
  cancelled = false;
2731
2739
  cancelVideoReady = function cancelVideoReady() {
@@ -2733,7 +2741,7 @@ function useLoadFaceDetector(_a) {
2733
2741
  cancel();
2734
2742
  };
2735
2743
  return [4 /*yield*/, videoReady];
2736
- case 1:
2744
+ case 2:
2737
2745
  _b.sent();
2738
2746
  if (cancelled) return [2 /*return*/];
2739
2747
  model.detectForVideo(videoRef.current, performance.now());
@@ -2885,6 +2893,26 @@ function processFaceDetectorPrediction(_a) {
2885
2893
  faceIsStable: faceIsStable
2886
2894
  };
2887
2895
  }
2896
+ function testFaceDetectionAgainstKnownImage(detector) {
2897
+ return new Promise(function (resolve, reject) {
2898
+ var img = new Image();
2899
+ img.crossOrigin = 'anonymous';
2900
+ img.onload = function () {
2901
+ var prediction = detector.detectForVideo(img, performance.now());
2902
+ if (prediction.detections.length > 0) {
2903
+ debug('face detection test result', prediction.detections);
2904
+ resolve(void 0);
2905
+ } else {
2906
+ warn('face detection test failed');
2907
+ reject(new Error('testFaceDetectionAgainstKnownImage failed to predict'));
2908
+ }
2909
+ };
2910
+ img.onerror = function () {
2911
+ return reject(new Error('testFaceDetectionAgainstKnownImage failed to load image'));
2912
+ };
2913
+ img.src = "".concat(DEFAULT_CDN_URL, "/head-test.jpg");
2914
+ });
2915
+ }
2888
2916
 
2889
2917
  var preloadModels = function preloadModels(_a) {
2890
2918
  return __awaiter(void 0, [_a], void 0, function (_b) {
@@ -5255,13 +5283,13 @@ function CameraTamperSeal(_a) {
5255
5283
  }, messageText)));
5256
5284
  }
5257
5285
  var StyledOverlayInner$4 = styled(OverlayInner$2)(templateObject_1$M || (templateObject_1$M = __makeTemplateObject(["\n justify-content: center;\n"], ["\n justify-content: center;\n"])));
5258
- var StyledOverlayHeading = styled.h3(templateObject_2$E || (templateObject_2$E = __makeTemplateObject(["\n margin-bottom: 8px;\n"], ["\n margin-bottom: 8px;\n"])));
5286
+ var StyledOverlayHeading = styled.h3(templateObject_2$F || (templateObject_2$F = __makeTemplateObject(["\n margin-bottom: 8px;\n"], ["\n margin-bottom: 8px;\n"])));
5259
5287
  function useCameraStore(selector) {
5260
5288
  var store = useContext(CameraStoreContext);
5261
5289
  if (!store) throw new Error('useCameraStore cannot be used without Provider');
5262
5290
  return useStore(store, selector);
5263
5291
  }
5264
- var templateObject_1$M, templateObject_2$E;
5292
+ var templateObject_1$M, templateObject_2$F;
5265
5293
 
5266
5294
  var DocumentDetectionModelContext = /*#__PURE__*/createContext({
5267
5295
  startDocumentDetection: function startDocumentDetection() {
@@ -6246,11 +6274,11 @@ function DebugStatsPane(_a) {
6246
6274
  return /*#__PURE__*/createPortal(element, portalLocation);
6247
6275
  }
6248
6276
  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"])));
6249
- 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) {
6277
+ 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) {
6250
6278
  var $flipX = _a.$flipX;
6251
6279
  return $flipX ? 'transform: scaleX(-1);' : '';
6252
6280
  });
6253
- 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) {
6281
+ 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) {
6254
6282
  var $color = _a.$color;
6255
6283
  return $color !== null && $color !== void 0 ? $color : 'green';
6256
6284
  }, function (_a) {
@@ -6457,7 +6485,7 @@ function SelfieCaptureFaceKeypoint(_a) {
6457
6485
  }
6458
6486
  });
6459
6487
  }
6460
- var templateObject_1$L, templateObject_2$D, templateObject_3$r, templateObject_4$l;
6488
+ var templateObject_1$L, templateObject_2$E, templateObject_3$s, templateObject_4$l;
6461
6489
 
6462
6490
  function OverrideWrongDocumentTypeGuidanceDialog(_a) {
6463
6491
  var _b = _a.classNames,
@@ -6497,11 +6525,11 @@ var Container$7 = styled.div(templateObject_1$K || (templateObject_1$K = __makeT
6497
6525
  var _a, _b, _c;
6498
6526
  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';
6499
6527
  });
6500
- 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"])));
6501
- 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"])));
6528
+ 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"])));
6529
+ 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"])));
6502
6530
  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"])));
6503
6531
  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"])));
6504
- var templateObject_1$K, templateObject_2$C, templateObject_3$q, templateObject_4$k, templateObject_5$d;
6532
+ var templateObject_1$K, templateObject_2$D, templateObject_3$r, templateObject_4$k, templateObject_5$d;
6505
6533
 
6506
6534
  // This is a simplified version of https://github.com/ZeeCoder/use-resize-observer.
6507
6535
  // We have removed all options and made it compliant with React Compiler/React 19.
@@ -6815,12 +6843,12 @@ var CameraAccessDeniedOverlay = function CameraAccessDeniedOverlay(_a) {
6815
6843
  }, verbiage.retryBtnText)));
6816
6844
  };
6817
6845
  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"])));
6818
- var StyledOverlayImageContainer$1 = styled(OverlayImageContainer)(templateObject_2$B || (templateObject_2$B = __makeTemplateObject(["\n flex-grow: 0;\n"], ["\n flex-grow: 0;\n"])));
6819
- 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"])));
6846
+ var StyledOverlayImageContainer$1 = styled(OverlayImageContainer)(templateObject_2$C || (templateObject_2$C = __makeTemplateObject(["\n flex-grow: 0;\n"], ["\n flex-grow: 0;\n"])));
6847
+ 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"])));
6820
6848
  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"])));
6821
- var templateObject_1$J, templateObject_2$B, templateObject_3$p, templateObject_4$j;
6849
+ var templateObject_1$J, templateObject_2$C, templateObject_3$q, templateObject_4$j;
6822
6850
 
6823
- 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"])));
6851
+ 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"])));
6824
6852
  var ExitCaptureButton = function ExitCaptureButton(_a) {
6825
6853
  var onClick = _a.onClick,
6826
6854
  className = _a.className;
@@ -7340,20 +7368,20 @@ function IdCaptureLoadingGraphicMobile(_a) {
7340
7368
  }))));
7341
7369
  }
7342
7370
  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"])));
7343
- 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) {
7371
+ 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) {
7344
7372
  return props.$frame > 1 ? 1 : props.$frame === 1 ? 1.25 : 0.75;
7345
7373
  }, function (props) {
7346
7374
  return props.$frame >= 5 ? 10 : 0;
7347
7375
  }, function (props) {
7348
7376
  return props.$borderColor;
7349
7377
  });
7350
- 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) {
7378
+ 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) {
7351
7379
  return props.$offScreen ? '-500px' : '0';
7352
7380
  });
7353
7381
  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) {
7354
7382
  return props.$offScreen ? '40px' : '0';
7355
7383
  });
7356
- var templateObject_1$H, templateObject_2$A, templateObject_3$o, templateObject_4$i;
7384
+ var templateObject_1$H, templateObject_2$B, templateObject_3$p, templateObject_4$i;
7357
7385
 
7358
7386
  function LoadingListItemIndicator(_a) {
7359
7387
  var _b = _a.state,
@@ -7408,9 +7436,11 @@ function useLoadProgressHooks(_a) {
7408
7436
  var ready = _a.ready,
7409
7437
  modelLoadState = _a.modelLoadState,
7410
7438
  modelLoadProgress = _a.modelLoadProgress,
7439
+ modelError = _a.modelError,
7411
7440
  onLoadingStarted = _a.onLoadingStarted,
7412
7441
  onLoadingProgress = _a.onLoadingProgress,
7413
- onLoadingCompleted = _a.onLoadingCompleted;
7442
+ onLoadingCompleted = _a.onLoadingCompleted,
7443
+ onLoadingFailed = _a.onLoadingFailed;
7414
7444
  var onLoadingStartedRef = useRef(onLoadingStarted);
7415
7445
  useEffect(function () {
7416
7446
  onLoadingStartedRef.current = onLoadingStarted;
@@ -7423,6 +7453,10 @@ function useLoadProgressHooks(_a) {
7423
7453
  useEffect(function () {
7424
7454
  onLoadingCompletedRef.current = onLoadingCompleted;
7425
7455
  }, [onLoadingCompleted]);
7456
+ var onLoadingFailedRef = useRef(onLoadingFailed);
7457
+ useEffect(function () {
7458
+ onLoadingFailedRef.current = onLoadingFailed;
7459
+ }, [onLoadingFailed]);
7426
7460
  var loadingStarted = modelLoadState !== 'not-started';
7427
7461
  useEffect(function () {
7428
7462
  var _a;
@@ -7438,6 +7472,12 @@ function useLoadProgressHooks(_a) {
7438
7472
  var _a;
7439
7473
  if (ready) (_a = onLoadingCompletedRef.current) === null || _a === void 0 ? void 0 : _a.call(onLoadingCompletedRef);
7440
7474
  }, [ready]);
7475
+ useEffect(function () {
7476
+ var _a;
7477
+ if (modelLoadState === 'error') {
7478
+ (_a = onLoadingFailedRef.current) === null || _a === void 0 ? void 0 : _a.call(onLoadingFailedRef, modelError !== null && modelError !== void 0 ? modelError : undefined);
7479
+ }
7480
+ }, [modelLoadState, modelError]);
7441
7481
  }
7442
7482
 
7443
7483
  var legacyInstructionImageUrl$1 = "".concat(DEFAULT_CDN_URL, "/WebSDK-Instruction-DL-Capture-3-Portrait.png");
@@ -7446,6 +7486,7 @@ var IdCaptureLoadingOverlayDefault = function IdCaptureLoadingOverlayDefault(_a)
7446
7486
  var onLoadingStarted = _a.onLoadingStarted,
7447
7487
  onLoadingProgress = _a.onLoadingProgress,
7448
7488
  onLoadingCompleted = _a.onLoadingCompleted,
7489
+ onLoadingFailed = _a.onLoadingFailed,
7449
7490
  onDismissed = _a.onDismissed,
7450
7491
  onUserCancel = _a.onUserCancel,
7451
7492
  instructions = _a.instructions,
@@ -7466,7 +7507,8 @@ var IdCaptureLoadingOverlayDefault = function IdCaptureLoadingOverlayDefault(_a)
7466
7507
  modelsReady = _o.ready,
7467
7508
  modelLoadState = _o.modelLoadState,
7468
7509
  modelDownloadProgress = _o.modelDownloadProgress,
7469
- modelWarmingStartedAt = _o.modelWarmingStartedAt;
7510
+ modelWarmingStartedAt = _o.modelWarmingStartedAt,
7511
+ modelError = _o.modelError;
7470
7512
  var _p = useCameraStore(),
7471
7513
  cameraReady = _p.cameraReady,
7472
7514
  cameraAccessDenied = _p.cameraAccessDenied,
@@ -7510,9 +7552,11 @@ var IdCaptureLoadingOverlayDefault = function IdCaptureLoadingOverlayDefault(_a)
7510
7552
  ready: ready,
7511
7553
  modelLoadState: modelLoadState,
7512
7554
  modelLoadProgress: modelLoadProgress,
7555
+ modelError: modelError,
7513
7556
  onLoadingStarted: onLoadingStarted,
7514
7557
  onLoadingProgress: onLoadingProgress,
7515
- onLoadingCompleted: onLoadingCompleted
7558
+ onLoadingCompleted: onLoadingCompleted,
7559
+ onLoadingFailed: onLoadingFailed
7516
7560
  });
7517
7561
  if (dismissed) return /*#__PURE__*/React__default.createElement(React__default.Fragment, null);
7518
7562
  if (cameraAccessDenied) {
@@ -7613,8 +7657,8 @@ var OverlayInner$1 = styled(LoadingOverlayInner)(templateObject_1$G || (template
7613
7657
  var _a, _b, _c, _d;
7614
7658
  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';
7615
7659
  });
7616
- 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"])));
7617
- 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"])));
7660
+ 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"])));
7661
+ 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"])));
7618
7662
  var ContinuityCameraCheckbox$1 = styled.input(templateObject_4$h || (templateObject_4$h = __makeTemplateObject(["\n margin: 0;\n"], ["\n margin: 0;\n"])));
7619
7663
  var ButtonsRow$1 = styled(LoadingOverlayButtonsRow)(templateObject_5$c || (templateObject_5$c = __makeTemplateObject(["\n color: ", ";\n ", "\n"], ["\n color: ", ";\n ", "\n"])), function (props) {
7620
7664
  var _a, _b, _c, _d;
@@ -7653,10 +7697,10 @@ var ContinueButton$1 = styled(LoaderButton)(templateObject_8$3 || (templateObjec
7653
7697
  var _a, _b, _c, _d;
7654
7698
  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';
7655
7699
  });
7656
- 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;
7700
+ 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;
7657
7701
 
7658
7702
  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"])));
7659
- var ContinuityCameraCheckbox = styled.input(templateObject_2$y || (templateObject_2$y = __makeTemplateObject(["\n margin-right: 8px;\n"], ["\n margin-right: 8px;\n"])));
7703
+ var ContinuityCameraCheckbox = styled.input(templateObject_2$z || (templateObject_2$z = __makeTemplateObject(["\n margin-right: 8px;\n"], ["\n margin-right: 8px;\n"])));
7660
7704
  var IdCaptureLoadingOverlayLegacy = function IdCaptureLoadingOverlayLegacy(_a) {
7661
7705
  var _b, _c, _d, _e;
7662
7706
  var onDismissed = _a.onDismissed,
@@ -7777,7 +7821,7 @@ var IdCaptureLoadingOverlayLegacy = function IdCaptureLoadingOverlayLegacy(_a) {
7777
7821
  }
7778
7822
  }, ready ? verbiage.continueText : modelsReady ? verbiage.cameraInitializingText : modelDownloadProgress >= 100 ? verbiage.modelsWarmingUpText : "".concat(verbiage.downloadingText, " (").concat(modelDownloadProgress, "%)"))));
7779
7823
  };
7780
- var templateObject_1$F, templateObject_2$y;
7824
+ var templateObject_1$F, templateObject_2$z;
7781
7825
 
7782
7826
  var components$1 = {
7783
7827
  "default": IdCaptureLoadingOverlayDefault,
@@ -7836,8 +7880,8 @@ var CapturedDocumentImg = function CapturedDocumentImg(_a) {
7836
7880
  };
7837
7881
 
7838
7882
  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"])));
7839
- 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"])));
7840
- var templateObject_1$E, templateObject_2$x;
7883
+ 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"])));
7884
+ var templateObject_1$E, templateObject_2$y;
7841
7885
 
7842
7886
  var imageDisplayOrder = ['idCardFront', 'idCardBack', 'passport', 'singlePage', 'idFrontIrImage', 'idBackIrImage', 'idFrontUvImage', 'idBackUvImage'];
7843
7887
  var IdCaptureSuccess = function IdCaptureSuccess(_a) {
@@ -7900,12 +7944,12 @@ var IdCaptureSuccess = function IdCaptureSuccess(_a) {
7900
7944
  }, verbiage.retryText)))));
7901
7945
  };
7902
7946
  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"])));
7903
- 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"])));
7904
- 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"])));
7947
+ 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"])));
7948
+ 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"])));
7905
7949
  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"])));
7906
7950
  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"])));
7907
7951
  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"])));
7908
- var templateObject_1$D, templateObject_2$w, templateObject_3$m, templateObject_4$g, templateObject_5$b, templateObject_6$7;
7952
+ var templateObject_1$D, templateObject_2$x, templateObject_3$n, templateObject_4$g, templateObject_5$b, templateObject_6$7;
7909
7953
 
7910
7954
  function useShowSuccessScreen(skipSuccessScreen, successScreenReady, onDoneCallback) {
7911
7955
  var _this = this;
@@ -7962,7 +8006,7 @@ var IdCardGuideImageContainer = styled(IdCardBorder)(templateObject_1$C || (temp
7962
8006
  }, function (props) {
7963
8007
  return props.$isMobile ? props.$isLandscape ? 'height: 100%;' : 'width: 80%;' : props.$isLandscape ? 'height: 70%;' : 'width: 82%;';
7964
8008
  });
7965
- 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) {
8009
+ 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) {
7966
8010
  return props.$isMirrored ? 'transform: scaleX(-1);' : '';
7967
8011
  }, function (props) {
7968
8012
  return props.$isInvisible ? 'opacity: 0;' : '';
@@ -8112,7 +8156,7 @@ function IdCardBorderSvg(_a) {
8112
8156
  className: isProgressBar ? "idmSdkProgressBorder ".concat(progressPaused ? 'idmSdkProgressPaused' : '') : ''
8113
8157
  }));
8114
8158
  }
8115
- 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);
8159
+ 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);
8116
8160
  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"])));
8117
8161
  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"])));
8118
8162
  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) {
@@ -8122,7 +8166,7 @@ var IdCardBorderRect = styled.rect(templateObject_6$6 || (templateObject_6$6 = _
8122
8166
  var _a;
8123
8167
  return (_a = props.$fillMode) !== null && _a !== void 0 ? _a : 'forwards';
8124
8168
  });
8125
- var templateObject_1$C, templateObject_2$v, templateObject_3$l, templateObject_4$f, templateObject_5$a, templateObject_6$6;
8169
+ var templateObject_1$C, templateObject_2$w, templateObject_3$m, templateObject_4$f, templateObject_5$a, templateObject_6$6;
8126
8170
 
8127
8171
  var defaultIdCaptureGuideImages = {
8128
8172
  portrait: {
@@ -8314,12 +8358,12 @@ var IdVideoCaptureFlipIdPrompt = function IdVideoCaptureFlipIdPrompt(_a) {
8314
8358
  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) {
8315
8359
  return props.$isLandscape ? 'height: 100%;' : 'height: 100%;';
8316
8360
  });
8317
- 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) {
8361
+ 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) {
8318
8362
  return props.$transitionTime;
8319
8363
  }, function (props) {
8320
8364
  return props.$transforms;
8321
8365
  });
8322
- var templateObject_1$B, templateObject_2$u;
8366
+ var templateObject_1$B, templateObject_2$v;
8323
8367
 
8324
8368
  var GuideOrientationContext = /*#__PURE__*/createContext({
8325
8369
  orientation: 'landscape',
@@ -8608,8 +8652,8 @@ var regionClsx = function regionClsx(classNames, which) {
8608
8652
  }).join(' ');
8609
8653
  };
8610
8654
  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"])));
8611
- 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"])));
8612
- 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"])));
8655
+ 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"])));
8656
+ 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"])));
8613
8657
  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) {
8614
8658
  var _a, _b, _c, _d, _e;
8615
8659
  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)';
@@ -8637,7 +8681,7 @@ var GuideText = styled.span(templateObject_8$2 || (templateObject_8$2 = __makeTe
8637
8681
  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) {
8638
8682
  return props.$isLandscape ? 'height: 100%;' : 'width: 90%;';
8639
8683
  });
8640
- 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;
8684
+ 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;
8641
8685
 
8642
8686
  var IdCaptureFitGuide = function IdCaptureFitGuide(_a) {
8643
8687
  var _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o;
@@ -8781,8 +8825,8 @@ var IdCaptureFitGuide = function IdCaptureFitGuide(_a) {
8781
8825
  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) {
8782
8826
  return props.$maskColor;
8783
8827
  });
8784
- var Canvas$1 = styled.canvas(templateObject_2$s || (templateObject_2$s = __makeTemplateObject(["\n display: block;\n"], ["\n display: block;\n"])));
8785
- var templateObject_1$y, templateObject_2$s;
8828
+ var Canvas$1 = styled.canvas(templateObject_2$t || (templateObject_2$t = __makeTemplateObject(["\n display: block;\n"], ["\n display: block;\n"])));
8829
+ var templateObject_1$y, templateObject_2$t;
8786
8830
 
8787
8831
  function IdCaptureGuides(_a) {
8788
8832
  var _b = _a.guideType,
@@ -8863,11 +8907,11 @@ var Spinner = styled.div(templateObject_1$x || (templateObject_1$x = __makeTempl
8863
8907
  var $color = _a.$color;
8864
8908
  return $color !== null && $color !== void 0 ? $color : '#888';
8865
8909
  }, dualRingSpinnerAnimation);
8866
- 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"])));
8910
+ 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"])));
8867
8911
  function SpinnerPage() {
8868
8912
  return /*#__PURE__*/React__default.createElement(SpinnerPageContainer, null, /*#__PURE__*/React__default.createElement(Spinner, null));
8869
8913
  }
8870
- var templateObject_1$x, templateObject_2$r;
8914
+ var templateObject_1$x, templateObject_2$s;
8871
8915
 
8872
8916
  var IdCaptureImagePreview = function IdCaptureImagePreview(_a) {
8873
8917
  var _b = _a.classNames,
@@ -8955,10 +8999,10 @@ var SelfieProgressPreview = function SelfieProgressPreview(_a) {
8955
8999
  })));
8956
9000
  };
8957
9001
  var StyledSpinner = styled(Spinner)(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"])));
8958
- 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"])));
8959
- 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"])));
9002
+ 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"])));
9003
+ 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"])));
8960
9004
  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"])));
8961
- var templateObject_1$w, templateObject_2$q, templateObject_3$j, templateObject_4$d;
9005
+ var templateObject_1$w, templateObject_2$r, templateObject_3$k, templateObject_4$d;
8962
9006
 
8963
9007
  var documentCaptureInitialState = {
8964
9008
  documents: [],
@@ -9307,8 +9351,8 @@ var DocumentCaptureGuideOverlay = function DocumentCaptureGuideOverlay(_a) {
9307
9351
  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) {
9308
9352
  return props.$maskColor;
9309
9353
  });
9310
- var Canvas = styled.canvas(templateObject_2$p || (templateObject_2$p = __makeTemplateObject(["\n display: block;\n"], ["\n display: block;\n"])));
9311
- var templateObject_1$v, templateObject_2$p;
9354
+ var Canvas = styled.canvas(templateObject_2$q || (templateObject_2$q = __makeTemplateObject(["\n display: block;\n"], ["\n display: block;\n"])));
9355
+ var templateObject_1$v, templateObject_2$q;
9312
9356
 
9313
9357
  var CameraFeedWrapper = styled.div(templateObject_1$u || (templateObject_1$u = __makeTemplateObject(["\n ", "\n"], ["\n ", "\n"])), function (props) {
9314
9358
  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;") : "";
@@ -9494,10 +9538,10 @@ var DocumentCaptureScreen = function DocumentCaptureScreen(_a) {
9494
9538
  }, !cameraReady ? verbiage.loadingBtnText : capturing ? verbiage.capturingBtnText : verbiage.captureBtnText))))));
9495
9539
  };
9496
9540
  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"])));
9497
- 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) {
9541
+ 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) {
9498
9542
  return props.$maskColor;
9499
9543
  });
9500
- var Heading$9 = styled.h1(templateObject_3$i || (templateObject_3$i = __makeTemplateObject(["\n font-size: 22px;\n"], ["\n font-size: 22px;\n"])));
9544
+ var Heading$9 = styled.h1(templateObject_3$j || (templateObject_3$j = __makeTemplateObject(["\n font-size: 22px;\n"], ["\n font-size: 22px;\n"])));
9501
9545
  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) {
9502
9546
  return props.$maskColor;
9503
9547
  });
@@ -9507,7 +9551,7 @@ var Instructions = styled.div(templateObject_5$8 || (templateObject_5$8 = __make
9507
9551
  });
9508
9552
  var StyledButtonsRow$8 = styled(ButtonsRow$2)(templateObject_6$4 || (templateObject_6$4 = __makeTemplateObject(["\n padding-top: 20px;\n"], ["\n padding-top: 20px;\n"])));
9509
9553
  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"])));
9510
- var templateObject_1$s, templateObject_2$o, templateObject_3$i, templateObject_4$c, templateObject_5$8, templateObject_6$4, templateObject_7$2;
9554
+ var templateObject_1$s, templateObject_2$p, templateObject_3$j, templateObject_4$c, templateObject_5$8, templateObject_6$4, templateObject_7$2;
9511
9555
 
9512
9556
  var DocumentCaptureWizard = function DocumentCaptureWizard(_a) {
9513
9557
  var onSuccess = _a.onSuccess,
@@ -9779,12 +9823,12 @@ var IdCaptureFallback = function IdCaptureFallback(_a) {
9779
9823
  }, verbiage.doneBtnText))))));
9780
9824
  };
9781
9825
  var StyledOverlayInner$2 = styled(OverlayInner$2)(templateObject_1$r || (templateObject_1$r = __makeTemplateObject(["\n justify-content: center;\n"], ["\n justify-content: center;\n"])));
9782
- var Heading$8 = styled.h3(templateObject_2$n || (templateObject_2$n = __makeTemplateObject(["\n margin-bottom: 8px;\n"], ["\n margin-bottom: 8px;\n"])));
9783
- var Description$3 = styled.p(templateObject_3$h || (templateObject_3$h = __makeTemplateObject(["\n margin-bottom: 8px;\n"], ["\n margin-bottom: 8px;\n"])));
9826
+ var Heading$8 = styled.h3(templateObject_2$o || (templateObject_2$o = __makeTemplateObject(["\n margin-bottom: 8px;\n"], ["\n margin-bottom: 8px;\n"])));
9827
+ var Description$3 = styled.p(templateObject_3$i || (templateObject_3$i = __makeTemplateObject(["\n margin-bottom: 8px;\n"], ["\n margin-bottom: 8px;\n"])));
9784
9828
  var Instruction = styled.p(templateObject_4$b || (templateObject_4$b = __makeTemplateObject(["\n font-weight: bold;\n"], ["\n font-weight: bold;\n"])));
9785
9829
  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"])));
9786
9830
  var StyledButtonsRow$7 = styled(ButtonsRow$2)(templateObject_6$3 || (templateObject_6$3 = __makeTemplateObject(["\n margin-top: 32px;\n"], ["\n margin-top: 32px;\n"])));
9787
- var templateObject_1$r, templateObject_2$n, templateObject_3$h, templateObject_4$b, templateObject_5$7, templateObject_6$3;
9831
+ var templateObject_1$r, templateObject_2$o, templateObject_3$i, templateObject_4$b, templateObject_5$7, templateObject_6$3;
9788
9832
 
9789
9833
  function ScalingCameraFeed() {
9790
9834
  var _a = useIdCaptureStore(),
@@ -10140,8 +10184,8 @@ var ScreenContainer = styled.div(templateObject_1$q || (templateObject_1$q = __m
10140
10184
  var _a;
10141
10185
  return (_a = props.theme) === null || _a === void 0 ? void 0 : _a.fontFamily;
10142
10186
  });
10143
- 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"])));
10144
- 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"])));
10187
+ 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"])));
10188
+ 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"])));
10145
10189
  var ScreenPanelHeading = styled.h3(templateObject_4$a || (templateObject_4$a = __makeTemplateObject(["\n margin: 0 0 30px;\n"], ["\n margin: 0 0 30px;\n"])));
10146
10190
  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"])));
10147
10191
  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"])));
@@ -10425,13 +10469,14 @@ function humanFileSize(bytes, si, dp) {
10425
10469
  } while (Math.round(Math.abs(bytes) * r) / r >= thresh && u < units.length - 1);
10426
10470
  return bytes.toFixed(dp) + ' ' + units[u];
10427
10471
  }
10428
- 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;
10472
+ 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;
10429
10473
 
10430
10474
  var IdCaptureWizard = function IdCaptureWizard(_a) {
10431
10475
  var _b, _c, _d, _e, _f;
10432
10476
  var onLoadingStarted = _a.onLoadingStarted,
10433
10477
  onLoadingProgress = _a.onLoadingProgress,
10434
10478
  onLoadingCompleted = _a.onLoadingCompleted,
10479
+ onLoadingFailed = _a.onLoadingFailed,
10435
10480
  onSuccess = _a.onSuccess,
10436
10481
  onExitCapture = _a.onExitCapture,
10437
10482
  onUserCancel = _a.onUserCancel,
@@ -10789,6 +10834,7 @@ var IdCaptureWizard = function IdCaptureWizard(_a) {
10789
10834
  onLoadingStarted: onLoadingStarted,
10790
10835
  onLoadingProgress: onLoadingProgress,
10791
10836
  onLoadingCompleted: onLoadingCompleted,
10837
+ onLoadingFailed: onLoadingFailed,
10792
10838
  onDismissed: function onDismissed() {
10793
10839
  setOverlayDismissed(true);
10794
10840
  onLoadingOverlayDismissed === null || onLoadingOverlayDismissed === void 0 ? void 0 : onLoadingOverlayDismissed();
@@ -11203,8 +11249,8 @@ function HeadGuide(_a) {
11203
11249
  height: parentHeight
11204
11250
  })));
11205
11251
  }
11206
- 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"])));
11207
- 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) {
11252
+ 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"])));
11253
+ 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) {
11208
11254
  return props.$verticalAlign === 'bottom' ? 'flex-end' : 'center';
11209
11255
  });
11210
11256
  function SelfieCaptureAnimatedMask(_a) {
@@ -11431,10 +11477,10 @@ function SelfieCaptureAnimatedMaskWithStatus(_a) {
11431
11477
  status: status
11432
11478
  }));
11433
11479
  }
11434
- var templateObject_1$p, templateObject_2$l, templateObject_3$f;
11480
+ var templateObject_1$p, templateObject_2$m, templateObject_3$g;
11435
11481
 
11436
11482
  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"])));
11437
- 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"])));
11483
+ 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"])));
11438
11484
  var FaceCaptureGuideOverlay = function FaceCaptureGuideOverlay(_a) {
11439
11485
  var _b = _a.classNames,
11440
11486
  classNames = _b === void 0 ? {} : _b,
@@ -11456,7 +11502,7 @@ var FaceCaptureGuideOverlay = function FaceCaptureGuideOverlay(_a) {
11456
11502
  verticalAlign: "center"
11457
11503
  })));
11458
11504
  };
11459
- var templateObject_1$o, templateObject_2$k;
11505
+ var templateObject_1$o, templateObject_2$l;
11460
11506
 
11461
11507
  var SelfieGuidanceModelsContext = /*#__PURE__*/createContext({
11462
11508
  start: function start() {
@@ -11785,11 +11831,11 @@ var SelfieCaptureFallback = function SelfieCaptureFallback(_a) {
11785
11831
  }, !image ? invalidSelfie ? verbiage.retryButtonText : verbiage.captureBtnText : loading ? verbiage.doneBtnLoadingText : verbiage.doneBtnText)))));
11786
11832
  };
11787
11833
  var StyledOverlayInner$1 = styled(OverlayInner$2)(templateObject_1$n || (templateObject_1$n = __makeTemplateObject(["\n justify-content: center;\n"], ["\n justify-content: center;\n"])));
11788
- var Heading$7 = styled.h3(templateObject_2$j || (templateObject_2$j = __makeTemplateObject(["\n margin-bottom: 8px;\n"], ["\n margin-bottom: 8px;\n"])));
11789
- var Description$2 = styled.p(templateObject_3$e || (templateObject_3$e = __makeTemplateObject(["\n margin-bottom: 8px;\n"], ["\n margin-bottom: 8px;\n"])));
11834
+ var Heading$7 = styled.h3(templateObject_2$k || (templateObject_2$k = __makeTemplateObject(["\n margin-bottom: 8px;\n"], ["\n margin-bottom: 8px;\n"])));
11835
+ var Description$2 = styled.p(templateObject_3$f || (templateObject_3$f = __makeTemplateObject(["\n margin-bottom: 8px;\n"], ["\n margin-bottom: 8px;\n"])));
11790
11836
  var ImageContainer$6 = styled(OverlayImageContainer)(templateObject_4$9 || (templateObject_4$9 = __makeTemplateObject(["\n margin-top: 32px;\n"], ["\n margin-top: 32px;\n"])));
11791
11837
  var StyledButtonsRow$6 = styled(ButtonsRow$2)(templateObject_5$5 || (templateObject_5$5 = __makeTemplateObject(["\n margin-top: 32px;\n"], ["\n margin-top: 32px;\n"])));
11792
- var templateObject_1$n, templateObject_2$j, templateObject_3$e, templateObject_4$9, templateObject_5$5;
11838
+ var templateObject_1$n, templateObject_2$k, templateObject_3$f, templateObject_4$9, templateObject_5$5;
11793
11839
 
11794
11840
  var initialState$4 = {
11795
11841
  busy: false,
@@ -11830,32 +11876,39 @@ var SelfieCapture = function SelfieCapture(_a) {
11830
11876
  guidanceMessage = _a.guidanceMessage,
11831
11877
  guidanceSatisfied = _a.guidanceSatisfied,
11832
11878
  guidesComponent = _a.guidesComponent,
11833
- _d = _a.shouldCapture,
11834
- shouldCapture = _d === void 0 ? true : _d,
11835
- _e = _a.classNames,
11836
- classNames = _e === void 0 ? {} : _e,
11837
- _f = _a.colors,
11838
- colors = _f === void 0 ? {} : _f,
11839
- _g = _a.verbiage,
11840
- rawVerbiage = _g === void 0 ? {} : _g,
11841
- _h = _a.debugMode,
11842
- debugMode = _h === void 0 ? false : _h;
11843
- var _j = useResizeObserver(),
11844
- ref = _j.ref,
11845
- _k = _j.width,
11846
- width = _k === void 0 ? 1 : _k,
11847
- _l = _j.height,
11848
- height = _l === void 0 ? 1 : _l;
11849
- var _m = useReducer(reducer$3, initialState$4),
11850
- _o = _m[0],
11851
- busy = _o.busy,
11852
- prediction = _o.prediction,
11853
- dispatch = _m[1];
11879
+ _d = _a.allowManualSelfieCaptureOnLoadingError,
11880
+ allowManualSelfieCaptureOnLoadingError = _d === void 0 ? false : _d,
11881
+ _e = _a.shouldCapture,
11882
+ shouldCapture = _e === void 0 ? true : _e,
11883
+ _f = _a.classNames,
11884
+ classNames = _f === void 0 ? {} : _f,
11885
+ _g = _a.colors,
11886
+ colors = _g === void 0 ? {} : _g,
11887
+ _h = _a.verbiage,
11888
+ rawVerbiage = _h === void 0 ? {} : _h,
11889
+ _j = _a.debugMode,
11890
+ debugMode = _j === void 0 ? false : _j;
11891
+ var _k = useResizeObserver(),
11892
+ ref = _k.ref,
11893
+ _l = _k.width,
11894
+ width = _l === void 0 ? 1 : _l,
11895
+ _m = _k.height,
11896
+ height = _m === void 0 ? 1 : _m;
11897
+ var _o = useReducer(reducer$3, initialState$4),
11898
+ _p = _o[0],
11899
+ busy = _p.busy,
11900
+ prediction = _p.prediction,
11901
+ dispatch = _o[1];
11854
11902
  var lastPredictionCanvas = useRef(null);
11855
- var _p = useContext(SelfieGuidanceModelsContext),
11856
- onPredictionMade = _p.onPredictionMade,
11857
- canvasRef = _p.canvasRef,
11858
- guidanceError = _p.error;
11903
+ var videoRef = useCameraStore(useShallow(function (state) {
11904
+ return {
11905
+ videoRef: state.videoRef
11906
+ };
11907
+ })).videoRef;
11908
+ var _q = useSelfieGuidanceModelsContext(),
11909
+ onPredictionMade = _q.onPredictionMade,
11910
+ canvasRef = _q.canvasRef,
11911
+ guidanceError = _q.error;
11859
11912
  onPredictionMade(useThrottledCallback(useCallback(function (prediction) {
11860
11913
  return __awaiter(void 0, void 0, void 0, function () {
11861
11914
  return __generator(this, function (_a) {
@@ -11878,31 +11931,33 @@ var SelfieCapture = function SelfieCapture(_a) {
11878
11931
  onGuidanceNotSatisfied === null || onGuidanceNotSatisfied === void 0 ? void 0 : onGuidanceNotSatisfied();
11879
11932
  }
11880
11933
  }, [onGuidanceNotSatisfied, onGuidanceSatisfied, prediction === null || prediction === void 0 ? void 0 : prediction.faceReady]);
11934
+ var doCapture = useCallback(function () {
11935
+ var _a;
11936
+ dispatch({
11937
+ type: 'captureStarted'
11938
+ });
11939
+ onSelfieCaptureStarted === null || onSelfieCaptureStarted === void 0 ? void 0 : onSelfieCaptureStarted();
11940
+ var frame = lastPredictionCanvas.current;
11941
+ if (!frame) return;
11942
+ var ctx = frame.getContext('2d');
11943
+ if (!ctx) return;
11944
+ var imageData = ctx.getImageData(0, 0, frame.width, frame.height);
11945
+ 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);
11946
+ clearCanvas(frame);
11947
+ dispatch({
11948
+ type: 'captureCompleted'
11949
+ });
11950
+ }, [onSelfieCaptureStarted, onSelfieCaptured, prediction]);
11881
11951
  useEffect(function () {
11882
11952
  if (!(prediction === null || prediction === void 0 ? void 0 : prediction.faceReady)) return;
11883
- var timer = setTimeout(function () {
11884
- dispatch({
11885
- type: 'captureStarted'
11886
- });
11887
- onSelfieCaptureStarted === null || onSelfieCaptureStarted === void 0 ? void 0 : onSelfieCaptureStarted();
11888
- var frame = lastPredictionCanvas.current;
11889
- if (!frame) return;
11890
- var ctx = frame.getContext('2d');
11891
- if (!ctx) return;
11892
- var imageData = ctx.getImageData(0, 0, frame.width, frame.height);
11893
- onSelfieCaptured === null || onSelfieCaptured === void 0 ? void 0 : onSelfieCaptured(imageData, prediction.face);
11894
- clearCanvas(frame);
11895
- dispatch({
11896
- type: 'captureCompleted'
11897
- });
11898
- }, 100);
11953
+ var timer = setTimeout(doCapture, 100);
11899
11954
  return function () {
11900
- if (timer) clearTimeout(timer);
11955
+ return timer && clearTimeout(timer);
11901
11956
  };
11902
- }, [onSelfieCaptureStarted, onSelfieCaptured, prediction]);
11903
- var _q = useTimeout(timeoutDurationMs, onTimeout),
11904
- timedOut = _q.timedOut,
11905
- timeoutStartedAt = _q.timeoutStartedAt;
11957
+ }, [doCapture, prediction]);
11958
+ var _r = useTimeout(timeoutDurationMs, onTimeout),
11959
+ timedOut = _r.timedOut,
11960
+ timeoutStartedAt = _r.timeoutStartedAt;
11906
11961
  var debugScalingDetails = useDebugScalingDetails({
11907
11962
  enabled: debugMode,
11908
11963
  pageWidth: width,
@@ -11917,17 +11972,21 @@ var SelfieCapture = function SelfieCapture(_a) {
11917
11972
  guidanceMoveForwardText: 'Move forward...',
11918
11973
  guidanceMoveToCenterText: 'Move to the center...',
11919
11974
  guidanceNoFaceDetectedText: 'Waiting for face to be detected...',
11920
- guidanceNotStableText: 'Please hold still...'
11975
+ guidanceNotStableText: 'Please hold still...',
11976
+ guidanceManualCaptureText: 'Position your face in the circle and click to capture.',
11977
+ manualCaptureBtnText: 'Capture'
11921
11978
  });
11922
- var satisfied = (_b = prediction === null || prediction === void 0 ? void 0 : prediction.faceReady) !== null && _b !== void 0 ? _b : false;
11979
+ var allowManualCapture = !!guidanceError && allowManualSelfieCaptureOnLoadingError;
11980
+ var satisfied = allowManualCapture || ((_b = prediction === null || prediction === void 0 ? void 0 : prediction.faceReady) !== null && _b !== void 0 ? _b : false);
11923
11981
  if (typeof guidanceSatisfied === 'boolean') satisfied = guidanceSatisfied;
11924
- 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 : '');
11925
- if (guidanceError) {
11982
+ 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 : '');
11983
+ if (guidanceError && !allowManualSelfieCaptureOnLoadingError) {
11926
11984
  return /*#__PURE__*/React__default.createElement(SelfieCaptureFallback, {
11927
11985
  classNames: classNames.fallback
11928
11986
  });
11929
11987
  }
11930
11988
  var GuidesComponent = guidesComponent !== null && guidesComponent !== void 0 ? guidesComponent : FaceCaptureGuideOverlay;
11989
+ var guidanceVariant = allowManualCapture ? 'default' : satisfied ? 'positive' : 'negative';
11931
11990
  return /*#__PURE__*/React__default.createElement(Container$6, {
11932
11991
  ref: ref,
11933
11992
  className: classNames.container
@@ -11937,28 +11996,40 @@ var SelfieCapture = function SelfieCapture(_a) {
11937
11996
  classNames: classNames.guides,
11938
11997
  status: satisfied ? 'processing' : 'ready'
11939
11998
  }), !!guidanceMessage && ( /*#__PURE__*/React__default.createElement(GuidanceMessageContainer, {
11999
+ "$top": "12px",
11940
12000
  className: classNames.guidanceMessageContainer
11941
12001
  }, /*#__PURE__*/React__default.createElement(GuidanceMessage, {
11942
- "$variant": satisfied ? 'positive' : 'negative',
12002
+ "$variant": guidanceVariant,
11943
12003
  className: classNames.guidanceMessage
11944
12004
  }, guidanceMessage))), debugMode && (prediction === null || prediction === void 0 ? void 0 : prediction.face) && ( /*#__PURE__*/React__default.createElement(ObjectDetectionDebugOverlayDiv, null, /*#__PURE__*/React__default.createElement(SelfieCaptureFaceDebugBox, {
11945
12005
  face: prediction.face,
11946
12006
  scaling: debugScalingDetails,
11947
12007
  color: satisfied ? 'green' : 'red'
11948
- }))), debugMode && ( /*#__PURE__*/React__default.createElement(DebugStatsPane, null, camera ? ( /*#__PURE__*/React__default.createElement(React__default.Fragment, null, "\u2705 Camera: ", camera.label, " (", camera.width, "x", camera.height, ")")) : '❌ Camera not ready', /*#__PURE__*/React__default.createElement("br", null), !(prediction === null || prediction === void 0 ? void 0 : prediction.faceNotDetected) ? '✅' : '❌', " Face Detected", /*#__PURE__*/React__default.createElement("br", null), !(prediction === null || prediction === void 0 ? void 0 : prediction.faceNotCentered) ? '✅' : '❌', " Face Centered", /*#__PURE__*/React__default.createElement("br", null), !(prediction === null || prediction === void 0 ? void 0 : prediction.faceTooClose) && !(prediction === null || prediction === void 0 ? void 0 : prediction.faceTooFar) ? '✅' : '❌', ' ', "Face", ' ', (prediction === null || prediction === void 0 ? void 0 : prediction.faceTooClose) ? 'Too Close' : (prediction === null || prediction === void 0 ? void 0 : prediction.faceTooFar) ? 'Too Far' : 'Distance Correct', /*#__PURE__*/React__default.createElement("br", null), !(prediction === null || prediction === void 0 ? void 0 : prediction.faceLookingAway) ? '✅' : '❌', " Face Looking Forward", /*#__PURE__*/React__default.createElement("br", null), !(prediction === null || prediction === void 0 ? void 0 : prediction.faceIsStable) ? '✅' : '❌', " Face Is Stable", /*#__PURE__*/React__default.createElement("br", null), !timedOut ? '✅' : '❌', " Time Remaining:", ' ', Math.max(0, timeoutDurationMs - (new Date().getTime() - (timeoutStartedAt !== null && timeoutStartedAt !== void 0 ? timeoutStartedAt : new Date()).getTime())), "ms")), /*#__PURE__*/React__default.createElement(ExitCaptureButton, {
12008
+ }))), debugMode && ( /*#__PURE__*/React__default.createElement(DebugStatsPane, null, camera ? ( /*#__PURE__*/React__default.createElement(React__default.Fragment, null, "\u2705 Camera: ", camera.label, " (", camera.width, "x", camera.height, ")")) : '❌ Camera not ready', /*#__PURE__*/React__default.createElement("br", null), !(prediction === null || prediction === void 0 ? void 0 : prediction.faceNotDetected) ? '✅' : '❌', " Face Detected", /*#__PURE__*/React__default.createElement("br", null), !(prediction === null || prediction === void 0 ? void 0 : prediction.faceNotCentered) ? '✅' : '❌', " Face Centered", /*#__PURE__*/React__default.createElement("br", null), !(prediction === null || prediction === void 0 ? void 0 : prediction.faceTooClose) && !(prediction === null || prediction === void 0 ? void 0 : prediction.faceTooFar) ? '✅' : '❌', ' ', "Face", ' ', (prediction === null || prediction === void 0 ? void 0 : prediction.faceTooClose) ? 'Too Close' : (prediction === null || prediction === void 0 ? void 0 : prediction.faceTooFar) ? 'Too Far' : 'Distance Correct', /*#__PURE__*/React__default.createElement("br", null), !(prediction === null || prediction === void 0 ? void 0 : prediction.faceLookingAway) ? '✅' : '❌', " Face Looking Forward", /*#__PURE__*/React__default.createElement("br", null), !(prediction === null || prediction === void 0 ? void 0 : prediction.faceIsStable) ? '✅' : '❌', " Face Is Stable", /*#__PURE__*/React__default.createElement("br", null), !timedOut ? '✅' : '❌', " Time Remaining:", ' ', Math.max(0, timeoutDurationMs - (new Date().getTime() - (timeoutStartedAt !== null && timeoutStartedAt !== void 0 ? timeoutStartedAt : new Date()).getTime())), "ms")), allowManualCapture && ( /*#__PURE__*/React__default.createElement(CaptureButtonContainer$1, null, /*#__PURE__*/React__default.createElement(CaptureButton$1, {
12009
+ disabled: !videoRef.current,
12010
+ onClick: function onClick() {
12011
+ var _a;
12012
+ // draw the current frame from videoRef to the canvas
12013
+ if (!lastPredictionCanvas.current || !videoRef.current) return;
12014
+ lastPredictionCanvas.current.width = videoRef.current.videoWidth;
12015
+ lastPredictionCanvas.current.height = videoRef.current.videoHeight;
12016
+ var ctx = (_a = lastPredictionCanvas.current) === null || _a === void 0 ? void 0 : _a.getContext('2d');
12017
+ if (!ctx) return;
12018
+ ctx.drawImage(videoRef.current, 0, 0);
12019
+ doCapture();
12020
+ }
12021
+ }, verbiage.manualCaptureBtnText))), /*#__PURE__*/React__default.createElement(ExitCaptureButton, {
11949
12022
  onClick: onExit,
11950
12023
  className: classNames.exitCaptureBtn
11951
12024
  }));
11952
12025
  };
11953
12026
  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"])));
11954
- var templateObject_1$m;
12027
+ 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"])));
12028
+ 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"])));
12029
+ var templateObject_1$m, templateObject_2$j, templateObject_3$e;
11955
12030
 
11956
12031
  var initialState$3 = {
11957
- frame: null,
11958
- face: null,
11959
12032
  requestState: 'CAPTURING',
11960
- requestError: null,
11961
- imageUrl: null,
11962
12033
  faceLive: false,
11963
12034
  eyeCoveringDetected: false,
11964
12035
  maskDetected: false,
@@ -11967,7 +12038,6 @@ var initialState$3 = {
11967
12038
  timesLivenessCheckFailed: 0
11968
12039
  };
11969
12040
  var reducer$2 = function reducer(state, action) {
11970
- var _a, _b;
11971
12041
  switch (action.type) {
11972
12042
  case 'resetLivenessCheck':
11973
12043
  return _assign(_assign({}, initialState$3), {
@@ -12002,12 +12072,12 @@ var reducer$2 = function reducer(state, action) {
12002
12072
  });
12003
12073
  case 'livenessChecked':
12004
12074
  {
12005
- var _c = action.payload.response,
12006
- _d = _c.status,
12007
- statusCode = _d.statusCode,
12008
- statusMessage = _d.statusMessage,
12009
- errorData = _d.errorData,
12010
- resultData = _c.resultData;
12075
+ var _a = action.payload.response,
12076
+ _b = _a.status,
12077
+ statusCode = _b.statusCode,
12078
+ statusMessage = _b.statusMessage,
12079
+ errorData = _b.errorData,
12080
+ resultData = _a.resultData;
12011
12081
  if (statusCode !== '000') {
12012
12082
  return _assign(_assign({}, state), {
12013
12083
  requestState: 'ERROR',
@@ -12028,8 +12098,8 @@ var reducer$2 = function reducer(state, action) {
12028
12098
  timesLivenessCheckFailed += 1;
12029
12099
  }
12030
12100
  return _assign(_assign({}, state), {
12031
- frame: (_a = action.payload.frame) !== null && _a !== void 0 ? _a : null,
12032
- face: (_b = action.payload.face) !== null && _b !== void 0 ? _b : null,
12101
+ frame: action.payload.frame,
12102
+ face: action.payload.face,
12033
12103
  imageUrl: action.payload.imageUrl,
12034
12104
  requestState: requestState,
12035
12105
  faceLive: faceLive,
@@ -12067,23 +12137,25 @@ var FaceLivenessCapture = function FaceLivenessCapture(_a) {
12067
12137
  silentFallback = _h === void 0 ? false : _h,
12068
12138
  guidesComponent = _a.guidesComponent,
12069
12139
  disableCapturePreview = _a.disableCapturePreview,
12070
- _j = _a.classNames,
12071
- classNames = _j === void 0 ? {} : _j,
12072
- _k = _a.colors,
12073
- colors = _k === void 0 ? {} : _k,
12074
- _l = _a.verbiage,
12075
- rawVerbiage = _l === void 0 ? {} : _l,
12140
+ _j = _a.allowManualSelfieCaptureOnLoadingError,
12141
+ allowManualSelfieCaptureOnLoadingError = _j === void 0 ? false : _j,
12142
+ _k = _a.classNames,
12143
+ classNames = _k === void 0 ? {} : _k,
12144
+ _l = _a.colors,
12145
+ colors = _l === void 0 ? {} : _l,
12146
+ _m = _a.verbiage,
12147
+ rawVerbiage = _m === void 0 ? {} : _m,
12076
12148
  debugMode = _a.debugMode;
12077
- var _m = useContext(SubmissionContext),
12078
- checkLiveness = _m.checkLiveness,
12079
- submissionError = _m.submissionError;
12149
+ var _o = useContext(SubmissionContext),
12150
+ checkLiveness = _o.checkLiveness,
12151
+ submissionError = _o.submissionError;
12080
12152
  var modelError = useSelfieGuidanceModelsContext().error;
12081
- var _o = useReducer(reducer$2, initialState$3),
12082
- state = _o[0],
12083
- dispatch = _o[1];
12084
- var _p = useState(null),
12085
- imageUrl = _p[0],
12086
- setImageUrl = _p[1];
12153
+ var _p = useReducer(reducer$2, initialState$3),
12154
+ state = _p[0],
12155
+ dispatch = _p[1];
12156
+ var _q = useState(null),
12157
+ imageUrl = _q[0],
12158
+ setImageUrl = _q[1];
12087
12159
  var rawCanvas = useRef(null);
12088
12160
  var cropCanvas = useRef(null);
12089
12161
  var resizeCanvas = useRef(null);
@@ -12109,7 +12181,7 @@ var FaceLivenessCapture = function FaceLivenessCapture(_a) {
12109
12181
  var isPassed = state.requestState === 'PASSED';
12110
12182
  useEffect(function checkLivenessIfPossible() {
12111
12183
  var _this = this;
12112
- if (!frame || !face || !isReady || submissionError) return;
12184
+ if (!frame || !isReady || submissionError) return;
12113
12185
  dispatch({
12114
12186
  type: 'livenessChecking'
12115
12187
  });
@@ -12248,7 +12320,7 @@ var FaceLivenessCapture = function FaceLivenessCapture(_a) {
12248
12320
  });
12249
12321
  }, []);
12250
12322
  var initialDelayOver = useTimeout(initialCaptureDelayMs).timedOut;
12251
- if (modelError) {
12323
+ if (modelError && !allowManualSelfieCaptureOnLoadingError) {
12252
12324
  return /*#__PURE__*/React__default.createElement(SelfieCaptureFallback, {
12253
12325
  key: state.timesLivenessCheckFailed,
12254
12326
  onFinished: onFallbackImageCaptured,
@@ -12275,6 +12347,7 @@ var FaceLivenessCapture = function FaceLivenessCapture(_a) {
12275
12347
  onGuidanceSatisfied: onGuidanceSatisfied,
12276
12348
  onGuidanceNotSatisfied: onGuidanceNotSatisfied,
12277
12349
  guidesComponent: guidesByRequestState,
12350
+ allowManualSelfieCaptureOnLoadingError: allowManualSelfieCaptureOnLoadingError,
12278
12351
  classNames: classNames,
12279
12352
  colors: colors,
12280
12353
  verbiage: rawVerbiage,
@@ -12541,35 +12614,39 @@ var SelfieCaptureLoadingOverlayDefault = function SelfieCaptureLoadingOverlayDef
12541
12614
  var onLoadingStarted = _a.onLoadingStarted,
12542
12615
  onLoadingProgress = _a.onLoadingProgress,
12543
12616
  onLoadingCompleted = _a.onLoadingCompleted,
12617
+ onLoadingFailed = _a.onLoadingFailed,
12544
12618
  onDismissed = _a.onDismissed,
12545
12619
  onUserCancel = _a.onUserCancel,
12546
12620
  customOverlayContent = _a.customOverlayContent,
12547
12621
  _d = _a.waitForIdCaptureModels,
12548
12622
  waitForIdCaptureModels = _d === void 0 ? false : _d,
12549
- _e = _a.assets,
12550
- assets = _e === void 0 ? {} : _e,
12551
- _f = _a.classNames,
12552
- classNames = _f === void 0 ? {} : _f,
12553
- _g = _a.colors,
12554
- colors = _g === void 0 ? {} : _g,
12555
- _h = _a.verbiage,
12556
- rawVerbiage = _h === void 0 ? {} : _h;
12623
+ _e = _a.allowManualSelfieCaptureOnLoadingError,
12624
+ allowManualSelfieCaptureOnLoadingError = _e === void 0 ? false : _e,
12625
+ _f = _a.assets,
12626
+ assets = _f === void 0 ? {} : _f,
12627
+ _g = _a.classNames,
12628
+ classNames = _g === void 0 ? {} : _g,
12629
+ _h = _a.colors,
12630
+ colors = _h === void 0 ? {} : _h,
12631
+ _j = _a.verbiage,
12632
+ rawVerbiage = _j === void 0 ? {} : _j;
12557
12633
  var sessionCheckState = useAuthContext()[0].sessionCheckState;
12558
12634
  var sessionReady = sessionCheckState === 'PASSED';
12559
- var _j = useCameraStore(useShallow(function (state) {
12635
+ var _k = useCameraStore(useShallow(function (state) {
12560
12636
  return {
12561
12637
  cameraReady: state.cameraReady,
12562
12638
  cameraAccessDenied: state.cameraAccessDenied,
12563
12639
  microphoneAccessDenied: state.microphoneAccessDenied
12564
12640
  };
12565
12641
  })),
12566
- cameraReady = _j.cameraReady,
12567
- cameraAccessDenied = _j.cameraAccessDenied,
12568
- microphoneAccessDenied = _j.microphoneAccessDenied;
12569
- var _k = useSelfieGuidanceModelsContext(),
12570
- modelLoadState = _k.modelLoadState,
12571
- modelDownloadProgress = _k.modelDownloadProgress,
12572
- modelWarmingStartedAt = _k.modelWarmingStartedAt;
12642
+ cameraReady = _k.cameraReady,
12643
+ cameraAccessDenied = _k.cameraAccessDenied,
12644
+ microphoneAccessDenied = _k.microphoneAccessDenied;
12645
+ var _l = useSelfieGuidanceModelsContext(),
12646
+ modelLoadState = _l.modelLoadState,
12647
+ modelDownloadProgress = _l.modelDownloadProgress,
12648
+ modelWarmingStartedAt = _l.modelWarmingStartedAt,
12649
+ modelError = _l.error;
12573
12650
  var idCaptureModelsContext = useContext(IdCaptureModelsContext);
12574
12651
  var theme = useTheme();
12575
12652
  var verbiage = useTranslations(rawVerbiage, {
@@ -12585,9 +12662,9 @@ var SelfieCaptureLoadingOverlayDefault = function SelfieCaptureLoadingOverlayDef
12585
12662
  modelsReadyText: 'Guided capture experience ready',
12586
12663
  sessionCheckingText: 'Authenticating...'
12587
12664
  });
12588
- var _l = useState(0),
12589
- headingTextIndex = _l[0],
12590
- setHeadingTextIndex = _l[1];
12665
+ var _m = useState(0),
12666
+ headingTextIndex = _m[0],
12667
+ setHeadingTextIndex = _m[1];
12591
12668
  var headingText = [verbiage.headingText, verbiage.removeEyeCoveringsText, verbiage.avoidExcessiveBacklightingText][headingTextIndex];
12592
12669
  useEffect(function () {
12593
12670
  setInterval(function () {
@@ -12598,20 +12675,29 @@ var SelfieCaptureLoadingOverlayDefault = function SelfieCaptureLoadingOverlayDef
12598
12675
  }, []);
12599
12676
  var timeSinceWarmingStarted = modelWarmingStartedAt ? new Date().getTime() - modelWarmingStartedAt : 0;
12600
12677
  var warmingProgress = timeSinceWarmingStarted / 5000.0;
12601
- var allModelsReady = modelLoadState === 'ready' && (!waitForIdCaptureModels || (idCaptureModelsContext === null || idCaptureModelsContext === void 0 ? void 0 : idCaptureModelsContext.ready));
12678
+ var _o = useState(false),
12679
+ overrideModelsReady = _o[0],
12680
+ setOverrideModelsReady = _o[1];
12681
+ var onLoadingFailedCallback = useCallback(function (error) {
12682
+ setOverrideModelsReady(allowManualSelfieCaptureOnLoadingError);
12683
+ return onLoadingFailed === null || onLoadingFailed === void 0 ? void 0 : onLoadingFailed(error);
12684
+ }, [onLoadingFailed, allowManualSelfieCaptureOnLoadingError]);
12685
+ var allModelsReady = overrideModelsReady || modelLoadState === 'ready' && (!waitForIdCaptureModels || (idCaptureModelsContext === null || idCaptureModelsContext === void 0 ? void 0 : idCaptureModelsContext.ready));
12602
12686
  var ready = sessionReady && allModelsReady && cameraReady;
12603
12687
  var modelLoadProgress = allModelsReady ? 100 : modelDownloadProgress * 0.5 + warmingProgress * 49.0;
12604
12688
  useLoadProgressHooks({
12605
12689
  ready: ready,
12606
12690
  modelLoadState: modelLoadState,
12607
12691
  modelLoadProgress: modelLoadProgress,
12692
+ modelError: modelError,
12608
12693
  onLoadingStarted: onLoadingStarted,
12609
12694
  onLoadingProgress: onLoadingProgress,
12610
- onLoadingCompleted: onLoadingCompleted
12695
+ onLoadingCompleted: onLoadingCompleted,
12696
+ onLoadingFailed: onLoadingFailedCallback
12611
12697
  });
12612
- var _m = useState(false),
12613
- dismissed = _m[0],
12614
- setDismissed = _m[1];
12698
+ var _p = useState(false),
12699
+ dismissed = _p[0],
12700
+ setDismissed = _p[1];
12615
12701
  if (dismissed) return /*#__PURE__*/React__default.createElement(React__default.Fragment, null);
12616
12702
  if (cameraAccessDenied) {
12617
12703
  return /*#__PURE__*/React__default.createElement(CameraAccessDeniedOverlay, {
@@ -12752,6 +12838,7 @@ var FaceLivenessWizard = function FaceLivenessWizard(_a) {
12752
12838
  var onLoadingStarted = _a.onLoadingStarted,
12753
12839
  onLoadingProgress = _a.onLoadingProgress,
12754
12840
  onLoadingCompleted = _a.onLoadingCompleted,
12841
+ onLoadingFailed = _a.onLoadingFailed,
12755
12842
  onComplete = _a.onComplete,
12756
12843
  onSuccess = _a.onSuccess,
12757
12844
  onFailure = _a.onFailure,
@@ -12785,49 +12872,51 @@ var FaceLivenessWizard = function FaceLivenessWizard(_a) {
12785
12872
  waitForIdCaptureModels = _m === void 0 ? false : _m,
12786
12873
  guidesComponent = _a.guidesComponent,
12787
12874
  disableCapturePreview = _a.disableCapturePreview,
12788
- _o = _a.assets,
12789
- assets = _o === void 0 ? {} : _o,
12790
- _p = _a.classNames,
12791
- classNames = _p === void 0 ? {} : _p,
12792
- _q = _a.colors,
12793
- colors = _q === void 0 ? {} : _q,
12794
- _r = _a.verbiage,
12795
- verbiage = _r === void 0 ? {} : _r,
12796
- _s = _a.debugMode,
12797
- debugMode = _s === void 0 ? false : _s,
12798
- _t = _a.showLoadingOverlay,
12799
- showLoadingOverlay = _t === void 0 ? true : _t;
12800
- var _u = useSubmissionContext(),
12801
- submissionResponse = _u.submissionResponse,
12802
- livenessCheckRequest = _u.livenessCheckRequest,
12803
- setSelfieImage = _u.setSelfieImage,
12804
- logSelfieCaptureAttempt = _u.logSelfieCaptureAttempt;
12805
- var _v = useCameraStore(useShallow(function (state) {
12875
+ _o = _a.allowManualSelfieCaptureOnLoadingError,
12876
+ allowManualSelfieCaptureOnLoadingError = _o === void 0 ? false : _o,
12877
+ _p = _a.assets,
12878
+ assets = _p === void 0 ? {} : _p,
12879
+ _q = _a.classNames,
12880
+ classNames = _q === void 0 ? {} : _q,
12881
+ _r = _a.colors,
12882
+ colors = _r === void 0 ? {} : _r,
12883
+ _s = _a.verbiage,
12884
+ verbiage = _s === void 0 ? {} : _s,
12885
+ _t = _a.debugMode,
12886
+ debugMode = _t === void 0 ? false : _t,
12887
+ _u = _a.showLoadingOverlay,
12888
+ showLoadingOverlay = _u === void 0 ? true : _u;
12889
+ var _v = useSubmissionContext(),
12890
+ submissionResponse = _v.submissionResponse,
12891
+ livenessCheckRequest = _v.livenessCheckRequest,
12892
+ setSelfieImage = _v.setSelfieImage,
12893
+ logSelfieCaptureAttempt = _v.logSelfieCaptureAttempt;
12894
+ var _w = useCameraStore(useShallow(function (state) {
12806
12895
  return {
12807
12896
  cameraAccessDenied: state.cameraAccessDenied,
12808
12897
  requestCameraAccess: state.requestCameraAccess,
12809
12898
  releaseCameraAccess: state.releaseCameraAccess
12810
12899
  };
12811
12900
  })),
12812
- cameraAccessDenied = _v.cameraAccessDenied,
12813
- requestCameraAccess = _v.requestCameraAccess,
12814
- releaseCameraAccess = _v.releaseCameraAccess;
12815
- var _w = useState(''),
12816
- faceCropImageUrl = _w[0],
12817
- setFaceCropImageUrl = _w[1];
12818
- var _x = useState(0),
12819
- retryCount = _x[0],
12820
- setRetryCount = _x[1];
12821
- var _y = useState(showLoadingOverlay ? 'LOADING' : 'CAPTURING'),
12822
- captureState = _y[0],
12823
- setCaptureState = _y[1];
12901
+ cameraAccessDenied = _w.cameraAccessDenied,
12902
+ requestCameraAccess = _w.requestCameraAccess,
12903
+ releaseCameraAccess = _w.releaseCameraAccess;
12904
+ var _x = useState(''),
12905
+ faceCropImageUrl = _x[0],
12906
+ setFaceCropImageUrl = _x[1];
12907
+ var _y = useState(0),
12908
+ retryCount = _y[0],
12909
+ setRetryCount = _y[1];
12910
+ var _z = useState(showLoadingOverlay ? 'LOADING' : 'CAPTURING'),
12911
+ captureState = _z[0],
12912
+ setCaptureState = _z[1];
12824
12913
  var captureStartedAt = useRef();
12825
12914
  var operationStartedAt = useRef();
12826
12915
  var livenessScore = useRef();
12827
- var _z = useSelfieGuidanceModelsContext(),
12828
- start = _z.start,
12829
- stop = _z.stop,
12830
- selfieGuidanceCanvasRef = _z.canvasRef;
12916
+ var _0 = useSelfieGuidanceModelsContext(),
12917
+ start = _0.start,
12918
+ stop = _0.stop,
12919
+ selfieGuidanceCanvasRef = _0.canvasRef;
12831
12920
  useEffect(function () {
12832
12921
  if (precapturedDocuments === null || precapturedDocuments === void 0 ? void 0 : precapturedDocuments.selfie) {
12833
12922
  setSelfieImage(precapturedDocuments.selfie.imageData);
@@ -12910,9 +12999,9 @@ var FaceLivenessWizard = function FaceLivenessWizard(_a) {
12910
12999
  }
12911
13000
  onDenied === null || onDenied === void 0 ? void 0 : onDenied(submissionResponse, livenessCheckRequest);
12912
13001
  }, [allowLivenessFailure, onDenied, submissionResponse, livenessCheckRequest]);
12913
- var _0 = useState(0),
12914
- attempt = _0[0],
12915
- setAttempt = _0[1];
13002
+ var _1 = useState(0),
13003
+ attempt = _1[0],
13004
+ setAttempt = _1[1];
12916
13005
  var onExitCallback = useCallback(function () {
12917
13006
  setAttempt(function (n) {
12918
13007
  return n + 1;
@@ -12980,6 +13069,7 @@ var FaceLivenessWizard = function FaceLivenessWizard(_a) {
12980
13069
  silentFallback: silentFallback,
12981
13070
  guidesComponent: guidesComponent,
12982
13071
  disableCapturePreview: disableCapturePreview,
13072
+ allowManualSelfieCaptureOnLoadingError: allowManualSelfieCaptureOnLoadingError,
12983
13073
  classNames: classNames.capture,
12984
13074
  colors: colors,
12985
13075
  verbiage: verbiage,
@@ -13022,9 +13112,11 @@ var FaceLivenessWizard = function FaceLivenessWizard(_a) {
13022
13112
  onLoadingStarted: onLoadingStarted,
13023
13113
  onLoadingProgress: onLoadingProgress,
13024
13114
  onLoadingCompleted: onLoadingCompleted,
13115
+ onLoadingFailed: onLoadingFailed,
13025
13116
  onUserCancel: onUserCancel,
13026
13117
  onDismissed: onLoadingOverlayDismissedCallback,
13027
- waitForIdCaptureModels: waitForIdCaptureModels
13118
+ waitForIdCaptureModels: waitForIdCaptureModels,
13119
+ allowManualSelfieCaptureOnLoadingError: allowManualSelfieCaptureOnLoadingError
13028
13120
  })));
13029
13121
  };
13030
13122
  function FaceLivenessWizardWithProviders(_a) {
@@ -13980,8 +14072,6 @@ var VideoSignatureCapture = function VideoSignatureCapture(_a) {
13980
14072
  setTimeout(startHeadTracking, 1);
13981
14073
  return stopHeadTracking;
13982
14074
  }, [startHeadTracking, stopHeadTracking]);
13983
- colors.guidanceMessageBackgroundColor || (colors.guidanceMessageBackgroundColor = '#ccc');
13984
- colors.guidanceMessageTextColor || (colors.guidanceMessageTextColor = 'black');
13985
14075
  var verbiage = useTranslations(rawVerbiage, {
13986
14076
  guidanceMessageText: 'Please sign the box below'
13987
14077
  });
@@ -14029,7 +14119,7 @@ var VideoSignatureCapture = function VideoSignatureCapture(_a) {
14029
14119
  ref: ref,
14030
14120
  className: classNames.container
14031
14121
  }, !!verbiage.guidanceMessageText && ( /*#__PURE__*/React__default.createElement(GuidanceMessageContainer, {
14032
- "$top": "10%",
14122
+ "$top": "12px",
14033
14123
  className: classNames.guidanceMessageContainer
14034
14124
  }, /*#__PURE__*/React__default.createElement(GuidanceMessage, {
14035
14125
  className: classNames.guidanceMessage,
@@ -14119,6 +14209,7 @@ function SelfieCaptureWizard(_a) {
14119
14209
  var onLoadingStarted = _a.onLoadingStarted,
14120
14210
  onLoadingProgress = _a.onLoadingProgress,
14121
14211
  onLoadingCompleted = _a.onLoadingCompleted,
14212
+ onLoadingFailed = _a.onLoadingFailed,
14122
14213
  onLoadingOverlayDismissed = _a.onLoadingOverlayDismissed,
14123
14214
  onCapture = _a.onCapture,
14124
14215
  onUserCancel = _a.onUserCancel,
@@ -14137,43 +14228,45 @@ function SelfieCaptureWizard(_a) {
14137
14228
  initialCaptureDelayMs = _g === void 0 ? 1000 : _g,
14138
14229
  _h = _a.silentFallback,
14139
14230
  silentFallback = _h === void 0 ? false : _h,
14231
+ _j = _a.allowManualSelfieCaptureOnLoadingError,
14232
+ allowManualSelfieCaptureOnLoadingError = _j === void 0 ? false : _j,
14140
14233
  guidanceMessage = _a.guidanceMessage,
14141
14234
  guidesComponent = _a.guidesComponent,
14142
- _j = _a.assets,
14143
- assets = _j === void 0 ? {} : _j,
14144
- _k = _a.classNames,
14145
- classNames = _k === void 0 ? {} : _k,
14146
- _l = _a.colors,
14147
- colors = _l === void 0 ? {} : _l,
14148
- _m = _a.verbiage,
14149
- verbiage = _m === void 0 ? {} : _m,
14150
- _o = _a.debugMode,
14151
- debugMode = _o === void 0 ? false : _o;
14152
- var _p = useSubmissionContext(),
14153
- setSelfieImage = _p.setSelfieImage,
14154
- logSelfieCaptureAttempt = _p.logSelfieCaptureAttempt;
14155
- var _q = useCameraStore(useShallow(function (state) {
14235
+ _k = _a.assets,
14236
+ assets = _k === void 0 ? {} : _k,
14237
+ _l = _a.classNames,
14238
+ classNames = _l === void 0 ? {} : _l,
14239
+ _m = _a.colors,
14240
+ colors = _m === void 0 ? {} : _m,
14241
+ _o = _a.verbiage,
14242
+ verbiage = _o === void 0 ? {} : _o,
14243
+ _p = _a.debugMode,
14244
+ debugMode = _p === void 0 ? false : _p;
14245
+ var _q = useSubmissionContext(),
14246
+ setSelfieImage = _q.setSelfieImage,
14247
+ logSelfieCaptureAttempt = _q.logSelfieCaptureAttempt;
14248
+ var _r = useCameraStore(useShallow(function (state) {
14156
14249
  return {
14157
14250
  cameraAccessDenied: state.cameraAccessDenied,
14158
14251
  requestCameraAccess: state.requestCameraAccess,
14159
14252
  releaseCameraAccess: state.releaseCameraAccess
14160
14253
  };
14161
14254
  })),
14162
- cameraAccessDenied = _q.cameraAccessDenied,
14163
- requestCameraAccess = _q.requestCameraAccess,
14164
- releaseCameraAccess = _q.releaseCameraAccess;
14165
- var _r = useState(showLoadingOverlay ? 'LOADING' : 'CAPTURING'),
14166
- captureState = _r[0],
14167
- setCaptureState = _r[1];
14255
+ cameraAccessDenied = _r.cameraAccessDenied,
14256
+ requestCameraAccess = _r.requestCameraAccess,
14257
+ releaseCameraAccess = _r.releaseCameraAccess;
14258
+ var _s = useState(showLoadingOverlay ? 'LOADING' : 'CAPTURING'),
14259
+ captureState = _s[0],
14260
+ setCaptureState = _s[1];
14168
14261
  var rawCanvas = useRef(null);
14169
14262
  var cropCanvas = useRef(null);
14170
14263
  var resizeCanvas = useRef(null);
14171
14264
  var captureStartedAt = useRef();
14172
14265
  var operationStartedAt = useRef();
14173
- var _s = useSelfieGuidanceModelsContext(),
14174
- start = _s.start,
14175
- stop = _s.stop,
14176
- modelError = _s.error;
14266
+ var _t = useSelfieGuidanceModelsContext(),
14267
+ start = _t.start,
14268
+ stop = _t.stop,
14269
+ modelError = _t.error;
14177
14270
  useEffect(function () {
14178
14271
  if (precapturedDocuments === null || precapturedDocuments === void 0 ? void 0 : precapturedDocuments.selfie) {
14179
14272
  setSelfieImage(precapturedDocuments.selfie.imageData);
@@ -14221,9 +14314,9 @@ function SelfieCaptureWizard(_a) {
14221
14314
  status: status
14222
14315
  }));
14223
14316
  }, [captureState, guidesComponent]);
14224
- var _t = useState(0),
14225
- attempt = _t[0],
14226
- setAttempt = _t[1];
14317
+ var _u = useState(0),
14318
+ attempt = _u[0],
14319
+ setAttempt = _u[1];
14227
14320
  var onExitCallback = useCallback(function () {
14228
14321
  setAttempt(function (n) {
14229
14322
  return n + 1;
@@ -14242,7 +14335,7 @@ function SelfieCaptureWizard(_a) {
14242
14335
  }
14243
14336
  }, [cameraAccessDenied]);
14244
14337
  var initialDelayOver = useTimeout(initialCaptureDelayMs, undefined, undefined, undefined, captureState === 'CAPTURING').timedOut;
14245
- if (modelError) {
14338
+ if (modelError && !allowManualSelfieCaptureOnLoadingError) {
14246
14339
  return /*#__PURE__*/React__default.createElement(SelfieCaptureFallback, {
14247
14340
  onFinished: onFallbackImageCaptured,
14248
14341
  silentFallback: silentFallback,
@@ -14266,6 +14359,7 @@ function SelfieCaptureWizard(_a) {
14266
14359
  guidanceMessage: guidanceMessage,
14267
14360
  guidanceSatisfied: guidanceMessage ? false : undefined,
14268
14361
  guidesComponent: guidesByRequestState,
14362
+ allowManualSelfieCaptureOnLoadingError: allowManualSelfieCaptureOnLoadingError,
14269
14363
  classNames: classNames.capture,
14270
14364
  colors: colors.capture,
14271
14365
  verbiage: verbiage.capture,
@@ -14281,9 +14375,11 @@ function SelfieCaptureWizard(_a) {
14281
14375
  onLoadingStarted: onLoadingStarted,
14282
14376
  onLoadingProgress: onLoadingProgress,
14283
14377
  onLoadingCompleted: onLoadingCompleted,
14378
+ onLoadingFailed: onLoadingFailed,
14284
14379
  onUserCancel: onUserCancel,
14285
14380
  onDismissed: onLoadingOverlayDismissedCallback,
14286
- waitForIdCaptureModels: waitForIdCaptureModels
14381
+ waitForIdCaptureModels: waitForIdCaptureModels,
14382
+ allowManualSelfieCaptureOnLoadingError: allowManualSelfieCaptureOnLoadingError
14287
14383
  })));
14288
14384
  }
14289
14385
 
@@ -14293,6 +14389,7 @@ var VideoSignatureWizard = function VideoSignatureWizard(_a) {
14293
14389
  var onLoadingStarted = _a.onLoadingStarted,
14294
14390
  onLoadingProgress = _a.onLoadingProgress,
14295
14391
  onLoadingCompleted = _a.onLoadingCompleted,
14392
+ onLoadingFailed = _a.onLoadingFailed,
14296
14393
  onSelfieCaptured = _a.onSelfieCaptured,
14297
14394
  onComplete = _a.onComplete,
14298
14395
  onVideoCaptured = _a.onVideoCaptured,
@@ -14321,39 +14418,41 @@ var VideoSignatureWizard = function VideoSignatureWizard(_a) {
14321
14418
  restartVideoOnSignaturePadCleared = _k === void 0 ? true : _k,
14322
14419
  _l = _a.skipLivenessValidation,
14323
14420
  skipLivenessValidation = _l === void 0 ? false : _l,
14421
+ _m = _a.allowManualSelfieCaptureOnLoadingError,
14422
+ allowManualSelfieCaptureOnLoadingError = _m === void 0 ? false : _m,
14324
14423
  faceLivenessProps = _a.faceLivenessProps,
14325
14424
  guidesComponent = _a.guidesComponent,
14326
- _m = _a.assets,
14327
- assets = _m === void 0 ? {} : _m,
14328
- _o = _a.classNames,
14329
- classNames = _o === void 0 ? {} : _o,
14330
- _p = _a.colors,
14331
- colors = _p === void 0 ? {} : _p,
14332
- _q = _a.verbiage,
14333
- verbiage = _q === void 0 ? {} : _q,
14334
- _r = _a.debugMode,
14335
- debugMode = _r === void 0 ? false : _r;
14336
- var _s = useSubmissionContext(),
14337
- selfieImage = _s.selfieImage,
14338
- setSelfieImage = _s.setSelfieImage,
14339
- setSignatureData = _s.setSignatureData,
14340
- setSignatureVideoUrl = _s.setSignatureVideoUrl,
14341
- logSelfieCaptureAttempt = _s.logSelfieCaptureAttempt,
14342
- uploadDocument = _s.uploadDocument;
14425
+ _o = _a.assets,
14426
+ assets = _o === void 0 ? {} : _o,
14427
+ _p = _a.classNames,
14428
+ classNames = _p === void 0 ? {} : _p,
14429
+ _q = _a.colors,
14430
+ colors = _q === void 0 ? {} : _q,
14431
+ _r = _a.verbiage,
14432
+ verbiage = _r === void 0 ? {} : _r,
14433
+ _s = _a.debugMode,
14434
+ debugMode = _s === void 0 ? false : _s;
14435
+ var _t = useSubmissionContext(),
14436
+ selfieImage = _t.selfieImage,
14437
+ setSelfieImage = _t.setSelfieImage,
14438
+ setSignatureData = _t.setSignatureData,
14439
+ setSignatureVideoUrl = _t.setSignatureVideoUrl,
14440
+ logSelfieCaptureAttempt = _t.logSelfieCaptureAttempt,
14441
+ uploadDocument = _t.uploadDocument;
14343
14442
  var cameraAccessDenied = useCameraStore(useShallow(function (state) {
14344
14443
  return {
14345
14444
  cameraAccessDenied: state.cameraAccessDenied
14346
14445
  };
14347
14446
  })).cameraAccessDenied;
14348
- var _t = useState(skipLivenessValidation ? 'CAPTURING_SELFIE' : 'CHECKING_LIVENESS'),
14349
- captureState = _t[0],
14350
- setCaptureState = _t[1];
14447
+ var _u = useState(skipLivenessValidation ? 'CAPTURING_SELFIE' : 'CHECKING_LIVENESS'),
14448
+ captureState = _u[0],
14449
+ setCaptureState = _u[1];
14351
14450
  var operationStartedAt = useRef();
14352
14451
  var captureStartedAt = useRef();
14353
14452
  var captureEndedAt = useRef();
14354
- var _u = useSelfieGuidanceModelsContext(),
14355
- start = _u.start,
14356
- stop = _u.stop;
14453
+ var _v = useSelfieGuidanceModelsContext(),
14454
+ start = _v.start,
14455
+ stop = _v.stop;
14357
14456
  useEffect(function () {
14358
14457
  operationStartedAt.current = new Date();
14359
14458
  }, []);
@@ -14397,9 +14496,9 @@ var VideoSignatureWizard = function VideoSignatureWizard(_a) {
14397
14496
  filetype: 'image/jpeg'
14398
14497
  }).then(onSelfieCaptured);
14399
14498
  }, [logCaptureMetadata, onSelfieCaptured, setSelfieImage, uploadDocument]);
14400
- var _v = useState(null),
14401
- signatureImageUrl = _v[0],
14402
- setSignatureImageUrl = _v[1];
14499
+ var _w = useState(null),
14500
+ signatureImageUrl = _w[0],
14501
+ setSignatureImageUrl = _w[1];
14403
14502
  var onSignatureCaptureCompleted = useCallback(function (videoData, signatureData, signatureImageData) {
14404
14503
  setSignatureData(signatureData);
14405
14504
  setSignatureVideoUrl(URL.createObjectURL(videoData));
@@ -14407,17 +14506,17 @@ var VideoSignatureWizard = function VideoSignatureWizard(_a) {
14407
14506
  setCaptureState('SUCCESS');
14408
14507
  onVideoCaptured === null || onVideoCaptured === void 0 ? void 0 : onVideoCaptured(videoData, signatureData, signatureImageData);
14409
14508
  }, [onVideoCaptured, setSignatureData, setSignatureVideoUrl]);
14410
- var _w = useState(true),
14411
- showLoadingOverlay = _w[0],
14412
- setShowLoadingOverlay = _w[1];
14509
+ var _x = useState(true),
14510
+ showLoadingOverlay = _x[0],
14511
+ setShowLoadingOverlay = _x[1];
14413
14512
  var onSignatureCaptureFacesNotDetected = useCallback(function () {
14414
14513
  setShowLoadingOverlay(false);
14415
14514
  setCaptureState(skipLivenessValidation ? 'CAPTURING_SELFIE' : 'CHECKING_LIVENESS');
14416
14515
  useVideoSignatureStore.getState().clearRecordedData();
14417
14516
  }, [skipLivenessValidation]);
14418
- var _x = useState(0),
14419
- attempt = _x[0],
14420
- setAttempt = _x[1];
14517
+ var _y = useState(0),
14518
+ attempt = _y[0],
14519
+ setAttempt = _y[1];
14421
14520
  var onRetry = useCallback(function () {
14422
14521
  onRetryClicked === null || onRetryClicked === void 0 ? void 0 : onRetryClicked();
14423
14522
  setAttempt(function (n) {
@@ -14477,6 +14576,7 @@ var VideoSignatureWizard = function VideoSignatureWizard(_a) {
14477
14576
  onLoadingStarted: onLoadingStarted,
14478
14577
  onLoadingProgress: onLoadingProgress,
14479
14578
  onLoadingCompleted: onLoadingCompleted,
14579
+ onLoadingFailed: onLoadingFailed,
14480
14580
  onSuccess: onFaceCaptureSuccess,
14481
14581
  onExitCapture: onExitCapture,
14482
14582
  onUserCancel: onUserCancel,
@@ -14485,6 +14585,7 @@ var VideoSignatureWizard = function VideoSignatureWizard(_a) {
14485
14585
  showLoadingOverlay: showLoadingOverlay,
14486
14586
  customOverlayContent: customOverlayContent,
14487
14587
  loadingOverlayMode: loadingOverlayMode,
14588
+ allowManualSelfieCaptureOnLoadingError: allowManualSelfieCaptureOnLoadingError,
14488
14589
  guidesComponent: resolvedGuidesComponent,
14489
14590
  assets: assets.faceLiveness,
14490
14591
  classNames: classNames.faceLiveness,
@@ -14500,6 +14601,7 @@ var VideoSignatureWizard = function VideoSignatureWizard(_a) {
14500
14601
  onLoadingStarted: onLoadingStarted,
14501
14602
  onLoadingProgress: onLoadingProgress,
14502
14603
  onLoadingCompleted: onLoadingCompleted,
14604
+ onLoadingFailed: onLoadingFailed,
14503
14605
  onLoadingOverlayDismissed: onLoadingOverlayDismissedCallback,
14504
14606
  onCapture: onSelfieCapture,
14505
14607
  onUserCancel: onUserCancel,
@@ -14507,6 +14609,7 @@ var VideoSignatureWizard = function VideoSignatureWizard(_a) {
14507
14609
  showLoadingOverlay: showLoadingOverlay,
14508
14610
  customOverlayContent: customOverlayContent,
14509
14611
  loadingOverlayMode: loadingOverlayMode,
14612
+ allowManualSelfieCaptureOnLoadingError: allowManualSelfieCaptureOnLoadingError,
14510
14613
  guidesComponent: resolvedGuidesComponent,
14511
14614
  assets: assets.faceLiveness,
14512
14615
  classNames: classNames.faceLiveness,
@@ -15475,6 +15578,7 @@ var VideoIdWizard = function VideoIdWizard(_a) {
15475
15578
  onLoadingStarted = _a.onLoadingStarted,
15476
15579
  onLoadingProgress = _a.onLoadingProgress,
15477
15580
  onLoadingCompleted = _a.onLoadingCompleted,
15581
+ onLoadingFailed = _a.onLoadingFailed,
15478
15582
  onLoadingOverlayDismissed = _a.onLoadingOverlayDismissed,
15479
15583
  _t = _a.idDocumentType,
15480
15584
  idDocumentType = _t === void 0 ? 'idCardOrPassport' : _t,
@@ -15636,6 +15740,7 @@ var VideoIdWizard = function VideoIdWizard(_a) {
15636
15740
  onLoadingStarted: onLoadingStarted,
15637
15741
  onLoadingProgress: onLoadingProgress,
15638
15742
  onLoadingCompleted: onLoadingCompleted,
15743
+ onLoadingFailed: onLoadingFailed,
15639
15744
  onLoadingOverlayDismissed: onLoadingOverlayDismissed,
15640
15745
  silentFallback: silentFallback,
15641
15746
  guideImages: idCaptureGuideImages
@@ -15663,6 +15768,7 @@ var VideoIdWizard = function VideoIdWizard(_a) {
15663
15768
  onLoadingStarted: onLoadingStarted,
15664
15769
  onLoadingProgress: onLoadingProgress,
15665
15770
  onLoadingCompleted: onLoadingCompleted,
15771
+ onLoadingFailed: onLoadingFailed,
15666
15772
  onLoadingOverlayDismissed: onLoadingOverlayDismissed,
15667
15773
  silentFallback: silentFallback
15668
15774
  }, faceLivenessProps, {
@@ -16013,7 +16119,7 @@ var defaultTheme = {
16013
16119
  },
16014
16120
  guidanceMessages: {
16015
16121
  "default": {
16016
- backgroundColor: 'var(--idm-color-secondary-200)',
16122
+ backgroundColor: 'white',
16017
16123
  textColor: 'black'
16018
16124
  },
16019
16125
  positive: {
@@ -16247,6 +16353,7 @@ var IdValidation = function IdValidation(_a) {
16247
16353
  onLoadingStarted = _a.onLoadingStarted,
16248
16354
  onLoadingProgress = _a.onLoadingProgress,
16249
16355
  onLoadingCompleted = _a.onLoadingCompleted,
16356
+ onLoadingFailed = _a.onLoadingFailed,
16250
16357
  onAuthError = _a.onAuthError,
16251
16358
  onBeforeSubmit = _a.onBeforeSubmit,
16252
16359
  onBeforeDocumentUpload = _a.onBeforeDocumentUpload,
@@ -16293,6 +16400,7 @@ var IdValidation = function IdValidation(_a) {
16293
16400
  onLoadingStarted: onLoadingStarted,
16294
16401
  onLoadingProgress: onLoadingProgress,
16295
16402
  onLoadingCompleted: onLoadingCompleted,
16403
+ onLoadingFailed: onLoadingFailed,
16296
16404
  onExitCapture: onExitCapture,
16297
16405
  onUserCancel: onUserCancel,
16298
16406
  onModelError: onModelError,
@@ -16324,7 +16432,7 @@ var IdValidation = function IdValidation(_a) {
16324
16432
  verbiage: verbiage,
16325
16433
  debugMode: debugMode
16326
16434
  };
16327
- }, [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]);
16435
+ }, [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]);
16328
16436
  var additionalDocumentCaptureProps = useMemo(function () {
16329
16437
  return {
16330
16438
  documents: captureAdditionalDocuments,
@@ -16457,6 +16565,7 @@ var FaceValidation = function FaceValidation(_a) {
16457
16565
  onLoadingStarted = _a.onLoadingStarted,
16458
16566
  onLoadingProgress = _a.onLoadingProgress,
16459
16567
  onLoadingCompleted = _a.onLoadingCompleted,
16568
+ onLoadingFailed = _a.onLoadingFailed,
16460
16569
  onAuthError = _a.onAuthError,
16461
16570
  onBeforeDocumentUpload = _a.onBeforeDocumentUpload,
16462
16571
  onDocumentUploadProgress = _a.onDocumentUploadProgress,
@@ -16497,6 +16606,7 @@ var FaceValidation = function FaceValidation(_a) {
16497
16606
  onLoadingStarted: onLoadingStarted,
16498
16607
  onLoadingProgress: onLoadingProgress,
16499
16608
  onLoadingCompleted: onLoadingCompleted,
16609
+ onLoadingFailed: onLoadingFailed,
16500
16610
  onComplete: onComplete,
16501
16611
  onSuccess: onApproved,
16502
16612
  onDenied: onDenied,
@@ -16510,7 +16620,7 @@ var FaceValidation = function FaceValidation(_a) {
16510
16620
  verbiage: verbiage,
16511
16621
  debugMode: debugMode
16512
16622
  };
16513
- }, [assets, classNames, colors, debugMode, initialCaptureDelayMs, loadingOverlayMode, modelLoadTimeoutMs, onApproved, onComplete, onDenied, onExitAfterFailure, onExitCapture, onLoadingCompleted, onLoadingProgress, onLoadingStarted, onModelError, onUserCancel, skipSuccessScreen, timeoutDurationMs, verbiage]);
16623
+ }, [assets, classNames, colors, debugMode, initialCaptureDelayMs, loadingOverlayMode, modelLoadTimeoutMs, onApproved, onComplete, onDenied, onExitAfterFailure, onExitCapture, onLoadingCompleted, onLoadingFailed, onLoadingProgress, onLoadingStarted, onModelError, onUserCancel, skipSuccessScreen, timeoutDurationMs, verbiage]);
16514
16624
  return /*#__PURE__*/React__default.createElement(AuthProvider, {
16515
16625
  sessionId: sessionId,
16516
16626
  authUrl: authUrl,
@@ -16637,6 +16747,7 @@ var IdAndFaceValidation = function IdAndFaceValidation(_a) {
16637
16747
  onLoadingStarted = _a.onLoadingStarted,
16638
16748
  onLoadingProgress = _a.onLoadingProgress,
16639
16749
  onLoadingCompleted = _a.onLoadingCompleted,
16750
+ onLoadingFailed = _a.onLoadingFailed,
16640
16751
  onAuthError = _a.onAuthError,
16641
16752
  onBeforeDocumentUpload = _a.onBeforeDocumentUpload,
16642
16753
  onDocumentUploaded = _a.onDocumentUploaded,
@@ -16685,6 +16796,7 @@ var IdAndFaceValidation = function IdAndFaceValidation(_a) {
16685
16796
  onLoadingStarted: onLoadingStarted,
16686
16797
  onLoadingProgress: onLoadingProgress,
16687
16798
  onLoadingCompleted: onLoadingCompleted,
16799
+ onLoadingFailed: onLoadingFailed,
16688
16800
  onExitCapture: onExitCapture,
16689
16801
  onUserCancel: onUserCancel,
16690
16802
  onModelError: onIdCaptureModelError,
@@ -16712,12 +16824,13 @@ var IdAndFaceValidation = function IdAndFaceValidation(_a) {
16712
16824
  skipSuccessScreen: skipSuccessScreen,
16713
16825
  debugMode: debugMode
16714
16826
  };
16715
- }, [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]);
16827
+ }, [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]);
16716
16828
  var faceLivenessProps = useMemo(function () {
16717
16829
  return {
16718
16830
  onLoadingStarted: onLoadingStarted,
16719
16831
  onLoadingProgress: onLoadingProgress,
16720
16832
  onLoadingCompleted: onLoadingCompleted,
16833
+ onLoadingFailed: onLoadingFailed,
16721
16834
  loadingOverlayMode: faceLivenessLoadingOverlayMode,
16722
16835
  initialCaptureDelayMs: faceLivenessInitialCaptureDelayMs,
16723
16836
  timeoutDurationMs: faceLivenessTimeoutDurationMs,
@@ -16735,7 +16848,7 @@ var IdAndFaceValidation = function IdAndFaceValidation(_a) {
16735
16848
  verbiage: verbiage.faceLiveness,
16736
16849
  debugMode: debugMode
16737
16850
  };
16738
- }, [assets.faceLiveness, classNames.faceLiveness, colors.faceLiveness, debugMode, faceLivenessInitialCaptureDelayMs, faceLivenessLoadingOverlayMode, faceLivenessTimeoutDurationMs, onDenied, onExitAfterFailure, onExitCapture, onLoadingCompleted, onLoadingProgress, onLoadingStarted, onSelfieCaptureModelError, onUserCancel, precapturedDocuments, selfieCaptureModelLoadTimeoutMs, skipSuccessScreen, verbiage.faceLiveness]);
16851
+ }, [assets.faceLiveness, classNames.faceLiveness, colors.faceLiveness, debugMode, faceLivenessInitialCaptureDelayMs, faceLivenessLoadingOverlayMode, faceLivenessTimeoutDurationMs, onDenied, onExitAfterFailure, onExitCapture, onLoadingCompleted, onLoadingFailed, onLoadingProgress, onLoadingStarted, onSelfieCaptureModelError, onUserCancel, precapturedDocuments, selfieCaptureModelLoadTimeoutMs, skipSuccessScreen, verbiage.faceLiveness]);
16739
16852
  var additionalDocumentCaptureProps = useMemo(function () {
16740
16853
  return {
16741
16854
  documents: captureAdditionalDocuments,
@@ -16915,6 +17028,7 @@ var CustomerIdAndBiometricsEnrollment = function CustomerIdAndBiometricsEnrollme
16915
17028
  onLoadingStarted = _a.onLoadingStarted,
16916
17029
  onLoadingProgress = _a.onLoadingProgress,
16917
17030
  onLoadingCompleted = _a.onLoadingCompleted,
17031
+ onLoadingFailed = _a.onLoadingFailed,
16918
17032
  onAuthError = _a.onAuthError,
16919
17033
  onBeforeDocumentUpload = _a.onBeforeDocumentUpload,
16920
17034
  onDocumentUploadProgress = _a.onDocumentUploadProgress,
@@ -16965,6 +17079,7 @@ var CustomerIdAndBiometricsEnrollment = function CustomerIdAndBiometricsEnrollme
16965
17079
  onLoadingStarted: onLoadingStarted,
16966
17080
  onLoadingProgress: onLoadingProgress,
16967
17081
  onLoadingCompleted: onLoadingCompleted,
17082
+ onLoadingFailed: onLoadingFailed,
16968
17083
  assets: assets.idCapture,
16969
17084
  classNames: classNames.idCapture,
16970
17085
  colors: colors.idCapture,
@@ -16992,12 +17107,13 @@ var CustomerIdAndBiometricsEnrollment = function CustomerIdAndBiometricsEnrollme
16992
17107
  skipSuccessScreen: skipSuccessScreen,
16993
17108
  debugMode: debugMode
16994
17109
  };
16995
- }, [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]);
17110
+ }, [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]);
16996
17111
  var faceLivenessProps = useMemo(function () {
16997
17112
  return {
16998
17113
  onLoadingStarted: onLoadingStarted,
16999
17114
  onLoadingProgress: onLoadingProgress,
17000
17115
  onLoadingCompleted: onLoadingCompleted,
17116
+ onLoadingFailed: onLoadingFailed,
17001
17117
  onExitCapture: onExitCapture,
17002
17118
  onExitAfterFailure: onExitAfterFailure,
17003
17119
  onUserCancel: onUserCancel,
@@ -17014,7 +17130,7 @@ var CustomerIdAndBiometricsEnrollment = function CustomerIdAndBiometricsEnrollme
17014
17130
  verbiage: verbiage.faceLiveness,
17015
17131
  debugMode: debugMode
17016
17132
  };
17017
- }, [onLoadingCompleted, onLoadingProgress, onLoadingStarted, assets.faceLiveness, classNames.faceLiveness, colors.faceLiveness, debugMode, faceLivenessInitialCaptureDelayMs, faceLivenessLoadingOverlayMode, faceLivenessTimeoutDurationMs, onExitAfterFailure, onExitCapture, onSelfieCaptureModelError, onUserCancel, precapturedDocuments, selfieCaptureModelLoadTimeoutMs, skipSuccessScreen, verbiage.faceLiveness]);
17133
+ }, [onLoadingCompleted, onLoadingProgress, onLoadingStarted, onLoadingFailed, assets.faceLiveness, classNames.faceLiveness, colors.faceLiveness, debugMode, faceLivenessInitialCaptureDelayMs, faceLivenessLoadingOverlayMode, faceLivenessTimeoutDurationMs, onExitAfterFailure, onExitCapture, onSelfieCaptureModelError, onUserCancel, precapturedDocuments, selfieCaptureModelLoadTimeoutMs, skipSuccessScreen, verbiage.faceLiveness]);
17018
17134
  var videoIdCaptureProps = useMemo(function () {
17019
17135
  return _assign({
17020
17136
  onExitCapture: onExitCapture,
@@ -17134,11 +17250,7 @@ var CustomerIdAndBiometricsEnrollment = function CustomerIdAndBiometricsEnrollme
17134
17250
 
17135
17251
  var ALLOWED_RETRIES$3 = 0;
17136
17252
  var initialState$1 = {
17137
- frame: null,
17138
- face: null,
17139
- imageUrl: null,
17140
17253
  requestState: 'CAPTURING',
17141
- requestError: null,
17142
17254
  unverifiedTimes: 0
17143
17255
  };
17144
17256
  var reducer$1 = function reducer(state, action) {
@@ -17229,7 +17341,7 @@ var CustomerVerificationCapture = function CustomerVerificationCapture(_a) {
17229
17341
  submissionError = _j.submissionError,
17230
17342
  selfieImage = _j.selfieImage,
17231
17343
  setSelfieImage = _j.setSelfieImage;
17232
- var _k = useState(null),
17344
+ var _k = useState(),
17233
17345
  imageUrl = _k[0],
17234
17346
  setImageUrl = _k[1];
17235
17347
  var rawCanvas = useRef(null);
@@ -17249,9 +17361,7 @@ var CustomerVerificationCapture = function CustomerVerificationCapture(_a) {
17249
17361
  if (!frame || !face || submissionError) return;
17250
17362
  var imageUrl = cropToShoulders(rawCanvas.current, cropCanvas.current, resizeCanvas.current, frame, face);
17251
17363
  setImageUrl(imageUrl);
17252
- dataUrlToBase64(imageUrl).then(function (img) {
17253
- setSelfieImage(img);
17254
- });
17364
+ dataUrlToBase64(imageUrl).then(setSelfieImage);
17255
17365
  }, [face, frame, setSelfieImage, submissionError]);
17256
17366
  useEffect(function () {
17257
17367
  if (!isReady || !selfieImage || submissionError) return;
@@ -17433,6 +17543,7 @@ var CustomerVerificationWizard = function CustomerVerificationWizard(_a) {
17433
17543
  var onLoadingStarted = _a.onLoadingStarted,
17434
17544
  onLoadingProgress = _a.onLoadingProgress,
17435
17545
  onLoadingCompleted = _a.onLoadingCompleted,
17546
+ onLoadingFailed = _a.onLoadingFailed,
17436
17547
  onComplete = _a.onComplete,
17437
17548
  onCustomerMatched = _a.onCustomerMatched,
17438
17549
  onCustomerNotMatched = _a.onCustomerNotMatched,
@@ -17581,6 +17692,7 @@ var CustomerVerificationWizard = function CustomerVerificationWizard(_a) {
17581
17692
  onLoadingStarted: onLoadingStarted,
17582
17693
  onLoadingProgress: onLoadingProgress,
17583
17694
  onLoadingCompleted: onLoadingCompleted,
17695
+ onLoadingFailed: onLoadingFailed,
17584
17696
  onUserCancel: onUserCancel,
17585
17697
  onDismissed: function onDismissed() {
17586
17698
  return setCaptureState('CAPTURING');
@@ -17628,6 +17740,7 @@ var CustomerVerification = function CustomerVerification(_a) {
17628
17740
  onLoadingStarted = _a.onLoadingStarted,
17629
17741
  onLoadingProgress = _a.onLoadingProgress,
17630
17742
  onLoadingCompleted = _a.onLoadingCompleted,
17743
+ onLoadingFailed = _a.onLoadingFailed,
17631
17744
  onAuthError = _a.onAuthError,
17632
17745
  onBeforeDocumentUpload = _a.onBeforeDocumentUpload,
17633
17746
  onDocumentUploadProgress = _a.onDocumentUploadProgress,
@@ -17701,6 +17814,7 @@ var CustomerVerification = function CustomerVerification(_a) {
17701
17814
  onLoadingStarted: onLoadingStarted,
17702
17815
  onLoadingProgress: onLoadingProgress,
17703
17816
  onLoadingCompleted: onLoadingCompleted,
17817
+ onLoadingFailed: onLoadingFailed,
17704
17818
  onComplete: onComplete,
17705
17819
  onCustomerMatched: onCustomerMatched,
17706
17820
  onCustomerNotMatched: onCustomerNotMatched,
@@ -17720,11 +17834,7 @@ var CustomerVerification = function CustomerVerification(_a) {
17720
17834
 
17721
17835
  var ALLOWED_RETRIES$1 = 0;
17722
17836
  var initialState = {
17723
- frame: null,
17724
- face: null,
17725
- imageUrl: null,
17726
17837
  requestState: 'CAPTURING',
17727
- requestError: null,
17728
17838
  notFoundTimes: 0
17729
17839
  };
17730
17840
  var reducer = function reducer(state, action) {
@@ -17811,7 +17921,7 @@ var CustomerIdentificationCapture = function CustomerIdentificationCapture(_a) {
17811
17921
  submissionError = _j.submissionError,
17812
17922
  selfieImage = _j.selfieImage,
17813
17923
  setSelfieImage = _j.setSelfieImage;
17814
- var _k = useState(null),
17924
+ var _k = useState(),
17815
17925
  imageUrl = _k[0],
17816
17926
  setImageUrl = _k[1];
17817
17927
  var rawCanvas = useRef(null);
@@ -17833,9 +17943,7 @@ var CustomerIdentificationCapture = function CustomerIdentificationCapture(_a) {
17833
17943
  if (!frame || !face || submissionError) return;
17834
17944
  var imageUrl = cropToShoulders(rawCanvas.current, cropCanvas.current, resizeCanvas.current, frame, face);
17835
17945
  setImageUrl(imageUrl);
17836
- dataUrlToBase64(imageUrl).then(function (img) {
17837
- setSelfieImage(img);
17838
- });
17946
+ dataUrlToBase64(imageUrl).then(setSelfieImage);
17839
17947
  }, [face, frame, setSelfieImage, submissionError]);
17840
17948
  useEffect(function () {
17841
17949
  if (!isReady || !selfieImage || submissionError) return;
@@ -18017,6 +18125,7 @@ var CustomerIdentificationWizard = function CustomerIdentificationWizard(_a) {
18017
18125
  var onLoadingStarted = _a.onLoadingStarted,
18018
18126
  onLoadingProgress = _a.onLoadingProgress,
18019
18127
  onLoadingCompleted = _a.onLoadingCompleted,
18128
+ onLoadingFailed = _a.onLoadingFailed,
18020
18129
  onComplete = _a.onComplete,
18021
18130
  onCustomerMatched = _a.onCustomerMatched,
18022
18131
  onCustomerNotMatched = _a.onCustomerNotMatched,
@@ -18165,6 +18274,7 @@ var CustomerIdentificationWizard = function CustomerIdentificationWizard(_a) {
18165
18274
  onLoadingStarted: onLoadingStarted,
18166
18275
  onLoadingProgress: onLoadingProgress,
18167
18276
  onLoadingCompleted: onLoadingCompleted,
18277
+ onLoadingFailed: onLoadingFailed,
18168
18278
  onUserCancel: onUserCancel,
18169
18279
  onDismissed: function onDismissed() {
18170
18280
  setCaptureState('CAPTURING');
@@ -18205,6 +18315,7 @@ var CustomerIdentification = function CustomerIdentification(_a) {
18205
18315
  onLoadingStarted = _a.onLoadingStarted,
18206
18316
  onLoadingProgress = _a.onLoadingProgress,
18207
18317
  onLoadingCompleted = _a.onLoadingCompleted,
18318
+ onLoadingFailed = _a.onLoadingFailed,
18208
18319
  onAuthError = _a.onAuthError,
18209
18320
  onBeforeDocumentUpload = _a.onBeforeDocumentUpload,
18210
18321
  onDocumentUploadProgress = _a.onDocumentUploadProgress,
@@ -18283,6 +18394,7 @@ var CustomerIdentification = function CustomerIdentification(_a) {
18283
18394
  onLoadingStarted: onLoadingStarted,
18284
18395
  onLoadingProgress: onLoadingProgress,
18285
18396
  onLoadingCompleted: onLoadingCompleted,
18397
+ onLoadingFailed: onLoadingFailed,
18286
18398
  onComplete: onComplete,
18287
18399
  onCustomerMatched: onCustomerMatched,
18288
18400
  onCustomerNotMatched: onCustomerNotMatched,
@@ -18317,6 +18429,7 @@ var SignatureKYC = function SignatureKYC(_a) {
18317
18429
  onLoadingStarted = _a.onLoadingStarted,
18318
18430
  onLoadingProgress = _a.onLoadingProgress,
18319
18431
  onLoadingCompleted = _a.onLoadingCompleted,
18432
+ onLoadingFailed = _a.onLoadingFailed,
18320
18433
  onAuthError = _a.onAuthError,
18321
18434
  onBeforeDocumentUpload = _a.onBeforeDocumentUpload,
18322
18435
  onDocumentUploadProgress = _a.onDocumentUploadProgress,
@@ -18357,16 +18470,18 @@ var SignatureKYC = function SignatureKYC(_a) {
18357
18470
  faceLivenessProps = _a.faceLivenessProps,
18358
18471
  _o = _a.skipLivenessValidation,
18359
18472
  skipLivenessValidation = _o === void 0 ? false : _o,
18473
+ _p = _a.allowManualSelfieCaptureOnLoadingError,
18474
+ allowManualSelfieCaptureOnLoadingError = _p === void 0 ? false : _p,
18360
18475
  guidesComponent = _a.guidesComponent,
18361
- _p = _a.theme,
18362
- theme = _p === void 0 ? 'default' : _p,
18476
+ _q = _a.theme,
18477
+ theme = _q === void 0 ? 'default' : _q,
18363
18478
  classNames = _a.classNames,
18364
18479
  colors = _a.colors,
18365
18480
  verbiage = _a.verbiage,
18366
18481
  geolocationEnabled = _a.geolocationEnabled,
18367
18482
  geolocationRequired = _a.geolocationRequired,
18368
- _q = _a.debugMode,
18369
- debugMode = _q === void 0 ? false : _q;
18483
+ _r = _a.debugMode,
18484
+ debugMode = _r === void 0 ? false : _r;
18370
18485
  useLanguage(lang);
18371
18486
  useDebugLogging(debugMode);
18372
18487
  return /*#__PURE__*/React__default.createElement(AuthProvider, {
@@ -18409,6 +18524,7 @@ var SignatureKYC = function SignatureKYC(_a) {
18409
18524
  onLoadingStarted: onLoadingStarted,
18410
18525
  onLoadingProgress: onLoadingProgress,
18411
18526
  onLoadingCompleted: onLoadingCompleted,
18527
+ onLoadingFailed: onLoadingFailed,
18412
18528
  onSelfieCaptured: onSelfieCaptured,
18413
18529
  customOverlayContent: customOverlayContent,
18414
18530
  onLoadingOverlayDismissed: onLoadingOverlayDismissed,
@@ -18424,6 +18540,7 @@ var SignatureKYC = function SignatureKYC(_a) {
18424
18540
  allowSignatureAfterLivenessCheckFailure: allowSignatureAfterLivenessCheckFailure,
18425
18541
  restartVideoOnSignaturePadCleared: restartVideoOnSignaturePadCleared,
18426
18542
  skipLivenessValidation: skipLivenessValidation,
18543
+ allowManualSelfieCaptureOnLoadingError: allowManualSelfieCaptureOnLoadingError,
18427
18544
  guidesComponent: guidesComponent,
18428
18545
  classNames: classNames,
18429
18546
  colors: colors,
@@ -18432,7 +18549,7 @@ var SignatureKYC = function SignatureKYC(_a) {
18432
18549
  onModelError: onModelError,
18433
18550
  onUserCancel: onUserCancel
18434
18551
  };
18435
- }, [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])
18552
+ }, [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])
18436
18553
  })))));
18437
18554
  };
18438
18555
 
@@ -18473,6 +18590,7 @@ var VideoIdValidation = function VideoIdValidation(_a) {
18473
18590
  onLoadingStarted = _a.onLoadingStarted,
18474
18591
  onLoadingProgress = _a.onLoadingProgress,
18475
18592
  onLoadingCompleted = _a.onLoadingCompleted,
18593
+ onLoadingFailed = _a.onLoadingFailed,
18476
18594
  onAuthError = _a.onAuthError,
18477
18595
  onBeforeDocumentUpload = _a.onBeforeDocumentUpload,
18478
18596
  onDocumentUploadProgress = _a.onDocumentUploadProgress,
@@ -18561,6 +18679,7 @@ var VideoIdValidation = function VideoIdValidation(_a) {
18561
18679
  onLoadingStarted: onLoadingStarted,
18562
18680
  onLoadingProgress: onLoadingProgress,
18563
18681
  onLoadingCompleted: onLoadingCompleted,
18682
+ onLoadingFailed: onLoadingFailed,
18564
18683
  idCaptureProps: idCaptureProps,
18565
18684
  faceLivenessProps: faceLivenessProps,
18566
18685
  idCaptureModelsEnabled: idCaptureModelsEnabled,
@@ -18593,7 +18712,7 @@ var VideoIdValidation = function VideoIdValidation(_a) {
18593
18712
  verbiage: verbiage,
18594
18713
  debugMode: debugMode
18595
18714
  };
18596
- }, [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]);
18715
+ }, [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]);
18597
18716
  var additionalDocumentCaptureProps = useMemo(function () {
18598
18717
  return {
18599
18718
  documents: captureAdditionalDocuments,
@@ -18720,6 +18839,7 @@ var CustomerBiometricsEnrollment = function CustomerBiometricsEnrollment(_a) {
18720
18839
  onLoadingStarted = _a.onLoadingStarted,
18721
18840
  onLoadingProgress = _a.onLoadingProgress,
18722
18841
  onLoadingCompleted = _a.onLoadingCompleted,
18842
+ onLoadingFailed = _a.onLoadingFailed,
18723
18843
  onAuthError = _a.onAuthError,
18724
18844
  onBeforeDocumentUpload = _a.onBeforeDocumentUpload,
18725
18845
  onDocumentUploadProgress = _a.onDocumentUploadProgress,
@@ -18766,6 +18886,7 @@ var CustomerBiometricsEnrollment = function CustomerBiometricsEnrollment(_a) {
18766
18886
  onLoadingStarted: onLoadingStarted,
18767
18887
  onLoadingProgress: onLoadingProgress,
18768
18888
  onLoadingCompleted: onLoadingCompleted,
18889
+ onLoadingFailed: onLoadingFailed,
18769
18890
  onExitCapture: onExitCapture,
18770
18891
  onUserCancel: onUserCancel,
18771
18892
  onExitAfterFailure: onExitAfterFailure,
@@ -18781,7 +18902,7 @@ var CustomerBiometricsEnrollment = function CustomerBiometricsEnrollment(_a) {
18781
18902
  verbiage: verbiage.faceLiveness,
18782
18903
  debugMode: debugMode
18783
18904
  };
18784
- }, [assets.faceLiveness, classNames.faceLiveness, colors.faceLiveness, debugMode, initialCaptureDelayMs, loadingOverlayMode, modelLoadTimeoutMs, onExitAfterFailure, onExitCapture, onLoadingCompleted, onLoadingProgress, onLoadingStarted, onModelError, onUserCancel, skipSuccessScreen, timeoutDurationMs, verbiage.faceLiveness]);
18905
+ }, [assets.faceLiveness, classNames.faceLiveness, colors.faceLiveness, debugMode, initialCaptureDelayMs, loadingOverlayMode, modelLoadTimeoutMs, onExitAfterFailure, onExitCapture, onLoadingCompleted, onLoadingFailed, onLoadingProgress, onLoadingStarted, onModelError, onUserCancel, skipSuccessScreen, timeoutDurationMs, verbiage.faceLiveness]);
18785
18906
  var additionalDocumentCaptureProps = useMemo(function () {
18786
18907
  return {
18787
18908
  documents: captureAdditionalDocuments,