ngx-numeric-captcha
Version:
A lightweight Angular CAPTCHA library with Math, Slider, and Pattern verification types. Compact design perfect for login forms and secure applications.
47 lines (44 loc) • 1.55 kB
TypeScript
import * as i0 from '@angular/core';
import { OnInit, EventEmitter } from '@angular/core';
interface CaptchaResult {
isValid: boolean;
attempts: number;
}
declare enum CaptchaType {
MATH = "math",
SLIDER = "slider",
PATTERN = "pattern"
}
declare class NumericCaptchaComponent implements OnInit {
type: CaptchaType;
size: 'small' | 'medium';
captchaResult: EventEmitter<CaptchaResult>;
userAnswer: string;
isVerified: boolean | null;
attempts: number;
maxAttempts: number;
mathExpression: string;
correctAnswer: number;
sliderPosition: number;
targetPosition: number;
sliderTolerance: number;
patternSequence: number[];
userPattern: number[];
patternSize: number;
ngOnInit(): void;
initializeCaptcha(): void;
resetState(): void;
generateMathCaptcha(): void;
generateSliderCaptcha(): void;
generatePatternCaptcha(): void;
verify(): void;
private generateNewCaptcha;
addToPattern(index: number): void;
clearPattern(): void;
arraysEqual(a: number[], b: number[]): boolean;
refreshCaptcha(): void;
static ɵfac: i0.ɵɵFactoryDeclaration<NumericCaptchaComponent, never>;
static ɵcmp: i0.ɵɵComponentDeclaration<NumericCaptchaComponent, "ngx-numeric-captcha", never, { "type": { "alias": "type"; "required": false; }; "size": { "alias": "size"; "required": false; }; }, { "captchaResult": "captchaResult"; }, never, never, true, never>;
}
export { CaptchaType, NumericCaptchaComponent };
export type { CaptchaResult };