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

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.15.1 to 1.16.0

4

declaration/SelectoManager.d.ts

@@ -32,4 +32,4 @@ import EventEmitter from "@scena/event-emitter";

private initDragScroll;
private select;
private selectEnd;
private _select;
private _selectEnd;
private _onDragStart;

@@ -36,0 +36,0 @@ private _checkSelected;

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

continueSelect: boolean;
continueSelectWithoutDeselect: boolean;
toggleContinueSelect: string[][] | string[] | string | null;

@@ -18,0 +19,0 @@ keyContainer: Document | HTMLElement | Window | null;

@@ -17,2 +17,2 @@ import { Hypertext, Rect } from "./types";

};
export declare function passTargets(beforeTargets: Array<HTMLElement | SVGElement>, afterTargets: Array<HTMLElement | SVGElement>): (HTMLElement | SVGElement)[];
export declare function passTargets(beforeTargets: Array<HTMLElement | SVGElement>, afterTargets: Array<HTMLElement | SVGElement>, continueSelectWithoutDeselect: boolean): (HTMLElement | SVGElement)[];

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

repository: git+https://github.com/daybrush/selecto.git
version: 1.15.1
version: 1.16.0
*/

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

}
function passTargets(beforeTargets, afterTargets) {
function passTargets(beforeTargets, afterTargets, continueSelectWithoutDeselect) {
var _a = childrenDiffer.diff(beforeTargets, afterTargets),

@@ -239,12 +239,16 @@ list = _a.list,

added = _a.added,
removed = _a.removed;
removed = _a.removed,
maintained = _a.maintained;
return added.map(function (index) {
return __spreadArrays(added.map(function (index) {
return list[index];
}).concat(removed.map(function (index) {
}), removed.map(function (index) {
return prevList[index];
}));
}), continueSelectWithoutDeselect ? maintained.map(function (_a) {
var nextIndex = _a[1];
return list[nextIndex];
}) : []);
}
var injector = styled("\n:host {\n position: fixed;\n display: none;\n border: 1px solid #4af;\n background: rgba(68, 170, 255, 0.5);\n z-index: 100;\n}\n:host {\n position: absolute;\n}\n");
var injector = styled("\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");
/**

@@ -283,3 +287,4 @@ * @memberof Selecto

dragCondition: Function,
clickBySelectEnd: Boolean
clickBySelectEnd: Boolean,
continueSelectWithoutDeselect: Boolean
};

@@ -329,2 +334,3 @@ /**

continueSelect = _a.continueSelect,
continueSelectWithoutDeselect = _a.continueSelectWithoutDeselect,
selectFromInside = _a.selectFromInside,

@@ -473,10 +479,10 @@ selectByClick = _a.selectByClick,

if (!continueSelect) {
if (continueSelect) {
firstPassedTargets = passTargets(_this.selectedTargets, firstPassedTargets, continueSelectWithoutDeselect);
datas.startPassedTargets = _this.selectedTargets;
} else {
datas.startPassedTargets = [];
} else {
firstPassedTargets = passTargets(_this.selectedTargets, firstPassedTargets);
datas.startPassedTargets = _this.selectedTargets;
}
_this.select(_this.selectedTargets, firstPassedTargets, hitRect, inputEvent, true);
_this._select(_this.selectedTargets, firstPassedTargets, hitRect, inputEvent, true);

@@ -494,3 +500,3 @@ datas.startX = clientX;

if (preventDragFromInside) {
_this.selectEnd(datas.startSelectedTargets, datas.startPassedTargets, hitRect, e);
_this._selectEnd(datas.startSelectedTargets, datas.startPassedTargets, hitRect, e);

@@ -544,3 +550,3 @@ datas.preventDragFromInside = true;

* @event dragEnd
* @param {_OnDragEnd} - Parameters for the dragEnd event
* @param {OnDragEnd} - Parameters for the dragEnd event
*/

@@ -569,7 +575,7 @@

_this.select(_this.selectedTargets, pointTarget ? [pointTarget] : [], rect, inputEvent);
_this._select(_this.selectedTargets, pointTarget ? [pointTarget] : [], rect, inputEvent);
}
if (!datas.preventDragFromInside) {
_this.selectEnd(datas.startSelectedTargets, datas.startPassedTargets, rect, e);
_this._selectEnd(datas.startSelectedTargets, datas.startPassedTargets, rect, e);
}

@@ -691,2 +697,3 @@ };

continueSelect: false,
continueSelectWithoutDeselect: false,
toggleContinueSelect: null,

@@ -1032,3 +1039,3 @@ keyContainer: null,

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

@@ -1124,3 +1131,3 @@ added = _a.added,

__proto.selectEnd = function (startSelectedTargets, startPassedTargets, rect, e) {
__proto._selectEnd = function (startSelectedTargets, startPassedTargets, rect, e) {
var inputEvent = e.inputEvent,

@@ -1217,6 +1224,6 @@ isDouble = e.isDouble;

if (selectFlag) {
this.target.style.cssText += "display: block;" + "left:0px;top:0px;pointer-events: none;" + ("transform: translate(" + offsetPos[0] + "px, " + offsetPos[1] + "px);") + ("width:" + offsetSize[0] + "px;height:" + offsetSize[1] + "px;");
this.target.style.cssText += "display: block;" + "left:0px;top:0px;" + ("transform: translate(" + offsetPos[0] + "px, " + offsetPos[1] + "px);") + ("width:" + offsetSize[0] + "px;height:" + offsetSize[1] + "px;");
var passedTargets = this.hitTest(rect, datas.startX, datas.startY, datas.selectableTargets, datas.selectablePoints);
prevSelectedTargets = this.selectedTargets;
selectedTargets = passTargets(datas.startPassedTargets, passedTargets);
selectedTargets = passTargets(datas.startPassedTargets, passedTargets, this.options.continueSelectWithoutDeselect);
this.selectedTargets = selectedTargets;

@@ -1264,3 +1271,3 @@ }

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

@@ -1267,0 +1274,0 @@ };

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

repository: git+https://github.com/daybrush/selecto.git
version: 1.15.1
version: 1.16.0
*/

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

}
function passTargets(beforeTargets, afterTargets) {
function passTargets(beforeTargets, afterTargets, continueSelectWithoutDeselect) {
var _a = diff(beforeTargets, afterTargets),

@@ -237,12 +237,16 @@ list = _a.list,

added = _a.added,
removed = _a.removed;
removed = _a.removed,
maintained = _a.maintained;
return added.map(function (index) {
return __spreadArrays(added.map(function (index) {
return list[index];
}).concat(removed.map(function (index) {
}), removed.map(function (index) {
return prevList[index];
}));
}), continueSelectWithoutDeselect ? maintained.map(function (_a) {
var nextIndex = _a[1];
return list[nextIndex];
}) : []);
}
var injector = styled("\n:host {\n position: fixed;\n display: none;\n border: 1px solid #4af;\n background: rgba(68, 170, 255, 0.5);\n z-index: 100;\n}\n:host {\n position: absolute;\n}\n");
var injector = styled("\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");
/**

@@ -281,3 +285,4 @@ * @memberof Selecto

dragCondition: Function,
clickBySelectEnd: Boolean
clickBySelectEnd: Boolean,
continueSelectWithoutDeselect: Boolean
};

@@ -327,2 +332,3 @@ /**

continueSelect = _a.continueSelect,
continueSelectWithoutDeselect = _a.continueSelectWithoutDeselect,
selectFromInside = _a.selectFromInside,

@@ -471,10 +477,10 @@ selectByClick = _a.selectByClick,

if (!continueSelect) {
if (continueSelect) {
firstPassedTargets = passTargets(_this.selectedTargets, firstPassedTargets, continueSelectWithoutDeselect);
datas.startPassedTargets = _this.selectedTargets;
} else {
datas.startPassedTargets = [];
} else {
firstPassedTargets = passTargets(_this.selectedTargets, firstPassedTargets);
datas.startPassedTargets = _this.selectedTargets;
}
_this.select(_this.selectedTargets, firstPassedTargets, hitRect, inputEvent, true);
_this._select(_this.selectedTargets, firstPassedTargets, hitRect, inputEvent, true);

@@ -492,3 +498,3 @@ datas.startX = clientX;

if (preventDragFromInside) {
_this.selectEnd(datas.startSelectedTargets, datas.startPassedTargets, hitRect, e);
_this._selectEnd(datas.startSelectedTargets, datas.startPassedTargets, hitRect, e);

@@ -542,3 +548,3 @@ datas.preventDragFromInside = true;

* @event dragEnd
* @param {_OnDragEnd} - Parameters for the dragEnd event
* @param {OnDragEnd} - Parameters for the dragEnd event
*/

@@ -567,7 +573,7 @@

_this.select(_this.selectedTargets, pointTarget ? [pointTarget] : [], rect, inputEvent);
_this._select(_this.selectedTargets, pointTarget ? [pointTarget] : [], rect, inputEvent);
}
if (!datas.preventDragFromInside) {
_this.selectEnd(datas.startSelectedTargets, datas.startPassedTargets, rect, e);
_this._selectEnd(datas.startSelectedTargets, datas.startPassedTargets, rect, e);
}

@@ -689,2 +695,3 @@ };

continueSelect: false,
continueSelectWithoutDeselect: false,
toggleContinueSelect: null,

@@ -1030,3 +1037,3 @@ keyContainer: null,

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

@@ -1122,3 +1129,3 @@ added = _a.added,

__proto.selectEnd = function (startSelectedTargets, startPassedTargets, rect, e) {
__proto._selectEnd = function (startSelectedTargets, startPassedTargets, rect, e) {
var inputEvent = e.inputEvent,

@@ -1215,6 +1222,6 @@ isDouble = e.isDouble;

if (selectFlag) {
this.target.style.cssText += "display: block;" + "left:0px;top:0px;pointer-events: none;" + ("transform: translate(" + offsetPos[0] + "px, " + offsetPos[1] + "px);") + ("width:" + offsetSize[0] + "px;height:" + offsetSize[1] + "px;");
this.target.style.cssText += "display: block;" + "left:0px;top:0px;" + ("transform: translate(" + offsetPos[0] + "px, " + offsetPos[1] + "px);") + ("width:" + offsetSize[0] + "px;height:" + offsetSize[1] + "px;");
var passedTargets = this.hitTest(rect, datas.startX, datas.startY, datas.selectableTargets, datas.selectablePoints);
prevSelectedTargets = this.selectedTargets;
selectedTargets = passTargets(datas.startPassedTargets, passedTargets);
selectedTargets = passTargets(datas.startPassedTargets, passedTargets, this.options.continueSelectWithoutDeselect);
this.selectedTargets = selectedTargets;

@@ -1262,3 +1269,3 @@ }

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

@@ -1265,0 +1272,0 @@ };

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

repository: git+https://github.com/daybrush/selecto.git
version: 1.15.1
version: 1.16.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 r=function(t,e){return(r=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)};function o(t,e){function n(){this.constructor=t}r(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)}var M=function(){return(M=Object.assign||function(t){for(var e,n=1,r=arguments.length;n<r;n++)for(var i in e=arguments[n])Object.prototype.hasOwnProperty.call(e,i)&&(t[i]=e[i]);return t}).apply(this,arguments)};var e="object",Y="string",l=['"',"'",'\\"',"\\'"],u=1e-7;function X(t){return t&&typeof t===e}function a(t){return Array.isArray(t)}function f(t,e,n,r){for(var i=n;i<r;++i){var o=e[i].trim();if(o===t)return i;var a=i;if("("===o?a=f(")",e,i+1,r):-1<l.indexOf(o)&&(a=f(o,e,i+1,r)),-1===a)break;i=a}return-1}function i(t,e){for(var n=new RegExp("(\\s*"+(e||",")+"\\s*|\\(|\\)|\"|'|\\\\\"|\\\\'|\\s+)","g"),r=t.split(n).filter(Boolean),i=r.length,o=[],a=[],s=0;s<i;++s){var c=r[s].trim(),u=s;if("("===c)u=f(")",r,s+1,i);else{if(")"===c)throw new Error("invalid format");if(-1<l.indexOf(c))u=f(c,r,s+1,i);else if(c===e){a.length&&(o.push(a.join("")),a=[]);continue}}-1===u&&(u=i-1),a.push(r.slice(s,u+1).join("")),s=u}return a.length&&o.push(a.join("")),o}function S(t){return i(t,",")}function _(t){var e=/^([^\d|e|\-|\+]*)((?:\d|\.|-|e-|e\+)+)(\S*)$/g.exec(t);if(!e)return{prefix:"",unit:"",value:NaN};var n=e[1],r=e[2];return{prefix:n,unit:e[3],value:parseFloat(r)}}function E(){return Date.now?Date.now():(new Date).getTime()}function m(t,e,n){void 0===n&&(n=-1);for(var r=t.length,i=0;i<r;++i)if(e(t[i],i,t))return i;return n}function g(t,e,n){return Math.max(e,Math.min(t,n))}function h(t,e){return e?Math.round(t/e)*e:t}function y(t,n,r){return[[h(n[0],u),h(n[0]*t[1]/t[0],u)],[h(n[1]*t[0]/t[1],u),h(n[1],u)]].filter(function(t){return t.every(function(t,e){return r?t<=n[e]:t>=n[e]})})[0]||t}function s(t,e){var n=e[0]-t[0],r=e[1]-t[1],i=Math.atan2(r,n);return 0<=i?i:i+2*Math.PI}function c(t){return[0,1].map(function(e){return function(t){for(var e=t.length,n=0,r=e-1;0<=r;--r)n+=t[r];return e?n/e:0}(t.map(function(t){return t[e]}))})}function p(t){var e=c(t),n=s(e,t[0]),r=s(e,t[1]);return n<r&&r-n<Math.PI||r<n&&r-n<-Math.PI?1:-1}function v(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,n,r){t.addEventListener(e,n,r)}function C(t,e,n){t.removeEventListener(e,n)}var d=function(){return(d=Object.assign||function(t){for(var e,n=1,r=arguments.length;n<r;n++)for(var i in e=arguments[n])Object.prototype.hasOwnProperty.call(e,i)&&(t[i]=e[i]);return t}).apply(this,arguments)};var t=function(){function t(){this._events={}}var e=t.prototype;return e.on=function(t,e){if(X(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(X(t))for(var n in t)this.off(n);else if(e){var r=this._events[t];if(r){var i=m(r,function(t){return t.listener===e});-1<i&&r.splice(i,1)}}else 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 r=this;void 0===n&&(n={});var t=this._events[e];if(!e||!t)return!0;var i=!1;return n.eventType=e,n.stop=function(){i=!0},n.currentTarget=this,function(){for(var t=0,e=0,n=arguments.length;e<n;e++)t+=arguments[e].length;var r=Array(t),i=0;for(e=0;e<n;e++)for(var o=arguments[e],a=0,s=o.length;a<s;a++,i++)r[i]=o[a];return r}(t).forEach(function(t){t.listener(n),t.once&&r.off(e,t.listener)}),!i},e.trigger=function(t,e){return void 0===e&&(e={}),this.emit(t,e)},e._addEvent=function(t,e,n){var r=this._events;r[t]=r[t]||[],r[t].push(d({listener:e},n))},t}(),D=function(t,e){return(D=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 w=function(){return(w=Object.assign||function(t){for(var e,n=1,r=arguments.length;n<r;n++)for(var i in e=arguments[n])Object.prototype.hasOwnProperty.call(e,i)&&(t[i]=e[i]);return t}).apply(this,arguments)};function n(t){return 180*(e=[t[0].clientX,t[0].clientY],n=[t[1].clientX,t[1].clientY],r=n[0]-e[0],i=n[1]-e[1],(0<=(o=Math.atan2(i,r))?o:o+2*Math.PI)/Math.PI);var e,n,r,i,o}function k(t){return t.touches?function(t){for(var e=Math.min(t.length,2),n=[],r=0;r<e;++r)n.push(T(t[r]));return n}(t.touches):[T(t)]}function P(t,e,n){var r=n.length,i=O(t,r),o=i.clientX,a=i.clientY,s=i.originalClientX,c=i.originalClientY,u=O(e,r),l=u.clientX,f=u.clientY,h=O(n,r);return{clientX:s,clientY:c,deltaX:o-l,deltaY:a-f,distX:o-h.clientX,distY:a-h.clientY}}function x(t){return Math.sqrt(Math.pow(t[0].clientX-t[1].clientX,2)+Math.pow(t[0].clientY-t[1].clientY,2))}function T(t){return{clientX:t.clientX,clientY:t.clientY}}function O(t,e){void 0===e&&(e=t.length);for(var n={clientX:0,clientY:0,originalClientX:0,originalClientY:0},r=0;r<e;++r){var i=t[r];n.originalClientX+="originalClientX"in i?i.originalClientX:i.clientX,n.originalClientY+="originalClientY"in i?i.originalClientY:i.clientY,n.clientX+=i.clientX,n.clientY+=i.clientY}return e?{clientX:n.clientX/e,clientY:n.clientY/e,originalClientX:n.originalClientX/e,originalClientY:n.originalClientY/e}:n}var F=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 void 0===t&&(t=this.prevClients),n(t)},e.getRotation=function(t){return void 0===t&&(t=this.prevClients),n(t)-n(this.startClients)},e.getPosition=function(t,e){void 0===t&&(t=this.prevClients);var n=P(t||this.prevClients,this.prevClients,this.startClients),r=n.deltaX,i=n.deltaY;return this.movement+=Math.sqrt(r*r+i*i),this.prevClients=t,n},e.getPositions=function(n){void 0===n&&(n=this.prevClients);var r=this.prevClients;return this.startClients.map(function(t,e){return P([n[e]],[r[e]],[t])})},e.getMovement=function(t){var e=this.movement;if(!t)return e;var n=O(t,this.length),r=O(this.prevClients,this.length),i=n.clientX-r.clientX,o=n.clientY-r.clientY;return Math.sqrt(i*i+o*o)+e},e.getDistance=function(t){return void 0===t&&(t=this.prevClients),x(t)},e.getScale=function(t){return void 0===t&&(t=this.prevClients),x(t)/x(this.startClients)},e.move=function(e,n){this.startClients.forEach(function(t){t.clientX-=e,t.clientY-=n})},t}(),j=["textarea","input"],K=function(c){function t(){this.constructor=e}var e,n;function r(t,e){void 0===e&&(e={});var y=c.call(this)||this;y.options={},y.flag=!1,y.pinchFlag=!1,y.datas={},y.isDrag=!1,y.isPinch=!1,y.isMouse=!1,y.isTouch=!1,y.clientStores=[],y.targets=[],y.prevTime=0,y.doubleFlag=!1,y._dragFlag=!1,y.onDragStart=function(t,e){if(void 0===e&&(e=!0),y.flag||!1!==t.cancelable){var n=y.options,r=n.container,i=n.pinchOutside,o=n.preventRightClick,a=n.preventDefault,s=n.checkInput,c=y.isTouch,u=!y.flag;if(u){var l=document.activeElement,f=t.target,h=f.tagName.toLowerCase(),d=-1<j.indexOf(h),p=f.isContentEditable;if(d||p){if(s||l===f)return!1;if(l&&p&&l.isContentEditable&&l.contains(f))return!1}else if((a||"touchstart"===t.type)&&l){var v=l.tagName;(l.isContentEditable||-1<j.indexOf(v))&&l.blur()}if(y.clientStores=[new F(k(t))],y.flag=!0,y.isDrag=!1,y._dragFlag=!0,y.datas={},o&&(3===t.which||2===t.button))return y.initDrag(),!1;y.doubleFlag=E()-y.prevTime<200,!1===y.emit("dragStart",w({datas:y.datas,inputEvent:t,isTrusted:e,isDouble:y.doubleFlag},y.getCurrentStore().getPosition(),{preventDefault:function(){t.preventDefault()},preventDrag:function(){y._dragFlag=!1}}))&&y.initDrag(),y.flag&&a&&t.preventDefault()}if(!y.flag)return!1;var g,m=0;if(u&&c&&i&&(m=setTimeout(function(){b(r,"touchstart",y.onDragStart,{passive:!1})})),!u&&c&&i&&C(r,"touchstart",y.onDragStart),y.flag&&((g=t).touches&&2<=g.touches.length)){if(clearTimeout(m),u&&t.touches.length!==t.changedTouches.length)return;y.pinchFlag||y.onPinchStart(t)}}},y.onDrag=function(t,e){if(y.flag){var n=k(t),r=y.moveClients(n,t,!1);if(y._dragFlag){if(y.pinchFlag||r.deltaX||r.deltaY)if(!1===y.emit("drag",w({},r,{isScroll:!!e,inputEvent:t})))return void y.stop();y.pinchFlag&&y.onPinch(t,n)}y.getCurrentStore().getPosition(n,!0)}},y.onDragEnd=function(t){if(y.flag){var e=y.options,n=e.pinchOutside,r=e.container;y.isTouch&&n&&C(r,"touchstart",y.onDragStart),y.flag=!1;var i=y._getPosition(),o=E(),a=!y.isDrag&&y.doubleFlag;y.prevTime=y.isDrag||a?0:o,y.emit("dragEnd",w({datas:y.datas,isDouble:a,isDrag:y.isDrag,isClick:!y.isDrag,inputEvent:t},i)),y.pinchFlag&&y.onPinchEnd(t),y.clientStores=[]}},y.onBlur=function(){y.onDragEnd()};var n=[].concat(t);y.options=w({checkInput:!1,container:1<n.length?window:n[0],preventRightClick:!0,preventDefault:!0,checkWindowBlur:!1,pinchThreshold:0,events:["touch","mouse"]},e);var r=y.options,i=r.container,o=r.events,a=r.checkWindowBlur;if(y.isTouch=-1<o.indexOf("touch"),y.isMouse=-1<o.indexOf("mouse"),y.targets=n,y.isMouse&&(n.forEach(function(t){b(t,"mousedown",y.onDragStart)}),b(i,"mousemove",y.onDrag),b(i,"mouseup",y.onDragEnd),b(i,"contextmenu",y.onDragEnd)),a&&b(window,"blur",y.onBlur),y.isTouch){var s={passive:!1};n.forEach(function(t){b(t,"touchstart",y.onDragStart,s)}),b(i,"touchmove",y.onDrag,s),b(i,"touchend",y.onDragEnd,s),b(i,"touchcancel",y.onDragEnd,s)}return y}D(e=r,n=c),e.prototype=null===n?Object.create(n):(t.prototype=n.prototype,new t);var i=r.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,r){void 0===r&&(r=!0),this.flag&&(this.clientStores[0].move(t,e),r&&this.onDrag(n,!0))},i.move=function(t,e){var r=t[0],i=t[1],n=this.getCurrentStore().prevClients;return this.moveClients(n.map(function(t){var e=t.clientX,n=t.clientY;return{clientX:e+r,clientY:n+i,originalClientX:e,originalClientY:n}}),e,!0)},i.triggerDragStart=function(t){this.onDragStart(t,!1)},i.setEventDatas=function(t){var e=this.datas;for(var n in t)e[n]=t[n];return this},i.getCurrentEvent=function(t){return w({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(),C(window,"blur",this.onBlur),this.isMouse&&(t.forEach(function(t){C(t,"mousedown",e.onDragStart)}),C(n,"mousemove",this.onDrag),C(n,"mouseup",this.onDragEnd),C(n,"contextmenu",this.onDragEnd)),this.isTouch&&(t.forEach(function(t){C(t,"touchstart",e.onDragStart)}),C(n,"touchstart",this.onDragStart),C(n,"touchmove",this.onDrag),C(n,"touchend",this.onDragEnd),C(n,"touchcancel",this.onDragEnd))},i.onPinchStart=function(t){var e=this.options.pinchThreshold;if(!(this.isDrag&&this.getMovement()>e)){var n=new F(k(t));this.pinchFlag=!0,this.clientStores.splice(0,0,n),!1===this.emit("pinchStart",w({datas:this.datas,angle:n.getAngle(),touches:this.getCurrentStore().getPositions()},n.getPosition(),{inputEvent:t}))&&(this.pinchFlag=!1)}},i.onPinch=function(t,e){if(this.flag&&this.pinchFlag&&!(e.length<2)){var n=this.getCurrentStore();this.isPinch=!0,this.emit("pinch",w({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){if(this.pinchFlag){var e=this.isPinch;this.isPinch=!1,this.pinchFlag=!1;var n=this.getCurrentStore();this.emit("pinchEnd",w({datas:this.datas,isPinch:e,touches:n.getPositions()},n.getPosition(),{inputEvent:t})),this.isPinch=!1,this.pinchFlag=!1}},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){var r=this._getPosition(t,n);return(r.deltaX||r.deltaY)&&(this.isDrag=!0),w({datas:this.datas},r,{movement:this.getMovement(t),isDrag:this.isDrag,isPinch:this.isPinch,isScroll:!1,inputEvent:e})},i._getPosition=function(t,e){var n=this.getCurrentStore().getPosition(t,e),r=this.clientStores.slice(1).reduce(function(t,e){var n=e.getPosition();return t.distX+=n.distX,t.distY+=n.distY,t},n),i=r.distX,o=r.distY;return w({},n,{distX:i,distY:o})},r}(t);var B=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,r=this.values,i=n.indexOf(t),o=-1===i?n.length:i;n[o]=t,r[o]=e},t}(),I=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}(),A="function"==typeof Map,R=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 N=function(){function t(t,e,n,r,i,o,a,s){this.prevList=t,this.list=e,this.added=n,this.removed=r,this.changed=i,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(){var t,n,s,c,e=(t=this.changedBeforeAdded,n=this.fixed,s=[],c=[],t.forEach(function(t){var e=t[0],n=t[1],r=new R;s[e]=r,c[n]=r}),s.forEach(function(t,e){t.connect(s[e-1])}),t.filter(function(t,e){return!n[e]}).map(function(t,e){var n=t[0],r=t[1];if(n===r)return[0,0];var i=s[n],o=c[r-1],a=i.getIndex();return i.disconnect(),o?i.connect(o,o.next):i.connect(void 0,s[0]),[a,i.getIndex()]})),u=this.changed,l=[];this.cacheOrdered=e.filter(function(t,e){var n=t[0],r=t[1],i=u[e],o=i[0],a=i[1];if(n!==r)return l.push([o,a]),!0}),this.cachePureChanged=l},t}();var L,q="function"==typeof Map?void 0:(L=0,function(t){return t.__DIFF_KEY__||(t.__DIFF_KEY__=++L)});function W(t,e){return n=t,r=e,i=q,o=A?Map:i?I:B,a=i||function(t){return t},s=[],c=[],u=[],l=n.map(a),f=r.map(a),h=new o,d=new o,p=[],v=[],g={},m=[],E=y=0,l.forEach(function(t,e){h.set(t,e)}),f.forEach(function(t,e){d.set(t,e)}),l.forEach(function(t,e){var n=d.get(t);void 0===n?(++E,c.push(e)):g[n]=E}),f.forEach(function(t,e){var n=h.get(t);void 0===n?(s.push(e),++y):(u.push([n,e]),E=g[e]||0,p.push([n-E,e-y]),v.push(e===n),n!==e&&m.push([n,e]))}),c.reverse(),new N(n,r,s,c,m,u,p,v);var n,r,i,o,a,s,c,u,l,f,h,d,p,v,g,m,y,E}var Z=function(t,e){return(Z=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 H=function(){return(H=Object.assign||function(t){for(var e,n=1,r=arguments.length;n<r;n++)for(var i in e=arguments[n])Object.prototype.hasOwnProperty.call(e,i)&&(t[i]=e[i]);return t}).apply(this,arguments)};function U(t){var e=t.container;return e===document.body?[e.scrollLeft||document.documentElement.scrollLeft,e.scrollTop||document.documentElement.scrollTop]:[e.scrollLeft,e.scrollTop]}var V=function(e){function t(){this.constructor=n}var n,r;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}Z(n=i,r=e),n.prototype=null===r?Object.create(r):(t.prototype=r.prototype,new t);var o=i.prototype;return o.dragStart=function(t,e){var n=e.container,r=0,i=0,o=0,a=0;if(n===document.body)o=window.innerWidth,a=window.innerHeight;else{var s=n.getBoundingClientRect();r=s.top,i=s.left,o=s.width,a=s.height}this._startPos=[t.clientX,t.clientY],this._startRect={top:r,left:i,width:o,height:a},this._prevScrollPos=this._getScrollPosition([0,0],e)},o.drag=function(t,e){var n=t.clientX,r=t.clientY,i=e.threshold,o=void 0===i?0:i,a=this._startRect,s=this._startPos,c=[0,0];return a.top>r-o?(s[1]>a.top||r<s[1])&&(c[1]=-1):a.top+a.height<r+o&&(s[1]<a.top+a.height||r>s[1])&&(c[1]=1),a.left>n-o?(s[0]>a.left||n<s[0])&&(c[0]=-1):a.left+a.width<n+o&&(s[0]<a.left+a.width||n>s[0])&&(c[0]=1),clearTimeout(this._timer),!(!c[0]&&!c[1])&&this._continueDrag(H(H({},e),{direction:c,inputEvent:t,isDrag:!0}))},o.checkScroll=function(t){var e=this;if(this._isWait)return!1;var n=t.prevScrollPos,r=void 0===n?this._prevScrollPos:n,i=t.direction,o=t.throttleTime,a=void 0===o?0:o,s=t.inputEvent,c=t.isDrag,u=this._getScrollPosition(i||[0,0],t),l=u[0]-r[0],f=u[1]-r[1],h=i||[l?Math.abs(l)/l:0,f?Math.abs(f)/f:0];return this._prevScrollPos=u,!(!l&&!f)&&(this.trigger("move",{offsetX:h[0]?l:0,offsetY:h[1]?f:0,inputEvent:s}),a&&c&&(this._timer=window.setTimeout(function(){e._continueDrag(t)},a)),!0)},o.dragEnd=function(){clearTimeout(this._timer)},o._getScrollPosition=function(t,e){var n=e.container,r=e.getScrollPosition;return(void 0===r?U:r)({container:n,direction:t})},o._continueDrag=function(t){var e=this,n=t.container,r=t.direction,i=t.throttleTime,o=t.useScroll,a=t.isDrag,s=t.inputEvent;if(!a||!this._isWait){var c=Date.now?Date.now():(new Date).getTime(),u=Math.max(i+this._prevTime-c,0);if(0<u)return this._timer=window.setTimeout(function(){e._continueDrag(t)},u),!1;this._prevTime=c;var l=this._getScrollPosition(r,t);return this._prevScrollPos=l,a&&(this._isWait=!0),this.trigger("scroll",{container:n,direction:r,inputEvent:s}),this._isWait=!1,o||this.checkScroll(H(H({},t),{prevScrollPos:l,direction:r,inputEvent:s}))}},i}(t),z=function(t,e){return(z=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)};function $(t){return t&&"object"==typeof t}function G(t){return Array.isArray(t)}function J(t){return"string"==typeof t}function Q(t,e,n,r){t.addEventListener(e,n,r)}function tt(t,e,n){t.removeEventListener(e,n)}var et=function(){return(et=Object.assign||function(t){for(var e,n=1,r=arguments.length;n<r;n++)for(var i in e=arguments[n])Object.prototype.hasOwnProperty.call(e,i)&&(t[i]=e[i]);return t}).apply(this,arguments)};var nt=function(){function t(){this._events={}}var e=t.prototype;return e.on=function(t,e){if($(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($(t))for(var n in t)this.off(n);else if(e){var r=this._events[t];if(r){var i=function(t,e,n){void 0===n&&(n=-1);for(var r=t.length,i=0;i<r;++i)if(e(t[i],i,t))return i;return n}(r,function(t){return t.listener===e});-1<i&&r.splice(i,1)}}else 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 r=this;void 0===n&&(n={});var t=this._events[e];if(!e||!t)return!0;var i=!1;return n.eventType=e,n.stop=function(){i=!0},n.currentTarget=this,function(){for(var t=0,e=0,n=arguments.length;e<n;e++)t+=arguments[e].length;var r=Array(t),i=0;for(e=0;e<n;e++)for(var o=arguments[e],a=0,s=o.length;a<s;a++,i++)r[i]=o[a];return r}(t).forEach(function(t){t.listener(n),t.once&&r.off(e,t.listener)}),!i},e.trigger=function(t,e){return void 0===e&&(e={}),this.emit(t,e)},e._addEvent=function(t,e,n){var r=this._events;r[t]=r[t]||[],r[t].push(et({listener:e},n))},t}();var rt,it,ot=(function(t,e){function n(t){if(t&&"object"==typeof t){var e=t.which||t.keyCode||t.charCode;e&&(t=e)}if("number"==typeof t)return a[t];var n,r=String(t);return(n=i[r.toLowerCase()])?n:(n=o[r.toLowerCase()])||(1===r.length?r.charCodeAt(0):void 0)}n.isEventKey=function(t,e){if(t&&"object"==typeof t){var n=t.which||t.keyCode||t.charCode;if(null==n)return!1;if("string"==typeof e){var r;if(r=i[e.toLowerCase()])return r===n;if(r=o[e.toLowerCase()])return r===n}else if("number"==typeof e)return e===n;return!1}};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},o=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};for(r=97;r<123;r++)i[String.fromCharCode(r)]=r-32;for(var r=48;r<58;r++)i[r-48]=r;for(r=1;r<13;r++)i["f"+r]=r+111;for(r=0;r<10;r++)i["numpad "+r]=r+96;var a=e.names=e.title={};for(r in i)a[i[r]]=r;for(var s in o)i[s]=o[s]}(rt={exports:{}},rt.exports),rt.exports),at=(ot.code,ot.codes,ot.aliases,ot.names),st=(ot.title,{"+":"plus","left command":"meta","right command":"meta"}),ct={shift:1,ctrl:2,alt:3,meta:4};function ut(t){var e=at[t]||"";for(var n in st)e=e.replace(n,st[n]);return e.replace(/\s/g,"")}function lt(t,e){void 0===e&&(e=ut(t.keyCode));var n,r=[(n=t).shiftKey&&"shift",n.ctrlKey&&"ctrl",n.altKey&&"alt",n.metaKey&&"meta"].filter(Boolean);return-1===r.indexOf(e)&&r.push(e),r.filter(Boolean)}function ft(t){var e=t.slice();return e.sort(function(t,e){return(ct[t]||5)-(ct[e]||5)}),e}var ht=function(n){function t(){this.constructor=e}var e,r;function i(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")},Q(t,"blur",e.blur),Q(t,"keydown",e.keydownEvent),Q(t,"keyup",e.keyupEvent),e}z(e=i,r=n),e.prototype=null===r?Object.create(r):(t.prototype=r.prototype,new t);var o=i.prototype;return Object.defineProperty(i,"global",{get:function(){return it=it||new i},enumerable:!1,configurable:!0}),i.setGlobal=function(){return this.global},o.destroy=function(){var t=this.container;this.clear(),this.off(),tt(t,"blur",this.blur),tt(t,"keydown",this.keydownEvent),tt(t,"keyup",this.keyupEvent)},o.keydown=function(t,e){return this.addEvent("keydown",t,e)},o.offKeydown=function(t,e){return this.removeEvent("keydown",t,e)},o.offKeyup=function(t,e){return this.removeEvent("keyup",t,e)},o.keyup=function(t,e){return this.addEvent("keyup",t,e)},o.addEvent=function(t,e,n){return G(e)?this.on(t+"."+ft(e).join("."),n):J(e)?this.on(t+"."+e,n):this.on(t,e),this},o.removeEvent=function(t,e,n){return G(e)?this.off(t+"."+ft(e).join("."),n):J(e)?this.off(t+"."+e,n):this.off(t,e),this},o.triggerEvent=function(t,e){this.ctrlKey=e.ctrlKey,this.shiftKey=e.shiftKey,this.altKey=e.altKey,this.metaKey=e.metaKey;var n=ut(e.keyCode),r={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};this.trigger(t,r),this.trigger(t+"."+n,r);var i=lt(e,n);1<i.length&&this.trigger(t+"."+i.join("."),r)},i}(nt);function dt(r){return r.length<3?0:Math.abs(function(t){for(var e=0,n=t.length-1;0<=n;--n)e+=t[n];return e}(r.map(function(t,e){var n=r[e+1]||r[0];return t[0]*n[1]-n[0]*t[1]})))/2}function pt(t){var e=t.map(function(t){return t[0]}),n=t.map(function(t){return t[1]});return{minX:Math.min.apply(Math,e),minY:Math.min.apply(Math,n),maxX:Math.max.apply(Math,e),maxY:Math.max.apply(Math,n)}}function vt(t,e,n){var i=t[0],o=t[1],r=pt(e),a=r.minX,s=r.minY,c=r.maxX,u=r.maxY,l=[[a,o],[c,o]],f=[[i,s],[i,u]],h=gt(l[0],l[1]),d=gt(f[0],f[1]),p=Et(e),v=[],g=[];return p.forEach(function(t){var e=gt(t[0],t[1]),n=yt(mt(h,e),[l,t]),r=yt(mt(d,e),[f,t]);1===n.length&&t[0][1]===o||v.push.apply(v,n),1===r.length&&t[0][0]===i||g.push.apply(g,r),e[0]||v.push.apply(v,n),e[1]||g.push.apply(g,r)}),!n&&(-1<m(v,function(t){return t[0]===i})||-1<m(g,function(t){return t[1]===o}))||!!(v.filter(function(t){return t[0]>i}).length%2&&g.filter(function(t){return t[1]>o}).length%2)}function gt(t,e){var n=t[0],r=t[1],i=e[0],o=e[1];if(n===i&&r===o)return[0,0,0];if(n===i)return[1,0,-n];if(r===o)return[0,1,-r];var a=(i-n)/(r-o);return[1,a,-n-a*r]}function mt(t,e){var n,r,i=t[0],o=t[1],a=t[2],s=e[0],c=e[1],u=e[2],l=0===i&&0===s,f=0===o&&0===c;if(l&&f)return[];if(l){var h=-a/o;return h!=-u/c?[]:[[-1/0,h],[1/0,h]]}if(f){var d=-a/i;return d!=-u/s?[]:[[d,-1/0],[d,1/0]]}return 0!==i?0!==s?0!==o?0!==c?[[n=(o*u-c*a)/(c*i-o*s),r=-(i*n+a)/o]]:[[n=-u/s,r=-(i*n+a)/o]]:[[n=-a/i,r=-(s*n+u)/c]]:[[n=-(o*(r=-u/c)+a)/i,r]]:[[n=-(c*(r=-a/o)+u)/s,r]]}function yt(t,e){var n=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])]})});if(2===t.length){var r=t[0],i=r[0],o=r[1];if(i===t[1][0]){var a=Math.max.apply(Math,n.map(function(t){return t[1][0]})),s=Math.min.apply(Math,n.map(function(t){return t[1][1]}));return s<a?[]:[[i,a],[i,s]]}if(o===t[1][1]){var c=Math.max.apply(Math,n.map(function(t){return t[0][0]})),u=Math.min.apply(Math,n.map(function(t){return t[0][1]}));return u<c?[]:[[c,o],[u,o]]}}return t.filter(function(e){return n.every(function(t){return t[0][0]<=e[0]&&e[0]<=t[0][1]&&t[1][0]<=e[1]&&e[1]<=t[1][1]})})}function Et(n){return function(){for(var t=0,e=0,n=arguments.length;e<n;e++)t+=arguments[e].length;var r=Array(t),i=0;for(e=0;e<n;e++)for(var o=arguments[e],a=0,s=o.length;a<s;a++,i++)r[i]=o[a];return r}(n.slice(1),[n[0]]).map(function(t,e){return[n[e],t]})}function bt(t,e,n,r,i,o){for(var a=0;a<i;++a){var s=n+a*i,c=r+a*i;t[s]+=t[c]*o,e[s]+=e[c]*o}}function Ct(t,e,n,r,i){for(var o=0;o<i;++o){var a=n+o*i,s=r+o*i,c=t[a],u=e[a];t[a]=t[s],t[s]=c,e[a]=e[s],e[s]=u}}function St(t,e,n,r,i){for(var o=0;o<r;++o){var a=n+o*r;t[a]/=i,e[a]/=i}}function _t(t,e,n){void 0===n&&(n=Math.sqrt(t.length));var r=[],i=t.length/n,o=e.length/i;if(!i)return e;if(!o)return t;for(var a=0;a<n;++a)for(var s=0;s<o;++s)for(var c=r[s*n+a]=0;c<i;++c)r[s*n+a]+=t[c*n+a]*e[s*i+c];return r}function Dt(t,e){return _t(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 wt(t,e){return _t(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 kt(t,e){return _t(t,(n=e,r=4,i=Math.cos(n),o=Math.sin(n),(a=Ot(r))[0]=i,a[1]=o,a[r]=-o,a[r+1]=i,a));var n,r,i,o,a}function Pt(t,e){var n=e[0],r=void 0===n?1:n,i=e[1],o=void 0===i?1:i,a=e[2];return _t(t,[r,0,0,0,0,o,0,0,0,0,void 0===a?1:a,0,0,0,0,1],4)}function xt(t,e){var n=e[0],r=void 0===n?0:n,i=e[1],o=void 0===i?0:i,a=e[2];return _t(t,[1,0,0,0,0,1,0,0,0,0,1,0,r,o,void 0===a?0:a,1],4)}function Tt(t,e){return _t(t,e,4)}function Ot(t){for(var e=t*t,n=[],r=0;r<e;++r)n[r]=r%(t+1)?0:1;return n}function Mt(){return[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]}function Yt(t){return e=(a(n=t)?n:function(t){return i(t,"")}(n)).map(function(t){var e,n=!(e=/([^(]*)\(([\s\S]*)\)([\s\S]*)/g.exec(t))||e.length<4?{}:{prefix:e[1],value:e[2],suffix:e[3]},r=n.prefix,i=n.value,o=null,a=r,s="";if("translate"===r||"translateX"===r||"translate3d"===r){var c=S(i).map(function(t){return parseFloat(t)}),u=c[0],l=c[1],f=void 0===l?0:l,h=c[2];o=xt,s=[u,f,void 0===h?0:h]}else if("translateY"===r)o=xt,s=[0,f=parseFloat(i),0];else if("translateZ"===r)o=xt,s=[0,0,parseFloat(i)];else if("scale"===r||"scale3d"===r){var d=S(i).map(function(t){return parseFloat(t)}),p=d[0],v=d[1],g=void 0===v?p:v,m=d[2];o=Pt,s=[p,g,void 0===m?1:m]}else if("scaleX"===r)o=Pt,s=[p=parseFloat(i),1,1];else if("scaleY"===r)o=Pt,s=[1,g=parseFloat(i),1];else if("scaleZ"===r)o=Pt,s=[1,1,parseFloat(i)];else if("rotate"===r||"rotateZ"===r||"rotateX"===r||"rotateY"===r){var y=_(i),E=y.unit,b=y.value;"rotate"===r||"rotateZ"===r?(a="rotateZ",o=kt):"rotateX"===r?o=Dt:"rotateY"===r&&(o=wt),s="rad"===E?b:b*Math.PI/180}else if("matrix3d"===r)o=Tt,s=S(i).map(function(t){return parseFloat(t)});else if("matrix"===r){var C=S(i).map(function(t){return parseFloat(t)});o=Tt,s=[C[0],C[1],0,0,C[2],C[3],0,0,0,0,1,0,C[4],C[5],0,1]}else a="";return{name:r,functionName:a,value:i,matrixFunction:o,functionValue:s}}),r=Mt(),e.forEach(function(t){var e=t.matrixFunction,n=t.functionValue;e&&(r=e(r,n))}),r;var e,r,n}function Xt(t,e){var n=function(t,e,n){void 0===n&&(n=e.length);var r=_t(t,e,n),i=r[n-1];return r.map(function(t){return t/i})}(t,[e[0],e[1]||0,e[2]||0,1],4),r=n[3]||1;return[n[0]/r,n[1]/r,n[2]/r]}function Ft(t,e){void 0===e&&(e=document.body);for(var n=t,r=Mt();n;){if(r=Tt(Yt(getComputedStyle(n).transform),r),n===e)break;n=n.parentElement}return(r=function(t,e){void 0===e&&(e=Math.sqrt(t.length));for(var n=t.slice(),r=Ot(e),i=0;i<e;++i){var o=e*i+i;if(!h(n[o],u))for(var a=i+1;a<e;++a)if(n[e*i+a]){Ct(n,r,i,a,e);break}if(!h(n[o],u))return[];St(n,r,i,e,n[o]);for(a=0;a<e;++a){var s=a,c=n[a+i*e];h(c,u)&&i!==a&&bt(n,r,s,i,e,-c)}}return r}(r,4))[12]=0,r[13]=0,r[14]=0,r}function jt(t,e,n){var r=t.tag,i=t.children,o=t.attributes,a=t.className,s=t.style,c=e||document.createElement(r);for(var u in o)c.setAttribute(u,o[u]);var l=c.children;if(i.forEach(function(t,e){jt(t,l[e],c)}),a&&a.split(" ").forEach(function(t){var e,n,r,i;i=t,((r=c).classList?r.classList.contains(i):r.className.match(new RegExp("(\\s|^)"+i+"(\\s|$)")))||(n=t,(e=c).classList?e.classList.add(n):e.className+=" "+n)}),s){var f=c.style;for(var u in s)f[u]=s[u]}return!e&&n&&n.appendChild(c),c}function Kt(t,e){for(var n=[],r=2;r<arguments.length;r++)n[r-2]=arguments[r];var i=e||{},o=i.className,a=i.style;return{tag:t,className:void 0===o?"":o,style:void 0===a?{}:a,attributes:function(t,e){var n={};for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&e.indexOf(r)<0&&(n[r]=t[r]);if(null!=t&&"function"==typeof Object.getOwnPropertySymbols){var i=0;for(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}(i,["className","style"]),children:n}}function Bt(t,e,n){t!==e&&n(t,e)}function It(t,e,n){var r;void 0===n&&(n=t.datas.boundArea);var i=t.distX,o=void 0===i?0:i,a=t.distY,s=void 0===a?0:a,c=t.datas,u=c.startX,l=c.startY;if(0<e){var f=Math.sqrt((o*o+s*s)/(1+e*e));o=(0<=o?1:-1)*(e*f),s=(0<=s?1:-1)*f}var h=Math.abs(o),d=Math.abs(s);o=(0<=o?1:-1)*(h=(r=function(t,n,r,e){if(!e)return t.map(function(t,e){return g(t,n[e],r[e])});var i=t[0],o=t[1],a=y(t,n,!1),s=a[0],c=a[1],u=y(t,r,!0),l=u[0],f=u[1];return i<s||o<c?(i=s,o=c):(l<i||f<o)&&(i=l,o=f),[i,o]}([h,d],[0,0],[o<0?u-n.left:n.right-u,s<0?l-n.top:n.bottom-l],!!e))[0]),s=(0<=s?1:-1)*(d=r[1]);var p=u+Math.min(0,o),v=l+Math.min(0,s);return{left:p,top:v,right:p+h,bottom:v+d,width:h,height:d}}function At(t){var e=t.getBoundingClientRect(),n=e.left,r=e.top,i=e.width,o=e.height;return{pos1:[n,r],pos2:[n+i,r],pos3:[n,r+o],pos4:[n+i,r+o]}}function Rt(t,e){var n=W(t,e),r=n.list,i=n.prevList,o=n.added,a=n.removed;return o.map(function(t){return r[t]}).concat(a.map(function(t){return i[t]}))}function Nt(t,e,n,r){var i,o,a=document.createElement("style");return a.setAttribute("type","text/css"),a.setAttribute("data-styled-id",t),n.nonce&&a.setAttribute("nonce",n.nonce),a.innerHTML=(i=t,o=e,n.original?o:o.replace(/([^};{\s}][^};{]*|^\s*){/gm,function(t,e){var n=e.trim();return(n?S(n):[""]).map(function(t){var e=t.trim();return 0===e.indexOf("@")?e:-1<e.indexOf(":global")?e.replace(/\:global/g,""):-1<e.indexOf(":host")?""+e.replace(/\:host/g,"."+i):e?"."+i+" "+e:"."+i}).join(", ")+" {"})),(r||document.head||document.body).appendChild(a),a}var Lt,qt,Wt,Zt,Ht=(Wt="rCS"+function(t){for(var e=5381,n=t.length;n;)e=33*e^t.charCodeAt(--n);return e>>>0}(Lt="\n:host {\n position: fixed;\n display: none;\n border: 1px solid #4af;\n background: rgba(68, 170, 255, 0.5);\n z-index: 100;\n}\n:host {\n position: absolute;\n}\n").toString(36),Zt=0,{className:Wt,inject:function(t,e){void 0===e&&(e={});var n,r=function(t){if(t&&t.getRootNode){var e=t.getRootNode();if(11===e.nodeType)return e}}(t),i=0===Zt;return(r||i)&&(n=Nt(Wt,Lt,e,r)),i&&(qt=n),r||++Zt,{destroy:function(){r?(t.removeChild(n),n=null):(0<Zt&&--Zt,0===Zt&&qt&&(qt.parentNode.removeChild(qt),qt=null))}}}}),Ut="selecto-selection "+Ht.className,Vt=["boundContainer","selectableTargets","selectByClick","selectFromInside","continueSelect","toggleContinueSelect","keyContainer","hitRate","scrollOptions","checkInput","preventDefault","ratio","getElementRect","preventDragFromInside","rootContainer","dragCondition","clickBySelectEnd"],zt=function(){for(var t=0,e=0,n=arguments.length;e<n;e++)t+=arguments[e].length;var r=Array(t),i=0;for(e=0;e<n;e++)for(var o=arguments[e],a=0,s=o.length;a<s;a++,i++)r[i]=o[a];return r}(["dragContainer","cspNonce"],Vt),$t={boundContainer:null,portalContainer:null,container:null,dragContainer:null,selectableTargets:Array,selectByClick:Boolean,selectFromInside:Boolean,continueSelect:Boolean,toggleContinueSelect: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},Gt=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return o(e,t),e}(function(e){function t(t){void 0===t&&(t={});var O=e.call(this)||this;return O.selectedTargets=[],O.dragScroll=new V,O._onDragStart=function(t,e){var n=t.datas,r=t.clientX,i=t.clientY,o=t.inputEvent,a=O.options,s=a.continueSelect,c=a.selectFromInside,u=a.selectByClick,l=a.rootContainer,f=a.boundContainer,h=a.preventDragFromInside,d=void 0===h||h,p=a.clickBySelectEnd,v=a.dragCondition;if(!v||v(t)){O.findSelectableTargets(n),n.startSelectedTargets=O.selectedTargets,n.scaleMatrix=Mt(),n.containerX=0;var g={left:-1/(n.containerY=0),top:-1/0,right:1/0,bottom:1/0};if(l){var m=O.container.getBoundingClientRect();n.containerX=m.left,n.containerY=m.top,n.scaleMatrix=Ft(O.container,l)}if(f){var y=X(f)&&"element"in f?M({left:!0,top:!0,bottom:!0,right:!0},f):{element:f,left:!0,top:!0,bottom:!0,right:!0},E=y.element;if(E){var b=(typeof E===Y?document.querySelector(E):!0===E?O.container:E).getBoundingClientRect();y.left&&(g.left=b.left),y.top&&(g.top=b.top),y.right&&(g.right=b.right),y.bottom&&(g.bottom=b.bottom)}}n.boundArea=g;var C={left:r,top:i,right:r,bottom:i,width:0,height:0},S=[];if(!c||u&&!p){var _=O._findElement(e||document.elementFromPoint(r,i),n.selectableTargets);S=_?[_]:[]}var D=0<S.length,w=!c&&D;if(w&&!u)return t.stop(),!1;var k=o.type,P="mousedown"===k||"touchstart"===k;if(!(!(!t.isClick&&P)||O.emit("dragStart",M({},t))))return t.stop(),!1;s?(S=Rt(O.selectedTargets,S),n.startPassedTargets=O.selectedTargets):n.startPassedTargets=[],O.select(O.selectedTargets,S,C,o,!0),n.startX=r,n.startY=i,n.selectFlag=!1,n.preventDragFromInside=!1;var x=Xt(n.scaleMatrix,[r-n.containerX,i-n.containerY]);if(n.boundsArea=O.target.style.cssText+="position: "+(l?"absolute":"fixed")+";left:0px;top:0px;transform: translate("+x[0]+"px, "+x[1]+"px)",w&&u&&!p)o.preventDefault(),d&&(O.selectEnd(n.startSelectedTargets,n.startPassedTargets,C,t),n.preventDragFromInside=!0);else{n.selectFlag=!0,"touchstart"===k&&o.preventDefault();var T=O.options.scrollOptions;T&&T.container&&O.dragScroll.dragStart(t,T),p&&(n.selectFlag=!1,t.preventDrag())}return!0}t.stop()},O._onDrag=function(t){if(t.datas.selectFlag){var e=O.scrollOptions;if((null===e||void 0===e?void 0:e.container)&&O.dragScroll.drag(t,e))return}O._checkSelected(t)},O._onDragEnd=function(t){var e=t.datas,n=t.inputEvent,r=It(t,O.options.ratio),i=e.selectFlag;if(n&&!t.isClick&&O.emit("dragEnd",M(M({isDouble:!!t.isDouble,isDrag:!1,isSelect:i},t),{isClick:!!t.isClick,rect:r})),O.target.style.cssText+="display: none;",i)e.selectFlag=!1,O.dragScroll.dragEnd();else if(O.selectByClick&&O.clickBySelectEnd){var o=O._findElement(document.elementFromPoint(t.clientX,t.clientY),e.selectableTargets);O.select(O.selectedTargets,o?[o]:[],r,n)}e.preventDragFromInside||O.selectEnd(e.startSelectedTargets,e.startPassedTargets,r,t)},O._onKeyDown=function(t){O._sameCombiKey(t)&&(O.continueSelect=!0,O.emit("keydown",{}))},O._onKeyUp=function(t){O._sameCombiKey(t,!0)&&(O.continueSelect=!1,O.emit("keyup",{}))},O._onBlur=function(){O.toggleContinueSelect&&O.continueSelect&&(O.continueSelect=!1,O.emit("keyup",{}))},O._onDocumentSelectStart=function(e){if(O.gesto.isFlag()){var t=O.dragContainer;t===window&&(t=document.documentElement);var n=t instanceof Element?[t]:[].slice.call(t),r=e.target;n.some(function(t){if(t===r||t.contains(r))return e.preventDefault(),!0})}},O.target=t.portalContainer,O.container=t.container||document.body,O.options=M({portalContainer:null,container:null,dragContainer:null,selectableTargets:[],selectByClick:!0,selectFromInside:!0,clickBySelectEnd:!1,hitRate:100,continueSelect:!1,toggleContinueSelect:null,keyContainer:null,scrollOptions:void 0,checkInput:!1,preventDefault:!1,boundContainer:!1,preventDragFromInside:!0,dragCondition:null,rootContainer:null,getElementRect:At,cspNonce:"",ratio:0},t),O.initElement(),O.initDragScroll(),O.setKeyController(),O}o(t,e);var n,r,i=t.prototype;return i.setSelectedTargets=function(t){return this.selectedTargets=t,this},i.getSelectedTargets=function(){return this.selectedTargets},i.setKeyContainer=function(t){var e=this,n=this.options;Bt(n.keyContainer,t,function(){n.keyContainer=t,e.setKeyController()})},i.setToggleContinueSelect=function(t){var e=this,n=this.options;Bt(n.toggleContinueSelect,t,function(){n.toggleContinueSelect=t,e.setKeyEvent()})},i.setPreventDefault=function(t){this.gesto.options.preventDefault=t},i.setCheckInput=function(t){this.gesto.options.checkInput=t},i.triggerDragStart=function(t){return this.gesto.triggerDragStart(t),this},i.destroy=function(){this.off(),this.keycon&&this.keycon.destroy(),this.gesto.unset(),this.injectResult.destroy(),C(document,"selectstart",this._onDocumentSelectStart),this.keycon=null,this.gesto=null,this.injectResult=null,this.target=null,this.container=null,this.options=null},i.getElementPoints=function(t){var e,n,r,i,o,a,s,c,u,l,f,h,d,p=this.getElementRect||At,v=p(t),g=[v.pos1,v.pos2,v.pos4,v.pos3];if(p===At)return g;var m=t.getBoundingClientRect();return e=g,r=(n=m).width,i=n.height,o=n.left,a=n.top,s=pt(e),c=s.minX,u=s.minY,l=s.maxX,f=s.maxY,h=r/(l-c),d=i/(f-u),e.map(function(t){return[o+(t[0]-c)*h,a+(t[1]-u)*d]})},i.getSelectableElements=function(){var e=[];return this.options.selectableTargets.forEach(function(t){X(t)?e.push(t):[].slice.call(document.querySelectorAll(t)).forEach(function(t){e.push(t)})}),e},i.checkScroll=function(){if(this.gesto.isFlag()){var t=this.scrollOptions;(null===t||void 0===t?void 0:t.container)&&this.dragScroll.checkScroll(M({inputEvent:this.gesto.getCurrentEvent()},t))}},i.findSelectableTargets=function(t){var e=this;void 0===t&&(t=this.gesto.getEventDatas());var n=this.getSelectableElements(),r=n.map(function(t){return e.getElementPoints(t)});t.selectableTargets=n,t.selectablePoints=r},i.clickTarget=function(t,e){var n=function(t){if("touches"in t){var e=t.touches[0]||t.changedTouches[0];return{clientX:e.clientX,clientY:e.clientY}}return{clientX:t.clientX,clientY:t.clientY}}(t),r={datas:{selectFlag:!1},clientX:n.clientX,clientY:n.clientY,inputEvent:t,isClick:!0,stop:function(){return!1}};return this._onDragStart(r,e)&&this._onDragEnd(r),this},i.setKeyController=function(){var t=this.options,e=t.keyContainer,n=t.toggleContinueSelect;this.keycon&&(this.keycon.destroy(),this.keycon=null),n&&(this.keycon=new ht(e||window),this.keycon.keydown(this._onKeyDown).keyup(this._onKeyUp).on("blur",this._onBlur))},i.setKeyEvent=function(){this.options.toggleContinueSelect&&!this.keycon&&this.setKeyController()},i.initElement=function(){this.target=jt(Kt("div",{className:Ut}),this.target,this.container);var t=this.target,e=this.options,n=e.dragContainer,r=e.checkInput,i=e.preventDefault;this.dragContainer="string"==typeof n?[].slice.call(document.querySelectorAll(n)):n||this.target.parentNode,this.gesto=new K(this.dragContainer,{checkWindowBlur:!0,container:window,checkInput:r,preventDefault:i}).on({dragStart:this._onDragStart,drag:this._onDrag,dragEnd:this._onDragEnd}),b(document,"selectstart",this._onDocumentSelectStart),this.injectResult=Ht.inject(t,{nonce:this.options.cspNonce})},i.hitTest=function(t,c,u,e,l){var n=this.options,f=n.hitRate,h=n.selectByClick,r=t.left,i=t.top,o=t.right,a=t.bottom,d=[[r,i],[o,i],[o,a],[r,a]];return e.filter(function(t,e){var n=l[e],r=vt([c,u],n);if(h&&r)return!0;var i=function(t,e){var n=t.slice(),s=e.slice();-1===p(n)&&n.reverse(),-1===p(s)&&s.reverse();var c=Et(n),u=Et(s),r=c.map(function(t){return gt(t[0],t[1])}),l=u.map(function(t){return gt(t[0],t[1])}),f=[];r.forEach(function(r,i){var o=c[i],a=[];l.forEach(function(t,e){var n=yt(mt(r,t),[o,u[e]]);a.push.apply(a,n.map(function(t){return{index1:i,index2:e,pos:t}}))}),a.sort(function(t,e){return v(o[0],t.pos)-v(o[0],e.pos)}),f.push.apply(f,a),vt(o[1],s)&&f.push({index1:i,index2:-1,pos:o[1]})}),u.forEach(function(t,r){if(vt(t[1],n)){var i=!1,e=m(f,function(t){return t.index2===r?!(i=!0):!!i});-1===e&&(i=!1,e=m(f,function(t){var e=t.index1,n=t.index2;return-1===e&&n+1===r?!(i=!0):!!i})),-1===e?f.push({index1:-1,index2:r,pos:t[1]}):f.splice(e,0,{index1:-1,index2:r,pos:t[1]})}});var i=f.map(function(t){return t.pos}),o={};return i.filter(function(t){var e=t[0]+"x"+t[1];return!o[e]&&(o[e]=!0)})}(d,n);if(!i.length)return!1;var o=dt(i),a=dt(n),s=_(""+f);return"px"===s.unit?o>=s.value:g(Math.round(o/a*100),0,100)>=Math.min(100,s.value)})},i.initDragScroll=function(){var s=this;this.dragScroll.on("scroll",function(t){var e=t.container,n=t.direction;s.emit("scroll",{container:e,direction:n})}).on("move",function(t){var e=t.offsetX,n=t.offsetY,r=t.inputEvent,i=s.gesto;if(i&&i.isFlag()){var o=s.gesto.getEventDatas(),a=o.boundArea;o.startX-=e,o.startY-=n,o.selectablePoints.forEach(function(t){t.forEach(function(t){t[0]-=e,t[1]-=n})}),a.left-=e,a.right-=e,a.top-=n,a.bottom-=n,s.gesto.scrollBy(e,n,r.inputEvent,!1),s._checkSelected(s.gesto.getCurrentEvent())}})},i.select=function(t,e,n,r,i){var o=W(t,e),a=o.added,s=o.removed,c=o.prevList,u=o.list;this.selectedTargets=e,i&&this.emit("selectStart",{selected:e,added:a.map(function(t){return u[t]}),removed:s.map(function(t){return c[t]}),rect:n,inputEvent:r}),(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:r})},i.selectEnd=function(t,e,n,r){var i=r.inputEvent,o=r.isDouble,a=W(t,this.selectedTargets),s=a.added,c=a.removed,u=a.prevList,l=a.list,f=W(e,this.selectedTargets),h=f.added,d=f.removed,p=f.prevList,v=f.list,g=i&&i.type,m="mousedown"===g||"touchstart"===g;this.emit("selectEnd",{selected:this.selectedTargets,added:s.map(function(t){return l[t]}),removed:c.map(function(t){return u[t]}),afterAdded:h.map(function(t){return v[t]}),afterRemoved:d.map(function(t){return p[t]}),isDragStart:m,isClick:!!r.isClick,isDouble:!!o,rect:n,inputEvent:i})},i._checkSelected=function(t,e){void 0===e&&(e=It(t,this.options.ratio));var n=t.datas,r=t.inputEvent,i=e.top,o=e.left,a=e.width,s=e.height,c=n.selectFlag,u=n.containerX,l=n.containerY,f=n.scaleMatrix,h=Xt(f,[o-u,i-l]),d=Xt(f,[a,s]),p=[],v=[];if(c){this.target.style.cssText+="display: block;left:0px;top:0px;pointer-events: none;transform: translate("+h[0]+"px, "+h[1]+"px);width:"+d[0]+"px;height:"+d[1]+"px;";var g=this.hitTest(e,n.startX,n.startY,n.selectableTargets,n.selectablePoints);p=this.selectedTargets,v=Rt(n.startPassedTargets,g),this.selectedTargets=v}if(!1===this.emit("drag",M(M({},t),{isSelect:c,rect:e})))return this.target.style.cssText+="display: none;",void t.stop();c&&this.select(p,v,e,r)},i._sameCombiKey=function(t,e){var n=[].concat(this.options.toggleContinueSelect),r=lt(t.inputEvent,t.key),i=a(n[0])?n:[n];if(e){var o=t.key;return i.some(function(t){return t.some(function(t){return t===o})})}return i.some(function(t){return t.every(function(t){return-1<r.indexOf(t)})})},i._findElement=function(t,e){for(var n=t;n&&!(-1<e.indexOf(n));)n=n.parentElement;return n},t=function(t,e,n,r){var i,o=arguments.length,a=o<3?e:null===r?r=Object.getOwnPropertyDescriptor(e,n):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(t,e,n,r);else for(var s=t.length-1;0<=s;s--)(i=t[s])&&(a=(o<3?i(a):3<o?i(e,n,a):i(e,n))||a);return 3<o&&a&&Object.defineProperty(e,n,a),a}([(n=Vt,r=function(t,e){var n={enumerable:!0,configurable:!0,get:function(){return this.options[e]}},r=("set "+e).replace(/[\s-_]([a-z])/g,function(t,e){return e.toUpperCase()});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){r(e,t)})})],t)}(t)),Jt={__proto__:null,default:Gt,OPTIONS:zt,OPTION_TYPES:$t,PROPERTIES:Vt,EVENTS:["dragStart","drag","dragEnd","selectStart","select","selectEnd","keydown","keyup","scroll"],METHODS:["clickTarget","getSelectableElements","setSelectedTargets","getElementPoints","getSelectedTargets","findSelectableTargets","triggerDragStart","checkScroll"],CLASS_NAME:Ut};for(var Qt in Jt)Gt[Qt]=Jt[Qt];return Gt});
!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 r=function(t,e){return(r=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)};function o(t,e){function n(){this.constructor=t}r(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)}var Y=function(){return(Y=Object.assign||function(t){for(var e,n=1,r=arguments.length;n<r;n++)for(var i in e=arguments[n])Object.prototype.hasOwnProperty.call(e,i)&&(t[i]=e[i]);return t}).apply(this,arguments)};function u(){for(var t=0,e=0,n=arguments.length;e<n;e++)t+=arguments[e].length;var r=Array(t),i=0;for(e=0;e<n;e++)for(var o=arguments[e],a=0,s=o.length;a<s;a++,i++)r[i]=o[a];return r}var e="object",X="string",l=['"',"'",'\\"',"\\'"],f=1e-7;function F(t){return t&&typeof t===e}function a(t){return Array.isArray(t)}function h(t,e,n,r){for(var i=n;i<r;++i){var o=e[i].trim();if(o===t)return i;var a=i;if("("===o?a=h(")",e,i+1,r):-1<l.indexOf(o)&&(a=h(o,e,i+1,r)),-1===a)break;i=a}return-1}function i(t,e){for(var n=new RegExp("(\\s*"+(e||",")+"\\s*|\\(|\\)|\"|'|\\\\\"|\\\\'|\\s+)","g"),r=t.split(n).filter(Boolean),i=r.length,o=[],a=[],s=0;s<i;++s){var c=r[s].trim(),u=s;if("("===c)u=h(")",r,s+1,i);else{if(")"===c)throw new Error("invalid format");if(-1<l.indexOf(c))u=h(c,r,s+1,i);else if(c===e){a.length&&(o.push(a.join("")),a=[]);continue}}-1===u&&(u=i-1),a.push(r.slice(s,u+1).join("")),s=u}return a.length&&o.push(a.join("")),o}function S(t){return i(t,",")}function _(t){var e=/^([^\d|e|\-|\+]*)((?:\d|\.|-|e-|e\+)+)(\S*)$/g.exec(t);if(!e)return{prefix:"",unit:"",value:NaN};var n=e[1],r=e[2];return{prefix:n,unit:e[3],value:parseFloat(r)}}function E(){return Date.now?Date.now():(new Date).getTime()}function m(t,e,n){void 0===n&&(n=-1);for(var r=t.length,i=0;i<r;++i)if(e(t[i],i,t))return i;return n}function g(t,e,n){return Math.max(e,Math.min(t,n))}function d(t,e){return e?Math.round(t/e)*e:t}function y(t,n,r){return[[d(n[0],f),d(n[0]*t[1]/t[0],f)],[d(n[1]*t[0]/t[1],f),d(n[1],f)]].filter(function(t){return t.every(function(t,e){return r?t<=n[e]:t>=n[e]})})[0]||t}function s(t,e){var n=e[0]-t[0],r=e[1]-t[1],i=Math.atan2(r,n);return 0<=i?i:i+2*Math.PI}function c(t){return[0,1].map(function(e){return function(t){for(var e=t.length,n=0,r=e-1;0<=r;--r)n+=t[r];return e?n/e:0}(t.map(function(t){return t[e]}))})}function p(t){var e=c(t),n=s(e,t[0]),r=s(e,t[1]);return n<r&&r-n<Math.PI||r<n&&r-n<-Math.PI?1:-1}function v(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,n,r){t.addEventListener(e,n,r)}function C(t,e,n){t.removeEventListener(e,n)}var D=function(){return(D=Object.assign||function(t){for(var e,n=1,r=arguments.length;n<r;n++)for(var i in e=arguments[n])Object.prototype.hasOwnProperty.call(e,i)&&(t[i]=e[i]);return t}).apply(this,arguments)};var t=function(){function t(){this._events={}}var e=t.prototype;return e.on=function(t,e){if(F(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(F(t))for(var n in t)this.off(n);else if(e){var r=this._events[t];if(r){var i=m(r,function(t){return t.listener===e});-1<i&&r.splice(i,1)}}else 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 r=this;void 0===n&&(n={});var t=this._events[e];if(!e||!t)return!0;var i=!1;return n.eventType=e,n.stop=function(){i=!0},n.currentTarget=this,function(){for(var t=0,e=0,n=arguments.length;e<n;e++)t+=arguments[e].length;var r=Array(t),i=0;for(e=0;e<n;e++)for(var o=arguments[e],a=0,s=o.length;a<s;a++,i++)r[i]=o[a];return r}(t).forEach(function(t){t.listener(n),t.once&&r.off(e,t.listener)}),!i},e.trigger=function(t,e){return void 0===e&&(e={}),this.emit(t,e)},e._addEvent=function(t,e,n){var r=this._events;r[t]=r[t]||[],r[t].push(D({listener:e},n))},t}(),w=function(t,e){return(w=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,r=arguments.length;n<r;n++)for(var i in e=arguments[n])Object.prototype.hasOwnProperty.call(e,i)&&(t[i]=e[i]);return t}).apply(this,arguments)};function n(t){return 180*(e=[t[0].clientX,t[0].clientY],n=[t[1].clientX,t[1].clientY],r=n[0]-e[0],i=n[1]-e[1],(0<=(o=Math.atan2(i,r))?o:o+2*Math.PI)/Math.PI);var e,n,r,i,o}function P(t){return t.touches?function(t){for(var e=Math.min(t.length,2),n=[],r=0;r<e;++r)n.push(O(t[r]));return n}(t.touches):[O(t)]}function x(t,e,n){var r=n.length,i=M(t,r),o=i.clientX,a=i.clientY,s=i.originalClientX,c=i.originalClientY,u=M(e,r),l=u.clientX,f=u.clientY,h=M(n,r);return{clientX:s,clientY:c,deltaX:o-l,deltaY:a-f,distX:o-h.clientX,distY:a-h.clientY}}function T(t){return Math.sqrt(Math.pow(t[0].clientX-t[1].clientX,2)+Math.pow(t[0].clientY-t[1].clientY,2))}function O(t){return{clientX:t.clientX,clientY:t.clientY}}function M(t,e){void 0===e&&(e=t.length);for(var n={clientX:0,clientY:0,originalClientX:0,originalClientY:0},r=0;r<e;++r){var i=t[r];n.originalClientX+="originalClientX"in i?i.originalClientX:i.clientX,n.originalClientY+="originalClientY"in i?i.originalClientY:i.clientY,n.clientX+=i.clientX,n.clientY+=i.clientY}return e?{clientX:n.clientX/e,clientY:n.clientY/e,originalClientX:n.originalClientX/e,originalClientY:n.originalClientY/e}:n}var j=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 void 0===t&&(t=this.prevClients),n(t)},e.getRotation=function(t){return void 0===t&&(t=this.prevClients),n(t)-n(this.startClients)},e.getPosition=function(t,e){void 0===t&&(t=this.prevClients);var n=x(t||this.prevClients,this.prevClients,this.startClients),r=n.deltaX,i=n.deltaY;return this.movement+=Math.sqrt(r*r+i*i),this.prevClients=t,n},e.getPositions=function(n){void 0===n&&(n=this.prevClients);var r=this.prevClients;return this.startClients.map(function(t,e){return x([n[e]],[r[e]],[t])})},e.getMovement=function(t){var e=this.movement;if(!t)return e;var n=M(t,this.length),r=M(this.prevClients,this.length),i=n.clientX-r.clientX,o=n.clientY-r.clientY;return Math.sqrt(i*i+o*o)+e},e.getDistance=function(t){return void 0===t&&(t=this.prevClients),T(t)},e.getScale=function(t){return void 0===t&&(t=this.prevClients),T(t)/T(this.startClients)},e.move=function(e,n){this.startClients.forEach(function(t){t.clientX-=e,t.clientY-=n})},t}(),K=["textarea","input"],B=function(c){function t(){this.constructor=e}var e,n;function r(t,e){void 0===e&&(e={});var y=c.call(this)||this;y.options={},y.flag=!1,y.pinchFlag=!1,y.datas={},y.isDrag=!1,y.isPinch=!1,y.isMouse=!1,y.isTouch=!1,y.clientStores=[],y.targets=[],y.prevTime=0,y.doubleFlag=!1,y._dragFlag=!1,y.onDragStart=function(t,e){if(void 0===e&&(e=!0),y.flag||!1!==t.cancelable){var n=y.options,r=n.container,i=n.pinchOutside,o=n.preventRightClick,a=n.preventDefault,s=n.checkInput,c=y.isTouch,u=!y.flag;if(u){var l=document.activeElement,f=t.target,h=f.tagName.toLowerCase(),d=-1<K.indexOf(h),p=f.isContentEditable;if(d||p){if(s||l===f)return!1;if(l&&p&&l.isContentEditable&&l.contains(f))return!1}else if((a||"touchstart"===t.type)&&l){var v=l.tagName;(l.isContentEditable||-1<K.indexOf(v))&&l.blur()}if(y.clientStores=[new j(P(t))],y.flag=!0,y.isDrag=!1,y._dragFlag=!0,y.datas={},o&&(3===t.which||2===t.button))return y.initDrag(),!1;y.doubleFlag=E()-y.prevTime<200,!1===y.emit("dragStart",k({datas:y.datas,inputEvent:t,isTrusted:e,isDouble:y.doubleFlag},y.getCurrentStore().getPosition(),{preventDefault:function(){t.preventDefault()},preventDrag:function(){y._dragFlag=!1}}))&&y.initDrag(),y.flag&&a&&t.preventDefault()}if(!y.flag)return!1;var g,m=0;if(u&&c&&i&&(m=setTimeout(function(){b(r,"touchstart",y.onDragStart,{passive:!1})})),!u&&c&&i&&C(r,"touchstart",y.onDragStart),y.flag&&((g=t).touches&&2<=g.touches.length)){if(clearTimeout(m),u&&t.touches.length!==t.changedTouches.length)return;y.pinchFlag||y.onPinchStart(t)}}},y.onDrag=function(t,e){if(y.flag){var n=P(t),r=y.moveClients(n,t,!1);if(y._dragFlag){if(y.pinchFlag||r.deltaX||r.deltaY)if(!1===y.emit("drag",k({},r,{isScroll:!!e,inputEvent:t})))return void y.stop();y.pinchFlag&&y.onPinch(t,n)}y.getCurrentStore().getPosition(n,!0)}},y.onDragEnd=function(t){if(y.flag){var e=y.options,n=e.pinchOutside,r=e.container;y.isTouch&&n&&C(r,"touchstart",y.onDragStart),y.flag=!1;var i=y._getPosition(),o=E(),a=!y.isDrag&&y.doubleFlag;y.prevTime=y.isDrag||a?0:o,y.emit("dragEnd",k({datas:y.datas,isDouble:a,isDrag:y.isDrag,isClick:!y.isDrag,inputEvent:t},i)),y.pinchFlag&&y.onPinchEnd(t),y.clientStores=[]}},y.onBlur=function(){y.onDragEnd()};var n=[].concat(t);y.options=k({checkInput:!1,container:1<n.length?window:n[0],preventRightClick:!0,preventDefault:!0,checkWindowBlur:!1,pinchThreshold:0,events:["touch","mouse"]},e);var r=y.options,i=r.container,o=r.events,a=r.checkWindowBlur;if(y.isTouch=-1<o.indexOf("touch"),y.isMouse=-1<o.indexOf("mouse"),y.targets=n,y.isMouse&&(n.forEach(function(t){b(t,"mousedown",y.onDragStart)}),b(i,"mousemove",y.onDrag),b(i,"mouseup",y.onDragEnd),b(i,"contextmenu",y.onDragEnd)),a&&b(window,"blur",y.onBlur),y.isTouch){var s={passive:!1};n.forEach(function(t){b(t,"touchstart",y.onDragStart,s)}),b(i,"touchmove",y.onDrag,s),b(i,"touchend",y.onDragEnd,s),b(i,"touchcancel",y.onDragEnd,s)}return y}w(e=r,n=c),e.prototype=null===n?Object.create(n):(t.prototype=n.prototype,new t);var i=r.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,r){void 0===r&&(r=!0),this.flag&&(this.clientStores[0].move(t,e),r&&this.onDrag(n,!0))},i.move=function(t,e){var r=t[0],i=t[1],n=this.getCurrentStore().prevClients;return this.moveClients(n.map(function(t){var e=t.clientX,n=t.clientY;return{clientX:e+r,clientY:n+i,originalClientX:e,originalClientY:n}}),e,!0)},i.triggerDragStart=function(t){this.onDragStart(t,!1)},i.setEventDatas=function(t){var e=this.datas;for(var n in t)e[n]=t[n];return this},i.getCurrentEvent=function(t){return k({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(),C(window,"blur",this.onBlur),this.isMouse&&(t.forEach(function(t){C(t,"mousedown",e.onDragStart)}),C(n,"mousemove",this.onDrag),C(n,"mouseup",this.onDragEnd),C(n,"contextmenu",this.onDragEnd)),this.isTouch&&(t.forEach(function(t){C(t,"touchstart",e.onDragStart)}),C(n,"touchstart",this.onDragStart),C(n,"touchmove",this.onDrag),C(n,"touchend",this.onDragEnd),C(n,"touchcancel",this.onDragEnd))},i.onPinchStart=function(t){var e=this.options.pinchThreshold;if(!(this.isDrag&&this.getMovement()>e)){var n=new j(P(t));this.pinchFlag=!0,this.clientStores.splice(0,0,n),!1===this.emit("pinchStart",k({datas:this.datas,angle:n.getAngle(),touches:this.getCurrentStore().getPositions()},n.getPosition(),{inputEvent:t}))&&(this.pinchFlag=!1)}},i.onPinch=function(t,e){if(this.flag&&this.pinchFlag&&!(e.length<2)){var n=this.getCurrentStore();this.isPinch=!0,this.emit("pinch",k({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){if(this.pinchFlag){var e=this.isPinch;this.isPinch=!1,this.pinchFlag=!1;var n=this.getCurrentStore();this.emit("pinchEnd",k({datas:this.datas,isPinch:e,touches:n.getPositions()},n.getPosition(),{inputEvent:t})),this.isPinch=!1,this.pinchFlag=!1}},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){var r=this._getPosition(t,n);return(r.deltaX||r.deltaY)&&(this.isDrag=!0),k({datas:this.datas},r,{movement:this.getMovement(t),isDrag:this.isDrag,isPinch:this.isPinch,isScroll:!1,inputEvent:e})},i._getPosition=function(t,e){var n=this.getCurrentStore().getPosition(t,e),r=this.clientStores.slice(1).reduce(function(t,e){var n=e.getPosition();return t.distX+=n.distX,t.distY+=n.distY,t},n),i=r.distX,o=r.distY;return k({},n,{distX:i,distY:o})},r}(t);var I=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,r=this.values,i=n.indexOf(t),o=-1===i?n.length:i;n[o]=t,r[o]=e},t}(),A=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}(),R="function"==typeof Map,N=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 L=function(){function t(t,e,n,r,i,o,a,s){this.prevList=t,this.list=e,this.added=n,this.removed=r,this.changed=i,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(){var t,n,s,c,e=(t=this.changedBeforeAdded,n=this.fixed,s=[],c=[],t.forEach(function(t){var e=t[0],n=t[1],r=new N;s[e]=r,c[n]=r}),s.forEach(function(t,e){t.connect(s[e-1])}),t.filter(function(t,e){return!n[e]}).map(function(t,e){var n=t[0],r=t[1];if(n===r)return[0,0];var i=s[n],o=c[r-1],a=i.getIndex();return i.disconnect(),o?i.connect(o,o.next):i.connect(void 0,s[0]),[a,i.getIndex()]})),u=this.changed,l=[];this.cacheOrdered=e.filter(function(t,e){var n=t[0],r=t[1],i=u[e],o=i[0],a=i[1];if(n!==r)return l.push([o,a]),!0}),this.cachePureChanged=l},t}();var W,q="function"==typeof Map?void 0:(W=0,function(t){return t.__DIFF_KEY__||(t.__DIFF_KEY__=++W)});function Z(t,e){return n=t,r=e,i=q,o=R?Map:i?A:I,a=i||function(t){return t},s=[],c=[],u=[],l=n.map(a),f=r.map(a),h=new o,d=new o,p=[],v=[],g={},m=[],E=y=0,l.forEach(function(t,e){h.set(t,e)}),f.forEach(function(t,e){d.set(t,e)}),l.forEach(function(t,e){var n=d.get(t);void 0===n?(++E,c.push(e)):g[n]=E}),f.forEach(function(t,e){var n=h.get(t);void 0===n?(s.push(e),++y):(u.push([n,e]),E=g[e]||0,p.push([n-E,e-y]),v.push(e===n),n!==e&&m.push([n,e]))}),c.reverse(),new L(n,r,s,c,m,u,p,v);var n,r,i,o,a,s,c,u,l,f,h,d,p,v,g,m,y,E}var H=function(t,e){return(H=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 U=function(){return(U=Object.assign||function(t){for(var e,n=1,r=arguments.length;n<r;n++)for(var i in e=arguments[n])Object.prototype.hasOwnProperty.call(e,i)&&(t[i]=e[i]);return t}).apply(this,arguments)};function V(t){var e=t.container;return e===document.body?[e.scrollLeft||document.documentElement.scrollLeft,e.scrollTop||document.documentElement.scrollTop]:[e.scrollLeft,e.scrollTop]}var z=function(e){function t(){this.constructor=n}var n,r;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}H(n=i,r=e),n.prototype=null===r?Object.create(r):(t.prototype=r.prototype,new t);var o=i.prototype;return o.dragStart=function(t,e){var n=e.container,r=0,i=0,o=0,a=0;if(n===document.body)o=window.innerWidth,a=window.innerHeight;else{var s=n.getBoundingClientRect();r=s.top,i=s.left,o=s.width,a=s.height}this._startPos=[t.clientX,t.clientY],this._startRect={top:r,left:i,width:o,height:a},this._prevScrollPos=this._getScrollPosition([0,0],e)},o.drag=function(t,e){var n=t.clientX,r=t.clientY,i=e.threshold,o=void 0===i?0:i,a=this._startRect,s=this._startPos,c=[0,0];return a.top>r-o?(s[1]>a.top||r<s[1])&&(c[1]=-1):a.top+a.height<r+o&&(s[1]<a.top+a.height||r>s[1])&&(c[1]=1),a.left>n-o?(s[0]>a.left||n<s[0])&&(c[0]=-1):a.left+a.width<n+o&&(s[0]<a.left+a.width||n>s[0])&&(c[0]=1),clearTimeout(this._timer),!(!c[0]&&!c[1])&&this._continueDrag(U(U({},e),{direction:c,inputEvent:t,isDrag:!0}))},o.checkScroll=function(t){var e=this;if(this._isWait)return!1;var n=t.prevScrollPos,r=void 0===n?this._prevScrollPos:n,i=t.direction,o=t.throttleTime,a=void 0===o?0:o,s=t.inputEvent,c=t.isDrag,u=this._getScrollPosition(i||[0,0],t),l=u[0]-r[0],f=u[1]-r[1],h=i||[l?Math.abs(l)/l:0,f?Math.abs(f)/f:0];return this._prevScrollPos=u,!(!l&&!f)&&(this.trigger("move",{offsetX:h[0]?l:0,offsetY:h[1]?f:0,inputEvent:s}),a&&c&&(this._timer=window.setTimeout(function(){e._continueDrag(t)},a)),!0)},o.dragEnd=function(){clearTimeout(this._timer)},o._getScrollPosition=function(t,e){var n=e.container,r=e.getScrollPosition;return(void 0===r?V:r)({container:n,direction:t})},o._continueDrag=function(t){var e=this,n=t.container,r=t.direction,i=t.throttleTime,o=t.useScroll,a=t.isDrag,s=t.inputEvent;if(!a||!this._isWait){var c=Date.now?Date.now():(new Date).getTime(),u=Math.max(i+this._prevTime-c,0);if(0<u)return this._timer=window.setTimeout(function(){e._continueDrag(t)},u),!1;this._prevTime=c;var l=this._getScrollPosition(r,t);return this._prevScrollPos=l,a&&(this._isWait=!0),this.trigger("scroll",{container:n,direction:r,inputEvent:s}),this._isWait=!1,o||this.checkScroll(U(U({},t),{prevScrollPos:l,direction:r,inputEvent:s}))}},i}(t),$=function(t,e){return($=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)};function G(t){return t&&"object"==typeof t}function J(t){return Array.isArray(t)}function Q(t){return"string"==typeof t}function tt(t,e,n,r){t.addEventListener(e,n,r)}function et(t,e,n){t.removeEventListener(e,n)}var nt=function(){return(nt=Object.assign||function(t){for(var e,n=1,r=arguments.length;n<r;n++)for(var i in e=arguments[n])Object.prototype.hasOwnProperty.call(e,i)&&(t[i]=e[i]);return t}).apply(this,arguments)};var rt=function(){function t(){this._events={}}var e=t.prototype;return e.on=function(t,e){if(G(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(G(t))for(var n in t)this.off(n);else if(e){var r=this._events[t];if(r){var i=function(t,e,n){void 0===n&&(n=-1);for(var r=t.length,i=0;i<r;++i)if(e(t[i],i,t))return i;return n}(r,function(t){return t.listener===e});-1<i&&r.splice(i,1)}}else 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 r=this;void 0===n&&(n={});var t=this._events[e];if(!e||!t)return!0;var i=!1;return n.eventType=e,n.stop=function(){i=!0},n.currentTarget=this,function(){for(var t=0,e=0,n=arguments.length;e<n;e++)t+=arguments[e].length;var r=Array(t),i=0;for(e=0;e<n;e++)for(var o=arguments[e],a=0,s=o.length;a<s;a++,i++)r[i]=o[a];return r}(t).forEach(function(t){t.listener(n),t.once&&r.off(e,t.listener)}),!i},e.trigger=function(t,e){return void 0===e&&(e={}),this.emit(t,e)},e._addEvent=function(t,e,n){var r=this._events;r[t]=r[t]||[],r[t].push(nt({listener:e},n))},t}();var it,ot,at=(function(t,e){function n(t){if(t&&"object"==typeof t){var e=t.which||t.keyCode||t.charCode;e&&(t=e)}if("number"==typeof t)return a[t];var n,r=String(t);return(n=i[r.toLowerCase()])?n:(n=o[r.toLowerCase()])||(1===r.length?r.charCodeAt(0):void 0)}n.isEventKey=function(t,e){if(t&&"object"==typeof t){var n=t.which||t.keyCode||t.charCode;if(null==n)return!1;if("string"==typeof e){var r;if(r=i[e.toLowerCase()])return r===n;if(r=o[e.toLowerCase()])return r===n}else if("number"==typeof e)return e===n;return!1}};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},o=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};for(r=97;r<123;r++)i[String.fromCharCode(r)]=r-32;for(var r=48;r<58;r++)i[r-48]=r;for(r=1;r<13;r++)i["f"+r]=r+111;for(r=0;r<10;r++)i["numpad "+r]=r+96;var a=e.names=e.title={};for(r in i)a[i[r]]=r;for(var s in o)i[s]=o[s]}(it={exports:{}},it.exports),it.exports),st=(at.code,at.codes,at.aliases,at.names),ct=(at.title,{"+":"plus","left command":"meta","right command":"meta"}),ut={shift:1,ctrl:2,alt:3,meta:4};function lt(t){var e=st[t]||"";for(var n in ct)e=e.replace(n,ct[n]);return e.replace(/\s/g,"")}function ft(t,e){void 0===e&&(e=lt(t.keyCode));var n,r=[(n=t).shiftKey&&"shift",n.ctrlKey&&"ctrl",n.altKey&&"alt",n.metaKey&&"meta"].filter(Boolean);return-1===r.indexOf(e)&&r.push(e),r.filter(Boolean)}function ht(t){var e=t.slice();return e.sort(function(t,e){return(ut[t]||5)-(ut[e]||5)}),e}var dt=function(n){function t(){this.constructor=e}var e,r;function i(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")},tt(t,"blur",e.blur),tt(t,"keydown",e.keydownEvent),tt(t,"keyup",e.keyupEvent),e}$(e=i,r=n),e.prototype=null===r?Object.create(r):(t.prototype=r.prototype,new t);var o=i.prototype;return Object.defineProperty(i,"global",{get:function(){return ot=ot||new i},enumerable:!1,configurable:!0}),i.setGlobal=function(){return this.global},o.destroy=function(){var t=this.container;this.clear(),this.off(),et(t,"blur",this.blur),et(t,"keydown",this.keydownEvent),et(t,"keyup",this.keyupEvent)},o.keydown=function(t,e){return this.addEvent("keydown",t,e)},o.offKeydown=function(t,e){return this.removeEvent("keydown",t,e)},o.offKeyup=function(t,e){return this.removeEvent("keyup",t,e)},o.keyup=function(t,e){return this.addEvent("keyup",t,e)},o.addEvent=function(t,e,n){return J(e)?this.on(t+"."+ht(e).join("."),n):Q(e)?this.on(t+"."+e,n):this.on(t,e),this},o.removeEvent=function(t,e,n){return J(e)?this.off(t+"."+ht(e).join("."),n):Q(e)?this.off(t+"."+e,n):this.off(t,e),this},o.triggerEvent=function(t,e){this.ctrlKey=e.ctrlKey,this.shiftKey=e.shiftKey,this.altKey=e.altKey,this.metaKey=e.metaKey;var n=lt(e.keyCode),r={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};this.trigger(t,r),this.trigger(t+"."+n,r);var i=ft(e,n);1<i.length&&this.trigger(t+"."+i.join("."),r)},i}(rt);function pt(r){return r.length<3?0:Math.abs(function(t){for(var e=0,n=t.length-1;0<=n;--n)e+=t[n];return e}(r.map(function(t,e){var n=r[e+1]||r[0];return t[0]*n[1]-n[0]*t[1]})))/2}function vt(t){var e=t.map(function(t){return t[0]}),n=t.map(function(t){return t[1]});return{minX:Math.min.apply(Math,e),minY:Math.min.apply(Math,n),maxX:Math.max.apply(Math,e),maxY:Math.max.apply(Math,n)}}function gt(t,e,n){var i=t[0],o=t[1],r=vt(e),a=r.minX,s=r.minY,c=r.maxX,u=r.maxY,l=[[a,o],[c,o]],f=[[i,s],[i,u]],h=mt(l[0],l[1]),d=mt(f[0],f[1]),p=bt(e),v=[],g=[];return p.forEach(function(t){var e=mt(t[0],t[1]),n=Et(yt(h,e),[l,t]),r=Et(yt(d,e),[f,t]);1===n.length&&t[0][1]===o||v.push.apply(v,n),1===r.length&&t[0][0]===i||g.push.apply(g,r),e[0]||v.push.apply(v,n),e[1]||g.push.apply(g,r)}),!n&&(-1<m(v,function(t){return t[0]===i})||-1<m(g,function(t){return t[1]===o}))||!!(v.filter(function(t){return t[0]>i}).length%2&&g.filter(function(t){return t[1]>o}).length%2)}function mt(t,e){var n=t[0],r=t[1],i=e[0],o=e[1];if(n===i&&r===o)return[0,0,0];if(n===i)return[1,0,-n];if(r===o)return[0,1,-r];var a=(i-n)/(r-o);return[1,a,-n-a*r]}function yt(t,e){var n,r,i=t[0],o=t[1],a=t[2],s=e[0],c=e[1],u=e[2],l=0===i&&0===s,f=0===o&&0===c;if(l&&f)return[];if(l){var h=-a/o;return h!=-u/c?[]:[[-1/0,h],[1/0,h]]}if(f){var d=-a/i;return d!=-u/s?[]:[[d,-1/0],[d,1/0]]}return 0!==i?0!==s?0!==o?0!==c?[[n=(o*u-c*a)/(c*i-o*s),r=-(i*n+a)/o]]:[[n=-u/s,r=-(i*n+a)/o]]:[[n=-a/i,r=-(s*n+u)/c]]:[[n=-(o*(r=-u/c)+a)/i,r]]:[[n=-(c*(r=-a/o)+u)/s,r]]}function Et(t,e){var n=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])]})});if(2===t.length){var r=t[0],i=r[0],o=r[1];if(i===t[1][0]){var a=Math.max.apply(Math,n.map(function(t){return t[1][0]})),s=Math.min.apply(Math,n.map(function(t){return t[1][1]}));return s<a?[]:[[i,a],[i,s]]}if(o===t[1][1]){var c=Math.max.apply(Math,n.map(function(t){return t[0][0]})),u=Math.min.apply(Math,n.map(function(t){return t[0][1]}));return u<c?[]:[[c,o],[u,o]]}}return t.filter(function(e){return n.every(function(t){return t[0][0]<=e[0]&&e[0]<=t[0][1]&&t[1][0]<=e[1]&&e[1]<=t[1][1]})})}function bt(n){return function(){for(var t=0,e=0,n=arguments.length;e<n;e++)t+=arguments[e].length;var r=Array(t),i=0;for(e=0;e<n;e++)for(var o=arguments[e],a=0,s=o.length;a<s;a++,i++)r[i]=o[a];return r}(n.slice(1),[n[0]]).map(function(t,e){return[n[e],t]})}function Ct(t,e,n,r,i,o){for(var a=0;a<i;++a){var s=n+a*i,c=r+a*i;t[s]+=t[c]*o,e[s]+=e[c]*o}}function St(t,e,n,r,i){for(var o=0;o<i;++o){var a=n+o*i,s=r+o*i,c=t[a],u=e[a];t[a]=t[s],t[s]=c,e[a]=e[s],e[s]=u}}function _t(t,e,n,r,i){for(var o=0;o<r;++o){var a=n+o*r;t[a]/=i,e[a]/=i}}function Dt(t,e,n){void 0===n&&(n=Math.sqrt(t.length));var r=[],i=t.length/n,o=e.length/i;if(!i)return e;if(!o)return t;for(var a=0;a<n;++a)for(var s=0;s<o;++s)for(var c=r[s*n+a]=0;c<i;++c)r[s*n+a]+=t[c*n+a]*e[s*i+c];return r}function wt(t,e){return Dt(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 kt(t,e){return Dt(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 Pt(t,e){return Dt(t,(n=e,r=4,i=Math.cos(n),o=Math.sin(n),(a=Mt(r))[0]=i,a[1]=o,a[r]=-o,a[r+1]=i,a));var n,r,i,o,a}function xt(t,e){var n=e[0],r=void 0===n?1:n,i=e[1],o=void 0===i?1:i,a=e[2];return Dt(t,[r,0,0,0,0,o,0,0,0,0,void 0===a?1:a,0,0,0,0,1],4)}function Tt(t,e){var n=e[0],r=void 0===n?0:n,i=e[1],o=void 0===i?0:i,a=e[2];return Dt(t,[1,0,0,0,0,1,0,0,0,0,1,0,r,o,void 0===a?0:a,1],4)}function Ot(t,e){return Dt(t,e,4)}function Mt(t){for(var e=t*t,n=[],r=0;r<e;++r)n[r]=r%(t+1)?0:1;return n}function Yt(){return[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]}function Xt(t){return e=(a(n=t)?n:function(t){return i(t,"")}(n)).map(function(t){var e,n=!(e=/([^(]*)\(([\s\S]*)\)([\s\S]*)/g.exec(t))||e.length<4?{}:{prefix:e[1],value:e[2],suffix:e[3]},r=n.prefix,i=n.value,o=null,a=r,s="";if("translate"===r||"translateX"===r||"translate3d"===r){var c=S(i).map(function(t){return parseFloat(t)}),u=c[0],l=c[1],f=void 0===l?0:l,h=c[2];o=Tt,s=[u,f,void 0===h?0:h]}else if("translateY"===r)o=Tt,s=[0,f=parseFloat(i),0];else if("translateZ"===r)o=Tt,s=[0,0,parseFloat(i)];else if("scale"===r||"scale3d"===r){var d=S(i).map(function(t){return parseFloat(t)}),p=d[0],v=d[1],g=void 0===v?p:v,m=d[2];o=xt,s=[p,g,void 0===m?1:m]}else if("scaleX"===r)o=xt,s=[p=parseFloat(i),1,1];else if("scaleY"===r)o=xt,s=[1,g=parseFloat(i),1];else if("scaleZ"===r)o=xt,s=[1,1,parseFloat(i)];else if("rotate"===r||"rotateZ"===r||"rotateX"===r||"rotateY"===r){var y=_(i),E=y.unit,b=y.value;"rotate"===r||"rotateZ"===r?(a="rotateZ",o=Pt):"rotateX"===r?o=wt:"rotateY"===r&&(o=kt),s="rad"===E?b:b*Math.PI/180}else if("matrix3d"===r)o=Ot,s=S(i).map(function(t){return parseFloat(t)});else if("matrix"===r){var C=S(i).map(function(t){return parseFloat(t)});o=Ot,s=[C[0],C[1],0,0,C[2],C[3],0,0,0,0,1,0,C[4],C[5],0,1]}else a="";return{name:r,functionName:a,value:i,matrixFunction:o,functionValue:s}}),r=Yt(),e.forEach(function(t){var e=t.matrixFunction,n=t.functionValue;e&&(r=e(r,n))}),r;var e,r,n}function Ft(t,e){var n=function(t,e,n){void 0===n&&(n=e.length);var r=Dt(t,e,n),i=r[n-1];return r.map(function(t){return t/i})}(t,[e[0],e[1]||0,e[2]||0,1],4),r=n[3]||1;return[n[0]/r,n[1]/r,n[2]/r]}function jt(t,e){void 0===e&&(e=document.body);for(var n=t,r=Yt();n;){if(r=Ot(Xt(getComputedStyle(n).transform),r),n===e)break;n=n.parentElement}return(r=function(t,e){void 0===e&&(e=Math.sqrt(t.length));for(var n=t.slice(),r=Mt(e),i=0;i<e;++i){var o=e*i+i;if(!d(n[o],f))for(var a=i+1;a<e;++a)if(n[e*i+a]){St(n,r,i,a,e);break}if(!d(n[o],f))return[];_t(n,r,i,e,n[o]);for(a=0;a<e;++a){var s=a,c=n[a+i*e];d(c,f)&&i!==a&&Ct(n,r,s,i,e,-c)}}return r}(r,4))[12]=0,r[13]=0,r[14]=0,r}function Kt(t,e,n){var r=t.tag,i=t.children,o=t.attributes,a=t.className,s=t.style,c=e||document.createElement(r);for(var u in o)c.setAttribute(u,o[u]);var l=c.children;if(i.forEach(function(t,e){Kt(t,l[e],c)}),a&&a.split(" ").forEach(function(t){var e,n,r,i;i=t,((r=c).classList?r.classList.contains(i):r.className.match(new RegExp("(\\s|^)"+i+"(\\s|$)")))||(n=t,(e=c).classList?e.classList.add(n):e.className+=" "+n)}),s){var f=c.style;for(var u in s)f[u]=s[u]}return!e&&n&&n.appendChild(c),c}function Bt(t,e){for(var n=[],r=2;r<arguments.length;r++)n[r-2]=arguments[r];var i=e||{},o=i.className,a=i.style;return{tag:t,className:void 0===o?"":o,style:void 0===a?{}:a,attributes:function(t,e){var n={};for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&e.indexOf(r)<0&&(n[r]=t[r]);if(null!=t&&"function"==typeof Object.getOwnPropertySymbols){var i=0;for(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}(i,["className","style"]),children:n}}function It(t,e,n){t!==e&&n(t,e)}function At(t,e,n){var r;void 0===n&&(n=t.datas.boundArea);var i=t.distX,o=void 0===i?0:i,a=t.distY,s=void 0===a?0:a,c=t.datas,u=c.startX,l=c.startY;if(0<e){var f=Math.sqrt((o*o+s*s)/(1+e*e));o=(0<=o?1:-1)*(e*f),s=(0<=s?1:-1)*f}var h=Math.abs(o),d=Math.abs(s);o=(0<=o?1:-1)*(h=(r=function(t,n,r,e){if(!e)return t.map(function(t,e){return g(t,n[e],r[e])});var i=t[0],o=t[1],a=y(t,n,!1),s=a[0],c=a[1],u=y(t,r,!0),l=u[0],f=u[1];return i<s||o<c?(i=s,o=c):(l<i||f<o)&&(i=l,o=f),[i,o]}([h,d],[0,0],[o<0?u-n.left:n.right-u,s<0?l-n.top:n.bottom-l],!!e))[0]),s=(0<=s?1:-1)*(d=r[1]);var p=u+Math.min(0,o),v=l+Math.min(0,s);return{left:p,top:v,right:p+h,bottom:v+d,width:h,height:d}}function Rt(t){var e=t.getBoundingClientRect(),n=e.left,r=e.top,i=e.width,o=e.height;return{pos1:[n,r],pos2:[n+i,r],pos3:[n,r+o],pos4:[n+i,r+o]}}function Nt(t,e,n){var r=Z(t,e),i=r.list,o=r.prevList,a=r.added,s=r.removed,c=r.maintained;return u(a.map(function(t){return i[t]}),s.map(function(t){return o[t]}),n?c.map(function(t){var e=t[1];return i[e]}):[])}function Lt(t,e,n,r){var i,o,a=document.createElement("style");return a.setAttribute("type","text/css"),a.setAttribute("data-styled-id",t),n.nonce&&a.setAttribute("nonce",n.nonce),a.innerHTML=(i=t,o=e,n.original?o:o.replace(/([^};{\s}][^};{]*|^\s*){/gm,function(t,e){var n=e.trim();return(n?S(n):[""]).map(function(t){var e=t.trim();return 0===e.indexOf("@")?e:-1<e.indexOf(":global")?e.replace(/\:global/g,""):-1<e.indexOf(":host")?""+e.replace(/\:host/g,"."+i):e?"."+i+" "+e:"."+i}).join(", ")+" {"})),(r||document.head||document.body).appendChild(a),a}var Wt,qt,Zt,Ht,Ut=(Zt="rCS"+function(t){for(var e=5381,n=t.length;n;)e=33*e^t.charCodeAt(--n);return e>>>0}(Wt="\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),Ht=0,{className:Zt,inject:function(t,e){void 0===e&&(e={});var n,r=function(t){if(t&&t.getRootNode){var e=t.getRootNode();if(11===e.nodeType)return e}}(t),i=0===Ht;return(r||i)&&(n=Lt(Zt,Wt,e,r)),i&&(qt=n),r||++Ht,{destroy:function(){r?(t.removeChild(n),n=null):(0<Ht&&--Ht,0===Ht&&qt&&(qt.parentNode.removeChild(qt),qt=null))}}}}),Vt="selecto-selection "+Ut.className,zt=["boundContainer","selectableTargets","selectByClick","selectFromInside","continueSelect","toggleContinueSelect","keyContainer","hitRate","scrollOptions","checkInput","preventDefault","ratio","getElementRect","preventDragFromInside","rootContainer","dragCondition","clickBySelectEnd"],$t=u(["dragContainer","cspNonce"],zt),Gt={boundContainer:null,portalContainer:null,container:null,dragContainer:null,selectableTargets:Array,selectByClick:Boolean,selectFromInside:Boolean,continueSelect:Boolean,toggleContinueSelect: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},Jt=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return o(e,t),e}(function(e){function t(t){void 0===t&&(t={});var M=e.call(this)||this;return M.selectedTargets=[],M.dragScroll=new z,M._onDragStart=function(t,e){var n=t.datas,r=t.clientX,i=t.clientY,o=t.inputEvent,a=M.options,s=a.continueSelect,c=a.continueSelectWithoutDeselect,u=a.selectFromInside,l=a.selectByClick,f=a.rootContainer,h=a.boundContainer,d=a.preventDragFromInside,p=void 0===d||d,v=a.clickBySelectEnd,g=a.dragCondition;if(!g||g(t)){M.findSelectableTargets(n),n.startSelectedTargets=M.selectedTargets,n.scaleMatrix=Yt(),n.containerX=0;var m={left:-1/(n.containerY=0),top:-1/0,right:1/0,bottom:1/0};if(f){var y=M.container.getBoundingClientRect();n.containerX=y.left,n.containerY=y.top,n.scaleMatrix=jt(M.container,f)}if(h){var E=F(h)&&"element"in h?Y({left:!0,top:!0,bottom:!0,right:!0},h):{element:h,left:!0,top:!0,bottom:!0,right:!0},b=E.element;if(b){var C=(typeof b===X?document.querySelector(b):!0===b?M.container:b).getBoundingClientRect();E.left&&(m.left=C.left),E.top&&(m.top=C.top),E.right&&(m.right=C.right),E.bottom&&(m.bottom=C.bottom)}}n.boundArea=m;var S={left:r,top:i,right:r,bottom:i,width:0,height:0},_=[];if(!u||l&&!v){var D=M._findElement(e||document.elementFromPoint(r,i),n.selectableTargets);_=D?[D]:[]}var w=0<_.length,k=!u&&w;if(k&&!l)return t.stop(),!1;var P=o.type,x="mousedown"===P||"touchstart"===P;if(!(!(!t.isClick&&x)||M.emit("dragStart",Y({},t))))return t.stop(),!1;s?(_=Nt(M.selectedTargets,_,c),n.startPassedTargets=M.selectedTargets):n.startPassedTargets=[],M._select(M.selectedTargets,_,S,o,!0),n.startX=r,n.startY=i,n.selectFlag=!1,n.preventDragFromInside=!1;var T=Ft(n.scaleMatrix,[r-n.containerX,i-n.containerY]);if(n.boundsArea=M.target.style.cssText+="position: "+(f?"absolute":"fixed")+";left:0px;top:0px;transform: translate("+T[0]+"px, "+T[1]+"px)",k&&l&&!v)o.preventDefault(),p&&(M._selectEnd(n.startSelectedTargets,n.startPassedTargets,S,t),n.preventDragFromInside=!0);else{n.selectFlag=!0,"touchstart"===P&&o.preventDefault();var O=M.options.scrollOptions;O&&O.container&&M.dragScroll.dragStart(t,O),v&&(n.selectFlag=!1,t.preventDrag())}return!0}t.stop()},M._onDrag=function(t){if(t.datas.selectFlag){var e=M.scrollOptions;if((null===e||void 0===e?void 0:e.container)&&M.dragScroll.drag(t,e))return}M._checkSelected(t)},M._onDragEnd=function(t){var e=t.datas,n=t.inputEvent,r=At(t,M.options.ratio),i=e.selectFlag;if(n&&!t.isClick&&M.emit("dragEnd",Y(Y({isDouble:!!t.isDouble,isDrag:!1,isSelect:i},t),{isClick:!!t.isClick,rect:r})),M.target.style.cssText+="display: none;",i)e.selectFlag=!1,M.dragScroll.dragEnd();else if(M.selectByClick&&M.clickBySelectEnd){var o=M._findElement(document.elementFromPoint(t.clientX,t.clientY),e.selectableTargets);M._select(M.selectedTargets,o?[o]:[],r,n)}e.preventDragFromInside||M._selectEnd(e.startSelectedTargets,e.startPassedTargets,r,t)},M._onKeyDown=function(t){M._sameCombiKey(t)&&(M.continueSelect=!0,M.emit("keydown",{}))},M._onKeyUp=function(t){M._sameCombiKey(t,!0)&&(M.continueSelect=!1,M.emit("keyup",{}))},M._onBlur=function(){M.toggleContinueSelect&&M.continueSelect&&(M.continueSelect=!1,M.emit("keyup",{}))},M._onDocumentSelectStart=function(e){if(M.gesto.isFlag()){var t=M.dragContainer;t===window&&(t=document.documentElement);var n=t instanceof Element?[t]:[].slice.call(t),r=e.target;n.some(function(t){if(t===r||t.contains(r))return e.preventDefault(),!0})}},M.target=t.portalContainer,M.container=t.container||document.body,M.options=Y({portalContainer:null,container:null,dragContainer:null,selectableTargets:[],selectByClick:!0,selectFromInside:!0,clickBySelectEnd:!1,hitRate:100,continueSelect:!1,continueSelectWithoutDeselect:!1,toggleContinueSelect:null,keyContainer:null,scrollOptions:void 0,checkInput:!1,preventDefault:!1,boundContainer:!1,preventDragFromInside:!0,dragCondition:null,rootContainer:null,getElementRect:Rt,cspNonce:"",ratio:0},t),M.initElement(),M.initDragScroll(),M.setKeyController(),M}o(t,e);var n,r,i=t.prototype;return i.setSelectedTargets=function(t){return this.selectedTargets=t,this},i.getSelectedTargets=function(){return this.selectedTargets},i.setKeyContainer=function(t){var e=this,n=this.options;It(n.keyContainer,t,function(){n.keyContainer=t,e.setKeyController()})},i.setToggleContinueSelect=function(t){var e=this,n=this.options;It(n.toggleContinueSelect,t,function(){n.toggleContinueSelect=t,e.setKeyEvent()})},i.setPreventDefault=function(t){this.gesto.options.preventDefault=t},i.setCheckInput=function(t){this.gesto.options.checkInput=t},i.triggerDragStart=function(t){return this.gesto.triggerDragStart(t),this},i.destroy=function(){this.off(),this.keycon&&this.keycon.destroy(),this.gesto.unset(),this.injectResult.destroy(),C(document,"selectstart",this._onDocumentSelectStart),this.keycon=null,this.gesto=null,this.injectResult=null,this.target=null,this.container=null,this.options=null},i.getElementPoints=function(t){var e,n,r,i,o,a,s,c,u,l,f,h,d,p=this.getElementRect||Rt,v=p(t),g=[v.pos1,v.pos2,v.pos4,v.pos3];if(p===Rt)return g;var m=t.getBoundingClientRect();return e=g,r=(n=m).width,i=n.height,o=n.left,a=n.top,s=vt(e),c=s.minX,u=s.minY,l=s.maxX,f=s.maxY,h=r/(l-c),d=i/(f-u),e.map(function(t){return[o+(t[0]-c)*h,a+(t[1]-u)*d]})},i.getSelectableElements=function(){var e=[];return this.options.selectableTargets.forEach(function(t){F(t)?e.push(t):[].slice.call(document.querySelectorAll(t)).forEach(function(t){e.push(t)})}),e},i.checkScroll=function(){if(this.gesto.isFlag()){var t=this.scrollOptions;(null===t||void 0===t?void 0:t.container)&&this.dragScroll.checkScroll(Y({inputEvent:this.gesto.getCurrentEvent()},t))}},i.findSelectableTargets=function(t){var e=this;void 0===t&&(t=this.gesto.getEventDatas());var n=this.getSelectableElements(),r=n.map(function(t){return e.getElementPoints(t)});t.selectableTargets=n,t.selectablePoints=r},i.clickTarget=function(t,e){var n=function(t){if("touches"in t){var e=t.touches[0]||t.changedTouches[0];return{clientX:e.clientX,clientY:e.clientY}}return{clientX:t.clientX,clientY:t.clientY}}(t),r={datas:{selectFlag:!1},clientX:n.clientX,clientY:n.clientY,inputEvent:t,isClick:!0,stop:function(){return!1}};return this._onDragStart(r,e)&&this._onDragEnd(r),this},i.setKeyController=function(){var t=this.options,e=t.keyContainer,n=t.toggleContinueSelect;this.keycon&&(this.keycon.destroy(),this.keycon=null),n&&(this.keycon=new dt(e||window),this.keycon.keydown(this._onKeyDown).keyup(this._onKeyUp).on("blur",this._onBlur))},i.setKeyEvent=function(){this.options.toggleContinueSelect&&!this.keycon&&this.setKeyController()},i.initElement=function(){this.target=Kt(Bt("div",{className:Vt}),this.target,this.container);var t=this.target,e=this.options,n=e.dragContainer,r=e.checkInput,i=e.preventDefault;this.dragContainer="string"==typeof n?[].slice.call(document.querySelectorAll(n)):n||this.target.parentNode,this.gesto=new B(this.dragContainer,{checkWindowBlur:!0,container:window,checkInput:r,preventDefault:i}).on({dragStart:this._onDragStart,drag:this._onDrag,dragEnd:this._onDragEnd}),b(document,"selectstart",this._onDocumentSelectStart),this.injectResult=Ut.inject(t,{nonce:this.options.cspNonce})},i.hitTest=function(t,c,u,e,l){var n=this.options,f=n.hitRate,h=n.selectByClick,r=t.left,i=t.top,o=t.right,a=t.bottom,d=[[r,i],[o,i],[o,a],[r,a]];return e.filter(function(t,e){var n=l[e],r=gt([c,u],n);if(h&&r)return!0;var i=function(t,e){var n=t.slice(),s=e.slice();-1===p(n)&&n.reverse(),-1===p(s)&&s.reverse();var c=bt(n),u=bt(s),r=c.map(function(t){return mt(t[0],t[1])}),l=u.map(function(t){return mt(t[0],t[1])}),f=[];r.forEach(function(r,i){var o=c[i],a=[];l.forEach(function(t,e){var n=Et(yt(r,t),[o,u[e]]);a.push.apply(a,n.map(function(t){return{index1:i,index2:e,pos:t}}))}),a.sort(function(t,e){return v(o[0],t.pos)-v(o[0],e.pos)}),f.push.apply(f,a),gt(o[1],s)&&f.push({index1:i,index2:-1,pos:o[1]})}),u.forEach(function(t,r){if(gt(t[1],n)){var i=!1,e=m(f,function(t){return t.index2===r?!(i=!0):!!i});-1===e&&(i=!1,e=m(f,function(t){var e=t.index1,n=t.index2;return-1===e&&n+1===r?!(i=!0):!!i})),-1===e?f.push({index1:-1,index2:r,pos:t[1]}):f.splice(e,0,{index1:-1,index2:r,pos:t[1]})}});var i=f.map(function(t){return t.pos}),o={};return i.filter(function(t){var e=t[0]+"x"+t[1];return!o[e]&&(o[e]=!0)})}(d,n);if(!i.length)return!1;var o=pt(i),a=pt(n),s=_(""+f);return"px"===s.unit?o>=s.value:g(Math.round(o/a*100),0,100)>=Math.min(100,s.value)})},i.initDragScroll=function(){var s=this;this.dragScroll.on("scroll",function(t){var e=t.container,n=t.direction;s.emit("scroll",{container:e,direction:n})}).on("move",function(t){var e=t.offsetX,n=t.offsetY,r=t.inputEvent,i=s.gesto;if(i&&i.isFlag()){var o=s.gesto.getEventDatas(),a=o.boundArea;o.startX-=e,o.startY-=n,o.selectablePoints.forEach(function(t){t.forEach(function(t){t[0]-=e,t[1]-=n})}),a.left-=e,a.right-=e,a.top-=n,a.bottom-=n,s.gesto.scrollBy(e,n,r.inputEvent,!1),s._checkSelected(s.gesto.getCurrentEvent())}})},i._select=function(t,e,n,r,i){var o=Z(t,e),a=o.added,s=o.removed,c=o.prevList,u=o.list;this.selectedTargets=e,i&&this.emit("selectStart",{selected:e,added:a.map(function(t){return u[t]}),removed:s.map(function(t){return c[t]}),rect:n,inputEvent:r}),(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:r})},i._selectEnd=function(t,e,n,r){var i=r.inputEvent,o=r.isDouble,a=Z(t,this.selectedTargets),s=a.added,c=a.removed,u=a.prevList,l=a.list,f=Z(e,this.selectedTargets),h=f.added,d=f.removed,p=f.prevList,v=f.list,g=i&&i.type,m="mousedown"===g||"touchstart"===g;this.emit("selectEnd",{selected:this.selectedTargets,added:s.map(function(t){return l[t]}),removed:c.map(function(t){return u[t]}),afterAdded:h.map(function(t){return v[t]}),afterRemoved:d.map(function(t){return p[t]}),isDragStart:m,isClick:!!r.isClick,isDouble:!!o,rect:n,inputEvent:i})},i._checkSelected=function(t,e){void 0===e&&(e=At(t,this.options.ratio));var n=t.datas,r=t.inputEvent,i=e.top,o=e.left,a=e.width,s=e.height,c=n.selectFlag,u=n.containerX,l=n.containerY,f=n.scaleMatrix,h=Ft(f,[o-u,i-l]),d=Ft(f,[a,s]),p=[],v=[];if(c){this.target.style.cssText+="display: block;left:0px;top:0px;transform: translate("+h[0]+"px, "+h[1]+"px);width:"+d[0]+"px;height:"+d[1]+"px;";var g=this.hitTest(e,n.startX,n.startY,n.selectableTargets,n.selectablePoints);p=this.selectedTargets,v=Nt(n.startPassedTargets,g,this.options.continueSelectWithoutDeselect),this.selectedTargets=v}if(!1===this.emit("drag",Y(Y({},t),{isSelect:c,rect:e})))return this.target.style.cssText+="display: none;",void t.stop();c&&this._select(p,v,e,r)},i._sameCombiKey=function(t,e){var n=[].concat(this.options.toggleContinueSelect),r=ft(t.inputEvent,t.key),i=a(n[0])?n:[n];if(e){var o=t.key;return i.some(function(t){return t.some(function(t){return t===o})})}return i.some(function(t){return t.every(function(t){return-1<r.indexOf(t)})})},i._findElement=function(t,e){for(var n=t;n&&!(-1<e.indexOf(n));)n=n.parentElement;return n},t=function(t,e,n,r){var i,o=arguments.length,a=o<3?e:null===r?r=Object.getOwnPropertyDescriptor(e,n):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(t,e,n,r);else for(var s=t.length-1;0<=s;s--)(i=t[s])&&(a=(o<3?i(a):3<o?i(e,n,a):i(e,n))||a);return 3<o&&a&&Object.defineProperty(e,n,a),a}([(n=zt,r=function(t,e){var n={enumerable:!0,configurable:!0,get:function(){return this.options[e]}},r=("set "+e).replace(/[\s-_]([a-z])/g,function(t,e){return e.toUpperCase()});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){r(e,t)})})],t)}(t)),Qt={__proto__:null,default:Jt,OPTIONS:$t,OPTION_TYPES:Gt,PROPERTIES:zt,EVENTS:["dragStart","drag","dragEnd","selectStart","select","selectEnd","keydown","keyup","scroll"],METHODS:["clickTarget","getSelectableElements","setSelectedTargets","getElementPoints","getSelectedTargets","findSelectableTargets","triggerDragStart","checkScroll"],CLASS_NAME:Vt};for(var te in Qt)Jt[te]=Qt[te];return Jt});
//# sourceMappingURL=selecto.min.js.map
{
"name": "selecto",
"version": "1.15.1",
"version": "1.16.0",
"description": "Selecto.js is a component that allows you to select elements in the drag area using the mouse or touch.",

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

"@daybrush/builder": "^0.1.2",
"@daybrush/jsdoc": "^0.3.7",
"@daybrush/jsdoc": "^0.4.0",
"@daybrush/release": "^0.2.4",

@@ -63,0 +63,0 @@ "@types/jest": "^24.0.13",

@@ -10,7 +10,6 @@ import styled from "css-styled";

background: rgba(68, 170, 255, 0.5);
pointer-events: none;
will-change: transform;
z-index: 100;
}
:host {
position: absolute;
}
`);

@@ -74,2 +73,3 @@

clickBySelectEnd: Boolean,
continueSelectWithoutDeselect: Boolean,
};

@@ -76,0 +76,0 @@

@@ -14,47 +14,122 @@ import { IObject } from "@daybrush/utils";

* @typedef
* @property - The container to add a selection element for vanilla
* @property - Selecto's root container (No transformed container. (default: null)
* @property - The area to drag selection element (default: container)
* @property - Targets to select. You can register a queryselector or an Element. (default: [])
* @property -
* @property - Whether to select from the target inside (If hitTest is 0, it becomes inside select as well) (default: true)
* @property - When the target is clicked, the event is stopped and selected. (If hitTest is 0, it becomes click as well.) (default: true)
* @property - Whether to force drag end when selectFromInside, selectByClick is true (default: false)
* @property - Whether to click when mouse(touch) ends while using selectByClick(true) (default: false)
* @property - After the select, whether to select the next target with the selected target (deselected if the target is selected again). (default: false)
* @property - Determines which key to continue selecting the next target via keydown and keyup.
* @property - The container for keydown and keyup events.
* @property - The rate at which the target overlaps the drag area to be selected. If you want an absolute number, set it to a px value. (ex: 10px) (default: 100)
* @property - Container to bound the selection area. If false, do not bound. If true, it is the container of selecto. (default: false)
* @property - Set the scroll options, time, etc. to automatically scroll by dragging. (default: null)
* @property - Checks whether this is an element to input text or contentEditable, and prevents dragging. (default: false)
* @property - When dragging, preventDefault is called. (Touch occurs unconditionally) (default: false)
* @property - add nonce property to style for CSP (default: "")
* @property - Adjust the ratio of the selection. (default: 0)
* @property - Selection Element to apply for framework (private)
* @property -
* @property -
* @property -
* @property -
* @property -
* @property - C
* @property -
* @property -
* @property -
* @property -
*/
export interface SelectoOptions {
/**
* The container to add a selection element for vanilla
*/
container: HTMLElement | null;
/**
* Selecto's root container (No transformed container.)
* @dfeault null
*/
rootContainer: HTMLElement | null;
/**
* The area to drag selection element.
* @default container
*/
dragContainer: Element | Window | Element[] | string;
/**
* Targets to select. You can register a queryselector or an Element.
* @default []
*/
selectableTargets: Array<HTMLElement | string>;
/**
* Whether to select from the target inside (If hitTest is 0, it becomes inside select as well)
* @default true
*/
selectFromInside: boolean;
/**
* Whether to force drag end when selectFromInside, selectByClick is true.
* @default false
*/
selectByClick: boolean;
/**
* When the target is clicked, the event is stopped and selected. (If hitTest is 0, it becomes click as well.)
* @default true
*/
preventDragFromInside: boolean;
/**
* Whether to click when mouse(touch) ends while using selectByClick(true)
* @default false
*/
clickBySelectEnd: boolean;
/**
* After the select, whether to select the next target with the selected target (deselected if the target is selected again)
* @default false
*/
continueSelect: boolean;
/**
* Whether to continue the previously selected items without deselect when using `continueSelect` or `toggleContinueSelect`.
* @default false
*/
continueSelectWithoutDeselect: boolean;
/**
* Determines which key to continue selecting the next target via keydown and keyup.
*/
toggleContinueSelect: string[][] | string[] | string | null;
/**
* The container for keydown and keyup events.
*/
keyContainer: Document | HTMLElement | Window | null;
/**
* The rate at which the target overlaps the drag area to be selected. If you want an absolute number, set it to a px value. (ex: 10px)
* @default 100
*/
hitRate: number | string;
/**
* Container to bound the selection area. If false, do not bound. If true, it is the container of selecto.
* @default false
*/
boundContainer: BoundContainer | boolean | HTMLElement | string | null;
/**
* Set the scroll options, time, etc. to automatically scroll by dragging.
* @default null
*/
scrollOptions: DragScrollOptions;
/**
* hecks whether this is an element to input text or contentEditable, and prevents dragging.
* @default false
*/
checkInput: boolean;
/**
* When dragging, preventDefault is called. (Touch occurs unconditionally)
* @default false
*/
preventDefault: boolean;
/**
* add nonce property to style for CSP
* @default ""
*/
cspNonce: string;
/**
* Adjust the ratio of the selection.
* @default 0
*/
ratio: number;
/**
* A function to get the exact position of an element's rect
* @default null
*/
getElementRect: getElementRectFunction;
/**
* Conditional function to start dragging
* @default null
*/
dragCondition: ((e: OnParentDragStart) => boolean) | null;
/**
* Selection Element to apply for framework.
* @private
*/
portalContainer: HTMLElement | null;

@@ -61,0 +136,0 @@ }

@@ -136,2 +136,3 @@ import { Hypertext, Rect } from "./types";

afterTargets: Array<HTMLElement | SVGElement>,
continueSelectWithoutDeselect: boolean,
) {

@@ -143,5 +144,10 @@ const {

removed,
maintained,
} = diff(beforeTargets, afterTargets);
return added.map(index => list[index]).concat(removed.map(index => prevList[index]));
return [
...added.map(index => list[index]),
...removed.map(index => prevList[index]),
...continueSelectWithoutDeselect ? maintained.map(([, nextIndex]) => list[nextIndex]) : [],
];
}

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