Skip to content
Snippets Groups Projects
react-swipeable-views-utils.d.ts 1.15 KiB
Newer Older
  • Learn to ignore specific revisions
  • Hugo NOUTS's avatar
    Hugo NOUTS committed
    declare module 'react-swipeable-views-utils' {
      import ReactSwipeableViews from 'react-swipeable-views'
    
      export interface VirtualizedSlideRendererParams {
        index: number
        key: number
      }
    
      interface VirtualizedComponentProps {
        index?: number
        onChangeIndex?: (currentIndex: number, prevIndex: number) => void
        onTransitionEnd?: () => void
        overscanSlideAfter?: number
        overscanSlideBefore?: number
        slideCount?: number
        slideRenderer?: (params: VirtualizedSlideRendererParams) => JSX.Element
        enableMouseEvents?: boolean
        axis?: AxisType
      }
    
      interface VirtualizedComponentState {
        indexContainer: number
        indexStart: number
        indexStop: number
      }
    
      class VirtualizedComponent extends React.Component<
        VirtualizedComponentProps,
        VirtualizedComponentState
      > {
        handleChangeIndex(indexContainer: number, indexLatest: number): void
        handleTransitionEnd(): void
        setIndex(index: number, indexContainer: number, indexDiff: number): void
        setWindow(index: number): void
      }
    
      export function virtualize(
        component: typeof ReactSwipeableViews
      ): typeof VirtualizedComponent
      export default virtualize
    }