diff --git a/react-custom-scrollbars/index.d.ts b/react-custom-scrollbars/index.d.ts new file mode 100644 index 0000000000..cf9410f81d --- /dev/null +++ b/react-custom-scrollbars/index.d.ts @@ -0,0 +1,58 @@ +// Type definitions for react-css-transition-replace 2.0.1 +// Project: https://github.com/malte-wessel/react-custom-scrollbars +// Definitions by: David-LeBlanc-git +// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped +// TypeScript Version: 2.1 + +import * as React from "react"; + +declare module "react-custom-scrollbars" { + export interface positionValues { + top: number; + left: number; + clientWidth: number; + clientHeight: number; + scrollWidth: number; + scrollHeight: number; + scrollLeft: number; + scrollTop: number; + } + + export interface ScrollbarProps extends React.HTMLProps { + onScroll?: React.UIEventHandler; + onScrollFrame?: (values: positionValues) => void; + onScrollStart?: () => void; + onScrollStop?: () => void; + onUpdate?: (values: positionValues) => void; + + renderView?: React.StatelessComponent; + renderTrackHorizontal?: React.StatelessComponent; + renderTrackVertical?: React.StatelessComponent; + renderThumbHorizontal?: React.StatelessComponent; + renderThumbVertical?: React.StatelessComponent; + + autoHide?: boolean; + autoHideTimeout?: number; + autoHideDuration?: number; + + thumbSize?: number; + thumbMinSize?: number; + universal?: boolean; + } + + export default class Scrollbars extends React.Component { + scrollTop(top: number): void; + scrollLeft(left: number): void; + scrollToTop(): void; + scrollToBottom(): void; + scrollToLeft(): void; + scrollToRight(): void; + getScrollLeft(): number; + getScrollTop(): number; + getScrollWidth(): number; + getScrollHeight(): number; + getWidth(): number; + getHeight(): number; + getValues(): positionValues; + } +} \ No newline at end of file diff --git a/react-custom-scrollbars/react-custom-scrollbars-tests.tsx b/react-custom-scrollbars/react-custom-scrollbars-tests.tsx new file mode 100644 index 0000000000..240061eada --- /dev/null +++ b/react-custom-scrollbars/react-custom-scrollbars-tests.tsx @@ -0,0 +1,10 @@ +import * as React from "react" +import { render } from 'react-dom'; +import Scrollbars from "react-custom-scrollbars" + +render( + +
Test
+
, + document.getElementById("main") +) diff --git a/react-custom-scrollbars/tsconfig.json b/react-custom-scrollbars/tsconfig.json new file mode 100644 index 0000000000..0b25f24bde --- /dev/null +++ b/react-custom-scrollbars/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-custom-scrollbars-tests.tsx" + ] +} \ No newline at end of file