diff --git a/types/react-visibility-sensor/index.d.ts b/types/react-visibility-sensor/index.d.ts new file mode 100644 index 0000000000..9e8776cb8f --- /dev/null +++ b/types/react-visibility-sensor/index.d.ts @@ -0,0 +1,40 @@ +// Type definitions for react-visibility-sensor 3.11 +// Project: https://github.com/joshwnj/react-visibility-sensor#readme +// Definitions by: Rasmus Bergström +// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped +// TypeScript Version: 2.8 + +import * as React from "react"; + +export as namespace ReactVisibilitySensor; + +interface Shape { + top?: number; + left?: number; + bottom?: number; + right?: number; +} + +interface Props { + onChange: (isVisible: boolean, visibilityRect?: Shape) => void; + active?: boolean; + partialVisibility?: boolean; + offset?: Shape; + minTopValue?: number; + intervalCheck?: boolean; + intervalDelay?: number; + scrollCheck?: boolean; + scrollDelay?: number; + scrollThrottle?: number; + resizeCheck?: boolean; + resizeDelay?: number; + resizeThrottle?: number; + delayedCall?: boolean; + children?: ( + args: { isVisible: boolean; visibilityRect?: Shape } + ) => React.ReactNode; +} + +declare const ReactVisibilitySensor: React.StatelessComponent; + +export = ReactVisibilitySensor; diff --git a/types/react-visibility-sensor/react-visibility-sensor-tests.tsx b/types/react-visibility-sensor/react-visibility-sensor-tests.tsx new file mode 100644 index 0000000000..9dca0efb34 --- /dev/null +++ b/types/react-visibility-sensor/react-visibility-sensor-tests.tsx @@ -0,0 +1,27 @@ +import * as React from "react"; + +import * as ReactVisibilitySensor from "react-visibility-sensor"; + +const num = 1; +const bool = true; +const shape = { top: num, left: num, bottom: num, right: num }; + +const component = ( + {}} + active={bool} + partialVisibility={bool} + offset={shape} + minTopValue={num} + intervalCheck={bool} + intervalDelay={num} + scrollCheck={bool} + scrollDelay={num} + scrollThrottle={num} + resizeCheck={bool} + resizeDelay={num} + resizeThrottle={num} + delayedCall={bool}> + {({ isVisible: bool, visibilityRect: shape }) =>
} + +); diff --git a/types/react-visibility-sensor/tsconfig.json b/types/react-visibility-sensor/tsconfig.json new file mode 100644 index 0000000000..29d5985cfe --- /dev/null +++ b/types/react-visibility-sensor/tsconfig.json @@ -0,0 +1,17 @@ +{ + "compilerOptions": { + "module": "commonjs", + "lib": ["es7", "dom"], + "noImplicitAny": true, + "noImplicitThis": true, + "strictNullChecks": true, + "strictFunctionTypes": true, + "jsx": "react", + "baseUrl": "../", + "typeRoots": ["../"], + "types": [], + "noEmit": true, + "forceConsistentCasingInFileNames": true + }, + "files": ["index.d.ts", "react-visibility-sensor-tests.tsx"] +} diff --git a/types/react-visibility-sensor/tslint.json b/types/react-visibility-sensor/tslint.json new file mode 100644 index 0000000000..3db14f85ea --- /dev/null +++ b/types/react-visibility-sensor/tslint.json @@ -0,0 +1 @@ +{ "extends": "dtslint/dt.json" }