Skip to content

Commit 09f5298

Browse files
committed
add data-* type to element
1 parent 3ff9828 commit 09f5298

File tree

1 file changed

+11
-7
lines changed

1 file changed

+11
-7
lines changed

packages-internal/test-utils/src/createRenderer.tsx

+11-7
Original file line numberDiff line numberDiff line change
@@ -285,8 +285,12 @@ export interface MuiRenderToStringResult {
285285
hydrate(): MuiRenderResult;
286286
}
287287

288+
interface DataAttributes {
289+
[key: `data-${string}`]: string;
290+
}
291+
288292
function render(
289-
element: React.ReactElement<unknown>,
293+
element: React.ReactElement<DataAttributes>,
290294
configuration: ClientRenderConfiguration,
291295
): MuiRenderResult {
292296
const { container, hydrate, wrapper } = configuration;
@@ -306,7 +310,7 @@ function render(
306310
traceSync('forceUpdate', () =>
307311
testingLibraryRenderResult.rerender(
308312
React.cloneElement(element, {
309-
['data-force-update' as string]: String(Math.random()),
313+
'data-force-update': String(Math.random()),
310314
}),
311315
),
312316
);
@@ -322,7 +326,7 @@ function render(
322326
}
323327

324328
function renderToString(
325-
element: React.ReactElement<unknown>,
329+
element: React.ReactElement<DataAttributes>,
326330
configuration: ServerRenderConfiguration,
327331
): { container: HTMLElement; hydrate(): MuiRenderResult } {
328332
const { container, wrapper: Wrapper } = configuration;
@@ -444,9 +448,9 @@ function createClock(defaultMode: 'fake' | 'real', config: ClockConfig): Clock {
444448

445449
export interface Renderer {
446450
clock: Clock;
447-
render(element: React.ReactElement<unknown>, options?: RenderOptions): MuiRenderResult;
451+
render(element: React.ReactElement<DataAttributes>, options?: RenderOptions): MuiRenderResult;
448452
renderToString(
449-
element: React.ReactElement<unknown>,
453+
element: React.ReactElement<DataAttributes>,
450454
options?: RenderOptions,
451455
): MuiRenderToStringResult;
452456
}
@@ -586,7 +590,7 @@ export function createRenderer(globalOptions: CreateRendererOptions = {}): Rende
586590

587591
return {
588592
clock,
589-
render(element: React.ReactElement<unknown>, options: RenderOptions = {}) {
593+
render(element: React.ReactElement<DataAttributes>, options: RenderOptions = {}) {
590594
if (!prepared) {
591595
throw new Error(
592596
'Unable to finish setup before `render()` was called. ' +
@@ -601,7 +605,7 @@ export function createRenderer(globalOptions: CreateRendererOptions = {}): Rende
601605
wrapper: createWrapper(options),
602606
});
603607
},
604-
renderToString(element: React.ReactElement<unknown>, options: RenderOptions = {}) {
608+
renderToString(element: React.ReactElement<DataAttributes>, options: RenderOptions = {}) {
605609
if (!prepared) {
606610
throw new Error(
607611
'Unable to finish setup before `render()` was called. ' +

0 commit comments

Comments
 (0)