idmission-web-sdk 2.1.25 → 2.1.27

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.
@@ -27,7 +27,8 @@ export type IdCaptureState = {
27
27
  documentTooClose: boolean;
28
28
  flipRequired: boolean;
29
29
  backDetectedFirst: boolean;
30
- overrideFlipRequired: boolean;
30
+ allowOverrideFlipRequirement: boolean;
31
+ overrideFlipRequirement: boolean;
31
32
  idCardFrontDetectionScore: number;
32
33
  idCardFrontDetectionThresholdMet: boolean;
33
34
  idCardBackDetectionScore: number;
@@ -117,7 +118,9 @@ export type IdCaptureAction = {
117
118
  } | {
118
119
  type: 'flipRequestCompleted';
119
120
  } | {
120
- type: 'overrideFlipRequired';
121
+ type: 'allowOverrideFlipRequirement';
122
+ } | {
123
+ type: 'overrideFlipRequirement';
121
124
  } | {
122
125
  type: 'resetWizard';
123
126
  } | {
@@ -234,7 +234,7 @@ typeof SuppressedError === "function" ? SuppressedError : function (error, suppr
234
234
  return e.name = "SuppressedError", e.error = error, e.suppressed = suppressed, e;
235
235
  };
236
236
 
237
- var webSdkVersion = '2.1.25';
237
+ var webSdkVersion = '2.1.27';
238
238
 
239
239
  function getPlatform() {
240
240
  // eslint-disable-next-line @typescript-eslint/ban-ts-comment
@@ -6140,7 +6140,8 @@ var initialState$4 = {
6140
6140
  documentTooClose: false,
6141
6141
  flipRequired: false,
6142
6142
  backDetectedFirst: false,
6143
- overrideFlipRequired: false,
6143
+ allowOverrideFlipRequirement: false,
6144
+ overrideFlipRequirement: false,
6144
6145
  idCardFrontDetectionScore: 0,
6145
6146
  idCardFrontDetectionThresholdMet: false,
6146
6147
  idCardBackDetectionScore: 0,
@@ -6259,8 +6260,8 @@ var _reducer = function reducer(state, action) {
6259
6260
  goodFramesThreshold = Math.ceil(3 * frameCaptureRate);
6260
6261
  }
6261
6262
  }
6262
- var flipRequired = !state.overrideFlipRequired && !state.allowIdCardBackToFrontCapture && state.requestedDocumentType === 'idCardBack' && detectedDocumentType === 'idCardFront';
6263
- var backDetectedFirst = !state.overrideFlipRequired && (state.allowIdCardBackToFrontCapture ? 'idCardBack' in state.capturedDocuments && detectedDocumentType === 'idCardBack' : state.requestedDocumentType.includes('idCardFront') && detectedDocumentType === 'idCardBack');
6263
+ var flipRequired = !state.overrideFlipRequirement && !state.allowIdCardBackToFrontCapture && state.requestedDocumentType === 'idCardBack' && detectedDocumentType === 'idCardFront';
6264
+ var backDetectedFirst = state.allowIdCardBackToFrontCapture ? 'idCardBack' in state.capturedDocuments && detectedDocumentType === 'idCardBack' : state.requestedDocumentType.includes('idCardFront') && detectedDocumentType === 'idCardBack';
6264
6265
  var isGoodFrame = detectionThresholdMet && documentInBounds && !documentTooClose && !flipRequired && !backDetectedFirst && focusThresholdMet;
6265
6266
  var goodFramesCount = state.goodFramesCount;
6266
6267
  if (isGoodFrame) {
@@ -6283,6 +6284,10 @@ var _reducer = function reducer(state, action) {
6283
6284
  requestedDocumentType = 'idCardFront' in state.capturedDocuments ? 'idCardBack' : 'idCardFront';
6284
6285
  }
6285
6286
  }
6287
+ var allowOverrideFlipRequirement = state.allowOverrideFlipRequirement;
6288
+ if (isGoodFrame) {
6289
+ allowOverrideFlipRequirement = false;
6290
+ }
6286
6291
  return _assign(_assign({}, state), {
6287
6292
  videoWidth: frameWidth,
6288
6293
  videoHeight: frameHeight,
@@ -6295,6 +6300,7 @@ var _reducer = function reducer(state, action) {
6295
6300
  documentTooClose: documentTooClose,
6296
6301
  flipRequired: flipRequired,
6297
6302
  backDetectedFirst: backDetectedFirst,
6303
+ allowOverrideFlipRequirement: allowOverrideFlipRequirement,
6298
6304
  idCardFrontDetectionScore: idCardFrontDetectionScore,
6299
6305
  idCardFrontDetectionThresholdMet: idCardFrontDetectionThresholdMet,
6300
6306
  idCardBackDetectionScore: idCardBackDetectionScore,
@@ -6340,6 +6346,8 @@ var _reducer = function reducer(state, action) {
6340
6346
  var newState_1 = _assign(_assign({}, state), {
6341
6347
  capturing: false,
6342
6348
  captureFailed: false,
6349
+ allowOverrideFlipRequirement: false,
6350
+ overrideFlipRequirement: false,
6343
6351
  goodFramesCount: 0,
6344
6352
  capturedDocuments: _assign(_assign({}, state.capturedDocuments), (_a = {}, _a[action.payload.documentType] = action.payload, _a))
6345
6353
  });
@@ -6404,17 +6412,22 @@ var _reducer = function reducer(state, action) {
6404
6412
  case 'flipRequestCompleted':
6405
6413
  return _assign(_assign({}, state), {
6406
6414
  captureState: 'capturing',
6407
- overrideFlipRequired: false
6415
+ allowOverrideFlipRequirement: false,
6416
+ overrideFlipRequirement: false
6417
+ });
6418
+ case 'allowOverrideFlipRequirement':
6419
+ return _assign(_assign({}, state), {
6420
+ allowOverrideFlipRequirement: true
6408
6421
  });
6409
- case 'overrideFlipRequired':
6422
+ case 'overrideFlipRequirement':
6410
6423
  return _assign(_assign({}, state), {
6411
- overrideFlipRequired: true
6424
+ allowOverrideFlipRequirement: false,
6425
+ overrideFlipRequirement: true
6412
6426
  });
6413
6427
  case 'resetWizard':
6414
6428
  return _assign(_assign({}, initialState$4), {
6415
6429
  captureRequirement: state.captureRequirement,
6416
- allowIdCardBackToFrontCapture: state.allowIdCardBackToFrontCapture,
6417
- overrideFlipRequired: false
6430
+ allowIdCardBackToFrontCapture: state.allowIdCardBackToFrontCapture
6418
6431
  });
6419
6432
  default:
6420
6433
  return state;
@@ -6441,20 +6454,22 @@ var IdCaptureStateProvider = function IdCaptureStateProvider(_a) {
6441
6454
  }, [onResize]);
6442
6455
  var setRequiredDocumentType = React.useContext(IdCaptureModelsContext).setRequiredDocumentType;
6443
6456
  React.useEffect(function () {
6444
- if (state.overrideFlipRequired) return;
6445
- if (state.flipRequired || state.backDetectedFirst) {
6446
- var t_1 = setTimeout(function () {
6447
- dispatch({
6448
- type: 'overrideFlipRequired'
6449
- });
6450
- setRequiredDocumentType('none');
6451
- }, flipRequiredTimeout);
6452
- return function () {
6453
- clearTimeout(t_1);
6454
- };
6457
+ if (state.captureState !== 'capturing') return;
6458
+ if (!state.flipRequired || state.allowOverrideFlipRequirement) return;
6459
+ var t = setTimeout(function () {
6460
+ dispatch({
6461
+ type: 'allowOverrideFlipRequirement'
6462
+ });
6463
+ }, flipRequiredTimeout);
6464
+ return function () {
6465
+ clearTimeout(t);
6466
+ };
6467
+ }, [flipRequiredTimeout, state.allowOverrideFlipRequirement, state.captureState, state.flipRequired]);
6468
+ React.useEffect(function () {
6469
+ if (state.overrideFlipRequirement) {
6470
+ setRequiredDocumentType('none');
6455
6471
  }
6456
- return function () {};
6457
- }, [flipRequiredTimeout, setRequiredDocumentType, state.backDetectedFirst, state.flipRequired, state.overrideFlipRequired]);
6472
+ }, [state.overrideFlipRequirement, setRequiredDocumentType]);
6458
6473
  return /*#__PURE__*/React__namespace.default.createElement(IdCaptureStateContext.Provider, {
6459
6474
  value: state
6460
6475
  }, /*#__PURE__*/React__namespace.default.createElement(IdCaptureDispatchContext.Provider, {
@@ -7007,7 +7022,41 @@ var IdCapture = function IdCapture(_a) {
7007
7022
  }, /*#__PURE__*/React__namespace.default.createElement(GuidanceMessage, {
7008
7023
  "$variant": satisfied ? 'positive' : 'default',
7009
7024
  className: classNames.guidanceMessage
7010
- }, guidanceMessage))), debugMode && ( /*#__PURE__*/React__namespace.default.createElement(DebugBoundingBoxOverlay, {
7025
+ }, guidanceMessage), state.allowOverrideFlipRequirement && ( /*#__PURE__*/React__namespace.default.createElement("div", {
7026
+ style: {
7027
+ position: 'fixed',
7028
+ left: 0,
7029
+ bottom: 0,
7030
+ width: '100dvw',
7031
+ background: '#eed202',
7032
+ display: 'flex',
7033
+ zIndex: 100001
7034
+ }
7035
+ }, /*#__PURE__*/React__namespace.default.createElement("div", {
7036
+ style: {
7037
+ display: 'flex',
7038
+ flexDirection: 'row',
7039
+ padding: '16px 24px',
7040
+ margin: 'auto 0',
7041
+ width: '100%'
7042
+ }
7043
+ }, /*#__PURE__*/React__namespace.default.createElement("span", {
7044
+ style: {
7045
+ display: 'block',
7046
+ margin: 'auto 12px auto 0'
7047
+ }
7048
+ }, "It appears that you are attempting to capture the wrong side of your ID card, but perhaps we are wrong about that. Would you like to proceed with capture anyway?"), /*#__PURE__*/React__namespace.default.createElement(LoaderButton, {
7049
+ variant: "positive",
7050
+ style: {
7051
+ marginLeft: 'auto',
7052
+ whiteSpace: 'nowrap'
7053
+ },
7054
+ onClick: function onClick() {
7055
+ return dispatch({
7056
+ type: 'overrideFlipRequirement'
7057
+ });
7058
+ }
7059
+ }, "Capture Anyway")))))), debugMode && ( /*#__PURE__*/React__namespace.default.createElement(DebugBoundingBoxOverlay, {
7011
7060
  "$flipX": !((_j = cameraRef.current) === null || _j === void 0 ? void 0 : _j.isRearFacing),
7012
7061
  scaling: debugScalingDetails
7013
7062
  }, state.detectedObjects.map(function (obj, i) {