From b25c73434a0d656ed0d91d8f17ca0fac6f2ee377 Mon Sep 17 00:00:00 2001 From: Ryan Price Date: Fri, 9 Aug 2019 19:29:18 -0400 Subject: [PATCH] export react-custom-scrollbars as namespace because it is a UMD module (#37489) Without doing this, tsc complains that node_modules/@types/react-custom-scrollbars/index.d.ts is not a module This change also allows importing Scrollbars as the module default `import Scrollbars from` or as a named export `import {Scollbars} from` because either work. Documentation that this is a UMD module: https://github.com/malte-wessel/react-custom-scrollbars/commit/f632d08e725f30ac40cdb6257752ad36b40c6fef --- types/react-custom-scrollbars/v3/index.d.ts | 98 +++++++++++---------- 1 file changed, 50 insertions(+), 48 deletions(-) diff --git a/types/react-custom-scrollbars/v3/index.d.ts b/types/react-custom-scrollbars/v3/index.d.ts index f3ca0da419..e0fd389335 100644 --- a/types/react-custom-scrollbars/v3/index.d.ts +++ b/types/react-custom-scrollbars/v3/index.d.ts @@ -6,53 +6,55 @@ 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 as namespace ReactCustomScrollbars; - 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; - } +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 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; +} + +export default Scrollbars;