Socket
Socket
Sign inDemoInstall

selecto

Package Overview
Dependencies
Maintainers
1
Versions
102
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

selecto - npm Package Compare versions

Comparing version 1.18.2 to 1.19.0

declaration/index.cjs.d.ts

2

declaration/SelectoManager.d.ts

@@ -23,3 +23,3 @@ import EventEmitter from "@scena/event-emitter";

checkScroll(): void;
findSelectableTargets(datas?: any): void;
findSelectableTargets(data?: any): void;
clickTarget(e: MouseEvent | TouchEvent, clickedTarget?: Element): this;

@@ -26,0 +26,0 @@ private setKeyController;

@@ -71,2 +71,3 @@ import { IObject } from "@daybrush/utils";

inputEvent: any;
data: Record<string, any>;
}

@@ -82,2 +83,3 @@ export interface OnSelectEnd<T = Selecto> extends OnSelect<T>, CurrentTarget<T> {

datas: IObject<any>;
data: IObject<any>;
clientX: number;

@@ -84,0 +86,0 @@ clientY: number;

@@ -7,3 +7,3 @@ /*

repository: git+https://github.com/daybrush/selecto.git
version: 1.18.2
version: 1.19.0
*/

@@ -351,3 +351,3 @@ 'use strict';

_this._onDragStart = function (e, clickedTarget) {
var datas = e.datas,
var data = e.data,
clientX = e.clientX,

@@ -371,11 +371,12 @@ clientY = e.clientY,

datas.innerWidth = window.innerWidth;
datas.innerHeight = window.innerHeight;
data.data = {};
data.innerWidth = window.innerWidth;
data.innerHeight = window.innerHeight;
_this.findSelectableTargets(datas);
_this.findSelectableTargets(data);
datas.startSelectedTargets = _this.selectedTargets;
datas.scaleMatrix = cssToMat.createMatrix();
datas.containerX = 0;
datas.containerY = 0;
data.startSelectedTargets = _this.selectedTargets;
data.scaleMatrix = cssToMat.createMatrix();
data.containerX = 0;
data.containerY = 0;
var boundArea = {

@@ -391,5 +392,5 @@ left: -Infinity,

datas.containerX = containerRect.left;
datas.containerY = containerRect.top;
datas.scaleMatrix = cssToMat.getDistElementMatrix(_this.container, rootContainer);
data.containerX = containerRect.left;
data.containerY = containerRect.top;
data.scaleMatrix = cssToMat.getDistElementMatrix(_this.container, rootContainer);
}

@@ -442,3 +443,3 @@

datas.boundArea = boundArea;
data.boundArea = boundArea;
var hitRect = {

@@ -455,3 +456,3 @@ left: clientX,

if (!selectFromInside || selectByClick && !clickBySelectEnd) {
var pointTarget = _this._findElement(clickedTarget || elementFromPoint(clientX, clientY), datas.selectableTargets);
var pointTarget = _this._findElement(clickedTarget || elementFromPoint(clientX, clientY), data.selectableTargets);

@@ -500,3 +501,5 @@ firstPassedTargets = pointTarget ? [pointTarget] : [];

var result = !e.isClick && isTrusted ? _this.emit("dragStart", __assign({}, e)) : true;
var result = !e.isClick && isTrusted ? _this.emit("dragStart", __assign(__assign({}, e), {
data: data.data
})) : true;

@@ -510,15 +513,15 @@ if (!result) {

firstPassedTargets = passTargets(_this.selectedTargets, firstPassedTargets, _this.continueSelectWithoutDeselect);
datas.startPassedTargets = _this.selectedTargets;
data.startPassedTargets = _this.selectedTargets;
} else {
datas.startPassedTargets = [];
data.startPassedTargets = [];
}
_this._select(_this.selectedTargets, firstPassedTargets, hitRect, inputEvent, true);
_this._select(_this.selectedTargets, firstPassedTargets, hitRect, e, true);
datas.startX = clientX;
datas.startY = clientY;
datas.selectFlag = false;
datas.preventDragFromInside = false;
var offsetPos = cssToMat.calculateMatrixDist(datas.scaleMatrix, [clientX - datas.containerX, clientY - datas.containerY]);
datas.boundsArea = _this.target.style.cssText += "position: ".concat(rootContainer ? "absolute" : "fixed", ";") + "left:0px;top:0px;" + "transform: translate(".concat(offsetPos[0], "px, ").concat(offsetPos[1], "px)");
data.startX = clientX;
data.startY = clientY;
data.selectFlag = false;
data.preventDragFromInside = false;
var offsetPos = cssToMat.calculateMatrixDist(data.scaleMatrix, [clientX - data.containerX, clientY - data.containerY]);
data.boundsArea = _this.target.style.cssText += "position: ".concat(rootContainer ? "absolute" : "fixed", ";") + "left:0px;top:0px;" + "transform: translate(".concat(offsetPos[0], "px, ").concat(offsetPos[1], "px)");

@@ -529,8 +532,8 @@ if (isPreventSelect && selectByClick && !clickBySelectEnd) {

if (preventDragFromInside) {
_this._selectEnd(datas.startSelectedTargets, datas.startPassedTargets, hitRect, e);
_this._selectEnd(data.startSelectedTargets, data.startPassedTargets, hitRect, e);
datas.preventDragFromInside = true;
data.preventDragFromInside = true;
}
} else {
datas.selectFlag = true;
data.selectFlag = true;

@@ -548,3 +551,3 @@ if (type === "touchstart") {

if (clickBySelectEnd) {
datas.selectFlag = false;
data.selectFlag = false;
e.preventDrag();

@@ -558,3 +561,3 @@ }

_this._onDrag = function (e) {
if (e.datas.selectFlag) {
if (e.data.selectFlag) {
var scrollOptions = _this.scrollOptions; // If it is a scrolling position, pass drag

@@ -571,6 +574,6 @@

_this._onDragEnd = function (e) {
var datas = e.datas,
var data = e.data,
inputEvent = e.inputEvent;
var rect = getRect(e, _this.options.ratio);
var selectFlag = datas.selectFlag;
var selectFlag = data.selectFlag;
/**

@@ -583,3 +586,3 @@ * When the drag ends (triggers on mouseup or touchend after drag), the dragEnd event is called.

if (inputEvent && !e.isClick) {
if (inputEvent) {
_this.emit("dragEnd", __assign(__assign({

@@ -591,2 +594,3 @@ isDouble: !!e.isDouble,

}, e), {
data: data.data,
rect: rect

@@ -599,3 +603,3 @@ }));

if (selectFlag) {
datas.selectFlag = false;
data.selectFlag = false;

@@ -605,9 +609,9 @@ _this.dragScroll.dragEnd();

// only clickBySelectEnd
var pointTarget = _this._findElement(elementFromPoint(e.clientX, e.clientY), datas.selectableTargets);
var pointTarget = _this._findElement(elementFromPoint(e.clientX, e.clientY), data.selectableTargets);
_this._select(_this.selectedTargets, pointTarget ? [pointTarget] : [], rect, inputEvent);
_this._select(_this.selectedTargets, pointTarget ? [pointTarget] : [], rect, e);
}
if (!datas.preventDragFromInside) {
_this._selectEnd(datas.startSelectedTargets, datas.startPassedTargets, rect, e);
if (!data.preventDragFromInside) {
_this._selectEnd(data.startSelectedTargets, data.startPassedTargets, rect, e);
}

@@ -904,7 +908,7 @@ };

__proto.findSelectableTargets = function (datas) {
__proto.findSelectableTargets = function (data) {
var _this = this;
if (datas === void 0) {
datas = this.gesto.getEventDatas();
if (data === void 0) {
data = this.gesto.getEventDatas();
}

@@ -916,6 +920,6 @@

});
datas.selectableTargets = selectableTargets;
datas.selectablePoints = selectablePoints;
data.selectableTargets = selectableTargets;
data.selectablePoints = selectablePoints;
this._refreshGroups(datas);
this._refreshGroups(data);
};

@@ -935,3 +939,3 @@ /**

var dragEvent = {
datas: {
data: {
selectFlag: false

@@ -1083,3 +1087,3 @@ },

__proto.hitTest = function (selectRect, clientX, clientY, datas) {
__proto.hitTest = function (selectRect, clientX, clientY, data) {
var _a = this.options,

@@ -1092,5 +1096,5 @@ hitRate = _a.hitRate,

bottom = selectRect.bottom;
var innerGroups = datas.innerGroups;
var innerWidth = datas.innerWidth;
var innerHeight = datas.innerHeight;
var innerGroups = data.innerGroups;
var innerWidth = data.innerWidth;
var innerHeight = data.innerHeight;
var rectPoints = [[left, top], [right, top], [right, bottom], [left, bottom]];

@@ -1124,4 +1128,4 @@

if (!innerGroups) {
var selectableTargets = datas.selectableTargets;
var selectablePoints_1 = datas.selectablePoints;
var selectableTargets = data.selectableTargets;
var selectablePoints_1 = data.selectablePoints;
return selectableTargets.filter(function (_, i) {

@@ -1190,8 +1194,8 @@ return isHit(selectablePoints_1[i]);

var datas = _this.gesto.getEventDatas();
var data = _this.gesto.getEventDatas();
var boundArea = datas.boundArea;
datas.startX -= offsetX;
datas.startY -= offsetY;
datas.selectablePoints.forEach(function (points) {
var boundArea = data.boundArea;
data.startX -= offsetX;
data.startY -= offsetY;
data.selectablePoints.forEach(function (points) {
points.forEach(function (pos) {

@@ -1203,3 +1207,3 @@ pos[0] -= offsetX;

_this._refreshGroups(datas);
_this._refreshGroups(data);

@@ -1217,3 +1221,6 @@ boundArea.left -= offsetX;

__proto._select = function (prevSelectedTargets, selectedTargets, rect, inputEvent, isStart) {
__proto._select = function (prevSelectedTargets, selectedTargets, rect, e, isStart) {
var inputEvent = e.inputEvent;
var data = e.data;
var _a = childrenDiffer.diff(prevSelectedTargets, selectedTargets),

@@ -1267,3 +1274,4 @@ added = _a.added,

rect: rect,
inputEvent: inputEvent
inputEvent: inputEvent,
data: data.data
});

@@ -1305,3 +1313,4 @@ }

rect: rect,
inputEvent: inputEvent
inputEvent: inputEvent,
data: data.data
});

@@ -1313,3 +1322,4 @@ }

var inputEvent = e.inputEvent,
isDouble = e.isDouble;
isDouble = e.isDouble,
data = e.data;

@@ -1379,3 +1389,4 @@ var _a = childrenDiffer.diff(startSelectedTargets, this.selectedTargets),

rect: rect,
inputEvent: inputEvent
inputEvent: inputEvent,
data: data.data
});

@@ -1389,3 +1400,3 @@ };

var datas = e.datas,
var data = e.data,
inputEvent = e.inputEvent;

@@ -1396,6 +1407,6 @@ var top = rect.top,

height = rect.height;
var selectFlag = datas.selectFlag;
var containerX = datas.containerX,
containerY = datas.containerY,
scaleMatrix = datas.scaleMatrix;
var selectFlag = data.selectFlag;
var containerX = data.containerX,
containerY = data.containerY,
scaleMatrix = data.scaleMatrix;
var offsetPos = cssToMat.calculateMatrixDist(scaleMatrix, [left - containerX, top - containerY]);

@@ -1408,5 +1419,5 @@ var offsetSize = cssToMat.calculateMatrixDist(scaleMatrix, [width, height]);

this.target.style.cssText += "display: block;" + "left:0px;top:0px;" + "transform: translate(".concat(offsetPos[0], "px, ").concat(offsetPos[1], "px);") + "width:".concat(offsetSize[0], "px;height:").concat(offsetSize[1], "px;");
var passedTargets = this.hitTest(rect, datas.startX, datas.startY, datas);
var passedTargets = this.hitTest(rect, data.startX, data.startY, data);
prevSelectedTargets = this.selectedTargets;
selectedTargets = passTargets(datas.startPassedTargets, passedTargets, this.continueSelect && this.continueSelectWithoutDeselect);
selectedTargets = passTargets(data.startPassedTargets, passedTargets, this.continueSelect && this.continueSelectWithoutDeselect);
this.selectedTargets = selectedTargets;

@@ -1443,2 +1454,3 @@ }

var result = this.emit("drag", __assign(__assign({}, e), {
data: data.data,
isSelect: selectFlag,

@@ -1455,3 +1467,3 @@ rect: rect

if (selectFlag) {
this._select(prevSelectedTargets, selectedTargets, rect, inputEvent);
this._select(prevSelectedTargets, selectedTargets, rect, e);
}

@@ -1499,11 +1511,11 @@ };

__proto._refreshGroups = function (datas) {
var innerWidth = datas.innerWidth;
var innerHeight = datas.innerHeight;
__proto._refreshGroups = function (data) {
var innerWidth = data.innerWidth;
var innerHeight = data.innerHeight;
if (!innerWidth || !innerHeight) {
datas.innerGroups = null;
data.innerGroups = null;
} else {
var selectableTargets_1 = datas.selectableTargets;
var selectablePoints = datas.selectablePoints;
var selectableTargets_1 = data.selectableTargets;
var selectablePoints = data.selectablePoints;
var groups_1 = {};

@@ -1539,3 +1551,3 @@ selectablePoints.forEach(function (points, i) {

});
datas.innerGroups = groups_1;
data.innerGroups = groups_1;
}

@@ -1611,2 +1623,10 @@ };

module.exports = Selecto$1;
exports.CLASS_NAME = CLASS_NAME;
exports.EVENTS = EVENTS;
exports.METHODS = METHODS;
exports.OPTIONS = OPTIONS;
exports.OPTION_TYPES = OPTION_TYPES;
exports.PROPERTIES = PROPERTIES;
exports.default = Selecto$1;
//# sourceMappingURL=selecto.cjs.js.map

@@ -7,3 +7,3 @@ /*

repository: git+https://github.com/daybrush/selecto.git
version: 1.18.2
version: 1.19.0
*/

@@ -349,3 +349,3 @@ import EventEmitter from '@scena/event-emitter';

_this._onDragStart = function (e, clickedTarget) {
var datas = e.datas,
var data = e.data,
clientX = e.clientX,

@@ -369,11 +369,12 @@ clientY = e.clientY,

datas.innerWidth = window.innerWidth;
datas.innerHeight = window.innerHeight;
data.data = {};
data.innerWidth = window.innerWidth;
data.innerHeight = window.innerHeight;
_this.findSelectableTargets(datas);
_this.findSelectableTargets(data);
datas.startSelectedTargets = _this.selectedTargets;
datas.scaleMatrix = createMatrix();
datas.containerX = 0;
datas.containerY = 0;
data.startSelectedTargets = _this.selectedTargets;
data.scaleMatrix = createMatrix();
data.containerX = 0;
data.containerY = 0;
var boundArea = {

@@ -389,5 +390,5 @@ left: -Infinity,

datas.containerX = containerRect.left;
datas.containerY = containerRect.top;
datas.scaleMatrix = getDistElementMatrix(_this.container, rootContainer);
data.containerX = containerRect.left;
data.containerY = containerRect.top;
data.scaleMatrix = getDistElementMatrix(_this.container, rootContainer);
}

@@ -440,3 +441,3 @@

datas.boundArea = boundArea;
data.boundArea = boundArea;
var hitRect = {

@@ -453,3 +454,3 @@ left: clientX,

if (!selectFromInside || selectByClick && !clickBySelectEnd) {
var pointTarget = _this._findElement(clickedTarget || elementFromPoint(clientX, clientY), datas.selectableTargets);
var pointTarget = _this._findElement(clickedTarget || elementFromPoint(clientX, clientY), data.selectableTargets);

@@ -498,3 +499,5 @@ firstPassedTargets = pointTarget ? [pointTarget] : [];

var result = !e.isClick && isTrusted ? _this.emit("dragStart", __assign({}, e)) : true;
var result = !e.isClick && isTrusted ? _this.emit("dragStart", __assign(__assign({}, e), {
data: data.data
})) : true;

@@ -508,15 +511,15 @@ if (!result) {

firstPassedTargets = passTargets(_this.selectedTargets, firstPassedTargets, _this.continueSelectWithoutDeselect);
datas.startPassedTargets = _this.selectedTargets;
data.startPassedTargets = _this.selectedTargets;
} else {
datas.startPassedTargets = [];
data.startPassedTargets = [];
}
_this._select(_this.selectedTargets, firstPassedTargets, hitRect, inputEvent, true);
_this._select(_this.selectedTargets, firstPassedTargets, hitRect, e, true);
datas.startX = clientX;
datas.startY = clientY;
datas.selectFlag = false;
datas.preventDragFromInside = false;
var offsetPos = calculateMatrixDist(datas.scaleMatrix, [clientX - datas.containerX, clientY - datas.containerY]);
datas.boundsArea = _this.target.style.cssText += "position: ".concat(rootContainer ? "absolute" : "fixed", ";") + "left:0px;top:0px;" + "transform: translate(".concat(offsetPos[0], "px, ").concat(offsetPos[1], "px)");
data.startX = clientX;
data.startY = clientY;
data.selectFlag = false;
data.preventDragFromInside = false;
var offsetPos = calculateMatrixDist(data.scaleMatrix, [clientX - data.containerX, clientY - data.containerY]);
data.boundsArea = _this.target.style.cssText += "position: ".concat(rootContainer ? "absolute" : "fixed", ";") + "left:0px;top:0px;" + "transform: translate(".concat(offsetPos[0], "px, ").concat(offsetPos[1], "px)");

@@ -527,8 +530,8 @@ if (isPreventSelect && selectByClick && !clickBySelectEnd) {

if (preventDragFromInside) {
_this._selectEnd(datas.startSelectedTargets, datas.startPassedTargets, hitRect, e);
_this._selectEnd(data.startSelectedTargets, data.startPassedTargets, hitRect, e);
datas.preventDragFromInside = true;
data.preventDragFromInside = true;
}
} else {
datas.selectFlag = true;
data.selectFlag = true;

@@ -546,3 +549,3 @@ if (type === "touchstart") {

if (clickBySelectEnd) {
datas.selectFlag = false;
data.selectFlag = false;
e.preventDrag();

@@ -556,3 +559,3 @@ }

_this._onDrag = function (e) {
if (e.datas.selectFlag) {
if (e.data.selectFlag) {
var scrollOptions = _this.scrollOptions; // If it is a scrolling position, pass drag

@@ -569,6 +572,6 @@

_this._onDragEnd = function (e) {
var datas = e.datas,
var data = e.data,
inputEvent = e.inputEvent;
var rect = getRect(e, _this.options.ratio);
var selectFlag = datas.selectFlag;
var selectFlag = data.selectFlag;
/**

@@ -581,3 +584,3 @@ * When the drag ends (triggers on mouseup or touchend after drag), the dragEnd event is called.

if (inputEvent && !e.isClick) {
if (inputEvent) {
_this.emit("dragEnd", __assign(__assign({

@@ -589,2 +592,3 @@ isDouble: !!e.isDouble,

}, e), {
data: data.data,
rect: rect

@@ -597,3 +601,3 @@ }));

if (selectFlag) {
datas.selectFlag = false;
data.selectFlag = false;

@@ -603,9 +607,9 @@ _this.dragScroll.dragEnd();

// only clickBySelectEnd
var pointTarget = _this._findElement(elementFromPoint(e.clientX, e.clientY), datas.selectableTargets);
var pointTarget = _this._findElement(elementFromPoint(e.clientX, e.clientY), data.selectableTargets);
_this._select(_this.selectedTargets, pointTarget ? [pointTarget] : [], rect, inputEvent);
_this._select(_this.selectedTargets, pointTarget ? [pointTarget] : [], rect, e);
}
if (!datas.preventDragFromInside) {
_this._selectEnd(datas.startSelectedTargets, datas.startPassedTargets, rect, e);
if (!data.preventDragFromInside) {
_this._selectEnd(data.startSelectedTargets, data.startPassedTargets, rect, e);
}

@@ -902,7 +906,7 @@ };

__proto.findSelectableTargets = function (datas) {
__proto.findSelectableTargets = function (data) {
var _this = this;
if (datas === void 0) {
datas = this.gesto.getEventDatas();
if (data === void 0) {
data = this.gesto.getEventDatas();
}

@@ -914,6 +918,6 @@

});
datas.selectableTargets = selectableTargets;
datas.selectablePoints = selectablePoints;
data.selectableTargets = selectableTargets;
data.selectablePoints = selectablePoints;
this._refreshGroups(datas);
this._refreshGroups(data);
};

@@ -933,3 +937,3 @@ /**

var dragEvent = {
datas: {
data: {
selectFlag: false

@@ -1081,3 +1085,3 @@ },

__proto.hitTest = function (selectRect, clientX, clientY, datas) {
__proto.hitTest = function (selectRect, clientX, clientY, data) {
var _a = this.options,

@@ -1090,5 +1094,5 @@ hitRate = _a.hitRate,

bottom = selectRect.bottom;
var innerGroups = datas.innerGroups;
var innerWidth = datas.innerWidth;
var innerHeight = datas.innerHeight;
var innerGroups = data.innerGroups;
var innerWidth = data.innerWidth;
var innerHeight = data.innerHeight;
var rectPoints = [[left, top], [right, top], [right, bottom], [left, bottom]];

@@ -1122,4 +1126,4 @@

if (!innerGroups) {
var selectableTargets = datas.selectableTargets;
var selectablePoints_1 = datas.selectablePoints;
var selectableTargets = data.selectableTargets;
var selectablePoints_1 = data.selectablePoints;
return selectableTargets.filter(function (_, i) {

@@ -1188,8 +1192,8 @@ return isHit(selectablePoints_1[i]);

var datas = _this.gesto.getEventDatas();
var data = _this.gesto.getEventDatas();
var boundArea = datas.boundArea;
datas.startX -= offsetX;
datas.startY -= offsetY;
datas.selectablePoints.forEach(function (points) {
var boundArea = data.boundArea;
data.startX -= offsetX;
data.startY -= offsetY;
data.selectablePoints.forEach(function (points) {
points.forEach(function (pos) {

@@ -1201,3 +1205,3 @@ pos[0] -= offsetX;

_this._refreshGroups(datas);
_this._refreshGroups(data);

@@ -1215,3 +1219,6 @@ boundArea.left -= offsetX;

__proto._select = function (prevSelectedTargets, selectedTargets, rect, inputEvent, isStart) {
__proto._select = function (prevSelectedTargets, selectedTargets, rect, e, isStart) {
var inputEvent = e.inputEvent;
var data = e.data;
var _a = diff(prevSelectedTargets, selectedTargets),

@@ -1265,3 +1272,4 @@ added = _a.added,

rect: rect,
inputEvent: inputEvent
inputEvent: inputEvent,
data: data.data
});

@@ -1303,3 +1311,4 @@ }

rect: rect,
inputEvent: inputEvent
inputEvent: inputEvent,
data: data.data
});

@@ -1311,3 +1320,4 @@ }

var inputEvent = e.inputEvent,
isDouble = e.isDouble;
isDouble = e.isDouble,
data = e.data;

@@ -1377,3 +1387,4 @@ var _a = diff(startSelectedTargets, this.selectedTargets),

rect: rect,
inputEvent: inputEvent
inputEvent: inputEvent,
data: data.data
});

@@ -1387,3 +1398,3 @@ };

var datas = e.datas,
var data = e.data,
inputEvent = e.inputEvent;

@@ -1394,6 +1405,6 @@ var top = rect.top,

height = rect.height;
var selectFlag = datas.selectFlag;
var containerX = datas.containerX,
containerY = datas.containerY,
scaleMatrix = datas.scaleMatrix;
var selectFlag = data.selectFlag;
var containerX = data.containerX,
containerY = data.containerY,
scaleMatrix = data.scaleMatrix;
var offsetPos = calculateMatrixDist(scaleMatrix, [left - containerX, top - containerY]);

@@ -1406,5 +1417,5 @@ var offsetSize = calculateMatrixDist(scaleMatrix, [width, height]);

this.target.style.cssText += "display: block;" + "left:0px;top:0px;" + "transform: translate(".concat(offsetPos[0], "px, ").concat(offsetPos[1], "px);") + "width:".concat(offsetSize[0], "px;height:").concat(offsetSize[1], "px;");
var passedTargets = this.hitTest(rect, datas.startX, datas.startY, datas);
var passedTargets = this.hitTest(rect, data.startX, data.startY, data);
prevSelectedTargets = this.selectedTargets;
selectedTargets = passTargets(datas.startPassedTargets, passedTargets, this.continueSelect && this.continueSelectWithoutDeselect);
selectedTargets = passTargets(data.startPassedTargets, passedTargets, this.continueSelect && this.continueSelectWithoutDeselect);
this.selectedTargets = selectedTargets;

@@ -1441,2 +1452,3 @@ }

var result = this.emit("drag", __assign(__assign({}, e), {
data: data.data,
isSelect: selectFlag,

@@ -1453,3 +1465,3 @@ rect: rect

if (selectFlag) {
this._select(prevSelectedTargets, selectedTargets, rect, inputEvent);
this._select(prevSelectedTargets, selectedTargets, rect, e);
}

@@ -1497,11 +1509,11 @@ };

__proto._refreshGroups = function (datas) {
var innerWidth = datas.innerWidth;
var innerHeight = datas.innerHeight;
__proto._refreshGroups = function (data) {
var innerWidth = data.innerWidth;
var innerHeight = data.innerHeight;
if (!innerWidth || !innerHeight) {
datas.innerGroups = null;
data.innerGroups = null;
} else {
var selectableTargets_1 = datas.selectableTargets;
var selectablePoints = datas.selectablePoints;
var selectableTargets_1 = data.selectableTargets;
var selectablePoints = data.selectablePoints;
var groups_1 = {};

@@ -1537,3 +1549,3 @@ selectablePoints.forEach(function (points, i) {

});
datas.innerGroups = groups_1;
data.innerGroups = groups_1;
}

@@ -1540,0 +1552,0 @@ };

@@ -7,5 +7,5 @@ /*

repository: git+https://github.com/daybrush/selecto.git
version: 1.18.2
version: 1.19.0
*/
!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):(t=t||self).Selecto=e()}(this,function(){"use strict";var X=function(t,e){return(X=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n])})(t,e)};function B(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function n(){this.constructor=t}X(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)}var g=function(){return(g=Object.assign||function(t){for(var e,n=1,i=arguments.length;n<i;n++)for(var r in e=arguments[n])Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t}).apply(this,arguments)};function a(t,e,n){if(n||2===arguments.length)for(var i,r=0,o=e.length;r<o;r++)!i&&r in e||((i=i||Array.prototype.slice.call(e,0,r))[r]=e[r]);return t.concat(i||Array.prototype.slice.call(e))}var W="string",R=[{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"},{open:'\\"',close:'\\"'},{open:"\\'",close:"\\'"}],j=1e-7;function v(t){return t&&"object"==typeof t}function A(t){return Array.isArray(t)}function I(t){return typeof t===W}function N(t,e,n,i,r){if(m(t,e,n))return n;for(var o,a=t,c=e,s=i,u=r,l=n+1;l<s;++l){var f=function(t){var e,n,i=c[t].trim();return i!==a.close||m(a,c,t)?(e=t,-1===(e=(n=y(u,function(t){return t.open===i}))?N(n,c,t,s,u):e)?(o=t,"break"):void(o=t=e)):{value:t}}(l);if(l=o,"object"==typeof f)return f.value;if("break"===f)break}return-1}function m(t,e,n){if(!t.ignore)return null;e=e.slice(Math.max(n-3,0),n+3).join("");return new RegExp(t.ignore).exec(e)}function L(t,e){var e=I(e)?{separator:e}:e,n=e.separator,o=void 0===n?",":n,a=e.isSeparateFirst,c=e.isSeparateOnlyOpenClose,n=e.isSeparateOpenClose,s=void 0===n?c:n,n=e.openCloseCharacters,u=void 0===n?R:n,e=u.map(function(t){var e=t.open,t=t.close;return e===t?e:e+"|"+t}).join("|"),n=new RegExp("(\\s*"+o+"\\s*|"+e+"|\\s+)","g"),l=t.split(n).filter(Boolean),f=l.length,h=[],p=[];function d(){return p.length&&(h.push(p.join("")),p=[])}for(var g,i=0;i<f;++i){var r=function(t){var e=l[t].trim(),n=t,i=y(u,function(t){return t.open===e}),r=y(u,function(t){return t.close===e});if(i){if(-1!==(n=N(i,l,t,f,u))&&s)return d()&&a?(g=t,"break"):(h.push(l.slice(t,n+1).join("")),t=n,a?(g=t,"break"):(g=t,"continue"))}else{if(r&&!m(r,l,t))throw new Error("invalid format: "+r.close);if(i=e,!((""!==(r=o)&&" "!=r||""!==i&&" "!=i)&&i!==r||c))return d(),a?(g=t,"break"):(g=t,"continue")}p.push(l.slice(t,(n=-1===n?f-1:n)+1).join("")),g=t=n}(i),i=g;if("break"===r)break}return p.length&&h.push(p.join("")),h}function s(t){return L(t,",")}function q(t){t=/^([^\d|e|\-|\+]*)((?:\d|\.|-|e-|e\+)+)(\S*)$/g.exec(t);if(!t)return{prefix:"",unit:"",value:NaN};var e=t[1],n=t[2];return{prefix:e,unit:t[3],value:parseFloat(n)}}function G(t){return t.replace(/[\s-_]([a-z])/g,function(t,e){return e.toUpperCase()})}function H(){return Date.now?Date.now():(new Date).getTime()}function o(t,e,n){void 0===n&&(n=-1);for(var i=t.length,r=0;r<i;++r)if(e(t[r],r,t))return r;return n}function y(t,e,n){e=o(t,e);return-1<e?t[e]:n}function Z(t,e,n){return Math.max(e,Math.min(t,n))}function U(t,i,r,e){return void 0===e&&(e=t[0]/t[1]),[[K(i[0],j),K(i[0]/e,j)],[K(i[1]*e,j),K(i[1],j)]].filter(function(t){return t.every(function(t,e){var e=i[e],n=K(e,j);return r?t<=e||t<=n:e<=t||n<=t})})[0]||t}function V(t,e){var n=e[0]-t[0],e=e[1]-t[1],t=Math.atan2(e,n);return 0<=t?t:t+2*Math.PI}function z(o){return[0,1].map(function(e){for(var t=o.map(function(t){return t[e]}),n=t.length,i=0,r=n-1;0<=r;--r)i+=t[r];return n?i/n:0})}function $(t){var e=z(t),n=V(e,t[0]),e=V(e,t[1]);return n<e&&e-n<Math.PI||e<n&&e-n<-Math.PI?1:-1}function J(t,e){return Math.sqrt(Math.pow((e?e[0]:0)-t[0],2)+Math.pow((e?e[1]:0)-t[1],2))}function K(t,e){if(!e)return t;var n=1/e;return Math.round(t/e)/n}function C(t,e,n,i){t.addEventListener(e,n,i)}function S(t,e,n,i){t.removeEventListener(e,n,i)}var Q=function(){return(Q=Object.assign||function(t){for(var e,n=1,i=arguments.length;n<i;n++)for(var r in e=arguments[n])Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t}).apply(this,arguments)};var t=function(){function t(){this._events={}}var e=t.prototype;return e.on=function(t,e){if(v(t))for(var n in t)this.on(n,t[n]);else this._addEvent(t,e,{});return this},e.off=function(t,e){if(t)if(v(t))for(var n in t)this.off(n);else{var i,r;e?(i=this._events[t])&&-1<(r=o(i,function(t){return t.listener===e}))&&i.splice(r,1):this._events[t]=[]}else this._events={};return this},e.once=function(e,t){var n=this;return t&&this._addEvent(e,t,{once:!0}),new Promise(function(t){n._addEvent(e,t,{once:!0})})},e.emit=function(e,n){var i=this,t=(void 0===n&&(n={}),this._events[e]);if(!e||!t)return!0;var r=!1;return n.eventType=e,n.stop=function(){r=!0},n.currentTarget=this,function(){for(var t=0,e=0,n=arguments.length;e<n;e++)t+=arguments[e].length;for(var i=Array(t),r=0,e=0;e<n;e++)for(var o=arguments[e],a=0,c=o.length;a<c;a++,r++)i[r]=o[a];return i}(t).forEach(function(t){t.listener(n),t.once&&i.off(e,t.listener)}),!r},e.trigger=function(t,e){return this.emit(t,e=void 0===e?{}:e)},e._addEvent=function(t,e,n){var i=this._events;i[t]=i[t]||[],i[t].push(Q({listener:e},n))},t}(),tt=function(t,e){return(tt=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])})(t,e)};var E=function(){return(E=Object.assign||function(t){for(var e,n=1,i=arguments.length;n<i;n++)for(var r in e=arguments[n])Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t}).apply(this,arguments)};function n(t){return 180*(e=[t[0].clientX,t[0].clientY],t=[t[1].clientX,t[1].clientY],n=t[0]-e[0],t=t[1]-e[1],(0<=(e=Math.atan2(t,n))?e:e+2*Math.PI)/Math.PI);var e,n}function _(t){if(!t)return[];if(t.touches){for(var e=t.touches,n=Math.min(e.length,2),i=[],r=0;r<n;++r)i.push(nt(e[r]));return i}return[nt(t)]}function et(t,e,n){var i=n.length,t=u(t,i),r=t.clientX,o=t.clientY,a=t.originalClientX,t=t.originalClientY,e=u(e,i),c=e.clientX,e=e.clientY,n=u(n,i);return{clientX:a,clientY:t,deltaX:r-c,deltaY:o-e,distX:r-n.clientX,distY:o-n.clientY}}function i(t){return Math.sqrt(Math.pow(t[0].clientX-t[1].clientX,2)+Math.pow(t[0].clientY-t[1].clientY,2))}function nt(t){return{clientX:t.clientX,clientY:t.clientY}}function u(t,e){void 0===e&&(e=t.length);for(var n={clientX:0,clientY:0,originalClientX:0,originalClientY:0},i=0;i<e;++i){var r=t[i];n.originalClientX+="originalClientX"in r?r.originalClientX:r.clientX,n.originalClientY+="originalClientY"in r?r.originalClientY:r.clientY,n.clientX+=r.clientX,n.clientY+=r.clientY}return e?{clientX:n.clientX/e,clientY:n.clientY/e,originalClientX:n.originalClientX/e,originalClientY:n.originalClientY/e}:n}var b=function(){function t(t){this.prevClients=[],this.startClients=[],this.movement=0,this.length=0,this.startClients=t,this.prevClients=t,this.length=t.length}var e=t.prototype;return e.getAngle=function(t){return n(t=void 0===t?this.prevClients:t)},e.getRotation=function(t){return n(t=void 0===t?this.prevClients:t)-n(this.startClients)},e.getPosition=function(t,e){var n=et((t=void 0===t?this.prevClients:t)||this.prevClients,this.prevClients,this.startClients),i=n.deltaX,r=n.deltaY;return this.movement+=Math.sqrt(i*i+r*r),this.prevClients=t,n},e.getPositions=function(n){void 0===n&&(n=this.prevClients);var i=this.prevClients;return this.startClients.map(function(t,e){return et([n[e]],[i[e]],[t])})},e.getMovement=function(t){var e=this.movement;if(!t)return e;var t=u(t,this.length),n=u(this.prevClients,this.length),i=t.clientX-n.clientX,t=t.clientY-n.clientY;return Math.sqrt(i*i+t*t)+e},e.getDistance=function(t){return i(t=void 0===t?this.prevClients:t)},e.getScale=function(t){return i(t=void 0===t?this.prevClients:t)/i(this.startClients)},e.move=function(e,n){this.startClients.forEach(function(t){t.clientX-=e,t.clientY-=n})},t}(),it=["textarea","input"],rt=function(o){function t(){this.constructor=e}var e;function n(t,e){void 0===e&&(e={});var n,d=o.call(this)||this,t=(d.options={},d.flag=!1,d.pinchFlag=!1,d.datas={},d.isDrag=!1,d.isPinch=!1,d.isMouse=!1,d.isTouch=!1,d.clientStores=[],d.targets=[],d.prevTime=0,d.doubleFlag=!1,d._dragFlag=!1,d._isMouseEvent=!1,d._isSecondaryButton=!1,d.onDragStart=function(t,e){if(void 0===e&&(e=!0),d.flag||!1!==t.cancelable){var n=d.options,i=n.container,r=n.pinchOutside,o=n.preventWheelClick,a=n.preventRightClick,c=n.preventDefault,s=n.checkInput,u=n.preventClickEventOnDragStart,n=n.preventClickEventOnDrag,l=d.isTouch,f=!d.flag;if(d._isSecondaryButton=3===t.which||2===t.button,o&&(2===t.which||1===t.button)||a&&(3===t.which||2===t.button))return d.initDrag(),!1;if(f){var o=document.activeElement,a=t.target,h=a.tagName.toLowerCase(),h=-1<it.indexOf(h),p=a.isContentEditable;if(h||p){if(s||o===a)return!1;if(o&&p&&o.isContentEditable&&o.contains(a))return!1}else(c||"touchstart"===t.type)&&o&&(h=o.tagName,(o.isContentEditable||-1<it.indexOf(h))&&o.blur());(u||n)&&C(window,"click",d._onClick,!0),d.clientStores=[new b(_(t))],d.flag=!0,d.isDrag=!1,d._dragFlag=!0,d.datas={},d.doubleFlag=H()-d.prevTime<200,d._isMouseEvent=(s=t)&&(-1<s.type.indexOf("mouse")||"button"in s||"which"in s),!1===d.emit("dragStart",E(E({datas:d.datas,inputEvent:t,isMouseEvent:d._isMouseEvent,isSecondaryButton:d._isSecondaryButton,isTrusted:e,isDouble:d.doubleFlag},d.getCurrentStore().getPosition()),{preventDefault:function(){t.preventDefault()},preventDrag:function(){d._dragFlag=!1}}))&&d.initDrag(),d.flag&&c&&t.preventDefault()}if(!d.flag)return!1;p=0;f&&l&&r&&(p=setTimeout(function(){C(i,"touchstart",d.onDragStart,{passive:!1})})),!f&&l&&r&&S(i,"touchstart",d.onDragStart),d.flag&&((a=t).touches&&2<=a.touches.length)&&(clearTimeout(p),f&&t.touches.length!==t.changedTouches.length||d.pinchFlag||d.onPinchStart(t))}},d.onDrag=function(t,e){if(d.flag){var n=_(t),i=d.moveClients(n,t,!1);if(d._dragFlag){if(d.pinchFlag||i.deltaX||i.deltaY)if(!1===d.emit("drag",E(E({},i),{isScroll:!!e,inputEvent:t})))return void d.stop();d.pinchFlag&&d.onPinch(t,n)}d.getCurrentStore().getPosition(n,!0)}},d.onDragEnd=function(t){var e,n,i,r,o;d.flag&&(r=(n=d.options).pinchOutside,o=n.container,i=n.preventClickEventOnDrag,n=n.preventClickEventOnDragStart,e=d.isDrag,(i||n)&&requestAnimationFrame(function(){d._allowClickEvent()}),i&&!e&&d._allowClickEvent(),d.isTouch&&r&&S(o,"touchstart",d.onDragStart),d.pinchFlag&&d.onPinchEnd(t),0!==(n=null!=t&&t.touches?_(t):[]).length&&d.options.keepDragging?d._addStore(new b(n)):d.flag=!1,i=d._getPosition(),r=H(),o=!e&&d.doubleFlag,d.prevTime=e||o?0:r,d.flag||(d.emit("dragEnd",E({datas:d.datas,isDouble:o,isDrag:e,isClick:!e,isMouseEvent:d._isMouseEvent,isSecondaryButton:d._isSecondaryButton,inputEvent:t},i)),d.clientStores=[]))},d.onBlur=function(){d.onDragEnd()},d._allowClickEvent=function(){S(window,"click",d._onClick,!0)},d._onClick=function(t){t.stopPropagation(),t.preventDefault()},d._onContextMenu=function(t){d.options.preventRightClick?d.onDragEnd(t):t.preventDefault()},[].concat(t)),e=(d.options=E({checkInput:!1,container:1<t.length?window:t[0],preventRightClick:!0,preventWheelClick:!0,preventClickEventOnDragStart:!1,preventClickEventOnDrag:!1,preventDefault:!0,checkWindowBlur:!1,keepDragging:!1,pinchThreshold:0,events:["touch","mouse"]},e),d.options),i=e.container,r=e.events,e=e.checkWindowBlur;return d.isTouch=-1<r.indexOf("touch"),d.isMouse=-1<r.indexOf("mouse"),d.targets=t,d.isMouse&&(t.forEach(function(t){C(t,"mousedown",d.onDragStart)}),C(i,"mousemove",d.onDrag),C(i,"mouseup",d.onDragEnd),C(i,"contextmenu",d._onContextMenu)),e&&C(window,"blur",d.onBlur),d.isTouch&&(n={passive:!1},t.forEach(function(t){C(t,"touchstart",d.onDragStart,n)}),C(i,"touchmove",d.onDrag,n),C(i,"touchend",d.onDragEnd,n),C(i,"touchcancel",d.onDragEnd,n)),d}tt(e=n,i=o),e.prototype=null===i?Object.create(i):(t.prototype=i.prototype,new t);var i=n.prototype;return i.stop=function(){this.isDrag=!1,this.flag=!1,this.clientStores=[],this.datas={}},i.getMovement=function(t){return this.getCurrentStore().getMovement(t)+this.clientStores.slice(1).reduce(function(t,e){return t+e.movement},0)},i.isDragging=function(){return this.isDrag},i.isFlag=function(){return this.flag},i.isPinchFlag=function(){return this.pinchFlag},i.isDoubleFlag=function(){return this.doubleFlag},i.isPinching=function(){return this.isPinch},i.scrollBy=function(t,e,n,i){void 0===i&&(i=!0),this.flag&&(this.clientStores[0].move(t,e),i&&this.onDrag(n,!0))},i.move=function(t,e){var n=t[0],i=t[1],t=this.getCurrentStore().prevClients;return this.moveClients(t.map(function(t){var e=t.clientX,t=t.clientY;return{clientX:e+n,clientY:t+i,originalClientX:e,originalClientY:t}}),e,!0)},i.triggerDragStart=function(t){this.onDragStart(t,!1)},i.setEventDatas=function(t){var e,n=this.datas;for(e in t)n[e]=t[e];return this},i.getCurrentEvent=function(t){return E(E({datas:this.datas},this._getPosition()),{movement:this.getMovement(),isDrag:this.isDrag,isPinch:this.isPinch,isScroll:!1,inputEvent:t})},i.getEventDatas=function(){return this.datas},i.unset=function(){var e=this,t=this.targets,n=this.options.container;this.off(),S(window,"blur",this.onBlur),this.isMouse&&(t.forEach(function(t){S(t,"mousedown",e.onDragStart)}),S(n,"mousemove",this.onDrag),S(n,"mouseup",this.onDragEnd),S(n,"contextmenu",this._onContextMenu)),this.isTouch&&(t.forEach(function(t){S(t,"touchstart",e.onDragStart)}),S(n,"touchstart",this.onDragStart),S(n,"touchmove",this.onDrag),S(n,"touchend",this.onDragEnd),S(n,"touchcancel",this.onDragEnd))},i.onPinchStart=function(t){var e=this.options.pinchThreshold;this.isDrag&&this.getMovement()>e||(e=new b(_(t)),this.pinchFlag=!0,this._addStore(e),!1===this.emit("pinchStart",E(E({datas:this.datas,angle:e.getAngle(),touches:this.getCurrentStore().getPositions()},e.getPosition()),{inputEvent:t}))&&(this.pinchFlag=!1))},i.onPinch=function(t,e){var n;!this.flag||!this.pinchFlag||e.length<2||(n=this.getCurrentStore(),this.isPinch=!0,this.emit("pinch",E(E({datas:this.datas,movement:this.getMovement(e),angle:n.getAngle(e),rotation:n.getRotation(e),touches:n.getPositions(e),scale:n.getScale(e),distance:n.getDistance(e)},n.getPosition(e)),{inputEvent:t})))},i.onPinchEnd=function(t){var e,n;this.pinchFlag&&(e=this.isPinch,this.isPinch=!1,this.pinchFlag=!1,n=this.getCurrentStore(),this.emit("pinchEnd",E(E({datas:this.datas,isPinch:e,touches:n.getPositions()},n.getPosition()),{inputEvent:t})))},i.initDrag=function(){this.clientStores=[],this.pinchFlag=!1,this.doubleFlag=!1,this.prevTime=0,this.flag=!1},i.getCurrentStore=function(){return this.clientStores[0]},i.moveClients=function(t,e,n){n=this._getPosition(t,n);return(n.deltaX||n.deltaY)&&(this.isDrag=!0),E(E({datas:this.datas},n),{movement:this.getMovement(t),isDrag:this.isDrag,isPinch:this.isPinch,isScroll:!1,isMouseEvent:this._isMouseEvent,isSecondaryButton:this._isSecondaryButton,inputEvent:e})},i._addStore=function(t){this.clientStores.splice(0,0,t)},i._getPosition=function(t,e){var t=this.getCurrentStore().getPosition(t,e),e=this.clientStores.slice(1).reduce(function(t,e){e=e.getPosition();return t.distX+=e.distX,t.distY+=e.distY,t},t),n=e.distX,e=e.distY;return E(E({},t),{distX:n,distY:e})},n}(t);var ot=function(){function t(){this.keys=[],this.values=[]}var e=t.prototype;return e.get=function(t){return this.values[this.keys.indexOf(t)]},e.set=function(t,e){var n=this.keys,i=this.values,r=n.indexOf(t),r=-1===r?n.length:r;n[r]=t,i[r]=e},t}(),at=function(){function t(){this.object={}}var e=t.prototype;return e.get=function(t){return this.object[t]},e.set=function(t,e){this.object[t]=e},t}(),ct="function"==typeof Map,st=function(){function t(){}var e=t.prototype;return e.connect=function(t,e){this.prev=t,this.next=e,t&&(t.next=this),e&&(e.prev=this)},e.disconnect=function(){var t=this.prev,e=this.next;t&&(t.next=e),e&&(e.prev=t)},e.getIndex=function(){for(var t=this,e=-1;t;)t=t.prev,++e;return e},t}();var ut=function(){function t(t,e,n,i,r,o,a,c){this.prevList=t,this.list=e,this.added=n,this.removed=i,this.changed=r,this.maintained=o,this.changedBeforeAdded=a,this.fixed=c}var e=t.prototype;return Object.defineProperty(e,"ordered",{get:function(){return this.cacheOrdered||this.caculateOrdered(),this.cacheOrdered},enumerable:!0,configurable:!0}),Object.defineProperty(e,"pureChanged",{get:function(){return this.cachePureChanged||this.caculateOrdered(),this.cachePureChanged},enumerable:!0,configurable:!0}),e.caculateOrdered=function(){t=this.changedBeforeAdded,n=this.fixed,r=[],o=[],t.forEach(function(t){var e=t[0],t=t[1],n=new st;r[e]=n,o[t]=n}),r.forEach(function(t,e){t.connect(r[e-1])});var n,r,o,t=t.filter(function(t,e){return!n[e]}).map(function(t,e){var n=t[0],t=t[1];if(n===t)return[0,0];var n=r[n],t=o[t-1],i=n.getIndex();return n.disconnect(),t?n.connect(t,t.next):n.connect(void 0,r[0]),[i,n.getIndex()]}),a=this.changed,c=[];this.cacheOrdered=t.filter(function(t,e){var n=t[0],t=t[1],e=a[e],i=e[0],e=e[1];if(n!==t)return c.push([i,e]),!0}),this.cachePureChanged=c},t}();var lt,ft="function"==typeof Map?void 0:(lt=0,function(t){return t.__DIFF_KEY__||(t.__DIFF_KEY__=++lt)});function p(t,e){return t=t,e=e,n=ft,i=ct?Map:n?at:ot,n=n||function(t){return t},r=[],o=[],a=[],c=t.map(n),n=e.map(n),s=new i,u=new i,l=[],f=[],h={},p=[],g=d=0,c.forEach(function(t,e){s.set(t,e)}),n.forEach(function(t,e){u.set(t,e)}),c.forEach(function(t,e){t=u.get(t);void 0===t?(++g,o.push(e)):h[t]=g}),n.forEach(function(t,e){t=s.get(t);void 0===t?(r.push(e),++d):(a.push([t,e]),g=h[e]||0,l.push([t-g,e-d]),f.push(e===t),t!==e&&p.push([t,e]))}),o.reverse(),new ut(t,e,r,o,p,a,l,f);var n,i,r,o,a,c,s,u,l,f,h,p,d,g}var ht="function",pt="string";var dt=function(t,e){return(dt=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])})(t,e)};var l=function(){return(l=Object.assign||function(t){for(var e,n=1,i=arguments.length;n<i;n++)for(var r in e=arguments[n])Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t}).apply(this,arguments)};function gt(t){t=t.container;return t===document.body?[t.scrollLeft||document.documentElement.scrollLeft,t.scrollTop||document.documentElement.scrollTop]:[t.scrollLeft,t.scrollTop]}function f(t){return t?typeof t===pt?document.querySelector(t):typeof t===ht?t():t instanceof Element?t:"current"in t?t.current:"value"in t?t.value:void 0:null}var vt=function(e){function t(){this.constructor=n}var n;function i(){var t=null!==e&&e.apply(this,arguments)||this;return t._startRect=null,t._startPos=[],t._prevTime=0,t._timer=0,t._prevScrollPos=[0,0],t._isWait=!1,t._flag=!1,t}dt(n=i,r=e),n.prototype=null===r?Object.create(r):(t.prototype=r.prototype,new t);var r=i.prototype;return r.dragStart=function(t,e){var n,i,r,o,a=f(e.container);a?(o=r=i=n=0,o=a===document.body?(r=window.innerWidth,window.innerHeight):(n=(a=a.getBoundingClientRect()).top,i=a.left,r=a.width,a.height),this._flag=!0,this._startPos=[t.clientX,t.clientY],this._startRect={top:n,left:i,width:r,height:o},this._prevScrollPos=this._getScrollPosition([0,0],e)):this._flag=!1},r.drag=function(t,e){var n,i,r,o,a,c;if(this._flag)return n=t.clientX,i=t.clientY,r=e.threshold,r=void 0===r?0:r,o=this._startRect,a=this._startPos,c=[0,0],o.top>i-r?(a[1]>o.top||i<a[1])&&(c[1]=-1):o.top+o.height<i+r&&(a[1]<o.top+o.height||i>a[1])&&(c[1]=1),o.left>n-r?(a[0]>o.left||n<a[0])&&(c[0]=-1):o.left+o.width<n+r&&(a[0]<o.left+o.width||n>a[0])&&(c[0]=1),clearTimeout(this._timer),!(!c[0]&&!c[1])&&this._continueDrag(l(l({},e),{direction:c,inputEvent:t,isDrag:!0}))},r.checkScroll=function(t){var e=this;if(this._isWait)return!1;var n=t.prevScrollPos,n=void 0===n?this._prevScrollPos:n,i=t.direction,r=t.throttleTime,r=void 0===r?0:r,o=t.inputEvent,a=t.isDrag,c=this._getScrollPosition(i||[0,0],t),s=c[0]-n[0],n=c[1]-n[1],i=i||[s?Math.abs(s)/s:0,n?Math.abs(n)/n:0];return this._prevScrollPos=c,!(!s&&!n)&&(this.trigger("move",{offsetX:i[0]?s:0,offsetY:i[1]?n:0,inputEvent:o}),r&&a&&(this._timer=window.setTimeout(function(){e._continueDrag(t)},r)),!0)},r.dragEnd=function(){clearTimeout(this._timer)},r._getScrollPosition=function(t,e){var n=e.container,e=e.getScrollPosition;return(void 0===e?gt:e)({container:f(n),direction:t})},r._continueDrag=function(t){var e=this,n=t.container,i=t.direction,r=t.throttleTime,o=t.useScroll,a=t.isDrag,c=t.inputEvent;if(!a||!this._isWait){var s=Date.now?Date.now():(new Date).getTime(),r=Math.max(r+this._prevTime-s,0);if(0<r)return this._timer=window.setTimeout(function(){e._continueDrag(t)},r),!1;this._prevTime=s;r=this._getScrollPosition(i,t);return this._prevScrollPos=r,a&&(this._isWait=!0),this.trigger("scroll",{container:f(n),direction:i,inputEvent:c}),this._isWait=!1,o||this.checkScroll(l(l({},t),{prevScrollPos:r,direction:i,inputEvent:c}))}},i}(t),mt=function(t,e){return(mt=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n])})(t,e)};function yt(t){return t&&"object"==typeof t}function Ct(t){return Array.isArray(t)}function St(t){return"string"==typeof t}function c(t,e,n,i){t.addEventListener(e,n,i)}function h(t,e,n,i){t.removeEventListener(e,n,i)}var Et=function(){return(Et=Object.assign||function(t){for(var e,n=1,i=arguments.length;n<i;n++)for(var r in e=arguments[n])Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t}).apply(this,arguments)};var _t=function(){function t(){this._events={}}var e=t.prototype;return e.on=function(t,e){if(yt(t))for(var n in t)this.on(n,t[n]);else this._addEvent(t,e,{});return this},e.off=function(t,e){if(t)if(yt(t))for(var n in t)this.off(n);else{var i,r;e?(i=this._events[t])&&-1<(r=function(t,e,n){void 0===n&&(n=-1);for(var i=t.length,r=0;r<i;++r)if(e(t[r],r,t))return r;return n}(i,function(t){return t.listener===e}))&&i.splice(r,1):this._events[t]=[]}else this._events={};return this},e.once=function(e,t){var n=this;return t&&this._addEvent(e,t,{once:!0}),new Promise(function(t){n._addEvent(e,t,{once:!0})})},e.emit=function(e,n){var i=this,t=(void 0===n&&(n={}),this._events[e]);if(!e||!t)return!0;var r=!1;return n.eventType=e,n.stop=function(){r=!0},n.currentTarget=this,function(){for(var t=0,e=0,n=arguments.length;e<n;e++)t+=arguments[e].length;for(var i=Array(t),r=0,e=0;e<n;e++)for(var o=arguments[e],a=0,c=o.length;a<c;a++,r++)i[r]=o[a];return i}(t).forEach(function(t){t.listener(n),t.once&&i.off(e,t.listener)}),!r},e.trigger=function(t,e){return this.emit(t,e=void 0===e?{}:e)},e._addEvent=function(t,e,n){var i=this._events;i[t]=i[t]||[],i[t].push(Et({listener:e},n))},t}();(function(t,e){function n(t){if(!t||"object"!=typeof t||(e=t.which||t.keyCode||t.charCode)&&(t=e),"number"==typeof t)return c[t];var e=String(t),t=i[e.toLowerCase()];return t||((t=r[e.toLowerCase()])?t:1===e.length?e.charCodeAt(0):void 0)}n.isEventKey=function(t,e){if(t&&"object"==typeof t){t=t.which||t.keyCode||t.charCode;if(null!=t)if("string"==typeof e){var n=i[e.toLowerCase()];if(n)return n===t;if(n=r[e.toLowerCase()])return n===t}else if("number"==typeof e)return e===t;return!1}};for(var i=(e=t.exports=n).code=e.codes={backspace:8,tab:9,enter:13,shift:16,ctrl:17,alt:18,"pause/break":19,"caps lock":20,esc:27,space:32,"page up":33,"page down":34,end:35,home:36,left:37,up:38,right:39,down:40,insert:45,delete:46,command:91,"left command":91,"right command":93,"numpad *":106,"numpad +":107,"numpad -":109,"numpad .":110,"numpad /":111,"num lock":144,"scroll lock":145,"my computer":182,"my calculator":183,";":186,"=":187,",":188,"-":189,".":190,"/":191,"`":192,"[":219,"\\":220,"]":221,"'":222},r=e.aliases={windows:91,"⇧":16,"⌥":18,"⌃":17,"⌘":91,ctl:17,control:17,option:18,pause:19,break:19,caps:20,return:13,escape:27,spc:32,spacebar:32,pgup:33,pgdn:34,ins:45,del:46,cmd:91},o=97;o<123;o++)i[String.fromCharCode(o)]=o-32;for(var o=48;o<58;o++)i[o-48]=o;for(o=1;o<13;o++)i["f"+o]=o+111;for(o=0;o<10;o++)i["numpad "+o]=o+96;var a,c=e.names=e.title={};for(o in i)c[i[o]]=o;for(a in r)i[a]=r[a]})(e={exports:{}},e.exports);var bt,e=e.exports,kt=(e.code,e.codes,e.aliases,e.names),Dt=(e.title,{"+":"plus","left command":"meta","right command":"meta"}),wt={shift:1,ctrl:2,alt:3,meta:4};function Mt(t,e){var n,i=(kt[t]||e||"").toLowerCase();for(n in Dt)i=i.replace(n,Dt[n]);return i.replace(/\s/g,"")}function xt(t,e){void 0===e&&(e=Mt(t.keyCode,t.key));t=[t.shiftKey&&"shift",t.ctrlKey&&"ctrl",t.altKey&&"alt",t.metaKey&&"meta"].filter(Boolean);return-1===t.indexOf(e)&&t.push(e),t.filter(Boolean)}function Pt(t){t=t.slice();return t.sort(function(t,e){return(wt[t]||5)-(wt[e]||5)}),t}var Ot=function(n){var t=r,e=n;if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function i(){this.constructor=t}function r(t){void 0===t&&(t=window);var e=n.call(this)||this;return e.container=t,e.ctrlKey=!1,e.altKey=!1,e.shiftKey=!1,e.metaKey=!1,e.clear=function(){return e.ctrlKey=!1,e.altKey=!1,e.shiftKey=!1,e.metaKey=!1,e},e.keydownEvent=function(t){e.triggerEvent("keydown",t)},e.keyupEvent=function(t){e.triggerEvent("keyup",t)},e.blur=function(){e.clear(),e.trigger("blur")},c(t,"blur",e.blur),c(t,"keydown",e.keydownEvent),c(t,"keyup",e.keyupEvent),e}mt(t,e),t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i);e=r.prototype;return Object.defineProperty(r,"global",{get:function(){return bt=bt||new r},enumerable:!1,configurable:!0}),r.setGlobal=function(){return this.global},e.destroy=function(){var t=this.container;this.clear(),this.off(),h(t,"blur",this.blur),h(t,"keydown",this.keydownEvent),h(t,"keyup",this.keyupEvent)},e.keydown=function(t,e){return this.addEvent("keydown",t,e)},e.offKeydown=function(t,e){return this.removeEvent("keydown",t,e)},e.offKeyup=function(t,e){return this.removeEvent("keyup",t,e)},e.keyup=function(t,e){return this.addEvent("keyup",t,e)},e.addEvent=function(t,e,n){return Ct(e)?this.on(t+"."+Pt(e).join("."),n):St(e)?this.on(t+"."+e,n):this.on(t,e),this},e.removeEvent=function(t,e,n){return Ct(e)?this.off(t+"."+Pt(e).join("."),n):St(e)?this.off(t+"."+e,n):this.off(t,e),this},e.triggerEvent=function(t,e){this.ctrlKey=e.ctrlKey,this.shiftKey=e.shiftKey,this.altKey=e.altKey,this.metaKey=e.metaKey;var n=Mt(e.keyCode,e.key),i={key:n,isToggle:"ctrl"===n||"shift"===n||"meta"===n||"alt"===n,inputEvent:e,keyCode:e.keyCode,ctrlKey:e.ctrlKey,altKey:e.altKey,shiftKey:e.shiftKey,metaKey:e.metaKey},e=(this.trigger(t,i),this.trigger(t+"."+n,i),xt(e,n));1<e.length&&this.trigger(t+"."+e.join("."),i)},r}(_t);function d(t){return K(t,j)}function Tt(n){return n.length<3?0:Math.abs(function(t){for(var e=0,n=t.length-1;0<=n;--n)e+=t[n];return e}(n.map(function(t,e){e=n[e+1]||n[0];return t[0]*e[1]-e[0]*t[1]})))/2}function Yt(t){var e=t.map(function(t){return t[0]}),t=t.map(function(t){return t[1]});return{minX:Math.min.apply(Math,e),minY:Math.min.apply(Math,t),maxX:Math.max.apply(Math,e),maxY:Math.max.apply(Math,t)}}function D(r,t,e){var i=r[0],o=r[1],n=Yt(t),a=n.minX,n=n.maxX,c=[[a,o],[n,o]],s=k(c[0],c[1]),a=w(t),u=[];if(a.forEach(function(t){var n,e=k(t[0],t[1]),i=t[0];n=e,s.every(function(t,e){return 0===d(t-n[e])})?u.push({pos:r,line:t,type:"line"}):Xt(Ft(s,e),[c,t]).forEach(function(n){t.some(function(t){return e=n,!d((t=t)[0]-e[0])&&!d(t[1]-e[1]);var e})?u.push({pos:n,line:t,type:"point"}):0!==d(i[1]-o)&&u.push({pos:n,line:t,type:"intersection"})})}),!e&&y(u,function(t){return t[0]===i}))return!0;var l=0,f={};return u.forEach(function(t){var e=t.pos,n=t.type,t=t.line;e[0]>i||("intersection"===n?++l:"line"!==n&&"point"===n&&(n=y(t,function(t){return t[1]!==o}),t=f[e[0]],n=n[1]>o?1:-1,t?t!==n&&++l:f[e[0]]=n))}),l%2==1}function k(t,e){var n=t[0],t=t[1],i=e[0]-n,e=e[1]-t,r=(Math.abs(i)<j&&(i=0),Math.abs(e)<j&&(e=0),0),o=0,a=0;return i?a=e?(o=1,-(r=-e/i)*n-t):(o=1,-t):e&&(r=-1,a=n),[r,o,a]}function Ft(t,e){var n,i,r=t[0],o=t[1],t=t[2],a=e[0],c=e[1],e=e[2],s=0===r&&0===a,u=0===o&&0===c;return s&&u?[]:s?(s=-t/o)!=-e/c?[]:[[-1/0,s],[1/0,s]]:u?(s=-t/r)!=-e/a?[]:[[s,-1/0],[s,1/0]]:(0===r?[[n=-(c*(i=-t/o)+e)/a,i]]:0===a?[[n=-(o*(i=-e/c)+t)/r,i]]:0===o?[[n=-t/r,i=-(a*n+e)/c]]:0===c?[[n=-e/a,i=-(r*n+t)/o]]:[[n=(o*e-c*t)/(c*r-o*a),i=-(r*n+t)/o]]).map(function(t){return[t[0],t[1]]})}function Xt(t,e){var i=e.map(function(e){return[0,1].map(function(t){return[Math.min(e[0][t],e[1][t]),Math.max(e[0][t],e[1][t])]})}),e=[];if(2===t.length){var n=t[0],r=n[0],n=n[1];if(d(r-t[1][0])){if(!d(n-t[1][1])){var o=Math.max.apply(Math,i.map(function(t){return t[0][0]})),a=Math.min.apply(Math,i.map(function(t){return t[0][1]}));if(0<d(o-a))return[];e=[[o,n],[a,n]]}}else{o=Math.max.apply(Math,i.map(function(t){return t[1][0]})),a=Math.min.apply(Math,i.map(function(t){return t[1][1]}));if(0<d(o-a))return[];e=[[r,o],[r,a]]}}return(e=e.length?e:t.filter(function(t){var e=t[0],n=t[1];return i.every(function(t){return 0<=d(e-t[0][0])&&0<=d(t[0][1]-e)&&0<=d(n-t[1][0])&&0<=d(t[1][1]-n)})})).map(function(t){return[d(t[0]),d(t[1])]})}function w(n){return function(){for(var t=0,e=0,n=arguments.length;e<n;e++)t+=arguments[e].length;for(var i=Array(t),r=0,e=0;e<n;e++)for(var o=arguments[e],a=0,c=o.length;a<c;a++,r++)i[r]=o[a];return i}(n.slice(1),[n[0]]).map(function(t,e){return[n[e],t]})}function jt(t,e){var r,a,c,s,u,l,n;return e=e,r=(t=t).slice(),a=e.slice(),-1===$(r)&&r.reverse(),-1===$(a)&&a.reverse(),c=w(r),s=w(a),t=c.map(function(t){return k(t[0],t[1])}),u=s.map(function(t){return k(t[0],t[1])}),l=[],t.forEach(function(n,i){var r=c[i],o=[];u.forEach(function(t,e){t=Xt(Ft(n,t),[r,s[e]]);o.push.apply(o,t.map(function(t){return{index1:i,index2:e,pos:t,type:"intersection"}}))}),o.sort(function(t,e){return J(r[0],t.pos)-J(r[0],e.pos)}),l.push.apply(l,o),D(r[1],a)&&l.push({index1:i,index2:-1,pos:r[1],type:"inside"})}),s.forEach(function(t,n){var i,e;D(t[1],r)&&(i=!1,-1===(e=o(l,function(t){if(t.index2!==n)return!!i;i=!0}))&&(i=!1,e=o(l,function(t){var e=t.index1,t=t.index2;if(-1!==e||t+1!==n)return!!i;i=!0})),-1===e?l.push({index1:-1,index2:n,pos:t[1],type:"inside"}):l.splice(e,0,{index1:-1,index2:n,pos:t[1],type:"inside"}))}),n={},l.filter(function(t){t=t.pos,t=t[0]+"x"+t[1];return!n[t]&&(n[t]=!0)}).map(function(t){return t.pos})}function r(t,e,n){void 0===n&&(n=Math.sqrt(t.length));var i=[],r=t.length/n,o=e.length/r;if(!r)return e;if(!o)return t;for(var a=0;a<n;++a)for(var c=0;c<o;++c)for(var s=i[c*n+a]=0;s<r;++s)i[c*n+a]+=t[s*n+a]*e[c*r+s];return i}function Kt(t,e){return r(t,[1,0,0,0,0,Math.cos(e),Math.sin(e),0,0,-Math.sin(e),Math.cos(e),0,0,0,0,1],4)}function Bt(t,e){return r(t,[Math.cos(e),0,-Math.sin(e),0,0,1,0,0,Math.sin(e),0,Math.cos(e),0,0,0,0,1],4)}function Wt(t,e){return r(t,(t=e,e=4,n=Math.cos(t),t=Math.sin(t),(i=Rt(e))[0]=n,i[1]=t,i[e]=-t,i[e+1]=n,i));var n,i}function M(t,e){var n=e[0],i=e[1],e=e[2];return r(t,[void 0===n?1:n,0,0,0,0,void 0===i?1:i,0,0,0,0,void 0===e?1:e,0,0,0,0,1],4)}function x(t,e){var n=e[0],i=e[1],e=e[2];return r(t,[1,0,0,0,0,1,0,0,0,0,1,0,void 0===n?0:n,void 0===i?0:i,void 0===e?0:e,1],4)}function P(t,e){return r(t,e,4)}function Rt(t){for(var e=t*t,n=[],i=0;i<e;++i)n[i]=i%(t+1)?0:1;return n}function O(){return[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]}function At(t){return t=(A(t=t)?t:function(t){return L(t,"")}(t)).map(function(t){var e,n,i,t=!(t=/([^(]*)\(([\s\S]*)\)([\s\S]*)/g.exec(t=t))||t.length<4?{}:{prefix:t[1],value:t[2],suffix:t[3]},r=t.prefix,t=t.value,o=null,a=r,c="";return"translate"===r||"translateX"===r||"translate3d"===r?(o=x,c=[(i=s(t).map(function(t){return parseFloat(t)}))[0],void 0===(e=i[1])?0:e,void 0===(e=i[2])?0:e]):"translateY"===r?(o=x,c=[0,parseFloat(t),0]):"translateZ"===r?(o=x,c=[0,0,parseFloat(t)]):"scale"===r||"scale3d"===r?(o=M,c=[n=(i=s(t).map(function(t){return parseFloat(t)}))[0],void 0===(e=i[1])?n:e,void 0===(e=i[2])?1:e]):"scaleX"===r?(o=M,c=[n=parseFloat(t),1,1]):"scaleY"===r?(o=M,c=[1,parseFloat(t),1]):"scaleZ"===r?(o=M,c=[1,1,parseFloat(t)]):"rotate"===r||"rotateZ"===r||"rotateX"===r||"rotateY"===r?(e=(i=q(t)).unit,n=i.value,"rotate"===r||"rotateZ"===r?(a="rotateZ",o=Wt):"rotateX"===r?o=Kt:"rotateY"===r&&(o=Bt),c="rad"===e?n:n*Math.PI/180):"matrix3d"===r?(o=P,c=s(t).map(function(t){return parseFloat(t)})):"matrix"===r?(o=P,c=[(i=s(t).map(function(t){return parseFloat(t)}))[0],i[1],0,0,i[2],i[3],0,0,0,0,1,0,i[4],i[5],0,1]):a="",{name:r,functionName:a,value:t,matrixFunction:o,functionValue:c}}),n=O(),t.forEach(function(t){var e=t.matrixFunction,t=t.functionValue;e&&(n=e(n,t))}),n;var n}function T(t,e){n=t,e=[e[0],e[1]||0,e[2]||0,1],i=(n=r(t,e,t=void 0===(t=4)?e.length:t))[t-1];var n,i,e=n.map(function(t){return t/i}),t=e[3]||1;return[e[0]/t,e[1]/t,e[2]/t]}function It(t,e){void 0===e&&(e=document.body);for(var n=t,i=O();n;){i=P(At(getComputedStyle(n).transform),i);if(n===e)break;n=n.parentElement}return(i=function(t,e){void 0===e&&(e=Math.sqrt(t.length));for(var n=t.slice(),i=Rt(e),r=0;r<e;++r){var o=e*r+r;if(!K(n[o],j))for(var a=r+1;a<e;++a)if(n[e*r+a]){v=g=d=p=h=f=l=u=s=c=void 0;for(var c=n,s=i,u=r,l=a,f=e,h=0;h<f;++h){var p=u+h*f,d=l+h*f,g=c[p],v=s[p];c[p]=c[d],c[d]=g,s[p]=s[d],s[d]=v}break}if(!K(n[o],j))return[];b=_=E=S=C=y=m=void 0;for(var m=n,y=i,C=r,S=e,E=n[o],_=0;_<S;++_){var b=C+_*S;m[b]/=E,y[b]/=E}for(a=0;a<e;++a){var k=a,D=n[a+r*e];if(K(D,j)&&r!==a){X=F=Y=T=O=P=x=M=w=void 0;for(var w=n,M=i,x=k,P=r,O=e,T=-D,Y=0;Y<O;++Y){var F=x+Y*O,X=P+Y*O;w[F]+=w[X]*T,M[F]+=M[X]*T}}}}return i}(i,4))[12]=0,i[13]=0,i[14]=0,i}function Nt(t,e){return document.elementFromPoint&&document.elementFromPoint(t,e)||null}function Lt(t,e,n){var i=t.tag,r=t.children,o=t.attributes,a=t.className,c=t.style,s=e||document.createElement(i);for(l in o)s.setAttribute(l,o[l]);var u=s.children;if(r.forEach(function(t,e){Lt(t,u[e],s)}),a&&a.split(" ").forEach(function(t){var e,n;n=t,((e=s).classList?e.classList.contains(n):e.className.match(new RegExp("(\\s|^)"+n+"(\\s|$)")))||(e=t,(n=s).classList?n.classList.add(e):n.className+=" "+e)}),c){var l,f=s.style;for(l in c)f[l]=c[l]}return!e&&n&&n.appendChild(s),s}function qt(t,e){for(var n=[],i=2;i<arguments.length;i++)n[i-2]=arguments[i];var e=e||{},r=e.className,o=e.style;return{tag:t,className:void 0===r?"":r,style:void 0===o?{}:o,attributes:function(t,e){var n={};for(r in t)Object.prototype.hasOwnProperty.call(t,r)&&e.indexOf(r)<0&&(n[r]=t[r]);if(null!=t&&"function"==typeof Object.getOwnPropertySymbols)for(var i=0,r=Object.getOwnPropertySymbols(t);i<r.length;i++)e.indexOf(r[i])<0&&Object.prototype.propertyIsEnumerable.call(t,r[i])&&(n[r[i]]=t[r[i]]);return n}(e,["className","style"]),children:n}}function Gt(t,e,n){t!==e&&n(t,e)}function Ht(t,e,n){void 0===n&&(n=t.datas.boundArea);var i=t.distX,i=void 0===i?0:i,r=t.distY,r=void 0===r?0:r,t=t.datas,o=t.startX,t=t.startY;0<e&&(i=(0<=i?1:-1)*(e*(a=Math.sqrt((i*i+r*r)/(1+e*e)))),r=(0<=r?1:-1)*a),i=(0<=i?1:-1)*(n=(a=function(t,n,i,e){if(!e)return t.map(function(t,e){return Z(t,n[e],i[e])});var r=t[0],o=t[1],a=(c=U(t,n,!1,e=!0===e?r/o:e))[0],c=c[1],e=(t=U(t,i,!0,e))[0],t=t[1];return r<a||o<c?(r=a,o=c):(e<r||t<o)&&(r=e,o=t),[r,o]}([Math.abs(i),Math.abs(r)],[0,0],[i<0?o-n.left:n.right-o,r<0?t-n.top:n.bottom-t],!!e))[0]),r=(0<=r?1:-1)*(e=a[1]);var a=o+Math.min(0,i),o=t+Math.min(0,r);return{left:a,top:o,right:a+n,bottom:o+e,width:n,height:e}}function Zt(t){var t=t.getBoundingClientRect(),e=t.left,n=t.top,i=t.width,t=t.height;return{pos1:[e,n],pos2:[e+i,n],pos3:[e,n+t],pos4:[e+i,n+t]}}function Ut(t,e,n){var t=p(t,e),i=t.list,r=t.prevList,e=t.added,o=t.removed,t=t.maintained;return a(a(a([],e.map(function(t){return i[t]}),!0),o.map(function(t){return r[t]}),!0),n?t.map(function(t){t=t[1];return i[t]}):[],!0)}function Vt(t,e,n,i){var r,o=document.createElement("style");return o.setAttribute("type","text/css"),o.setAttribute("data-styled-id",t),n.nonce&&o.setAttribute("nonce",n.nonce),o.innerHTML=(r=t,t=e,n.original?t:t.replace(/([^};{\s}][^};{]*|^\s*){/gm,function(t,e){e=e.trim();return(e?s(e):[""]).map(function(t){t=t.trim();return 0===t.indexOf("@")?t:-1<t.indexOf(":global")?t.replace(/\:global/g,""):-1<t.indexOf(":host")?""+t.replace(/\:host/g,"."+r):t?"."+r+" "+t:"."+r}).join(", ")+" {"})),(i||document.head||document.body).appendChild(o),o}$t="rCS"+function(t){for(var e=5381,n=t.length;n;)e=33*e^t.charCodeAt(--n);return e>>>0}(zt="\n:host {\n position: fixed;\n display: none;\n border: 1px solid #4af;\n background: rgba(68, 170, 255, 0.5);\n pointer-events: none;\n will-change: transform;\n z-index: 100;\n}\n").toString(36),F=0;var zt,Y,$t,F,Jt,Qt={className:$t,inject:function(t,e){void 0===e&&(e={});var n,i=function(t){if(t&&t.getRootNode){t=t.getRootNode();if(11===t.nodeType)return t}}(t),r=0===F;return(i||r)&&(n=Vt($t,zt,e,i)),r&&(Y=n),i||++F,{destroy:function(){i?(t.removeChild(n),n=null):(0<F&&--F,0===F&&Y&&(Y.parentNode.removeChild(Y),Y=null))}}}},te="selecto-selection ".concat(Qt.className),ee=["boundContainer","selectableTargets","selectByClick","selectFromInside","continueSelect","continueSelectWithoutDeselect","toggleContinueSelect","toggleContinueSelectWithoutDeselect","keyContainer","hitRate","scrollOptions","checkInput","preventDefault","ratio","getElementRect","preventDragFromInside","rootContainer","dragCondition","clickBySelectEnd"],e=a(["dragContainer","cspNonce","preventClickEventOnDrag","preventClickEventOnDragStart","preventRightClick"],ee,!0),_t={boundContainer:null,portalContainer:null,container:null,dragContainer:null,selectableTargets:Array,selectByClick:Boolean,selectFromInside:Boolean,continueSelect:Boolean,toggleContinueSelect:Array,toggleContinueSelectWithoutDeselect:Array,keyContainer:null,hitRate:Number,scrollOptions:Object,checkInput:Boolean,preventDefault:Boolean,cspNonce:String,ratio:Number,getElementRect:Function,preventDragFromInside:Boolean,rootContainer:Object,dragCondition:Function,clickBySelectEnd:Boolean,continueSelectWithoutDeselect:Boolean,preventClickEventOnDragStart:Boolean,preventClickEventOnDrag:Boolean},ne=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return B(e,t),e}(function(e){function t(t){void 0===t&&(t={});var d=e.call(this)||this;return d.selectedTargets=[],d.dragScroll=new vt,d._onDragStart=function(t,e){var n=t.datas,i=t.clientX,r=t.clientY,o=t.inputEvent,a=d.options,c=a.selectFromInside,s=a.selectByClick,u=a.rootContainer,l=a.boundContainer,f=a.preventDragFromInside,f=void 0===f||f,h=a.clickBySelectEnd,a=a.dragCondition;if(!a||a(t)){n.innerWidth=window.innerWidth,n.innerHeight=window.innerHeight,d.findSelectableTargets(n),n.startSelectedTargets=d.selectedTargets,n.scaleMatrix=O(),n.containerX=0;var a={left:-1/(n.containerY=0),top:-1/0,right:1/0,bottom:1/0},p=(u&&(p=d.container.getBoundingClientRect(),n.containerX=p.left,n.containerY=p.top,n.scaleMatrix=It(d.container,u)),l&&((l=(p=v(l)&&"element"in l?g({left:!0,top:!0,bottom:!0,right:!0},l):{element:l,left:!0,top:!0,bottom:!0,right:!0}).element)&&(l=(I(l)?document.querySelector(l):!0===l?d.container:l).getBoundingClientRect(),p.left&&(a.left=l.left),p.top&&(a.top=l.top),p.right&&(a.right=l.right),p.bottom&&(a.bottom=l.bottom))),n.boundArea=a,{left:i,top:r,right:i,bottom:r,width:0,height:0}),l=[],e=0<(l=c&&(!s||h)?l:(a=d._findElement(e||Nt(i,r),n.selectableTargets))?[a]:[]).length,a=!c&&e;if(a&&!s)return t.stop(),!1;c=o.type;if(!(!(!t.isClick&&("mousedown"===c||"touchstart"===c))||d.emit("dragStart",g({},t))))return t.stop(),!1;d.continueSelect?(l=Ut(d.selectedTargets,l,d.continueSelectWithoutDeselect),n.startPassedTargets=d.selectedTargets):n.startPassedTargets=[],d._select(d.selectedTargets,l,p,o,!0),n.startX=i,n.startY=r,n.selectFlag=!1,n.preventDragFromInside=!1;e=T(n.scaleMatrix,[i-n.containerX,r-n.containerY]);return n.boundsArea=d.target.style.cssText+="position: ".concat(u?"absolute":"fixed",";")+"left:0px;top:0px;"+"transform: translate(".concat(e[0],"px, ").concat(e[1],"px)"),a&&s&&!h?(o.preventDefault(),f&&(d._selectEnd(n.startSelectedTargets,n.startPassedTargets,p,t),n.preventDragFromInside=!0)):(n.selectFlag=!0,"touchstart"===c&&o.preventDefault(),(l=d.options.scrollOptions)&&l.container&&d.dragScroll.dragStart(t,l),h&&(n.selectFlag=!1,t.preventDrag())),!0}t.stop()},d._onDrag=function(t){if(t.datas.selectFlag){var e=d.scrollOptions;if(null!=e&&e.container&&d.dragScroll.drag(t,e))return}d._checkSelected(t)},d._onDragEnd=function(t){var e=t.datas,n=t.inputEvent,i=Ht(t,d.options.ratio),r=e.selectFlag;n&&!t.isClick&&d.emit("dragEnd",g(g({isDouble:!!t.isDouble,isClick:!!t.isClick,isDrag:!1,isSelect:r},t),{rect:i})),d.target.style.cssText+="display: none;",r?(e.selectFlag=!1,d.dragScroll.dragEnd()):d.selectByClick&&d.clickBySelectEnd&&(r=d._findElement(Nt(t.clientX,t.clientY),e.selectableTargets),d._select(d.selectedTargets,r?[r]:[],i,n)),e.preventDragFromInside||d._selectEnd(e.startSelectedTargets,e.startPassedTargets,i,t)},d._onKeyDown=function(t){var e,n=d.options,i=!1;d._keydownContinueSelect||(e=d._sameCombiKey(t,n.toggleContinueSelect),i=d._keydownContinueSelect=e),d._keydownContinueSelectWithoutDeselection||(e=d._sameCombiKey(t,n.toggleContinueSelectWithoutDeselect),d._keydownContinueSelectWithoutDeselection=e,i=i||e),i&&d.emit("keydown",{keydownContinueSelect:d._keydownContinueSelect,keydownContinueSelectWithoutDeselection:d._keydownContinueSelectWithoutDeselection})},d._onKeyUp=function(t){var e,n=d.options,i=!1;d._keydownContinueSelect&&(e=d._sameCombiKey(t,n.toggleContinueSelect,!0),d._keydownContinueSelect=!e,i=e),d._keydownContinueSelectWithoutDeselection&&(e=d._sameCombiKey(t,n.toggleContinueSelectWithoutDeselect,!0),d._keydownContinueSelectWithoutDeselection=!e,i=i||e),i&&d.emit("keyup",{keydownContinueSelect:d._keydownContinueSelect,keydownContinueSelectWithoutDeselection:d._keydownContinueSelectWithoutDeselection})},d._onBlur=function(){(d._keydownContinueSelect||d._keydownContinueSelectWithoutDeselection)&&(d._keydownContinueSelect=!1,d._keydownContinueSelectWithoutDeselection=!1,d.emit("keyup",{keydownContinueSelect:d._keydownContinueSelect,keydownContinueSelectWithoutDeselection:d._keydownContinueSelectWithoutDeselection}))},d._onDocumentSelectStart=function(e){var t,n;d.gesto.isFlag()&&(t=(t=(t=d.dragContainer)===window?document.documentElement:t)instanceof Element?[t]:[].slice.call(t),n=e.target,t.some(function(t){if(t===n||t.contains(n))return e.preventDefault(),!0}))},d.target=t.portalContainer,d.container=t.container||document.body,d.options=g({portalContainer:null,container:null,dragContainer:null,selectableTargets:[],selectByClick:!0,selectFromInside:!0,clickBySelectEnd:!1,hitRate:100,continueSelect:!1,continueSelectWithoutDeselect:!1,toggleContinueSelect:null,toggleContinueSelectWithoutDeselect:null,keyContainer:null,scrollOptions:void 0,checkInput:!1,preventDefault:!1,boundContainer:!1,preventDragFromInside:!0,dragCondition:null,rootContainer:null,getElementRect:Zt,cspNonce:"",ratio:0},t),d.initElement(),d.initDragScroll(),d.setKeyController(),d}B(t,e);var n,i,r=t.prototype;return r.setSelectedTargets=function(t){return this.selectedTargets=t,this},r.getSelectedTargets=function(){return this.selectedTargets},r.triggerDragStart=function(t){return this.gesto.triggerDragStart(t),this},r.destroy=function(){this.off(),this.keycon&&this.keycon.destroy(),this.gesto.unset(),this.injectResult.destroy(),S(document,"selectstart",this._onDocumentSelectStart),this.keycon=null,this.gesto=null,this.injectResult=null,this.target=null,this.container=null,this.options=null},r.getElementPoints=function(t){var e,n,i,r,o,a,c,s,u,l=this.getElementRect||Zt,f=l(t),f=[f.pos1,f.pos2,f.pos4,f.pos3];return l!==Zt?(l=t.getBoundingClientRect(),t=f,e=(l=l).width,n=l.height,i=l.left,r=l.top,o=(l=Yt(t)).minX,a=l.minY,c=l.maxX,l=l.maxY,s=e/(c-o),u=n/(l-a),t.map(function(t){return[i+(t[0]-o)*s,r+(t[1]-a)*u]})):f},r.getSelectableElements=function(){var e=[];return this.options.selectableTargets.forEach(function(t){v(t)?e.push(t):[].slice.call(document.querySelectorAll(t)).forEach(function(t){e.push(t)})}),e},r.checkScroll=function(){var t;!this.gesto.isFlag()||null!=(t=this.scrollOptions)&&t.container&&this.dragScroll.checkScroll(g({inputEvent:this.gesto.getCurrentEvent()},t))},r.findSelectableTargets=function(t){var e=this,n=(void 0===t&&(t=this.gesto.getEventDatas()),this.getSelectableElements()),i=n.map(function(t){return e.getElementPoints(t)});t.selectableTargets=n,t.selectablePoints=i,this._refreshGroups(t)},r.clickTarget=function(t,e){var n="touches"in(i=t)?{clientX:(n=i.touches[0]||i.changedTouches[0]).clientX,clientY:n.clientY}:{clientX:i.clientX,clientY:i.clientY},i={datas:{selectFlag:!1},clientX:n.clientX,clientY:n.clientY,inputEvent:t,isClick:!0,stop:function(){return!1}};return this._onDragStart(i,e)&&this._onDragEnd(i),this},r.setKeyController=function(){var t=this.options,e=t.keyContainer,n=t.toggleContinueSelect,t=t.toggleContinueSelectWithoutDeselect;this.keycon&&(this.keycon.destroy(),this.keycon=null),(n||t)&&(this.keycon=new Ot(e||window),this.keycon.keydown(this._onKeyDown).keyup(this._onKeyUp).on("blur",this._onBlur))},r.setKeyEvent=function(){var t=this.options,e=t.toggleContinueSelect,t=t.toggleContinueSelectWithoutDeselect;!e&&!t||this.keycon||this.setKeyController()},r.setKeyContainer=function(t){var e=this,n=this.options;Gt(n.keyContainer,t,function(){n.keyContainer=t,e.setKeyController()})},r.getContinueSelect=function(){var t=this.options,e=t.continueSelect;return t.toggleContinueSelect&&this._keydownContinueSelect?!e:e},r.getContinueSelectWithoutDeselect=function(){var t=this.options,e=t.continueSelectWithoutDeselect;return t.toggleContinueSelectWithoutDeselect&&this._keydownContinueSelectWithoutDeselection?!e:e},r.setToggleContinueSelect=function(t){var e=this,n=this.options;Gt(n.toggleContinueSelect,t,function(){n.toggleContinueSelect=t,e.setKeyEvent()})},r.setToggleContinueSelectWithoutDeselect=function(t){var e=this,n=this.options;Gt(n.toggleContinueSelectWithoutDeselect,t,function(){n.toggleContinueSelectWithoutDeselect=t,e.setKeyEvent()})},r.setPreventDefault=function(t){this.gesto.options.preventDefault=t},r.setCheckInput=function(t){this.gesto.options.checkInput=t},r.initElement=function(){this.target=Lt(qt("div",{className:te}),this.target,this.container);var t=this.target,e=this.options,n=e.dragContainer,i=e.checkInput,r=e.preventDefault,o=e.preventClickEventOnDragStart,a=e.preventClickEventOnDrag,e=e.preventRightClick,e=void 0===e||e;this.dragContainer="string"==typeof n?[].slice.call(document.querySelectorAll(n)):n||this.target.parentNode,this.gesto=new rt(this.dragContainer,{checkWindowBlur:!0,container:window,checkInput:i,preventDefault:r,preventClickEventOnDragStart:o,preventClickEventOnDrag:a,preventRightClick:e}).on({dragStart:this._onDragStart,drag:this._onDrag,dragEnd:this._onDragEnd}),C(document,"selectstart",this._onDocumentSelectStart),this.injectResult=Qt.inject(t,{nonce:this.options.cspNonce})},r.hitTest=function(t,i,r,e){var n,o,a=this.options,c=a.hitRate,s=a.selectByClick,a=t.left,u=t.top,l=t.right,t=t.bottom,f=e.innerGroups,h=e.innerWidth,p=e.innerHeight,d=[[a,u],[l,u],[l,t],[a,t]],g=function(t){var e=D([i,r],t);if(s&&e)return!0;e=jt(d,t);if(!e.length)return!1;var e=Tt(e),t=Tt(t),n=q("".concat(c));return"px"===n.unit?e>=n.value:Z(Math.round(e/t*100),0,100)>=Math.min(100,n.value)};if(!f)return n=e.selectableTargets,o=e.selectablePoints,n.filter(function(t,e){return g(o[e])});for(var v=[],e=Math.floor(a/h),m=Math.floor(l/h),y=Math.floor(u/p),C=Math.floor(t/p),S=e;S<=m;++S){var E=f[S];if(E)for(var _=y;_<=C;++_)!function(t){t=E[t];if(!t)return;var e=t.points,n=t.targets;e.forEach(function(t,e){g(t)&&v.push(n[e])})}(_)}var b=v;if("undefined"==typeof Map)return b.filter(function(t,e){return b.indexOf(t)===e});var k=new Map;return b.filter(function(t){return!k.has(t)&&(k.set(t,!0),!0)})},r.initDragScroll=function(){var o=this;this.dragScroll.on("scroll",function(t){var e=t.container,t=t.direction;o.emit("scroll",{container:e,direction:t})}).on("move",function(t){var e,n=t.offsetX,i=t.offsetY,t=t.inputEvent,r=o.gesto;r&&r.isFlag()&&(e=(r=o.gesto.getEventDatas()).boundArea,r.startX-=n,r.startY-=i,r.selectablePoints.forEach(function(t){t.forEach(function(t){t[0]-=n,t[1]-=i})}),o._refreshGroups(r),e.left-=n,e.right-=n,e.top-=i,e.bottom-=i,o.gesto.scrollBy(n,i,t.inputEvent,!1),o._checkSelected(o.gesto.getCurrentEvent()))})},r._select=function(t,e,n,i,r){var t=p(t,e),o=t.added,a=t.removed,c=t.prevList,s=t.list;this.selectedTargets=e,r&&this.emit("selectStart",{selected:e,added:o.map(function(t){return s[t]}),removed:a.map(function(t){return c[t]}),rect:n,inputEvent:i}),(o.length||a.length)&&this.emit("select",{selected:e,added:o.map(function(t){return s[t]}),removed:a.map(function(t){return c[t]}),rect:n,inputEvent:i})},r._selectEnd=function(t,e,n,i){var r=i.inputEvent,o=i.isDouble,t=p(t,this.selectedTargets),a=t.added,c=t.removed,s=t.prevList,u=t.list,t=p(e,this.selectedTargets),e=t.added,l=t.removed,f=t.prevList,h=t.list,t=r&&r.type,t="mousedown"===t||"touchstart"===t;this.emit("selectEnd",{selected:this.selectedTargets,added:a.map(function(t){return u[t]}),removed:c.map(function(t){return s[t]}),afterAdded:e.map(function(t){return h[t]}),afterRemoved:l.map(function(t){return f[t]}),isDragStart:t,isClick:!!i.isClick,isDouble:!!o,rect:n,inputEvent:r})},r._checkSelected=function(t,e){void 0===e&&(e=Ht(t,this.options.ratio));var n=t.datas,i=t.inputEvent,r=e.top,o=e.left,a=e.width,c=e.height,s=n.selectFlag,u=n.containerX,l=n.containerY,f=n.scaleMatrix,o=T(f,[o-u,r-l]),u=T(f,[a,c]),r=[],l=[];s&&(this.target.style.cssText+="display: block;left:0px;top:0px;"+"transform: translate(".concat(o[0],"px, ").concat(o[1],"px);")+"width:".concat(u[0],"px;height:").concat(u[1],"px;"),f=this.hitTest(e,n.startX,n.startY,n),r=this.selectedTargets,l=Ut(n.startPassedTargets,f,this.continueSelect&&this.continueSelectWithoutDeselect),this.selectedTargets=l),!1===this.emit("drag",g(g({},t),{isSelect:s,rect:e}))?(this.target.style.cssText+="display: none;",t.stop()):s&&this._select(r,l,e,i)},r._sameCombiKey=function(t,e,n){if(!e)return!1;var i,r=xt(t.inputEvent,t.key),e=[].concat(e),e=A(e[0])?e:[e];return n?(i=t.key,e.some(function(t){return t.some(function(t){return t===i})})):e.some(function(t){return t.every(function(t){return-1<r.indexOf(t)})})},r._findElement=function(t,e){for(var n=t;n&&!(-1<e.indexOf(n));)n=n.parentElement;return n},r._refreshGroups=function(t){var l,e,f,h=t.innerWidth,p=t.innerHeight;h&&p?(l=t.selectableTargets,e=t.selectablePoints,f={},e.forEach(function(t,e){var n=1/0,i=-1/0,r=1/0,o=-1/0;t.forEach(function(t){var e=Math.floor(t[0]/h),t=Math.floor(t[1]/p);n=Math.min(e,n),i=Math.max(e,i),r=Math.min(t,r),o=Math.max(t,o)});for(var a=n;a<=i;++a)for(var c=r;c<=o;++c){f[a]=f[a]||{},f[a][c]=f[a][c]||{points:[],targets:[]};var s=f[a][c],u=s.targets,s=s.points;u.push(l[e]),s.push(t)}}),t.innerGroups=f):t.innerGroups=null},function(t,e,n,i){var r,o=arguments.length,a=o<3?e:null===i?i=Object.getOwnPropertyDescriptor(e,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(t,e,n,i);else for(var c=t.length-1;0<=c;c--)(r=t[c])&&(a=(o<3?r(a):3<o?r(e,n,a):r(e,n))||a);return 3<o&&a&&Object.defineProperty(e,n,a),a}([(n=ee,i=function(t,e){var n={enumerable:!0,configurable:!0,get:function(){return this.options[e]}},i=G("get ".concat(e)),r=(t[i]?n.get=function(){return this[i]()}:n.get=function(){return this.options[e]},G("set ".concat(e)));t[r]?n.set=function(t){this[r](t)}:n.set=function(t){this.options[e]=t},Object.defineProperty(t,e,n)},function(t){var e=t.prototype;n.forEach(function(t){i(e,t)})})],t)}(t)),ie={__proto__:null,default:ne,OPTIONS:e,OPTION_TYPES:_t,PROPERTIES:ee,EVENTS:["dragStart","drag","dragEnd","selectStart","select","selectEnd","keydown","keyup","scroll"],METHODS:["clickTarget","getSelectableElements","setSelectedTargets","getElementPoints","getSelectedTargets","findSelectableTargets","triggerDragStart","checkScroll"],CLASS_NAME:te};for(Jt in ie)ne[Jt]=ie[Jt];return ne});
!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):(t=t||self).Selecto=e()}(this,function(){"use strict";var X=function(t,e){return(X=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n])})(t,e)};function K(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function n(){this.constructor=t}X(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)}var g=function(){return(g=Object.assign||function(t){for(var e,n=1,i=arguments.length;n<i;n++)for(var r in e=arguments[n])Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t}).apply(this,arguments)};function a(t,e,n){if(n||2===arguments.length)for(var i,r=0,o=e.length;r<o;r++)!i&&r in e||((i=i||Array.prototype.slice.call(e,0,r))[r]=e[r]);return t.concat(i||Array.prototype.slice.call(e))}var W="function",A="string",R=[{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"},{open:'\\"',close:'\\"'},{open:"\\'",close:"\\'"}],j=1e-7;function v(t){return t&&"object"==typeof t}function I(t){return Array.isArray(t)}function m(t){return typeof t===A}function N(t,e,n,i,r){if(y(t,e,n))return n;for(var o,a=t,s=e,c=i,u=r,l=n+1;l<c;++l){var h=function(t){var e,n,i=s[t].trim();return i!==a.close||y(a,s,t)?(e=t,-1===(e=(n=E(u,function(t){return t.open===i}))?N(n,s,t,c,u):e)?(o=t,"break"):void(o=t=e)):{value:t}}(l);if(l=o,"object"==typeof h)return h.value;if("break"===h)break}return-1}function y(t,e,n){if(!t.ignore)return null;e=e.slice(Math.max(n-3,0),n+3).join("");return new RegExp(t.ignore).exec(e)}function L(t,e){var e=m(e)?{separator:e}:e,n=e.separator,o=void 0===n?",":n,a=e.isSeparateFirst,s=e.isSeparateOnlyOpenClose,n=e.isSeparateOpenClose,c=void 0===n?s:n,n=e.openCloseCharacters,u=void 0===n?R:n,e=u.map(function(t){var e=t.open,t=t.close;return e===t?e:e+"|"+t}).join("|"),n=new RegExp("(\\s*"+o+"\\s*|"+e+"|\\s+)","g"),l=t.split(n).filter(Boolean),h=l.length,f=[],p=[];function d(){return p.length&&(f.push(p.join("")),p=[])}for(var g,i=0;i<h;++i){var r=function(t){var e=l[t].trim(),n=t,i=E(u,function(t){return t.open===e}),r=E(u,function(t){return t.close===e});if(i){if(-1!==(n=N(i,l,t,h,u))&&c)return d()&&a?(g=t,"break"):(f.push(l.slice(t,n+1).join("")),t=n,a?(g=t,"break"):(g=t,"continue"))}else{if(r&&!y(r,l,t))throw new Error("invalid format: "+r.close);if(i=e,!((""!==(r=o)&&" "!=r||""!==i&&" "!=i)&&i!==r||s))return d(),a?(g=t,"break"):(g=t,"continue")}p.push(l.slice(t,(n=-1===n?h-1:n)+1).join("")),g=t=n}(i),i=g;if("break"===r)break}return p.length&&f.push(p.join("")),f}function c(t){return L(t,",")}function q(t){t=/^([^\d|e|\-|\+]*)((?:\d|\.|-|e-|e\+)+)(\S*)$/g.exec(t);if(!t)return{prefix:"",unit:"",value:NaN};var e=t[1],n=t[2];return{prefix:e,unit:t[3],value:parseFloat(n)}}function G(t){return t.replace(/[\s-_]([a-z])/g,function(t,e){return e.toUpperCase()})}function C(){return Date.now?Date.now():(new Date).getTime()}function o(t,e,n){void 0===n&&(n=-1);for(var i=t.length,r=0;r<i;++r)if(e(t[r],r,t))return r;return n}function E(t,e,n){e=o(t,e);return-1<e?t[e]:n}function H(t,e,n){return Math.max(e,Math.min(t,n))}function Z(t,i,r,e){return void 0===e&&(e=t[0]/t[1]),[[B(i[0],j),B(i[0]/e,j)],[B(i[1]*e,j),B(i[1],j)]].filter(function(t){return t.every(function(t,e){var e=i[e],n=B(e,j);return r?t<=e||t<=n:e<=t||n<=t})})[0]||t}function U(t,e){var n=e[0]-t[0],e=e[1]-t[1],t=Math.atan2(e,n);return 0<=t?t:t+2*Math.PI}function V(o){return[0,1].map(function(e){for(var t=o.map(function(t){return t[e]}),n=t.length,i=0,r=n-1;0<=r;--r)i+=t[r];return n?i/n:0})}function z(t){var e=V(t),n=U(e,t[0]),e=U(e,t[1]);return n<e&&e-n<Math.PI||e<n&&e-n<-Math.PI?1:-1}function $(t,e){return Math.sqrt(Math.pow((e?e[0]:0)-t[0],2)+Math.pow((e?e[1]:0)-t[1],2))}function B(t,e){if(!e)return t;var n=1/e;return Math.round(t/e)/n}function S(t,e,n,i){t.addEventListener(e,n,i)}function _(t,e,n,i){t.removeEventListener(e,n,i)}var J=function(){return(J=Object.assign||function(t){for(var e,n=1,i=arguments.length;n<i;n++)for(var r in e=arguments[n])Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t}).apply(this,arguments)};var t=function(){function t(){this._events={}}var e=t.prototype;return e.on=function(t,e){if(v(t))for(var n in t)this.on(n,t[n]);else this._addEvent(t,e,{});return this},e.off=function(t,e){if(t)if(v(t))for(var n in t)this.off(n);else{var i,r;e?(i=this._events[t])&&-1<(r=o(i,function(t){return t.listener===e}))&&i.splice(r,1):this._events[t]=[]}else this._events={};return this},e.once=function(e,t){var n=this;return t&&this._addEvent(e,t,{once:!0}),new Promise(function(t){n._addEvent(e,t,{once:!0})})},e.emit=function(e,n){var i=this,t=(void 0===n&&(n={}),this._events[e]);if(!e||!t)return!0;var r=!1;return n.eventType=e,n.stop=function(){r=!0},n.currentTarget=this,function(){for(var t=0,e=0,n=arguments.length;e<n;e++)t+=arguments[e].length;for(var i=Array(t),r=0,e=0;e<n;e++)for(var o=arguments[e],a=0,s=o.length;a<s;a++,r++)i[r]=o[a];return i}(t).forEach(function(t){t.listener(n),t.once&&i.off(e,t.listener)}),!r},e.trigger=function(t,e){return this.emit(t,e=void 0===e?{}:e)},e._addEvent=function(t,e,n){var i=this._events;i[t]=i[t]||[],i[t].push(J({listener:e},n))},t}(),Q=function(t,e){return(Q=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])})(t,e)};var k=function(){return(k=Object.assign||function(t){for(var e,n=1,i=arguments.length;n<i;n++)for(var r in e=arguments[n])Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t}).apply(this,arguments)};function n(t){return 180*(e=[t[0].clientX,t[0].clientY],t=[t[1].clientX,t[1].clientY],n=t[0]-e[0],t=t[1]-e[1],(0<=(e=Math.atan2(t,n))?e:e+2*Math.PI)/Math.PI);var e,n}function b(t){if(!t)return[];if(t.touches){for(var e=t.touches,n=Math.min(e.length,2),i=[],r=0;r<n;++r)i.push(et(e[r]));return i}return[et(t)]}function tt(t,e,n){var i=n.length,t=u(t,i),r=t.clientX,o=t.clientY,a=t.originalClientX,t=t.originalClientY,e=u(e,i),s=e.clientX,e=e.clientY,n=u(n,i);return{clientX:a,clientY:t,deltaX:r-s,deltaY:o-e,distX:r-n.clientX,distY:o-n.clientY}}function i(t){return Math.sqrt(Math.pow(t[0].clientX-t[1].clientX,2)+Math.pow(t[0].clientY-t[1].clientY,2))}function et(t){return{clientX:t.clientX,clientY:t.clientY}}function u(t,e){void 0===e&&(e=t.length);for(var n={clientX:0,clientY:0,originalClientX:0,originalClientY:0},i=0;i<e;++i){var r=t[i];n.originalClientX+="originalClientX"in r?r.originalClientX:r.clientX,n.originalClientY+="originalClientY"in r?r.originalClientY:r.clientY,n.clientX+=r.clientX,n.clientY+=r.clientY}return e?{clientX:n.clientX/e,clientY:n.clientY/e,originalClientX:n.originalClientX/e,originalClientY:n.originalClientY/e}:n}var D=function(){function t(t){this.prevClients=[],this.startClients=[],this.movement=0,this.length=0,this.startClients=t,this.prevClients=t,this.length=t.length}var e=t.prototype;return e.getAngle=function(t){return n(t=void 0===t?this.prevClients:t)},e.getRotation=function(t){return n(t=void 0===t?this.prevClients:t)-n(this.startClients)},e.getPosition=function(t,e){var n=tt((t=void 0===t?this.prevClients:t)||this.prevClients,this.prevClients,this.startClients),i=n.deltaX,r=n.deltaY;return this.movement+=Math.sqrt(i*i+r*r),this.prevClients=t,n},e.getPositions=function(n){void 0===n&&(n=this.prevClients);var i=this.prevClients;return this.startClients.map(function(t,e){return tt([n[e]],[i[e]],[t])})},e.getMovement=function(t){var e=this.movement;if(!t)return e;var t=u(t,this.length),n=u(this.prevClients,this.length),i=t.clientX-n.clientX,t=t.clientY-n.clientY;return Math.sqrt(i*i+t*t)+e},e.getDistance=function(t){return i(t=void 0===t?this.prevClients:t)},e.getScale=function(t){return i(t=void 0===t?this.prevClients:t)/i(this.startClients)},e.move=function(e,n){this.startClients.forEach(function(t){t.clientX-=e,t.clientY-=n})},t}(),nt=["textarea","input"],it=function(o){function t(){this.constructor=e}var e;function n(t,e){void 0===e&&(e={});var n,g=o.call(this)||this,t=(g.options={},g.flag=!1,g.pinchFlag=!1,g.data={},g.isDrag=!1,g.isPinch=!1,g.isMouse=!1,g.isTouch=!1,g.clientStores=[],g.targets=[],g.prevTime=0,g.doubleFlag=!1,g._dragFlag=!1,g._isMouseEvent=!1,g._isSecondaryButton=!1,g._preventMouseEvent=!1,g.onDragStart=function(t,e){if(void 0===e&&(e=!0),g.flag||!1!==t.cancelable){var n=g.options,i=n.container,r=n.pinchOutside,o=n.preventWheelClick,a=n.preventRightClick,s=n.preventDefault,c=n.checkInput,u=n.preventClickEventOnDragStart,l=n.preventClickEventOnDrag,n=n.preventClickEventByCondition,h=g.isTouch,f=!g.flag;if(g._isSecondaryButton=3===t.which||2===t.button,o&&(2===t.which||1===t.button)||a&&(3===t.which||2===t.button))return g.stop(),!1;if(f){var o=document.activeElement,a=t.target,p=a.tagName.toLowerCase(),p=-1<nt.indexOf(p),d=a.isContentEditable;if(p||d){if(c||o===a)return!1;if(o&&d&&o.isContentEditable&&o.contains(a))return!1}else(s||"touchstart"===t.type)&&o&&(p=o.tagName,(o.isContentEditable||-1<nt.indexOf(p))&&o.blur());(u||l||n)&&S(window,"click",g._onClick,!0),g.clientStores=[new D(b(t))],g.flag=!0,g.isDrag=!1,g._dragFlag=!0,g.data={},g.doubleFlag=C()-g.prevTime<200,g._isMouseEvent=(c=t)&&(-1<c.type.indexOf("mouse")||"button"in c),!g._isMouseEvent&&g._preventMouseEvent&&(g._preventMouseEvent=!1),!1===(g._preventMouseEvent||g.emit("dragStart",k(k({data:g.data,datas:g.data,inputEvent:t,isMouseEvent:g._isMouseEvent,isSecondaryButton:g._isSecondaryButton,isTrusted:e,isDouble:g.doubleFlag},g.getCurrentStore().getPosition()),{preventDefault:function(){t.preventDefault()},preventDrag:function(){g._dragFlag=!1}})))&&g.stop(),g._isMouseEvent&&g.flag&&s&&t.preventDefault()}if(!g.flag)return!1;d=0;f?(g._attchDragEvent(),h&&r&&(d=setTimeout(function(){S(i,"touchstart",g.onDragStart,{passive:!1})}))):h&&r&&_(i,"touchstart",g.onDragStart),g.flag&&((a=t).touches&&2<=a.touches.length)&&(clearTimeout(d),f&&t.touches.length!==t.changedTouches.length||g.pinchFlag||g.onPinchStart(t))}},g.onDrag=function(t,e){if(g.flag){var n=g.options.preventDefault,n=(!g._isMouseEvent&&n&&t.preventDefault(),b(t)),i=g.moveClients(n,t,!1);if(g._dragFlag){if(g.pinchFlag||i.deltaX||i.deltaY)if(!1===(g._preventMouseEvent||g.emit("drag",k(k({},i),{isScroll:!!e,inputEvent:t}))))return void g.stop();g.pinchFlag&&g.onPinch(t,n)}g.getCurrentStore().getPosition(n,!0)}},g.onDragEnd=function(t){var e,n,i,r,o,a;g.flag&&(a=(i=g.options).pinchOutside,e=i.container,o=i.preventClickEventOnDrag,r=i.preventClickEventOnDragStart,i=i.preventClickEventByCondition,n=g.isDrag,(o||r||i)&&requestAnimationFrame(function(){g._allowClickEvent()}),i||r||!o||n||g._allowClickEvent(),g.isTouch&&a&&_(e,"touchstart",g.onDragStart),g.pinchFlag&&g.onPinchEnd(t),0!==(i=null!=t&&t.touches?b(t):[]).length&&g.options.keepDragging?g._addStore(new D(i)):g.flag=!1,r=g._getPosition(),o=C(),a=!n&&g.doubleFlag,g.prevTime=n||a?0:o,g.flag||(g._dettachDragEvent(),g._preventMouseEvent||g.emit("dragEnd",k({data:g.data,datas:g.data,isDouble:a,isDrag:n,isClick:!n,isMouseEvent:g._isMouseEvent,isSecondaryButton:g._isSecondaryButton,inputEvent:t},r)),g.clientStores=[],g._isMouseEvent||(g._preventMouseEvent=!0,requestAnimationFrame(function(){requestAnimationFrame(function(){g._preventMouseEvent=!1})}))))},g.onBlur=function(){g.onDragEnd()},g._allowClickEvent=function(){_(window,"click",g._onClick,!0)},g._onClick=function(t){g._preventMouseEvent=!1;var e=g.options.preventClickEventByCondition;null!=e&&e(t)||(t.stopPropagation(),t.preventDefault())},g._onContextMenu=function(t){g.options.preventRightClick?g.onDragEnd(t):t.preventDefault()},g._passCallback=function(){},[].concat(t)),e=(g.options=k({checkInput:!1,container:1<t.length?window:t[0],preventRightClick:!0,preventWheelClick:!0,preventClickEventOnDragStart:!1,preventClickEventOnDrag:!1,preventClickEventByCondition:null,preventDefault:!0,checkWindowBlur:!1,keepDragging:!1,pinchThreshold:0,events:["touch","mouse"]},e),g.options),i=e.container,r=e.events,e=e.checkWindowBlur;return g.isTouch=-1<r.indexOf("touch"),g.isMouse=-1<r.indexOf("mouse"),g.targets=t,g.isMouse&&(t.forEach(function(t){S(t,"mousedown",g.onDragStart),S(t,"mousemove",g._passCallback)}),S(i,"contextmenu",g._onContextMenu)),e&&S(window,"blur",g.onBlur),g.isTouch&&(n={passive:!1},t.forEach(function(t){S(t,"touchstart",g.onDragStart,n),S(t,"touchmove",g._passCallback,n)})),g}Q(e=n,i=o),e.prototype=null===i?Object.create(i):(t.prototype=i.prototype,new t);var i=n.prototype;return i.stop=function(){this.isDrag=!1,this.data={},this.clientStores=[],this.pinchFlag=!1,this.doubleFlag=!1,this.prevTime=0,this.flag=!1,this._allowClickEvent(),this._dettachDragEvent()},i.getMovement=function(t){return this.getCurrentStore().getMovement(t)+this.clientStores.slice(1).reduce(function(t,e){return t+e.movement},0)},i.isDragging=function(){return this.isDrag},i.isFlag=function(){return this.flag},i.isPinchFlag=function(){return this.pinchFlag},i.isDoubleFlag=function(){return this.doubleFlag},i.isPinching=function(){return this.isPinch},i.scrollBy=function(t,e,n,i){void 0===i&&(i=!0),this.flag&&(this.clientStores[0].move(t,e),i&&this.onDrag(n,!0))},i.move=function(t,e){var n=t[0],i=t[1],t=this.getCurrentStore().prevClients;return this.moveClients(t.map(function(t){var e=t.clientX,t=t.clientY;return{clientX:e+n,clientY:t+i,originalClientX:e,originalClientY:t}}),e,!0)},i.triggerDragStart=function(t){this.onDragStart(t,!1)},i.setEventData=function(t){var e,n=this.data;for(e in t)n[e]=t[e];return this},i.setEventDatas=function(t){return this.setEventData(t)},i.getCurrentEvent=function(t){return k(k({data:this.data,datas:this.data},this._getPosition()),{movement:this.getMovement(),isDrag:this.isDrag,isPinch:this.isPinch,isScroll:!1,inputEvent:t})},i.getEventData=function(){return this.data},i.getEventDatas=function(){return this.data},i.unset=function(){var e=this,t=this.targets,n=this.options.container;this.off(),_(window,"blur",this.onBlur),this.isMouse&&(t.forEach(function(t){_(t,"mousedown",e.onDragStart)}),_(n,"contextmenu",this._onContextMenu)),this.isTouch&&(t.forEach(function(t){_(t,"touchstart",e.onDragStart)}),_(n,"touchstart",this.onDragStart)),this._dettachDragEvent()},i.onPinchStart=function(t){var e=this.options.pinchThreshold;this.isDrag&&this.getMovement()>e||(e=new D(b(t)),this.pinchFlag=!0,this._addStore(e),!1===this.emit("pinchStart",k(k({data:this.data,datas:this.data,angle:e.getAngle(),touches:this.getCurrentStore().getPositions()},e.getPosition()),{inputEvent:t}))&&(this.pinchFlag=!1))},i.onPinch=function(t,e){var n;!this.flag||!this.pinchFlag||e.length<2||(n=this.getCurrentStore(),this.isPinch=!0,this.emit("pinch",k(k({data:this.data,datas:this.data,movement:this.getMovement(e),angle:n.getAngle(e),rotation:n.getRotation(e),touches:n.getPositions(e),scale:n.getScale(e),distance:n.getDistance(e)},n.getPosition(e)),{inputEvent:t})))},i.onPinchEnd=function(t){var e,n;this.pinchFlag&&(e=this.isPinch,this.isPinch=!1,this.pinchFlag=!1,n=this.getCurrentStore(),this.emit("pinchEnd",k(k({data:this.data,datas:this.data,isPinch:e,touches:n.getPositions()},n.getPosition()),{inputEvent:t})))},i.getCurrentStore=function(){return this.clientStores[0]},i.moveClients=function(t,e,n){n=this._getPosition(t,n);return(n.deltaX||n.deltaY)&&(this.isDrag=!0),k(k({data:this.data,datas:this.data},n),{movement:this.getMovement(t),isDrag:this.isDrag,isPinch:this.isPinch,isScroll:!1,isMouseEvent:this._isMouseEvent,isSecondaryButton:this._isSecondaryButton,inputEvent:e})},i._addStore=function(t){this.clientStores.splice(0,0,t)},i._getPosition=function(t,e){var t=this.getCurrentStore().getPosition(t,e),e=this.clientStores.slice(1).reduce(function(t,e){e=e.getPosition();return t.distX+=e.distX,t.distY+=e.distY,t},t),n=e.distX,e=e.distY;return k(k({},t),{distX:n,distY:e})},i._attchDragEvent=function(){var t=this.options.container,e={passive:!1};this.isMouse&&(S(t,"mousemove",this.onDrag),S(t,"mouseup",this.onDragEnd)),this.isTouch&&(S(t,"touchmove",this.onDrag,e),S(t,"touchend",this.onDragEnd,e),S(t,"touchcancel",this.onDragEnd,e))},i._dettachDragEvent=function(){var t=this.options.container;this.isMouse&&(_(t,"mousemove",this.onDrag),_(t,"mouseup",this.onDragEnd)),this.isTouch&&(_(t,"touchstart",this.onDragStart),_(t,"touchmove",this.onDrag),_(t,"touchend",this.onDragEnd),_(t,"touchcancel",this.onDragEnd))},n}(t);var rt=function(){function t(){this.keys=[],this.values=[]}var e=t.prototype;return e.get=function(t){return this.values[this.keys.indexOf(t)]},e.set=function(t,e){var n=this.keys,i=this.values,r=n.indexOf(t),r=-1===r?n.length:r;n[r]=t,i[r]=e},t}(),ot=function(){function t(){this.object={}}var e=t.prototype;return e.get=function(t){return this.object[t]},e.set=function(t,e){this.object[t]=e},t}(),at="function"==typeof Map,st=function(){function t(){}var e=t.prototype;return e.connect=function(t,e){this.prev=t,this.next=e,t&&(t.next=this),e&&(e.prev=this)},e.disconnect=function(){var t=this.prev,e=this.next;t&&(t.next=e),e&&(e.prev=t)},e.getIndex=function(){for(var t=this,e=-1;t;)t=t.prev,++e;return e},t}();var ct=function(){function t(t,e,n,i,r,o,a,s){this.prevList=t,this.list=e,this.added=n,this.removed=i,this.changed=r,this.maintained=o,this.changedBeforeAdded=a,this.fixed=s}var e=t.prototype;return Object.defineProperty(e,"ordered",{get:function(){return this.cacheOrdered||this.caculateOrdered(),this.cacheOrdered},enumerable:!0,configurable:!0}),Object.defineProperty(e,"pureChanged",{get:function(){return this.cachePureChanged||this.caculateOrdered(),this.cachePureChanged},enumerable:!0,configurable:!0}),e.caculateOrdered=function(){t=this.changedBeforeAdded,n=this.fixed,r=[],o=[],t.forEach(function(t){var e=t[0],t=t[1],n=new st;r[e]=n,o[t]=n}),r.forEach(function(t,e){t.connect(r[e-1])});var n,r,o,t=t.filter(function(t,e){return!n[e]}).map(function(t,e){var n=t[0],t=t[1];if(n===t)return[0,0];var n=r[n],t=o[t-1],i=n.getIndex();return n.disconnect(),t?n.connect(t,t.next):n.connect(void 0,r[0]),[i,n.getIndex()]}),a=this.changed,s=[];this.cacheOrdered=t.filter(function(t,e){var n=t[0],t=t[1],e=a[e],i=e[0],e=e[1];if(n!==t)return s.push([i,e]),!0}),this.cachePureChanged=s},t}();var ut,lt="function"==typeof Map?void 0:(ut=0,function(t){return t.__DIFF_KEY__||(t.__DIFF_KEY__=++ut)});function d(t,e){return t=t,e=e,n=lt,i=at?Map:n?ot:rt,n=n||function(t){return t},r=[],o=[],a=[],s=t.map(n),n=e.map(n),c=new i,u=new i,l=[],h=[],f={},p=[],g=d=0,s.forEach(function(t,e){c.set(t,e)}),n.forEach(function(t,e){u.set(t,e)}),s.forEach(function(t,e){t=u.get(t);void 0===t?(++g,o.push(e)):f[t]=g}),n.forEach(function(t,e){t=c.get(t);void 0===t?(r.push(e),++d):(a.push([t,e]),g=f[e]||0,l.push([t-g,e-d]),h.push(e===t),t!==e&&p.push([t,e]))}),o.reverse(),new ct(t,e,r,o,p,a,l,h);var n,i,r,o,a,s,c,u,l,h,f,p,d,g}var ht=function(t,e){return(ht=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])})(t,e)};var l=function(){return(l=Object.assign||function(t){for(var e,n=1,i=arguments.length;n<i;n++)for(var r in e=arguments[n])Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t}).apply(this,arguments)};function ft(t){t=t.container;return t===document.body?[t.scrollLeft||document.documentElement.scrollLeft,t.scrollTop||document.documentElement.scrollTop]:[t.scrollLeft,t.scrollTop]}function h(t){return t?m(t)?document.querySelector(t):typeof t===W?t():t instanceof Element?t:"current"in t?t.current:"value"in t?t.value:void 0:null}var pt=function(e){function t(){this.constructor=n}var n;function i(){var t=null!==e&&e.apply(this,arguments)||this;return t._startRect=null,t._startPos=[],t._prevTime=0,t._timer=0,t._prevScrollPos=[0,0],t._isWait=!1,t._flag=!1,t}ht(n=i,r=e),n.prototype=null===r?Object.create(r):(t.prototype=r.prototype,new t);var r=i.prototype;return r.dragStart=function(t,e){var n,i,r,o,a=h(e.container);a?(o=r=i=n=0,o=a===document.body?(r=window.innerWidth,window.innerHeight):(n=(a=a.getBoundingClientRect()).top,i=a.left,r=a.width,a.height),this._flag=!0,this._startPos=[t.clientX,t.clientY],this._startRect={top:n,left:i,width:r,height:o},this._prevScrollPos=this._getScrollPosition([0,0],e)):this._flag=!1},r.drag=function(t,e){var n,i,r,o,a,s;if(this._flag)return n=t.clientX,i=t.clientY,r=e.threshold,r=void 0===r?0:r,o=this._startRect,a=this._startPos,s=[0,0],o.top>i-r?(a[1]>o.top||i<a[1])&&(s[1]=-1):o.top+o.height<i+r&&(a[1]<o.top+o.height||i>a[1])&&(s[1]=1),o.left>n-r?(a[0]>o.left||n<a[0])&&(s[0]=-1):o.left+o.width<n+r&&(a[0]<o.left+o.width||n>a[0])&&(s[0]=1),clearTimeout(this._timer),!(!s[0]&&!s[1])&&this._continueDrag(l(l({},e),{direction:s,inputEvent:t,isDrag:!0}))},r.checkScroll=function(t){var e=this;if(this._isWait)return!1;var n=t.prevScrollPos,n=void 0===n?this._prevScrollPos:n,i=t.direction,r=t.throttleTime,r=void 0===r?0:r,o=t.inputEvent,a=t.isDrag,s=this._getScrollPosition(i||[0,0],t),c=s[0]-n[0],n=s[1]-n[1],i=i||[c?Math.abs(c)/c:0,n?Math.abs(n)/n:0];return this._prevScrollPos=s,!(!c&&!n)&&(this.trigger("move",{offsetX:i[0]?c:0,offsetY:i[1]?n:0,inputEvent:o}),r&&a&&(this._timer=window.setTimeout(function(){e._continueDrag(t)},r)),!0)},r.dragEnd=function(){clearTimeout(this._timer)},r._getScrollPosition=function(t,e){var n=e.container,e=e.getScrollPosition;return(void 0===e?ft:e)({container:h(n),direction:t})},r._continueDrag=function(t){var e=this,n=t.container,i=t.direction,r=t.throttleTime,o=t.useScroll,a=t.isDrag,s=t.inputEvent;if(!a||!this._isWait){var c=C(),r=Math.max(r+this._prevTime-c,0);if(0<r)return this._timer=window.setTimeout(function(){e._continueDrag(t)},r),!1;this._prevTime=c;r=this._getScrollPosition(i,t);return this._prevScrollPos=r,a&&(this._isWait=!0),this.trigger("scroll",{container:h(n),direction:i,inputEvent:s}),this._isWait=!1,o||this.checkScroll(l(l({},t),{prevScrollPos:r,direction:i,inputEvent:s}))}},i}(t),dt=function(t,e){return(dt=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n])})(t,e)};function gt(t){return t&&"object"==typeof t}function vt(t){return Array.isArray(t)}function mt(t){return"string"==typeof t}function s(t,e,n,i){t.addEventListener(e,n,i)}function f(t,e,n,i){t.removeEventListener(e,n,i)}var yt=function(){return(yt=Object.assign||function(t){for(var e,n=1,i=arguments.length;n<i;n++)for(var r in e=arguments[n])Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t}).apply(this,arguments)};var Ct=function(){function t(){this._events={}}var e=t.prototype;return e.on=function(t,e){if(gt(t))for(var n in t)this.on(n,t[n]);else this._addEvent(t,e,{});return this},e.off=function(t,e){if(t)if(gt(t))for(var n in t)this.off(n);else{var i,r;e?(i=this._events[t])&&-1<(r=function(t,e,n){void 0===n&&(n=-1);for(var i=t.length,r=0;r<i;++r)if(e(t[r],r,t))return r;return n}(i,function(t){return t.listener===e}))&&i.splice(r,1):this._events[t]=[]}else this._events={};return this},e.once=function(e,t){var n=this;return t&&this._addEvent(e,t,{once:!0}),new Promise(function(t){n._addEvent(e,t,{once:!0})})},e.emit=function(e,n){var i=this,t=(void 0===n&&(n={}),this._events[e]);if(!e||!t)return!0;var r=!1;return n.eventType=e,n.stop=function(){r=!0},n.currentTarget=this,function(){for(var t=0,e=0,n=arguments.length;e<n;e++)t+=arguments[e].length;for(var i=Array(t),r=0,e=0;e<n;e++)for(var o=arguments[e],a=0,s=o.length;a<s;a++,r++)i[r]=o[a];return i}(t).forEach(function(t){t.listener(n),t.once&&i.off(e,t.listener)}),!r},e.trigger=function(t,e){return this.emit(t,e=void 0===e?{}:e)},e._addEvent=function(t,e,n){var i=this._events;i[t]=i[t]||[],i[t].push(yt({listener:e},n))},t}();(function(t,e){function n(t){if(!t||"object"!=typeof t||(e=t.which||t.keyCode||t.charCode)&&(t=e),"number"==typeof t)return s[t];var e=String(t),t=i[e.toLowerCase()];return t||((t=r[e.toLowerCase()])?t:1===e.length?e.charCodeAt(0):void 0)}n.isEventKey=function(t,e){if(t&&"object"==typeof t){t=t.which||t.keyCode||t.charCode;if(null!=t)if("string"==typeof e){var n=i[e.toLowerCase()];if(n)return n===t;if(n=r[e.toLowerCase()])return n===t}else if("number"==typeof e)return e===t;return!1}};for(var i=(e=t.exports=n).code=e.codes={backspace:8,tab:9,enter:13,shift:16,ctrl:17,alt:18,"pause/break":19,"caps lock":20,esc:27,space:32,"page up":33,"page down":34,end:35,home:36,left:37,up:38,right:39,down:40,insert:45,delete:46,command:91,"left command":91,"right command":93,"numpad *":106,"numpad +":107,"numpad -":109,"numpad .":110,"numpad /":111,"num lock":144,"scroll lock":145,"my computer":182,"my calculator":183,";":186,"=":187,",":188,"-":189,".":190,"/":191,"`":192,"[":219,"\\":220,"]":221,"'":222},r=e.aliases={windows:91,"⇧":16,"⌥":18,"⌃":17,"⌘":91,ctl:17,control:17,option:18,pause:19,break:19,caps:20,return:13,escape:27,spc:32,spacebar:32,pgup:33,pgdn:34,ins:45,del:46,cmd:91},o=97;o<123;o++)i[String.fromCharCode(o)]=o-32;for(var o=48;o<58;o++)i[o-48]=o;for(o=1;o<13;o++)i["f"+o]=o+111;for(o=0;o<10;o++)i["numpad "+o]=o+96;var a,s=e.names=e.title={};for(o in i)s[i[o]]=o;for(a in r)i[a]=r[a]})(e={exports:{}},e.exports);var Et,e=e.exports,St=(e.code,e.codes,e.aliases,e.names),_t=(e.title,{"+":"plus","left command":"meta","right command":"meta"}),kt={shift:1,ctrl:2,alt:3,meta:4};function bt(t,e){var n,i=(St[t]||e||"").toLowerCase();for(n in _t)i=i.replace(n,_t[n]);return i.replace(/\s/g,"")}function Dt(t,e){void 0===e&&(e=bt(t.keyCode,t.key));t=[t.shiftKey&&"shift",t.ctrlKey&&"ctrl",t.altKey&&"alt",t.metaKey&&"meta"].filter(Boolean);return-1===t.indexOf(e)&&t.push(e),t.filter(Boolean)}function wt(t){t=t.slice();return t.sort(function(t,e){return(kt[t]||5)-(kt[e]||5)}),t}var Mt=function(n){var t=r,e=n;if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function i(){this.constructor=t}function r(t){void 0===t&&(t=window);var e=n.call(this)||this;return e.container=t,e.ctrlKey=!1,e.altKey=!1,e.shiftKey=!1,e.metaKey=!1,e.clear=function(){return e.ctrlKey=!1,e.altKey=!1,e.shiftKey=!1,e.metaKey=!1,e},e.keydownEvent=function(t){e.triggerEvent("keydown",t)},e.keyupEvent=function(t){e.triggerEvent("keyup",t)},e.blur=function(){e.clear(),e.trigger("blur")},s(t,"blur",e.blur),s(t,"keydown",e.keydownEvent),s(t,"keyup",e.keyupEvent),e}dt(t,e),t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i);e=r.prototype;return Object.defineProperty(r,"global",{get:function(){return Et=Et||new r},enumerable:!1,configurable:!0}),r.setGlobal=function(){return this.global},e.destroy=function(){var t=this.container;this.clear(),this.off(),f(t,"blur",this.blur),f(t,"keydown",this.keydownEvent),f(t,"keyup",this.keyupEvent)},e.keydown=function(t,e){return this.addEvent("keydown",t,e)},e.offKeydown=function(t,e){return this.removeEvent("keydown",t,e)},e.offKeyup=function(t,e){return this.removeEvent("keyup",t,e)},e.keyup=function(t,e){return this.addEvent("keyup",t,e)},e.addEvent=function(t,e,n){return vt(e)?this.on(t+"."+wt(e).join("."),n):mt(e)?this.on(t+"."+e,n):this.on(t,e),this},e.removeEvent=function(t,e,n){return vt(e)?this.off(t+"."+wt(e).join("."),n):mt(e)?this.off(t+"."+e,n):this.off(t,e),this},e.triggerEvent=function(t,e){this.ctrlKey=e.ctrlKey,this.shiftKey=e.shiftKey,this.altKey=e.altKey,this.metaKey=e.metaKey;var n=bt(e.keyCode,e.key),i={key:n,isToggle:"ctrl"===n||"shift"===n||"meta"===n||"alt"===n,inputEvent:e,keyCode:e.keyCode,ctrlKey:e.ctrlKey,altKey:e.altKey,shiftKey:e.shiftKey,metaKey:e.metaKey},e=(this.trigger(t,i),this.trigger(t+"."+n,i),Dt(e,n));1<e.length&&this.trigger(t+"."+e.join("."),i)},r}(Ct);function p(t){return B(t,j)}function xt(n){return n.length<3?0:Math.abs(function(t){for(var e=0,n=t.length-1;0<=n;--n)e+=t[n];return e}(n.map(function(t,e){e=n[e+1]||n[0];return t[0]*e[1]-e[0]*t[1]})))/2}function Pt(t){var e=t.map(function(t){return t[0]}),t=t.map(function(t){return t[1]});return{minX:Math.min.apply(Math,e),minY:Math.min.apply(Math,t),maxX:Math.max.apply(Math,e),maxY:Math.max.apply(Math,t)}}function w(r,t,e){var i=r[0],o=r[1],n=Pt(t),a=n.minX,n=n.maxX,s=[[a,o],[n,o]],c=M(s[0],s[1]),a=x(t),u=[];if(a.forEach(function(t){var n,e=M(t[0],t[1]),i=t[0];n=e,c.every(function(t,e){return 0===p(t-n[e])})?u.push({pos:r,line:t,type:"line"}):Tt(Ot(c,e),[s,t]).forEach(function(n){t.some(function(t){return e=n,!p((t=t)[0]-e[0])&&!p(t[1]-e[1]);var e})?u.push({pos:n,line:t,type:"point"}):0!==p(i[1]-o)&&u.push({pos:n,line:t,type:"intersection"})})}),!e&&E(u,function(t){return t[0]===i}))return!0;var l=0,h={};return u.forEach(function(t){var e=t.pos,n=t.type,t=t.line;e[0]>i||("intersection"===n?++l:"line"!==n&&"point"===n&&(n=E(t,function(t){return t[1]!==o}),t=h[e[0]],n=n[1]>o?1:-1,t?t!==n&&++l:h[e[0]]=n))}),l%2==1}function M(t,e){var n=t[0],t=t[1],i=e[0]-n,e=e[1]-t,r=(Math.abs(i)<j&&(i=0),Math.abs(e)<j&&(e=0),0),o=0,a=0;return i?a=e?(o=1,-(r=-e/i)*n-t):(o=1,-t):e&&(r=-1,a=n),[r,o,a]}function Ot(t,e){var n,i,r=t[0],o=t[1],t=t[2],a=e[0],s=e[1],e=e[2],c=0===r&&0===a,u=0===o&&0===s;return c&&u?[]:c?(c=-t/o)!=-e/s?[]:[[-1/0,c],[1/0,c]]:u?(c=-t/r)!=-e/a?[]:[[c,-1/0],[c,1/0]]:(0===r?[[n=-(s*(i=-t/o)+e)/a,i]]:0===a?[[n=-(o*(i=-e/s)+t)/r,i]]:0===o?[[n=-t/r,i=-(a*n+e)/s]]:0===s?[[n=-e/a,i=-(r*n+t)/o]]:[[n=(o*e-s*t)/(s*r-o*a),i=-(r*n+t)/o]]).map(function(t){return[t[0],t[1]]})}function Tt(t,e){var i=e.map(function(e){return[0,1].map(function(t){return[Math.min(e[0][t],e[1][t]),Math.max(e[0][t],e[1][t])]})}),e=[];if(2===t.length){var n=t[0],r=n[0],n=n[1];if(p(r-t[1][0])){if(!p(n-t[1][1])){var o=Math.max.apply(Math,i.map(function(t){return t[0][0]})),a=Math.min.apply(Math,i.map(function(t){return t[0][1]}));if(0<p(o-a))return[];e=[[o,n],[a,n]]}}else{o=Math.max.apply(Math,i.map(function(t){return t[1][0]})),a=Math.min.apply(Math,i.map(function(t){return t[1][1]}));if(0<p(o-a))return[];e=[[r,o],[r,a]]}}return(e=e.length?e:t.filter(function(t){var e=t[0],n=t[1];return i.every(function(t){return 0<=p(e-t[0][0])&&0<=p(t[0][1]-e)&&0<=p(n-t[1][0])&&0<=p(t[1][1]-n)})})).map(function(t){return[p(t[0]),p(t[1])]})}function x(n){return function(){for(var t=0,e=0,n=arguments.length;e<n;e++)t+=arguments[e].length;for(var i=Array(t),r=0,e=0;e<n;e++)for(var o=arguments[e],a=0,s=o.length;a<s;a++,r++)i[r]=o[a];return i}(n.slice(1),[n[0]]).map(function(t,e){return[n[e],t]})}function Ft(t,e){var r,a,s,c,u,l,n;return e=e,r=(t=t).slice(),a=e.slice(),-1===z(r)&&r.reverse(),-1===z(a)&&a.reverse(),s=x(r),c=x(a),t=s.map(function(t){return M(t[0],t[1])}),u=c.map(function(t){return M(t[0],t[1])}),l=[],t.forEach(function(n,i){var r=s[i],o=[];u.forEach(function(t,e){t=Tt(Ot(n,t),[r,c[e]]);o.push.apply(o,t.map(function(t){return{index1:i,index2:e,pos:t,type:"intersection"}}))}),o.sort(function(t,e){return $(r[0],t.pos)-$(r[0],e.pos)}),l.push.apply(l,o),w(r[1],a)&&l.push({index1:i,index2:-1,pos:r[1],type:"inside"})}),c.forEach(function(t,n){var i,e;w(t[1],r)&&(i=!1,-1===(e=o(l,function(t){if(t.index2!==n)return!!i;i=!0}))&&(i=!1,e=o(l,function(t){var e=t.index1,t=t.index2;if(-1!==e||t+1!==n)return!!i;i=!0})),-1===e?l.push({index1:-1,index2:n,pos:t[1],type:"inside"}):l.splice(e,0,{index1:-1,index2:n,pos:t[1],type:"inside"}))}),n={},l.filter(function(t){t=t.pos,t=t[0]+"x"+t[1];return!n[t]&&(n[t]=!0)}).map(function(t){return t.pos})}function r(t,e,n){void 0===n&&(n=Math.sqrt(t.length));var i=[],r=t.length/n,o=e.length/r;if(!r)return e;if(!o)return t;for(var a=0;a<n;++a)for(var s=0;s<o;++s)for(var c=i[s*n+a]=0;c<r;++c)i[s*n+a]+=t[c*n+a]*e[s*r+c];return i}function Yt(t,e){return r(t,[1,0,0,0,0,Math.cos(e),Math.sin(e),0,0,-Math.sin(e),Math.cos(e),0,0,0,0,1],4)}function Xt(t,e){return r(t,[Math.cos(e),0,-Math.sin(e),0,0,1,0,0,Math.sin(e),0,Math.cos(e),0,0,0,0,1],4)}function jt(t,e){return r(t,(t=e,e=4,n=Math.cos(t),t=Math.sin(t),(i=Bt(e))[0]=n,i[1]=t,i[e]=-t,i[e+1]=n,i));var n,i}function P(t,e){var n=e[0],i=e[1],e=e[2];return r(t,[void 0===n?1:n,0,0,0,0,void 0===i?1:i,0,0,0,0,void 0===e?1:e,0,0,0,0,1],4)}function O(t,e){var n=e[0],i=e[1],e=e[2];return r(t,[1,0,0,0,0,1,0,0,0,0,1,0,void 0===n?0:n,void 0===i?0:i,void 0===e?0:e,1],4)}function T(t,e){return r(t,e,4)}function Bt(t){for(var e=t*t,n=[],i=0;i<e;++i)n[i]=i%(t+1)?0:1;return n}function Kt(){return[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]}function Wt(t){return t=(I(t=t)?t:function(t){return L(t,"")}(t)).map(function(t){var e,n,i,t=!(t=/([^(]*)\(([\s\S]*)\)([\s\S]*)/g.exec(t=t))||t.length<4?{}:{prefix:t[1],value:t[2],suffix:t[3]},r=t.prefix,t=t.value,o=null,a=r,s="";return"translate"===r||"translateX"===r||"translate3d"===r?(o=O,s=[(i=c(t).map(function(t){return parseFloat(t)}))[0],void 0===(e=i[1])?0:e,void 0===(e=i[2])?0:e]):"translateY"===r?(o=O,s=[0,parseFloat(t),0]):"translateZ"===r?(o=O,s=[0,0,parseFloat(t)]):"scale"===r||"scale3d"===r?(o=P,s=[n=(i=c(t).map(function(t){return parseFloat(t)}))[0],void 0===(e=i[1])?n:e,void 0===(e=i[2])?1:e]):"scaleX"===r?(o=P,s=[n=parseFloat(t),1,1]):"scaleY"===r?(o=P,s=[1,parseFloat(t),1]):"scaleZ"===r?(o=P,s=[1,1,parseFloat(t)]):"rotate"===r||"rotateZ"===r||"rotateX"===r||"rotateY"===r?(e=(i=q(t)).unit,n=i.value,"rotate"===r||"rotateZ"===r?(a="rotateZ",o=jt):"rotateX"===r?o=Yt:"rotateY"===r&&(o=Xt),s="rad"===e?n:n*Math.PI/180):"matrix3d"===r?(o=T,s=c(t).map(function(t){return parseFloat(t)})):"matrix"===r?(o=T,s=[(i=c(t).map(function(t){return parseFloat(t)}))[0],i[1],0,0,i[2],i[3],0,0,0,0,1,0,i[4],i[5],0,1]):a="",{name:r,functionName:a,value:t,matrixFunction:o,functionValue:s}}),n=Kt(),t.forEach(function(t){var e=t.matrixFunction,t=t.functionValue;e&&(n=e(n,t))}),n;var n}function At(t,e){n=t,e=[e[0],e[1]||0,e[2]||0,1],i=(n=r(t,e,t=void 0===(t=4)?e.length:t))[t-1];var n,i,e=n.map(function(t){return t/i}),t=e[3]||1;return[e[0]/t,e[1]/t,e[2]/t]}function Rt(t,e){void 0===e&&(e=document.body);for(var n=t,i=Kt();n;){i=T(Wt(getComputedStyle(n).transform),i);if(n===e)break;n=n.parentElement}return(i=function(t,e){void 0===e&&(e=Math.sqrt(t.length));for(var n=t.slice(),i=Bt(e),r=0;r<e;++r){var o=e*r+r;if(!B(n[o],j))for(var a=r+1;a<e;++a)if(n[e*r+a]){v=g=d=p=f=h=l=u=c=s=void 0;for(var s=n,c=i,u=r,l=a,h=e,f=0;f<h;++f){var p=u+f*h,d=l+f*h,g=s[p],v=c[p];s[p]=s[d],s[d]=g,c[p]=c[d],c[d]=v}break}if(!B(n[o],j))return[];k=_=S=E=C=y=m=void 0;for(var m=n,y=i,C=r,E=e,S=n[o],_=0;_<E;++_){var k=C+_*E;m[k]/=S,y[k]/=S}for(a=0;a<e;++a){var b=a,D=n[a+r*e];if(B(D,j)&&r!==a){X=Y=F=T=O=P=x=M=w=void 0;for(var w=n,M=i,x=b,P=r,O=e,T=-D,F=0;F<O;++F){var Y=x+F*O,X=P+F*O;w[Y]+=w[X]*T,M[Y]+=M[X]*T}}}}return i}(i,4))[12]=0,i[13]=0,i[14]=0,i}function It(t,e){return document.elementFromPoint&&document.elementFromPoint(t,e)||null}function Nt(t,e,n){var i=t.tag,r=t.children,o=t.attributes,a=t.className,s=t.style,c=e||document.createElement(i);for(l in o)c.setAttribute(l,o[l]);var u=c.children;if(r.forEach(function(t,e){Nt(t,u[e],c)}),a&&a.split(" ").forEach(function(t){var e,n;n=t,((e=c).classList?e.classList.contains(n):e.className.match(new RegExp("(\\s|^)"+n+"(\\s|$)")))||(e=t,(n=c).classList?n.classList.add(e):n.className+=" "+e)}),s){var l,h=c.style;for(l in s)h[l]=s[l]}return!e&&n&&n.appendChild(c),c}function Lt(t,e){for(var n=[],i=2;i<arguments.length;i++)n[i-2]=arguments[i];var e=e||{},r=e.className,o=e.style;return{tag:t,className:void 0===r?"":r,style:void 0===o?{}:o,attributes:function(t,e){var n={};for(r in t)Object.prototype.hasOwnProperty.call(t,r)&&e.indexOf(r)<0&&(n[r]=t[r]);if(null!=t&&"function"==typeof Object.getOwnPropertySymbols)for(var i=0,r=Object.getOwnPropertySymbols(t);i<r.length;i++)e.indexOf(r[i])<0&&Object.prototype.propertyIsEnumerable.call(t,r[i])&&(n[r[i]]=t[r[i]]);return n}(e,["className","style"]),children:n}}function qt(t,e,n){t!==e&&n(t,e)}function Gt(t,e,n){void 0===n&&(n=t.datas.boundArea);var i=t.distX,i=void 0===i?0:i,r=t.distY,r=void 0===r?0:r,t=t.datas,o=t.startX,t=t.startY;0<e&&(i=(0<=i?1:-1)*(e*(a=Math.sqrt((i*i+r*r)/(1+e*e)))),r=(0<=r?1:-1)*a),i=(0<=i?1:-1)*(n=(a=function(t,n,i,e){if(!e)return t.map(function(t,e){return H(t,n[e],i[e])});var r=t[0],o=t[1],a=(s=Z(t,n,!1,e=!0===e?r/o:e))[0],s=s[1],e=(t=Z(t,i,!0,e))[0],t=t[1];return r<a||o<s?(r=a,o=s):(e<r||t<o)&&(r=e,o=t),[r,o]}([Math.abs(i),Math.abs(r)],[0,0],[i<0?o-n.left:n.right-o,r<0?t-n.top:n.bottom-t],!!e))[0]),r=(0<=r?1:-1)*(e=a[1]);var a=o+Math.min(0,i),o=t+Math.min(0,r);return{left:a,top:o,right:a+n,bottom:o+e,width:n,height:e}}function Ht(t){var t=t.getBoundingClientRect(),e=t.left,n=t.top,i=t.width,t=t.height;return{pos1:[e,n],pos2:[e+i,n],pos3:[e,n+t],pos4:[e+i,n+t]}}function Zt(t,e,n){var t=d(t,e),i=t.list,r=t.prevList,e=t.added,o=t.removed,t=t.maintained;return a(a(a([],e.map(function(t){return i[t]}),!0),o.map(function(t){return r[t]}),!0),n?t.map(function(t){t=t[1];return i[t]}):[],!0)}function Ut(t,e,n,i){var r,o=document.createElement("style");return o.setAttribute("type","text/css"),o.setAttribute("data-styled-id",t),n.nonce&&o.setAttribute("nonce",n.nonce),o.innerHTML=(r=t,t=e,n.original?t:t.replace(/([^};{\s}][^};{]*|^\s*){/gm,function(t,e){e=e.trim();return(e?c(e):[""]).map(function(t){t=t.trim();return 0===t.indexOf("@")?t:-1<t.indexOf(":global")?t.replace(/\:global/g,""):-1<t.indexOf(":host")?""+t.replace(/\:host/g,"."+r):t?"."+r+" "+t:"."+r}).join(", ")+" {"})),(i||document.head||document.body).appendChild(o),o}zt="rCS"+function(t){for(var e=5381,n=t.length;n;)e=33*e^t.charCodeAt(--n);return e>>>0}(Vt="\n:host {\n position: fixed;\n display: none;\n border: 1px solid #4af;\n background: rgba(68, 170, 255, 0.5);\n pointer-events: none;\n will-change: transform;\n z-index: 100;\n}\n").toString(36),Y=0;var Vt,F,zt,Y,$t,Jt={className:zt,inject:function(t,e){void 0===e&&(e={});var n,i=function(t){if(t&&t.getRootNode){t=t.getRootNode();if(11===t.nodeType)return t}}(t),r=0===Y;return(i||r)&&(n=Ut(zt,Vt,e,i)),r&&(F=n),i||++Y,{destroy:function(){i?(t.removeChild(n),n=null):(0<Y&&--Y,0===Y&&F&&(F.parentNode.removeChild(F),F=null))}}}},Qt="selecto-selection ".concat(Jt.className),te=["boundContainer","selectableTargets","selectByClick","selectFromInside","continueSelect","continueSelectWithoutDeselect","toggleContinueSelect","toggleContinueSelectWithoutDeselect","keyContainer","hitRate","scrollOptions","checkInput","preventDefault","ratio","getElementRect","preventDragFromInside","rootContainer","dragCondition","clickBySelectEnd"],e=a(["dragContainer","cspNonce","preventClickEventOnDrag","preventClickEventOnDragStart","preventRightClick"],te,!0),Ct={boundContainer:null,portalContainer:null,container:null,dragContainer:null,selectableTargets:Array,selectByClick:Boolean,selectFromInside:Boolean,continueSelect:Boolean,toggleContinueSelect:Array,toggleContinueSelectWithoutDeselect:Array,keyContainer:null,hitRate:Number,scrollOptions:Object,checkInput:Boolean,preventDefault:Boolean,cspNonce:String,ratio:Number,getElementRect:Function,preventDragFromInside:Boolean,rootContainer:Object,dragCondition:Function,clickBySelectEnd:Boolean,continueSelectWithoutDeselect:Boolean,preventClickEventOnDragStart:Boolean,preventClickEventOnDrag:Boolean},ee=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return K(e,t),e}(function(e){function t(t){void 0===t&&(t={});var d=e.call(this)||this;return d.selectedTargets=[],d.dragScroll=new pt,d._onDragStart=function(t,e){var n=t.data,i=t.clientX,r=t.clientY,o=t.inputEvent,a=d.options,s=a.selectFromInside,c=a.selectByClick,u=a.rootContainer,l=a.boundContainer,h=a.preventDragFromInside,h=void 0===h||h,f=a.clickBySelectEnd,a=a.dragCondition;if(!a||a(t)){n.data={},n.innerWidth=window.innerWidth,n.innerHeight=window.innerHeight,d.findSelectableTargets(n),n.startSelectedTargets=d.selectedTargets,n.scaleMatrix=Kt(),n.containerX=0;var a={left:-1/(n.containerY=0),top:-1/0,right:1/0,bottom:1/0},p=(u&&(p=d.container.getBoundingClientRect(),n.containerX=p.left,n.containerY=p.top,n.scaleMatrix=Rt(d.container,u)),l&&((l=(p=v(l)&&"element"in l?g({left:!0,top:!0,bottom:!0,right:!0},l):{element:l,left:!0,top:!0,bottom:!0,right:!0}).element)&&(l=(m(l)?document.querySelector(l):!0===l?d.container:l).getBoundingClientRect(),p.left&&(a.left=l.left),p.top&&(a.top=l.top),p.right&&(a.right=l.right),p.bottom&&(a.bottom=l.bottom))),n.boundArea=a,{left:i,top:r,right:i,bottom:r,width:0,height:0}),l=[],e=0<(l=s&&(!c||f)?l:(a=d._findElement(e||It(i,r),n.selectableTargets))?[a]:[]).length,a=!s&&e;if(a&&!c)return t.stop(),!1;s=o.type;if(!(!(!t.isClick&&("mousedown"===s||"touchstart"===s))||d.emit("dragStart",g(g({},t),{data:n.data}))))return t.stop(),!1;d.continueSelect?(l=Zt(d.selectedTargets,l,d.continueSelectWithoutDeselect),n.startPassedTargets=d.selectedTargets):n.startPassedTargets=[],d._select(d.selectedTargets,l,p,t,!0),n.startX=i,n.startY=r,n.selectFlag=!1,n.preventDragFromInside=!1;e=At(n.scaleMatrix,[i-n.containerX,r-n.containerY]);return n.boundsArea=d.target.style.cssText+="position: ".concat(u?"absolute":"fixed",";")+"left:0px;top:0px;"+"transform: translate(".concat(e[0],"px, ").concat(e[1],"px)"),a&&c&&!f?(o.preventDefault(),h&&(d._selectEnd(n.startSelectedTargets,n.startPassedTargets,p,t),n.preventDragFromInside=!0)):(n.selectFlag=!0,"touchstart"===s&&o.preventDefault(),(l=d.options.scrollOptions)&&l.container&&d.dragScroll.dragStart(t,l),f&&(n.selectFlag=!1,t.preventDrag())),!0}t.stop()},d._onDrag=function(t){if(t.data.selectFlag){var e=d.scrollOptions;if(null!=e&&e.container&&d.dragScroll.drag(t,e))return}d._checkSelected(t)},d._onDragEnd=function(t){var e=t.data,n=t.inputEvent,i=Gt(t,d.options.ratio),r=e.selectFlag;n&&d.emit("dragEnd",g(g({isDouble:!!t.isDouble,isClick:!!t.isClick,isDrag:!1,isSelect:r},t),{data:e.data,rect:i})),d.target.style.cssText+="display: none;",r?(e.selectFlag=!1,d.dragScroll.dragEnd()):d.selectByClick&&d.clickBySelectEnd&&(n=d._findElement(It(t.clientX,t.clientY),e.selectableTargets),d._select(d.selectedTargets,n?[n]:[],i,t)),e.preventDragFromInside||d._selectEnd(e.startSelectedTargets,e.startPassedTargets,i,t)},d._onKeyDown=function(t){var e,n=d.options,i=!1;d._keydownContinueSelect||(e=d._sameCombiKey(t,n.toggleContinueSelect),i=d._keydownContinueSelect=e),d._keydownContinueSelectWithoutDeselection||(e=d._sameCombiKey(t,n.toggleContinueSelectWithoutDeselect),d._keydownContinueSelectWithoutDeselection=e,i=i||e),i&&d.emit("keydown",{keydownContinueSelect:d._keydownContinueSelect,keydownContinueSelectWithoutDeselection:d._keydownContinueSelectWithoutDeselection})},d._onKeyUp=function(t){var e,n=d.options,i=!1;d._keydownContinueSelect&&(e=d._sameCombiKey(t,n.toggleContinueSelect,!0),d._keydownContinueSelect=!e,i=e),d._keydownContinueSelectWithoutDeselection&&(e=d._sameCombiKey(t,n.toggleContinueSelectWithoutDeselect,!0),d._keydownContinueSelectWithoutDeselection=!e,i=i||e),i&&d.emit("keyup",{keydownContinueSelect:d._keydownContinueSelect,keydownContinueSelectWithoutDeselection:d._keydownContinueSelectWithoutDeselection})},d._onBlur=function(){(d._keydownContinueSelect||d._keydownContinueSelectWithoutDeselection)&&(d._keydownContinueSelect=!1,d._keydownContinueSelectWithoutDeselection=!1,d.emit("keyup",{keydownContinueSelect:d._keydownContinueSelect,keydownContinueSelectWithoutDeselection:d._keydownContinueSelectWithoutDeselection}))},d._onDocumentSelectStart=function(e){var t,n;d.gesto.isFlag()&&(t=(t=(t=d.dragContainer)===window?document.documentElement:t)instanceof Element?[t]:[].slice.call(t),n=e.target,t.some(function(t){if(t===n||t.contains(n))return e.preventDefault(),!0}))},d.target=t.portalContainer,d.container=t.container||document.body,d.options=g({portalContainer:null,container:null,dragContainer:null,selectableTargets:[],selectByClick:!0,selectFromInside:!0,clickBySelectEnd:!1,hitRate:100,continueSelect:!1,continueSelectWithoutDeselect:!1,toggleContinueSelect:null,toggleContinueSelectWithoutDeselect:null,keyContainer:null,scrollOptions:void 0,checkInput:!1,preventDefault:!1,boundContainer:!1,preventDragFromInside:!0,dragCondition:null,rootContainer:null,getElementRect:Ht,cspNonce:"",ratio:0},t),d.initElement(),d.initDragScroll(),d.setKeyController(),d}K(t,e);var n,i,r=t.prototype;return r.setSelectedTargets=function(t){return this.selectedTargets=t,this},r.getSelectedTargets=function(){return this.selectedTargets},r.triggerDragStart=function(t){return this.gesto.triggerDragStart(t),this},r.destroy=function(){this.off(),this.keycon&&this.keycon.destroy(),this.gesto.unset(),this.injectResult.destroy(),_(document,"selectstart",this._onDocumentSelectStart),this.keycon=null,this.gesto=null,this.injectResult=null,this.target=null,this.container=null,this.options=null},r.getElementPoints=function(t){var e,n,i,r,o,a,s,c,u,l=this.getElementRect||Ht,h=l(t),h=[h.pos1,h.pos2,h.pos4,h.pos3];return l!==Ht?(l=t.getBoundingClientRect(),t=h,e=(l=l).width,n=l.height,i=l.left,r=l.top,o=(l=Pt(t)).minX,a=l.minY,s=l.maxX,l=l.maxY,c=e/(s-o),u=n/(l-a),t.map(function(t){return[i+(t[0]-o)*c,r+(t[1]-a)*u]})):h},r.getSelectableElements=function(){var e=[];return this.options.selectableTargets.forEach(function(t){v(t)?e.push(t):[].slice.call(document.querySelectorAll(t)).forEach(function(t){e.push(t)})}),e},r.checkScroll=function(){var t;!this.gesto.isFlag()||null!=(t=this.scrollOptions)&&t.container&&this.dragScroll.checkScroll(g({inputEvent:this.gesto.getCurrentEvent()},t))},r.findSelectableTargets=function(t){var e=this,n=(void 0===t&&(t=this.gesto.getEventDatas()),this.getSelectableElements()),i=n.map(function(t){return e.getElementPoints(t)});t.selectableTargets=n,t.selectablePoints=i,this._refreshGroups(t)},r.clickTarget=function(t,e){var n="touches"in(i=t)?{clientX:(n=i.touches[0]||i.changedTouches[0]).clientX,clientY:n.clientY}:{clientX:i.clientX,clientY:i.clientY},i={data:{selectFlag:!1},clientX:n.clientX,clientY:n.clientY,inputEvent:t,isClick:!0,stop:function(){return!1}};return this._onDragStart(i,e)&&this._onDragEnd(i),this},r.setKeyController=function(){var t=this.options,e=t.keyContainer,n=t.toggleContinueSelect,t=t.toggleContinueSelectWithoutDeselect;this.keycon&&(this.keycon.destroy(),this.keycon=null),(n||t)&&(this.keycon=new Mt(e||window),this.keycon.keydown(this._onKeyDown).keyup(this._onKeyUp).on("blur",this._onBlur))},r.setKeyEvent=function(){var t=this.options,e=t.toggleContinueSelect,t=t.toggleContinueSelectWithoutDeselect;!e&&!t||this.keycon||this.setKeyController()},r.setKeyContainer=function(t){var e=this,n=this.options;qt(n.keyContainer,t,function(){n.keyContainer=t,e.setKeyController()})},r.getContinueSelect=function(){var t=this.options,e=t.continueSelect;return t.toggleContinueSelect&&this._keydownContinueSelect?!e:e},r.getContinueSelectWithoutDeselect=function(){var t=this.options,e=t.continueSelectWithoutDeselect;return t.toggleContinueSelectWithoutDeselect&&this._keydownContinueSelectWithoutDeselection?!e:e},r.setToggleContinueSelect=function(t){var e=this,n=this.options;qt(n.toggleContinueSelect,t,function(){n.toggleContinueSelect=t,e.setKeyEvent()})},r.setToggleContinueSelectWithoutDeselect=function(t){var e=this,n=this.options;qt(n.toggleContinueSelectWithoutDeselect,t,function(){n.toggleContinueSelectWithoutDeselect=t,e.setKeyEvent()})},r.setPreventDefault=function(t){this.gesto.options.preventDefault=t},r.setCheckInput=function(t){this.gesto.options.checkInput=t},r.initElement=function(){this.target=Nt(Lt("div",{className:Qt}),this.target,this.container);var t=this.target,e=this.options,n=e.dragContainer,i=e.checkInput,r=e.preventDefault,o=e.preventClickEventOnDragStart,a=e.preventClickEventOnDrag,e=e.preventRightClick,e=void 0===e||e;this.dragContainer="string"==typeof n?[].slice.call(document.querySelectorAll(n)):n||this.target.parentNode,this.gesto=new it(this.dragContainer,{checkWindowBlur:!0,container:window,checkInput:i,preventDefault:r,preventClickEventOnDragStart:o,preventClickEventOnDrag:a,preventRightClick:e}).on({dragStart:this._onDragStart,drag:this._onDrag,dragEnd:this._onDragEnd}),S(document,"selectstart",this._onDocumentSelectStart),this.injectResult=Jt.inject(t,{nonce:this.options.cspNonce})},r.hitTest=function(t,i,r,e){var n,o,a=this.options,s=a.hitRate,c=a.selectByClick,a=t.left,u=t.top,l=t.right,t=t.bottom,h=e.innerGroups,f=e.innerWidth,p=e.innerHeight,d=[[a,u],[l,u],[l,t],[a,t]],g=function(t){var e=w([i,r],t);if(c&&e)return!0;e=Ft(d,t);if(!e.length)return!1;var e=xt(e),t=xt(t),n=q("".concat(s));return"px"===n.unit?e>=n.value:H(Math.round(e/t*100),0,100)>=Math.min(100,n.value)};if(!h)return n=e.selectableTargets,o=e.selectablePoints,n.filter(function(t,e){return g(o[e])});for(var v=[],e=Math.floor(a/f),m=Math.floor(l/f),y=Math.floor(u/p),C=Math.floor(t/p),E=e;E<=m;++E){var S=h[E];if(S)for(var _=y;_<=C;++_)!function(t){t=S[t];if(!t)return;var e=t.points,n=t.targets;e.forEach(function(t,e){g(t)&&v.push(n[e])})}(_)}var k=v;if("undefined"==typeof Map)return k.filter(function(t,e){return k.indexOf(t)===e});var b=new Map;return k.filter(function(t){return!b.has(t)&&(b.set(t,!0),!0)})},r.initDragScroll=function(){var o=this;this.dragScroll.on("scroll",function(t){var e=t.container,t=t.direction;o.emit("scroll",{container:e,direction:t})}).on("move",function(t){var e,n=t.offsetX,i=t.offsetY,t=t.inputEvent,r=o.gesto;r&&r.isFlag()&&(e=(r=o.gesto.getEventDatas()).boundArea,r.startX-=n,r.startY-=i,r.selectablePoints.forEach(function(t){t.forEach(function(t){t[0]-=n,t[1]-=i})}),o._refreshGroups(r),e.left-=n,e.right-=n,e.top-=i,e.bottom-=i,o.gesto.scrollBy(n,i,t.inputEvent,!1),o._checkSelected(o.gesto.getCurrentEvent()))})},r._select=function(t,e,n,i,r){var o=i.inputEvent,i=i.data,t=d(t,e),a=t.added,s=t.removed,c=t.prevList,u=t.list;this.selectedTargets=e,r&&this.emit("selectStart",{selected:e,added:a.map(function(t){return u[t]}),removed:s.map(function(t){return c[t]}),rect:n,inputEvent:o,data:i.data}),(a.length||s.length)&&this.emit("select",{selected:e,added:a.map(function(t){return u[t]}),removed:s.map(function(t){return c[t]}),rect:n,inputEvent:o,data:i.data})},r._selectEnd=function(t,e,n,i){var r=i.inputEvent,o=i.isDouble,a=i.data,t=d(t,this.selectedTargets),s=t.added,c=t.removed,u=t.prevList,l=t.list,t=d(e,this.selectedTargets),e=t.added,h=t.removed,f=t.prevList,p=t.list,t=r&&r.type,t="mousedown"===t||"touchstart"===t;this.emit("selectEnd",{selected:this.selectedTargets,added:s.map(function(t){return l[t]}),removed:c.map(function(t){return u[t]}),afterAdded:e.map(function(t){return p[t]}),afterRemoved:h.map(function(t){return f[t]}),isDragStart:t,isClick:!!i.isClick,isDouble:!!o,rect:n,inputEvent:r,data:a.data})},r._checkSelected=function(t,e){void 0===e&&(e=Gt(t,this.options.ratio));var n=t.data,i=(t.inputEvent,e.top),r=e.left,o=e.width,a=e.height,s=n.selectFlag,c=n.containerX,u=n.containerY,l=n.scaleMatrix,r=At(l,[r-c,i-u]),c=At(l,[o,a]),i=[],u=[];s&&(this.target.style.cssText+="display: block;left:0px;top:0px;"+"transform: translate(".concat(r[0],"px, ").concat(r[1],"px);")+"width:".concat(c[0],"px;height:").concat(c[1],"px;"),l=this.hitTest(e,n.startX,n.startY,n),i=this.selectedTargets,u=Zt(n.startPassedTargets,l,this.continueSelect&&this.continueSelectWithoutDeselect),this.selectedTargets=u),!1===this.emit("drag",g(g({},t),{data:n.data,isSelect:s,rect:e}))?(this.target.style.cssText+="display: none;",t.stop()):s&&this._select(i,u,e,t)},r._sameCombiKey=function(t,e,n){if(!e)return!1;var i,r=Dt(t.inputEvent,t.key),e=[].concat(e),e=I(e[0])?e:[e];return n?(i=t.key,e.some(function(t){return t.some(function(t){return t===i})})):e.some(function(t){return t.every(function(t){return-1<r.indexOf(t)})})},r._findElement=function(t,e){for(var n=t;n&&!(-1<e.indexOf(n));)n=n.parentElement;return n},r._refreshGroups=function(t){var l,e,h,f=t.innerWidth,p=t.innerHeight;f&&p?(l=t.selectableTargets,e=t.selectablePoints,h={},e.forEach(function(t,e){var n=1/0,i=-1/0,r=1/0,o=-1/0;t.forEach(function(t){var e=Math.floor(t[0]/f),t=Math.floor(t[1]/p);n=Math.min(e,n),i=Math.max(e,i),r=Math.min(t,r),o=Math.max(t,o)});for(var a=n;a<=i;++a)for(var s=r;s<=o;++s){h[a]=h[a]||{},h[a][s]=h[a][s]||{points:[],targets:[]};var c=h[a][s],u=c.targets,c=c.points;u.push(l[e]),c.push(t)}}),t.innerGroups=h):t.innerGroups=null},function(t,e,n,i){var r,o=arguments.length,a=o<3?e:null===i?i=Object.getOwnPropertyDescriptor(e,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(t,e,n,i);else for(var s=t.length-1;0<=s;s--)(r=t[s])&&(a=(o<3?r(a):3<o?r(e,n,a):r(e,n))||a);return 3<o&&a&&Object.defineProperty(e,n,a),a}([(n=te,i=function(t,e){var n={enumerable:!0,configurable:!0,get:function(){return this.options[e]}},i=G("get ".concat(e)),r=(t[i]?n.get=function(){return this[i]()}:n.get=function(){return this.options[e]},G("set ".concat(e)));t[r]?n.set=function(t){this[r](t)}:n.set=function(t){this.options[e]=t},Object.defineProperty(t,e,n)},function(t){var e=t.prototype;n.forEach(function(t){i(e,t)})})],t)}(t)),ne={__proto__:null,default:ee,OPTIONS:e,OPTION_TYPES:Ct,PROPERTIES:te,EVENTS:["dragStart","drag","dragEnd","selectStart","select","selectEnd","keydown","keyup","scroll"],METHODS:["clickTarget","getSelectableElements","setSelectedTargets","getElementPoints","getSelectedTargets","findSelectableTargets","triggerDragStart","checkScroll"],CLASS_NAME:Qt};for($t in ne)ee[$t]=ne[$t];return ee});
//# sourceMappingURL=selecto.min.js.map
{
"name": "selecto",
"version": "1.18.2",
"version": "1.19.0",
"description": "Selecto.js is a component that allows you to select elements in the drag area using the mouse or touch.",

@@ -43,3 +43,3 @@ "main": "./dist/selecto.cjs.js",

"framework-utils": "^1.1.0",
"gesto": "^1.11.1",
"gesto": "^1.13.0",
"keycon": "^1.2.0",

@@ -46,0 +46,0 @@ "overlap-area": "^1.1.0"

@@ -26,7 +26,7 @@

{
input: "src/index.umd.ts",
input: "src/index.cjs.ts",
output: "./dist/selecto.cjs.js",
exports: "default",
exports: "named",
format: "cjs",
},
]);
import Selecto, * as modules from "./index";
for (const name in modules) {
(Selecto as any)[name] = modules[name];
(Selecto as any)[name] = (modules as any)[name];
}
export default Selecto;

@@ -197,2 +197,3 @@ import { IObject } from "@daybrush/utils";

* @property - inputEvent
* @property - Data shared from dragStart, selectStart to dragEnd, selectEnd
*/

@@ -205,2 +206,3 @@ export interface OnSelect<T = Selecto> extends CurrentTarget<T> {

inputEvent: any;
data: Record<string, any>;
}

@@ -227,2 +229,3 @@ /**

datas: IObject<any>;
data: IObject<any>;
clientX: number;

@@ -229,0 +232,0 @@ clientY: number;

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is not supported yet

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