From d3e62e8c49860880842d75493246025f4db068f8 Mon Sep 17 00:00:00 2001 From: Alexey Svetliakov Date: Wed, 6 Jul 2016 01:49:58 +0200 Subject: [PATCH 1/3] react-measure type definition --- react-measure/react-measure-tests.tsx | 39 ++++++++++++++++++ react-measure/react-measure.d.ts | 57 +++++++++++++++++++++++++++ 2 files changed, 96 insertions(+) create mode 100644 react-measure/react-measure-tests.tsx create mode 100644 react-measure/react-measure.d.ts diff --git a/react-measure/react-measure-tests.tsx b/react-measure/react-measure-tests.tsx new file mode 100644 index 0000000000..9b1a8e2f91 --- /dev/null +++ b/react-measure/react-measure-tests.tsx @@ -0,0 +1,39 @@ +/// +/// + +import * as React from "react"; +import * as Measure from "react-measure"; + +class Test extends React.Component<{}, {}> { + render() { + return ( + +
test
+
+ ); + } + + onMeasure(dimensions: Measure.Dimensions): void { + dimensions.width; + dimensions.height; + } +} + +class Test2 extends React.Component<{}, {}> { + render() { + return ( + + {(dimensions: Measure.Dimensions) => +
+
Height: {dimensions.height}
+
+ } +
+ ); + } +} diff --git a/react-measure/react-measure.d.ts b/react-measure/react-measure.d.ts new file mode 100644 index 0000000000..96608f5def --- /dev/null +++ b/react-measure/react-measure.d.ts @@ -0,0 +1,57 @@ + +// Type definitions for react-measure 0.4.0 +// Project: https://github.com/souporserious/react-measure +// Definitions by: Alexey Svetliakov +// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped + +/// + +declare module "react-measure" { + import * as React from "react"; + + class Measure extends React.Component { } + namespace Measure { + type MeasurementType = "width" | "height" | "top" | "right" | "bottom" | "left"; + interface Dimensions { + width?: number; + height?: number; + top?: number; + right?: number; + bottom?: number; + left?: number; + } + + type MeasureChildren = React.ReactElement | { (dimension: Dimensions): React.ReactElement }; + + interface MeasureProps { + /** + * Tries to give the most accurate measure. Currently only works with height. + * Measures the content rather than the actual box of the element. + */ + accurate?: boolean; + /** + * Provide a list of properties to fire a callback for. + */ + whitelist?: MeasurementType[]; + /** + * Like whitelist, but will not fire a callback for the specified properties. + */ + blacklist?: MeasurementType[]; + /** + * Determines whether or not a measurement should occur. + * @default true + */ + shouldMeasure?: boolean + /** + * Callback when the component has been mutated. Receives dimensions, mutations, and anything passed to shouldMeasure. + */ + onMeasure?: (dimensions: Dimensions) => void; + /** + * Children, ordinary JSX element or function. Leaving it for reference here + */ + children?: MeasureChildren; + } + } + export = Measure; + +} From fe3e7d402a3defdb50cb261644d60f9b1ab5ad54 Mon Sep 17 00:00:00 2001 From: Alexey Svetliakov Date: Wed, 6 Jul 2016 02:10:43 +0200 Subject: [PATCH 2/3] Corrected header --- react-measure/react-measure.d.ts | 1 - 1 file changed, 1 deletion(-) diff --git a/react-measure/react-measure.d.ts b/react-measure/react-measure.d.ts index 96608f5def..1217c0939c 100644 --- a/react-measure/react-measure.d.ts +++ b/react-measure/react-measure.d.ts @@ -1,4 +1,3 @@ - // Type definitions for react-measure 0.4.0 // Project: https://github.com/souporserious/react-measure // Definitions by: Alexey Svetliakov From 7ed9130d0d8c3c18cc3db0a9ab75caa6e762903f Mon Sep 17 00:00:00 2001 From: Alexey Svetliakov Date: Thu, 7 Jul 2016 09:51:22 +0200 Subject: [PATCH 3/3] Missed semicolon --- react-measure/react-measure.d.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/react-measure/react-measure.d.ts b/react-measure/react-measure.d.ts index 1217c0939c..7e4a30c39b 100644 --- a/react-measure/react-measure.d.ts +++ b/react-measure/react-measure.d.ts @@ -40,7 +40,7 @@ declare module "react-measure" { * Determines whether or not a measurement should occur. * @default true */ - shouldMeasure?: boolean + shouldMeasure?: boolean; /** * Callback when the component has been mutated. Receives dimensions, mutations, and anything passed to shouldMeasure. */