UNPKG

ngx-turnstile

Version:

Angular component for Cloudflare Turnstile

63 lines (62 loc) 3.87 kB
import { ElementRef, NgZone, EventEmitter, OnDestroy } from '@angular/core'; import { TurnstileOptions } from './interfaces/turnstile-options'; import * as i0 from "@angular/core"; declare global { interface Window { onloadTurnstileCallback: () => void; turnstile: { render: (idOrContainer: string | HTMLElement, options: TurnstileOptions) => string; reset: (widgetIdOrContainer: string | HTMLElement) => void; getResponse: (widgetIdOrContainer: string | HTMLElement) => string | undefined; remove: (widgetIdOrContainer: string | HTMLElement) => void; }; } } type SupportedVersion = '0'; export declare class NgxTurnstileComponent implements OnDestroy { private elementRef; private zone; private document; private platformId; siteKey: string; action?: string; cData?: string; theme?: 'light' | 'dark' | 'auto'; language?: string; version: SupportedVersion; tabIndex?: number; appearance?: 'always' | 'execute' | 'interaction-only'; execution?: 'render' | 'execute'; retry?: 'never' | 'auto'; retryInterval?: number; refreshExpired?: 'auto' | 'manual' | 'never'; refreshTimeout?: 'auto' | 'manual' | 'never'; size?: 'normal' | 'flexible' | 'compact'; responseField?: boolean; responseFieldName?: string; feedbackEnabled?: boolean; offlabelShowPrivacy?: boolean; offlabelShowHelp?: boolean; resolved: EventEmitter<string | null>; errored: EventEmitter<string | null>; beforeInteractive: EventEmitter<void>; afterInteractive: EventEmitter<void>; unsupported: EventEmitter<void>; timeout: EventEmitter<void>; private widgetId; /** Whether the Cloudflare Turnstile script has finished loading. */ scriptLoaded: import("@angular/core").WritableSignal<boolean>; /** Whether a widget is currently rendered. Clients can watch this signal. */ widgetLoaded: import("@angular/core").Signal<boolean>; private onScriptLoad; constructor(elementRef: ElementRef<HTMLElement>, zone: NgZone, document: Document, platformId: Object); private _getCloudflareTurnstileUrl; private loadScript; createWidget(): void; reset(): void; remove(): void; ngOnDestroy(): void; static ɵfac: i0.ɵɵFactoryDeclaration<NgxTurnstileComponent, never>; static ɵcmp: i0.ɵɵComponentDeclaration<NgxTurnstileComponent, "ngx-turnstile", ["ngx-turnstile"], { "siteKey": { "alias": "siteKey"; "required": false; }; "action": { "alias": "action"; "required": false; }; "cData": { "alias": "cData"; "required": false; }; "theme": { "alias": "theme"; "required": false; }; "language": { "alias": "language"; "required": false; }; "version": { "alias": "version"; "required": false; }; "tabIndex": { "alias": "tabIndex"; "required": false; }; "appearance": { "alias": "appearance"; "required": false; }; "execution": { "alias": "execution"; "required": false; }; "retry": { "alias": "retry"; "required": false; }; "retryInterval": { "alias": "retryInterval"; "required": false; }; "refreshExpired": { "alias": "refreshExpired"; "required": false; }; "refreshTimeout": { "alias": "refreshTimeout"; "required": false; }; "size": { "alias": "size"; "required": false; }; "responseField": { "alias": "responseField"; "required": false; }; "responseFieldName": { "alias": "responseFieldName"; "required": false; }; "feedbackEnabled": { "alias": "feedbackEnabled"; "required": false; }; "offlabelShowPrivacy": { "alias": "offlabelShowPrivacy"; "required": false; }; "offlabelShowHelp": { "alias": "offlabelShowHelp"; "required": false; }; }, { "resolved": "resolved"; "errored": "errored"; "beforeInteractive": "beforeInteractive"; "afterInteractive": "afterInteractive"; "unsupported": "unsupported"; "timeout": "timeout"; }, never, never, true, never>; } export {};