diff --git a/types/react-toggle/v2/index.d.ts b/types/react-toggle/v2/index.d.ts index 2b0774de2d..e2d2d5f0b2 100644 --- a/types/react-toggle/v2/index.d.ts +++ b/types/react-toggle/v2/index.d.ts @@ -1,20 +1,24 @@ // Type definitions for react-toggle 2.2 // Project: https://github.com/aaronshaf/react-toggle // Definitions by: Karol Janyst +// Jason Unger // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped -// TypeScript Version: 2.6 +// TypeScript Version: 2.7 -import { Component, HTMLAttributes, ReactNode } from "react"; +import { ComponentClass, InputHTMLAttributes, ReactNode } from "react"; -export interface ToggleIcons { - checked?: ReactNode; - unchecked?: ReactNode; +declare namespace Toggle { + interface ToggleIcons { + checked?: ReactNode; + unchecked?: ReactNode; + } + + interface ToggleProps extends InputHTMLAttributes { + icons?: boolean | ToggleIcons; + defaultChecked?: boolean; + } } -export interface ToggleProps extends HTMLAttributes { - "aria-labelledby"?: string; - "aria-label"?: string; - icons?: boolean | ToggleIcons; -} +declare const Toggle: ComponentClass; -export default class Toggle extends Component {} +export = Toggle; diff --git a/types/react-toggle/v2/react-toggle-tests.tsx b/types/react-toggle/v2/react-toggle-tests.tsx index f02cf447e4..ac86a3ea7e 100644 --- a/types/react-toggle/v2/react-toggle-tests.tsx +++ b/types/react-toggle/v2/react-toggle-tests.tsx @@ -8,3 +8,15 @@ class Test extends React.Component { ); } } + +class TestControlled extends React.Component<{}, {checked: boolean}> { + state = { + checked: false + }; + + render() { + return ( + this.setState({ checked: e.target.checked })} /> + ); + } +} diff --git a/types/react-toggle/v2/tsconfig.json b/types/react-toggle/v2/tsconfig.json index 996290fe7b..122fd7a4b3 100644 --- a/types/react-toggle/v2/tsconfig.json +++ b/types/react-toggle/v2/tsconfig.json @@ -21,10 +21,11 @@ }, "noEmit": true, "forceConsistentCasingInFileNames": true, - "jsx": "react" + "jsx": "react", + "esModuleInterop": true }, "files": [ "index.d.ts", "react-toggle-tests.tsx" ] -} \ No newline at end of file +}