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.
- package/dist/components/video_signature_capture/VideoSignatureCapture.d.ts +2 -2
- package/dist/components/video_signature_capture/VideoSignatureCapture.d.ts.map +1 -1
- package/dist/components/video_signature_capture/VideoSignatureContext.d.ts +1 -6
- package/dist/components/video_signature_capture/VideoSignatureContext.d.ts.map +1 -1
- package/dist/components/video_signature_capture/VideoSignatureGuides.d.ts.map +1 -1
- package/dist/components/video_signature_capture/VideoSignatureWizard.d.ts +1 -1
- package/dist/components/video_signature_capture/VideoSignatureWizard.d.ts.map +1 -1
- package/dist/lib/camera/useVideoRecorder.d.ts.map +1 -1
- package/dist/lib/models/FrameLoop.d.ts +3 -3
- package/dist/lib/models/FrameLoop.d.ts.map +1 -1
- package/dist/sdk2.cjs.development.js +93 -146
- 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 +93 -146
- package/dist/sdk2.esm.js.map +1 -1
- package/dist/sdk2.umd.development.js +93 -146
- 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 +3 -3
|
@@ -22,7 +22,7 @@ export type VideoSignatureCaptureVerbiage = {
|
|
|
22
22
|
guides?: VideoSignatureGuidesVerbiage;
|
|
23
23
|
};
|
|
24
24
|
export type VideoSignatureCaptureProps = {
|
|
25
|
-
|
|
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: ({
|
|
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,
|
|
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
|
-
|
|
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,
|
|
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;
|
|
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,
|
|
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;
|
|
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>,
|
|
2
|
-
throttleMs?: number
|
|
3
|
-
autoStart?: boolean
|
|
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,
|
|
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.
|
|
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,
|
|
3484
|
-
|
|
3485
|
-
|
|
3486
|
-
|
|
3487
|
-
|
|
3488
|
-
|
|
3489
|
-
|
|
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
|
|
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 (
|
|
3503
|
-
switch (
|
|
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
|
-
|
|
3509
|
+
_d.sent();
|
|
3511
3510
|
took = new Date().getTime() - start;
|
|
3512
|
-
amountToThrottle = Math.max((throttleMs !== null &&
|
|
3511
|
+
amountToThrottle = Math.max(((_c = options.throttleMs) !== null && _c !== void 0 ? _c : 0) - took, 0);
|
|
3513
3512
|
timer = setTimeout(function () {
|
|
3514
|
-
frameId.current = requestAnimationFrame(
|
|
3513
|
+
frameId.current = requestAnimationFrame(hotLoop);
|
|
3515
3514
|
}, amountToThrottle);
|
|
3516
3515
|
return [2 /*return*/];
|
|
3517
3516
|
}
|
|
3518
3517
|
});
|
|
3519
3518
|
});
|
|
3520
3519
|
}
|
|
3521
|
-
|
|
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
|
|
3540
|
-
|
|
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
|
|
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
|
-
|
|
13394
|
+
videoRecorder = null;
|
|
13398
13395
|
set({
|
|
13399
13396
|
isRecordingVideo: true,
|
|
13400
13397
|
videoRecordingStopped: false,
|
|
13401
13398
|
videoRecordingIntentionallyStopped: false
|
|
13402
13399
|
});
|
|
13403
|
-
|
|
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
|
-
|
|
13573
|
-
return
|
|
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
|
-
|
|
13591
|
-
|
|
13592
|
-
|
|
13593
|
-
|
|
13594
|
-
|
|
13595
|
-
|
|
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
|
-
|
|
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
|
-
|
|
13623
|
-
|
|
13624
|
-
|
|
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
|
-
|
|
13633
|
-
clearSignatureChunks();
|
|
13612
|
+
signatureChunks = [];
|
|
13634
13613
|
useVideoRecorderStore.getState().stopRecordingVideo();
|
|
13635
13614
|
useVideoRecorderStore.getState().clearRecordedData();
|
|
13636
|
-
|
|
13637
|
-
|
|
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
|
|
13652
|
-
|
|
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
|
-
|
|
13667
|
-
|
|
13668
|
-
|
|
13669
|
-
|
|
13670
|
-
|
|
13671
|
-
|
|
13672
|
-
|
|
13673
|
-
|
|
13674
|
-
|
|
13675
|
-
|
|
13676
|
-
|
|
13677
|
-
|
|
13678
|
-
|
|
13679
|
-
|
|
13680
|
-
|
|
13681
|
-
|
|
13682
|
-
|
|
13683
|
-
|
|
13684
|
-
|
|
13685
|
-
|
|
13686
|
-
|
|
13687
|
-
|
|
13688
|
-
|
|
13689
|
-
|
|
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
|
-
|
|
13693
|
-
|
|
13694
|
-
|
|
13695
|
-
}
|
|
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
|
-
|
|
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
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
14200
|
+
onSignatureVideoCaptured: onSignatureCaptureCompleted,
|
|
14254
14201
|
onFaceNotDetected: onSignatureCaptureFacesNotDetected,
|
|
14255
14202
|
onExit: onExitSignatureCapture,
|
|
14256
14203
|
minSignaturePadPoints: minSignaturePadPoints,
|