idmission-web-sdk 2.3.12 → 2.3.14

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.
@@ -1 +1 @@
1
- {"version":3,"file":"VideoSignatureContext.d.ts","sourceRoot":"","sources":["../../../src/components/video_signature_capture/VideoSignatureContext.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAEZ,SAAS,EAOV,MAAM,OAAO,CAAA;AACd,OAAO,EAGL,aAAa,EACd,MAAM,2BAA2B,CAAA;AAClC,OAAO,eAAe,MAAM,wBAAwB,CAAA;AAsBpD,MAAM,MAAM,mBAAmB,GAAG;IAChC,cAAc,EAAE,MAAM,IAAI,CAAA;IAC1B,aAAa,EAAE,MAAM,IAAI,CAAA;IACzB,iBAAiB,EAAE,MAAM,IAAI,CAAA;IAC7B,WAAW,EAAE,OAAO,CAAA;IACpB,YAAY,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,eAAe,CAAC,CAAA;IAC/C,aAAa,EAAE,aAAa,GAAG,IAAI,CAAA;IACnC,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAA;IAC/B,kBAAkB,EAAE,IAAI,GAAG,IAAI,CAAA;IAC/B,iBAAiB,EAAE,MAAM,GAAG,IAAI,CAAA;IAEhC,eAAe,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;CACrC,CAAA;AAeD,eAAO,MAAM,qBAAqB,oCAEjC,CAAA;AAED,MAAM,CAAC,OAAO,UAAU,6BAA6B,CAAC,EACpD,QAAQ,EACR,YAAoB,GACrB,EAAE;IACD,QAAQ,EAAE,SAAS,CAAA;IACnB,YAAY,CAAC,EAAE,OAAO,CAAA;CACvB,qBAmMA;AAED,wBAAgB,wBAAwB,wBAOvC"}
1
+ {"version":3,"file":"VideoSignatureContext.d.ts","sourceRoot":"","sources":["../../../src/components/video_signature_capture/VideoSignatureContext.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAEZ,SAAS,EAOV,MAAM,OAAO,CAAA;AACd,OAAO,EAGL,aAAa,EACd,MAAM,2BAA2B,CAAA;AAClC,OAAO,eAAe,MAAM,wBAAwB,CAAA;AAgCpD,MAAM,MAAM,mBAAmB,GAAG;IAChC,cAAc,EAAE,MAAM,IAAI,CAAA;IAC1B,aAAa,EAAE,MAAM,IAAI,CAAA;IACzB,iBAAiB,EAAE,MAAM,IAAI,CAAA;IAC7B,WAAW,EAAE,OAAO,CAAA;IACpB,YAAY,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,eAAe,CAAC,CAAA;IAC/C,aAAa,EAAE,aAAa,GAAG,IAAI,CAAA;IACnC,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAA;IAC/B,kBAAkB,EAAE,IAAI,GAAG,IAAI,CAAA;IAC/B,iBAAiB,EAAE,MAAM,GAAG,IAAI,CAAA;IAEhC,eAAe,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;CACrC,CAAA;AAeD,eAAO,MAAM,qBAAqB,oCAEjC,CAAA;AAED,MAAM,CAAC,OAAO,UAAU,6BAA6B,CAAC,EACpD,QAAQ,EACR,YAAoB,GACrB,EAAE;IACD,QAAQ,EAAE,SAAS,CAAA;IACnB,YAAY,CAAC,EAAE,OAAO,CAAA;CACvB,qBA+LA;AAED,wBAAgB,wBAAwB,wBAOvC"}
@@ -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.12';
238
+ var webSdkVersion = '2.3.14';
239
239
 
240
240
  function getPlatform() {
241
241
  // eslint-disable-next-line @typescript-eslint/ban-ts-comment
@@ -13522,15 +13522,34 @@ var useVideoRecorder = function useVideoRecorder(camera, audioStream, mergeAVStr
13522
13522
  };
13523
13523
 
13524
13524
  var signatureRecorder = null;
13525
- function getSignatureRecorder() {
13525
+ var getSignatureRecorder = function getSignatureRecorder() {
13526
13526
  return signatureRecorder;
13527
- }
13528
- function setSignatureRecorder(recorder) {
13529
- signatureRecorder = recorder;
13530
- }
13527
+ };
13528
+ var setSignatureRecorder = function setSignatureRecorder(recorder) {
13529
+ return signatureRecorder = recorder;
13530
+ };
13531
13531
  var signatureChunks = [];
13532
- function clearSignatureChunks() {
13533
- signatureChunks = [];
13532
+ var clearSignatureChunks = function clearSignatureChunks() {
13533
+ return signatureChunks = [];
13534
+ };
13535
+ var recordingLock = false;
13536
+ var setRecordingLock = function setRecordingLock(lock) {
13537
+ return recordingLock = lock;
13538
+ };
13539
+ var recordingLockEngaged = function recordingLockEngaged() {
13540
+ return recordingLock;
13541
+ };
13542
+ function waitForCanvasAvailable(canvasRef) {
13543
+ if (canvasRef.current) return Promise.resolve(null);
13544
+ return new Promise(function (resolve) {
13545
+ var interval = setInterval(function () {
13546
+ log('VideoSignatureContext: waiting for output canvas');
13547
+ if (canvasRef.current) {
13548
+ clearInterval(interval);
13549
+ resolve(null);
13550
+ }
13551
+ }, 100);
13552
+ });
13534
13553
  }
13535
13554
  var videoSignatureInitialState = {
13536
13555
  startRecording: function startRecording() {
@@ -13587,7 +13606,6 @@ function VideoSignatureContextProvider(_a) {
13587
13606
  stopRecordingAudio = _k.stopRecordingAudio,
13588
13607
  clearRecordedVideoData = _k.clearRecordedData;
13589
13608
  var outputCanvas = React.useRef(null);
13590
- var recordingLock = React.useRef(false);
13591
13609
  var onRecordingStopped = React.useRef(function () {});
13592
13610
  var _l = React.useState(false),
13593
13611
  isRecording = _l[0],
@@ -13606,67 +13624,46 @@ function VideoSignatureContextProvider(_a) {
13606
13624
  setIsRecording(true);
13607
13625
  onRecordingStopped.current = function () {};
13608
13626
  };
13609
- recordingLock.current = false;
13627
+ setRecordingLock(false);
13610
13628
  setIsRecording(false);
13611
13629
  (_a = getSignatureRecorder()) === null || _a === void 0 ? void 0 : _a.stop();
13612
13630
  setSignatureRecorder(null);
13613
13631
  }, []);
13614
13632
  React.useEffect(function () {
13615
13633
  if (!isRecording) return;
13616
- if (recordingLock.current) return;
13617
- recordingLock.current = true;
13618
- (function () {
13619
- return __awaiter(_this, void 0, void 0, function () {
13620
- var stream, tracks, audioTrack, signatureRecorder;
13621
- var _a;
13622
- return __generator(this, function (_b) {
13623
- switch (_b.label) {
13624
- case 0:
13625
- if (!!outputCanvas.current) return [3 /*break*/, 2];
13626
- return [4 /*yield*/, new Promise(function (resolve) {
13627
- var interval = setInterval(function () {
13628
- if (outputCanvas.current) {
13629
- clearInterval(interval);
13630
- resolve(null);
13631
- }
13632
- }, 10);
13633
- })];
13634
- case 1:
13635
- _b.sent();
13636
- _b.label = 2;
13637
- case 2:
13638
- clearSignatureChunks();
13639
- clearRecordedVideoData();
13640
- startRecordingVideo();
13641
- if (captureAudio) startRecordingAudio();
13642
- stream = outputCanvas.current.captureStream(24 /* fps */);
13643
- tracks = [stream.getVideoTracks()[0]];
13644
- audioTrack = (_a = audioStream === null || audioStream === void 0 ? void 0 : audioStream.getAudioTracks()) === null || _a === void 0 ? void 0 : _a[0];
13645
- if (audioTrack) tracks.push(audioTrack);
13646
- signatureRecorder = new MediaRecorder(new MediaStream(tracks), {
13647
- videoBitsPerSecond: 270000,
13648
- audioBitsPerSecond: 32000
13649
- });
13650
- setSignatureRecorder(signatureRecorder);
13651
- signatureRecorder.start();
13652
- signatureRecorder.ondataavailable = function (event) {
13653
- signatureChunks.push(event.data);
13654
- };
13655
- signatureRecorder.onstop = function () {
13656
- var blob = new Blob(signatureChunks, {
13657
- type: 'video/mp4'
13658
- });
13659
- setSignatureVideoData(blob);
13660
- setSignatureVideoUrl(URL.createObjectURL(blob));
13661
- clearSignatureChunks();
13662
- setSignatureRecorder(null);
13663
- onRecordingStopped.current();
13664
- };
13665
- return [2 /*return*/];
13666
- }
13667
- });
13634
+ if (recordingLockEngaged()) return;
13635
+ setRecordingLock(true);
13636
+ waitForCanvasAvailable(outputCanvas).then(function () {
13637
+ var _a;
13638
+ clearSignatureChunks();
13639
+ clearRecordedVideoData();
13640
+ startRecordingVideo();
13641
+ if (captureAudio) startRecordingAudio();
13642
+ var stream = outputCanvas.current.captureStream(24 /* fps */);
13643
+ var tracks = [stream.getVideoTracks()[0]];
13644
+ var audioTrack = (_a = audioStream === null || audioStream === void 0 ? void 0 : audioStream.getAudioTracks()) === null || _a === void 0 ? void 0 : _a[0];
13645
+ if (audioTrack) tracks.push(audioTrack);
13646
+ var signatureRecorder = new MediaRecorder(new MediaStream(tracks), {
13647
+ videoBitsPerSecond: 270000,
13648
+ audioBitsPerSecond: 32000
13668
13649
  });
13669
- })();
13650
+ setSignatureRecorder(signatureRecorder);
13651
+ signatureRecorder.ondataavailable = function (event) {
13652
+ signatureChunks.push(event.data);
13653
+ };
13654
+ signatureRecorder.onstop = function () {
13655
+ log('VideoSignatureContext: onstop');
13656
+ var blob = new Blob(signatureChunks, {
13657
+ type: 'video/mp4'
13658
+ });
13659
+ setSignatureVideoData(blob);
13660
+ setSignatureVideoUrl(URL.createObjectURL(blob));
13661
+ clearSignatureChunks();
13662
+ setSignatureRecorder(null);
13663
+ onRecordingStopped.current();
13664
+ };
13665
+ signatureRecorder.start(1000);
13666
+ });
13670
13667
  }, [audioStream, captureAudio, clearRecordedVideoData, isRecording, startRecordingAudio, startRecordingVideo]);
13671
13668
  var animationFrame = React.useRef(0);
13672
13669
  React.useEffect(function () {
@@ -13708,16 +13705,22 @@ function VideoSignatureContextProvider(_a) {
13708
13705
  return __generator(this, function (_b) {
13709
13706
  switch (_b.label) {
13710
13707
  case 0:
13708
+ log('VideoSignatureContext: onAcceptClicked');
13711
13709
  if (!signaturePad.current) return [2 /*return*/];
13710
+ log('VideoSignatureContext: building signature data...');
13712
13711
  signatureData = buildSignatureData(signaturePad.current);
13712
+ log('VideoSignatureContext: exporting signature image...');
13713
13713
  return [4 /*yield*/, exportSignatureImage(signaturePad.current)];
13714
13714
  case 1:
13715
13715
  imageUrl = _b.sent();
13716
13716
  if (imageUrl) signatureData.fileContent = dataUrlToBase64Sync(imageUrl);
13717
+ log('VideoSignatureContext: setting signature data url...');
13717
13718
  setSignatureDataUrl(imageUrl);
13718
13719
  setSignatureData(signatureData);
13720
+ log('VideoSignatureContext: stopping recording...');
13719
13721
  stopRecordingVideo();
13720
13722
  stopRecordingAudio();
13723
+ log('VideoSignatureContext: stopping signature recorder...');
13721
13724
  (_a = getSignatureRecorder()) === null || _a === void 0 ? void 0 : _a.stop();
13722
13725
  return [2 /*return*/];
13723
13726
  }