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.
@@ -215,7 +215,7 @@
215
215
  return e.name = "SuppressedError", e.error = error, e.suppressed = suppressed, e;
216
216
  };
217
217
 
218
- var webSdkVersion = '2.1.20';
218
+ var webSdkVersion = '2.1.21';
219
219
 
220
220
  function getPlatform() {
221
221
  // eslint-disable-next-line @typescript-eslint/ban-ts-comment
@@ -21777,13 +21777,21 @@
21777
21777
  }
21778
21778
  }, [numFramesWithoutFaces, onFaceNotDetected]);
21779
21779
  function onAcceptClicked() {
21780
- var _a;
21781
21780
  if (!signaturePad.current) return;
21782
21781
  var signatureData = signatureDataToIdmissionFormat(signaturePad.current);
21783
21782
  setSignatureData(signatureData);
21784
- setSignatureDataUrl(signaturePad.current.toDataURL());
21785
- stopRecordingVideo();
21786
- (_a = signatureRecorder.current) === null || _a === void 0 ? void 0 : _a.stop();
21783
+ var signatureCanvas = signaturePad.current.getCanvas();
21784
+ var scaledHeight = signatureCanvas.height * 600 / signatureCanvas.width;
21785
+ var svgB64Url = signaturePad.current.getSignaturePad()._toSVG();
21786
+ var svgContent = atob(svgB64Url.replace('data:image/svg+xml;base64,', ''));
21787
+ 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, "\""));
21788
+ var scaledSvgUrl = 'data:image/svg+xml;base64,' + btoa(scaledSvgContent);
21789
+ convertSVGtoImg(scaledSvgUrl).then(function (dataUrl) {
21790
+ var _a;
21791
+ dataUrl && setSignatureDataUrl(dataUrl);
21792
+ stopRecordingVideo();
21793
+ (_a = signatureRecorder.current) === null || _a === void 0 ? void 0 : _a.stop();
21794
+ });
21787
21795
  }
21788
21796
  return /*#__PURE__*/React.createElement(PageContainer, {
21789
21797
  className: "flex ".concat((_b = classNames.container) !== null && _b !== void 0 ? _b : '')
@@ -21829,6 +21837,50 @@
21829
21837
  }));
21830
21838
  };
21831
21839
  var AcceptBtn = styled(LoaderButton)(templateObject_1$a || (templateObject_1$a = __makeTemplateObject(["\n margin-left: auto;\n"], ["\n margin-left: auto;\n"])));
21840
+ var loadImage = function loadImage(url) {
21841
+ return __awaiter(void 0, void 0, void 0, function () {
21842
+ var img;
21843
+ return __generator(this, function (_a) {
21844
+ img = document.createElement('img');
21845
+ img.src = url;
21846
+ return [2 /*return*/, new Promise(function (resolve, reject) {
21847
+ img.onload = function () {
21848
+ return resolve(img);
21849
+ };
21850
+ img.onerror = reject;
21851
+ })];
21852
+ });
21853
+ });
21854
+ };
21855
+ var convertSVGtoImg = function convertSVGtoImg(svgData_1) {
21856
+ var args_1 = [];
21857
+ for (var _i = 1; _i < arguments.length; _i++) {
21858
+ args_1[_i - 1] = arguments[_i];
21859
+ }
21860
+ return __awaiter(void 0, __spreadArray([svgData_1], args_1, true), void 0, function (svgData, format) {
21861
+ var img, canvas, ctx;
21862
+ if (format === void 0) {
21863
+ format = 'jpeg';
21864
+ }
21865
+ return __generator(this, function (_a) {
21866
+ switch (_a.label) {
21867
+ case 0:
21868
+ return [4 /*yield*/, loadImage(svgData)];
21869
+ case 1:
21870
+ img = _a.sent();
21871
+ canvas = document.createElement('canvas');
21872
+ canvas.width = img.naturalWidth;
21873
+ canvas.height = img.naturalHeight;
21874
+ ctx = canvas.getContext('2d');
21875
+ if (!ctx) return [2 /*return*/];
21876
+ ctx.fillStyle = 'white';
21877
+ ctx.fillRect(0, 0, canvas.width, canvas.height);
21878
+ ctx.drawImage(img, 0, 0, img.naturalWidth, img.naturalHeight);
21879
+ return [2 /*return*/, canvas.toDataURL("image/".concat(format), 1.0)];
21880
+ }
21881
+ });
21882
+ });
21883
+ };
21832
21884
  var templateObject_1$a;
21833
21885
 
21834
21886
  var VideoSignatureSuccess = function VideoSignatureSuccess(_a) {
@@ -21968,18 +22020,22 @@
21968
22020
  });
21969
22021
  });
21970
22022
  }, [logCaptureMetadata, selfieImage, setSelfieImage]);
22023
+ var _p = React.useState(null),
22024
+ signatureDataUrl = _p[0],
22025
+ setSignatureDataUrl = _p[1];
21971
22026
  var onSignatureCaptureCompleted = React.useCallback(function (videoData, signatureData, signatureImageData) {
21972
22027
  setSignatureData(signatureData);
21973
22028
  setSignatureVideoUrl(URL.createObjectURL(videoData));
21974
22029
  setCaptureState('SUCCESS');
22030
+ setSignatureDataUrl(signatureImageData);
21975
22031
  onVideoCaptured === null || onVideoCaptured === void 0 ? void 0 : onVideoCaptured(videoData, signatureData, signatureImageData);
21976
22032
  }, [onVideoCaptured, setSignatureData, setSignatureVideoUrl]);
21977
22033
  var onSignatureCaptureFacesNotDetected = React.useCallback(function () {
21978
22034
  setCaptureState('CHECKING_LIVENESS');
21979
22035
  }, []);
21980
- var _p = React.useState(0),
21981
- attempt = _p[0],
21982
- setAttempt = _p[1];
22036
+ var _q = React.useState(0),
22037
+ attempt = _q[0],
22038
+ setAttempt = _q[1];
21983
22039
  var onExit = React.useCallback(function () {
21984
22040
  releaseCameraAccess();
21985
22041
  setAttempt(function (n) {
@@ -22029,14 +22085,17 @@
22029
22085
  });
22030
22086
  case 'SUCCESS':
22031
22087
  if (!showSuccessScreen) return;
22032
- return /*#__PURE__*/React.createElement(VideoSignatureSuccess, {
22088
+ return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(VideoSignatureSuccess, {
22033
22089
  videoUrl: signatureVideoUrl !== null && signatureVideoUrl !== void 0 ? signatureVideoUrl : '',
22034
22090
  onDoneClick: onComplete,
22035
22091
  onRetryClick: onRetry,
22036
22092
  classNames: classNames.success,
22037
22093
  colors: colors.success,
22038
22094
  verbiage: verbiage.success
22039
- });
22095
+ }), signatureDataUrl && /*#__PURE__*/React.createElement("img", {
22096
+ src: signatureDataUrl,
22097
+ alt: ""
22098
+ }));
22040
22099
  default:
22041
22100
  return null;
22042
22101
  }