idmission-web-sdk 0.0.65 → 0.0.67

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 (29) hide show
  1. package/README.md +7 -0
  2. package/dist/components/common/useShowSuccessScreen.d.ts +1 -0
  3. package/dist/components/customer_flows/CustomerBiometricsEnrollment.d.ts +2 -1
  4. package/dist/components/customer_flows/CustomerIdAndBiometricsEnrollment.d.ts +2 -1
  5. package/dist/components/customer_flows/CustomerIdentification.d.ts +2 -1
  6. package/dist/components/customer_flows/CustomerVerification.d.ts +2 -1
  7. package/dist/components/customer_flows/FaceValidation.d.ts +2 -1
  8. package/dist/components/customer_flows/IdAndFaceValidation.d.ts +6 -2
  9. package/dist/components/customer_flows/IdValidation.d.ts +2 -1
  10. package/dist/components/customer_flows/SignatureKYC.d.ts +2 -1
  11. package/dist/components/customer_identification/CustomerIdentificationWizard.d.ts +2 -1
  12. package/dist/components/customer_verification/CustomerVerificationWizard.d.ts +2 -1
  13. package/dist/components/face_liveness/FaceLivenessWizard.d.ts +2 -1
  14. package/dist/components/id_capture/IdCaptureWizard.d.ts +2 -1
  15. package/dist/components/video_signature_capture/VideoSignatureWizard.d.ts +2 -1
  16. package/dist/sdk2.cjs.development.js +341 -230
  17. package/dist/sdk2.cjs.development.js.map +1 -1
  18. package/dist/sdk2.cjs.production.js +1 -1
  19. package/dist/sdk2.cjs.production.js.map +1 -1
  20. package/dist/sdk2.esm.js +341 -230
  21. package/dist/sdk2.esm.js.map +1 -1
  22. package/dist/sdk2.umd.development.js +341 -230
  23. package/dist/sdk2.umd.development.js.map +1 -1
  24. package/dist/sdk2.umd.production.js +1 -1
  25. package/dist/sdk2.umd.production.js.map +1 -1
  26. package/dist/stories/CustomerFlows/FaceValidation.stories.d.ts +1 -0
  27. package/dist/stories/CustomerFlows/IdAndFaceValidation.stories.d.ts +2 -0
  28. package/dist/stories/CustomerFlows/IdValidation.stories.d.ts +1 -0
  29. package/package.json +1 -1
@@ -9286,6 +9286,39 @@ var FullscreenVideoTag = styled__default['default'].video(templateObject_1$5 ||
9286
9286
  });
9287
9287
  var templateObject_1$5;
9288
9288
 
9289
+ function useShowSuccessScreen(skipSuccessScreen, successScreenReady, onDoneCallback) {
9290
+ var _this = this;
9291
+ var _a = React.useState(false),
9292
+ skipSuccessScreenResolvedFalse = _a[0],
9293
+ setSkipSuccessScreenResolvedFalse = _a[1];
9294
+ React.useEffect(function () {
9295
+ if (successScreenReady && skipSuccessScreen) {
9296
+ if (typeof skipSuccessScreen === 'function') {
9297
+ (function () {
9298
+ return tslib.__awaiter(_this, void 0, void 0, function () {
9299
+ return tslib.__generator(this, function (_a) {
9300
+ switch (_a.label) {
9301
+ case 0:
9302
+ return [4, skipSuccessScreen()];
9303
+ case 1:
9304
+ if (_a.sent()) {
9305
+ onDoneCallback === null || onDoneCallback === void 0 ? void 0 : onDoneCallback();
9306
+ } else {
9307
+ setSkipSuccessScreenResolvedFalse(true);
9308
+ }
9309
+ return [2];
9310
+ }
9311
+ });
9312
+ });
9313
+ })();
9314
+ } else {
9315
+ onDoneCallback === null || onDoneCallback === void 0 ? void 0 : onDoneCallback();
9316
+ }
9317
+ }
9318
+ }, [successScreenReady, onDoneCallback, skipSuccessScreen]);
9319
+ return !skipSuccessScreen || skipSuccessScreenResolvedFalse;
9320
+ }
9321
+
9289
9322
  var CaptureState;
9290
9323
  (function (CaptureState) {
9291
9324
  CaptureState["CAPTURING"] = "CAPTURING";
@@ -9362,29 +9395,31 @@ var IdCaptureWizard = function IdCaptureWizard(_a) {
9362
9395
  idCardFocusScoreThreshold = _x === void 0 ? 0.3 : _x,
9363
9396
  _y = _a.passportFocusScoreThreshold,
9364
9397
  passportFocusScoreThreshold = _y === void 0 ? 0.3 : _y,
9365
- _z = _a.assets,
9366
- assets = _z === void 0 ? {} : _z,
9367
- _0 = _a.colors,
9368
- colors = _0 === void 0 ? {} : _0,
9369
- _1 = _a.verbiage,
9370
- verbiage = _1 === void 0 ? {} : _1,
9371
- _2 = _a.debugMode,
9372
- debugMode = _2 === void 0 ? false : _2;
9373
- var _3 = React.useReducer(reducer$4, initialState$4),
9374
- state = _3[0],
9375
- dispatch = _3[1];
9398
+ _z = _a.skipSuccessScreen,
9399
+ skipSuccessScreen = _z === void 0 ? false : _z,
9400
+ _0 = _a.assets,
9401
+ assets = _0 === void 0 ? {} : _0,
9402
+ _1 = _a.colors,
9403
+ colors = _1 === void 0 ? {} : _1,
9404
+ _2 = _a.verbiage,
9405
+ verbiage = _2 === void 0 ? {} : _2,
9406
+ _3 = _a.debugMode,
9407
+ debugMode = _3 === void 0 ? false : _3;
9408
+ var _4 = React.useReducer(reducer$4, initialState$4),
9409
+ state = _4[0],
9410
+ dispatch = _4[1];
9376
9411
  var releaseCameraAccess = React.useContext(CameraStateContext).releaseCameraAccess;
9377
- var _4 = React.useState(false),
9378
- overlayDismissed = _4[0],
9379
- setOverlayDismissed = _4[1];
9380
- var _5 = React.useContext(SubmissionContext),
9381
- submissionStatus = _5.submissionStatus,
9382
- submissionResponse = _5.submissionResponse,
9383
- setIdFrontImage = _5.setIdFrontImage,
9384
- setIdBackImage = _5.setIdBackImage,
9385
- setPassportImage = _5.setPassportImage,
9386
- logIdFrontCaptureAttempt = _5.logIdFrontCaptureAttempt,
9387
- logIdBackCaptureAttempt = _5.logIdBackCaptureAttempt;
9412
+ var _5 = React.useState(false),
9413
+ overlayDismissed = _5[0],
9414
+ setOverlayDismissed = _5[1];
9415
+ var _6 = React.useContext(SubmissionContext),
9416
+ submissionStatus = _6.submissionStatus,
9417
+ submissionResponse = _6.submissionResponse,
9418
+ setIdFrontImage = _6.setIdFrontImage,
9419
+ setIdBackImage = _6.setIdBackImage,
9420
+ setPassportImage = _6.setPassportImage,
9421
+ logIdFrontCaptureAttempt = _6.logIdFrontCaptureAttempt,
9422
+ logIdBackCaptureAttempt = _6.logIdBackCaptureAttempt;
9388
9423
  var t = reactI18next.useTranslation().t;
9389
9424
  var operationStartedAt = React.useRef();
9390
9425
  React.useEffect(function () {
@@ -9422,7 +9457,7 @@ var IdCaptureWizard = function IdCaptureWizard(_a) {
9422
9457
  }
9423
9458
  });
9424
9459
  }, [logCaptureMetadata]);
9425
- var onSubmitClick = function onSubmitClick() {
9460
+ var onSubmitClick = React.useCallback(function () {
9426
9461
  return tslib.__awaiter(void 0, void 0, void 0, function () {
9427
9462
  var idFrontDocument, idBackDocument, passportDocument, idFrontImage, _a, idBackImage, _b, passportImage, _c;
9428
9463
  return tslib.__generator(this, function (_d) {
@@ -9470,15 +9505,16 @@ var IdCaptureWizard = function IdCaptureWizard(_a) {
9470
9505
  }
9471
9506
  });
9472
9507
  });
9473
- };
9508
+ }, [onSuccess, releaseCameraAccess, setIdBackImage, setIdFrontImage, setPassportImage, state.capturedDocuments]);
9509
+ var showSuccessScreen = useShowSuccessScreen(skipSuccessScreen, state.captureState === CaptureState.COMPLETE, onSubmitClick);
9474
9510
  var onRetryClick = React.useCallback(function () {
9475
9511
  dispatch({
9476
9512
  type: 'reset'
9477
9513
  });
9478
9514
  }, []);
9479
- var _6 = React.useState(0),
9480
- attempt = _6[0],
9481
- setAttempt = _6[1];
9515
+ var _7 = React.useState(0),
9516
+ attempt = _7[0],
9517
+ setAttempt = _7[1];
9482
9518
  var onExit = React.useCallback(function () {
9483
9519
  setOverlayDismissed(false);
9484
9520
  setAttempt(function (n) {
@@ -9597,7 +9633,7 @@ var IdCaptureWizard = function IdCaptureWizard(_a) {
9597
9633
  onDismissed: function onDismissed() {
9598
9634
  setOverlayDismissed(true);
9599
9635
  }
9600
- }), state.captureState === CaptureState.COMPLETE && /*#__PURE__*/React__default['default'].createElement(IdCaptureSuccess, {
9636
+ }), state.captureState === CaptureState.COMPLETE && showSuccessScreen && /*#__PURE__*/React__default['default'].createElement(IdCaptureSuccess, {
9601
9637
  capturedDocuments: state.capturedDocuments,
9602
9638
  barcodeResult: state.barcodeResult,
9603
9639
  onSubmitClick: onSubmitClick,
@@ -10572,28 +10608,30 @@ var FaceLivenessWizard = function FaceLivenessWizard(_a) {
10572
10608
  timeoutDurationMs = _b === void 0 ? 15000 : _b,
10573
10609
  _c = _a.maxRetries,
10574
10610
  maxRetries = _c === void 0 ? 2 : _c,
10575
- _d = _a.assets,
10576
- assets = _d === void 0 ? {} : _d,
10577
- _e = _a.colors,
10578
- colors = _e === void 0 ? {} : _e,
10579
- _f = _a.verbiage,
10580
- verbiage = _f === void 0 ? {} : _f,
10581
- _g = _a.debugMode,
10582
- debugMode = _g === void 0 ? false : _g;
10583
- var _h = React.useContext(SubmissionContext),
10584
- submissionResponse = _h.submissionResponse,
10585
- setSelfieImage = _h.setSelfieImage,
10586
- logSelfieCaptureAttempt = _h.logSelfieCaptureAttempt;
10611
+ _d = _a.skipSuccessScreen,
10612
+ skipSuccessScreen = _d === void 0 ? false : _d,
10613
+ _e = _a.assets,
10614
+ assets = _e === void 0 ? {} : _e,
10615
+ _f = _a.colors,
10616
+ colors = _f === void 0 ? {} : _f,
10617
+ _g = _a.verbiage,
10618
+ verbiage = _g === void 0 ? {} : _g,
10619
+ _h = _a.debugMode,
10620
+ debugMode = _h === void 0 ? false : _h;
10621
+ var _j = React.useContext(SubmissionContext),
10622
+ submissionResponse = _j.submissionResponse,
10623
+ setSelfieImage = _j.setSelfieImage,
10624
+ logSelfieCaptureAttempt = _j.logSelfieCaptureAttempt;
10587
10625
  var releaseCameraAccess = React.useContext(CameraStateContext).releaseCameraAccess;
10588
- var _j = React.useState(''),
10589
- faceCropImageUrl = _j[0],
10590
- setFaceCropImageUrl = _j[1];
10591
- var _k = React.useState(0),
10592
- retryCount = _k[0],
10593
- setRetryCount = _k[1];
10594
- var _l = React.useState('LOADING'),
10595
- captureState = _l[0],
10596
- setCaptureState = _l[1];
10626
+ var _k = React.useState(''),
10627
+ faceCropImageUrl = _k[0],
10628
+ setFaceCropImageUrl = _k[1];
10629
+ var _l = React.useState(0),
10630
+ retryCount = _l[0],
10631
+ setRetryCount = _l[1];
10632
+ var _m = React.useState('LOADING'),
10633
+ captureState = _m[0],
10634
+ setCaptureState = _m[1];
10597
10635
  var captureStartedAt = React.useRef();
10598
10636
  var captureEndedAt = React.useRef();
10599
10637
  var operationStartedAt = React.useRef();
@@ -10639,15 +10677,23 @@ var FaceLivenessWizard = function FaceLivenessWizard(_a) {
10639
10677
  setCaptureState('FAILED');
10640
10678
  onTimeout === null || onTimeout === void 0 ? void 0 : onTimeout(submissionResponse);
10641
10679
  }, [onTimeout, submissionResponse]);
10642
- var _m = React.useState(0),
10643
- attempt = _m[0],
10644
- setAttempt = _m[1];
10680
+ var _o = React.useState(0),
10681
+ attempt = _o[0],
10682
+ setAttempt = _o[1];
10645
10683
  var onExitCallback = React.useCallback(function () {
10646
10684
  setAttempt(function (n) {
10647
10685
  return n + 1;
10648
10686
  });
10649
10687
  setCaptureState('LOADING');
10650
10688
  }, []);
10689
+ var onDoneCallback = React.useCallback(function () {
10690
+ logCaptureMetadata();
10691
+ releaseCameraAccess();
10692
+ setTimeout(function () {
10693
+ onComplete === null || onComplete === void 0 ? void 0 : onComplete(submissionResponse);
10694
+ }, 0);
10695
+ }, [logCaptureMetadata, onComplete, releaseCameraAccess, submissionResponse]);
10696
+ var showSuccessScreen = useShowSuccessScreen(skipSuccessScreen, captureState === 'SUCCESS', onDoneCallback);
10651
10697
  return /*#__PURE__*/React__default['default'].createElement(React__default['default'].Fragment, null, captureState !== 'LOADING' && function () {
10652
10698
  switch (captureState) {
10653
10699
  case 'CAPTURING':
@@ -10663,18 +10709,13 @@ var FaceLivenessWizard = function FaceLivenessWizard(_a) {
10663
10709
  debugMode: debugMode
10664
10710
  });
10665
10711
  case 'SUCCESS':
10712
+ if (showSuccessScreen) return null;
10666
10713
  return /*#__PURE__*/React__default['default'].createElement(FaceLivenessSuccess, {
10667
10714
  key: "success",
10668
10715
  imageUrl: faceCropImageUrl,
10669
10716
  colors: colors.success,
10670
10717
  verbiage: verbiage.success,
10671
- onDoneClick: function onDoneClick() {
10672
- logCaptureMetadata();
10673
- releaseCameraAccess();
10674
- setTimeout(function () {
10675
- onComplete === null || onComplete === void 0 ? void 0 : onComplete(submissionResponse);
10676
- }, 0);
10677
- },
10718
+ onDoneClick: onDoneCallback,
10678
10719
  onRetryClick: function onRetryClick() {
10679
10720
  logCaptureMetadata();
10680
10721
  setCaptureState('CAPTURING');
@@ -11689,24 +11730,26 @@ var VideoSignatureWizard = function VideoSignatureWizard(_a) {
11689
11730
  var onComplete = _a.onComplete,
11690
11731
  onVideoCaptured = _a.onVideoCaptured,
11691
11732
  onRetryClicked = _a.onRetryClicked,
11692
- _b = _a.assets,
11693
- assets = _b === void 0 ? {} : _b,
11694
- _c = _a.colors,
11695
- colors = _c === void 0 ? {} : _c,
11696
- _d = _a.verbiage,
11697
- verbiage = _d === void 0 ? {} : _d,
11698
- _e = _a.debugMode,
11699
- debugMode = _e === void 0 ? false : _e;
11700
- var _f = React.useContext(SubmissionContext),
11701
- selfieImage = _f.selfieImage,
11702
- signatureVideo = _f.signatureVideo,
11703
- setSelfieImage = _f.setSelfieImage,
11704
- setSignatureData = _f.setSignatureData,
11705
- setSignatureVideo = _f.setSignatureVideo,
11706
- logSelfieCaptureAttempt = _f.logSelfieCaptureAttempt;
11707
- var _g = React.useState('LOADING'),
11708
- captureState = _g[0],
11709
- setCaptureState = _g[1];
11733
+ _b = _a.skipSuccessScreen,
11734
+ skipSuccessScreen = _b === void 0 ? false : _b,
11735
+ _c = _a.assets,
11736
+ assets = _c === void 0 ? {} : _c,
11737
+ _d = _a.colors,
11738
+ colors = _d === void 0 ? {} : _d,
11739
+ _e = _a.verbiage,
11740
+ verbiage = _e === void 0 ? {} : _e,
11741
+ _f = _a.debugMode,
11742
+ debugMode = _f === void 0 ? false : _f;
11743
+ var _g = React.useContext(SubmissionContext),
11744
+ selfieImage = _g.selfieImage,
11745
+ signatureVideo = _g.signatureVideo,
11746
+ setSelfieImage = _g.setSelfieImage,
11747
+ setSignatureData = _g.setSignatureData,
11748
+ setSignatureVideo = _g.setSignatureVideo,
11749
+ logSelfieCaptureAttempt = _g.logSelfieCaptureAttempt;
11750
+ var _h = React.useState('LOADING'),
11751
+ captureState = _h[0],
11752
+ setCaptureState = _h[1];
11710
11753
  var operationStartedAt = React.useRef();
11711
11754
  var captureStartedAt = React.useRef();
11712
11755
  var captureEndedAt = React.useRef();
@@ -11759,9 +11802,9 @@ var VideoSignatureWizard = function VideoSignatureWizard(_a) {
11759
11802
  var onSignatureCaptureFacesNotDetected = React.useCallback(function () {
11760
11803
  setCaptureState('CHECKING_LIVENESS');
11761
11804
  }, []);
11762
- var _h = React.useState(0),
11763
- attempt = _h[0],
11764
- setAttempt = _h[1];
11805
+ var _j = React.useState(0),
11806
+ attempt = _j[0],
11807
+ setAttempt = _j[1];
11765
11808
  var onExit = React.useCallback(function () {
11766
11809
  setAttempt(function (n) {
11767
11810
  return n + 1;
@@ -11772,6 +11815,7 @@ var VideoSignatureWizard = function VideoSignatureWizard(_a) {
11772
11815
  onRetryClicked === null || onRetryClicked === void 0 ? void 0 : onRetryClicked();
11773
11816
  onExit();
11774
11817
  }, [onExit, onRetryClicked]);
11818
+ var showSuccessScreen = useShowSuccessScreen(skipSuccessScreen, captureState === 'SUCCESS', onComplete);
11775
11819
  return /*#__PURE__*/React__default['default'].createElement(HighPerformanceSelfieGuidanceModelsProvider, {
11776
11820
  throttleMs: captureState === 'CAPTURING_SIGNATURE' ? 250 : 0
11777
11821
  }, captureState !== 'LOADING' && function () {
@@ -11794,6 +11838,7 @@ var VideoSignatureWizard = function VideoSignatureWizard(_a) {
11794
11838
  debugMode: debugMode
11795
11839
  });
11796
11840
  case 'SUCCESS':
11841
+ if (!showSuccessScreen) return;
11797
11842
  return /*#__PURE__*/React__default['default'].createElement(VideoSignatureSuccess, {
11798
11843
  videoUrl: signatureVideo !== null && signatureVideo !== void 0 ? signatureVideo : '',
11799
11844
  onDoneClick: onComplete,
@@ -12082,28 +12127,30 @@ var IdValidation = function IdValidation(_a) {
12082
12127
  idCardFocusScoreThreshold = _g === void 0 ? 0.3 : _g,
12083
12128
  _h = _a.passportFocusScoreThreshold,
12084
12129
  passportFocusScoreThreshold = _h === void 0 ? 0.3 : _h,
12130
+ _j = _a.skipSuccessScreen,
12131
+ skipSuccessScreen = _j === void 0 ? false : _j,
12085
12132
  onBeforeSubmit = _a.onBeforeSubmit,
12086
12133
  onComplete = _a.onComplete,
12087
12134
  onApproved = _a.onApproved,
12088
12135
  onDenied = _a.onDenied,
12089
- _j = _a.assets,
12090
- assets = _j === void 0 ? {} : _j,
12091
- _k = _a.colors,
12092
- colors = _k === void 0 ? {} : _k,
12093
- _l = _a.verbiage,
12094
- verbiage = _l === void 0 ? {} : _l,
12095
- _m = _a.captureSignature,
12096
- captureSignature = _m === void 0 ? false : _m,
12097
- _o = _a.captureSignatureVideo,
12098
- captureSignatureVideo = _o === void 0 ? false : _o,
12099
- _p = _a.captureAdditionalDocuments,
12100
- captureAdditionalDocuments = _p === void 0 ? [] : _p,
12101
- _q = _a.geolocationEnabled,
12102
- geolocationEnabled = _q === void 0 ? true : _q,
12103
- _r = _a.geolocationRequired,
12104
- geolocationRequired = _r === void 0 ? false : _r,
12105
- _s = _a.debugMode,
12106
- debugMode = _s === void 0 ? false : _s;
12136
+ _k = _a.assets,
12137
+ assets = _k === void 0 ? {} : _k,
12138
+ _l = _a.colors,
12139
+ colors = _l === void 0 ? {} : _l,
12140
+ _m = _a.verbiage,
12141
+ verbiage = _m === void 0 ? {} : _m,
12142
+ _o = _a.captureSignature,
12143
+ captureSignature = _o === void 0 ? false : _o,
12144
+ _p = _a.captureSignatureVideo,
12145
+ captureSignatureVideo = _p === void 0 ? false : _p,
12146
+ _q = _a.captureAdditionalDocuments,
12147
+ captureAdditionalDocuments = _q === void 0 ? [] : _q,
12148
+ _r = _a.geolocationEnabled,
12149
+ geolocationEnabled = _r === void 0 ? true : _r,
12150
+ _s = _a.geolocationRequired,
12151
+ geolocationRequired = _s === void 0 ? false : _s,
12152
+ _t = _a.debugMode,
12153
+ debugMode = _t === void 0 ? false : _t;
12107
12154
  useLanguage(lang);
12108
12155
  var idCaptureProps = React.useMemo(function () {
12109
12156
  return {
@@ -12114,12 +12161,13 @@ var IdValidation = function IdValidation(_a) {
12114
12161
  idCardFocusScoreThreshold: idCardFocusScoreThreshold,
12115
12162
  passportFocusScoreThreshold: passportFocusScoreThreshold,
12116
12163
  barcodeScanningEnabled: false,
12164
+ skipSuccessScreen: skipSuccessScreen,
12117
12165
  assets: assets,
12118
12166
  colors: colors,
12119
12167
  verbiage: verbiage,
12120
12168
  debugMode: debugMode
12121
12169
  };
12122
- }, [assets, colors, debugMode, idAutoCaptureEnabled, idCardAutoCaptureScoreThreshold, idCardFocusScoreThreshold, passportAutoCaptureScoreThreshold, passportFocusScoreThreshold, verbiage]);
12170
+ }, [assets, colors, debugMode, idAutoCaptureEnabled, idCardAutoCaptureScoreThreshold, idCardFocusScoreThreshold, passportAutoCaptureScoreThreshold, passportFocusScoreThreshold, skipSuccessScreen, verbiage]);
12123
12171
  var additionalDocumentCaptureProps = React.useMemo(function () {
12124
12172
  return {
12125
12173
  documents: captureAdditionalDocuments,
@@ -12133,11 +12181,12 @@ var IdValidation = function IdValidation(_a) {
12133
12181
  }, [verbiage === null || verbiage === void 0 ? void 0 : verbiage.signatureCapture]);
12134
12182
  var videoSignatureCaptureProps = React.useMemo(function () {
12135
12183
  return {
12184
+ skipSuccessScreen: skipSuccessScreen,
12136
12185
  colors: colors === null || colors === void 0 ? void 0 : colors.videoSignatureCapture,
12137
12186
  verbiage: verbiage === null || verbiage === void 0 ? void 0 : verbiage.videoSignatureCapture,
12138
12187
  debugMode: debugMode
12139
12188
  };
12140
- }, [colors === null || colors === void 0 ? void 0 : colors.videoSignatureCapture, debugMode, verbiage === null || verbiage === void 0 ? void 0 : verbiage.videoSignatureCapture]);
12189
+ }, [colors === null || colors === void 0 ? void 0 : colors.videoSignatureCapture, debugMode, skipSuccessScreen, verbiage === null || verbiage === void 0 ? void 0 : verbiage.videoSignatureCapture]);
12141
12190
  var onResponseReceived = React.useCallback(function (submissionResponse) {
12142
12191
  onComplete === null || onComplete === void 0 ? void 0 : onComplete(submissionResponse);
12143
12192
  if (submissionResponse.resultData['verificationResult'] === 'Approved') {
@@ -12190,6 +12239,8 @@ var FaceValidation = function FaceValidation(_a) {
12190
12239
  webhooksStripSpecialCharacters = _a.webhooksStripSpecialCharacters,
12191
12240
  _d = _a.timeoutDurationMs,
12192
12241
  timeoutDurationMs = _d === void 0 ? 15000 : _d,
12242
+ _e = _a.skipSuccessScreen,
12243
+ skipSuccessScreen = _e === void 0 ? false : _e,
12193
12244
  onBeforeSubmit = _a.onBeforeSubmit,
12194
12245
  onComplete = _a.onComplete,
12195
12246
  onApproved = _a.onApproved,
@@ -12198,16 +12249,17 @@ var FaceValidation = function FaceValidation(_a) {
12198
12249
  assets = _a.assets,
12199
12250
  colors = _a.colors,
12200
12251
  verbiage = _a.verbiage,
12201
- _e = _a.geolocationEnabled,
12202
- geolocationEnabled = _e === void 0 ? true : _e,
12203
- _f = _a.geolocationRequired,
12204
- geolocationRequired = _f === void 0 ? false : _f,
12205
- _g = _a.debugMode,
12206
- debugMode = _g === void 0 ? false : _g;
12252
+ _f = _a.geolocationEnabled,
12253
+ geolocationEnabled = _f === void 0 ? true : _f,
12254
+ _g = _a.geolocationRequired,
12255
+ geolocationRequired = _g === void 0 ? false : _g,
12256
+ _h = _a.debugMode,
12257
+ debugMode = _h === void 0 ? false : _h;
12207
12258
  useLanguage(lang);
12208
12259
  var faceLivenessProps = React.useMemo(function () {
12209
12260
  return {
12210
12261
  timeoutDurationMs: timeoutDurationMs,
12262
+ skipSuccessScreen: skipSuccessScreen,
12211
12263
  onComplete: onComplete,
12212
12264
  onSuccess: onApproved,
12213
12265
  onTimeout: onDenied,
@@ -12217,7 +12269,7 @@ var FaceValidation = function FaceValidation(_a) {
12217
12269
  verbiage: verbiage,
12218
12270
  debugMode: debugMode
12219
12271
  };
12220
- }, [assets, colors, debugMode, onApproved, onComplete, onDenied, onExitAfterFailure, timeoutDurationMs, verbiage]);
12272
+ }, [assets, colors, debugMode, onApproved, onComplete, onDenied, onExitAfterFailure, skipSuccessScreen, timeoutDurationMs, verbiage]);
12221
12273
  return /*#__PURE__*/React__default['default'].createElement(SubmissionProvider, {
12222
12274
  action: SubmissionAction.NONE,
12223
12275
  environment: submissionEnvironment,
@@ -12268,29 +12320,31 @@ var IdAndFaceValidation = function IdAndFaceValidation(_a) {
12268
12320
  passportFocusScoreThreshold = _j === void 0 ? 0.3 : _j,
12269
12321
  _k = _a.faceLivenessTimeoutDurationMs,
12270
12322
  faceLivenessTimeoutDurationMs = _k === void 0 ? 15000 : _k,
12323
+ _l = _a.skipSuccessScreen,
12324
+ skipSuccessScreen = _l === void 0 ? false : _l,
12271
12325
  onBeforeSubmit = _a.onBeforeSubmit,
12272
12326
  onComplete = _a.onComplete,
12273
12327
  onApproved = _a.onApproved,
12274
12328
  onDenied = _a.onDenied,
12275
12329
  onExitAfterFailure = _a.onExitAfterFailure,
12276
- _l = _a.captureSignature,
12277
- captureSignature = _l === void 0 ? false : _l,
12278
- _m = _a.captureSignatureVideo,
12279
- captureSignatureVideo = _m === void 0 ? false : _m,
12280
- _o = _a.captureAdditionalDocuments,
12281
- captureAdditionalDocuments = _o === void 0 ? [] : _o,
12282
- _p = _a.assets,
12283
- assets = _p === void 0 ? {} : _p,
12284
- _q = _a.colors,
12285
- colors = _q === void 0 ? {} : _q,
12286
- _r = _a.verbiage,
12287
- verbiage = _r === void 0 ? {} : _r,
12288
- _s = _a.geolocationEnabled,
12289
- geolocationEnabled = _s === void 0 ? true : _s,
12290
- _t = _a.geolocationRequired,
12291
- geolocationRequired = _t === void 0 ? false : _t,
12292
- _u = _a.debugMode,
12293
- debugMode = _u === void 0 ? false : _u;
12330
+ _m = _a.captureSignature,
12331
+ captureSignature = _m === void 0 ? false : _m,
12332
+ _o = _a.captureSignatureVideo,
12333
+ captureSignatureVideo = _o === void 0 ? false : _o,
12334
+ _p = _a.captureAdditionalDocuments,
12335
+ captureAdditionalDocuments = _p === void 0 ? [] : _p,
12336
+ _q = _a.assets,
12337
+ assets = _q === void 0 ? {} : _q,
12338
+ _r = _a.colors,
12339
+ colors = _r === void 0 ? {} : _r,
12340
+ _s = _a.verbiage,
12341
+ verbiage = _s === void 0 ? {} : _s,
12342
+ _t = _a.geolocationEnabled,
12343
+ geolocationEnabled = _t === void 0 ? true : _t,
12344
+ _u = _a.geolocationRequired,
12345
+ geolocationRequired = _u === void 0 ? false : _u,
12346
+ _v = _a.debugMode,
12347
+ debugMode = _v === void 0 ? false : _v;
12294
12348
  useLanguage(lang);
12295
12349
  var idCaptureProps = React.useMemo(function () {
12296
12350
  return {
@@ -12303,25 +12357,35 @@ var IdAndFaceValidation = function IdAndFaceValidation(_a) {
12303
12357
  mrzDetectionScoreThreshold: mrzDetectionScoreThreshold,
12304
12358
  idCardFocusScoreThreshold: idCardFocusScoreThreshold,
12305
12359
  passportFocusScoreThreshold: passportFocusScoreThreshold,
12360
+ skipSuccessScreen: skipSuccessScreen,
12306
12361
  debugMode: debugMode
12307
12362
  };
12308
- }, [assets.idCapture, colors.idCapture, debugMode, idAutoCaptureEnabled, idCardAutoCaptureScoreThreshold, idCardFocusScoreThreshold, mrzDetectionScoreThreshold, passportAutoCaptureScoreThreshold, passportFocusScoreThreshold, verbiage.idCapture]);
12363
+ }, [assets.idCapture, colors.idCapture, debugMode, idAutoCaptureEnabled, idCardAutoCaptureScoreThreshold, idCardFocusScoreThreshold, mrzDetectionScoreThreshold, passportAutoCaptureScoreThreshold, passportFocusScoreThreshold, skipSuccessScreen, verbiage.idCapture]);
12309
12364
  var faceLivenessProps = React.useMemo(function () {
12310
12365
  return {
12311
12366
  timeoutDurationMs: faceLivenessTimeoutDurationMs,
12312
12367
  onTimeout: onDenied,
12313
12368
  onExitAfterFailure: onExitAfterFailure,
12369
+ skipSuccessScreen: skipSuccessScreen,
12314
12370
  assets: assets.faceLiveness,
12315
12371
  colors: colors.faceLiveness,
12316
12372
  verbiage: verbiage.faceLiveness,
12317
12373
  debugMode: debugMode
12318
12374
  };
12319
- }, [assets.faceLiveness, colors.faceLiveness, debugMode, faceLivenessTimeoutDurationMs, onDenied, onExitAfterFailure, verbiage.faceLiveness]);
12375
+ }, [assets.faceLiveness, colors.faceLiveness, debugMode, faceLivenessTimeoutDurationMs, onDenied, onExitAfterFailure, skipSuccessScreen, verbiage.faceLiveness]);
12320
12376
  var signatureCaptureProps = React.useMemo(function () {
12321
12377
  return {
12322
12378
  verbiage: verbiage.signatureCapture
12323
12379
  };
12324
12380
  }, [verbiage === null || verbiage === void 0 ? void 0 : verbiage.signatureCapture]);
12381
+ var videoSignatureCaptureProps = React.useMemo(function () {
12382
+ return {
12383
+ skipSuccessScreen: skipSuccessScreen,
12384
+ colors: colors === null || colors === void 0 ? void 0 : colors.videoSignatureCapture,
12385
+ verbiage: verbiage === null || verbiage === void 0 ? void 0 : verbiage.videoSignatureCapture,
12386
+ debugMode: debugMode
12387
+ };
12388
+ }, [colors === null || colors === void 0 ? void 0 : colors.videoSignatureCapture, debugMode, skipSuccessScreen, verbiage === null || verbiage === void 0 ? void 0 : verbiage.videoSignatureCapture]);
12325
12389
  var additionalDocumentCaptureProps = React.useMemo(function () {
12326
12390
  return {
12327
12391
  documents: captureAdditionalDocuments,
@@ -12360,6 +12424,7 @@ var IdAndFaceValidation = function IdAndFaceValidation(_a) {
12360
12424
  idCaptureProps: idCaptureProps,
12361
12425
  faceLivenessProps: faceLivenessProps,
12362
12426
  signatureCaptureProps: signatureCaptureProps,
12427
+ videoSignatureCaptureProps: videoSignatureCaptureProps,
12363
12428
  additionalDocumentCaptureProps: additionalDocumentCaptureProps,
12364
12429
  captureSignature: captureSignature,
12365
12430
  captureSignatureVideo: captureSignatureVideo,
@@ -12399,29 +12464,31 @@ var CustomerIdAndBiometricsEnrollment = function CustomerIdAndBiometricsEnrollme
12399
12464
  passportFocusScoreThreshold = _j === void 0 ? 0.3 : _j,
12400
12465
  _k = _a.faceLivenessTimeoutDurationMs,
12401
12466
  faceLivenessTimeoutDurationMs = _k === void 0 ? 15000 : _k,
12467
+ _l = _a.skipSuccessScreen,
12468
+ skipSuccessScreen = _l === void 0 ? false : _l,
12402
12469
  onBeforeSubmit = _a.onBeforeSubmit,
12403
12470
  onComplete = _a.onComplete,
12404
12471
  onEnrolled = _a.onEnrolled,
12405
12472
  onDenied = _a.onDenied,
12406
12473
  onExitAfterFailure = _a.onExitAfterFailure,
12407
- _l = _a.captureAdditionalDocuments,
12408
- captureAdditionalDocuments = _l === void 0 ? [] : _l,
12409
- _m = _a.captureSignature,
12410
- captureSignature = _m === void 0 ? false : _m,
12411
- _o = _a.captureSignatureVideo,
12412
- captureSignatureVideo = _o === void 0 ? false : _o,
12413
- _p = _a.assets,
12414
- assets = _p === void 0 ? {} : _p,
12415
- _q = _a.colors,
12416
- colors = _q === void 0 ? {} : _q,
12417
- _r = _a.verbiage,
12418
- verbiage = _r === void 0 ? {} : _r,
12419
- _s = _a.geolocationEnabled,
12420
- geolocationEnabled = _s === void 0 ? true : _s,
12421
- _t = _a.geolocationRequired,
12422
- geolocationRequired = _t === void 0 ? false : _t,
12423
- _u = _a.debugMode,
12424
- debugMode = _u === void 0 ? false : _u;
12474
+ _m = _a.captureAdditionalDocuments,
12475
+ captureAdditionalDocuments = _m === void 0 ? [] : _m,
12476
+ _o = _a.captureSignature,
12477
+ captureSignature = _o === void 0 ? false : _o,
12478
+ _p = _a.captureSignatureVideo,
12479
+ captureSignatureVideo = _p === void 0 ? false : _p,
12480
+ _q = _a.assets,
12481
+ assets = _q === void 0 ? {} : _q,
12482
+ _r = _a.colors,
12483
+ colors = _r === void 0 ? {} : _r,
12484
+ _s = _a.verbiage,
12485
+ verbiage = _s === void 0 ? {} : _s,
12486
+ _t = _a.geolocationEnabled,
12487
+ geolocationEnabled = _t === void 0 ? true : _t,
12488
+ _u = _a.geolocationRequired,
12489
+ geolocationRequired = _u === void 0 ? false : _u,
12490
+ _v = _a.debugMode,
12491
+ debugMode = _v === void 0 ? false : _v;
12425
12492
  useLanguage(lang);
12426
12493
  var idCaptureProps = React.useMemo(function () {
12427
12494
  return {
@@ -12434,19 +12501,21 @@ var CustomerIdAndBiometricsEnrollment = function CustomerIdAndBiometricsEnrollme
12434
12501
  mrzDetectionScoreThreshold: mrzDetectionScoreThreshold,
12435
12502
  idCardFocusScoreThreshold: idCardFocusScoreThreshold,
12436
12503
  passportFocusScoreThreshold: passportFocusScoreThreshold,
12504
+ skipSuccessScreen: skipSuccessScreen,
12437
12505
  debugMode: debugMode
12438
12506
  };
12439
- }, [assets.idCapture, colors.idCapture, debugMode, idAutoCaptureEnabled, idCardAutoCaptureScoreThreshold, idCardFocusScoreThreshold, mrzDetectionScoreThreshold, passportAutoCaptureScoreThreshold, passportFocusScoreThreshold, verbiage.idCapture]);
12507
+ }, [assets.idCapture, colors.idCapture, debugMode, idAutoCaptureEnabled, idCardAutoCaptureScoreThreshold, idCardFocusScoreThreshold, mrzDetectionScoreThreshold, passportAutoCaptureScoreThreshold, passportFocusScoreThreshold, skipSuccessScreen, verbiage.idCapture]);
12440
12508
  var faceLivenessProps = React.useMemo(function () {
12441
12509
  return {
12442
12510
  onExitAfterFailure: onExitAfterFailure,
12443
12511
  timeoutDurationMs: faceLivenessTimeoutDurationMs,
12512
+ skipSuccessScreen: skipSuccessScreen,
12444
12513
  assets: assets.faceLiveness,
12445
12514
  colors: colors.faceLiveness,
12446
12515
  verbiage: verbiage.faceLiveness,
12447
12516
  debugMode: debugMode
12448
12517
  };
12449
- }, [assets.faceLiveness, colors.faceLiveness, debugMode, faceLivenessTimeoutDurationMs, onExitAfterFailure, verbiage.faceLiveness]);
12518
+ }, [assets.faceLiveness, colors.faceLiveness, debugMode, faceLivenessTimeoutDurationMs, onExitAfterFailure, skipSuccessScreen, verbiage.faceLiveness]);
12450
12519
  var additionalDocumentCaptureProps = React.useMemo(function () {
12451
12520
  return {
12452
12521
  documents: captureAdditionalDocuments,
@@ -12460,11 +12529,12 @@ var CustomerIdAndBiometricsEnrollment = function CustomerIdAndBiometricsEnrollme
12460
12529
  }, [verbiage === null || verbiage === void 0 ? void 0 : verbiage.signatureCapture]);
12461
12530
  var videoSignatureCaptureProps = React.useMemo(function () {
12462
12531
  return {
12532
+ skipSuccessScreen: skipSuccessScreen,
12463
12533
  colors: colors === null || colors === void 0 ? void 0 : colors.videoSignatureCapture,
12464
12534
  verbiage: verbiage === null || verbiage === void 0 ? void 0 : verbiage.videoSignatureCapture,
12465
12535
  debugMode: debugMode
12466
12536
  };
12467
- }, [colors === null || colors === void 0 ? void 0 : colors.videoSignatureCapture, debugMode, verbiage === null || verbiage === void 0 ? void 0 : verbiage.videoSignatureCapture]);
12537
+ }, [colors === null || colors === void 0 ? void 0 : colors.videoSignatureCapture, debugMode, skipSuccessScreen, verbiage === null || verbiage === void 0 ? void 0 : verbiage.videoSignatureCapture]);
12468
12538
  var onResponseReceived = React.useCallback(function (submissionResponse) {
12469
12539
  onComplete === null || onComplete === void 0 ? void 0 : onComplete(submissionResponse);
12470
12540
  if (submissionResponse.resultData['verificationResult'] === 'Customer Onboarded') {
@@ -12508,6 +12578,7 @@ var CustomerIdAndBiometricsEnrollment = function CustomerIdAndBiometricsEnrollme
12508
12578
  }));
12509
12579
  };
12510
12580
 
12581
+ var ALLOWED_RETRIES$3 = 0;
12511
12582
  var initialState$1 = {
12512
12583
  frame: null,
12513
12584
  face: null,
@@ -12555,11 +12626,13 @@ var reducer$1 = function reducer(state, action) {
12555
12626
  var customerMatched = resultData.verificationResultCode === '00';
12556
12627
  if (customerMatched) {
12557
12628
  requestState = 'VERIFIED';
12558
- } else if (unverifiedTimes < 2) {
12559
- requestState = 'CAPTURING';
12560
- unverifiedTimes += 1;
12561
12629
  } else {
12562
- requestState = 'REJECTED';
12630
+ if (unverifiedTimes < ALLOWED_RETRIES$3) {
12631
+ requestState = 'CAPTURING';
12632
+ unverifiedTimes += 1;
12633
+ } else {
12634
+ requestState = 'REJECTED';
12635
+ }
12563
12636
  }
12564
12637
  return tslib.__assign(tslib.__assign({}, state), {
12565
12638
  requestState: requestState,
@@ -12779,6 +12852,7 @@ var CustomerVerificationFailure = function CustomerVerificationFailure(_a) {
12779
12852
  }, verbiage.exitBtnText))));
12780
12853
  };
12781
12854
 
12855
+ var ALLOWED_RETRIES$2 = 2;
12782
12856
  var CustomerVerificationWizard = function CustomerVerificationWizard(_a) {
12783
12857
  var onComplete = _a.onComplete,
12784
12858
  onCustomerMatched = _a.onCustomerMatched,
@@ -12786,20 +12860,22 @@ var CustomerVerificationWizard = function CustomerVerificationWizard(_a) {
12786
12860
  onExitAfterFailure = _a.onExitAfterFailure,
12787
12861
  onCaptureGuidanceTimeout = _a.onCaptureGuidanceTimeout,
12788
12862
  captureGuidanceTimeoutDurationMs = _a.captureGuidanceTimeoutDurationMs,
12789
- _b = _a.assets,
12790
- assets = _b === void 0 ? {} : _b,
12791
- _c = _a.colors,
12792
- colors = _c === void 0 ? {} : _c,
12793
- _d = _a.verbiage,
12794
- verbiage = _d === void 0 ? {} : _d,
12795
- _e = _a.debugMode,
12796
- debugMode = _e === void 0 ? false : _e;
12797
- var _f = React.useContext(SubmissionContext),
12798
- submissionResponse = _f.submissionResponse,
12799
- selfieImage = _f.selfieImage;
12800
- var _g = React.useState('LOADING'),
12801
- captureState = _g[0],
12802
- setCaptureState = _g[1];
12863
+ _b = _a.skipSuccessScreen,
12864
+ skipSuccessScreen = _b === void 0 ? false : _b,
12865
+ _c = _a.assets,
12866
+ assets = _c === void 0 ? {} : _c,
12867
+ _d = _a.colors,
12868
+ colors = _d === void 0 ? {} : _d,
12869
+ _e = _a.verbiage,
12870
+ verbiage = _e === void 0 ? {} : _e,
12871
+ _f = _a.debugMode,
12872
+ debugMode = _f === void 0 ? false : _f;
12873
+ var _g = React.useContext(SubmissionContext),
12874
+ submissionResponse = _g.submissionResponse,
12875
+ selfieImage = _g.selfieImage;
12876
+ var _h = React.useState('LOADING'),
12877
+ captureState = _h[0],
12878
+ setCaptureState = _h[1];
12803
12879
  var releaseCameraAccess = React.useContext(CameraStateContext).releaseCameraAccess;
12804
12880
  var onCustomerMatchedCallback = React.useCallback(function (response) {
12805
12881
  return tslib.__awaiter(void 0, void 0, void 0, function () {
@@ -12823,15 +12899,20 @@ var CustomerVerificationWizard = function CustomerVerificationWizard(_a) {
12823
12899
  setCaptureState('FAILED');
12824
12900
  onCaptureGuidanceTimeout === null || onCaptureGuidanceTimeout === void 0 ? void 0 : onCaptureGuidanceTimeout();
12825
12901
  }, [onCaptureGuidanceTimeout]);
12826
- var _h = React.useState(0),
12827
- attempt = _h[0],
12828
- setAttempt = _h[1];
12902
+ var _j = React.useState(0),
12903
+ attempt = _j[0],
12904
+ setAttempt = _j[1];
12829
12905
  var onExitCallback = React.useCallback(function () {
12830
12906
  setAttempt(function (n) {
12831
12907
  return n + 1;
12832
12908
  });
12833
12909
  setCaptureState('LOADING');
12834
12910
  }, []);
12911
+ var onDoneCallback = React.useCallback(function () {
12912
+ releaseCameraAccess();
12913
+ submissionResponse && (onComplete === null || onComplete === void 0 ? void 0 : onComplete(submissionResponse));
12914
+ }, [onComplete, releaseCameraAccess, submissionResponse]);
12915
+ var showSuccessScreen = useShowSuccessScreen(skipSuccessScreen, captureState === 'MATCHED', onDoneCallback);
12835
12916
  return /*#__PURE__*/React__default['default'].createElement(React__default['default'].Fragment, null, captureState !== 'LOADING' && function () {
12836
12917
  switch (captureState) {
12837
12918
  case 'CAPTURING':
@@ -12847,16 +12928,15 @@ var CustomerVerificationWizard = function CustomerVerificationWizard(_a) {
12847
12928
  debugMode: debugMode
12848
12929
  });
12849
12930
  case 'MATCHED':
12931
+ if (!showSuccessScreen) return;
12850
12932
  return /*#__PURE__*/React__default['default'].createElement(CustomerVerificationSuccess, {
12851
12933
  imageUrl: "data:image/png;base64, ".concat(selfieImage),
12852
12934
  colors: colors.success,
12853
12935
  verbiage: verbiage.success,
12854
- onDoneClick: function onDoneClick() {
12855
- releaseCameraAccess();
12856
- submissionResponse && (onComplete === null || onComplete === void 0 ? void 0 : onComplete(submissionResponse));
12857
- },
12936
+ onDoneClick: onDoneCallback,
12858
12937
  onRetryClick: function onRetryClick() {
12859
12938
  setCaptureState('CAPTURING');
12939
+ setAttempt(0);
12860
12940
  }
12861
12941
  });
12862
12942
  case 'NOT_MATCHED':
@@ -12864,10 +12944,15 @@ var CustomerVerificationWizard = function CustomerVerificationWizard(_a) {
12864
12944
  assets: assets.failure,
12865
12945
  colors: colors.failure,
12866
12946
  verbiage: verbiage.failure,
12867
- canRetry: false,
12947
+ canRetry: attempt < ALLOWED_RETRIES$2,
12868
12948
  onExitClick: function onExitClick() {
12869
12949
  releaseCameraAccess();
12870
12950
  onExitAfterFailure === null || onExitAfterFailure === void 0 ? void 0 : onExitAfterFailure();
12951
+ },
12952
+ onRetryClick: function onRetryClick() {
12953
+ setAttempt(function (n) {
12954
+ return n + 1;
12955
+ });
12871
12956
  }
12872
12957
  });
12873
12958
  default:
@@ -12898,6 +12983,8 @@ var CustomerVerification = function CustomerVerification(_a) {
12898
12983
  webhooksStripSpecialCharacters = _a.webhooksStripSpecialCharacters,
12899
12984
  _d = _a.timeoutDurationMs,
12900
12985
  timeoutDurationMs = _d === void 0 ? 15000 : _d,
12986
+ _e = _a.skipSuccessScreen,
12987
+ skipSuccessScreen = _e === void 0 ? false : _e,
12901
12988
  assets = _a.assets,
12902
12989
  colors = _a.colors,
12903
12990
  verbiage = _a.verbiage,
@@ -12906,12 +12993,12 @@ var CustomerVerification = function CustomerVerification(_a) {
12906
12993
  onCustomerMatched = _a.onCustomerMatched,
12907
12994
  onCustomerNotMatched = _a.onCustomerNotMatched,
12908
12995
  onExitAfterFailure = _a.onExitAfterFailure,
12909
- _e = _a.geolocationEnabled,
12910
- geolocationEnabled = _e === void 0 ? true : _e,
12911
- _f = _a.geolocationRequired,
12912
- geolocationRequired = _f === void 0 ? false : _f,
12913
- _g = _a.debugMode,
12914
- debugMode = _g === void 0 ? false : _g;
12996
+ _f = _a.geolocationEnabled,
12997
+ geolocationEnabled = _f === void 0 ? true : _f,
12998
+ _g = _a.geolocationRequired,
12999
+ geolocationRequired = _g === void 0 ? false : _g,
13000
+ _h = _a.debugMode,
13001
+ debugMode = _h === void 0 ? false : _h;
12915
13002
  useLanguage(lang);
12916
13003
  return /*#__PURE__*/React__default['default'].createElement(SubmissionProvider, {
12917
13004
  action: SubmissionAction.VERIFY,
@@ -12934,6 +13021,7 @@ var CustomerVerification = function CustomerVerification(_a) {
12934
13021
  onCustomerNotMatched: onCustomerNotMatched,
12935
13022
  onExitAfterFailure: onExitAfterFailure,
12936
13023
  captureGuidanceTimeoutDurationMs: timeoutDurationMs,
13024
+ skipSuccessScreen: skipSuccessScreen,
12937
13025
  assets: assets,
12938
13026
  colors: colors,
12939
13027
  verbiage: verbiage,
@@ -12941,6 +13029,7 @@ var CustomerVerification = function CustomerVerification(_a) {
12941
13029
  }))));
12942
13030
  };
12943
13031
 
13032
+ var ALLOWED_RETRIES$1 = 0;
12944
13033
  var initialState = {
12945
13034
  frame: null,
12946
13035
  face: null,
@@ -12988,7 +13077,7 @@ var reducer = function reducer(state, action) {
12988
13077
  var customerMatched = resultData.verificationResultCode === '46';
12989
13078
  if (customerMatched) {
12990
13079
  requestState = 'FOUND';
12991
- } else if (notFoundTimes < 2) {
13080
+ } else if (notFoundTimes < ALLOWED_RETRIES$1) {
12992
13081
  requestState = 'CAPTURING';
12993
13082
  notFoundTimes += 1;
12994
13083
  } else {
@@ -13212,6 +13301,7 @@ var CustomerIdentificationFailure = function CustomerIdentificationFailure(_a) {
13212
13301
  }, verbiage.exitBtnText))));
13213
13302
  };
13214
13303
 
13304
+ var ALLOWED_RETRIES = 2;
13215
13305
  var CustomerIdentificationWizard = function CustomerIdentificationWizard(_a) {
13216
13306
  var onComplete = _a.onComplete,
13217
13307
  onCustomerMatched = _a.onCustomerMatched,
@@ -13219,20 +13309,22 @@ var CustomerIdentificationWizard = function CustomerIdentificationWizard(_a) {
13219
13309
  onExitAfterFailure = _a.onExitAfterFailure,
13220
13310
  onCaptureGuidanceTimeout = _a.onCaptureGuidanceTimeout,
13221
13311
  captureGuidanceTimeoutDurationMs = _a.captureGuidanceTimeoutDurationMs,
13222
- _b = _a.assets,
13223
- assets = _b === void 0 ? {} : _b,
13224
- _c = _a.colors,
13225
- colors = _c === void 0 ? {} : _c,
13226
- _d = _a.verbiage,
13227
- verbiage = _d === void 0 ? {} : _d,
13228
- _e = _a.debugMode,
13229
- debugMode = _e === void 0 ? false : _e;
13230
- var _f = React.useContext(SubmissionContext),
13231
- submissionResponse = _f.submissionResponse,
13232
- selfieImage = _f.selfieImage;
13233
- var _g = React.useState('LOADING'),
13234
- captureState = _g[0],
13235
- setCaptureState = _g[1];
13312
+ _b = _a.skipSuccessScreen,
13313
+ skipSuccessScreen = _b === void 0 ? false : _b,
13314
+ _c = _a.assets,
13315
+ assets = _c === void 0 ? {} : _c,
13316
+ _d = _a.colors,
13317
+ colors = _d === void 0 ? {} : _d,
13318
+ _e = _a.verbiage,
13319
+ verbiage = _e === void 0 ? {} : _e,
13320
+ _f = _a.debugMode,
13321
+ debugMode = _f === void 0 ? false : _f;
13322
+ var _g = React.useContext(SubmissionContext),
13323
+ submissionResponse = _g.submissionResponse,
13324
+ selfieImage = _g.selfieImage;
13325
+ var _h = React.useState('LOADING'),
13326
+ captureState = _h[0],
13327
+ setCaptureState = _h[1];
13236
13328
  var releaseCameraAccess = React.useContext(CameraStateContext).releaseCameraAccess;
13237
13329
  var onCustomerMatchedCallback = React.useCallback(function (response) {
13238
13330
  return tslib.__awaiter(void 0, void 0, void 0, function () {
@@ -13256,15 +13348,20 @@ var CustomerIdentificationWizard = function CustomerIdentificationWizard(_a) {
13256
13348
  setCaptureState('FAILED');
13257
13349
  onCaptureGuidanceTimeout === null || onCaptureGuidanceTimeout === void 0 ? void 0 : onCaptureGuidanceTimeout();
13258
13350
  }, [onCaptureGuidanceTimeout]);
13259
- var _h = React.useState(0),
13260
- attempt = _h[0],
13261
- setAttempt = _h[1];
13351
+ var _j = React.useState(0),
13352
+ attempt = _j[0],
13353
+ setAttempt = _j[1];
13262
13354
  var onExitCallback = React.useCallback(function () {
13263
13355
  setAttempt(function (n) {
13264
13356
  return n + 1;
13265
13357
  });
13266
13358
  setCaptureState('LOADING');
13267
13359
  }, []);
13360
+ var onDoneCallback = React.useCallback(function () {
13361
+ releaseCameraAccess();
13362
+ submissionResponse && (onComplete === null || onComplete === void 0 ? void 0 : onComplete(submissionResponse));
13363
+ }, [onComplete, releaseCameraAccess, submissionResponse]);
13364
+ var showSuccessScreen = useShowSuccessScreen(skipSuccessScreen, captureState === 'FOUND', onDoneCallback);
13268
13365
  return /*#__PURE__*/React__default['default'].createElement(React__default['default'].Fragment, null, captureState !== 'LOADING' && function () {
13269
13366
  switch (captureState) {
13270
13367
  case 'CAPTURING':
@@ -13280,16 +13377,15 @@ var CustomerIdentificationWizard = function CustomerIdentificationWizard(_a) {
13280
13377
  debugMode: debugMode
13281
13378
  });
13282
13379
  case 'FOUND':
13380
+ if (!showSuccessScreen) return;
13283
13381
  return /*#__PURE__*/React__default['default'].createElement(CustomerIdentificationSuccess, {
13284
13382
  imageUrl: "data:image/png;base64, ".concat(selfieImage),
13285
13383
  colors: colors.success,
13286
13384
  verbiage: verbiage.success,
13287
- onDoneClick: function onDoneClick() {
13288
- releaseCameraAccess();
13289
- submissionResponse && (onComplete === null || onComplete === void 0 ? void 0 : onComplete(submissionResponse));
13290
- },
13385
+ onDoneClick: onDoneCallback,
13291
13386
  onRetryClick: function onRetryClick() {
13292
13387
  setCaptureState('CAPTURING');
13388
+ setAttempt(0);
13293
13389
  }
13294
13390
  });
13295
13391
  case 'NOT_FOUND':
@@ -13298,10 +13394,15 @@ var CustomerIdentificationWizard = function CustomerIdentificationWizard(_a) {
13298
13394
  assets: assets.failure,
13299
13395
  colors: colors.failure,
13300
13396
  verbiage: verbiage.failure,
13301
- canRetry: false,
13397
+ canRetry: attempt < ALLOWED_RETRIES,
13302
13398
  onExitClick: function onExitClick() {
13303
13399
  releaseCameraAccess();
13304
13400
  onExitAfterFailure === null || onExitAfterFailure === void 0 ? void 0 : onExitAfterFailure();
13401
+ },
13402
+ onRetryClick: function onRetryClick() {
13403
+ setAttempt(function (n) {
13404
+ return n + 1;
13405
+ });
13305
13406
  }
13306
13407
  });
13307
13408
  default:
@@ -13331,6 +13432,8 @@ var CustomerIdentification = function CustomerIdentification(_a) {
13331
13432
  webhooksStripSpecialCharacters = _a.webhooksStripSpecialCharacters,
13332
13433
  _d = _a.timeoutDurationMs,
13333
13434
  timeoutDurationMs = _d === void 0 ? 15000 : _d,
13435
+ _e = _a.skipSuccessScreen,
13436
+ skipSuccessScreen = _e === void 0 ? false : _e,
13334
13437
  onBeforeSubmit = _a.onBeforeSubmit,
13335
13438
  onComplete = _a.onComplete,
13336
13439
  onCustomerMatched = _a.onCustomerMatched,
@@ -13341,10 +13444,10 @@ var CustomerIdentification = function CustomerIdentification(_a) {
13341
13444
  colors = _a.colors,
13342
13445
  verbiage = _a.verbiage,
13343
13446
  geolocationEnabled = _a.geolocationEnabled,
13344
- _e = _a.geolocationRequired,
13345
- geolocationRequired = _e === void 0 ? false : _e,
13346
- _f = _a.debugMode,
13347
- debugMode = _f === void 0 ? false : _f;
13447
+ _f = _a.geolocationRequired,
13448
+ geolocationRequired = _f === void 0 ? false : _f,
13449
+ _g = _a.debugMode,
13450
+ debugMode = _g === void 0 ? false : _g;
13348
13451
  useLanguage(lang);
13349
13452
  return /*#__PURE__*/React__default['default'].createElement(SubmissionProvider, {
13350
13453
  action: SubmissionAction.IDENTIFY,
@@ -13367,6 +13470,7 @@ var CustomerIdentification = function CustomerIdentification(_a) {
13367
13470
  onExitAfterFailure: onExitAfterFailure,
13368
13471
  onCaptureGuidanceTimeout: onCaptureGuidanceTimeout,
13369
13472
  captureGuidanceTimeoutDurationMs: timeoutDurationMs,
13473
+ skipSuccessScreen: skipSuccessScreen,
13370
13474
  assets: assets,
13371
13475
  colors: colors,
13372
13476
  verbiage: verbiage,
@@ -13425,40 +13529,43 @@ var CustomerBiometricsEnrollment = function CustomerBiometricsEnrollment(_a) {
13425
13529
  webhooksStripSpecialCharacters = _a.webhooksStripSpecialCharacters,
13426
13530
  _d = _a.timeoutDurationMs,
13427
13531
  timeoutDurationMs = _d === void 0 ? 15000 : _d,
13532
+ _e = _a.skipSuccessScreen,
13533
+ skipSuccessScreen = _e === void 0 ? false : _e,
13428
13534
  onBeforeSubmit = _a.onBeforeSubmit,
13429
13535
  onComplete = _a.onComplete,
13430
13536
  onEnrolled = _a.onEnrolled,
13431
13537
  onDenied = _a.onDenied,
13432
13538
  onExitAfterFailure = _a.onExitAfterFailure,
13433
- _e = _a.captureAdditionalDocuments,
13434
- captureAdditionalDocuments = _e === void 0 ? [] : _e,
13435
- _f = _a.captureSignature,
13436
- captureSignature = _f === void 0 ? false : _f,
13437
- _g = _a.captureSignatureVideo,
13438
- captureSignatureVideo = _g === void 0 ? false : _g,
13439
- _h = _a.assets,
13440
- assets = _h === void 0 ? {} : _h,
13441
- _j = _a.colors,
13442
- colors = _j === void 0 ? {} : _j,
13443
- _k = _a.verbiage,
13444
- verbiage = _k === void 0 ? {} : _k,
13445
- _l = _a.geolocationEnabled,
13446
- geolocationEnabled = _l === void 0 ? true : _l,
13447
- _m = _a.geolocationRequired,
13448
- geolocationRequired = _m === void 0 ? false : _m,
13449
- _o = _a.debugMode,
13450
- debugMode = _o === void 0 ? false : _o;
13539
+ _f = _a.captureAdditionalDocuments,
13540
+ captureAdditionalDocuments = _f === void 0 ? [] : _f,
13541
+ _g = _a.captureSignature,
13542
+ captureSignature = _g === void 0 ? false : _g,
13543
+ _h = _a.captureSignatureVideo,
13544
+ captureSignatureVideo = _h === void 0 ? false : _h,
13545
+ _j = _a.assets,
13546
+ assets = _j === void 0 ? {} : _j,
13547
+ _k = _a.colors,
13548
+ colors = _k === void 0 ? {} : _k,
13549
+ _l = _a.verbiage,
13550
+ verbiage = _l === void 0 ? {} : _l,
13551
+ _m = _a.geolocationEnabled,
13552
+ geolocationEnabled = _m === void 0 ? true : _m,
13553
+ _o = _a.geolocationRequired,
13554
+ geolocationRequired = _o === void 0 ? false : _o,
13555
+ _p = _a.debugMode,
13556
+ debugMode = _p === void 0 ? false : _p;
13451
13557
  useLanguage(lang);
13452
13558
  var faceLivenessProps = React.useMemo(function () {
13453
13559
  return {
13454
13560
  onExitAfterFailure: onExitAfterFailure,
13455
13561
  timeoutDurationMs: timeoutDurationMs,
13562
+ skipSuccessScreen: skipSuccessScreen,
13456
13563
  assets: assets.faceLiveness,
13457
13564
  colors: colors.faceLiveness,
13458
13565
  verbiage: verbiage.faceLiveness,
13459
13566
  debugMode: debugMode
13460
13567
  };
13461
- }, [assets, colors, debugMode, onExitAfterFailure, timeoutDurationMs, verbiage]);
13568
+ }, [assets.faceLiveness, colors.faceLiveness, debugMode, onExitAfterFailure, skipSuccessScreen, timeoutDurationMs, verbiage.faceLiveness]);
13462
13569
  var additionalDocumentCaptureProps = React.useMemo(function () {
13463
13570
  return {
13464
13571
  documents: captureAdditionalDocuments,
@@ -13472,11 +13579,12 @@ var CustomerBiometricsEnrollment = function CustomerBiometricsEnrollment(_a) {
13472
13579
  }, [verbiage.signatureCapture]);
13473
13580
  var videoSignatureCaptureProps = React.useMemo(function () {
13474
13581
  return {
13582
+ skipSuccessScreen: skipSuccessScreen,
13475
13583
  colors: colors === null || colors === void 0 ? void 0 : colors.videoSignatureCapture,
13476
13584
  verbiage: verbiage === null || verbiage === void 0 ? void 0 : verbiage.videoSignatureCapture,
13477
13585
  debugMode: debugMode
13478
13586
  };
13479
- }, [colors === null || colors === void 0 ? void 0 : colors.videoSignatureCapture, debugMode, verbiage === null || verbiage === void 0 ? void 0 : verbiage.videoSignatureCapture]);
13587
+ }, [colors === null || colors === void 0 ? void 0 : colors.videoSignatureCapture, debugMode, skipSuccessScreen, verbiage === null || verbiage === void 0 ? void 0 : verbiage.videoSignatureCapture]);
13480
13588
  var onResponseReceived = React.useCallback(function (submissionResponse) {
13481
13589
  onComplete === null || onComplete === void 0 ? void 0 : onComplete(submissionResponse);
13482
13590
  if (submissionResponse.resultData['verificationResult'] === 'Customer Onboarded') {
@@ -13521,14 +13629,16 @@ var SignatureKYC = function SignatureKYC(_a) {
13521
13629
  submissionUrl = _a.submissionUrl,
13522
13630
  onBeforeSubmit = _a.onBeforeSubmit,
13523
13631
  onComplete = _a.onComplete,
13632
+ _b = _a.skipSuccessScreen,
13633
+ skipSuccessScreen = _b === void 0 ? false : _b,
13524
13634
  colors = _a.colors,
13525
13635
  verbiage = _a.verbiage,
13526
13636
  geolocationEnabled = _a.geolocationEnabled,
13527
13637
  geolocationRequired = _a.geolocationRequired,
13528
13638
  debugMode = _a.debugMode;
13529
- var _b = React.useState(0),
13530
- attempt = _b[0],
13531
- setAttempt = _b[1];
13639
+ var _c = React.useState(0),
13640
+ attempt = _c[0],
13641
+ setAttempt = _c[1];
13532
13642
  return /*#__PURE__*/React__default['default'].createElement(SubmissionProvider, {
13533
13643
  action: SubmissionAction.NONE,
13534
13644
  environment: submissionEnvironment,
@@ -13543,6 +13653,7 @@ var SignatureKYC = function SignatureKYC(_a) {
13543
13653
  preferContinuityCamera: false,
13544
13654
  preferFrontFacingCamera: true
13545
13655
  }, /*#__PURE__*/React__default['default'].createElement(VideoSignatureWizard, {
13656
+ skipSuccessScreen: skipSuccessScreen,
13546
13657
  colors: colors,
13547
13658
  debugMode: debugMode,
13548
13659
  verbiage: verbiage,