idmission-web-sdk 2.3.36 → 2.3.38
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/components/customer_flows/SignatureKYC.d.ts +4 -0
- package/dist/components/customer_flows/SignatureKYC.d.ts.map +1 -1
- package/dist/components/face_liveness/FaceLivenessWizard.d.ts +1 -1
- package/dist/components/face_liveness/FaceLivenessWizard.d.ts.map +1 -1
- package/dist/components/selfie_capture/SelfieCaptureWizard.d.ts +49 -0
- package/dist/components/selfie_capture/SelfieCaptureWizard.d.ts.map +1 -0
- package/dist/components/selfie_capture/SelfieGuidanceModelsProvider.d.ts.map +1 -1
- package/dist/components/submission/SubmissionProvider.d.ts +1 -0
- package/dist/components/submission/SubmissionProvider.d.ts.map +1 -1
- package/dist/components/video_signature_capture/VideoSignatureWizard.d.ts +3 -1
- package/dist/components/video_signature_capture/VideoSignatureWizard.d.ts.map +1 -1
- package/dist/sdk2.cjs.development.js +300 -61
- package/dist/sdk2.cjs.development.js.map +1 -1
- package/dist/sdk2.cjs.production.js +1 -1
- package/dist/sdk2.cjs.production.js.map +1 -1
- package/dist/sdk2.esm.js +300 -61
- package/dist/sdk2.esm.js.map +1 -1
- package/dist/sdk2.umd.development.js +300 -61
- package/dist/sdk2.umd.development.js.map +1 -1
- package/dist/sdk2.umd.production.js +1 -1
- package/dist/sdk2.umd.production.js.map +1 -1
- package/dist/version.d.ts +1 -1
- package/package.json +3 -3
|
@@ -211,7 +211,7 @@
|
|
|
211
211
|
return e.name = "SuppressedError", e.error = error, e.suppressed = suppressed, e;
|
|
212
212
|
};
|
|
213
213
|
|
|
214
|
-
var webSdkVersion = '2.3.
|
|
214
|
+
var webSdkVersion = '2.3.38';
|
|
215
215
|
|
|
216
216
|
function getPlatform() {
|
|
217
217
|
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
@@ -265,6 +265,25 @@
|
|
|
265
265
|
var _a, _b;
|
|
266
266
|
return (_b = (_a = url.match(/^(data:.*;base64),/)) === null || _a === void 0 ? void 0 : _a[1]) !== null && _b !== void 0 ? _b : '';
|
|
267
267
|
}
|
|
268
|
+
function b64toBlob(b64Data, contentType, sliceSize) {
|
|
269
|
+
if (sliceSize === void 0) {
|
|
270
|
+
sliceSize = 512;
|
|
271
|
+
}
|
|
272
|
+
var byteCharacters = atob(b64Data);
|
|
273
|
+
var byteArrays = [];
|
|
274
|
+
for (var offset = 0; offset < byteCharacters.length; offset += sliceSize) {
|
|
275
|
+
var slice = byteCharacters.slice(offset, offset + sliceSize);
|
|
276
|
+
var byteNumbers = new Array(slice.length);
|
|
277
|
+
for (var i = 0; i < slice.length; i++) {
|
|
278
|
+
byteNumbers[i] = slice.charCodeAt(i);
|
|
279
|
+
}
|
|
280
|
+
var byteArray = new Uint8Array(byteNumbers);
|
|
281
|
+
byteArrays.push(byteArray);
|
|
282
|
+
}
|
|
283
|
+
return new Blob(byteArrays, {
|
|
284
|
+
type: contentType
|
|
285
|
+
});
|
|
286
|
+
}
|
|
268
287
|
function blobToB64(blob) {
|
|
269
288
|
return new Promise(function (resolve) {
|
|
270
289
|
var reader = new FileReader();
|
|
@@ -3067,6 +3086,13 @@
|
|
|
3067
3086
|
});
|
|
3068
3087
|
});
|
|
3069
3088
|
}
|
|
3089
|
+
function useSubmissionContext() {
|
|
3090
|
+
var context = React.useContext(SubmissionContext);
|
|
3091
|
+
if (!context) {
|
|
3092
|
+
throw new Error('useSubmissionContext must be used within a SubmissionProvider');
|
|
3093
|
+
}
|
|
3094
|
+
return context;
|
|
3095
|
+
}
|
|
3070
3096
|
|
|
3071
3097
|
function _typeof$1(o) {
|
|
3072
3098
|
"@babel/helpers - typeof";
|
|
@@ -20619,7 +20645,7 @@
|
|
|
20619
20645
|
}), children);
|
|
20620
20646
|
}
|
|
20621
20647
|
function useSelfieGuidanceModelsContext() {
|
|
20622
|
-
var context =
|
|
20648
|
+
var context = React.useContext(SelfieGuidanceModelsContext);
|
|
20623
20649
|
if (!context) {
|
|
20624
20650
|
throw new Error('useSelfieGuidanceModelsContext must be used within a SelfieGuidanceModelsProvider');
|
|
20625
20651
|
}
|
|
@@ -21837,7 +21863,7 @@
|
|
|
21837
21863
|
debugMode = _s === void 0 ? false : _s,
|
|
21838
21864
|
_t = _a.showLoadingOverlay,
|
|
21839
21865
|
showLoadingOverlay = _t === void 0 ? true : _t;
|
|
21840
|
-
var _u =
|
|
21866
|
+
var _u = useSubmissionContext(),
|
|
21841
21867
|
submissionResponse = _u.submissionResponse,
|
|
21842
21868
|
livenessCheckRequest = _u.livenessCheckRequest,
|
|
21843
21869
|
setSelfieImage = _u.setSelfieImage,
|
|
@@ -21864,9 +21890,10 @@
|
|
|
21864
21890
|
var captureStartedAt = React.useRef();
|
|
21865
21891
|
var operationStartedAt = React.useRef();
|
|
21866
21892
|
var livenessScore = React.useRef();
|
|
21867
|
-
var _z =
|
|
21893
|
+
var _z = useSelfieGuidanceModelsContext(),
|
|
21868
21894
|
start = _z.start,
|
|
21869
|
-
stop = _z.stop
|
|
21895
|
+
stop = _z.stop,
|
|
21896
|
+
selfieGuidanceCanvasRef = _z.canvasRef;
|
|
21870
21897
|
React.useEffect(function () {
|
|
21871
21898
|
if (precapturedDocuments === null || precapturedDocuments === void 0 ? void 0 : precapturedDocuments.selfie) {
|
|
21872
21899
|
setSelfieImage(precapturedDocuments.selfie.imageData);
|
|
@@ -21892,7 +21919,7 @@
|
|
|
21892
21919
|
});
|
|
21893
21920
|
}, [logSelfieCaptureAttempt]);
|
|
21894
21921
|
var onFaceDetected = React.useCallback(function (prediction) {
|
|
21895
|
-
if (prediction.face &&
|
|
21922
|
+
if (prediction.face && prediction.faceReady) {
|
|
21896
21923
|
captureStartedAt.current || (captureStartedAt.current = new Date());
|
|
21897
21924
|
}
|
|
21898
21925
|
}, []);
|
|
@@ -21924,7 +21951,6 @@
|
|
|
21924
21951
|
});
|
|
21925
21952
|
});
|
|
21926
21953
|
}, [allowLivenessFailure, livenessCheckRequest, onFailure, onSuccess, submissionResponse]);
|
|
21927
|
-
var selfieGuidanceCanvasRef = React.useContext(SelfieGuidanceModelsContext).canvasRef;
|
|
21928
21954
|
var resizeCanvas = React.useRef(null);
|
|
21929
21955
|
var onTimeoutCallback = React.useCallback(function () {
|
|
21930
21956
|
if (allowLivenessFailure) {
|
|
@@ -23878,10 +23904,186 @@
|
|
|
23878
23904
|
var StyledVideo$1 = styled.video(templateObject_1$9 || (templateObject_1$9 = __makeTemplateObject(["\n margin-left: auto;\n margin-right: auto;\n max-width: 100%;\n"], ["\n margin-left: auto;\n margin-right: auto;\n max-width: 100%;\n"])));
|
|
23879
23905
|
var templateObject_1$9;
|
|
23880
23906
|
|
|
23907
|
+
function SelfieCaptureWizard(_a) {
|
|
23908
|
+
var _b;
|
|
23909
|
+
var onLoadingStarted = _a.onLoadingStarted,
|
|
23910
|
+
onLoadingProgress = _a.onLoadingProgress,
|
|
23911
|
+
onLoadingCompleted = _a.onLoadingCompleted,
|
|
23912
|
+
onLoadingOverlayDismissed = _a.onLoadingOverlayDismissed,
|
|
23913
|
+
onCapture = _a.onCapture,
|
|
23914
|
+
onUserCancel = _a.onUserCancel,
|
|
23915
|
+
onExitCapture = _a.onExitCapture,
|
|
23916
|
+
precapturedDocuments = _a.precapturedDocuments,
|
|
23917
|
+
_c = _a.renderCameraFeed,
|
|
23918
|
+
renderCameraFeed = _c === void 0 ? true : _c,
|
|
23919
|
+
_d = _a.showLoadingOverlay,
|
|
23920
|
+
showLoadingOverlay = _d === void 0 ? true : _d,
|
|
23921
|
+
_e = _a.loadingOverlayMode,
|
|
23922
|
+
loadingOverlayMode = _e === void 0 ? 'default' : _e,
|
|
23923
|
+
customOverlayContent = _a.customOverlayContent,
|
|
23924
|
+
_f = _a.waitForIdCaptureModels,
|
|
23925
|
+
waitForIdCaptureModels = _f === void 0 ? false : _f,
|
|
23926
|
+
_g = _a.initialCaptureDelayMs,
|
|
23927
|
+
initialCaptureDelayMs = _g === void 0 ? 1000 : _g,
|
|
23928
|
+
_h = _a.silentFallback,
|
|
23929
|
+
silentFallback = _h === void 0 ? false : _h,
|
|
23930
|
+
guidanceMessage = _a.guidanceMessage,
|
|
23931
|
+
guidesComponent = _a.guidesComponent,
|
|
23932
|
+
_j = _a.assets,
|
|
23933
|
+
assets = _j === void 0 ? {} : _j,
|
|
23934
|
+
_k = _a.classNames,
|
|
23935
|
+
classNames = _k === void 0 ? {} : _k,
|
|
23936
|
+
_l = _a.colors,
|
|
23937
|
+
colors = _l === void 0 ? {} : _l,
|
|
23938
|
+
_m = _a.verbiage,
|
|
23939
|
+
verbiage = _m === void 0 ? {} : _m,
|
|
23940
|
+
_o = _a.debugMode,
|
|
23941
|
+
debugMode = _o === void 0 ? false : _o;
|
|
23942
|
+
var _p = useSubmissionContext(),
|
|
23943
|
+
setSelfieImage = _p.setSelfieImage,
|
|
23944
|
+
logSelfieCaptureAttempt = _p.logSelfieCaptureAttempt;
|
|
23945
|
+
var _q = useCameraStore(useShallow(function (state) {
|
|
23946
|
+
return {
|
|
23947
|
+
cameraAccessDenied: state.cameraAccessDenied,
|
|
23948
|
+
requestCameraAccess: state.requestCameraAccess,
|
|
23949
|
+
releaseCameraAccess: state.releaseCameraAccess
|
|
23950
|
+
};
|
|
23951
|
+
})),
|
|
23952
|
+
cameraAccessDenied = _q.cameraAccessDenied,
|
|
23953
|
+
requestCameraAccess = _q.requestCameraAccess,
|
|
23954
|
+
releaseCameraAccess = _q.releaseCameraAccess;
|
|
23955
|
+
var _r = React.useState(showLoadingOverlay ? 'LOADING' : 'CAPTURING'),
|
|
23956
|
+
captureState = _r[0],
|
|
23957
|
+
setCaptureState = _r[1];
|
|
23958
|
+
var rawCanvas = React.useRef(null);
|
|
23959
|
+
var cropCanvas = React.useRef(null);
|
|
23960
|
+
var resizeCanvas = React.useRef(null);
|
|
23961
|
+
var captureStartedAt = React.useRef();
|
|
23962
|
+
var operationStartedAt = React.useRef();
|
|
23963
|
+
var _s = useSelfieGuidanceModelsContext(),
|
|
23964
|
+
start = _s.start,
|
|
23965
|
+
stop = _s.stop,
|
|
23966
|
+
modelError = _s.error;
|
|
23967
|
+
React.useEffect(function () {
|
|
23968
|
+
if (precapturedDocuments === null || precapturedDocuments === void 0 ? void 0 : precapturedDocuments.selfie) {
|
|
23969
|
+
setSelfieImage(precapturedDocuments.selfie.imageData);
|
|
23970
|
+
setCaptureState('SUCCESS');
|
|
23971
|
+
return;
|
|
23972
|
+
}
|
|
23973
|
+
if (captureState !== 'CAPTURING') return;
|
|
23974
|
+
operationStartedAt.current = new Date();
|
|
23975
|
+
captureStartedAt.current = undefined;
|
|
23976
|
+
setTimeout(start, 1);
|
|
23977
|
+
return stop;
|
|
23978
|
+
}, [captureState, precapturedDocuments === null || precapturedDocuments === void 0 ? void 0 : precapturedDocuments.selfie, setSelfieImage, start, stop]);
|
|
23979
|
+
var onLoadingOverlayDismissedCallback = React.useCallback(function () {
|
|
23980
|
+
setCaptureState('CAPTURING');
|
|
23981
|
+
onLoadingOverlayDismissed === null || onLoadingOverlayDismissed === void 0 ? void 0 : onLoadingOverlayDismissed();
|
|
23982
|
+
}, [onLoadingOverlayDismissed]);
|
|
23983
|
+
var logCaptureMetadata = React.useCallback(function () {
|
|
23984
|
+
var _a, _b;
|
|
23985
|
+
logSelfieCaptureAttempt({
|
|
23986
|
+
autoCapture: 'Y',
|
|
23987
|
+
captureTime: new Date().getTime() - ((_a = captureStartedAt.current) !== null && _a !== void 0 ? _a : new Date()).getTime(),
|
|
23988
|
+
operationTime: new Date().getTime() - ((_b = operationStartedAt.current) !== null && _b !== void 0 ? _b : new Date()).getTime()
|
|
23989
|
+
});
|
|
23990
|
+
}, [logSelfieCaptureAttempt]);
|
|
23991
|
+
var onFaceDetected = React.useCallback(function (prediction) {
|
|
23992
|
+
if (prediction.face && prediction.faceReady) {
|
|
23993
|
+
captureStartedAt.current || (captureStartedAt.current = new Date());
|
|
23994
|
+
}
|
|
23995
|
+
}, []);
|
|
23996
|
+
var onSelfieCaptured = React.useCallback(function (frame, face) {
|
|
23997
|
+
logCaptureMetadata();
|
|
23998
|
+
var imageUrl = cropToShoulders(rawCanvas.current, cropCanvas.current, resizeCanvas.current, frame, face, 0.92, 600);
|
|
23999
|
+
setCaptureState('SUCCESS');
|
|
24000
|
+
onCapture === null || onCapture === void 0 ? void 0 : onCapture(imageUrl);
|
|
24001
|
+
}, [logCaptureMetadata, onCapture]);
|
|
24002
|
+
var onFallbackImageCaptured = React.useCallback(function (imageUrl) {
|
|
24003
|
+
setSelfieImage(imageUrl);
|
|
24004
|
+
setCaptureState('SUCCESS');
|
|
24005
|
+
onCapture === null || onCapture === void 0 ? void 0 : onCapture(imageUrl);
|
|
24006
|
+
}, [onCapture, setSelfieImage]);
|
|
24007
|
+
var guidesByRequestState = React.useCallback(function (props) {
|
|
24008
|
+
var GuidesComponent = guidesComponent !== null && guidesComponent !== void 0 ? guidesComponent : FaceCaptureGuideOverlay;
|
|
24009
|
+
var status = ['IN_PROGRESS', 'CAPTURE_STARTED', 'GUIDANCE_SATISFIED', 'CAPTURED'].includes(captureState) ? 'processing' : ['FAILED', 'ERROR'].includes(captureState) ? 'failure' : 'ready';
|
|
24010
|
+
return /*#__PURE__*/React.createElement(GuidesComponent, _assign({}, props, {
|
|
24011
|
+
status: status
|
|
24012
|
+
}));
|
|
24013
|
+
}, [captureState, guidesComponent]);
|
|
24014
|
+
var _t = React.useState(0),
|
|
24015
|
+
attempt = _t[0],
|
|
24016
|
+
setAttempt = _t[1];
|
|
24017
|
+
var onExitCallback = React.useCallback(function () {
|
|
24018
|
+
setAttempt(function (n) {
|
|
24019
|
+
return n + 1;
|
|
24020
|
+
});
|
|
24021
|
+
setCaptureState('LOADING');
|
|
24022
|
+
releaseCameraAccess();
|
|
24023
|
+
onExitCapture === null || onExitCapture === void 0 ? void 0 : onExitCapture();
|
|
24024
|
+
void requestCameraAccess();
|
|
24025
|
+
}, [onExitCapture, releaseCameraAccess, requestCameraAccess]);
|
|
24026
|
+
React.useEffect(function () {
|
|
24027
|
+
if (cameraAccessDenied) {
|
|
24028
|
+
setAttempt(function (n) {
|
|
24029
|
+
return n + 1;
|
|
24030
|
+
});
|
|
24031
|
+
setCaptureState('LOADING');
|
|
24032
|
+
}
|
|
24033
|
+
}, [cameraAccessDenied]);
|
|
24034
|
+
var initialDelayOver = useTimeout(initialCaptureDelayMs).timedOut;
|
|
24035
|
+
if (modelError) {
|
|
24036
|
+
return /*#__PURE__*/React.createElement(SelfieCaptureFallback, {
|
|
24037
|
+
onFinished: onFallbackImageCaptured,
|
|
24038
|
+
silentFallback: silentFallback,
|
|
24039
|
+
invalidSelfie: false,
|
|
24040
|
+
guidanceMessage: guidanceMessage
|
|
24041
|
+
});
|
|
24042
|
+
}
|
|
24043
|
+
return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(InvisibleCanvas, {
|
|
24044
|
+
ref: rawCanvas
|
|
24045
|
+
}), /*#__PURE__*/React.createElement(InvisibleCanvas, {
|
|
24046
|
+
ref: cropCanvas
|
|
24047
|
+
}), /*#__PURE__*/React.createElement(InvisibleCanvas, {
|
|
24048
|
+
ref: resizeCanvas
|
|
24049
|
+
}), renderCameraFeed && ( /*#__PURE__*/React.createElement(CameraVideoTag, {
|
|
24050
|
+
className: (_b = classNames.capture) === null || _b === void 0 ? void 0 : _b.cameraFeed
|
|
24051
|
+
})), captureState === 'CAPTURING' && ( /*#__PURE__*/React.createElement(SelfieCapture, {
|
|
24052
|
+
onFaceDetected: onFaceDetected,
|
|
24053
|
+
onSelfieCaptured: onSelfieCaptured,
|
|
24054
|
+
onExit: onExitCallback,
|
|
24055
|
+
shouldCapture: initialDelayOver,
|
|
24056
|
+
guidanceMessage: guidanceMessage,
|
|
24057
|
+
guidanceSatisfied: guidanceMessage ? false : undefined,
|
|
24058
|
+
guidesComponent: guidesByRequestState,
|
|
24059
|
+
classNames: classNames.capture,
|
|
24060
|
+
colors: colors.capture,
|
|
24061
|
+
verbiage: verbiage.capture,
|
|
24062
|
+
debugMode: debugMode
|
|
24063
|
+
})), showLoadingOverlay && ( /*#__PURE__*/React.createElement(SelfieCaptureLoadingOverlay, {
|
|
24064
|
+
key: attempt,
|
|
24065
|
+
mode: loadingOverlayMode,
|
|
24066
|
+
customOverlayContent: customOverlayContent,
|
|
24067
|
+
assets: assets.loadingOverlay,
|
|
24068
|
+
classNames: classNames.loadingOverlay,
|
|
24069
|
+
colors: colors.loadingOverlay,
|
|
24070
|
+
verbiage: verbiage.loadingOverlay,
|
|
24071
|
+
onLoadingStarted: onLoadingStarted,
|
|
24072
|
+
onLoadingProgress: onLoadingProgress,
|
|
24073
|
+
onLoadingCompleted: onLoadingCompleted,
|
|
24074
|
+
onUserCancel: onUserCancel,
|
|
24075
|
+
onDismissed: onLoadingOverlayDismissedCallback,
|
|
24076
|
+
waitForIdCaptureModels: waitForIdCaptureModels
|
|
24077
|
+
})));
|
|
24078
|
+
}
|
|
24079
|
+
|
|
24080
|
+
var selfieCaptureStates = ['CAPTURING_SELFIE', 'CHECKING_LIVENESS'];
|
|
24081
|
+
var activeCaptureStates = __spreadArray(__spreadArray([], selfieCaptureStates, true), ['CAPTURING_SIGNATURE'], false);
|
|
23881
24082
|
var VideoSignatureWizard = function VideoSignatureWizard(_a) {
|
|
23882
24083
|
var onLoadingStarted = _a.onLoadingStarted,
|
|
23883
24084
|
onLoadingProgress = _a.onLoadingProgress,
|
|
23884
24085
|
onLoadingCompleted = _a.onLoadingCompleted,
|
|
24086
|
+
onSelfieCaptured = _a.onSelfieCaptured,
|
|
23885
24087
|
onComplete = _a.onComplete,
|
|
23886
24088
|
onVideoCaptured = _a.onVideoCaptured,
|
|
23887
24089
|
onRetryClicked = _a.onRetryClicked,
|
|
@@ -23903,52 +24105,54 @@
|
|
|
23903
24105
|
allowSignatureAfterLivenessCheckFailure = _g === void 0 ? false : _g,
|
|
23904
24106
|
_h = _a.restartVideoOnSignaturePadCleared,
|
|
23905
24107
|
restartVideoOnSignaturePadCleared = _h === void 0 ? true : _h,
|
|
24108
|
+
_j = _a.skipLivenessValidation,
|
|
24109
|
+
skipLivenessValidation = _j === void 0 ? false : _j,
|
|
23906
24110
|
faceLivenessProps = _a.faceLivenessProps,
|
|
23907
|
-
|
|
23908
|
-
assets =
|
|
23909
|
-
|
|
23910
|
-
classNames =
|
|
23911
|
-
|
|
23912
|
-
colors =
|
|
23913
|
-
|
|
23914
|
-
verbiage =
|
|
23915
|
-
|
|
23916
|
-
debugMode =
|
|
23917
|
-
var
|
|
23918
|
-
selfieImage =
|
|
23919
|
-
setSelfieImage =
|
|
23920
|
-
setSignatureData =
|
|
23921
|
-
setSignatureVideoUrl =
|
|
23922
|
-
logSelfieCaptureAttempt =
|
|
24111
|
+
_k = _a.assets,
|
|
24112
|
+
assets = _k === void 0 ? {} : _k,
|
|
24113
|
+
_l = _a.classNames,
|
|
24114
|
+
classNames = _l === void 0 ? {} : _l,
|
|
24115
|
+
_m = _a.colors,
|
|
24116
|
+
colors = _m === void 0 ? {} : _m,
|
|
24117
|
+
_o = _a.verbiage,
|
|
24118
|
+
verbiage = _o === void 0 ? {} : _o,
|
|
24119
|
+
_p = _a.debugMode,
|
|
24120
|
+
debugMode = _p === void 0 ? false : _p;
|
|
24121
|
+
var _q = useSubmissionContext(),
|
|
24122
|
+
selfieImage = _q.selfieImage,
|
|
24123
|
+
setSelfieImage = _q.setSelfieImage,
|
|
24124
|
+
setSignatureData = _q.setSignatureData,
|
|
24125
|
+
setSignatureVideoUrl = _q.setSignatureVideoUrl,
|
|
24126
|
+
logSelfieCaptureAttempt = _q.logSelfieCaptureAttempt,
|
|
24127
|
+
uploadDocument = _q.uploadDocument;
|
|
23923
24128
|
var cameraAccessDenied = useCameraStore(useShallow(function (state) {
|
|
23924
24129
|
return {
|
|
23925
24130
|
cameraAccessDenied: state.cameraAccessDenied
|
|
23926
24131
|
};
|
|
23927
24132
|
})).cameraAccessDenied;
|
|
23928
|
-
var
|
|
23929
|
-
captureState =
|
|
23930
|
-
setCaptureState =
|
|
24133
|
+
var _r = React.useState(skipLivenessValidation ? 'CAPTURING_SELFIE' : 'CHECKING_LIVENESS'),
|
|
24134
|
+
captureState = _r[0],
|
|
24135
|
+
setCaptureState = _r[1];
|
|
23931
24136
|
var operationStartedAt = React.useRef();
|
|
23932
24137
|
var captureStartedAt = React.useRef();
|
|
23933
24138
|
var captureEndedAt = React.useRef();
|
|
23934
|
-
var
|
|
23935
|
-
start =
|
|
23936
|
-
stop =
|
|
24139
|
+
var _s = useSelfieGuidanceModelsContext(),
|
|
24140
|
+
start = _s.start,
|
|
24141
|
+
stop = _s.stop;
|
|
23937
24142
|
React.useEffect(function () {
|
|
23938
24143
|
operationStartedAt.current = new Date();
|
|
23939
24144
|
}, []);
|
|
24145
|
+
var isSelfieCaptureState = selfieCaptureStates.includes(captureState);
|
|
24146
|
+
var isActiveCaptureState = activeCaptureStates.includes(captureState);
|
|
23940
24147
|
React.useEffect(function () {
|
|
23941
|
-
if (
|
|
24148
|
+
if (!isSelfieCaptureState) return;
|
|
23942
24149
|
captureStartedAt.current = new Date();
|
|
23943
|
-
}, [
|
|
23944
|
-
var shouldRun = ['CHECKING_LIVENESS', 'CAPTURING_SIGNATURE'].includes(captureState);
|
|
24150
|
+
}, [isSelfieCaptureState]);
|
|
23945
24151
|
React.useEffect(function () {
|
|
23946
|
-
if (!
|
|
24152
|
+
if (!isActiveCaptureState) return;
|
|
23947
24153
|
start();
|
|
23948
|
-
return
|
|
23949
|
-
|
|
23950
|
-
};
|
|
23951
|
-
}, [start, stop, shouldRun]);
|
|
24154
|
+
return stop;
|
|
24155
|
+
}, [start, stop, isActiveCaptureState]);
|
|
23952
24156
|
var logCaptureMetadata = React.useCallback(function () {
|
|
23953
24157
|
var _a, _b, _c;
|
|
23954
24158
|
logSelfieCaptureAttempt({
|
|
@@ -23969,9 +24173,17 @@
|
|
|
23969
24173
|
setSelfieImage(selfieFromRequest);
|
|
23970
24174
|
}
|
|
23971
24175
|
}, [logCaptureMetadata, onFaceLivenessSuccessProp, selfieImage, setSelfieImage]);
|
|
23972
|
-
var
|
|
23973
|
-
|
|
23974
|
-
|
|
24176
|
+
var onSelfieCapture = React.useCallback(function (imageUrl) {
|
|
24177
|
+
setSelfieImage(imageUrl);
|
|
24178
|
+
setCaptureState('CAPTURING_SIGNATURE');
|
|
24179
|
+
logCaptureMetadata();
|
|
24180
|
+
uploadDocument(b64toBlob(dataUrlToBase64Sync(imageUrl), 'image/jpeg')).then(function (documentId) {
|
|
24181
|
+
onSelfieCaptured === null || onSelfieCaptured === void 0 ? void 0 : onSelfieCaptured(documentId);
|
|
24182
|
+
});
|
|
24183
|
+
}, [logCaptureMetadata, onSelfieCaptured, setSelfieImage, uploadDocument]);
|
|
24184
|
+
var _t = React.useState(null),
|
|
24185
|
+
signatureImageUrl = _t[0],
|
|
24186
|
+
setSignatureImageUrl = _t[1];
|
|
23975
24187
|
var onSignatureCaptureCompleted = React.useCallback(function (videoData, signatureData, signatureImageData) {
|
|
23976
24188
|
setSignatureData(signatureData);
|
|
23977
24189
|
setSignatureVideoUrl(URL.createObjectURL(videoData));
|
|
@@ -23979,41 +24191,41 @@
|
|
|
23979
24191
|
setCaptureState('SUCCESS');
|
|
23980
24192
|
onVideoCaptured === null || onVideoCaptured === void 0 ? void 0 : onVideoCaptured(videoData, signatureData, signatureImageData);
|
|
23981
24193
|
}, [onVideoCaptured, setSignatureData, setSignatureVideoUrl]);
|
|
23982
|
-
var
|
|
23983
|
-
showLoadingOverlay =
|
|
23984
|
-
setShowLoadingOverlay =
|
|
24194
|
+
var _u = React.useState(true),
|
|
24195
|
+
showLoadingOverlay = _u[0],
|
|
24196
|
+
setShowLoadingOverlay = _u[1];
|
|
23985
24197
|
var onSignatureCaptureFacesNotDetected = React.useCallback(function () {
|
|
23986
24198
|
setShowLoadingOverlay(false);
|
|
23987
|
-
setCaptureState('CHECKING_LIVENESS');
|
|
24199
|
+
setCaptureState(skipLivenessValidation ? 'CAPTURING_SELFIE' : 'CHECKING_LIVENESS');
|
|
23988
24200
|
useVideoSignatureStore.getState().clearRecordedData();
|
|
23989
|
-
}, []);
|
|
23990
|
-
var
|
|
23991
|
-
attempt =
|
|
23992
|
-
setAttempt =
|
|
24201
|
+
}, [skipLivenessValidation]);
|
|
24202
|
+
var _v = React.useState(0),
|
|
24203
|
+
attempt = _v[0],
|
|
24204
|
+
setAttempt = _v[1];
|
|
23993
24205
|
var onRetry = React.useCallback(function () {
|
|
23994
24206
|
onRetryClicked === null || onRetryClicked === void 0 ? void 0 : onRetryClicked();
|
|
23995
24207
|
setAttempt(function (n) {
|
|
23996
24208
|
return n + 1;
|
|
23997
24209
|
});
|
|
23998
|
-
setCaptureState('CHECKING_LIVENESS');
|
|
23999
|
-
}, [onRetryClicked]);
|
|
24210
|
+
setCaptureState(skipLivenessValidation ? 'CAPTURING_SELFIE' : 'CHECKING_LIVENESS');
|
|
24211
|
+
}, [onRetryClicked, skipLivenessValidation]);
|
|
24000
24212
|
var onExitSignatureCapture = React.useCallback(function () {
|
|
24001
24213
|
setAttempt(function (n) {
|
|
24002
24214
|
return n + 1;
|
|
24003
24215
|
});
|
|
24004
|
-
setCaptureState('CHECKING_LIVENESS');
|
|
24216
|
+
setCaptureState(skipLivenessValidation ? 'CAPTURING_SELFIE' : 'CHECKING_LIVENESS');
|
|
24005
24217
|
onExitCapture === null || onExitCapture === void 0 ? void 0 : onExitCapture();
|
|
24006
24218
|
useVideoSignatureStore.getState().clearRecordedData();
|
|
24007
|
-
}, [onExitCapture]);
|
|
24219
|
+
}, [onExitCapture, skipLivenessValidation]);
|
|
24008
24220
|
var showSuccessScreen = useShowSuccessScreen(skipSuccessScreen, captureState === 'SUCCESS', onComplete);
|
|
24009
24221
|
React.useEffect(function () {
|
|
24010
24222
|
if (cameraAccessDenied) {
|
|
24011
24223
|
setAttempt(function (n) {
|
|
24012
24224
|
return n + 1;
|
|
24013
24225
|
});
|
|
24014
|
-
setCaptureState('CHECKING_LIVENESS');
|
|
24226
|
+
setCaptureState(skipLivenessValidation ? 'CAPTURING_SELFIE' : 'CHECKING_LIVENESS');
|
|
24015
24227
|
}
|
|
24016
|
-
}, [cameraAccessDenied]);
|
|
24228
|
+
}, [cameraAccessDenied, skipLivenessValidation]);
|
|
24017
24229
|
var guidesComponent = React.useCallback(function (props) {
|
|
24018
24230
|
return /*#__PURE__*/React.createElement(VideoSignatureWizardGuides, _assign({}, props, {
|
|
24019
24231
|
classNames: classNames === null || classNames === void 0 ? void 0 : classNames.guides,
|
|
@@ -24053,6 +24265,7 @@
|
|
|
24053
24265
|
onUserCancel: onUserCancel,
|
|
24054
24266
|
onExitAfterFailure: onExitAfterFailure,
|
|
24055
24267
|
onLoadingOverlayDismissed: onLoadingOverlayDismissedCallback,
|
|
24268
|
+
showLoadingOverlay: showLoadingOverlay,
|
|
24056
24269
|
customOverlayContent: customOverlayContent,
|
|
24057
24270
|
loadingOverlayMode: loadingOverlayMode,
|
|
24058
24271
|
guidesComponent: guidesComponent,
|
|
@@ -24061,8 +24274,29 @@
|
|
|
24061
24274
|
colors: colors.faceLiveness,
|
|
24062
24275
|
verbiage: verbiage.faceLiveness,
|
|
24063
24276
|
debugMode: debugMode,
|
|
24064
|
-
renderCameraFeed: false
|
|
24065
|
-
|
|
24277
|
+
renderCameraFeed: false
|
|
24278
|
+
}));
|
|
24279
|
+
case 'CAPTURING_SELFIE':
|
|
24280
|
+
return /*#__PURE__*/React.createElement(SelfieCaptureWizard, _assign({
|
|
24281
|
+
key: "selfie-capture-".concat(attempt)
|
|
24282
|
+
}, faceLivenessProps, {
|
|
24283
|
+
onLoadingStarted: onLoadingStarted,
|
|
24284
|
+
onLoadingProgress: onLoadingProgress,
|
|
24285
|
+
onLoadingCompleted: onLoadingCompleted,
|
|
24286
|
+
onLoadingOverlayDismissed: onLoadingOverlayDismissedCallback,
|
|
24287
|
+
onCapture: onSelfieCapture,
|
|
24288
|
+
onUserCancel: onUserCancel,
|
|
24289
|
+
onExitCapture: onExitCapture,
|
|
24290
|
+
showLoadingOverlay: showLoadingOverlay,
|
|
24291
|
+
customOverlayContent: customOverlayContent,
|
|
24292
|
+
loadingOverlayMode: loadingOverlayMode,
|
|
24293
|
+
guidesComponent: guidesComponent,
|
|
24294
|
+
assets: assets.faceLiveness,
|
|
24295
|
+
classNames: classNames.faceLiveness,
|
|
24296
|
+
colors: colors.faceLiveness,
|
|
24297
|
+
verbiage: verbiage.faceLiveness,
|
|
24298
|
+
debugMode: debugMode,
|
|
24299
|
+
renderCameraFeed: false
|
|
24066
24300
|
}));
|
|
24067
24301
|
case 'CAPTURING_SIGNATURE':
|
|
24068
24302
|
return /*#__PURE__*/React.createElement(VideoSignatureCapture, {
|
|
@@ -27853,6 +28087,7 @@
|
|
|
27853
28087
|
onDocumentUploadProgress = _a.onDocumentUploadProgress,
|
|
27854
28088
|
onDocumentUploaded = _a.onDocumentUploaded,
|
|
27855
28089
|
onDocumentUploadFailed = _a.onDocumentUploadFailed,
|
|
28090
|
+
onSelfieCaptured = _a.onSelfieCaptured,
|
|
27856
28091
|
onBeforeSubmit = _a.onBeforeSubmit,
|
|
27857
28092
|
onSubmit = _a.onSubmit,
|
|
27858
28093
|
onComplete = _a.onComplete,
|
|
@@ -27881,15 +28116,17 @@
|
|
|
27881
28116
|
_k = _a.restartVideoOnSignaturePadCleared,
|
|
27882
28117
|
restartVideoOnSignaturePadCleared = _k === void 0 ? true : _k,
|
|
27883
28118
|
faceLivenessProps = _a.faceLivenessProps,
|
|
27884
|
-
_l = _a.
|
|
27885
|
-
|
|
28119
|
+
_l = _a.skipLivenessValidation,
|
|
28120
|
+
skipLivenessValidation = _l === void 0 ? false : _l,
|
|
28121
|
+
_m = _a.theme,
|
|
28122
|
+
theme = _m === void 0 ? 'default' : _m,
|
|
27886
28123
|
classNames = _a.classNames,
|
|
27887
28124
|
colors = _a.colors,
|
|
27888
28125
|
verbiage = _a.verbiage,
|
|
27889
28126
|
geolocationEnabled = _a.geolocationEnabled,
|
|
27890
28127
|
geolocationRequired = _a.geolocationRequired,
|
|
27891
|
-
|
|
27892
|
-
debugMode =
|
|
28128
|
+
_o = _a.debugMode,
|
|
28129
|
+
debugMode = _o === void 0 ? false : _o;
|
|
27893
28130
|
useLanguage(lang);
|
|
27894
28131
|
useDebugLogging(debugMode);
|
|
27895
28132
|
return /*#__PURE__*/React.createElement(AuthProvider, {
|
|
@@ -27931,6 +28168,7 @@
|
|
|
27931
28168
|
onLoadingStarted: onLoadingStarted,
|
|
27932
28169
|
onLoadingProgress: onLoadingProgress,
|
|
27933
28170
|
onLoadingCompleted: onLoadingCompleted,
|
|
28171
|
+
onSelfieCaptured: onSelfieCaptured,
|
|
27934
28172
|
customOverlayContent: customOverlayContent,
|
|
27935
28173
|
onLoadingOverlayDismissed: onLoadingOverlayDismissed,
|
|
27936
28174
|
loadingOverlayMode: loadingOverlayMode,
|
|
@@ -27942,6 +28180,7 @@
|
|
|
27942
28180
|
faceLivenessProps: faceLivenessProps,
|
|
27943
28181
|
allowSignatureAfterLivenessCheckFailure: allowSignatureAfterLivenessCheckFailure,
|
|
27944
28182
|
restartVideoOnSignaturePadCleared: restartVideoOnSignaturePadCleared,
|
|
28183
|
+
skipLivenessValidation: skipLivenessValidation,
|
|
27945
28184
|
classNames: classNames,
|
|
27946
28185
|
colors: colors,
|
|
27947
28186
|
debugMode: debugMode,
|
|
@@ -27949,7 +28188,7 @@
|
|
|
27949
28188
|
onModelError: onModelError,
|
|
27950
28189
|
onUserCancel: onUserCancel
|
|
27951
28190
|
};
|
|
27952
|
-
}, [onLoadingStarted, onLoadingProgress, onLoadingCompleted, customOverlayContent, onLoadingOverlayDismissed, loadingOverlayMode, skipSuccessScreen, captureAudio, minSignaturePadPoints, headTrackingBoundaryPercentage, modelLoadTimeoutMs, faceLivenessProps, allowSignatureAfterLivenessCheckFailure, restartVideoOnSignaturePadCleared, classNames, colors, debugMode, verbiage, onModelError, onUserCancel])
|
|
28191
|
+
}, [onLoadingStarted, onLoadingProgress, onLoadingCompleted, onSelfieCaptured, customOverlayContent, onLoadingOverlayDismissed, loadingOverlayMode, skipSuccessScreen, captureAudio, minSignaturePadPoints, headTrackingBoundaryPercentage, modelLoadTimeoutMs, faceLivenessProps, allowSignatureAfterLivenessCheckFailure, restartVideoOnSignaturePadCleared, skipLivenessValidation, classNames, colors, debugMode, verbiage, onModelError, onUserCancel])
|
|
27953
28192
|
})))));
|
|
27954
28193
|
};
|
|
27955
28194
|
|