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
|
@@ -235,7 +235,7 @@ typeof SuppressedError === "function" ? SuppressedError : function (error, suppr
|
|
|
235
235
|
return e.name = "SuppressedError", e.error = error, e.suppressed = suppressed, e;
|
|
236
236
|
};
|
|
237
237
|
|
|
238
|
-
var webSdkVersion = '2.3.
|
|
238
|
+
var webSdkVersion = '2.3.38';
|
|
239
239
|
|
|
240
240
|
function getPlatform() {
|
|
241
241
|
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
@@ -289,6 +289,25 @@ function contentDispositionFromDataUrl(url) {
|
|
|
289
289
|
var _a, _b;
|
|
290
290
|
return (_b = (_a = url.match(/^(data:.*;base64),/)) === null || _a === void 0 ? void 0 : _a[1]) !== null && _b !== void 0 ? _b : '';
|
|
291
291
|
}
|
|
292
|
+
function b64toBlob(b64Data, contentType, sliceSize) {
|
|
293
|
+
if (sliceSize === void 0) {
|
|
294
|
+
sliceSize = 512;
|
|
295
|
+
}
|
|
296
|
+
var byteCharacters = atob(b64Data);
|
|
297
|
+
var byteArrays = [];
|
|
298
|
+
for (var offset = 0; offset < byteCharacters.length; offset += sliceSize) {
|
|
299
|
+
var slice = byteCharacters.slice(offset, offset + sliceSize);
|
|
300
|
+
var byteNumbers = new Array(slice.length);
|
|
301
|
+
for (var i = 0; i < slice.length; i++) {
|
|
302
|
+
byteNumbers[i] = slice.charCodeAt(i);
|
|
303
|
+
}
|
|
304
|
+
var byteArray = new Uint8Array(byteNumbers);
|
|
305
|
+
byteArrays.push(byteArray);
|
|
306
|
+
}
|
|
307
|
+
return new Blob(byteArrays, {
|
|
308
|
+
type: contentType
|
|
309
|
+
});
|
|
310
|
+
}
|
|
292
311
|
function blobToB64(blob) {
|
|
293
312
|
return new Promise(function (resolve) {
|
|
294
313
|
var reader = new FileReader();
|
|
@@ -2117,6 +2136,13 @@ function performUpload(_a) {
|
|
|
2117
2136
|
});
|
|
2118
2137
|
});
|
|
2119
2138
|
}
|
|
2139
|
+
function useSubmissionContext() {
|
|
2140
|
+
var context = React.useContext(SubmissionContext);
|
|
2141
|
+
if (!context) {
|
|
2142
|
+
throw new Error('useSubmissionContext must be used within a SubmissionProvider');
|
|
2143
|
+
}
|
|
2144
|
+
return context;
|
|
2145
|
+
}
|
|
2120
2146
|
|
|
2121
2147
|
var visionTasksBasePath = "https://websdk-cdn-dev.idmission.com/assets/vision_wasm_internal_0.10.7";
|
|
2122
2148
|
var visionRuntimePreloading = false;
|
|
@@ -11512,7 +11538,7 @@ function SelfieGuidanceModelsProvider(_a) {
|
|
|
11512
11538
|
}), children);
|
|
11513
11539
|
}
|
|
11514
11540
|
function useSelfieGuidanceModelsContext() {
|
|
11515
|
-
var context =
|
|
11541
|
+
var context = React.useContext(SelfieGuidanceModelsContext);
|
|
11516
11542
|
if (!context) {
|
|
11517
11543
|
throw new Error('useSelfieGuidanceModelsContext must be used within a SelfieGuidanceModelsProvider');
|
|
11518
11544
|
}
|
|
@@ -12730,7 +12756,7 @@ var FaceLivenessWizard = function FaceLivenessWizard(_a) {
|
|
|
12730
12756
|
debugMode = _s === void 0 ? false : _s,
|
|
12731
12757
|
_t = _a.showLoadingOverlay,
|
|
12732
12758
|
showLoadingOverlay = _t === void 0 ? true : _t;
|
|
12733
|
-
var _u =
|
|
12759
|
+
var _u = useSubmissionContext(),
|
|
12734
12760
|
submissionResponse = _u.submissionResponse,
|
|
12735
12761
|
livenessCheckRequest = _u.livenessCheckRequest,
|
|
12736
12762
|
setSelfieImage = _u.setSelfieImage,
|
|
@@ -12757,9 +12783,10 @@ var FaceLivenessWizard = function FaceLivenessWizard(_a) {
|
|
|
12757
12783
|
var captureStartedAt = React.useRef();
|
|
12758
12784
|
var operationStartedAt = React.useRef();
|
|
12759
12785
|
var livenessScore = React.useRef();
|
|
12760
|
-
var _z =
|
|
12786
|
+
var _z = useSelfieGuidanceModelsContext(),
|
|
12761
12787
|
start = _z.start,
|
|
12762
|
-
stop = _z.stop
|
|
12788
|
+
stop = _z.stop,
|
|
12789
|
+
selfieGuidanceCanvasRef = _z.canvasRef;
|
|
12763
12790
|
React.useEffect(function () {
|
|
12764
12791
|
if (precapturedDocuments === null || precapturedDocuments === void 0 ? void 0 : precapturedDocuments.selfie) {
|
|
12765
12792
|
setSelfieImage(precapturedDocuments.selfie.imageData);
|
|
@@ -12785,7 +12812,7 @@ var FaceLivenessWizard = function FaceLivenessWizard(_a) {
|
|
|
12785
12812
|
});
|
|
12786
12813
|
}, [logSelfieCaptureAttempt]);
|
|
12787
12814
|
var onFaceDetected = React.useCallback(function (prediction) {
|
|
12788
|
-
if (prediction.face &&
|
|
12815
|
+
if (prediction.face && prediction.faceReady) {
|
|
12789
12816
|
captureStartedAt.current || (captureStartedAt.current = new Date());
|
|
12790
12817
|
}
|
|
12791
12818
|
}, []);
|
|
@@ -12817,7 +12844,6 @@ var FaceLivenessWizard = function FaceLivenessWizard(_a) {
|
|
|
12817
12844
|
});
|
|
12818
12845
|
});
|
|
12819
12846
|
}, [allowLivenessFailure, livenessCheckRequest, onFailure, onSuccess, submissionResponse]);
|
|
12820
|
-
var selfieGuidanceCanvasRef = React.useContext(SelfieGuidanceModelsContext).canvasRef;
|
|
12821
12847
|
var resizeCanvas = React.useRef(null);
|
|
12822
12848
|
var onTimeoutCallback = React.useCallback(function () {
|
|
12823
12849
|
if (allowLivenessFailure) {
|
|
@@ -14003,10 +14029,186 @@ var VideoSignatureSuccess = function VideoSignatureSuccess(_a) {
|
|
|
14003
14029
|
var StyledVideo$1 = styled__default.default.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"])));
|
|
14004
14030
|
var templateObject_1$9;
|
|
14005
14031
|
|
|
14032
|
+
function SelfieCaptureWizard(_a) {
|
|
14033
|
+
var _b;
|
|
14034
|
+
var onLoadingStarted = _a.onLoadingStarted,
|
|
14035
|
+
onLoadingProgress = _a.onLoadingProgress,
|
|
14036
|
+
onLoadingCompleted = _a.onLoadingCompleted,
|
|
14037
|
+
onLoadingOverlayDismissed = _a.onLoadingOverlayDismissed,
|
|
14038
|
+
onCapture = _a.onCapture,
|
|
14039
|
+
onUserCancel = _a.onUserCancel,
|
|
14040
|
+
onExitCapture = _a.onExitCapture,
|
|
14041
|
+
precapturedDocuments = _a.precapturedDocuments,
|
|
14042
|
+
_c = _a.renderCameraFeed,
|
|
14043
|
+
renderCameraFeed = _c === void 0 ? true : _c,
|
|
14044
|
+
_d = _a.showLoadingOverlay,
|
|
14045
|
+
showLoadingOverlay = _d === void 0 ? true : _d,
|
|
14046
|
+
_e = _a.loadingOverlayMode,
|
|
14047
|
+
loadingOverlayMode = _e === void 0 ? 'default' : _e,
|
|
14048
|
+
customOverlayContent = _a.customOverlayContent,
|
|
14049
|
+
_f = _a.waitForIdCaptureModels,
|
|
14050
|
+
waitForIdCaptureModels = _f === void 0 ? false : _f,
|
|
14051
|
+
_g = _a.initialCaptureDelayMs,
|
|
14052
|
+
initialCaptureDelayMs = _g === void 0 ? 1000 : _g,
|
|
14053
|
+
_h = _a.silentFallback,
|
|
14054
|
+
silentFallback = _h === void 0 ? false : _h,
|
|
14055
|
+
guidanceMessage = _a.guidanceMessage,
|
|
14056
|
+
guidesComponent = _a.guidesComponent,
|
|
14057
|
+
_j = _a.assets,
|
|
14058
|
+
assets = _j === void 0 ? {} : _j,
|
|
14059
|
+
_k = _a.classNames,
|
|
14060
|
+
classNames = _k === void 0 ? {} : _k,
|
|
14061
|
+
_l = _a.colors,
|
|
14062
|
+
colors = _l === void 0 ? {} : _l,
|
|
14063
|
+
_m = _a.verbiage,
|
|
14064
|
+
verbiage = _m === void 0 ? {} : _m,
|
|
14065
|
+
_o = _a.debugMode,
|
|
14066
|
+
debugMode = _o === void 0 ? false : _o;
|
|
14067
|
+
var _p = useSubmissionContext(),
|
|
14068
|
+
setSelfieImage = _p.setSelfieImage,
|
|
14069
|
+
logSelfieCaptureAttempt = _p.logSelfieCaptureAttempt;
|
|
14070
|
+
var _q = useCameraStore(shallow.useShallow(function (state) {
|
|
14071
|
+
return {
|
|
14072
|
+
cameraAccessDenied: state.cameraAccessDenied,
|
|
14073
|
+
requestCameraAccess: state.requestCameraAccess,
|
|
14074
|
+
releaseCameraAccess: state.releaseCameraAccess
|
|
14075
|
+
};
|
|
14076
|
+
})),
|
|
14077
|
+
cameraAccessDenied = _q.cameraAccessDenied,
|
|
14078
|
+
requestCameraAccess = _q.requestCameraAccess,
|
|
14079
|
+
releaseCameraAccess = _q.releaseCameraAccess;
|
|
14080
|
+
var _r = React.useState(showLoadingOverlay ? 'LOADING' : 'CAPTURING'),
|
|
14081
|
+
captureState = _r[0],
|
|
14082
|
+
setCaptureState = _r[1];
|
|
14083
|
+
var rawCanvas = React.useRef(null);
|
|
14084
|
+
var cropCanvas = React.useRef(null);
|
|
14085
|
+
var resizeCanvas = React.useRef(null);
|
|
14086
|
+
var captureStartedAt = React.useRef();
|
|
14087
|
+
var operationStartedAt = React.useRef();
|
|
14088
|
+
var _s = useSelfieGuidanceModelsContext(),
|
|
14089
|
+
start = _s.start,
|
|
14090
|
+
stop = _s.stop,
|
|
14091
|
+
modelError = _s.error;
|
|
14092
|
+
React.useEffect(function () {
|
|
14093
|
+
if (precapturedDocuments === null || precapturedDocuments === void 0 ? void 0 : precapturedDocuments.selfie) {
|
|
14094
|
+
setSelfieImage(precapturedDocuments.selfie.imageData);
|
|
14095
|
+
setCaptureState('SUCCESS');
|
|
14096
|
+
return;
|
|
14097
|
+
}
|
|
14098
|
+
if (captureState !== 'CAPTURING') return;
|
|
14099
|
+
operationStartedAt.current = new Date();
|
|
14100
|
+
captureStartedAt.current = undefined;
|
|
14101
|
+
setTimeout(start, 1);
|
|
14102
|
+
return stop;
|
|
14103
|
+
}, [captureState, precapturedDocuments === null || precapturedDocuments === void 0 ? void 0 : precapturedDocuments.selfie, setSelfieImage, start, stop]);
|
|
14104
|
+
var onLoadingOverlayDismissedCallback = React.useCallback(function () {
|
|
14105
|
+
setCaptureState('CAPTURING');
|
|
14106
|
+
onLoadingOverlayDismissed === null || onLoadingOverlayDismissed === void 0 ? void 0 : onLoadingOverlayDismissed();
|
|
14107
|
+
}, [onLoadingOverlayDismissed]);
|
|
14108
|
+
var logCaptureMetadata = React.useCallback(function () {
|
|
14109
|
+
var _a, _b;
|
|
14110
|
+
logSelfieCaptureAttempt({
|
|
14111
|
+
autoCapture: 'Y',
|
|
14112
|
+
captureTime: new Date().getTime() - ((_a = captureStartedAt.current) !== null && _a !== void 0 ? _a : new Date()).getTime(),
|
|
14113
|
+
operationTime: new Date().getTime() - ((_b = operationStartedAt.current) !== null && _b !== void 0 ? _b : new Date()).getTime()
|
|
14114
|
+
});
|
|
14115
|
+
}, [logSelfieCaptureAttempt]);
|
|
14116
|
+
var onFaceDetected = React.useCallback(function (prediction) {
|
|
14117
|
+
if (prediction.face && prediction.faceReady) {
|
|
14118
|
+
captureStartedAt.current || (captureStartedAt.current = new Date());
|
|
14119
|
+
}
|
|
14120
|
+
}, []);
|
|
14121
|
+
var onSelfieCaptured = React.useCallback(function (frame, face) {
|
|
14122
|
+
logCaptureMetadata();
|
|
14123
|
+
var imageUrl = cropToShoulders(rawCanvas.current, cropCanvas.current, resizeCanvas.current, frame, face, 0.92, 600);
|
|
14124
|
+
setCaptureState('SUCCESS');
|
|
14125
|
+
onCapture === null || onCapture === void 0 ? void 0 : onCapture(imageUrl);
|
|
14126
|
+
}, [logCaptureMetadata, onCapture]);
|
|
14127
|
+
var onFallbackImageCaptured = React.useCallback(function (imageUrl) {
|
|
14128
|
+
setSelfieImage(imageUrl);
|
|
14129
|
+
setCaptureState('SUCCESS');
|
|
14130
|
+
onCapture === null || onCapture === void 0 ? void 0 : onCapture(imageUrl);
|
|
14131
|
+
}, [onCapture, setSelfieImage]);
|
|
14132
|
+
var guidesByRequestState = React.useCallback(function (props) {
|
|
14133
|
+
var GuidesComponent = guidesComponent !== null && guidesComponent !== void 0 ? guidesComponent : FaceCaptureGuideOverlay;
|
|
14134
|
+
var status = ['IN_PROGRESS', 'CAPTURE_STARTED', 'GUIDANCE_SATISFIED', 'CAPTURED'].includes(captureState) ? 'processing' : ['FAILED', 'ERROR'].includes(captureState) ? 'failure' : 'ready';
|
|
14135
|
+
return /*#__PURE__*/React__namespace.default.createElement(GuidesComponent, _assign({}, props, {
|
|
14136
|
+
status: status
|
|
14137
|
+
}));
|
|
14138
|
+
}, [captureState, guidesComponent]);
|
|
14139
|
+
var _t = React.useState(0),
|
|
14140
|
+
attempt = _t[0],
|
|
14141
|
+
setAttempt = _t[1];
|
|
14142
|
+
var onExitCallback = React.useCallback(function () {
|
|
14143
|
+
setAttempt(function (n) {
|
|
14144
|
+
return n + 1;
|
|
14145
|
+
});
|
|
14146
|
+
setCaptureState('LOADING');
|
|
14147
|
+
releaseCameraAccess();
|
|
14148
|
+
onExitCapture === null || onExitCapture === void 0 ? void 0 : onExitCapture();
|
|
14149
|
+
void requestCameraAccess();
|
|
14150
|
+
}, [onExitCapture, releaseCameraAccess, requestCameraAccess]);
|
|
14151
|
+
React.useEffect(function () {
|
|
14152
|
+
if (cameraAccessDenied) {
|
|
14153
|
+
setAttempt(function (n) {
|
|
14154
|
+
return n + 1;
|
|
14155
|
+
});
|
|
14156
|
+
setCaptureState('LOADING');
|
|
14157
|
+
}
|
|
14158
|
+
}, [cameraAccessDenied]);
|
|
14159
|
+
var initialDelayOver = useTimeout(initialCaptureDelayMs).timedOut;
|
|
14160
|
+
if (modelError) {
|
|
14161
|
+
return /*#__PURE__*/React__namespace.default.createElement(SelfieCaptureFallback, {
|
|
14162
|
+
onFinished: onFallbackImageCaptured,
|
|
14163
|
+
silentFallback: silentFallback,
|
|
14164
|
+
invalidSelfie: false,
|
|
14165
|
+
guidanceMessage: guidanceMessage
|
|
14166
|
+
});
|
|
14167
|
+
}
|
|
14168
|
+
return /*#__PURE__*/React__namespace.default.createElement(React__namespace.default.Fragment, null, /*#__PURE__*/React__namespace.default.createElement(InvisibleCanvas, {
|
|
14169
|
+
ref: rawCanvas
|
|
14170
|
+
}), /*#__PURE__*/React__namespace.default.createElement(InvisibleCanvas, {
|
|
14171
|
+
ref: cropCanvas
|
|
14172
|
+
}), /*#__PURE__*/React__namespace.default.createElement(InvisibleCanvas, {
|
|
14173
|
+
ref: resizeCanvas
|
|
14174
|
+
}), renderCameraFeed && ( /*#__PURE__*/React__namespace.default.createElement(CameraVideoTag, {
|
|
14175
|
+
className: (_b = classNames.capture) === null || _b === void 0 ? void 0 : _b.cameraFeed
|
|
14176
|
+
})), captureState === 'CAPTURING' && ( /*#__PURE__*/React__namespace.default.createElement(SelfieCapture, {
|
|
14177
|
+
onFaceDetected: onFaceDetected,
|
|
14178
|
+
onSelfieCaptured: onSelfieCaptured,
|
|
14179
|
+
onExit: onExitCallback,
|
|
14180
|
+
shouldCapture: initialDelayOver,
|
|
14181
|
+
guidanceMessage: guidanceMessage,
|
|
14182
|
+
guidanceSatisfied: guidanceMessage ? false : undefined,
|
|
14183
|
+
guidesComponent: guidesByRequestState,
|
|
14184
|
+
classNames: classNames.capture,
|
|
14185
|
+
colors: colors.capture,
|
|
14186
|
+
verbiage: verbiage.capture,
|
|
14187
|
+
debugMode: debugMode
|
|
14188
|
+
})), showLoadingOverlay && ( /*#__PURE__*/React__namespace.default.createElement(SelfieCaptureLoadingOverlay, {
|
|
14189
|
+
key: attempt,
|
|
14190
|
+
mode: loadingOverlayMode,
|
|
14191
|
+
customOverlayContent: customOverlayContent,
|
|
14192
|
+
assets: assets.loadingOverlay,
|
|
14193
|
+
classNames: classNames.loadingOverlay,
|
|
14194
|
+
colors: colors.loadingOverlay,
|
|
14195
|
+
verbiage: verbiage.loadingOverlay,
|
|
14196
|
+
onLoadingStarted: onLoadingStarted,
|
|
14197
|
+
onLoadingProgress: onLoadingProgress,
|
|
14198
|
+
onLoadingCompleted: onLoadingCompleted,
|
|
14199
|
+
onUserCancel: onUserCancel,
|
|
14200
|
+
onDismissed: onLoadingOverlayDismissedCallback,
|
|
14201
|
+
waitForIdCaptureModels: waitForIdCaptureModels
|
|
14202
|
+
})));
|
|
14203
|
+
}
|
|
14204
|
+
|
|
14205
|
+
var selfieCaptureStates = ['CAPTURING_SELFIE', 'CHECKING_LIVENESS'];
|
|
14206
|
+
var activeCaptureStates = __spreadArray(__spreadArray([], selfieCaptureStates, true), ['CAPTURING_SIGNATURE'], false);
|
|
14006
14207
|
var VideoSignatureWizard = function VideoSignatureWizard(_a) {
|
|
14007
14208
|
var onLoadingStarted = _a.onLoadingStarted,
|
|
14008
14209
|
onLoadingProgress = _a.onLoadingProgress,
|
|
14009
14210
|
onLoadingCompleted = _a.onLoadingCompleted,
|
|
14211
|
+
onSelfieCaptured = _a.onSelfieCaptured,
|
|
14010
14212
|
onComplete = _a.onComplete,
|
|
14011
14213
|
onVideoCaptured = _a.onVideoCaptured,
|
|
14012
14214
|
onRetryClicked = _a.onRetryClicked,
|
|
@@ -14028,52 +14230,54 @@ var VideoSignatureWizard = function VideoSignatureWizard(_a) {
|
|
|
14028
14230
|
allowSignatureAfterLivenessCheckFailure = _g === void 0 ? false : _g,
|
|
14029
14231
|
_h = _a.restartVideoOnSignaturePadCleared,
|
|
14030
14232
|
restartVideoOnSignaturePadCleared = _h === void 0 ? true : _h,
|
|
14233
|
+
_j = _a.skipLivenessValidation,
|
|
14234
|
+
skipLivenessValidation = _j === void 0 ? false : _j,
|
|
14031
14235
|
faceLivenessProps = _a.faceLivenessProps,
|
|
14032
|
-
|
|
14033
|
-
assets =
|
|
14034
|
-
|
|
14035
|
-
classNames =
|
|
14036
|
-
|
|
14037
|
-
colors =
|
|
14038
|
-
|
|
14039
|
-
verbiage =
|
|
14040
|
-
|
|
14041
|
-
debugMode =
|
|
14042
|
-
var
|
|
14043
|
-
selfieImage =
|
|
14044
|
-
setSelfieImage =
|
|
14045
|
-
setSignatureData =
|
|
14046
|
-
setSignatureVideoUrl =
|
|
14047
|
-
logSelfieCaptureAttempt =
|
|
14236
|
+
_k = _a.assets,
|
|
14237
|
+
assets = _k === void 0 ? {} : _k,
|
|
14238
|
+
_l = _a.classNames,
|
|
14239
|
+
classNames = _l === void 0 ? {} : _l,
|
|
14240
|
+
_m = _a.colors,
|
|
14241
|
+
colors = _m === void 0 ? {} : _m,
|
|
14242
|
+
_o = _a.verbiage,
|
|
14243
|
+
verbiage = _o === void 0 ? {} : _o,
|
|
14244
|
+
_p = _a.debugMode,
|
|
14245
|
+
debugMode = _p === void 0 ? false : _p;
|
|
14246
|
+
var _q = useSubmissionContext(),
|
|
14247
|
+
selfieImage = _q.selfieImage,
|
|
14248
|
+
setSelfieImage = _q.setSelfieImage,
|
|
14249
|
+
setSignatureData = _q.setSignatureData,
|
|
14250
|
+
setSignatureVideoUrl = _q.setSignatureVideoUrl,
|
|
14251
|
+
logSelfieCaptureAttempt = _q.logSelfieCaptureAttempt,
|
|
14252
|
+
uploadDocument = _q.uploadDocument;
|
|
14048
14253
|
var cameraAccessDenied = useCameraStore(shallow.useShallow(function (state) {
|
|
14049
14254
|
return {
|
|
14050
14255
|
cameraAccessDenied: state.cameraAccessDenied
|
|
14051
14256
|
};
|
|
14052
14257
|
})).cameraAccessDenied;
|
|
14053
|
-
var
|
|
14054
|
-
captureState =
|
|
14055
|
-
setCaptureState =
|
|
14258
|
+
var _r = React.useState(skipLivenessValidation ? 'CAPTURING_SELFIE' : 'CHECKING_LIVENESS'),
|
|
14259
|
+
captureState = _r[0],
|
|
14260
|
+
setCaptureState = _r[1];
|
|
14056
14261
|
var operationStartedAt = React.useRef();
|
|
14057
14262
|
var captureStartedAt = React.useRef();
|
|
14058
14263
|
var captureEndedAt = React.useRef();
|
|
14059
|
-
var
|
|
14060
|
-
start =
|
|
14061
|
-
stop =
|
|
14264
|
+
var _s = useSelfieGuidanceModelsContext(),
|
|
14265
|
+
start = _s.start,
|
|
14266
|
+
stop = _s.stop;
|
|
14062
14267
|
React.useEffect(function () {
|
|
14063
14268
|
operationStartedAt.current = new Date();
|
|
14064
14269
|
}, []);
|
|
14270
|
+
var isSelfieCaptureState = selfieCaptureStates.includes(captureState);
|
|
14271
|
+
var isActiveCaptureState = activeCaptureStates.includes(captureState);
|
|
14065
14272
|
React.useEffect(function () {
|
|
14066
|
-
if (
|
|
14273
|
+
if (!isSelfieCaptureState) return;
|
|
14067
14274
|
captureStartedAt.current = new Date();
|
|
14068
|
-
}, [
|
|
14069
|
-
var shouldRun = ['CHECKING_LIVENESS', 'CAPTURING_SIGNATURE'].includes(captureState);
|
|
14275
|
+
}, [isSelfieCaptureState]);
|
|
14070
14276
|
React.useEffect(function () {
|
|
14071
|
-
if (!
|
|
14277
|
+
if (!isActiveCaptureState) return;
|
|
14072
14278
|
start();
|
|
14073
|
-
return
|
|
14074
|
-
|
|
14075
|
-
};
|
|
14076
|
-
}, [start, stop, shouldRun]);
|
|
14279
|
+
return stop;
|
|
14280
|
+
}, [start, stop, isActiveCaptureState]);
|
|
14077
14281
|
var logCaptureMetadata = React.useCallback(function () {
|
|
14078
14282
|
var _a, _b, _c;
|
|
14079
14283
|
logSelfieCaptureAttempt({
|
|
@@ -14094,9 +14298,17 @@ var VideoSignatureWizard = function VideoSignatureWizard(_a) {
|
|
|
14094
14298
|
setSelfieImage(selfieFromRequest);
|
|
14095
14299
|
}
|
|
14096
14300
|
}, [logCaptureMetadata, onFaceLivenessSuccessProp, selfieImage, setSelfieImage]);
|
|
14097
|
-
var
|
|
14098
|
-
|
|
14099
|
-
|
|
14301
|
+
var onSelfieCapture = React.useCallback(function (imageUrl) {
|
|
14302
|
+
setSelfieImage(imageUrl);
|
|
14303
|
+
setCaptureState('CAPTURING_SIGNATURE');
|
|
14304
|
+
logCaptureMetadata();
|
|
14305
|
+
uploadDocument(b64toBlob(dataUrlToBase64Sync(imageUrl), 'image/jpeg')).then(function (documentId) {
|
|
14306
|
+
onSelfieCaptured === null || onSelfieCaptured === void 0 ? void 0 : onSelfieCaptured(documentId);
|
|
14307
|
+
});
|
|
14308
|
+
}, [logCaptureMetadata, onSelfieCaptured, setSelfieImage, uploadDocument]);
|
|
14309
|
+
var _t = React.useState(null),
|
|
14310
|
+
signatureImageUrl = _t[0],
|
|
14311
|
+
setSignatureImageUrl = _t[1];
|
|
14100
14312
|
var onSignatureCaptureCompleted = React.useCallback(function (videoData, signatureData, signatureImageData) {
|
|
14101
14313
|
setSignatureData(signatureData);
|
|
14102
14314
|
setSignatureVideoUrl(URL.createObjectURL(videoData));
|
|
@@ -14104,41 +14316,41 @@ var VideoSignatureWizard = function VideoSignatureWizard(_a) {
|
|
|
14104
14316
|
setCaptureState('SUCCESS');
|
|
14105
14317
|
onVideoCaptured === null || onVideoCaptured === void 0 ? void 0 : onVideoCaptured(videoData, signatureData, signatureImageData);
|
|
14106
14318
|
}, [onVideoCaptured, setSignatureData, setSignatureVideoUrl]);
|
|
14107
|
-
var
|
|
14108
|
-
showLoadingOverlay =
|
|
14109
|
-
setShowLoadingOverlay =
|
|
14319
|
+
var _u = React.useState(true),
|
|
14320
|
+
showLoadingOverlay = _u[0],
|
|
14321
|
+
setShowLoadingOverlay = _u[1];
|
|
14110
14322
|
var onSignatureCaptureFacesNotDetected = React.useCallback(function () {
|
|
14111
14323
|
setShowLoadingOverlay(false);
|
|
14112
|
-
setCaptureState('CHECKING_LIVENESS');
|
|
14324
|
+
setCaptureState(skipLivenessValidation ? 'CAPTURING_SELFIE' : 'CHECKING_LIVENESS');
|
|
14113
14325
|
useVideoSignatureStore.getState().clearRecordedData();
|
|
14114
|
-
}, []);
|
|
14115
|
-
var
|
|
14116
|
-
attempt =
|
|
14117
|
-
setAttempt =
|
|
14326
|
+
}, [skipLivenessValidation]);
|
|
14327
|
+
var _v = React.useState(0),
|
|
14328
|
+
attempt = _v[0],
|
|
14329
|
+
setAttempt = _v[1];
|
|
14118
14330
|
var onRetry = React.useCallback(function () {
|
|
14119
14331
|
onRetryClicked === null || onRetryClicked === void 0 ? void 0 : onRetryClicked();
|
|
14120
14332
|
setAttempt(function (n) {
|
|
14121
14333
|
return n + 1;
|
|
14122
14334
|
});
|
|
14123
|
-
setCaptureState('CHECKING_LIVENESS');
|
|
14124
|
-
}, [onRetryClicked]);
|
|
14335
|
+
setCaptureState(skipLivenessValidation ? 'CAPTURING_SELFIE' : 'CHECKING_LIVENESS');
|
|
14336
|
+
}, [onRetryClicked, skipLivenessValidation]);
|
|
14125
14337
|
var onExitSignatureCapture = React.useCallback(function () {
|
|
14126
14338
|
setAttempt(function (n) {
|
|
14127
14339
|
return n + 1;
|
|
14128
14340
|
});
|
|
14129
|
-
setCaptureState('CHECKING_LIVENESS');
|
|
14341
|
+
setCaptureState(skipLivenessValidation ? 'CAPTURING_SELFIE' : 'CHECKING_LIVENESS');
|
|
14130
14342
|
onExitCapture === null || onExitCapture === void 0 ? void 0 : onExitCapture();
|
|
14131
14343
|
useVideoSignatureStore.getState().clearRecordedData();
|
|
14132
|
-
}, [onExitCapture]);
|
|
14344
|
+
}, [onExitCapture, skipLivenessValidation]);
|
|
14133
14345
|
var showSuccessScreen = useShowSuccessScreen(skipSuccessScreen, captureState === 'SUCCESS', onComplete);
|
|
14134
14346
|
React.useEffect(function () {
|
|
14135
14347
|
if (cameraAccessDenied) {
|
|
14136
14348
|
setAttempt(function (n) {
|
|
14137
14349
|
return n + 1;
|
|
14138
14350
|
});
|
|
14139
|
-
setCaptureState('CHECKING_LIVENESS');
|
|
14351
|
+
setCaptureState(skipLivenessValidation ? 'CAPTURING_SELFIE' : 'CHECKING_LIVENESS');
|
|
14140
14352
|
}
|
|
14141
|
-
}, [cameraAccessDenied]);
|
|
14353
|
+
}, [cameraAccessDenied, skipLivenessValidation]);
|
|
14142
14354
|
var guidesComponent = React.useCallback(function (props) {
|
|
14143
14355
|
return /*#__PURE__*/React__namespace.default.createElement(VideoSignatureWizardGuides, _assign({}, props, {
|
|
14144
14356
|
classNames: classNames === null || classNames === void 0 ? void 0 : classNames.guides,
|
|
@@ -14178,6 +14390,7 @@ var VideoSignatureWizard = function VideoSignatureWizard(_a) {
|
|
|
14178
14390
|
onUserCancel: onUserCancel,
|
|
14179
14391
|
onExitAfterFailure: onExitAfterFailure,
|
|
14180
14392
|
onLoadingOverlayDismissed: onLoadingOverlayDismissedCallback,
|
|
14393
|
+
showLoadingOverlay: showLoadingOverlay,
|
|
14181
14394
|
customOverlayContent: customOverlayContent,
|
|
14182
14395
|
loadingOverlayMode: loadingOverlayMode,
|
|
14183
14396
|
guidesComponent: guidesComponent,
|
|
@@ -14186,8 +14399,29 @@ var VideoSignatureWizard = function VideoSignatureWizard(_a) {
|
|
|
14186
14399
|
colors: colors.faceLiveness,
|
|
14187
14400
|
verbiage: verbiage.faceLiveness,
|
|
14188
14401
|
debugMode: debugMode,
|
|
14189
|
-
renderCameraFeed: false
|
|
14190
|
-
|
|
14402
|
+
renderCameraFeed: false
|
|
14403
|
+
}));
|
|
14404
|
+
case 'CAPTURING_SELFIE':
|
|
14405
|
+
return /*#__PURE__*/React__namespace.default.createElement(SelfieCaptureWizard, _assign({
|
|
14406
|
+
key: "selfie-capture-".concat(attempt)
|
|
14407
|
+
}, faceLivenessProps, {
|
|
14408
|
+
onLoadingStarted: onLoadingStarted,
|
|
14409
|
+
onLoadingProgress: onLoadingProgress,
|
|
14410
|
+
onLoadingCompleted: onLoadingCompleted,
|
|
14411
|
+
onLoadingOverlayDismissed: onLoadingOverlayDismissedCallback,
|
|
14412
|
+
onCapture: onSelfieCapture,
|
|
14413
|
+
onUserCancel: onUserCancel,
|
|
14414
|
+
onExitCapture: onExitCapture,
|
|
14415
|
+
showLoadingOverlay: showLoadingOverlay,
|
|
14416
|
+
customOverlayContent: customOverlayContent,
|
|
14417
|
+
loadingOverlayMode: loadingOverlayMode,
|
|
14418
|
+
guidesComponent: guidesComponent,
|
|
14419
|
+
assets: assets.faceLiveness,
|
|
14420
|
+
classNames: classNames.faceLiveness,
|
|
14421
|
+
colors: colors.faceLiveness,
|
|
14422
|
+
verbiage: verbiage.faceLiveness,
|
|
14423
|
+
debugMode: debugMode,
|
|
14424
|
+
renderCameraFeed: false
|
|
14191
14425
|
}));
|
|
14192
14426
|
case 'CAPTURING_SIGNATURE':
|
|
14193
14427
|
return /*#__PURE__*/React__namespace.default.createElement(VideoSignatureCapture, {
|
|
@@ -17978,6 +18212,7 @@ var SignatureKYC = function SignatureKYC(_a) {
|
|
|
17978
18212
|
onDocumentUploadProgress = _a.onDocumentUploadProgress,
|
|
17979
18213
|
onDocumentUploaded = _a.onDocumentUploaded,
|
|
17980
18214
|
onDocumentUploadFailed = _a.onDocumentUploadFailed,
|
|
18215
|
+
onSelfieCaptured = _a.onSelfieCaptured,
|
|
17981
18216
|
onBeforeSubmit = _a.onBeforeSubmit,
|
|
17982
18217
|
onSubmit = _a.onSubmit,
|
|
17983
18218
|
onComplete = _a.onComplete,
|
|
@@ -18006,15 +18241,17 @@ var SignatureKYC = function SignatureKYC(_a) {
|
|
|
18006
18241
|
_k = _a.restartVideoOnSignaturePadCleared,
|
|
18007
18242
|
restartVideoOnSignaturePadCleared = _k === void 0 ? true : _k,
|
|
18008
18243
|
faceLivenessProps = _a.faceLivenessProps,
|
|
18009
|
-
_l = _a.
|
|
18010
|
-
|
|
18244
|
+
_l = _a.skipLivenessValidation,
|
|
18245
|
+
skipLivenessValidation = _l === void 0 ? false : _l,
|
|
18246
|
+
_m = _a.theme,
|
|
18247
|
+
theme = _m === void 0 ? 'default' : _m,
|
|
18011
18248
|
classNames = _a.classNames,
|
|
18012
18249
|
colors = _a.colors,
|
|
18013
18250
|
verbiage = _a.verbiage,
|
|
18014
18251
|
geolocationEnabled = _a.geolocationEnabled,
|
|
18015
18252
|
geolocationRequired = _a.geolocationRequired,
|
|
18016
|
-
|
|
18017
|
-
debugMode =
|
|
18253
|
+
_o = _a.debugMode,
|
|
18254
|
+
debugMode = _o === void 0 ? false : _o;
|
|
18018
18255
|
useLanguage(lang);
|
|
18019
18256
|
useDebugLogging(debugMode);
|
|
18020
18257
|
return /*#__PURE__*/React__namespace.default.createElement(AuthProvider, {
|
|
@@ -18056,6 +18293,7 @@ var SignatureKYC = function SignatureKYC(_a) {
|
|
|
18056
18293
|
onLoadingStarted: onLoadingStarted,
|
|
18057
18294
|
onLoadingProgress: onLoadingProgress,
|
|
18058
18295
|
onLoadingCompleted: onLoadingCompleted,
|
|
18296
|
+
onSelfieCaptured: onSelfieCaptured,
|
|
18059
18297
|
customOverlayContent: customOverlayContent,
|
|
18060
18298
|
onLoadingOverlayDismissed: onLoadingOverlayDismissed,
|
|
18061
18299
|
loadingOverlayMode: loadingOverlayMode,
|
|
@@ -18067,6 +18305,7 @@ var SignatureKYC = function SignatureKYC(_a) {
|
|
|
18067
18305
|
faceLivenessProps: faceLivenessProps,
|
|
18068
18306
|
allowSignatureAfterLivenessCheckFailure: allowSignatureAfterLivenessCheckFailure,
|
|
18069
18307
|
restartVideoOnSignaturePadCleared: restartVideoOnSignaturePadCleared,
|
|
18308
|
+
skipLivenessValidation: skipLivenessValidation,
|
|
18070
18309
|
classNames: classNames,
|
|
18071
18310
|
colors: colors,
|
|
18072
18311
|
debugMode: debugMode,
|
|
@@ -18074,7 +18313,7 @@ var SignatureKYC = function SignatureKYC(_a) {
|
|
|
18074
18313
|
onModelError: onModelError,
|
|
18075
18314
|
onUserCancel: onUserCancel
|
|
18076
18315
|
};
|
|
18077
|
-
}, [onLoadingStarted, onLoadingProgress, onLoadingCompleted, customOverlayContent, onLoadingOverlayDismissed, loadingOverlayMode, skipSuccessScreen, captureAudio, minSignaturePadPoints, headTrackingBoundaryPercentage, modelLoadTimeoutMs, faceLivenessProps, allowSignatureAfterLivenessCheckFailure, restartVideoOnSignaturePadCleared, classNames, colors, debugMode, verbiage, onModelError, onUserCancel])
|
|
18316
|
+
}, [onLoadingStarted, onLoadingProgress, onLoadingCompleted, onSelfieCaptured, customOverlayContent, onLoadingOverlayDismissed, loadingOverlayMode, skipSuccessScreen, captureAudio, minSignaturePadPoints, headTrackingBoundaryPercentage, modelLoadTimeoutMs, faceLivenessProps, allowSignatureAfterLivenessCheckFailure, restartVideoOnSignaturePadCleared, skipLivenessValidation, classNames, colors, debugMode, verbiage, onModelError, onUserCancel])
|
|
18078
18317
|
})))));
|
|
18079
18318
|
};
|
|
18080
18319
|
|