// Type definitions for nes 0.0.7 // Project: https://github.com/clauderic/react-sortable-hoc // Definitions by: Ivo Stratev // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped /// declare module 'react-sortable-hoc' { import React = require('react'); export type Axis = 'x' | 'y'; export type Offset = number | string; export interface SortStart { node: React.ReactNode; index: number; collection: Offset; } export type SortEvent = React.MouseEvent | React.TouchEvent; export type SortStartHandler = (sort: SortStart, event: SortEvent) => void; export type SortMoveHandler = (event: SortEvent) => void; export interface SortEnd { oldIndex: number; newIndex: number; collection: Offset; } export type SortEndHandler = (sort: SortEnd, event: SortEvent) => void; export type ContainerGetter = (element: React.ReactElement) => HTMLElement; export interface SortableContainerProps { axis?: Axis; lockAxis?: Axis; helperClass?: string; transitionDuration?: number; pressDelay?: number; onSortStart?: SortStartHandler; onSortMove?: SortMoveHandler; onSortEnd?: SortEndHandler; useDragHandle?: boolean; useWindowAsScrollContainer?: boolean; hideSortableGhost?: boolean; lockToContainerEdges?: boolean; lockOffset?: Offset | [Offset, Offset]; getContainer?: ContainerGetter; } export interface SortableElementProps { index: number; collection?: Offset; disabled?: boolean; } export interface Config { withRef: boolean; } export type WrappedComponentFactory

= (props: P) => JSX.Element; export type WrappedComponent

= React.ComponentClass

| WrappedComponentFactory

; export function SortableContainer

(wrappedComponent: WrappedComponent

, config?: Config): React.ComponentClass

; export function SortableElement

(wrappedComponent: WrappedComponent

, config?: Config): React.ComponentClass

; export function SortableHandle

(wrappedComponent: WrappedComponent

, config?: Config): React.ComponentClass

; export function arrayMove(collection: Array, previousIndex: number, newIndex: number): Array; }