UNPKG

biometry-angular-components

Version:

Angular UI component library for capturing biometric data

59 lines (58 loc) 2.38 kB
import { ChangeDetectorRef, ElementRef, EventEmitter, OnDestroy, OnInit, AfterViewInit } from '@angular/core'; import { PermissionsService } from '../../services/permissions.service'; import { RecorderService } from '../../services/recorder.service'; import * as i0 from "@angular/core"; type FaceState = 'preparation' | 'countdown' | 'recording' | 'processing' | 'result'; export declare class FaceRecorderComponent implements OnInit, AfterViewInit, OnDestroy { private permissions; private recorder; private cdr; videoRef: ElementRef<HTMLVideoElement>; countdownSeconds: number; recordingSeconds: number; /** Prefer vertical 9:16; request 720x1280 from camera */ videoWidth: number; videoHeight: number; capture: EventEmitter<{ file: File; phrase: string; }>; state: FaceState; digits: number[]; maskedDigits: string[]; countdownLeft: number; recordLeft: number; private countdownTimer; private recordTimer; private stream?; videoBlob: Blob | null; videoUrl: string | null; isConfirming: boolean; permissionsGranted: boolean | null; private mimeType; constructor(permissions: PermissionsService, recorder: RecorderService, cdr: ChangeDetectorRef); ngOnInit(): void; ngAfterViewInit(): void; ngOnDestroy(): void; /** === Flow control === */ requestPermissions(): Promise<void>; private attachStream; startFlow(): void; private startCountdown; private startRecording; finishRecording(): Promise<void>; cancelRecording(): void; handleDecline(): void; handleConfirm(): void; /** === Helpers === */ private generateDigits; private clearCountdown; private clearRecordTimer; private clearAllTimers; private cleanupPlayback; private stopTracks; get displayDigits(): string[]; static ɵfac: i0.ɵɵFactoryDeclaration<FaceRecorderComponent, never>; static ɵcmp: i0.ɵɵComponentDeclaration<FaceRecorderComponent, "bio-face-recorder", never, { "countdownSeconds": { "alias": "countdownSeconds"; "required": false; }; "recordingSeconds": { "alias": "recordingSeconds"; "required": false; }; "videoWidth": { "alias": "videoWidth"; "required": false; }; "videoHeight": { "alias": "videoHeight"; "required": false; }; }, { "capture": "capture"; }, never, never, true, never>; } export {};