idmission-web-sdk 2.3.81 → 2.3.82

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
@@ -205,7 +205,7 @@ typeof SuppressedError === "function" ? SuppressedError : function (error, suppr
205
205
  return e.name = "SuppressedError", e.error = error, e.suppressed = suppressed, e;
206
206
  };
207
207
 
208
- var webSdkVersion = '2.3.81';
208
+ var webSdkVersion = '2.3.82';
209
209
 
210
210
  function getPlatform() {
211
211
  // eslint-disable-next-line @typescript-eslint/ban-ts-comment
@@ -1145,6 +1145,12 @@ var SubmissionContext = /*#__PURE__*/createContext({
1145
1145
  setIdCaptureVideoUrl: function setIdCaptureVideoUrl() {
1146
1146
  return null;
1147
1147
  },
1148
+ setSignatureStartTimestamp: function setSignatureStartTimestamp() {
1149
+ return null;
1150
+ },
1151
+ setSignatureEndTimestamp: function setSignatureEndTimestamp() {
1152
+ return null;
1153
+ },
1148
1154
  setIdCaptureVideoIdFrontImage: function setIdCaptureVideoIdFrontImage() {
1149
1155
  return null;
1150
1156
  },
@@ -1309,44 +1315,50 @@ var SubmissionProvider = function SubmissionProvider(_a) {
1309
1315
  signatureVideoUrl = _16[0],
1310
1316
  setSignatureVideoUrl = _16[1];
1311
1317
  var _17 = useState(null),
1312
- idCaptureVideoUrl = _17[0],
1313
- setIdCaptureVideoUrl = _17[1];
1318
+ signatureStartTimestamp = _17[0],
1319
+ setSignatureStartTimestamp = _17[1];
1314
1320
  var _18 = useState(null),
1315
- idCaptureVideoIdFrontImage = _18[0],
1316
- setIdCaptureVideoIdFrontImage = _18[1];
1321
+ signatureEndTimestamp = _18[0],
1322
+ setSignatureEndTimestamp = _18[1];
1317
1323
  var _19 = useState(null),
1318
- idCaptureVideoIdBackImage = _19[0],
1319
- setIdCaptureVideoIdBackImage = _19[1];
1324
+ idCaptureVideoUrl = _19[0],
1325
+ setIdCaptureVideoUrl = _19[1];
1320
1326
  var _20 = useState(null),
1321
- idCaptureVideoAudioUrl = _20[0],
1322
- setIdCaptureVideoAudioUrl = _20[1];
1327
+ idCaptureVideoIdFrontImage = _20[0],
1328
+ setIdCaptureVideoIdFrontImage = _20[1];
1323
1329
  var _21 = useState(null),
1324
- idCaptureVideoAudioStartsAt = _21[0],
1325
- setIdCaptureVideoAudioStartsAt = _21[1];
1330
+ idCaptureVideoIdBackImage = _21[0],
1331
+ setIdCaptureVideoIdBackImage = _21[1];
1326
1332
  var _22 = useState(null),
1327
- expectedAudioText = _22[0],
1328
- setExpectedAudioText = _22[1];
1333
+ idCaptureVideoAudioUrl = _22[0],
1334
+ setIdCaptureVideoAudioUrl = _22[1];
1329
1335
  var _23 = useState(null),
1330
- additionalDocuments = _23[0],
1331
- setAdditionalDocuments = _23[1];
1336
+ idCaptureVideoAudioStartsAt = _23[0],
1337
+ setIdCaptureVideoAudioStartsAt = _23[1];
1332
1338
  var _24 = useState(null),
1333
- geolocationResult = _24[0],
1334
- setGeolocationResult = _24[1];
1335
- var _25 = useState(0),
1336
- geolocationAttempts = _25[0],
1337
- setGeolocationAttempts = _25[1];
1338
- var _26 = useState(false),
1339
- geolocationBlocked = _26[0],
1340
- setGeolocationBlocked = _26[1];
1341
- var _27 = useState([]),
1342
- idFrontCaptureAttempts = _27[0],
1343
- setIdFrontCaptureAttempts = _27[1];
1344
- var _28 = useState([]),
1345
- idBackCaptureAttempts = _28[0],
1346
- setIdBackCaptureAttempts = _28[1];
1339
+ expectedAudioText = _24[0],
1340
+ setExpectedAudioText = _24[1];
1341
+ var _25 = useState(null),
1342
+ additionalDocuments = _25[0],
1343
+ setAdditionalDocuments = _25[1];
1344
+ var _26 = useState(null),
1345
+ geolocationResult = _26[0],
1346
+ setGeolocationResult = _26[1];
1347
+ var _27 = useState(0),
1348
+ geolocationAttempts = _27[0],
1349
+ setGeolocationAttempts = _27[1];
1350
+ var _28 = useState(false),
1351
+ geolocationBlocked = _28[0],
1352
+ setGeolocationBlocked = _28[1];
1347
1353
  var _29 = useState([]),
1348
- selfieCaptureAttempts = _29[0],
1349
- setSelfieCaptureAttempts = _29[1];
1354
+ idFrontCaptureAttempts = _29[0],
1355
+ setIdFrontCaptureAttempts = _29[1];
1356
+ var _30 = useState([]),
1357
+ idBackCaptureAttempts = _30[0],
1358
+ setIdBackCaptureAttempts = _30[1];
1359
+ var _31 = useState([]),
1360
+ selfieCaptureAttempts = _31[0],
1361
+ setSelfieCaptureAttempts = _31[1];
1350
1362
  var logIdFrontCaptureAttempt = useCallback(function (attempt) {
1351
1363
  setIdFrontCaptureAttempts(function (attempts) {
1352
1364
  return __spreadArray(__spreadArray([], attempts, true), [attempt], false);
@@ -1623,6 +1635,12 @@ var SubmissionProvider = function SubmissionProvider(_a) {
1623
1635
  submissionRequest.customerData.signatureData.signatureVideo = documents.signatureVideo;
1624
1636
  }
1625
1637
  }
1638
+ if (signatureStartTimestamp) {
1639
+ submissionRequest.customerData.signatureStartTimestamp = signatureStartTimestamp;
1640
+ }
1641
+ if (signatureEndTimestamp) {
1642
+ submissionRequest.customerData.signatureEndTimestamp = signatureEndTimestamp;
1643
+ }
1626
1644
  if (additionalDocuments) {
1627
1645
  submissionRequest.customerData.additionalDocuments = additionalDocuments.map(function (d) {
1628
1646
  return _assign(_assign({}, d), {
@@ -1665,7 +1683,7 @@ var SubmissionProvider = function SubmissionProvider(_a) {
1665
1683
  }
1666
1684
  });
1667
1685
  });
1668
- }, [additionalDocuments, bypassAgeValidation, bypassNameMatching, cardData, clientRequestID, companyId, customerDataMatchConfig, deduplicationEnabled, deduplicationSynchronous, documentServiceUrl, enrollmentId, expectedAudioText, geolocationResult, idBackCaptureAttempts, idBackImage, idBackImageRequired, idBackIrImage, idBackUvImage, idCaptureVideoAudioStartsAt, idCaptureVideoAudioUrl, idCaptureVideoIdBackImage, idCaptureVideoIdFrontImage, idCaptureVideoUrl, idCardForFaceMatch, idData, idFrontCaptureAttempts, idFrontImage, idFrontIrImage, idFrontUvImage, idImageResolutionCheck, jobId, manualReviewRequired, needImmediateResponse, passportImage, personalData, selfieCaptureAttempts, selfieImage, signatureData, signatureVideoUrl, uploadDocument, verifyIdWithExternalDatabases, webhooksClientTraceId, webhooksEnabled, webhooksFireOnReview, webhooksFireOnReviewURL, webhooksSendInputImages, webhooksSendProcessedImages, webhooksStripSpecialCharacters, webhooksURL]);
1686
+ }, [additionalDocuments, bypassAgeValidation, bypassNameMatching, cardData, clientRequestID, companyId, customerDataMatchConfig, deduplicationEnabled, deduplicationSynchronous, documentServiceUrl, enrollmentId, expectedAudioText, geolocationResult, idBackCaptureAttempts, idBackImage, idBackImageRequired, idBackIrImage, idBackUvImage, idCaptureVideoAudioStartsAt, idCaptureVideoAudioUrl, idCaptureVideoIdBackImage, idCaptureVideoIdFrontImage, idCaptureVideoUrl, idCardForFaceMatch, idData, idFrontCaptureAttempts, idFrontImage, idFrontIrImage, idFrontUvImage, idImageResolutionCheck, jobId, manualReviewRequired, needImmediateResponse, passportImage, personalData, selfieCaptureAttempts, selfieImage, signatureData, signatureEndTimestamp, signatureStartTimestamp, signatureVideoUrl, uploadDocument, verifyIdWithExternalDatabases, webhooksClientTraceId, webhooksEnabled, webhooksFireOnReview, webhooksFireOnReviewURL, webhooksSendInputImages, webhooksSendProcessedImages, webhooksStripSpecialCharacters, webhooksURL]);
1669
1687
  var defaultOnSubmit = useCallback(function () {
1670
1688
  return __awaiter(void 0, void 0, void 0, function () {
1671
1689
  var submissionResponse_1, payload, host, endpoint, response, statusMessage, submissionResponse_2, e_1, err;
@@ -1962,6 +1980,8 @@ var SubmissionProvider = function SubmissionProvider(_a) {
1962
1980
  setSelfieImage: setSelfieImage,
1963
1981
  setSignatureData: setSignatureData,
1964
1982
  setSignatureVideoUrl: setSignatureVideoUrl,
1983
+ setSignatureStartTimestamp: setSignatureStartTimestamp,
1984
+ setSignatureEndTimestamp: setSignatureEndTimestamp,
1965
1985
  setIdCaptureVideoUrl: setIdCaptureVideoUrl,
1966
1986
  setIdCaptureVideoIdFrontImage: setIdCaptureVideoIdFrontImage,
1967
1987
  setIdCaptureVideoIdBackImage: setIdCaptureVideoIdBackImage,
@@ -13838,7 +13858,6 @@ var videoSignatureInitialState = {
13838
13858
  clearRecordedData: function clearRecordedData() {
13839
13859
  return null;
13840
13860
  },
13841
- isRecording: false,
13842
13861
  signaturePad: {
13843
13862
  current: null
13844
13863
  },
@@ -13861,7 +13880,7 @@ var useVideoSignatureStore = create()(devtools(function (set, get) {
13861
13880
  if (!camera) throw new Error('Camera not found');
13862
13881
  // set our flag and clear whatever we have recorded so far.
13863
13882
  set({
13864
- isRecording: true
13883
+ recordingStartedAt: performance.now()
13865
13884
  });
13866
13885
  signatureChunks = [];
13867
13886
  // start recording video and audio
@@ -13875,27 +13894,51 @@ var useVideoSignatureStore = create()(devtools(function (set, get) {
13875
13894
  videoBitsPerSecond: 270000,
13876
13895
  audioBitsPerSecond: 32000
13877
13896
  });
13897
+ var hasFirstChunk = false;
13878
13898
  signatureRecorder.ondataavailable = function (event) {
13879
13899
  signatureChunks.push(event.data);
13900
+ if (!hasFirstChunk) {
13901
+ hasFirstChunk = true;
13902
+ set({
13903
+ firstChunkReceivedAt: performance.now(),
13904
+ lastChunkReceivedAt: performance.now()
13905
+ });
13906
+ } else {
13907
+ set({
13908
+ lastChunkReceivedAt: performance.now()
13909
+ });
13910
+ }
13880
13911
  };
13881
13912
  signatureRecorder.start(100);
13882
13913
  },
13883
13914
  stopRecording: function stopRecording(signatureData, imageUrl) {
13884
13915
  set({
13885
- isRecording: false
13916
+ firstChunkReceivedAt: undefined,
13917
+ recordingStoppedAt: performance.now()
13918
+ });
13919
+ waitForOneMoreChunk().then(function () {
13920
+ if (!signatureRecorder) return;
13921
+ signatureRecorder.stop();
13922
+ signatureRecorder.onstop = function () {
13923
+ var blob = new Blob(signatureChunks, {
13924
+ type: 'video/mp4'
13925
+ });
13926
+ signatureChunks = [];
13927
+ signatureRecorder = null;
13928
+ if (!signatureData) return;
13929
+ var _a = get(),
13930
+ onSignatureVideoCaptured = _a.onSignatureVideoCaptured,
13931
+ recordingStartedAt = _a.recordingStartedAt,
13932
+ signatureStartedAt = _a.signatureStartedAt,
13933
+ signatureEndedAt = _a.signatureEndedAt,
13934
+ lastChunkReceivedAt = _a.lastChunkReceivedAt;
13935
+ var endMs = Math.min(signatureEndedAt !== null && signatureEndedAt !== void 0 ? signatureEndedAt : Infinity, lastChunkReceivedAt !== null && lastChunkReceivedAt !== void 0 ? lastChunkReceivedAt : Infinity);
13936
+ var signatureStartTimestamp = signatureStartedAt && recordingStartedAt ? formatTimestamp(Math.max(0, signatureStartedAt - recordingStartedAt - 500)) : undefined;
13937
+ var signatureEndTimestamp = endMs !== Infinity && recordingStartedAt ? formatTimestamp(Math.min(endMs - recordingStartedAt + 500, lastChunkReceivedAt !== null && lastChunkReceivedAt !== void 0 ? lastChunkReceivedAt : Infinity)) : undefined;
13938
+ onSignatureVideoCaptured(blob, signatureData, imageUrl !== null && imageUrl !== void 0 ? imageUrl : null, signatureStartTimestamp, signatureEndTimestamp);
13939
+ };
13940
+ useVideoRecorderStore.getState().stopRecording();
13886
13941
  });
13887
- if (!signatureRecorder) return;
13888
- signatureRecorder.stop();
13889
- signatureRecorder.onstop = function () {
13890
- var blob = new Blob(signatureChunks, {
13891
- type: 'video/mp4'
13892
- });
13893
- signatureChunks = [];
13894
- signatureRecorder = null;
13895
- if (!signatureData) return;
13896
- get().onSignatureVideoCaptured(blob, signatureData, imageUrl !== null && imageUrl !== void 0 ? imageUrl : null);
13897
- };
13898
- useVideoRecorderStore.getState().stopRecording();
13899
13942
  },
13900
13943
  clearRecordedData: function clearRecordedData() {
13901
13944
  signatureChunks = [];
@@ -13904,13 +13947,42 @@ var useVideoSignatureStore = create()(devtools(function (set, get) {
13904
13947
  signatureRecorder === null || signatureRecorder === void 0 ? void 0 : signatureRecorder.stop();
13905
13948
  signatureRecorder = null;
13906
13949
  set({
13907
- isRecording: false,
13950
+ recordingStartedAt: undefined,
13951
+ recordingStoppedAt: undefined,
13952
+ firstChunkReceivedAt: undefined,
13953
+ lastChunkReceivedAt: undefined,
13908
13954
  signaturePadEmpty: true,
13909
- signatureValid: false
13955
+ signatureValid: false,
13956
+ signatureStartedAt: undefined,
13957
+ signatureEndedAt: undefined
13910
13958
  });
13911
13959
  }
13912
13960
  });
13913
13961
  }));
13962
+ function waitForOneMoreChunk(timeoutMs) {
13963
+ if (timeoutMs === void 0) {
13964
+ timeoutMs = 3000;
13965
+ }
13966
+ var start = performance.now();
13967
+ return new Promise(function (resolve) {
13968
+ var initialLastChunkReceivedAt = useVideoSignatureStore.getState().lastChunkReceivedAt;
13969
+ if (!initialLastChunkReceivedAt) return resolve();
13970
+ function gotAChunk() {
13971
+ var lastChunkReceivedAt = useVideoSignatureStore.getState().lastChunkReceivedAt;
13972
+ return performance.now() - start > timeoutMs || !lastChunkReceivedAt || !initialLastChunkReceivedAt || lastChunkReceivedAt > initialLastChunkReceivedAt;
13973
+ }
13974
+ setTimeout(function () {
13975
+ if (gotAChunk()) return resolve(); // check immediately
13976
+ // otherwise, check every 100ms
13977
+ var interval = setInterval(function () {
13978
+ if (gotAChunk()) {
13979
+ clearInterval(interval);
13980
+ resolve();
13981
+ }
13982
+ }, 100);
13983
+ }, 0);
13984
+ });
13985
+ }
13914
13986
  function VideoSignatureContextProvider(_a) {
13915
13987
  var _this = this;
13916
13988
  var _b, _c;
@@ -13929,7 +14001,14 @@ function VideoSignatureContextProvider(_a) {
13929
14001
  // clear recorded data when the component is mounted
13930
14002
  useVideoSignatureStore.getState().clearRecordedData();
13931
14003
  }, []);
13932
- var isRecording = useVideoSignatureStore().isRecording;
14004
+ var _e = useVideoSignatureStore(useShallow(function (state) {
14005
+ return {
14006
+ recordingStartedAt: state.recordingStartedAt,
14007
+ recordingStoppedAt: state.recordingStoppedAt
14008
+ };
14009
+ })),
14010
+ recordingStartedAt = _e.recordingStartedAt,
14011
+ recordingStoppedAt = _e.recordingStoppedAt;
13933
14012
  useFrameLoop(useCallback(function () {
13934
14013
  return __awaiter(_this, void 0, void 0, function () {
13935
14014
  var signaturePad, ctx, _a, w, h, isPortrait, rect;
@@ -13956,7 +14035,7 @@ function VideoSignatureContextProvider(_a) {
13956
14035
  });
13957
14036
  });
13958
14037
  }, [videoRef]), {
13959
- autoStart: isRecording,
14038
+ autoStart: !!recordingStartedAt && !recordingStoppedAt,
13960
14039
  throttleMs: 1000 / 24
13961
14040
  });
13962
14041
  return /*#__PURE__*/React__default.createElement(React__default.Fragment, null, children, /*#__PURE__*/React__default.createElement(InvisibleCanvas, {
@@ -13965,6 +14044,17 @@ function VideoSignatureContextProvider(_a) {
13965
14044
  height: (_c = videoRef.current) === null || _c === void 0 ? void 0 : _c.videoHeight
13966
14045
  }));
13967
14046
  }
14047
+ function formatTimestamp(durationMs) {
14048
+ // should be in the format of 00:00:00:00 (hh:mm:ss:cs)
14049
+ var hours = Math.floor(durationMs / 3600000);
14050
+ var minutes = Math.floor(durationMs % 3600000 / 60000);
14051
+ var seconds = Math.floor(durationMs % 60000 / 1000);
14052
+ var milliseconds = durationMs % 1000;
14053
+ // Convert milliseconds to centiseconds (1/100th of a second)
14054
+ var centiseconds = Math.floor(milliseconds / 10);
14055
+ var csString = centiseconds.toString().padStart(2, '0');
14056
+ return "".concat(hours.toString().padStart(2, '0'), ":") + "".concat(minutes.toString().padStart(2, '0'), ":") + "".concat(seconds.toString().padStart(2, '0'), ":") + "".concat(csString);
14057
+ }
13968
14058
 
13969
14059
  function VideoSignaturePad(_a) {
13970
14060
  var onAcceptBtnClicked = _a.onAcceptBtnClicked,
@@ -14026,8 +14116,11 @@ function VideoSignaturePad(_a) {
14026
14116
  ref: signaturePad,
14027
14117
  canvasProps: canvasProps,
14028
14118
  onBegin: function onBegin() {
14029
- return useVideoSignatureStore.setState({
14030
- signaturePadEmpty: false
14119
+ return useVideoSignatureStore.setState(function (s) {
14120
+ return {
14121
+ signaturePadEmpty: false,
14122
+ signatureStartedAt: s.signatureStartedAt || performance.now()
14123
+ };
14031
14124
  });
14032
14125
  },
14033
14126
  onEnd: function onEnd() {
@@ -14037,7 +14130,8 @@ function VideoSignaturePad(_a) {
14037
14130
  return point;
14038
14131
  });
14039
14132
  useVideoSignatureStore.setState({
14040
- signatureValid: points.length >= minSignaturePadPoints
14133
+ signatureValid: points.length >= minSignaturePadPoints,
14134
+ signatureEndedAt: performance.now()
14041
14135
  });
14042
14136
  }
14043
14137
  }), !headTrackingSatisfied && !!verbiage.headTrackingUnsatisfiedText ? ( /*#__PURE__*/React__default.createElement(SignaturePadContentContainer, {
@@ -14104,6 +14198,12 @@ function VideoSignatureGuides(_a) {
14104
14198
  useEffect(function () {
14105
14199
  if (guideToDisplay) setMode(guideToDisplay);
14106
14200
  }, [guideToDisplay]);
14201
+ var firstChunkReceivedAt = useVideoSignatureStore(useShallow(function (state) {
14202
+ return {
14203
+ firstChunkReceivedAt: state.firstChunkReceivedAt
14204
+ };
14205
+ })).firstChunkReceivedAt;
14206
+ var signaturePadDisabled = requestedAction !== 'CAPTURE_SIGNATURE' || !firstChunkReceivedAt;
14107
14207
  return /*#__PURE__*/React__default.createElement(Container$3, {
14108
14208
  className: classNames.container
14109
14209
  }, /*#__PURE__*/React__default.createElement(Inner$1, {
@@ -14127,7 +14227,7 @@ function VideoSignatureGuides(_a) {
14127
14227
  }, /*#__PURE__*/React__default.createElement(VideoSignaturePad, {
14128
14228
  onAcceptBtnClicked: onAcceptBtnClicked,
14129
14229
  onClearBtnClicked: onClearBtnClicked,
14130
- disabled: requestedAction !== 'CAPTURE_SIGNATURE',
14230
+ disabled: signaturePadDisabled,
14131
14231
  headTrackingSatisfied: headTrackingSatisfied,
14132
14232
  minSignaturePadPoints: minSignaturePadPoints,
14133
14233
  classNames: classNames,
@@ -14184,9 +14284,14 @@ var VideoSignatureCapture = function VideoSignatureCapture(_a) {
14184
14284
  onHeadTrackingPredictionMade = _o.onPredictionMade,
14185
14285
  startHeadTracking = _o.start,
14186
14286
  stopHeadTracking = _o.stop;
14187
- var _p = useVideoSignatureStore(),
14287
+ var _p = useVideoSignatureStore(useShallow(function (state) {
14288
+ return {
14289
+ clearRecordedData: state.clearRecordedData,
14290
+ firstChunkReceivedAt: state.firstChunkReceivedAt
14291
+ };
14292
+ })),
14188
14293
  clearRecordedData = _p.clearRecordedData,
14189
- isRecording = _p.isRecording;
14294
+ firstChunkReceivedAt = _p.firstChunkReceivedAt;
14190
14295
  useEffect(function () {
14191
14296
  useVideoSignatureStore.setState({
14192
14297
  onSignatureVideoCaptured: onSignatureVideoCaptured
@@ -14270,7 +14375,7 @@ var VideoSignatureCapture = function VideoSignatureCapture(_a) {
14270
14375
  face: lastFace,
14271
14376
  scaling: debugScalingDetails,
14272
14377
  color: headTrackingSatisfied ? 'green' : 'red'
14273
- }))), /*#__PURE__*/React__default.createElement(DebugStatsPane, null, "Video: ", videoWidth, "x", videoHeight, /*#__PURE__*/React__default.createElement("br", null), "Recording: ", isRecording ? 'true' : 'false'))), /*#__PURE__*/React__default.createElement(ExitCaptureButton, {
14378
+ }))), /*#__PURE__*/React__default.createElement(DebugStatsPane, null, "Video: ", videoWidth, "x", videoHeight, /*#__PURE__*/React__default.createElement("br", null), "Recording: ", firstChunkReceivedAt ? 'true' : 'false'))), /*#__PURE__*/React__default.createElement(ExitCaptureButton, {
14274
14379
  onClick: onExit,
14275
14380
  className: classNames.exitCaptureBtn
14276
14381
  }));
@@ -14601,6 +14706,8 @@ var VideoSignatureWizard = function VideoSignatureWizard(_a) {
14601
14706
  setSelfieImage = _u.setSelfieImage,
14602
14707
  setSignatureData = _u.setSignatureData,
14603
14708
  setSignatureVideoUrl = _u.setSignatureVideoUrl,
14709
+ setSignatureStartTimestamp = _u.setSignatureStartTimestamp,
14710
+ setSignatureEndTimestamp = _u.setSignatureEndTimestamp,
14604
14711
  logSelfieCaptureAttempt = _u.logSelfieCaptureAttempt,
14605
14712
  uploadDocument = _u.uploadDocument;
14606
14713
  var cameraAccessDenied = useCameraStore(useShallow(function (state) {
@@ -14660,12 +14767,14 @@ var VideoSignatureWizard = function VideoSignatureWizard(_a) {
14660
14767
  filetype: 'image/jpeg'
14661
14768
  }).then(onSelfieCaptured);
14662
14769
  }, [logCaptureMetadata, onSelfieCaptured, setSelfieImage, uploadDocument]);
14663
- var onSignatureCaptureCompleted = useCallback(function (videoData, signatureData, signatureImageData) {
14770
+ var onSignatureCaptureCompleted = useCallback(function (videoData, signatureData, signatureImageData, signatureStartTimestamp, signatureEndTimestamp) {
14664
14771
  setSignatureData(signatureData);
14665
14772
  setSignatureVideoUrl(URL.createObjectURL(videoData));
14773
+ if (signatureStartTimestamp) setSignatureStartTimestamp(signatureStartTimestamp);
14774
+ if (signatureEndTimestamp) setSignatureEndTimestamp(signatureEndTimestamp);
14666
14775
  setCaptureState('SUCCESS');
14667
- onVideoCaptured === null || onVideoCaptured === void 0 ? void 0 : onVideoCaptured(videoData, signatureData, signatureImageData);
14668
- }, [onVideoCaptured, setSignatureData, setSignatureVideoUrl]);
14776
+ onVideoCaptured === null || onVideoCaptured === void 0 ? void 0 : onVideoCaptured(videoData, signatureData, signatureImageData, signatureStartTimestamp, signatureEndTimestamp);
14777
+ }, [onVideoCaptured, setSignatureData, setSignatureEndTimestamp, setSignatureStartTimestamp, setSignatureVideoUrl]);
14669
14778
  var _x = useState(true),
14670
14779
  showLoadingOverlay = _x[0],
14671
14780
  setShowLoadingOverlay = _x[1];