idmission-web-sdk 0.0.42 → 0.0.44
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 -1
- package/dist/components/signature_capture/VideoSignatureCapture.d.ts +10 -2
- package/dist/components/signature_kyc/SignatureKYCWizard.d.ts +18 -1
- package/dist/lib/camera/Camera.d.ts +2 -0
- package/dist/lib/utils/platform.d.ts +9 -0
- package/dist/sdk2.cjs.development.js +121 -65
- 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 +121 -65
- package/dist/sdk2.esm.js.map +1 -1
- package/dist/sdk2.umd.development.js +121 -65
- 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/CameraEnumerationTool.stories.d.ts +22 -0
- package/dist/stories/CustomerFlows/SignatureKYC.stories.d.ts +2 -2
- package/package.json +1 -1
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { ReactElement } from 'react';
|
|
2
2
|
import { LangOption } from '../../lib/locales';
|
|
3
3
|
import { SubmissionEnvironment, SubmissionRequest, SubmissionResponse } from '../../contexts/SubmissionContext';
|
|
4
|
+
import { SignatureKYCColors, SignatureKYCVerbiage } from '../signature_kyc/SignatureKYCWizard';
|
|
4
5
|
export type SignatureKYCProps = {
|
|
5
6
|
lang?: LangOption;
|
|
6
7
|
submissionToken: string;
|
|
@@ -8,8 +9,10 @@ export type SignatureKYCProps = {
|
|
|
8
9
|
submissionUrl?: string;
|
|
9
10
|
onBeforeSubmit?: (request: SubmissionRequest) => Promise<SubmissionRequest>;
|
|
10
11
|
onComplete?: (submissionResponse: SubmissionResponse) => void;
|
|
12
|
+
colors?: SignatureKYCColors;
|
|
13
|
+
verbiage?: SignatureKYCVerbiage;
|
|
11
14
|
geolocationEnabled?: boolean;
|
|
12
15
|
geolocationRequired?: boolean;
|
|
13
16
|
debugMode?: boolean;
|
|
14
17
|
};
|
|
15
|
-
export declare const SignatureKYC: ({ submissionToken, submissionEnvironment, submissionUrl, onBeforeSubmit, onComplete, geolocationEnabled, geolocationRequired, debugMode, }: SignatureKYCProps) => ReactElement;
|
|
18
|
+
export declare const SignatureKYC: ({ submissionToken, submissionEnvironment, submissionUrl, onBeforeSubmit, onComplete, colors, verbiage, geolocationEnabled, geolocationRequired, debugMode, }: SignatureKYCProps) => ReactElement;
|
|
@@ -1,11 +1,19 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import { SignatureData } from './data';
|
|
3
3
|
import { SignatureCaptureVerbiage } from './SignatureCapture';
|
|
4
|
+
export type VideoSignatureCaptureColors = {
|
|
5
|
+
guidanceMessageBackgroundColor?: string;
|
|
6
|
+
guidanceMessageTextColor?: string;
|
|
7
|
+
};
|
|
8
|
+
export type VideoSignatureCaptureVerbiage = SignatureCaptureVerbiage & {
|
|
9
|
+
guidanceMessageText?: string;
|
|
10
|
+
};
|
|
4
11
|
export type VideoSignatureCaptureProps = {
|
|
5
12
|
onComplete?: (signatureData: SignatureData, imageData: string, videoData: Blob) => void;
|
|
6
13
|
onFaceNotDetected?: () => void;
|
|
7
14
|
onExit?: () => void;
|
|
8
|
-
|
|
15
|
+
colors?: VideoSignatureCaptureColors;
|
|
16
|
+
verbiage?: VideoSignatureCaptureVerbiage;
|
|
9
17
|
debugMode?: boolean;
|
|
10
18
|
};
|
|
11
|
-
export declare const VideoSignatureCapture: ({ onComplete, onFaceNotDetected, onExit, verbiage, debugMode, }: VideoSignatureCaptureProps) => React.ReactElement;
|
|
19
|
+
export declare const VideoSignatureCapture: ({ onComplete, onFaceNotDetected, onExit, colors, verbiage, debugMode, }: VideoSignatureCaptureProps) => React.ReactElement;
|
|
@@ -1,7 +1,24 @@
|
|
|
1
1
|
import { ReactElement } from 'react';
|
|
2
|
+
import { VideoSignatureCaptureColors, VideoSignatureCaptureVerbiage } from '../signature_capture/VideoSignatureCapture';
|
|
3
|
+
import { FaceLivenessColors, FaceLivenessVerbiage } from '../face_liveness/FaceLivenessWizard';
|
|
4
|
+
export type SignatureKYCColors = {
|
|
5
|
+
faceLiveness?: FaceLivenessColors;
|
|
6
|
+
videoSignatureCapture?: VideoSignatureCaptureColors;
|
|
7
|
+
};
|
|
8
|
+
export type SignatureKYCVerbiage = {
|
|
9
|
+
faceLiveness?: FaceLivenessVerbiage;
|
|
10
|
+
videoSignatureCapture?: VideoSignatureCaptureVerbiage;
|
|
11
|
+
success?: {
|
|
12
|
+
headingText?: string;
|
|
13
|
+
retryBtnText?: string;
|
|
14
|
+
doneBtnText?: string;
|
|
15
|
+
};
|
|
16
|
+
};
|
|
2
17
|
export type SignatureKYCWizardProps = {
|
|
3
18
|
onComplete?: () => void;
|
|
4
19
|
onRetryClicked?: () => void;
|
|
20
|
+
colors?: SignatureKYCColors;
|
|
21
|
+
verbiage?: SignatureKYCVerbiage;
|
|
5
22
|
debugMode?: boolean;
|
|
6
23
|
};
|
|
7
|
-
export declare const SignatureKYCWizard: ({ onComplete, onRetryClicked, debugMode, }: SignatureKYCWizardProps) => ReactElement;
|
|
24
|
+
export declare const SignatureKYCWizard: ({ onComplete, onRetryClicked, colors, verbiage, debugMode, }: SignatureKYCWizardProps) => ReactElement;
|
|
@@ -20,6 +20,8 @@ type Resolution = {
|
|
|
20
20
|
ratio: string;
|
|
21
21
|
};
|
|
22
22
|
export declare const quickScan: Resolution[];
|
|
23
|
+
export type FacingMode = 'user' | 'environment' | 'left' | 'right';
|
|
24
|
+
export declare function listAvailableCameras(facingMode?: FacingMode): Promise<MediaDeviceInfo[]>;
|
|
23
25
|
declare function releaseCameraAccess(): void;
|
|
24
26
|
export declare const useHighestResCaptureDevice: ({ preferFrontFacingCamera, preferContinuityCamera, requestMicrophoneAccess, }?: {
|
|
25
27
|
preferFrontFacingCamera: boolean;
|
|
@@ -299,6 +299,10 @@ var GeolocationAccessDeniedOverlay = function GeolocationAccessDeniedOverlay(_a)
|
|
|
299
299
|
}, t('Retry'))))));
|
|
300
300
|
};
|
|
301
301
|
|
|
302
|
+
function getPlatform() {
|
|
303
|
+
return window.platform;
|
|
304
|
+
}
|
|
305
|
+
|
|
302
306
|
var SubmissionProvider = function SubmissionProvider(_a) {
|
|
303
307
|
var action = _a.action,
|
|
304
308
|
children = _a.children,
|
|
@@ -505,7 +509,7 @@ var SubmissionProvider = function SubmissionProvider(_a) {
|
|
|
505
509
|
sdkVersion: 'WebSDK_9.5.13.2.0',
|
|
506
510
|
Resolution: "".concat(window.innerWidth, " x ").concat(window.innerHeight)
|
|
507
511
|
};
|
|
508
|
-
platform =
|
|
512
|
+
platform = getPlatform();
|
|
509
513
|
if (platform) {
|
|
510
514
|
metadata.os = platform.os.family;
|
|
511
515
|
metadata.osVersion = platform.os.version;
|
|
@@ -10738,21 +10742,30 @@ function smallerSideIos() {
|
|
|
10738
10742
|
return window.screen.width < window.screen.height ? window.screen.width : window.screen.height;
|
|
10739
10743
|
}
|
|
10740
10744
|
|
|
10741
|
-
function listAvailableCameras() {
|
|
10745
|
+
function listAvailableCameras(facingMode) {
|
|
10742
10746
|
return tslib.__awaiter(this, void 0, void 0, function () {
|
|
10743
10747
|
var cameraEnumerationStream, videoDevices;
|
|
10744
10748
|
return tslib.__generator(this, function (_a) {
|
|
10745
10749
|
switch (_a.label) {
|
|
10746
10750
|
case 0:
|
|
10747
|
-
|
|
10751
|
+
_a.trys.push([0, 2,, 3]);
|
|
10748
10752
|
return [4, navigator.mediaDevices.getUserMedia({
|
|
10749
|
-
video:
|
|
10753
|
+
video: {
|
|
10754
|
+
facingMode: {
|
|
10755
|
+
exact: facingMode
|
|
10756
|
+
}
|
|
10757
|
+
},
|
|
10750
10758
|
audio: false
|
|
10751
10759
|
})];
|
|
10752
10760
|
case 1:
|
|
10753
10761
|
cameraEnumerationStream = _a.sent();
|
|
10754
|
-
return [
|
|
10762
|
+
return [3, 3];
|
|
10755
10763
|
case 2:
|
|
10764
|
+
_a.sent();
|
|
10765
|
+
return [2, []];
|
|
10766
|
+
case 3:
|
|
10767
|
+
return [4, navigator.mediaDevices.enumerateDevices()];
|
|
10768
|
+
case 4:
|
|
10756
10769
|
videoDevices = _a.sent().filter(function (_a) {
|
|
10757
10770
|
var kind = _a.kind;
|
|
10758
10771
|
return kind === 'videoinput';
|
|
@@ -10767,6 +10780,22 @@ function listAvailableCameras() {
|
|
|
10767
10780
|
});
|
|
10768
10781
|
});
|
|
10769
10782
|
}
|
|
10783
|
+
var frontLabels = ['front', 'avant', 'anteriore', 'cameraaanvoorzijde', 'kamerapåframsidan', 'forsidekamera', 'kamerapåforsiden', 'aparatprzedni', 'etukamera', 'kameradepan', 'ÖnKamera', 'cameramặttrước', 'camerăfață', 'prednákamera', 'prednjakamera', 'előlapikamera', 'přednífotoaparát', 'μπροστινήκάμερα', 'переднякамера', 'передняякамера', 'преднакамера', 'алдыңғыкамера', 'מצלמה קדמית', 'الكاميرا الأمامية', 'फ़्रंटकैमरा', '前置相机', '前置鏡頭', '前面カメラ', '전면카메라', 'กล้องด้านหน้า'].map(function (s) {
|
|
10784
|
+
return s.toLocaleLowerCase().split(' ').join('');
|
|
10785
|
+
});
|
|
10786
|
+
var rearLabels = ['back', 'rear', 'posterior', 'trasera', 'traseira', 'arrière', 'rückkamera', 'fotocamera(posteriore)', 'cameraaanachterzijde', 'kamerapåbaksidan', 'kamerapåbaksiden', 'bagsidekamera', 'aparattylny', 'takakamera', 'arkakamera', 'kamerabelakang', 'cameramặtsau', 'camerăspate', 'stražnjakamera', 'zadnákamera', 'hátoldalikamera', 'zadnífotoaparát', 'πίσωκάμερα', 'заднякамера', 'Задняякамера', 'заднакамера', 'артқыкамера', 'מצלמה אחורית', 'الكاميرا الخلفية', 'बैककैमरा', '后置相机', '後置鏡頭', '背面カメラ', '후면카메라', 'กล้องด้านหลัง'].map(function (s) {
|
|
10787
|
+
return s.toLocaleLowerCase().split(' ').join('');
|
|
10788
|
+
});
|
|
10789
|
+
var backUltraWideLabels = ['backultrawidecamera', 'ultraampliaposterior', 'ultra-angulartraseira', 'ultragrandeangulartraseira', 'ultragrandangle', 'ultragranangular', 'ultra-weitwinkelkamera', 'ultra-grandangolo', 'ultrabredecameraaanachterzijde', 'ultravidvinkelkamerapåbaksidan', 'ultravidvinkelkameraetpåbagsiden', 'ultravidvinkelkamerabak', 'ultragenişkameraarkayüzü', 'ultralaajakulmainentakakamera', 'tylnyaparatultraszerokokątny', 'cameracựcrộngmặtsau', 'camerăcuobiectivultra‑superangularspate', 'ultraszéleslátószögűkamera', 'kameraultralebarbelakang', 'stražnjaultraširokakamera', 'zadníultraširokoúhlýfotoaparát', 'ultraširokouhlá', 'πίσωυπερευρείακάμερα', 'заднянадширококутнакамера', 'Задняясверхширокоугольнаякамера', 'Задна свръх широкоъгълна камера', 'артқыультракеңбұрыштыкамера', 'מצלמה אולטרה רחבה אחורית', 'كاميرا خلفية عريضة جدًا', 'बैकअल्ट्रावाइडकैमरा', '后置超广角相机', '後置超廣角鏡頭相機', '背面超広角カメラ', '후면울트라와이드카메라', 'กล้องด้านหลังอัลตร้าไวด์'].map(function (s) {
|
|
10790
|
+
return s.toLocaleLowerCase().split(' ').join('');
|
|
10791
|
+
});
|
|
10792
|
+
var labelMatches = function labelMatches(labelOrDevice, labelSetOrLabel) {
|
|
10793
|
+
var label = labelOrDevice instanceof MediaDeviceInfo ? getDeviceLabel(labelOrDevice) : labelOrDevice;
|
|
10794
|
+
var labelSet = typeof labelSetOrLabel === 'string' ? [labelSetOrLabel] : labelSetOrLabel;
|
|
10795
|
+
return labelSet.some(function (l) {
|
|
10796
|
+
return label.includes(l);
|
|
10797
|
+
});
|
|
10798
|
+
};
|
|
10770
10799
|
var getDeviceLabel = function getDeviceLabel(deviceInfo) {
|
|
10771
10800
|
return deviceInfo.label.toLocaleLowerCase().split(' ').join('');
|
|
10772
10801
|
};
|
|
@@ -10778,7 +10807,7 @@ function obtainCameraAccess(stream, deviceLabel, video) {
|
|
|
10778
10807
|
width = _a.width,
|
|
10779
10808
|
height = _a.height;
|
|
10780
10809
|
var label = deviceLabel.toLocaleLowerCase().split(' ').join('');
|
|
10781
|
-
var isRearFacing = label.
|
|
10810
|
+
var isRearFacing = labelMatches(label, tslib.__spreadArray(tslib.__spreadArray(tslib.__spreadArray([], rearLabels, true), backUltraWideLabels, true), ['iphone'], false));
|
|
10782
10811
|
var release = function release() {
|
|
10783
10812
|
stream.getTracks().forEach(function (track) {
|
|
10784
10813
|
track.enabled = false;
|
|
@@ -10856,9 +10885,10 @@ var useHighestResCaptureDevice = function useHighestResCaptureDevice(_a) {
|
|
|
10856
10885
|
if (cameraAccessDenied) return;
|
|
10857
10886
|
listAvailableCameras().then(function (availableCameras) {
|
|
10858
10887
|
var selectedCamera;
|
|
10859
|
-
|
|
10888
|
+
var platform = getPlatform();
|
|
10889
|
+
if (!iphoneContinuityCameraDenied && (!platform || platform.os.family === 'OS X')) {
|
|
10860
10890
|
var iphoneContinuityCamera = availableCameras.find(function (deviceInfo) {
|
|
10861
|
-
return
|
|
10891
|
+
return labelMatches(deviceInfo, 'iphone');
|
|
10862
10892
|
});
|
|
10863
10893
|
setIphoneContinuityCameraAvailable(!!iphoneContinuityCamera);
|
|
10864
10894
|
if (iphoneContinuityCamera && iphoneContinuityCameraAllowed) {
|
|
@@ -10867,21 +10897,24 @@ var useHighestResCaptureDevice = function useHighestResCaptureDevice(_a) {
|
|
|
10867
10897
|
}
|
|
10868
10898
|
if (preferFrontFacingCamera) {
|
|
10869
10899
|
selectedCamera || (selectedCamera = availableCameras.find(function (deviceInfo) {
|
|
10870
|
-
return
|
|
10900
|
+
return labelMatches(deviceInfo, frontLabels);
|
|
10871
10901
|
}));
|
|
10872
10902
|
}
|
|
10873
10903
|
if (wideAngleIsBetter()) {
|
|
10874
10904
|
selectedCamera || (selectedCamera = availableCameras.find(function (deviceInfo) {
|
|
10875
|
-
return
|
|
10905
|
+
return labelMatches(deviceInfo, backUltraWideLabels);
|
|
10876
10906
|
}));
|
|
10877
10907
|
} else {
|
|
10878
10908
|
selectedCamera || (selectedCamera = availableCameras.find(function (deviceInfo) {
|
|
10879
|
-
return
|
|
10909
|
+
return labelMatches(deviceInfo, rearLabels) && !labelMatches(deviceInfo, backUltraWideLabels);
|
|
10880
10910
|
}));
|
|
10881
10911
|
}
|
|
10882
10912
|
selectedCamera || (selectedCamera = availableCameras.find(function (deviceInfo) {
|
|
10883
|
-
return
|
|
10913
|
+
return labelMatches(deviceInfo, rearLabels);
|
|
10884
10914
|
}));
|
|
10915
|
+
if (!preferFrontFacingCamera && (platform === null || platform === void 0 ? void 0 : platform.os.family) === 'iOS' && availableCameras.length > 0) {
|
|
10916
|
+
selectedCamera || (selectedCamera = availableCameras[1]);
|
|
10917
|
+
}
|
|
10885
10918
|
selectedCamera || (selectedCamera = availableCameras[0]);
|
|
10886
10919
|
setVideoDevice(selectedCamera);
|
|
10887
10920
|
})["catch"](function (e) {
|
|
@@ -10902,7 +10935,7 @@ var useHighestResCaptureDevice = function useHighestResCaptureDevice(_a) {
|
|
|
10902
10935
|
if (!((_a = navigator.mediaDevices) === null || _a === void 0 ? void 0 : _a.getUserMedia)) return cleanup;
|
|
10903
10936
|
(function () {
|
|
10904
10937
|
return tslib.__awaiter(void 0, void 0, void 0, function () {
|
|
10905
|
-
var stream,
|
|
10938
|
+
var stream, e_2;
|
|
10906
10939
|
return tslib.__generator(this, function (_a) {
|
|
10907
10940
|
switch (_a.label) {
|
|
10908
10941
|
case 0:
|
|
@@ -10926,8 +10959,8 @@ var useHighestResCaptureDevice = function useHighestResCaptureDevice(_a) {
|
|
|
10926
10959
|
stream = _a.sent();
|
|
10927
10960
|
return [3, 4];
|
|
10928
10961
|
case 3:
|
|
10929
|
-
|
|
10930
|
-
if (
|
|
10962
|
+
e_2 = _a.sent();
|
|
10963
|
+
if (e_2.name === 'NotAllowedError') {
|
|
10931
10964
|
if (iphoneContinuityCameraAllowed) {
|
|
10932
10965
|
setIphoneContinuityCameraAvailable(false);
|
|
10933
10966
|
setIphoneContinuityCameraDenied(true);
|
|
@@ -11430,39 +11463,44 @@ var VideoSignatureCapture = function VideoSignatureCapture(_a) {
|
|
|
11430
11463
|
var onComplete = _a.onComplete,
|
|
11431
11464
|
onFaceNotDetected = _a.onFaceNotDetected,
|
|
11432
11465
|
onExit = _a.onExit,
|
|
11433
|
-
_d = _a.
|
|
11434
|
-
|
|
11435
|
-
_e = _a.
|
|
11436
|
-
|
|
11466
|
+
_d = _a.colors,
|
|
11467
|
+
colors = _d === void 0 ? {} : _d,
|
|
11468
|
+
_e = _a.verbiage,
|
|
11469
|
+
verbiage = _e === void 0 ? {} : _e,
|
|
11470
|
+
_f = _a.debugMode,
|
|
11471
|
+
debugMode = _f === void 0 ? false : _f;
|
|
11437
11472
|
var t = reactI18next.useTranslation().t;
|
|
11438
|
-
var
|
|
11439
|
-
cameraRef =
|
|
11440
|
-
videoRef =
|
|
11441
|
-
var
|
|
11442
|
-
ref =
|
|
11443
|
-
width =
|
|
11444
|
-
height =
|
|
11473
|
+
var _g = React.useContext(CameraStateContext),
|
|
11474
|
+
cameraRef = _g.cameraRef,
|
|
11475
|
+
videoRef = _g.videoRef;
|
|
11476
|
+
var _h = useResizeObserver__default['default'](),
|
|
11477
|
+
ref = _h.ref,
|
|
11478
|
+
width = _h.width,
|
|
11479
|
+
height = _h.height;
|
|
11445
11480
|
var signaturePad = React.useRef(null);
|
|
11446
11481
|
var signatureRecorder = React.useRef(null);
|
|
11447
11482
|
var recordedChunks = React.useRef([]);
|
|
11448
|
-
var
|
|
11449
|
-
signatureVideoUrl =
|
|
11450
|
-
setSignatureVideoUrl =
|
|
11483
|
+
var _j = React.useState(null),
|
|
11484
|
+
signatureVideoUrl = _j[0],
|
|
11485
|
+
setSignatureVideoUrl = _j[1];
|
|
11451
11486
|
var onPredictionMade = React.useContext(HighPerformanceSelfieGuidanceModelsContext).onPredictionMade;
|
|
11452
|
-
var
|
|
11453
|
-
isRecording =
|
|
11454
|
-
startRecording =
|
|
11455
|
-
stopRecording =
|
|
11456
|
-
videoUrl =
|
|
11457
|
-
var _k = React.useState(null),
|
|
11458
|
-
signatureData = _k[0],
|
|
11459
|
-
setSignatureData = _k[1];
|
|
11487
|
+
var _k = useVideoRecorder(cameraRef.current),
|
|
11488
|
+
isRecording = _k.isRecording,
|
|
11489
|
+
startRecording = _k.startRecording,
|
|
11490
|
+
stopRecording = _k.stopRecording,
|
|
11491
|
+
videoUrl = _k.videoUrl;
|
|
11460
11492
|
var _l = React.useState(null),
|
|
11461
|
-
|
|
11462
|
-
|
|
11493
|
+
signatureData = _l[0],
|
|
11494
|
+
setSignatureData = _l[1];
|
|
11463
11495
|
var _m = React.useState(null),
|
|
11464
|
-
|
|
11465
|
-
|
|
11496
|
+
signatureDataUrl = _m[0],
|
|
11497
|
+
setSignatureDataUrl = _m[1];
|
|
11498
|
+
var _o = React.useState(null),
|
|
11499
|
+
signatureVideoData = _o[0],
|
|
11500
|
+
setSignatureVideoData = _o[1];
|
|
11501
|
+
colors.guidanceMessageBackgroundColor || (colors.guidanceMessageBackgroundColor = '#ccc');
|
|
11502
|
+
colors.guidanceMessageTextColor || (colors.guidanceMessageTextColor = 'black');
|
|
11503
|
+
verbiage.guidanceMessageText || (verbiage.guidanceMessageText = t('Please sign the box below'));
|
|
11466
11504
|
verbiage.acceptBtnText || (verbiage.acceptBtnText = t('Accept'));
|
|
11467
11505
|
verbiage.clearBtnText || (verbiage.clearBtnText = t('Clear'));
|
|
11468
11506
|
var outputCanvas = React.useRef(null);
|
|
@@ -11534,9 +11572,9 @@ var VideoSignatureCapture = function VideoSignatureCapture(_a) {
|
|
|
11534
11572
|
cancelAnimationFrame(animationFrame.current);
|
|
11535
11573
|
};
|
|
11536
11574
|
}, [cameraRef, isRecording, onFaceNotDetected, videoRef]);
|
|
11537
|
-
var
|
|
11538
|
-
numFramesWithoutFaces =
|
|
11539
|
-
setNumFramesWithoutFaces =
|
|
11575
|
+
var _p = React.useState(0),
|
|
11576
|
+
numFramesWithoutFaces = _p[0],
|
|
11577
|
+
setNumFramesWithoutFaces = _p[1];
|
|
11540
11578
|
React.useEffect(function () {
|
|
11541
11579
|
onPredictionMade(function (faces) {
|
|
11542
11580
|
setNumFramesWithoutFaces(function (n) {
|
|
@@ -11566,12 +11604,14 @@ var VideoSignatureCapture = function VideoSignatureCapture(_a) {
|
|
|
11566
11604
|
value: JSON.stringify(signatureData, null, 2)
|
|
11567
11605
|
}));
|
|
11568
11606
|
}
|
|
11569
|
-
var guidanceMessage = t('Please sign the box below');
|
|
11570
11607
|
return /*#__PURE__*/React__default['default'].createElement(PageContainer, {
|
|
11571
11608
|
className: "flex"
|
|
11572
|
-
}, /*#__PURE__*/React__default['default'].createElement(CameraVideoTag, null),
|
|
11609
|
+
}, /*#__PURE__*/React__default['default'].createElement(CameraVideoTag, null), verbiage.guidanceMessageText && /*#__PURE__*/React__default['default'].createElement(GuidanceMessageContainer, {
|
|
11573
11610
|
"$top": "5vh"
|
|
11574
|
-
}, /*#__PURE__*/React__default['default'].createElement(GuidanceMessage,
|
|
11611
|
+
}, /*#__PURE__*/React__default['default'].createElement(GuidanceMessage, {
|
|
11612
|
+
"$background": colors.guidanceMessageBackgroundColor,
|
|
11613
|
+
"$textColor": colors.guidanceMessageTextColor
|
|
11614
|
+
}, verbiage.guidanceMessageText)), /*#__PURE__*/React__default['default'].createElement(SignatureCanvasContainer, null, /*#__PURE__*/React__default['default'].createElement(SignaturePad, {
|
|
11575
11615
|
ref: ref
|
|
11576
11616
|
}, /*#__PURE__*/React__default['default'].createElement(SignatureCanvas__default['default'], {
|
|
11577
11617
|
ref: signaturePad,
|
|
@@ -11673,19 +11713,23 @@ var templateObject_1;
|
|
|
11673
11713
|
var SignatureKYCWizard = function SignatureKYCWizard(_a) {
|
|
11674
11714
|
var onComplete = _a.onComplete,
|
|
11675
11715
|
onRetryClicked = _a.onRetryClicked,
|
|
11676
|
-
_b = _a.
|
|
11677
|
-
|
|
11678
|
-
|
|
11679
|
-
|
|
11680
|
-
|
|
11681
|
-
|
|
11682
|
-
|
|
11683
|
-
|
|
11684
|
-
|
|
11685
|
-
|
|
11686
|
-
|
|
11687
|
-
|
|
11688
|
-
|
|
11716
|
+
_b = _a.colors,
|
|
11717
|
+
colors = _b === void 0 ? {} : _b,
|
|
11718
|
+
_c = _a.verbiage,
|
|
11719
|
+
verbiage = _c === void 0 ? {} : _c,
|
|
11720
|
+
_d = _a.debugMode,
|
|
11721
|
+
debugMode = _d === void 0 ? false : _d;
|
|
11722
|
+
var _e = React.useContext(SubmissionContext),
|
|
11723
|
+
submit = _e.submit,
|
|
11724
|
+
selfieImage = _e.selfieImage,
|
|
11725
|
+
signatureVideo = _e.signatureVideo,
|
|
11726
|
+
setSelfieImage = _e.setSelfieImage,
|
|
11727
|
+
setSignatureData = _e.setSignatureData,
|
|
11728
|
+
setSignatureVideo = _e.setSignatureVideo,
|
|
11729
|
+
logSelfieCaptureAttempt = _e.logSelfieCaptureAttempt;
|
|
11730
|
+
var _f = React.useState('LOADING'),
|
|
11731
|
+
captureState = _f[0],
|
|
11732
|
+
setCaptureState = _f[1];
|
|
11689
11733
|
var operationStartedAt = React.useRef();
|
|
11690
11734
|
var captureStartedAt = React.useRef();
|
|
11691
11735
|
var captureEndedAt = React.useRef();
|
|
@@ -11734,13 +11778,13 @@ var SignatureKYCWizard = function SignatureKYCWizard(_a) {
|
|
|
11734
11778
|
setSignatureVideo(URL.createObjectURL(videoData));
|
|
11735
11779
|
setCaptureState('SUCCESS');
|
|
11736
11780
|
onComplete === null || onComplete === void 0 ? void 0 : onComplete();
|
|
11737
|
-
}, [onComplete, setSignatureData]);
|
|
11781
|
+
}, [onComplete, setSignatureData, setSignatureVideo]);
|
|
11738
11782
|
var onSignatureCaptureFacesNotDetected = React.useCallback(function () {
|
|
11739
11783
|
setCaptureState('CHECKING_LIVENESS');
|
|
11740
11784
|
}, []);
|
|
11741
|
-
var
|
|
11742
|
-
attempt =
|
|
11743
|
-
setAttempt =
|
|
11785
|
+
var _g = React.useState(0),
|
|
11786
|
+
attempt = _g[0],
|
|
11787
|
+
setAttempt = _g[1];
|
|
11744
11788
|
var onExit = React.useCallback(function () {
|
|
11745
11789
|
setAttempt(function (n) {
|
|
11746
11790
|
return n + 1;
|
|
@@ -11750,11 +11794,14 @@ var SignatureKYCWizard = function SignatureKYCWizard(_a) {
|
|
|
11750
11794
|
return /*#__PURE__*/React__default['default'].createElement(HighPerformanceSelfieGuidanceModelsProvider, {
|
|
11751
11795
|
throttleMs: captureState === 'CAPTURING_SIGNATURE' ? 250 : 0
|
|
11752
11796
|
}, captureState !== 'LOADING' && function () {
|
|
11797
|
+
var _a, _b, _c;
|
|
11753
11798
|
switch (captureState) {
|
|
11754
11799
|
case 'CHECKING_LIVENESS':
|
|
11755
11800
|
return /*#__PURE__*/React__default['default'].createElement(FaceLivenessCapture, {
|
|
11756
11801
|
onSuccess: onFaceCaptureSuccess,
|
|
11757
11802
|
onExit: onExit,
|
|
11803
|
+
colors: colors.faceLiveness,
|
|
11804
|
+
verbiage: verbiage.faceLiveness,
|
|
11758
11805
|
debugMode: debugMode
|
|
11759
11806
|
});
|
|
11760
11807
|
case 'CAPTURING_SIGNATURE':
|
|
@@ -11762,13 +11809,18 @@ var SignatureKYCWizard = function SignatureKYCWizard(_a) {
|
|
|
11762
11809
|
onComplete: onSignatureCaptureCompleted,
|
|
11763
11810
|
onFaceNotDetected: onSignatureCaptureFacesNotDetected,
|
|
11764
11811
|
onExit: onExit,
|
|
11812
|
+
colors: colors.videoSignatureCapture,
|
|
11813
|
+
verbiage: verbiage.videoSignatureCapture,
|
|
11765
11814
|
debugMode: debugMode
|
|
11766
11815
|
});
|
|
11767
11816
|
case 'SUCCESS':
|
|
11768
11817
|
return /*#__PURE__*/React__default['default'].createElement(SignatureKYCSuccess, {
|
|
11769
11818
|
videoUrl: signatureVideo !== null && signatureVideo !== void 0 ? signatureVideo : '',
|
|
11770
11819
|
onDoneClick: submit,
|
|
11771
|
-
onRetryClick: onRetryClicked
|
|
11820
|
+
onRetryClick: onRetryClicked,
|
|
11821
|
+
headingText: (_a = verbiage.success) === null || _a === void 0 ? void 0 : _a.headingText,
|
|
11822
|
+
retryBtnText: (_b = verbiage.success) === null || _b === void 0 ? void 0 : _b.retryBtnText,
|
|
11823
|
+
doneBtnText: (_c = verbiage.success) === null || _c === void 0 ? void 0 : _c.doneBtnText
|
|
11772
11824
|
});
|
|
11773
11825
|
default:
|
|
11774
11826
|
return null;
|
|
@@ -13477,6 +13529,8 @@ var SignatureKYC = function SignatureKYC(_a) {
|
|
|
13477
13529
|
submissionUrl = _a.submissionUrl,
|
|
13478
13530
|
onBeforeSubmit = _a.onBeforeSubmit,
|
|
13479
13531
|
onComplete = _a.onComplete,
|
|
13532
|
+
colors = _a.colors,
|
|
13533
|
+
verbiage = _a.verbiage,
|
|
13480
13534
|
geolocationEnabled = _a.geolocationEnabled,
|
|
13481
13535
|
geolocationRequired = _a.geolocationRequired,
|
|
13482
13536
|
debugMode = _a.debugMode;
|
|
@@ -13498,7 +13552,9 @@ var SignatureKYC = function SignatureKYC(_a) {
|
|
|
13498
13552
|
preferFrontFacingCamera: true,
|
|
13499
13553
|
requestMicrophoneAccess: true
|
|
13500
13554
|
}, /*#__PURE__*/React__default['default'].createElement(SignatureKYCWizard, {
|
|
13555
|
+
colors: colors,
|
|
13501
13556
|
debugMode: debugMode,
|
|
13557
|
+
verbiage: verbiage,
|
|
13502
13558
|
onRetryClicked: function onRetryClicked() {
|
|
13503
13559
|
setAttempt(function (n) {
|
|
13504
13560
|
return n + 1;
|