DefinitelyTyped/react-measure/react-measure.d.ts
Alexey Svetliakov 7ed9130d0d Missed semicolon
2016-07-07 09:51:22 +02:00

57 lines
2.0 KiB
TypeScript

// Type definitions for react-measure 0.4.0
// Project: https://github.com/souporserious/react-measure
// Definitions by: Alexey Svetliakov <https://github.com/asvetliakov>
// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped
/// <reference path="../react/react.d.ts" />
declare module "react-measure" {
import * as React from "react";
class Measure extends React.Component<Measure.MeasureProps, {}> { }
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<any> | { (dimension: Dimensions): React.ReactElement<any> };
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;
}