idmission-web-sdk 2.3.60 → 2.3.61

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 +440 -316
  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 +440 -316
  60. package/dist/sdk2.esm.js.map +1 -1
  61. package/dist/sdk2.umd.development.js +440 -316
  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.61';
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,6 +14335,9 @@ function SelfieCaptureWizard(_a) {
14242
14335
  }
14243
14336
  }, [cameraAccessDenied]);
14244
14337
  var initialDelayOver = useTimeout(initialCaptureDelayMs, undefined, undefined, undefined, captureState === 'CAPTURING').timedOut;
14338
+ var onLoadingFailedCallback = useCallback(function (error) {
14339
+ return onLoadingFailed === null || onLoadingFailed === void 0 ? void 0 : onLoadingFailed(error);
14340
+ }, [onLoadingFailed]);
14245
14341
  if (modelError) {
14246
14342
  return /*#__PURE__*/React__default.createElement(SelfieCaptureFallback, {
14247
14343
  onFinished: onFallbackImageCaptured,
@@ -14266,6 +14362,7 @@ function SelfieCaptureWizard(_a) {
14266
14362
  guidanceMessage: guidanceMessage,
14267
14363
  guidanceSatisfied: guidanceMessage ? false : undefined,
14268
14364
  guidesComponent: guidesByRequestState,
14365
+ allowManualSelfieCaptureOnLoadingError: allowManualSelfieCaptureOnLoadingError,
14269
14366
  classNames: classNames.capture,
14270
14367
  colors: colors.capture,
14271
14368
  verbiage: verbiage.capture,
@@ -14281,9 +14378,11 @@ function SelfieCaptureWizard(_a) {
14281
14378
  onLoadingStarted: onLoadingStarted,
14282
14379
  onLoadingProgress: onLoadingProgress,
14283
14380
  onLoadingCompleted: onLoadingCompleted,
14381
+ onLoadingFailed: onLoadingFailedCallback,
14284
14382
  onUserCancel: onUserCancel,
14285
14383
  onDismissed: onLoadingOverlayDismissedCallback,
14286
- waitForIdCaptureModels: waitForIdCaptureModels
14384
+ waitForIdCaptureModels: waitForIdCaptureModels,
14385
+ allowManualSelfieCaptureOnLoadingError: allowManualSelfieCaptureOnLoadingError
14287
14386
  })));
14288
14387
  }
14289
14388
 
@@ -14293,6 +14392,7 @@ var VideoSignatureWizard = function VideoSignatureWizard(_a) {
14293
14392
  var onLoadingStarted = _a.onLoadingStarted,
14294
14393
  onLoadingProgress = _a.onLoadingProgress,
14295
14394
  onLoadingCompleted = _a.onLoadingCompleted,
14395
+ onLoadingFailed = _a.onLoadingFailed,
14296
14396
  onSelfieCaptured = _a.onSelfieCaptured,
14297
14397
  onComplete = _a.onComplete,
14298
14398
  onVideoCaptured = _a.onVideoCaptured,
@@ -14321,39 +14421,41 @@ var VideoSignatureWizard = function VideoSignatureWizard(_a) {
14321
14421
  restartVideoOnSignaturePadCleared = _k === void 0 ? true : _k,
14322
14422
  _l = _a.skipLivenessValidation,
14323
14423
  skipLivenessValidation = _l === void 0 ? false : _l,
14424
+ _m = _a.allowManualSelfieCaptureOnLoadingError,
14425
+ allowManualSelfieCaptureOnLoadingError = _m === void 0 ? false : _m,
14324
14426
  faceLivenessProps = _a.faceLivenessProps,
14325
14427
  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;
14428
+ _o = _a.assets,
14429
+ assets = _o === void 0 ? {} : _o,
14430
+ _p = _a.classNames,
14431
+ classNames = _p === void 0 ? {} : _p,
14432
+ _q = _a.colors,
14433
+ colors = _q === void 0 ? {} : _q,
14434
+ _r = _a.verbiage,
14435
+ verbiage = _r === void 0 ? {} : _r,
14436
+ _s = _a.debugMode,
14437
+ debugMode = _s === void 0 ? false : _s;
14438
+ var _t = useSubmissionContext(),
14439
+ selfieImage = _t.selfieImage,
14440
+ setSelfieImage = _t.setSelfieImage,
14441
+ setSignatureData = _t.setSignatureData,
14442
+ setSignatureVideoUrl = _t.setSignatureVideoUrl,
14443
+ logSelfieCaptureAttempt = _t.logSelfieCaptureAttempt,
14444
+ uploadDocument = _t.uploadDocument;
14343
14445
  var cameraAccessDenied = useCameraStore(useShallow(function (state) {
14344
14446
  return {
14345
14447
  cameraAccessDenied: state.cameraAccessDenied
14346
14448
  };
14347
14449
  })).cameraAccessDenied;
14348
- var _t = useState(skipLivenessValidation ? 'CAPTURING_SELFIE' : 'CHECKING_LIVENESS'),
14349
- captureState = _t[0],
14350
- setCaptureState = _t[1];
14450
+ var _u = useState(skipLivenessValidation ? 'CAPTURING_SELFIE' : 'CHECKING_LIVENESS'),
14451
+ captureState = _u[0],
14452
+ setCaptureState = _u[1];
14351
14453
  var operationStartedAt = useRef();
14352
14454
  var captureStartedAt = useRef();
14353
14455
  var captureEndedAt = useRef();
14354
- var _u = useSelfieGuidanceModelsContext(),
14355
- start = _u.start,
14356
- stop = _u.stop;
14456
+ var _v = useSelfieGuidanceModelsContext(),
14457
+ start = _v.start,
14458
+ stop = _v.stop;
14357
14459
  useEffect(function () {
14358
14460
  operationStartedAt.current = new Date();
14359
14461
  }, []);
@@ -14397,9 +14499,9 @@ var VideoSignatureWizard = function VideoSignatureWizard(_a) {
14397
14499
  filetype: 'image/jpeg'
14398
14500
  }).then(onSelfieCaptured);
14399
14501
  }, [logCaptureMetadata, onSelfieCaptured, setSelfieImage, uploadDocument]);
14400
- var _v = useState(null),
14401
- signatureImageUrl = _v[0],
14402
- setSignatureImageUrl = _v[1];
14502
+ var _w = useState(null),
14503
+ signatureImageUrl = _w[0],
14504
+ setSignatureImageUrl = _w[1];
14403
14505
  var onSignatureCaptureCompleted = useCallback(function (videoData, signatureData, signatureImageData) {
14404
14506
  setSignatureData(signatureData);
14405
14507
  setSignatureVideoUrl(URL.createObjectURL(videoData));
@@ -14407,17 +14509,17 @@ var VideoSignatureWizard = function VideoSignatureWizard(_a) {
14407
14509
  setCaptureState('SUCCESS');
14408
14510
  onVideoCaptured === null || onVideoCaptured === void 0 ? void 0 : onVideoCaptured(videoData, signatureData, signatureImageData);
14409
14511
  }, [onVideoCaptured, setSignatureData, setSignatureVideoUrl]);
14410
- var _w = useState(true),
14411
- showLoadingOverlay = _w[0],
14412
- setShowLoadingOverlay = _w[1];
14512
+ var _x = useState(true),
14513
+ showLoadingOverlay = _x[0],
14514
+ setShowLoadingOverlay = _x[1];
14413
14515
  var onSignatureCaptureFacesNotDetected = useCallback(function () {
14414
14516
  setShowLoadingOverlay(false);
14415
14517
  setCaptureState(skipLivenessValidation ? 'CAPTURING_SELFIE' : 'CHECKING_LIVENESS');
14416
14518
  useVideoSignatureStore.getState().clearRecordedData();
14417
14519
  }, [skipLivenessValidation]);
14418
- var _x = useState(0),
14419
- attempt = _x[0],
14420
- setAttempt = _x[1];
14520
+ var _y = useState(0),
14521
+ attempt = _y[0],
14522
+ setAttempt = _y[1];
14421
14523
  var onRetry = useCallback(function () {
14422
14524
  onRetryClicked === null || onRetryClicked === void 0 ? void 0 : onRetryClicked();
14423
14525
  setAttempt(function (n) {
@@ -14477,6 +14579,7 @@ var VideoSignatureWizard = function VideoSignatureWizard(_a) {
14477
14579
  onLoadingStarted: onLoadingStarted,
14478
14580
  onLoadingProgress: onLoadingProgress,
14479
14581
  onLoadingCompleted: onLoadingCompleted,
14582
+ onLoadingFailed: onLoadingFailed,
14480
14583
  onSuccess: onFaceCaptureSuccess,
14481
14584
  onExitCapture: onExitCapture,
14482
14585
  onUserCancel: onUserCancel,
@@ -14485,6 +14588,7 @@ var VideoSignatureWizard = function VideoSignatureWizard(_a) {
14485
14588
  showLoadingOverlay: showLoadingOverlay,
14486
14589
  customOverlayContent: customOverlayContent,
14487
14590
  loadingOverlayMode: loadingOverlayMode,
14591
+ allowManualSelfieCaptureOnLoadingError: allowManualSelfieCaptureOnLoadingError,
14488
14592
  guidesComponent: resolvedGuidesComponent,
14489
14593
  assets: assets.faceLiveness,
14490
14594
  classNames: classNames.faceLiveness,
@@ -14500,6 +14604,7 @@ var VideoSignatureWizard = function VideoSignatureWizard(_a) {
14500
14604
  onLoadingStarted: onLoadingStarted,
14501
14605
  onLoadingProgress: onLoadingProgress,
14502
14606
  onLoadingCompleted: onLoadingCompleted,
14607
+ onLoadingFailed: onLoadingFailed,
14503
14608
  onLoadingOverlayDismissed: onLoadingOverlayDismissedCallback,
14504
14609
  onCapture: onSelfieCapture,
14505
14610
  onUserCancel: onUserCancel,
@@ -14507,6 +14612,7 @@ var VideoSignatureWizard = function VideoSignatureWizard(_a) {
14507
14612
  showLoadingOverlay: showLoadingOverlay,
14508
14613
  customOverlayContent: customOverlayContent,
14509
14614
  loadingOverlayMode: loadingOverlayMode,
14615
+ allowManualSelfieCaptureOnLoadingError: allowManualSelfieCaptureOnLoadingError,
14510
14616
  guidesComponent: resolvedGuidesComponent,
14511
14617
  assets: assets.faceLiveness,
14512
14618
  classNames: classNames.faceLiveness,
@@ -15475,6 +15581,7 @@ var VideoIdWizard = function VideoIdWizard(_a) {
15475
15581
  onLoadingStarted = _a.onLoadingStarted,
15476
15582
  onLoadingProgress = _a.onLoadingProgress,
15477
15583
  onLoadingCompleted = _a.onLoadingCompleted,
15584
+ onLoadingFailed = _a.onLoadingFailed,
15478
15585
  onLoadingOverlayDismissed = _a.onLoadingOverlayDismissed,
15479
15586
  _t = _a.idDocumentType,
15480
15587
  idDocumentType = _t === void 0 ? 'idCardOrPassport' : _t,
@@ -15636,6 +15743,7 @@ var VideoIdWizard = function VideoIdWizard(_a) {
15636
15743
  onLoadingStarted: onLoadingStarted,
15637
15744
  onLoadingProgress: onLoadingProgress,
15638
15745
  onLoadingCompleted: onLoadingCompleted,
15746
+ onLoadingFailed: onLoadingFailed,
15639
15747
  onLoadingOverlayDismissed: onLoadingOverlayDismissed,
15640
15748
  silentFallback: silentFallback,
15641
15749
  guideImages: idCaptureGuideImages
@@ -15663,6 +15771,7 @@ var VideoIdWizard = function VideoIdWizard(_a) {
15663
15771
  onLoadingStarted: onLoadingStarted,
15664
15772
  onLoadingProgress: onLoadingProgress,
15665
15773
  onLoadingCompleted: onLoadingCompleted,
15774
+ onLoadingFailed: onLoadingFailed,
15666
15775
  onLoadingOverlayDismissed: onLoadingOverlayDismissed,
15667
15776
  silentFallback: silentFallback
15668
15777
  }, faceLivenessProps, {
@@ -16013,7 +16122,7 @@ var defaultTheme = {
16013
16122
  },
16014
16123
  guidanceMessages: {
16015
16124
  "default": {
16016
- backgroundColor: 'var(--idm-color-secondary-200)',
16125
+ backgroundColor: 'white',
16017
16126
  textColor: 'black'
16018
16127
  },
16019
16128
  positive: {
@@ -16247,6 +16356,7 @@ var IdValidation = function IdValidation(_a) {
16247
16356
  onLoadingStarted = _a.onLoadingStarted,
16248
16357
  onLoadingProgress = _a.onLoadingProgress,
16249
16358
  onLoadingCompleted = _a.onLoadingCompleted,
16359
+ onLoadingFailed = _a.onLoadingFailed,
16250
16360
  onAuthError = _a.onAuthError,
16251
16361
  onBeforeSubmit = _a.onBeforeSubmit,
16252
16362
  onBeforeDocumentUpload = _a.onBeforeDocumentUpload,
@@ -16293,6 +16403,7 @@ var IdValidation = function IdValidation(_a) {
16293
16403
  onLoadingStarted: onLoadingStarted,
16294
16404
  onLoadingProgress: onLoadingProgress,
16295
16405
  onLoadingCompleted: onLoadingCompleted,
16406
+ onLoadingFailed: onLoadingFailed,
16296
16407
  onExitCapture: onExitCapture,
16297
16408
  onUserCancel: onUserCancel,
16298
16409
  onModelError: onModelError,
@@ -16324,7 +16435,7 @@ var IdValidation = function IdValidation(_a) {
16324
16435
  verbiage: verbiage,
16325
16436
  debugMode: debugMode
16326
16437
  };
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]);
16438
+ }, [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
16439
  var additionalDocumentCaptureProps = useMemo(function () {
16329
16440
  return {
16330
16441
  documents: captureAdditionalDocuments,
@@ -16457,6 +16568,7 @@ var FaceValidation = function FaceValidation(_a) {
16457
16568
  onLoadingStarted = _a.onLoadingStarted,
16458
16569
  onLoadingProgress = _a.onLoadingProgress,
16459
16570
  onLoadingCompleted = _a.onLoadingCompleted,
16571
+ onLoadingFailed = _a.onLoadingFailed,
16460
16572
  onAuthError = _a.onAuthError,
16461
16573
  onBeforeDocumentUpload = _a.onBeforeDocumentUpload,
16462
16574
  onDocumentUploadProgress = _a.onDocumentUploadProgress,
@@ -16497,6 +16609,7 @@ var FaceValidation = function FaceValidation(_a) {
16497
16609
  onLoadingStarted: onLoadingStarted,
16498
16610
  onLoadingProgress: onLoadingProgress,
16499
16611
  onLoadingCompleted: onLoadingCompleted,
16612
+ onLoadingFailed: onLoadingFailed,
16500
16613
  onComplete: onComplete,
16501
16614
  onSuccess: onApproved,
16502
16615
  onDenied: onDenied,
@@ -16510,7 +16623,7 @@ var FaceValidation = function FaceValidation(_a) {
16510
16623
  verbiage: verbiage,
16511
16624
  debugMode: debugMode
16512
16625
  };
16513
- }, [assets, classNames, colors, debugMode, initialCaptureDelayMs, loadingOverlayMode, modelLoadTimeoutMs, onApproved, onComplete, onDenied, onExitAfterFailure, onExitCapture, onLoadingCompleted, onLoadingProgress, onLoadingStarted, onModelError, onUserCancel, skipSuccessScreen, timeoutDurationMs, verbiage]);
16626
+ }, [assets, classNames, colors, debugMode, initialCaptureDelayMs, loadingOverlayMode, modelLoadTimeoutMs, onApproved, onComplete, onDenied, onExitAfterFailure, onExitCapture, onLoadingCompleted, onLoadingFailed, onLoadingProgress, onLoadingStarted, onModelError, onUserCancel, skipSuccessScreen, timeoutDurationMs, verbiage]);
16514
16627
  return /*#__PURE__*/React__default.createElement(AuthProvider, {
16515
16628
  sessionId: sessionId,
16516
16629
  authUrl: authUrl,
@@ -16637,6 +16750,7 @@ var IdAndFaceValidation = function IdAndFaceValidation(_a) {
16637
16750
  onLoadingStarted = _a.onLoadingStarted,
16638
16751
  onLoadingProgress = _a.onLoadingProgress,
16639
16752
  onLoadingCompleted = _a.onLoadingCompleted,
16753
+ onLoadingFailed = _a.onLoadingFailed,
16640
16754
  onAuthError = _a.onAuthError,
16641
16755
  onBeforeDocumentUpload = _a.onBeforeDocumentUpload,
16642
16756
  onDocumentUploaded = _a.onDocumentUploaded,
@@ -16685,6 +16799,7 @@ var IdAndFaceValidation = function IdAndFaceValidation(_a) {
16685
16799
  onLoadingStarted: onLoadingStarted,
16686
16800
  onLoadingProgress: onLoadingProgress,
16687
16801
  onLoadingCompleted: onLoadingCompleted,
16802
+ onLoadingFailed: onLoadingFailed,
16688
16803
  onExitCapture: onExitCapture,
16689
16804
  onUserCancel: onUserCancel,
16690
16805
  onModelError: onIdCaptureModelError,
@@ -16712,12 +16827,13 @@ var IdAndFaceValidation = function IdAndFaceValidation(_a) {
16712
16827
  skipSuccessScreen: skipSuccessScreen,
16713
16828
  debugMode: debugMode
16714
16829
  };
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]);
16830
+ }, [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
16831
  var faceLivenessProps = useMemo(function () {
16717
16832
  return {
16718
16833
  onLoadingStarted: onLoadingStarted,
16719
16834
  onLoadingProgress: onLoadingProgress,
16720
16835
  onLoadingCompleted: onLoadingCompleted,
16836
+ onLoadingFailed: onLoadingFailed,
16721
16837
  loadingOverlayMode: faceLivenessLoadingOverlayMode,
16722
16838
  initialCaptureDelayMs: faceLivenessInitialCaptureDelayMs,
16723
16839
  timeoutDurationMs: faceLivenessTimeoutDurationMs,
@@ -16735,7 +16851,7 @@ var IdAndFaceValidation = function IdAndFaceValidation(_a) {
16735
16851
  verbiage: verbiage.faceLiveness,
16736
16852
  debugMode: debugMode
16737
16853
  };
16738
- }, [assets.faceLiveness, classNames.faceLiveness, colors.faceLiveness, debugMode, faceLivenessInitialCaptureDelayMs, faceLivenessLoadingOverlayMode, faceLivenessTimeoutDurationMs, onDenied, onExitAfterFailure, onExitCapture, onLoadingCompleted, onLoadingProgress, onLoadingStarted, onSelfieCaptureModelError, onUserCancel, precapturedDocuments, selfieCaptureModelLoadTimeoutMs, skipSuccessScreen, verbiage.faceLiveness]);
16854
+ }, [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
16855
  var additionalDocumentCaptureProps = useMemo(function () {
16740
16856
  return {
16741
16857
  documents: captureAdditionalDocuments,
@@ -16915,6 +17031,7 @@ var CustomerIdAndBiometricsEnrollment = function CustomerIdAndBiometricsEnrollme
16915
17031
  onLoadingStarted = _a.onLoadingStarted,
16916
17032
  onLoadingProgress = _a.onLoadingProgress,
16917
17033
  onLoadingCompleted = _a.onLoadingCompleted,
17034
+ onLoadingFailed = _a.onLoadingFailed,
16918
17035
  onAuthError = _a.onAuthError,
16919
17036
  onBeforeDocumentUpload = _a.onBeforeDocumentUpload,
16920
17037
  onDocumentUploadProgress = _a.onDocumentUploadProgress,
@@ -16965,6 +17082,7 @@ var CustomerIdAndBiometricsEnrollment = function CustomerIdAndBiometricsEnrollme
16965
17082
  onLoadingStarted: onLoadingStarted,
16966
17083
  onLoadingProgress: onLoadingProgress,
16967
17084
  onLoadingCompleted: onLoadingCompleted,
17085
+ onLoadingFailed: onLoadingFailed,
16968
17086
  assets: assets.idCapture,
16969
17087
  classNames: classNames.idCapture,
16970
17088
  colors: colors.idCapture,
@@ -16992,12 +17110,13 @@ var CustomerIdAndBiometricsEnrollment = function CustomerIdAndBiometricsEnrollme
16992
17110
  skipSuccessScreen: skipSuccessScreen,
16993
17111
  debugMode: debugMode
16994
17112
  };
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]);
17113
+ }, [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
17114
  var faceLivenessProps = useMemo(function () {
16997
17115
  return {
16998
17116
  onLoadingStarted: onLoadingStarted,
16999
17117
  onLoadingProgress: onLoadingProgress,
17000
17118
  onLoadingCompleted: onLoadingCompleted,
17119
+ onLoadingFailed: onLoadingFailed,
17001
17120
  onExitCapture: onExitCapture,
17002
17121
  onExitAfterFailure: onExitAfterFailure,
17003
17122
  onUserCancel: onUserCancel,
@@ -17014,7 +17133,7 @@ var CustomerIdAndBiometricsEnrollment = function CustomerIdAndBiometricsEnrollme
17014
17133
  verbiage: verbiage.faceLiveness,
17015
17134
  debugMode: debugMode
17016
17135
  };
17017
- }, [onLoadingCompleted, onLoadingProgress, onLoadingStarted, assets.faceLiveness, classNames.faceLiveness, colors.faceLiveness, debugMode, faceLivenessInitialCaptureDelayMs, faceLivenessLoadingOverlayMode, faceLivenessTimeoutDurationMs, onExitAfterFailure, onExitCapture, onSelfieCaptureModelError, onUserCancel, precapturedDocuments, selfieCaptureModelLoadTimeoutMs, skipSuccessScreen, verbiage.faceLiveness]);
17136
+ }, [onLoadingCompleted, onLoadingProgress, onLoadingStarted, onLoadingFailed, assets.faceLiveness, classNames.faceLiveness, colors.faceLiveness, debugMode, faceLivenessInitialCaptureDelayMs, faceLivenessLoadingOverlayMode, faceLivenessTimeoutDurationMs, onExitAfterFailure, onExitCapture, onSelfieCaptureModelError, onUserCancel, precapturedDocuments, selfieCaptureModelLoadTimeoutMs, skipSuccessScreen, verbiage.faceLiveness]);
17018
17137
  var videoIdCaptureProps = useMemo(function () {
17019
17138
  return _assign({
17020
17139
  onExitCapture: onExitCapture,
@@ -17134,11 +17253,7 @@ var CustomerIdAndBiometricsEnrollment = function CustomerIdAndBiometricsEnrollme
17134
17253
 
17135
17254
  var ALLOWED_RETRIES$3 = 0;
17136
17255
  var initialState$1 = {
17137
- frame: null,
17138
- face: null,
17139
- imageUrl: null,
17140
17256
  requestState: 'CAPTURING',
17141
- requestError: null,
17142
17257
  unverifiedTimes: 0
17143
17258
  };
17144
17259
  var reducer$1 = function reducer(state, action) {
@@ -17229,7 +17344,7 @@ var CustomerVerificationCapture = function CustomerVerificationCapture(_a) {
17229
17344
  submissionError = _j.submissionError,
17230
17345
  selfieImage = _j.selfieImage,
17231
17346
  setSelfieImage = _j.setSelfieImage;
17232
- var _k = useState(null),
17347
+ var _k = useState(),
17233
17348
  imageUrl = _k[0],
17234
17349
  setImageUrl = _k[1];
17235
17350
  var rawCanvas = useRef(null);
@@ -17249,9 +17364,7 @@ var CustomerVerificationCapture = function CustomerVerificationCapture(_a) {
17249
17364
  if (!frame || !face || submissionError) return;
17250
17365
  var imageUrl = cropToShoulders(rawCanvas.current, cropCanvas.current, resizeCanvas.current, frame, face);
17251
17366
  setImageUrl(imageUrl);
17252
- dataUrlToBase64(imageUrl).then(function (img) {
17253
- setSelfieImage(img);
17254
- });
17367
+ dataUrlToBase64(imageUrl).then(setSelfieImage);
17255
17368
  }, [face, frame, setSelfieImage, submissionError]);
17256
17369
  useEffect(function () {
17257
17370
  if (!isReady || !selfieImage || submissionError) return;
@@ -17433,6 +17546,7 @@ var CustomerVerificationWizard = function CustomerVerificationWizard(_a) {
17433
17546
  var onLoadingStarted = _a.onLoadingStarted,
17434
17547
  onLoadingProgress = _a.onLoadingProgress,
17435
17548
  onLoadingCompleted = _a.onLoadingCompleted,
17549
+ onLoadingFailed = _a.onLoadingFailed,
17436
17550
  onComplete = _a.onComplete,
17437
17551
  onCustomerMatched = _a.onCustomerMatched,
17438
17552
  onCustomerNotMatched = _a.onCustomerNotMatched,
@@ -17581,6 +17695,7 @@ var CustomerVerificationWizard = function CustomerVerificationWizard(_a) {
17581
17695
  onLoadingStarted: onLoadingStarted,
17582
17696
  onLoadingProgress: onLoadingProgress,
17583
17697
  onLoadingCompleted: onLoadingCompleted,
17698
+ onLoadingFailed: onLoadingFailed,
17584
17699
  onUserCancel: onUserCancel,
17585
17700
  onDismissed: function onDismissed() {
17586
17701
  return setCaptureState('CAPTURING');
@@ -17628,6 +17743,7 @@ var CustomerVerification = function CustomerVerification(_a) {
17628
17743
  onLoadingStarted = _a.onLoadingStarted,
17629
17744
  onLoadingProgress = _a.onLoadingProgress,
17630
17745
  onLoadingCompleted = _a.onLoadingCompleted,
17746
+ onLoadingFailed = _a.onLoadingFailed,
17631
17747
  onAuthError = _a.onAuthError,
17632
17748
  onBeforeDocumentUpload = _a.onBeforeDocumentUpload,
17633
17749
  onDocumentUploadProgress = _a.onDocumentUploadProgress,
@@ -17701,6 +17817,7 @@ var CustomerVerification = function CustomerVerification(_a) {
17701
17817
  onLoadingStarted: onLoadingStarted,
17702
17818
  onLoadingProgress: onLoadingProgress,
17703
17819
  onLoadingCompleted: onLoadingCompleted,
17820
+ onLoadingFailed: onLoadingFailed,
17704
17821
  onComplete: onComplete,
17705
17822
  onCustomerMatched: onCustomerMatched,
17706
17823
  onCustomerNotMatched: onCustomerNotMatched,
@@ -17720,11 +17837,7 @@ var CustomerVerification = function CustomerVerification(_a) {
17720
17837
 
17721
17838
  var ALLOWED_RETRIES$1 = 0;
17722
17839
  var initialState = {
17723
- frame: null,
17724
- face: null,
17725
- imageUrl: null,
17726
17840
  requestState: 'CAPTURING',
17727
- requestError: null,
17728
17841
  notFoundTimes: 0
17729
17842
  };
17730
17843
  var reducer = function reducer(state, action) {
@@ -17811,7 +17924,7 @@ var CustomerIdentificationCapture = function CustomerIdentificationCapture(_a) {
17811
17924
  submissionError = _j.submissionError,
17812
17925
  selfieImage = _j.selfieImage,
17813
17926
  setSelfieImage = _j.setSelfieImage;
17814
- var _k = useState(null),
17927
+ var _k = useState(),
17815
17928
  imageUrl = _k[0],
17816
17929
  setImageUrl = _k[1];
17817
17930
  var rawCanvas = useRef(null);
@@ -17833,9 +17946,7 @@ var CustomerIdentificationCapture = function CustomerIdentificationCapture(_a) {
17833
17946
  if (!frame || !face || submissionError) return;
17834
17947
  var imageUrl = cropToShoulders(rawCanvas.current, cropCanvas.current, resizeCanvas.current, frame, face);
17835
17948
  setImageUrl(imageUrl);
17836
- dataUrlToBase64(imageUrl).then(function (img) {
17837
- setSelfieImage(img);
17838
- });
17949
+ dataUrlToBase64(imageUrl).then(setSelfieImage);
17839
17950
  }, [face, frame, setSelfieImage, submissionError]);
17840
17951
  useEffect(function () {
17841
17952
  if (!isReady || !selfieImage || submissionError) return;
@@ -18017,6 +18128,7 @@ var CustomerIdentificationWizard = function CustomerIdentificationWizard(_a) {
18017
18128
  var onLoadingStarted = _a.onLoadingStarted,
18018
18129
  onLoadingProgress = _a.onLoadingProgress,
18019
18130
  onLoadingCompleted = _a.onLoadingCompleted,
18131
+ onLoadingFailed = _a.onLoadingFailed,
18020
18132
  onComplete = _a.onComplete,
18021
18133
  onCustomerMatched = _a.onCustomerMatched,
18022
18134
  onCustomerNotMatched = _a.onCustomerNotMatched,
@@ -18165,6 +18277,7 @@ var CustomerIdentificationWizard = function CustomerIdentificationWizard(_a) {
18165
18277
  onLoadingStarted: onLoadingStarted,
18166
18278
  onLoadingProgress: onLoadingProgress,
18167
18279
  onLoadingCompleted: onLoadingCompleted,
18280
+ onLoadingFailed: onLoadingFailed,
18168
18281
  onUserCancel: onUserCancel,
18169
18282
  onDismissed: function onDismissed() {
18170
18283
  setCaptureState('CAPTURING');
@@ -18205,6 +18318,7 @@ var CustomerIdentification = function CustomerIdentification(_a) {
18205
18318
  onLoadingStarted = _a.onLoadingStarted,
18206
18319
  onLoadingProgress = _a.onLoadingProgress,
18207
18320
  onLoadingCompleted = _a.onLoadingCompleted,
18321
+ onLoadingFailed = _a.onLoadingFailed,
18208
18322
  onAuthError = _a.onAuthError,
18209
18323
  onBeforeDocumentUpload = _a.onBeforeDocumentUpload,
18210
18324
  onDocumentUploadProgress = _a.onDocumentUploadProgress,
@@ -18283,6 +18397,7 @@ var CustomerIdentification = function CustomerIdentification(_a) {
18283
18397
  onLoadingStarted: onLoadingStarted,
18284
18398
  onLoadingProgress: onLoadingProgress,
18285
18399
  onLoadingCompleted: onLoadingCompleted,
18400
+ onLoadingFailed: onLoadingFailed,
18286
18401
  onComplete: onComplete,
18287
18402
  onCustomerMatched: onCustomerMatched,
18288
18403
  onCustomerNotMatched: onCustomerNotMatched,
@@ -18317,6 +18432,7 @@ var SignatureKYC = function SignatureKYC(_a) {
18317
18432
  onLoadingStarted = _a.onLoadingStarted,
18318
18433
  onLoadingProgress = _a.onLoadingProgress,
18319
18434
  onLoadingCompleted = _a.onLoadingCompleted,
18435
+ onLoadingFailed = _a.onLoadingFailed,
18320
18436
  onAuthError = _a.onAuthError,
18321
18437
  onBeforeDocumentUpload = _a.onBeforeDocumentUpload,
18322
18438
  onDocumentUploadProgress = _a.onDocumentUploadProgress,
@@ -18357,16 +18473,18 @@ var SignatureKYC = function SignatureKYC(_a) {
18357
18473
  faceLivenessProps = _a.faceLivenessProps,
18358
18474
  _o = _a.skipLivenessValidation,
18359
18475
  skipLivenessValidation = _o === void 0 ? false : _o,
18476
+ _p = _a.allowManualSelfieCaptureOnLoadingError,
18477
+ allowManualSelfieCaptureOnLoadingError = _p === void 0 ? false : _p,
18360
18478
  guidesComponent = _a.guidesComponent,
18361
- _p = _a.theme,
18362
- theme = _p === void 0 ? 'default' : _p,
18479
+ _q = _a.theme,
18480
+ theme = _q === void 0 ? 'default' : _q,
18363
18481
  classNames = _a.classNames,
18364
18482
  colors = _a.colors,
18365
18483
  verbiage = _a.verbiage,
18366
18484
  geolocationEnabled = _a.geolocationEnabled,
18367
18485
  geolocationRequired = _a.geolocationRequired,
18368
- _q = _a.debugMode,
18369
- debugMode = _q === void 0 ? false : _q;
18486
+ _r = _a.debugMode,
18487
+ debugMode = _r === void 0 ? false : _r;
18370
18488
  useLanguage(lang);
18371
18489
  useDebugLogging(debugMode);
18372
18490
  return /*#__PURE__*/React__default.createElement(AuthProvider, {
@@ -18409,6 +18527,7 @@ var SignatureKYC = function SignatureKYC(_a) {
18409
18527
  onLoadingStarted: onLoadingStarted,
18410
18528
  onLoadingProgress: onLoadingProgress,
18411
18529
  onLoadingCompleted: onLoadingCompleted,
18530
+ onLoadingFailed: onLoadingFailed,
18412
18531
  onSelfieCaptured: onSelfieCaptured,
18413
18532
  customOverlayContent: customOverlayContent,
18414
18533
  onLoadingOverlayDismissed: onLoadingOverlayDismissed,
@@ -18424,6 +18543,7 @@ var SignatureKYC = function SignatureKYC(_a) {
18424
18543
  allowSignatureAfterLivenessCheckFailure: allowSignatureAfterLivenessCheckFailure,
18425
18544
  restartVideoOnSignaturePadCleared: restartVideoOnSignaturePadCleared,
18426
18545
  skipLivenessValidation: skipLivenessValidation,
18546
+ allowManualSelfieCaptureOnLoadingError: allowManualSelfieCaptureOnLoadingError,
18427
18547
  guidesComponent: guidesComponent,
18428
18548
  classNames: classNames,
18429
18549
  colors: colors,
@@ -18432,7 +18552,7 @@ var SignatureKYC = function SignatureKYC(_a) {
18432
18552
  onModelError: onModelError,
18433
18553
  onUserCancel: onUserCancel
18434
18554
  };
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])
18555
+ }, [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
18556
  })))));
18437
18557
  };
18438
18558
 
@@ -18473,6 +18593,7 @@ var VideoIdValidation = function VideoIdValidation(_a) {
18473
18593
  onLoadingStarted = _a.onLoadingStarted,
18474
18594
  onLoadingProgress = _a.onLoadingProgress,
18475
18595
  onLoadingCompleted = _a.onLoadingCompleted,
18596
+ onLoadingFailed = _a.onLoadingFailed,
18476
18597
  onAuthError = _a.onAuthError,
18477
18598
  onBeforeDocumentUpload = _a.onBeforeDocumentUpload,
18478
18599
  onDocumentUploadProgress = _a.onDocumentUploadProgress,
@@ -18561,6 +18682,7 @@ var VideoIdValidation = function VideoIdValidation(_a) {
18561
18682
  onLoadingStarted: onLoadingStarted,
18562
18683
  onLoadingProgress: onLoadingProgress,
18563
18684
  onLoadingCompleted: onLoadingCompleted,
18685
+ onLoadingFailed: onLoadingFailed,
18564
18686
  idCaptureProps: idCaptureProps,
18565
18687
  faceLivenessProps: faceLivenessProps,
18566
18688
  idCaptureModelsEnabled: idCaptureModelsEnabled,
@@ -18593,7 +18715,7 @@ var VideoIdValidation = function VideoIdValidation(_a) {
18593
18715
  verbiage: verbiage,
18594
18716
  debugMode: debugMode
18595
18717
  };
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]);
18718
+ }, [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
18719
  var additionalDocumentCaptureProps = useMemo(function () {
18598
18720
  return {
18599
18721
  documents: captureAdditionalDocuments,
@@ -18720,6 +18842,7 @@ var CustomerBiometricsEnrollment = function CustomerBiometricsEnrollment(_a) {
18720
18842
  onLoadingStarted = _a.onLoadingStarted,
18721
18843
  onLoadingProgress = _a.onLoadingProgress,
18722
18844
  onLoadingCompleted = _a.onLoadingCompleted,
18845
+ onLoadingFailed = _a.onLoadingFailed,
18723
18846
  onAuthError = _a.onAuthError,
18724
18847
  onBeforeDocumentUpload = _a.onBeforeDocumentUpload,
18725
18848
  onDocumentUploadProgress = _a.onDocumentUploadProgress,
@@ -18766,6 +18889,7 @@ var CustomerBiometricsEnrollment = function CustomerBiometricsEnrollment(_a) {
18766
18889
  onLoadingStarted: onLoadingStarted,
18767
18890
  onLoadingProgress: onLoadingProgress,
18768
18891
  onLoadingCompleted: onLoadingCompleted,
18892
+ onLoadingFailed: onLoadingFailed,
18769
18893
  onExitCapture: onExitCapture,
18770
18894
  onUserCancel: onUserCancel,
18771
18895
  onExitAfterFailure: onExitAfterFailure,
@@ -18781,7 +18905,7 @@ var CustomerBiometricsEnrollment = function CustomerBiometricsEnrollment(_a) {
18781
18905
  verbiage: verbiage.faceLiveness,
18782
18906
  debugMode: debugMode
18783
18907
  };
18784
- }, [assets.faceLiveness, classNames.faceLiveness, colors.faceLiveness, debugMode, initialCaptureDelayMs, loadingOverlayMode, modelLoadTimeoutMs, onExitAfterFailure, onExitCapture, onLoadingCompleted, onLoadingProgress, onLoadingStarted, onModelError, onUserCancel, skipSuccessScreen, timeoutDurationMs, verbiage.faceLiveness]);
18908
+ }, [assets.faceLiveness, classNames.faceLiveness, colors.faceLiveness, debugMode, initialCaptureDelayMs, loadingOverlayMode, modelLoadTimeoutMs, onExitAfterFailure, onExitCapture, onLoadingCompleted, onLoadingFailed, onLoadingProgress, onLoadingStarted, onModelError, onUserCancel, skipSuccessScreen, timeoutDurationMs, verbiage.faceLiveness]);
18785
18909
  var additionalDocumentCaptureProps = useMemo(function () {
18786
18910
  return {
18787
18911
  documents: captureAdditionalDocuments,