idmission-web-sdk 1.0.76 → 1.0.78
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/selfie_capture/SelfieCaptureLoadingOverlay.d.ts +1 -1
- package/dist/components/submission/SubmissionProvider.d.ts +40 -2
- package/dist/components/video_id/IdVideoCapture.d.ts +3 -1
- package/dist/contexts/SubmissionContext.d.ts +0 -34
- package/dist/sdk2.cjs.development.js +157 -108
- 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 +158 -109
- package/dist/sdk2.esm.js.map +1 -1
- package/dist/sdk2.umd.development.js +157 -108
- 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 +1 -1
|
@@ -9,10 +9,10 @@ export type SelfieCaptureLoadingOverlayAssets = {
|
|
|
9
9
|
export type SelfieCaptureLoadingOverlayClassNames = {
|
|
10
10
|
container?: string;
|
|
11
11
|
inner?: string;
|
|
12
|
-
headingContainer?: string;
|
|
13
12
|
heading?: string;
|
|
14
13
|
imageContainer?: string;
|
|
15
14
|
image?: string;
|
|
15
|
+
buttonsRow?: string;
|
|
16
16
|
continueBtn?: string;
|
|
17
17
|
cameraAccessDenied?: CameraAccessDeniedOverlayClassNames;
|
|
18
18
|
};
|
|
@@ -1,6 +1,44 @@
|
|
|
1
|
-
import { ReactElement } from 'react';
|
|
2
|
-
import { CardData, LivenessCheckRequest, PersonalData, SubmissionAction, SubmissionEnvironment, SubmissionRequest, SubmissionResponse } from '../../contexts/SubmissionContext';
|
|
1
|
+
import React, { ReactElement } from 'react';
|
|
2
|
+
import { CaptureAttemptMetadata, CardData, LiveCheckResponse, LivenessCheckRequest, PersonalData, SubmissionAction, SubmissionEnvironment, SubmissionRequest, SubmissionResponse, SubmissionStatus } from '../../contexts/SubmissionContext';
|
|
3
|
+
import { UploadedDocument } from '../additional_document_capture/AdditionalDocumentCapture';
|
|
4
|
+
import { SignatureData } from '../signature_capture/data';
|
|
5
|
+
import { NetworkError, SubmissionError } from './Errors';
|
|
3
6
|
export type TokenState = 'NOT_PARSED' | 'PARSING' | 'GOOD' | 'EXPIRED' | 'INVALID_FORMAT' | 'INVALID_SIGNATURE' | 'MISSING' | 'PUBLIC_KEY_LOAD_FAILED';
|
|
7
|
+
export type SubmissionState = {
|
|
8
|
+
submit: () => Promise<SubmissionResponse | null>;
|
|
9
|
+
submissionStatus: SubmissionStatus;
|
|
10
|
+
submissionRequest: SubmissionRequest | null;
|
|
11
|
+
submissionResponse: SubmissionResponse | null;
|
|
12
|
+
submissionError: SubmissionError | NetworkError | null;
|
|
13
|
+
submissionEnvironment: SubmissionEnvironment;
|
|
14
|
+
idFrontImage: string | null;
|
|
15
|
+
idBackImage: string | null;
|
|
16
|
+
passportImage: string | null;
|
|
17
|
+
selfieImage: string | null;
|
|
18
|
+
signatureData: SignatureData | null;
|
|
19
|
+
signatureVideoUrl: string | null;
|
|
20
|
+
idCaptureVideoUrl: string | null;
|
|
21
|
+
idCaptureVideoIdFrontImage: string | null;
|
|
22
|
+
idCaptureVideoIdBackImage: string | null;
|
|
23
|
+
additionalDocuments: UploadedDocument[] | null;
|
|
24
|
+
setIdFrontImage: (image: string) => void;
|
|
25
|
+
setIdBackImage: (image: string) => void;
|
|
26
|
+
setPassportImage: (image: string) => void;
|
|
27
|
+
setSelfieImage: (image: string) => void;
|
|
28
|
+
setSignatureData: (signatureData: SignatureData) => void;
|
|
29
|
+
setSignatureVideoUrl: (videoDataUrl: string) => void;
|
|
30
|
+
setIdCaptureVideoUrl: (videoDataUrl: string) => void;
|
|
31
|
+
setIdCaptureVideoIdFrontImage: (image: string) => void;
|
|
32
|
+
setIdCaptureVideoIdBackImage: (image: string) => void;
|
|
33
|
+
setAdditionalDocuments: (uploadedDocuments: UploadedDocument[]) => void;
|
|
34
|
+
logIdFrontCaptureAttempt: (attempt: CaptureAttemptMetadata) => void;
|
|
35
|
+
logIdBackCaptureAttempt: (attempt: CaptureAttemptMetadata) => void;
|
|
36
|
+
logSelfieCaptureAttempt: (attempt: CaptureAttemptMetadata) => void;
|
|
37
|
+
livenessCheckRequest: LivenessCheckRequest | null;
|
|
38
|
+
checkLiveness: (imageDataUrl: string) => Promise<LiveCheckResponse>;
|
|
39
|
+
retryLocationAccess: () => void;
|
|
40
|
+
};
|
|
41
|
+
export declare const SubmissionContext: React.Context<SubmissionState>;
|
|
4
42
|
export type SubmissionProviderProps = {
|
|
5
43
|
action: SubmissionAction;
|
|
6
44
|
children: ReactElement;
|
|
@@ -18,6 +18,8 @@ export type IdVideoCaptureVerbiage = {
|
|
|
18
18
|
};
|
|
19
19
|
export type IdVideoCaptureProps = {
|
|
20
20
|
onComplete?: (videoUrl: string) => void;
|
|
21
|
+
onIdFrontImageCaptured?: (imageUrl: string) => void;
|
|
22
|
+
onIdBackImageCaptured?: (imageUrl: string) => void;
|
|
21
23
|
onFaceNotDetected?: () => void;
|
|
22
24
|
idCardFrontDetectionThreshold?: number;
|
|
23
25
|
idCardFrontFocusThreshold?: number;
|
|
@@ -31,4 +33,4 @@ export type IdVideoCaptureProps = {
|
|
|
31
33
|
verbiage?: IdVideoCaptureVerbiage;
|
|
32
34
|
debugMode?: boolean;
|
|
33
35
|
};
|
|
34
|
-
export declare const IdVideoCapture: ({ onComplete, onFaceNotDetected, idCardFrontDetectionThreshold, idCardFrontFocusThreshold, goodIdCardFrontFramesThreshold, showIdCardBackDurationMs, skipShowIdCardBack, readTextPrompt, readTextTimeoutDurationMs, assets, colors, verbiage: rawVerbiage, debugMode, }: IdVideoCaptureProps) => ReactElement;
|
|
36
|
+
export declare const IdVideoCapture: ({ onComplete, onIdFrontImageCaptured, onIdBackImageCaptured, onFaceNotDetected, idCardFrontDetectionThreshold, idCardFrontFocusThreshold, goodIdCardFrontFramesThreshold, showIdCardBackDurationMs, skipShowIdCardBack, readTextPrompt, readTextTimeoutDurationMs, assets, colors, verbiage: rawVerbiage, debugMode, }: IdVideoCaptureProps) => ReactElement;
|
|
@@ -1,7 +1,4 @@
|
|
|
1
|
-
/// <reference types="react" />
|
|
2
1
|
import { UploadedDocument } from '../components/additional_document_capture/AdditionalDocumentCapture';
|
|
3
|
-
import { SignatureData } from '../components/signature_capture/data';
|
|
4
|
-
import { NetworkError, SubmissionError } from '../components/submission/Errors';
|
|
5
2
|
export declare enum SubmissionAction {
|
|
6
3
|
NONE = "NONE",
|
|
7
4
|
ENROLL = "ENROLL",
|
|
@@ -151,37 +148,6 @@ export type LiveCheckResponse = {
|
|
|
151
148
|
cellPhone: 'true' | 'false';
|
|
152
149
|
};
|
|
153
150
|
};
|
|
154
|
-
export type SubmissionState = {
|
|
155
|
-
submit: () => Promise<SubmissionResponse | null>;
|
|
156
|
-
submissionStatus: SubmissionStatus;
|
|
157
|
-
submissionRequest: SubmissionRequest | null;
|
|
158
|
-
submissionResponse: SubmissionResponse | null;
|
|
159
|
-
submissionError: SubmissionError | NetworkError | null;
|
|
160
|
-
submissionEnvironment: SubmissionEnvironment;
|
|
161
|
-
idFrontImage: string | null;
|
|
162
|
-
idBackImage: string | null;
|
|
163
|
-
passportImage: string | null;
|
|
164
|
-
selfieImage: string | null;
|
|
165
|
-
signatureData: SignatureData | null;
|
|
166
|
-
signatureVideoUrl: string | null;
|
|
167
|
-
idCaptureVideoUrl: string | null;
|
|
168
|
-
additionalDocuments: UploadedDocument[] | null;
|
|
169
|
-
setIdFrontImage: (image: string) => void;
|
|
170
|
-
setIdBackImage: (image: string) => void;
|
|
171
|
-
setPassportImage: (image: string) => void;
|
|
172
|
-
setSelfieImage: (image: string) => void;
|
|
173
|
-
setSignatureData: (signatureData: SignatureData) => void;
|
|
174
|
-
setSignatureVideoUrl: (videoDataUrl: string) => void;
|
|
175
|
-
setIdCaptureVideoUrl: (videoDataUrl: string) => void;
|
|
176
|
-
setAdditionalDocuments: (uploadedDocuments: UploadedDocument[]) => void;
|
|
177
|
-
logIdFrontCaptureAttempt: (attempt: CaptureAttemptMetadata) => void;
|
|
178
|
-
logIdBackCaptureAttempt: (attempt: CaptureAttemptMetadata) => void;
|
|
179
|
-
logSelfieCaptureAttempt: (attempt: CaptureAttemptMetadata) => void;
|
|
180
|
-
livenessCheckRequest: LivenessCheckRequest | null;
|
|
181
|
-
checkLiveness: (imageDataUrl: string) => Promise<LiveCheckResponse>;
|
|
182
|
-
retryLocationAccess: () => void;
|
|
183
|
-
};
|
|
184
|
-
export declare const SubmissionContext: import("react").Context<SubmissionState>;
|
|
185
151
|
export declare function parseJwt(token: string): Record<string, unknown>;
|
|
186
152
|
export declare function determineSubmissionHost(environment: SubmissionEnvironment, token?: string): string;
|
|
187
153
|
export declare function determineSubmissionEndpoint(action: SubmissionAction, hasId: boolean, hasSelfie: boolean, hasToken: boolean): string;
|
|
@@ -46,7 +46,7 @@ var LanguageDetector__default = /*#__PURE__*/_interopDefaultLegacy(LanguageDetec
|
|
|
46
46
|
var i18n__default = /*#__PURE__*/_interopDefaultLegacy(i18n);
|
|
47
47
|
var SignatureCanvas__default = /*#__PURE__*/_interopDefaultLegacy(SignatureCanvas);
|
|
48
48
|
|
|
49
|
-
var webSdkVersion = '1.0.
|
|
49
|
+
var webSdkVersion = '1.0.78';
|
|
50
50
|
|
|
51
51
|
function getPlatform() {
|
|
52
52
|
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
@@ -88,72 +88,6 @@ var submissionHosts = {
|
|
|
88
88
|
prod: 'https://api.idmission.com',
|
|
89
89
|
demo: 'https://apidemo.idmission.com'
|
|
90
90
|
};
|
|
91
|
-
var SubmissionContext = /*#__PURE__*/React.createContext({
|
|
92
|
-
submit: function submit() {
|
|
93
|
-
return tslib.__awaiter(void 0, void 0, void 0, function () {
|
|
94
|
-
return tslib.__generator(this, function (_a) {
|
|
95
|
-
return [2 /*return*/, null];
|
|
96
|
-
});
|
|
97
|
-
});
|
|
98
|
-
},
|
|
99
|
-
submissionStatus: SubmissionStatus.READY,
|
|
100
|
-
submissionRequest: null,
|
|
101
|
-
submissionResponse: null,
|
|
102
|
-
submissionError: null,
|
|
103
|
-
submissionEnvironment: 'prod',
|
|
104
|
-
idFrontImage: null,
|
|
105
|
-
idBackImage: null,
|
|
106
|
-
passportImage: null,
|
|
107
|
-
selfieImage: null,
|
|
108
|
-
signatureData: null,
|
|
109
|
-
signatureVideoUrl: null,
|
|
110
|
-
idCaptureVideoUrl: null,
|
|
111
|
-
additionalDocuments: null,
|
|
112
|
-
setIdFrontImage: function setIdFrontImage() {
|
|
113
|
-
return null;
|
|
114
|
-
},
|
|
115
|
-
setIdBackImage: function setIdBackImage() {
|
|
116
|
-
return null;
|
|
117
|
-
},
|
|
118
|
-
setPassportImage: function setPassportImage() {
|
|
119
|
-
return null;
|
|
120
|
-
},
|
|
121
|
-
setSelfieImage: function setSelfieImage() {
|
|
122
|
-
return null;
|
|
123
|
-
},
|
|
124
|
-
setSignatureData: function setSignatureData() {
|
|
125
|
-
return null;
|
|
126
|
-
},
|
|
127
|
-
setSignatureVideoUrl: function setSignatureVideoUrl() {
|
|
128
|
-
return null;
|
|
129
|
-
},
|
|
130
|
-
setIdCaptureVideoUrl: function setIdCaptureVideoUrl() {
|
|
131
|
-
return null;
|
|
132
|
-
},
|
|
133
|
-
setAdditionalDocuments: function setAdditionalDocuments() {
|
|
134
|
-
return null;
|
|
135
|
-
},
|
|
136
|
-
logIdFrontCaptureAttempt: function logIdFrontCaptureAttempt() {
|
|
137
|
-
return null;
|
|
138
|
-
},
|
|
139
|
-
logIdBackCaptureAttempt: function logIdBackCaptureAttempt() {
|
|
140
|
-
return null;
|
|
141
|
-
},
|
|
142
|
-
logSelfieCaptureAttempt: function logSelfieCaptureAttempt() {
|
|
143
|
-
return null;
|
|
144
|
-
},
|
|
145
|
-
livenessCheckRequest: null,
|
|
146
|
-
checkLiveness: function checkLiveness() {
|
|
147
|
-
return tslib.__awaiter(void 0, void 0, void 0, function () {
|
|
148
|
-
return tslib.__generator(this, function (_a) {
|
|
149
|
-
throw new Error('checkLiveness is not implemented');
|
|
150
|
-
});
|
|
151
|
-
});
|
|
152
|
-
},
|
|
153
|
-
retryLocationAccess: function retryLocationAccess() {
|
|
154
|
-
return null;
|
|
155
|
-
}
|
|
156
|
-
});
|
|
157
91
|
function parseJwt(token) {
|
|
158
92
|
var base64Url = token.split('.')[1];
|
|
159
93
|
var base64 = base64Url.replace(/-/g, '+').replace(/_/g, '/');
|
|
@@ -642,6 +576,80 @@ var TokenPublicKeyErrorOverlay = function TokenPublicKeyErrorOverlay(_a) {
|
|
|
642
576
|
}, "support@idmission.com"), ".")));
|
|
643
577
|
};
|
|
644
578
|
|
|
579
|
+
var SubmissionContext = /*#__PURE__*/React.createContext({
|
|
580
|
+
submit: function submit() {
|
|
581
|
+
return tslib.__awaiter(void 0, void 0, void 0, function () {
|
|
582
|
+
return tslib.__generator(this, function (_a) {
|
|
583
|
+
return [2 /*return*/, null];
|
|
584
|
+
});
|
|
585
|
+
});
|
|
586
|
+
},
|
|
587
|
+
submissionStatus: SubmissionStatus.READY,
|
|
588
|
+
submissionRequest: null,
|
|
589
|
+
submissionResponse: null,
|
|
590
|
+
submissionError: null,
|
|
591
|
+
submissionEnvironment: 'prod',
|
|
592
|
+
idFrontImage: null,
|
|
593
|
+
idBackImage: null,
|
|
594
|
+
passportImage: null,
|
|
595
|
+
selfieImage: null,
|
|
596
|
+
signatureData: null,
|
|
597
|
+
signatureVideoUrl: null,
|
|
598
|
+
idCaptureVideoUrl: null,
|
|
599
|
+
idCaptureVideoIdFrontImage: null,
|
|
600
|
+
idCaptureVideoIdBackImage: null,
|
|
601
|
+
additionalDocuments: null,
|
|
602
|
+
setIdFrontImage: function setIdFrontImage() {
|
|
603
|
+
return null;
|
|
604
|
+
},
|
|
605
|
+
setIdBackImage: function setIdBackImage() {
|
|
606
|
+
return null;
|
|
607
|
+
},
|
|
608
|
+
setPassportImage: function setPassportImage() {
|
|
609
|
+
return null;
|
|
610
|
+
},
|
|
611
|
+
setSelfieImage: function setSelfieImage() {
|
|
612
|
+
return null;
|
|
613
|
+
},
|
|
614
|
+
setSignatureData: function setSignatureData() {
|
|
615
|
+
return null;
|
|
616
|
+
},
|
|
617
|
+
setSignatureVideoUrl: function setSignatureVideoUrl() {
|
|
618
|
+
return null;
|
|
619
|
+
},
|
|
620
|
+
setIdCaptureVideoUrl: function setIdCaptureVideoUrl() {
|
|
621
|
+
return null;
|
|
622
|
+
},
|
|
623
|
+
setIdCaptureVideoIdFrontImage: function setIdCaptureVideoIdFrontImage() {
|
|
624
|
+
return null;
|
|
625
|
+
},
|
|
626
|
+
setIdCaptureVideoIdBackImage: function setIdCaptureVideoIdBackImage() {
|
|
627
|
+
return null;
|
|
628
|
+
},
|
|
629
|
+
setAdditionalDocuments: function setAdditionalDocuments() {
|
|
630
|
+
return null;
|
|
631
|
+
},
|
|
632
|
+
logIdFrontCaptureAttempt: function logIdFrontCaptureAttempt() {
|
|
633
|
+
return null;
|
|
634
|
+
},
|
|
635
|
+
logIdBackCaptureAttempt: function logIdBackCaptureAttempt() {
|
|
636
|
+
return null;
|
|
637
|
+
},
|
|
638
|
+
logSelfieCaptureAttempt: function logSelfieCaptureAttempt() {
|
|
639
|
+
return null;
|
|
640
|
+
},
|
|
641
|
+
livenessCheckRequest: null,
|
|
642
|
+
checkLiveness: function checkLiveness() {
|
|
643
|
+
return tslib.__awaiter(void 0, void 0, void 0, function () {
|
|
644
|
+
return tslib.__generator(this, function (_a) {
|
|
645
|
+
throw new Error('checkLiveness is not implemented');
|
|
646
|
+
});
|
|
647
|
+
});
|
|
648
|
+
},
|
|
649
|
+
retryLocationAccess: function retryLocationAccess() {
|
|
650
|
+
return null;
|
|
651
|
+
}
|
|
652
|
+
});
|
|
645
653
|
var SubmissionProvider = function SubmissionProvider(_a) {
|
|
646
654
|
var action = _a.action,
|
|
647
655
|
children = _a.children,
|
|
@@ -731,26 +739,32 @@ var SubmissionProvider = function SubmissionProvider(_a) {
|
|
|
731
739
|
idCaptureVideoUrl = _6[0],
|
|
732
740
|
setIdCaptureVideoUrl = _6[1];
|
|
733
741
|
var _7 = React.useState(null),
|
|
734
|
-
|
|
735
|
-
|
|
742
|
+
idCaptureVideoIdFrontImage = _7[0],
|
|
743
|
+
setIdCaptureVideoIdFrontImage = _7[1];
|
|
736
744
|
var _8 = React.useState(null),
|
|
737
|
-
|
|
738
|
-
|
|
739
|
-
var _9 = React.useState(
|
|
740
|
-
|
|
741
|
-
|
|
742
|
-
var _10 = React.useState(
|
|
743
|
-
|
|
744
|
-
|
|
745
|
-
var _11 = React.useState(
|
|
746
|
-
|
|
747
|
-
|
|
748
|
-
var _12 = React.useState(
|
|
749
|
-
|
|
750
|
-
|
|
745
|
+
idCaptureVideoIdBackImage = _8[0],
|
|
746
|
+
setIdCaptureVideoIdBackImage = _8[1];
|
|
747
|
+
var _9 = React.useState(null),
|
|
748
|
+
additionalDocuments = _9[0],
|
|
749
|
+
setAdditionalDocuments = _9[1];
|
|
750
|
+
var _10 = React.useState(null),
|
|
751
|
+
geolocationResult = _10[0],
|
|
752
|
+
setGeolocationResult = _10[1];
|
|
753
|
+
var _11 = React.useState(0),
|
|
754
|
+
geolocationAttempts = _11[0],
|
|
755
|
+
setGeolocationAttempts = _11[1];
|
|
756
|
+
var _12 = React.useState(false),
|
|
757
|
+
geolocationBlocked = _12[0],
|
|
758
|
+
setGeolocationBlocked = _12[1];
|
|
751
759
|
var _13 = React.useState([]),
|
|
752
|
-
|
|
753
|
-
|
|
760
|
+
idFrontCaptureAttempts = _13[0],
|
|
761
|
+
setIdFrontCaptureAttempts = _13[1];
|
|
762
|
+
var _14 = React.useState([]),
|
|
763
|
+
idBackCaptureAttempts = _14[0],
|
|
764
|
+
setIdBackCaptureAttempts = _14[1];
|
|
765
|
+
var _15 = React.useState([]),
|
|
766
|
+
selfieCaptureAttempts = _15[0],
|
|
767
|
+
setSelfieCaptureAttempts = _15[1];
|
|
754
768
|
var logIdFrontCaptureAttempt = React.useCallback(function (attempt) {
|
|
755
769
|
setIdFrontCaptureAttempts(function (attempts) {
|
|
756
770
|
return tslib.__spreadArray(tslib.__spreadArray([], attempts, true), [attempt], false);
|
|
@@ -1096,12 +1110,12 @@ var SubmissionProvider = function SubmissionProvider(_a) {
|
|
|
1096
1110
|
setSubmissionStatus(SubmissionStatus.READY);
|
|
1097
1111
|
retrySubmission();
|
|
1098
1112
|
}, [retrySubmission]);
|
|
1099
|
-
var
|
|
1100
|
-
tokenState =
|
|
1101
|
-
setTokenState =
|
|
1102
|
-
var
|
|
1103
|
-
tokenError =
|
|
1104
|
-
setTokenError =
|
|
1113
|
+
var _16 = React.useState('NOT_PARSED'),
|
|
1114
|
+
tokenState = _16[0],
|
|
1115
|
+
setTokenState = _16[1];
|
|
1116
|
+
var _17 = React.useState(null),
|
|
1117
|
+
tokenError = _17[0],
|
|
1118
|
+
setTokenError = _17[1];
|
|
1105
1119
|
React.useEffect(function () {
|
|
1106
1120
|
(function () {
|
|
1107
1121
|
return tslib.__awaiter(void 0, void 0, void 0, function () {
|
|
@@ -1184,6 +1198,8 @@ var SubmissionProvider = function SubmissionProvider(_a) {
|
|
|
1184
1198
|
signatureData: signatureData,
|
|
1185
1199
|
signatureVideoUrl: signatureVideoUrl,
|
|
1186
1200
|
idCaptureVideoUrl: idCaptureVideoUrl,
|
|
1201
|
+
idCaptureVideoIdFrontImage: idCaptureVideoIdFrontImage,
|
|
1202
|
+
idCaptureVideoIdBackImage: idCaptureVideoIdBackImage,
|
|
1187
1203
|
additionalDocuments: additionalDocuments,
|
|
1188
1204
|
setIdFrontImage: setIdFrontImage,
|
|
1189
1205
|
setIdBackImage: setIdBackImage,
|
|
@@ -1192,6 +1208,8 @@ var SubmissionProvider = function SubmissionProvider(_a) {
|
|
|
1192
1208
|
setSignatureData: setSignatureData,
|
|
1193
1209
|
setSignatureVideoUrl: setSignatureVideoUrl,
|
|
1194
1210
|
setIdCaptureVideoUrl: setIdCaptureVideoUrl,
|
|
1211
|
+
setIdCaptureVideoIdFrontImage: setIdCaptureVideoIdFrontImage,
|
|
1212
|
+
setIdCaptureVideoIdBackImage: setIdCaptureVideoIdBackImage,
|
|
1195
1213
|
setAdditionalDocuments: setAdditionalDocuments,
|
|
1196
1214
|
logIdFrontCaptureAttempt: logIdFrontCaptureAttempt,
|
|
1197
1215
|
logIdBackCaptureAttempt: logIdBackCaptureAttempt,
|
|
@@ -10612,7 +10630,7 @@ var IdCaptureFallback = function IdCaptureFallback(_a) {
|
|
|
10612
10630
|
accept: "image/*",
|
|
10613
10631
|
onChange: onFileSelected,
|
|
10614
10632
|
hidden: true
|
|
10615
|
-
}), /*#__PURE__*/React__default['default'].createElement(StyledButtonsRow$
|
|
10633
|
+
}), /*#__PURE__*/React__default['default'].createElement(StyledButtonsRow$7, {
|
|
10616
10634
|
className: classNames.buttonsRow
|
|
10617
10635
|
}, images.length < 2 && ( /*#__PURE__*/React__default['default'].createElement(LoaderButton, {
|
|
10618
10636
|
variant: images.length > 0 ? 'secondary' : 'positive',
|
|
@@ -10638,7 +10656,7 @@ var Heading$7 = styled__default['default'].h3(templateObject_2$9 || (templateObj
|
|
|
10638
10656
|
var Description$2 = styled__default['default'].p(templateObject_3$7 || (templateObject_3$7 = tslib.__makeTemplateObject(["\n margin-bottom: 8px;\n"], ["\n margin-bottom: 8px;\n"])));
|
|
10639
10657
|
var Instruction = styled__default['default'].p(templateObject_4$3 || (templateObject_4$3 = tslib.__makeTemplateObject(["\n font-weight: bold;\n"], ["\n font-weight: bold;\n"])));
|
|
10640
10658
|
var ImageCol = styled__default['default'].div(templateObject_5$1 || (templateObject_5$1 = tslib.__makeTemplateObject(["\n display: flex;\n justify-content: center;\n flex-grow: 1;\n flex-basis: 0;\n"], ["\n display: flex;\n justify-content: center;\n flex-grow: 1;\n flex-basis: 0;\n"])));
|
|
10641
|
-
var StyledButtonsRow$
|
|
10659
|
+
var StyledButtonsRow$7 = styled__default['default'](ButtonsRow)(templateObject_6 || (templateObject_6 = tslib.__makeTemplateObject(["\n margin-top: 32px;\n"], ["\n margin-top: 32px;\n"])));
|
|
10642
10660
|
var templateObject_1$f, templateObject_2$9, templateObject_3$7, templateObject_4$3, templateObject_5$1, templateObject_6;
|
|
10643
10661
|
|
|
10644
10662
|
var CaptureState;
|
|
@@ -11371,7 +11389,7 @@ var SelfieCaptureFallback = function SelfieCaptureFallback(_a) {
|
|
|
11371
11389
|
accept: "image/*",
|
|
11372
11390
|
onChange: onFileSelected,
|
|
11373
11391
|
hidden: true
|
|
11374
|
-
}), /*#__PURE__*/React__default['default'].createElement(StyledButtonsRow$
|
|
11392
|
+
}), /*#__PURE__*/React__default['default'].createElement(StyledButtonsRow$6, {
|
|
11375
11393
|
className: classNames.buttonsRow
|
|
11376
11394
|
}, !image && ( /*#__PURE__*/React__default['default'].createElement(LoaderButton, {
|
|
11377
11395
|
variant: "positive",
|
|
@@ -11398,7 +11416,7 @@ var StyledOverlayInner = styled__default['default'](OverlayInner)(templateObject
|
|
|
11398
11416
|
var Heading$6 = styled__default['default'].h3(templateObject_2$7 || (templateObject_2$7 = tslib.__makeTemplateObject(["\n margin-bottom: 8px;\n"], ["\n margin-bottom: 8px;\n"])));
|
|
11399
11417
|
var Description$1 = styled__default['default'].p(templateObject_3$6 || (templateObject_3$6 = tslib.__makeTemplateObject(["\n margin-bottom: 8px;\n"], ["\n margin-bottom: 8px;\n"])));
|
|
11400
11418
|
var ImageContainer$5 = styled__default['default'](OverlayImageContainer)(templateObject_4$2 || (templateObject_4$2 = tslib.__makeTemplateObject(["\n margin-top: 32px;\n"], ["\n margin-top: 32px;\n"])));
|
|
11401
|
-
var StyledButtonsRow$
|
|
11419
|
+
var StyledButtonsRow$6 = styled__default['default'](ButtonsRow)(templateObject_5 || (templateObject_5 = tslib.__makeTemplateObject(["\n margin-top: 32px;\n"], ["\n margin-top: 32px;\n"])));
|
|
11402
11420
|
var templateObject_1$d, templateObject_2$7, templateObject_3$6, templateObject_4$2, templateObject_5;
|
|
11403
11421
|
|
|
11404
11422
|
var initialState$3 = {
|
|
@@ -11939,17 +11957,17 @@ var SelfieCaptureLoadingOverlay = function SelfieCaptureLoadingOverlay(_a) {
|
|
|
11939
11957
|
className: classNames.container
|
|
11940
11958
|
}, /*#__PURE__*/React__default['default'].createElement(OverlayInner, {
|
|
11941
11959
|
className: classNames.inner
|
|
11942
|
-
}, /*#__PURE__*/React__default['default'].createElement("div", {
|
|
11943
|
-
className: classNames.headingContainer
|
|
11944
11960
|
}, /*#__PURE__*/React__default['default'].createElement("h3", {
|
|
11945
11961
|
className: classNames.heading
|
|
11946
|
-
}, verbiage.headingText), /*#__PURE__*/React__default['default'].createElement(StyledGuidanceMessage, null, verbiage.removeEyeCoveringsText, /*#__PURE__*/React__default['default'].createElement("br", null), verbiage.avoidExcessiveBacklightingText)
|
|
11962
|
+
}, verbiage.headingText), /*#__PURE__*/React__default['default'].createElement(StyledGuidanceMessage, null, verbiage.removeEyeCoveringsText, /*#__PURE__*/React__default['default'].createElement("br", null), verbiage.avoidExcessiveBacklightingText), /*#__PURE__*/React__default['default'].createElement(OverlayImageContainer, {
|
|
11947
11963
|
className: classNames.imageContainer
|
|
11948
|
-
}, /*#__PURE__*/React__default['default'].createElement(
|
|
11964
|
+
}, /*#__PURE__*/React__default['default'].createElement("img", {
|
|
11949
11965
|
className: classNames.image,
|
|
11950
11966
|
alt: verbiage.headingText,
|
|
11951
11967
|
src: assets.instructionImageUrl
|
|
11952
|
-
})), /*#__PURE__*/React__default['default'].createElement(
|
|
11968
|
+
})), /*#__PURE__*/React__default['default'].createElement(StyledButtonsRow$5, {
|
|
11969
|
+
className: classNames.buttonsRow
|
|
11970
|
+
}, /*#__PURE__*/React__default['default'].createElement(LoaderButton, {
|
|
11953
11971
|
variant: "positive",
|
|
11954
11972
|
disabled: !cameraReady || !modelsReady,
|
|
11955
11973
|
finished: cameraReady && modelsReady,
|
|
@@ -11959,14 +11977,14 @@ var SelfieCaptureLoadingOverlay = function SelfieCaptureLoadingOverlay(_a) {
|
|
|
11959
11977
|
setDismissed(true);
|
|
11960
11978
|
onDismissed === null || onDismissed === void 0 ? void 0 : onDismissed();
|
|
11961
11979
|
}
|
|
11962
|
-
}, cameraReady && modelsReady ? verbiage.continueText : modelsReady ? verbiage.cameraInitializingText : verbiage.modelsWarmingUpText), /*#__PURE__*/React__default['default'].createElement("div", {
|
|
11980
|
+
}, cameraReady && modelsReady ? verbiage.continueText : modelsReady ? verbiage.cameraInitializingText : verbiage.modelsWarmingUpText)), /*#__PURE__*/React__default['default'].createElement("div", {
|
|
11963
11981
|
style: {
|
|
11964
11982
|
display: 'none'
|
|
11965
11983
|
}
|
|
11966
11984
|
}, /*#__PURE__*/React__default['default'].createElement(CameraVideoTag, null))));
|
|
11967
11985
|
};
|
|
11968
|
-
var StyledGuidanceMessage = styled__default['default'](GuidanceMessage)(templateObject_1$c || (templateObject_1$c = tslib.__makeTemplateObject(["\n
|
|
11969
|
-
var
|
|
11986
|
+
var StyledGuidanceMessage = styled__default['default'](GuidanceMessage)(templateObject_1$c || (templateObject_1$c = tslib.__makeTemplateObject(["\n padding: 12px 24px;\n font-weight: normal;\n line-height: 1.5;\n margin-bottom: -30px;\n"], ["\n padding: 12px 24px;\n font-weight: normal;\n line-height: 1.5;\n margin-bottom: -30px;\n"])));
|
|
11987
|
+
var StyledButtonsRow$5 = styled__default['default'](ButtonsRow)(templateObject_2$6 || (templateObject_2$6 = tslib.__makeTemplateObject(["\n flex-direction: column;\n padding-top: 25px;\n"], ["\n flex-direction: column;\n padding-top: 25px;\n"])));
|
|
11970
11988
|
var templateObject_1$c, templateObject_2$6;
|
|
11971
11989
|
|
|
11972
11990
|
var FaceLivenessSuccess = function FaceLivenessSuccess(_a) {
|
|
@@ -13286,6 +13304,8 @@ var IdVideoCaptureGuides = function IdVideoCaptureGuides(_a) {
|
|
|
13286
13304
|
var IdVideoCapture = function IdVideoCapture(_a) {
|
|
13287
13305
|
var _b, _c, _d, _e, _f, _g;
|
|
13288
13306
|
var onComplete = _a.onComplete,
|
|
13307
|
+
onIdFrontImageCaptured = _a.onIdFrontImageCaptured,
|
|
13308
|
+
onIdBackImageCaptured = _a.onIdBackImageCaptured,
|
|
13289
13309
|
onFaceNotDetected = _a.onFaceNotDetected,
|
|
13290
13310
|
_h = _a.idCardFrontDetectionThreshold,
|
|
13291
13311
|
idCardFrontDetectionThreshold = _h === void 0 ? 0.48 : _h,
|
|
@@ -13390,6 +13410,14 @@ var IdVideoCapture = function IdVideoCapture(_a) {
|
|
|
13390
13410
|
}
|
|
13391
13411
|
});
|
|
13392
13412
|
}, [idCardFrontDetectionThreshold, onIdPredictionMade]);
|
|
13413
|
+
var captureCanvas = React.useRef(null);
|
|
13414
|
+
var captureFrame = React.useCallback(function () {
|
|
13415
|
+
if (!captureCanvas.current || !videoRef.current) return;
|
|
13416
|
+
drawToCanvas(captureCanvas.current, videoRef.current);
|
|
13417
|
+
var imageUrl = captureCanvas.current.toDataURL('image/jpeg', 0.98);
|
|
13418
|
+
clearCanvas(captureCanvas.current);
|
|
13419
|
+
return imageUrl;
|
|
13420
|
+
}, [videoRef]);
|
|
13393
13421
|
var onIdBackCaptureComplete = React.useCallback(function () {
|
|
13394
13422
|
if (readTextPrompt) {
|
|
13395
13423
|
setRequestedAction('READ_TEXT');
|
|
@@ -13400,10 +13428,17 @@ var IdVideoCapture = function IdVideoCapture(_a) {
|
|
|
13400
13428
|
React.useEffect(function () {
|
|
13401
13429
|
(function () {
|
|
13402
13430
|
return tslib.__awaiter(void 0, void 0, void 0, function () {
|
|
13431
|
+
var frame;
|
|
13403
13432
|
return tslib.__generator(this, function (_a) {
|
|
13404
13433
|
switch (_a.label) {
|
|
13405
13434
|
case 0:
|
|
13406
13435
|
if (!(goodFramesThresholdMet && requestedAction == 'SHOW_ID_FRONT')) return [3 /*break*/, 4];
|
|
13436
|
+
if (onIdFrontImageCaptured) {
|
|
13437
|
+
console.log('capturing front frame!');
|
|
13438
|
+
frame = captureFrame();
|
|
13439
|
+
console.log(frame);
|
|
13440
|
+
frame && onIdFrontImageCaptured(frame);
|
|
13441
|
+
}
|
|
13407
13442
|
if (!skipShowIdCardBack) return [3 /*break*/, 3];
|
|
13408
13443
|
if (!(skipShowIdCardBack === true)) return [3 /*break*/, 1];
|
|
13409
13444
|
return [2 /*return*/, onIdBackCaptureComplete()];
|
|
@@ -13418,6 +13453,14 @@ var IdVideoCapture = function IdVideoCapture(_a) {
|
|
|
13418
13453
|
setRequestedAction('FLIP_ID');
|
|
13419
13454
|
setTimeout(function () {
|
|
13420
13455
|
setRequestedAction('SHOW_ID_BACK');
|
|
13456
|
+
setTimeout(function () {
|
|
13457
|
+
if (onIdBackImageCaptured) {
|
|
13458
|
+
console.log('capturing rear frame!');
|
|
13459
|
+
var frame = captureFrame();
|
|
13460
|
+
console.log(frame);
|
|
13461
|
+
frame && onIdBackImageCaptured(frame);
|
|
13462
|
+
}
|
|
13463
|
+
}, showIdCardBackDurationMs - 1000);
|
|
13421
13464
|
}, 3500);
|
|
13422
13465
|
_a.label = 4;
|
|
13423
13466
|
case 4:
|
|
@@ -13426,7 +13469,7 @@ var IdVideoCapture = function IdVideoCapture(_a) {
|
|
|
13426
13469
|
});
|
|
13427
13470
|
});
|
|
13428
13471
|
})();
|
|
13429
|
-
}, [goodFramesThresholdMet, onIdBackCaptureComplete, requestedAction, skipShowIdCardBack]);
|
|
13472
|
+
}, [captureFrame, goodFramesThresholdMet, onIdBackCaptureComplete, onIdBackImageCaptured, onIdFrontImageCaptured, requestedAction, showIdCardBackDurationMs, skipShowIdCardBack]);
|
|
13430
13473
|
useTimeout(showIdCardBackDurationMs, onIdBackCaptureComplete, requestedAction !== 'SHOW_ID_BACK', false, requestedAction === 'SHOW_ID_BACK');
|
|
13431
13474
|
var onReadTextTimeout = React.useCallback(function () {
|
|
13432
13475
|
stopRecording();
|
|
@@ -13467,7 +13510,9 @@ var IdVideoCapture = function IdVideoCapture(_a) {
|
|
|
13467
13510
|
return /*#__PURE__*/React__default['default'].createElement(PageContainer, {
|
|
13468
13511
|
ref: ref,
|
|
13469
13512
|
className: "flex"
|
|
13470
|
-
}, /*#__PURE__*/React__default['default'].createElement(CameraVideoTag, null),
|
|
13513
|
+
}, /*#__PURE__*/React__default['default'].createElement(CameraVideoTag, null), /*#__PURE__*/React__default['default'].createElement(InvisibleCanvas, {
|
|
13514
|
+
ref: captureCanvas
|
|
13515
|
+
}), requestedAction === 'READ_TEXT' ? ( /*#__PURE__*/React__default['default'].createElement("div", {
|
|
13471
13516
|
style: {
|
|
13472
13517
|
position: 'absolute',
|
|
13473
13518
|
width: '100%',
|
|
@@ -13509,9 +13554,9 @@ var IdVideoCapture = function IdVideoCapture(_a) {
|
|
|
13509
13554
|
}
|
|
13510
13555
|
}, timeRemaining), /*#__PURE__*/React__default['default'].createElement(LoaderButton, {
|
|
13511
13556
|
variant: "positive",
|
|
13512
|
-
finished: true,
|
|
13513
13557
|
onClick: stopRecording,
|
|
13514
|
-
colors: colors.readTextDoneBtn
|
|
13558
|
+
colors: colors.readTextDoneBtn,
|
|
13559
|
+
finished: true
|
|
13515
13560
|
}, verbiage.readTextDoneBtnText)))) : ( /*#__PURE__*/React__default['default'].createElement(React__default['default'].Fragment, null, /*#__PURE__*/React__default['default'].createElement(IdVideoCaptureGuides, {
|
|
13516
13561
|
assets: assets.guides,
|
|
13517
13562
|
verbiage: rawVerbiage.guides,
|
|
@@ -13616,7 +13661,9 @@ var VideoIdWizard = function VideoIdWizard(_a) {
|
|
|
13616
13661
|
var _q = React.useContext(SubmissionContext),
|
|
13617
13662
|
submissionStatus = _q.submissionStatus,
|
|
13618
13663
|
idCaptureVideoUrl = _q.idCaptureVideoUrl,
|
|
13619
|
-
setIdCaptureVideoUrl = _q.setIdCaptureVideoUrl
|
|
13664
|
+
setIdCaptureVideoUrl = _q.setIdCaptureVideoUrl,
|
|
13665
|
+
setIdCaptureVideoIdFrontImage = _q.setIdCaptureVideoIdFrontImage,
|
|
13666
|
+
setIdCaptureVideoIdBackImage = _q.setIdCaptureVideoIdBackImage;
|
|
13620
13667
|
var _r = React.useState('CAPTURING_ID'),
|
|
13621
13668
|
captureState = _r[0],
|
|
13622
13669
|
setCaptureState = _r[1];
|
|
@@ -13718,6 +13765,8 @@ var VideoIdWizard = function VideoIdWizard(_a) {
|
|
|
13718
13765
|
return /*#__PURE__*/React__default['default'].createElement(IdVideoCapture, {
|
|
13719
13766
|
key: "id-video-capture-".concat(attempt),
|
|
13720
13767
|
onComplete: onVideoCaptureComplete,
|
|
13768
|
+
onIdFrontImageCaptured: setIdCaptureVideoIdFrontImage,
|
|
13769
|
+
onIdBackImageCaptured: setIdCaptureVideoIdBackImage,
|
|
13721
13770
|
onFaceNotDetected: onVideoCaptureFaceNotDetected,
|
|
13722
13771
|
idCardFrontDetectionThreshold: idCardFrontDetectionThreshold,
|
|
13723
13772
|
idCardFrontFocusThreshold: idCardFrontFocusThreshold,
|