* Add back context; add more helper context types and documentation
* Fix the handling of ref to properly exclude string refs where not supported
* Fix erroneous tests that got caught by the better Ref type
* Augment ComponentProps to support JSX.IntrinsicElements
* Add tests, doc comments for ComponentProps*
* Add self to Definitions by
* Add TODO comment
* Add comments about the "'ref' extends keyof P" checks
* Fix the handling of ref and props when using withComponent in styled-components
* Swap nesting order of mapped types to fix missing $ExpectErrors
* Comment out test that fails in TS@3.0
* Hack to deal with the tests not failing when they should
* Rewrite styled-components
* Bump version
* Bump minimum TypeScript version
* Update types of @rebass/grid (depends on styled-components)
* Update styled-react-modal types to 1.1 (also styled-components related)
* Reformat styled-components's index.d.ts
* renamed SFC to FunctionComponent
* more informative deprecation notice
* add FC as an alias for FunctionComponent
* remove use of deprecated APIs
Revert "remove use of deprecated APIs"
This reverts commit 6bdf2ed88a2ba758060c75720c4fd3960350d706.
remove use of deprecated APIs without reformatting
* add tests to ensure legacy aliases continue working
* Add definitions for React.memo
* Add missing semicolons
* Give a better name to the second argument to React.memo
* Fix test to reflect correct usage of React.memo's second argument
* Fix no-unnecessary-qualifier lints
* Update other special components to be SpecialSFC
* Ensure ordinary functions aren't assignable to SpecialSFC
* createElement was resolving P to "{} | null" in some tests; add extends to prevent that
* Fix the props of Fragment and StrictMode
* Add tests for SpecialSFC assignability
* Add scary doc comment to SpecialSFC's call signature
Hopefully this trips tslint's deprecation rule.
* Rename SpecialSFC to ExoticComponent
* Add overload to React.memo to make it more ergonomic and avoid implicit any
* Disable test that requires TS 3.1
* Add support for displayName in the exotic components that support it
* Tone down the call signature's doc comment
* Correct $ExpectType assertion
* Try to implement LibraryManagedAttributes for the ExoticComponents that should support them
This doesn't actually work because it seems only class components get them checked?
* Add type definitions for new React 16.6 features
This also attempts to add support for LibraryManagedAttributes to the ExoticComponents.
* The fallback prop is required by Suspense
* Declare legacy context on tests that use legacy context
* Add types for the proposed Hooks API
* Add missing parameter
* Add a comment to SetStateAction
* A context's Consumer is also a valid argument to useContext
* Added tests for React hooks.
* Better names, correct types, add a usage note to useMemo
* Add some crazy test that uses every hook
* Fix tests not passing in TS < 3.1
* Fix the factory in useImperativeMethods affecting the T parameter
Adds a second type parameter to prevent TypeScript from just refining T
to {} if the result of the callback is a supertype of the ref's type.
* Add a convenience overload for useRef that are initialized with null
* Add another TS 3.0 TODO comment
* Return immutable ref object from useRef<T>(T|null) to prevent misuse
If you need the ref to be mutable just pass <T|null> as the generic argument.
* Update comment about EffectCallback
* Fix tests of packages that depend on react
* Hack to pass next's tests in TS@next
* Remove dummy type added to force tests
* Revert "Hack to pass next's tests in TS@next"
This reverts commit 01cc013fd42ec395ac63048e9ff865e23a437014.
* Workaround for TS@3.1 error that is not an error in TS@next
* Revert redux-form changes
* Fix redux-form error like reactstrap was fixed
It's the same problem with inference, and avoids breaking more things.
* Bump TS version for redux-form as it's needed for tests to pass