diff --git a/react-portal/index.d.ts b/react-portal/index.d.ts new file mode 100644 index 0000000000..2d4bd8721e --- /dev/null +++ b/react-portal/index.d.ts @@ -0,0 +1,25 @@ +// Type definitions for react-portal 3.0 +// Project: https://github.com/tajo/react-portal#readme +// Definitions by: Shun Takahashi +// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped +// TypeScript Version: 2.1 + +import * as React from "react"; + +interface CallBackProps extends React.Props { + closePortal: () => {}; +} + +interface ReactPortalProps { + isOpened?: boolean; + openByClickOn?: React.ReactElement; + closeOnEsc?: boolean; + closeOnOutsideClick?: boolean; + onOpen?: (node: HTMLDivElement) => {}; + beforeClose?: (node: HTMLDivElement, resetPortalState: () => void) => {}; + onClose?: () => {}; + onUpdate?: () => {}; +} + +declare const ReactPortal: React.ComponentClass; +export = ReactPortal; diff --git a/react-portal/react-portal-tests.tsx b/react-portal/react-portal-tests.tsx new file mode 100644 index 0000000000..b192e297c7 --- /dev/null +++ b/react-portal/react-portal-tests.tsx @@ -0,0 +1,34 @@ +// Example from https://github.com/tajo/react-portal +import * as React from "react"; +import * as ReactDOM from "react-dom"; +import * as Portal from "react-portal"; + +export default class App extends React.Component<{}, {}> { + + render() { + const button1 = ; + + return ( + + +

Pseudo Modal

+

This react component is appended to the document body.

+
+
+ ); + } + +} + +export class PseudoModal extends React.Component<{ closePortal?: () => {} }, {}> { + render() { + return ( +
+ {this.props.children} +

+
+ ); + } +} + +ReactDOM.render(, document.getElementById('react-body')); \ No newline at end of file diff --git a/react-portal/tsconfig.json b/react-portal/tsconfig.json new file mode 100644 index 0000000000..9b28b70ac3 --- /dev/null +++ b/react-portal/tsconfig.json @@ -0,0 +1,25 @@ +{ + "compilerOptions": { + "module": "commonjs", + "target": "es6", + "noImplicitAny": true, + "noImplicitThis": true, + "strictNullChecks": true, + "baseUrl": "../", + "typeRoots": [ + "../" + ], + "types": [], + "noEmit": true, + "forceConsistentCasingInFileNames": true, + "lib": [ + "es6", + "dom" + ], + "jsx": "react" + }, + "files": [ + "index.d.ts", + "react-portal-tests.tsx" + ] +} diff --git a/react-portal/tslint.json b/react-portal/tslint.json new file mode 100644 index 0000000000..377cc837d4 --- /dev/null +++ b/react-portal/tslint.json @@ -0,0 +1 @@ +{ "extends": "../tslint.json" }