mirror of
https://github.com/gosticks/DefinitelyTyped.git
synced 2025-10-16 12:05:41 +00:00
57 lines
2.0 KiB
TypeScript
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;
|
|
|
|
}
|