idmission-web-sdk 1.0.368 → 1.0.369

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.
Files changed (59) hide show
  1. package/dist/components/camera/CameraProvider.d.ts +6 -19
  2. package/dist/components/camera/MicrophoneAccessDeniedOverlay.d.ts +30 -0
  3. package/dist/components/common/debug.d.ts +2 -2
  4. package/dist/components/face_liveness/FaceLivenessCapture.d.ts +1 -3
  5. package/dist/components/fallback_flows/SelfieCapture.d.ts +8 -3
  6. package/dist/components/id_capture/CapturedDocuments.d.ts +2 -1
  7. package/dist/components/id_capture/DocumentDetectionModelProvider.d.ts +55 -0
  8. package/dist/components/id_capture/FocusModelProvider.d.ts +23 -0
  9. package/dist/components/id_capture/IdCapture.d.ts +1 -1
  10. package/dist/components/id_capture/IdCaptureGuideOverlay.d.ts +275 -0
  11. package/dist/components/id_capture/IdCaptureModelsProvider.d.ts +12 -28
  12. package/dist/components/selfie_capture/SelfieCapture.d.ts +1 -1
  13. package/dist/components/selfie_capture/SelfieCaptureLoadingOverlay.d.ts +5 -0
  14. package/dist/components/selfie_capture/SelfieGuidanceModelsProvider.d.ts +21 -3
  15. package/dist/components/submission/SubmissionProvider.d.ts +2 -0
  16. package/dist/components/video_id/IdVideoCapture.d.ts +1 -1
  17. package/dist/components/video_id/IdVideoCaptureSuccess.d.ts +2 -1
  18. package/dist/contexts/SubmissionContext.d.ts +4 -2
  19. package/dist/lib/barcode/Parse.d.ts +2 -50
  20. package/dist/lib/barcode/Scan.d.ts +2 -1
  21. package/dist/lib/camera/Camera.d.ts +27 -18
  22. package/dist/lib/camera/useVideoRecorder.d.ts +8 -4
  23. package/dist/lib/locales/es/translation.d.ts +2 -2
  24. package/dist/lib/locales/index.d.ts +2 -2
  25. package/dist/lib/models/CapabilityProbing.d.ts +11 -0
  26. package/dist/lib/models/DocumentDetection.d.ts +14 -25
  27. package/dist/lib/models/FaceDetection.d.ts +20 -5
  28. package/dist/lib/models/Focus.d.ts +12 -9
  29. package/dist/lib/models/VisionRuntime.d.ts +2 -0
  30. package/dist/lib/models/preloadModels.d.ts +9 -2
  31. package/dist/lib/utils/cropping.d.ts +3 -2
  32. package/dist/lib/utils/isMobile.d.ts +1 -0
  33. package/dist/lib/utils/logger.d.ts +16 -0
  34. package/dist/lib/utils/resizeFile.d.ts +14 -0
  35. package/dist/sdk2.cjs.development.js +6644 -12553
  36. package/dist/sdk2.cjs.development.js.map +1 -1
  37. package/dist/sdk2.cjs.production.js +1 -1
  38. package/dist/sdk2.cjs.production.js.map +1 -1
  39. package/dist/sdk2.esm.js +6645 -12553
  40. package/dist/sdk2.esm.js.map +1 -1
  41. package/dist/sdk2.umd.development.js +9146 -15056
  42. package/dist/sdk2.umd.development.js.map +1 -1
  43. package/dist/sdk2.umd.production.js +1 -1
  44. package/dist/sdk2.umd.production.js.map +1 -1
  45. package/dist/stories/CustomerFlows/CustomerIdAndBiometricsEnrollment.stories.d.ts +4 -0
  46. package/dist/stories/CustomerFlows/IdAndFaceValidation.stories.d.ts +4 -0
  47. package/dist/stories/CustomerFlows/IdValidation.stories.d.ts +6 -2
  48. package/dist/stories/CustomerFlows/SignatureKYC.stories.d.ts +1 -0
  49. package/dist/stories/CustomerFlows/VideoIdValidation.stories.d.ts +4 -0
  50. package/dist/stories/Experiments/VideoCapture.stories.d.ts +1 -1
  51. package/dist/stories/models/FocusModel.stories.d.ts +1 -1
  52. package/dist/version.d.ts +1 -1
  53. package/package.json +2 -2
  54. package/dist/components/id_capture/HighPerformanceObjectDetectionModelsProvider.d.ts +0 -36
  55. package/dist/components/selfie_capture/HighPerformanceSelfieGuidanceModelsProvider.d.ts +0 -42
  56. package/dist/contexts/SelfieGuidanceModelsContext.d.ts +0 -15
  57. package/dist/stories/Components/HighPerformanceFaceDetection/Original.stories.d.ts +0 -8
  58. package/dist/stories/Experiments/BarcodeReader.stories.d.ts +0 -7
  59. package/dist/stories/models/DocumentDetection.stories.d.ts +0 -7
@@ -1,27 +1,14 @@
1
- import React, { MutableRefObject, ReactElement } from 'react';
2
- import { Camera } from '../../lib/camera/Camera';
3
- export type CameraState = {
4
- videoRef: MutableRefObject<HTMLVideoElement | null>;
5
- videoLoaded: boolean;
6
- setVideoLoaded: (value: boolean) => void;
7
- cameraRef: MutableRefObject<Camera | null>;
8
- cameraReady: boolean;
9
- cameraAccessDenied: boolean;
10
- retryCameraAccess: () => void;
11
- releaseCameraAccess: () => void;
12
- iphoneContinuityCameraAvailable: boolean;
13
- iphoneContinuityCameraAllowed: boolean;
14
- setIphoneContinuityCameraAllowed: (value: boolean) => void;
15
- takePhoto: () => Promise<Blob | null>;
16
- };
17
- export declare const CameraStateContext: React.Context<CameraState>;
1
+ import React, { ReactElement } from 'react';
2
+ import { CaptureDevice } from '../../lib/camera/Camera';
3
+ export declare const CameraStateContext: React.Context<CaptureDevice>;
18
4
  export type CameraProviderProps = {
19
5
  children: ReactElement;
6
+ requestAccessAutomatically?: boolean;
20
7
  preferFrontFacingCamera?: boolean;
21
8
  preferContinuityCamera?: boolean;
22
- requestMicrophoneAccess?: boolean;
9
+ requireMicrophoneAccess?: boolean;
23
10
  maxVideoWidth?: number;
24
11
  maxFps?: number;
25
12
  debugMode?: boolean;
26
13
  };
27
- export declare const CameraProvider: ({ children, preferFrontFacingCamera, preferContinuityCamera, requestMicrophoneAccess, maxVideoWidth, maxFps, debugMode, }: CameraProviderProps) => ReactElement;
14
+ export declare const CameraProvider: ({ children, requestAccessAutomatically, preferFrontFacingCamera, preferContinuityCamera, requireMicrophoneAccess, maxVideoWidth, maxFps, debugMode, }: CameraProviderProps) => ReactElement;
@@ -0,0 +1,30 @@
1
+ import { ReactElement } from 'react';
2
+ import { LoaderButtonColors } from '../common/LoaderButton';
3
+ import { CustomerSuppliedVerbiage } from '../../lib/locales';
4
+ export type MicrophoneAccessDeniedOverlayAssets = {
5
+ imageUrl?: string;
6
+ };
7
+ export type MicrophoneAccessDeniedOverlayClassNames = {
8
+ container?: string;
9
+ inner?: string;
10
+ imageContainer?: string;
11
+ image?: string;
12
+ heading?: string;
13
+ description?: string;
14
+ retryBtn?: string;
15
+ };
16
+ export type MicrophoneAccessDeniedOverlayColors = {
17
+ retryBtn?: LoaderButtonColors;
18
+ };
19
+ export type MicrophoneAccessDeniedOverlayVerbiage = {
20
+ headingText?: CustomerSuppliedVerbiage;
21
+ descriptionText?: CustomerSuppliedVerbiage;
22
+ retryBtnText?: CustomerSuppliedVerbiage;
23
+ };
24
+ export type MicrophoneAccessDeniedOverlayProps = {
25
+ assets?: MicrophoneAccessDeniedOverlayAssets;
26
+ classNames?: MicrophoneAccessDeniedOverlayClassNames;
27
+ colors?: MicrophoneAccessDeniedOverlayColors;
28
+ verbiage?: MicrophoneAccessDeniedOverlayVerbiage;
29
+ };
30
+ export declare const MicrophoneAccessDeniedOverlay: ({ assets, classNames, colors, verbiage: rawVerbiage, }: MicrophoneAccessDeniedOverlayProps) => ReactElement;
@@ -1,6 +1,6 @@
1
1
  import React, { ReactElement, ReactNode } from 'react';
2
2
  import { DetectedObject } from '../../lib/models/DocumentDetection';
3
- import { Face, FaceKeypoint } from '../selfie_capture/HighPerformanceSelfieGuidanceModelsProvider';
3
+ import { Face, FaceKeypoint } from '../../lib/models/FaceDetection';
4
4
  export declare const DebugStatsPane: import("styled-components").IStyledComponent<"web", {
5
5
  ref?: React.LegacyRef<HTMLSpanElement> | undefined;
6
6
  key?: React.Key | null | undefined;
@@ -313,7 +313,7 @@ export type DetectedObjectDebugBoxProps = {
313
313
  flipX?: boolean;
314
314
  color?: string;
315
315
  };
316
- export declare function IdCaptureDetectedObjectDebugBox({ obj, flipX, color, }: DetectedObjectDebugBoxProps): ReactElement;
316
+ export declare function IdCaptureDetectedObjectDebugBox({ obj, flipX, color, scaling, }: DetectedObjectDebugBoxProps): ReactElement;
317
317
  export type SelfieCaptureFaceDebugBoxProps = {
318
318
  face: Face;
319
319
  scaling: DebugScalingDetails;
@@ -2,7 +2,6 @@ import { ReactElement } from 'react';
2
2
  import { SelfieCaptureClassNames, SelfieCaptureColors, SelfieCaptureVerbiage } from '../selfie_capture/SelfieCapture';
3
3
  import { SelfieProgressPreviewClassNames } from '../common/SelfieProgressPreview';
4
4
  import { CustomerSuppliedVerbiage } from '../../lib/locales';
5
- import { SelfieCaptureLoadingOverlayProps } from '../selfie_capture/SelfieCaptureLoadingOverlay';
6
5
  export type FaceLivenessCaptureClassNames = SelfieCaptureClassNames & {
7
6
  imagePreview?: SelfieProgressPreviewClassNames;
8
7
  };
@@ -24,6 +23,5 @@ export type FaceLivenessCaptureProps = {
24
23
  colors?: FaceLivenessCaptureColors;
25
24
  verbiage?: FaceLivenessCaptureVerbiage;
26
25
  debugMode?: boolean;
27
- selfieCaptureLoadingOverlayProps?: SelfieCaptureLoadingOverlayProps;
28
26
  };
29
- export declare const FaceLivenessCapture: ({ onCapture, onSuccess, onTimeout, onExit, timeoutDurationMs, silentFallback, classNames, colors, verbiage: rawVerbiage, debugMode, selfieCaptureLoadingOverlayProps, }: FaceLivenessCaptureProps) => ReactElement;
27
+ export declare const FaceLivenessCapture: ({ onCapture, onSuccess, onTimeout, onExit, timeoutDurationMs, silentFallback, classNames, colors, verbiage: rawVerbiage, debugMode, }: FaceLivenessCaptureProps) => ReactElement;
@@ -1,7 +1,6 @@
1
1
  import { ReactElement } from 'react';
2
2
  import { CustomerSuppliedVerbiage } from '../../lib/locales';
3
3
  import { LoaderButtonColors } from '../common/LoaderButton';
4
- import { SelfieCaptureLoadingOverlayProps } from '../selfie_capture/SelfieCaptureLoadingOverlay';
5
4
  export type SelfieCaptureFallbackClassNames = {
6
5
  container?: string;
7
6
  inner?: string;
@@ -12,6 +11,7 @@ export type SelfieCaptureFallbackClassNames = {
12
11
  buttonsRow?: string;
13
12
  captureBtn?: string;
14
13
  doneBtn?: string;
14
+ retryCaptureBtn?: string;
15
15
  };
16
16
  export type SelfieCaptureFallbackColors = {
17
17
  captureBtn?: LoaderButtonColors;
@@ -23,6 +23,10 @@ export type SelfieCaptureFallbackVerbiage = {
23
23
  captureBtnText?: CustomerSuppliedVerbiage;
24
24
  doneBtnText?: CustomerSuppliedVerbiage;
25
25
  doneBtnLoadingText?: CustomerSuppliedVerbiage;
26
+ livenessFailedText?: CustomerSuppliedVerbiage;
27
+ livenessFailedReasonText?: CustomerSuppliedVerbiage;
28
+ retryButtonText?: CustomerSuppliedVerbiage;
29
+ retryCaptureButtonText?: CustomerSuppliedVerbiage;
26
30
  };
27
31
  export type SelfieCaptureFallbackProps = {
28
32
  onFinished?: (imageData: string) => void;
@@ -31,6 +35,7 @@ export type SelfieCaptureFallbackProps = {
31
35
  colors?: SelfieCaptureFallbackColors;
32
36
  verbiage?: SelfieCaptureFallbackVerbiage;
33
37
  silentFallback?: boolean;
34
- selfieCaptureLoadingOverlayProps?: SelfieCaptureLoadingOverlayProps;
38
+ invalidSelfie?: boolean;
39
+ guidanceMessage?: string;
35
40
  };
36
- export declare const SelfieCaptureFallback: ({ onFinished, onCapture, classNames, colors, verbiage: rawVerbiage, silentFallback, selfieCaptureLoadingOverlayProps: overlayProps, }: SelfieCaptureFallbackProps) => ReactElement;
41
+ export declare const SelfieCaptureFallback: ({ onFinished, onCapture, classNames, colors, verbiage: rawVerbiage, silentFallback, invalidSelfie, guidanceMessage, }: SelfieCaptureFallbackProps) => ReactElement;
@@ -1,8 +1,9 @@
1
+ import { DetectedObjectBox } from '../../lib/models/DocumentDetection';
1
2
  export type CapturedDocument = {
2
3
  imageData: string;
3
4
  width: number;
4
5
  height: number;
5
- boundingBox?: number[];
6
+ boundingBox?: DetectedObjectBox;
6
7
  };
7
8
  export declare const CapturedDocumentTypeValues: readonly ["idCardFront", "idCardBack", "passport", "selfie"];
8
9
  export type CapturedDocumentType = (typeof CapturedDocumentTypeValues)[number];
@@ -0,0 +1,55 @@
1
+ import * as React from 'react';
2
+ import { MutableRefObject, ReactElement, ReactNode } from 'react';
3
+ import { DetectedObject, DocumentType } from '../../lib/models/DocumentDetection';
4
+ type PredictionHandler = (prediction: DocumentDetectionPrediction) => Promise<void>;
5
+ type DocumentDetectionModelState = {
6
+ documentDetectionModelReady: boolean;
7
+ startDocumentDetection: () => void;
8
+ stopDocumentDetection: () => void;
9
+ onDocumentDetected: (handler: PredictionHandler) => void;
10
+ detectionTime: number;
11
+ documentDetectionThresholds: DocumentDetectionThresholds;
12
+ setDocumentDetectionThresholds: (value: DocumentDetectionThresholds) => void;
13
+ documentDetectionLastPredictionCanvas: MutableRefObject<HTMLCanvasElement | null>;
14
+ documentDetectionModelDownloadProgress: number;
15
+ documentDetectionModelError: Error | null;
16
+ };
17
+ export declare const DocumentDetectionModelContext: React.Context<DocumentDetectionModelState>;
18
+ export type DocumentDetectionModelProviderProps = {
19
+ autoStart?: boolean;
20
+ children: ReactNode;
21
+ throttleMs?: number;
22
+ documentDetectionModelPath?: string;
23
+ documentDetectionModelDelegate?: 'CPU' | 'GPU';
24
+ documentDetectionModelScoreThreshold?: number;
25
+ documentDetectionModelLoadTimeoutMs?: number;
26
+ };
27
+ export declare function DocumentDetectionModelProvider({ autoStart, children, throttleMs, documentDetectionModelPath, documentDetectionModelDelegate, documentDetectionModelScoreThreshold, documentDetectionModelLoadTimeoutMs, }: DocumentDetectionModelProviderProps): ReactElement;
28
+ export type DocumentDetectionThresholds = {
29
+ document?: number;
30
+ passport?: number;
31
+ mrz?: number;
32
+ pdf417?: number;
33
+ };
34
+ export type DocumentDetectionPrediction = {
35
+ detectedObjects: DetectedObject[];
36
+ detectionTime: number;
37
+ detectionScore: number;
38
+ detectionThresholdMet: boolean;
39
+ detectedDocumentType: DocumentType;
40
+ passportDetectionScore: number;
41
+ passportDetectionThresholdMet: boolean;
42
+ mrzDetectionScore: number;
43
+ mrzDetectionThresholdMet: boolean;
44
+ pdf417DetectionScore: number;
45
+ pdf417DetectionThresholdMet: boolean;
46
+ bestDocumentOrPassport: DetectedObject | undefined;
47
+ bestMrz: DetectedObject | undefined;
48
+ bestPdf417: DetectedObject | undefined;
49
+ documentInBounds: boolean;
50
+ documentTooClose: boolean;
51
+ frameWidth: number;
52
+ frameHeight: number;
53
+ allZero: boolean;
54
+ };
55
+ export {};
@@ -0,0 +1,23 @@
1
+ import React, { ReactNode } from 'react';
2
+ import { Frame } from '../../lib/utils/getFrameDimensions';
3
+ import { FocusPrediction, FocusThresholds } from '../../lib/models/Focus';
4
+ import { DetectedObjectBox } from '../../lib/models/DocumentDetection';
5
+ type FocusModelState = {
6
+ focusModelReady: boolean;
7
+ focusModelDownloadProgress: number;
8
+ focusModelError: Error | null;
9
+ focusThresholds: FocusThresholds;
10
+ setFocusThresholds: (value: FocusThresholds) => void;
11
+ makeFocusPrediction: (image: Frame, box?: DetectedObjectBox) => Promise<FocusPrediction | null>;
12
+ focusPredictionTime: number;
13
+ };
14
+ export declare const FocusModelContext: React.Context<FocusModelState>;
15
+ export type FocusModelProviderProps = {
16
+ children: ReactNode;
17
+ focusModelPath?: string;
18
+ focusModelLoadTimeoutMs?: number;
19
+ focusModelDelegate?: 'CPU' | 'GPU';
20
+ onFocusModelError?: (error: Error) => void;
21
+ };
22
+ export declare function FocusModelProvider({ children, focusModelPath, focusModelLoadTimeoutMs, focusModelDelegate, onFocusModelError, }: FocusModelProviderProps): React.JSX.Element;
23
+ export {};
@@ -60,4 +60,4 @@ export type IdCaptureProps = {
60
60
  verbiage?: IdCaptureVerbiage;
61
61
  debugMode?: boolean;
62
62
  };
63
- export declare const IdCapture: ({ requiredDocumentType, autoCaptureEnabled, autoCaptureScoreThreshold, autoCaptureGoodFramesRequired, autoCaptureBarcodeRequired, mrzDetectionScoreThreshold, passportPageDetectionThreshold, pdf417DetectionThreshold, focusScoreThreshold, barcodeScanningEnabled, maxBarcodeScanAttempts, guidanceMessage, guidanceSatisfied, onPrediction, onBarcodeScanned, onCapture, assets, classNames, colors, verbiage: rawVerbiage, debugMode, }: IdCaptureProps) => React.ReactElement;
63
+ export declare const IdCapture: ({ requiredDocumentType, autoCaptureEnabled, autoCaptureScoreThreshold, autoCaptureGoodFramesRequired, autoCaptureBarcodeRequired, mrzDetectionScoreThreshold, passportPageDetectionThreshold, pdf417DetectionThreshold, focusScoreThreshold, barcodeScanningEnabled, maxBarcodeScanAttempts, guidanceMessage, guidanceSatisfied, onPrediction, onCapture, assets, classNames, colors, verbiage: rawVerbiage, debugMode, }: IdCaptureProps) => React.ReactElement;
@@ -548,6 +548,281 @@ export declare const GuideRegion: import("styled-components").IStyledComponent<"
548
548
  $minHeight?: number | undefined;
549
549
  $maskColor?: string | undefined;
550
550
  }>>;
551
+ export declare const Spacer: import("styled-components").IStyledComponent<"web", {
552
+ key?: React.Key | null | undefined;
553
+ defaultChecked?: boolean | undefined;
554
+ defaultValue?: string | number | readonly string[] | undefined;
555
+ suppressContentEditableWarning?: boolean | undefined;
556
+ suppressHydrationWarning?: boolean | undefined;
557
+ accessKey?: string | undefined;
558
+ autoFocus?: boolean | undefined;
559
+ className?: string | undefined;
560
+ contentEditable?: (boolean | "true" | "false") | "inherit" | undefined;
561
+ contextMenu?: string | undefined;
562
+ dir?: string | undefined;
563
+ draggable?: (boolean | "true" | "false") | undefined;
564
+ hidden?: boolean | undefined;
565
+ id?: string | undefined;
566
+ lang?: string | undefined;
567
+ nonce?: string | undefined;
568
+ placeholder?: string | undefined;
569
+ slot?: string | undefined;
570
+ spellCheck?: (boolean | "true" | "false") | undefined;
571
+ style?: React.CSSProperties | undefined;
572
+ tabIndex?: number | undefined;
573
+ title?: string | undefined;
574
+ translate?: "yes" | "no" | undefined;
575
+ radioGroup?: string | undefined;
576
+ role?: React.AriaRole | undefined;
577
+ about?: string | undefined;
578
+ content?: string | undefined;
579
+ datatype?: string | undefined;
580
+ inlist?: any;
581
+ prefix?: string | undefined;
582
+ property?: string | undefined;
583
+ rel?: string | undefined;
584
+ resource?: string | undefined;
585
+ rev?: string | undefined;
586
+ typeof?: string | undefined;
587
+ vocab?: string | undefined;
588
+ autoCapitalize?: string | undefined;
589
+ autoCorrect?: string | undefined;
590
+ autoSave?: string | undefined;
591
+ color?: string | undefined;
592
+ itemProp?: string | undefined;
593
+ itemScope?: boolean | undefined;
594
+ itemType?: string | undefined;
595
+ itemID?: string | undefined;
596
+ itemRef?: string | undefined;
597
+ results?: number | undefined;
598
+ security?: string | undefined;
599
+ unselectable?: "on" | "off" | undefined;
600
+ inputMode?: "search" | "text" | "none" | "tel" | "url" | "email" | "numeric" | "decimal" | undefined;
601
+ is?: string | undefined;
602
+ children?: React.ReactNode | Iterable<React.ReactNode>;
603
+ "aria-activedescendant"?: string | undefined;
604
+ "aria-atomic"?: (boolean | "true" | "false") | undefined;
605
+ "aria-autocomplete"?: "list" | "none" | "inline" | "both" | undefined;
606
+ "aria-braillelabel"?: string | undefined;
607
+ "aria-brailleroledescription"?: string | undefined;
608
+ "aria-busy"?: (boolean | "true" | "false") | undefined;
609
+ "aria-checked"?: boolean | "true" | "false" | "mixed" | undefined;
610
+ "aria-colcount"?: number | undefined;
611
+ "aria-colindex"?: number | undefined;
612
+ "aria-colindextext"?: string | undefined;
613
+ "aria-colspan"?: number | undefined;
614
+ "aria-controls"?: string | undefined;
615
+ "aria-current"?: boolean | "time" | "step" | "true" | "false" | "page" | "location" | "date" | undefined;
616
+ "aria-describedby"?: string | undefined;
617
+ "aria-description"?: string | undefined;
618
+ "aria-details"?: string | undefined;
619
+ "aria-disabled"?: (boolean | "true" | "false") | undefined;
620
+ "aria-dropeffect"?: "copy" | "link" | "none" | "execute" | "move" | "popup" | undefined;
621
+ "aria-errormessage"?: string | undefined;
622
+ "aria-expanded"?: (boolean | "true" | "false") | undefined;
623
+ "aria-flowto"?: string | undefined;
624
+ "aria-grabbed"?: (boolean | "true" | "false") | undefined;
625
+ "aria-haspopup"?: boolean | "dialog" | "menu" | "true" | "false" | "grid" | "listbox" | "tree" | undefined;
626
+ "aria-hidden"?: (boolean | "true" | "false") | undefined;
627
+ "aria-invalid"?: boolean | "true" | "false" | "grammar" | "spelling" | undefined;
628
+ "aria-keyshortcuts"?: string | undefined;
629
+ "aria-label"?: string | undefined;
630
+ "aria-labelledby"?: string | undefined;
631
+ "aria-level"?: number | undefined;
632
+ "aria-live"?: "off" | "assertive" | "polite" | undefined;
633
+ "aria-modal"?: (boolean | "true" | "false") | undefined;
634
+ "aria-multiline"?: (boolean | "true" | "false") | undefined;
635
+ "aria-multiselectable"?: (boolean | "true" | "false") | undefined;
636
+ "aria-orientation"?: "horizontal" | "vertical" | undefined;
637
+ "aria-owns"?: string | undefined;
638
+ "aria-placeholder"?: string | undefined;
639
+ "aria-posinset"?: number | undefined;
640
+ "aria-pressed"?: boolean | "true" | "false" | "mixed" | undefined;
641
+ "aria-readonly"?: (boolean | "true" | "false") | undefined;
642
+ "aria-relevant"?: "text" | "additions" | "additions removals" | "additions text" | "all" | "removals" | "removals additions" | "removals text" | "text additions" | "text removals" | undefined;
643
+ "aria-required"?: (boolean | "true" | "false") | undefined;
644
+ "aria-roledescription"?: string | undefined;
645
+ "aria-rowcount"?: number | undefined;
646
+ "aria-rowindex"?: number | undefined;
647
+ "aria-rowindextext"?: string | undefined;
648
+ "aria-rowspan"?: number | undefined;
649
+ "aria-selected"?: (boolean | "true" | "false") | undefined;
650
+ "aria-setsize"?: number | undefined;
651
+ "aria-sort"?: "none" | "ascending" | "descending" | "other" | undefined;
652
+ "aria-valuemax"?: number | undefined;
653
+ "aria-valuemin"?: number | undefined;
654
+ "aria-valuenow"?: number | undefined;
655
+ "aria-valuetext"?: string | undefined;
656
+ dangerouslySetInnerHTML?: {
657
+ __html: string | TrustedHTML;
658
+ } | undefined;
659
+ onCopy?: React.ClipboardEventHandler<HTMLDivElement> | undefined;
660
+ onCopyCapture?: React.ClipboardEventHandler<HTMLDivElement> | undefined;
661
+ onCut?: React.ClipboardEventHandler<HTMLDivElement> | undefined;
662
+ onCutCapture?: React.ClipboardEventHandler<HTMLDivElement> | undefined;
663
+ onPaste?: React.ClipboardEventHandler<HTMLDivElement> | undefined;
664
+ onPasteCapture?: React.ClipboardEventHandler<HTMLDivElement> | undefined;
665
+ onCompositionEnd?: React.CompositionEventHandler<HTMLDivElement> | undefined;
666
+ onCompositionEndCapture?: React.CompositionEventHandler<HTMLDivElement> | undefined;
667
+ onCompositionStart?: React.CompositionEventHandler<HTMLDivElement> | undefined;
668
+ onCompositionStartCapture?: React.CompositionEventHandler<HTMLDivElement> | undefined;
669
+ onCompositionUpdate?: React.CompositionEventHandler<HTMLDivElement> | undefined;
670
+ onCompositionUpdateCapture?: React.CompositionEventHandler<HTMLDivElement> | undefined;
671
+ onFocus?: React.FocusEventHandler<HTMLDivElement> | undefined;
672
+ onFocusCapture?: React.FocusEventHandler<HTMLDivElement> | undefined;
673
+ onBlur?: React.FocusEventHandler<HTMLDivElement> | undefined;
674
+ onBlurCapture?: React.FocusEventHandler<HTMLDivElement> | undefined;
675
+ onChange?: React.FormEventHandler<HTMLDivElement> | undefined;
676
+ onChangeCapture?: React.FormEventHandler<HTMLDivElement> | undefined;
677
+ onBeforeInput?: React.FormEventHandler<HTMLDivElement> | undefined;
678
+ onBeforeInputCapture?: React.FormEventHandler<HTMLDivElement> | undefined;
679
+ onInput?: React.FormEventHandler<HTMLDivElement> | undefined;
680
+ onInputCapture?: React.FormEventHandler<HTMLDivElement> | undefined;
681
+ onReset?: React.FormEventHandler<HTMLDivElement> | undefined;
682
+ onResetCapture?: React.FormEventHandler<HTMLDivElement> | undefined;
683
+ onSubmit?: React.FormEventHandler<HTMLDivElement> | undefined;
684
+ onSubmitCapture?: React.FormEventHandler<HTMLDivElement> | undefined;
685
+ onInvalid?: React.FormEventHandler<HTMLDivElement> | undefined;
686
+ onInvalidCapture?: React.FormEventHandler<HTMLDivElement> | undefined;
687
+ onLoad?: React.ReactEventHandler<HTMLDivElement> | undefined;
688
+ onLoadCapture?: React.ReactEventHandler<HTMLDivElement> | undefined;
689
+ onError?: React.ReactEventHandler<HTMLDivElement> | undefined;
690
+ onErrorCapture?: React.ReactEventHandler<HTMLDivElement> | undefined;
691
+ onKeyDown?: React.KeyboardEventHandler<HTMLDivElement> | undefined;
692
+ onKeyDownCapture?: React.KeyboardEventHandler<HTMLDivElement> | undefined;
693
+ onKeyPress?: React.KeyboardEventHandler<HTMLDivElement> | undefined;
694
+ onKeyPressCapture?: React.KeyboardEventHandler<HTMLDivElement> | undefined;
695
+ onKeyUp?: React.KeyboardEventHandler<HTMLDivElement> | undefined;
696
+ onKeyUpCapture?: React.KeyboardEventHandler<HTMLDivElement> | undefined;
697
+ onAbort?: React.ReactEventHandler<HTMLDivElement> | undefined;
698
+ onAbortCapture?: React.ReactEventHandler<HTMLDivElement> | undefined;
699
+ onCanPlay?: React.ReactEventHandler<HTMLDivElement> | undefined;
700
+ onCanPlayCapture?: React.ReactEventHandler<HTMLDivElement> | undefined;
701
+ onCanPlayThrough?: React.ReactEventHandler<HTMLDivElement> | undefined;
702
+ onCanPlayThroughCapture?: React.ReactEventHandler<HTMLDivElement> | undefined;
703
+ onDurationChange?: React.ReactEventHandler<HTMLDivElement> | undefined;
704
+ onDurationChangeCapture?: React.ReactEventHandler<HTMLDivElement> | undefined;
705
+ onEmptied?: React.ReactEventHandler<HTMLDivElement> | undefined;
706
+ onEmptiedCapture?: React.ReactEventHandler<HTMLDivElement> | undefined;
707
+ onEncrypted?: React.ReactEventHandler<HTMLDivElement> | undefined;
708
+ onEncryptedCapture?: React.ReactEventHandler<HTMLDivElement> | undefined;
709
+ onEnded?: React.ReactEventHandler<HTMLDivElement> | undefined;
710
+ onEndedCapture?: React.ReactEventHandler<HTMLDivElement> | undefined;
711
+ onLoadedData?: React.ReactEventHandler<HTMLDivElement> | undefined;
712
+ onLoadedDataCapture?: React.ReactEventHandler<HTMLDivElement> | undefined;
713
+ onLoadedMetadata?: React.ReactEventHandler<HTMLDivElement> | undefined;
714
+ onLoadedMetadataCapture?: React.ReactEventHandler<HTMLDivElement> | undefined;
715
+ onLoadStart?: React.ReactEventHandler<HTMLDivElement> | undefined;
716
+ onLoadStartCapture?: React.ReactEventHandler<HTMLDivElement> | undefined;
717
+ onPause?: React.ReactEventHandler<HTMLDivElement> | undefined;
718
+ onPauseCapture?: React.ReactEventHandler<HTMLDivElement> | undefined;
719
+ onPlay?: React.ReactEventHandler<HTMLDivElement> | undefined;
720
+ onPlayCapture?: React.ReactEventHandler<HTMLDivElement> | undefined;
721
+ onPlaying?: React.ReactEventHandler<HTMLDivElement> | undefined;
722
+ onPlayingCapture?: React.ReactEventHandler<HTMLDivElement> | undefined;
723
+ onProgress?: React.ReactEventHandler<HTMLDivElement> | undefined;
724
+ onProgressCapture?: React.ReactEventHandler<HTMLDivElement> | undefined;
725
+ onRateChange?: React.ReactEventHandler<HTMLDivElement> | undefined;
726
+ onRateChangeCapture?: React.ReactEventHandler<HTMLDivElement> | undefined;
727
+ onResize?: React.ReactEventHandler<HTMLDivElement> | undefined;
728
+ onResizeCapture?: React.ReactEventHandler<HTMLDivElement> | undefined;
729
+ onSeeked?: React.ReactEventHandler<HTMLDivElement> | undefined;
730
+ onSeekedCapture?: React.ReactEventHandler<HTMLDivElement> | undefined;
731
+ onSeeking?: React.ReactEventHandler<HTMLDivElement> | undefined;
732
+ onSeekingCapture?: React.ReactEventHandler<HTMLDivElement> | undefined;
733
+ onStalled?: React.ReactEventHandler<HTMLDivElement> | undefined;
734
+ onStalledCapture?: React.ReactEventHandler<HTMLDivElement> | undefined;
735
+ onSuspend?: React.ReactEventHandler<HTMLDivElement> | undefined;
736
+ onSuspendCapture?: React.ReactEventHandler<HTMLDivElement> | undefined;
737
+ onTimeUpdate?: React.ReactEventHandler<HTMLDivElement> | undefined;
738
+ onTimeUpdateCapture?: React.ReactEventHandler<HTMLDivElement> | undefined;
739
+ onVolumeChange?: React.ReactEventHandler<HTMLDivElement> | undefined;
740
+ onVolumeChangeCapture?: React.ReactEventHandler<HTMLDivElement> | undefined;
741
+ onWaiting?: React.ReactEventHandler<HTMLDivElement> | undefined;
742
+ onWaitingCapture?: React.ReactEventHandler<HTMLDivElement> | undefined;
743
+ onAuxClick?: React.MouseEventHandler<HTMLDivElement> | undefined;
744
+ onAuxClickCapture?: React.MouseEventHandler<HTMLDivElement> | undefined;
745
+ onClick?: React.MouseEventHandler<HTMLDivElement> | undefined;
746
+ onClickCapture?: React.MouseEventHandler<HTMLDivElement> | undefined;
747
+ onContextMenu?: React.MouseEventHandler<HTMLDivElement> | undefined;
748
+ onContextMenuCapture?: React.MouseEventHandler<HTMLDivElement> | undefined;
749
+ onDoubleClick?: React.MouseEventHandler<HTMLDivElement> | undefined;
750
+ onDoubleClickCapture?: React.MouseEventHandler<HTMLDivElement> | undefined;
751
+ onDrag?: React.DragEventHandler<HTMLDivElement> | undefined;
752
+ onDragCapture?: React.DragEventHandler<HTMLDivElement> | undefined;
753
+ onDragEnd?: React.DragEventHandler<HTMLDivElement> | undefined;
754
+ onDragEndCapture?: React.DragEventHandler<HTMLDivElement> | undefined;
755
+ onDragEnter?: React.DragEventHandler<HTMLDivElement> | undefined;
756
+ onDragEnterCapture?: React.DragEventHandler<HTMLDivElement> | undefined;
757
+ onDragExit?: React.DragEventHandler<HTMLDivElement> | undefined;
758
+ onDragExitCapture?: React.DragEventHandler<HTMLDivElement> | undefined;
759
+ onDragLeave?: React.DragEventHandler<HTMLDivElement> | undefined;
760
+ onDragLeaveCapture?: React.DragEventHandler<HTMLDivElement> | undefined;
761
+ onDragOver?: React.DragEventHandler<HTMLDivElement> | undefined;
762
+ onDragOverCapture?: React.DragEventHandler<HTMLDivElement> | undefined;
763
+ onDragStart?: React.DragEventHandler<HTMLDivElement> | undefined;
764
+ onDragStartCapture?: React.DragEventHandler<HTMLDivElement> | undefined;
765
+ onDrop?: React.DragEventHandler<HTMLDivElement> | undefined;
766
+ onDropCapture?: React.DragEventHandler<HTMLDivElement> | undefined;
767
+ onMouseDown?: React.MouseEventHandler<HTMLDivElement> | undefined;
768
+ onMouseDownCapture?: React.MouseEventHandler<HTMLDivElement> | undefined;
769
+ onMouseEnter?: React.MouseEventHandler<HTMLDivElement> | undefined;
770
+ onMouseLeave?: React.MouseEventHandler<HTMLDivElement> | undefined;
771
+ onMouseMove?: React.MouseEventHandler<HTMLDivElement> | undefined;
772
+ onMouseMoveCapture?: React.MouseEventHandler<HTMLDivElement> | undefined;
773
+ onMouseOut?: React.MouseEventHandler<HTMLDivElement> | undefined;
774
+ onMouseOutCapture?: React.MouseEventHandler<HTMLDivElement> | undefined;
775
+ onMouseOver?: React.MouseEventHandler<HTMLDivElement> | undefined;
776
+ onMouseOverCapture?: React.MouseEventHandler<HTMLDivElement> | undefined;
777
+ onMouseUp?: React.MouseEventHandler<HTMLDivElement> | undefined;
778
+ onMouseUpCapture?: React.MouseEventHandler<HTMLDivElement> | undefined;
779
+ onSelect?: React.ReactEventHandler<HTMLDivElement> | undefined;
780
+ onSelectCapture?: React.ReactEventHandler<HTMLDivElement> | undefined;
781
+ onTouchCancel?: React.TouchEventHandler<HTMLDivElement> | undefined;
782
+ onTouchCancelCapture?: React.TouchEventHandler<HTMLDivElement> | undefined;
783
+ onTouchEnd?: React.TouchEventHandler<HTMLDivElement> | undefined;
784
+ onTouchEndCapture?: React.TouchEventHandler<HTMLDivElement> | undefined;
785
+ onTouchMove?: React.TouchEventHandler<HTMLDivElement> | undefined;
786
+ onTouchMoveCapture?: React.TouchEventHandler<HTMLDivElement> | undefined;
787
+ onTouchStart?: React.TouchEventHandler<HTMLDivElement> | undefined;
788
+ onTouchStartCapture?: React.TouchEventHandler<HTMLDivElement> | undefined;
789
+ onPointerDown?: React.PointerEventHandler<HTMLDivElement> | undefined;
790
+ onPointerDownCapture?: React.PointerEventHandler<HTMLDivElement> | undefined;
791
+ onPointerMove?: React.PointerEventHandler<HTMLDivElement> | undefined;
792
+ onPointerMoveCapture?: React.PointerEventHandler<HTMLDivElement> | undefined;
793
+ onPointerUp?: React.PointerEventHandler<HTMLDivElement> | undefined;
794
+ onPointerUpCapture?: React.PointerEventHandler<HTMLDivElement> | undefined;
795
+ onPointerCancel?: React.PointerEventHandler<HTMLDivElement> | undefined;
796
+ onPointerCancelCapture?: React.PointerEventHandler<HTMLDivElement> | undefined;
797
+ onPointerEnter?: React.PointerEventHandler<HTMLDivElement> | undefined;
798
+ onPointerEnterCapture?: React.PointerEventHandler<HTMLDivElement> | undefined;
799
+ onPointerLeave?: React.PointerEventHandler<HTMLDivElement> | undefined;
800
+ onPointerLeaveCapture?: React.PointerEventHandler<HTMLDivElement> | undefined;
801
+ onPointerOver?: React.PointerEventHandler<HTMLDivElement> | undefined;
802
+ onPointerOverCapture?: React.PointerEventHandler<HTMLDivElement> | undefined;
803
+ onPointerOut?: React.PointerEventHandler<HTMLDivElement> | undefined;
804
+ onPointerOutCapture?: React.PointerEventHandler<HTMLDivElement> | undefined;
805
+ onGotPointerCapture?: React.PointerEventHandler<HTMLDivElement> | undefined;
806
+ onGotPointerCaptureCapture?: React.PointerEventHandler<HTMLDivElement> | undefined;
807
+ onLostPointerCapture?: React.PointerEventHandler<HTMLDivElement> | undefined;
808
+ onLostPointerCaptureCapture?: React.PointerEventHandler<HTMLDivElement> | undefined;
809
+ onScroll?: React.UIEventHandler<HTMLDivElement> | undefined;
810
+ onScrollCapture?: React.UIEventHandler<HTMLDivElement> | undefined;
811
+ onWheel?: React.WheelEventHandler<HTMLDivElement> | undefined;
812
+ onWheelCapture?: React.WheelEventHandler<HTMLDivElement> | undefined;
813
+ onAnimationStart?: React.AnimationEventHandler<HTMLDivElement> | undefined;
814
+ onAnimationStartCapture?: React.AnimationEventHandler<HTMLDivElement> | undefined;
815
+ onAnimationEnd?: React.AnimationEventHandler<HTMLDivElement> | undefined;
816
+ onAnimationEndCapture?: React.AnimationEventHandler<HTMLDivElement> | undefined;
817
+ onAnimationIteration?: React.AnimationEventHandler<HTMLDivElement> | undefined;
818
+ onAnimationIterationCapture?: React.AnimationEventHandler<HTMLDivElement> | undefined;
819
+ onTransitionEnd?: React.TransitionEventHandler<HTMLDivElement> | undefined;
820
+ onTransitionEndCapture?: React.TransitionEventHandler<HTMLDivElement> | undefined;
821
+ $minWidth?: number | undefined;
822
+ $minHeight?: number | undefined;
823
+ $maskColor?: string | undefined;
824
+ ref?: ((instance: HTMLDivElement | null) => void) | React.RefObject<HTMLDivElement> | null | undefined;
825
+ }>;
551
826
  export declare const GuideCenterRegion: import("styled-components").IStyledComponent<"web", import("styled-components/dist/types").Substitute<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {
552
827
  $minWidth?: number | undefined;
553
828
  $isMirrored?: boolean | undefined;
@@ -1,7 +1,8 @@
1
- import React, { MutableRefObject, ReactElement, ReactNode } from 'react';
2
- import { DetectedObject, DocumentType } from '../../lib/models/DocumentDetection';
3
- import { FocusPrediction } from '../../lib/models/Focus';
4
- import { Frame } from '../../lib/utils/getFrameDimensions';
1
+ import React, { ReactElement, ReactNode } from 'react';
2
+ import { DetectedObject, DetectedObjectBox, DocumentType } from '../../lib/models/DocumentDetection';
3
+ import { DocumentDetectionModelProviderProps, DocumentDetectionThresholds } from './DocumentDetectionModelProvider';
4
+ import { FocusModelProviderProps } from './FocusModelProvider';
5
+ import { FocusThresholds } from '../../lib/models/Focus';
5
6
  export type IdCapturePrediction = {
6
7
  detectedObjects: DetectedObject[];
7
8
  detectionTime: number;
@@ -26,30 +27,23 @@ export type IdCapturePrediction = {
26
27
  frameHeight: number;
27
28
  allZero: boolean;
28
29
  };
29
- export type IdCaptureThresholds = {
30
- document?: number;
31
- passport?: number;
32
- mrz?: number;
33
- pdf417?: number;
34
- focus?: {
35
- desktop?: number;
36
- mobile?: number;
37
- };
30
+ export type IdCaptureThresholds = DocumentDetectionThresholds & {
31
+ focus?: FocusThresholds;
38
32
  };
39
33
  export type BestFrame = {
40
34
  canvas: HTMLCanvasElement;
41
- boundingBox?: number[];
35
+ boundingBox?: DetectedObjectBox;
42
36
  detectionScore: number;
43
37
  focusScore: number;
44
38
  };
45
39
  export type IdCaptureModelsState = {
46
40
  ready: boolean;
41
+ start: () => void;
42
+ stop: () => void;
47
43
  modelDownloadProgress: number;
48
- working: MutableRefObject<boolean>;
49
44
  idModelError: Error | null;
50
45
  thresholds: IdCaptureThresholds;
51
46
  setThresholds: (value: IdCaptureThresholds) => void;
52
- makePrediction: (frame: Frame) => void;
53
47
  onPredictionMade: (handler: (prediction: IdCapturePrediction) => void) => void;
54
48
  detectionTime: number;
55
49
  focusPredictionTime: number;
@@ -63,18 +57,8 @@ export type IdCaptureModelsProviderProps = {
63
57
  children: ReactNode;
64
58
  documentDetectionModelUrl?: string | undefined;
65
59
  focusModelUrl?: string | undefined;
66
- logPredictions?: boolean;
67
60
  onModelError?: (error: Error) => void;
68
61
  modelLoadTimeoutMs?: number;
69
62
  };
70
- export declare const defaultDocumentDetectionModelUrl: string;
71
- export declare const defaultFocusModelUrl: string;
72
- export declare const defaultIdCaptureModelLoadTimeoutMs = 45000;
73
- export declare const IdCaptureModelsProvider: ({ children, documentDetectionModelUrl, focusModelUrl, logPredictions, onModelError, modelLoadTimeoutMs, }: IdCaptureModelsProviderProps) => ReactElement;
74
- type Canvases = {
75
- lastPredictionCanvas: HTMLCanvasElement;
76
- cropCanvas: HTMLCanvasElement;
77
- rotateCanvas: HTMLCanvasElement;
78
- };
79
- export declare function makeFocusPrediction(imageData: Frame, canvases: Canvases, bbox?: number[], logPredictions?: boolean): Promise<[FocusPrediction, number]>;
80
- export {};
63
+ export declare function IdCaptureModelsProviderInner({ children, onModelError, }: IdCaptureModelsProviderProps): ReactElement;
64
+ export declare function IdCaptureModelsProvider({ children, ...props }: IdCaptureModelsProviderProps & DocumentDetectionModelProviderProps & FocusModelProviderProps): React.JSX.Element;
@@ -1,8 +1,8 @@
1
1
  import { ReactElement } from 'react';
2
2
  import { FaceCaptureGuideOverlayClassNames } from '../face_liveness/FaceCaptureGuideOverlay';
3
- import { Face } from './HighPerformanceSelfieGuidanceModelsProvider';
4
3
  import { CustomerSuppliedVerbiage } from '../../lib/locales';
5
4
  import { SelfieCaptureFallbackClassNames } from '../fallback_flows/SelfieCapture';
5
+ import { Face } from '../../lib/models/FaceDetection';
6
6
  export type SelfieCaptureClassNames = {
7
7
  container?: string;
8
8
  cameraFeed?: string;
@@ -2,9 +2,11 @@ import React from 'react';
2
2
  import { CameraAccessDeniedOverlayAssets, CameraAccessDeniedOverlayClassNames, CameraAccessDeniedOverlayColors, CameraAccessDeniedOverlayVerbiage } from '../camera/CameraAccessDeniedOverlay';
3
3
  import { LoaderButtonColors } from '../common/LoaderButton';
4
4
  import { CustomerSuppliedVerbiage } from '../../lib/locales';
5
+ import { MicrophoneAccessDeniedOverlayAssets, MicrophoneAccessDeniedOverlayClassNames, MicrophoneAccessDeniedOverlayColors, MicrophoneAccessDeniedOverlayVerbiage } from '../camera/MicrophoneAccessDeniedOverlay';
5
6
  export type SelfieCaptureLoadingOverlayAssets = {
6
7
  instructionImageUrl?: string;
7
8
  cameraAccessDenied?: CameraAccessDeniedOverlayAssets;
9
+ microphoneAccessDenied?: MicrophoneAccessDeniedOverlayAssets;
8
10
  };
9
11
  export type SelfieCaptureLoadingOverlayClassNames = {
10
12
  container?: string;
@@ -18,6 +20,7 @@ export type SelfieCaptureLoadingOverlayClassNames = {
18
20
  continueBtn?: string;
19
21
  cancelBtn?: string;
20
22
  cameraAccessDenied?: CameraAccessDeniedOverlayClassNames;
23
+ microphoneAccessDenied?: MicrophoneAccessDeniedOverlayClassNames;
21
24
  progressContainer?: string;
22
25
  progressBackground?: string;
23
26
  progressBar?: string;
@@ -29,6 +32,7 @@ export type SelfieCaptureLoadingOverlayClassNames = {
29
32
  export type SelfieCaptureLoadingOverlayColors = {
30
33
  continueBtn?: LoaderButtonColors;
31
34
  cameraAccessDenied?: CameraAccessDeniedOverlayColors;
35
+ microphoneAccessDenied?: MicrophoneAccessDeniedOverlayColors;
32
36
  };
33
37
  export type SelfieCaptureLoadingOverlayVerbiage = {
34
38
  headingText?: CustomerSuppliedVerbiage;
@@ -41,6 +45,7 @@ export type SelfieCaptureLoadingOverlayVerbiage = {
41
45
  modelsReadyText?: CustomerSuppliedVerbiage;
42
46
  cameraInitializedText?: CustomerSuppliedVerbiage;
43
47
  cameraAccessDenied?: CameraAccessDeniedOverlayVerbiage;
48
+ microphoneAccessDenied?: MicrophoneAccessDeniedOverlayVerbiage;
44
49
  };
45
50
  export type SelfieCaptureLoadingOverlayProps = {
46
51
  onDismissed?: () => void;