infinity-forge
Version:
44 lines (43 loc) • 2.36 kB
TypeScript
export type WidgetId = string;
export type ElementId = string;
export interface TurnstileObject {
ready: (callback: () => any) => void;
implicitRender: () => void;
execute: (container?: WidgetId | HTMLElement | ElementId, parameters?: RenderParameters) => void;
render(container: HTMLElement | ElementId, parameters?: RenderParameters): string;
reset(widget?: WidgetId | HTMLElement | ElementId): void;
remove(widget?: WidgetId | HTMLElement | ElementId): void;
getResponse(widget?: WidgetId | HTMLElement | ElementId): string;
isExpired(widget?: WidgetId | HTMLElement | ElementId): boolean;
}
export type TurnstileOptions = RenderParameters;
export interface RenderParameters {
sitekey: string;
action?: string;
cData?: string;
callback?: (token: string, preClearanceObtained: boolean) => void;
"error-callback"?: (errorCode: string) => void;
execution?: "render" | "execute";
"expired-callback"?: (token: string) => void;
"before-interactive-callback"?: () => void;
"after-interactive-callback"?: () => void;
"unsupported-callback"?: () => void;
"timeout-callback"?: () => void;
theme?: "light" | "dark" | "auto";
language?: SupportedLanguages | "auto" | string;
tabindex?: number;
"response-field"?: boolean;
"response-field-name"?: string;
size?: "normal" | "flexible" | "compact" | "invisible";
retry?: "auto" | "never";
"retry-interval"?: number;
"refresh-expired"?: "auto" | "manual" | "never";
appearance?: "always" | "execute" | "interaction-only";
chlPageData?: string;
}
export type SupportedLanguages = "ar-eg" | "ar" | "bg-bg" | "bg" | "cs-cz" | "cs" | "da-dk" | "da" | "de-de" | "de" | "en-us" | "en" | "el-gr" | "el" | "es-es" | "es" | "fa-ir" | "fa" | "fi-fi" | "fi" | "fr" | "he-il" | "he" | "hi-in" | "hi" | "hr-hr" | "hr" | "hu-hu" | "hu" | "id-id" | "id" | "it-it" | "it" | "ja-jp" | "ja" | "ko-kr" | "ko" | "lt-lt" | "lt" | "ms-my" | "ms" | "nl-nl" | "nl" | "no-no" | "no" | "pl-pl" | "pl" | "pt-br" | "pt" | "ro-ro" | "ro" | "ru-ru" | "ru" | "sk-sk" | "sk" | "sl-si" | "sl" | "sv-se" | "sv" | "sr-ba" | "sr" | "tlh" | "tl-ph" | "tl" | "th-th" | "th" | "tr-tr" | "tr" | "uk-ua" | "uk" | "vi-vn" | "vi" | "zh-cn" | "zh-tw" | "zh";
declare global {
interface Window {
turnstile: TurnstileObject;
}
}