idmission-web-sdk 2.0.0 → 2.0.1
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/README.md +1 -0
- package/dist/components/customer_flows/VideoIdValidation.d.ts +2 -0
- package/dist/components/video_id/IdVideoCapture.d.ts +2 -1
- package/dist/components/video_id/IdVideoCaptureWizard.d.ts +2 -1
- package/dist/components/video_signature_capture/VideoSignatureWizard.d.ts +1 -1
- package/dist/lib/camera/useVideoRecorder.d.ts +1 -1
- package/dist/sdk2.cjs.development.js +251 -188
- 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 +251 -188
- package/dist/sdk2.esm.js.map +1 -1
- package/dist/sdk2.umd.development.js +251 -188
- 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/stories/CustomerFlows/VideoIdValidation.stories.d.ts +8 -10
- package/dist/version.d.ts +1 -1
- package/package.json +9 -9
|
@@ -140,7 +140,7 @@
|
|
|
140
140
|
return cooked;
|
|
141
141
|
}
|
|
142
142
|
|
|
143
|
-
var webSdkVersion = '2.0.
|
|
143
|
+
var webSdkVersion = '2.0.1';
|
|
144
144
|
|
|
145
145
|
function getPlatform() {
|
|
146
146
|
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
@@ -12425,14 +12425,20 @@
|
|
|
12425
12425
|
var captureStartedAt = React.useRef();
|
|
12426
12426
|
var captureEndedAt = React.useRef();
|
|
12427
12427
|
var operationStartedAt = React.useRef();
|
|
12428
|
+
var _x = React.useContext(SelfieGuidanceModelsContext),
|
|
12429
|
+
start = _x.start,
|
|
12430
|
+
stop = _x.stop;
|
|
12428
12431
|
React.useEffect(function () {
|
|
12429
12432
|
operationStartedAt.current = new Date();
|
|
12430
12433
|
}, []);
|
|
12431
12434
|
React.useEffect(function () {
|
|
12432
|
-
if (captureState
|
|
12433
|
-
|
|
12434
|
-
|
|
12435
|
-
|
|
12435
|
+
if (captureState !== 'CAPTURING') return;
|
|
12436
|
+
captureStartedAt.current = new Date();
|
|
12437
|
+
start();
|
|
12438
|
+
return function () {
|
|
12439
|
+
stop();
|
|
12440
|
+
};
|
|
12441
|
+
}, [captureState, start, stop]);
|
|
12436
12442
|
var onCapture = React.useCallback(function () {
|
|
12437
12443
|
captureEndedAt.current = new Date();
|
|
12438
12444
|
}, []);
|
|
@@ -12469,9 +12475,9 @@
|
|
|
12469
12475
|
setCaptureState('FAILED');
|
|
12470
12476
|
onTimeout === null || onTimeout === void 0 ? void 0 : onTimeout(submissionResponse, livenessCheckRequest);
|
|
12471
12477
|
}, [onTimeout, livenessCheckRequest, submissionResponse]);
|
|
12472
|
-
var
|
|
12473
|
-
attempt =
|
|
12474
|
-
setAttempt =
|
|
12478
|
+
var _y = React.useState(0),
|
|
12479
|
+
attempt = _y[0],
|
|
12480
|
+
setAttempt = _y[1];
|
|
12475
12481
|
var onExitCallback = React.useCallback(function () {
|
|
12476
12482
|
setAttempt(function (n) {
|
|
12477
12483
|
return n + 1;
|
|
@@ -13507,7 +13513,10 @@
|
|
|
13507
13513
|
var AcceptBtn$1 = styled__default['default'](LoaderButton)(templateObject_1$b || (templateObject_1$b = __makeTemplateObject(["\n margin-left: auto;\n"], ["\n margin-left: auto;\n"])));
|
|
13508
13514
|
var templateObject_1$b;
|
|
13509
13515
|
|
|
13510
|
-
var useVideoRecorder = function useVideoRecorder(camera, audioStream) {
|
|
13516
|
+
var useVideoRecorder = function useVideoRecorder(camera, audioStream, mergeAVStreams) {
|
|
13517
|
+
if (mergeAVStreams === void 0) {
|
|
13518
|
+
mergeAVStreams = false;
|
|
13519
|
+
}
|
|
13511
13520
|
var videoRecorder = React.useRef(null);
|
|
13512
13521
|
var audioRecorder = React.useRef(null);
|
|
13513
13522
|
var videoChunks = React.useRef([]);
|
|
@@ -13536,7 +13545,13 @@
|
|
|
13536
13545
|
var _h = React.useState(false),
|
|
13537
13546
|
audioRecordingIntentionallyStopped = _h[0],
|
|
13538
13547
|
setAudioRecordingIntentionallyStopped = _h[1];
|
|
13539
|
-
var
|
|
13548
|
+
var getVideoStream = React.useCallback(function () {
|
|
13549
|
+
var _a, _b, _c;
|
|
13550
|
+
if (!mergeAVStreams) return camera === null || camera === void 0 ? void 0 : camera.stream;
|
|
13551
|
+
var videoTracks = (_b = (_a = camera === null || camera === void 0 ? void 0 : camera.stream) === null || _a === void 0 ? void 0 : _a.getTracks()) !== null && _b !== void 0 ? _b : [];
|
|
13552
|
+
var audioTracks = (_c = audioStream === null || audioStream === void 0 ? void 0 : audioStream.getTracks()) !== null && _c !== void 0 ? _c : [];
|
|
13553
|
+
return new MediaStream(__spreadArray(__spreadArray([], videoTracks, true), audioTracks, true));
|
|
13554
|
+
}, [audioStream, camera === null || camera === void 0 ? void 0 : camera.stream, mergeAVStreams]);
|
|
13540
13555
|
var processVideo = React.useCallback(function () {
|
|
13541
13556
|
var videoBlob = new Blob(videoChunks.current, {
|
|
13542
13557
|
type: 'video/mp4'
|
|
@@ -13557,13 +13572,15 @@
|
|
|
13557
13572
|
(_a = audioStream === null || audioStream === void 0 ? void 0 : audioStream.stop) === null || _a === void 0 ? void 0 : _a.call(audioStream);
|
|
13558
13573
|
}, [audioStream]);
|
|
13559
13574
|
var startRecordingVideo = React.useCallback(function () {
|
|
13575
|
+
var videoStream = getVideoStream();
|
|
13560
13576
|
if (!videoStream) return;
|
|
13561
13577
|
videoChunks.current = [];
|
|
13562
13578
|
setIsRecordingVideo(true);
|
|
13563
13579
|
setVideoRecordingStopped(false);
|
|
13564
13580
|
setVideoRecordingIntentionallyStopped(false);
|
|
13565
13581
|
videoRecorder.current = new MediaRecorder(videoStream, {
|
|
13566
|
-
videoBitsPerSecond: 270000
|
|
13582
|
+
videoBitsPerSecond: 270000,
|
|
13583
|
+
audioBitsPerSecond: 32000
|
|
13567
13584
|
});
|
|
13568
13585
|
videoRecorder.current.ondataavailable = function (e) {
|
|
13569
13586
|
videoChunks.current.push(e.data);
|
|
@@ -13579,8 +13596,9 @@
|
|
|
13579
13596
|
// TODO: figure out what to do here
|
|
13580
13597
|
}
|
|
13581
13598
|
}, 100);
|
|
13582
|
-
}, [
|
|
13599
|
+
}, [getVideoStream]);
|
|
13583
13600
|
var startRecordingAudio = React.useCallback(function () {
|
|
13601
|
+
if (mergeAVStreams) return;
|
|
13584
13602
|
if (!audioStream) return;
|
|
13585
13603
|
audioChunks.current = [];
|
|
13586
13604
|
setIsRecordingAudio(true);
|
|
@@ -13596,7 +13614,7 @@
|
|
|
13596
13614
|
setAudioRecordingStopped(true);
|
|
13597
13615
|
};
|
|
13598
13616
|
audioRecorder.current.start(1000);
|
|
13599
|
-
}, [audioStream]);
|
|
13617
|
+
}, [audioStream, mergeAVStreams]);
|
|
13600
13618
|
var stopRecordingVideo = React.useCallback(function () {
|
|
13601
13619
|
var _a, _b;
|
|
13602
13620
|
setVideoRecordingIntentionallyStopped(true);
|
|
@@ -13898,45 +13916,52 @@
|
|
|
13898
13916
|
onRetryClicked = _a.onRetryClicked,
|
|
13899
13917
|
onExitCapture = _a.onExitCapture,
|
|
13900
13918
|
onUserCancel = _a.onUserCancel,
|
|
13901
|
-
onModelError = _a.onModelError,
|
|
13902
13919
|
_c = _a.loadingOverlayMode,
|
|
13903
13920
|
loadingOverlayMode = _c === void 0 ? 'default' : _c,
|
|
13904
|
-
_d = _a.
|
|
13905
|
-
|
|
13906
|
-
_e = _a.
|
|
13907
|
-
|
|
13908
|
-
_f = _a.
|
|
13909
|
-
|
|
13910
|
-
_g = _a.
|
|
13911
|
-
|
|
13912
|
-
_h = _a.
|
|
13913
|
-
|
|
13914
|
-
_j = _a.
|
|
13915
|
-
|
|
13916
|
-
|
|
13917
|
-
|
|
13918
|
-
|
|
13919
|
-
|
|
13920
|
-
|
|
13921
|
-
|
|
13922
|
-
|
|
13923
|
-
setSignatureVideoUrl = _l.setSignatureVideoUrl,
|
|
13924
|
-
logSelfieCaptureAttempt = _l.logSelfieCaptureAttempt;
|
|
13921
|
+
_d = _a.skipSuccessScreen,
|
|
13922
|
+
skipSuccessScreen = _d === void 0 ? false : _d,
|
|
13923
|
+
_e = _a.assets,
|
|
13924
|
+
assets = _e === void 0 ? {} : _e,
|
|
13925
|
+
_f = _a.classNames,
|
|
13926
|
+
classNames = _f === void 0 ? {} : _f,
|
|
13927
|
+
_g = _a.colors,
|
|
13928
|
+
colors = _g === void 0 ? {} : _g,
|
|
13929
|
+
_h = _a.verbiage,
|
|
13930
|
+
verbiage = _h === void 0 ? {} : _h,
|
|
13931
|
+
_j = _a.debugMode,
|
|
13932
|
+
debugMode = _j === void 0 ? false : _j;
|
|
13933
|
+
var _k = React.useContext(SubmissionContext),
|
|
13934
|
+
selfieImage = _k.selfieImage,
|
|
13935
|
+
signatureVideoUrl = _k.signatureVideoUrl,
|
|
13936
|
+
setSelfieImage = _k.setSelfieImage,
|
|
13937
|
+
setSignatureData = _k.setSignatureData,
|
|
13938
|
+
setSignatureVideoUrl = _k.setSignatureVideoUrl,
|
|
13939
|
+
logSelfieCaptureAttempt = _k.logSelfieCaptureAttempt;
|
|
13925
13940
|
var cameraAccessDenied = React.useContext(CameraStateContext).cameraAccessDenied;
|
|
13926
|
-
var
|
|
13927
|
-
captureState =
|
|
13928
|
-
setCaptureState =
|
|
13941
|
+
var _l = React.useState('LOADING'),
|
|
13942
|
+
captureState = _l[0],
|
|
13943
|
+
setCaptureState = _l[1];
|
|
13929
13944
|
var operationStartedAt = React.useRef();
|
|
13930
13945
|
var captureStartedAt = React.useRef();
|
|
13931
13946
|
var captureEndedAt = React.useRef();
|
|
13947
|
+
var _m = React.useContext(SelfieGuidanceModelsContext),
|
|
13948
|
+
start = _m.start,
|
|
13949
|
+
stop = _m.stop;
|
|
13932
13950
|
React.useEffect(function () {
|
|
13933
13951
|
operationStartedAt.current = new Date();
|
|
13934
13952
|
}, []);
|
|
13935
13953
|
React.useEffect(function () {
|
|
13936
|
-
if (captureState
|
|
13937
|
-
|
|
13938
|
-
}
|
|
13954
|
+
if (captureState !== 'CHECKING_LIVENESS') return;
|
|
13955
|
+
captureStartedAt.current = new Date();
|
|
13939
13956
|
}, [captureState]);
|
|
13957
|
+
var shouldRun = ['CHECKING_LIVENESS', 'CAPTURING_SIGNATURE'].includes(captureState);
|
|
13958
|
+
React.useEffect(function () {
|
|
13959
|
+
if (!shouldRun) return;
|
|
13960
|
+
start();
|
|
13961
|
+
return function () {
|
|
13962
|
+
stop();
|
|
13963
|
+
};
|
|
13964
|
+
}, [shouldRun, start, stop]);
|
|
13940
13965
|
var logCaptureMetadata = React.useCallback(function () {
|
|
13941
13966
|
var _a, _b, _c;
|
|
13942
13967
|
logSelfieCaptureAttempt({
|
|
@@ -14001,11 +14026,7 @@
|
|
|
14001
14026
|
setCaptureState('LOADING');
|
|
14002
14027
|
}
|
|
14003
14028
|
}, [cameraAccessDenied]);
|
|
14004
|
-
return /*#__PURE__*/React__default['default'].createElement(
|
|
14005
|
-
throttleMs: captureState === 'CAPTURING_SIGNATURE' ? 250 : 0,
|
|
14006
|
-
onModelError: onModelError,
|
|
14007
|
-
modelLoadTimeoutMs: modelLoadTimeoutMs
|
|
14008
|
-
}, /*#__PURE__*/React__default['default'].createElement(PageContainer, {
|
|
14029
|
+
return /*#__PURE__*/React__default['default'].createElement(React__default['default'].Fragment, null, /*#__PURE__*/React__default['default'].createElement(PageContainer, {
|
|
14009
14030
|
className: "flex ".concat((_b = classNames === null || classNames === void 0 ? void 0 : classNames.container) !== null && _b !== void 0 ? _b : '')
|
|
14010
14031
|
}, /*#__PURE__*/React__default['default'].createElement(CameraVideoTag, {
|
|
14011
14032
|
className: classNames.cameraFeed
|
|
@@ -14370,79 +14391,85 @@
|
|
|
14370
14391
|
disableFaceDetectionWhileAudioCapture = _8 === void 0 ? false : _8,
|
|
14371
14392
|
_9 = _a.disableFaceDetectionWhileAudioCaptureMsDelay,
|
|
14372
14393
|
disableFaceDetectionWhileAudioCaptureMsDelay = _9 === void 0 ? 2000 : _9,
|
|
14373
|
-
_10 = _a.
|
|
14374
|
-
|
|
14375
|
-
_11 = _a.
|
|
14376
|
-
|
|
14377
|
-
_12 = _a.
|
|
14378
|
-
|
|
14379
|
-
_13 = _a.
|
|
14380
|
-
|
|
14381
|
-
_14 = _a.
|
|
14382
|
-
|
|
14383
|
-
|
|
14384
|
-
|
|
14385
|
-
|
|
14386
|
-
|
|
14387
|
-
_17 =
|
|
14388
|
-
|
|
14389
|
-
|
|
14390
|
-
|
|
14391
|
-
|
|
14392
|
-
|
|
14393
|
-
|
|
14394
|
-
|
|
14395
|
-
|
|
14396
|
-
|
|
14397
|
-
|
|
14398
|
-
|
|
14399
|
-
|
|
14400
|
-
setDetectedObjects = _19[1];
|
|
14394
|
+
_10 = _a.mergeAVStreams,
|
|
14395
|
+
mergeAVStreams = _10 === void 0 ? false : _10,
|
|
14396
|
+
_11 = _a.assets,
|
|
14397
|
+
assets = _11 === void 0 ? {} : _11,
|
|
14398
|
+
_12 = _a.classNames,
|
|
14399
|
+
classNames = _12 === void 0 ? {} : _12,
|
|
14400
|
+
_13 = _a.colors,
|
|
14401
|
+
colors = _13 === void 0 ? {} : _13,
|
|
14402
|
+
_14 = _a.verbiage,
|
|
14403
|
+
rawVerbiage = _14 === void 0 ? {} : _14,
|
|
14404
|
+
_15 = _a.debugMode,
|
|
14405
|
+
debugMode = _15 === void 0 ? false : _15;
|
|
14406
|
+
var _16 = useResizeObserver(),
|
|
14407
|
+
ref = _16.ref,
|
|
14408
|
+
_17 = _16.width,
|
|
14409
|
+
width = _17 === void 0 ? 1 : _17,
|
|
14410
|
+
_18 = _16.height,
|
|
14411
|
+
height = _18 === void 0 ? 1 : _18;
|
|
14412
|
+
var _19 = React.useContext(CameraStateContext),
|
|
14413
|
+
cameraRef = _19.cameraRef,
|
|
14414
|
+
videoRef = _19.videoRef,
|
|
14415
|
+
videoLoaded = _19.videoLoaded,
|
|
14416
|
+
cameraReady = _19.cameraReady,
|
|
14417
|
+
microphoneReady = _19.microphoneReady,
|
|
14418
|
+
audioStream = _19.audioStream,
|
|
14419
|
+
setVideoLoaded = _19.setVideoLoaded,
|
|
14420
|
+
takePhoto = _19.takePhoto;
|
|
14401
14421
|
var _20 = React.useState([]),
|
|
14402
|
-
|
|
14403
|
-
|
|
14404
|
-
var _21 = React.
|
|
14405
|
-
|
|
14406
|
-
|
|
14407
|
-
|
|
14408
|
-
|
|
14409
|
-
|
|
14410
|
-
|
|
14411
|
-
|
|
14412
|
-
|
|
14413
|
-
|
|
14414
|
-
|
|
14415
|
-
|
|
14416
|
-
var _23 = React.
|
|
14417
|
-
|
|
14418
|
-
|
|
14419
|
-
var _24 = React.useContext(
|
|
14420
|
-
|
|
14421
|
-
|
|
14422
|
-
var _25 =
|
|
14423
|
-
|
|
14424
|
-
|
|
14425
|
-
|
|
14426
|
-
|
|
14427
|
-
|
|
14428
|
-
|
|
14429
|
-
|
|
14430
|
-
|
|
14431
|
-
|
|
14422
|
+
detectedObjects = _20[0],
|
|
14423
|
+
setDetectedObjects = _20[1];
|
|
14424
|
+
var _21 = React.useState([]),
|
|
14425
|
+
faces = _21[0],
|
|
14426
|
+
setFaces = _21[1];
|
|
14427
|
+
var _22 = React.useContext(IdCaptureModelsContext),
|
|
14428
|
+
idModelsReady = _22.ready,
|
|
14429
|
+
startIdModels = _22.start,
|
|
14430
|
+
stopIdModels = _22.stop,
|
|
14431
|
+
onIdPredictionMade = _22.onPredictionMade,
|
|
14432
|
+
setThresholds = _22.setThresholds,
|
|
14433
|
+
bestFrameDetails = _22.bestFrameDetails,
|
|
14434
|
+
resetBestFrame = _22.resetBestFrame,
|
|
14435
|
+
idModelError = _22.modelError;
|
|
14436
|
+
var _23 = React.useState(null),
|
|
14437
|
+
videoStartsAt = _23[0],
|
|
14438
|
+
setVideoStartsAt = _23[1];
|
|
14439
|
+
var _24 = React.useContext(SubmissionContext),
|
|
14440
|
+
setIdCaptureVideoAudioStartsAt = _24.setIdCaptureVideoAudioStartsAt,
|
|
14441
|
+
setExpectedAudioText = _24.setExpectedAudioText;
|
|
14442
|
+
var _25 = React.useContext(SelfieGuidanceModelsContext),
|
|
14443
|
+
onSelfiePredictionMade = _25.onPredictionMade,
|
|
14444
|
+
selfieModelError = _25.error;
|
|
14445
|
+
var _26 = useVideoRecorder(cameraRef.current, audioStream, mergeAVStreams),
|
|
14446
|
+
isRecordingVideo = _26.isRecordingVideo,
|
|
14447
|
+
startRecordingVideo = _26.startRecordingVideo,
|
|
14448
|
+
startRecordingAudio = _26.startRecordingAudio,
|
|
14449
|
+
stopRecordingVideo = _26.stopRecordingVideo,
|
|
14450
|
+
stopRecordingAudio = _26.stopRecordingAudio,
|
|
14451
|
+
videoRecordingUnintentionallyStopped = _26.videoRecordingUnintentionallyStopped,
|
|
14452
|
+
audioRecordingUnintentionallyStopped = _26.audioRecordingUnintentionallyStopped,
|
|
14453
|
+
videoUrl = _26.videoUrl,
|
|
14454
|
+
audioUrl = _26.audioUrl;
|
|
14432
14455
|
var countdownTimeoutRef = React.useRef(undefined);
|
|
14433
|
-
var
|
|
14434
|
-
countdownRemaining =
|
|
14435
|
-
setCountdownRemaining =
|
|
14456
|
+
var _27 = React.useState(0),
|
|
14457
|
+
countdownRemaining = _27[0],
|
|
14458
|
+
setCountdownRemaining = _27[1];
|
|
14436
14459
|
React.useEffect(function () {
|
|
14437
14460
|
if (!isRecordingVideo && !videoUrl) {
|
|
14438
14461
|
startRecordingVideo();
|
|
14439
14462
|
setVideoStartsAt(new Date());
|
|
14440
14463
|
}
|
|
14441
|
-
if
|
|
14464
|
+
// if the mergeAVStreams flag is present, the audio stream is on the video
|
|
14465
|
+
// stream, so we won't wait for a separate data url containing audio only.
|
|
14466
|
+
var needsAudio = !!readTextPrompt && !mergeAVStreams;
|
|
14467
|
+
var audioReady = !needsAudio || audioUrl;
|
|
14468
|
+
if (videoUrl && audioReady) {
|
|
14442
14469
|
setVideoLoaded(false);
|
|
14443
14470
|
onComplete === null || onComplete === void 0 ? void 0 : onComplete(videoUrl, audioUrl);
|
|
14444
14471
|
}
|
|
14445
|
-
}, [audioUrl, isRecordingVideo, onComplete, readTextPrompt, setVideoLoaded, startRecordingVideo, videoUrl]);
|
|
14472
|
+
}, [audioUrl, isRecordingVideo, mergeAVStreams, onComplete, readTextPrompt, setVideoLoaded, startRecordingVideo, videoUrl]);
|
|
14446
14473
|
React.useEffect(function () {
|
|
14447
14474
|
if (videoRecordingUnintentionallyStopped || audioRecordingUnintentionallyStopped) {
|
|
14448
14475
|
onRecordingFailed === null || onRecordingFailed === void 0 ? void 0 : onRecordingFailed();
|
|
@@ -14452,9 +14479,9 @@
|
|
|
14452
14479
|
React.useEffect(function () {
|
|
14453
14480
|
shouldCaptureFrames.current = videoLoaded && cameraReady && idModelsReady && !idModelError && (!readTextPrompt || microphoneReady);
|
|
14454
14481
|
}, [cameraReady, idModelError, idModelsReady, microphoneReady, readTextPrompt, videoLoaded]);
|
|
14455
|
-
var
|
|
14456
|
-
requestedAction =
|
|
14457
|
-
setRequestedAction =
|
|
14482
|
+
var _28 = React.useState('SHOW_ID_FRONT'),
|
|
14483
|
+
requestedAction = _28[0],
|
|
14484
|
+
setRequestedAction = _28[1];
|
|
14458
14485
|
React.useEffect(function startModelsWhenCapturing() {
|
|
14459
14486
|
if (!shouldCaptureFrames.current && requestedAction !== 'SHOW_ID_FRONT' && requestedAction !== 'SHOW_ID_BACK') return;
|
|
14460
14487
|
startIdModels();
|
|
@@ -14473,15 +14500,15 @@
|
|
|
14473
14500
|
}
|
|
14474
14501
|
});
|
|
14475
14502
|
}, [idCardBackDetectionThreshold, idCardBackFocusThreshold, idCardFrontDetectionThreshold, idCardFrontFocusThreshold, requestedAction, setThresholds]);
|
|
14476
|
-
var _28 = React.useState(0),
|
|
14477
|
-
currentDetectionScore = _28[0],
|
|
14478
|
-
setCurrentDetectionScore = _28[1];
|
|
14479
14503
|
var _29 = React.useState(0),
|
|
14480
|
-
|
|
14481
|
-
|
|
14504
|
+
currentDetectionScore = _29[0],
|
|
14505
|
+
setCurrentDetectionScore = _29[1];
|
|
14482
14506
|
var _30 = React.useState(0),
|
|
14483
|
-
|
|
14484
|
-
|
|
14507
|
+
currentFocusScore = _30[0],
|
|
14508
|
+
setCurrentFocusScore = _30[1];
|
|
14509
|
+
var _31 = React.useState(0),
|
|
14510
|
+
goodFramesCount = _31[0],
|
|
14511
|
+
setGoodFramesCount = _31[1];
|
|
14485
14512
|
var goodFramesThreshold = requestedAction === 'SHOW_ID_FRONT' ? goodIdCardFrontFramesThreshold : goodIdCardBackFramesThreshold;
|
|
14486
14513
|
var goodFramesThresholdMet = goodFramesCount >= goodFramesThreshold;
|
|
14487
14514
|
React.useEffect(function () {
|
|
@@ -14499,9 +14526,9 @@
|
|
|
14499
14526
|
}
|
|
14500
14527
|
});
|
|
14501
14528
|
}, [idCaptureModelsEnabled, idCardFrontDetectionThreshold, onIdPredictionMade, idModelError]);
|
|
14502
|
-
var
|
|
14503
|
-
idFrontCaptureStartedAt =
|
|
14504
|
-
setFirstGoodFrameTime =
|
|
14529
|
+
var _32 = React.useState(null),
|
|
14530
|
+
idFrontCaptureStartedAt = _32[0],
|
|
14531
|
+
setFirstGoodFrameTime = _32[1];
|
|
14505
14532
|
React.useEffect(function () {
|
|
14506
14533
|
if (goodFramesCount === 1) setFirstGoodFrameTime(new Date().getTime());
|
|
14507
14534
|
}, [goodFramesCount]);
|
|
@@ -14522,9 +14549,9 @@
|
|
|
14522
14549
|
var frameHeight = (_e = (_d = videoRef.current) === null || _d === void 0 ? void 0 : _d.videoHeight) !== null && _e !== void 0 ? _e : 0;
|
|
14523
14550
|
var faceBox = (_f = faces === null || faces === void 0 ? void 0 : faces[0]) === null || _f === void 0 ? void 0 : _f.box;
|
|
14524
14551
|
var faceCentered = !faceBox || !frameWidth || faceBox.xMin > frameWidth * edgeBoundary && faceBox.yMin > frameHeight * edgeBoundary && faceBox.xMax < frameWidth * (1 - edgeBoundary) && faceBox.yMax < frameHeight * (1 - edgeBoundary);
|
|
14525
|
-
var
|
|
14526
|
-
countdownStartedAt =
|
|
14527
|
-
setCountdownStartedAt =
|
|
14552
|
+
var _33 = React.useState(),
|
|
14553
|
+
countdownStartedAt = _33[0],
|
|
14554
|
+
setCountdownStartedAt = _33[1];
|
|
14528
14555
|
var frameLock = React.useRef(false);
|
|
14529
14556
|
var captureFrame = React.useCallback(function () {
|
|
14530
14557
|
return __awaiter(void 0, void 0, void 0, function () {
|
|
@@ -14645,9 +14672,9 @@
|
|
|
14645
14672
|
};
|
|
14646
14673
|
}, [captureCountdownSeconds, captureFrame, countdownStartedAt, manualCountdown]);
|
|
14647
14674
|
var timeoutStartedAt = useTimeout(readTextTimeoutDurationMs, stopRecording, requestedAction !== 'READ_TEXT', false, requestedAction === 'READ_TEXT').timeoutStartedAt;
|
|
14648
|
-
var
|
|
14649
|
-
numFramesWithoutFaces =
|
|
14650
|
-
setNumFramesWithoutFaces =
|
|
14675
|
+
var _34 = React.useState(0),
|
|
14676
|
+
numFramesWithoutFaces = _34[0],
|
|
14677
|
+
setNumFramesWithoutFaces = _34[1];
|
|
14651
14678
|
React.useEffect(function () {
|
|
14652
14679
|
if (!selfieModelError) {
|
|
14653
14680
|
onSelfiePredictionMade(function (faces) {
|
|
@@ -14665,14 +14692,14 @@
|
|
|
14665
14692
|
}
|
|
14666
14693
|
}, [disableFaceDetectionWhileAudioCapture, disableFaceDetectionWhileAudioCaptureMsDelay, numFramesWithoutFaces, onFaceNotDetected, timeoutStartedAt]);
|
|
14667
14694
|
var theme = styled.useTheme();
|
|
14668
|
-
var
|
|
14695
|
+
var _35 = useTranslations(rawVerbiage, {
|
|
14669
14696
|
faceNotCenteredText: 'Please move your face to the center...',
|
|
14670
14697
|
searchingForIdCardText: 'Searching for ID card...',
|
|
14671
14698
|
captureBtnText: 'Capture'
|
|
14672
14699
|
}),
|
|
14673
|
-
captureBtnText =
|
|
14674
|
-
faceNotCenteredText =
|
|
14675
|
-
searchingForIdCardText =
|
|
14700
|
+
captureBtnText = _35.captureBtnText,
|
|
14701
|
+
faceNotCenteredText = _35.faceNotCenteredText,
|
|
14702
|
+
searchingForIdCardText = _35.searchingForIdCardText;
|
|
14676
14703
|
var debugScalingDetails = useDebugScalingDetails({
|
|
14677
14704
|
enabled: debugMode,
|
|
14678
14705
|
pageWidth: width,
|
|
@@ -14913,29 +14940,31 @@
|
|
|
14913
14940
|
disableFaceDetectionWhileAudioCaptureMsDelay = _v === void 0 ? 2000 : _v,
|
|
14914
14941
|
_w = _a.silentFallback,
|
|
14915
14942
|
silentFallback = _w === void 0 ? false : _w,
|
|
14916
|
-
_x = _a.
|
|
14917
|
-
|
|
14918
|
-
_y = _a.
|
|
14919
|
-
|
|
14920
|
-
_z = _a.
|
|
14921
|
-
|
|
14922
|
-
_0 = _a.
|
|
14923
|
-
|
|
14924
|
-
_1 = _a.
|
|
14925
|
-
|
|
14926
|
-
|
|
14927
|
-
|
|
14928
|
-
|
|
14929
|
-
|
|
14930
|
-
|
|
14931
|
-
|
|
14932
|
-
|
|
14933
|
-
|
|
14934
|
-
|
|
14935
|
-
|
|
14936
|
-
|
|
14937
|
-
|
|
14938
|
-
|
|
14943
|
+
_x = _a.mergeAVStreams,
|
|
14944
|
+
mergeAVStreams = _x === void 0 ? false : _x,
|
|
14945
|
+
_y = _a.assets,
|
|
14946
|
+
assets = _y === void 0 ? {} : _y,
|
|
14947
|
+
_z = _a.classNames,
|
|
14948
|
+
classNames = _z === void 0 ? {} : _z,
|
|
14949
|
+
_0 = _a.colors,
|
|
14950
|
+
colors = _0 === void 0 ? {} : _0,
|
|
14951
|
+
_1 = _a.verbiage,
|
|
14952
|
+
verbiage = _1 === void 0 ? {} : _1,
|
|
14953
|
+
_2 = _a.debugMode,
|
|
14954
|
+
debugMode = _2 === void 0 ? false : _2;
|
|
14955
|
+
var _3 = React.useContext(SubmissionContext),
|
|
14956
|
+
submissionStatus = _3.submissionStatus,
|
|
14957
|
+
idCaptureVideoUrl = _3.idCaptureVideoUrl,
|
|
14958
|
+
idCaptureVideoAudioUrl = _3.idCaptureVideoAudioUrl,
|
|
14959
|
+
idCaptureVideoIdFrontImage = _3.idCaptureVideoIdFrontImage,
|
|
14960
|
+
idCaptureVideoIdBackImage = _3.idCaptureVideoIdBackImage,
|
|
14961
|
+
setIdCaptureVideoUrl = _3.setIdCaptureVideoUrl,
|
|
14962
|
+
setIdCaptureVideoIdFrontImage = _3.setIdCaptureVideoIdFrontImage,
|
|
14963
|
+
setIdCaptureVideoIdBackImage = _3.setIdCaptureVideoIdBackImage,
|
|
14964
|
+
setIdCaptureVideoAudioUrl = _3.setIdCaptureVideoAudioUrl;
|
|
14965
|
+
var _4 = React.useState('CAPTURING_ID'),
|
|
14966
|
+
captureState = _4[0],
|
|
14967
|
+
setCaptureState = _4[1];
|
|
14939
14968
|
React.useEffect(function () {
|
|
14940
14969
|
if (skipIdCapture && captureState === 'CAPTURING_ID') setCaptureState('CHECKING_LIVENESS');
|
|
14941
14970
|
}, [captureState, skipIdCapture]);
|
|
@@ -14966,9 +14995,9 @@
|
|
|
14966
14995
|
var onVideoCaptureFaceNotDetected = React.useCallback(function () {
|
|
14967
14996
|
setCaptureState('CHECKING_LIVENESS');
|
|
14968
14997
|
}, []);
|
|
14969
|
-
var
|
|
14970
|
-
attempt =
|
|
14971
|
-
setAttempt =
|
|
14998
|
+
var _5 = React.useState(0),
|
|
14999
|
+
attempt = _5[0],
|
|
15000
|
+
setAttempt = _5[1];
|
|
14972
15001
|
var userSuppliedExitAfterFailure = onExitAfterFailure !== null && onExitAfterFailure !== void 0 ? onExitAfterFailure : faceLivenessProps.onExitAfterFailure;
|
|
14973
15002
|
var onFaceCaptureExitAfterFailure = React.useCallback(function (resp, req) {
|
|
14974
15003
|
userSuppliedExitAfterFailure === null || userSuppliedExitAfterFailure === void 0 ? void 0 : userSuppliedExitAfterFailure(resp, req);
|
|
@@ -15009,11 +15038,13 @@
|
|
|
15009
15038
|
onMicrophoneAccessDenied: onMicrophoneAccessDenied,
|
|
15010
15039
|
debugMode: debugMode
|
|
15011
15040
|
}, /*#__PURE__*/React__default['default'].createElement(IdCaptureModelsProvider, {
|
|
15041
|
+
autoStart: false,
|
|
15012
15042
|
documentDetectionModelUrl: (_c = (_b = idCaptureProps.assets) === null || _b === void 0 ? void 0 : _b.documentDetectionModelUrl) !== null && _c !== void 0 ? _c : '',
|
|
15013
15043
|
focusModelUrl: (_e = (_d = idCaptureProps.assets) === null || _d === void 0 ? void 0 : _d.focusModelUrl) !== null && _e !== void 0 ? _e : '',
|
|
15014
15044
|
onModelError: onIdCaptureModelError,
|
|
15015
15045
|
modelLoadTimeoutMs: idCaptureModelLoadTimeoutMs
|
|
15016
15046
|
}, /*#__PURE__*/React__default['default'].createElement(SelfieGuidanceModelsProvider, {
|
|
15047
|
+
autoStart: false,
|
|
15017
15048
|
onModelError: faceLivenessProps === null || faceLivenessProps === void 0 ? void 0 : faceLivenessProps.onModelError,
|
|
15018
15049
|
modelLoadTimeoutMs: faceLivenessProps === null || faceLivenessProps === void 0 ? void 0 : faceLivenessProps.modelLoadTimeoutMs
|
|
15019
15050
|
}, /*#__PURE__*/React__default['default'].createElement(PageContainer, {
|
|
@@ -15082,6 +15113,7 @@
|
|
|
15082
15113
|
readTextPrompt: readTextPrompt,
|
|
15083
15114
|
readTextTimeoutDurationMs: readTextTimeoutDurationMs,
|
|
15084
15115
|
readTextMinReadingMs: readTextMinReadingMs,
|
|
15116
|
+
mergeAVStreams: mergeAVStreams,
|
|
15085
15117
|
assets: assets.idVideoCapture,
|
|
15086
15118
|
classNames: classNames.idVideoCapture,
|
|
15087
15119
|
colors: colors.idVideoCapture,
|
|
@@ -15280,6 +15312,7 @@
|
|
|
15280
15312
|
onMicrophoneAccessDenied: onMicrophoneAccessDenied,
|
|
15281
15313
|
debugMode: debugMode
|
|
15282
15314
|
}, /*#__PURE__*/React__default['default'].createElement(SelfieGuidanceModelsProvider, {
|
|
15315
|
+
autoStart: false,
|
|
15283
15316
|
onModelError: faceLivenessProps.onModelError,
|
|
15284
15317
|
modelLoadTimeoutMs: faceLivenessProps.modelLoadTimeoutMs
|
|
15285
15318
|
}, /*#__PURE__*/React__default['default'].createElement(FaceLivenessWizard, __assign$1({}, faceLivenessProps, {
|
|
@@ -15299,10 +15332,15 @@
|
|
|
15299
15332
|
onCameraAccessDenied: onCameraAccessDenied,
|
|
15300
15333
|
onMicrophoneAccessDenied: onMicrophoneAccessDenied,
|
|
15301
15334
|
debugMode: debugMode
|
|
15335
|
+
}, /*#__PURE__*/React__default['default'].createElement(SelfieGuidanceModelsProvider, {
|
|
15336
|
+
autoStart: false,
|
|
15337
|
+
throttleMs: 250,
|
|
15338
|
+
onModelError: videoSignatureCaptureProps.onModelError,
|
|
15339
|
+
modelLoadTimeoutMs: videoSignatureCaptureProps.modelLoadTimeoutMs
|
|
15302
15340
|
}, /*#__PURE__*/React__default['default'].createElement(VideoSignatureWizard, __assign$1({}, videoSignatureCaptureProps, {
|
|
15303
15341
|
onComplete: onVideoSignatureComplete,
|
|
15304
15342
|
onRetryClicked: onVideoSignatureRetry
|
|
15305
|
-
})));
|
|
15343
|
+
}))));
|
|
15306
15344
|
case 'AdditionalDocumentCapture':
|
|
15307
15345
|
return /*#__PURE__*/React__default['default'].createElement(AdditionalDocumentCaptureWizard, __assign$1({}, additionalDocumentCaptureProps, {
|
|
15308
15346
|
documents: documents,
|
|
@@ -16629,6 +16667,16 @@
|
|
|
16629
16667
|
var _m = React.useContext(CameraStateContext),
|
|
16630
16668
|
cameraAccessDenied = _m.cameraAccessDenied,
|
|
16631
16669
|
releaseCameraAccess = _m.releaseCameraAccess;
|
|
16670
|
+
var _o = React.useContext(SelfieGuidanceModelsContext),
|
|
16671
|
+
start = _o.start,
|
|
16672
|
+
stop = _o.stop;
|
|
16673
|
+
React.useEffect(function () {
|
|
16674
|
+
if (captureState !== 'CAPTURING') return;
|
|
16675
|
+
start();
|
|
16676
|
+
return function () {
|
|
16677
|
+
stop();
|
|
16678
|
+
};
|
|
16679
|
+
}, [captureState, start, stop]);
|
|
16632
16680
|
var onCustomerMatchedCallback = React.useCallback(function (resp, req) {
|
|
16633
16681
|
return __awaiter(void 0, void 0, void 0, function () {
|
|
16634
16682
|
return __generator(this, function (_a) {
|
|
@@ -16651,9 +16699,9 @@
|
|
|
16651
16699
|
setCaptureState('FAILED');
|
|
16652
16700
|
onCaptureGuidanceTimeout === null || onCaptureGuidanceTimeout === void 0 ? void 0 : onCaptureGuidanceTimeout();
|
|
16653
16701
|
}, [onCaptureGuidanceTimeout]);
|
|
16654
|
-
var
|
|
16655
|
-
attempt =
|
|
16656
|
-
setAttempt =
|
|
16702
|
+
var _p = React.useState(0),
|
|
16703
|
+
attempt = _p[0],
|
|
16704
|
+
setAttempt = _p[1];
|
|
16657
16705
|
var onExitCallback = React.useCallback(function () {
|
|
16658
16706
|
setAttempt(function (n) {
|
|
16659
16707
|
return n + 1;
|
|
@@ -16827,6 +16875,7 @@
|
|
|
16827
16875
|
onCameraAccessDenied: onCameraAccessDenied,
|
|
16828
16876
|
debugMode: debugMode
|
|
16829
16877
|
}, /*#__PURE__*/React__default['default'].createElement(SelfieGuidanceModelsProvider, {
|
|
16878
|
+
autoStart: false,
|
|
16830
16879
|
onModelError: onModelError,
|
|
16831
16880
|
modelLoadTimeoutMs: modelLoadTimeoutMs
|
|
16832
16881
|
}, /*#__PURE__*/React__default['default'].createElement(CustomerVerificationWizard, {
|
|
@@ -17173,6 +17222,16 @@
|
|
|
17173
17222
|
var _m = React.useContext(CameraStateContext),
|
|
17174
17223
|
cameraAccessDenied = _m.cameraAccessDenied,
|
|
17175
17224
|
releaseCameraAccess = _m.releaseCameraAccess;
|
|
17225
|
+
var _o = React.useContext(SelfieGuidanceModelsContext),
|
|
17226
|
+
start = _o.start,
|
|
17227
|
+
stop = _o.stop;
|
|
17228
|
+
React.useEffect(function () {
|
|
17229
|
+
if (captureState !== 'CAPTURING') return;
|
|
17230
|
+
start();
|
|
17231
|
+
return function () {
|
|
17232
|
+
stop();
|
|
17233
|
+
};
|
|
17234
|
+
}, [captureState, start, stop]);
|
|
17176
17235
|
var onCustomerMatchedCallback = React.useCallback(function (resp, req) {
|
|
17177
17236
|
return __awaiter(void 0, void 0, void 0, function () {
|
|
17178
17237
|
return __generator(this, function (_a) {
|
|
@@ -17195,9 +17254,9 @@
|
|
|
17195
17254
|
setCaptureState('FAILED');
|
|
17196
17255
|
onCaptureGuidanceTimeout === null || onCaptureGuidanceTimeout === void 0 ? void 0 : onCaptureGuidanceTimeout();
|
|
17197
17256
|
}, [onCaptureGuidanceTimeout]);
|
|
17198
|
-
var
|
|
17199
|
-
attempt =
|
|
17200
|
-
setAttempt =
|
|
17257
|
+
var _p = React.useState(0),
|
|
17258
|
+
attempt = _p[0],
|
|
17259
|
+
setAttempt = _p[1];
|
|
17201
17260
|
var onExitCallback = React.useCallback(function () {
|
|
17202
17261
|
setAttempt(function (n) {
|
|
17203
17262
|
return n + 1;
|
|
@@ -17369,6 +17428,7 @@
|
|
|
17369
17428
|
onCameraAccessDenied: onCameraAccessDenied,
|
|
17370
17429
|
debugMode: debugMode
|
|
17371
17430
|
}, /*#__PURE__*/React__default['default'].createElement(SelfieGuidanceModelsProvider, {
|
|
17431
|
+
autoStart: false,
|
|
17372
17432
|
modelLoadTimeoutMs: modelLoadTimeoutMs,
|
|
17373
17433
|
onModelError: onModelError
|
|
17374
17434
|
}, /*#__PURE__*/React__default['default'].createElement(CustomerIdentificationWizard, {
|
|
@@ -17553,28 +17613,30 @@
|
|
|
17553
17613
|
disableFaceDetectionWhileAudioCaptureMsDelay = _w === void 0 ? 2000 : _w,
|
|
17554
17614
|
_x = _a.silentFallback,
|
|
17555
17615
|
silentFallback = _x === void 0 ? false : _x,
|
|
17556
|
-
_y = _a.
|
|
17557
|
-
|
|
17558
|
-
_z = _a.
|
|
17559
|
-
|
|
17560
|
-
_0 = _a.
|
|
17561
|
-
|
|
17562
|
-
_1 = _a.
|
|
17563
|
-
|
|
17564
|
-
_2 = _a.
|
|
17565
|
-
|
|
17566
|
-
_3 = _a.
|
|
17567
|
-
|
|
17568
|
-
_4 = _a.
|
|
17569
|
-
|
|
17570
|
-
_5 = _a.
|
|
17571
|
-
|
|
17572
|
-
_6 = _a.
|
|
17573
|
-
|
|
17574
|
-
_7 = _a.
|
|
17575
|
-
|
|
17576
|
-
_8 = _a.
|
|
17577
|
-
|
|
17616
|
+
_y = _a.mergeAVStreams,
|
|
17617
|
+
mergeAVStreams = _y === void 0 ? false : _y,
|
|
17618
|
+
_z = _a.theme,
|
|
17619
|
+
theme = _z === void 0 ? 'default' : _z,
|
|
17620
|
+
_0 = _a.assets,
|
|
17621
|
+
assets = _0 === void 0 ? {} : _0,
|
|
17622
|
+
_1 = _a.classNames,
|
|
17623
|
+
classNames = _1 === void 0 ? {} : _1,
|
|
17624
|
+
_2 = _a.colors,
|
|
17625
|
+
colors = _2 === void 0 ? {} : _2,
|
|
17626
|
+
_3 = _a.verbiage,
|
|
17627
|
+
verbiage = _3 === void 0 ? {} : _3,
|
|
17628
|
+
_4 = _a.captureSignature,
|
|
17629
|
+
captureSignature = _4 === void 0 ? false : _4,
|
|
17630
|
+
_5 = _a.captureSignatureVideo,
|
|
17631
|
+
captureSignatureVideo = _5 === void 0 ? false : _5,
|
|
17632
|
+
_6 = _a.captureAdditionalDocuments,
|
|
17633
|
+
captureAdditionalDocuments = _6 === void 0 ? [] : _6,
|
|
17634
|
+
_7 = _a.geolocationEnabled,
|
|
17635
|
+
geolocationEnabled = _7 === void 0 ? true : _7,
|
|
17636
|
+
_8 = _a.geolocationRequired,
|
|
17637
|
+
geolocationRequired = _8 === void 0 ? false : _8,
|
|
17638
|
+
_9 = _a.debugMode,
|
|
17639
|
+
debugMode = _9 === void 0 ? false : _9;
|
|
17578
17640
|
useLanguage(lang);
|
|
17579
17641
|
useDebugLogging(debugMode);
|
|
17580
17642
|
var videoIdCaptureProps = React.useMemo(function () {
|
|
@@ -17605,13 +17667,14 @@
|
|
|
17605
17667
|
disableFaceDetectionWhileAudioCapture: disableFaceDetectionWhileAudioCapture,
|
|
17606
17668
|
disableFaceDetectionWhileAudioCaptureMsDelay: disableFaceDetectionWhileAudioCaptureMsDelay,
|
|
17607
17669
|
silentFallback: silentFallback,
|
|
17670
|
+
mergeAVStreams: mergeAVStreams,
|
|
17608
17671
|
assets: assets,
|
|
17609
17672
|
classNames: classNames,
|
|
17610
17673
|
colors: colors,
|
|
17611
17674
|
verbiage: verbiage,
|
|
17612
17675
|
debugMode: debugMode
|
|
17613
17676
|
};
|
|
17614
|
-
}, [idCaptureProps, faceLivenessProps, idCaptureModelsEnabled, idCardFrontDetectionThreshold, idCardFrontFocusThreshold, goodIdCardFrontFramesThreshold, idCardBackDetectionThreshold, idCardBackFocusThreshold, goodIdCardBackFramesThreshold, readTextPrompt, readTextTimeoutDurationMs, readTextMinReadingMs, onExitCapture, onExitAfterFailure, onUserCancel, skipSuccessScreen, skipIdCapture, skipShowIdCardBack, idCaptureLoadingOverlayMode, idCaptureGuideType, idCapturePortraitGuidesOnMobile, idCaptureRotateLoadingOverlayImageWhenPortrait, faceLivenessLoadingOverlayMode, disableFaceDetectionWhileAudioCapture, disableFaceDetectionWhileAudioCaptureMsDelay, silentFallback, assets, classNames, colors, verbiage, debugMode]);
|
|
17677
|
+
}, [idCaptureProps, faceLivenessProps, idCaptureModelsEnabled, idCardFrontDetectionThreshold, idCardFrontFocusThreshold, goodIdCardFrontFramesThreshold, idCardBackDetectionThreshold, idCardBackFocusThreshold, goodIdCardBackFramesThreshold, readTextPrompt, readTextTimeoutDurationMs, readTextMinReadingMs, onExitCapture, onExitAfterFailure, onUserCancel, skipSuccessScreen, skipIdCapture, skipShowIdCardBack, idCaptureLoadingOverlayMode, idCaptureGuideType, idCapturePortraitGuidesOnMobile, idCaptureRotateLoadingOverlayImageWhenPortrait, faceLivenessLoadingOverlayMode, disableFaceDetectionWhileAudioCapture, disableFaceDetectionWhileAudioCaptureMsDelay, silentFallback, mergeAVStreams, assets, classNames, colors, verbiage, debugMode]);
|
|
17615
17678
|
var additionalDocumentCaptureProps = React.useMemo(function () {
|
|
17616
17679
|
return {
|
|
17617
17680
|
documents: captureAdditionalDocuments,
|