@@ -87,6 +87,8 @@ export interface RenderOptions<
87
87
Q extends Queries = typeof queries ,
88
88
Container extends RendererableContainer | HydrateableContainer = HTMLElement ,
89
89
BaseElement extends RendererableContainer | HydrateableContainer = Container ,
90
+ LegacyRoot extends boolean = boolean ,
91
+ Hydrate extends boolean = boolean
90
92
> {
91
93
/**
92
94
* By default, React Testing Library will create a div and append that div to the document.body. Your React component will be rendered in the created div. If you provide your own HTMLElement container via this option,
@@ -111,13 +113,13 @@ export interface RenderOptions<
111
113
*
112
114
* @see https://testing-library.com/docs/react-testing-library/api/#hydrate)
113
115
*/
114
- hydrate ?: boolean
116
+ hydrate ?: Hydrate
115
117
/**
116
118
* Only works if used with React 18.
117
119
* Set to `true` if you want to force synchronous `ReactDOM.render`.
118
120
* Otherwise `render` will default to concurrent React if available.
119
121
*/
120
- legacyRoot ?: boolean
122
+ legacyRoot ?: LegacyRoot
121
123
/**
122
124
* Queries to bind. Overrides the default set from DOM Testing Library unless merged.
123
125
*
@@ -131,6 +133,11 @@ export interface RenderOptions<
131
133
* @see https://testing-library.com/docs/react-testing-library/api/#wrapper
132
134
*/
133
135
wrapper ?: React . JSXElementConstructor < { children : React . ReactNode } >
136
+ renderOptions ?: LegacyRoot extends true ?
137
+ never :
138
+ Hydrate extends true ?
139
+ ReactDOMClient . HydrationOptions :
140
+ ReactDOMClient . RootOptions
134
141
}
135
142
136
143
type Omit < T , K extends keyof T > = Pick < T , Exclude < keyof T , K > >
@@ -142,9 +149,11 @@ export function render<
142
149
Q extends Queries = typeof queries ,
143
150
Container extends RendererableContainer | HydrateableContainer = HTMLElement ,
144
151
BaseElement extends RendererableContainer | HydrateableContainer = Container ,
152
+ LegacyRoot extends boolean = boolean ,
153
+ Hydrate extends boolean = boolean
145
154
> (
146
155
ui : React . ReactNode ,
147
- options : RenderOptions < Q , Container , BaseElement > ,
156
+ options : RenderOptions < Q , Container , BaseElement , LegacyRoot , Hydrate > ,
148
157
) : RenderResult < Q , Container , BaseElement >
149
158
export function render (
150
159
ui : React . ReactNode ,
0 commit comments