mirror of
https://github.com/zhigang1992/DefinitelyTyped.git
synced 2026-05-29 00:51:29 +08:00
Added React Google ReCAPTCHA
This commit is contained in:
86
types/react-google-recaptcha/index.d.ts
vendored
Normal file
86
types/react-google-recaptcha/index.d.ts
vendored
Normal file
@@ -0,0 +1,86 @@
|
||||
// Type definitions for React Google Recaptcha 0.9
|
||||
// Project: https://github.com/dozoisch/react-google-recaptcha
|
||||
// Definitions by: Koala Human <https://github.com/KoalaHuman>
|
||||
// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped
|
||||
// TypeScript Version: 2.3
|
||||
|
||||
import * as React from 'react';
|
||||
|
||||
export as namespace RGR;
|
||||
|
||||
export default ReCAPTCHA;
|
||||
|
||||
declare class ReCAPTCHA extends React.Component<ReCAPTCHAProps> {
|
||||
/**
|
||||
* Resets the reCAPTCHA widget
|
||||
*/
|
||||
reset(): void;
|
||||
/**
|
||||
* Programatically invoke the reCAPTCHA check. Used if the invisible reCAPTCHA is on a div instead of a button
|
||||
*/
|
||||
execute(): void;
|
||||
|
||||
/**
|
||||
* Gets the response for the reCAPTCHA widget.
|
||||
* @return the response of the reCAPTCHA widget.
|
||||
*/
|
||||
getValue(): string | null;
|
||||
|
||||
/**
|
||||
* Gets the widgetId of reCAPTCHA widget
|
||||
* @return widgetId | null
|
||||
*/
|
||||
getWidgetId(): number | null;
|
||||
}
|
||||
|
||||
type Theme = "light" | "dark";
|
||||
type Type = "image" | "audio";
|
||||
type Size = "compact" | "normal" | "invisible";
|
||||
type Badge = "bottomright" | "bottomleft" | "inline";
|
||||
|
||||
export interface ReCAPTCHAProps {
|
||||
/**
|
||||
* The API client key
|
||||
*/
|
||||
sitekey: string;
|
||||
/**
|
||||
* The function to be called when the user successfully completes the captcha. It will also be called
|
||||
* with null, when captcha expires
|
||||
* @param token string or null
|
||||
*/
|
||||
onChange: (token: string|null) => void;
|
||||
/**
|
||||
* Optional light or dark theme of the widget
|
||||
* @default "light"
|
||||
*/
|
||||
theme?: Theme;
|
||||
/**
|
||||
* Optional image or audio The type of initial captcha
|
||||
* @default "image"
|
||||
*/
|
||||
type?: Type;
|
||||
/**
|
||||
* Optional the tabindex of the element
|
||||
* @default 0
|
||||
*/
|
||||
tabindex?: number;
|
||||
/**
|
||||
* Optional callback, called when a challenge expires and has to be redone by the user.
|
||||
*/
|
||||
onExpired?: () => void;
|
||||
/**
|
||||
* Optional set the stoken parameter, which allows the captcha to be used from different domains,
|
||||
* @see reCAPTCHA secure-token
|
||||
*/
|
||||
stoken?: string;
|
||||
/**
|
||||
* Optional compact, normal or invisible. This allows you to change the size or do an invisible captcha
|
||||
*/
|
||||
size?: Size;
|
||||
/**
|
||||
* Optional. The badge location for g-recaptcha with size of "invisible".
|
||||
*
|
||||
* @default "bottomright"
|
||||
*/
|
||||
badge?: Badge;
|
||||
}
|
||||
@@ -0,0 +1,8 @@
|
||||
import ReCAPTCHA from 'react-google-recaptcha';
|
||||
import * as ReactDOM from 'react-dom';
|
||||
import * as React from 'react';
|
||||
|
||||
ReactDOM.render(
|
||||
<ReCAPTCHA sitekey="xxx" onChange={a => a}/>,
|
||||
document.getElementById('example')
|
||||
);
|
||||
25
types/react-google-recaptcha/tsconfig.json
Normal file
25
types/react-google-recaptcha/tsconfig.json
Normal file
@@ -0,0 +1,25 @@
|
||||
{
|
||||
"compilerOptions": {
|
||||
"module": "commonjs",
|
||||
"lib": [
|
||||
"es6",
|
||||
"dom"
|
||||
],
|
||||
"noImplicitAny": true,
|
||||
"noImplicitThis": true,
|
||||
"strictNullChecks": true,
|
||||
"strictFunctionTypes": true,
|
||||
"baseUrl": "../",
|
||||
"typeRoots": [
|
||||
"../"
|
||||
],
|
||||
"types": [],
|
||||
"jsx": "react",
|
||||
"noEmit": true,
|
||||
"forceConsistentCasingInFileNames": true
|
||||
},
|
||||
"files": [
|
||||
"index.d.ts",
|
||||
"react-google-recaptcha-tests.tsx"
|
||||
]
|
||||
}
|
||||
1
types/react-google-recaptcha/tslint.json
Normal file
1
types/react-google-recaptcha/tslint.json
Normal file
@@ -0,0 +1 @@
|
||||
{ "extends": "dtslint/dt.json" }
|
||||
Reference in New Issue
Block a user