Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

@interactjs/utils

Package Overview
Dependencies
Maintainers
2
Versions
136
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@interactjs/utils - npm Package Compare versions

Comparing version 1.6.3 to 1.7.0

arr.js.map

30

arr.js
export function contains(array, target) {
return array.indexOf(target) !== -1;
return array.indexOf(target) !== -1;
}
export function remove(array, target) {
return array.splice(array.indexOf(target), 1);
return array.splice(array.indexOf(target), 1);
}
export function merge(target, source) {
for (const item of source) {
target.push(item);
}
return target;
for (const item of source) {
target.push(item);
}
return target;
}
export function from(source) {
return merge([], source);
return merge([], source);
}
export function findIndex(array, func) {
for (let i = 0; i < array.length; i++) {
if (func(array[i], i, array)) {
return i;
}
for (let i = 0; i < array.length; i++) {
if (func(array[i], i, array)) {
return i;
}
return -1;
}
return -1;
}
export function find(array, func) {
return array[findIndex(array, func)];
return array[findIndex(array, func)];
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXJyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiYXJyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sVUFBVSxRQUFRLENBQUUsS0FBSyxFQUFFLE1BQU07SUFDckMsT0FBTyxLQUFLLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFBO0FBQ3JDLENBQUM7QUFFRCxNQUFNLFVBQVUsTUFBTSxDQUFFLEtBQUssRUFBRSxNQUFNO0lBQ25DLE9BQU8sS0FBSyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFBO0FBQy9DLENBQUM7QUFFRCxNQUFNLFVBQVUsS0FBSyxDQUFFLE1BQU0sRUFBRSxNQUFNO0lBQ25DLEtBQUssTUFBTSxJQUFJLElBQUksTUFBTSxFQUFFO1FBQ3pCLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUE7S0FDbEI7SUFFRCxPQUFPLE1BQU0sQ0FBQTtBQUNmLENBQUM7QUFFRCxNQUFNLFVBQVUsSUFBSSxDQUFFLE1BQU07SUFDMUIsT0FBTyxLQUFLLENBQUMsRUFBRSxFQUFFLE1BQU0sQ0FBQyxDQUFBO0FBQzFCLENBQUM7QUFFRCxNQUFNLFVBQVUsU0FBUyxDQUFFLEtBQUssRUFBRSxJQUFJO0lBQ3BDLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxLQUFLLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSxFQUFFO1FBQ3JDLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsS0FBSyxDQUFDLEVBQUU7WUFDNUIsT0FBTyxDQUFDLENBQUE7U0FDVDtLQUNGO0lBRUQsT0FBTyxDQUFDLENBQUMsQ0FBQTtBQUNYLENBQUM7QUFFRCxNQUFNLFVBQVUsSUFBSSxDQUFFLEtBQUssRUFBRSxJQUFJO0lBQy9CLE9BQU8sS0FBSyxDQUFDLFNBQVMsQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQTtBQUN0QyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGZ1bmN0aW9uIGNvbnRhaW5zIChhcnJheSwgdGFyZ2V0KSB7XG4gIHJldHVybiBhcnJheS5pbmRleE9mKHRhcmdldCkgIT09IC0xXG59XG5cbmV4cG9ydCBmdW5jdGlvbiByZW1vdmUgKGFycmF5LCB0YXJnZXQpIHtcbiAgcmV0dXJuIGFycmF5LnNwbGljZShhcnJheS5pbmRleE9mKHRhcmdldCksIDEpXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBtZXJnZSAodGFyZ2V0LCBzb3VyY2UpIHtcbiAgZm9yIChjb25zdCBpdGVtIG9mIHNvdXJjZSkge1xuICAgIHRhcmdldC5wdXNoKGl0ZW0pXG4gIH1cblxuICByZXR1cm4gdGFyZ2V0XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBmcm9tIChzb3VyY2UpIHtcbiAgcmV0dXJuIG1lcmdlKFtdLCBzb3VyY2UpXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBmaW5kSW5kZXggKGFycmF5LCBmdW5jKSB7XG4gIGZvciAobGV0IGkgPSAwOyBpIDwgYXJyYXkubGVuZ3RoOyBpKyspIHtcbiAgICBpZiAoZnVuYyhhcnJheVtpXSwgaSwgYXJyYXkpKSB7XG4gICAgICByZXR1cm4gaVxuICAgIH1cbiAgfVxuXG4gIHJldHVybiAtMVxufVxuXG5leHBvcnQgZnVuY3Rpb24gZmluZCAoYXJyYXksIGZ1bmMpIHtcbiAgcmV0dXJuIGFycmF5W2ZpbmRJbmRleChhcnJheSwgZnVuYyldXG59XG4iXX0=
//# sourceMappingURL=arr.js.map

@@ -1,66 +0,52 @@

import domObjects from './domObjects';
import * as is from './is';
import win from './window';
import domObjects from "./domObjects.js";
import * as is from "./is.js";
import win from "./window.js";
const browser = {
init,
supportsTouch: null,
supportsPointerEvent: null,
isIOS7: null,
isIOS: null,
isIe9: null,
isOperaMobile: null,
prefixedMatchesSelector: null,
pEventTypes: null,
wheelEvent: null,
init,
supportsTouch: null,
supportsPointerEvent: null,
isIOS7: null,
isIOS: null,
isIe9: null,
isOperaMobile: null,
prefixedMatchesSelector: null,
pEventTypes: null,
wheelEvent: null
};
function init(window) {
const Element = domObjects.Element;
const navigator = win.window.navigator;
// Does the browser support touch input?
browser.supportsTouch = ('ontouchstart' in window) ||
(is.func(window.DocumentTouch) && domObjects.document instanceof window.DocumentTouch);
// Does the browser support PointerEvents
browser.supportsPointerEvent = navigator.pointerEnabled !== false && !!domObjects.PointerEvent;
browser.isIOS = (/iP(hone|od|ad)/.test(navigator.platform));
// scrolling doesn't change the result of getClientRects on iOS 7
browser.isIOS7 = (/iP(hone|od|ad)/.test(navigator.platform) &&
/OS 7[^\d]/.test(navigator.appVersion));
browser.isIe9 = /MSIE 9/.test(navigator.userAgent);
// Opera Mobile must be handled differently
browser.isOperaMobile = (navigator.appName === 'Opera' &&
browser.supportsTouch &&
/Presto/.test(navigator.userAgent));
// prefix matchesSelector
browser.prefixedMatchesSelector = 'matches' in Element.prototype
? 'matches'
: 'webkitMatchesSelector' in Element.prototype
? 'webkitMatchesSelector'
: 'mozMatchesSelector' in Element.prototype
? 'mozMatchesSelector'
: 'oMatchesSelector' in Element.prototype
? 'oMatchesSelector'
: 'msMatchesSelector';
browser.pEventTypes = (browser.supportsPointerEvent
? (domObjects.PointerEvent === window.MSPointerEvent
? {
up: 'MSPointerUp',
down: 'MSPointerDown',
over: 'mouseover',
out: 'mouseout',
move: 'MSPointerMove',
cancel: 'MSPointerCancel',
}
: {
up: 'pointerup',
down: 'pointerdown',
over: 'pointerover',
out: 'pointerout',
move: 'pointermove',
cancel: 'pointercancel',
})
: null);
// because Webkit and Opera still use 'mousewheel' event type
browser.wheelEvent = 'onmousewheel' in domObjects.document ? 'mousewheel' : 'wheel';
const Element = domObjects.Element;
const navigator = win.window.navigator; // Does the browser support touch input?
browser.supportsTouch = 'ontouchstart' in window || is.func(window.DocumentTouch) && domObjects.document instanceof window.DocumentTouch; // Does the browser support PointerEvents
browser.supportsPointerEvent = navigator.pointerEnabled !== false && !!domObjects.PointerEvent;
browser.isIOS = /iP(hone|od|ad)/.test(navigator.platform); // scrolling doesn't change the result of getClientRects on iOS 7
browser.isIOS7 = /iP(hone|od|ad)/.test(navigator.platform) && /OS 7[^\d]/.test(navigator.appVersion);
browser.isIe9 = /MSIE 9/.test(navigator.userAgent); // Opera Mobile must be handled differently
browser.isOperaMobile = navigator.appName === 'Opera' && browser.supportsTouch && /Presto/.test(navigator.userAgent); // prefix matchesSelector
browser.prefixedMatchesSelector = 'matches' in Element.prototype ? 'matches' : 'webkitMatchesSelector' in Element.prototype ? 'webkitMatchesSelector' : 'mozMatchesSelector' in Element.prototype ? 'mozMatchesSelector' : 'oMatchesSelector' in Element.prototype ? 'oMatchesSelector' : 'msMatchesSelector';
browser.pEventTypes = browser.supportsPointerEvent ? domObjects.PointerEvent === window.MSPointerEvent ? {
up: 'MSPointerUp',
down: 'MSPointerDown',
over: 'mouseover',
out: 'mouseout',
move: 'MSPointerMove',
cancel: 'MSPointerCancel'
} : {
up: 'pointerup',
down: 'pointerdown',
over: 'pointerover',
out: 'pointerout',
move: 'pointermove',
cancel: 'pointercancel'
} : null; // because Webkit and Opera still use 'mousewheel' event type
browser.wheelEvent = 'onmousewheel' in domObjects.document ? 'mousewheel' : 'wheel';
}
export default browser;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJvd3Nlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbImJyb3dzZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxVQUFVLE1BQU0sY0FBYyxDQUFBO0FBQ3JDLE9BQU8sS0FBSyxFQUFFLE1BQU0sTUFBTSxDQUFBO0FBQzFCLE9BQU8sR0FBRyxNQUFNLFVBQVUsQ0FBQTtBQUUxQixNQUFNLE9BQU8sR0FBRztJQUNkLElBQUk7SUFDSixhQUFhLEVBQUUsSUFBZTtJQUM5QixvQkFBb0IsRUFBRSxJQUFlO0lBQ3JDLE1BQU0sRUFBRSxJQUFlO0lBQ3ZCLEtBQUssRUFBRSxJQUFlO0lBQ3RCLEtBQUssRUFBRSxJQUFlO0lBQ3RCLGFBQWEsRUFBRSxJQUFlO0lBQzlCLHVCQUF1QixFQUFFLElBQWM7SUFDdkMsV0FBVyxFQUFFLElBT1o7SUFDRCxVQUFVLEVBQUUsSUFBYztDQUMzQixDQUFBO0FBRUQsU0FBUyxJQUFJLENBQUUsTUFBTTtJQUNuQixNQUFNLE9BQU8sR0FBRyxVQUFVLENBQUMsT0FBTyxDQUFBO0lBQ2xDLE1BQU0sU0FBUyxHQUFJLEdBQUcsQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFBO0lBRXZDLHdDQUF3QztJQUN4QyxPQUFPLENBQUMsYUFBYSxHQUFHLENBQUMsY0FBYyxJQUFJLE1BQU0sQ0FBQztRQUNoRCxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxJQUFJLFVBQVUsQ0FBQyxRQUFRLFlBQVksTUFBTSxDQUFDLGFBQWEsQ0FBQyxDQUFBO0lBRXhGLHlDQUF5QztJQUN6QyxPQUFPLENBQUMsb0JBQW9CLEdBQUcsU0FBUyxDQUFDLGNBQWMsS0FBSyxLQUFLLElBQUksQ0FBQyxDQUFDLFVBQVUsQ0FBQyxZQUFZLENBQUE7SUFFOUYsT0FBTyxDQUFDLEtBQUssR0FBRyxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQTtJQUUzRCxpRUFBaUU7SUFDakUsT0FBTyxDQUFDLE1BQU0sR0FBRyxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDO1FBQ2xELFdBQVcsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUE7SUFFaEQsT0FBTyxDQUFDLEtBQUssR0FBRyxRQUFRLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUMsQ0FBQTtJQUVsRCwyQ0FBMkM7SUFDM0MsT0FBTyxDQUFDLGFBQWEsR0FBRyxDQUFDLFNBQVMsQ0FBQyxPQUFPLEtBQUssT0FBTztRQUNwRCxPQUFPLENBQUMsYUFBYTtRQUNyQixRQUFRLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFBO0lBRXJDLHlCQUF5QjtJQUN6QixPQUFPLENBQUMsdUJBQXVCLEdBQUcsU0FBUyxJQUFJLE9BQU8sQ0FBQyxTQUFTO1FBQzlELENBQUMsQ0FBQyxTQUFTO1FBQ1gsQ0FBQyxDQUFDLHVCQUF1QixJQUFJLE9BQU8sQ0FBQyxTQUFTO1lBQzVDLENBQUMsQ0FBQyx1QkFBdUI7WUFDekIsQ0FBQyxDQUFDLG9CQUFvQixJQUFJLE9BQU8sQ0FBQyxTQUFTO2dCQUN6QyxDQUFDLENBQUMsb0JBQW9CO2dCQUN0QixDQUFDLENBQUMsa0JBQWtCLElBQUksT0FBTyxDQUFDLFNBQVM7b0JBQ3ZDLENBQUMsQ0FBQyxrQkFBa0I7b0JBQ3BCLENBQUMsQ0FBQyxtQkFBbUIsQ0FBQTtJQUU3QixPQUFPLENBQUMsV0FBVyxHQUFHLENBQUMsT0FBTyxDQUFDLG9CQUFvQjtRQUNqRCxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsWUFBWSxLQUFLLE1BQU0sQ0FBQyxjQUFjO1lBQ2xELENBQUMsQ0FBQztnQkFDQSxFQUFFLEVBQU0sYUFBYTtnQkFDckIsSUFBSSxFQUFJLGVBQWU7Z0JBQ3ZCLElBQUksRUFBSSxXQUFXO2dCQUNuQixHQUFHLEVBQUssVUFBVTtnQkFDbEIsSUFBSSxFQUFJLGVBQWU7Z0JBQ3ZCLE1BQU0sRUFBRSxpQkFBaUI7YUFDMUI7WUFDRCxDQUFDLENBQUM7Z0JBQ0EsRUFBRSxFQUFNLFdBQVc7Z0JBQ25CLElBQUksRUFBSSxhQUFhO2dCQUNyQixJQUFJLEVBQUksYUFBYTtnQkFDckIsR0FBRyxFQUFLLFlBQVk7Z0JBQ3BCLElBQUksRUFBSSxhQUFhO2dCQUNyQixNQUFNLEVBQUUsZUFBZTthQUN4QixDQUFDO1FBQ0osQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFBO0lBRVQsNkRBQTZEO0lBQzdELE9BQU8sQ0FBQyxVQUFVLEdBQUcsY0FBYyxJQUFJLFVBQVUsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFBO0FBQ3JGLENBQUM7QUFFRCxlQUFlLE9BQU8sQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBkb21PYmplY3RzIGZyb20gJy4vZG9tT2JqZWN0cydcbmltcG9ydCAqIGFzIGlzIGZyb20gJy4vaXMnXG5pbXBvcnQgd2luIGZyb20gJy4vd2luZG93J1xuXG5jb25zdCBicm93c2VyID0ge1xuICBpbml0LFxuICBzdXBwb3J0c1RvdWNoOiBudWxsIGFzIGJvb2xlYW4sXG4gIHN1cHBvcnRzUG9pbnRlckV2ZW50OiBudWxsIGFzIGJvb2xlYW4sXG4gIGlzSU9TNzogbnVsbCBhcyBib29sZWFuLFxuICBpc0lPUzogbnVsbCBhcyBib29sZWFuLFxuICBpc0llOTogbnVsbCBhcyBib29sZWFuLFxuICBpc09wZXJhTW9iaWxlOiBudWxsIGFzIGJvb2xlYW4sXG4gIHByZWZpeGVkTWF0Y2hlc1NlbGVjdG9yOiBudWxsIGFzIHN0cmluZyxcbiAgcEV2ZW50VHlwZXM6IG51bGwgYXMge1xuICAgIHVwOiBzdHJpbmdcbiAgICBkb3duOiBzdHJpbmdcbiAgICBvdmVyOiBzdHJpbmdcbiAgICBvdXQ6IHN0cmluZ1xuICAgIG1vdmU6IHN0cmluZ1xuICAgIGNhbmNlbDogc3RyaW5nXG4gIH0sXG4gIHdoZWVsRXZlbnQ6IG51bGwgYXMgc3RyaW5nLFxufVxuXG5mdW5jdGlvbiBpbml0ICh3aW5kb3cpIHtcbiAgY29uc3QgRWxlbWVudCA9IGRvbU9iamVjdHMuRWxlbWVudFxuICBjb25zdCBuYXZpZ2F0b3IgID0gd2luLndpbmRvdy5uYXZpZ2F0b3JcblxuICAvLyBEb2VzIHRoZSBicm93c2VyIHN1cHBvcnQgdG91Y2ggaW5wdXQ/XG4gIGJyb3dzZXIuc3VwcG9ydHNUb3VjaCA9ICgnb250b3VjaHN0YXJ0JyBpbiB3aW5kb3cpIHx8XG4gICAgKGlzLmZ1bmMod2luZG93LkRvY3VtZW50VG91Y2gpICYmIGRvbU9iamVjdHMuZG9jdW1lbnQgaW5zdGFuY2VvZiB3aW5kb3cuRG9jdW1lbnRUb3VjaClcblxuICAvLyBEb2VzIHRoZSBicm93c2VyIHN1cHBvcnQgUG9pbnRlckV2ZW50c1xuICBicm93c2VyLnN1cHBvcnRzUG9pbnRlckV2ZW50ID0gbmF2aWdhdG9yLnBvaW50ZXJFbmFibGVkICE9PSBmYWxzZSAmJiAhIWRvbU9iamVjdHMuUG9pbnRlckV2ZW50XG5cbiAgYnJvd3Nlci5pc0lPUyA9ICgvaVAoaG9uZXxvZHxhZCkvLnRlc3QobmF2aWdhdG9yLnBsYXRmb3JtKSlcblxuICAvLyBzY3JvbGxpbmcgZG9lc24ndCBjaGFuZ2UgdGhlIHJlc3VsdCBvZiBnZXRDbGllbnRSZWN0cyBvbiBpT1MgN1xuICBicm93c2VyLmlzSU9TNyA9ICgvaVAoaG9uZXxvZHxhZCkvLnRlc3QobmF2aWdhdG9yLnBsYXRmb3JtKSAmJlxuICAgICAgICAgICAvT1MgN1teXFxkXS8udGVzdChuYXZpZ2F0b3IuYXBwVmVyc2lvbikpXG5cbiAgYnJvd3Nlci5pc0llOSA9IC9NU0lFIDkvLnRlc3QobmF2aWdhdG9yLnVzZXJBZ2VudClcblxuICAvLyBPcGVyYSBNb2JpbGUgbXVzdCBiZSBoYW5kbGVkIGRpZmZlcmVudGx5XG4gIGJyb3dzZXIuaXNPcGVyYU1vYmlsZSA9IChuYXZpZ2F0b3IuYXBwTmFtZSA9PT0gJ09wZXJhJyAmJlxuICAgIGJyb3dzZXIuc3VwcG9ydHNUb3VjaCAmJlxuICAgIC9QcmVzdG8vLnRlc3QobmF2aWdhdG9yLnVzZXJBZ2VudCkpXG5cbiAgLy8gcHJlZml4IG1hdGNoZXNTZWxlY3RvclxuICBicm93c2VyLnByZWZpeGVkTWF0Y2hlc1NlbGVjdG9yID0gJ21hdGNoZXMnIGluIEVsZW1lbnQucHJvdG90eXBlXG4gICAgPyAnbWF0Y2hlcydcbiAgICA6ICd3ZWJraXRNYXRjaGVzU2VsZWN0b3InIGluIEVsZW1lbnQucHJvdG90eXBlXG4gICAgICA/ICd3ZWJraXRNYXRjaGVzU2VsZWN0b3InXG4gICAgICA6ICdtb3pNYXRjaGVzU2VsZWN0b3InIGluIEVsZW1lbnQucHJvdG90eXBlXG4gICAgICAgID8gJ21vek1hdGNoZXNTZWxlY3RvcidcbiAgICAgICAgOiAnb01hdGNoZXNTZWxlY3RvcicgaW4gRWxlbWVudC5wcm90b3R5cGVcbiAgICAgICAgICA/ICdvTWF0Y2hlc1NlbGVjdG9yJ1xuICAgICAgICAgIDogJ21zTWF0Y2hlc1NlbGVjdG9yJ1xuXG4gIGJyb3dzZXIucEV2ZW50VHlwZXMgPSAoYnJvd3Nlci5zdXBwb3J0c1BvaW50ZXJFdmVudFxuICAgID8gKGRvbU9iamVjdHMuUG9pbnRlckV2ZW50ID09PSB3aW5kb3cuTVNQb2ludGVyRXZlbnRcbiAgICAgID8ge1xuICAgICAgICB1cDogICAgICdNU1BvaW50ZXJVcCcsXG4gICAgICAgIGRvd246ICAgJ01TUG9pbnRlckRvd24nLFxuICAgICAgICBvdmVyOiAgICdtb3VzZW92ZXInLFxuICAgICAgICBvdXQ6ICAgICdtb3VzZW91dCcsXG4gICAgICAgIG1vdmU6ICAgJ01TUG9pbnRlck1vdmUnLFxuICAgICAgICBjYW5jZWw6ICdNU1BvaW50ZXJDYW5jZWwnLFxuICAgICAgfVxuICAgICAgOiB7XG4gICAgICAgIHVwOiAgICAgJ3BvaW50ZXJ1cCcsXG4gICAgICAgIGRvd246ICAgJ3BvaW50ZXJkb3duJyxcbiAgICAgICAgb3ZlcjogICAncG9pbnRlcm92ZXInLFxuICAgICAgICBvdXQ6ICAgICdwb2ludGVyb3V0JyxcbiAgICAgICAgbW92ZTogICAncG9pbnRlcm1vdmUnLFxuICAgICAgICBjYW5jZWw6ICdwb2ludGVyY2FuY2VsJyxcbiAgICAgIH0pXG4gICAgOiBudWxsKVxuXG4gIC8vIGJlY2F1c2UgV2Via2l0IGFuZCBPcGVyYSBzdGlsbCB1c2UgJ21vdXNld2hlZWwnIGV2ZW50IHR5cGVcbiAgYnJvd3Nlci53aGVlbEV2ZW50ID0gJ29ubW91c2V3aGVlbCcgaW4gZG9tT2JqZWN0cy5kb2N1bWVudCA/ICdtb3VzZXdoZWVsJyA6ICd3aGVlbCdcbn1cblxuZXhwb3J0IGRlZmF1bHQgYnJvd3NlclxuIl19
//# sourceMappingURL=browser.js.map

@@ -1,19 +0,20 @@

import * as arr from './arr';
import * as is from './is';
import * as arr from "./arr.js";
import * as is from "./is.js";
export default function clone(source) {
const dest = {};
for (const prop in source) {
const value = source[prop];
if (is.plainObject(value)) {
dest[prop] = clone(value);
}
else if (is.array(value)) {
dest[prop] = arr.from(value);
}
else {
dest[prop] = value;
}
const dest = {};
for (const prop in source) {
const value = source[prop];
if (is.plainObject(value)) {
dest[prop] = clone(value);
} else if (is.array(value)) {
dest[prop] = arr.from(value);
} else {
dest[prop] = value;
}
return dest;
}
return dest;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xvbmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJjbG9uZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssR0FBRyxNQUFNLE9BQU8sQ0FBQTtBQUM1QixPQUFPLEtBQUssRUFBRSxNQUFNLE1BQU0sQ0FBQTtBQUUxQixNQUFNLENBQUMsT0FBTyxVQUFVLEtBQUssQ0FBb0MsTUFBUztJQUN4RSxNQUFNLElBQUksR0FBRyxFQUFnQixDQUFBO0lBRTdCLEtBQUssTUFBTSxJQUFJLElBQUksTUFBTSxFQUFFO1FBQ3pCLE1BQU0sS0FBSyxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQTtRQUUxQixJQUFJLEVBQUUsQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLEVBQUU7WUFDekIsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQVEsQ0FBQTtTQUNqQzthQUNJLElBQUksRUFBRSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsRUFBRTtZQUN4QixJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsR0FBRyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQTtTQUM3QjthQUNJO1lBQ0gsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLEtBQUssQ0FBQTtTQUNuQjtLQUNGO0lBRUQsT0FBTyxJQUFJLENBQUE7QUFDYixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgYXJyIGZyb20gJy4vYXJyJ1xuaW1wb3J0ICogYXMgaXMgZnJvbSAnLi9pcydcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gY2xvbmU8VCBleHRlbmRzIHsgW2tleTogc3RyaW5nXTogYW55IH0+IChzb3VyY2U6IFQpOiBQYXJ0aWFsPFQ+IHtcbiAgY29uc3QgZGVzdCA9IHt9IGFzIFBhcnRpYWw8VD5cblxuICBmb3IgKGNvbnN0IHByb3AgaW4gc291cmNlKSB7XG4gICAgY29uc3QgdmFsdWUgPSBzb3VyY2VbcHJvcF1cblxuICAgIGlmIChpcy5wbGFpbk9iamVjdCh2YWx1ZSkpIHtcbiAgICAgIGRlc3RbcHJvcF0gPSBjbG9uZSh2YWx1ZSkgYXMgYW55XG4gICAgfVxuICAgIGVsc2UgaWYgKGlzLmFycmF5KHZhbHVlKSkge1xuICAgICAgZGVzdFtwcm9wXSA9IGFyci5mcm9tKHZhbHVlKVxuICAgIH1cbiAgICBlbHNlIHtcbiAgICAgIGRlc3RbcHJvcF0gPSB2YWx1ZVxuICAgIH1cbiAgfVxuXG4gIHJldHVybiBkZXN0XG59XG4iXX0=
//# sourceMappingURL=clone.js.map
const domObjects = {
init,
document: null,
DocumentFragment: null,
SVGElement: null,
SVGSVGElement: null,
// eslint-disable-next-line no-undef
SVGElementInstance: null,
Element: null,
HTMLElement: null,
Event: null,
Touch: null,
PointerEvent: null,
init,
document: null,
DocumentFragment: null,
SVGElement: null,
SVGSVGElement: null,
// eslint-disable-next-line no-undef
SVGElementInstance: null,
Element: null,
HTMLElement: null,
Event: null,
Touch: null,
PointerEvent: null
};
function blank() { }
function blank() {}
export default domObjects;
function init(window) {
const win = window;
domObjects.document = win.document;
domObjects.DocumentFragment = win.DocumentFragment || blank;
domObjects.SVGElement = win.SVGElement || blank;
domObjects.SVGSVGElement = win.SVGSVGElement || blank;
domObjects.SVGElementInstance = win.SVGElementInstance || blank;
domObjects.Element = win.Element || blank;
domObjects.HTMLElement = win.HTMLElement || domObjects.Element;
domObjects.Event = win.Event;
domObjects.Touch = win.Touch || blank;
domObjects.PointerEvent = (win.PointerEvent || win.MSPointerEvent);
const win = window;
domObjects.document = win.document;
domObjects.DocumentFragment = win.DocumentFragment || blank;
domObjects.SVGElement = win.SVGElement || blank;
domObjects.SVGSVGElement = win.SVGSVGElement || blank;
domObjects.SVGElementInstance = win.SVGElementInstance || blank;
domObjects.Element = win.Element || blank;
domObjects.HTMLElement = win.HTMLElement || domObjects.Element;
domObjects.Event = win.Event;
domObjects.Touch = win.Touch || blank;
domObjects.PointerEvent = win.PointerEvent || win.MSPointerEvent;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9tT2JqZWN0cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbImRvbU9iamVjdHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxVQUFVLEdBYWhCO0lBQ0UsSUFBSTtJQUNKLFFBQVEsRUFBRSxJQUFXO0lBQ3JCLGdCQUFnQixFQUFFLElBQVc7SUFDN0IsVUFBVSxFQUFFLElBQVc7SUFDdkIsYUFBYSxFQUFFLElBQVc7SUFDMUIsb0NBQW9DO0lBQ3BDLGtCQUFrQixFQUFFLElBQVc7SUFDL0IsT0FBTyxFQUFFLElBQVc7SUFDcEIsV0FBVyxFQUFFLElBQVc7SUFDeEIsS0FBSyxFQUFFLElBQVc7SUFDbEIsS0FBSyxFQUFFLElBQVc7SUFDbEIsWUFBWSxFQUFFLElBQVc7Q0FDMUIsQ0FBQTtBQUVELFNBQVMsS0FBSyxLQUFLLENBQUM7QUFFcEIsZUFBZSxVQUFVLENBQUE7QUFFekIsU0FBUyxJQUFJLENBQUUsTUFBYztJQUMzQixNQUFNLEdBQUcsR0FBRyxNQUFhLENBQUE7SUFFekIsVUFBVSxDQUFDLFFBQVEsR0FBYSxHQUFHLENBQUMsUUFBUSxDQUFBO0lBQzVDLFVBQVUsQ0FBQyxnQkFBZ0IsR0FBSyxHQUFHLENBQUMsZ0JBQWdCLElBQU0sS0FBSyxDQUFBO0lBQy9ELFVBQVUsQ0FBQyxVQUFVLEdBQVcsR0FBRyxDQUFDLFVBQVUsSUFBWSxLQUFLLENBQUE7SUFDL0QsVUFBVSxDQUFDLGFBQWEsR0FBUSxHQUFHLENBQUMsYUFBYSxJQUFTLEtBQUssQ0FBQTtJQUMvRCxVQUFVLENBQUMsa0JBQWtCLEdBQUcsR0FBRyxDQUFDLGtCQUFrQixJQUFJLEtBQUssQ0FBQTtJQUMvRCxVQUFVLENBQUMsT0FBTyxHQUFjLEdBQUcsQ0FBQyxPQUFPLElBQWUsS0FBSyxDQUFBO0lBQy9ELFVBQVUsQ0FBQyxXQUFXLEdBQVUsR0FBRyxDQUFDLFdBQVcsSUFBVyxVQUFVLENBQUMsT0FBTyxDQUFBO0lBRTVFLFVBQVUsQ0FBQyxLQUFLLEdBQVUsR0FBRyxDQUFDLEtBQUssQ0FBQTtJQUNuQyxVQUFVLENBQUMsS0FBSyxHQUFVLEdBQUcsQ0FBQyxLQUFLLElBQUksS0FBSyxDQUFBO0lBQzVDLFVBQVUsQ0FBQyxZQUFZLEdBQUcsQ0FBQyxHQUFHLENBQUMsWUFBWSxJQUFJLEdBQUcsQ0FBQyxjQUFjLENBQUMsQ0FBQTtBQUNwRSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiY29uc3QgZG9tT2JqZWN0czoge1xuICBpbml0OiBhbnlcbiAgZG9jdW1lbnQ6IERvY3VtZW50XG4gIERvY3VtZW50RnJhZ21lbnQ6IHR5cGVvZiBEb2N1bWVudEZyYWdtZW50XG4gIFNWR0VsZW1lbnQ6IHR5cGVvZiBTVkdFbGVtZW50XG4gIFNWR1NWR0VsZW1lbnQ6IHR5cGVvZiBTVkdTVkdFbGVtZW50XG4gIFNWR0VsZW1lbnRJbnN0YW5jZTogYW55XG4gIEVsZW1lbnQ6IHR5cGVvZiBFbGVtZW50XG4gIEhUTUxFbGVtZW50OiB0eXBlb2YgSFRNTEVsZW1lbnRcbiAgRXZlbnQ6IHR5cGVvZiBFdmVudFxuICBUb3VjaDogdHlwZW9mIFRvdWNoXG4gIFBvaW50ZXJFdmVudDogdHlwZW9mIFBvaW50ZXJFdmVudFxufSA9XG57XG4gIGluaXQsXG4gIGRvY3VtZW50OiBudWxsIGFzIGFueSxcbiAgRG9jdW1lbnRGcmFnbWVudDogbnVsbCBhcyBhbnksXG4gIFNWR0VsZW1lbnQ6IG51bGwgYXMgYW55LFxuICBTVkdTVkdFbGVtZW50OiBudWxsIGFzIGFueSxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXVuZGVmXG4gIFNWR0VsZW1lbnRJbnN0YW5jZTogbnVsbCBhcyBhbnksXG4gIEVsZW1lbnQ6IG51bGwgYXMgYW55LFxuICBIVE1MRWxlbWVudDogbnVsbCBhcyBhbnksXG4gIEV2ZW50OiBudWxsIGFzIGFueSxcbiAgVG91Y2g6IG51bGwgYXMgYW55LFxuICBQb2ludGVyRXZlbnQ6IG51bGwgYXMgYW55LFxufVxuXG5mdW5jdGlvbiBibGFuayAoKSB7fVxuXG5leHBvcnQgZGVmYXVsdCBkb21PYmplY3RzXG5cbmZ1bmN0aW9uIGluaXQgKHdpbmRvdzogV2luZG93KSB7XG4gIGNvbnN0IHdpbiA9IHdpbmRvdyBhcyBhbnlcblxuICBkb21PYmplY3RzLmRvY3VtZW50ICAgICAgICAgICA9IHdpbi5kb2N1bWVudFxuICBkb21PYmplY3RzLkRvY3VtZW50RnJhZ21lbnQgICA9IHdpbi5Eb2N1bWVudEZyYWdtZW50ICAgfHwgYmxhbmtcbiAgZG9tT2JqZWN0cy5TVkdFbGVtZW50ICAgICAgICAgPSB3aW4uU1ZHRWxlbWVudCAgICAgICAgIHx8IGJsYW5rXG4gIGRvbU9iamVjdHMuU1ZHU1ZHRWxlbWVudCAgICAgID0gd2luLlNWR1NWR0VsZW1lbnQgICAgICB8fCBibGFua1xuICBkb21PYmplY3RzLlNWR0VsZW1lbnRJbnN0YW5jZSA9IHdpbi5TVkdFbGVtZW50SW5zdGFuY2UgfHwgYmxhbmtcbiAgZG9tT2JqZWN0cy5FbGVtZW50ICAgICAgICAgICAgPSB3aW4uRWxlbWVudCAgICAgICAgICAgIHx8IGJsYW5rXG4gIGRvbU9iamVjdHMuSFRNTEVsZW1lbnQgICAgICAgID0gd2luLkhUTUxFbGVtZW50ICAgICAgICB8fCBkb21PYmplY3RzLkVsZW1lbnRcblxuICBkb21PYmplY3RzLkV2ZW50ICAgICAgICA9IHdpbi5FdmVudFxuICBkb21PYmplY3RzLlRvdWNoICAgICAgICA9IHdpbi5Ub3VjaCB8fCBibGFua1xuICBkb21PYmplY3RzLlBvaW50ZXJFdmVudCA9ICh3aW4uUG9pbnRlckV2ZW50IHx8IHdpbi5NU1BvaW50ZXJFdmVudClcbn1cbiJdfQ==
//# sourceMappingURL=domObjects.js.map

@@ -1,2 +0,2 @@

export declare function nodeContains(parent: Node, child: Node): boolean;
export declare function nodeContains(parent: Node | Interact.EventTarget, child: Node | Interact.EventTarget): boolean;
export declare function closest(element: any, selector: any): import("../types/types").Element;

@@ -3,0 +3,0 @@ export declare function parentNode(node: any): any;

@@ -1,200 +0,222 @@

import browser from './browser';
import domObjects from './domObjects';
import * as is from './is';
import win, { getWindow } from './window';
import browser from "./browser.js";
import domObjects from "./domObjects.js";
import * as is from "./is.js";
import win, { getWindow } from "./window.js";
export function nodeContains(parent, child) {
while (child) {
if (child === parent) {
return true;
}
child = child.parentNode;
while (child) {
if (child === parent) {
return true;
}
return false;
child = child.parentNode;
}
return false;
}
export function closest(element, selector) {
while (is.element(element)) {
if (matchesSelector(element, selector)) {
return element;
}
element = parentNode(element);
while (is.element(element)) {
if (matchesSelector(element, selector)) {
return element;
}
return null;
element = parentNode(element);
}
return null;
}
export function parentNode(node) {
let parent = node.parentNode;
if (is.docFrag(parent)) {
// skip past #shado-root fragments
// tslint:disable-next-line
while ((parent = parent.host) && is.docFrag(parent)) {
continue;
}
return parent;
let parent = node.parentNode;
if (is.docFrag(parent)) {
// skip past #shado-root fragments
// tslint:disable-next-line
while ((parent = parent.host) && is.docFrag(parent)) {
continue;
}
return parent;
}
return parent;
}
export function matchesSelector(element, selector) {
// remove /deep/ from selectors if shadowDOM polyfill is used
if (win.window !== win.realWindow) {
selector = selector.replace(/\/deep\//g, ' ');
}
return element[browser.prefixedMatchesSelector](selector);
// remove /deep/ from selectors if shadowDOM polyfill is used
if (win.window !== win.realWindow) {
selector = selector.replace(/\/deep\//g, ' ');
}
return element[browser.prefixedMatchesSelector](selector);
}
const getParent = el => el.parentNode ? el.parentNode : el.host;
// Test for the element that's "above" all other qualifiers
const getParent = el => el.parentNode ? el.parentNode : el.host; // Test for the element that's "above" all other qualifiers
export function indexOfDeepestElement(elements) {
let deepestZoneParents = [];
let deepestZone = elements[0];
let index = deepestZone ? 0 : -1;
let i;
let n;
for (i = 1; i < elements.length; i++) {
const dropzone = elements[i];
// an element might belong to multiple selector dropzones
if (!dropzone || dropzone === deepestZone) {
continue;
}
if (!deepestZone) {
deepestZone = dropzone;
index = i;
continue;
}
// check if the deepest or current are document.documentElement or document.rootElement
// - if the current dropzone is, do nothing and continue
if (dropzone.parentNode === dropzone.ownerDocument) {
continue;
}
// - if deepest is, update with the current dropzone and continue to next
else if (deepestZone.parentNode === dropzone.ownerDocument) {
deepestZone = dropzone;
index = i;
continue;
}
// compare zIndex of siblings
if (dropzone.parentNode === deepestZone.parentNode) {
const deepestZIndex = parseInt(getWindow(deepestZone).getComputedStyle(deepestZone).zIndex, 10) || 0;
const dropzoneZIndex = parseInt(getWindow(dropzone).getComputedStyle(dropzone).zIndex, 10) || 0;
if (dropzoneZIndex >= deepestZIndex) {
deepestZone = dropzone;
index = i;
}
continue;
}
// populate the ancestry array for the latest deepest dropzone
if (!deepestZoneParents.length) {
let parent = deepestZone;
let parentParent;
while ((parentParent = getParent(parent)) && parentParent !== parent.ownerDocument) {
deepestZoneParents.unshift(parent);
parent = parentParent;
}
}
let parent;
// if this element is an svg element and the current deepest is an
// HTMLElement
if (deepestZone instanceof domObjects.HTMLElement &&
dropzone instanceof domObjects.SVGElement &&
!(dropzone instanceof domObjects.SVGSVGElement)) {
if (dropzone === deepestZone.parentNode) {
continue;
}
parent = dropzone.ownerSVGElement;
}
else {
parent = dropzone;
}
const dropzoneParents = [];
while (parent.parentNode !== parent.ownerDocument) {
dropzoneParents.unshift(parent);
parent = getParent(parent);
}
n = 0;
// get (position of last common ancestor) + 1
while (dropzoneParents[n] && dropzoneParents[n] === deepestZoneParents[n]) {
n++;
}
const parents = [
dropzoneParents[n - 1],
dropzoneParents[n],
deepestZoneParents[n],
];
let child = parents[0].lastChild;
while (child) {
if (child === parents[1]) {
deepestZone = dropzone;
index = i;
deepestZoneParents = dropzoneParents;
break;
}
else if (child === parents[2]) {
break;
}
child = child.previousSibling;
}
let deepestZoneParents = [];
let deepestZone = elements[0];
let index = deepestZone ? 0 : -1;
let i;
let n;
for (i = 1; i < elements.length; i++) {
const dropzone = elements[i]; // an element might belong to multiple selector dropzones
if (!dropzone || dropzone === deepestZone) {
continue;
}
return index;
if (!deepestZone) {
deepestZone = dropzone;
index = i;
continue;
} // check if the deepest or current are document.documentElement or document.rootElement
// - if the current dropzone is, do nothing and continue
if (dropzone.parentNode === dropzone.ownerDocument) {
continue;
} // - if deepest is, update with the current dropzone and continue to next
else if (deepestZone.parentNode === dropzone.ownerDocument) {
deepestZone = dropzone;
index = i;
continue;
} // compare zIndex of siblings
if (dropzone.parentNode === deepestZone.parentNode) {
const deepestZIndex = parseInt(getWindow(deepestZone).getComputedStyle(deepestZone).zIndex, 10) || 0;
const dropzoneZIndex = parseInt(getWindow(dropzone).getComputedStyle(dropzone).zIndex, 10) || 0;
if (dropzoneZIndex >= deepestZIndex) {
deepestZone = dropzone;
index = i;
}
continue;
} // populate the ancestry array for the latest deepest dropzone
if (!deepestZoneParents.length) {
let parent = deepestZone;
let parentParent;
while ((parentParent = getParent(parent)) && parentParent !== parent.ownerDocument) {
deepestZoneParents.unshift(parent);
parent = parentParent;
}
}
let parent; // if this element is an svg element and the current deepest is an
// HTMLElement
if (deepestZone instanceof domObjects.HTMLElement && dropzone instanceof domObjects.SVGElement && !(dropzone instanceof domObjects.SVGSVGElement)) {
if (dropzone === deepestZone.parentNode) {
continue;
}
parent = dropzone.ownerSVGElement;
} else {
parent = dropzone;
}
const dropzoneParents = [];
while (parent.parentNode !== parent.ownerDocument) {
dropzoneParents.unshift(parent);
parent = getParent(parent);
}
n = 0; // get (position of last common ancestor) + 1
while (dropzoneParents[n] && dropzoneParents[n] === deepestZoneParents[n]) {
n++;
}
const parents = [dropzoneParents[n - 1], dropzoneParents[n], deepestZoneParents[n]];
let child = parents[0].lastChild;
while (child) {
if (child === parents[1]) {
deepestZone = dropzone;
index = i;
deepestZoneParents = dropzoneParents;
break;
} else if (child === parents[2]) {
break;
}
child = child.previousSibling;
}
}
return index;
}
export function matchesUpTo(element, selector, limit) {
while (is.element(element)) {
if (matchesSelector(element, selector)) {
return true;
}
element = parentNode(element);
if (element === limit) {
return matchesSelector(element, selector);
}
while (is.element(element)) {
if (matchesSelector(element, selector)) {
return true;
}
return false;
element = parentNode(element);
if (element === limit) {
return matchesSelector(element, selector);
}
}
return false;
}
export function getActualElement(element) {
return (element instanceof domObjects.SVGElementInstance
? element.correspondingUseElement
: element);
return element instanceof domObjects.SVGElementInstance ? element.correspondingUseElement : element;
}
export function getScrollXY(relevantWindow) {
relevantWindow = relevantWindow || win.window;
return {
x: relevantWindow.scrollX || relevantWindow.document.documentElement.scrollLeft,
y: relevantWindow.scrollY || relevantWindow.document.documentElement.scrollTop,
};
relevantWindow = relevantWindow || win.window;
return {
x: relevantWindow.scrollX || relevantWindow.document.documentElement.scrollLeft,
y: relevantWindow.scrollY || relevantWindow.document.documentElement.scrollTop
};
}
export function getElementClientRect(element) {
const clientRect = (element instanceof domObjects.SVGElement
? element.getBoundingClientRect()
: element.getClientRects()[0]);
return clientRect && {
left: clientRect.left,
right: clientRect.right,
top: clientRect.top,
bottom: clientRect.bottom,
width: clientRect.width || clientRect.right - clientRect.left,
height: clientRect.height || clientRect.bottom - clientRect.top,
};
const clientRect = element instanceof domObjects.SVGElement ? element.getBoundingClientRect() : element.getClientRects()[0];
return clientRect && {
left: clientRect.left,
right: clientRect.right,
top: clientRect.top,
bottom: clientRect.bottom,
width: clientRect.width || clientRect.right - clientRect.left,
height: clientRect.height || clientRect.bottom - clientRect.top
};
}
export function getElementRect(element) {
const clientRect = getElementClientRect(element);
if (!browser.isIOS7 && clientRect) {
const scroll = getScrollXY(win.getWindow(element));
clientRect.left += scroll.x;
clientRect.right += scroll.x;
clientRect.top += scroll.y;
clientRect.bottom += scroll.y;
}
return clientRect;
const clientRect = getElementClientRect(element);
if (!browser.isIOS7 && clientRect) {
const scroll = getScrollXY(win.getWindow(element));
clientRect.left += scroll.x;
clientRect.right += scroll.x;
clientRect.top += scroll.y;
clientRect.bottom += scroll.y;
}
return clientRect;
}
export function getPath(node) {
const path = [];
while (node) {
path.push(node);
node = parentNode(node);
}
return path;
const path = [];
while (node) {
path.push(node);
node = parentNode(node);
}
return path;
}
export function trySelector(value) {
if (!is.string(value)) {
return false;
}
// an exception will be raised if it is invalid
domObjects.document.querySelector(value);
return true;
if (!is.string(value)) {
return false;
} // an exception will be raised if it is invalid
domObjects.document.querySelector(value);
return true;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9tVXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJkb21VdGlscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLE9BQU8sTUFBTSxXQUFXLENBQUE7QUFDL0IsT0FBTyxVQUFVLE1BQU0sY0FBYyxDQUFBO0FBQ3JDLE9BQU8sS0FBSyxFQUFFLE1BQU0sTUFBTSxDQUFBO0FBQzFCLE9BQU8sR0FBRyxFQUFFLEVBQUUsU0FBUyxFQUFFLE1BQU0sVUFBVSxDQUFBO0FBRXpDLE1BQU0sVUFBVSxZQUFZLENBQUUsTUFBWSxFQUFFLEtBQVc7SUFDckQsT0FBTyxLQUFLLEVBQUU7UUFDWixJQUFJLEtBQUssS0FBSyxNQUFNLEVBQUU7WUFDcEIsT0FBTyxJQUFJLENBQUE7U0FDWjtRQUVELEtBQUssR0FBRyxLQUFLLENBQUMsVUFBVSxDQUFBO0tBQ3pCO0lBRUQsT0FBTyxLQUFLLENBQUE7QUFDZCxDQUFDO0FBRUQsTUFBTSxVQUFVLE9BQU8sQ0FBRSxPQUFPLEVBQUUsUUFBUTtJQUN4QyxPQUFPLEVBQUUsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLEVBQUU7UUFDMUIsSUFBSSxlQUFlLENBQUMsT0FBTyxFQUFFLFFBQVEsQ0FBQyxFQUFFO1lBQUUsT0FBTyxPQUFPLENBQUE7U0FBRTtRQUUxRCxPQUFPLEdBQUcsVUFBVSxDQUFDLE9BQU8sQ0FBQyxDQUFBO0tBQzlCO0lBRUQsT0FBTyxJQUFJLENBQUE7QUFDYixDQUFDO0FBRUQsTUFBTSxVQUFVLFVBQVUsQ0FBRSxJQUFJO0lBQzlCLElBQUksTUFBTSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUE7SUFFNUIsSUFBSSxFQUFFLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxFQUFFO1FBQ3RCLGtDQUFrQztRQUNsQywyQkFBMkI7UUFDM0IsT0FBTyxDQUFDLE1BQU0sR0FBSSxNQUFjLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsRUFBRTtZQUM1RCxTQUFRO1NBQ1Q7UUFFRCxPQUFPLE1BQU0sQ0FBQTtLQUNkO0lBRUQsT0FBTyxNQUFNLENBQUE7QUFDZixDQUFDO0FBRUQsTUFBTSxVQUFVLGVBQWUsQ0FBRSxPQUFPLEVBQUUsUUFBUTtJQUNoRCw2REFBNkQ7SUFDN0QsSUFBSSxHQUFHLENBQUMsTUFBTSxLQUFLLEdBQUcsQ0FBQyxVQUFVLEVBQUU7UUFDakMsUUFBUSxHQUFHLFFBQVEsQ0FBQyxPQUFPLENBQUMsV0FBVyxFQUFFLEdBQUcsQ0FBQyxDQUFBO0tBQzlDO0lBRUQsT0FBTyxPQUFPLENBQUMsT0FBTyxDQUFDLHVCQUF1QixDQUFDLENBQUMsUUFBUSxDQUFDLENBQUE7QUFDM0QsQ0FBQztBQUVELE1BQU0sU0FBUyxHQUFHLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQTtBQUUvRCwyREFBMkQ7QUFDM0QsTUFBTSxVQUFVLHFCQUFxQixDQUFFLFFBQWtEO0lBQ3ZGLElBQUksa0JBQWtCLEdBQUcsRUFBRSxDQUFBO0lBQzNCLElBQUksV0FBVyxHQUFHLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQTtJQUM3QixJQUFJLEtBQUssR0FBRyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUE7SUFDaEMsSUFBSSxDQUFDLENBQUE7SUFDTCxJQUFJLENBQUMsQ0FBQTtJQUVMLEtBQUssQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsUUFBUSxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFBRTtRQUNwQyxNQUFNLFFBQVEsR0FBRyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUE7UUFFNUIseURBQXlEO1FBQ3pELElBQUksQ0FBQyxRQUFRLElBQUksUUFBUSxLQUFLLFdBQVcsRUFBRTtZQUN6QyxTQUFRO1NBQ1Q7UUFFRCxJQUFJLENBQUMsV0FBVyxFQUFFO1lBQ2hCLFdBQVcsR0FBRyxRQUFRLENBQUE7WUFDdEIsS0FBSyxHQUFHLENBQUMsQ0FBQTtZQUNULFNBQVE7U0FDVDtRQUVELHVGQUF1RjtRQUN2Rix3REFBd0Q7UUFDeEQsSUFBSSxRQUFRLENBQUMsVUFBVSxLQUFLLFFBQVEsQ0FBQyxhQUFhLEVBQUU7WUFDbEQsU0FBUTtTQUNUO1FBQ0QseUVBQXlFO2FBQ3BFLElBQUksV0FBVyxDQUFDLFVBQVUsS0FBSyxRQUFRLENBQUMsYUFBYSxFQUFFO1lBQzFELFdBQVcsR0FBRyxRQUFRLENBQUE7WUFDdEIsS0FBSyxHQUFHLENBQUMsQ0FBQTtZQUNULFNBQVE7U0FDVDtRQUVELDZCQUE2QjtRQUM3QixJQUFJLFFBQVEsQ0FBQyxVQUFVLEtBQUssV0FBVyxDQUFDLFVBQVUsRUFBRTtZQUNsRCxNQUFNLGFBQWEsR0FBRyxRQUFRLENBQUMsU0FBUyxDQUFDLFdBQVcsQ0FBQyxDQUFDLGdCQUFnQixDQUFDLFdBQVcsQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUE7WUFDcEcsTUFBTSxjQUFjLEdBQUcsUUFBUSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQyxRQUFRLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFBO1lBRS9GLElBQUksY0FBYyxJQUFJLGFBQWEsRUFBRTtnQkFDbkMsV0FBVyxHQUFHLFFBQVEsQ0FBQTtnQkFDdEIsS0FBSyxHQUFHLENBQUMsQ0FBQTthQUNWO1lBRUQsU0FBUTtTQUNUO1FBRUQsOERBQThEO1FBQzlELElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxNQUFNLEVBQUU7WUFDOUIsSUFBSSxNQUFNLEdBQUcsV0FBVyxDQUFBO1lBQ3hCLElBQUksWUFBWSxDQUFBO1lBRWhCLE9BQU8sQ0FBQyxZQUFZLEdBQUcsU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFDLElBQUksWUFBWSxLQUFLLE1BQU0sQ0FBQyxhQUFhLEVBQUU7Z0JBQ2xGLGtCQUFrQixDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQTtnQkFDbEMsTUFBTSxHQUFHLFlBQVksQ0FBQTthQUN0QjtTQUNGO1FBRUQsSUFBSSxNQUFNLENBQUE7UUFFVixrRUFBa0U7UUFDbEUsY0FBYztRQUNkLElBQUksV0FBVyxZQUFZLFVBQVUsQ0FBQyxXQUFXO1lBQzdDLFFBQVEsWUFBWSxVQUFVLENBQUMsVUFBVTtZQUN6QyxDQUFDLENBQUMsUUFBUSxZQUFZLFVBQVUsQ0FBQyxhQUFhLENBQUMsRUFBRTtZQUNuRCxJQUFJLFFBQVEsS0FBSyxXQUFXLENBQUMsVUFBVSxFQUFFO2dCQUN2QyxTQUFRO2FBQ1Q7WUFFRCxNQUFNLEdBQUcsUUFBUSxDQUFDLGVBQWUsQ0FBQTtTQUNsQzthQUNJO1lBQ0gsTUFBTSxHQUFHLFFBQVEsQ0FBQTtTQUNsQjtRQUVELE1BQU0sZUFBZSxHQUFHLEVBQUUsQ0FBQTtRQUUxQixPQUFPLE1BQU0sQ0FBQyxVQUFVLEtBQUssTUFBTSxDQUFDLGFBQWEsRUFBRTtZQUNqRCxlQUFlLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFBO1lBQy9CLE1BQU0sR0FBRyxTQUFTLENBQUMsTUFBTSxDQUFDLENBQUE7U0FDM0I7UUFFRCxDQUFDLEdBQUcsQ0FBQyxDQUFBO1FBRUwsNkNBQTZDO1FBQzdDLE9BQU8sZUFBZSxDQUFDLENBQUMsQ0FBQyxJQUFJLGVBQWUsQ0FBQyxDQUFDLENBQUMsS0FBSyxrQkFBa0IsQ0FBQyxDQUFDLENBQUMsRUFBRTtZQUN6RSxDQUFDLEVBQUUsQ0FBQTtTQUNKO1FBRUQsTUFBTSxPQUFPLEdBQUc7WUFDZCxlQUFlLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUN0QixlQUFlLENBQUMsQ0FBQyxDQUFDO1lBQ2xCLGtCQUFrQixDQUFDLENBQUMsQ0FBQztTQUN0QixDQUFBO1FBRUQsSUFBSSxLQUFLLEdBQUcsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQTtRQUVoQyxPQUFPLEtBQUssRUFBRTtZQUNaLElBQUksS0FBSyxLQUFLLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRTtnQkFDeEIsV0FBVyxHQUFHLFFBQVEsQ0FBQTtnQkFDdEIsS0FBSyxHQUFHLENBQUMsQ0FBQTtnQkFDVCxrQkFBa0IsR0FBRyxlQUFlLENBQUE7Z0JBRXBDLE1BQUs7YUFDTjtpQkFDSSxJQUFJLEtBQUssS0FBSyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUU7Z0JBQzdCLE1BQUs7YUFDTjtZQUVELEtBQUssR0FBRyxLQUFLLENBQUMsZUFBZSxDQUFBO1NBQzlCO0tBQ0Y7SUFFRCxPQUFPLEtBQUssQ0FBQTtBQUNkLENBQUM7QUFFRCxNQUFNLFVBQVUsV0FBVyxDQUFFLE9BQXlCLEVBQUUsUUFBZ0IsRUFBRSxLQUFXO0lBQ25GLE9BQU8sRUFBRSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsRUFBRTtRQUMxQixJQUFJLGVBQWUsQ0FBQyxPQUFPLEVBQUUsUUFBUSxDQUFDLEVBQUU7WUFDdEMsT0FBTyxJQUFJLENBQUE7U0FDWjtRQUVELE9BQU8sR0FBRyxVQUFVLENBQUMsT0FBTyxDQUFDLENBQUE7UUFFN0IsSUFBSSxPQUFPLEtBQUssS0FBSyxFQUFFO1lBQ3JCLE9BQU8sZUFBZSxDQUFDLE9BQU8sRUFBRSxRQUFRLENBQUMsQ0FBQTtTQUMxQztLQUNGO0lBRUQsT0FBTyxLQUFLLENBQUE7QUFDZCxDQUFDO0FBRUQsTUFBTSxVQUFVLGdCQUFnQixDQUFFLE9BQU87SUFDdkMsT0FBTyxDQUFDLE9BQU8sWUFBWSxVQUFVLENBQUMsa0JBQWtCO1FBQ3RELENBQUMsQ0FBQyxPQUFPLENBQUMsdUJBQXVCO1FBQ2pDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQTtBQUNkLENBQUM7QUFFRCxNQUFNLFVBQVUsV0FBVyxDQUFFLGNBQWM7SUFDekMsY0FBYyxHQUFHLGNBQWMsSUFBSSxHQUFHLENBQUMsTUFBTSxDQUFBO0lBQzdDLE9BQU87UUFDTCxDQUFDLEVBQUUsY0FBYyxDQUFDLE9BQU8sSUFBSSxjQUFjLENBQUMsUUFBUSxDQUFDLGVBQWUsQ0FBQyxVQUFVO1FBQy9FLENBQUMsRUFBRSxjQUFjLENBQUMsT0FBTyxJQUFJLGNBQWMsQ0FBQyxRQUFRLENBQUMsZUFBZSxDQUFDLFNBQVM7S0FDL0UsQ0FBQTtBQUNILENBQUM7QUFFRCxNQUFNLFVBQVUsb0JBQW9CLENBQUUsT0FBTztJQUMzQyxNQUFNLFVBQVUsR0FBRyxDQUFDLE9BQU8sWUFBWSxVQUFVLENBQUMsVUFBVTtRQUMxRCxDQUFDLENBQUMsT0FBTyxDQUFDLHFCQUFxQixFQUFFO1FBQ2pDLENBQUMsQ0FBQyxPQUFPLENBQUMsY0FBYyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQTtJQUVoQyxPQUFPLFVBQVUsSUFBSTtRQUNuQixJQUFJLEVBQUksVUFBVSxDQUFDLElBQUk7UUFDdkIsS0FBSyxFQUFHLFVBQVUsQ0FBQyxLQUFLO1FBQ3hCLEdBQUcsRUFBSyxVQUFVLENBQUMsR0FBRztRQUN0QixNQUFNLEVBQUUsVUFBVSxDQUFDLE1BQU07UUFDekIsS0FBSyxFQUFHLFVBQVUsQ0FBQyxLQUFLLElBQUssVUFBVSxDQUFDLEtBQUssR0FBSSxVQUFVLENBQUMsSUFBSTtRQUNoRSxNQUFNLEVBQUUsVUFBVSxDQUFDLE1BQU0sSUFBSSxVQUFVLENBQUMsTUFBTSxHQUFHLFVBQVUsQ0FBQyxHQUFHO0tBQ2hFLENBQUE7QUFDSCxDQUFDO0FBRUQsTUFBTSxVQUFVLGNBQWMsQ0FBRSxPQUFPO0lBQ3JDLE1BQU0sVUFBVSxHQUFHLG9CQUFvQixDQUFDLE9BQU8sQ0FBQyxDQUFBO0lBRWhELElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxJQUFJLFVBQVUsRUFBRTtRQUNqQyxNQUFNLE1BQU0sR0FBRyxXQUFXLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFBO1FBRWxELFVBQVUsQ0FBQyxJQUFJLElBQU0sTUFBTSxDQUFDLENBQUMsQ0FBQTtRQUM3QixVQUFVLENBQUMsS0FBSyxJQUFLLE1BQU0sQ0FBQyxDQUFDLENBQUE7UUFDN0IsVUFBVSxDQUFDLEdBQUcsSUFBTyxNQUFNLENBQUMsQ0FBQyxDQUFBO1FBQzdCLFVBQVUsQ0FBQyxNQUFNLElBQUksTUFBTSxDQUFDLENBQUMsQ0FBQTtLQUM5QjtJQUVELE9BQU8sVUFBVSxDQUFBO0FBQ25CLENBQUM7QUFFRCxNQUFNLFVBQVUsT0FBTyxDQUFFLElBQUk7SUFDM0IsTUFBTSxJQUFJLEdBQUcsRUFBRSxDQUFBO0lBRWYsT0FBTyxJQUFJLEVBQUU7UUFDWCxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFBO1FBQ2YsSUFBSSxHQUFHLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQTtLQUN4QjtJQUVELE9BQU8sSUFBSSxDQUFBO0FBQ2IsQ0FBQztBQUVELE1BQU0sVUFBVSxXQUFXLENBQUUsS0FBSztJQUNoQyxJQUFJLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsRUFBRTtRQUFFLE9BQU8sS0FBSyxDQUFBO0tBQUU7SUFFdkMsK0NBQStDO0lBQy9DLFVBQVUsQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxDQUFBO0lBQ3hDLE9BQU8sSUFBSSxDQUFBO0FBQ2IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBicm93c2VyIGZyb20gJy4vYnJvd3NlcidcbmltcG9ydCBkb21PYmplY3RzIGZyb20gJy4vZG9tT2JqZWN0cydcbmltcG9ydCAqIGFzIGlzIGZyb20gJy4vaXMnXG5pbXBvcnQgd2luLCB7IGdldFdpbmRvdyB9IGZyb20gJy4vd2luZG93J1xuXG5leHBvcnQgZnVuY3Rpb24gbm9kZUNvbnRhaW5zIChwYXJlbnQ6IE5vZGUsIGNoaWxkOiBOb2RlKSB7XG4gIHdoaWxlIChjaGlsZCkge1xuICAgIGlmIChjaGlsZCA9PT0gcGFyZW50KSB7XG4gICAgICByZXR1cm4gdHJ1ZVxuICAgIH1cblxuICAgIGNoaWxkID0gY2hpbGQucGFyZW50Tm9kZVxuICB9XG5cbiAgcmV0dXJuIGZhbHNlXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjbG9zZXN0IChlbGVtZW50LCBzZWxlY3Rvcikge1xuICB3aGlsZSAoaXMuZWxlbWVudChlbGVtZW50KSkge1xuICAgIGlmIChtYXRjaGVzU2VsZWN0b3IoZWxlbWVudCwgc2VsZWN0b3IpKSB7IHJldHVybiBlbGVtZW50IH1cblxuICAgIGVsZW1lbnQgPSBwYXJlbnROb2RlKGVsZW1lbnQpXG4gIH1cblxuICByZXR1cm4gbnVsbFxufVxuXG5leHBvcnQgZnVuY3Rpb24gcGFyZW50Tm9kZSAobm9kZSkge1xuICBsZXQgcGFyZW50ID0gbm9kZS5wYXJlbnROb2RlXG5cbiAgaWYgKGlzLmRvY0ZyYWcocGFyZW50KSkge1xuICAgIC8vIHNraXAgcGFzdCAjc2hhZG8tcm9vdCBmcmFnbWVudHNcbiAgICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmVcbiAgICB3aGlsZSAoKHBhcmVudCA9IChwYXJlbnQgYXMgYW55KS5ob3N0KSAmJiBpcy5kb2NGcmFnKHBhcmVudCkpIHtcbiAgICAgIGNvbnRpbnVlXG4gICAgfVxuXG4gICAgcmV0dXJuIHBhcmVudFxuICB9XG5cbiAgcmV0dXJuIHBhcmVudFxufVxuXG5leHBvcnQgZnVuY3Rpb24gbWF0Y2hlc1NlbGVjdG9yIChlbGVtZW50LCBzZWxlY3Rvcikge1xuICAvLyByZW1vdmUgL2RlZXAvIGZyb20gc2VsZWN0b3JzIGlmIHNoYWRvd0RPTSBwb2x5ZmlsbCBpcyB1c2VkXG4gIGlmICh3aW4ud2luZG93ICE9PSB3aW4ucmVhbFdpbmRvdykge1xuICAgIHNlbGVjdG9yID0gc2VsZWN0b3IucmVwbGFjZSgvXFwvZGVlcFxcLy9nLCAnICcpXG4gIH1cblxuICByZXR1cm4gZWxlbWVudFticm93c2VyLnByZWZpeGVkTWF0Y2hlc1NlbGVjdG9yXShzZWxlY3Rvcilcbn1cblxuY29uc3QgZ2V0UGFyZW50ID0gZWwgPT4gZWwucGFyZW50Tm9kZSA/IGVsLnBhcmVudE5vZGUgOiBlbC5ob3N0XG5cbi8vIFRlc3QgZm9yIHRoZSBlbGVtZW50IHRoYXQncyBcImFib3ZlXCIgYWxsIG90aGVyIHF1YWxpZmllcnNcbmV4cG9ydCBmdW5jdGlvbiBpbmRleE9mRGVlcGVzdEVsZW1lbnQgKGVsZW1lbnRzOiBJbnRlcmFjdC5FbGVtZW50W10gfCBOb2RlTGlzdE9mPEVsZW1lbnQ+KSB7XG4gIGxldCBkZWVwZXN0Wm9uZVBhcmVudHMgPSBbXVxuICBsZXQgZGVlcGVzdFpvbmUgPSBlbGVtZW50c1swXVxuICBsZXQgaW5kZXggPSBkZWVwZXN0Wm9uZSA/IDAgOiAtMVxuICBsZXQgaVxuICBsZXQgblxuXG4gIGZvciAoaSA9IDE7IGkgPCBlbGVtZW50cy5sZW5ndGg7IGkrKykge1xuICAgIGNvbnN0IGRyb3B6b25lID0gZWxlbWVudHNbaV1cblxuICAgIC8vIGFuIGVsZW1lbnQgbWlnaHQgYmVsb25nIHRvIG11bHRpcGxlIHNlbGVjdG9yIGRyb3B6b25lc1xuICAgIGlmICghZHJvcHpvbmUgfHwgZHJvcHpvbmUgPT09IGRlZXBlc3Rab25lKSB7XG4gICAgICBjb250aW51ZVxuICAgIH1cblxuICAgIGlmICghZGVlcGVzdFpvbmUpIHtcbiAgICAgIGRlZXBlc3Rab25lID0gZHJvcHpvbmVcbiAgICAgIGluZGV4ID0gaVxuICAgICAgY29udGludWVcbiAgICB9XG5cbiAgICAvLyBjaGVjayBpZiB0aGUgZGVlcGVzdCBvciBjdXJyZW50IGFyZSBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQgb3IgZG9jdW1lbnQucm9vdEVsZW1lbnRcbiAgICAvLyAtIGlmIHRoZSBjdXJyZW50IGRyb3B6b25lIGlzLCBkbyBub3RoaW5nIGFuZCBjb250aW51ZVxuICAgIGlmIChkcm9wem9uZS5wYXJlbnROb2RlID09PSBkcm9wem9uZS5vd25lckRvY3VtZW50KSB7XG4gICAgICBjb250aW51ZVxuICAgIH1cbiAgICAvLyAtIGlmIGRlZXBlc3QgaXMsIHVwZGF0ZSB3aXRoIHRoZSBjdXJyZW50IGRyb3B6b25lIGFuZCBjb250aW51ZSB0byBuZXh0XG4gICAgZWxzZSBpZiAoZGVlcGVzdFpvbmUucGFyZW50Tm9kZSA9PT0gZHJvcHpvbmUub3duZXJEb2N1bWVudCkge1xuICAgICAgZGVlcGVzdFpvbmUgPSBkcm9wem9uZVxuICAgICAgaW5kZXggPSBpXG4gICAgICBjb250aW51ZVxuICAgIH1cblxuICAgIC8vIGNvbXBhcmUgekluZGV4IG9mIHNpYmxpbmdzXG4gICAgaWYgKGRyb3B6b25lLnBhcmVudE5vZGUgPT09IGRlZXBlc3Rab25lLnBhcmVudE5vZGUpIHtcbiAgICAgIGNvbnN0IGRlZXBlc3RaSW5kZXggPSBwYXJzZUludChnZXRXaW5kb3coZGVlcGVzdFpvbmUpLmdldENvbXB1dGVkU3R5bGUoZGVlcGVzdFpvbmUpLnpJbmRleCwgMTApIHx8IDBcbiAgICAgIGNvbnN0IGRyb3B6b25lWkluZGV4ID0gcGFyc2VJbnQoZ2V0V2luZG93KGRyb3B6b25lKS5nZXRDb21wdXRlZFN0eWxlKGRyb3B6b25lKS56SW5kZXgsIDEwKSB8fCAwXG5cbiAgICAgIGlmIChkcm9wem9uZVpJbmRleCA+PSBkZWVwZXN0WkluZGV4KSB7XG4gICAgICAgIGRlZXBlc3Rab25lID0gZHJvcHpvbmVcbiAgICAgICAgaW5kZXggPSBpXG4gICAgICB9XG5cbiAgICAgIGNvbnRpbnVlXG4gICAgfVxuXG4gICAgLy8gcG9wdWxhdGUgdGhlIGFuY2VzdHJ5IGFycmF5IGZvciB0aGUgbGF0ZXN0IGRlZXBlc3QgZHJvcHpvbmVcbiAgICBpZiAoIWRlZXBlc3Rab25lUGFyZW50cy5sZW5ndGgpIHtcbiAgICAgIGxldCBwYXJlbnQgPSBkZWVwZXN0Wm9uZVxuICAgICAgbGV0IHBhcmVudFBhcmVudFxuXG4gICAgICB3aGlsZSAoKHBhcmVudFBhcmVudCA9IGdldFBhcmVudChwYXJlbnQpKSAmJiBwYXJlbnRQYXJlbnQgIT09IHBhcmVudC5vd25lckRvY3VtZW50KSB7XG4gICAgICAgIGRlZXBlc3Rab25lUGFyZW50cy51bnNoaWZ0KHBhcmVudClcbiAgICAgICAgcGFyZW50ID0gcGFyZW50UGFyZW50XG4gICAgICB9XG4gICAgfVxuXG4gICAgbGV0IHBhcmVudFxuXG4gICAgLy8gaWYgdGhpcyBlbGVtZW50IGlzIGFuIHN2ZyBlbGVtZW50IGFuZCB0aGUgY3VycmVudCBkZWVwZXN0IGlzIGFuXG4gICAgLy8gSFRNTEVsZW1lbnRcbiAgICBpZiAoZGVlcGVzdFpvbmUgaW5zdGFuY2VvZiBkb21PYmplY3RzLkhUTUxFbGVtZW50ICYmXG4gICAgICAgIGRyb3B6b25lIGluc3RhbmNlb2YgZG9tT2JqZWN0cy5TVkdFbGVtZW50ICYmXG4gICAgICAgICEoZHJvcHpvbmUgaW5zdGFuY2VvZiBkb21PYmplY3RzLlNWR1NWR0VsZW1lbnQpKSB7XG4gICAgICBpZiAoZHJvcHpvbmUgPT09IGRlZXBlc3Rab25lLnBhcmVudE5vZGUpIHtcbiAgICAgICAgY29udGludWVcbiAgICAgIH1cblxuICAgICAgcGFyZW50ID0gZHJvcHpvbmUub3duZXJTVkdFbGVtZW50XG4gICAgfVxuICAgIGVsc2Uge1xuICAgICAgcGFyZW50ID0gZHJvcHpvbmVcbiAgICB9XG5cbiAgICBjb25zdCBkcm9wem9uZVBhcmVudHMgPSBbXVxuXG4gICAgd2hpbGUgKHBhcmVudC5wYXJlbnROb2RlICE9PSBwYXJlbnQub3duZXJEb2N1bWVudCkge1xuICAgICAgZHJvcHpvbmVQYXJlbnRzLnVuc2hpZnQocGFyZW50KVxuICAgICAgcGFyZW50ID0gZ2V0UGFyZW50KHBhcmVudClcbiAgICB9XG5cbiAgICBuID0gMFxuXG4gICAgLy8gZ2V0IChwb3NpdGlvbiBvZiBsYXN0IGNvbW1vbiBhbmNlc3RvcikgKyAxXG4gICAgd2hpbGUgKGRyb3B6b25lUGFyZW50c1tuXSAmJiBkcm9wem9uZVBhcmVudHNbbl0gPT09IGRlZXBlc3Rab25lUGFyZW50c1tuXSkge1xuICAgICAgbisrXG4gICAgfVxuXG4gICAgY29uc3QgcGFyZW50cyA9IFtcbiAgICAgIGRyb3B6b25lUGFyZW50c1tuIC0gMV0sXG4gICAgICBkcm9wem9uZVBhcmVudHNbbl0sXG4gICAgICBkZWVwZXN0Wm9uZVBhcmVudHNbbl0sXG4gICAgXVxuXG4gICAgbGV0IGNoaWxkID0gcGFyZW50c1swXS5sYXN0Q2hpbGRcblxuICAgIHdoaWxlIChjaGlsZCkge1xuICAgICAgaWYgKGNoaWxkID09PSBwYXJlbnRzWzFdKSB7XG4gICAgICAgIGRlZXBlc3Rab25lID0gZHJvcHpvbmVcbiAgICAgICAgaW5kZXggPSBpXG4gICAgICAgIGRlZXBlc3Rab25lUGFyZW50cyA9IGRyb3B6b25lUGFyZW50c1xuXG4gICAgICAgIGJyZWFrXG4gICAgICB9XG4gICAgICBlbHNlIGlmIChjaGlsZCA9PT0gcGFyZW50c1syXSkge1xuICAgICAgICBicmVha1xuICAgICAgfVxuXG4gICAgICBjaGlsZCA9IGNoaWxkLnByZXZpb3VzU2libGluZ1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBpbmRleFxufVxuXG5leHBvcnQgZnVuY3Rpb24gbWF0Y2hlc1VwVG8gKGVsZW1lbnQ6IEludGVyYWN0LkVsZW1lbnQsIHNlbGVjdG9yOiBzdHJpbmcsIGxpbWl0OiBOb2RlKSB7XG4gIHdoaWxlIChpcy5lbGVtZW50KGVsZW1lbnQpKSB7XG4gICAgaWYgKG1hdGNoZXNTZWxlY3RvcihlbGVtZW50LCBzZWxlY3RvcikpIHtcbiAgICAgIHJldHVybiB0cnVlXG4gICAgfVxuXG4gICAgZWxlbWVudCA9IHBhcmVudE5vZGUoZWxlbWVudClcblxuICAgIGlmIChlbGVtZW50ID09PSBsaW1pdCkge1xuICAgICAgcmV0dXJuIG1hdGNoZXNTZWxlY3RvcihlbGVtZW50LCBzZWxlY3RvcilcbiAgICB9XG4gIH1cblxuICByZXR1cm4gZmFsc2Vcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldEFjdHVhbEVsZW1lbnQgKGVsZW1lbnQpIHtcbiAgcmV0dXJuIChlbGVtZW50IGluc3RhbmNlb2YgZG9tT2JqZWN0cy5TVkdFbGVtZW50SW5zdGFuY2VcbiAgICA/IGVsZW1lbnQuY29ycmVzcG9uZGluZ1VzZUVsZW1lbnRcbiAgICA6IGVsZW1lbnQpXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRTY3JvbGxYWSAocmVsZXZhbnRXaW5kb3cpIHtcbiAgcmVsZXZhbnRXaW5kb3cgPSByZWxldmFudFdpbmRvdyB8fCB3aW4ud2luZG93XG4gIHJldHVybiB7XG4gICAgeDogcmVsZXZhbnRXaW5kb3cuc2Nyb2xsWCB8fCByZWxldmFudFdpbmRvdy5kb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc2Nyb2xsTGVmdCxcbiAgICB5OiByZWxldmFudFdpbmRvdy5zY3JvbGxZIHx8IHJlbGV2YW50V2luZG93LmRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5zY3JvbGxUb3AsXG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldEVsZW1lbnRDbGllbnRSZWN0IChlbGVtZW50KSB7XG4gIGNvbnN0IGNsaWVudFJlY3QgPSAoZWxlbWVudCBpbnN0YW5jZW9mIGRvbU9iamVjdHMuU1ZHRWxlbWVudFxuICAgID8gZWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKVxuICAgIDogZWxlbWVudC5nZXRDbGllbnRSZWN0cygpWzBdKVxuXG4gIHJldHVybiBjbGllbnRSZWN0ICYmIHtcbiAgICBsZWZ0ICA6IGNsaWVudFJlY3QubGVmdCxcbiAgICByaWdodCA6IGNsaWVudFJlY3QucmlnaHQsXG4gICAgdG9wICAgOiBjbGllbnRSZWN0LnRvcCxcbiAgICBib3R0b206IGNsaWVudFJlY3QuYm90dG9tLFxuICAgIHdpZHRoIDogY2xpZW50UmVjdC53aWR0aCAgfHwgY2xpZW50UmVjdC5yaWdodCAgLSBjbGllbnRSZWN0LmxlZnQsXG4gICAgaGVpZ2h0OiBjbGllbnRSZWN0LmhlaWdodCB8fCBjbGllbnRSZWN0LmJvdHRvbSAtIGNsaWVudFJlY3QudG9wLFxuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRFbGVtZW50UmVjdCAoZWxlbWVudCkge1xuICBjb25zdCBjbGllbnRSZWN0ID0gZ2V0RWxlbWVudENsaWVudFJlY3QoZWxlbWVudClcblxuICBpZiAoIWJyb3dzZXIuaXNJT1M3ICYmIGNsaWVudFJlY3QpIHtcbiAgICBjb25zdCBzY3JvbGwgPSBnZXRTY3JvbGxYWSh3aW4uZ2V0V2luZG93KGVsZW1lbnQpKVxuXG4gICAgY2xpZW50UmVjdC5sZWZ0ICAgKz0gc2Nyb2xsLnhcbiAgICBjbGllbnRSZWN0LnJpZ2h0ICArPSBzY3JvbGwueFxuICAgIGNsaWVudFJlY3QudG9wICAgICs9IHNjcm9sbC55XG4gICAgY2xpZW50UmVjdC5ib3R0b20gKz0gc2Nyb2xsLnlcbiAgfVxuXG4gIHJldHVybiBjbGllbnRSZWN0XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRQYXRoIChub2RlKSB7XG4gIGNvbnN0IHBhdGggPSBbXVxuXG4gIHdoaWxlIChub2RlKSB7XG4gICAgcGF0aC5wdXNoKG5vZGUpXG4gICAgbm9kZSA9IHBhcmVudE5vZGUobm9kZSlcbiAgfVxuXG4gIHJldHVybiBwYXRoXG59XG5cbmV4cG9ydCBmdW5jdGlvbiB0cnlTZWxlY3RvciAodmFsdWUpIHtcbiAgaWYgKCFpcy5zdHJpbmcodmFsdWUpKSB7IHJldHVybiBmYWxzZSB9XG5cbiAgLy8gYW4gZXhjZXB0aW9uIHdpbGwgYmUgcmFpc2VkIGlmIGl0IGlzIGludmFsaWRcbiAgZG9tT2JqZWN0cy5kb2N1bWVudC5xdWVyeVNlbGVjdG9yKHZhbHVlKVxuICByZXR1cm4gdHJ1ZVxufVxuIl19
//# sourceMappingURL=domUtils.js.map

@@ -1,6 +0,8 @@

import { contains } from './arr';
import * as domUtils from './domUtils';
import * as is from './is';
import pExtend from './pointerExtend';
import pointerUtils from './pointerUtils';
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
import { contains } from "./arr.js";
import * as domUtils from "./domUtils.js";
import * as is from "./is.js";
import pExtend from "./pointerExtend.js";
import pointerUtils from "./pointerUtils.js";
const elements = [];

@@ -10,213 +12,256 @@ const targets = [];

const documents = [];
function add(element, type, listener, optionalArg) {
const options = getOptions(optionalArg);
let elementIndex = elements.indexOf(element);
let target = targets[elementIndex];
if (!target) {
target = {
events: {},
typeCount: 0,
};
elementIndex = elements.push(element) - 1;
targets.push(target);
}
if (!target.events[type]) {
target.events[type] = [];
target.typeCount++;
}
if (!contains(target.events[type], listener)) {
element.addEventListener(type, listener, events.supportsOptions ? options : !!options.capture);
target.events[type].push(listener);
}
const options = getOptions(optionalArg);
let elementIndex = elements.indexOf(element);
let target = targets[elementIndex];
if (!target) {
target = {
events: {},
typeCount: 0
};
elementIndex = elements.push(element) - 1;
targets.push(target);
}
if (!target.events[type]) {
target.events[type] = [];
target.typeCount++;
}
if (!contains(target.events[type], listener)) {
element.addEventListener(type, listener, events.supportsOptions ? options : !!options.capture);
target.events[type].push(listener);
}
}
function remove(element, type, listener, optionalArg) {
const options = getOptions(optionalArg);
const elementIndex = elements.indexOf(element);
const target = targets[elementIndex];
if (!target || !target.events) {
return;
const options = getOptions(optionalArg);
const elementIndex = elements.indexOf(element);
const target = targets[elementIndex];
if (!target || !target.events) {
return;
}
if (type === 'all') {
for (type in target.events) {
if (target.events.hasOwnProperty(type)) {
remove(element, type, 'all');
}
}
if (type === 'all') {
for (type in target.events) {
if (target.events.hasOwnProperty(type)) {
remove(element, type, 'all');
}
return;
}
if (target.events[type]) {
const len = target.events[type].length;
if (listener === 'all') {
for (let i = 0; i < len; i++) {
remove(element, type, target.events[type][i], options);
}
return;
} else {
for (let i = 0; i < len; i++) {
if (target.events[type][i] === listener) {
element.removeEventListener(type, listener, events.supportsOptions ? options : !!options.capture);
target.events[type].splice(i, 1);
break;
}
return;
}
}
if (target.events[type]) {
const len = target.events[type].length;
if (listener === 'all') {
for (let i = 0; i < len; i++) {
remove(element, type, target.events[type][i], options);
}
return;
}
else {
for (let i = 0; i < len; i++) {
if (target.events[type][i] === listener) {
element.removeEventListener(type, listener, events.supportsOptions ? options : !!options.capture);
target.events[type].splice(i, 1);
break;
}
}
}
if (target.events[type] && target.events[type].length === 0) {
target.events[type] = null;
target.typeCount--;
}
if (target.events[type] && target.events[type].length === 0) {
target.events[type] = null;
target.typeCount--;
}
if (!target.typeCount) {
targets.splice(elementIndex, 1);
elements.splice(elementIndex, 1);
}
}
if (!target.typeCount) {
targets.splice(elementIndex, 1);
elements.splice(elementIndex, 1);
}
}
function addDelegate(selector, context, type, listener, optionalArg) {
const options = getOptions(optionalArg);
if (!delegatedEvents[type]) {
delegatedEvents[type] = {
contexts: [],
listeners: [],
selectors: [],
};
// add delegate listener functions
for (const doc of documents) {
add(doc, type, delegateListener);
add(doc, type, delegateUseCapture, true);
}
const options = getOptions(optionalArg);
if (!delegatedEvents[type]) {
delegatedEvents[type] = {
contexts: [],
listeners: [],
selectors: []
}; // add delegate listener functions
for (const doc of documents) {
add(doc, type, delegateListener);
add(doc, type, delegateUseCapture, true);
}
const delegated = delegatedEvents[type];
let index;
for (index = delegated.selectors.length - 1; index >= 0; index--) {
if (delegated.selectors[index] === selector &&
delegated.contexts[index] === context) {
break;
}
}
const delegated = delegatedEvents[type];
let index;
for (index = delegated.selectors.length - 1; index >= 0; index--) {
if (delegated.selectors[index] === selector && delegated.contexts[index] === context) {
break;
}
if (index === -1) {
index = delegated.selectors.length;
delegated.selectors.push(selector);
delegated.contexts.push(context);
delegated.listeners.push([]);
}
// keep listener and capture and passive flags
delegated.listeners[index].push([listener, !!options.capture, options.passive]);
}
if (index === -1) {
index = delegated.selectors.length;
delegated.selectors.push(selector);
delegated.contexts.push(context);
delegated.listeners.push([]);
} // keep listener and capture and passive flags
delegated.listeners[index].push([listener, !!options.capture, options.passive]);
}
function removeDelegate(selector, context, type, listener, optionalArg) {
const options = getOptions(optionalArg);
const delegated = delegatedEvents[type];
let matchFound = false;
let index;
if (!delegated) {
return;
}
// count from last index of delegated to 0
for (index = delegated.selectors.length - 1; index >= 0; index--) {
// look for matching selector and context Node
if (delegated.selectors[index] === selector &&
delegated.contexts[index] === context) {
const listeners = delegated.listeners[index];
// each item of the listeners array is an array: [function, capture, passive]
for (let i = listeners.length - 1; i >= 0; i--) {
const [fn, capture, passive] = listeners[i];
// check if the listener functions and capture and passive flags match
if (fn === listener && capture === !!options.capture && passive === options.passive) {
// remove the listener from the array of listeners
listeners.splice(i, 1);
// if all listeners for this interactable have been removed
// remove the interactable from the delegated arrays
if (!listeners.length) {
delegated.selectors.splice(index, 1);
delegated.contexts.splice(index, 1);
delegated.listeners.splice(index, 1);
// remove delegate function from context
remove(context, type, delegateListener);
remove(context, type, delegateUseCapture, true);
// remove the arrays if they are empty
if (!delegated.selectors.length) {
delegatedEvents[type] = null;
}
}
// only remove one listener
matchFound = true;
break;
}
const options = getOptions(optionalArg);
const delegated = delegatedEvents[type];
let matchFound = false;
let index;
if (!delegated) {
return;
} // count from last index of delegated to 0
for (index = delegated.selectors.length - 1; index >= 0; index--) {
// look for matching selector and context Node
if (delegated.selectors[index] === selector && delegated.contexts[index] === context) {
const listeners = delegated.listeners[index]; // each item of the listeners array is an array: [function, capture, passive]
for (let i = listeners.length - 1; i >= 0; i--) {
const [fn, capture, passive] = listeners[i]; // check if the listener functions and capture and passive flags match
if (fn === listener && capture === !!options.capture && passive === options.passive) {
// remove the listener from the array of listeners
listeners.splice(i, 1); // if all listeners for this interactable have been removed
// remove the interactable from the delegated arrays
if (!listeners.length) {
delegated.selectors.splice(index, 1);
delegated.contexts.splice(index, 1);
delegated.listeners.splice(index, 1); // remove delegate function from context
remove(context, type, delegateListener);
remove(context, type, delegateUseCapture, true); // remove the arrays if they are empty
if (!delegated.selectors.length) {
delegatedEvents[type] = null;
}
if (matchFound) {
break;
}
} // only remove one listener
matchFound = true;
break;
}
}
if (matchFound) {
break;
}
}
}
// bound to the interactable context when a DOM event
}
} // bound to the interactable context when a DOM event
// listener is added to a selector interactable
function delegateListener(event, optionalArg) {
const options = getOptions(optionalArg);
const fakeEvent = new FakeEvent(event);
const delegated = delegatedEvents[event.type];
const [eventTarget] = (pointerUtils.getEventTargets(event));
let element = eventTarget;
// climb up document tree looking for selector matches
while (is.element(element)) {
for (let i = 0; i < delegated.selectors.length; i++) {
const selector = delegated.selectors[i];
const context = delegated.contexts[i];
if (domUtils.matchesSelector(element, selector) &&
domUtils.nodeContains(context, eventTarget) &&
domUtils.nodeContains(context, element)) {
const listeners = delegated.listeners[i];
fakeEvent.currentTarget = element;
for (const [fn, capture, passive] of listeners) {
if (capture === !!options.capture && passive === options.passive) {
fn(fakeEvent);
}
}
}
const options = getOptions(optionalArg);
const fakeEvent = new FakeEvent(event);
const delegated = delegatedEvents[event.type];
const [eventTarget] = pointerUtils.getEventTargets(event);
let element = eventTarget; // climb up document tree looking for selector matches
while (is.element(element)) {
for (let i = 0; i < delegated.selectors.length; i++) {
const selector = delegated.selectors[i];
const context = delegated.contexts[i];
if (domUtils.matchesSelector(element, selector) && domUtils.nodeContains(context, eventTarget) && domUtils.nodeContains(context, element)) {
const listeners = delegated.listeners[i];
fakeEvent.currentTarget = element;
for (const [fn, capture, passive] of listeners) {
if (capture === !!options.capture && passive === options.passive) {
fn(fakeEvent);
}
}
element = domUtils.parentNode(element);
}
}
element = domUtils.parentNode(element);
}
}
function delegateUseCapture(event) {
return delegateListener.call(this, event, true);
return delegateListener.call(this, event, true);
}
function getOptions(param) {
return is.object(param) ? param : { capture: param };
return is.object(param) ? param : {
capture: param
};
}
export class FakeEvent {
constructor(originalEvent) {
this.originalEvent = originalEvent;
// duplicate the event so that currentTarget can be changed
pExtend(this, originalEvent);
}
preventOriginalDefault() {
this.originalEvent.preventDefault();
}
stopPropagation() {
this.originalEvent.stopPropagation();
}
stopImmediatePropagation() {
this.originalEvent.stopImmediatePropagation();
}
constructor(originalEvent) {
this.originalEvent = originalEvent;
_defineProperty(this, "currentTarget", void 0);
// duplicate the event so that currentTarget can be changed
pExtend(this, originalEvent);
}
preventOriginalDefault() {
this.originalEvent.preventDefault();
}
stopPropagation() {
this.originalEvent.stopPropagation();
}
stopImmediatePropagation() {
this.originalEvent.stopImmediatePropagation();
}
}
const events = {
add,
remove,
addDelegate,
removeDelegate,
delegateListener,
delegateUseCapture,
delegatedEvents,
documents,
supportsOptions: false,
supportsPassive: false,
_elements: elements,
_targets: targets,
init(window) {
window.document.createElement('div').addEventListener('test', null, {
get capture() { return (events.supportsOptions = true); },
get passive() { return (events.supportsPassive = true); },
});
},
add,
remove,
addDelegate,
removeDelegate,
delegateListener,
delegateUseCapture,
delegatedEvents,
documents,
supportsOptions: false,
supportsPassive: false,
_elements: elements,
_targets: targets,
init(window) {
window.document.createElement('div').addEventListener('test', null, {
get capture() {
return events.supportsOptions = true;
},
get passive() {
return events.supportsPassive = true;
}
});
}
};
export default events;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXZlbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiZXZlbnRzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxPQUFPLENBQUE7QUFDaEMsT0FBTyxLQUFLLFFBQVEsTUFBTSxZQUFZLENBQUE7QUFDdEMsT0FBTyxLQUFLLEVBQUUsTUFBTSxNQUFNLENBQUE7QUFDMUIsT0FBTyxPQUFPLE1BQU0saUJBQWlCLENBQUE7QUFDckMsT0FBTyxZQUFZLE1BQU0sZ0JBQWdCLENBQUE7QUFJekMsTUFBTSxRQUFRLEdBQWtCLEVBQUUsQ0FBQTtBQUNsQyxNQUFNLE9BQU8sR0FHUixFQUFFLENBQUE7QUFFUCxNQUFNLGVBQWUsR0FNakIsRUFBRSxDQUFBO0FBQ04sTUFBTSxTQUFTLEdBQWUsRUFBRSxDQUFBO0FBRWhDLFNBQVMsR0FBRyxDQUFFLE9BQW9CLEVBQUUsSUFBWSxFQUFFLFFBQWtCLEVBQUUsV0FBMkI7SUFDL0YsTUFBTSxPQUFPLEdBQUcsVUFBVSxDQUFDLFdBQVcsQ0FBQyxDQUFBO0lBQ3ZDLElBQUksWUFBWSxHQUFHLFFBQVEsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUE7SUFDNUMsSUFBSSxNQUFNLEdBQUcsT0FBTyxDQUFDLFlBQVksQ0FBQyxDQUFBO0lBRWxDLElBQUksQ0FBQyxNQUFNLEVBQUU7UUFDWCxNQUFNLEdBQUc7WUFDUCxNQUFNLEVBQUUsRUFBRTtZQUNWLFNBQVMsRUFBRSxDQUFDO1NBQ2IsQ0FBQTtRQUVELFlBQVksR0FBRyxRQUFRLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQTtRQUN6QyxPQUFPLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFBO0tBQ3JCO0lBRUQsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEVBQUU7UUFDeEIsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLENB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LEVBQUUsS0FBSztJQUV0QixTQUFTLEVBQUUsUUFBUTtJQUNuQixRQUFRLEVBQUUsT0FBTztJQUVqQixJQUFJLENBQUUsTUFBYztRQUNsQixNQUFNLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLEVBQUUsSUFBSSxFQUFFO1lBQ2xFLElBQUksT0FBTyxLQUFNLE9BQU8sQ0FBQyxNQUFNLENBQUMsZUFBZSxHQUFHLElBQUksQ0FBQyxDQUFBLENBQUMsQ0FBQztZQUN6RCxJQUFJLE9BQU8sS0FBTSxPQUFPLENBQUMsTUFBTSxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUMsQ0FBQSxDQUFDLENBQUM7U0FDMUQsQ0FBQyxDQUFBO0lBQ0osQ0FBQztDQUNGLENBQUE7QUFFRCxlQUFlLE1BQU0sQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNvbnRhaW5zIH0gZnJvbSAnLi9hcnInXG5pbXBvcnQgKiBhcyBkb21VdGlscyBmcm9tICcuL2RvbVV0aWxzJ1xuaW1wb3J0ICogYXMgaXMgZnJvbSAnLi9pcydcbmltcG9ydCBwRXh0ZW5kIGZyb20gJy4vcG9pbnRlckV4dGVuZCdcbmltcG9ydCBwb2ludGVyVXRpbHMgZnJvbSAnLi9wb2ludGVyVXRpbHMnXG5cbnR5cGUgTGlzdGVuZXIgPSAoZXZlbnQ6IEV2ZW50IHwgRmFrZUV2ZW50KSA9PiBhbnlcblxuY29uc3QgZWxlbWVudHM6IEV2ZW50VGFyZ2V0W10gPSBbXVxuY29uc3QgdGFyZ2V0czogQXJyYXk8e1xuICBldmVudHM6IHsgW3R5cGU6IHN0cmluZ106IExpc3RlbmVyW10gfVxuICB0eXBlQ291bnQ6IG51bWJlclxufT4gPSBbXVxuXG5jb25zdCBkZWxlZ2F0ZWRFdmVudHM6IHtcbiAgW3R5cGU6IHN0cmluZ106IHtcbiAgICBzZWxlY3RvcnM6IHN0cmluZ1tdXG4gICAgY29udGV4dHM6IE5vZGVbXVxuICAgIGxpc3RlbmVyczogQXJyYXk8QXJyYXk8W0xpc3RlbmVyLCBib29sZWFuLCBib29sZWFuXT4+XG4gIH1cbn0gPSB7fVxuY29uc3QgZG9jdW1lbnRzOiBEb2N1bWVudFtdID0gW11cblxuZnVuY3Rpb24gYWRkIChlbGVtZW50OiBFdmVudFRhcmdldCwgdHlwZTogc3RyaW5nLCBsaXN0ZW5lcjogTGlzdGVuZXIsIG9wdGlvbmFsQXJnPzogYm9vbGVhbiB8IGFueSkge1xuICBjb25zdCBvcHRpb25zID0gZ2V0T3B0aW9ucyhvcHRpb25hbEFyZylcbiAgbGV0IGVsZW1lbnRJbmRleCA9IGVsZW1lbnRzLmluZGV4T2YoZWxlbWVudClcbiAgbGV0IHRhcmdldCA9IHRhcmdldHNbZWxlbWVudEluZGV4XVxuXG4gIGlmICghdGFyZ2V0KSB7XG4gICAgdGFyZ2V0ID0ge1xuICAgICAgZXZlbnRzOiB7fSxcbiAgICAgIHR5cGVDb3VudDogMCxcbiAgICB9XG5cbiAgICBlbGVtZW50SW5kZXggPSBlbGVtZW50cy5wdXNoKGVsZW1lbnQpIC0gMVxuICAgIHRhcmdldHMucHVzaCh0YXJnZXQpXG4gIH1cblxuICBpZiAoIXRhcmdldC5ldmVudHNbdHlwZV0pIHtcbiAgICB0YXJnZXQuZXZlbnRzW3R5cGVdID0gW11cbiAgICB0YXJnZXQudHlwZUNvdW50KytcbiAgfVxuXG4gIGlmICghY29udGFpbnModGFyZ2V0LmV2ZW50c1t0eXBlXSwgbGlzdGVuZXIpKSB7XG4gICAgZWxlbWVudC5hZGRFdmVudExpc3RlbmVyKHR5cGUsIGxpc3RlbmVyIGFzIGFueSwgZXZlbnRzLnN1cHBvcnRzT3B0aW9ucyA/IG9wdGlvbnMgOiAhIW9wdGlvbnMuY2FwdHVyZSlcbiAgICB0YXJnZXQuZXZlbnRzW3R5cGVdLnB1c2gobGlzdGVuZXIpXG4gIH1cbn1cblxuZnVuY3Rpb24gcmVtb3ZlIChlbGVtZW50OiBFdmVudFRhcmdldCwgdHlwZTogc3RyaW5nLCBsaXN0ZW5lcj86ICdhbGwnIHwgTGlzdGVuZXIsIG9wdGlvbmFsQXJnPzogYm9vbGVhbiB8IGFueSkge1xuICBjb25zdCBvcHRpb25zID0gZ2V0T3B0aW9ucyhvcHRpb25hbEFyZylcbiAgY29uc3QgZWxlbWVudEluZGV4ID0gZWxlbWVudHMuaW5kZXhPZihlbGVtZW50KVxuICBjb25zdCB0YXJnZXQgPSB0YXJnZXRzW2VsZW1lbnRJbmRleF1cblxuICBpZiAoIXRhcmdldCB8fCAhdGFyZ2V0LmV2ZW50cykge1xuICAgIHJldHVyblxuICB9XG5cbiAgaWYgKHR5cGUgPT09ICdhbGwnKSB7XG4gICAgZm9yICh0eXBlIGluIHRhcmdldC5ldmVudHMpIHtcbiAgICAgIGlmICh0YXJnZXQuZXZlbnRzLmhhc093blByb3BlcnR5KHR5cGUpKSB7XG4gICAgICAgIHJlbW92ZShlbGVtZW50LCB0eXBlLCAnYWxsJylcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuXG4gIH1cblxuICBpZiAodGFyZ2V0LmV2ZW50c1t0eXBlXSkge1xuICAgIGNvbnN0IGxlbiA9IHRhcmdldC5ldmVudHNbdHlwZV0ubGVuZ3RoXG5cbiAgICBpZiAobGlzdGVuZXIgPT09ICdhbGwnKSB7XG4gICAgICBmb3IgKGxldCBpID0gMDsgaSA8IGxlbjsgaSsrKSB7XG4gICAgICAgIHJlbW92ZShlbGVtZW50LCB0eXBlLCB0YXJnZXQuZXZlbnRzW3R5cGVdW2ldLCBvcHRpb25zKVxuICAgICAgfVxuICAgICAgcmV0dXJuXG4gICAgfVxuICAgIGVsc2Uge1xuICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBsZW47IGkrKykge1xuICAgICAgICBpZiAodGFyZ2V0LmV2ZW50c1t0eXBlXVtpXSA9PT0gbGlzdGVuZXIpIHtcbiAgICAgICAgICBlbGVtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIodHlwZSwgbGlzdGVuZXIgYXMgYW55LCBldmVudHMuc3VwcG9ydHNPcHRpb25zID8gb3B0aW9ucyA6ICEhb3B0aW9ucy5jYXB0dXJlKVxuICAgICAgICAgIHRhcmdldC5ldmVudHNbdHlwZV0uc3BsaWNlKGksIDEpXG5cbiAgICAgICAgICBicmVha1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKHRhcmdldC5ldmVudHNbdHlwZV0gJiYgdGFyZ2V0LmV2ZW50c1t0eXBlXS5sZW5ndGggPT09IDApIHtcbiAgICAgICh0YXJnZXQuZXZlbnRzW3R5cGVdIGFzIGFueSkgPSBudWxsXG4gICAgICB0YXJnZXQudHlwZUNvdW50LS1cbiAgICB9XG4gIH1cblxuICBpZiAoIXRhcmdldC50eXBlQ291bnQpIHtcbiAgICB0YXJnZXRzLnNwbGljZShlbGVtZW50SW5kZXgsIDEpXG4gICAgZWxlbWVudHMuc3BsaWNlKGVsZW1lbnRJbmRleCwgMSlcbiAgfVxufVxuXG5mdW5jdGlvbiBhZGREZWxlZ2F0ZSAoc2VsZWN0b3I6IHN0cmluZywgY29udGV4dDogTm9kZSwgdHlwZTogc3RyaW5nLCBsaXN0ZW5lcjogTGlzdGVuZXIsIG9wdGlvbmFsQXJnPzogYW55KSB7XG4gIGNvbnN0IG9wdGlvbnMgPSBnZXRPcHRpb25zKG9wdGlvbmFsQXJnKVxuICBpZiAoIWRlbGVnYXRlZEV2ZW50c1t0eXBlXSkge1xuICAgIGRlbGVnYXRlZEV2ZW50c1t0eXBlXSA9IHtcbiAgICAgIGNvbnRleHRzIDogW10sXG4gICAgICBsaXN0ZW5lcnM6IFtdLFxuICAgICAgc2VsZWN0b3JzOiBbXSxcbiAgICB9XG5cbiAgICAvLyBhZGQgZGVsZWdhdGUgbGlzdGVuZXIgZnVuY3Rpb25zXG4gICAgZm9yIChjb25zdCBkb2Mgb2YgZG9jdW1lbnRzKSB7XG4gICAgICBhZGQoZG9jLCB0eXBlLCBkZWxlZ2F0ZUxpc3RlbmVyKVxuICAgICAgYWRkKGRvYywgdHlwZSwgZGVsZWdhdGVVc2VDYXB0dXJlLCB0cnVlKVxuICAgIH1cbiAgfVxuXG4gIGNvbnN0IGRlbGVnYXRlZCA9IGRlbGVnYXRlZEV2ZW50c1t0eXBlXVxuICBsZXQgaW5kZXhcblxuICBmb3IgKGluZGV4ID0gZGVsZWdhdGVkLnNlbGVjdG9ycy5sZW5ndGggLSAxOyBpbmRleCA+PSAwOyBpbmRleC0tKSB7XG4gICAgaWYgKGRlbGVnYXRlZC5zZWxlY3RvcnNbaW5kZXhdID09PSBzZWxlY3RvciAmJlxuICAgICAgICBkZWxlZ2F0ZWQuY29udGV4dHNbaW5kZXhdID09PSBjb250ZXh0KSB7XG4gICAgICBicmVha1xuICAgIH1cbiAgfVxuXG4gIGlmIChpbmRleCA9PT0gLTEpIHtcbiAgICBpbmRleCA9IGRlbGVnYXRlZC5zZWxlY3RvcnMubGVuZ3RoXG5cbiAgICBkZWxlZ2F0ZWQuc2VsZWN0b3JzLnB1c2goc2VsZWN0b3IpXG4gICAgZGVsZWdhdGVkLmNvbnRleHRzLnB1c2goY29udGV4dClcbiAgICBkZWxlZ2F0ZWQubGlzdGVuZXJzLnB1c2goW10pXG4gIH1cblxuICAvLyBrZWVwIGxpc3RlbmVyIGFuZCBjYXB0dXJlIGFuZCBwYXNzaXZlIGZsYWdzXG4gIGRlbGVnYXRlZC5saXN0ZW5lcnNbaW5kZXhdLnB1c2goW2xpc3RlbmVyLCAhIW9wdGlvbnMuY2FwdHVyZSwgb3B0aW9ucy5wYXNzaXZlXSlcbn1cblxuZnVuY3Rpb24gcmVtb3ZlRGVsZWdhdGUgKHNlbGVjdG9yLCBjb250ZXh0LCB0eXBlLCBsaXN0ZW5lcj8sIG9wdGlvbmFsQXJnPzogYW55KSB7XG4gIGNvbnN0IG9wdGlvbnMgPSBnZXRPcHRpb25zKG9wdGlvbmFsQXJnKVxuICBjb25zdCBkZWxlZ2F0ZWQgPSBkZWxlZ2F0ZWRFdmVudHNbdHlwZV1cbiAgbGV0IG1hdGNoRm91bmQgPSBmYWxzZVxuICBsZXQgaW5kZXhcblxuICBpZiAoIWRlbGVnYXRlZCkgeyByZXR1cm4gfVxuXG4gIC8vIGNvdW50IGZyb20gbGFzdCBpbmRleCBvZiBkZWxlZ2F0ZWQgdG8gMFxuICBmb3IgKGluZGV4ID0gZGVsZWdhdGVkLnNlbGVjdG9ycy5sZW5ndGggLSAxOyBpbmRleCA+PSAwOyBpbmRleC0tKSB7XG4gICAgLy8gbG9vayBmb3IgbWF0Y2hpbmcgc2VsZWN0b3IgYW5kIGNvbnRleHQgTm9kZVxuICAgIGlmIChkZWxlZ2F0ZWQuc2VsZWN0b3JzW2luZGV4XSA9PT0gc2VsZWN0b3IgJiZcbiAgICAgICAgZGVsZWdhdGVkLmNvbnRleHRzW2luZGV4XSA9PT0gY29udGV4dCkge1xuICAgICAgY29uc3QgbGlzdGVuZXJzID0gZGVsZWdhdGVkLmxpc3RlbmVyc1tpbmRleF1cblxuICAgICAgLy8gZWFjaCBpdGVtIG9mIHRoZSBsaXN0ZW5lcnMgYXJyYXkgaXMgYW4gYXJyYXk6IFtmdW5jdGlvbiwgY2FwdHVyZSwgcGFzc2l2ZV1cbiAgICAgIGZvciAobGV0IGkgPSBsaXN0ZW5lcnMubGVuZ3RoIC0gMTsgaSA+PSAwOyBpLS0pIHtcbiAgICAgICAgY29uc3QgW2ZuLCBjYXB0dXJlLCBwYXNzaXZlXSA9IGxpc3RlbmVyc1tpXVxuXG4gICAgICAgIC8vIGNoZWNrIGlmIHRoZSBsaXN0ZW5lciBmdW5jdGlvbnMgYW5kIGNhcHR1cmUgYW5kIHBhc3NpdmUgZmxhZ3MgbWF0Y2hcbiAgICAgICAgaWYgKGZuID09PSBsaXN0ZW5lciAmJiBjYXB0dXJlID09PSAhIW9wdGlvbnMuY2FwdHVyZSAmJiBwYXNzaXZlID09PSBvcHRpb25zLnBhc3NpdmUpIHtcbiAgICAgICAgICAvLyByZW1vdmUgdGhlIGxpc3RlbmVyIGZyb20gdGhlIGFycmF5IG9mIGxpc3RlbmVyc1xuICAgICAgICAgIGxpc3RlbmVycy5zcGxpY2UoaSwgMSlcblxuICAgICAgICAgIC8vIGlmIGFsbCBsaXN0ZW5lcnMgZm9yIHRoaXMgaW50ZXJhY3RhYmxlIGhhdmUgYmVlbiByZW1vdmVkXG4gICAgICAgICAgLy8gcmVtb3ZlIHRoZSBpbnRlcmFjdGFibGUgZnJvbSB0aGUgZGVsZWdhdGVkIGFycmF5c1xuICAgICAgICAgIGlmICghbGlzdGVuZXJzLmxlbmd0aCkge1xuICAgICAgICAgICAgZGVsZWdhdGVkLnNlbGVjdG9ycy5zcGxpY2UoaW5kZXgsIDEpXG4gICAgICAgICAgICBkZWxlZ2F0ZWQuY29udGV4dHMuc3BsaWNlKGluZGV4LCAxKVxuICAgICAgICAgICAgZGVsZWdhdGVkLmxpc3RlbmVycy5zcGxpY2UoaW5kZXgsIDEpXG5cbiAgICAgICAgICAgIC8vIHJlbW92ZSBkZWxlZ2F0ZSBmdW5jdGlvbiBmcm9tIGNvbnRleHRcbiAgICAgICAgICAgIHJlbW92ZShjb250ZXh0LCB0eXBlLCBkZWxlZ2F0ZUxpc3RlbmVyKVxuICAgICAgICAgICAgcmVtb3ZlKGNvbnRleHQsIHR5cGUsIGRlbGVnYXRlVXNlQ2FwdHVyZSwgdHJ1ZSlcblxuICAgICAgICAgICAgLy8gcmVtb3ZlIHRoZSBhcnJheXMgaWYgdGhleSBhcmUgZW1wdHlcbiAgICAgICAgICAgIGlmICghZGVsZWdhdGVkLnNlbGVjdG9ycy5sZW5ndGgpIHtcbiAgICAgICAgICAgICAgZGVsZWdhdGVkRXZlbnRzW3R5cGVdID0gbnVsbFxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cblxuICAgICAgICAgIC8vIG9ubHkgcmVtb3ZlIG9uZSBsaXN0ZW5lclxuICAgICAgICAgIG1hdGNoRm91bmQgPSB0cnVlXG4gICAgICAgICAgYnJlYWtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBpZiAobWF0Y2hGb3VuZCkgeyBicmVhayB9XG4gICAgfVxuICB9XG59XG5cbi8vIGJvdW5kIHRvIHRoZSBpbnRlcmFjdGFibGUgY29udGV4dCB3aGVuIGEgRE9NIGV2ZW50XG4vLyBsaXN0ZW5lciBpcyBhZGRlZCB0byBhIHNlbGVjdG9yIGludGVyYWN0YWJsZVxuZnVuY3Rpb24gZGVsZWdhdGVMaXN0ZW5lciAoZXZlbnQ6IEV2ZW50LCBvcHRpb25hbEFyZz86IGFueSkge1xuICBjb25zdCBvcHRpb25zID0gZ2V0T3B0aW9ucyhvcHRpb25hbEFyZylcbiAgY29uc3QgZmFrZUV2ZW50ID0gbmV3IEZha2VFdmVudChldmVudClcbiAgY29uc3QgZGVsZWdhdGVkID0gZGVsZWdhdGVkRXZlbnRzW2V2ZW50LnR5cGVdXG4gIGNvbnN0IFtldmVudFRhcmdldF0gPSAocG9pbnRlclV0aWxzLmdldEV2ZW50VGFyZ2V0cyhldmVudCkpXG4gIGxldCBlbGVtZW50ID0gZXZlbnRUYXJnZXRcblxuICAvLyBjbGltYiB1cCBkb2N1bWVudCB0cmVlIGxvb2tpbmcgZm9yIHNlbGVjdG9yIG1hdGNoZXNcbiAgd2hpbGUgKGlzLmVsZW1lbnQoZWxlbWVudCkpIHtcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IGRlbGVnYXRlZC5zZWxlY3RvcnMubGVuZ3RoOyBpKyspIHtcbiAgICAgIGNvbnN0IHNlbGVjdG9yID0gZGVsZWdhdGVkLnNlbGVjdG9yc1tpXVxuICAgICAgY29uc3QgY29udGV4dCA9IGRlbGVnYXRlZC5jb250ZXh0c1tpXVxuXG4gICAgICBpZiAoZG9tVXRpbHMubWF0Y2hlc1NlbGVjdG9yKGVsZW1lbnQsIHNlbGVjdG9yKSAmJlxuICAgICAgICAgIGRvbVV0aWxzLm5vZGVDb250YWlucyhjb250ZXh0LCBldmVudFRhcmdldCkgJiZcbiAgICAgICAgICBkb21VdGlscy5ub2RlQ29udGFpbnMoY29udGV4dCwgZWxlbWVudCkpIHtcbiAgICAgICAgY29uc3QgbGlzdGVuZXJzID0gZGVsZWdhdGVkLmxpc3RlbmVyc1tpXVxuXG4gICAgICAgIGZha2VFdmVudC5jdXJyZW50VGFyZ2V0ID0gZWxlbWVudFxuXG4gICAgICAgIGZvciAoY29uc3QgW2ZuLCBjYXB0dXJlLCBwYXNzaXZlXSBvZiBsaXN0ZW5lcnMpIHtcbiAgICAgICAgICBpZiAoY2FwdHVyZSA9PT0gISFvcHRpb25zLmNhcHR1cmUgJiYgcGFzc2l2ZSA9PT0gb3B0aW9ucy5wYXNzaXZlKSB7XG4gICAgICAgICAgICBmbihmYWtlRXZlbnQpXG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgZWxlbWVudCA9IGRvbVV0aWxzLnBhcmVudE5vZGUoZWxlbWVudClcbiAgfVxufVxuXG5mdW5jdGlvbiBkZWxlZ2F0ZVVzZUNhcHR1cmUgKGV2ZW50OiBFdmVudCkge1xuICByZXR1cm4gZGVsZWdhdGVMaXN0ZW5lci5jYWxsKHRoaXMsIGV2ZW50LCB0cnVlKVxufVxuXG5mdW5jdGlvbiBnZXRPcHRpb25zIChwYXJhbSkge1xuICByZXR1cm4gaXMub2JqZWN0KHBhcmFtKSA/IHBhcmFtIDogeyBjYXB0dXJlOiBwYXJhbSB9XG59XG5cbmV4cG9ydCBjbGFzcyBGYWtlRXZlbnQgaW1wbGVtZW50cyBQYXJ0aWFsPEV2ZW50PiB7XG4gIGN1cnJlbnRUYXJnZXQ6IEV2ZW50VGFyZ2V0XG5cbiAgY29uc3RydWN0b3IgKHB1YmxpYyBvcmlnaW5hbEV2ZW50KSB7XG4gICAgLy8gZHVwbGljYXRlIHRoZSBldmVudCBzbyB0aGF0IGN1cnJlbnRUYXJnZXQgY2FuIGJlIGNoYW5nZWRcbiAgICBwRXh0ZW5kKHRoaXMsIG9yaWdpbmFsRXZlbnQpXG4gIH1cblxuICBwcmV2ZW50T3JpZ2luYWxEZWZhdWx0ICgpIHtcbiAgICB0aGlzLm9yaWdpbmFsRXZlbnQucHJldmVudERlZmF1bHQoKVxuICB9XG5cbiAgc3RvcFByb3BhZ2F0aW9uICgpIHtcbiAgICB0aGlzLm9yaWdpbmFsRXZlbnQuc3RvcFByb3BhZ2F0aW9uKClcbiAgfVxuXG4gIHN0b3BJbW1lZGlhdGVQcm9wYWdhdGlvbiAoKSB7XG4gICAgdGhpcy5vcmlnaW5hbEV2ZW50LnN0b3BJbW1lZGlhdGVQcm9wYWdhdGlvbigpXG4gIH1cbn1cblxuY29uc3QgZXZlbnRzID0ge1xuICBhZGQsXG4gIHJlbW92ZSxcblxuICBhZGREZWxlZ2F0ZSxcbiAgcmVtb3ZlRGVsZWdhdGUsXG5cbiAgZGVsZWdhdGVMaXN0ZW5lcixcbiAgZGVsZWdhdGVVc2VDYXB0dXJlLFxuICBkZWxlZ2F0ZWRFdmVudHMsXG4gIGRvY3VtZW50cyxcblxuICBzdXBwb3J0c09wdGlvbnM6IGZhbHNlLFxuICBzdXBwb3J0c1Bhc3NpdmU6IGZhbHNlLFxuXG4gIF9lbGVtZW50czogZWxlbWVudHMsXG4gIF90YXJnZXRzOiB0YXJnZXRzLFxuXG4gIGluaXQgKHdpbmRvdzogV2luZG93KSB7XG4gICAgd2luZG93LmRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpLmFkZEV2ZW50TGlzdGVuZXIoJ3Rlc3QnLCBudWxsLCB7XG4gICAgICBnZXQgY2FwdHVyZSAoKSB7IHJldHVybiAoZXZlbnRzLnN1cHBvcnRzT3B0aW9ucyA9IHRydWUpIH0sXG4gICAgICBnZXQgcGFzc2l2ZSAoKSB7IHJldHVybiAoZXZlbnRzLnN1cHBvcnRzUGFzc2l2ZSA9IHRydWUpIH0sXG4gICAgfSlcbiAgfSxcbn1cblxuZXhwb3J0IGRlZmF1bHQgZXZlbnRzXG4iXX0=
//# sourceMappingURL=events.js.map

@@ -1,1 +0,1 @@

export default function extend<T, U extends Partial<T>>(dest: U, source: T): T & U;
export default function extend<T, U extends object>(dest: U, source: T): T & U;
export default function extend(dest, source) {
for (const prop in source) {
dest[prop] = source[prop];
}
return dest;
for (const prop in source) {
dest[prop] = source[prop];
}
const ret = dest;
return ret;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXh0ZW5kLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiZXh0ZW5kLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sQ0FBQyxPQUFPLFVBQVUsTUFBTSxDQUEyQixJQUFPLEVBQUUsTUFBUztJQUN6RSxLQUFLLE1BQU0sSUFBSSxJQUFJLE1BQU0sRUFBRTtRQUN4QixJQUFxQixDQUFDLElBQUksQ0FBQyxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQTtLQUM1QztJQUNELE9BQU8sSUFBYSxDQUFBO0FBQ3RCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBleHRlbmQ8VCwgVSBleHRlbmRzIFBhcnRpYWw8VD4+IChkZXN0OiBVLCBzb3VyY2U6IFQpIHtcbiAgZm9yIChjb25zdCBwcm9wIGluIHNvdXJjZSkge1xuICAgIChkZXN0IGFzIHVua25vd24gYXMgVClbcHJvcF0gPSBzb3VyY2VbcHJvcF1cbiAgfVxuICByZXR1cm4gZGVzdCBhcyBUICYgVVxufVxuIl19
//# sourceMappingURL=extend.js.map

@@ -1,3 +0,2 @@

import { HasGetRect } from '@interactjs/types/types';
export default function (target: HasGetRect & {
export default function (target: Interact.HasGetRect & {
options: Interact.PerActionDefaults;

@@ -4,0 +3,0 @@ }, element: any, action?: any): {

@@ -1,9 +0,12 @@

import { rectToXY, resolveRectLike } from './rect';
import { rectToXY, resolveRectLike } from "./rect.js";
export default function (target, element, action) {
const actionOptions = target.options[action];
const actionOrigin = actionOptions && actionOptions.origin;
const origin = actionOrigin || target.options.origin;
const originRect = resolveRectLike(origin, target, element, [target && element]);
return rectToXY(originRect) || { x: 0, y: 0 };
const actionOptions = target.options[action];
const actionOrigin = actionOptions && actionOptions.origin;
const origin = actionOrigin || target.options.origin;
const originRect = resolveRectLike(origin, target, element, [target && element]);
return rectToXY(originRect) || {
x: 0,
y: 0
};
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0T3JpZ2luWFkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJnZXRPcmlnaW5YWS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsUUFBUSxFQUFFLGVBQWUsRUFBRSxNQUFNLFFBQVEsQ0FBQTtBQUVsRCxNQUFNLENBQUMsT0FBTyxXQUFXLE1BQTRELEVBQUUsT0FBTyxFQUFFLE1BQU87SUFDckcsTUFBTSxhQUFhLEdBQUcsTUFBTSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQTtJQUM1QyxNQUFNLFlBQVksR0FBRyxhQUFhLElBQUksYUFBYSxDQUFDLE1BQU0sQ0FBQTtJQUMxRCxNQUFNLE1BQU0sR0FBRyxZQUFZLElBQUksTUFBTSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUE7SUFFcEQsTUFBTSxVQUFVLEdBQUcsZUFBZSxDQUFDLE1BQU0sRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFFLENBQUMsTUFBTSxJQUFJLE9BQU8sQ0FBQyxDQUFDLENBQUE7SUFFaEYsT0FBTyxRQUFRLENBQUMsVUFBVSxDQUFDLElBQUksRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQTtBQUMvQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSGFzR2V0UmVjdCB9IGZyb20gJ0BpbnRlcmFjdGpzL3R5cGVzL3R5cGVzJ1xuaW1wb3J0IHsgcmVjdFRvWFksIHJlc29sdmVSZWN0TGlrZSB9IGZyb20gJy4vcmVjdCdcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gKHRhcmdldDogSGFzR2V0UmVjdCAmIHsgb3B0aW9uczogSW50ZXJhY3QuUGVyQWN0aW9uRGVmYXVsdHMgfSwgZWxlbWVudCwgYWN0aW9uPykge1xuICBjb25zdCBhY3Rpb25PcHRpb25zID0gdGFyZ2V0Lm9wdGlvbnNbYWN0aW9uXVxuICBjb25zdCBhY3Rpb25PcmlnaW4gPSBhY3Rpb25PcHRpb25zICYmIGFjdGlvbk9wdGlvbnMub3JpZ2luXG4gIGNvbnN0IG9yaWdpbiA9IGFjdGlvbk9yaWdpbiB8fCB0YXJnZXQub3B0aW9ucy5vcmlnaW5cblxuICBjb25zdCBvcmlnaW5SZWN0ID0gcmVzb2x2ZVJlY3RMaWtlKG9yaWdpbiwgdGFyZ2V0LCBlbGVtZW50LCBbdGFyZ2V0ICYmIGVsZW1lbnRdKVxuXG4gIHJldHVybiByZWN0VG9YWShvcmlnaW5SZWN0KSB8fCB7IHg6IDAsIHk6IDAgfVxufVxuIl19
//# sourceMappingURL=getOriginXY.js.map

@@ -1,2 +0,2 @@

export default (x, y) => Math.sqrt(x * x + y * y);
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHlwb3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJoeXBvdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxlQUFlLENBQUMsQ0FBUyxFQUFFLENBQVMsRUFBRSxFQUFFLENBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBkZWZhdWx0ICh4OiBudW1iZXIsIHk6IG51bWJlcikgPT4gIE1hdGguc3FydCh4ICogeCArIHkgKiB5KVxuIl19
export default ((x, y) => Math.sqrt(x * x + y * y));
//# sourceMappingURL=hypot.js.map

@@ -12,3 +12,3 @@ import * as arr from './arr';

export declare function easeOutQuad(t: number, b: number, c: number, d: number): number;
export declare function copyAction(dest: Interact.ActionProps, src: Interact.ActionProps): import("@interactjs/core/Interaction").ActionProps<any>;
export declare function copyAction(dest: Interact.ActionProps, src: Interact.ActionProps): import("../types/types").ActionProps<any>;
export { default as browser } from './browser';

@@ -24,3 +24,2 @@ export { default as clone } from './clone';

export { default as rect } from './rect';
export { default as Signals } from './Signals';
export { win, arr, dom, is };

@@ -1,50 +0,50 @@

import * as arr from './arr';
import * as dom from './domUtils';
import * as is from './is';
import win from './window';
import * as arr from "./arr.js";
import * as dom from "./domUtils.js";
import * as is from "./is.js";
import win from "./window.js";
export function warnOnce(method, message) {
let warned = false;
// eslint-disable-next-line no-shadow
return function () {
if (!warned) {
win.window.console.warn(message);
warned = true;
}
return method.apply(this, arguments);
};
}
// http://stackoverflow.com/a/5634528/2280888
let warned = false; // eslint-disable-next-line no-shadow
return function () {
if (!warned) {
win.window.console.warn(message);
warned = true;
}
return method.apply(this, arguments);
};
} // http://stackoverflow.com/a/5634528/2280888
export function _getQBezierValue(t, p1, p2, p3) {
const iT = 1 - t;
return iT * iT * p1 + 2 * iT * t * p2 + t * t * p3;
const iT = 1 - t;
return iT * iT * p1 + 2 * iT * t * p2 + t * t * p3;
}
export function getQuadraticCurvePoint(startX, startY, cpX, cpY, endX, endY, position) {
return {
x: _getQBezierValue(position, startX, cpX, endX),
y: _getQBezierValue(position, startY, cpY, endY),
};
}
// http://gizma.com/easing/
return {
x: _getQBezierValue(position, startX, cpX, endX),
y: _getQBezierValue(position, startY, cpY, endY)
};
} // http://gizma.com/easing/
export function easeOutQuad(t, b, c, d) {
t /= d;
return -c * t * (t - 2) + b;
t /= d;
return -c * t * (t - 2) + b;
}
export function copyAction(dest, src) {
dest.name = src.name;
dest.axis = src.axis;
dest.edges = src.edges;
return dest;
dest.name = src.name;
dest.axis = src.axis;
dest.edges = src.edges;
return dest;
}
export { default as browser } from './browser';
export { default as clone } from './clone';
export { default as events } from './events';
export { default as extend } from './extend';
export { default as getOriginXY } from './getOriginXY';
export { default as hypot } from './hypot';
export { default as normalizeListeners } from './normalizeListeners';
export { default as pointer } from './pointerUtils';
export { default as raf } from './raf';
export { default as rect } from './rect';
export { default as Signals } from './Signals';
export { default as browser } from "./browser.js";
export { default as clone } from "./clone.js";
export { default as events } from "./events.js";
export { default as extend } from "./extend.js";
export { default as getOriginXY } from "./getOriginXY.js";
export { default as hypot } from "./hypot.js";
export { default as normalizeListeners } from "./normalizeListeners.js";
export { default as pointer } from "./pointerUtils.js";
export { default as raf } from "./raf.js";
export { default as rect } from "./rect.js";
export { win, arr, dom, is };
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJpbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssR0FBRyxNQUFNLE9BQU8sQ0FBQTtBQUM1QixPQUFPLEtBQUssR0FBRyxNQUFNLFlBQVksQ0FBQTtBQUNqQyxPQUFPLEtBQUssRUFBRSxNQUFNLE1BQU0sQ0FBQTtBQUMxQixPQUFPLEdBQUcsTUFBTSxVQUFVLENBQUE7QUFFMUIsTUFBTSxVQUFVLFFBQVEsQ0FBYyxNQUE2QixFQUFFLE9BQWU7SUFDbEYsSUFBSSxNQUFNLEdBQUcsS0FBSyxDQUFBO0lBRWxCLHFDQUFxQztJQUNyQyxPQUFPO1FBQ0wsSUFBSSxDQUFDLE1BQU0sRUFBRTtZQUNWLEdBQVcsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQTtZQUN6QyxNQUFNLEdBQUcsSUFBSSxDQUFBO1NBQ2Q7UUFFRCxPQUFPLE1BQU0sQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLFNBQVMsQ0FBQyxDQUFBO0lBQ3RDLENBQUMsQ0FBQTtBQUNILENBQUM7QUFFRCw2Q0FBNkM7QUFDN0MsTUFBTSxVQUFVLGdCQUFnQixDQUFFLENBQVMsRUFBRSxFQUFVLEVBQUUsRUFBVSxFQUFFLEVBQVU7SUFDN0UsTUFBTSxFQUFFLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQTtJQUNoQixPQUFPLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLENBQUMsR0FBRyxFQUFFLEdBQUcsQ0FBQyxHQUFHLEVBQUUsR0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUUsQ0FBQTtBQUNwRCxDQUFDO0FBRUQsTUFBTSxVQUFVLHNCQUFzQixDQUNwQyxNQUFjLEVBQUUsTUFBYyxFQUFFLEdBQVcsRUFBRSxHQUFXLEVBQUUsSUFBWSxFQUFFLElBQVksRUFBRSxRQUFnQjtJQUN0RyxPQUFPO1FBQ0wsQ0FBQyxFQUFHLGdCQUFnQixDQUFDLFFBQVEsRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLElBQUksQ0FBQztRQUNqRCxDQUFDLEVBQUcsZ0JBQWdCLENBQUMsUUFBUSxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsSUFBSSxDQUFDO0tBQ2xELENBQUE7QUFDSCxDQUFDO0FBRUQsMkJBQTJCO0FBQzNCLE1BQU0sVUFBVSxXQUFXLENBQUUsQ0FBUyxFQUFFLENBQVMsRUFBRSxDQUFTLEVBQUUsQ0FBUztJQUNyRSxDQUFDLElBQUksQ0FBQyxDQUFBO0lBQ04sT0FBTyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFBO0FBQzdCLENBQUM7QUFFRCxNQUFNLFVBQVUsVUFBVSxDQUFFLElBQTBCLEVBQUUsR0FBeUI7SUFDL0UsSUFBSSxDQUFDLElBQUksR0FBSSxHQUFHLENBQUMsSUFBSSxDQUFBO0lBQ3JCLElBQUksQ0FBQyxJQUFJLEdBQUksR0FBRyxDQUFDLElBQUksQ0FBQTtJQUNyQixJQUFJLENBQUMsS0FBSyxHQUFHLEdBQUcsQ0FBQyxLQUFLLENBQUE7SUFFdEIsT0FBTyxJQUFJLENBQUE7QUFDYixDQUFDO0FBRUQsT0FBTyxFQUFFLE9BQU8sSUFBSSxPQUFPLEVBQUUsTUFBTSxXQUFXLENBQUE7QUFDOUMsT0FBTyxFQUFFLE9BQU8sSUFBSSxLQUFLLEVBQUUsTUFBTSxTQUFTLENBQUE7QUFDMUMsT0FBTyxFQUFFLE9BQU8sSUFBSSxNQUFNLEVBQUUsTUFBTSxVQUFVLENBQUE7QUFDNUMsT0FBTyxFQUFFLE9BQU8sSUFBSSxNQUFNLEVBQUUsTUFBTSxVQUFVLENBQUE7QUFDNUMsT0FBTyxFQUFFLE9BQU8sSUFBSSxXQUFXLEVBQUUsTUFBTSxlQUFlLENBQUE7QUFDdEQsT0FBTyxFQUFFLE9BQU8sSUFBSSxLQUFLLEVBQUUsTUFBTSxTQUFTLENBQUE7QUFDMUMsT0FBTyxFQUFFLE9BQU8sSUFBSSxrQkFBa0IsRUFBRSxNQUFNLHNCQUFzQixDQUFBO0FBQ3BFLE9BQU8sRUFBRSxPQUFPLElBQUksT0FBTyxFQUFFLE1BQU0sZ0JBQWdCLENBQUE7QUFDbkQsT0FBTyxFQUFFLE9BQU8sSUFBSSxHQUFHLEVBQUUsTUFBTSxPQUFPLENBQUE7QUFDdEMsT0FBTyxFQUFFLE9BQU8sSUFBSSxJQUFJLEVBQUUsTUFBTSxRQUFRLENBQUE7QUFDeEMsT0FBTyxFQUFFLE9BQU8sSUFBSSxPQUFPLEVBQUUsTUFBTSxXQUFXLENBQUE7QUFDOUMsT0FBTyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEVBQUUsRUFBRSxDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgYXJyIGZyb20gJy4vYXJyJ1xuaW1wb3J0ICogYXMgZG9tIGZyb20gJy4vZG9tVXRpbHMnXG5pbXBvcnQgKiBhcyBpcyBmcm9tICcuL2lzJ1xuaW1wb3J0IHdpbiBmcm9tICcuL3dpbmRvdydcblxuZXhwb3J0IGZ1bmN0aW9uIHdhcm5PbmNlPFQ+ICh0aGlzOiBULCBtZXRob2Q6ICguLi5hcmdzOiBhbnkpID0+IGFueSwgbWVzc2FnZTogc3RyaW5nKSB7XG4gIGxldCB3YXJuZWQgPSBmYWxzZVxuXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1zaGFkb3dcbiAgcmV0dXJuIGZ1bmN0aW9uICh0aGlzOiBUKSB7XG4gICAgaWYgKCF3YXJuZWQpIHtcbiAgICAgICh3aW4gYXMgYW55KS53aW5kb3cuY29uc29sZS53YXJuKG1lc3NhZ2UpXG4gICAgICB3YXJuZWQgPSB0cnVlXG4gICAgfVxuXG4gICAgcmV0dXJuIG1ldGhvZC5hcHBseSh0aGlzLCBhcmd1bWVudHMpXG4gIH1cbn1cblxuLy8gaHR0cDovL3N0YWNrb3ZlcmZsb3cuY29tL2EvNTYzNDUyOC8yMjgwODg4XG5leHBvcnQgZnVuY3Rpb24gX2dldFFCZXppZXJWYWx1ZSAodDogbnVtYmVyLCBwMTogbnVtYmVyLCBwMjogbnVtYmVyLCBwMzogbnVtYmVyKSB7XG4gIGNvbnN0IGlUID0gMSAtIHRcbiAgcmV0dXJuIGlUICogaVQgKiBwMSArIDIgKiBpVCAqIHQgKiBwMiArIHQgKiB0ICogcDNcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldFF1YWRyYXRpY0N1cnZlUG9pbnQgKFxuICBzdGFydFg6IG51bWJlciwgc3RhcnRZOiBudW1iZXIsIGNwWDogbnVtYmVyLCBjcFk6IG51bWJlciwgZW5kWDogbnVtYmVyLCBlbmRZOiBudW1iZXIsIHBvc2l0aW9uOiBudW1iZXIpIHtcbiAgcmV0dXJuIHtcbiAgICB4OiAgX2dldFFCZXppZXJWYWx1ZShwb3NpdGlvbiwgc3RhcnRYLCBjcFgsIGVuZFgpLFxuICAgIHk6ICBfZ2V0UUJlemllclZhbHVlKHBvc2l0aW9uLCBzdGFydFksIGNwWSwgZW5kWSksXG4gIH1cbn1cblxuLy8gaHR0cDovL2dpem1hLmNvbS9lYXNpbmcvXG5leHBvcnQgZnVuY3Rpb24gZWFzZU91dFF1YWQgKHQ6IG51bWJlciwgYjogbnVtYmVyLCBjOiBudW1iZXIsIGQ6IG51bWJlcikge1xuICB0IC89IGRcbiAgcmV0dXJuIC1jICogdCAqICh0IC0gMikgKyBiXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjb3B5QWN0aW9uIChkZXN0OiBJbnRlcmFjdC5BY3Rpb25Qcm9wcywgc3JjOiBJbnRlcmFjdC5BY3Rpb25Qcm9wcykge1xuICBkZXN0Lm5hbWUgID0gc3JjLm5hbWVcbiAgZGVzdC5heGlzICA9IHNyYy5heGlzXG4gIGRlc3QuZWRnZXMgPSBzcmMuZWRnZXNcblxuICByZXR1cm4gZGVzdFxufVxuXG5leHBvcnQgeyBkZWZhdWx0IGFzIGJyb3dzZXIgfSBmcm9tICcuL2Jyb3dzZXInXG5leHBvcnQgeyBkZWZhdWx0IGFzIGNsb25lIH0gZnJvbSAnLi9jbG9uZSdcbmV4cG9ydCB7IGRlZmF1bHQgYXMgZXZlbnRzIH0gZnJvbSAnLi9ldmVudHMnXG5leHBvcnQgeyBkZWZhdWx0IGFzIGV4dGVuZCB9IGZyb20gJy4vZXh0ZW5kJ1xuZXhwb3J0IHsgZGVmYXVsdCBhcyBnZXRPcmlnaW5YWSB9IGZyb20gJy4vZ2V0T3JpZ2luWFknXG5leHBvcnQgeyBkZWZhdWx0IGFzIGh5cG90IH0gZnJvbSAnLi9oeXBvdCdcbmV4cG9ydCB7IGRlZmF1bHQgYXMgbm9ybWFsaXplTGlzdGVuZXJzIH0gZnJvbSAnLi9ub3JtYWxpemVMaXN0ZW5lcnMnXG5leHBvcnQgeyBkZWZhdWx0IGFzIHBvaW50ZXIgfSBmcm9tICcuL3BvaW50ZXJVdGlscydcbmV4cG9ydCB7IGRlZmF1bHQgYXMgcmFmIH0gZnJvbSAnLi9yYWYnXG5leHBvcnQgeyBkZWZhdWx0IGFzIHJlY3QgfSBmcm9tICcuL3JlY3QnXG5leHBvcnQgeyBkZWZhdWx0IGFzIFNpZ25hbHMgfSBmcm9tICcuL1NpZ25hbHMnXG5leHBvcnQgeyB3aW4sIGFyciwgZG9tLCBpcyB9XG4iXX0=
//# sourceMappingURL=index.js.map
// tslint:disable variable-name
import isWindow from './isWindow';
import win from './window';
export const window = (thing) => thing === win.window || isWindow(thing);
export const docFrag = (thing) => object(thing) && thing.nodeType === 11;
export const object = (thing) => !!thing && (typeof thing === 'object');
export const func = (thing) => typeof thing === 'function';
export const number = (thing) => typeof thing === 'number';
export const bool = (thing) => typeof thing === 'boolean';
export const string = (thing) => typeof thing === 'string';
export const element = (thing) => {
if (!thing || (typeof thing !== 'object')) {
return false;
}
const _window = win.getWindow(thing) || win.window;
return (/object|function/.test(typeof _window.Element)
? thing instanceof _window.Element // DOM2
: thing.nodeType === 1 && typeof thing.nodeName === 'string');
import isWindow from "./isWindow.js";
import win from "./window.js";
export const window = thing => thing === win.window || isWindow(thing);
export const docFrag = thing => object(thing) && thing.nodeType === 11;
export const object = thing => !!thing && typeof thing === 'object';
export const func = thing => typeof thing === 'function';
export const number = thing => typeof thing === 'number';
export const bool = thing => typeof thing === 'boolean';
export const string = thing => typeof thing === 'string';
export const element = thing => {
if (!thing || typeof thing !== 'object') {
return false;
}
const _window = win.getWindow(thing) || win.window;
return /object|function/.test(typeof _window.Element) ? thing instanceof _window.Element // DOM2
: thing.nodeType === 1 && typeof thing.nodeName === 'string';
};
export const plainObject = (thing) => object(thing) &&
!!thing.constructor &&
/function Object\b/.test(thing.constructor.toString());
export const array = (thing) => (object(thing) &&
(typeof thing.length !== 'undefined') &&
func(thing.splice));
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJpcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSwrQkFBK0I7QUFFL0IsT0FBTyxRQUFRLE1BQU0sWUFBWSxDQUFBO0FBQ2pDLE9BQU8sR0FBRyxNQUFNLFVBQVUsQ0FBQTtBQUUxQixNQUFNLENBQUMsTUFBTSxNQUFNLEdBQUcsQ0FBQyxLQUFVLEVBQW1CLEVBQUUsQ0FDcEQsS0FBSyxLQUFLLEdBQUcsQ0FBQyxNQUFNLElBQUksUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFBO0FBRXpDLE1BQU0sQ0FBQyxNQUFNLE9BQU8sR0FBRyxDQUFDLEtBQVUsRUFBNkIsRUFBRSxDQUMvRCxNQUFNLENBQUMsS0FBSyxDQUFDLElBQUksS0FBSyxDQUFDLFFBQVEsS0FBSyxFQUFFLENBQUE7QUFFeEMsTUFBTSxDQUFDLE1BQU0sTUFBTSxHQUFHLENBQUMsS0FBVSxFQUFxQyxFQUFFLENBQ3RFLENBQUMsQ0FBQyxLQUFLLElBQUksQ0FBQyxPQUFPLEtBQUssS0FBSyxRQUFRLENBQUMsQ0FBQTtBQUV4QyxNQUFNLENBQUMsTUFBTSxJQUFJLEdBQUcsQ0FBQyxLQUFVLEVBQWtDLEVBQUUsQ0FDakUsT0FBTyxLQUFLLEtBQUssVUFBVSxDQUFBO0FBRTdCLE1BQU0sQ0FBQyxNQUFNLE1BQU0sR0FBRyxDQUFDLEtBQVUsRUFBbUIsRUFBRSxDQUNwRCxPQUFPLEtBQUssS0FBSyxRQUFRLENBQUE7QUFFM0IsTUFBTSxDQUFDLE1BQU0sSUFBSSxHQUFHLENBQUMsS0FBVSxFQUFvQixFQUFFLENBQ25ELE9BQU8sS0FBSyxLQUFLLFNBQVMsQ0FBQTtBQUU1QixNQUFNLENBQUMsTUFBTSxNQUFNLEdBQUcsQ0FBQyxLQUFVLEVBQW1CLEVBQUUsQ0FDcEQsT0FBTyxLQUFLLEtBQUssUUFBUSxDQUFBO0FBRTNCLE1BQU0sQ0FBQyxNQUFNLE9BQU8sR0FBRyxDQUFDLEtBQVUsRUFBNkIsRUFBRTtJQUMvRCxJQUFJLENBQUMsS0FBSyxJQUFJLENBQUMsT0FBTyxLQUFLLEtBQUssUUFBUSxDQUFDLEVBQUU7UUFBRSxPQUFPLEtBQUssQ0FBQTtLQUFFO0lBRTNELE1BQU0sT0FBTyxHQUFHLEdBQUcsQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLElBQUksR0FBRyxDQUFDLE1BQU0sQ0FBQTtJQUVsRCxPQUFPLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLE9BQU8sT0FBTyxDQUFDLE9BQU8sQ0FBQztRQUNwRCxDQUFDLENBQUMsS0FBSyxZQUFZLE9BQU8sQ0FBQyxPQUFPLENBQUMsT0FBTztRQUMxQyxDQUFDLENBQUMsS0FBSyxDQUFDLFFBQVEsS0FBSyxDQUFDLElBQUksT0FBTyxLQUFLLENBQUMsUUFBUSxLQUFLLFFBQVEsQ0FBQyxDQUFBO0FBQ2pFLENBQUMsQ0FBQTtBQUVELE1BQU0sQ0FBQyxNQUFNLFdBQVcsR0FBa0IsQ0FBQyxLQUFVLEVBQXFDLEVBQUUsQ0FDMUYsTUFBTSxDQUFDLEtBQUssQ0FBQztJQUNiLENBQUMsQ0FBQyxLQUFLLENBQUMsV0FBVztJQUNuQixtQkFBbUIsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFBO0FBRXhELE1BQU0sQ0FBQyxNQUFNLEtBQUssR0FBRyxDQUFDLEtBQVUsRUFBa0IsRUFBRSxDQUNsRCxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUM7SUFDZCxDQUFDLE9BQU8sS0FBSyxDQUFDLE1BQU0sS0FBSyxXQUFXLENBQUM7SUFDckMsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiLy8gdHNsaW50OmRpc2FibGUgdmFyaWFibGUtbmFtZVxuXG5pbXBvcnQgaXNXaW5kb3cgZnJvbSAnLi9pc1dpbmRvdydcbmltcG9ydCB3aW4gZnJvbSAnLi93aW5kb3cnXG5cbmV4cG9ydCBjb25zdCB3aW5kb3cgPSAodGhpbmc6IGFueSk6IHRoaW5nIGlzIFdpbmRvdyA9PlxuICB0aGluZyA9PT0gd2luLndpbmRvdyB8fCBpc1dpbmRvdyh0aGluZylcblxuZXhwb3J0IGNvbnN0IGRvY0ZyYWcgPSAodGhpbmc6IGFueSk6IHRoaW5nIGlzIERvY3VtZW50RnJhZ21lbnQgPT5cbiAgb2JqZWN0KHRoaW5nKSAmJiB0aGluZy5ub2RlVHlwZSA9PT0gMTFcblxuZXhwb3J0IGNvbnN0IG9iamVjdCA9ICh0aGluZzogYW55KTogdGhpbmcgaXMgeyBbaW5kZXg6IHN0cmluZ106IGFueSB9ID0+XG4gICEhdGhpbmcgJiYgKHR5cGVvZiB0aGluZyA9PT0gJ29iamVjdCcpXG5cbmV4cG9ydCBjb25zdCBmdW5jID0gKHRoaW5nOiBhbnkpOiB0aGluZyBpcyAoLi4uYXJnczogYW55KSA9PiBhbnkgPT5cbiAgdHlwZW9mIHRoaW5nID09PSAnZnVuY3Rpb24nXG5cbmV4cG9ydCBjb25zdCBudW1iZXIgPSAodGhpbmc6IGFueSk6IHRoaW5nIGlzIG51bWJlciA9PlxuICB0eXBlb2YgdGhpbmcgPT09ICdudW1iZXInXG5cbmV4cG9ydCBjb25zdCBib29sID0gKHRoaW5nOiBhbnkpOiB0aGluZyBpcyBib29sZWFuID0+XG4gIHR5cGVvZiB0aGluZyA9PT0gJ2Jvb2xlYW4nXG5cbmV4cG9ydCBjb25zdCBzdHJpbmcgPSAodGhpbmc6IGFueSk6IHRoaW5nIGlzIHN0cmluZyA9PlxuICB0eXBlb2YgdGhpbmcgPT09ICdzdHJpbmcnXG5cbmV4cG9ydCBjb25zdCBlbGVtZW50ID0gKHRoaW5nOiBhbnkpOiB0aGluZyBpcyBJbnRlcmFjdC5FbGVtZW50ID0+IHtcbiAgaWYgKCF0aGluZyB8fCAodHlwZW9mIHRoaW5nICE9PSAnb2JqZWN0JykpIHsgcmV0dXJuIGZhbHNlIH1cblxuICBjb25zdCBfd2luZG93ID0gd2luLmdldFdpbmRvdyh0aGluZykgfHwgd2luLndpbmRvd1xuXG4gIHJldHVybiAoL29iamVjdHxmdW5jdGlvbi8udGVzdCh0eXBlb2YgX3dpbmRvdy5FbGVtZW50KVxuICAgID8gdGhpbmcgaW5zdGFuY2VvZiBfd2luZG93LkVsZW1lbnQgLy8gRE9NMlxuICAgIDogdGhpbmcubm9kZVR5cGUgPT09IDEgJiYgdHlwZW9mIHRoaW5nLm5vZGVOYW1lID09PSAnc3RyaW5nJylcbn1cblxuZXhwb3J0IGNvbnN0IHBsYWluT2JqZWN0OiB0eXBlb2Ygb2JqZWN0ID0gKHRoaW5nOiBhbnkpOiB0aGluZyBpcyB7IFtpbmRleDogc3RyaW5nXTogYW55IH0gPT5cbiAgb2JqZWN0KHRoaW5nKSAmJlxuICAhIXRoaW5nLmNvbnN0cnVjdG9yICYmXG4gIC9mdW5jdGlvbiBPYmplY3RcXGIvLnRlc3QodGhpbmcuY29uc3RydWN0b3IudG9TdHJpbmcoKSlcblxuZXhwb3J0IGNvbnN0IGFycmF5ID0gKHRoaW5nOiBhbnkpOiB0aGluZyBpcyBhbnlbXSA9PlxuICAob2JqZWN0KHRoaW5nKSAmJlxuICAodHlwZW9mIHRoaW5nLmxlbmd0aCAhPT0gJ3VuZGVmaW5lZCcpICYmXG4gIGZ1bmModGhpbmcuc3BsaWNlKSlcbiJdfQ==
export const plainObject = thing => object(thing) && !!thing.constructor && /function Object\b/.test(thing.constructor.toString());
export const array = thing => object(thing) && typeof thing.length !== 'undefined' && func(thing.splice);
//# sourceMappingURL=is.js.map

@@ -1,2 +0,2 @@

export default thing => !!(thing && thing.Window) && (thing instanceof thing.Window);
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaXNXaW5kb3cuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJpc1dpbmRvdy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxlQUFlLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxJQUFJLEtBQUssQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssWUFBWSxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZGVmYXVsdCB0aGluZyA9PiAhISh0aGluZyAmJiB0aGluZy5XaW5kb3cpICYmICh0aGluZyBpbnN0YW5jZW9mIHRoaW5nLldpbmRvdylcbiJdfQ==
export default (thing => !!(thing && thing.Window) && thing instanceof thing.Window);
//# sourceMappingURL=isWindow.js.map

@@ -1,36 +0,40 @@

import extend from './extend';
import * as is from './is';
import extend from "./extend.js";
import * as is from "./is.js";
export default function normalize(type, listeners, result) {
result = result || {};
if (is.string(type) && type.search(' ') !== -1) {
type = split(type);
result = result || {};
if (is.string(type) && type.search(' ') !== -1) {
type = split(type);
}
if (is.array(type)) {
return type.reduce((acc, t) => extend(acc, normalize(t, listeners, result)), result);
} // ({ type: fn }) -> ('', { type: fn })
if (is.object(type)) {
listeners = type;
type = '';
}
if (is.func(listeners)) {
result[type] = result[type] || [];
result[type].push(listeners);
} else if (is.array(listeners)) {
for (const l of listeners) {
normalize(type, l, result);
}
if (is.array(type)) {
return type.reduce((acc, t) => extend(acc, normalize(t, listeners, result)), result);
} else if (is.object(listeners)) {
for (const prefix in listeners) {
const combinedTypes = split(prefix).map(p => `${type}${p}`);
normalize(combinedTypes, listeners[prefix], result);
}
// ({ type: fn }) -> ('', { type: fn })
if (is.object(type)) {
listeners = type;
type = '';
}
if (is.func(listeners)) {
result[type] = result[type] || [];
result[type].push(listeners);
}
else if (is.array(listeners)) {
for (const l of listeners) {
normalize(type, l, result);
}
}
else if (is.object(listeners)) {
for (const prefix in listeners) {
const combinedTypes = split(prefix).map(p => `${type}${p}`);
normalize(combinedTypes, listeners[prefix], result);
}
}
return result;
}
return result;
}
function split(type) {
return type.trim().split(/ +/);
return type.trim().split(/ +/);
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm9ybWFsaXplTGlzdGVuZXJzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsibm9ybWFsaXplTGlzdGVuZXJzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sTUFBTSxNQUFNLFVBQVUsQ0FBQTtBQUM3QixPQUFPLEtBQUssRUFBRSxNQUFNLE1BQU0sQ0FBQTtBQU0xQixNQUFNLENBQUMsT0FBTyxVQUFVLFNBQVMsQ0FDL0IsSUFBeUIsRUFDekIsU0FBMkQsRUFDM0QsTUFBNEI7SUFFNUIsTUFBTSxHQUFHLE1BQU0sSUFBSSxFQUFFLENBQUE7SUFFckIsSUFBSSxFQUFFLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUU7UUFDOUMsSUFBSSxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQTtLQUNuQjtJQUVELElBQUksRUFBRSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsRUFBRTtRQUNsQixPQUFPLElBQUksQ0FBQyxNQUFNLENBQ2hCLENBQUMsR0FBRyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsTUFBTSxDQUFDLEdBQUcsRUFBRSxTQUFTLENBQUMsQ0FBQyxFQUFFLFNBQVMsRUFBRSxNQUFNLENBQUMsQ0FBQyxFQUN4RCxNQUFNLENBQ1AsQ0FBQTtLQUNGO0lBRUQsdUNBQXVDO0lBQ3ZDLElBQUksRUFBRSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRTtRQUNuQixTQUFTLEdBQUcsSUFBSSxDQUFBO1FBQ2hCLElBQUksR0FBRyxFQUFFLENBQUE7S0FDVjtJQUVELElBQUksRUFBRSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsRUFBRTtRQUN0QixNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQTtRQUNqQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFBO0tBQzdCO1NBQ0ksSUFBSSxFQUFFLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxFQUFFO1FBQzVCLEtBQUssTUFBTSxDQUFDLElBQUksU0FBUyxFQUFFO1lBQ3pCLFNBQVMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxFQUFFLE1BQU0sQ0FBQyxDQUFBO1NBQzNCO0tBQ0Y7U0FDSSxJQUFJLEVBQUUsQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLEVBQUU7UUFDN0IsS0FBSyxNQUFNLE1BQU0sSUFBSSxTQUFTLEVBQUU7WUFDOUIsTUFBTSxhQUFhLEdBQUcsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEdBQUcsSUFBSSxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUE7WUFFM0QsU0FBUyxDQUFDLGFBQWEsRUFBRSxTQUFTLENBQUMsTUFBTSxDQUFDLEVBQUUsTUFBTSxDQUFDLENBQUE7U0FDcEQ7S0FDRjtJQUVELE9BQU8sTUFBNkIsQ0FBQTtBQUN0QyxDQUFDO0FBRUQsU0FBUyxLQUFLLENBQUUsSUFBWTtJQUMxQixPQUFPLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUE7QUFDaEMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBleHRlbmQgZnJvbSAnLi9leHRlbmQnXG5pbXBvcnQgKiBhcyBpcyBmcm9tICcuL2lzJ1xuXG5leHBvcnQgaW50ZXJmYWNlIE5vcm1hbGl6ZWRMaXN0ZW5lcnMge1xuICBbdHlwZTogc3RyaW5nXTogSW50ZXJhY3QuTGlzdGVuZXJbXVxufVxuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBub3JtYWxpemUgKFxuICB0eXBlOiBJbnRlcmFjdC5FdmVudFR5cGVzLFxuICBsaXN0ZW5lcnM/OiBJbnRlcmFjdC5MaXN0ZW5lcnNBcmcgfCBJbnRlcmFjdC5MaXN0ZW5lcnNBcmdbXSxcbiAgcmVzdWx0PzogTm9ybWFsaXplZExpc3RlbmVycyxcbik6IE5vcm1hbGl6ZWRMaXN0ZW5lcnMge1xuICByZXN1bHQgPSByZXN1bHQgfHwge31cblxuICBpZiAoaXMuc3RyaW5nKHR5cGUpICYmIHR5cGUuc2VhcmNoKCcgJykgIT09IC0xKSB7XG4gICAgdHlwZSA9IHNwbGl0KHR5cGUpXG4gIH1cblxuICBpZiAoaXMuYXJyYXkodHlwZSkpIHtcbiAgICByZXR1cm4gdHlwZS5yZWR1Y2U8Tm9ybWFsaXplZExpc3RlbmVycz4oXG4gICAgICAoYWNjLCB0KSA9PiBleHRlbmQoYWNjLCBub3JtYWxpemUodCwgbGlzdGVuZXJzLCByZXN1bHQpKSxcbiAgICAgIHJlc3VsdFxuICAgIClcbiAgfVxuXG4gIC8vICh7IHR5cGU6IGZuIH0pIC0+ICgnJywgeyB0eXBlOiBmbiB9KVxuICBpZiAoaXMub2JqZWN0KHR5cGUpKSB7XG4gICAgbGlzdGVuZXJzID0gdHlwZVxuICAgIHR5cGUgPSAnJ1xuICB9XG5cbiAgaWYgKGlzLmZ1bmMobGlzdGVuZXJzKSkge1xuICAgIHJlc3VsdFt0eXBlXSA9IHJlc3VsdFt0eXBlXSB8fCBbXVxuICAgIHJlc3VsdFt0eXBlXS5wdXNoKGxpc3RlbmVycylcbiAgfVxuICBlbHNlIGlmIChpcy5hcnJheShsaXN0ZW5lcnMpKSB7XG4gICAgZm9yIChjb25zdCBsIG9mIGxpc3RlbmVycykge1xuICAgICAgbm9ybWFsaXplKHR5cGUsIGwsIHJlc3VsdClcbiAgICB9XG4gIH1cbiAgZWxzZSBpZiAoaXMub2JqZWN0KGxpc3RlbmVycykpIHtcbiAgICBmb3IgKGNvbnN0IHByZWZpeCBpbiBsaXN0ZW5lcnMpIHtcbiAgICAgIGNvbnN0IGNvbWJpbmVkVHlwZXMgPSBzcGxpdChwcmVmaXgpLm1hcChwID0+IGAke3R5cGV9JHtwfWApXG5cbiAgICAgIG5vcm1hbGl6ZShjb21iaW5lZFR5cGVzLCBsaXN0ZW5lcnNbcHJlZml4XSwgcmVzdWx0KVxuICAgIH1cbiAgfVxuXG4gIHJldHVybiByZXN1bHQgYXMgTm9ybWFsaXplZExpc3RlbmVyc1xufVxuXG5mdW5jdGlvbiBzcGxpdCAodHlwZTogc3RyaW5nKSB7XG4gIHJldHVybiB0eXBlLnRyaW0oKS5zcGxpdCgvICsvKVxufVxuIl19
//# sourceMappingURL=normalizeListeners.js.map
{
"name": "@interactjs/utils",
"version": "1.6.3",
"version": "1.7.0",
"license": "MIT",

@@ -5,0 +5,0 @@ "publishConfig": {

function pointerExtend(dest, source) {
for (const prop in source) {
const prefixedPropREs = pointerExtend.prefixedPropREs;
let deprecated = false;
// skip deprecated prefixed properties
for (const vendor in prefixedPropREs) {
if (prop.indexOf(vendor) === 0 && prefixedPropREs[vendor].test(prop)) {
deprecated = true;
break;
}
}
if (!deprecated && typeof source[prop] !== 'function') {
dest[prop] = source[prop];
}
for (const prop in source) {
const prefixedPropREs = pointerExtend.prefixedPropREs;
let deprecated = false; // skip deprecated prefixed properties
for (const vendor in prefixedPropREs) {
if (prop.indexOf(vendor) === 0 && prefixedPropREs[vendor].test(prop)) {
deprecated = true;
break;
}
}
return dest;
if (!deprecated && typeof source[prop] !== 'function') {
dest[prop] = source[prop];
}
}
return dest;
}
pointerExtend.prefixedPropREs = {
webkit: /(Movement[XY]|Radius[XY]|RotationAngle|Force)$/,
moz: /(Pressure)$/,
webkit: /(Movement[XY]|Radius[XY]|RotationAngle|Force)$/,
moz: /(Pressure)$/
};
export default pointerExtend;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9pbnRlckV4dGVuZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbInBvaW50ZXJFeHRlbmQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBS0EsU0FBUyxhQUFhLENBQUUsSUFBSSxFQUFFLE1BQU07SUFDbEMsS0FBSyxNQUFNLElBQUksSUFBSSxNQUFNLEVBQUU7UUFDekIsTUFBTSxlQUFlLEdBQUcsYUFBYSxDQUFDLGVBQWUsQ0FBQTtRQUNyRCxJQUFJLFVBQVUsR0FBRyxLQUFLLENBQUE7UUFFdEIsc0NBQXNDO1FBQ3RDLEtBQUssTUFBTSxNQUFNLElBQUksZUFBZSxFQUFFO1lBQ3BDLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLElBQUksZUFBZSxDQUFDLE1BQU0sQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRTtnQkFDcEUsVUFBVSxHQUFHLElBQUksQ0FBQTtnQkFDakIsTUFBSzthQUNOO1NBQ0Y7UUFFRCxJQUFJLENBQUMsVUFBVSxJQUFJLE9BQU8sTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLFVBQVUsRUFBRTtZQUNyRCxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFBO1NBQzFCO0tBQ0Y7SUFDRCxPQUFPLElBQUksQ0FBQTtBQUNiLENBQUM7QUFFRCxhQUFhLENBQUMsZUFBZSxHQUFHO0lBQzlCLE1BQU0sRUFBRSxnREFBZ0Q7SUFDeEQsR0FBRyxFQUFFLGFBQWE7Q0FDbkIsQ0FBQTtBQUVELGVBQWUsYUFBYSxDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGludGVyZmFjZSBQb2ludGVyRXh0ZW5kIHtcbiAgd2Via2l0OiBSZWdFeHBcbiAgW3ByZWZpeDogc3RyaW5nXTogUmVnRXhwXG59XG5cbmZ1bmN0aW9uIHBvaW50ZXJFeHRlbmQgKGRlc3QsIHNvdXJjZSkge1xuICBmb3IgKGNvbnN0IHByb3AgaW4gc291cmNlKSB7XG4gICAgY29uc3QgcHJlZml4ZWRQcm9wUkVzID0gcG9pbnRlckV4dGVuZC5wcmVmaXhlZFByb3BSRXNcbiAgICBsZXQgZGVwcmVjYXRlZCA9IGZhbHNlXG5cbiAgICAvLyBza2lwIGRlcHJlY2F0ZWQgcHJlZml4ZWQgcHJvcGVydGllc1xuICAgIGZvciAoY29uc3QgdmVuZG9yIGluIHByZWZpeGVkUHJvcFJFcykge1xuICAgICAgaWYgKHByb3AuaW5kZXhPZih2ZW5kb3IpID09PSAwICYmIHByZWZpeGVkUHJvcFJFc1t2ZW5kb3JdLnRlc3QocHJvcCkpIHtcbiAgICAgICAgZGVwcmVjYXRlZCA9IHRydWVcbiAgICAgICAgYnJlYWtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAoIWRlcHJlY2F0ZWQgJiYgdHlwZW9mIHNvdXJjZVtwcm9wXSAhPT0gJ2Z1bmN0aW9uJykge1xuICAgICAgZGVzdFtwcm9wXSA9IHNvdXJjZVtwcm9wXVxuICAgIH1cbiAgfVxuICByZXR1cm4gZGVzdFxufVxuXG5wb2ludGVyRXh0ZW5kLnByZWZpeGVkUHJvcFJFcyA9IHtcbiAgd2Via2l0OiAvKE1vdmVtZW50W1hZXXxSYWRpdXNbWFldfFJvdGF0aW9uQW5nbGV8Rm9yY2UpJC8sXG4gIG1vejogLyhQcmVzc3VyZSkkLyxcbn1cblxuZXhwb3J0IGRlZmF1bHQgcG9pbnRlckV4dGVuZFxuIl19
//# sourceMappingURL=pointerExtend.js.map

@@ -22,3 +22,3 @@ import pointerExtend from './pointerExtend';

};
touchBBox(event: Event | (Touch | MouseEvent | PointerEvent | TouchEvent | import("@interactjs/core/InteractEvent").InteractEvent<any, any>)[]): {
touchBBox(event: Event | (MouseEvent | Touch | PointerEvent | import("../types/types").InteractEvent<any, any> | TouchEvent)[]): {
x: number;

@@ -62,3 +62,3 @@ y: number;

readonly buttons: any;
} & Touch & MouseEvent) | ({
} & MouseEvent) | ({
coords: MockCoords;

@@ -77,3 +77,3 @@ readonly page: any;

readonly buttons: any;
} & Touch & PointerEvent) | ({
} & MouseEvent & PointerEvent) | ({
coords: MockCoords;

@@ -92,3 +92,3 @@ readonly page: any;

readonly buttons: any;
} & Touch & TouchEvent) | ({
} & MouseEvent & import("../types/types").InteractEvent<any, any>) | ({
coords: MockCoords;

@@ -107,3 +107,3 @@ readonly page: any;

readonly buttons: any;
} & Touch & import("@interactjs/core/InteractEvent").InteractEvent<any, any>) | ({
} & MouseEvent & TouchEvent) | ({
coords: MockCoords;

@@ -122,3 +122,3 @@ readonly page: any;

readonly buttons: any;
} & MouseEvent) | ({
} & Touch & MouseEvent) | ({
coords: MockCoords;

@@ -137,3 +137,3 @@ readonly page: any;

readonly buttons: any;
} & MouseEvent & PointerEvent) | ({
} & Touch & PointerEvent) | ({
coords: MockCoords;

@@ -152,3 +152,3 @@ readonly page: any;

readonly buttons: any;
} & MouseEvent & TouchEvent) | ({
} & Touch & import("../types/types").InteractEvent<any, any>) | ({
coords: MockCoords;

@@ -167,3 +167,3 @@ readonly page: any;

readonly buttons: any;
} & MouseEvent & import("@interactjs/core/InteractEvent").InteractEvent<any, any>) | ({
} & Touch & TouchEvent) | ({
coords: MockCoords;

@@ -210,3 +210,3 @@ readonly page: any;

readonly buttons: any;
} & PointerEvent & TouchEvent) | ({
} & PointerEvent & import("../types/types").InteractEvent<any, any>) | ({
coords: MockCoords;

@@ -225,3 +225,3 @@ readonly page: any;

readonly buttons: any;
} & PointerEvent & import("@interactjs/core/InteractEvent").InteractEvent<any, any>) | ({
} & PointerEvent & TouchEvent) | ({
coords: MockCoords;

@@ -240,3 +240,3 @@ readonly page: any;

readonly buttons: any;
} & import("@interactjs/core/InteractEvent").InteractEvent<any, any> & MouseEvent) | ({
} & import("../types/types").InteractEvent<any, any> & MouseEvent) | ({
coords: MockCoords;

@@ -255,3 +255,3 @@ readonly page: any;

readonly buttons: any;
} & import("@interactjs/core/InteractEvent").InteractEvent<any, any> & PointerEvent) | ({
} & import("../types/types").InteractEvent<any, any> & PointerEvent) | ({
coords: MockCoords;

@@ -270,3 +270,3 @@ readonly page: any;

readonly buttons: any;
} & import("@interactjs/core/InteractEvent").InteractEvent<any, any> & TouchEvent) | ({
} & import("../types/types").InteractEvent<any, any>) | ({
coords: MockCoords;

@@ -285,3 +285,3 @@ readonly page: any;

readonly buttons: any;
} & import("@interactjs/core/InteractEvent").InteractEvent<any, any>);
} & import("../types/types").InteractEvent<any, any> & TouchEvent);
};

@@ -288,0 +288,0 @@ export default pointerUtils;

@@ -1,214 +0,269 @@

import browser from './browser';
import dom from './domObjects';
import * as domUtils from './domUtils';
import hypot from './hypot';
import * as is from './is';
import pointerExtend from './pointerExtend';
import browser from "./browser.js";
import dom from "./domObjects.js";
import * as domUtils from "./domUtils.js";
import hypot from "./hypot.js";
import * as is from "./is.js";
import pointerExtend from "./pointerExtend.js";
const pointerUtils = {
copyCoords(dest, src) {
dest.page = dest.page || {};
dest.page.x = src.page.x;
dest.page.y = src.page.y;
dest.client = dest.client || {};
dest.client.x = src.client.x;
dest.client.y = src.client.y;
dest.timeStamp = src.timeStamp;
},
setCoordDeltas(targetObj, prev, cur) {
targetObj.page.x = cur.page.x - prev.page.x;
targetObj.page.y = cur.page.y - prev.page.y;
targetObj.client.x = cur.client.x - prev.client.x;
targetObj.client.y = cur.client.y - prev.client.y;
targetObj.timeStamp = cur.timeStamp - prev.timeStamp;
},
setCoordVelocity(targetObj, delta) {
const dt = Math.max(delta.timeStamp / 1000, 0.001);
targetObj.page.x = delta.page.x / dt;
targetObj.page.y = delta.page.y / dt;
targetObj.client.x = delta.client.x / dt;
targetObj.client.y = delta.client.y / dt;
targetObj.timeStamp = dt;
},
isNativePointer(pointer) {
return (pointer instanceof dom.Event || pointer instanceof dom.Touch);
},
// Get specified X/Y coords for mouse or event.touches[0]
getXY(type, pointer, xy) {
xy = xy || {};
type = type || 'page';
xy.x = pointer[type + 'X'];
xy.y = pointer[type + 'Y'];
return xy;
},
getPageXY(pointer, page) {
page = page || { x: 0, y: 0 };
// Opera Mobile handles the viewport and scrolling oddly
if (browser.isOperaMobile && pointerUtils.isNativePointer(pointer)) {
pointerUtils.getXY('screen', pointer, page);
page.x += window.scrollX;
page.y += window.scrollY;
copyCoords(dest, src) {
dest.page = dest.page || {};
dest.page.x = src.page.x;
dest.page.y = src.page.y;
dest.client = dest.client || {};
dest.client.x = src.client.x;
dest.client.y = src.client.y;
dest.timeStamp = src.timeStamp;
},
setCoordDeltas(targetObj, prev, cur) {
targetObj.page.x = cur.page.x - prev.page.x;
targetObj.page.y = cur.page.y - prev.page.y;
targetObj.client.x = cur.client.x - prev.client.x;
targetObj.client.y = cur.client.y - prev.client.y;
targetObj.timeStamp = cur.timeStamp - prev.timeStamp;
},
setCoordVelocity(targetObj, delta) {
const dt = Math.max(delta.timeStamp / 1000, 0.001);
targetObj.page.x = delta.page.x / dt;
targetObj.page.y = delta.page.y / dt;
targetObj.client.x = delta.client.x / dt;
targetObj.client.y = delta.client.y / dt;
targetObj.timeStamp = dt;
},
isNativePointer(pointer) {
return pointer instanceof dom.Event || pointer instanceof dom.Touch;
},
// Get specified X/Y coords for mouse or event.touches[0]
getXY(type, pointer, xy) {
xy = xy || {};
type = type || 'page';
xy.x = pointer[type + 'X'];
xy.y = pointer[type + 'Y'];
return xy;
},
getPageXY(pointer, page) {
page = page || {
x: 0,
y: 0
}; // Opera Mobile handles the viewport and scrolling oddly
if (browser.isOperaMobile && pointerUtils.isNativePointer(pointer)) {
pointerUtils.getXY('screen', pointer, page);
page.x += window.scrollX;
page.y += window.scrollY;
} else {
pointerUtils.getXY('page', pointer, page);
}
return page;
},
getClientXY(pointer, client) {
client = client || {};
if (browser.isOperaMobile && pointerUtils.isNativePointer(pointer)) {
// Opera Mobile handles the viewport and scrolling oddly
pointerUtils.getXY('screen', pointer, client);
} else {
pointerUtils.getXY('client', pointer, client);
}
return client;
},
getPointerId(pointer) {
return is.number(pointer.pointerId) ? pointer.pointerId : pointer.identifier;
},
setCoords(targetObj, pointers, timeStamp) {
const pointer = pointers.length > 1 ? pointerUtils.pointerAverage(pointers) : pointers[0];
const tmpXY = {};
pointerUtils.getPageXY(pointer, tmpXY);
targetObj.page.x = tmpXY.x;
targetObj.page.y = tmpXY.y;
pointerUtils.getClientXY(pointer, tmpXY);
targetObj.client.x = tmpXY.x;
targetObj.client.y = tmpXY.y;
targetObj.timeStamp = timeStamp;
},
pointerExtend,
getTouchPair(event) {
const touches = []; // array of touches is supplied
if (is.array(event)) {
touches[0] = event[0];
touches[1] = event[1];
} // an event
else {
if (event.type === 'touchend') {
if (event.touches.length === 1) {
touches[0] = event.touches[0];
touches[1] = event.changedTouches[0];
} else if (event.touches.length === 0) {
touches[0] = event.changedTouches[0];
touches[1] = event.changedTouches[1];
}
} else {
touches[0] = event.touches[0];
touches[1] = event.touches[1];
}
else {
pointerUtils.getXY('page', pointer, page);
}
return page;
},
getClientXY(pointer, client) {
client = client || {};
if (browser.isOperaMobile && pointerUtils.isNativePointer(pointer)) {
// Opera Mobile handles the viewport and scrolling oddly
pointerUtils.getXY('screen', pointer, client);
}
else {
pointerUtils.getXY('client', pointer, client);
}
return client;
},
getPointerId(pointer) {
return is.number(pointer.pointerId) ? pointer.pointerId : pointer.identifier;
},
setCoords(targetObj, pointers, timeStamp) {
const pointer = (pointers.length > 1
? pointerUtils.pointerAverage(pointers)
: pointers[0]);
const tmpXY = {};
pointerUtils.getPageXY(pointer, tmpXY);
targetObj.page.x = tmpXY.x;
targetObj.page.y = tmpXY.y;
pointerUtils.getClientXY(pointer, tmpXY);
targetObj.client.x = tmpXY.x;
targetObj.client.y = tmpXY.y;
targetObj.timeStamp = timeStamp;
},
pointerExtend,
getTouchPair(event) {
const touches = [];
// array of touches is supplied
if (is.array(event)) {
touches[0] = event[0];
touches[1] = event[1];
}
// an event
else {
if (event.type === 'touchend') {
if (event.touches.length === 1) {
touches[0] = event.touches[0];
touches[1] = event.changedTouches[0];
}
else if (event.touches.length === 0) {
touches[0] = event.changedTouches[0];
touches[1] = event.changedTouches[1];
}
}
else {
touches[0] = event.touches[0];
touches[1] = event.touches[1];
}
}
return touches;
},
pointerAverage(pointers) {
const average = {
pageX: 0,
pageY: 0,
clientX: 0,
clientY: 0,
screenX: 0,
screenY: 0,
};
for (const pointer of pointers) {
for (const prop in average) {
average[prop] += pointer[prop];
}
}
for (const prop in average) {
average[prop] /= pointers.length;
}
return average;
},
touchBBox(event) {
if (!event.length &&
!(event.touches &&
event.touches.length > 1)) {
return null;
}
const touches = pointerUtils.getTouchPair(event);
const minX = Math.min(touches[0].pageX, touches[1].pageX);
const minY = Math.min(touches[0].pageY, touches[1].pageY);
const maxX = Math.max(touches[0].pageX, touches[1].pageX);
const maxY = Math.max(touches[0].pageY, touches[1].pageY);
return {
x: minX,
y: minY,
left: minX,
top: minY,
right: maxX,
bottom: maxY,
width: maxX - minX,
height: maxY - minY,
};
},
touchDistance(event, deltaSource) {
const sourceX = deltaSource + 'X';
const sourceY = deltaSource + 'Y';
const touches = pointerUtils.getTouchPair(event);
const dx = touches[0][sourceX] - touches[1][sourceX];
const dy = touches[0][sourceY] - touches[1][sourceY];
return hypot(dx, dy);
},
touchAngle(event, deltaSource) {
const sourceX = deltaSource + 'X';
const sourceY = deltaSource + 'Y';
const touches = pointerUtils.getTouchPair(event);
const dx = touches[1][sourceX] - touches[0][sourceX];
const dy = touches[1][sourceY] - touches[0][sourceY];
const angle = 180 * Math.atan2(dy, dx) / Math.PI;
return angle;
},
getPointerType(pointer) {
return is.string(pointer.pointerType)
? pointer.pointerType
: is.number(pointer.pointerType)
? [undefined, undefined, 'touch', 'pen', 'mouse'][pointer.pointerType]
// if the PointerEvent API isn't available, then the "pointer" must
// be either a MouseEvent, TouchEvent, or Touch object
: /touch/.test(pointer.type) || pointer instanceof dom.Touch
? 'touch'
: 'mouse';
},
// [ event.target, event.currentTarget ]
getEventTargets(event) {
const path = is.func(event.composedPath) ? event.composedPath() : event.path;
return [
domUtils.getActualElement(path ? path[0] : event.target),
domUtils.getActualElement(event.currentTarget),
];
},
newCoords() {
return {
page: { x: 0, y: 0 },
client: { x: 0, y: 0 },
timeStamp: 0,
};
},
coordsToEvent(coords) {
const event = {
coords,
get page() { return this.coords.page; },
get client() { return this.coords.client; },
get timeStamp() { return this.coords.timeStamp; },
get pageX() { return this.coords.page.x; },
get pageY() { return this.coords.page.y; },
get clientX() { return this.coords.client.x; },
get clientY() { return this.coords.client.y; },
get pointerId() { return this.coords.pointerId; },
get target() { return this.coords.target; },
get type() { return this.coords.type; },
get pointerType() { return this.coords.pointerType; },
get buttons() { return this.coords.buttons; },
};
return event;
},
}
return touches;
},
pointerAverage(pointers) {
const average = {
pageX: 0,
pageY: 0,
clientX: 0,
clientY: 0,
screenX: 0,
screenY: 0
};
for (const pointer of pointers) {
for (const prop in average) {
average[prop] += pointer[prop];
}
}
for (const prop in average) {
average[prop] /= pointers.length;
}
return average;
},
touchBBox(event) {
if (!event.length && !(event.touches && event.touches.length > 1)) {
return null;
}
const touches = pointerUtils.getTouchPair(event);
const minX = Math.min(touches[0].pageX, touches[1].pageX);
const minY = Math.min(touches[0].pageY, touches[1].pageY);
const maxX = Math.max(touches[0].pageX, touches[1].pageX);
const maxY = Math.max(touches[0].pageY, touches[1].pageY);
return {
x: minX,
y: minY,
left: minX,
top: minY,
right: maxX,
bottom: maxY,
width: maxX - minX,
height: maxY - minY
};
},
touchDistance(event, deltaSource) {
const sourceX = deltaSource + 'X';
const sourceY = deltaSource + 'Y';
const touches = pointerUtils.getTouchPair(event);
const dx = touches[0][sourceX] - touches[1][sourceX];
const dy = touches[0][sourceY] - touches[1][sourceY];
return hypot(dx, dy);
},
touchAngle(event, deltaSource) {
const sourceX = deltaSource + 'X';
const sourceY = deltaSource + 'Y';
const touches = pointerUtils.getTouchPair(event);
const dx = touches[1][sourceX] - touches[0][sourceX];
const dy = touches[1][sourceY] - touches[0][sourceY];
const angle = 180 * Math.atan2(dy, dx) / Math.PI;
return angle;
},
getPointerType(pointer) {
return is.string(pointer.pointerType) ? pointer.pointerType : is.number(pointer.pointerType) ? [undefined, undefined, 'touch', 'pen', 'mouse'][pointer.pointerType] // if the PointerEvent API isn't available, then the "pointer" must
// be either a MouseEvent, TouchEvent, or Touch object
: /touch/.test(pointer.type) || pointer instanceof dom.Touch ? 'touch' : 'mouse';
},
// [ event.target, event.currentTarget ]
getEventTargets(event) {
const path = is.func(event.composedPath) ? event.composedPath() : event.path;
return [domUtils.getActualElement(path ? path[0] : event.target), domUtils.getActualElement(event.currentTarget)];
},
newCoords() {
return {
page: {
x: 0,
y: 0
},
client: {
x: 0,
y: 0
},
timeStamp: 0
};
},
coordsToEvent(coords) {
const event = {
coords,
get page() {
return this.coords.page;
},
get client() {
return this.coords.client;
},
get timeStamp() {
return this.coords.timeStamp;
},
get pageX() {
return this.coords.page.x;
},
get pageY() {
return this.coords.page.y;
},
get clientX() {
return this.coords.client.x;
},
get clientY() {
return this.coords.client.y;
},
get pointerId() {
return this.coords.pointerId;
},
get target() {
return this.coords.target;
},
get type() {
return this.coords.type;
},
get pointerType() {
return this.coords.pointerType;
},
get buttons() {
return this.coords.buttons;
}
};
return event;
}
};
export default pointerUtils;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9pbnRlclV0aWxzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsicG9pbnRlclV0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sT0FBTyxNQUFNLFdBQVcsQ0FBQTtBQUMvQixPQUFPLEdBQUcsTUFBTSxjQUFjLENBQUE7QUFDOUIsT0FBTyxLQUFLLFFBQVEsTUFBTSxZQUFZLENBQUE7QUFDdEMsT0FBTyxLQUFLLE1BQU0sU0FBUyxDQUFBO0FBQzNCLE9BQU8sS0FBSyxFQUFFLE1BQU0sTUFBTSxDQUFBO0FBQzFCLE9BQU8sYUFBYSxNQUFNLGlCQUFpQixDQUFBO0FBRTNDLE1BQU0sWUFBWSxHQUFHO0lBQ25CLFVBQVUsQ0FBRSxJQUFJLEVBQUUsR0FBRztRQUNuQixJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxJQUFJLElBQUksRUFBRSxDQUFBO1FBQzNCLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxHQUFHLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFBO1FBQ3hCLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxHQUFHLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFBO1FBRXhCLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLE1BQU0sSUFBSSxFQUFFLENBQUE7UUFDL0IsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQUcsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUE7UUFDNUIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQUcsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUE7UUFFNUIsSUFBSSxDQUFDLFNBQVMsR0FBRyxHQUFHLENBQUMsU0FBUyxDQUFBO0lBQ2hDLENBQUM7SUFFRCxjQUFjLENBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxHQUFHO1FBQ2xDLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxHQUFNLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxHQUFNLElBQUks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QUFDLENBQUEsQ0FBQyxDQUFDO1lBQzFDLElBQUksT0FBTyxLQUFNLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFBLENBQUMsQ0FBQztZQUM5QyxJQUFJLE9BQU8sS0FBTSxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQSxDQUFDLENBQUM7WUFDOUMsSUFBSSxTQUFTLEtBQU0sT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQSxDQUFDLENBQUM7WUFDakQsSUFBSSxNQUFNLEtBQU0sT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQSxDQUFDLENBQUM7WUFDM0MsSUFBSSxJQUFJLEtBQU0sT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQSxDQUFDLENBQUM7WUFDdkMsSUFBSSxXQUFXLEtBQU0sT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQSxDQUFDLENBQUM7WUFDckQsSUFBSSxPQUFPLEtBQU0sT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQSxDQUFDLENBQUM7U0FDOUMsQ0FBQTtRQUVELE9BQU8sS0FBd0UsQ0FBQTtJQUNqRixDQUFDO0NBQ0YsQ0FBQTtBQUVELGVBQWUsWUFBWSxDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IGJyb3dzZXIgZnJvbSAnLi9icm93c2VyJ1xuaW1wb3J0IGRvbSBmcm9tICcuL2RvbU9iamVjdHMnXG5pbXBvcnQgKiBhcyBkb21VdGlscyBmcm9tICcuL2RvbVV0aWxzJ1xuaW1wb3J0IGh5cG90IGZyb20gJy4vaHlwb3QnXG5pbXBvcnQgKiBhcyBpcyBmcm9tICcuL2lzJ1xuaW1wb3J0IHBvaW50ZXJFeHRlbmQgZnJvbSAnLi9wb2ludGVyRXh0ZW5kJ1xuXG5jb25zdCBwb2ludGVyVXRpbHMgPSB7XG4gIGNvcHlDb29yZHMgKGRlc3QsIHNyYykge1xuICAgIGRlc3QucGFnZSA9IGRlc3QucGFnZSB8fCB7fVxuICAgIGRlc3QucGFnZS54ID0gc3JjLnBhZ2UueFxuICAgIGRlc3QucGFnZS55ID0gc3JjLnBhZ2UueVxuXG4gICAgZGVzdC5jbGllbnQgPSBkZXN0LmNsaWVudCB8fCB7fVxuICAgIGRlc3QuY2xpZW50LnggPSBzcmMuY2xpZW50LnhcbiAgICBkZXN0LmNsaWVudC55ID0gc3JjLmNsaWVudC55XG5cbiAgICBkZXN0LnRpbWVTdGFtcCA9IHNyYy50aW1lU3RhbXBcbiAgfSxcblxuICBzZXRDb29yZERlbHRhcyAodGFyZ2V0T2JqLCBwcmV2LCBjdXIpIHtcbiAgICB0YXJnZXRPYmoucGFnZS54ICAgID0gY3VyLnBhZ2UueCAgICAtIHByZXYucGFnZS54XG4gICAgdGFyZ2V0T2JqLnBhZ2UueSAgICA9IGN1ci5wYWdlLnkgICAgLSBwcmV2LnBhZ2UueVxuICAgIHRhcmdldE9iai5jbGllbnQueCAgPSBjdXIuY2xpZW50LnggIC0gcHJldi5jbGllbnQueFxuICAgIHRhcmdldE9iai5jbGllbnQueSAgPSBjdXIuY2xpZW50LnkgIC0gcHJldi5jbGllbnQueVxuICAgIHRhcmdldE9iai50aW1lU3RhbXAgPSBjdXIudGltZVN0YW1wIC0gcHJldi50aW1lU3RhbXBcbiAgfSxcblxuICBzZXRDb29yZFZlbG9jaXR5ICh0YXJnZXRPYmosIGRlbHRhKSB7XG4gICAgY29uc3QgZHQgPSBNYXRoLm1heChkZWx0YS50aW1lU3RhbXAgLyAxMDAwLCAwLjAwMSlcblxuICAgIHRhcmdldE9iai5wYWdlLnggICA9IGRlbHRhLnBhZ2UueCAvIGR0XG4gICAgdGFyZ2V0T2JqLnBhZ2UueSAgID0gZGVsdGEucGFnZS55IC8gZHRcbiAgICB0YXJnZXRPYmouY2xpZW50LnggPSBkZWx0YS5jbGllbnQueCAvIGR0XG4gICAgdGFyZ2V0T2JqLmNsaWVudC55ID0gZGVsdGEuY2xpZW50LnkgLyBkdFxuICAgIHRhcmdldE9iai50aW1lU3RhbXAgPSBkdFxuICB9LFxuXG4gIGlzTmF0aXZlUG9pbnRlciAgKHBvaW50ZXIpIHtcbiAgICByZXR1cm4gKHBvaW50ZXIgaW5zdGFuY2VvZiBkb20uRXZlbnQgfHwgcG9pbnRlciBpbnN0YW5jZW9mIGRvbS5Ub3VjaClcbiAgfSxcblxuICAvLyBHZXQgc3BlY2lmaWVkIFgvWSBjb29yZHMgZm9yIG1vdXNlIG9yIGV2ZW50LnRvdWNoZXNbMF1cbiAgZ2V0WFkgKHR5cGUsIHBvaW50ZXIsIHh5KSB7XG4gICAgeHkgPSB4eSB8fCB7fVxuICAgIHR5cGUgPSB0eXBlIHx8ICdwYWdlJ1xuXG4gICAgeHkueCA9IHBvaW50ZXJbdHlwZSArICdYJ11cbiAgICB4eS55ID0gcG9pbnRlclt0eXBlICsgJ1knXVxuXG4gICAgcmV0dXJuIHh5XG4gIH0sXG5cbiAgZ2V0UGFnZVhZIChwb2ludGVyOiBJbnRlcmFjdC5Qb2ludGVyVHlwZSB8IEludGVyYWN0LkludGVyYWN0RXZlbnQsIHBhZ2U/OiBJbnRlcmFjdC5Qb2ludCkge1xuICAgIHBhZ2UgPSBwYWdlIHx8IHsgeDogMCwgeTogMCB9XG5cbiAgICAvLyBPcGVyYSBNb2JpbGUgaGFuZGxlcyB0aGUgdmlld3BvcnQgYW5kIHNjcm9sbGluZyBvZGRseVxuICAgIGlmIChicm93c2VyLmlzT3BlcmFNb2JpbGUgJiYgcG9pbnRlclV0aWxzLmlzTmF0aXZlUG9pbnRlcihwb2ludGVyKSkge1xuICAgICAgcG9pbnRlclV0aWxzLmdldFhZKCdzY3JlZW4nLCBwb2ludGVyLCBwYWdlKVxuXG4gICAgICBwYWdlLnggKz0gd2luZG93LnNjcm9sbFhcbiAgICAgIHBhZ2UueSArPSB3aW5kb3cuc2Nyb2xsWVxuICAgIH1cbiAgICBlbHNlIHtcbiAgICAgIHBvaW50ZXJVdGlscy5nZXRYWSgncGFnZScsIHBvaW50ZXIsIHBhZ2UpXG4gICAgfVxuXG4gICAgcmV0dXJuIHBhZ2VcbiAgfSxcblxuICBnZXRDbGllbnRYWSAocG9pbnRlciwgY2xpZW50KSB7XG4gICAgY2xpZW50ID0gY2xpZW50IHx8IHt9XG5cbiAgICBpZiAoYnJvd3Nlci5pc09wZXJhTW9iaWxlICYmIHBvaW50ZXJVdGlscy5pc05hdGl2ZVBvaW50ZXIocG9pbnRlcikpIHtcbiAgICAgIC8vIE9wZXJhIE1vYmlsZSBoYW5kbGVzIHRoZSB2aWV3cG9ydCBhbmQgc2Nyb2xsaW5nIG9kZGx5XG4gICAgICBwb2ludGVyVXRpbHMuZ2V0WFkoJ3NjcmVlbicsIHBvaW50ZXIsIGNsaWVudClcbiAgICB9XG4gICAgZWxzZSB7XG4gICAgICBwb2ludGVyVXRpbHMuZ2V0WFkoJ2NsaWVudCcsIHBvaW50ZXIsIGNsaWVudClcbiAgICB9XG5cbiAgICByZXR1cm4gY2xpZW50XG4gIH0sXG5cbiAgZ2V0UG9pbnRlcklkIChwb2ludGVyKSB7XG4gICAgcmV0dXJuIGlzLm51bWJlcihwb2ludGVyLnBvaW50ZXJJZCkgPyBwb2ludGVyLnBvaW50ZXJJZCA6IHBvaW50ZXIuaWRlbnRpZmllclxuICB9LFxuXG4gIHNldENvb3JkcyAodGFyZ2V0T2JqLCBwb2ludGVyczogYW55W10sIHRpbWVTdGFtcDogbnVtYmVyKSB7XG4gICAgY29uc3QgcG9pbnRlciA9IChwb2ludGVycy5sZW5ndGggPiAxXG4gICAgICA/IHBvaW50ZXJVdGlscy5wb2ludGVyQXZlcmFnZShwb2ludGVycylcbiAgICAgIDogcG9pbnRlcnNbMF0pXG5cbiAgICBjb25zdCB0bXBYWSA9IHt9IGFzIHsgeDogbnVtYmVyLCB5OiBudW1iZXIgfVxuXG4gICAgcG9pbnRlclV0aWxzLmdldFBhZ2VYWShwb2ludGVyLCB0bXBYWSlcbiAgICB0YXJnZXRPYmoucGFnZS54ID0gdG1wWFkueFxuICAgIHRhcmdldE9iai5wYWdlLnkgPSB0bXBYWS55XG5cbiAgICBwb2ludGVyVXRpbHMuZ2V0Q2xpZW50WFkocG9pbnRlciwgdG1wWFkpXG4gICAgdGFyZ2V0T2JqLmNsaWVudC54ID0gdG1wWFkueFxuICAgIHRhcmdldE9iai5jbGllbnQueSA9IHRtcFhZLnlcblxuICAgIHRhcmdldE9iai50aW1lU3RhbXAgPSB0aW1lU3RhbXBcbiAgfSxcblxuICBwb2ludGVyRXh0ZW5kLFxuXG4gIGdldFRvdWNoUGFpciAoZXZlbnQpIHtcbiAgICBjb25zdCB0b3VjaGVzID0gW11cblxuICAgIC8vIGFycmF5IG9mIHRvdWNoZXMgaXMgc3VwcGxpZWRcbiAgICBpZiAoaXMuYXJyYXkoZXZlbnQpKSB7XG4gICAgICB0b3VjaGVzWzBdID0gZXZlbnRbMF1cbiAgICAgIHRvdWNoZXNbMV0gPSBldmVudFsxXVxuICAgIH1cbiAgICAvLyBhbiBldmVudFxuICAgIGVsc2Uge1xuICAgICAgaWYgKGV2ZW50LnR5cGUgPT09ICd0b3VjaGVuZCcpIHtcbiAgICAgICAgaWYgKGV2ZW50LnRvdWNoZXMubGVuZ3RoID09PSAxKSB7XG4gICAgICAgICAgdG91Y2hlc1swXSA9IGV2ZW50LnRvdWNoZXNbMF1cbiAgICAgICAgICB0b3VjaGVzWzFdID0gZXZlbnQuY2hhbmdlZFRvdWNoZXNbMF1cbiAgICAgICAgfVxuICAgICAgICBlbHNlIGlmIChldmVudC50b3VjaGVzLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICAgIHRvdWNoZXNbMF0gPSBldmVudC5jaGFuZ2VkVG91Y2hlc1swXVxuICAgICAgICAgIHRvdWNoZXNbMV0gPSBldmVudC5jaGFuZ2VkVG91Y2hlc1sxXVxuICAgICAgICB9XG4gICAgICB9XG4gICAgICBlbHNlIHtcbiAgICAgICAgdG91Y2hlc1swXSA9IGV2ZW50LnRvdWNoZXNbMF1cbiAgICAgICAgdG91Y2hlc1sxXSA9IGV2ZW50LnRvdWNoZXNbMV1cbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gdG91Y2hlc1xuICB9LFxuXG4gIHBvaW50ZXJBdmVyYWdlIChwb2ludGVyczogUG9pbnRlckV2ZW50W10gfCBFdmVudFtdKSB7XG4gICAgY29uc3QgYXZlcmFnZSA9IHtcbiAgICAgIHBhZ2VYICA6IDAsXG4gICAgICBwYWdlWSAgOiAwLFxuICAgICAgY2xpZW50WDogMCxcbiAgICAgIGNsaWVudFk6IDAsXG4gICAgICBzY3JlZW5YOiAwLFxuICAgICAgc2NyZWVuWTogMCxcbiAgICB9XG5cbiAgICBmb3IgKGNvbnN0IHBvaW50ZXIgb2YgcG9pbnRlcnMpIHtcbiAgICAgIGZvciAoY29uc3QgcHJvcCBpbiBhdmVyYWdlKSB7XG4gICAgICAgIGF2ZXJhZ2VbcHJvcF0gKz0gcG9pbnRlcltwcm9wXVxuICAgICAgfVxuICAgIH1cbiAgICBmb3IgKGNvbnN0IHByb3AgaW4gYXZlcmFnZSkge1xuICAgICAgYXZlcmFnZVtwcm9wXSAvPSBwb2ludGVycy5sZW5ndGhcbiAgICB9XG5cbiAgICByZXR1cm4gYXZlcmFnZVxuICB9LFxuXG4gIHRvdWNoQkJveCAoZXZlbnQ6IEV2ZW50IHwgQXJyYXk8KEludGVyYWN0LlBvaW50ZXJUeXBlKSB8IFRvdWNoRXZlbnQ+KSB7XG4gICAgaWYgKCEoZXZlbnQgYXMgYW55KS5sZW5ndGggJiZcbiAgICAgICAgISgoZXZlbnQgYXMgVG91Y2hFdmVudCkudG91Y2hlcyAmJlxuICAgICAgICAgIChldmVudCBhcyBUb3VjaEV2ZW50KS50b3VjaGVzLmxlbmd0aCA+IDEpKSB7XG4gICAgICByZXR1cm4gbnVsbFxuICAgIH1cblxuICAgIGNvbnN0IHRvdWNoZXMgPSBwb2ludGVyVXRpbHMuZ2V0VG91Y2hQYWlyKGV2ZW50KVxuICAgIGNvbnN0IG1pblggPSBNYXRoLm1pbih0b3VjaGVzWzBdLnBhZ2VYLCB0b3VjaGVzWzFdLnBhZ2VYKVxuICAgIGNvbnN0IG1pblkgPSBNYXRoLm1pbih0b3VjaGVzWzBdLnBhZ2VZLCB0b3VjaGVzWzFdLnBhZ2VZKVxuICAgIGNvbnN0IG1heFggPSBNYXRoLm1heCh0b3VjaGVzWzBdLnBhZ2VYLCB0b3VjaGVzWzFdLnBhZ2VYKVxuICAgIGNvbnN0IG1heFkgPSBNYXRoLm1heCh0b3VjaGVzWzBdLnBhZ2VZLCB0b3VjaGVzWzFdLnBhZ2VZKVxuXG4gICAgcmV0dXJuIHtcbiAgICAgIHg6IG1pblgsXG4gICAgICB5OiBtaW5ZLFxuICAgICAgbGVmdDogbWluWCxcbiAgICAgIHRvcDogbWluWSxcbiAgICAgIHJpZ2h0OiBtYXhYLFxuICAgICAgYm90dG9tOiBtYXhZLFxuICAgICAgd2lkdGg6IG1heFggLSBtaW5YLFxuICAgICAgaGVpZ2h0OiBtYXhZIC0gbWluWSxcbiAgICB9XG4gIH0sXG5cbiAgdG91Y2hEaXN0YW5jZSAoZXZlbnQsIGRlbHRhU291cmNlKSB7XG4gICAgY29uc3Qgc291cmNlWCA9IGRlbHRhU291cmNlICsgJ1gnXG4gICAgY29uc3Qgc291cmNlWSA9IGRlbHRhU291cmNlICsgJ1knXG4gICAgY29uc3QgdG91Y2hlcyA9IHBvaW50ZXJVdGlscy5nZXRUb3VjaFBhaXIoZXZlbnQpXG5cbiAgICBjb25zdCBkeCA9IHRvdWNoZXNbMF1bc291cmNlWF0gLSB0b3VjaGVzWzFdW3NvdXJjZVhdXG4gICAgY29uc3QgZHkgPSB0b3VjaGVzWzBdW3NvdXJjZVldIC0gdG91Y2hlc1sxXVtzb3VyY2VZXVxuXG4gICAgcmV0dXJuIGh5cG90KGR4LCBkeSlcbiAgfSxcblxuICB0b3VjaEFuZ2xlIChldmVudCwgZGVsdGFTb3VyY2UpIHtcbiAgICBjb25zdCBzb3VyY2VYID0gZGVsdGFTb3VyY2UgKyAnWCdcbiAgICBjb25zdCBzb3VyY2VZID0gZGVsdGFTb3VyY2UgKyAnWSdcbiAgICBjb25zdCB0b3VjaGVzID0gcG9pbnRlclV0aWxzLmdldFRvdWNoUGFpcihldmVudClcbiAgICBjb25zdCBkeCA9IHRvdWNoZXNbMV1bc291cmNlWF0gLSB0b3VjaGVzWzBdW3NvdXJjZVhdXG4gICAgY29uc3QgZHkgPSB0b3VjaGVzWzFdW3NvdXJjZVldIC0gdG91Y2hlc1swXVtzb3VyY2VZXVxuICAgIGNvbnN0IGFuZ2xlID0gMTgwICogTWF0aC5hdGFuMihkeSwgZHgpIC8gTWF0aC5QSVxuXG4gICAgcmV0dXJuICBhbmdsZVxuICB9LFxuXG4gIGdldFBvaW50ZXJUeXBlIChwb2ludGVyKSB7XG4gICAgcmV0dXJuIGlzLnN0cmluZyhwb2ludGVyLnBvaW50ZXJUeXBlKVxuICAgICAgPyBwb2ludGVyLnBvaW50ZXJUeXBlXG4gICAgICA6IGlzLm51bWJlcihwb2ludGVyLnBvaW50ZXJUeXBlKVxuICAgICAgICA/IFt1bmRlZmluZWQsIHVuZGVmaW5lZCwgJ3RvdWNoJywgJ3BlbicsICdtb3VzZSddW3BvaW50ZXIucG9pbnRlclR5cGVdXG4gICAgICAgIC8vIGlmIHRoZSBQb2ludGVyRXZlbnQgQVBJIGlzbid0IGF2YWlsYWJsZSwgdGhlbiB0aGUgXCJwb2ludGVyXCIgbXVzdFxuICAgICAgICAvLyBiZSBlaXRoZXIgYSBNb3VzZUV2ZW50LCBUb3VjaEV2ZW50LCBvciBUb3VjaCBvYmplY3RcbiAgICAgICAgOiAvdG91Y2gvLnRlc3QocG9pbnRlci50eXBlKSB8fCBwb2ludGVyIGluc3RhbmNlb2YgZG9tLlRvdWNoXG4gICAgICAgICAgPyAndG91Y2gnXG4gICAgICAgICAgOiAnbW91c2UnXG4gIH0sXG5cbiAgLy8gWyBldmVudC50YXJnZXQsIGV2ZW50LmN1cnJlbnRUYXJnZXQgXVxuICBnZXRFdmVudFRhcmdldHMgKGV2ZW50KSB7XG4gICAgY29uc3QgcGF0aCA9IGlzLmZ1bmMoZXZlbnQuY29tcG9zZWRQYXRoKSA/IGV2ZW50LmNvbXBvc2VkUGF0aCgpIDogZXZlbnQucGF0aFxuXG4gICAgcmV0dXJuIFtcbiAgICAgIGRvbVV0aWxzLmdldEFjdHVhbEVsZW1lbnQocGF0aCA/IHBhdGhbMF0gOiBldmVudC50YXJnZXQpLFxuICAgICAgZG9tVXRpbHMuZ2V0QWN0dWFsRWxlbWVudChldmVudC5jdXJyZW50VGFyZ2V0KSxcbiAgICBdXG4gIH0sXG5cbiAgbmV3Q29vcmRzICgpIHtcbiAgICByZXR1cm4ge1xuICAgICAgcGFnZSAgICAgOiB7IHg6IDAsIHk6IDAgfSxcbiAgICAgIGNsaWVudCAgIDogeyB4OiAwLCB5OiAwIH0sXG4gICAgICB0aW1lU3RhbXA6IDAsXG4gICAgfVxuICB9LFxuXG4gIGNvb3Jkc1RvRXZlbnQgKGNvb3JkczogTW9ja0Nvb3Jkcykge1xuICAgIGNvbnN0IGV2ZW50ID0ge1xuICAgICAgY29vcmRzLFxuICAgICAgZ2V0IHBhZ2UgKCkgeyByZXR1cm4gdGhpcy5jb29yZHMucGFnZSB9LFxuICAgICAgZ2V0IGNsaWVudCAoKSB7IHJldHVybiB0aGlzLmNvb3Jkcy5jbGllbnQgfSxcbiAgICAgIGdldCB0aW1lU3RhbXAgKCkgeyByZXR1cm4gdGhpcy5jb29yZHMudGltZVN0YW1wIH0sXG4gICAgICBnZXQgcGFnZVggKCkgeyByZXR1cm4gdGhpcy5jb29yZHMucGFnZS54IH0sXG4gICAgICBnZXQgcGFnZVkgKCkgeyByZXR1cm4gdGhpcy5jb29yZHMucGFnZS55IH0sXG4gICAgICBnZXQgY2xpZW50WCAoKSB7IHJldHVybiB0aGlzLmNvb3Jkcy5jbGllbnQueCB9LFxuICAgICAgZ2V0IGNsaWVudFkgKCkgeyByZXR1cm4gdGhpcy5jb29yZHMuY2xpZW50LnkgfSxcbiAgICAgIGdldCBwb2ludGVySWQgKCkgeyByZXR1cm4gdGhpcy5jb29yZHMucG9pbnRlcklkIH0sXG4gICAgICBnZXQgdGFyZ2V0ICgpIHsgcmV0dXJuIHRoaXMuY29vcmRzLnRhcmdldCB9LFxuICAgICAgZ2V0IHR5cGUgKCkgeyByZXR1cm4gdGhpcy5jb29yZHMudHlwZSB9LFxuICAgICAgZ2V0IHBvaW50ZXJUeXBlICgpIHsgcmV0dXJuIHRoaXMuY29vcmRzLnBvaW50ZXJUeXBlIH0sXG4gICAgICBnZXQgYnV0dG9ucyAoKSB7IHJldHVybiB0aGlzLmNvb3Jkcy5idXR0b25zIH0sXG4gICAgfVxuXG4gICAgcmV0dXJuIGV2ZW50IGFzIHR5cGVvZiBldmVudCAmIEludGVyYWN0LlBvaW50ZXJUeXBlICYgSW50ZXJhY3QuUG9pbnRlckV2ZW50VHlwZVxuICB9LFxufVxuXG5leHBvcnQgZGVmYXVsdCBwb2ludGVyVXRpbHNcblxuZXhwb3J0IGludGVyZmFjZSBNb2NrQ29vcmRzIHtcbiAgcGFnZTogSW50ZXJhY3QuUG9pbnRcbiAgY2xpZW50OiBJbnRlcmFjdC5Qb2ludFxuICB0aW1lU3RhbXA/OiBudW1iZXJcbiAgcG9pbnRlcklkPzogYW55XG4gIHRhcmdldD86IGFueVxuICB0eXBlPzogc3RyaW5nXG4gIHBvaW50ZXJUeXBlPzogc3RyaW5nXG4gIGJ1dHRvbnM/OiBudW1iZXJcbn1cbiJdfQ==
//# sourceMappingURL=pointerUtils.js.map
let lastTime = 0;
let request;
let cancel;
function init(window) {
request = window.requestAnimationFrame;
cancel = window.cancelAnimationFrame;
if (!request) {
const vendors = ['ms', 'moz', 'webkit', 'o'];
for (const vendor of vendors) {
request = window[`${vendor}RequestAnimationFrame`];
cancel = window[`${vendor}CancelAnimationFrame`] || window[`${vendor}CancelRequestAnimationFrame`];
}
request = window.requestAnimationFrame;
cancel = window.cancelAnimationFrame;
if (!request) {
const vendors = ['ms', 'moz', 'webkit', 'o'];
for (const vendor of vendors) {
request = window[`${vendor}RequestAnimationFrame`];
cancel = window[`${vendor}CancelAnimationFrame`] || window[`${vendor}CancelRequestAnimationFrame`];
}
if (!request) {
request = callback => {
const currTime = Date.now();
const timeToCall = Math.max(0, 16 - (currTime - lastTime));
// eslint-disable-next-line standard/no-callback-literal
const token = setTimeout(() => { callback(currTime + timeToCall); }, timeToCall);
lastTime = currTime + timeToCall;
return token;
};
cancel = token => clearTimeout(token);
}
}
if (!request) {
request = callback => {
const currTime = Date.now();
const timeToCall = Math.max(0, 16 - (currTime - lastTime)); // eslint-disable-next-line standard/no-callback-literal
const token = setTimeout(() => {
callback(currTime + timeToCall);
}, timeToCall);
lastTime = currTime + timeToCall;
return token;
};
cancel = token => clearTimeout(token);
}
}
export default {
request: callback => request(callback),
cancel: token => cancel(token),
init,
request: callback => request(callback),
cancel: token => cancel(token),
init
};
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmFmLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsicmFmLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLElBQUksUUFBUSxHQUFHLENBQUMsQ0FBQTtBQUNoQixJQUFJLE9BQU8sQ0FBQTtBQUNYLElBQUksTUFBTSxDQUFBO0FBRVYsU0FBUyxJQUFJLENBQUUsTUFBTTtJQUNuQixPQUFPLEdBQUcsTUFBTSxDQUFDLHFCQUFxQixDQUFBO0lBQ3RDLE1BQU0sR0FBRyxNQUFNLENBQUMsb0JBQW9CLENBQUE7SUFFcEMsSUFBSSxDQUFDLE9BQU8sRUFBRTtRQUNaLE1BQU0sT0FBTyxHQUFHLENBQUMsSUFBSSxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsR0FBRyxDQUFDLENBQUE7UUFFNUMsS0FBSyxNQUFNLE1BQU0sSUFBSSxPQUFPLEVBQUU7WUFDNUIsT0FBTyxHQUFHLE1BQU0sQ0FBQyxHQUFHLE1BQU0sdUJBQXVCLENBQUMsQ0FBQTtZQUNsRCxNQUFNLEdBQUcsTUFBTSxDQUFDLEdBQUcsTUFBTSxzQkFBc0IsQ0FBQyxJQUFJLE1BQU0sQ0FBQyxHQUFHLE1BQU0sNkJBQTZCLENBQUMsQ0FBQTtTQUNuRztLQUNGO0lBRUQsSUFBSSxDQUFDLE9BQU8sRUFBRTtRQUNaLE9BQU8sR0FBRyxRQUFRLENBQUMsRUFBRTtZQUNuQixNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUE7WUFDM0IsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsRUFBRSxHQUFHLENBQUMsUUFBUSxHQUFHLFFBQVEsQ0FBQyxDQUFDLENBQUE7WUFDMUQsd0RBQXdEO1lBQ3hELE1BQU0sS0FBSyxHQUFHLFVBQVUsQ0FBQyxHQUFHLEVBQUUsR0FBRyxRQUFRLENBQUMsUUFBUSxHQUFHLFVBQVUsQ0FBQyxDQUFBLENBQUMsQ0FBQyxFQUNoRSxVQUFVLENBQUMsQ0FBQTtZQUViLFFBQVEsR0FBRyxRQUFRLEdBQUcsVUFBVSxDQUFBO1lBQ2hDLE9BQU8sS0FBSyxDQUFBO1FBQ2QsQ0FBQyxDQUFBO1FBRUQsTUFBTSxHQUFHLEtBQUssQ0FBQyxFQUFFLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxDQUFBO0tBQ3RDO0FBQ0gsQ0FBQztBQUVELGVBQWU7SUFDYixPQUFPLEVBQUUsUUFBUSxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDO0lBQ3RDLE1BQU0sRUFBRSxLQUFLLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUM7SUFDOUIsSUFBSTtDQUNMLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJsZXQgbGFzdFRpbWUgPSAwXG5sZXQgcmVxdWVzdFxubGV0IGNhbmNlbFxuXG5mdW5jdGlvbiBpbml0ICh3aW5kb3cpIHtcbiAgcmVxdWVzdCA9IHdpbmRvdy5yZXF1ZXN0QW5pbWF0aW9uRnJhbWVcbiAgY2FuY2VsID0gd2luZG93LmNhbmNlbEFuaW1hdGlvbkZyYW1lXG5cbiAgaWYgKCFyZXF1ZXN0KSB7XG4gICAgY29uc3QgdmVuZG9ycyA9IFsnbXMnLCAnbW96JywgJ3dlYmtpdCcsICdvJ11cblxuICAgIGZvciAoY29uc3QgdmVuZG9yIG9mIHZlbmRvcnMpIHtcbiAgICAgIHJlcXVlc3QgPSB3aW5kb3dbYCR7dmVuZG9yfVJlcXVlc3RBbmltYXRpb25GcmFtZWBdXG4gICAgICBjYW5jZWwgPSB3aW5kb3dbYCR7dmVuZG9yfUNhbmNlbEFuaW1hdGlvbkZyYW1lYF0gfHwgd2luZG93W2Ake3ZlbmRvcn1DYW5jZWxSZXF1ZXN0QW5pbWF0aW9uRnJhbWVgXVxuICAgIH1cbiAgfVxuXG4gIGlmICghcmVxdWVzdCkge1xuICAgIHJlcXVlc3QgPSBjYWxsYmFjayA9PiB7XG4gICAgICBjb25zdCBjdXJyVGltZSA9IERhdGUubm93KClcbiAgICAgIGNvbnN0IHRpbWVUb0NhbGwgPSBNYXRoLm1heCgwLCAxNiAtIChjdXJyVGltZSAtIGxhc3RUaW1lKSlcbiAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBzdGFuZGFyZC9uby1jYWxsYmFjay1saXRlcmFsXG4gICAgICBjb25zdCB0b2tlbiA9IHNldFRpbWVvdXQoKCkgPT4geyBjYWxsYmFjayhjdXJyVGltZSArIHRpbWVUb0NhbGwpIH0sXG4gICAgICAgIHRpbWVUb0NhbGwpXG5cbiAgICAgIGxhc3RUaW1lID0gY3VyclRpbWUgKyB0aW1lVG9DYWxsXG4gICAgICByZXR1cm4gdG9rZW5cbiAgICB9XG5cbiAgICBjYW5jZWwgPSB0b2tlbiA9PiBjbGVhclRpbWVvdXQodG9rZW4pXG4gIH1cbn1cblxuZXhwb3J0IGRlZmF1bHQge1xuICByZXF1ZXN0OiBjYWxsYmFjayA9PiByZXF1ZXN0KGNhbGxiYWNrKSxcbiAgY2FuY2VsOiB0b2tlbiA9PiBjYW5jZWwodG9rZW4pLFxuICBpbml0LFxufVxuIl19
//# sourceMappingURL=raf.js.map

@@ -1,58 +0,63 @@

import { closest, getElementRect, parentNode } from './domUtils';
import extend from './extend';
import * as is from './is';
import { closest, getElementRect, parentNode } from "./domUtils.js";
import extend from "./extend.js";
import * as is from "./is.js";
export function getStringOptionResult(value, target, element) {
if (value === 'parent') {
return parentNode(element);
}
if (value === 'self') {
return target.getRect(element);
}
return closest(element, value);
if (value === 'parent') {
return parentNode(element);
}
if (value === 'self') {
return target.getRect(element);
}
return closest(element, value);
}
export function resolveRectLike(value, target, element, functionArgs) {
if (is.string(value)) {
value = getStringOptionResult(value, target, element);
}
else if (is.func(value)) {
value = value(...functionArgs);
}
if (is.element(value)) {
value = getElementRect(value);
}
return value;
if (is.string(value)) {
value = getStringOptionResult(value, target, element);
} else if (is.func(value)) {
value = value(...functionArgs);
}
if (is.element(value)) {
value = getElementRect(value);
}
return value;
}
export function rectToXY(rect) {
return rect && {
x: 'x' in rect ? rect.x : rect.left,
y: 'y' in rect ? rect.y : rect.top,
};
return rect && {
x: 'x' in rect ? rect.x : rect.left,
y: 'y' in rect ? rect.y : rect.top
};
}
export function xywhToTlbr(rect) {
if (rect && !('left' in rect && 'top' in rect)) {
rect = extend({}, rect);
rect.left = rect.x || 0;
rect.top = rect.y || 0;
rect.right = rect.right || (rect.left + rect.width);
rect.bottom = rect.bottom || (rect.top + rect.height);
}
return rect;
if (rect && !('left' in rect && 'top' in rect)) {
rect = extend({}, rect);
rect.left = rect.x || 0;
rect.top = rect.y || 0;
rect.right = rect.right || rect.left + rect.width;
rect.bottom = rect.bottom || rect.top + rect.height;
}
return rect;
}
export function tlbrToXywh(rect) {
if (rect && !('x' in rect && 'y' in rect)) {
rect = extend({}, rect);
rect.x = rect.left || 0;
rect.y = rect.top || 0;
rect.width = rect.width || (rect.right - rect.x);
rect.height = rect.height || (rect.bottom - rect.y);
}
return rect;
if (rect && !('x' in rect && 'y' in rect)) {
rect = extend({}, rect);
rect.x = rect.left || 0;
rect.y = rect.top || 0;
rect.width = rect.width || rect.right - rect.x;
rect.height = rect.height || rect.bottom - rect.y;
}
return rect;
}
export default {
getStringOptionResult,
resolveRectLike,
rectToXY,
xywhToTlbr,
tlbrToXywh,
getStringOptionResult,
resolveRectLike,
rectToXY,
xywhToTlbr,
tlbrToXywh
};
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVjdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbInJlY3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE9BQU8sRUFBRSxjQUFjLEVBQUUsVUFBVSxFQUFFLE1BQU0sWUFBWSxDQUFBO0FBQ2hFLE9BQU8sTUFBTSxNQUFNLFVBQVUsQ0FBQTtBQUM3QixPQUFPLEtBQUssRUFBRSxNQUFNLE1BQU0sQ0FBQTtBQUUxQixNQUFNLFVBQVUscUJBQXFCLENBQUUsS0FBVSxFQUFFLE1BQTJCLEVBQUUsT0FBTztJQUNyRixJQUFJLEtBQUssS0FBSyxRQUFRLEVBQUU7UUFBRSxPQUFPLFVBQVUsQ0FBQyxPQUFPLENBQUMsQ0FBQTtLQUFFO0lBRXRELElBQUksS0FBSyxLQUFLLE1BQU0sRUFBRTtRQUFFLE9BQU8sTUFBTSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQTtLQUFFO0lBRXhELE9BQU8sT0FBTyxDQUFDLE9BQU8sRUFBRSxLQUFLLENBQUMsQ0FBQTtBQUNoQyxDQUFDO0FBRUQsTUFBTSxVQUFVLGVBQWUsQ0FDN0IsS0FBaUMsRUFDakMsTUFBNEIsRUFDNUIsT0FBMEIsRUFDMUIsWUFBZ0I7SUFFaEIsSUFBSSxFQUFFLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxFQUFFO1FBQ3BCLEtBQUssR0FBRyxxQkFBcUIsQ0FBQyxLQUFLLEVBQUUsTUFBTSxFQUFFLE9BQU8sQ0FBQyxDQUFBO0tBQ3REO1NBQ0ksSUFBSSxFQUFFLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxFQUFFO1FBQ3ZCLEtBQUssR0FBRyxLQUFLLENBQUMsR0FBRyxZQUFZLENBQUMsQ0FBQTtLQUMvQjtJQUVELElBQUksRUFBRSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsRUFBRTtRQUNyQixLQUFLLEdBQUcsY0FBYyxDQUFDLEtBQUssQ0FBQyxDQUFBO0tBQzlCO0lBRUQsT0FBTyxLQUFzQixDQUFBO0FBQy9CLENBQUM7QUFFRCxNQUFNLFVBQVUsUUFBUSxDQUFFLElBQUk7SUFDNUIsT0FBUSxJQUFJLElBQUk7UUFDZCxDQUFDLEVBQUUsR0FBRyxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUk7UUFDbkMsQ0FBQyxFQUFFLEdBQUcsSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHO0tBQ25DLENBQUE7QUFDSCxDQUFDO0FBRUQsTUFBTSxVQUFVLFVBQVUsQ0FBRSxJQUFJO0lBQzlCLElBQUksSUFBSSxJQUFJLENBQUMsQ0FBQyxNQUFNLElBQUksSUFBSSxJQUFJLEtBQUssSUFBSSxJQUFJLENBQUMsRUFBRTtRQUM5QyxJQUFJLEdBQUcsTUFBTSxDQUFDLEVBQUUsRUFBRSxJQUFJLENBQUMsQ0FBQTtRQUV2QixJQUFJLENBQUMsSUFBSSxHQUFLLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFBO1FBQ3pCLElBQUksQ0FBQyxHQUFHLEdBQU0sSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUE7UUFDekIsSUFBSSxDQUFDLEtBQUssR0FBSSxJQUFJLENBQUMsS0FBSyxJQUFNLENBQUMsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUE7UUFDdEQsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsTUFBTSxJQUFLLENBQUMsSUFBSSxDQUFDLEdBQUcsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUE7S0FDdkQ7SUFFRCxPQUFPLElBQUksQ0FBQTtBQUNiLENBQUM7QUFFRCxNQUFNLFVBQVUsVUFBVSxDQUFFLElBQUk7SUFDOUIsSUFBSSxJQUFJLElBQUksQ0FBQyxDQUFDLEdBQUcsSUFBSSxJQUFJLElBQUksR0FBRyxJQUFJLElBQUksQ0FBQyxFQUFFO1FBQ3pDLElBQUksR0FBRyxNQUFNLENBQUMsRUFBRSxFQUFFLElBQUksQ0FBQyxDQUFBO1FBRXZCLElBQUksQ0FBQyxDQUFDLEdBQVEsSUFBSSxDQUFDLElBQUksSUFBSSxDQUFDLENBQUE7UUFDNUIsSUFBSSxDQUFDLENBQUMsR0FBUSxJQUFJLENBQUMsR0FBRyxJQUFLLENBQUMsQ0FBQTtRQUM1QixJQUFJLENBQUMsS0FBSyxHQUFJLElBQUksQ0FBQyxLQUFLLElBQUssQ0FBQyxJQUFJLENBQUMsS0FBSyxHQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQTtRQUNuRCxJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxNQUFNLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQTtLQUNwRDtJQUVELE9BQU8sSUFBSSxDQUFBO0FBQ2IsQ0FBQztBQUVELGVBQWU7SUFDYixxQkFBcUI7SUFDckIsZUFBZTtJQUNmLFFBQVE7SUFDUixVQUFVO0lBQ1YsVUFBVTtDQUNYLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjbG9zZXN0LCBnZXRFbGVtZW50UmVjdCwgcGFyZW50Tm9kZSB9IGZyb20gJy4vZG9tVXRpbHMnXG5pbXBvcnQgZXh0ZW5kIGZyb20gJy4vZXh0ZW5kJ1xuaW1wb3J0ICogYXMgaXMgZnJvbSAnLi9pcydcblxuZXhwb3J0IGZ1bmN0aW9uIGdldFN0cmluZ09wdGlvblJlc3VsdCAodmFsdWU6IGFueSwgdGFyZ2V0OiBJbnRlcmFjdC5IYXNHZXRSZWN0LCBlbGVtZW50KSB7XG4gIGlmICh2YWx1ZSA9PT0gJ3BhcmVudCcpIHsgcmV0dXJuIHBhcmVudE5vZGUoZWxlbWVudCkgfVxuXG4gIGlmICh2YWx1ZSA9PT0gJ3NlbGYnKSB7IHJldHVybiB0YXJnZXQuZ2V0UmVjdChlbGVtZW50KSB9XG5cbiAgcmV0dXJuIGNsb3Nlc3QoZWxlbWVudCwgdmFsdWUpXG59XG5cbmV4cG9ydCBmdW5jdGlvbiByZXNvbHZlUmVjdExpa2U8VCBleHRlbmRzIGFueVtdPiAoXG4gIHZhbHVlOiBJbnRlcmFjdC5SZWN0UmVzb2x2YWJsZTxUPixcbiAgdGFyZ2V0PzogSW50ZXJhY3QuSGFzR2V0UmVjdCxcbiAgZWxlbWVudD86IEludGVyYWN0LkVsZW1lbnQsXG4gIGZ1bmN0aW9uQXJncz86IFRcbikge1xuICBpZiAoaXMuc3RyaW5nKHZhbHVlKSkge1xuICAgIHZhbHVlID0gZ2V0U3RyaW5nT3B0aW9uUmVzdWx0KHZhbHVlLCB0YXJnZXQsIGVsZW1lbnQpXG4gIH1cbiAgZWxzZSBpZiAoaXMuZnVuYyh2YWx1ZSkpIHtcbiAgICB2YWx1ZSA9IHZhbHVlKC4uLmZ1bmN0aW9uQXJncylcbiAgfVxuXG4gIGlmIChpcy5lbGVtZW50KHZhbHVlKSkge1xuICAgIHZhbHVlID0gZ2V0RWxlbWVudFJlY3QodmFsdWUpXG4gIH1cblxuICByZXR1cm4gdmFsdWUgYXMgSW50ZXJhY3QuUmVjdFxufVxuXG5leHBvcnQgZnVuY3Rpb24gcmVjdFRvWFkgKHJlY3QpIHtcbiAgcmV0dXJuICByZWN0ICYmIHtcbiAgICB4OiAneCcgaW4gcmVjdCA/IHJlY3QueCA6IHJlY3QubGVmdCxcbiAgICB5OiAneScgaW4gcmVjdCA/IHJlY3QueSA6IHJlY3QudG9wLFxuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB4eXdoVG9UbGJyIChyZWN0KSB7XG4gIGlmIChyZWN0ICYmICEoJ2xlZnQnIGluIHJlY3QgJiYgJ3RvcCcgaW4gcmVjdCkpIHtcbiAgICByZWN0ID0gZXh0ZW5kKHt9LCByZWN0KVxuXG4gICAgcmVjdC5sZWZ0ICAgPSByZWN0LnggfHwgMFxuICAgIHJlY3QudG9wICAgID0gcmVjdC55IHx8IDBcbiAgICByZWN0LnJpZ2h0ICA9IHJlY3QucmlnaHQgICB8fCAocmVjdC5sZWZ0ICsgcmVjdC53aWR0aClcbiAgICByZWN0LmJvdHRvbSA9IHJlY3QuYm90dG9tICB8fCAocmVjdC50b3AgKyByZWN0LmhlaWdodClcbiAgfVxuXG4gIHJldHVybiByZWN0XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB0bGJyVG9YeXdoIChyZWN0KSB7XG4gIGlmIChyZWN0ICYmICEoJ3gnIGluIHJlY3QgJiYgJ3knIGluIHJlY3QpKSB7XG4gICAgcmVjdCA9IGV4dGVuZCh7fSwgcmVjdClcblxuICAgIHJlY3QueCAgICAgID0gcmVjdC5sZWZ0IHx8IDBcbiAgICByZWN0LnkgICAgICA9IHJlY3QudG9wICB8fCAwXG4gICAgcmVjdC53aWR0aCAgPSByZWN0LndpZHRoICB8fCAocmVjdC5yaWdodCAgLSByZWN0LngpXG4gICAgcmVjdC5oZWlnaHQgPSByZWN0LmhlaWdodCB8fCAocmVjdC5ib3R0b20gLSByZWN0LnkpXG4gIH1cblxuICByZXR1cm4gcmVjdFxufVxuXG5leHBvcnQgZGVmYXVsdCB7XG4gIGdldFN0cmluZ09wdGlvblJlc3VsdCxcbiAgcmVzb2x2ZVJlY3RMaWtlLFxuICByZWN0VG9YWSxcbiAgeHl3aFRvVGxicixcbiAgdGxiclRvWHl3aCxcbn1cbiJdfQ==
//# sourceMappingURL=rect.js.map

@@ -5,5 +5,18 @@ declare function createGrid(grid: (Interact.Rect | Interact.Point) & {

offset: Interact.Point;
}): (x: any, y: any) => {
range: number;
}): {
(x: any, y: any): {
range: number;
};
_isSnapGrid: boolean;
grid: (import("../../types/types").Point & {
range?: number;
limits: import("../../types/types").Rect;
offset: import("../../types/types").Point;
}) | (import("../../types/types").Rect & {
range?: number;
limits: import("../../types/types").Rect;
offset: import("../../types/types").Point;
});
coordFields: string[][];
};
export default createGrid;
function createGrid(grid) {
const coordFields = [
['x', 'y'],
['left', 'top'],
['right', 'bottom'],
['width', 'height'],
].filter(([xField, yField]) => xField in grid || yField in grid);
return function (x, y) {
const { range, limits = {
left: -Infinity,
right: Infinity,
top: -Infinity,
bottom: Infinity,
}, offset = { x: 0, y: 0 }, } = grid;
const result = { range };
for (const [xField, yField] of coordFields) {
const gridx = Math.round((x - offset.x) / grid[xField]);
const gridy = Math.round((y - offset.y) / grid[yField]);
result[xField] = Math.max(limits.left, Math.min(limits.right, gridx * grid[xField] + offset.x));
result[yField] = Math.max(limits.top, Math.min(limits.bottom, gridy * grid[yField] + offset.y));
}
return result;
const coordFields = [['x', 'y'], ['left', 'top'], ['right', 'bottom'], ['width', 'height']].filter(([xField, yField]) => xField in grid || yField in grid);
const gridFunc = function snapGrid(x, y) {
const {
range,
limits = {
left: -Infinity,
right: Infinity,
top: -Infinity,
bottom: Infinity
},
offset = {
x: 0,
y: 0
}
} = grid;
const result = {
range
};
for (const [xField, yField] of coordFields) {
const gridx = Math.round((x - offset.x) / grid[xField]);
const gridy = Math.round((y - offset.y) / grid[yField]);
result[xField] = Math.max(limits.left, Math.min(limits.right, gridx * grid[xField] + offset.x));
result[yField] = Math.max(limits.top, Math.min(limits.bottom, gridy * grid[yField] + offset.y));
}
return result;
};
gridFunc._isSnapGrid = true;
gridFunc.grid = grid;
gridFunc.coordFields = coordFields;
return gridFunc;
}
export default createGrid;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JpZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbImdyaWQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsU0FBUyxVQUFVLENBQUUsSUFBMEc7SUFDN0gsTUFBTSxXQUFXLEdBQUc7UUFDbEIsQ0FBQyxHQUFHLEVBQUUsR0FBRyxDQUFDO1FBQ1YsQ0FBQyxNQUFNLEVBQUUsS0FBSyxDQUFDO1FBQ2YsQ0FBQyxPQUFPLEVBQUUsUUFBUSxDQUFDO1FBQ25CLENBQUMsT0FBTyxFQUFFLFFBQVEsQ0FBQztLQUNwQixDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsTUFBTSxFQUFFLE1BQU0sQ0FBQyxFQUFFLEVBQUUsQ0FBQyxNQUFNLElBQUksSUFBSSxJQUFJLE1BQU0sSUFBSSxJQUFJLENBQUMsQ0FBQTtJQUVoRSxPQUFPLFVBQVUsQ0FBQyxFQUFFLENBQUM7UUFDbkIsTUFBTSxFQUNKLEtBQUssRUFDTCxNQUFNLEdBQUc7WUFDUCxJQUFJLEVBQUksQ0FBQyxRQUFRO1lBQ2pCLEtBQUssRUFBSSxRQUFRO1lBQ2pCLEdBQUcsRUFBSyxDQUFDLFFBQVE7WUFDakIsTUFBTSxFQUFHLFFBQVE7U0FDbEIsRUFDRCxNQUFNLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsR0FDeEIsR0FBRyxJQUFJLENBQUE7UUFFUixNQUFNLE1BQU0sR0FBRyxFQUFFLEtBQUssRUFBRSxDQUFBO1FBRXhCLEtBQUssTUFBTSxDQUFDLE1BQU0sRUFBRSxNQUFNLENBQUMsSUFBSSxXQUFXLEVBQUU7WUFDMUMsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsR0FBRyxNQUFNLENBQUMsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUE7WUFDdkQsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsR0FBRyxNQUFNLENBQUMsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUE7WUFFdkQsTUFBTSxDQUFDLE1BQU0sQ0FBQyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsS0FBSyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQTtZQUMvRixNQUFNLENBQUMsTUFBTSxDQUFDLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsR0FBRyxFQUFFLElBQUksQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLE1BQU0sRUFBRSxLQUFLLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFBO1NBQ2hHO1FBRUQsT0FBTyxNQUFNLENBQUE7SUFDZixDQUFDLENBQUE7QUFDSCxDQUFDO0FBRUQsZUFBZSxVQUFVLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJmdW5jdGlvbiBjcmVhdGVHcmlkIChncmlkOiAoSW50ZXJhY3QuUmVjdCB8IEludGVyYWN0LlBvaW50KSAmIHsgcmFuZ2U/OiBudW1iZXIsIGxpbWl0czogSW50ZXJhY3QuUmVjdCwgb2Zmc2V0OiBJbnRlcmFjdC5Qb2ludCB9KSB7XG4gIGNvbnN0IGNvb3JkRmllbGRzID0gW1xuICAgIFsneCcsICd5J10sXG4gICAgWydsZWZ0JywgJ3RvcCddLFxuICAgIFsncmlnaHQnLCAnYm90dG9tJ10sXG4gICAgWyd3aWR0aCcsICdoZWlnaHQnXSxcbiAgXS5maWx0ZXIoKFt4RmllbGQsIHlGaWVsZF0pID0+IHhGaWVsZCBpbiBncmlkIHx8IHlGaWVsZCBpbiBncmlkKVxuXG4gIHJldHVybiBmdW5jdGlvbiAoeCwgeSkge1xuICAgIGNvbnN0IHtcbiAgICAgIHJhbmdlLFxuICAgICAgbGltaXRzID0ge1xuICAgICAgICBsZWZ0ICA6IC1JbmZpbml0eSxcbiAgICAgICAgcmlnaHQgOiAgSW5maW5pdHksXG4gICAgICAgIHRvcCAgIDogLUluZmluaXR5LFxuICAgICAgICBib3R0b206ICBJbmZpbml0eSxcbiAgICAgIH0sXG4gICAgICBvZmZzZXQgPSB7IHg6IDAsIHk6IDAgfSxcbiAgICB9ID0gZ3JpZFxuXG4gICAgY29uc3QgcmVzdWx0ID0geyByYW5nZSB9XG5cbiAgICBmb3IgKGNvbnN0IFt4RmllbGQsIHlGaWVsZF0gb2YgY29vcmRGaWVsZHMpIHtcbiAgICAgIGNvbnN0IGdyaWR4ID0gTWF0aC5yb3VuZCgoeCAtIG9mZnNldC54KSAvIGdyaWRbeEZpZWxkXSlcbiAgICAgIGNvbnN0IGdyaWR5ID0gTWF0aC5yb3VuZCgoeSAtIG9mZnNldC55KSAvIGdyaWRbeUZpZWxkXSlcblxuICAgICAgcmVzdWx0W3hGaWVsZF0gPSBNYXRoLm1heChsaW1pdHMubGVmdCwgTWF0aC5taW4obGltaXRzLnJpZ2h0LCBncmlkeCAqIGdyaWRbeEZpZWxkXSArIG9mZnNldC54KSlcbiAgICAgIHJlc3VsdFt5RmllbGRdID0gTWF0aC5tYXgobGltaXRzLnRvcCwgTWF0aC5taW4obGltaXRzLmJvdHRvbSwgZ3JpZHkgKiBncmlkW3lGaWVsZF0gKyBvZmZzZXQueSkpXG4gICAgfVxuXG4gICAgcmV0dXJuIHJlc3VsdFxuICB9XG59XG5cbmV4cG9ydCBkZWZhdWx0IGNyZWF0ZUdyaWRcbiJdfQ==
//# sourceMappingURL=grid.js.map

@@ -1,3 +0,3 @@

import grid from './grid';
import grid from "./grid.js";
export { grid };
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJpbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLElBQUksTUFBTSxRQUFRLENBQUE7QUFFekIsT0FBTyxFQUFFLElBQUksRUFBRSxDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IGdyaWQgZnJvbSAnLi9ncmlkJ1xuXG5leHBvcnQgeyBncmlkIH1cbiJdfQ==
//# sourceMappingURL=index.js.map

@@ -1,38 +0,39 @@

import isWindow from './isWindow';
import isWindow from "./isWindow.js";
const win = {
realWindow: undefined,
window: undefined,
getWindow,
init,
realWindow: undefined,
window: undefined,
getWindow,
init
};
export function init(window) {
// get wrapped window if using Shadow DOM polyfill
win.realWindow = window;
// create a TextNode
const el = window.document.createTextNode('');
// check if it's wrapped by a polyfill
if (el.ownerDocument !== window.document &&
typeof window.wrap === 'function' &&
window.wrap(el) === el) {
// use wrapped window
window = window.wrap(window);
}
win.window = window;
// get wrapped window if using Shadow DOM polyfill
win.realWindow = window; // create a TextNode
const el = window.document.createTextNode(''); // check if it's wrapped by a polyfill
if (el.ownerDocument !== window.document && typeof window.wrap === 'function' && window.wrap(el) === el) {
// use wrapped window
window = window.wrap(window);
}
win.window = window;
}
if (typeof window === 'undefined') {
win.window = undefined;
win.realWindow = undefined;
win.window = undefined;
win.realWindow = undefined;
} else {
init(window);
}
else {
init(window);
}
export function getWindow(node) {
if (isWindow(node)) {
return node;
}
const rootNode = (node.ownerDocument || node);
return rootNode.defaultView || win.window;
if (isWindow(node)) {
return node;
}
const rootNode = node.ownerDocument || node;
return rootNode.defaultView || win.window;
}
win.init = init;
export default win;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2luZG93LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsid2luZG93LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sUUFBUSxNQUFNLFlBQVksQ0FBQTtBQUVqQyxNQUFNLEdBQUcsR0FBRztJQUNWLFVBQVUsRUFBRSxTQUFtQjtJQUMvQixNQUFNLEVBQUUsU0FBbUI7SUFDM0IsU0FBUztJQUNULElBQUk7Q0FDTCxDQUFBO0FBRUQsTUFBTSxVQUFVLElBQUksQ0FBRSxNQUE0QztJQUNoRSxrREFBa0Q7SUFFbEQsR0FBRyxDQUFDLFVBQVUsR0FBRyxNQUFNLENBQUE7SUFFdkIsb0JBQW9CO0lBQ3BCLE1BQU0sRUFBRSxHQUFHLE1BQU0sQ0FBQyxRQUFRLENBQUMsY0FBYyxDQUFDLEVBQUUsQ0FBQyxDQUFBO0lBRTdDLHNDQUFzQztJQUN0QyxJQUFJLEVBQUUsQ0FBQyxhQUFhLEtBQUssTUFBTSxDQUFDLFFBQVE7UUFDcEMsT0FBTyxNQUFNLENBQUMsSUFBSSxLQUFLLFVBQVU7UUFDbkMsTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsS0FBSyxFQUFFLEVBQUU7UUFDeEIscUJBQXFCO1FBQ3JCLE1BQU0sR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFBO0tBQzdCO0lBRUQsR0FBRyxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUE7QUFDckIsQ0FBQztBQUVELElBQUksT0FBTyxNQUFNLEtBQUssV0FBVyxFQUFFO0lBQ2pDLEdBQUcsQ0FBQyxNQUFNLEdBQU8sU0FBUyxDQUFBO0lBQzFCLEdBQUcsQ0FBQyxVQUFVLEdBQUcsU0FBUyxDQUFBO0NBQzNCO0tBQ0k7SUFDSCxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUE7Q0FDYjtBQUVELE1BQU0sVUFBVSxTQUFTLENBQUUsSUFBSTtJQUM3QixJQUFJLFFBQVEsQ0FBQyxJQUFJLENBQUMsRUFBRTtRQUNsQixPQUFPLElBQUksQ0FBQTtLQUNaO0lBRUQsTUFBTSxRQUFRLEdBQUcsQ0FBQyxJQUFJLENBQUMsYUFBYSxJQUFJLElBQUksQ0FBQyxDQUFBO0lBRTdDLE9BQU8sUUFBUSxDQUFDLFdBQVcsSUFBSSxHQUFHLENBQUMsTUFBTSxDQUFBO0FBQzNDLENBQUM7QUFFRCxHQUFHLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQTtBQUVmLGVBQWUsR0FBRyxDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IGlzV2luZG93IGZyb20gJy4vaXNXaW5kb3cnXG5cbmNvbnN0IHdpbiA9IHtcbiAgcmVhbFdpbmRvdzogdW5kZWZpbmVkIGFzIFdpbmRvdyxcbiAgd2luZG93OiB1bmRlZmluZWQgYXMgV2luZG93LFxuICBnZXRXaW5kb3csXG4gIGluaXQsXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpbml0ICh3aW5kb3c6IFdpbmRvdyAmIHsgd3JhcD86ICguLi5hcmdzKSA9PiBhbnkgfSkge1xuICAvLyBnZXQgd3JhcHBlZCB3aW5kb3cgaWYgdXNpbmcgU2hhZG93IERPTSBwb2x5ZmlsbFxuXG4gIHdpbi5yZWFsV2luZG93ID0gd2luZG93XG5cbiAgLy8gY3JlYXRlIGEgVGV4dE5vZGVcbiAgY29uc3QgZWwgPSB3aW5kb3cuZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUoJycpXG5cbiAgLy8gY2hlY2sgaWYgaXQncyB3cmFwcGVkIGJ5IGEgcG9seWZpbGxcbiAgaWYgKGVsLm93bmVyRG9jdW1lbnQgIT09IHdpbmRvdy5kb2N1bWVudCAmJlxuICAgICAgdHlwZW9mIHdpbmRvdy53cmFwID09PSAnZnVuY3Rpb24nICYmXG4gICAgd2luZG93LndyYXAoZWwpID09PSBlbCkge1xuICAgIC8vIHVzZSB3cmFwcGVkIHdpbmRvd1xuICAgIHdpbmRvdyA9IHdpbmRvdy53cmFwKHdpbmRvdylcbiAgfVxuXG4gIHdpbi53aW5kb3cgPSB3aW5kb3dcbn1cblxuaWYgKHR5cGVvZiB3aW5kb3cgPT09ICd1bmRlZmluZWQnKSB7XG4gIHdpbi53aW5kb3cgICAgID0gdW5kZWZpbmVkXG4gIHdpbi5yZWFsV2luZG93ID0gdW5kZWZpbmVkXG59XG5lbHNlIHtcbiAgaW5pdCh3aW5kb3cpXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRXaW5kb3cgKG5vZGUpIHtcbiAgaWYgKGlzV2luZG93KG5vZGUpKSB7XG4gICAgcmV0dXJuIG5vZGVcbiAgfVxuXG4gIGNvbnN0IHJvb3ROb2RlID0gKG5vZGUub3duZXJEb2N1bWVudCB8fCBub2RlKVxuXG4gIHJldHVybiByb290Tm9kZS5kZWZhdWx0VmlldyB8fCB3aW4ud2luZG93XG59XG5cbndpbi5pbml0ID0gaW5pdFxuXG5leHBvcnQgZGVmYXVsdCB3aW5cbiJdfQ==
//# sourceMappingURL=window.js.map

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc