UNPKG

@past3lle/carousel-hooks

Version:

PASTELLE carousel animation hooks built on top of @usegesture and react-springs

72 lines 2.14 kB
import { UseWindowSizeOptions } from '@past3lle/hooks'; import { SpringConfig, useSprings } from '@react-spring/web'; import { DOMAttributes, MutableRefObject } from 'react'; export declare type WithWindowSizeOptions = { windowSizeOptions?: UseWindowSizeOptions; }; export declare type AxisDirection = 'x' | 'y'; export declare type SizeOptions = { fixedSize?: number; minSize?: number; }; export interface OverwritingOptions { sizeOptions?: SizeOptions; styleMixin?: Record<string, any>; } export interface InifniteScrollDataParams { itemSize: number; dataLength: number; setCurrentIndex: (i: number) => void; } export interface InfiniteScrollHookOptions { visible: number; scrollSpeed?: number; snapOnScroll?: boolean; dynamicConfig?: boolean; scaleOptions: { scaleOnScroll?: number; initialScale: number; }; config?: SpringConfig | ((options: { configPos: number; length: number; }) => SpringConfig); } export interface BaseGestureParams { currentIndex?: number; axis: number; dAxis: number; mAxis?: number; active: boolean; first?: boolean; last?: boolean; down?: boolean; memo?: { [key: number]: number; }; cancel: () => void; } export interface WheelGestureParams extends BaseGestureParams { firstVis: number; firstVisIdx: number; prevRef: MutableRefObject<number[]>; } export interface DragGestureParams extends BaseGestureParams { swDir: number; } export declare type InfiniteScrollOptions = InfiniteScrollHookOptions & OverwritingOptions; export interface SpringAnimationHookReturn { target?: HTMLElement | null; bind: (...args: any[]) => DOMAttributes<any>; springs: ReturnType<typeof useSprings>[0]; state: { currentIndex: number; itemSize: number; firstAnimationOver?: boolean; }; refCallbacks: { setScrollingZoneRef: (newNode: any) => void; setItemSizeRef: (newNode: any) => void; }; } //# sourceMappingURL=types.d.ts.map