idmission-web-sdk 2.3.208 → 2.3.209

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.
Files changed (26) hide show
  1. package/dist/components/customer_identification/CustomerIdentificationCapture.d.ts.map +1 -1
  2. package/dist/components/customer_verification/CustomerVerificationCapture.d.ts.map +1 -1
  3. package/dist/components/face_liveness/FaceLivenessWizard.d.ts.map +1 -1
  4. package/dist/components/id_capture/CapturedDocuments.d.ts +1 -0
  5. package/dist/components/id_capture/CapturedDocuments.d.ts.map +1 -1
  6. package/dist/components/id_capture/IdCaptureStateProvider.d.ts.map +1 -1
  7. package/dist/components/id_capture/IdCaptureWizard.d.ts.map +1 -1
  8. package/dist/components/selfie_capture/SelfieCaptureWizard.d.ts.map +1 -1
  9. package/dist/components/submission/SubmissionProvider.d.ts +11 -11
  10. package/dist/components/submission/SubmissionProvider.d.ts.map +1 -1
  11. package/dist/components/video_id/IdVideoCapture.d.ts +2 -2
  12. package/dist/components/video_id/IdVideoCapture.d.ts.map +1 -1
  13. package/dist/components/video_id/IdVideoCaptureWizard.d.ts.map +1 -1
  14. package/dist/components/video_signature_capture/VideoSignatureWizard.d.ts.map +1 -1
  15. package/dist/sdk2.cjs.development.js +83 -69
  16. package/dist/sdk2.cjs.development.js.map +1 -1
  17. package/dist/sdk2.cjs.production.js +1 -1
  18. package/dist/sdk2.cjs.production.js.map +1 -1
  19. package/dist/sdk2.esm.js +83 -69
  20. package/dist/sdk2.esm.js.map +1 -1
  21. package/dist/sdk2.umd.development.js +83 -69
  22. package/dist/sdk2.umd.development.js.map +1 -1
  23. package/dist/sdk2.umd.production.js +1 -1
  24. package/dist/sdk2.umd.production.js.map +1 -1
  25. package/dist/version.d.ts +1 -1
  26. package/package.json +1 -1
@@ -235,7 +235,7 @@ typeof SuppressedError === "function" ? SuppressedError : function (error, suppr
235
235
  return e.name = "SuppressedError", e.error = error, e.suppressed = suppressed, e;
236
236
  };
237
237
 
238
- var webSdkVersion = '2.3.208';
238
+ var webSdkVersion = '2.3.209';
239
239
 
240
240
  function getPlatform() {
241
241
  // eslint-disable-next-line @typescript-eslint/ban-ts-comment
@@ -2151,7 +2151,7 @@ var SubmissionProvider = function SubmissionProvider(_a) {
2151
2151
  useRevokeObjectUrlOnUnmount(idCaptureVideoAudioUrl);
2152
2152
  React.useEffect(function () {
2153
2153
  if (precapturedDocuments === null || precapturedDocuments === void 0 ? void 0 : precapturedDocuments.selfie) {
2154
- setSelfieImage(dataUrlToBase64Sync(precapturedDocuments.selfie.imageData));
2154
+ setSelfieImage(dataUrlToBase64Sync(precapturedDocuments.selfie.imageData), new Date().toISOString());
2155
2155
  }
2156
2156
  }, [precapturedDocuments === null || precapturedDocuments === void 0 ? void 0 : precapturedDocuments.selfie, setSelfieImage]);
2157
2157
  var onSubmit = React.useRef(undefined);
@@ -3127,9 +3127,9 @@ function useStateWithCapturedAt() {
3127
3127
  var _b = React.useState(null),
3128
3128
  capturedAt = _b[0],
3129
3129
  setCapturedAt = _b[1];
3130
- var setWithStamp = React.useCallback(function (next) {
3130
+ var setWithStamp = React.useCallback(function (next, nextCapturedAt) {
3131
3131
  setValue(next);
3132
- setCapturedAt(new Date().toISOString());
3132
+ setCapturedAt(nextCapturedAt);
3133
3133
  }, []);
3134
3134
  return [value, setWithStamp, capturedAt];
3135
3135
  }
@@ -8274,22 +8274,22 @@ var initialState$5 = {
8274
8274
  };
8275
8275
  var _reducer = function reducer(state, action) {
8276
8276
  var _a;
8277
- var _b, _c, _d, _e;
8277
+ var _b, _c, _d, _e, _f;
8278
8278
  switch (action.type) {
8279
8279
  case 'configureWizard':
8280
8280
  {
8281
- var _f = action.payload,
8282
- captureRequirement = _f.captureRequirement,
8283
- precapturedDocuments = _f.precapturedDocuments,
8284
- allowSinglePageIdCapture = _f.allowSinglePageIdCapture,
8285
- allowIdCardBackToFrontCapture = _f.allowIdCardBackToFrontCapture,
8286
- enableOverrideWrongDocumentTypeDialog = _f.enableOverrideWrongDocumentTypeDialog,
8287
- allowOverrideWrongDocumentTypeAfterMs = _f.allowOverrideWrongDocumentTypeAfterMs,
8288
- allowUploadingDocumentsFromStorage = _f.allowUploadingDocumentsFromStorage,
8289
- enableBarcodeRecapture = _f.enableBarcodeRecapture,
8290
- barcodeRecaptureThreshold = _f.barcodeRecaptureThreshold,
8291
- barcodeRecaptureTimeoutMs = _f.barcodeRecaptureTimeoutMs,
8292
- aggressiveModeEnabled = _f.aggressiveModeEnabled;
8281
+ var _g = action.payload,
8282
+ captureRequirement = _g.captureRequirement,
8283
+ precapturedDocuments = _g.precapturedDocuments,
8284
+ allowSinglePageIdCapture = _g.allowSinglePageIdCapture,
8285
+ allowIdCardBackToFrontCapture = _g.allowIdCardBackToFrontCapture,
8286
+ enableOverrideWrongDocumentTypeDialog = _g.enableOverrideWrongDocumentTypeDialog,
8287
+ allowOverrideWrongDocumentTypeAfterMs = _g.allowOverrideWrongDocumentTypeAfterMs,
8288
+ allowUploadingDocumentsFromStorage = _g.allowUploadingDocumentsFromStorage,
8289
+ enableBarcodeRecapture = _g.enableBarcodeRecapture,
8290
+ barcodeRecaptureThreshold = _g.barcodeRecaptureThreshold,
8291
+ barcodeRecaptureTimeoutMs = _g.barcodeRecaptureTimeoutMs,
8292
+ aggressiveModeEnabled = _g.aggressiveModeEnabled;
8293
8293
  var newState = _assign(_assign({}, state), {
8294
8294
  captureRequirement: captureRequirement,
8295
8295
  allowSinglePageIdCapture: allowSinglePageIdCapture !== null && allowSinglePageIdCapture !== void 0 ? allowSinglePageIdCapture : false,
@@ -8357,28 +8357,28 @@ var _reducer = function reducer(state, action) {
8357
8357
  });
8358
8358
  case 'objectsDetected':
8359
8359
  {
8360
- var _g = action.payload.prediction,
8361
- detectedObjects = _g.detectedObjects,
8362
- detectionThresholdMet = _g.detectionThresholdMet,
8363
- detectedDocumentType = _g.detectedDocumentType,
8364
- idCardFrontDetectionScore = _g.idCardFrontDetectionScore,
8365
- idCardFrontDetectionThresholdMet = _g.idCardFrontDetectionThresholdMet,
8366
- idCardBackDetectionScore = _g.idCardBackDetectionScore,
8367
- idCardBackDetectionThresholdMet = _g.idCardBackDetectionThresholdMet,
8368
- passportDetectionScore = _g.passportDetectionScore,
8369
- passportDetectionThresholdMet = _g.passportDetectionThresholdMet,
8370
- singlePageDetectionScore = _g.singlePageDetectionScore,
8371
- singlePageDetectionThresholdMet = _g.singlePageDetectionThresholdMet,
8372
- bestDocument = _g.bestDocument,
8373
- documentInBounds = _g.documentInBounds,
8374
- documentTooClose = _g.documentTooClose,
8375
- documentIsStable = _g.documentIsStable,
8376
- focusScore = _g.focusScore,
8377
- focusThresholdMet = _g.focusThresholdMet,
8378
- pdf417PredictionScore = _g.pdf417PredictionScore,
8379
- pdf417PredictionThresholdMet = _g.pdf417PredictionThresholdMet,
8380
- frameWidth = _g.frameWidth,
8381
- frameHeight = _g.frameHeight;
8360
+ var _h = action.payload.prediction,
8361
+ detectedObjects = _h.detectedObjects,
8362
+ detectionThresholdMet = _h.detectionThresholdMet,
8363
+ detectedDocumentType = _h.detectedDocumentType,
8364
+ idCardFrontDetectionScore = _h.idCardFrontDetectionScore,
8365
+ idCardFrontDetectionThresholdMet = _h.idCardFrontDetectionThresholdMet,
8366
+ idCardBackDetectionScore = _h.idCardBackDetectionScore,
8367
+ idCardBackDetectionThresholdMet = _h.idCardBackDetectionThresholdMet,
8368
+ passportDetectionScore = _h.passportDetectionScore,
8369
+ passportDetectionThresholdMet = _h.passportDetectionThresholdMet,
8370
+ singlePageDetectionScore = _h.singlePageDetectionScore,
8371
+ singlePageDetectionThresholdMet = _h.singlePageDetectionThresholdMet,
8372
+ bestDocument = _h.bestDocument,
8373
+ documentInBounds = _h.documentInBounds,
8374
+ documentTooClose = _h.documentTooClose,
8375
+ documentIsStable = _h.documentIsStable,
8376
+ focusScore = _h.focusScore,
8377
+ focusThresholdMet = _h.focusThresholdMet,
8378
+ pdf417PredictionScore = _h.pdf417PredictionScore,
8379
+ pdf417PredictionThresholdMet = _h.pdf417PredictionThresholdMet,
8380
+ frameWidth = _h.frameWidth,
8381
+ frameHeight = _h.frameHeight;
8382
8382
  var frameCapturedAt = new Date();
8383
8383
  var frameCaptureRate = state.frameCaptureRate;
8384
8384
  var goodFramesThreshold = state.goodFramesThreshold;
@@ -8539,6 +8539,9 @@ var _reducer = function reducer(state, action) {
8539
8539
  });
8540
8540
  case 'documentCaptured':
8541
8541
  {
8542
+ var stampedPayload = _assign(_assign({}, action.payload), {
8543
+ capturedAt: (_b = action.payload.capturedAt) !== null && _b !== void 0 ? _b : new Date().toISOString()
8544
+ });
8542
8545
  var newState = _assign(_assign({}, state), {
8543
8546
  capturing: false,
8544
8547
  captureFailed: false,
@@ -8548,13 +8551,13 @@ var _reducer = function reducer(state, action) {
8548
8551
  totalFramesSinceCaptureStart: 0,
8549
8552
  consecutiveBadFrames: 0,
8550
8553
  wrongDocumentTypePredictions: 0,
8551
- capturedDocuments: _assign(_assign({}, state.capturedDocuments), (_a = {}, _a[action.payload.documentType] = action.payload, _a))
8554
+ capturedDocuments: _assign(_assign({}, state.capturedDocuments), (_a = {}, _a[stampedPayload.documentType] = stampedPayload, _a))
8552
8555
  });
8553
8556
  var remainingRequirements = remainingIdCaptureRequirements(state.captureRequirement, newState.capturedDocuments, state.requestedDocumentType);
8554
8557
  if (remainingRequirements.length === 0) {
8555
8558
  // Check if we just captured ID back and need barcode recapture
8556
8559
  var justCapturedIdBack = action.payload.documentType === 'idCardBack';
8557
- var barcodeScore = (_c = (_b = state.capturedDocuments.idBarcodeImage) === null || _b === void 0 ? void 0 : _b.barcodeReadabilityScore) !== null && _c !== void 0 ? _c : 0;
8560
+ var barcodeScore = (_d = (_c = state.capturedDocuments.idBarcodeImage) === null || _c === void 0 ? void 0 : _c.barcodeReadabilityScore) !== null && _d !== void 0 ? _d : 0;
8558
8561
  // Skip recapture if aggressive mode has already successfully decoded the barcode
8559
8562
  var aggressiveDecodeSucceeded = state.aggressiveModeDecodeComplete;
8560
8563
  // When aggressive mode is enabled but hasn't succeeded, always request recapture
@@ -8565,7 +8568,7 @@ var _reducer = function reducer(state, action) {
8565
8568
  newState.captureState = 'requestingBetterBarcode';
8566
8569
  newState.barcodeRecaptureStartedAt = new Date();
8567
8570
  newState.initialBarcodeScore = barcodeScore;
8568
- newState.initialCaptureBarcodeImage = (_e = (_d = state.capturedDocuments.idBarcodeImage) === null || _d === void 0 ? void 0 : _d.imageData) !== null && _e !== void 0 ? _e : null;
8571
+ newState.initialCaptureBarcodeImage = (_f = (_e = state.capturedDocuments.idBarcodeImage) === null || _e === void 0 ? void 0 : _e.imageData) !== null && _f !== void 0 ? _f : null;
8569
8572
  newState.recaptureBarcodeScore = null;
8570
8573
  newState.recaptureBarcodeImage = null;
8571
8574
  } else {
@@ -8597,8 +8600,8 @@ var _reducer = function reducer(state, action) {
8597
8600
  case 'documentsCaptured':
8598
8601
  {
8599
8602
  var newState = _assign({}, state);
8600
- for (var _h = 0, _j = action.payload; _h < _j.length; _h++) {
8601
- var doc = _j[_h];
8603
+ for (var _j = 0, _k = action.payload; _j < _k.length; _j++) {
8604
+ var doc = _k[_j];
8602
8605
  newState = _reducer(newState, {
8603
8606
  type: 'documentCaptured',
8604
8607
  payload: doc
@@ -14866,7 +14869,7 @@ var IdCaptureWizard = function IdCaptureWizard(_a) {
14866
14869
  });
14867
14870
  }, [logCaptureMetadata, onDocumentCaptured]);
14868
14871
  var onSubmitClick = React.useCallback(function () {
14869
- var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
14872
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v;
14870
14873
  var docs = state.capturedDocuments;
14871
14874
  var submission = {
14872
14875
  idFrontImage: maybeDataUrlToBase64Sync((_a = docs.idCardFront) === null || _a === void 0 ? void 0 : _a.imageData),
@@ -14879,17 +14882,18 @@ var IdCaptureWizard = function IdCaptureWizard(_a) {
14879
14882
  idBackUvImage: maybeDataUrlToBase64Sync((_h = docs.idBackUvImage) === null || _h === void 0 ? void 0 : _h.imageData),
14880
14883
  idBarcodeImage: maybeDataUrlToBase64Sync((_j = docs.idBarcodeImage) === null || _j === void 0 ? void 0 : _j.imageData)
14881
14884
  };
14882
- if (submission.idFrontImage) setIdFrontImage(submission.idFrontImage);
14883
- if (submission.idBackImage) setIdBackImage(submission.idBackImage);
14884
- if (submission.passportImage) setPassportImage(submission.passportImage);
14885
- if (submission.singlePageImage) setIdFrontImage(submission.singlePageImage);
14885
+ var fallbackCapturedAt = new Date().toISOString();
14886
+ if (submission.idFrontImage) setIdFrontImage(submission.idFrontImage, (_l = (_k = docs.idCardFront) === null || _k === void 0 ? void 0 : _k.capturedAt) !== null && _l !== void 0 ? _l : fallbackCapturedAt);
14887
+ if (submission.idBackImage) setIdBackImage(submission.idBackImage, (_o = (_m = docs.idCardBack) === null || _m === void 0 ? void 0 : _m.capturedAt) !== null && _o !== void 0 ? _o : fallbackCapturedAt);
14888
+ if (submission.passportImage) setPassportImage(submission.passportImage, (_q = (_p = docs.passport) === null || _p === void 0 ? void 0 : _p.capturedAt) !== null && _q !== void 0 ? _q : fallbackCapturedAt);
14889
+ if (submission.singlePageImage) setIdFrontImage(submission.singlePageImage, (_s = (_r = docs.singlePage) === null || _r === void 0 ? void 0 : _r.capturedAt) !== null && _s !== void 0 ? _s : fallbackCapturedAt);
14886
14890
  if (submission.idFrontIrImage) setIdFrontIrImage(submission.idFrontIrImage);
14887
14891
  if (submission.idBackIrImage) setIdBackIrImage(submission.idBackIrImage);
14888
14892
  if (submission.idFrontUvImage) setIdFrontUvImage(submission.idFrontUvImage);
14889
14893
  if (submission.idBackUvImage) setIdBackUvImage(submission.idBackUvImage);
14890
- if (submission.idBarcodeImage) setIdBarcodeImage(submission.idBarcodeImage);
14894
+ if (submission.idBarcodeImage) setIdBarcodeImage(submission.idBarcodeImage, (_u = (_t = docs.idBarcodeImage) === null || _t === void 0 ? void 0 : _t.capturedAt) !== null && _u !== void 0 ? _u : fallbackCapturedAt);
14891
14895
  // Convert barcode decode result to ocrMetadata for submission
14892
- var barcodeDecodeResult = (_k = state.nativeBarcodeDecodeResult) !== null && _k !== void 0 ? _k : state.aggressiveModeDecodeResult;
14896
+ var barcodeDecodeResult = (_v = state.nativeBarcodeDecodeResult) !== null && _v !== void 0 ? _v : state.aggressiveModeDecodeResult;
14893
14897
  if (barcodeDecodeResult === null || barcodeDecodeResult === void 0 ? void 0 : barcodeDecodeResult.text) {
14894
14898
  try {
14895
14899
  var parsedAAMVA = parseAAMVABarcode(barcodeDecodeResult.text);
@@ -17837,7 +17841,7 @@ var FaceLivenessWizard = function FaceLivenessWizard(_a) {
17837
17841
  selfieGuidanceCanvasRef = _1.canvasRef;
17838
17842
  React.useEffect(function () {
17839
17843
  if (precapturedDocuments === null || precapturedDocuments === void 0 ? void 0 : precapturedDocuments.selfie) {
17840
- setSelfieImage(precapturedDocuments.selfie.imageData);
17844
+ setSelfieImage(precapturedDocuments.selfie.imageData, new Date().toISOString());
17841
17845
  setCaptureState('SUCCESS');
17842
17846
  return;
17843
17847
  }
@@ -17874,7 +17878,7 @@ var FaceLivenessWizard = function FaceLivenessWizard(_a) {
17874
17878
  if (!livenessCheckRequest || !submissionResponse) return [2 /*return*/];
17875
17879
  setCaptureState('SUCCESS');
17876
17880
  setFaceCropImageUrl(faceCropImageUrl);
17877
- setSelfieImage(dataUrlToBase64Sync(faceCropImageUrl));
17881
+ setSelfieImage(dataUrlToBase64Sync(faceCropImageUrl), new Date().toISOString());
17878
17882
  onSuccess === null || onSuccess === void 0 ? void 0 : onSuccess(submissionResponse, livenessCheckRequest);
17879
17883
  return [2 /*return*/];
17880
17884
  });
@@ -17903,7 +17907,7 @@ var FaceLivenessWizard = function FaceLivenessWizard(_a) {
17903
17907
  var resizeCtx = resizeCanvas.current.getContext('2d');
17904
17908
  resizeCtx.drawImage(srcCanvas, 0, 0, resizeCanvas.current.width, 600);
17905
17909
  var dataURL = resizeCanvas.current.toDataURL('image/jpeg', 0.92);
17906
- setSelfieImage(dataUrlToBase64Sync(dataURL));
17910
+ setSelfieImage(dataUrlToBase64Sync(dataURL), new Date().toISOString());
17907
17911
  }
17908
17912
  onSuccess === null || onSuccess === void 0 ? void 0 : onSuccess(submissionResponse, livenessCheckRequest);
17909
17913
  } else {
@@ -19852,7 +19856,7 @@ function SelfieCaptureWizard(_a) {
19852
19856
  modelError = _u.error;
19853
19857
  React.useEffect(function () {
19854
19858
  if (precapturedDocuments === null || precapturedDocuments === void 0 ? void 0 : precapturedDocuments.selfie) {
19855
- setSelfieImage(precapturedDocuments.selfie.imageData);
19859
+ setSelfieImage(precapturedDocuments.selfie.imageData, new Date().toISOString());
19856
19860
  setCaptureState('SUCCESS');
19857
19861
  return;
19858
19862
  }
@@ -19892,7 +19896,7 @@ function SelfieCaptureWizard(_a) {
19892
19896
  captureTime: 0,
19893
19897
  operationTime: 0
19894
19898
  });
19895
- setSelfieImage(imageUrl);
19899
+ setSelfieImage(imageUrl, new Date().toISOString());
19896
19900
  setCaptureState('SUCCESS');
19897
19901
  onCapture === null || onCapture === void 0 ? void 0 : onCapture(imageUrl);
19898
19902
  }, [logSelfieCaptureAttempt, onCapture, setSelfieImage]);
@@ -20082,11 +20086,11 @@ function VideoSignatureWizardComponent(_a, ref) {
20082
20086
  logCaptureMetadata();
20083
20087
  var selfieFromRequest = (_b = (_a = request === null || request === void 0 ? void 0 : request.customerData) === null || _a === void 0 ? void 0 : _a.biometricData) === null || _b === void 0 ? void 0 : _b.selfie;
20084
20088
  if (!selfieImage && selfieFromRequest) {
20085
- setSelfieImage(selfieFromRequest);
20089
+ setSelfieImage(selfieFromRequest, new Date().toISOString());
20086
20090
  }
20087
20091
  }, [logCaptureMetadata, onFaceLivenessSuccessProp, selfieImage, setSelfieImage]);
20088
20092
  var onSelfieCapture = React.useCallback(function (imageUrl) {
20089
- setSelfieImage(imageUrl);
20093
+ setSelfieImage(imageUrl, new Date().toISOString());
20090
20094
  setCaptureState('CAPTURING_SIGNATURE');
20091
20095
  logCaptureMetadata();
20092
20096
  uploadDocument(b64toBlob(dataUrlToBase64Sync(imageUrl), 'image/jpeg'), {
@@ -20095,8 +20099,9 @@ function VideoSignatureWizardComponent(_a, ref) {
20095
20099
  }).then(onSelfieCaptured);
20096
20100
  }, [logCaptureMetadata, onSelfieCaptured, setSelfieImage, uploadDocument]);
20097
20101
  var onSignatureCaptureCompleted = React.useCallback(function (videoData, signatureData, signatureImageData, metadata) {
20098
- if (signatureData) setSignatureData(signatureData);
20099
- setSignatureVideoUrl(URL.createObjectURL(videoData));
20102
+ var capturedAt = new Date().toISOString();
20103
+ if (signatureData) setSignatureData(signatureData, capturedAt);
20104
+ setSignatureVideoUrl(URL.createObjectURL(videoData), capturedAt);
20100
20105
  setSignatureVideoMetadata(metadata);
20101
20106
  setSignatureVideoMetadataLocal(metadata);
20102
20107
  setCaptureState('SUCCESS');
@@ -21139,7 +21144,7 @@ var IdVideoCapture = function IdVideoCapture(_a) {
21139
21144
  var frameLock = React.useRef(false);
21140
21145
  var captureFrame = React.useCallback(function () {
21141
21146
  return __awaiter(void 0, void 0, void 0, function () {
21142
- var frameBase64;
21147
+ var frameBase64, frameCapturedAt;
21143
21148
  return __generator(this, function (_a) {
21144
21149
  if (frameLock.current) return [2 /*return*/];
21145
21150
  frameLock.current = true;
@@ -21149,10 +21154,11 @@ var IdVideoCapture = function IdVideoCapture(_a) {
21149
21154
  frameLock.current = false;
21150
21155
  return [2 /*return*/];
21151
21156
  }
21157
+ frameCapturedAt = new Date().toISOString();
21152
21158
  try {
21153
21159
  if (requestedAction == 'SHOW_ID_FRONT') {
21154
21160
  if (onIdFrontImageCaptured) {
21155
- onIdFrontImageCaptured(frameBase64);
21161
+ onIdFrontImageCaptured(frameBase64, frameCapturedAt);
21156
21162
  }
21157
21163
  if (isSinglePage || evaluateShouldSkip(skipShowIdCardBack)) {
21158
21164
  return [2 /*return*/, onIdCaptureComplete()];
@@ -21160,12 +21166,12 @@ var IdVideoCapture = function IdVideoCapture(_a) {
21160
21166
  setRequestedAction('FLIP_ID');
21161
21167
  } else if (requestedAction == 'SHOW_ID_BACK') {
21162
21168
  if (onIdBackImageCaptured) {
21163
- onIdBackImageCaptured(frameBase64);
21169
+ onIdBackImageCaptured(frameBase64, frameCapturedAt);
21164
21170
  }
21165
21171
  onIdCaptureComplete();
21166
21172
  } else if (requestedAction == 'SHOW_PASSPORT') {
21167
21173
  if (onIdFrontImageCaptured) {
21168
- onIdFrontImageCaptured(frameBase64);
21174
+ onIdFrontImageCaptured(frameBase64, frameCapturedAt);
21169
21175
  }
21170
21176
  onIdCaptureComplete();
21171
21177
  }
@@ -21532,9 +21538,11 @@ var VideoIdWizard = function VideoIdWizard(_a) {
21532
21538
  }, []);
21533
21539
  var onVideoCaptureComplete = React.useCallback(function (videoUrl, audioUrl) {
21534
21540
  return __awaiter(void 0, void 0, void 0, function () {
21541
+ var capturedAt;
21535
21542
  return __generator(this, function (_a) {
21536
- setIdCaptureVideoUrl(videoUrl);
21537
- if (audioUrl) setIdCaptureVideoAudioUrl(audioUrl);
21543
+ capturedAt = new Date().toISOString();
21544
+ setIdCaptureVideoUrl(videoUrl, capturedAt);
21545
+ if (audioUrl) setIdCaptureVideoAudioUrl(audioUrl, capturedAt);
21538
21546
  setCaptureState('SUCCESS');
21539
21547
  if (skipSuccessScreen) onComplete === null || onComplete === void 0 ? void 0 : onComplete();
21540
21548
  return [2 /*return*/];
@@ -21827,7 +21835,7 @@ function CompositeWizardComponent(_a, ref) {
21827
21835
  });
21828
21836
  }, [onFaceLivenessCompleteProp]);
21829
21837
  var onSignatureCaptureSuccess = React.useCallback(function (signatureData) {
21830
- setSignatureData(signatureData);
21838
+ setSignatureData(signatureData, new Date().toISOString());
21831
21839
  setCheckIndex(function (i) {
21832
21840
  return i + 1;
21833
21841
  });
@@ -23336,7 +23344,10 @@ var CustomerVerificationCapture = function CustomerVerificationCapture(_a) {
23336
23344
  if (!frame || !face || submissionError) return;
23337
23345
  var imageUrl = cropToShoulders(rawCanvas.current, cropCanvas.current, resizeCanvas.current, frame, face);
23338
23346
  setImageUrl(imageUrl);
23339
- dataUrlToBase64(imageUrl).then(setSelfieImage);
23347
+ var capturedAt = new Date().toISOString();
23348
+ dataUrlToBase64(imageUrl).then(function (b64) {
23349
+ return setSelfieImage(b64, capturedAt);
23350
+ });
23340
23351
  }, [face, frame, setSelfieImage, submissionError]);
23341
23352
  React.useEffect(function () {
23342
23353
  if (!isReady || !selfieImage || submissionError) return;
@@ -23927,7 +23938,10 @@ var CustomerIdentificationCapture = function CustomerIdentificationCapture(_a) {
23927
23938
  if (!frame || !face || submissionError) return;
23928
23939
  var imageUrl = cropToShoulders(rawCanvas.current, cropCanvas.current, resizeCanvas.current, frame, face);
23929
23940
  setImageUrl(imageUrl);
23930
- dataUrlToBase64(imageUrl).then(setSelfieImage);
23941
+ var capturedAt = new Date().toISOString();
23942
+ dataUrlToBase64(imageUrl).then(function (b64) {
23943
+ return setSelfieImage(b64, capturedAt);
23944
+ });
23931
23945
  }, [face, frame, setSelfieImage, submissionError]);
23932
23946
  React.useEffect(function () {
23933
23947
  if (!isReady || !selfieImage || submissionError) return;