diff --git a/.all-contributorsrc b/.all-contributorsrc
index f76f6a43..7e3d05da 100644
--- a/.all-contributorsrc
+++ b/.all-contributorsrc
@@ -214,9 +214,18 @@
"avatar_url": "https://avatars3.githubusercontent.com/u/1239401?v=4",
"profile": "https://github.com/johann-sonntagbauer",
"contributions": [
- "code",
- "doc",
- "test"
+ "code",
+ "doc",
+ "test"
+ ]
+ },
+ {
+ "login": "maddijoyce",
+ "name": "Maddi Joyce",
+ "avatar_url": "https://avatars2.githubusercontent.com/u/2224291?v=4",
+ "profile": "http://www.maddijoyce.com",
+ "contributions": [
+ "code"
]
}
]
diff --git a/README.md b/README.md
index 30b0645a..bda5c578 100644
--- a/README.md
+++ b/README.md
@@ -16,7 +16,7 @@
[![downloads][downloads-badge]][npmtrends]
[![MIT License][license-badge]][license]
-[](#contributors)
+[](#contributors)
[![PRs Welcome][prs-badge]][prs]
[![Code of Conduct][coc-badge]][coc]
[![Join the community on Spectrum][spectrum-badge]][spectrum]
@@ -756,7 +756,8 @@ Thanks goes to these people ([emoji key][emojis]):
| [
Kent C. Dodds](https://kentcdodds.com)
[π»](https://github.com/kentcdodds/react-testing-library/commits?author=kentcdodds "Code") [π](https://github.com/kentcdodds/react-testing-library/commits?author=kentcdodds "Documentation") [π](#infra-kentcdodds "Infrastructure (Hosting, Build-Tools, etc)") [β οΈ](https://github.com/kentcdodds/react-testing-library/commits?author=kentcdodds "Tests") | [
Ryan Castner](http://audiolion.github.io)
[π](https://github.com/kentcdodds/react-testing-library/commits?author=audiolion "Documentation") | [
Daniel Sandiego](https://www.dnlsandiego.com)
[π»](https://github.com/kentcdodds/react-testing-library/commits?author=dnlsandiego "Code") | [
PaweΕ MikoΕajczyk](https://github.com/Miklet)
[π»](https://github.com/kentcdodds/react-testing-library/commits?author=Miklet "Code") | [
Alejandro ΓÑñez Ortiz](http://co.linkedin.com/in/alejandronanez/)
[π](https://github.com/kentcdodds/react-testing-library/commits?author=alejandronanez "Documentation") | [
Matt Parrish](https://github.com/pbomb)
[π](https://github.com/kentcdodds/react-testing-library/issues?q=author%3Apbomb "Bug reports") [π»](https://github.com/kentcdodds/react-testing-library/commits?author=pbomb "Code") [π](https://github.com/kentcdodds/react-testing-library/commits?author=pbomb "Documentation") [β οΈ](https://github.com/kentcdodds/react-testing-library/commits?author=pbomb "Tests") | [
Justin Hall](https://github.com/wKovacs64)
[π¦](#platform-wKovacs64 "Packaging/porting to new platform") |
| :---: | :---: | :---: | :---: | :---: | :---: | :---: |
| [
Anto Aravinth](https://github.com/antoaravinth)
[π»](https://github.com/kentcdodds/react-testing-library/commits?author=antoaravinth "Code") [β οΈ](https://github.com/kentcdodds/react-testing-library/commits?author=antoaravinth "Tests") [π](https://github.com/kentcdodds/react-testing-library/commits?author=antoaravinth "Documentation") | [
Jonah Moses](https://github.com/JonahMoses)
[π](https://github.com/kentcdodds/react-testing-library/commits?author=JonahMoses "Documentation") | [
Εukasz Gandecki](http://team.thebrain.pro)
[π»](https://github.com/kentcdodds/react-testing-library/commits?author=lgandecki "Code") [β οΈ](https://github.com/kentcdodds/react-testing-library/commits?author=lgandecki "Tests") [π](https://github.com/kentcdodds/react-testing-library/commits?author=lgandecki "Documentation") | [
Ivan Babak](https://sompylasar.github.io)
[π](https://github.com/kentcdodds/react-testing-library/issues?q=author%3Asompylasar "Bug reports") [π€](#ideas-sompylasar "Ideas, Planning, & Feedback") | [
Jesse Day](https://github.com/jday3)
[π»](https://github.com/kentcdodds/react-testing-library/commits?author=jday3 "Code") | [
Ernesto GarcΓa](http://gnapse.github.io)
[π¬](#question-gnapse "Answering Questions") [π»](https://github.com/kentcdodds/react-testing-library/commits?author=gnapse "Code") [π](https://github.com/kentcdodds/react-testing-library/commits?author=gnapse "Documentation") | [
Josef Maxx Blake](http://jomaxx.com)
[π»](https://github.com/kentcdodds/react-testing-library/commits?author=jomaxx "Code") [π](https://github.com/kentcdodds/react-testing-library/commits?author=jomaxx "Documentation") [β οΈ](https://github.com/kentcdodds/react-testing-library/commits?author=jomaxx "Tests") |
-| [
Michal Baranowski](https://twitter.com/baranovskim)
[π](#blog-mbaranovski "Blogposts") [β
](#tutorial-mbaranovski "Tutorials") | [
Arthur Puthin](https://github.com/aputhin)
[π](https://github.com/kentcdodds/react-testing-library/commits?author=aputhin "Documentation") | [
Thomas Chia](https://github.com/thchia)
[π»](https://github.com/kentcdodds/react-testing-library/commits?author=thchia "Code") [π](https://github.com/kentcdodds/react-testing-library/commits?author=thchia "Documentation") | [
Thiago Galvani](http://ilegra.com/)
[π](https://github.com/kentcdodds/react-testing-library/commits?author=thiagopaiva99 "Documentation") | [
Christian](http://Chriswcs.github.io)
[β οΈ](https://github.com/kentcdodds/react-testing-library/commits?author=ChrisWcs "Tests") | [
Alex Krolick](https://alexkrolick.com)
[π¬](#question-alexkrolick "Answering Questions") [π](https://github.com/kentcdodds/react-testing-library/commits?author=alexkrolick "Documentation") [π‘](#example-alexkrolick "Examples") [π€](#ideas-alexkrolick "Ideas, Planning, & Feedback") | [
Johann Hubert Sonntagbauer](https://github.com/johann-sonntagbauer)
[π¨](#design-johann-sonntagbauer "Design") |
+| [
Michal Baranowski](https://twitter.com/baranovskim)
[π](#blog-mbaranovski "Blogposts") [β
](#tutorial-mbaranovski "Tutorials") | [
Arthur Puthin](https://github.com/aputhin)
[π](https://github.com/kentcdodds/react-testing-library/commits?author=aputhin "Documentation") | [
Thomas Chia](https://github.com/thchia)
[π»](https://github.com/kentcdodds/react-testing-library/commits?author=thchia "Code") [π](https://github.com/kentcdodds/react-testing-library/commits?author=thchia "Documentation") | [
Thiago Galvani](http://ilegra.com/)
[π](https://github.com/kentcdodds/react-testing-library/commits?author=thiagopaiva99 "Documentation") | [
Christian](http://Chriswcs.github.io)
[β οΈ](https://github.com/kentcdodds/react-testing-library/commits?author=ChrisWcs "Tests") | [
Alex Krolick](https://alexkrolick.com)
[π¬](#question-alexkrolick "Answering Questions") [π](https://github.com/kentcdodds/react-testing-library/commits?author=alexkrolick "Documentation") [π‘](#example-alexkrolick "Examples") [π€](#ideas-alexkrolick "Ideas, Planning, & Feedback") | [
Johann Hubert Sonntagbauer](https://github.com/johann-sonntagbauer)
[π»](https://github.com/kentcdodds/react-testing-library/commits?author=johann-sonntagbauer "Code") [π](https://github.com/kentcdodds/react-testing-library/commits?author=johann-sonntagbauer "Documentation") [β οΈ](https://github.com/kentcdodds/react-testing-library/commits?author=johann-sonntagbauer "Tests") |
+| [
Maddi Joyce](http://www.maddijoyce.com)
[π»](https://github.com/kentcdodds/react-testing-library/commits?author=maddijoyce "Code") |
This project follows the [all-contributors][all-contributors] specification.
diff --git a/typings/index.d.ts b/typings/index.d.ts
index 4ce23f86..f6b18831 100644
--- a/typings/index.d.ts
+++ b/typings/index.d.ts
@@ -33,3 +33,94 @@ export function wait(
interval?: number
},
): Promise
+
+export function waitForElement(
+ callback?: () => T,
+ options?: {
+ container?: HTMLElement
+ timeout?: number
+ mutationObserverOptions?: MutationObserverInit
+ },
+): Promise
+
+type EventType =
+ | 'copy'
+ | 'cut'
+ | 'paste'
+ | 'compositionEnd'
+ | 'compositionStart'
+ | 'compositionUpdate'
+ | 'keyDown'
+ | 'keyPress'
+ | 'keyUp'
+ | 'focus'
+ | 'blur'
+ | 'change'
+ | 'input'
+ | 'invalid'
+ | 'submit'
+ | 'click'
+ | 'contextMenu'
+ | 'dblClick'
+ | 'drag'
+ | 'dragEnd'
+ | 'dragEnter'
+ | 'dragExit'
+ | 'dragLeave'
+ | 'dragOver'
+ | 'dragStart'
+ | 'drop'
+ | 'mouseDown'
+ | 'mouseEnter'
+ | 'mouseLeave'
+ | 'mouseMove'
+ | 'mouseOut'
+ | 'mouseOver'
+ | 'mouseUp'
+ | 'select'
+ | 'touchCancel'
+ | 'touchEnd'
+ | 'touchMove'
+ | 'touchStart'
+ | 'scroll'
+ | 'wheel'
+ | 'abort'
+ | 'canPlay'
+ | 'canPlayThrough'
+ | 'durationChange'
+ | 'emptied'
+ | 'encrypted'
+ | 'ended'
+ | 'loadedData'
+ | 'loadedMetadata'
+ | 'loadStart'
+ | 'pause'
+ | 'play'
+ | 'playing'
+ | 'progress'
+ | 'rateChange'
+ | 'seeked'
+ | 'seeking'
+ | 'stalled'
+ | 'suspend'
+ | 'timeUpdate'
+ | 'volumeChange'
+ | 'waiting'
+ | 'load'
+ | 'error'
+ | 'animationStart'
+ | 'animationEnd'
+ | 'animationIteration'
+ | 'transitionEnd'
+ | 'doubleClick'
+
+type FireFunction = (element: HTMLElement, event: Event) => boolean
+type FireObject = {
+ [K in EventType]: (element: HTMLElement, options?: {}) => boolean
+}
+
+export const fireEvent: FireFunction & FireObject
+
+export function renderIntoDocument(ui: React.ReactElement): RenderResult
+
+export function cleanup(): void