diff --git a/react-facebook-login/index.d.ts b/react-facebook-login/index.d.ts new file mode 100644 index 0000000000..3b95e684e4 --- /dev/null +++ b/react-facebook-login/index.d.ts @@ -0,0 +1,50 @@ +// Type definitions for react-facebook-login 3.4 +// Project: https://github.com/keppelen/react-facebook-login +// Definitions by: Alexandre Paré +// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped + +import * as React from "react"; + +declare namespace ReactFacebookLogin { + + export interface ReactFacebookLoginProps { + appId: string; + callback: (userInfo: ReactFacebookLoginInfo) => void; + + autoLoad?: boolean; + buttonStyle?: React.CSSProperties; + containerStyle?: React.CSSProperties; + cookie?: boolean; + cssClass?: string; + disableMobileRedirect?: boolean; + fields?: string; + icon?: string | React.ReactNode; + isDisabled?: boolean; + language?: string; + onClick?: () => void; + reAuthenticate?: boolean; + redirectUri?: string; + scope?: string; + size?: "small" | "medium" | "metro"; + textButton?: string; + typeButton?: string; + version?: string; + xfbml?: boolean; + } + + export interface ReactFacebookLoginInfo { + id: string; + name: string; + } + + export interface ReactFacebookLoginState { + isSdkLoaded?: boolean; + isProcessing?: boolean; + } + +} + +declare class ReactFacebookLogin extends React.Component { +} + +export = ReactFacebookLogin; \ No newline at end of file diff --git a/react-facebook-login/react-facebook-login-tests.tsx b/react-facebook-login/react-facebook-login-tests.tsx new file mode 100644 index 0000000000..0a57b598fe --- /dev/null +++ b/react-facebook-login/react-facebook-login-tests.tsx @@ -0,0 +1,99 @@ +import * as React from 'react'; +import * as ReactDOM from 'react-dom'; + +import FacebookLogin from 'react-facebook-login'; +import { ReactFacebookLoginInfo } from 'react-facebook-login'; + +const responseFacebook = (response: ReactFacebookLoginInfo) => { + console.log(response); +}; + +const componentClicked = () => { + console.log("component clicked"); +}; + +ReactDOM.render( + , + document.getElementById('demo') +); + + +ReactDOM.render( + , + document.getElementById('demo') +); + +ReactDOM.render( + } + />, + document.getElementById('demo') +); + +ReactDOM.render( + } + />, + document.getElementById('demo') +); + +class MyComponent extends React.Component { + + private responseFacebook(response: ReactFacebookLoginInfo) { + console.log(response); + } + + render() { + return ( + + ); + } +} + + +class MyComponent2 extends React.Component { + + private responseFacebook(response: ReactFacebookLoginInfo) { + console.log(response); + } + + render() { + return ( + + ) + } +} + diff --git a/react-facebook-login/tsconfig.json b/react-facebook-login/tsconfig.json new file mode 100644 index 0000000000..6803f928e3 --- /dev/null +++ b/react-facebook-login/tsconfig.json @@ -0,0 +1,22 @@ +{ + "compilerOptions": { + "module": "commonjs", + "target": "es6", + "jsx": "react", + "noImplicitAny": true, + "noImplicitThis": true, + "strictNullChecks": true, + "allowSyntheticDefaultImports": true, + "baseUrl": "../", + "typeRoots": [ + "../" + ], + "types": [], + "noEmit": true, + "forceConsistentCasingInFileNames": true + }, + "files": [ + "index.d.ts", + "react-facebook-login-tests.tsx" + ] +} diff --git a/react-facebook-login/tslint.json b/react-facebook-login/tslint.json new file mode 100644 index 0000000000..2221e40e4a --- /dev/null +++ b/react-facebook-login/tslint.json @@ -0,0 +1 @@ +{ "extends": "../tslint.json" } \ No newline at end of file