idmission-web-sdk 2.3.21 → 2.3.23

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.
@@ -22,7 +22,7 @@ export type VideoSignatureCaptureVerbiage = {
22
22
  guides?: VideoSignatureGuidesVerbiage;
23
23
  };
24
24
  export type VideoSignatureCaptureProps = {
25
- onVideoCaptured?: (videoData: Blob, signatureData: SignatureData, signatureImageData: string) => void;
25
+ onSignatureVideoCaptured?: (videoData: Blob, signatureData: SignatureData, signatureImageData: string | null) => void;
26
26
  onFaceNotDetected?: () => void;
27
27
  onExit?: () => void;
28
28
  restartVideoOnSignaturePadCleared?: boolean;
@@ -35,5 +35,5 @@ export type VideoSignatureCaptureProps = {
35
35
  verbiage?: VideoSignatureCaptureVerbiage;
36
36
  debugMode?: boolean;
37
37
  };
38
- export declare const VideoSignatureCapture: ({ onVideoCaptured, onFaceNotDetected, onExit, restartVideoOnSignaturePadCleared, guidesComponent, minSignaturePadPoints, headTrackingBoundaryPercentage, captureAudio, classNames, colors, verbiage: rawVerbiage, debugMode, }: VideoSignatureCaptureProps) => React.ReactElement;
38
+ export declare const VideoSignatureCapture: ({ onSignatureVideoCaptured, onFaceNotDetected, onExit, restartVideoOnSignaturePadCleared, guidesComponent, minSignaturePadPoints, headTrackingBoundaryPercentage, captureAudio, classNames, colors, verbiage: rawVerbiage, debugMode, }: VideoSignatureCaptureProps) => React.ReactElement;
39
39
  //# sourceMappingURL=VideoSignatureCapture.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"VideoSignatureCapture.d.ts","sourceRoot":"","sources":["../../../src/components/video_signature_capture/VideoSignatureCapture.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,aAAa,EAAoC,MAAM,OAAO,CAAA;AAC9E,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAA;AAazD,OAAO,EAAE,wBAAwB,EAAmB,MAAM,mBAAmB,CAAA;AAC7E,OAAO,EAAE,4BAA4B,EAAE,MAAM,0CAA0C,CAAA;AACvF,OAA6B,EAC3B,8BAA8B,EAC9B,4BAA4B,EAC7B,MAAM,wBAAwB,CAAA;AAS/B,eAAO,MAAM,gCAAgC,KAAK,CAAA;AAClD,eAAO,MAAM,yCAAyC,OAAO,CAAA;AAE7D,MAAM,MAAM,+BAA+B,GAAG;IAC5C,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,wBAAwB,CAAC,EAAE,MAAM,CAAA;IACjC,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,MAAM,CAAC,EAAE,8BAA8B,CAAA;CACxC,CAAA;AAED,MAAM,MAAM,2BAA2B,GAAG;IACxC,8BAA8B,CAAC,EAAE,MAAM,CAAA;IACvC,wBAAwB,CAAC,EAAE,MAAM,CAAA;CAClC,CAAA;AAED,MAAM,MAAM,6BAA6B,GAAG;IAC1C,mBAAmB,CAAC,EAAE,wBAAwB,CAAA;IAC9C,MAAM,CAAC,EAAE,4BAA4B,CAAA;CACtC,CAAA;AAED,MAAM,MAAM,0BAA0B,GAAG;IACvC,eAAe,CAAC,EAAE,CAChB,SAAS,EAAE,IAAI,EACf,aAAa,EAAE,aAAa,EAC5B,kBAAkB,EAAE,MAAM,KACvB,IAAI,CAAA;IACT,iBAAiB,CAAC,EAAE,MAAM,IAAI,CAAA;IAC9B,MAAM,CAAC,EAAE,MAAM,IAAI,CAAA;IACnB,iCAAiC,CAAC,EAAE,OAAO,CAAA;IAC3C,eAAe,CAAC,EAAE,aAAa,CAAC,4BAA4B,CAAC,CAAA;IAC7D,qBAAqB,CAAC,EAAE,MAAM,CAAA;IAC9B,8BAA8B,CAAC,EAAE,MAAM,CAAA;IACvC,YAAY,CAAC,EAAE,OAAO,CAAA;IACtB,UAAU,CAAC,EAAE,+BAA+B,CAAA;IAC5C,MAAM,CAAC,EAAE,2BAA2B,CAAA;IACpC,QAAQ,CAAC,EAAE,6BAA6B,CAAA;IACxC,SAAS,CAAC,EAAE,OAAO,CAAA;CACpB,CAAA;AAED,eAAO,MAAM,qBAAqB,mOAa/B,0BAA0B,KAAG,KAAK,CAAC,YAiJrC,CAAA"}
1
+ {"version":3,"file":"VideoSignatureCapture.d.ts","sourceRoot":"","sources":["../../../src/components/video_signature_capture/VideoSignatureCapture.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,aAAa,EAAoC,MAAM,OAAO,CAAA;AAC9E,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAA;AAazD,OAAO,EAAE,wBAAwB,EAAmB,MAAM,mBAAmB,CAAA;AAC7E,OAAO,EAAE,4BAA4B,EAAE,MAAM,0CAA0C,CAAA;AACvF,OAA6B,EAC3B,8BAA8B,EAC9B,4BAA4B,EAC7B,MAAM,wBAAwB,CAAA;AAS/B,eAAO,MAAM,gCAAgC,KAAK,CAAA;AAClD,eAAO,MAAM,yCAAyC,OAAO,CAAA;AAE7D,MAAM,MAAM,+BAA+B,GAAG;IAC5C,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,wBAAwB,CAAC,EAAE,MAAM,CAAA;IACjC,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,MAAM,CAAC,EAAE,8BAA8B,CAAA;CACxC,CAAA;AAED,MAAM,MAAM,2BAA2B,GAAG;IACxC,8BAA8B,CAAC,EAAE,MAAM,CAAA;IACvC,wBAAwB,CAAC,EAAE,MAAM,CAAA;CAClC,CAAA;AAED,MAAM,MAAM,6BAA6B,GAAG;IAC1C,mBAAmB,CAAC,EAAE,wBAAwB,CAAA;IAC9C,MAAM,CAAC,EAAE,4BAA4B,CAAA;CACtC,CAAA;AAED,MAAM,MAAM,0BAA0B,GAAG;IACvC,wBAAwB,CAAC,EAAE,CACzB,SAAS,EAAE,IAAI,EACf,aAAa,EAAE,aAAa,EAC5B,kBAAkB,EAAE,MAAM,GAAG,IAAI,KAC9B,IAAI,CAAA;IACT,iBAAiB,CAAC,EAAE,MAAM,IAAI,CAAA;IAC9B,MAAM,CAAC,EAAE,MAAM,IAAI,CAAA;IACnB,iCAAiC,CAAC,EAAE,OAAO,CAAA;IAC3C,eAAe,CAAC,EAAE,aAAa,CAAC,4BAA4B,CAAC,CAAA;IAC7D,qBAAqB,CAAC,EAAE,MAAM,CAAA;IAC9B,8BAA8B,CAAC,EAAE,MAAM,CAAA;IACvC,YAAY,CAAC,EAAE,OAAO,CAAA;IACtB,UAAU,CAAC,EAAE,+BAA+B,CAAA;IAC5C,MAAM,CAAC,EAAE,2BAA2B,CAAA;IACpC,QAAQ,CAAC,EAAE,6BAA6B,CAAA;IACxC,SAAS,CAAC,EAAE,OAAO,CAAA;CACpB,CAAA;AAED,eAAO,MAAM,qBAAqB,4OAa/B,0BAA0B,KAAG,KAAK,CAAC,YAwIrC,CAAA"}
@@ -2,19 +2,14 @@ import React, { ReactNode } from 'react';
2
2
  import { SignatureData } from '../signature_capture/data';
3
3
  import SignatureCanvas from 'react-signature-canvas';
4
4
  import { Camera } from '../../lib/camera/Camera';
5
- export declare const getSignatureRecorder: () => MediaRecorder | null;
6
5
  export type VideoSignatureState = {
7
6
  startRecording: (camera: Camera, audioStream?: MediaStream | null, captureAudio?: boolean) => void;
8
7
  stopRecording: () => void;
9
8
  clearRecordedData: () => void;
10
9
  isRecording: boolean;
11
10
  signaturePad: React.RefObject<SignatureCanvas>;
12
- signatureData: SignatureData | null;
13
- signatureDataUrl: string | null;
14
- signatureVideoData: Blob | null;
15
- signatureVideoUrl: string | null;
16
11
  outputCanvas: React.RefObject<HTMLCanvasElement>;
17
- onAcceptClicked: () => Promise<void>;
12
+ onSignatureVideoCaptured: (videoData: Blob, signatureData: SignatureData, signatureImageData: string | null) => void;
18
13
  };
19
14
  export declare const useVideoSignatureStore: import("zustand").UseBoundStore<Omit<import("zustand").StoreApi<VideoSignatureState>, "setState"> & {
20
15
  setState(partial: VideoSignatureState | Partial<VideoSignatureState> | ((state: VideoSignatureState) => VideoSignatureState | Partial<VideoSignatureState>), replace?: false | undefined, action?: (string | {
@@ -1 +1 @@
1
- {"version":3,"file":"VideoSignatureContext.d.ts","sourceRoot":"","sources":["../../../src/components/video_signature_capture/VideoSignatureContext.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,SAAS,EAAqB,MAAM,OAAO,CAAA;AAC3D,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAA;AACzD,OAAO,eAAe,MAAM,wBAAwB,CAAA;AAUpD,OAAO,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAA;AAGhD,eAAO,MAAM,oBAAoB,4BAA0B,CAAA;AAO3D,MAAM,MAAM,mBAAmB,GAAG;IAChC,cAAc,EAAE,CACd,MAAM,EAAE,MAAM,EACd,WAAW,CAAC,EAAE,WAAW,GAAG,IAAI,EAChC,YAAY,CAAC,EAAE,OAAO,KACnB,IAAI,CAAA;IACT,aAAa,EAAE,MAAM,IAAI,CAAA;IACzB,iBAAiB,EAAE,MAAM,IAAI,CAAA;IAC7B,WAAW,EAAE,OAAO,CAAA;IACpB,YAAY,EAAE,KAAK,CAAC,SAAS,CAAC,eAAe,CAAC,CAAA;IAC9C,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;IAChC,YAAY,EAAE,KAAK,CAAC,SAAS,CAAC,iBAAiB,CAAC,CAAA;IAEhD,eAAe,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;CACrC,CAAA;AAiBD,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;EA6DlC,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,qBAyEA"}
1
+ {"version":3,"file":"VideoSignatureContext.d.ts","sourceRoot":"","sources":["../../../src/components/video_signature_capture/VideoSignatureContext.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,SAAS,EAAkC,MAAM,OAAO,CAAA;AACxE,OAAO,EAGL,aAAa,EACd,MAAM,2BAA2B,CAAA;AAClC,OAAO,eAAe,MAAM,wBAAwB,CAAA;AASpD,OAAO,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAA;AAOhD,MAAM,MAAM,mBAAmB,GAAG;IAChC,cAAc,EAAE,CACd,MAAM,EAAE,MAAM,EACd,WAAW,CAAC,EAAE,WAAW,GAAG,IAAI,EAChC,YAAY,CAAC,EAAE,OAAO,KACnB,IAAI,CAAA;IACT,aAAa,EAAE,MAAM,IAAI,CAAA;IACzB,iBAAiB,EAAE,MAAM,IAAI,CAAA;IAC7B,WAAW,EAAE,OAAO,CAAA;IACpB,YAAY,EAAE,KAAK,CAAC,SAAS,CAAC,eAAe,CAAC,CAAA;IAC9C,YAAY,EAAE,KAAK,CAAC,SAAS,CAAC,iBAAiB,CAAC,CAAA;IAEhD,wBAAwB,EAAE,CACxB,SAAS,EAAE,IAAI,EACf,aAAa,EAAE,aAAa,EAC5B,kBAAkB,EAAE,MAAM,GAAG,IAAI,KAC9B,IAAI,CAAA;CACV,CAAA;AAaD,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;EA+DlC,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,qBA6DA"}
@@ -1 +1 @@
1
- {"version":3,"file":"VideoSignatureGuides.d.ts","sourceRoot":"","sources":["../../../src/components/video_signature_capture/VideoSignatureGuides.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA4D,MAAM,OAAO,CAAA;AAChF,OAAO,EAAE,eAAe,EAAE,MAAM,0CAA0C,CAAA;AAM1E,OAAO,EAAE,wBAAwB,EAAmB,MAAM,mBAAmB,CAAA;AAY7E,MAAM,MAAM,MAAM,GAAG,iBAAiB,GAAG,mBAAmB,CAAA;AAE5D,MAAM,MAAM,8BAA8B,GAAG;IAC3C,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,kBAAkB,CAAC,EAAE,MAAM,CAAA;IAC3B,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,qBAAqB,CAAC,EAAE,MAAM,CAAA;IAC9B,wBAAwB,CAAC,EAAE,MAAM,CAAA;IACjC,oBAAoB,CAAC,EAAE,MAAM,CAAA;IAC7B,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,mBAAmB,CAAC,EAAE,MAAM,CAAA;IAC5B,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAC1B,kBAAkB,CAAC,EAAE,MAAM,CAAA;IAC3B,qBAAqB,CAAC,EAAE,MAAM,CAAA;IAC9B,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAC1B,uCAAuC,CAAC,EAAE,MAAM,CAAA;IAChD,mCAAmC,CAAC,EAAE,MAAM,CAAA;CAC7C,CAAA;AAED,MAAM,MAAM,4BAA4B,GAAG;IACzC,qBAAqB,CAAC,EAAE,wBAAwB,CAAA;IAChD,2BAA2B,CAAC,EAAE,wBAAwB,CAAA;IACtD,qBAAqB,CAAC,EAAE,wBAAwB,CAAA;IAChD,sBAAsB,CAAC,EAAE,wBAAwB,CAAA;CAClD,CAAA;AAED,MAAM,CAAC,OAAO,UAAU,oBAAoB,CAAC,EAC3C,eAAmC,EACnC,eAA2B,EAC3B,oBAAoB,EACpB,oBAAoB,EACpB,0BAA0B,EAC1B,qBAAwD,EACxD,qBAA4B,EAC5B,UAAe,EACf,QAAQ,EAAE,WAAgB,GAC3B,EAAE;IACD,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,eAAe,CAAC,EAAE,eAAe,CAAA;IACjC,oBAAoB,CAAC,EAAE,MAAM,CAAA;IAC7B,oBAAoB,CAAC,EAAE,MAAM,CAAA;IAC7B,0BAA0B,CAAC,EAAE,MAAM,IAAI,CAAA;IACvC,qBAAqB,CAAC,EAAE,MAAM,CAAA;IAC9B,qBAAqB,CAAC,EAAE,OAAO,CAAA;IAC/B,UAAU,CAAC,EAAE,8BAA8B,CAAA;IAC3C,QAAQ,CAAC,EAAE,4BAA4B,CAAA;CACxC,qBA8JA"}
1
+ {"version":3,"file":"VideoSignatureGuides.d.ts","sourceRoot":"","sources":["../../../src/components/video_signature_capture/VideoSignatureGuides.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA4D,MAAM,OAAO,CAAA;AAChF,OAAO,EAAE,eAAe,EAAE,MAAM,0CAA0C,CAAA;AAM1E,OAAO,EAAE,wBAAwB,EAAmB,MAAM,mBAAmB,CAAA;AAM7E,MAAM,MAAM,MAAM,GAAG,iBAAiB,GAAG,mBAAmB,CAAA;AAE5D,MAAM,MAAM,8BAA8B,GAAG;IAC3C,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,kBAAkB,CAAC,EAAE,MAAM,CAAA;IAC3B,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,qBAAqB,CAAC,EAAE,MAAM,CAAA;IAC9B,wBAAwB,CAAC,EAAE,MAAM,CAAA;IACjC,oBAAoB,CAAC,EAAE,MAAM,CAAA;IAC7B,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,mBAAmB,CAAC,EAAE,MAAM,CAAA;IAC5B,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAC1B,kBAAkB,CAAC,EAAE,MAAM,CAAA;IAC3B,qBAAqB,CAAC,EAAE,MAAM,CAAA;IAC9B,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAC1B,uCAAuC,CAAC,EAAE,MAAM,CAAA;IAChD,mCAAmC,CAAC,EAAE,MAAM,CAAA;CAC7C,CAAA;AAED,MAAM,MAAM,4BAA4B,GAAG;IACzC,qBAAqB,CAAC,EAAE,wBAAwB,CAAA;IAChD,2BAA2B,CAAC,EAAE,wBAAwB,CAAA;IACtD,qBAAqB,CAAC,EAAE,wBAAwB,CAAA;IAChD,sBAAsB,CAAC,EAAE,wBAAwB,CAAA;CAClD,CAAA;AAED,MAAM,CAAC,OAAO,UAAU,oBAAoB,CAAC,EAC3C,eAAmC,EACnC,eAA2B,EAC3B,oBAAoB,EACpB,oBAAoB,EACpB,0BAA0B,EAC1B,qBAAwD,EACxD,qBAA4B,EAC5B,UAAe,EACf,QAAQ,EAAE,WAAgB,GAC3B,EAAE;IACD,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,eAAe,CAAC,EAAE,eAAe,CAAA;IACjC,oBAAoB,CAAC,EAAE,MAAM,CAAA;IAC7B,oBAAoB,CAAC,EAAE,MAAM,CAAA;IAC7B,0BAA0B,CAAC,EAAE,MAAM,IAAI,CAAA;IACvC,qBAAqB,CAAC,EAAE,MAAM,CAAA;IAC9B,qBAAqB,CAAC,EAAE,OAAO,CAAA;IAC/B,UAAU,CAAC,EAAE,8BAA8B,CAAA;IAC3C,QAAQ,CAAC,EAAE,4BAA4B,CAAA;CACxC,qBAgJA"}
@@ -29,7 +29,7 @@ export type VideoSignatureWizardProps = {
29
29
  onLoadingProgress?: (progress: number) => void;
30
30
  onLoadingCompleted?: () => void;
31
31
  onComplete?: () => void;
32
- onVideoCaptured?: (videoData: Blob, signatureData: SignatureData, signatureImageData: string) => void;
32
+ onVideoCaptured?: (videoData: Blob, signatureData: SignatureData, signatureImageData: string | null) => void;
33
33
  onRetryClicked?: () => void;
34
34
  onExitCapture?: () => void;
35
35
  onUserCancel?: () => void;
@@ -1 +1 @@
1
- {"version":3,"file":"VideoSignatureWizard.d.ts","sourceRoot":"","sources":["../../../src/components/video_signature_capture/VideoSignatureWizard.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EACZ,YAAY,EACZ,SAAS,EAMV,MAAM,OAAO,CAAA;AACd,OAAO,EAIL,+BAA+B,EAC/B,2BAA2B,EAC3B,6BAA6B,EAC9B,MAAM,yBAAyB,CAAA;AAChC,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAA;AACzD,OAAO,EAEL,+BAA+B,EAC/B,2BAA2B,EAC3B,6BAA6B,EAC9B,MAAM,yBAAyB,CAAA;AAChC,OAAO,EACL,kBAAkB,EAClB,sBAAsB,EACtB,kBAAkB,EAClB,oBAAoB,EAEpB,uBAAuB,EACxB,MAAM,qCAAqC,CAAA;AAG5C,OAAO,EAAE,+BAA+B,EAAE,MAAM,+CAA+C,CAAA;AAO/F,OAA6B,EAE3B,4BAA4B,EAC7B,MAAM,wBAAwB,CAAA;AAI/B,OAAO,EAEL,6BAA6B,EAC7B,2BAA2B,EAE5B,MAAM,8BAA8B,CAAA;AAcrC,MAAM,MAAM,oBAAoB,GAAG;IACjC,YAAY,CAAC,EAAE,kBAAkB,CAAA;CAClC,CAAA;AAED,MAAM,MAAM,wBAAwB,GAAG,+BAA+B,GAAG;IACvE,YAAY,CAAC,EAAE,sBAAsB,CAAA;IACrC,OAAO,CAAC,EAAE,+BAA+B,CAAA;IACzC,mBAAmB,CAAC,EAAE,6BAA6B,CAAA;CACpD,CAAA;AAED,MAAM,MAAM,oBAAoB,GAAG,2BAA2B,GAAG;IAC/D,YAAY,CAAC,EAAE,kBAAkB,CAAA;IACjC,OAAO,CAAC,EAAE,2BAA2B,CAAA;CACtC,CAAA;AAED,MAAM,MAAM,sBAAsB,GAAG,6BAA6B,GAAG;IACnE,YAAY,CAAC,EAAE,oBAAoB,CAAA;IACnC,OAAO,CAAC,EAAE,6BAA6B,CAAA;IACvC,mBAAmB,CAAC,EAAE,2BAA2B,CAAA;IACjD,MAAM,CAAC,EAAE,4BAA4B,CAAA;CACtC,CAAA;AAED,MAAM,MAAM,yBAAyB,GAAG;IACtC,gBAAgB,CAAC,EAAE,MAAM,IAAI,CAAA;IAC7B,iBAAiB,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAA;IAC9C,kBAAkB,CAAC,EAAE,MAAM,IAAI,CAAA;IAC/B,UAAU,CAAC,EAAE,MAAM,IAAI,CAAA;IACvB,eAAe,CAAC,EAAE,CAChB,SAAS,EAAE,IAAI,EACf,aAAa,EAAE,aAAa,EAC5B,kBAAkB,EAAE,MAAM,KACvB,IAAI,CAAA;IACT,cAAc,CAAC,EAAE,MAAM,IAAI,CAAA;IAC3B,aAAa,CAAC,EAAE,MAAM,IAAI,CAAA;IAC1B,YAAY,CAAC,EAAE,MAAM,IAAI,CAAA;IACzB,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAA;IACrC,yBAAyB,CAAC,EAAE,MAAM,IAAI,CAAA;IAEtC,kBAAkB,CAAC,EAAE,+BAA+B,CAAA;IACpD,oBAAoB,CAAC,EAAE,SAAS,CAAA;IAChC,kBAAkB,CAAC,EAAE,MAAM,CAAA;IAC3B,iBAAiB,CAAC,EAAE,OAAO,GAAG,CAAC,MAAM,OAAO,CAAC,OAAO,CAAC,CAAC,CAAA;IACtD,YAAY,CAAC,EAAE,OAAO,CAAA;IACtB,qBAAqB,CAAC,EAAE,MAAM,CAAA;IAC9B,8BAA8B,CAAC,EAAE,MAAM,CAAA;IACvC,uCAAuC,CAAC,EAAE,OAAO,CAAA;IACjD,iCAAiC,CAAC,EAAE,OAAO,CAAA;IAC3C,iBAAiB,CAAC,EAAE,uBAAuB,CAAA;IAE3C,MAAM,CAAC,EAAE,oBAAoB,CAAA;IAC7B,UAAU,CAAC,EAAE,wBAAwB,CAAA;IACrC,MAAM,CAAC,EAAE,oBAAoB,CAAA;IAC7B,QAAQ,CAAC,EAAE,sBAAsB,CAAA;IACjC,SAAS,CAAC,EAAE,OAAO,CAAA;CACpB,CAAA;AAED,eAAO,MAAM,oBAAoB,wbAwB9B,yBAAyB,KAAG,YAyO9B,CAAA;AAqCD,eAAO,MAAM,iCAAiC,UACrC,yBAAyB,GAAG;IACjC,oBAAoB,CAAC,EAAE,MAAM,IAAI,CAAA;IACjC,yBAAyB,CAAC,EAAE,MAAM,IAAI,CAAA;IACtC,wBAAwB,CAAC,EAAE,MAAM,IAAI,CAAA;CACtC,sBAkCF,CAAA"}
1
+ {"version":3,"file":"VideoSignatureWizard.d.ts","sourceRoot":"","sources":["../../../src/components/video_signature_capture/VideoSignatureWizard.tsx"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"useVideoRecorder.d.ts","sourceRoot":"","sources":["../../../src/lib/camera/useVideoRecorder.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAA;AA+BjC,MAAM,MAAM,kBAAkB,GAAG;IAC/B,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAA;IACvB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAA;IACvB,gBAAgB,EAAE,OAAO,CAAA;IACzB,gBAAgB,EAAE,OAAO,CAAA;IACzB,qBAAqB,EAAE,OAAO,CAAA;IAC9B,qBAAqB,EAAE,OAAO,CAAA;IAC9B,kCAAkC,EAAE,OAAO,CAAA;IAC3C,kCAAkC,EAAE,OAAO,CAAA;IAC3C,cAAc,EAAE,OAAO,CAAA;CACxB,CAAA;AAcD,KAAK,OAAO,GAAG;IACb,mBAAmB,EAAE,CACnB,MAAM,EAAE,MAAM,EACd,WAAW,CAAC,EAAE,WAAW,GAAG,IAAI,KAC7B,IAAI,CAAA;IACT,mBAAmB,EAAE,CAAC,WAAW,CAAC,EAAE,WAAW,GAAG,IAAI,KAAK,IAAI,CAAA;IAC/D,aAAa,EAAE,MAAM,IAAI,CAAA;IACzB,kBAAkB,EAAE,MAAM,IAAI,CAAA;IAC9B,kBAAkB,EAAE,MAAM,IAAI,CAAA;IAC9B,iBAAiB,EAAE,MAAM,IAAI,CAAA;CAC9B,CAAA;AAED,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;EAkGjC,CAAA;AAED,eAAO,MAAM,gBAAgB;;;;;;;CA4E5B,CAAA"}
1
+ {"version":3,"file":"useVideoRecorder.d.ts","sourceRoot":"","sources":["../../../src/lib/camera/useVideoRecorder.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAA;AA2BjC,MAAM,MAAM,kBAAkB,GAAG;IAC/B,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAA;IACvB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAA;IACvB,gBAAgB,EAAE,OAAO,CAAA;IACzB,gBAAgB,EAAE,OAAO,CAAA;IACzB,qBAAqB,EAAE,OAAO,CAAA;IAC9B,qBAAqB,EAAE,OAAO,CAAA;IAC9B,kCAAkC,EAAE,OAAO,CAAA;IAC3C,kCAAkC,EAAE,OAAO,CAAA;IAC3C,cAAc,EAAE,OAAO,CAAA;CACxB,CAAA;AAcD,KAAK,OAAO,GAAG;IACb,mBAAmB,EAAE,CACnB,MAAM,EAAE,MAAM,EACd,WAAW,CAAC,EAAE,WAAW,GAAG,IAAI,KAC7B,IAAI,CAAA;IACT,mBAAmB,EAAE,CAAC,WAAW,CAAC,EAAE,WAAW,GAAG,IAAI,KAAK,IAAI,CAAA;IAC/D,aAAa,EAAE,MAAM,IAAI,CAAA;IACzB,kBAAkB,EAAE,MAAM,IAAI,CAAA;IAC9B,kBAAkB,EAAE,MAAM,IAAI,CAAA;IAC9B,iBAAiB,EAAE,MAAM,IAAI,CAAA;CAC9B,CAAA;AAED,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;EAqGjC,CAAA;AAED,eAAO,MAAM,gBAAgB;;;;;;;CA4E5B,CAAA"}
@@ -1,6 +1,6 @@
1
- export declare function useFrameLoop(fn: (frameId: number, timeRunning: number) => Promise<void>, { throttleMs, autoStart }: {
2
- throttleMs?: number | undefined;
3
- autoStart?: boolean | undefined;
1
+ export declare function useFrameLoop(fn: (frameId: number, timeRunning: number) => Promise<void>, options?: {
2
+ throttleMs?: number;
3
+ autoStart?: boolean;
4
4
  }): {
5
5
  start: () => void;
6
6
  stop: () => void;
@@ -1 +1 @@
1
- {"version":3,"file":"FrameLoop.d.ts","sourceRoot":"","sources":["../../../src/lib/models/FrameLoop.ts"],"names":[],"mappings":"AAEA,wBAAgB,YAAY,CAC1B,EAAE,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,EAC3D,EAAE,UAAc,EAAE,SAAiB,EAAE;;;CAAA;;;EA2DtC"}
1
+ {"version":3,"file":"FrameLoop.d.ts","sourceRoot":"","sources":["../../../src/lib/models/FrameLoop.ts"],"names":[],"mappings":"AAEA,wBAAgB,YAAY,CAC1B,EAAE,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,EAC3D,OAAO,GAAE;IAAE,UAAU,CAAC,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,OAAO,CAAA;CAAO;;;EAyD3D"}
@@ -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.21';
238
+ var webSdkVersion = '2.3.23';
239
239
 
240
240
  function getPlatform() {
241
241
  // eslint-disable-next-line @typescript-eslint/ban-ts-comment
@@ -3480,14 +3480,13 @@ function applyNonMaxSuppression(detectedObjects, isGoodBox) {
3480
3480
  });
3481
3481
  }
3482
3482
 
3483
- function useFrameLoop(fn, _a) {
3484
- var _b = _a.throttleMs,
3485
- throttleMs = _b === void 0 ? 0 : _b,
3486
- _c = _a.autoStart,
3487
- autoStart = _c === void 0 ? false : _c;
3488
- var _d = React.useState(false),
3489
- running = _d[0],
3490
- setRunning = _d[1];
3483
+ function useFrameLoop(fn, options) {
3484
+ if (options === void 0) {
3485
+ options = {};
3486
+ }
3487
+ var _a = React.useState(false),
3488
+ running = _a[0],
3489
+ setRunning = _a[1];
3491
3490
  var startedAtRef = React.useRef(null);
3492
3491
  var loopId = React.useRef(0);
3493
3492
  var frameId = React.useRef(0);
@@ -3495,36 +3494,36 @@ function useFrameLoop(fn, _a) {
3495
3494
  if (!running) return;
3496
3495
  var timer;
3497
3496
  var currentLoopId = loopId.current;
3498
- function renderPrediction() {
3497
+ function hotLoop() {
3499
3498
  return __awaiter(this, void 0, void 0, function () {
3500
3499
  var start, timeRunning, took, amountToThrottle;
3501
- var _a, _b;
3502
- return __generator(this, function (_c) {
3503
- switch (_c.label) {
3500
+ var _a, _b, _c;
3501
+ return __generator(this, function (_d) {
3502
+ switch (_d.label) {
3504
3503
  case 0:
3505
3504
  if (currentLoopId !== loopId.current) return [2 /*return*/];
3506
3505
  start = new Date().getTime();
3507
3506
  timeRunning = start - ((_b = (_a = startedAtRef.current) === null || _a === void 0 ? void 0 : _a.getTime()) !== null && _b !== void 0 ? _b : 0);
3508
3507
  return [4 /*yield*/, fn(frameId.current, timeRunning)];
3509
3508
  case 1:
3510
- _c.sent();
3509
+ _d.sent();
3511
3510
  took = new Date().getTime() - start;
3512
- amountToThrottle = Math.max((throttleMs !== null && throttleMs !== void 0 ? throttleMs : 0) - took, 0);
3511
+ amountToThrottle = Math.max(((_c = options.throttleMs) !== null && _c !== void 0 ? _c : 0) - took, 0);
3513
3512
  timer = setTimeout(function () {
3514
- frameId.current = requestAnimationFrame(renderPrediction);
3513
+ frameId.current = requestAnimationFrame(hotLoop);
3515
3514
  }, amountToThrottle);
3516
3515
  return [2 /*return*/];
3517
3516
  }
3518
3517
  });
3519
3518
  });
3520
3519
  }
3521
- renderPrediction().then();
3520
+ void hotLoop();
3522
3521
  return function () {
3523
3522
  loopId.current += 1;
3524
3523
  if (frameId.current) cancelAnimationFrame(frameId.current);
3525
3524
  if (timer) clearTimeout(timer);
3526
3525
  };
3527
- }, [fn, running, throttleMs]);
3526
+ }, [fn, running, options.throttleMs]);
3528
3527
  var start = React.useCallback(function () {
3529
3528
  startedAtRef.current = new Date();
3530
3529
  setRunning(true);
@@ -3535,11 +3534,9 @@ function useFrameLoop(fn, _a) {
3535
3534
  startedAtRef.current = null;
3536
3535
  }, []);
3537
3536
  React.useEffect(function startAutomatically() {
3538
- if (autoStart) start();
3539
- return function () {
3540
- stop();
3541
- };
3542
- }, [autoStart, start, stop]);
3537
+ if (options.autoStart) start();
3538
+ return stop;
3539
+ }, [options.autoStart, start, stop]);
3543
3540
  return {
3544
3541
  start: start,
3545
3542
  stop: stop
@@ -13361,9 +13358,6 @@ var videoRecorder = null;
13361
13358
  var audioRecorder = null;
13362
13359
  var videoChunks = [];
13363
13360
  var audioChunks = [];
13364
- function getVideoRecorder() {
13365
- return videoRecorder;
13366
- }
13367
13361
  function setVideoRecorder(recorder) {
13368
13362
  videoRecorder = recorder;
13369
13363
  }
@@ -13391,20 +13385,22 @@ var useVideoRecorderStore = zustand.create()(middleware.devtools(function (set,
13391
13385
  return _assign(_assign({}, initialState$2), {
13392
13386
  startRecordingVideo: function startRecordingVideo(camera, audioStream) {
13393
13387
  var _a, _b, _c;
13394
- var videoStream = get().mergeAVStreams ? new MediaStream(__spreadArray(__spreadArray([], (_b = (_a = camera === null || camera === void 0 ? void 0 : camera.stream) === null || _a === void 0 ? void 0 : _a.getTracks()) !== null && _b !== void 0 ? _b : [], true), (_c = audioStream === null || audioStream === void 0 ? void 0 : audioStream.getTracks()) !== null && _c !== void 0 ? _c : [], true)) : camera.stream;
13388
+ var _d = get(),
13389
+ mergeAVStreams = _d.mergeAVStreams,
13390
+ startRecordingAudio = _d.startRecordingAudio;
13391
+ var videoStream = mergeAVStreams ? new MediaStream(__spreadArray(__spreadArray([], (_b = (_a = camera === null || camera === void 0 ? void 0 : camera.stream) === null || _a === void 0 ? void 0 : _a.getTracks()) !== null && _b !== void 0 ? _b : [], true), (_c = audioStream === null || audioStream === void 0 ? void 0 : audioStream.getTracks()) !== null && _c !== void 0 ? _c : [], true)) : camera.stream;
13395
13392
  if (!videoStream) return;
13396
13393
  clearVideoChunks();
13397
- setVideoRecorder(null);
13394
+ videoRecorder = null;
13398
13395
  set({
13399
13396
  isRecordingVideo: true,
13400
13397
  videoRecordingStopped: false,
13401
13398
  videoRecordingIntentionallyStopped: false
13402
13399
  });
13403
- var videoRecorder = new MediaRecorder(videoStream, {
13400
+ videoRecorder = new MediaRecorder(videoStream, {
13404
13401
  videoBitsPerSecond: 270000,
13405
13402
  audioBitsPerSecond: 32000
13406
13403
  });
13407
- setVideoRecorder(videoRecorder);
13408
13404
  videoRecorder.ondataavailable = function (e) {
13409
13405
  videoChunks.push(e.data);
13410
13406
  };
@@ -13415,12 +13411,14 @@ var useVideoRecorderStore = zustand.create()(middleware.devtools(function (set,
13415
13411
  };
13416
13412
  videoRecorder.start(100);
13417
13413
  setTimeout(function () {
13418
- var videoRecorder = getVideoRecorder();
13419
13414
  if (!videoRecorder || videoRecorder.state === 'inactive') {
13420
13415
  log('media recorder is inactive!');
13421
13416
  // TODO: figure out what to do here
13422
13417
  }
13423
13418
  }, 100);
13419
+ if (audioStream && !mergeAVStreams) {
13420
+ startRecordingAudio(audioStream);
13421
+ }
13424
13422
  },
13425
13423
  stopRecordingVideo: function stopRecordingVideo() {
13426
13424
  set({
@@ -13538,16 +13536,7 @@ var useVideoRecorder = function useVideoRecorder(mergeAVStreams) {
13538
13536
  };
13539
13537
 
13540
13538
  var signatureRecorder = null;
13541
- var getSignatureRecorder = function getSignatureRecorder() {
13542
- return signatureRecorder;
13543
- };
13544
- var setSignatureRecorder = function setSignatureRecorder(recorder) {
13545
- return signatureRecorder = recorder;
13546
- };
13547
13539
  var signatureChunks = [];
13548
- var clearSignatureChunks = function clearSignatureChunks() {
13549
- return signatureChunks = [];
13550
- };
13551
13540
  var videoSignatureInitialState = {
13552
13541
  startRecording: function startRecording() {
13553
13542
  return null;
@@ -13562,19 +13551,11 @@ var videoSignatureInitialState = {
13562
13551
  signaturePad: {
13563
13552
  current: null
13564
13553
  },
13565
- signatureData: null,
13566
- signatureDataUrl: null,
13567
- signatureVideoData: null,
13568
- signatureVideoUrl: null,
13569
13554
  outputCanvas: {
13570
13555
  current: null
13571
13556
  },
13572
- onAcceptClicked: function onAcceptClicked() {
13573
- return __awaiter(void 0, void 0, void 0, function () {
13574
- return __generator(this, function (_a) {
13575
- return [2 /*return*/];
13576
- });
13577
- });
13557
+ onSignatureVideoCaptured: function onSignatureVideoCaptured() {
13558
+ return null;
13578
13559
  }
13579
13560
  };
13580
13561
  var useVideoSignatureStore = zustand.create()(middleware.devtools(function (set, get) {
@@ -13584,25 +13565,22 @@ var useVideoSignatureStore = zustand.create()(middleware.devtools(function (set,
13584
13565
  if (captureAudio === void 0) {
13585
13566
  captureAudio = false;
13586
13567
  }
13568
+ // set our flag and clear whatever we have recorded so far.
13587
13569
  set({
13588
13570
  isRecording: true
13589
13571
  });
13590
- clearSignatureChunks();
13591
- useVideoRecorderStore.getState().clearRecordedData();
13592
- var _b = useVideoRecorderStore.getState(),
13593
- startRecordingVideo = _b.startRecordingVideo,
13594
- startRecordingAudio = _b.startRecordingAudio;
13595
- startRecordingVideo(camera, audioStream);
13596
- if (captureAudio) startRecordingAudio(audioStream);
13597
- var stream = get().outputCanvas.current.captureStream(24 /* fps */);
13598
- var tracks = [stream.getVideoTracks()[0]];
13572
+ signatureChunks = [];
13573
+ // start recording video and audio
13574
+ useVideoRecorderStore.getState().startRecordingVideo(camera, captureAudio ? audioStream : undefined);
13575
+ // start recording from the output canvas to capture the signature
13576
+ var videoStream = get().outputCanvas.current.captureStream(24); // fps
13577
+ var tracks = [videoStream.getVideoTracks()[0]];
13599
13578
  var audioTrack = (_a = audioStream === null || audioStream === void 0 ? void 0 : audioStream.getAudioTracks()) === null || _a === void 0 ? void 0 : _a[0];
13600
13579
  if (audioTrack) tracks.push(audioTrack);
13601
- var signatureRecorder = new MediaRecorder(new MediaStream(tracks), {
13580
+ signatureRecorder = new MediaRecorder(new MediaStream(tracks), {
13602
13581
  videoBitsPerSecond: 270000,
13603
13582
  audioBitsPerSecond: 32000
13604
13583
  });
13605
- setSignatureRecorder(signatureRecorder);
13606
13584
  signatureRecorder.ondataavailable = function (event) {
13607
13585
  signatureChunks.push(event.data);
13608
13586
  };
@@ -13615,43 +13593,41 @@ var useVideoSignatureStore = zustand.create()(middleware.devtools(function (set,
13615
13593
  if (!signatureRecorder) return;
13616
13594
  signatureRecorder.stop();
13617
13595
  signatureRecorder.onstop = function () {
13618
- log('VideoSignatureContext: onstop');
13619
13596
  var blob = new Blob(signatureChunks, {
13620
13597
  type: 'video/mp4'
13621
13598
  });
13622
- useVideoSignatureStore.setState({
13623
- signatureVideoData: blob,
13624
- signatureVideoUrl: URL.createObjectURL(blob)
13599
+ signatureChunks = [];
13600
+ signatureRecorder = null;
13601
+ var signaturePad = get().signaturePad.current;
13602
+ if (!signaturePad) throw new Error('Signature pad not found');
13603
+ var signatureData = buildSignatureData(signaturePad);
13604
+ exportSignatureImage(signaturePad).then(function (imageUrl) {
13605
+ if (imageUrl) signatureData.fileContent = dataUrlToBase64Sync(imageUrl);
13606
+ get().onSignatureVideoCaptured(blob, signatureData, imageUrl);
13625
13607
  });
13626
- clearSignatureChunks();
13627
- setSignatureRecorder(null);
13628
13608
  };
13629
13609
  useVideoRecorderStore.getState().stopRecording();
13630
13610
  },
13631
13611
  clearRecordedData: function clearRecordedData() {
13632
- var _a;
13633
- clearSignatureChunks();
13612
+ signatureChunks = [];
13634
13613
  useVideoRecorderStore.getState().stopRecordingVideo();
13635
13614
  useVideoRecorderStore.getState().clearRecordedData();
13636
- (_a = getSignatureRecorder()) === null || _a === void 0 ? void 0 : _a.stop();
13637
- setSignatureRecorder(null);
13615
+ signatureRecorder === null || signatureRecorder === void 0 ? void 0 : signatureRecorder.stop();
13616
+ signatureRecorder = null;
13638
13617
  set({
13639
- isRecording: false,
13640
- signatureVideoData: null,
13641
- signatureVideoUrl: null
13618
+ isRecording: false
13642
13619
  });
13643
13620
  }
13644
13621
  });
13645
13622
  }));
13646
13623
  function VideoSignatureContextProvider(_a) {
13624
+ var _this = this;
13647
13625
  var _b, _c;
13648
13626
  var children = _a.children,
13649
13627
  _d = _a.captureAudio,
13650
13628
  captureAudio = _d === void 0 ? false : _d;
13651
- var _e = useCameraStore(),
13652
- camera = _e.camera,
13653
- videoRef = _e.videoRef;
13654
- var isRecordingVideo = useVideoRecorder(captureAudio).isRecordingVideo;
13629
+ var videoRef = useCameraStore().videoRef;
13630
+ useVideoRecorder(captureAudio);
13655
13631
  var outputCanvas = React.useRef(null);
13656
13632
  React.useEffect(function () {
13657
13633
  return useVideoSignatureStore.setState({
@@ -13663,36 +13639,35 @@ function VideoSignatureContextProvider(_a) {
13663
13639
  useVideoSignatureStore.getState().clearRecordedData();
13664
13640
  }, []);
13665
13641
  var isRecording = useVideoSignatureStore().isRecording;
13666
- var animationFrame = React.useRef(0);
13667
- React.useEffect(function () {
13668
- if (!videoRef.current || !outputCanvas.current || !camera || !isRecording || !isRecordingVideo) return;
13669
- var ctx = outputCanvas.current.getContext('2d');
13670
- if (!ctx) return;
13671
- var signaturePad = useVideoSignatureStore.getState().signaturePad;
13672
- animationFrame.current = requestAnimationFrame(function runFrame() {
13673
- if (!signaturePad.current || !videoRef.current || !outputCanvas.current) {
13674
- cancelAnimationFrame(animationFrame.current);
13675
- return;
13676
- }
13677
- var _a = [videoRef.current.videoWidth, videoRef.current.videoHeight],
13678
- w = _a[0],
13679
- h = _a[1];
13680
- var isPortrait = w < h;
13681
- outputCanvas.current.width = w;
13682
- outputCanvas.current.height = h;
13683
- var rect = [w * (isPortrait ? 0.02 : 0.15), h * (isPortrait ? 0.15 : 0.25), w * (isPortrait ? 0.96 : 0.7), h * (isPortrait ? 0.7 : 0.5)];
13684
- ctx.drawImage(videoRef.current, 0, 0, w, h);
13685
- ctx.beginPath();
13686
- ctx.fillStyle = 'rgba(255,255,255,0.5)';
13687
- ctx.roundRect.apply(ctx, __spreadArray(__spreadArray([], rect, false), [16], false));
13688
- ctx.fill();
13689
- ctx.drawImage.apply(ctx, __spreadArray([signaturePad.current.getCanvas()], rect, false));
13690
- animationFrame.current = requestAnimationFrame(runFrame);
13642
+ useFrameLoop(React.useCallback(function () {
13643
+ return __awaiter(_this, void 0, void 0, function () {
13644
+ var signaturePad, ctx, _a, w, h, isPortrait, rect;
13645
+ return __generator(this, function (_b) {
13646
+ signaturePad = useVideoSignatureStore.getState().signaturePad;
13647
+ if (!outputCanvas.current || !signaturePad.current || !videoRef.current) return [2 /*return*/];
13648
+ ctx = outputCanvas.current.getContext('2d');
13649
+ if (!ctx) return [2 /*return*/];
13650
+ _a = [videoRef.current.videoWidth, videoRef.current.videoHeight], w = _a[0], h = _a[1];
13651
+ isPortrait = w < h;
13652
+ outputCanvas.current.width = w;
13653
+ outputCanvas.current.height = h;
13654
+ rect = [w * (isPortrait ? 0.02 : 0.15), h * (isPortrait ? 0.15 : 0.25), w * (isPortrait ? 0.96 : 0.7), h * (isPortrait ? 0.7 : 0.5)];
13655
+ // draw the current video frame
13656
+ ctx.drawImage(videoRef.current, 0, 0, w, h);
13657
+ // draw a semi-transparent white rectangle over the video to simulate a signature pad
13658
+ ctx.beginPath();
13659
+ ctx.fillStyle = 'rgba(255,255,255,0.5)';
13660
+ ctx.roundRect.apply(ctx, __spreadArray(__spreadArray([], rect, false), [16], false));
13661
+ ctx.fill();
13662
+ // draw whatever the user has drawn on the signature pad
13663
+ ctx.drawImage.apply(ctx, __spreadArray([signaturePad.current.getCanvas()], rect, false));
13664
+ return [2 /*return*/];
13665
+ });
13691
13666
  });
13692
- return function () {
13693
- return cancelAnimationFrame(animationFrame.current);
13694
- };
13695
- }, [camera, isRecording, isRecordingVideo, videoRef]);
13667
+ }, [videoRef]), {
13668
+ autoStart: isRecording,
13669
+ throttleMs: 1000 / 24
13670
+ });
13696
13671
  return /*#__PURE__*/React__namespace.default.createElement(React__namespace.default.Fragment, null, children, /*#__PURE__*/React__namespace.default.createElement(InvisibleCanvas, {
13697
13672
  ref: outputCanvas,
13698
13673
  width: (_b = videoRef.current) === null || _b === void 0 ? void 0 : _b.videoWidth,
@@ -13701,7 +13676,6 @@ function VideoSignatureContextProvider(_a) {
13701
13676
  }
13702
13677
 
13703
13678
  function VideoSignatureGuides(_a) {
13704
- var _this = this;
13705
13679
  var _b = _a.requestedAction,
13706
13680
  requestedAction = _b === void 0 ? 'VERIFY_LIVENESS' : _b,
13707
13681
  _c = _a.faceGuideStatus,
@@ -13757,32 +13731,7 @@ function VideoSignatureGuides(_a) {
13757
13731
  if (signaturePadEmpty) setEmptyContentDismissed(false);
13758
13732
  }, [signaturePadEmpty]);
13759
13733
  var onAcceptClicked = React.useCallback(function () {
13760
- return __awaiter(_this, void 0, void 0, function () {
13761
- var signatureData, imageUrl;
13762
- return __generator(this, function (_a) {
13763
- switch (_a.label) {
13764
- case 0:
13765
- log('VideoSignatureContext: onAcceptClicked');
13766
- if (!signaturePad.current) return [2 /*return*/];
13767
- log('VideoSignatureContext: building signature data...');
13768
- signatureData = buildSignatureData(signaturePad.current);
13769
- log('VideoSignatureContext: exporting signature image...', signatureData);
13770
- return [4 /*yield*/, exportSignatureImage(signaturePad.current)];
13771
- case 1:
13772
- imageUrl = _a.sent();
13773
- if (imageUrl) signatureData.fileContent = dataUrlToBase64Sync(imageUrl);
13774
- log('VideoSignatureContext: setting signature data url...', imageUrl);
13775
- useVideoSignatureStore.setState({
13776
- signatureData: signatureData,
13777
- signatureDataUrl: imageUrl
13778
- });
13779
- log('VideoSignatureContext: stopping signature recorder...');
13780
- // getSignatureRecorder()?.stop()
13781
- useVideoSignatureStore.getState().stopRecording();
13782
- return [2 /*return*/];
13783
- }
13784
- });
13785
- });
13734
+ useVideoSignatureStore.getState().stopRecording();
13786
13735
  }, []);
13787
13736
  return /*#__PURE__*/React__namespace.default.createElement(Container$3, {
13788
13737
  className: classNames.container
@@ -13876,7 +13825,7 @@ var templateObject_1$b, templateObject_2$9, templateObject_3$8, templateObject_4
13876
13825
  var DEFAULT_MIN_SIGNATURE_PAD_POINTS = 10;
13877
13826
  var DEFAULT_HEAD_TRACKING_BOUNDARY_PERCENTAGE = 0.01;
13878
13827
  var VideoSignatureCapture = function VideoSignatureCapture(_a) {
13879
- var onVideoCaptured = _a.onVideoCaptured,
13828
+ var onSignatureVideoCaptured = _a.onSignatureVideoCaptured,
13880
13829
  onFaceNotDetected = _a.onFaceNotDetected,
13881
13830
  onExit = _a.onExit,
13882
13831
  _b = _a.restartVideoOnSignaturePadCleared,
@@ -13909,17 +13858,19 @@ var VideoSignatureCapture = function VideoSignatureCapture(_a) {
13909
13858
  videoWidth = _k.videoWidth,
13910
13859
  videoHeight = _k.videoHeight;
13911
13860
  var _l = useSelfieGuidanceModelsContext(),
13912
- onPredictionMade = _l.onPredictionMade,
13861
+ onHeadTrackingPredictionMade = _l.onPredictionMade,
13913
13862
  startHeadTracking = _l.start,
13914
13863
  stopHeadTracking = _l.stop;
13915
13864
  var _m = useVideoSignatureStore(),
13916
- signatureData = _m.signatureData,
13917
- signatureDataUrl = _m.signatureDataUrl,
13918
- signatureVideoData = _m.signatureVideoData,
13919
13865
  startRecording = _m.startRecording,
13920
13866
  stopRecording = _m.stopRecording,
13921
13867
  clearRecordedData = _m.clearRecordedData,
13922
13868
  isRecording = _m.isRecording;
13869
+ React.useEffect(function () {
13870
+ useVideoSignatureStore.setState({
13871
+ onSignatureVideoCaptured: onSignatureVideoCaptured
13872
+ });
13873
+ }, [onSignatureVideoCaptured]);
13923
13874
  React.useEffect(function () {
13924
13875
  if (!camera) return;
13925
13876
  startRecording(camera, audioStream, captureAudio);
@@ -13934,11 +13885,6 @@ var VideoSignatureCapture = function VideoSignatureCapture(_a) {
13934
13885
  var verbiage = useTranslations(rawVerbiage, {
13935
13886
  guidanceMessageText: 'Please sign the box below'
13936
13887
  });
13937
- React.useEffect(function () {
13938
- if (signatureVideoData && signatureData && signatureDataUrl) {
13939
- onVideoCaptured === null || onVideoCaptured === void 0 ? void 0 : onVideoCaptured(signatureVideoData, signatureData, signatureDataUrl);
13940
- }
13941
- }, [onVideoCaptured, signatureData, signatureDataUrl, signatureVideoData]);
13942
13888
  var _o = React.useState(true),
13943
13889
  headTrackingSatisfied = _o[0],
13944
13890
  setHeadTrackingSatisfied = _o[1];
@@ -13948,7 +13894,7 @@ var VideoSignatureCapture = function VideoSignatureCapture(_a) {
13948
13894
  var _q = React.useState(0),
13949
13895
  numFramesWithoutFaces = _q[0],
13950
13896
  setNumFramesWithoutFaces = _q[1];
13951
- onPredictionMade(useDebounce.useThrottledCallback(React.useCallback(function (_a) {
13897
+ onHeadTrackingPredictionMade(useDebounce.useThrottledCallback(React.useCallback(function (_a) {
13952
13898
  var face = _a.face;
13953
13899
  if (!camera) return;
13954
13900
  var nearBoundary = (face === null || face === void 0 ? void 0 : face.box.xMin) < videoWidth * headTrackingBoundaryPercentage || (face === null || face === void 0 ? void 0 : face.box.xMax) > videoWidth * (1 - headTrackingBoundaryPercentage) || (face === null || face === void 0 ? void 0 : face.box.yMin) < videoHeight * headTrackingBoundaryPercentage || (face === null || face === void 0 ? void 0 : face.box.yMax) > videoHeight * (1 - headTrackingBoundaryPercentage);
@@ -14170,6 +14116,7 @@ var VideoSignatureWizard = function VideoSignatureWizard(_a) {
14170
14116
  var onSignatureCaptureFacesNotDetected = React.useCallback(function () {
14171
14117
  setShowLoadingOverlay(false);
14172
14118
  setCaptureState('CHECKING_LIVENESS');
14119
+ useVideoSignatureStore.getState().clearRecordedData();
14173
14120
  }, []);
14174
14121
  var _u = React.useState(0),
14175
14122
  attempt = _u[0],
@@ -14250,7 +14197,7 @@ var VideoSignatureWizard = function VideoSignatureWizard(_a) {
14250
14197
  }));
14251
14198
  case 'CAPTURING_SIGNATURE':
14252
14199
  return /*#__PURE__*/React__namespace.default.createElement(VideoSignatureCapture, {
14253
- onVideoCaptured: onSignatureCaptureCompleted,
14200
+ onSignatureVideoCaptured: onSignatureCaptureCompleted,
14254
14201
  onFaceNotDetected: onSignatureCaptureFacesNotDetected,
14255
14202
  onExit: onExitSignatureCapture,
14256
14203
  minSignaturePadPoints: minSignaturePadPoints,