mirror of
https://github.com/gosticks/DefinitelyTyped.git
synced 2025-10-16 12:05:41 +00:00
247 lines
7.8 KiB
TypeScript
247 lines
7.8 KiB
TypeScript
// Type definitions for Interacting for interact.js v1.0.25
|
|
// Project: https://github.com/taye/interact.js
|
|
// Definitions by: Douglas Eichelberger <https://github.com/dduugg>, Adi Dahiya <https://github.com/adidahiya>, Tom Hasner <https://github.com/thasner>
|
|
// Definitions: https://github.com/borisyankov/DefinitelyTyped
|
|
|
|
// API documentation: http://interactjs.io/docs
|
|
|
|
declare module Interact {
|
|
interface Interactable {
|
|
// returns Element or string
|
|
accept(): any;
|
|
accept(newValue: Element): Interactable;
|
|
accept(newValue: string): Interactable;
|
|
actionChecker(): Function;
|
|
actionChecker(checker: Function): Interactable;
|
|
// returns boolean or {[key: string]: any}
|
|
autoScroll(): any;
|
|
autoScroll(options: boolean): Interactable;
|
|
autoScroll(options: {[key: string]: any}): Interactable;
|
|
context(): Node;
|
|
defaultActionChecker(event: any): string;
|
|
deltaSource(): string;
|
|
// returns Interactable if newValue is "page" or "client", otherwise returns string
|
|
deltaSource(newValue: String): Interactable;
|
|
draggable(): boolean;
|
|
draggable(options: boolean): Interactable;
|
|
draggable(options: {[key: string]: any}): Interactable;
|
|
dropCheck(event: MouseEvent): boolean;
|
|
dropCheck(event: TouchEvent): boolean;
|
|
dropChecker(): Function;
|
|
dropChecker(checker: Function): Interactable;
|
|
// returns boolean or {[key: string]: any}
|
|
dropzone(): any;
|
|
dropzone(options: boolean): Interactable;
|
|
dropzone(options: {[key: string]: any}): Interactable;
|
|
// return HTMLElement or SVGElement
|
|
element(): Element;
|
|
fire(iEvent: InteractEvent): Interactable;
|
|
// returns boolean or {[key: string]: any}
|
|
gesturable(): any;
|
|
gesturable(options: boolean): Interactable;
|
|
gesturable(options: {[key: string]: any}): Interactable;
|
|
getRect(): ClientRect;
|
|
// returns Element or string
|
|
ignoreFrom(): any;
|
|
ignoreFrom(newValue: string): Interactable;
|
|
ignoreFrom(newValue: Element): Interactable;
|
|
// returns boolean or {[key: string]: any}
|
|
inertia(): any;
|
|
inertia(options: boolean): Interactable;
|
|
inertia(options: {[key: string]: any}): Interactable;
|
|
off(eventType: string, listener: Function, useCapture?: boolean): Interactable;
|
|
on(eventType: string, listener: Function, useCapture?: boolean): Interactable;
|
|
origin(): Point;
|
|
origin(newValue: HTMLElement): Interactable;
|
|
origin(newValue: SVGElement): Interactable;
|
|
origin(newValue: Point): Interactable;
|
|
rectChecker(): Function;
|
|
rectChecker(newValue: Function): Interactable;
|
|
resizable(): Interactable;
|
|
resizable(options: boolean): Interactable;
|
|
resizable(options: {[key: string]: any}): Interactable;
|
|
restrict(): Restrict;
|
|
restrict(newValue: Restrict): Interactable;
|
|
set(options: {[key: string]: any}): Interactable;
|
|
// returns boolean or {[key: string]: any}
|
|
snap(): any;
|
|
snap(options: boolean): Interactable;
|
|
snap(options: {[key: string]: any}): Interactable;
|
|
squareResize(): boolean;
|
|
squareResize(newValue: boolean): Interactable;
|
|
styleCursor(): boolean;
|
|
styleCursor(newValue: boolean): Interactable;
|
|
unset(): InteractStatic;
|
|
validateSetting(context: string, option: string, value: any): any;
|
|
}
|
|
|
|
interface Coordinates {
|
|
clientX: number;
|
|
clientY: number;
|
|
pageX: number;
|
|
pageY: number;
|
|
timeStamp: number;
|
|
}
|
|
|
|
interface Debug {
|
|
target: any;
|
|
dragging: any;
|
|
resizing: any;
|
|
gesturing: any;
|
|
prepared: any;
|
|
|
|
prevCoords: Coordinates;
|
|
downCoords: Coordinates;
|
|
|
|
pointerIds: any[];
|
|
pointerMoves: any[];
|
|
addPointer: any;
|
|
removePointer: any;
|
|
recordPointers: any;
|
|
|
|
inertia: InertiaStatus;
|
|
|
|
downTime: any;
|
|
downEvent: any;
|
|
prevEvent: any;
|
|
|
|
Interactable: any;
|
|
IOptions: any;
|
|
interactables: any;
|
|
dropzones: any;
|
|
pointerIsDown: any;
|
|
defaultOptions: any;
|
|
defaultActionChecker: any;
|
|
|
|
actions: any;
|
|
dragMove: any;
|
|
resizeMove: any;
|
|
gestureMove: any;
|
|
pointerUp: any;
|
|
pointerDown: any;
|
|
pointerMove: any;
|
|
pointerHover: any;
|
|
|
|
events: any;
|
|
globalEvents: any;
|
|
delegatedEvents: any;
|
|
}
|
|
|
|
interface InertiaStatus {
|
|
active: boolean;
|
|
target: any;
|
|
targetElement: any;
|
|
|
|
startEvent: any;
|
|
pointerUp: any
|
|
|
|
xe: number;
|
|
ye: number;
|
|
duration: number;
|
|
|
|
t0: number;
|
|
vx0: number;
|
|
vys: number;
|
|
|
|
lambda_v0: number;
|
|
one_ve_v0: number;
|
|
i: any;
|
|
}
|
|
|
|
interface Point {
|
|
x: number;
|
|
y: number;
|
|
}
|
|
|
|
// value types are either ClientRect or Element
|
|
interface Restrict {
|
|
drag?: any;
|
|
gesture?: any;
|
|
resize?: any;
|
|
elementRect?: {[direction: string]: number};
|
|
}
|
|
|
|
interface InteractEvent {
|
|
altKey: boolean;
|
|
axes: string;
|
|
button: number
|
|
clientX0: number;
|
|
clientX: number
|
|
clientY0: number;
|
|
clientY: number
|
|
ctrlKey: boolean
|
|
dt: number;
|
|
duration: number;
|
|
dx: number;
|
|
dy: number;
|
|
metaKey: boolean;
|
|
pageX: number;
|
|
pageY: number;
|
|
shiftKey: boolean;
|
|
speed: number;
|
|
t0: number;
|
|
target: any;
|
|
timeStamp: number;
|
|
type: string;
|
|
velocityX: number;
|
|
velocityY: number;
|
|
x0: number;
|
|
y0: number;
|
|
}
|
|
|
|
interface TouchEvent {
|
|
pageX: number;
|
|
pageY: number;
|
|
type: string;
|
|
}
|
|
|
|
interface InteractStatic {
|
|
(element: HTMLElement): Interactable;
|
|
(element: SVGElement): Interactable;
|
|
(element: string): Interactable;
|
|
// returns boolean or {[key: string]: any}
|
|
autoScroll(): any;
|
|
autoScroll(options: boolean): InteractStatic;
|
|
autoScroll(options: {[key: string]: any}): InteractStatic;
|
|
currentAction(): string
|
|
debug(): Debug;
|
|
deltaSource(): string;
|
|
// "page" and "client" are the valid parameters
|
|
deltaSource(newValue: string): InteractStatic;
|
|
dynamicDrop(): boolean;
|
|
dynamicDrop(newValue: boolean): InteractStatic;
|
|
enableDragging(): boolean;
|
|
enableDragging(newValue: boolean): InteractStatic;
|
|
enableGesturing(): boolean;
|
|
enableGesturing(newValue: boolean): InteractStatic;
|
|
enableResizing(): boolean;
|
|
enableResizing(newValue: boolean): InteractStatic;
|
|
// returns boolean or {[key: string]: any}
|
|
inertia(): any;
|
|
inertia(options: boolean): InteractStatic;
|
|
inertia(options: {[key: string]: any}): InteractStatic;
|
|
isSet(element: Element): boolean;
|
|
margin(): number;
|
|
margin(newvalue: number): InteractStatic;
|
|
off(type: string, listener: Function, useCapture?: boolean): InteractStatic;
|
|
on(type: string, listener: Function, useCapture?: boolean): InteractStatic;
|
|
restrict(): Restrict;
|
|
restrict(newValue: Restrict): InteractStatic;
|
|
simulate(action: string, element: Element, pointerEvent?: any): InteractStatic;
|
|
// returns boolean or {[key: string]: any}
|
|
snap(): any;
|
|
snap(options: boolean): InteractStatic;
|
|
snap(options: {[key: string]: any}): InteractStatic;
|
|
stop(event: Event): InteractStatic;
|
|
styleCursor(): boolean;
|
|
styleCursor(newValue: boolean): InteractStatic;
|
|
supportsTouch(): boolean
|
|
}
|
|
}
|
|
|
|
declare var interact: Interact.InteractStatic;
|
|
|
|
declare module "interact" {
|
|
export = interact;
|
|
}
|