DefinitelyTyped/types/scroll/index.d.ts
Roman Charugin ce4df95708 Add types for scroll (#37592)
* Add types for scroll

* Remove tslint-rules and change version of the target

* Fix linter errors
2019-08-19 14:05:44 -07:00

46 lines
995 B
TypeScript

// Type definitions for scroll 3.0
// Project: https://github.com/michaelrhodes/scroll
// Definitions by: Roman Charugin <https://github.com/romic>
// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped
type ScrollError = Error | null;
interface ScrollOptions {
/**
* Ease function
* @default easeInOut
*/
ease?: (time: number) => number;
/**
* Animation duration
* @default 350
*/
duration?: number;
}
interface ScrollCallback {
(error: ScrollError, value: number): void;
}
interface Cancel {
(): void;
}
interface Scroll {
/**
* @param el Element to scroll
* @param to Scroll to value
* @param opts Additional options
* @param cb Callback function to call after
* @return Function to stop scrolling
*/
(el: HTMLElement, to: number, opts?: ScrollOptions | ScrollCallback, cb?: ScrollCallback): Cancel;
}
declare const scroll: {
left: Scroll;
top: Scroll;
};
export = scroll;