Skip to content

Commit 1917a41

Browse files
committed
[react] Add T param to React.DOM* types
1 parent 92cf86a commit 1917a41

13 files changed

+154
-165
lines changed

fixed-data-table/fixed-data-table-0.4.7.d.ts

+1-4
Original file line numberDiff line numberDiff line change
@@ -387,16 +387,13 @@ declare module FixedDataTable {
387387
}
388388

389389
export class Table extends __React.Component<TableProps, {}> {
390-
render(): __React.DOMElement<any>
391390
}
392391
export class Column extends __React.Component<ColumnProps, {}> {
393-
render(): __React.DOMElement<any>
394392
}
395393
export class ColumnGroup extends __React.Component<ColumnGroupProps, {}> {
396-
render(): __React.DOMElement<any>
397394
}
398395
}
399396

400397
declare module "fixed-data-table" {
401398
export = FixedDataTable;
402-
}
399+
}

fixed-data-table/fixed-data-table.d.ts

-4
Original file line numberDiff line numberDiff line change
@@ -483,16 +483,12 @@ declare module FixedDataTable {
483483
}
484484

485485
export class Table extends __React.Component<TableProps, {}> {
486-
render(): __React.DOMElement<any>
487486
}
488487
export class Column extends __React.Component<ColumnProps, {}> {
489-
render(): __React.DOMElement<any>
490488
}
491489
export class ColumnGroup extends __React.Component<ColumnGroupProps, {}> {
492-
render(): __React.DOMElement<any>
493490
}
494491
export class Cell extends __React.Component<CellProps, {}> {
495-
render(): __React.DOMElement<any>
496492
}
497493
}
498494

jsnox/jsnox-tests.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ var clickHandler: React.MouseEventHandler
1919

2020
// Tests with spec string
2121
function spec_string () {
22-
var result: React.ReactHTMLElement
22+
var result: React.ReactHTMLElement<HTMLElement>
2323

2424
// just spec string
2525
result = $('div')

jsnox/jsnox.d.ts

+2-2
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ declare module 'jsnox' {
3131
* @param children A single React node (string or ReactElement) or array of nodes.
3232
* Note that unlike with React itself, multiple children must be placed into an array.
3333
*/
34-
<P>(specString: string, children: React.ReactNode): React.DOMElement<P>
34+
<P>(specString: string, children: React.ReactNode): React.DOMElement<P, Element>
3535

3636
/**
3737
* Renders an HTML element from the given spec string, with optional props
@@ -42,7 +42,7 @@ declare module 'jsnox' {
4242
* @param children A single React node (string or ReactElement) or array of nodes.
4343
* Note that unlike with React itself, multiple children must be placed into an array.
4444
*/
45-
<P>(specString: string, props?: React.HTMLAttributes, children?: React.ReactNode): React.DOMElement<P>
45+
<P>(specString: string, props?: React.HTMLAttributes, children?: React.ReactNode): React.DOMElement<P, Element>
4646

4747

4848
/**

react-dnd/react-dnd-tests.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -262,7 +262,7 @@ module Board {
262262
};
263263

264264
render() {
265-
var squares: React.DOMElement<React.HTMLAttributes>[] = [];
265+
var squares: React.ReactHTMLElement<HTMLDivElement>[] = [];
266266
for (let i = 0; i < 64; i++) {
267267
squares.push(this._renderSquare(i));
268268
}

react-holder/react-holder.d.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ declare module "react-holder" {
99

1010
import React = __React;
1111

12-
interface ReactHolderProp extends React.HTMLProps<ReactHolder> {
12+
interface ReactHolderProp extends React.HTMLAttributes {
1313
width: string | number;
1414
height: string | number;
1515
updateOnResize: boolean;

react-input-calendar/react-input-calendar.d.ts

-1
Original file line numberDiff line numberDiff line change
@@ -76,7 +76,6 @@ declare module reactInputCalendar {
7676
}
7777
interface ReactInputCalendarState { }
7878
export class ReactInputCalendar extends __React.Component<ReactInputCalendarProps, ReactInputCalendarState> {
79-
render(): __React.DOMElement<any>;
8079
}
8180
}
8281
declare var ReactInputCalendar: typeof reactInputCalendar.ReactInputCalendar

react-swf/react-swf.d.ts

-1
Original file line numberDiff line numberDiff line change
@@ -113,7 +113,6 @@ declare module rswf {
113113
flashvars?: Object | string
114114
}
115115
export class ReactSWF extends __React.Component<Props, State>{
116-
render(): __React.DOMElement<any>
117116
/**
118117
* Returns the Flash Player object DOM node.
119118
* Should be prefered over `React.findDOMNode`.

react/react-addons-test-utils.d.ts

+2-2
Original file line numberDiff line numberDiff line change
@@ -94,8 +94,8 @@ declare namespace __React {
9494
export var wheel: EventSimulator;
9595
}
9696

97-
export function renderIntoDocument(
98-
element: DOMElement<any>): Element;
97+
export function renderIntoDocument<T extends Element>(
98+
element: DOMElement<any, T>): T;
9999
export function renderIntoDocument<P>(
100100
element: ReactElement<P>): Component<P, any>;
101101
export function renderIntoDocument<C extends Component<any, any>>(

react/react-dom.d.ts

+6-6
Original file line numberDiff line numberDiff line change
@@ -10,10 +10,10 @@ declare namespace __React {
1010
function findDOMNode<E extends Element>(instance: ReactInstance): E;
1111
function findDOMNode(instance: ReactInstance): Element;
1212

13-
function render<P>(
14-
element: DOMElement<P>,
13+
function render<P extends DOMAttributes, T extends Element>(
14+
element: DOMElement<P, T>,
1515
container: Element,
16-
callback?: (element: Element) => any): Element;
16+
callback?: (element: T) => any): T;
1717
function render<P, S>(
1818
element: ClassicElement<P>,
1919
container: Element,
@@ -31,11 +31,11 @@ declare namespace __React {
3131
function unstable_batchedUpdates<A>(callback: (a: A) => any, a: A): void;
3232
function unstable_batchedUpdates(callback: () => any): void;
3333

34-
function unstable_renderSubtreeIntoContainer<P>(
34+
function unstable_renderSubtreeIntoContainer<P extends DOMAttributes, T extends Element>(
3535
parentComponent: Component<any, any>,
36-
nextElement: DOMElement<P>,
36+
element: DOMElement<P, T>,
3737
container: Element,
38-
callback?: (element: Element) => any): Element;
38+
callback?: (element: T) => any): T;
3939
function unstable_renderSubtreeIntoContainer<P, S>(
4040
parentComponent: Component<any, any>,
4141
nextElement: ClassicElement<P>,

react/react-global-tests.ts

+4-4
Original file line numberDiff line numberDiff line change
@@ -125,25 +125,25 @@ var classicFactory: React.ClassicFactory<Props> =
125125
var classicFactoryElement: React.ClassicElement<Props> =
126126
classicFactory(props);
127127

128-
var domFactory: React.DOMFactory<any> =
128+
var domFactory: React.DOMFactory<React.DOMAttributes, Element> =
129129
React.createFactory("foo");
130-
var domFactoryElement: React.DOMElement<any> =
130+
var domFactoryElement: React.DOMElement<React.DOMAttributes, Element> =
131131
domFactory();
132132

133133
// React.createElement
134134
var element: React.ReactElement<Props> =
135135
React.createElement(ModernComponent, props);
136136
var classicElement: React.ClassicElement<Props> =
137137
React.createElement(ClassicComponent, props);
138-
var domElement: React.ReactHTMLElement =
138+
var domElement: React.ReactHTMLElement<HTMLDivElement> =
139139
React.createElement("div");
140140

141141
// React.cloneElement
142142
var clonedElement: React.ReactElement<Props> =
143143
React.cloneElement(element, props);
144144
var clonedClassicElement: React.ClassicElement<Props> =
145145
React.cloneElement(classicElement, props);
146-
var clonedDOMElement: React.ReactHTMLElement =
146+
var clonedDOMElement: React.ReactHTMLElement<HTMLDivElement> =
147147
React.cloneElement(domElement);
148148

149149
// React.render

react/react-tests.ts

+4-4
Original file line numberDiff line numberDiff line change
@@ -170,9 +170,9 @@ var classicFactory: React.ClassicFactory<Props> =
170170
var classicFactoryElement: React.ClassicElement<Props> =
171171
classicFactory(props);
172172

173-
var domFactory: React.DOMFactory<any> =
173+
var domFactory: React.DOMFactory<React.DOMAttributes, Element> =
174174
React.createFactory("foo");
175-
var domFactoryElement: React.DOMElement<any> =
175+
var domFactoryElement: React.DOMElement<React.DOMAttributes, Element> =
176176
domFactory();
177177

178178
// React.createElement
@@ -182,7 +182,7 @@ var statelessElement: React.ReactElement<SCProps> =
182182
React.createElement(StatelessComponent, props);
183183
var classicElement: React.ClassicElement<Props> =
184184
React.createElement(ClassicComponent, props);
185-
var domElement: React.ReactHTMLElement =
185+
var domElement: React.ReactHTMLElement<HTMLDivElement> =
186186
React.createElement("div");
187187

188188
// React.cloneElement
@@ -194,7 +194,7 @@ var clonedStatelessElement: React.ReactElement<SCProps> =
194194
React.cloneElement(statelessElement, <SCProps>{ foo: 44 });
195195
var clonedClassicElement: React.ClassicElement<Props> =
196196
React.cloneElement(classicElement, props);
197-
var clonedDOMElement: React.ReactHTMLElement =
197+
var clonedDOMElement: React.ReactHTMLElement<HTMLDivElement> =
198198
React.cloneElement(domElement, {
199199
className: "clonedElement"
200200
});

0 commit comments

Comments
 (0)