chromium/third_party/polymer/v3_0/components-chromium/iron-test-helpers/mock-interactions.d.ts

/**
 * DO NOT EDIT
 *
 * This file was automatically generated by
 *   https://github.com/Polymer/tools/tree/master/packages/gen-typescript-declarations
 *
 * To modify these typings, edit the source file(s):
 *   mock-interactions.js
 */

export {middleOfNode};


/**
 * Returns the (x,y) coordinates representing the middle of a node.
 */
declare function middleOfNode(node: Element): any;

export {topLeftOfNode};


/**
 * Returns the (x,y) coordinates representing the top left corner of a node.
 */
declare function topLeftOfNode(node: Element): any;

export {makeTouches};


/**
 * Returns a list of Touch objects that correspond to an array of positions
 * and a target node. The Touch instances will each have a unique Touch
 * identifier.
 */
declare function makeTouches(xyList: Array<{x: number, y: number}>, node: Element): any;

export {makeSoloTouchEvent};


/**
 * Generates and dispatches a TouchEvent of a given type, at a specified
 * position of a target node.
 */
declare function makeSoloTouchEvent(type: string, xy: {x: number, y: number}, node: Element): void;

export {makeMouseEvent};


/**
 * Fires a mouse event on a specific node, at a given set of coordinates.
 * This event bubbles and is cancellable.
 */
declare function makeMouseEvent(type: string, xy: {x: number, y: number}, node: Element): void;

export {move};


/**
 * Simulates a mouse move action by firing a `move` mouse event on a
 * specific node, between a set of coordinates.
 */
declare function move(node: Element, fromXY: object|null, toXY: object|null, steps?: number|null): void;

export {track};


/**
 * Simulates a mouse dragging action originating in the middle of a specific
 * node.
 */
declare function track(target: Element, dx: number|null, dy: number|null, steps?: number|null): void;

export {down};


/**
 * Fires a `down` mouse event on a specific node, at a given set of coordinates.
 * This event bubbles and is cancellable. If the (x,y) coordinates are
 * not specified, the middle of the node will be used instead.
 */
declare function down(node: Element, xy?: {x: number, y: number}): void;

export {up};


/**
 * Fires an `up` mouse event on a specific node, at a given set of coordinates.
 * This event bubbles and is cancellable. If the (x,y) coordinates are
 * not specified, the middle of the node will be used instead.
 */
declare function up(node: Element, xy?: {x: number, y: number}): void;

export {click};


/**
 * Generate a click event on a given node, optionally at a given coordinate.
 */
declare function click(node: Element, xy?: {x: number, y: number}): void;

export {touchstart};


/**
 * Generate a touchstart event on a given node, optionally at a given
 * coordinate.
 */
declare function touchstart(node: Element, xy?: {x: number, y: number}): void;

export {touchend};


/**
 * Generate a touchend event on a given node, optionally at a given coordinate.
 */
declare function touchend(node: Element, xy?: {x: number, y: number}): void;

export {downAndUp};


/**
 * Simulates a complete mouse click by firing a `down` mouse event, followed
 * by an asynchronous `up` and `tap` events on a specific node. Calls the
 * `callback` after the `tap` event is fired.
 */
declare function downAndUp(target: Element, callback?: Function|null, options?: {emulateTouch: boolean}|null): void;

export {tap};


/**
 * Fires a 'tap' mouse event on a specific node. This respects the
 * pointer-events set on the node, and will not fire on disabled nodes.
 */
declare function tap(node: Element, options?: {emulateTouch: boolean}|null): void;

export {focus};


/**
 * Focuses a node by firing a `focus` event. This event does not bubble.
 */
declare function focus(target: Element): void;

export {blur};


/**
 * Blurs a node by firing a `blur` event. This event does not bubble.
 */
declare function blur(target: Element): void;

export {keyboardEventFor};


/**
 * Returns a keyboard event. This event bubbles and is cancellable.
 */
declare function keyboardEventFor(type: string, keyCode: number, modifiers?: string|string[]|null, key?: string): any;

export {keyEventOn};


/**
 * Fires a keyboard event on a specific node. This event bubbles and is
 * cancellable.
 */
declare function keyEventOn(target: Element, type: string, keyCode: number, modifiers?: string|string[]|null, key?: string): void;

export {keyDownOn};


/**
 * Fires a 'keydown' event on a specific node. This event bubbles and is
 * cancellable.
 */
declare function keyDownOn(target: Element, keyCode: number, modifiers?: string|string[]|null, key?: string): void;

export {keyUpOn};


/**
 * Fires a 'keyup' event on a specific node. This event bubbles and is
 * cancellable.
 */
declare function keyUpOn(target: Element, keyCode: number, modifiers?: string|string[]|null, key?: string): void;

export {pressAndReleaseKeyOn};


/**
 * Simulates a complete key press by firing a `keydown` keyboard event, followed
 * by an asynchronous `keyup` event on a specific node.
 */
declare function pressAndReleaseKeyOn(target: Element, keyCode: number, modifiers?: string|string[]|null, key?: string): void;

export {pressEnter};


/**
 * Simulates a complete 'enter' key press by firing a `keydown` keyboard event,
 * followed by an asynchronous `keyup` event on a specific node.
 */
declare function pressEnter(target: Element): void;

export {pressSpace};


/**
 * Simulates a complete 'space' key press by firing a `keydown` keyboard event,
 * followed by an asynchronous `keyup` event on a specific node.
 */
declare function pressSpace(target: Element): void;