From b480e92ae719f458f34e10d0f719c6c5f7159cf4 Mon Sep 17 00:00:00 2001 From: jrasmusbm Date: Tue, 14 Aug 2018 10:24:47 +0200 Subject: [PATCH 01/15] Add react-visibility-sensor --- types/react-visibility-sensor/index.d.ts | 36 ++++++++++++++++++++++++ 1 file changed, 36 insertions(+) create mode 100644 types/react-visibility-sensor/index.d.ts diff --git a/types/react-visibility-sensor/index.d.ts b/types/react-visibility-sensor/index.d.ts new file mode 100644 index 0000000000..0ba06eccee --- /dev/null +++ b/types/react-visibility-sensor/index.d.ts @@ -0,0 +1,36 @@ +// Type definitions for react-visibility-sensor 3.11.1 +// Project: https://github.com/joshwnj/react-visibility-sensor +// Definitions by: Rasmus Bergström +// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped + +declare module "react-visibility-sensor" { + import * as React from "react"; + + 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; + } + + const ReactVisibilitySensor: React.StatelessComponent; + + export = ReactVisibilitySensor; +} From 66e4c9349c38885cbcef17a4420b9e5be6b7f582 Mon Sep 17 00:00:00 2001 From: jrasmusbm Date: Tue, 14 Aug 2018 10:36:06 +0200 Subject: [PATCH 02/15] Add ts-config for react-visibility-sensor --- types/react-visibility-sensor/tsconfig.json | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) create mode 100644 types/react-visibility-sensor/tsconfig.json diff --git a/types/react-visibility-sensor/tsconfig.json b/types/react-visibility-sensor/tsconfig.json new file mode 100644 index 0000000000..057c8e9b0b --- /dev/null +++ b/types/react-visibility-sensor/tsconfig.json @@ -0,0 +1,17 @@ +{ + "compilerOptions": { + "module": "esnext", + "lib": ["es7", "dom"], + "noImplicitAny": true, + "noImplicitThis": true, + "strictNullChecks": true, + "strictFunctionTypes": true, + "baseUrl": "../", + "jsx": "react", + "typeRoots": ["../"], + "types": [], + "noEmit": true, + "forceConsistentCasingInFileNames": true + }, + "files": ["index.d.ts", "tests.tsx"] +} From c6cdeef61a4cc4f09df2c8b6090d30bbdf244299 Mon Sep 17 00:00:00 2001 From: jrasmusbm Date: Tue, 14 Aug 2018 10:39:19 +0200 Subject: [PATCH 03/15] Rename tests file conform documentation --- types/react-visibility-sensor/react-visibility-sensor-tests.tsx | 1 + types/react-visibility-sensor/tsconfig.json | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) create mode 100644 types/react-visibility-sensor/react-visibility-sensor-tests.tsx 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..7b85954889 --- /dev/null +++ b/types/react-visibility-sensor/react-visibility-sensor-tests.tsx @@ -0,0 +1 @@ +export default null diff --git a/types/react-visibility-sensor/tsconfig.json b/types/react-visibility-sensor/tsconfig.json index 057c8e9b0b..304331bed3 100644 --- a/types/react-visibility-sensor/tsconfig.json +++ b/types/react-visibility-sensor/tsconfig.json @@ -13,5 +13,5 @@ "noEmit": true, "forceConsistentCasingInFileNames": true }, - "files": ["index.d.ts", "tests.tsx"] + "files": ["index.d.ts", "react-visibility-sensor-tests.tsx"] } From cb8f091f6cb6d25a81fb202636754bca87f7288b Mon Sep 17 00:00:00 2001 From: jrasmusbm Date: Tue, 14 Aug 2018 10:44:25 +0200 Subject: [PATCH 04/15] Add Typescript version --- types/react-visibility-sensor/index.d.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/types/react-visibility-sensor/index.d.ts b/types/react-visibility-sensor/index.d.ts index 0ba06eccee..8f32bde0d4 100644 --- a/types/react-visibility-sensor/index.d.ts +++ b/types/react-visibility-sensor/index.d.ts @@ -2,6 +2,7 @@ // Project: https://github.com/joshwnj/react-visibility-sensor // Definitions by: Rasmus Bergström // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped +// Typescript 3.0.1 declare module "react-visibility-sensor" { import * as React from "react"; From d6db1cbc831f56ac2667eb86eb0057756d36bbab Mon Sep 17 00:00:00 2001 From: jrasmusbm Date: Tue, 14 Aug 2018 10:46:56 +0200 Subject: [PATCH 05/15] Fix typo --- types/react-visibility-sensor/index.d.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/types/react-visibility-sensor/index.d.ts b/types/react-visibility-sensor/index.d.ts index 8f32bde0d4..5bfae449ea 100644 --- a/types/react-visibility-sensor/index.d.ts +++ b/types/react-visibility-sensor/index.d.ts @@ -2,7 +2,7 @@ // Project: https://github.com/joshwnj/react-visibility-sensor // Definitions by: Rasmus Bergström // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped -// Typescript 3.0.1 +// Typescript Version: 3.0 declare module "react-visibility-sensor" { import * as React from "react"; From 37b615e01196c62ce5652ced6e9cacb8b7b2031a Mon Sep 17 00:00:00 2001 From: jrasmusbm Date: Tue, 14 Aug 2018 11:14:23 +0200 Subject: [PATCH 06/15] Fix another typo --- types/react-visibility-sensor/index.d.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/types/react-visibility-sensor/index.d.ts b/types/react-visibility-sensor/index.d.ts index 5bfae449ea..6d20ade01a 100644 --- a/types/react-visibility-sensor/index.d.ts +++ b/types/react-visibility-sensor/index.d.ts @@ -2,7 +2,7 @@ // Project: https://github.com/joshwnj/react-visibility-sensor // Definitions by: Rasmus Bergström // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped -// Typescript Version: 3.0 +// TypeScript Version: 3.0 declare module "react-visibility-sensor" { import * as React from "react"; From f023c3b7421e38a476c2579605923baad2145fed Mon Sep 17 00:00:00 2001 From: jrasmusbm Date: Tue, 14 Aug 2018 11:29:43 +0200 Subject: [PATCH 07/15] Change TypeScript version --- types/react-visibility-sensor/index.d.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/types/react-visibility-sensor/index.d.ts b/types/react-visibility-sensor/index.d.ts index 6d20ade01a..9259d7876a 100644 --- a/types/react-visibility-sensor/index.d.ts +++ b/types/react-visibility-sensor/index.d.ts @@ -2,7 +2,7 @@ // Project: https://github.com/joshwnj/react-visibility-sensor // Definitions by: Rasmus Bergström // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped -// TypeScript Version: 3.0 +// TypeScript Version: 2.7 declare module "react-visibility-sensor" { import * as React from "react"; From 281aeb56b946d0a1ea275222068f92059e22188b Mon Sep 17 00:00:00 2001 From: jrasmusbm Date: Wed, 29 Aug 2018 10:14:53 +0200 Subject: [PATCH 08/15] Add type reference link --- types/react-visibility-sensor/index.d.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/types/react-visibility-sensor/index.d.ts b/types/react-visibility-sensor/index.d.ts index 9259d7876a..50e134b73a 100644 --- a/types/react-visibility-sensor/index.d.ts +++ b/types/react-visibility-sensor/index.d.ts @@ -5,6 +5,7 @@ // TypeScript Version: 2.7 declare module "react-visibility-sensor" { + /// import * as React from "react"; interface Shape { From 72a7247089c167355dc5d155404a8524c38a5501 Mon Sep 17 00:00:00 2001 From: jrasmusbm Date: Wed, 29 Aug 2018 10:56:18 +0200 Subject: [PATCH 09/15] Fix TypeScript Version --- types/react-visibility-sensor/index.d.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/types/react-visibility-sensor/index.d.ts b/types/react-visibility-sensor/index.d.ts index 50e134b73a..a490952cb4 100644 --- a/types/react-visibility-sensor/index.d.ts +++ b/types/react-visibility-sensor/index.d.ts @@ -2,7 +2,7 @@ // Project: https://github.com/joshwnj/react-visibility-sensor // Definitions by: Rasmus Bergström // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped -// TypeScript Version: 2.7 +// TypeScript Version: 2.8 declare module "react-visibility-sensor" { /// From 4dff6b7da4bfef257ad06b8e6af42b7d62d4944f Mon Sep 17 00:00:00 2001 From: jrasmusbm Date: Wed, 29 Aug 2018 11:00:56 +0200 Subject: [PATCH 10/15] Add tslint.json --- types/react-visibility-sensor/tslint.json | 1 + 1 file changed, 1 insertion(+) create mode 100644 types/react-visibility-sensor/tslint.json 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" } From b553b09b386275713ae0e2819b06ccd6ebe8b344 Mon Sep 17 00:00:00 2001 From: jrasmusbm Date: Wed, 29 Aug 2018 11:46:48 +0200 Subject: [PATCH 11/15] Add tests and make them pass --- types/react-visibility-sensor/index.d.ts | 59 +++++++++---------- .../react-visibility-sensor-tests.tsx | 26 +++++++- types/react-visibility-sensor/tsconfig.json | 2 +- 3 files changed, 54 insertions(+), 33 deletions(-) diff --git a/types/react-visibility-sensor/index.d.ts b/types/react-visibility-sensor/index.d.ts index a490952cb4..2d435c61f7 100644 --- a/types/react-visibility-sensor/index.d.ts +++ b/types/react-visibility-sensor/index.d.ts @@ -1,38 +1,35 @@ -// Type definitions for react-visibility-sensor 3.11.1 +// Type definitions for react-visibility-sensor 3.11 // Project: https://github.com/joshwnj/react-visibility-sensor // Definitions by: Rasmus Bergström // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped // TypeScript Version: 2.8 -declare module "react-visibility-sensor" { - /// - import * as React from "react"; +import * as React from "react"; - 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; - } - - const ReactVisibilitySensor: React.StatelessComponent; - - export = 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; +} + +declare const ReactVisibilitySensor: React.StatelessComponent; + +export default ReactVisibilitySensor; diff --git a/types/react-visibility-sensor/react-visibility-sensor-tests.tsx b/types/react-visibility-sensor/react-visibility-sensor-tests.tsx index 7b85954889..36a4687fe7 100644 --- a/types/react-visibility-sensor/react-visibility-sensor-tests.tsx +++ b/types/react-visibility-sensor/react-visibility-sensor-tests.tsx @@ -1 +1,25 @@ -export default null +import * as React from "react"; + +import 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} + /> +); diff --git a/types/react-visibility-sensor/tsconfig.json b/types/react-visibility-sensor/tsconfig.json index 304331bed3..ad9bbbdf5c 100644 --- a/types/react-visibility-sensor/tsconfig.json +++ b/types/react-visibility-sensor/tsconfig.json @@ -1,6 +1,6 @@ { "compilerOptions": { - "module": "esnext", + "module": "commonjs", "lib": ["es7", "dom"], "noImplicitAny": true, "noImplicitThis": true, From 38733696c8a8ea88d9fd37b28f0bce0ed5f3ea78 Mon Sep 17 00:00:00 2001 From: jrasmusbm Date: Wed, 29 Aug 2018 12:06:06 +0200 Subject: [PATCH 12/15] Add children --- types/react-visibility-sensor/index.d.ts | 3 +++ .../react-visibility-sensor-tests.tsx | 5 +++-- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/types/react-visibility-sensor/index.d.ts b/types/react-visibility-sensor/index.d.ts index 2d435c61f7..15ca04d262 100644 --- a/types/react-visibility-sensor/index.d.ts +++ b/types/react-visibility-sensor/index.d.ts @@ -28,6 +28,9 @@ interface Props { resizeDelay?: number; resizeThrottle?: number; delayedCall?: boolean; + children?: ( + args: { isVisible: boolean; visibilityRect?: Shape } + ) => React.ReactNode; } declare const ReactVisibilitySensor: React.StatelessComponent; diff --git a/types/react-visibility-sensor/react-visibility-sensor-tests.tsx b/types/react-visibility-sensor/react-visibility-sensor-tests.tsx index 36a4687fe7..e71cd0e20e 100644 --- a/types/react-visibility-sensor/react-visibility-sensor-tests.tsx +++ b/types/react-visibility-sensor/react-visibility-sensor-tests.tsx @@ -20,6 +20,7 @@ const component = ( resizeCheck={bool} resizeDelay={num} resizeThrottle={num} - delayedCall={bool} - /> + delayedCall={bool}> + {({ isVisible: bool, visibilityRect: shape }) =>
} + ); From 7a544a8216ef512631271307d5435cd6cf18a7b5 Mon Sep 17 00:00:00 2001 From: jrasmusbm Date: Wed, 29 Aug 2018 13:24:25 +0200 Subject: [PATCH 13/15] Use dts-gen template --- types/react-visibility-sensor/index.d.ts | 2 +- types/react-visibility-sensor/tsconfig.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/types/react-visibility-sensor/index.d.ts b/types/react-visibility-sensor/index.d.ts index 15ca04d262..5898f1b8ad 100644 --- a/types/react-visibility-sensor/index.d.ts +++ b/types/react-visibility-sensor/index.d.ts @@ -1,5 +1,5 @@ // Type definitions for react-visibility-sensor 3.11 -// Project: https://github.com/joshwnj/react-visibility-sensor +// Project: https://github.com/joshwnj/react-visibility-sensor#readme // Definitions by: Rasmus Bergström // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped // TypeScript Version: 2.8 diff --git a/types/react-visibility-sensor/tsconfig.json b/types/react-visibility-sensor/tsconfig.json index ad9bbbdf5c..29d5985cfe 100644 --- a/types/react-visibility-sensor/tsconfig.json +++ b/types/react-visibility-sensor/tsconfig.json @@ -6,8 +6,8 @@ "noImplicitThis": true, "strictNullChecks": true, "strictFunctionTypes": true, - "baseUrl": "../", "jsx": "react", + "baseUrl": "../", "typeRoots": ["../"], "types": [], "noEmit": true, From dda5b233ced87c596001b0174c68261cdaf69443 Mon Sep 17 00:00:00 2001 From: jrasmusbm Date: Thu, 30 Aug 2018 09:11:51 +0200 Subject: [PATCH 14/15] Export Shape conform code review https://github.com/DefinitelyTyped/DefinitelyTyped/pull/28493#commitcomment-30333784 --- types/react-visibility-sensor/index.d.ts | 2 +- .../react-visibility-sensor/react-visibility-sensor-tests.tsx | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/types/react-visibility-sensor/index.d.ts b/types/react-visibility-sensor/index.d.ts index 5898f1b8ad..2aa3b9adde 100644 --- a/types/react-visibility-sensor/index.d.ts +++ b/types/react-visibility-sensor/index.d.ts @@ -6,7 +6,7 @@ import * as React from "react"; -interface Shape { +export interface Shape { top?: number; left?: number; bottom?: number; diff --git a/types/react-visibility-sensor/react-visibility-sensor-tests.tsx b/types/react-visibility-sensor/react-visibility-sensor-tests.tsx index e71cd0e20e..9c8e552479 100644 --- a/types/react-visibility-sensor/react-visibility-sensor-tests.tsx +++ b/types/react-visibility-sensor/react-visibility-sensor-tests.tsx @@ -1,9 +1,9 @@ import * as React from "react"; -import ReactVisibilitySensor from "react-visibility-sensor"; +import ReactVisibilitySensor, { Shape } from "react-visibility-sensor"; const num = 1; const bool = true; -const shape = { top: num, left: num, bottom: num, right: num }; +const shape: Shape = { top: num, left: num, bottom: num, right: num }; const component = ( Date: Wed, 5 Sep 2018 10:46:22 +0200 Subject: [PATCH 15/15] Perform changes conform instructions from armanio123 --- types/react-visibility-sensor/index.d.ts | 6 ++++-- .../react-visibility-sensor-tests.tsx | 5 +++-- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/types/react-visibility-sensor/index.d.ts b/types/react-visibility-sensor/index.d.ts index 2aa3b9adde..9e8776cb8f 100644 --- a/types/react-visibility-sensor/index.d.ts +++ b/types/react-visibility-sensor/index.d.ts @@ -6,7 +6,9 @@ import * as React from "react"; -export interface Shape { +export as namespace ReactVisibilitySensor; + +interface Shape { top?: number; left?: number; bottom?: number; @@ -35,4 +37,4 @@ interface Props { declare const ReactVisibilitySensor: React.StatelessComponent; -export default ReactVisibilitySensor; +export = ReactVisibilitySensor; diff --git a/types/react-visibility-sensor/react-visibility-sensor-tests.tsx b/types/react-visibility-sensor/react-visibility-sensor-tests.tsx index 9c8e552479..9dca0efb34 100644 --- a/types/react-visibility-sensor/react-visibility-sensor-tests.tsx +++ b/types/react-visibility-sensor/react-visibility-sensor-tests.tsx @@ -1,9 +1,10 @@ import * as React from "react"; -import ReactVisibilitySensor, { Shape } from "react-visibility-sensor"; +import * as ReactVisibilitySensor from "react-visibility-sensor"; + const num = 1; const bool = true; -const shape: Shape = { top: num, left: num, bottom: num, right: num }; +const shape = { top: num, left: num, bottom: num, right: num }; const component = (