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/sdk2.esm.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import { __awaiter, __generator, __makeTemplateObject, __extends, __spreadArray, __assign } from 'tslib';
2
2
  import * as React from 'react';
3
- import React__default, { createContext, forwardRef, useState, useEffect, useRef, useContext, useCallback, useMemo, useReducer } from 'react';
3
+ import React__default, { forwardRef, useState, useEffect, useRef, useContext, createContext, useCallback, useMemo, useReducer } from 'react';
4
4
  import * as ReactDOM from 'react-dom/client';
5
5
  import styled, { useTheme, ThemeProvider as ThemeProvider$1 } from 'styled-components';
6
6
  import { useTranslation, initReactI18next } from 'react-i18next';
@@ -12,7 +12,7 @@ import i18n from 'i18next';
12
12
  import { FaceDetector, FilesetResolver } from '@mediapipe/tasks-vision';
13
13
  import SignatureCanvas from 'react-signature-canvas';
14
14
 
15
- var webSdkVersion = '1.0.76';
15
+ var webSdkVersion = '1.0.78';
16
16
 
17
17
  function getPlatform() {
18
18
  // eslint-disable-next-line @typescript-eslint/ban-ts-comment
@@ -54,72 +54,6 @@ var submissionHosts = {
54
54
  prod: 'https://api.idmission.com',
55
55
  demo: 'https://apidemo.idmission.com'
56
56
  };
57
- var SubmissionContext = /*#__PURE__*/createContext({
58
- submit: function submit() {
59
- return __awaiter(void 0, void 0, void 0, function () {
60
- return __generator(this, function (_a) {
61
- return [2 /*return*/, null];
62
- });
63
- });
64
- },
65
- submissionStatus: SubmissionStatus.READY,
66
- submissionRequest: null,
67
- submissionResponse: null,
68
- submissionError: null,
69
- submissionEnvironment: 'prod',
70
- idFrontImage: null,
71
- idBackImage: null,
72
- passportImage: null,
73
- selfieImage: null,
74
- signatureData: null,
75
- signatureVideoUrl: null,
76
- idCaptureVideoUrl: null,
77
- additionalDocuments: null,
78
- setIdFrontImage: function setIdFrontImage() {
79
- return null;
80
- },
81
- setIdBackImage: function setIdBackImage() {
82
- return null;
83
- },
84
- setPassportImage: function setPassportImage() {
85
- return null;
86
- },
87
- setSelfieImage: function setSelfieImage() {
88
- return null;
89
- },
90
- setSignatureData: function setSignatureData() {
91
- return null;
92
- },
93
- setSignatureVideoUrl: function setSignatureVideoUrl() {
94
- return null;
95
- },
96
- setIdCaptureVideoUrl: function setIdCaptureVideoUrl() {
97
- return null;
98
- },
99
- setAdditionalDocuments: function setAdditionalDocuments() {
100
- return null;
101
- },
102
- logIdFrontCaptureAttempt: function logIdFrontCaptureAttempt() {
103
- return null;
104
- },
105
- logIdBackCaptureAttempt: function logIdBackCaptureAttempt() {
106
- return null;
107
- },
108
- logSelfieCaptureAttempt: function logSelfieCaptureAttempt() {
109
- return null;
110
- },
111
- livenessCheckRequest: null,
112
- checkLiveness: function checkLiveness() {
113
- return __awaiter(void 0, void 0, void 0, function () {
114
- return __generator(this, function (_a) {
115
- throw new Error('checkLiveness is not implemented');
116
- });
117
- });
118
- },
119
- retryLocationAccess: function retryLocationAccess() {
120
- return null;
121
- }
122
- });
123
57
  function parseJwt(token) {
124
58
  var base64Url = token.split('.')[1];
125
59
  var base64 = base64Url.replace(/-/g, '+').replace(/_/g, '/');
@@ -608,6 +542,80 @@ var TokenPublicKeyErrorOverlay = function TokenPublicKeyErrorOverlay(_a) {
608
542
  }, "support@idmission.com"), ".")));
609
543
  };
610
544
 
545
+ var SubmissionContext = /*#__PURE__*/createContext({
546
+ submit: function submit() {
547
+ return __awaiter(void 0, void 0, void 0, function () {
548
+ return __generator(this, function (_a) {
549
+ return [2 /*return*/, null];
550
+ });
551
+ });
552
+ },
553
+ submissionStatus: SubmissionStatus.READY,
554
+ submissionRequest: null,
555
+ submissionResponse: null,
556
+ submissionError: null,
557
+ submissionEnvironment: 'prod',
558
+ idFrontImage: null,
559
+ idBackImage: null,
560
+ passportImage: null,
561
+ selfieImage: null,
562
+ signatureData: null,
563
+ signatureVideoUrl: null,
564
+ idCaptureVideoUrl: null,
565
+ idCaptureVideoIdFrontImage: null,
566
+ idCaptureVideoIdBackImage: null,
567
+ additionalDocuments: null,
568
+ setIdFrontImage: function setIdFrontImage() {
569
+ return null;
570
+ },
571
+ setIdBackImage: function setIdBackImage() {
572
+ return null;
573
+ },
574
+ setPassportImage: function setPassportImage() {
575
+ return null;
576
+ },
577
+ setSelfieImage: function setSelfieImage() {
578
+ return null;
579
+ },
580
+ setSignatureData: function setSignatureData() {
581
+ return null;
582
+ },
583
+ setSignatureVideoUrl: function setSignatureVideoUrl() {
584
+ return null;
585
+ },
586
+ setIdCaptureVideoUrl: function setIdCaptureVideoUrl() {
587
+ return null;
588
+ },
589
+ setIdCaptureVideoIdFrontImage: function setIdCaptureVideoIdFrontImage() {
590
+ return null;
591
+ },
592
+ setIdCaptureVideoIdBackImage: function setIdCaptureVideoIdBackImage() {
593
+ return null;
594
+ },
595
+ setAdditionalDocuments: function setAdditionalDocuments() {
596
+ return null;
597
+ },
598
+ logIdFrontCaptureAttempt: function logIdFrontCaptureAttempt() {
599
+ return null;
600
+ },
601
+ logIdBackCaptureAttempt: function logIdBackCaptureAttempt() {
602
+ return null;
603
+ },
604
+ logSelfieCaptureAttempt: function logSelfieCaptureAttempt() {
605
+ return null;
606
+ },
607
+ livenessCheckRequest: null,
608
+ checkLiveness: function checkLiveness() {
609
+ return __awaiter(void 0, void 0, void 0, function () {
610
+ return __generator(this, function (_a) {
611
+ throw new Error('checkLiveness is not implemented');
612
+ });
613
+ });
614
+ },
615
+ retryLocationAccess: function retryLocationAccess() {
616
+ return null;
617
+ }
618
+ });
611
619
  var SubmissionProvider = function SubmissionProvider(_a) {
612
620
  var action = _a.action,
613
621
  children = _a.children,
@@ -697,26 +705,32 @@ var SubmissionProvider = function SubmissionProvider(_a) {
697
705
  idCaptureVideoUrl = _6[0],
698
706
  setIdCaptureVideoUrl = _6[1];
699
707
  var _7 = useState(null),
700
- additionalDocuments = _7[0],
701
- setAdditionalDocuments = _7[1];
708
+ idCaptureVideoIdFrontImage = _7[0],
709
+ setIdCaptureVideoIdFrontImage = _7[1];
702
710
  var _8 = useState(null),
703
- geolocationResult = _8[0],
704
- setGeolocationResult = _8[1];
705
- var _9 = useState(0),
706
- geolocationAttempts = _9[0],
707
- setGeolocationAttempts = _9[1];
708
- var _10 = useState(false),
709
- geolocationBlocked = _10[0],
710
- setGeolocationBlocked = _10[1];
711
- var _11 = useState([]),
712
- idFrontCaptureAttempts = _11[0],
713
- setIdFrontCaptureAttempts = _11[1];
714
- var _12 = useState([]),
715
- idBackCaptureAttempts = _12[0],
716
- setIdBackCaptureAttempts = _12[1];
711
+ idCaptureVideoIdBackImage = _8[0],
712
+ setIdCaptureVideoIdBackImage = _8[1];
713
+ var _9 = useState(null),
714
+ additionalDocuments = _9[0],
715
+ setAdditionalDocuments = _9[1];
716
+ var _10 = useState(null),
717
+ geolocationResult = _10[0],
718
+ setGeolocationResult = _10[1];
719
+ var _11 = useState(0),
720
+ geolocationAttempts = _11[0],
721
+ setGeolocationAttempts = _11[1];
722
+ var _12 = useState(false),
723
+ geolocationBlocked = _12[0],
724
+ setGeolocationBlocked = _12[1];
717
725
  var _13 = useState([]),
718
- selfieCaptureAttempts = _13[0],
719
- setSelfieCaptureAttempts = _13[1];
726
+ idFrontCaptureAttempts = _13[0],
727
+ setIdFrontCaptureAttempts = _13[1];
728
+ var _14 = useState([]),
729
+ idBackCaptureAttempts = _14[0],
730
+ setIdBackCaptureAttempts = _14[1];
731
+ var _15 = useState([]),
732
+ selfieCaptureAttempts = _15[0],
733
+ setSelfieCaptureAttempts = _15[1];
720
734
  var logIdFrontCaptureAttempt = useCallback(function (attempt) {
721
735
  setIdFrontCaptureAttempts(function (attempts) {
722
736
  return __spreadArray(__spreadArray([], attempts, true), [attempt], false);
@@ -1062,12 +1076,12 @@ var SubmissionProvider = function SubmissionProvider(_a) {
1062
1076
  setSubmissionStatus(SubmissionStatus.READY);
1063
1077
  retrySubmission();
1064
1078
  }, [retrySubmission]);
1065
- var _14 = useState('NOT_PARSED'),
1066
- tokenState = _14[0],
1067
- setTokenState = _14[1];
1068
- var _15 = useState(null),
1069
- tokenError = _15[0],
1070
- setTokenError = _15[1];
1079
+ var _16 = useState('NOT_PARSED'),
1080
+ tokenState = _16[0],
1081
+ setTokenState = _16[1];
1082
+ var _17 = useState(null),
1083
+ tokenError = _17[0],
1084
+ setTokenError = _17[1];
1071
1085
  useEffect(function () {
1072
1086
  (function () {
1073
1087
  return __awaiter(void 0, void 0, void 0, function () {
@@ -1150,6 +1164,8 @@ var SubmissionProvider = function SubmissionProvider(_a) {
1150
1164
  signatureData: signatureData,
1151
1165
  signatureVideoUrl: signatureVideoUrl,
1152
1166
  idCaptureVideoUrl: idCaptureVideoUrl,
1167
+ idCaptureVideoIdFrontImage: idCaptureVideoIdFrontImage,
1168
+ idCaptureVideoIdBackImage: idCaptureVideoIdBackImage,
1153
1169
  additionalDocuments: additionalDocuments,
1154
1170
  setIdFrontImage: setIdFrontImage,
1155
1171
  setIdBackImage: setIdBackImage,
@@ -1158,6 +1174,8 @@ var SubmissionProvider = function SubmissionProvider(_a) {
1158
1174
  setSignatureData: setSignatureData,
1159
1175
  setSignatureVideoUrl: setSignatureVideoUrl,
1160
1176
  setIdCaptureVideoUrl: setIdCaptureVideoUrl,
1177
+ setIdCaptureVideoIdFrontImage: setIdCaptureVideoIdFrontImage,
1178
+ setIdCaptureVideoIdBackImage: setIdCaptureVideoIdBackImage,
1161
1179
  setAdditionalDocuments: setAdditionalDocuments,
1162
1180
  logIdFrontCaptureAttempt: logIdFrontCaptureAttempt,
1163
1181
  logIdBackCaptureAttempt: logIdBackCaptureAttempt,
@@ -10578,7 +10596,7 @@ var IdCaptureFallback = function IdCaptureFallback(_a) {
10578
10596
  accept: "image/*",
10579
10597
  onChange: onFileSelected,
10580
10598
  hidden: true
10581
- }), /*#__PURE__*/React__default.createElement(StyledButtonsRow$6, {
10599
+ }), /*#__PURE__*/React__default.createElement(StyledButtonsRow$7, {
10582
10600
  className: classNames.buttonsRow
10583
10601
  }, images.length < 2 && ( /*#__PURE__*/React__default.createElement(LoaderButton, {
10584
10602
  variant: images.length > 0 ? 'secondary' : 'positive',
@@ -10604,7 +10622,7 @@ var Heading$7 = styled.h3(templateObject_2$9 || (templateObject_2$9 = __makeTemp
10604
10622
  var Description$2 = styled.p(templateObject_3$7 || (templateObject_3$7 = __makeTemplateObject(["\n margin-bottom: 8px;\n"], ["\n margin-bottom: 8px;\n"])));
10605
10623
  var Instruction = styled.p(templateObject_4$3 || (templateObject_4$3 = __makeTemplateObject(["\n font-weight: bold;\n"], ["\n font-weight: bold;\n"])));
10606
10624
  var ImageCol = styled.div(templateObject_5$1 || (templateObject_5$1 = __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"])));
10607
- var StyledButtonsRow$6 = styled(ButtonsRow)(templateObject_6 || (templateObject_6 = __makeTemplateObject(["\n margin-top: 32px;\n"], ["\n margin-top: 32px;\n"])));
10625
+ var StyledButtonsRow$7 = styled(ButtonsRow)(templateObject_6 || (templateObject_6 = __makeTemplateObject(["\n margin-top: 32px;\n"], ["\n margin-top: 32px;\n"])));
10608
10626
  var templateObject_1$f, templateObject_2$9, templateObject_3$7, templateObject_4$3, templateObject_5$1, templateObject_6;
10609
10627
 
10610
10628
  var CaptureState;
@@ -11337,7 +11355,7 @@ var SelfieCaptureFallback = function SelfieCaptureFallback(_a) {
11337
11355
  accept: "image/*",
11338
11356
  onChange: onFileSelected,
11339
11357
  hidden: true
11340
- }), /*#__PURE__*/React__default.createElement(StyledButtonsRow$5, {
11358
+ }), /*#__PURE__*/React__default.createElement(StyledButtonsRow$6, {
11341
11359
  className: classNames.buttonsRow
11342
11360
  }, !image && ( /*#__PURE__*/React__default.createElement(LoaderButton, {
11343
11361
  variant: "positive",
@@ -11364,7 +11382,7 @@ var StyledOverlayInner = styled(OverlayInner)(templateObject_1$d || (templateObj
11364
11382
  var Heading$6 = styled.h3(templateObject_2$7 || (templateObject_2$7 = __makeTemplateObject(["\n margin-bottom: 8px;\n"], ["\n margin-bottom: 8px;\n"])));
11365
11383
  var Description$1 = styled.p(templateObject_3$6 || (templateObject_3$6 = __makeTemplateObject(["\n margin-bottom: 8px;\n"], ["\n margin-bottom: 8px;\n"])));
11366
11384
  var ImageContainer$5 = styled(OverlayImageContainer)(templateObject_4$2 || (templateObject_4$2 = __makeTemplateObject(["\n margin-top: 32px;\n"], ["\n margin-top: 32px;\n"])));
11367
- var StyledButtonsRow$5 = styled(ButtonsRow)(templateObject_5 || (templateObject_5 = __makeTemplateObject(["\n margin-top: 32px;\n"], ["\n margin-top: 32px;\n"])));
11385
+ var StyledButtonsRow$6 = styled(ButtonsRow)(templateObject_5 || (templateObject_5 = __makeTemplateObject(["\n margin-top: 32px;\n"], ["\n margin-top: 32px;\n"])));
11368
11386
  var templateObject_1$d, templateObject_2$7, templateObject_3$6, templateObject_4$2, templateObject_5;
11369
11387
 
11370
11388
  var initialState$3 = {
@@ -11905,17 +11923,17 @@ var SelfieCaptureLoadingOverlay = function SelfieCaptureLoadingOverlay(_a) {
11905
11923
  className: classNames.container
11906
11924
  }, /*#__PURE__*/React__default.createElement(OverlayInner, {
11907
11925
  className: classNames.inner
11908
- }, /*#__PURE__*/React__default.createElement("div", {
11909
- className: classNames.headingContainer
11910
11926
  }, /*#__PURE__*/React__default.createElement("h3", {
11911
11927
  className: classNames.heading
11912
- }, verbiage.headingText), /*#__PURE__*/React__default.createElement(StyledGuidanceMessage, null, verbiage.removeEyeCoveringsText, /*#__PURE__*/React__default.createElement("br", null), verbiage.avoidExcessiveBacklightingText)), /*#__PURE__*/React__default.createElement(OverlayImageContainer, {
11928
+ }, verbiage.headingText), /*#__PURE__*/React__default.createElement(StyledGuidanceMessage, null, verbiage.removeEyeCoveringsText, /*#__PURE__*/React__default.createElement("br", null), verbiage.avoidExcessiveBacklightingText), /*#__PURE__*/React__default.createElement(OverlayImageContainer, {
11913
11929
  className: classNames.imageContainer
11914
- }, /*#__PURE__*/React__default.createElement(StyledImage, {
11930
+ }, /*#__PURE__*/React__default.createElement("img", {
11915
11931
  className: classNames.image,
11916
11932
  alt: verbiage.headingText,
11917
11933
  src: assets.instructionImageUrl
11918
- })), /*#__PURE__*/React__default.createElement(LoaderButton, {
11934
+ })), /*#__PURE__*/React__default.createElement(StyledButtonsRow$5, {
11935
+ className: classNames.buttonsRow
11936
+ }, /*#__PURE__*/React__default.createElement(LoaderButton, {
11919
11937
  variant: "positive",
11920
11938
  disabled: !cameraReady || !modelsReady,
11921
11939
  finished: cameraReady && modelsReady,
@@ -11925,14 +11943,14 @@ var SelfieCaptureLoadingOverlay = function SelfieCaptureLoadingOverlay(_a) {
11925
11943
  setDismissed(true);
11926
11944
  onDismissed === null || onDismissed === void 0 ? void 0 : onDismissed();
11927
11945
  }
11928
- }, cameraReady && modelsReady ? verbiage.continueText : modelsReady ? verbiage.cameraInitializingText : verbiage.modelsWarmingUpText), /*#__PURE__*/React__default.createElement("div", {
11946
+ }, cameraReady && modelsReady ? verbiage.continueText : modelsReady ? verbiage.cameraInitializingText : verbiage.modelsWarmingUpText)), /*#__PURE__*/React__default.createElement("div", {
11929
11947
  style: {
11930
11948
  display: 'none'
11931
11949
  }
11932
11950
  }, /*#__PURE__*/React__default.createElement(CameraVideoTag, null))));
11933
11951
  };
11934
- var StyledGuidanceMessage = styled(GuidanceMessage)(templateObject_1$c || (templateObject_1$c = __makeTemplateObject(["\n max-width: 280px;\n margin: 18px auto 12px;\n line-height: 1.5;\n padding: 12px 24px;\n"], ["\n max-width: 280px;\n margin: 18px auto 12px;\n line-height: 1.5;\n padding: 12px 24px;\n"])));
11935
- var StyledImage = styled.img(templateObject_2$6 || (templateObject_2$6 = __makeTemplateObject(["\n position: relative;\n top: 5%;\n"], ["\n position: relative;\n top: 5%;\n"])));
11952
+ var StyledGuidanceMessage = styled(GuidanceMessage)(templateObject_1$c || (templateObject_1$c = __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"])));
11953
+ var StyledButtonsRow$5 = styled(ButtonsRow)(templateObject_2$6 || (templateObject_2$6 = __makeTemplateObject(["\n flex-direction: column;\n padding-top: 25px;\n"], ["\n flex-direction: column;\n padding-top: 25px;\n"])));
11936
11954
  var templateObject_1$c, templateObject_2$6;
11937
11955
 
11938
11956
  var FaceLivenessSuccess = function FaceLivenessSuccess(_a) {
@@ -13252,6 +13270,8 @@ var IdVideoCaptureGuides = function IdVideoCaptureGuides(_a) {
13252
13270
  var IdVideoCapture = function IdVideoCapture(_a) {
13253
13271
  var _b, _c, _d, _e, _f, _g;
13254
13272
  var onComplete = _a.onComplete,
13273
+ onIdFrontImageCaptured = _a.onIdFrontImageCaptured,
13274
+ onIdBackImageCaptured = _a.onIdBackImageCaptured,
13255
13275
  onFaceNotDetected = _a.onFaceNotDetected,
13256
13276
  _h = _a.idCardFrontDetectionThreshold,
13257
13277
  idCardFrontDetectionThreshold = _h === void 0 ? 0.48 : _h,
@@ -13356,6 +13376,14 @@ var IdVideoCapture = function IdVideoCapture(_a) {
13356
13376
  }
13357
13377
  });
13358
13378
  }, [idCardFrontDetectionThreshold, onIdPredictionMade]);
13379
+ var captureCanvas = useRef(null);
13380
+ var captureFrame = useCallback(function () {
13381
+ if (!captureCanvas.current || !videoRef.current) return;
13382
+ drawToCanvas(captureCanvas.current, videoRef.current);
13383
+ var imageUrl = captureCanvas.current.toDataURL('image/jpeg', 0.98);
13384
+ clearCanvas(captureCanvas.current);
13385
+ return imageUrl;
13386
+ }, [videoRef]);
13359
13387
  var onIdBackCaptureComplete = useCallback(function () {
13360
13388
  if (readTextPrompt) {
13361
13389
  setRequestedAction('READ_TEXT');
@@ -13366,10 +13394,17 @@ var IdVideoCapture = function IdVideoCapture(_a) {
13366
13394
  useEffect(function () {
13367
13395
  (function () {
13368
13396
  return __awaiter(void 0, void 0, void 0, function () {
13397
+ var frame;
13369
13398
  return __generator(this, function (_a) {
13370
13399
  switch (_a.label) {
13371
13400
  case 0:
13372
13401
  if (!(goodFramesThresholdMet && requestedAction == 'SHOW_ID_FRONT')) return [3 /*break*/, 4];
13402
+ if (onIdFrontImageCaptured) {
13403
+ console.log('capturing front frame!');
13404
+ frame = captureFrame();
13405
+ console.log(frame);
13406
+ frame && onIdFrontImageCaptured(frame);
13407
+ }
13373
13408
  if (!skipShowIdCardBack) return [3 /*break*/, 3];
13374
13409
  if (!(skipShowIdCardBack === true)) return [3 /*break*/, 1];
13375
13410
  return [2 /*return*/, onIdBackCaptureComplete()];
@@ -13384,6 +13419,14 @@ var IdVideoCapture = function IdVideoCapture(_a) {
13384
13419
  setRequestedAction('FLIP_ID');
13385
13420
  setTimeout(function () {
13386
13421
  setRequestedAction('SHOW_ID_BACK');
13422
+ setTimeout(function () {
13423
+ if (onIdBackImageCaptured) {
13424
+ console.log('capturing rear frame!');
13425
+ var frame = captureFrame();
13426
+ console.log(frame);
13427
+ frame && onIdBackImageCaptured(frame);
13428
+ }
13429
+ }, showIdCardBackDurationMs - 1000);
13387
13430
  }, 3500);
13388
13431
  _a.label = 4;
13389
13432
  case 4:
@@ -13392,7 +13435,7 @@ var IdVideoCapture = function IdVideoCapture(_a) {
13392
13435
  });
13393
13436
  });
13394
13437
  })();
13395
- }, [goodFramesThresholdMet, onIdBackCaptureComplete, requestedAction, skipShowIdCardBack]);
13438
+ }, [captureFrame, goodFramesThresholdMet, onIdBackCaptureComplete, onIdBackImageCaptured, onIdFrontImageCaptured, requestedAction, showIdCardBackDurationMs, skipShowIdCardBack]);
13396
13439
  useTimeout(showIdCardBackDurationMs, onIdBackCaptureComplete, requestedAction !== 'SHOW_ID_BACK', false, requestedAction === 'SHOW_ID_BACK');
13397
13440
  var onReadTextTimeout = useCallback(function () {
13398
13441
  stopRecording();
@@ -13433,7 +13476,9 @@ var IdVideoCapture = function IdVideoCapture(_a) {
13433
13476
  return /*#__PURE__*/React__default.createElement(PageContainer, {
13434
13477
  ref: ref,
13435
13478
  className: "flex"
13436
- }, /*#__PURE__*/React__default.createElement(CameraVideoTag, null), requestedAction === 'READ_TEXT' ? ( /*#__PURE__*/React__default.createElement("div", {
13479
+ }, /*#__PURE__*/React__default.createElement(CameraVideoTag, null), /*#__PURE__*/React__default.createElement(InvisibleCanvas, {
13480
+ ref: captureCanvas
13481
+ }), requestedAction === 'READ_TEXT' ? ( /*#__PURE__*/React__default.createElement("div", {
13437
13482
  style: {
13438
13483
  position: 'absolute',
13439
13484
  width: '100%',
@@ -13475,9 +13520,9 @@ var IdVideoCapture = function IdVideoCapture(_a) {
13475
13520
  }
13476
13521
  }, timeRemaining), /*#__PURE__*/React__default.createElement(LoaderButton, {
13477
13522
  variant: "positive",
13478
- finished: true,
13479
13523
  onClick: stopRecording,
13480
- colors: colors.readTextDoneBtn
13524
+ colors: colors.readTextDoneBtn,
13525
+ finished: true
13481
13526
  }, verbiage.readTextDoneBtnText)))) : ( /*#__PURE__*/React__default.createElement(React__default.Fragment, null, /*#__PURE__*/React__default.createElement(IdVideoCaptureGuides, {
13482
13527
  assets: assets.guides,
13483
13528
  verbiage: rawVerbiage.guides,
@@ -13582,7 +13627,9 @@ var VideoIdWizard = function VideoIdWizard(_a) {
13582
13627
  var _q = useContext(SubmissionContext),
13583
13628
  submissionStatus = _q.submissionStatus,
13584
13629
  idCaptureVideoUrl = _q.idCaptureVideoUrl,
13585
- setIdCaptureVideoUrl = _q.setIdCaptureVideoUrl;
13630
+ setIdCaptureVideoUrl = _q.setIdCaptureVideoUrl,
13631
+ setIdCaptureVideoIdFrontImage = _q.setIdCaptureVideoIdFrontImage,
13632
+ setIdCaptureVideoIdBackImage = _q.setIdCaptureVideoIdBackImage;
13586
13633
  var _r = useState('CAPTURING_ID'),
13587
13634
  captureState = _r[0],
13588
13635
  setCaptureState = _r[1];
@@ -13684,6 +13731,8 @@ var VideoIdWizard = function VideoIdWizard(_a) {
13684
13731
  return /*#__PURE__*/React__default.createElement(IdVideoCapture, {
13685
13732
  key: "id-video-capture-".concat(attempt),
13686
13733
  onComplete: onVideoCaptureComplete,
13734
+ onIdFrontImageCaptured: setIdCaptureVideoIdFrontImage,
13735
+ onIdBackImageCaptured: setIdCaptureVideoIdBackImage,
13687
13736
  onFaceNotDetected: onVideoCaptureFaceNotDetected,
13688
13737
  idCardFrontDetectionThreshold: idCardFrontDetectionThreshold,
13689
13738
  idCardFrontFocusThreshold: idCardFrontFocusThreshold,