cm-react-indiana-drag-scroll
Version:
Implements scroll on drag
18 lines (17 loc) • 1.42 kB
TypeScript
import { MutableRefObject, LegacyRef, RefCallback } from 'react';
import { LoopedFunction } from './types';
export declare function splitScroll(currentScroll: number, currentOverflow: number, change: number, left: number, right: number): number[];
export declare function rubberBandEffect(containerSize: number, overflow: number, overflowChange: number): number;
export declare function loop<T extends any[]>(body: (diff: number, complete?: () => void) => void): LoopedFunction;
export declare function isScrollableHorizontally(element: HTMLElement | null): boolean;
export declare function isScrollableVertically(element: HTMLElement | null): boolean;
export declare function isDraggable(target: HTMLElement | null, reference: HTMLElement | null, ignoreElements?: string): boolean;
export declare const isObject: <T extends object, U>(term: T | U) => term is NonNullable<T>;
export declare function get<T = undefined>(obj: any, key: string, fallback: T): any;
export declare function isFunction<T extends () => void, U>(value: T | U): value is T;
export declare function debounce<Arguments extends any[]>(callback: (...args: Arguments) => void, delay?: number | (() => number)): {
(...args: Arguments): void;
clear(): void;
};
export declare function mergeRefs<T = any>(refs: (MutableRefObject<T> | LegacyRef<T> | RefCallback<T>)[]): RefCallback<T>;
export declare function cn(classNames: unknown[]): string;