idmission-web-sdk 2.1.22 → 2.1.24
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/components/signature_capture/data.d.ts +3 -1
- package/dist/components/video_signature_capture/VideoSignatureSuccess.d.ts +2 -1
- package/dist/sdk2.cjs.development.js +114 -18
- package/dist/sdk2.cjs.development.js.map +1 -1
- package/dist/sdk2.cjs.production.js +1 -1
- package/dist/sdk2.cjs.production.js.map +1 -1
- package/dist/sdk2.esm.js +114 -18
- package/dist/sdk2.esm.js.map +1 -1
- package/dist/sdk2.umd.development.js +114 -18
- package/dist/sdk2.umd.development.js.map +1 -1
- package/dist/sdk2.umd.production.js +1 -1
- package/dist/sdk2.umd.production.js.map +1 -1
- package/dist/version.d.ts +1 -1
- package/package.json +1 -1
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import ReactSignatureCanvas from 'react-signature-canvas';
|
|
2
|
+
import SignatureCanvas from 'react-signature-canvas';
|
|
2
3
|
export type SignatureData = {
|
|
3
4
|
clickX_simple: number[][];
|
|
4
5
|
clickY_simple: number[][];
|
|
@@ -6,4 +7,5 @@ export type SignatureData = {
|
|
|
6
7
|
pressure: string;
|
|
7
8
|
fileContent: string;
|
|
8
9
|
};
|
|
9
|
-
export declare function signatureDataToIdmissionFormat(signatureCanvas: ReactSignatureCanvas): SignatureData;
|
|
10
|
+
export declare function signatureDataToIdmissionFormat(signatureCanvas: ReactSignatureCanvas, imageUrl?: string | null): SignatureData;
|
|
11
|
+
export declare function exportSignatureImage(signaturePad: SignatureCanvas, exportWidth?: number): Promise<string | null>;
|
|
@@ -22,10 +22,11 @@ export type VideoSignatureSuccessVerbiage = {
|
|
|
22
22
|
};
|
|
23
23
|
export type VideoSignatureSuccessProps = {
|
|
24
24
|
videoUrl: string;
|
|
25
|
+
imageUrl: string;
|
|
25
26
|
onDoneClick?: () => void;
|
|
26
27
|
onRetryClick?: () => void;
|
|
27
28
|
classNames?: VideoSignatureSuccessClassNames;
|
|
28
29
|
colors?: VideoSignatureSuccessColors;
|
|
29
30
|
verbiage?: VideoSignatureSuccessVerbiage;
|
|
30
31
|
};
|
|
31
|
-
export declare const VideoSignatureSuccess: ({ videoUrl, onDoneClick, onRetryClick, classNames, colors, verbiage: rawVerbiage, }: VideoSignatureSuccessProps) => ReactElement;
|
|
32
|
+
export declare const VideoSignatureSuccess: ({ videoUrl, imageUrl, onDoneClick, onRetryClick, classNames, colors, verbiage: rawVerbiage, }: VideoSignatureSuccessProps) => ReactElement;
|
|
@@ -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.
|
|
237
|
+
var webSdkVersion = '2.1.24';
|
|
238
238
|
|
|
239
239
|
function getPlatform() {
|
|
240
240
|
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
@@ -11772,15 +11772,14 @@ var AdditionalDocumentCaptureWizard = function AdditionalDocumentCaptureWizard(_
|
|
|
11772
11772
|
});
|
|
11773
11773
|
};
|
|
11774
11774
|
|
|
11775
|
-
function signatureDataToIdmissionFormat(signatureCanvas) {
|
|
11776
|
-
|
|
11777
|
-
var dataURL = (_a = signatureCanvas.toDataURL()) !== null && _a !== void 0 ? _a : null;
|
|
11775
|
+
function signatureDataToIdmissionFormat(signatureCanvas, imageUrl) {
|
|
11776
|
+
imageUrl || (imageUrl = signatureCanvas.toDataURL());
|
|
11778
11777
|
var signatureData = {
|
|
11779
11778
|
clickX_simple: [],
|
|
11780
11779
|
clickY_simple: [],
|
|
11781
11780
|
time_simple: [],
|
|
11782
11781
|
pressure: '',
|
|
11783
|
-
fileContent:
|
|
11782
|
+
fileContent: imageUrl ? dataUrlToBase64Sync(imageUrl) : ''
|
|
11784
11783
|
};
|
|
11785
11784
|
signatureCanvas.toData().forEach(function (stroke) {
|
|
11786
11785
|
var xs = [];
|
|
@@ -11797,6 +11796,68 @@ function signatureDataToIdmissionFormat(signatureCanvas) {
|
|
|
11797
11796
|
});
|
|
11798
11797
|
return signatureData;
|
|
11799
11798
|
}
|
|
11799
|
+
function exportSignatureImage(signaturePad_1) {
|
|
11800
|
+
return __awaiter(this, arguments, void 0, function (signaturePad, exportWidth) {
|
|
11801
|
+
var signatureCanvas, scaledHeight, svgB64Url, svgContent, scaledSvgContent, scaledSvgUrl;
|
|
11802
|
+
if (exportWidth === void 0) {
|
|
11803
|
+
exportWidth = 600;
|
|
11804
|
+
}
|
|
11805
|
+
return __generator(this, function (_a) {
|
|
11806
|
+
switch (_a.label) {
|
|
11807
|
+
case 0:
|
|
11808
|
+
signatureCanvas = signaturePad.getCanvas();
|
|
11809
|
+
scaledHeight = signatureCanvas.height * exportWidth / signatureCanvas.width;
|
|
11810
|
+
svgB64Url = signaturePad.getSignaturePad()._toSVG();
|
|
11811
|
+
svgContent = atob(svgB64Url.replace('data:image/svg+xml;base64,', ''));
|
|
11812
|
+
scaledSvgContent = svgContent.replace(/width="[0-9.]+"/, "width=\"".concat(exportWidth, "\"")).replace(/height="[0-9.]+"/, "height=\"".concat(scaledHeight, "\"")).replace(/viewBox="0 0 [0-9.]+ [0-9.]+"/, "viewBox=\"0 0 ".concat(signatureCanvas.width, " ").concat(signatureCanvas.height, "\""));
|
|
11813
|
+
scaledSvgUrl = 'data:image/svg+xml;base64,' + btoa(scaledSvgContent);
|
|
11814
|
+
return [4 /*yield*/, convertSVGtoImg(scaledSvgUrl)];
|
|
11815
|
+
case 1:
|
|
11816
|
+
return [2 /*return*/, _a.sent()];
|
|
11817
|
+
}
|
|
11818
|
+
});
|
|
11819
|
+
});
|
|
11820
|
+
}
|
|
11821
|
+
function loadImage(url) {
|
|
11822
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
11823
|
+
var img;
|
|
11824
|
+
return __generator(this, function (_a) {
|
|
11825
|
+
img = document.createElement('img');
|
|
11826
|
+
img.src = url;
|
|
11827
|
+
return [2 /*return*/, new Promise(function (resolve, reject) {
|
|
11828
|
+
img.onload = function () {
|
|
11829
|
+
return resolve(img);
|
|
11830
|
+
};
|
|
11831
|
+
img.onerror = reject;
|
|
11832
|
+
})];
|
|
11833
|
+
});
|
|
11834
|
+
});
|
|
11835
|
+
}
|
|
11836
|
+
function convertSVGtoImg(svgData_1) {
|
|
11837
|
+
return __awaiter(this, arguments, void 0, function (svgData, format) {
|
|
11838
|
+
var img, canvas, ctx;
|
|
11839
|
+
if (format === void 0) {
|
|
11840
|
+
format = 'jpeg';
|
|
11841
|
+
}
|
|
11842
|
+
return __generator(this, function (_a) {
|
|
11843
|
+
switch (_a.label) {
|
|
11844
|
+
case 0:
|
|
11845
|
+
return [4 /*yield*/, loadImage(svgData)];
|
|
11846
|
+
case 1:
|
|
11847
|
+
img = _a.sent();
|
|
11848
|
+
canvas = document.createElement('canvas');
|
|
11849
|
+
canvas.width = img.naturalWidth;
|
|
11850
|
+
canvas.height = img.naturalHeight;
|
|
11851
|
+
ctx = canvas.getContext('2d');
|
|
11852
|
+
if (!ctx) return [2 /*return*/, null];
|
|
11853
|
+
ctx.fillStyle = 'white';
|
|
11854
|
+
ctx.fillRect(0, 0, canvas.width, canvas.height);
|
|
11855
|
+
ctx.drawImage(img, 0, 0, img.naturalWidth, img.naturalHeight);
|
|
11856
|
+
return [2 /*return*/, canvas.toDataURL("image/".concat(format), 1.0)];
|
|
11857
|
+
}
|
|
11858
|
+
});
|
|
11859
|
+
});
|
|
11860
|
+
}
|
|
11800
11861
|
|
|
11801
11862
|
var SignaturePaperBacking = styled__default.default.div(templateObject_1$c || (templateObject_1$c = __makeTemplateObject(["\n width: 100%;\n height: 100%;\n display: flex;\n flex-direction: column;\n ", "\n ", "\n ", "\n"], ["\n width: 100%;\n height: 100%;\n display: flex;\n flex-direction: column;\n ", "\n ", "\n ", "\n"])), function (props) {
|
|
11802
11863
|
var _a, _b;
|
|
@@ -11840,9 +11901,21 @@ var SignatureCapture = function SignatureCapture(_a) {
|
|
|
11840
11901
|
clearBtnText: 'Clear'
|
|
11841
11902
|
});
|
|
11842
11903
|
function onAcceptClicked() {
|
|
11843
|
-
|
|
11844
|
-
|
|
11845
|
-
|
|
11904
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
11905
|
+
var imageUrl, signatureData;
|
|
11906
|
+
return __generator(this, function (_a) {
|
|
11907
|
+
switch (_a.label) {
|
|
11908
|
+
case 0:
|
|
11909
|
+
if (!signaturePad.current) return [2 /*return*/];
|
|
11910
|
+
return [4 /*yield*/, exportSignatureImage(signaturePad.current)];
|
|
11911
|
+
case 1:
|
|
11912
|
+
imageUrl = _a.sent();
|
|
11913
|
+
signatureData = signatureDataToIdmissionFormat(signaturePad.current, imageUrl);
|
|
11914
|
+
onAccept === null || onAccept === void 0 ? void 0 : onAccept(signatureData, imageUrl !== null && imageUrl !== void 0 ? imageUrl : '');
|
|
11915
|
+
return [2 /*return*/];
|
|
11916
|
+
}
|
|
11917
|
+
});
|
|
11918
|
+
});
|
|
11846
11919
|
}
|
|
11847
11920
|
return /*#__PURE__*/React__namespace.default.createElement(PageContainer, {
|
|
11848
11921
|
className: classNames.container
|
|
@@ -12175,13 +12248,24 @@ var VideoSignatureCapture = function VideoSignatureCapture(_a) {
|
|
|
12175
12248
|
}
|
|
12176
12249
|
}, [numFramesWithoutFaces, onFaceNotDetected]);
|
|
12177
12250
|
function onAcceptClicked() {
|
|
12178
|
-
|
|
12179
|
-
|
|
12180
|
-
|
|
12181
|
-
|
|
12182
|
-
|
|
12183
|
-
|
|
12184
|
-
|
|
12251
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
12252
|
+
var imageUrl;
|
|
12253
|
+
var _a;
|
|
12254
|
+
return __generator(this, function (_b) {
|
|
12255
|
+
switch (_b.label) {
|
|
12256
|
+
case 0:
|
|
12257
|
+
if (!signaturePad.current) return [2 /*return*/];
|
|
12258
|
+
return [4 /*yield*/, exportSignatureImage(signaturePad.current)];
|
|
12259
|
+
case 1:
|
|
12260
|
+
imageUrl = _b.sent();
|
|
12261
|
+
setSignatureDataUrl(imageUrl);
|
|
12262
|
+
setSignatureData(signatureDataToIdmissionFormat(signaturePad.current, imageUrl));
|
|
12263
|
+
stopRecordingVideo();
|
|
12264
|
+
(_a = signatureRecorder.current) === null || _a === void 0 ? void 0 : _a.stop();
|
|
12265
|
+
return [2 /*return*/];
|
|
12266
|
+
}
|
|
12267
|
+
});
|
|
12268
|
+
});
|
|
12185
12269
|
}
|
|
12186
12270
|
return /*#__PURE__*/React__namespace.default.createElement(PageContainer, {
|
|
12187
12271
|
className: "flex ".concat((_b = classNames.container) !== null && _b !== void 0 ? _b : '')
|
|
@@ -12231,6 +12315,7 @@ var templateObject_1$a;
|
|
|
12231
12315
|
|
|
12232
12316
|
var VideoSignatureSuccess = function VideoSignatureSuccess(_a) {
|
|
12233
12317
|
var videoUrl = _a.videoUrl,
|
|
12318
|
+
imageUrl = _a.imageUrl,
|
|
12234
12319
|
onDoneClick = _a.onDoneClick,
|
|
12235
12320
|
onRetryClick = _a.onRetryClick,
|
|
12236
12321
|
_b = _a.classNames,
|
|
@@ -12259,6 +12344,12 @@ var VideoSignatureSuccess = function VideoSignatureSuccess(_a) {
|
|
|
12259
12344
|
controls: true,
|
|
12260
12345
|
preload: "metadata",
|
|
12261
12346
|
autoPlay: true
|
|
12347
|
+
}), /*#__PURE__*/React__namespace.default.createElement("img", {
|
|
12348
|
+
src: imageUrl,
|
|
12349
|
+
alt: "",
|
|
12350
|
+
style: {
|
|
12351
|
+
display: 'none'
|
|
12352
|
+
}
|
|
12262
12353
|
})), /*#__PURE__*/React__namespace.default.createElement(ButtonsRow, {
|
|
12263
12354
|
className: classNames.buttonsRow
|
|
12264
12355
|
}, /*#__PURE__*/React__namespace.default.createElement(LoaderButton, {
|
|
@@ -12366,18 +12457,22 @@ var VideoSignatureWizard = function VideoSignatureWizard(_a) {
|
|
|
12366
12457
|
});
|
|
12367
12458
|
});
|
|
12368
12459
|
}, [logCaptureMetadata, selfieImage, setSelfieImage]);
|
|
12460
|
+
var _p = React.useState(null),
|
|
12461
|
+
signatureImageUrl = _p[0],
|
|
12462
|
+
setSignatureImageUrl = _p[1];
|
|
12369
12463
|
var onSignatureCaptureCompleted = React.useCallback(function (videoData, signatureData, signatureImageData) {
|
|
12370
12464
|
setSignatureData(signatureData);
|
|
12371
12465
|
setSignatureVideoUrl(URL.createObjectURL(videoData));
|
|
12466
|
+
setSignatureImageUrl(signatureImageData);
|
|
12372
12467
|
setCaptureState('SUCCESS');
|
|
12373
12468
|
onVideoCaptured === null || onVideoCaptured === void 0 ? void 0 : onVideoCaptured(videoData, signatureData, signatureImageData);
|
|
12374
12469
|
}, [onVideoCaptured, setSignatureData, setSignatureVideoUrl]);
|
|
12375
12470
|
var onSignatureCaptureFacesNotDetected = React.useCallback(function () {
|
|
12376
12471
|
setCaptureState('CHECKING_LIVENESS');
|
|
12377
12472
|
}, []);
|
|
12378
|
-
var
|
|
12379
|
-
attempt =
|
|
12380
|
-
setAttempt =
|
|
12473
|
+
var _q = React.useState(0),
|
|
12474
|
+
attempt = _q[0],
|
|
12475
|
+
setAttempt = _q[1];
|
|
12381
12476
|
var onExit = React.useCallback(function () {
|
|
12382
12477
|
releaseCameraAccess();
|
|
12383
12478
|
setAttempt(function (n) {
|
|
@@ -12429,6 +12524,7 @@ var VideoSignatureWizard = function VideoSignatureWizard(_a) {
|
|
|
12429
12524
|
if (!showSuccessScreen) return;
|
|
12430
12525
|
return /*#__PURE__*/React__namespace.default.createElement(VideoSignatureSuccess, {
|
|
12431
12526
|
videoUrl: signatureVideoUrl !== null && signatureVideoUrl !== void 0 ? signatureVideoUrl : '',
|
|
12527
|
+
imageUrl: signatureImageUrl !== null && signatureImageUrl !== void 0 ? signatureImageUrl : '',
|
|
12432
12528
|
onDoneClick: onComplete,
|
|
12433
12529
|
onRetryClick: onRetry,
|
|
12434
12530
|
classNames: classNames.success,
|