diff --git a/types/react-list/index.d.ts b/types/react-list/index.d.ts new file mode 100644 index 0000000000..1596314570 --- /dev/null +++ b/types/react-list/index.d.ts @@ -0,0 +1,42 @@ +// Type definitions for react-list v0.8.3 +// Project: https://github.com/orgsync/react-list +// Definitions by: Yifei Yan +// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped + +import { + Component, + Props +} from "react"; +export as namespace ReactList; + +/*~ If this module has methods, declare them as functions like so. + */ +export function scrollTo(index: number): void; +export function scrollAround(index: number): void; +export function getVisibleRange(): Array; + +/*~ You can declare types that are available via importing the module */ +type ItemRenderer = (index: number, key: number | string) => JSX.Element; +type ItemsRenderer = (items: Array, ref: string) => JSX.Element; +type ItemSizeEstimator = (index: number, cache: object) => number; +type ItemSizeGetter = (index: number) => number; +type ScrollParentGetter = () => JSX.Element; + +export interface ReactListProps extends Props { + axis?: 'x' | 'y'; + initialIndex?: number; + itemRenderer?: ItemRenderer; + itemSizeEstimator?: ItemSizeEstimator; + itemSizeGetter?: ItemSizeGetter; + itemsRenderer?: ItemsRenderer; + length?: number; + minSize?: number; + pageSize?: number; + scrollParentGetter?: ScrollParentGetter; + threshold?: number; + type?: string; + useStaticSize?: boolean; + useTranslate3d?: boolean; +} + +export default class ReactList extends Component {} \ No newline at end of file diff --git a/types/react-list/react-list-tests.tsx b/types/react-list/react-list-tests.tsx new file mode 100644 index 0000000000..1f9cabcda8 --- /dev/null +++ b/types/react-list/react-list-tests.tsx @@ -0,0 +1,14 @@ +import * as React from "react"; +// import * as ReactDOM from "react-dom"; +import ReactList from "react-list"; + +const renderItem = (index: number, key: number) => +
+ {index} +
; +; + diff --git a/types/react-list/tsconfig.json b/types/react-list/tsconfig.json new file mode 100644 index 0000000000..42ddc64a91 --- /dev/null +++ b/types/react-list/tsconfig.json @@ -0,0 +1,24 @@ +{ + "compilerOptions": { + "module": "commonjs", + "lib": [ + "es6", + "dom" + ], + "noImplicitAny": true, + "noImplicitThis": true, + "strictNullChecks": true, + "baseUrl": "../", + "typeRoots": [ + "../" + ], + "types": [], + "noEmit": true, + "forceConsistentCasingInFileNames": true, + "jsx": "react" + }, + "files": [ + "index.d.ts", + "react-list-tests.tsx" + ] +} \ No newline at end of file