idmission-web-sdk 2.1.20 → 2.1.21

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
@@ -204,7 +204,7 @@ typeof SuppressedError === "function" ? SuppressedError : function (error, suppr
204
204
  return e.name = "SuppressedError", e.error = error, e.suppressed = suppressed, e;
205
205
  };
206
206
 
207
- var webSdkVersion = '2.1.20';
207
+ var webSdkVersion = '2.1.21';
208
208
 
209
209
  function getPlatform() {
210
210
  // eslint-disable-next-line @typescript-eslint/ban-ts-comment
@@ -12145,13 +12145,21 @@ var VideoSignatureCapture = function VideoSignatureCapture(_a) {
12145
12145
  }
12146
12146
  }, [numFramesWithoutFaces, onFaceNotDetected]);
12147
12147
  function onAcceptClicked() {
12148
- var _a;
12149
12148
  if (!signaturePad.current) return;
12150
12149
  var signatureData = signatureDataToIdmissionFormat(signaturePad.current);
12151
12150
  setSignatureData(signatureData);
12152
- setSignatureDataUrl(signaturePad.current.toDataURL());
12153
- stopRecordingVideo();
12154
- (_a = signatureRecorder.current) === null || _a === void 0 ? void 0 : _a.stop();
12151
+ var signatureCanvas = signaturePad.current.getCanvas();
12152
+ var scaledHeight = signatureCanvas.height * 600 / signatureCanvas.width;
12153
+ var svgB64Url = signaturePad.current.getSignaturePad()._toSVG();
12154
+ var svgContent = atob(svgB64Url.replace('data:image/svg+xml;base64,', ''));
12155
+ var scaledSvgContent = svgContent.replace(/width="[0-9.]+"/, "width=\"600\"").replace(/height="[0-9.]+"/, "height=\"".concat(scaledHeight, "\"")).replace(/viewBox="0 0 [0-9.]+ [0-9.]+"/, "viewBox=\"0 0 ".concat(signatureCanvas.width, " ").concat(signatureCanvas.height, "\""));
12156
+ var scaledSvgUrl = 'data:image/svg+xml;base64,' + btoa(scaledSvgContent);
12157
+ convertSVGtoImg(scaledSvgUrl).then(function (dataUrl) {
12158
+ var _a;
12159
+ dataUrl && setSignatureDataUrl(dataUrl);
12160
+ stopRecordingVideo();
12161
+ (_a = signatureRecorder.current) === null || _a === void 0 ? void 0 : _a.stop();
12162
+ });
12155
12163
  }
12156
12164
  return /*#__PURE__*/React__default.createElement(PageContainer, {
12157
12165
  className: "flex ".concat((_b = classNames.container) !== null && _b !== void 0 ? _b : '')
@@ -12197,6 +12205,50 @@ var VideoSignatureCapture = function VideoSignatureCapture(_a) {
12197
12205
  }));
12198
12206
  };
12199
12207
  var AcceptBtn = styled(LoaderButton)(templateObject_1$a || (templateObject_1$a = __makeTemplateObject(["\n margin-left: auto;\n"], ["\n margin-left: auto;\n"])));
12208
+ var loadImage = function loadImage(url) {
12209
+ return __awaiter(void 0, void 0, void 0, function () {
12210
+ var img;
12211
+ return __generator(this, function (_a) {
12212
+ img = document.createElement('img');
12213
+ img.src = url;
12214
+ return [2 /*return*/, new Promise(function (resolve, reject) {
12215
+ img.onload = function () {
12216
+ return resolve(img);
12217
+ };
12218
+ img.onerror = reject;
12219
+ })];
12220
+ });
12221
+ });
12222
+ };
12223
+ var convertSVGtoImg = function convertSVGtoImg(svgData_1) {
12224
+ var args_1 = [];
12225
+ for (var _i = 1; _i < arguments.length; _i++) {
12226
+ args_1[_i - 1] = arguments[_i];
12227
+ }
12228
+ return __awaiter(void 0, __spreadArray([svgData_1], args_1, true), void 0, function (svgData, format) {
12229
+ var img, canvas, ctx;
12230
+ if (format === void 0) {
12231
+ format = 'jpeg';
12232
+ }
12233
+ return __generator(this, function (_a) {
12234
+ switch (_a.label) {
12235
+ case 0:
12236
+ return [4 /*yield*/, loadImage(svgData)];
12237
+ case 1:
12238
+ img = _a.sent();
12239
+ canvas = document.createElement('canvas');
12240
+ canvas.width = img.naturalWidth;
12241
+ canvas.height = img.naturalHeight;
12242
+ ctx = canvas.getContext('2d');
12243
+ if (!ctx) return [2 /*return*/];
12244
+ ctx.fillStyle = 'white';
12245
+ ctx.fillRect(0, 0, canvas.width, canvas.height);
12246
+ ctx.drawImage(img, 0, 0, img.naturalWidth, img.naturalHeight);
12247
+ return [2 /*return*/, canvas.toDataURL("image/".concat(format), 1.0)];
12248
+ }
12249
+ });
12250
+ });
12251
+ };
12200
12252
  var templateObject_1$a;
12201
12253
 
12202
12254
  var VideoSignatureSuccess = function VideoSignatureSuccess(_a) {
@@ -12336,18 +12388,22 @@ var VideoSignatureWizard = function VideoSignatureWizard(_a) {
12336
12388
  });
12337
12389
  });
12338
12390
  }, [logCaptureMetadata, selfieImage, setSelfieImage]);
12391
+ var _p = useState(null),
12392
+ signatureDataUrl = _p[0],
12393
+ setSignatureDataUrl = _p[1];
12339
12394
  var onSignatureCaptureCompleted = useCallback(function (videoData, signatureData, signatureImageData) {
12340
12395
  setSignatureData(signatureData);
12341
12396
  setSignatureVideoUrl(URL.createObjectURL(videoData));
12342
12397
  setCaptureState('SUCCESS');
12398
+ setSignatureDataUrl(signatureImageData);
12343
12399
  onVideoCaptured === null || onVideoCaptured === void 0 ? void 0 : onVideoCaptured(videoData, signatureData, signatureImageData);
12344
12400
  }, [onVideoCaptured, setSignatureData, setSignatureVideoUrl]);
12345
12401
  var onSignatureCaptureFacesNotDetected = useCallback(function () {
12346
12402
  setCaptureState('CHECKING_LIVENESS');
12347
12403
  }, []);
12348
- var _p = useState(0),
12349
- attempt = _p[0],
12350
- setAttempt = _p[1];
12404
+ var _q = useState(0),
12405
+ attempt = _q[0],
12406
+ setAttempt = _q[1];
12351
12407
  var onExit = useCallback(function () {
12352
12408
  releaseCameraAccess();
12353
12409
  setAttempt(function (n) {
@@ -12397,14 +12453,17 @@ var VideoSignatureWizard = function VideoSignatureWizard(_a) {
12397
12453
  });
12398
12454
  case 'SUCCESS':
12399
12455
  if (!showSuccessScreen) return;
12400
- return /*#__PURE__*/React__default.createElement(VideoSignatureSuccess, {
12456
+ return /*#__PURE__*/React__default.createElement(React__default.Fragment, null, /*#__PURE__*/React__default.createElement(VideoSignatureSuccess, {
12401
12457
  videoUrl: signatureVideoUrl !== null && signatureVideoUrl !== void 0 ? signatureVideoUrl : '',
12402
12458
  onDoneClick: onComplete,
12403
12459
  onRetryClick: onRetry,
12404
12460
  classNames: classNames.success,
12405
12461
  colors: colors.success,
12406
12462
  verbiage: verbiage.success
12407
- });
12463
+ }), signatureDataUrl && /*#__PURE__*/React__default.createElement("img", {
12464
+ src: signatureDataUrl,
12465
+ alt: ""
12466
+ }));
12408
12467
  default:
12409
12468
  return null;
12410
12469
  }